Wednesday, May 20, 2015

Пентесты на рынке

Почему-то снова в Сети стали вспоминать про пентесты. Какое-то время назад я тоже об этом много думал. Как ни странно, мое мнение на этот счет не изменилось и к написанному мне особенно добавить нечего (обычно, с годами мое профессиональное мнение изменяется, - и это мне сильно греет душу, ибо дает основания считать, что я развиваюсь, эволюционирую....), но все же хочется прояснить ряд моментов, поэтому еще один пост.

Как я отмечал 4 года назад у пентеста и аудита соответствия разные цели, соответственно, разумно их применять для решения разных задач. Во-первых, я вижу мало смысла в пентесте коммерческого продукта: зачем мне финансировать исследования безопасности, скажем, Microsoft, - достаточно того, что я честно купил их продукты и исправно плачу за поддержку!
Во-вторых, между обнаружением уязвимости и ее успешной эксплуатацией - огромная разница, стоящая подчас колоссальных ресурсов. Отчасти, именно для того, чтобы хоть как-то адресовать эти ресурсы, товарищи из Microsoft придумали свой индекс эксплуатируемости.
В-третьих, я склонен считать пентесты продуктом, выходящим за рамки умения пользоваться готовыми инструментами, так как для последних есть специальное название, да и я сам так умею :). Я в понятие "пентест" вкладываю понятие "исследование". Именно это мне дает надежду считать, что когда я наразрабатываю кучу софта, понастрою систем, где заказчиком, архитектором и исполнителем работ буду я сам, найдутся реальные исследователи, способные обнаружить уязвимости в моем творении, исследовать вопрос их эксплуатируемости и довести эту эксплуатацию, возможно, с моей помощью, до реального бизнес-влияния, которое докажет не только мне самому, но моему топ-менедженту необходимость как-то адресовать проблемы с безопасностью. Этот абзац очень важен, поэтому я скомпилирую его в дайджест: есть 3 уровня результата аудита: 1-ый - только обнаружить уязвимость; 2-ой - исследовать ее эксплуатируемость, проэксплуатировать; 3-ий - сделать из этой эксплуатации бизнес-кейс, поднять эксплуатацию до реального профита для атакующего\ущерба для бизнеса. Так вот, для заказчика важен результат именно третьего уровня.

В своих последних постах на эту тему коллеги пишут, что пентест - стандартная работа, типа приходят парни со скриптами, за полчаса находят непатченную рабочую станцию, получают на ней локального админа, ждут пока там появится админ домена, перехватывают его пароль/хеш, делают учетку в Enterprise Admins и рапортуют об успехе. Я немного огорчился, увидев как в твиттере ребята, специализирующиеся именно на пентестах, подхватили, что пентест - стандартная работа. Не, мне не нужна стандартная работа, - работу по сценарию может делать и автоматический сканер (собственно, сценарий :) ), а где нужно немножко подумать - запускающий его человек, мне нужно именно исследование, мне нужна эксплуатация не Micosoft Windows, а АИС "Моя АБС", - за ее безопасность никто не отвечает, кроме меня, и я хочу серьезно подойти к этой своей ответственности. 
Возможно, сторонники commodity-услуги правы в том, что с точки зрения аудитора подход все равно будет одинаков: пентестит он Active Directory или АИС "Моя АБС", по крайней мере начало, - есть понятный набор практик и подходов, определенный набор инструментов, как умею, так и работаю :), да и моя супер-пупер-уникальная система все равно может быть представлена как совокупность стандартных компонетов: стандартной ОС, стандартной СУБД, стандартного сервера приложений и т.п. Но неправильно провоцировать людей думать, что раз услуга стандартна, то стандартно и предложение на рынке, откуда делается неправильный вывод, что любой игрок, предлагающий такую стандартную услугу, окажет ее со стандартным уровнем качества, регулируемым все тем же рынком. Нет, не так. Именно потому что здесь велика доля ресерча, качество результата далеко нестандартно и инструменты типа Критерия минимальной цены здесь отработают неэффективно.

Стоит ли мне таких исследователей иметь своих? Вопрос объема работ. Если я, например, софтверная компания, произвожу много уникальных продуктов, безопасность которых надо ресерчить, разумно иметь свою Продуктовую безопасность, они лучше будут знать мою специфику и, скорее всего, они будут работать эффективнее наемных легионеров, хотя бы потому что они постоянно в теме, а у подрядчиков на все будет не более месяца. Если же я не смогу загрузить творческой работой столь выдающихся ребят, чтобы они не теряли квалификацию, понятно, их лучше аутсорсить.



3 comments:

Александр Бодрик said...

Сереж, если у тебя есть "Моя АБС" тебе нужна продуктовая безопасность. Пусть из одного человека - но нужна, там же бездна вопросов и кавалерийские набеги пентестеров будут недостаточны.

Sergey Soldatov said...

Саш, ты сейчас сказал, что _любой_ кто пишет софт для себя, должен иметь продуктовую безопасность.
И где ты такое видел в реальном секторе? Автоматизаторов-то не всегда нормальных могут нанять, а ты о таком гламуре как программист-безопасник заговорил...

Постепенно, конечно, надо к этому двигаться, тут ты прав.

Александр Бодрик said...

Ох, ток увидел твой ответ:)

Да, любой кто пишет софт для себя и кто собирается построить большой успешный бизнес (т.е. кто вообще заморочен безопасностью как таковой).

Не обязательно сразу брать программиста-безопасника, да в принципе даже отдельного человека - сначала делаем роль - возлагаем ее на существующего человека, решаем базовые вопросы по аутентификации, логам, отсутствию захардкоженных паролей и понемногу растем (вместе с самой компанией).

А в реальном секторе все начиная с определенного размера компании пытаются что-то делать с ИТ-проектами.