Skip to main content

OWASP TOP 10

Проект Open Worldwide Application Security Project (OWASP) - это открытое сообщество, призванное предоставить организациям возможность разрабатывать, приобретать и обслуживать приложения и API, которым можно доверять.

Это минимум для оценки защищенности. Одна из трудностей использования OWASP Top 10 в качестве стандарта заключается в том, что мы документацируеми рискиов и проблемы, которые не всегда легко поддаются тестированию.

Выбор между Top 10 и OWASP Application Security Verification Standard

Use Case OWASP Top 10 2021 OWASP Application Security Verification Standard
Осознание Да  
Тренировка Базовый уровень Комплексный
Дизайн и архитектура Изредка Да
Стандарт программирования Минимум Да
Проверка защищенного кода Минимум Да
Контрольный список для экспертной оценки Минимум Да
Модульное тестирование Изредка Да
Интеграционное тестирование Изредка Да
Тестирование на проникновение Минимум Да
Поддержка инструментов Минимум Да
Secure Supply Chain Изредка Да

A01:2021 – Нарушение контроля доступа

Контроль доступа обеспечивает соблюдение политики таким образом, что пользователи не могут действовать за пределами своих предполагаемых разрешений. Распространенные уязвимости системы контроля доступа включают:

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

  • Обход проверок контроля доступа путем изменения URL-адреса (изменение параметров или принудительный просмотр), внутреннего состояния приложения или HTML-страницы или с помощью средства атаки, изменяющего запросы API.

  • Разрешение на просмотр или редактирование чужой учетной записи путем предоставления ее уникального идентификатора (небезопасные прямые ссылки на объекты).

  • Доступ к API с отсутствующими элементами управления доступом для POST, PUT и DELETE.

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

  • Манипуляции с метаданными, такие как воспроизведение или подделка токена управления доступом к веб-токену JSON (JWT), cookie или скрытому полю, которые используются для повышения привилегий или для аннулирования JWT.

  • Неправильная настройка CORS допускает доступ к API из несанкционированных/ ненадежных источников.

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

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

Способы защиты:

  • За исключением общедоступных ресурсов, по умолчанию доступ запрещен.

  • Внедрите механизмы контроля доступа один раз и повторно используйте их во всем приложении, включая минимизацию использования совместного использования ресурсов разных источников (CORS).

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

  • Модели домена должны обеспечивать соблюдение уникальных требований к бизнес-лимитам приложений.

  • Отключите список каталогов веб-сервера и убедитесь, что метаданные файлов (например, .git) и файлы резервных копий отсутствуют в корневом каталоге веб-сервера.

  • Регистрируйте сбои в системе контроля доступа и при необходимости предупреждайте администраторов (например, о повторяющихся сбоях).

  • Ограничьте скорость доступа к API и контроллеру, чтобы минимизировать ущерб от автоматизированных средств атаки.

  • Идентификаторы сеанса с отслеживанием состояния должны быть аннулированы на сервере после выхода из системы. Токены JWT без сохранения состояния должны быть недолговечными, чтобы минимизировать возможности для злоумышленника. Для более долговечных токенов JWT настоятельно рекомендуется следовать стандартам OAuth для отзыва доступа.

Список CWE

A02:2021 – Cryptographic Failures