---
# System prepended metadata

title: 'Module #8'

---

# Module #8


# Что такое OWASP 

Непрофитабельный проект, предоставляет большое количество гайдов для "безопасного" написания кода.
Есть гайды для тестирования, проектирования и проведения оценки реализации SDL.


# OWASP MSTG и ASVS 

[MSTG](https://github.com/OWASP/owasp-mstg) - Mobile Testing Guide. Набор инструкций для тестирования популярных мобильных платформ. База знаний, которая поддерживается community. Показаны примеры использования инструментов и описаны некоторые особенности мобильных платформ.

[ASVS](https://github.com/OWASP/ASVS/tree/v4.0.3#latest-stable-version---403) - Application Security Verification Standart. Стандарт, который не только отвечает на вопросы "Что тестировать?" и "Как тестировать?", но и дает возможность оценить и исправить недостатки, которые могли бы быть обнаружены в рамках проверки.

Стандарт определяет 3 уровня проверки безопасности:

1. Низкий уровень доверия, проводится при тестировании на проникновение.
2. Уровень, который используют для приложений, которые содержат конфидентиальные данные.
3. Уровень, который используется для тестирования приложений, которые содержат данные с высокой стоимостью.

Стандарт ориентируют для создания чек листов безопасного программирования.

![](https://i.imgur.com/be6UrHE.png)

# OWASP Mobile Top-10

[Список](https://owasp.org/www-project-mobile-top-10/) рисков, которые могут возникать в мобильных приложениях.

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

## M1 - Обход архитектурных ограничений 

Категория, которая включает неверное использование платформенных функций и API. Включает в себя работу с привелегиями, работой с биометрией, Keychain и других механизмов. 

## M2 - Небезопасное хранение данных 

Категория включает в себя уязвимости, которые могут появится вследствии того, что при разработке приложение не учитывает окружение, которое используется для запуска. Чаще всего это уязвимости и недостатки в использовании примитивов шифрования для хранения данных.

## M3 - Небезопасная передача данных 

Недостатки, которые возникают при передачи данных приложением. При этом могут использоваться различные среды передачи данных - мобильная сеть,Wi-Fi, Bluetooth.

## M4, M6 - Небезопасная аутентификация и авторизация 

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

## M5 - Слабая криптография 

Уязвимости, которые могут быть использованы для доступа к данным приложения.

## M7 - Недостаточное качество кода приложений

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

## M8 - Модификация кода 

Атака, которая позволяет провести модификацию оригинального приложения.

## M9 - Обратная разработка

Недостатки, которые позволяют восстановить полностью или частично исходный код приложения или его алгоритм.

## M10 - Скрытый функционал 

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