Тестирование на проникновение или Этичный хакинг
В мире компьютерной безопасности нет более интересной и в то же время сложной работы, чем работа профессионального тестера на проникновение - или этического хакера, как еще называют эту деятельность. Пентестерам и этическим хакерам в основном платят за (легальный) взлом компьютерной сети (или даже отдельных устройств).
В тесте на проникновение ИТ-системы или сети подвергаются всестороннему тестированию, предназначенному для определения их чувствительности к атакам. Пентест использует методы и приемы, которые используются настоящими злоумышленниками или хакерами.
Пентестер находится в довольно уникальном профессиональном положении: если он успешно проделает путь через меры безопасности, клиент получает шанс закрыть лазейки до того, как возникнет реальная опасность. Если он ничего не находит, клиент становится еще счастливее, потому что с этого момента он может рекламировать, что даже платным хакерам не удавалось скомпрометировать его системы.
С другой стороны, это не означает, что работа этичного хакера легка. Напротив. Вам не нужен IQ гения для работы в качестве пентестера, но вы должны быть готовы к, казалось бы, непреодолимым препятствиям в различных сценариях. Однако, если вы всегда в курсе последних технологий и любите идти на компромисс, профессиональный взлом может стать вашей работой мечты.
Как мы уже выяснили, тест на проникновение является частью анализа уязвимости ИТ-систем и предназначен для проверки их незащищенность перед хакерскими атаками.
С помощью теста на проникновение, часто называемого пентестом, ИТ-специалисты пытаются определить чувствительность сетей или ИТ-систем к попыткам взлома и манипуляций с помощью целевых атак. Они используют методы и приемы, аналогичные тем, которые используются хакерами или взломщиками для взлома системы без авторизации.
Пентест может выявить слабые места и лучше оценить потенциальные риски. В течение всего теста на проникновение все выполненные меры точно записываются. В окончательном отчете перечисляются выявленные слабые места и возможные решения для повышения уровня ИТ-безопасности. Устранение слабых мест и внедрение мер по усилению защиты ИТ не является частью теста на проникновение. Объем проводимых испытаний зависит от потенциальной опасности системы, приложения или сети. Системы, подверженные высоким рискам, такие как общедоступные веб-серверы, обычно подвергаются более обширным тестам, чем внутренние приложения.
Цели теста на проникновение
Основная цель пентеста – выявить слабые места в сетях и компьютерах на техническом и организационном уровне и зафиксировать их в подробном отчете. Однако ответственность за устранение обнаруженных слабых мест лежит на клиенте или операторе исследуемых ИТ-систем. Если рекомендованные меры по устранению выявленных слабых мест будут выполнены, безопасность исследуемых систем может быть улучшена. Возможные корректирующие меры могут включать обучение персонала, увеличение числа сотрудников, отключение системы или применение исправлений и обновлений. Поскольку тест на проникновение – это не постоянный мониторинг ИТ, его можно рассматривать как своего рода снимок состояния безопасности. Часто тесты на проникновение с помощью социальной инженерии являются частью выполняемых тестов. В этом случае предпринимаются попытки получить информацию с помощью сотрудников или варианты получения доступа с помощью социальной инженерии. Цель тестов – выявить внутренние слабые места в компании, которые можно устранить, например, путем обучения и информирования сотрудников.
Правовые аспекты тестов на проникновение
Прежде чем можно будет проводить тесты на проникновение, организация, проводящая тест, должна получить согласие тестируемой организации. Без такого соглашения пентесты являются незаконными и могут рассматриваться как уголовное преступление. Третьи стороны не могут тестировать ИТ-системы или сети. Перед тестом на проникновение клиент должен четко уточнить, к каким компонентам это относится. Различные используемые ИТ-сервисы, облачные сервисы и договорные отношения на использование аппаратного и программного обеспечения могут значительно затруднить тестирование.
Различие терминов: анализ слабых мест, сканирование уязвимостей/безопасности и тест на проникновение
Анализ уязвимостей – это общий термин, который может включать сканирование уязвимостей или безопасности, а также тесты на проникновение. В отличие от теста на проникновение, выполнение сканирования уязвимостей или безопасности автоматизировано. Системы проверяются на наличие известных проблем и пробелов в безопасности с помощью автоматически запускаемых программ.
С другой стороны, тест на проникновение практически не может быть автоматизирован и проводится после обширного, часто проводимого вручную сбора информации. Он подбирается индивидуально и согласовывается с тестируемой системой. Планирование, внедрение и выбор используемых инструментов намного сложнее, чем в других тестах уязвимостей. Тест на проникновение позволяет выявить ранее неизвестные бреши в безопасности, поскольку используются специальные средства взлома и атак, выполняемые вручную. Тест на проникновение следует понимать, как эмпирическую часть общего анализа слабых мест.
Вот как работает этичный взлом
Мы покажем вам, как работают этичные хакеры, в пять шагов:
1. Определение цели и объема
· Для каждого профессионального тестера на проникновение необходима полная документация о сфере ответственности и целях. При определении первого этический хакер должен задать себе следующие вопросы:
· Какие компьютерные активы попадают в сферу ответственности?
· Включает ли это все компьютеры, или это касается лишь конкретных приложений, операционных систем, мобильных устройств или облачных сервисов?
· Включает ли зона ответственности только определенный тип актива, например веб-сервер или SQL-сервер, и должны ли также быть включены сетевые устройства?
· Можно ли использовать автоматическое сканирование уязвимостей в ходе пентеста?
· Разрешена ли социальная инженерия? И если да, то какими методами и в какой степени?
· В какой период времени должен проходить тест на проникновение?
· Существуют ли определенные дни или время суток, которые не подходят для пентеста? (Например, потому что в противном случае существует риск сбоев в обслуживании)
· Не должно ли быть прерывания во время пентеста или атака должна быть максимально достоверной?
· Должен ли это быть «черный ящик» (пентестер не получает никакой внутренней информации о задействованных системах и приложениях) или «белый ящик» (все внутренние знания о системах, подлежащих атаке, и соответствующий исходный код доступны)?
· Следует ли задействовать команду ИТ-безопасности или нужно проверить их реакцию (или отсутствие реакции)?
· Следует ли использовать самый бесшумный подход при взломе систем? Или следует провести целенаправленную проверку, чтобы определить, эффективны ли существующие меры обнаружения и предотвращения?
Что касается целей теста на проникновение, этические хакеры должны спросить:
- Это просто демонстрация того, что я могу взломать сеть?
- Является ли отказ в обслуживании одной из целей роли?
- Следует ли скомпрометировать доступ к определенному компьютеру и получить доступ к конкретным записям данных или достаточно получения привилегированного доступа?
- Какие результаты следует включить в окончательную документацию теста на проникновение? Следует ли упоминать все использованные методы взлома (удачные и неудачные)? Или достаточно самых важных? Насколько глубоко я должен вдаваться в детали? Нужны ли мне скриншоты или снимки для документации?
2. Выбор подходящих инструментов для пентестинга.
Тестеры на проникновение и этичные хакеры обычно используют стандартный набор хакерских инструментов. В зависимости от приложения они также расширяют свое портфолио различными другими программными инструментами. Например, если тестировщик на проникновение должен атаковать базу данных SQL, но не имеет опыта работы с ней, он опробует различные инструменты атаки SQL перед тестом.
Для многих этичных хакеров отправной точкой является дистрибутив Linux, специально разработанный для тестирования на проникновение. За прошедшие годы появилось несколько таких дистрибутивов – тем временем, Kali Linux зарекомендовала себя в среде профессионального этического взлома. Здесь можно найти тысячи инструментов взлома, включая стандартные инструменты, используемые многими профессионалами.
Наиболее важным критерием для инструментов взлома является (помимо убедительности качества и пригодности для предполагаемых целей) отсутствие вредоносных программ или другого вредоносного кода, с помощью которого работа хакер может быть нарушена. К сожалению, большинство хакерских инструментов в Интернете – особенно те, которые находятся в свободном доступе, содержат вредоносные программы и недокументированные бэкдоры. Самым распространенным и популярным инструментам (например, Nmap) можно доверять, но, конечно же, лучшие пентестеры создают свои собственные инструменты взлома. Они всегда верны девизу: «Никому не верь».
3. «Знакомство» с целью пентестинга.
Каждый профессионал в области этичного взлома начинает свою работу с того, что узнает о своей цели как можно больше. Это включает, например, информацию об IP-адресе, операционной системе, приложениях и номерах версий, статусах исправлений, сетевых портах и всех других данных, которые могут оказаться полезными для взлома.
4. Запуск эксплойта.
Это то, за что пентестер получает свои деньги: успешный взлом системы. На основе информации, полученной на третьем этапе, этичный хакер разрабатывает эксплойт для выявленной уязвимости и, таким образом, получает несанкционированный доступ (или отказ в обслуживании, если это была цель). Если пентестеру не удается скомпрометировать определенный актив, он должен сосредоточиться на других. Однако обычно профессионалы быстро находят то, что им нужно. «Эксплойтная часть» менее сложна, чем думает большинство людей. Необязательно быть гением, чтобы быть хорошим пентестером, но необходимы два качества: терпение и настойчивость.
5. Документирование результатов.
И последнее, но не менее важное: этического хакера ждет документация: предпринятые меры, выводы и заключения должны, в зависимости от предыдущего соглашения, быть задокументированы более или менее подробно.
Что должен уметь пентестер
Как и любая другая дисциплина ИТ-безопасности, профессиональное тестирование на проникновение и этический взлом постоянно развиваются. Взломщики-одиночки, умеющие хвастаться своим техническим превосходством, но которым не хватает профессионализма и изощренности, больше не пользуются большим спросом у компаний. Вместо этого компании ищут полный пакет профессиональных хакеров:
Они должны располагать лучшими наборами инструментов. Программное обеспечение для тестирования на проникновение или уязвимости всегда было частью набора инструментов этичного хакера. Сейчас есть программы, которые значительно упрощают работу пентестеров - как, например, и в случае с хакерами-преступниками.
Примером такого инструмента является программное обеспечение с открытым исходным кодом Bloodhound. Это позволяет злоумышленникам записывать отношения между разными компьютерами в сети Active Directory через графический интерфейс пользователя. После ввода желаемого пункта назначения программное обеспечение – подобно системе навигации, показывает различные (взломанные) пути к пункту назначения. Также могут быть обнаружены пути, которые ранее не были видны. Большую часть процесса можно автоматизировать с помощью нескольких скриптов.
Отчеты. Чтобы привлечь совет директоров к инвестициям в ИТ-безопасность, пентестерам ранее было поручено либо взломать его, либо предоставить исчерпывающую документацию. Сегодня руководство ожидает презентаций или видео, которые предоставят информацию о том, как прошли взломы в их компании. Впоследствии, материалы могут быть использованы для информирования других коллег-менеджеров и для обучения сотрудников.
Управление рисками. Недостаточно представить список слабых мест, обнаруженных в компании. Сегодня этические хакеры и пентестеры должны работать с ИТ-менеджментом, чтобы выявлять самые большие угрозы и уязвимости. Эксперты по пентесту теперь тоже входят в состав отделов управления рисками, ведь их работа также эффективно помогает минимизировать риски. Их задача – информировать руководство и ИТ-отдел о том, что, скорее всего, произойдет в будущем.