Пентестинг — это нечто большее, чем аудит безопасности, который, по сути, является его составной частью. Он отличается от аудита тем, что последний дает лишь общее представление о безопасности информационной системы (ИС).
С другой стороны, тестирование на проникновение используется для оценки возможности использования каждой из уязвимостей, которые были бы обнаружены в ходе аудита безопасности или сканирования. Это необходимо для укрепления ИТ-безопасности компании против атак. Именно поэтому пентестеры (аудиторы) особенно популярны и востребованы в компаниях.
Пентестинг: принцип и истоки
Компьютерные атаки представляют реальную опасность для компаний. Они позволяют злоумышленникам красть и присваивать информацию, чтобы обмануть своих жертв или уничтожить их ИБ. Методы атак хакеров становятся все более изощренными. Согласно отчету IBM X-Force Threat Intelligence Index 2020, в 60% кибер-атак используются украденные учетные данные или уязвимости программного обеспечения, обнаруженные заранее. Тестирование помогает защититься от различных видов вторжения в ИБ.
В сфере кибербезопасности тестирование на проникновение является крайне важным мероприятием, поскольку оно помогает предотвратить кражу данных. Хакеры используют входные и выходные данные для взлома ИБ. Цель пентестинга — смоделировать действия злоумышленника, чтобы выяснить, где кроются сбои и как их устранить. Специалисты по кибербезопасности, освоившие пентестинг, пользуются большим спросом в промышленности, транснациональных корпорациях, крупных группах и т.д.
На протяжении нескольких десятилетий тестирование на проникновение доказывало свою незаменимость для обеспечения безопасности информационных систем. Истоки этой техники восходят к конференции, организованной американской компанией по разработке программного обеспечения System Development Corporation (SDC) в июне 1965 года. Конференция была созвана для решения проблемы продолжающегося компьютерного кризиса в Соединенных Штатах.При этом агент SDC проник в систему компании.
Агент обошел структуру, защиту компьютера AN/FSQ-32 (построенного компанией IBM), а также все дополнительные средства защиты. В то время существовало только две модели этого компьютера, и одна из них использовалась Центральным разведывательным управлением. В 1967 году слово «проникновение» было выбрано для определения нарушения системы безопасности. Правительство США включилось в работу компьютерных специалистов и сформировало группы для изучения проникновений. Позже, в 1970-х годах, для обозначения проникновения в компьютеры было придумано слово «пентестинг».
Различные виды пентестов
Тестирование на проникновение проводится на различных объектах. Оно классифицируется на несколько типов. В частности, существуют тесты на:
- сетевые услуги;
- веб-приложения;
- социальную инженерию;
- беспроводные сети.
Проверка сетевых служб заключается в проведении исследования под названием Stafeful для анализа конфигурации брандмауэра. Его цель — обнаружить уязвимости в сетевых службах, которые ослабляют безопасность системы. Что касается тестирования веб-приложений, то оно позволяет узнать, подвергается ли страница сайта атаке, и определить причину, если таковая имеется. Что касается пентестинга социальной инженерии, то это анализ, который заключается в определении всех точек доступа к системе и укреплении их против вторжений.
Тестирование на проникновение в беспроводные сети обеспечивает глубокий анализ беспроводных сетей. Этот анализ заключается в изучении сетевых протоколов и их точек доступа, а также разрешений на управление активами. Существуют и другие виды пентестов, такие как анализ программного обеспечения, анализ веб-браузера и анализ содержимого сайта.
Благодаря обучению пентестингу можно приобрести необходимые навыки для выполнения всех основных типов тестов. Будучи объектами хакерских атак, компании определенного размера обычно нуждаются в профессионалах, хорошо разбирающихся в тестировании на проникновение. Для людей, хорошо обученных этой технике, существует множество возможностей трудоустройства.
Методология пентестинга
Тестирование на проникновение — это техника, которая проводится в соответствии с методологией, не установленной строго, но основные положения которой единодушно приняты профессионалами. Методология состоит из нескольких этапов.
-
Сбор данных
Первым шагом в пентестинге является сбор данных о цели. В зависимости от характера теста источники информации могут быть разными. В зависимости от случая могут быть использованы внешние источники, доступные всем пользователям (поисковые системы, социальные сети, служба доменных имен). Компания, проходящая проверку, может сама предоставить информацию аудитору или пентестеру.
-
Составление карты
Этап картирования позволяет провести инвентаризацию активов целевой информационной системы. На этом этапе пентестер определяет открытые порты и идентифицирует опубликованные сервисы. Картирование позволяет определить критические элементы и сосредоточиться на них.
-
Поиск уязвимостей
Третьим этапом является анализ слабых мест систем, сайтов и приложений на основе собранных данных. Цель — найти уязвимости ИБ. Специалист, ответственный за проведение пентестинга, выбирает инструмент для использования в зависимости от цели. После обнаружения уязвимостей рекомендуется проанализировать их вручную.
-
Эксплуатация
Предыдущие шаги позволяют пентестеру подготовить почву для фактического вторжения. Аудитор пытается проникнуть в систему через каждую обнаруженную уязвимость. Он адаптирует эксплойты или POC (Proof Of Concept) к инфраструктуре компании-клиента.
-
Повышение привилегий
После устранения неполадок специалист имеет право заменить системного администратора. Таким образом, он может выполнять всевозможные задачи, которые обычно входят в обязанности администратора. Например, он может получить доступ к конфиденциальным файлам и данным. Он должен быть осторожен и стереть все следы своего вторжения после выполнения задания. Чтобы легко и незаметно войти в систему под именем администратора, необходимо использовать бэкдор.
-
Распространение
Этап распространения позволяет определить масштаб вторжения. Операция заключается в распространении компрометации компьютера на другие устройства и серверы. Это позволяет изучить все возможности доступа к конфиденциальным данным компании во время возможной атаки.
-
Очистка
После проведения пентестинга необходимо выполнить операцию очистки, чтобы вернуть ИБ клиенту в исходном состоянии. Пентестер должен удалить доказательства своего действия на ИБ. Имеются в виду не следы в журналах, а скорее бэкдоры, веб-шеллы и учетные записи.
-
Отчетность
Последним этапом пентестинга является представление специалистом подробного отчета клиенту. В письменном документе излагается использованная методология, обнаруженные уязвимости ИБ и план действий. Рекомендации в плане действий должны сопровождаться графиком. План действий должен учитывать окупаемость инвестиций с точки зрения безопасности. Для этого пентестер оценивает степень уязвимости и стоимость решения для ее предотвращения. Применение методологии изучается в ходе учебного курса по пентестингу, проводимого специализированными организациями.