3. White box. У аудитора есть исчерпывающая информация об объекте исследования и зачастую доступ ко всему, что имеет отношение к приложению. Например, к исходному коду приложения и поддерживающим серверам. В рамках этой модели рассматривается злоумышленник-инсайдер или допускается контакт злоумышленника с лицом внутри компании-разработчика.
Black box – самая распространенная модель аудита. Аудитор получает в буквальном смысле черный ящик с неизвестным содержимым и должен найти способ его вскрыть, достать содержимое, а затем еще и закрыть так, чтобы никто ничего не заподозрил. Именно по схеме «скачать приложение из магазина и взломать» происходит типичный взлом, поэтому Black box – рекомендуемый вид аудита для большинства приложений.
White box, с одной стороны, значительно увеличивает глубину теста, а с другой, сулит заказчику дополнительные затраты. Процесс длится дольше, а некоторые из уязвимостей, проявляющихся в рамках такого исследования, слишком сложны для обнаружения сторонним злоумышленником или не эксплуатируются в текущем виде в силу внутреннего характера. Аудитор в рамках теста по данной модели получает доступ ко всем данным, включая интеллектуальную собственность. Приложение и компания для него – как прозрачный и открытый ящик.
Аудит мобильного приложения может проводиться автоматически с использованием специального программного обеспечения или вручную при помощи подготовленных тестовых устройств. Ручная проверка более гибкая и точная, она занимает больше времени, стоит дороже, но позволяет лучше оценить защищенность приложения от злонамеренных воздействий.
Надо понимать, что злоумышленники могут добраться до чувствительной информации не только из-за уязвимостей самого приложения. Так, ОС Android от компании Google дает пользователям большие права по настройке и внесению изменений и поэтому считается менее защищенной, чем, например, iOS. Кроме того, политика обновления Android для каждого производителя своя. Некоторые из ходовых смартфонов несут на борту устаревшую версию этой ОС с давно известными уязвимостями, но владельцы не могут обновиться до официальных безопасных сборок – производитель прекратил поддержку устройства. Это накладывает на разработчиков дополнительные обязанности. Мобильное приложение должно контролировать версию операционной системы и не запускаться под теми версиями платформы, в которых выявлены критические уязвимости. Как вариант, при запуске в недовыверенной среде оно может ограничивать свой функционал.
Защита приложений, которые оперируют деньгами или персональными данными (сведениями о здоровье, контактами, локациями), должна быть усиленной. В противном случае вы рискуете потерять клиентов и репутацию, а также потратить на восстановление доверия много денег и времени.