среда, 8 апреля 2009 г.

пентесты и Пентесты.. Я в шоке

Попался на глаза опус:

http://www.iso27000.ru/blogi/aleksandr-astahov/pentest-stoit-li-ovchinka-vydelki


Я в шоке, мой ноутбук в шоке и даже игрушечная собачка моего сына в шоке.

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

И так, пройдемся по тезисам:


Польза от пентеста для заказчика заключается в следующем:

# возможность обнаружения и устранения одной или нескольких серьезных уязвимостей


В рамках пентеста обнаруживаются сотни проблем в безопасности и ошибок в реализации СУИБ, на устранение которых зачатую уходят годы. Примеры - недостаточная осведомленность сотрудников или ошибки в процессе защиты Web-приложений. Только сегодня проводили совместно с 1С-Bitrix представление их нового продукта - модуля проактивной защиты. Яркий пример компании, которую пентест подвиг не только на устранение уязвимостей, но и на изменение процессов (аудит исходного кода, создание штата разработчиков), и даже больше - к созданию собственного продукта в области безопасности - web application firewall.

Полезность пентеста для исполнителя состоит в следующем:

  • возможность заработать приличные деньги (пентест - услуга высокорентабельная)

Не хочу никого обижать, но средний пентест делается практически по себестоимости. Это технологическая услуга требующая большой организационной работы (чтобы ничего не завалить :), специалистов с уникальными навыками и специфичного, зачастую недешевого софта.
Конечно можно нанять "крутого хакера", который просканирует систему "взломанной" версией XSpider и попробует пару экплойтов с milw0rm. Тогда, наверное и результат будет подобный описанному в статье и услуга будет "высокорентабельной".

Теперь о том, чего заказчик не получает от пентеста:

* объективной оценки защищенности своей корпоративной сети


Объективной оценки, господа, не дает ничего. Даже, простят меня, сертификация. Есть только уязвимости и вероятность реализации угрозы, полученные в рамках указанной модели угроз и бюджета. То, что уязвимости никто не обнаружил, не говорит о том, что её нет. Иначе бы Microsoft, тратящий миллионы и миллионы на безопасность, аудит кода, построение безопасных процессов разработки и т.д. и т.п., уже давно бы выпускал программы без уязвимостей. И мы бы забыли про вторые вторники...

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

Процитирую свою небольшой кусок из тезисов к Рускрипто:

Цель пентеста в том, чтобы взломать

Цель пентеста в том, чтобы оценить эффективность существующей СУИБ и продемонстрировать наиболее яркие проблемные места в рамках выбранной модели злоумышленника, устранить которые требуется в первую очередь. Сам "взлом" только подручный механизм реализации основной задачи и может использоваться с различными целями. Например, для облегчения понимания результатов работ руководством или для развития хода работ, например прыжка их Интернет в ДМЗ, из ДМЗ в технологическую сеть и т.д. Если проводить работы с установкой на "взлом", то максимум к чему может привести тест, это обнаружение нескольких "страшных" уязвимостей, устранение которых может занять несколько минут или часов. И в такой ситуации пентест полностью оправдывает отношение как к фрагментарной, малоэффективной услуги.

# уверенности в том, что удалось устранить имеющиеся уязвимости и повысить защищенность систем (исполнитель продемонстрировал заказчику лишь один или несколько возможных сценариев проникновения, а сколько их еще может быть?)

Странный тезис. Уязвимости были устранены? Были. Защищенность была повышена? Несомненно. Исполнитель продемонстрировал только один сценарий? А что в ТЗ было написано? Поломайте меня как-нибудь?

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

