Зачем нужны тесты на проникновение для web-приложений?

Проведения теста на проникновения решает в первую очередь следующие задачи:

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

В большинстве случаев тестирование проходит методом черного ящик (black box).

При таком методе используется следующая модель нарушителя: высококвалифицированный внешний нарушитель (уровень квалификации — хакер), действующий со стороны сети Интернет, не имеющий никаких привилегий и не обладающий никакими данными об исследуемом ресурсе, осуществляющий атаки, направленные на получение несанкционированного доступа к веб-приложению. Единственная информация, которой владеет исполнитель – адрес сайта.

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

  • OWASP Testing Guide
  • OWASP Top10
  • Web Application Security Consortium Threat (WASC) Classification
  • Стандарты серии ISO 17799/27000

Проведение работ можно логически разбить на следующие этапы:

1. Сбор и анализ информации

2. Идентификация уязвимостей

3. Реализация атаки на веб-приложение

4. Анализ и составление отчета

5. Устранение уязвимостей

Сбор и анализ информации.

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

Идентификация уязвимостей.

Сбор и анализ информации об имеющихся уязвимостях в обнаруженных версиях служб, сервисов, скриптах. Выявление способов использования уязвимостей, оценка рисков использования уязвимостей. Тестирование уязвимостей OWASP Top10 (https://www.owasp.org). Анализ и тестирование логики веб-приложений, проверка возможности раскрытияе чувствительных данных, тестирование механизмов проверки входных данных (SQL Injection, XML Injection, XSS, Code Injection, B/H/S overflows) и т.д.

Реализация атаки на веб-приложение.

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

Анализ и составление отчетов.

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