Pull to refresh

Методология аудита безопасности веб-приложения

Reading time3 min
Views15K


Сегодня мы поговорим о методологии проведения тестирования на проникновение веб-приложений. Одним из методов аудита веб-сайта является тестирование на проникновение BlackBox (BlackBox — «черный ящик»), при котором специалист располагает только общедоступной информацией о цели исследования.

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

Для полной картины атаки на сайт и действий сотрудников служб ИТ/ИБ отделов крайне не рекомендуется ставить последних в известность. Этим заказчик может проверить готовность своих сотрудников к реагированию на инциденты ИБ.

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

Основные задачи злоумышленника:
  • получения доступа к критичным данным;
  • выведение сайта из строя;
  • монетизация/профит.

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

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

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

Основные методы аудита похожи на действия злоумышленника и включают в себя:
  • Разведку и сбор информации об атакуемой системе: в ход идут специальные поисковые запросы (google dork), обнаружение почтовых адресов сотрудников, профилей компании на сайтах вакансий (по вакансиям можно определить используемые технологии), поиск информации в кеше поисковиков, сканирование портов;
  • Выявление защитных средств сайта — IDS/IPS/AntiDDoS/WAF систем;
  • Сканирование веб-приложения популярными утилитами и сканерами — здесь достаточно широкий выбор, как платных, так и бесплатных программ, например веб-сканер w3af;
  • Сканирование директорий веб-сайта для поиска чувствительной информации (файлы, бэкапы базы данных и прочее) — к примеру утилитой dirbuster;
  • Ручной анализ уязвимостей — с помощью проксирующих средств происходит обработка запросов и анализ на предмет наличия потенциальных уязвимостей, одна из популярных утилит — Burpsuite.

Эти методы включают в себя следующие этапы:
  • Пассивный сбор информации;
  • Определение веб-окружения и платформы;
  • Определение типа CMS;
  • Сканирование портов/cбор баннеров;
  • Автоматические сканирования;
  • Анализ данных;
  • Определение «узких мест» ресурса;
  • Ручной анализ;
  • Сбор и анализ полученной информации;
  • Анализ векторов атаки;
  • Подтверждение полученных векторов;
  • Составление отчета.

Полученные векторы анализируются и проверяются, фиксируется время обнаружения, поскольку не исключены моменты обнаружения аномальной активности персоналом заказчика путем анализа, к примеру, access log и реализации мер по оперативному устранению уязвимости или атаки. Найденные формы авторизации или сервисы подвергаются т.н. bruteforce-атаке (подбор паролей).

В случае с пентестерами данные агрегируются в системы типа Dradis для анализа и оптимизации полученной информации. На основании полученных данных формируется отчет, распределенный по уязвимым сервисам, с детальным описанием уязвимостей, сценариями атаки, состоящими из нескольких векторов, оценкой рисков и рекомендациями по их устранению.

Только при полном и ответственном аудите заказчик получает максимально реалистичную картину зрелости системы информационной безопасности своего веб-сайта.
Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
+5
Comments0

Articles