---
# System prepended metadata

title: Модуль №3
tags: [MOE]

---

## OWASP

- Что такое OWASP
- Основные проекты OWASP: Top 10, WSTG и ASVS
- Обзор OWASP Top 10
    - A01 Ошибки разграничения доступа
    - A02 Ошибки при использовании криптографии
    - А03 Инйекции
    - А04 Небезопасный дизайн
    - А05 Ошибки настроек подсистем защиты
    - А06 Уязвимые и устаревшие компоненты
    - A07 Ошибки аутентификации и авторизации
    - A08 Проблемы с контролем целостности данных и приложений
    - A09 Логирование и мониторинг
    - A10 Атаки на доверие (SSRF)


## Что такое OWASP

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

![](https://hackmd.io/_uploads/SkWcVQs5n.png)


## Основные проекты OWASP: Top 10, WSTG и ASVS


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

OWASP Top 10 - набор рисков


## Обзор OWASP Top 10

### A01 Ошибки разграничения доступа

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

![](https://hackmd.io/_uploads/H1rEDXic2.png)


Примеры уязвимостей:

- Нарушение принципа наименьшего количества привилегий
- Обход механизмов проверки авторизации, может быть осуществлено тривиальным изменением адреса или заголовка при запросе
- Доступ к данным чужого аккаунта
- Получения доступа к API без предоставления токена
- Манипуляция механизмов авторизации через модификацию идентификаторов сессии
- Неверная конфигурация CORS

### A02 Ошибки при использовании криптографии

![](https://hackmd.io/_uploads/S1_x_Qjc2.png)

Собрание основных проблем, которые возникают при использовании криптографии. Нужно помнить несколько простых принципов:

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

### А03 Инйекции

![](https://hackmd.io/_uploads/SkTU2r2qn.png)


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

Происходят из-за особенностей работы технологий веба.

### А04 Небезопасный дизайн

![](https://hackmd.io/_uploads/Bkn93rn5h.png)


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


### А05 Ошибки настроек подсистем защиты

![](https://hackmd.io/_uploads/BJmanrncn.png)

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

Примеры:

- не выставленные заголовки безопасности на сервере
- не проставленные фильтры для загрузки файлов


### А06 Уязвимые и устаревшие компоненты

![](https://hackmd.io/_uploads/Sk59TB3qn.png)

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

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

### A07 Ошибки аутентификации и авторизации

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

Проблемы могут быть:

- уязвимы для проведения атак грубой силы
- уязвимы для автоматического перебора
- используются уязвимые методы для восстановления паролей
- использование дефолтных логинов и паролей
- отсутствующая мультифакторная аутентификация
- переиспользование идентификаторов от старых сессий
- отсутствие механизмов инвалидации пользовательских идентификаторов


### A08 Проблемы с контролем целостности данных и приложений

![](https://hackmd.io/_uploads/S1xgRH35n.png)

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

Наиболее популярный вариант уязвимости - небезопасная десериализация.

### A09 Логирование и мониторинг

![](https://hackmd.io/_uploads/BkJJy8nch.png)

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

Поэтому проблемы в этой категории,

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


### A10 Атаки на доверие (SSRF)

![](https://hackmd.io/_uploads/HykZkLhq3.png)

Тип проблем, который использует доверительные отношения между приложением и инфраструктурой, где это приложение работает. Может быть использовано как основной вектор атаки из внешних систем во внутренние.

Появляется во всех механизмах, где есть обработка URL.

## WSTG

OWASP Web Security Testing Guide - набор практик для проведения тестрования. Включает в себя основной проект с инструкциями - https://github.com/OWASP/wstg

И CheckList - https://github.com/OWASP/wstg/tree/master/checklists


## ASVS

![](https://hackmd.io/_uploads/SJatrmi5h.png)

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


### Дополнительные материалы
- https://ginandjuice.shop
- https://owasp.org/Top10/