Веб-безопасность (OWASP Top 10)

OWASP

Что это такое

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

Почему это важно

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

Что в этом треке

  1. Инъекции и разграничение доступа (07-security/01-web-security-owasp-top-10/01-injection-and-access-control) — два класса, которые отдают атакующему данные, на которые он не имел права.
  2. Межсайтовый скриптинг и классы уязвимостей на стороне браузера (07-security/01-web-security-owasp-top-10/02-cross-site-scripting-and-the-browser-side-classes) — выполнение кода в чужой сессии и механизмы, которые его ограничивают.

Предварительные требования

Нет.

Что читать дальше

  • Content Security Policy (CSP) (07-security/06-content-security-policy-csp) — набор браузерных правил, который гасит внедрение скриптов.
  • HTTPS и TLS (07-security/02-https-tls) — шифрование при передаче и почему его отсутствие сегодня считается жёсткой ошибкой.
  • Управление секретами (07-security/03-secrets-management) — ключи вне репозитория, с ротацией при компрометации.
  • Сканирование зависимостей (SCA) (07-security/04-dependency-scanning-sca) — уже известные уязвимые пакеты в вашем дереве.