Это вообще полный бред. Утечка регулируется соглашением о конфиденциальности. Ни один из вменяемых исполнителей не будет против, если в ходе работ будет присутствовать представитель заказчика. Более того, тесный контакт с заказчиком и согласование "ходов", это залог успешных работ. Я обычно даже люблю в ходе внутреннего теста "почитать лекции" о том, что я сейчас делаю, и как все это ловко у меня получается :) Или не получается :(

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

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


Тут я теряюсь совершенно. Опять эта объективная оценка всплыла... Как пентест, в ходе которого используется пяток специализированных сканеров, дополнительных утилит для верфикации и эксплуатации уязвимостей, ручной анализ уязвимостей может дать худший результат, чем просто запуск сканера? Как сканер реализует задачи глубокой оценки защищенности Web или беспроводных сетей, или уровня оценки персонала? Мне не понятно.
Сканеры никто не отменяет, но за ними должен сидеть человек, который "делает пентест в голове", чтобы расставить приоритеты и эффективно устранять обнаруженные проблемы. Сами сканеры этого не могут. Хотя мы работаем над этим :)

Если вам нужен именно анализ защищенности, либо оценка рисков, тогда глупо заказывать пентест, т.к. заплатите вы намного больше, а требуемого результата в виде реального повышения уровня защищенности и уменьшения рисков не получите.

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

Я понимаю, что многим хочется быть Брюсом (http://www.schneier.com/blog/archives/2007/05/is_penetration.html), на повторять его спорные мнения не стоит.
Пентест, это одна из работ в области ИБ со своими плюсами и минусами, ограничениями, со своей методиками и целями. И зачастую с ожидаемыми результатами. Пугающими?...

7 комментариев:

Pento комментирует...

Статья - очень сильно похожа на бред.
Пентесты как правило являются мощным толчком к повышению защищённости КИС заказчика. Заказчик видит на практике к чему может привести неосведомлённость его сотрудников об угрозах ИБ и т.п. и т.д.
ИМХО, нормально проведённый пентест слихвой компенсирут не такую уж и большую его стоимость.

Dark_K3y комментирует...

Статья действительно бред. Во-первых известно с момента существования этого мира, что взгляд со стороны находит ошибки гораздо быстрее, чем изнутри. И во-вторых автор наверное считает что купив лицензию на XSpider (или скачав кряк), а также скачав nmap его сисадмины смогут нормально оценить безопасность сети. Ну-ну. Интересно, а есть сканеры сетевых архитектурных решений? ;) А то зачастую отлично защищенная сеть со стороны DMZ и Интернета имеет точку доступа с WEP шифрованием, которая вещает на два квартала. ;)

Мария Сидорова комментирует...

Согласна, на момент написания поста ситуация с российским консалтингом была очень удручающей.

KEY, pentest это не только работа сетевого сканера, а еще и работа людей причем с весьма специфичными знаниями и навыками!

Объективной оценки никто и ничто не даст никогда,в лучшем случае это понятие можно заменить - экспертной оценкой...не удачная попытка проникновения свидетельствует только о том, что исполнитель не смог взломать вашу систему, этот не смог, а другой сможет.

Sergey Gordeychik комментирует...

Мария, заметка датированна 08-04-2009. Гугл источника не находит. Или у вас есть другая информация, и это действительно перепечатка чего-то старого?

Мария Сидорова комментирует...

Сергей, да действительно, прошу прощения. Это не перепечатка. Александр уже высказывался по этому поводу 9 лет назад и смысл рассуждений был аналогичен, поэтому я не обратила внимания на дату публикации..удивлена, что он не поменял своего мнения.

Dark_K3y комментирует...

Maria Sidorova
Я-то с определением pentest'а не спорю, а вот автор статьи которую мы все тут обсуждаем похоже думает что это именно работа сетевого сканера и какого-нибудь MetaSploit'a. ;)

Мария Сидорова комментирует...

Key, Александр может считать как хочет, любое мнение имеет право на существование.
PenTest все таки технологическая услуга и все условия обеих сторон, как то - конфиденциальность, присутствие заказчика при выполнении работ, методологию работ, можно легко обговорить в техническом задании.