Что такое OWASP Top 10
OWASP Тop 10 (Open Web Application Security Project Тop 10) — это классификация векторов атак и уязвимостей, которые чаще всего встречаются в веб-приложениях.
Данный перечень составляет некоммерческая организация OWASP Foundation на основе анализа широкого спектра угроз и атак. OWASP Top 10 регулярно обновляют, поэтому в нем отражены современные тренды в области безопасности информационных технологий.
Кому и зачем нужен OWASP Top 10
В процессе разработки, тестирования и поддержки веб-приложений крайне важно обеспечивать их безопасность. Чаще всего система безопасности выстраивается как система противодействия уже существующим угрозам. В OWASP собраны 10 самых распространенных векторов атак и уязвимостей.
Знание актуального рейтинга OWASP Top 10 помогает разработчикам, тестировщикам, специалистам по информационной безопасности и администраторам систем предотвращать ИБ-инциденты, связанные с уже известными уязвимостями.
Большинство поставщиков технологии WAF (Web Application Firewall) ориентируются, в первую очередь, на исправление уязвимостей из OWASP Top 10 — это обязательный санитарный минимум для обеспечения надлежащего уровня безопасности веб-приложений.
Какие уязвимости входят в OWASP Top 10
В редакцию OWASP Top 10 от 2023 года вошли следующие уязвимости:
- Некорректная авторизация на уровне объекта
- Некорректная аутентификация пользователей
- Нарушенная авторизация на уровне свойств объекта
- Неограниченное потребление ресурсов
- Нарушенная авторизация на уровне функции
- Неограниченный доступ к конфиденциальным бизнес-потокам
- Подделка запроса на стороне сервера
- Ошибки настроек безопасности
- Ненадлежащее управление активами
- Небезопасное использование API
Рассмотрим каждую уязвимость подробнее.
Некорректная авторизация на уровне объекта
(Broken Object Level Authorization)
Авторизация на уровне объектов — способ проверки наличия разрешения у пользователя на доступ к конкретному объекту. Если такой проверки нет, злоумышленник может получить доступ к конфиденциальным данным.
Некорректная аутентификация пользователей
(Broken Authentication)
Механизмы проверки подлинности часто настроены некорректно, поэтому злоумышленник может скомпрометировать аутентификационные токены или использовать уязвимости веб-приложения для получения временного или постоянного доступа к данным других пользователей. Нарушение способности системы идентифицировать пользователя ставит под угрозу безопасность API в целом.
Нарушенная авторизация на уровне свойств объекта
(Broken Object Property Level Authorization)
Эта уязвимость связана с отсутствием или неправильной проверкой авторизации на уровне свойств объекта, что приводит к раскрытию информации неавторизованным пользователям.
Неограниченное потребление ресурсов
(Unrestricted Resource Consumption)
Для обработки запросов API нужны ресурсы, такие как пропускная способность сети, центральный процессор, оперативная память и хранилище данных.
Доступ к другим необходимым для работы ресурсам (например, электронной почте, телефонным звонкам или проверке биометрических данных) осуществляется через сторонних поставщиков услуг, интегрированных с API, и оплачивается каждый входящий запрос.
Эксплуатация подобной уязвимости может привести к увеличению эксплуатационных расходов и отказу в обслуживании из-за исчерпания бюджета на сторонние сервисы или ресурсы своей вычислительной сети.
Нарушенная авторизация на уровне функции
(Broken Function Level Authorization)
Сложные политики контроля с разными уровнями доступа, группами и ролями, а также нечеткое разделение административных и обычных функций, часто становятся причинами нарушения процесса авторизации. Это может быть отсутствие или некорректное проведение авторизации: без учёта наследования прав и бизнес-логики веб-приложения.
Допустим, если не учесть, что запросы к конкретной функции приходят не только через интерфейс, но и напрямую через API, и не сделать для этой функции авторизацию, злоумышленник сможет обнаружить уязвимость и воспользоваться ей в своих целях. Например, он получит несанкционированный доступ к ресурсам других пользователей или административным функциям.
Неограниченный доступ к конфиденциальным бизнес-потокам
(Unrestricted Access to Sensitive Business Flows)
Конечные точки API часто дают доступ к бизнес-потокам, однако при создании конечных точек не всегда учитываются риски, связанные с излишним доступом к конкретному потоку.
К примеру, злоумышленник может написать скрипт, который поможет ему выкупить все дешевые товары с высоким спросом на конкретном сайте и продать их на другой платформе в несколько раз дороже.
Подделка запроса на стороне сервера
(Server Side Request Forgery)
Подделка запроса на стороне сервера (SSRF) — уязвимость, при которой API не проверяет предоставленный пользователем URL. Это позволяет злоумышленнику отправить созданный запрос на этот URL, даже если приложение защищено брандмауэром или VPN.
Успешная эксплуатация такой уязвимости может привести к перебору внутренних служб (например, сканированию портов), раскрытию информации, обходу брандмауэров или других механизмов безопасности. В некоторых случаях злоумышленник может провести DoS или использовать серверы инфраструктуры клиента в качестве прокси для сокрытия вредоносных действий.
Ошибки настроек безопасности
(Security Misconfiguration)
API и их системы обычно содержат сложные конфигурации. Разработчики ПО и DevOps-инженеры могут не учитывать эти конфигурации или не следовать рекомендациям по обеспечению безопасности при их настройке, что открывает возможность осуществления различных атак.
Среди распространенных ошибок настройки безопасности API может быть слабая защита на любом уровне стека API, отсутствие или использование устаревшей версии TLS-сертификата, отсутствие или неправильная настройка совместного использования ресурсов разных источников (CORS, Cross-Origin Resource Sharing) и так далее.
Злоумышленник может найти подобную ошибку конфигурации безопасности и использовать ее в своих целях, например, получить доступ к системе и конфиденциальным данным.
Ненадлежащее управление активами
(Improper Inventory Management)
Использование нескольких версий API делает веб-приложение более уязвимым, так как старые версии могут не содержать обновлений безопасности. Устаревшие API приводят к тому, что уязвимости, которые были закрыты в новых версиях API, все еще могут быть эксплуатированы злоумышленниками.
Небезопасное использование API
(Unsafe Consumption of APIs)
Разработчики не всегда проверяют входные данные, которые получают от сторонних API. Они доверяют данным от сторонних API больше, чем данным, вводимым пользователями, — и злоумышленник может использовать это.
Злоумышленнику под силу скомпрометировать API и получить доступ к целевым API, используя интегрированные сторонние сервисы. Успешная эксплуатация данной уязвимости может привести к раскрытию конфиденциальной информации неавторизованным лицам, множеству видов инъекций или даже к отказу в обслуживании.
Что помогает защититься от уязвимостей из OWASP Top 10
Защититься от уязвимостей из OWASP Top 10 помогает WAF (Web Application Firewall, межсетевой экран уровня приложений). WAF может обнаружить запрос, который направлен на эксплуатацию уязвимости, и применить виртуальный патч. Это помешает злоумышленнику эксплуатировать данную уязвимость.
Сервис NGENIX Cloud WAF нужен тем, кто не хочет самостоятельно разворачивать, поддерживать и обновлять инфраструктуру для работы WAF. Специализированное ПО WAF встраивается в цепочку обработки запросов и эксплуатируется профессиональной командой NGENIX, что обеспечивает надежную защиту веб-ресурса от взломов при любых нагрузках.
Облачный сервис Cloud WAF позволяет:
- защищать инфраструктуру от атак на уровне приложений;
- использовать WAF от нескольких вендоров по подписке в составе комплексного облачного решения по ускорению и защите веб-ресурсов;
- снижать затраты на административное взаимодействие, создание, поддержку и обслуживание инфраструктуры для работы WAF;
- контролировать и оптимизировать издержки, которые возникают при масштабировании веб-ресурса или всплесках легитимного или нелегитимного трафика.
Больше о Cloud WAF и его возможностях — в документации и нашем вебинаре.