OWASP (Open Web Application Security Project) Top 10 — это классификация уязвимостей. Приобрела широкое использование благодаря хорошей документированности.
Рекомендуется ознакомиться со всеми ссылками, которые приведены в этом документе:
- A1. Injection
- A2. Broken Authentication
- A3. Sensitive Data Exposure
- A4. XML External Entities (XXE)
- A5. Broken Access Control
- A6. Security misconfiguration
- A7. XSS
- A8. Insecure Deserialization
- A9. Using Components with Known Vulnerabilities
- A10. Insufficient Logging&Monitoring
Термины:
Уязвимость
— слабое место системы, воздействуя на которое реализовывается вариант использования, не предусмотренный на этапе проектирования/разработки ПО. Для уязвимостей существуют атаки.
Атака
— действие, направленное на использование уязвимости в системе.
Сниффер (анализатор трафика)
— программа или устройство для перехвата и анализа сетевого трафика (своего и/или чужого).
Фаззинг
— техника тестирования программного обеспечения, часто автоматическая или полуавтоматическая, заключающая в передаче приложению на вход неправильных, неожиданных или случайных данных. Предметом интереса являются падения и зависания, нарушения внутренней логики и проверок в коде приложения, утечки памяти, вызванные такими данными на входе. Фаззинг является разновидностью выборочного тестирования (англ. random testing), часто используемого для проверки проблем безопасности в программном обеспечении и компьютерных системах.
Белый список
— регулярное выражение, которое определяет список допустимых символов и минимальную длину. Например: ^ [А-z0-9] {3,10} $
Аутентификация
— это процесс проверки того, кем является физическое лицо, организация или веб-сайт. Аутентификация в контексте веб-приложений обычно выполняется путем предоставления имени пользователя или идентификатора и одного или нескольких элементов личной информации, которые должен знать только данный пользователь.
Управление сеансами
— это процесс, с помощью которого сервер поддерживает состояние объекта, взаимодействующего с ним. Это необходимо, чтобы сервер помнил, как реагировать на последующие запросы в течение транзакции. Сеансы поддерживаются на сервере идентификатором сеанса, который может передаваться между клиентом и сервером при передаче и приеме запросов. Сеансы должны быть уникальными для каждого пользователя и в вычислительном отношении очень трудно предсказать.
Man in the middle
— вид атаки в криптографии, когда злоумышленник тайно ретранслирует и при необходимости изменяет связь между двумя сторонами, которые считают, что они непосредственно общаются друг с другом. Является методом компрометации канала связи, при котором взломщик, подключившись к каналу между контрагентами, осуществляет вмешательство в протокол передачи, удаляя или искажая информацию.
Софт для тестирования уязвимостей, проведения атак на уязвимости:
- OWASP Web Goat
- bWapp
- kali linux — дистрибутив linux для проведения тестов на безопасность
- wireshark — сниффер
- burpsuite — прокси сервер, позволяет изучать трафик.
- metasploit framework — проект, посвященный компьютерной безопасности
Полезные ссылки:
- https://www.owasp.org/index.php/OWASP_AppSensor_Project
- https://www.metasploit.com/
- https://www.owasp.org/index.php/OWASP_Testing_Guide_v4_Table_of_Contents
List of references: