Cервисы
Managed IT
Решения
Security
Импортозамещение
О компании

Пентест web- и мобильных приложений: для чего проводить, что тестировать и как часто

На рынках с большой конкуренцией у компаний не остается другого выбора, как постоянно развивать клиентские сервисы и улучшать пользовательский опыт. Чтобы клиент в два клика мог арендовать машину, заказывать продукты или перевести деньги с любого устройства, бизнес создает web и мобильные приложения, которые часто становятся мишенью для злоумышленников.

Успешная атака киберпреступников может привести к остановке работы всей компании и утечке персональных данных пользователей. Из-за простоев бизнес часто теряет деньги, доверие и лояльность своих клиентов, а за утечку данных по 152-ФЗ регуляторы могут привлечь компанию к административной ответственности, в том числе выписать крупные штрафы.

В этом материале специалисты ITGLOBAL.COM Security рассказали, что такое web и мобильные приложения, зачем их тестировать на проникновение и чем пентест одного отличается от другого.

Разница web и мобильных приложений

Web и мобильные приложения часто путают между собой или считают, что это одно и тоже, но на самом деле у них есть принципиальные различия.

Web-приложения — интерактивный сайт, который можно открыть в браузере через любое мобильное устройство: смартфон, планшет, ноутбук. Пользователь получает онлайн-доступ к данным без установки программного обеспечения и может совершать в приложении различные действия. Например, бронировать отель, заказывать продукты, оставлять отзывы и так далее.

Мобильные приложения — программное обеспечение, которое необходимо скачать из магазина (App Store или Google Play) и установить на устройство. В отличие от web-приложений, мобильные обычно предполагают расширенную функциональность, использование уникальных свойств смартфона/планшета и персонализацию контента под конкретного клиента. Например, создание подборки вещей на основании просмотров и лайков пользователя.

Зачем делать пентест приложений

Компании делают пентест приложений (как web, так и мобильных), чтобы:

Кто проводит пентест

В компании может быть организован внутренний цикл безопасной разработки. Тогда штатные специалисты самостоятельно на ранних этапах находят баги и уязвимости в приложении и оперативно устраняют их. А перед запуском в production в обязательном порядке проводят пентест.

Если у бизнеса нет собственных временных и кадровых ресурсов, то специалисты обращаются к сторонним организациями, таким как ITGLOBAL.COM Security, которые проводят тестирование на проникновение перед выходом продукта на рынок или после того, как инцидент ИБ уже произошел. В рамках пентеста специалисты ITGLOBAL.COM Security выясняют, насколько надежно защищены приложения компании и персональные данные пользователей. 

Что проверяют в ходе пентеста

Для web и мобильных приложений характерны разные типы уязвимостей, которые требуют своих подходов к проведению пентеста.

Пентест web-приложений тесно связан с методологией тестирования самого веба, веб-сервера и продукта. Пентестеры проверяют фронтэнд и бэкэнд (клиентская и серверная часть веб-приложений), тестируют конфигурацию программного обеспечения, бизнес-логику, среды передачи данных, корректность обработки входной информации, настройки механизмов аутентификации и разграничения прав доступа.

У мобильных приложений своя специфика из-за того, что пользователь хранит в устройствах много личной информации: фотографии, видео, учетные данные, геолокация. Поэтому мобильное приложение помещают в тестовую среду или производят его реверс-инжиниринг, а затем анализируют его поведение. Например, сохраняются ли данные банковских карт или как приложение взаимодействует с соседними.

Также тестируют API, то есть проверяют, как сервер откликается на запросы мобильного приложения. Если необходимо более глубокая проверка, то у заказчика запрашивают исходный код. Подробнее о методиках пентеста можно прочитать в статье «Как устроен пентест мобильных приложений»

По итогам тестирования организация получает развернутый отчет, где указаны данные, к которым пентестеру удалось получить доступ, найденные уязвимости и рекомендации, как их устранить.

Сколько времени занимает тестирование

Пентест web-приложений занимает обычно 20-25 рабочих дней. Тестировать на проникновение мобильные приложения сложнее и дольше, поэтому срок проверки может доходить до 40 дней.

Как часто проводить пентест

Специалисты ITGLOBAL.COM Security рекомендуют делать пентест не реже, чем раз в год. Поводом для тестирования могут стать выход мажорных обновлений продукта, то есть версии с добавлением новой функциональности. И появление новой критической уязвимости в технологии, на которой построено приложение. В этом случае лучше дополнительно проверить, повлияет ли это на работу сервиса.

Саммари: отличия и сходства пентеста web- и мобильных приложений

  1. Принцип работы. Web-приложения — это интерактивные сайты, мобильные — это ПО, которые необходимо устанавливать на устройство.
  2. Цель. Пентест web и мобильных приложений проводят, чтобы найти уязвимости, оценить надежность приложения, повысить общий уровень ИБ, минимизировать риск недоступности сервиса, предотвратить повторные хакерские атаки.
  3. Исполнитель. Если у компании есть внутренний цикл безопасной разработки, то уязвимости находят на этапе разработки. Если внутренних ресурсов нет, то бизнес обращается к сторонней организации.
  4. Предмет проверки. Тестирование web-приложения тесно связано с методологией тестирования самого веба, веб-сервера и продукта, а пентест мобильных приложений больше направлен на минимизацию утечек персональных данных пользователей.
  5. Длительность. Пентест web-приложения обычно занимает 20-25 рабочих дней, а мобильных приложений — до 40 дней.
  6. Периодичность. Тестировать на проникновение приложения необходимо не реже, чем раз в год. Дополнительно проводить пентест необходимо, когда вышли мажорные обновления продукта или появилась критическая уязвимость в технологии, на базе которой построено приложение.