Многие практики в ИТ возникли как адаптация подходов, появившихся еще в индустриальную эпоху. Например, производители сейфов нанимали «медвежатников», чтобы найти слабости своих замков, а сейчас компании обращаются к хакерам для выявления уязвимостей в корпоративной сети.
Появилось целое направление – этический хакинг, в рамках которого выполняется тестирование на проникновение сторонними специалистами. «Белые хакеры» проводят серию тестов на проникновение (penetration testing, или просто pentest) в сеть организации, имитируя различные атаки и действия злоумышленника. Итогом становится отчёт, содержащий подробные сведения о найденных проблемах с защитой и рекомендации по их устранению.
Зачем нужны тесты на проникновение?
Penetration testing – часть комплексного аудита информационной безопасности. В ходе аудита анализируется большая часть организационных и технических мер по обеспечению информационной безопасности. Проверяются настройки систем защиты, выявляется наличие уязвимостей в прошивках оборудования, системном ПО и пользовательском софте, а также изучается реакция сотрудников на традиционные уловки, включая таргетированный фишинг, а иногда и физический доступ неавторизованного персонала. Вместе эти проверки позволяют выявить слабые места в системе информационной безопасности предприятия.
Внешнее тестирование компьютерных систем на проникновение убивает сразу двух зайцев. Во-первых, такая независимая оценка позволяет избежать финансовых и репутационных потерь компаниям. Эта услуга особенно востребована в организациях, которые уже столкнулись с инцидентами в сфере ИБ.
Во-вторых, отдельные виды деятельности требуют подтверждения соответствия определённым стандартам безопасности и законодательным актам. Например, c 2006 года все российские компании, работающие с зарубежной платёжной сетью VisaNet, обязаны соблюдать стандарт PCI DSS, который предусматривает регулярные пентесты.
Все операторы платежных систем, действующие на территории Российской Федерации, руководствуются Положением Банка России от 9 июня 2012 г. № 382-П «О требованиях к обеспечению защиты информации при осуществлении переводов денежных средств…».
Для отечественных провайдеров виртуальных серверов и разработчиков ПО с изоляцией кода в виртуальной среде предусмотрена сертификация по ГОСТ Р 56938-2016 «Защита информации при использовании технологий виртуализации».
Подобных нормативов с каждым годом появляется всё больше, и каждый из них требует проводить тестирование на проникновение. Сейчас для компаний разного профиля разработан внушительный пакет специфических требований, многие из которых штатные специалисты выполняют формально. Обнаружить эти недостатки как раз помогает независимая экспертиза.
Как выполняется пентест?
Чаще всего пентест проводится сторонней организацией для исключения сговора собственных сотрудников и «игры в поддавки». Процесс тестирования на проникновение имитирует реальную хакерскую атаку и включает в себя несколько этапов:
- Сбор информации о цели
- Применение социального инжиниринга
- Определение точек входа в сеть
- Обнаружение и использование уязвимостей
- Повышение привилегий в атакуемой системе
- Составление отчета и рекомендаций
Обычно тестирование на наличие уязвимостей начинается с внешней сети, а потом тестируются внутренние сервисы.
С одной стороны, пентесты содержат много типовых процедур, которые можно автоматизировать для ускорения. С другой – у любого заказчика есть свои особенности, которые приходится учитывать, проводя ряд проверок вручную.
Автоматизированный метод хорош для поиска типовых проблем: известных уязвимостей, открытых портов, потенциально опасных и вредоносных программ, некорректных настроек доступа и включённых по умолчанию сервисов, которые не задействованы в реальных бизнес-процессах. Словом, для поиска потенциальных векторов атаки.
Порой у руководителей возникает соблазн отказаться от полноценного пентеста и самостоятельно использовать сканеры уязвимостей. Проблема в том, что их настройка требует соответствующей квалификации, а результаты должны проходить верификацию экспертами. Без неё они будут малоинформативны и могут содержать ложные срабатывания. Запуск сканера в дефолтных настройках и вовсе создаст ложное чувство защищённости.
Поэтому на втором этапе проверки обычно применяется ручное тестирование. Оно опирается на профессиональный опыт и позволяет найти реальные проблемы из длинного списка обнаруженных недочётов.
После проведения комплекса тестов составляется подробный отчет с рекомендациями по устранению брешей в безопасности. По договоренности проверяется соответствие различным стандартам и присваивается класс защищенности.
Методики тестирования на проникновение
Профессиональные тестировщики придерживаются специальных методик и стандартов, принятых в сфере информационной безопасности. Можно выделить 5 самых известных и авторитетных: OSSTMM, NIST SP800-115, OWASP, ISSAF и PTES. Для проведения пентестов можно использовать одну из методологий, однако опытные компании-аудиторы применяют сразу несколько. Выбор зависит от конкретной организации, ее бизнес-процессов и процессов информационной безопасности.
Рассмотрим каждую из методологий подробнее:
OSSTMM
The Open Source Security Testing Methodology Manual (OSSTMM) — один из самых популярных стандартов, разработанный Institute for Security and Open Methodologies (ISECOM). Это универсальный стандарт, потому что может быть базовым руководством при проведении тестирования на проникновение.
Методология предлагает пять основных каналов (направлений) для тестирования операционной безопасности:
- Безопасность человека. Безопасность, которая напрямую зависит от физического, либо психологического взаимодействия людей.
- Физическая безопасность. Любой материальный (не электронный) элемент безопасности, работа которого подразумевает физическое или электромеханическое воздействие.
- Беспроводная связь. Безопасность всех беспроводных средств связи, от Wi-Fi до инфракрасных датчиков.
- Телекоммуникации. В основном это касается телефонии, а также передачи служебной информации по телефонным линиям связи.
- Сети передачи данных. Безопасность внутренних и внешних корпоративных сетей, интернет-подключений и сетевого оборудования.
NIST SP800-115
NIST Special Publications 800 Series — стандарт информационной безопасности, разработанный National Institute of Standards and Technology. Это техническое руководство, которое можно применять для проверки уровня информационной безопасности организаций из различных сфер.
В подразделе стандарта SP 800-115 описаны технические вопросы оценки уровня информационной безопасности, порядок проведения тестирования на проникновение, приведены рекомендации по анализу результатов и разработке мер по снижению рисков. Последняя версия документа уделяет большое внимание снижению рисков от кибератак.
NIST SP800-115 — одна из обязательных методологий проведения пентеста, которую используют профессиональные аудиторские компании.
OWASP
Open Web Application Security Project (OWASP) — открытое интернет-сообщество, которое предлагает самую исчерпывающую методологию для тестирования приложений, сайтов и API. Документация OWASP полезна любой ИТ-компании, которая заинтересована в создании безопасного программного обеспечения.
Одно из главных преимуществ OWASP в том, что методология описывает тестирование на каждой стадии жизненного цикла разработки приложений: определение требований, проектирование, разработка, внедрение и поддержка. При этом тестируются не только сами приложения, но и технологии, процессы, а также люди. Второе важное преимущество: OWASP могут применять как пентестеры, так и веб-разработчики.
ISSAF
Information System Security Assessment Framework (ISSAF) разработан Open Information Systems Security Group (OISSG). Документ охватывает большое количество вопросов, связанных с информационной безопасностью. В ISSAF приведены подробные рекомендации по тестированию на проникновение. Описаны утилиты, которыми можно провести пентест, указания по их использованию, а также подробно разъяснено, какие результаты и при каких параметрах можно получить в результате тестирования.
ISSAF считается достаточно сложной и подробной методологией, которую можно адаптировать для проверки информационной безопасности любой организации. Каждый этап тестирования согласно ISSAF тщательно документируется. Также даны рекомендации по использованию конкретных инструментов на каждом из этапов.
PTES
Penetration Testing Methodologies and Standards (PTES) предлагает рекомендации для проведения базового пентеста, а также несколько расширенных вариантов тестирования, для организаций с повышенными требованиями к информационной безопасности. Одно из преимуществ PTES в том, что он дает подробное описание целей и ожиданий от пентеста.
Основные этапы PTES:
- Обследование (Intelligence Gathering)
- Моделирование угроз
- Анализ уязвимостей
- Эксплуатация уязвимости
- Составление отчета
В PTES также содержится руководство по выполнению повторного, или постэксплуатационного, тестирования. Это помогает определить, насколько эффективно были закрыты выявленные уязвимости.
Как часто стоит проводить тестирование на проникновение?
Сфера информационных технологий очень динамична: обновляется софт и железо, подключаются удаленные сервисы, приходят новые сотрудники, меняется структура компании. Результаты тестов на проникновение через какое-то время устаревают, и их нужно проводить заново.
Большинство отраслевых стандартов указывает минимальную частоту выполнения пентестов. Например, PCI DSS регламентирует их проведение каждые полгода. Помимо периодических проверок, тесты на проникновение должны выполняться повторно после любых значимых изменений в ИТ-инфраструктуре. Изменилась топология сети? Перешли на оборудование другого вендора? Мигрировали на новую ОС? Подключили облачные услуги? Всё это – новые потенциальные угрозы, а значит и повод заново пройти тестирование.
Отдельным этапом тестирования на проникновение является контроль уровня осведомленности сотрудников об угрозах в сфере ИБ. Им присылают фишинговые письма, они посещают заражённые сайты или устанавливают программы с троянами на служебный компьютер. Иногда злоумышленникам не обязательно напрямую взламывать админа, чтобы получить контроль над сетью. Точкой входа может стать компьютер секретарши или общий сетевой ресурс персонала. Поэтому обновление кадрового состава – тоже стимул для повторного пентеста.
Каждый новый инцидент в сфере информационной безопасности – это повод провести внеочередной пентест, однако принимать такое решение лучше после тщательного анализа ситуации. Одно дело – вы действительно столкнулись с новым вектором атаки, и другое – сотрудник проявил халатность, проигнорировав внутренние правила. В первом случае нужна новая экспертная оценка уровня защищенности, а во втором достаточно административных мер.
Статистика FireEye за 2018 год свидетельствует о том, что 64% организаций повторно атакуются в течение 19 месяцев после инцидента и комплекса мер по устранению его последствий.
Выводы
В последние годы тесты на проникновение стали частью стандартной процедуры проверки уровня информационной безопасности организаций. Они должны выполняться в разном объёме и иметь свою специфику. Периодичность их проведения и различные особенности регламентируют отраслевые стандарты, однако помимо них есть ряд ситуаций, когда целесообразно выполнять внеплановую проверку. Пентест позволяет сэкономить за счет оптимизации расходов на ИБ. Он выявляет реальные проблемы и помогает построить эффективную стратегию по их устранению.