Оценка безопасности мобильных приложений (часть 1) — планирование
Использование мобильных устройств для повседневного бизнеса в организациях стало обычным явлением. BYOD или устройства, предоставленные организацией, или и то, и другое, которые легко используются для выполнения бизнес-задач.
Скорость, с которой приложения выпускаются и массово производятся, предлагает различные уровни безопасности в сочетании с неопытностью многих организаций-разработчиков в области безопасности мобильных устройств, что делает эту область бомбой замедленного действия.
Приложения, работающие на мобильных устройствах, обработка корпоративных данных и доступ к ним подвергают некоторые организации дополнительным потенциальным рискам безопасности.
Введение
Организации осваивают мобильные вычисления, но с этим движением возникают риски атак и взломов, если они не будут обеспечивать безопасность данных и доступ к ресурсам компании безопасным образом.
Защита требуется не только устройству, но и приложениям и данным, которые обрабатываются, хранятся и создаются на устройствах (часто им уделяется недостаточно внимания). Приложения могут открывать двери потенциальному риску безопасности.
Многие организации не знают о степени риска, связанного с приложениями; скорее смотреть на функциональность приложений выше их безопасности и это ошибка.
Приложения легко доступны, их легко установить и запустить в кратчайшие сроки. К сожалению, более трех четвертей этих приложений в настоящее время и в течение всего 2015 года не пройдут элементарные тесты безопасности.
Организации предполагают, что эти приложения разрабатываются с учетом требований безопасности и что по умолчанию они будут безопасными, однако большинство из них будут нарушать политику безопасности организации и вообще не будут обеспечивать безопасность. Это предположение связано с неопытностью организаций в области мобильной безопасности и незрелостью стратегий мобильного тестирования в сочетании со скоростью разработки и очень хорошей рекламой приложений в отношении функциональности.
Разработчики приложений могут быстро охватить миллионы пользователей, но у многих из них нет опыта, бюджета или стимула для проведения необходимого тестирования безопасности, чтобы убедиться, что программное обеспечение безопасно в использовании. Приложения выходят на рынок с недостатками безопасности, в результате чего приложения, устройства и сети организаций скомпрометированы.
Очень важно, чтобы организации обеспечивали эффективное тестирование безопасности мобильных приложений, особенно когда большинство организаций поддерживают BYOD и используют недорогие сторонние приложения для улучшения бизнес-функций. Организации должны выйти за рамки функциональности и сосредоточиться на столь необходимой безопасности приложений.
Процедура оценки приложений должна быть включена в общую стратегию безопасности организации.
В этой серии статей будут рассмотрены три раздела процедуры оценки приложений, в том числе:
- Планирование
- Тестирование приложений
- Утверждение или отклонение заявки
Типы уязвимостей через приложения для мобильных устройств
Диапазон уязвимостей и слабых сторон, которым организации находят уязвимыми приложения, работающие на мобильных устройствах, огромен. Некоторые из них более распространены, чем другие, некоторые представляют более серьезный риск для организаций, чем другие, и по-разному влияют на организации.
Уязвимости будут постоянно меняться, и будут появляться новые уязвимости. Некоторые из потенциальных уязвимостей, которые мы пытаемся устранить с помощью тестирования приложений, могут включать следующее.
- Уязвимости, вызванные неправильными разрешениями (чрезмерное предоставление, недостаточное предоставление, неявное предоставление, созданное в коде)
- Открытые коммуникации, как внутренние, так и внешние (Bluetooth, GPS, NFC и т. д.) коммуникации (внутри приложения могут собирать данные и вводить новую информацию. Внешне оставлены открытыми для раскрытия или атаки)
- Опасная функциональность (могут выполняться непреднамеренные функции, вызывающие непредвиденный вывод, коллапс ресурсов, отказ в обслуживании и т. д.)
- Сговор приложений (приложения, способные извлекать непреднамеренные данные)
- Обфускация (скрытый от пользователя функционал, внешние библиотеки, рефлексивные вызовы и упакованный код)
- Традиционные уязвимости программного обеспечения (все традиционные уязвимости, связанные с Java)
- Проблемы с конфиденциальностью и уязвимости
Процессы обеспечения безопасности приложений для снижения рисков безопасности
Планирование
Организации должны обеспечить выполнение процессов обеспечения безопасности приложений. При этом приложения проверяются, чтобы убедиться, что они свободны от уязвимостей и что приложение будет функционировать должным образом. Процедура должна включать тестирование приложений, завершающееся отклонением или утверждением приложений.
Выполнение оценки рисков поможет определить влияние мобильного приложения на вычислительные ресурсы, сеть, данные и ресурсы организации.
Шаг первый:
Определите набор требований безопасности, уникальный для вашей организации, принимая во внимание следующее.
- Условия, при которых приложение будет использоваться и когда его не следует использовать (среда, в которой оно будет развернуто).
- Как данные, к которым обращается приложение, будут защищены
- Как работает беспроводная инфраструктура и как она защищена
- Находятся ли важные активы на мобильном устройстве или нет?
- Допустимый уровень риска, разрешенный для приложения
- Определите требования безопасности, которые необходимы приложению, это позволит организациям четко видеть, выполняются ли требования или нарушаются, когда проводится тестирование.
- Существуют ли какие-либо уязвимости приложений, которые можно устранить с помощью других мер безопасности, которые уже являются частью архитектуры мобильных устройств организации, или с помощью мер безопасности самого мобильного устройства?
- Оцените существующее решение для управления мобильными устройствами, чтобы понять и подтвердить, какие требования безопасности уже удовлетворяются этим решением.
- Определить требования безопасности и конфиденциальности, характерные для организаций
- Определить пользователей, которым разрешено использовать приложение
- Какой уровень тестирования уже был проведен
- Какие типы атак вызывают озабоченность у организации (рассмотрите информацию или операции в случае взлома и влияние, которое это окажет на вовлеченных людей, а также на организацию и бизнес-функцию)
Шаг второй:
Определите ограничения процесса тестирования приложения.
Процедура, предпринятая для оценки приложений, несомненно, окажет положительное влияние на состояние безопасности организации, однако ни один процесс не может гарантировать выявление всех потенциальных слабых мест. Организации должны знать об ограничениях.
- Понять, что процесс оценки даст и чего не даст в отношении результата безопасности
- Не следует недооценивать ручную оценку человека, это неотъемлемая часть процесса.
- Не полагайтесь исключительно на автоматизацию в отношении ваших оценок, необходимо взаимодействие с человеком, чтобы увидеть всестороннее поведение приложения в различных контекстах.
- Качество ваших оценок пропорционально получению правильных комбинаций нескольких инструментов автоматизированного тестирования с взаимодействием с человеком и опытом в области безопасности.
- Избегайте использования одного инструмента или процесса тестирования, так как каждый инструмент будет иметь свои ограничения, используйте несколько инструментов и процессов для достижения наилучших результатов.
- Информируйте сотрудников об ограничениях процесса тестирования приложений.
Шаг третий:
Организуйте команду, которая возьмет на себя ответственность и рассмотрит бюджет, доступный для процесса тестирования приложения.
- Привлеките соответствующих людей с необходимым опытом (необходимы знания в области мобильной безопасности, безопасности программного обеспечения и обеспечения достоверности информации)
- Затраты должны быть предусмотрены в бюджете и не должны быть предметом обсуждения
Вывод
В этой первой статье серии мы рассмотрели начальные этапы тестирования приложений в вашей организации. Это включало планирование до оценки приложения.
Эти начальные шаги важны для того, чтобы помочь поставить процесс на правильную основу, и их нельзя недооценивать. Как прекрасно изображает известная цитата Б. Франклина: «Если вы не можете планировать, вы планируете потерпеть неудачу».
Хорошо продуманный анализ рисков позволит вам рассмотреть и определить многие неизвестные факторы безопасности, необходимые в процессе планирования и до того, как можно будет продолжить стратегию тестирования. Если вы потратите время и усилия на этапе планирования и примените тщательный подход, это гарантирует, что время не будет потрачено впустую, и процесс тестирования приложения, скорее всего, пройдет намного более гладко.
При установленном надлежащем процессе проверки приложений организации могут продолжать получать выгоду от использования мобильных приложений, они могут продолжать достигать беспрецедентных уровней подключения, скорости и простоты обмена информацией, повышения мобильности и, следовательно, улучшения функциональности в бизнесе, ограничивая при этом потенциальный риск безопасности.
Следите за статьями этой серии, в которых мы продолжим обсуждение процесса тестирования приложений, чтобы повысить уровень вашей безопасности при использовании мобильных устройств в ваших организациях.