MASVS может быть использован для подтверждения определенного уровня уверенности в безопасности мобильных приложений. Данные требования были сформированы, ориентируясь на следующие цели:
- Использование в качестве метрики: для предоставления стандарта безопасности, по которому разработчики и владельцы мобильных приложений могут проверить свои продукты;
- Использование в качестве руководства: для предоставления рекомендаций во время всех этапов разработки и тестирования; *- Использование во время закупок: как основание для проверки безопасности мобильного приложения.
MASVS определяет два уровня проверки безопасности (MASVS-L1 и MASVS-L2), а также набор гибких требований для обеспечения защиты от реверс инжиниринга (MASVS-R). MASVS-L1 содержит общие требования безопасности, которые рекомендованы для всех мобильных приложений, MASVS-L2 должен быть использован для приложений, оперирующих наиболее уязвимыми конфиденциальными данными. MASVS-R охватывает дополнительные меры защиты, которые могут применяться в случае, если предотвращение атак на стороне клиента заложено в дизайн приложения.
Приложение, разработанное в соответствии с требованиями MASVS-L1, защищено лучшими практиками безопасности и не содержит часто встречающиеся уязвимости. MASVS-L2 предусматривает усиленные меры защиты, такие, как SSL pinning, защищающие приложение от более ухищренных атак, при условии, что безопасность операционной системы не скомпрометирована, а конечный пользователь не рассматривается как потенциальный злоумышленник. Реализация всех или хотя бы некоторых защитных техник из MASVS-R затрудняет атаки на стороне клиента, когда конечный пользователь является злоумышленником и/или ОС мобильного устройства скомпрометирована.
I: Хотя мы рекомендуем использование MASVS-L1 мер защиты в каждом приложении, применение или отказ от конкретной меры в конечном счете должно быть основанным на оценке риска решением, которое принято/доведено до сведения с владельцами бизнеса.
II: Обратите внимание, что программные меры защиты, перечисленные в MASVS-R и OWASP Mobile Application Security Testing Guide, можно обойти, и они не должны использоваться в качестве замены основным требованиям безопасности. Вместо этого они должны быть реализованы как специализированное дополнение, направленное на локализацию конкретных угроз, в мобильном приложении, соответствующее требованиям MASVS-L1 или MASVS-L2.
Первая часть MASVS содержит описание модели безопасности и доступных уровней проверки, рекомендации о том, как использовать стандарт на практике. Подробные требования безопасности и их соответствие с уровнями проверки перечислены во второй части. Требования сгруппированы в восемь категорий (V1 - V8) по принадлежности к технической задаче/области. В MASVS и MASTG используется следующая номенклатура:
- Категория требований: MASVS-Vx, например, MASVS-V2: хранение данных и конфиденциальность
- Требование: MASVS-Vx.y, например, MASVS-V2.2: «Чувствительные данные не попадают в логи приложения».
Приложение, удовлетворяющее MASVS-L1, соответствует лучшим практикам обеспечения безопасности мобильных приложений. Данный уровень проверки предоставляет основные требования с точки зрения качества кода, обработки чувствительных данных и взаимодействия с мобильной средой. Для подтверждения соответствия приложения данному уровню безопасности необходимо проведение тестирования. Этот уровень подходит для всех мобильных приложений.
MASVS-L2 предлагает расширенные средства проверки безопасности, выходящие за рамки стандартных. Для соответствия MASVS-L2, необходима сформированная модель угроз, и безопасность должна быть неотъемлемой частью архитектуры и дизайна приложения. Конкретные MASVS-L2 требования должны быть выбраны и успешно применены базируясь на модели угроз. Этот уровень подходит для приложений, работающих с чувствительными данными, таких, как мобильный банк.
Приложение имеет встроенные механизмы обеспечения безопасности, устойчиво к конкретным атакам на стороне клиента, таким, как фальсификация, модификация или реверс инжиниринг, направленным на извлечение чувствительных участков кода или данных. Такое приложение либо использует аппаратные средства безопасности, либо достаточно надёжные программные механизмы защиты. MASVS-R применим к приложениям, которые обрабатывают высокочувствительные данные и могут служить средством защиты интеллектуальной собственности.
Приложения могут быть проверены на соответствие MASVS L1 или L2, основываясь на предварительной оценке рисков и общем понимании требуемого уровня безопасности. L1 применим ко всем мобильным приложениям, в то время как L2 обычно рекомендуется для приложений, которые обрабатывают более чувствительные данные и/или функциональность. MASVS-R (или его части) может быть применен для проверки устойчивости к конкретным угрозам, таким, как переупаковка (repackaging) или извлечение конфиденциальных данных, в дополнение к основным проверкам безопасности.
Таким образом, доступны следующие типы проверки:
- MASVS-L1
- MASVS-L1+R
- MASVS-L2
- MASVS-L2+R
Различные комбинации отражают различные уровни безопасности и устойчивости к атакам. Цель состоит в том, чтобы обеспечить гибкость: например, игра для смартфона может не гарантировать соответствие таким мерам защиты MASVS-L2, как двухфакторная аутентификация, из-за неудобства использования, но имеет потребность в предотвращении фальсификаций.
Соответствие требованиям MASVS L2 повышает безопасность, но в то же время увеличивает стоимость разработки и потенциально ухудшает опыт конечного пользователя (классический компромисс между удобством и безопасностью). В общем случае, L2 следует использовать для приложений, рассматриваемых с точки зрения риска и издержек (т.е. когда потенциальная потеря, вызванная нарушением конфиденциальности или целостности, выше, чем затраты, связанные с реализацией дополнительных проверок безопасности). Оценка рисков должна быть первым шагом перед применением MASVS.
- Все мобильные приложения. В MASVS-L1 перечислены рекомендации по безопасности, которые могут быть выполнены с разумным воздействием на стоимость разработки и пользовательский опыт. Применяйте требования MASVS-L1 для любого приложения, которое не подходит ни под один из более высоких уровней.
-
Индустрия здравоохранения: мобильные приложения, которые хранят персональные данные, которые могут использоваться для кражи личности, мошеннических платежей или других схем мошенничества. Для сектора здравоохранения США пункты проверок включают в себя Закон об охране и ответственности за информацию, полученную в результате медицинского страхования (HIPAA).
-
Финансовая индустрия: приложения, которые обеспечивают доступ к высокочувствительной информации, такой, как номера кредитных карт, персональным данным, или позволяют управлять финансовыми средствами. Эти приложения требуют дополнительных проверок безопасности для предотвращения мошенничества. Финансовым приложениям необходимо обеспечить соблюдение стандартов безопасности данных, таких, как Payment Card Industry Data Security Standard (PCI DSS), Gramm Leech Bliley Act и Sarbanes-Oxley Act (SOX).
-
Мобильные приложения, где защита IP является целью бизнеса. Меры защиты, перечисленные в MASVS-R, могут использоваться для увеличения усилий, необходимых для получения исходного кода, и для препятствия попыткам фальсификации или взлома приложения.
-
Игровая индустрия: игры, для которых важное значение имеет предотвращение возможности модификации и использования читов, например, многопользовательские онлайн-игры. Читинг является важной проблемой в онлайн-играх, так как большое количество читеров вызывает недовольство у основной массы игроков и в конечном итоге может привести к краху данного игрового продукта. MASVS-R содержит меры защиты, направленные на усложнение задачи читерам.
-
Финансовая индустрия: приложения для онлайн банкинга, которые позволяют пользователю управлять финансовыми средствами, для которых инъекции кода и использование специализированного инструментария для взлома на устройствах с jailbreak-ом/root-ом представляют риск. В этом случае, верификация MASVS-R может быть использована, чтобы препятствовать фальсификации, усложнить задачу авторам вредоносных программ.
-
Все мобильные приложения хранят чувствительные данные на мобильном устройстве, и в то же время должны поддерживать широкий спектр устройств и версий операционной системы. В этом случае проверка устойчивости к фальсификациям может использоваться в качестве углублённой защиты, для максимального затруднения извлечения конфиденциальных данных злоумышленником.
-
Приложения с платным контентом в идеале должны использовать серверные и MASVS-L2 элементы управления для защиты платного контента. Однако могут быть случаи, когда нет возможности использовать защиту на стороне сервера. В этих случаях, для увеличения усилия по обращению реверсирования и/или вмешательства следует дополнительно применять средства управления MASVS-R.