Уникальный опыт в области расследования многочисленных инцидентов информационной безопасности и компьютерной криминалистики позволил нашей компании сформировать наиболее эффективные методики анализа защищенности приложений и корпоративных сетевых инфраструктур от актуальных угроз безопасности.
Тестирование на проникновение является одним из самых рациональных методов контроля безопасности используемых приложений, информационных и автоматизированных систем, при котором представители Исполнителя санкционировано исследуют возможность реализации несанкционированного доступа к информации Заказчика со стороны потенциальных злоумышленников.
Проведение теста на проникновение позволяет получить абсолютно независимую оценку защищенности, что позволит своевременно минимизировать возможные риски информационной безопасности.
По согласованию с Заказчиком, проведение теста на проникновение может выполняться без оповещения специалистов служб информационной безопасности, системных администраторов и IT-менеджеров для моделирования ситуации внезапной атаки со стороны потенциальных злоумышленников.
Эксплуатация уязвимостей в WEB-приложениях является одним из ключевых объектов интереса современных злоумышленников. Бреши и ошибки конфигурации WEB-приложений зачастую позволяют раскрыть конфиденциальную информацию, проникнуть во внутреннюю корпоративную сеть, нарушить доступность критических бизнес-процессов, осуществлять мошеннические действия в бизнес-приложениях и системах дистанционного банковского обслуживания.
Экспертный анализ защищенности WEB-приложения проводится с использованием существующих стандартов и разработанных экспертных методик:
OWASP Application Security Verification Standard (ASVS);
Penetration Testing Execution Standard (PTES).
Категоризация обнаруженных уязвимостей и оценка их критичности выполняется в соответствии с общепризнанными системами классификации и метриками:
Из актуальных можно выделить следующие:
Итак, что же все-таки собой представляет и как организован процесс этического хакинга?
В отличие от реальных злоумышленников, команда тестеров соблюдает определенные этические правила при проведении всех работ: любые опасные действия совершаются только по предварительному согласованию с заказчиком, весь процесс сканирования прозрачен и спланирован, работа критических бизнес-процессов не нарушается, а в конце теста заказчик получает объективный отчет о состоянии дел в его системе безопасности в терминах, понятных не только ИТ специалистам, но и бизнесу.
Существование различных методик проведения тестов на проникновение не отменяет творческой составляющей процесса, что требует от команды, исполняющей его, глубоких познаний в сфере ИТ-безопасности и в тоже время - умения мыслить нестандартно, применять методы социальной инженерии, собирать и анализировать информацию. Хорошей иллюстрацией такого подхода в мышлении и методах является кино-трилогия о «N Друзей Оушена».
НАИБОЛЕЕ ИСПОЛЬЗУЕМЫЕ МЕТОДОЛОГИИ
ЭТИЧЕСКОГО ХАКИНГА
Существуют как открытые, так и коммерческие методологии проведения тестов на проникновение, способные при соблюдении всего процесса обеспечить гарантированное качество услуги. Однако, на практике использование только лишь одной методологии не является целесообразным, как правило, они используются модульно с необходимой доработкой. Некоторые методологии уже устарели и не учитывают стремительные темпы развития ИТ, а некоторые охватывают только организационные моменты, не вдаваясь в технические детали, другие же нацелены лишь на определенные технологии и практически ни одна методология не способна учесть особенности украинской сферы ИТ-технологий.
Как правило, все методологии, с небольшими отклонениями предусматривают следующий сценарий проведения теста на проникновение:
Тест на проникновение является комплексным проектом и может включать в себя несколько видов работ из которых и формируется цена и сроки. На данном этапе также оговариваются ограничения и роли участников.
1. Следует определить подход к проведению теста: так называемый белый (White box), черный (Black Box) или серый (Grey Box) ящик.
White box | Исполнитель имеет доступ к системам и располагает полной информацией о них, фактически такая модель тестирования используется как часть организационно-технического аудита организации ИТ и предполагает анализ процессов и процедур. |
Black Box | Имитирует группу хакеров, которые имеют только название компании и практически нулевые сведения о целевой системе. |
Grey Box | Предполагает имитацию хакеров, располагающих информацией частично (например о диапазоне IP адресов, Web сайтах, физическом месторасположении, идентификаторах беспроводных сетей и т.д), а также возможно, доступом с низким уровнем привилегий в некоторые тестируемые системы. |
Данные модели определяют начальные знания о тестируемой системе у исполнителя теста. Стоит упомянуть, что большинство методологий рассматривают подход Black Box, как тестирование квалификации самого исполнителя теста. С нашей точки зрения данный подход просто удлиняет первую фазу теста – сбор сведений о целевых системах. Так что по сути заказчик косвенно платит за оценку квалификации самого аудитора.
2. Также определяется тип и количество тестируемых систем. Наиболее часто определяются следующие параметры для внешнего тестирования:
Тестирование периметра сети | Определяется количеством IP адресов. |
Тестирование WEB сайтов | Определяется количеством URL сайтов. |
Тестирование специализированных приложений | Например, приложение «Клиент-банк» или любое другое клиентское ПО, взаимодействующее с серверами компании. |
Тестирование сотрудников на устойчивость к методам социальной инженерии | Сюда входят попытки вишинга ( обзвон ключевых сотрудников с целью получения паролей), проведение фишинговых атак, использование вирусов для получения доступа к системам, поиск информации в мусоре компании, и другие методы. |
Физическое проникновение на территорию компании | Может включать взлом замков или проникновение обманом под видом обслуживающего персонала с целью получения информации, карточек и кодов доступа, ключей, ноутбуков, телефонов, паролей, закладки жучков, проникновения в серверную и т.д. |
Тестирование беспроводных сетей | Определяется количество точек доступа. Также возможна опция установки подставной точки доступа с целью перехвата трафика пользователей. |
На данном этапе можно завершить весь проект или продолжить pentest путем анализа внутренней сети (тут возможны только подходы белого или частично серого ящика). В таком случае имитируется атака со стороны инсайдера. Опции тестирования могут включать:
Тестирование внутреннего периметра сети. Полный тест на проникновение или же проведение автоматизированного сканирования уязвимостей внутренних ресурсов компании. Определяется количество IP адресов, веб-сайтов и приложений.
Анализ конфигураций сетевых устройств, приложений и серверов на соответствие стандартам безопасности. Производители, выпускающие оборудование и приложения, определяют собственные рекомендации по безопасности. Анализ проводится с целью выявления отклонений в рекомендациях.
Анализ кода веб-сайтов. Код проверяется на наличие уязвимостей типа SQL injection, command injection, file inclusion, DoS, наличие несанкционированных закладок, недостатков в архитектуре и др.
Анализ кода приложений. Код проверяется на наличие уязвимостей типа Buffer overflow, DoS, на наличие несанкционированных закладок, недостатков в архитектуре и др.
Аудит мобильных устройств. Анализ безопасности использования телефонов, смартфонов, планшетов, также устройств хранения данных, таких как USB, плееров и других мобильных устройств.
3. Также важно определить порядок предоставления отчетности. Квалифицированный аудитор сможет предоставить развернутую информацию о проделанной работе для менеджмента в понятной форме. Из наиболее целесообразных вариантов:
4. Необходимо также определить следующие организационные моменты:
Все мероприятия по тестированию проводятся только после подписания договора, а также соглашения о неразглашении с исполнителями. Исполнитель со своей стороны проводит внутреннюю подготовку к тесту: инструктаж персонала, организацию совместной работы, подготовку необходимого оборудования и ПО, каналов связи и прочее.
Первоочередной задачей аудиторов на данном этапе является сбор как можно большего количества информации о тестируемых системах и о сотрудниках компании. Зачастую уже на данном этапе возможно обнаружение критических уязвимостей, таких, как забытые или «бесхозные» сервисы, не требующие авторизации и дающие доступ во внутреннюю сеть, опубликованные конфиденциальные данные, пароли и другая критическая информация.
Поиск информации происходит в доступных источниках вручную, а также при помщи специализированных инструментов. В объем работ, как правило, входит поиск информации в таких источниках:
Как уже было сказано выше, подход «только сканирование уязвимостей» не учитывает всей информации, собранной на этапе разведки. Вооружившись же полным набором информации можно приступать к сканированию уязвимостей, что в дальнейшем даст более полную картину о возможных недостатках в защите.
В зависимости от выбранных систем на данном этапе проводится сканирование уязвимостей различными программами-сканерами. Специализация подобных сканеров может быть ориентирована на тестирование периметра сети, web-сайтов, отдельных приложений и сервисов, таких как базы данных, VPN-устройства, устройства IP-телефонии и прочих.
Важно отметить, что любой инструмент выдает определенное количество ложных срабатываний, таких как обнаружение ложной уязвимости или наоборот пропуск уязвимости, когда она действительно существует. Чтобы увеличить вероятность нахождения необходимо проводить сканирование двумя-тремя сканерами. Также для нахождения уязвимостей проводится анализ версий используемого ПО: часто не обновленное или устаревшее ПО имеет опубликованные уязвимости, не найденные ни одним из сканеров.
Найденные потенциальные уязвимости должны быть проверены вручную, чтобы отфильтровать все ложные срабатывания.
Для взлома уязвимых ИТ-систем используется различный специализированный инструментарий, експлойты в публичном доступе на хакерских сайтах. В некоторых случаях потребуется собственная разработка вирусов и екслойтов для проникновения внутрь сети.
Также отметим, что в хакерском подполье существует рынок продажи 0-day експлойтов и уязвимостей. Это те уязвимости, которые еще не были обнаружены и опубликованы производителем ПО. Теоретически возможны варианты покупки подобных експлойтов, но юридически подобную покупку совершить сложно, так как данные продукты продаются за наличные деньги или за безналичные переводы через популярные платежные системы без какой-либо документации, гарантий, лицензий.
Все вектора проникновения, включая социальную инженерию, физическое проникновение, беспроводные сети и другие атакуются на этом этапе и развиваются в дальнейшем до максимально возможного уровня доступа.
Методологии проведения тестирования на проникновение веб-приложений.
Одним из методов аудита веб-сайта является тестирование на проникновение BlackBox (BlackBox — «черный ящик»), при котором специалист располагает только общедоступной информацией о цели исследования.
В данном методе используется модель внешнего злоумышленника, мотивированного на взлом некого веб-сайта для извлечения коммерческой выгоды или из хулиганских побуждений. Об исследуемой системе обычно заранее ничего, кроме названия компании и адреса веб-сайта, неизвестно. В контексте данной статьи будет рассмотрено как поведение злоумышленника, так и пентестера, легитимность действий которого подтверждена заказчиком аудита. Подтверждение аудита может происходить разными способами — как информационным письмом с указанием объекта аудита (и исключений), так и с помощью специальных маркеров непосредственно на атакуемом сайте.
Для полной картины атаки на сайт и действий сотрудников служб ИТ/ИБ отделов крайне не рекомендуется ставить последних в известность. Этим заказчик может проверить готовность своих сотрудников к реагированию на инциденты ИБ.
Основные задачи тестирования на проникновение:
Основные задачи злоумышленника:
Несмотря на расхождение целей, большинство методов работы злоумышленника и пентестера совпадают. При атаке злоумышленник обычно не придает особого значения морально-этическим нормам, такая атака может привести к необратимым деструктивным последствиям. При аудите легитимным пентестером согласуются наличие резервных копий и риск деструктивных последствий сводится к минимальному (особенно если у заказчика есть возможность развернуть тестовый стенд).
Злоумышленники обычно идут по пути от простого к сложному: выявляют явные уязвимости с помощью популярных утилит и сканеров и пытаются эксплуатировать выявленные уязвимости. Параллельно могут проводить фишинговые атаки с рассылкой вредоносных файлов или ссылок. Основная цель — с минимальными усилиями получить необходимые данные.
Пентестеры обрабатывают все возможные уязвимости и векторы атак, в том числе с использованием социотехнических методов (если такое согласовано с заказчиком), но без вредоносных вложений. Дополнительно могут быть исследованы бизнес-процессы и манипулирование бизнес-логикой приложения.
Основные методы аудита похожи на действия злоумышленника и включают в себя:
Эти методы включают в себя следующие этапы:
Полученные векторы анализируются и проверяются, фиксируется время обнаружения, поскольку не исключены моменты обнаружения аномальной активности персоналом заказчика путем анализа, к примеру, access log и реализации мер по оперативному устранению уязвимости или атаки. Найденные формы авторизации или сервисы подвергаются т.н. bruteforce-атаке (подбор паролей).
В случае с пентестерами данные агрегируются в системы типа Dradis для анализа и оптимизации полученной информации. На основании полученных данных формируется отчет, распределенный по уязвимым сервисам, с детальным описанием уязвимостей, сценариями атаки, состоящими из нескольких векторов, оценкой рисков и рекомендациями по их устранению.
Только при полном и ответственном аудите заказчик получает максимально реалистичную картину зрелости системы
СТАНДАРТНЫЙ До 2-х рабочих дней |
ЭКСПЕРТНЫЙ До 10-ти рабочих дней |
Подтверждение легитимности.
Для исполнителя крайне важно иметь подтверждение законности проведения аудита безопасности — т.е. заказчик должен являться владельцем сайта. В любом другом случае, в том числе и при «свободном рисерче», когда энтузиасты исследуют чужие веб-проекты на наличие уязвимостей, действия атакующей стороны подпадают под 272 статью УК РФ. Что касается Bug-bounty программ — в описании обычно указано перечисление ресурсов и разрешенные действия. При коммерческом аудите заказчик обычно добавляет специализированные маркеры — подтверждение легитимности действий над сайтом; или же заверяет разрешение на проведение аудита документально.
Как итог — составляется договор на оказание услуг, содержащий:
По согласованию с Заказчиком дополнительно могут быть приведены графические и аудиовизуальные материалы для уточнения специфики обнаруженных уязвимостей.
Устранение обнаруженных уязвимостей осуществляется при тесном взаимодействии с ответственными представителями Исполнителя.