Зачем и как решать проблемы безопасности мобильных устройств
Когда мы говорим о безопасности мобильных приложений, мы в первую очередь имеем в виду процесс, связанный с выявлением, анализом и управлением рисками, который встроен в цикл разработки программного обеспечения. В нем рассматриваются технологии и методы, которые снижают вероятность кражи паролей, конфиденциальных данных, взлома и блокировки приложений.
Постоянный анализ уязвимостей мобильных приложений является важнейшим компонентом информационной безопасности, поскольку позволяет компаниям находить и устранять недостатки еще на этапе разработки мобильных приложений, до их выпуска.
В идеале анализ безопасности представляет собой комбинацию ручного тестирования на проникновение и автоматизированного анализа в ходе цикла разработки. Такой подход обеспечивает максимальный охват возможных уязвимостей приложений.
Почему важна безопасность мобильных приложений?
У каждого крупного банка, магазина, авиакомпании есть свое мобильное приложение для взаимодействия с клиентами — мобильный доступ к товарам и услугам давно стал обыденностью.
Однако популярность мобильных приложений и их проникновение в процессы компаний влечет за собой рост угроз кибербезопасности. Хакеры все чаще совершают атаки с целью кражи личных данных, кражи информации о транзакциях или блокировки приложений.
Стремясь быстро создать продукт и привлечь пользователей, разработчики часто пишут небезопасный код, тем самым создавая уязвимости и подвергая компанию и ее клиентов угрозе. Кибератаки могут обойтись бизнесу очень дорого: они приводят к прямым финансовым потерям, наносят ущерб репутации компании, влекут за собой штрафы со стороны регулирующих органов и отток клиентов.
Риски безопасности мобильных устройств растут
Компании используют достаточно продвинутые инструменты и методы для проверки безопасности своих веб-приложений. Но если речь идет о мобильном ПО, то все ограничивается периодическими ручными проверками. Такая ситуация сложилась из-за отсутствия качественных инструментов анализа безопасности и нехватки навыков.
Мобильное программное обеспечение существенно отличается от веб-приложений и потенциально более уязвимо. В отличие от веб-разработки, которая выполняется в изолированном браузере, мобильные приложения запускаются на устройстве, подключенном к облачному серверу, и напрямую взаимодействуют с операционной системой и другими приложениями, а также хранят системную информацию на устройстве.
Мобильные решения предоставляют хакерам широкие возможности для атак. На сегодняшний день почти треть приложений содержат уязвимости, такие как хранение информации в небезопасном месте, небезопасная передача информации, небезопасная авторизация, возможность отправки произвольных команд на сервер, проблемы безопасности в библиотеках с открытым исходным кодом.
Методы выявления уязвимостей безопасности мобильных приложений
В ИТ-индустрии разработаны подходы к обеспечению безопасности мобильных приложений — практики MAST (Mobile Application Security Testing):
* SAST — статический анализ исходного кода приложения. Выявляет небезопасную конфигурацию: ищет токены, ключи шифрования и другие конфиденциальные данные, проверяет правильность конфигурации сетевой связи и т. д.
* DAST — динамический анализ приложений. Обнаруживает небезопасный сетевой трафик, точки входа, которые могут быть вызваны сторонними приложениями.
* API ST — Анализ API приложений. Анализ сообщений, пересылаемых между приложением и его сервером, на предмет наличия конфиденциальной информации.
* IAST — интерактивный анализ приложений. Мониторинг потока данных приложений, отслеживание перемещения данных от точек входа до потенциально опасных функций.
Регулярное использование методов MAST для анализа безопасности поможет обеспечить максимальный охват уязвимостей мобильных приложений.
Помимо практик MAST, в отрасли приняты такие стандарты безопасности, как OWASP Mobile Top 10, PCI DSS, CWE/SANS Top 25. Проверка этих стандартов помогает избежать основных ошибок безопасности при разработке приложений.
Как повысить безопасность мобильных приложений?
Пять основных принципов, которые помогут повысить безопасность мобильной экосистемы компании:
Регулярный автоматизированный анализ мобильных приложений на наличие уязвимостей в соответствии с практиками MAST. Для этого можно использовать специальные решения, которые позволяют встроить автоматизированные проверки в цикл разработки DevOps.
Регулярная проверка мобильных приложений на соответствие отраслевым стандартам информационной безопасности OWASP Mobile Top 10, PCI DSS, CWE/SANS Top 25.
Периодические тесты на проникновение (тесты на проникновение) для внешней ручной проверки программ.
Регулярные оценки выпущенных мобильных приложений для выявления новых уязвимостей