Тестирование на проникновение (сокр. ПенТестинг, от англ. Penetration Testing) – это процедура (попытка) оценки реальной защищенности информационной системы с использованием контролируемых и максимально безопасных для инфраструктуры и бизнес-процессов атак, а также выявление и попытки эксплуатации уязвимостей. Пентест позволяет предоставить детальную информацию о существующих проблемах безопасности, распланировать наиболее важные направления по улучшению реальной защищённости информационной системы. Иными словами это метод оценки безопасности информационной системы путем моделирования атаки злоумышленников. Пентестинг ведется с позиции потенциального атакующего и может включать в себя активное использование уязвимостей системы.
Пентест – одно из наиболее быстро развивающихся направлений в области информационной безопасности. Так, согласно прогнозу Orange Business Services и IDC по рынку корпоративных услуг безопасности в Российской Федерации, среднегодовой темп роста данной услуги достигнет 4,7% в год в ближайшие 5 лет. Аналогичная тенденция наблюдается за рубежом. Так, по данным британского агентства ITJobsWatch, рынок данной услуги за последние 3 года уже вырос более чем в 2 раза.
Пентест vs. аудит информационной безопасности.
Формально, тестирование на проникновение – один из элементов аудита защищенности информационной системы. В реальности, именно пентест позволяет оценить реальную защищенность IT-инфраструктуры от реальных атак потенциальных злоумышленников (и оценить зрелость IT-бизнес-процессов). Т.е. по факту – это возможность проверить, способна ли система защиты выявить и предотвратить попытку взлома информационной системы.
Однако, фраза «Мы вас попробуем взломать!» может испугать любого руководителя организации, т.к. сбой критичных сервисов, потеря времени на восстановление после взлома (отказа ПО и оборудования) может привести к многомиллионным убыткам.
Данное утверждение основывается на потенциальных рисках:
- технологических рисках – снижении производительности; потере и повреждении данных, раскрытии данных третьим лицам; отключении защиты от реальных атак;
- организационных рисках – потери репутации (особенно в случае, если пострадают данные третьих лиц), нарушении бизнес-процессов, вынужденном простое организации;
- правовых рисках – нарушении правовых обязательств перед заказчиками, контрагентами, преднамеренном совершении уголовно-наказуемых действий.
Но тестирование на проникновение отличается от действий хакера. Задача специалистов, выполняющих пентест – минимизация воздействия. Иногда до 30% уязвимостей при выявлении не проверяется в виду технических рисков нарушения работоспособности ИС. Полностью исключаются все возможные проверки, способные привести к отказу в обслуживании. Свои ограничения также накладывает необходимость соблюдения законодательства Российской Федерации.
Но самое главное – все действия заранее согласовываются. Выделяются ресурсы, которые подлежат проверке, определяется перечень, какие атаки можно и какие нельзя выполнять. У организации, проводящей тестирование на проникновение, возникает юридическая ответственность за все последствия тестирования.
Ответственность за свои действия – ключевое отличие специалиста по пентесту от хакера. Такой специалист – это этичный хакер (белый хакер, white hacker, white hat), цель которых –повысить защищенность анализируемых систем.
Не все пентест что зовётся «пентестом».
Не каждую услугу можно назвать «пентестом». В последнее время на рынке сложилась ситуация, что ряд вендоров программных продуктов и интеграторов предлагают в качестве пентеста отчеты сканеров уязвимостей. Иногда, даже не проводят ручную верификацию (проверку) найденных уязвимостей.
В результате, по сути, простая услуга продается под видом более дорогой. Полноценный пентест – это не только автоматизированное сканирование с использованием существующих сканеров уязвимостей (хотя это один из этапов тестирования) или проверка вручную на уязвимости, к примеру, веб-сайта; это скорее полноценной анализ IT-инфраструктуры на предмет защищенности. Важно не просто запустить сканер, важно понять, какие проблемы в текущей инфраструктуре могут быть и как ими может воспользоваться злоумышленник.
Вторым важным отличием тестирования на проникновение от простого сканирования является выдача рекомендаций по устранению обнаруженных уязвимостей. Важно не только выявить проблемы безопасности, но и решить (избавиться от них) их наиболее экономически эффективным способом.
Третьей особенностью является то, что пентест включает и анализ инфраструктуры – недостатков в топологии сети, настройках оборудования (в т.ч. и WiFi-оборудования), мобильных устройств и мобильных приложений, и других потенциальных точек воздействия.
Пентест как он есть.
Тестирование на проникновение предполагает 2 направления работ:
Независимо от вида пентеста, порядок работ является достаточно типовым и включает в себя 4 этапа. При этом выявляемые уязвимости можно разделить на 4 класса:
- организационные уязвимости и недостатки в процессах обеспечения ИБ;
- уязвимости общесистемного программного обеспечения;
- уязвимости прикладного программного обеспечения;
- уязвимости сетевой инфраструктуры.
Как при проведении, так и при планировании работа по пентесту рекомендуется руководствоваться методиками по их проведению. Наиболее полными являются методологии PTES (Penetration Testing Execution Standard), OWASP (Open Web Application Security Project), OSSTMM (Open Source Security Testing Methodology Manual). Однако, никто не запрещает обратиться и к другим стандартам и методологиям, к примеру, к NIST SP 800-115 (Technical Guide to Information Security Testing and Assessment) или к ISSAF (Information Systems Security Assessment Framework). Отдельные требования к пентесту представлены и в отраслевых стандартах, к примеру, PCI DSS.
При выявлении уязвимостей и подготовке отчета рекомендуется пользоваться базами известных уязвимостей (CVE, OSVDB, бюллетени безопасности Microsoft) или к описанию слабостей программного обеспечения (CWE), а при оценке выявленных уязвимостей обращаться к базам NVD или метрикам CVSS.
Такой подход позволяет повысить качество отчета, а соответственно, корректней предложить методы исправления выявленных уязвимостей.
Не бойтесь проводить тестирование своих ресурсов и инфраструктуры – это один из наиболее эффективных и безопасных способ выявить проблемы в защищенности вашей корпоративной информационной системы. И помните, защищенность всей информационной системы определяется защищённостью самого слабого звена.