Пентест – одно из наиболее быстро развивающихся направлений в области информационной безопасности. Так, согласно
Пентест vs. аудит информационной безопасности.
Формально, тестирование на проникновение – один из элементов аудита защищенности информационной системы. В реальности, именно пентест позволяет оценить реальную защищенность IT-инфраструктуры от реальных атак потенциальных злоумышленников (и оценить зрелость IT-бизнес-процессов). Т.е. по факту – это возможность проверить, способна ли система защиты выявить и предотвратить попытку взлома информационной системы.
Однако, фраза «Мы вас попробуем взломать!» может испугать любого руководителя организации, т.к. сбой критичных сервисов, потеря времени на восстановление после взлома (отказа ПО и оборудования) может привести к многомиллионным убыткам.
Данное утверждение основывается на
- технологических рисках – снижении производительности; потере и повреждении данных, раскрытии данных третьим лицам; отключении защиты от реальных атак;
- организационных рисках – потери репутации (особенно в случае, если пострадают данные третьих лиц), нарушении бизнес-процессов, вынужденном простое организации;
- правовых рисках – нарушении правовых обязательств перед заказчиками, контрагентами, преднамеренном совершении уголовно-наказуемых действий.
Но самое главное – все действия заранее согласовываются. Выделяются ресурсы, которые подлежат проверке, определяется перечень, какие атаки можно и какие нельзя выполнять. У организации, проводящей тестирование на проникновение, возникает юридическая ответственность за все последствия тестирования.
Ответственность за свои действия – ключевое отличие специалиста по пентесту от хакера. Такой специалист – это этичный хакер (белый хакер, white hacker, white hat), цель которых –повысить защищенность анализируемых систем.
Не все пентест что зовётся «пентестом».
Не каждую услугу можно назвать «пентестом». В последнее время на рынке сложилась ситуация, что ряд вендоров программных продуктов и интеграторов предлагают в качестве пентеста отчеты сканеров уязвимостей. Иногда, даже не проводят ручную верификацию (проверку) найденных уязвимостей.
В результате, по сути, простая услуга продается под видом более дорогой. Полноценный пентест – это не только автоматизированное сканирование с использованием существующих сканеров уязвимостей (хотя это один из этапов тестирования) или проверка вручную на уязвимости, к примеру, веб-сайта; это скорее полноценной анализ IT-инфраструктуры на предмет защищенности. Важно не просто запустить сканер, важно понять, какие проблемы в текущей инфраструктуре могут быть и как ими может воспользоваться злоумышленник.
Вторым важным отличием тестирования на проникновение от простого сканирования является выдача рекомендаций по устранению обнаруженных уязвимостей. Важно не только выявить проблемы безопасности, но и решить (избавиться от них) их наиболее экономически эффективным способом.
Третьей особенностью является то, что пентест включает и анализ инфраструктуры – недостатков в топологии сети, настройках оборудования (в т.ч. и WiFi-оборудования), мобильных устройств и мобильных приложений, и других потенциальных точек воздействия.
Пентест как он есть.
Тестирование на проникновение предполагает 2 направления работ:
- организационные уязвимости и недостатки в процессах обеспечения ИБ;
- уязвимости общесистемного программного обеспечения;
- уязвимости прикладного программного обеспечения;
- уязвимости сетевой инфраструктуры.

Как при проведении, так и при планировании работа по пентесту рекомендуется руководствоваться методиками по их проведению. Наиболее полными являются методологии 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.
Такой подход позволяет повысить качество отчета, а соответственно, корректней предложить методы исправления выявленных уязвимостей.
Не бойтесь проводить тестирование своих ресурсов и инфраструктуры – это один из наиболее эффективных и безопасных способ выявить проблемы в защищенности вашей корпоративной информационной системы. И помните, защищенность всей информационной системы определяется защищённостью самого слабого звена.