Как наладить контроль безопасности мобильных приложений

2643
#Разработка 10 июля 2019

Безопасность цифровой архитектуры любого продукта — критически важный атрибут как для бизнеса, так и для пользователей. Это дополнительный показатель качества и надежности, который необходимо поддерживать на всех этапах производства и эксплуатации приложения.

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

  • Персональные данные сотрудников и клиентов.
  • Данные доступа в банк-клиент.
  • Данные о клиентах компании.
  • Производственные чертежи.
  • Проектная документация.

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

Средств защиты от уязвимостей на рынке еще очень мало. Бизнесу же нужно рабочее приложение с эффективным функционалом, способное приносить финансовую отдачу. Но каким бы идеальным ни было приложение, у него могут быть артефакты, связанные с уязвимостью. Они не проявляют себя до определенного момента — пока не потребуются конкуренту или стороннему хакеру. Эти уязвимости могут быть использованы с корыстной целью, чтобы совершить попытку проникнуть через веб-сайт или приложение внутрь организации и получить доступ к ценным данным. В результате бизнес серьезно пострадает.

К сожалению, секьюрити-анализ все еще редкость для заказной разработки. Причина в уникальности проектов. Все они слишком разные, и у каждого свои потребности. Это влияет на стоимость анализа. Учитывая низкую маржинальность бизнеса, запустить процесс на поток в заказной разработке не всегда возможно. И все же, процессом лучше не пренебрегать.

Как не допустить кражу данных из приложения?

Только на WAF (файрвол) в плане защиты полагаться нельзя: может не отработать правило, использоваться некорректная конфигурация или устаревшие сигнатуры. Только комплекс мер: применение vulnerability-scanner, pen-test, WAF и DDos Protection обеспечивает безопасность данных приложения.

Далее, когда приложение находится в стадии пред-прода, имеет смысл воспользоваться специализированными сканерами, анализаторами кода и провести pen-test. Это позволит отыскать уязвимости, которые не удалось выявить, анализируя код в процессе разработки.

Как организовать процесс тестирования на уязвимости?

Аудит информационной безопасности нужно проводить еще на стадии захода нового проекта в разработку. При этом важно анализировать технический долг продукта — смотреть на баги и уязвимости. После этого нужно составить роадмап по устранению уязвимостей. Иногда всё удается устранить на первом этапе. Если же проблем много, бороться с ними придется в процессе дальнейшей разработки. Сначала устранять критические, а затем — менее опасные.

Существует несколько подходов к анализу кода:

  • Полная интеграция в процессе разработки CI/CD.
  • Ревизия безопасности на контрольных точках.
  • Ситуационная или разовая ревизия безопасности.
  • Учет критериев безопасности и оценка рисков.

Идеальный вариант — интегрировать секьюрити-анализ в ежедневный ревью кода. Такой подход особенно актуален для проектов, которые один и тот же разработчик развивает длительное время.

Второй вариант — ревизия безопасности в контрольных точках. Этот метод подходит, если у продукта редкие релизы.

Ситуационную или разовая ревизию имеет смысл запускать, если проект только пришел в разработку или если он достаточно простой.

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

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

Вместо заключения

Сегодня поиск уязвимостей в программных продуктах, мобильных и веб-приложениях становится важным направлением деятельности всех ведущих компаний-разработчиков. Одни считают надежным экспертный анализ уязвимостей и доверяют тестирование внутренним специалистам. Другие используют pen-тесты, сканеры уязвимостей и анализаторы кода. Третьи интегрируют в процесс разработки инструменты SAST. При этом до начала работ рекомендуется строить модели угроз и проводить анализ потенциальных рисков, связанных с кражей и искажением критически значимых данных.

Не стоит полагаться на только на файрволл и бесплатные средства защиты. Надежнее всего — использовать комплексный подход, регулярно и тщательно проверять код на баги и уязвимости.


Контент-хаб

0 / 0
+7 495 981-01-85 + Стать клиентом
Услуги Кейсы Контент-хаб