вторник, 30 сентября 2014 г.

СОИБ. Анализ. Пентест н-надо?

В последние 3 месяца мы наблюдаем растянутую во времени публичную дискуссию про пентесты. Вот эта история:

1. Очередной виток начал известный блогер, рассказав как одна компания-пентестер обманула ввела в заблуждение заказчика, а именно: был проведен пентест, который показал, что система защищена, а через неделю после окончания работ в системе была обнаружена критическая уязвимость, посредством которой она была вероятно взломана.

В результате были подняты вопросы:
·        А нужен ли пентест вообще на таких условиях? Он не гарантирует что отсутствуют уязвимости, он не гарантирует что система защищена.
·        Может ли компания пентестер предложить что-то полезное заказчику?


2. Продолжил тему один пентестер на вебинаре RISC “ Тестирование на проникновение: задача, решение и ограничения”, который дал определение пентеста, указал ограничения,  условия и разъяснил многие моменты из своего опыта пентеста.
С моей точки зрения там было дано достаточно полное, правильное  часовое описание Пентеста.
Но на вебинаре обсуждается столько ограничений и работ, которые в рамках пентеста не делаются, что опять поднимается актуальный вопрос: а нужен ли пентест вообще на таких условиях?
Ещё вебинаре и в блогах после него было озвучена пара спорных моментов, которые я прокомментирую позднее:
·        Если клиент не знает ничего о своей ИТ-инфраструктуре, то лучший способ разобраться, это провести пентест
·        Риск утечки информации от пентестеров не превышает риск утечки от Интеграторов. .... у Интегратора априори больше информации о системах Заказчика.


3. Далее тему развивает директор одной компании-пентестера в статье "сломать всё", который отвечает на вопросы:
·        За что может и должен отвечать пентестер, а за что не может и не должен?
·        Можно ли доверять пентестеру?
·        Что может подтвердить квалификацию пентестера?

Но в статье есть большая ошибка: в термин пентест, автор включает кучу всего -  аудит защищенности инфраструктуры, аудит приложений, исследования уязвимостей, но только не сам пентест. В результате в статье перепутались пентестер, аудитор и исследователь и стало непонятно, а ответы на вопросы ответственности/доверия/квалификации они для кого? С моей точки зрения эти ответы будут разными для пентестера/аудитора/исследователя.
Дальнейший комментарий автора статьи в facebook только показал что он отлично все понимает, но специально так написал в статье. Можно сделать вывод, что компания-пентестер пытается перейти из узкой ниши услуг пентестов в поле услуг аудитов и исследований.

Заметил ещё одну общую проблему из части 2 и 3: пентестеры ошибочно считают, что в результате пентеста помогут разработать заказчику план дальнейших действий в области ИБ, могут заменить работу интеграторов, могут заменить «системный полный аудит защищенности информации».

Мои выводы по результатам дискуссии:
1.      Если кратко, то пентест – это тест/набор тестов. Тест проверяющий является ли система “слабозащищенной”. Основной результат – это ответ Да или Нет. В крайнем случае возможно градация по шкале от 0 до 10. Не стоит ожидать от пентеста большего. (Более длинное и четкое определение смотрите в вебинаре RISC)
2.      Мы так и не получили ответа на вопрос – а нужны ли такие пентесты и когда нужны?
Мое мнение, что пентесты нужны в двух случаях:
·        Показать руководству (а не безопаснику) что сейчас “все плохо” и нужно принимать какие-то дополнительные меры (но не показать какие именно меры)
·        После внедрения комплекса организационных и технических мер, проверить, что теперь не “все плохо” и заодно провести независимую практическую проверку работы интегратора по ИБ
3.      На рынке ИБ есть высококлассные “специалисты по поиску уязвимостей”= “специалисты в слабостях настройки сервисов/систем” = “хакеры в белых шляпах” = “практические безопасники” = “пентестеры”. Им хотелось бы как-то монетизировать свои знания и умения.  
Для того чтобы лучше монетизироваться они предлагают проводить пентесты чаще, силами только пентестеров проводить обследования ИТ-инфраструктуры, давать консультации по созданию системы защиты, проводить аудиты ИБ.

А вот это считаю совсем не корректным:
При проведении обследования ИТ-инфраструктуры достаточно базовых знаний в обследуемой области и работа обычно заключается в опросе специалистов, сборе документов, рисовании схем сети (L2, L3, маршрутизации), рисовании схем ИС, рисовании схем информационных потоков,  фотографировании стоек , сборе текущей конфигурации. Не вижу где тут применить особые знания по “практическому хакингу”.

И давайте сравним консультации которые может дать технический специалист “пентестер” в сравнении с техническим специалистом “архитектором ИБ”.
Пусть найдена уязвимость X. Что может пентестер при консультациях – это сказать что уязвимость X нужно устранить и через три месяца провести повторный пентест. Он даже не всегда может сказать как устранить данную уязвимость – уметь искать уязвимости это не тоже что уметь безопасно программировать и не то же самое что организовать процесс безопасной разработки. А то что в системе кроме найденной уязвимости может быть ещё сотня уязвимостей и закладок, это пентестера совершенно не беспокоит – найдет в следующем пентесте.

Архитектор ИБ + консультант ИБ в аналогичных условиях сначала оценивают риски связанных с ИБ в данной системе (может быть и не стоит её защищать), потом создают процессы управления уязвимостями, процессы мониторинга ИБ, процессы реагирования на инциденты, разрабатывают требования к разработчику ИС, при необходимости внедряют SS, FW, IPS, WAF, DBF, SIEM. В результате заказчик получает эффективную систему защиты, которая будет и обнаруживать уязвимости (пусть не такие сложные как пентестер, но зато с полным охватом), быстро принимать решения по их обработке, опасные атаки будут обнаруживаться быстро, 0-day уязвимости будут наносить небольшой ущерб, пропущенная в одном месте уязвимость или неправильная настройка будет компенсироваться другой мерой защиты.
По сравнению с этим заказчик, выбравший для консультаций пентестера садится на “пентестерскую иглу”. Он должен регулярно заказывать пентест и надеятся что пентестер найдет все уязвимости, ничего не пропустит, не ошибется, не скроет, он будет обязан сразу устранять все уязвимости (не смотря на то что придется останавливать производство, заключать с разработчиком ИС невыгодные контракты на доработку). А пропущенная пентестером уязвимость (смотрите ограничения пентеста из дискуссии) может обернуться для заказчика существенно большим ущербом (ведь он не внедрит компенсирующих мер).  


PS: Да, высококлассные “специалисты по практическому хакингу” нужны, но давайте их использовать правильно. Интеграторам, проводящим аудиты нужно брать таких специалистов с свой штат или привлекать на субподряд. При создании систем защиты консультации таких специалистов тоже нужны, но в определенных частях – в правильной настройке существующих ОС, сервисов, сетевого оборудования, поэтому тоже пригодятся в штате или на субподряде.



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

Евгений Родыгин комментирует...

Только вот "Дальнейший комментарий автора статьи в facebook только показал что он отлично все понимает, но специально так написал в статье."
Дело в том, что автор-"пентестер" на самом деле ничего не понимает. Это его Конек как у известного персонажа из Гарри Потера - псевдо-борца с темными силами.
Метод называется "Провокационный-капитан-очевидность"... Это у него стандартный прием - напишет бреда а потом оправдывается что он специально так провакационно написал чтобы тему подогреть. И не помню ни одного надутого им шарика чтобы так не получалось...

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

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

Andrew Petukhov комментирует...

Начну сначала с цитаты Володи Кочеткова из поста Алексея:
"А пентест, являющийся блэкбокс-методикой анализа защищенности, целью которого является построение максимально развесистого дерева атак в рамках заранее оговоренного скоупа, которое выполняется посредством имитационного моделирования действий потенциального атакующего. Пентест дает приблизительный ответ на один вопрос: что из себя будет представлять дерево атак в том случае, если квалификация атакующего будет не ниже квалификации пентестера и, если он будет располагать определенным объемом вводной информации и некоторыми, ограниченными ресурсами. Результаты пентеста, как и результаты любого другого имитационного моделирования носят статистический характер и тем точнее отражают суровую реальность, чем больше человек принимало в нем участие + чем больше времени им было отведено -> тем больше итераций они успели завершить. Разумеется, если на пентест было выделено 100 человекочасов, то не исключена возможность того, что на 101-ый реальный атакующий сможет проковырять то, что не смогли пентестеры (даже, если его квалификация не выше их). "

Кмк, все эти дискуссии от того, что вперемешку используются цели и средства. Т.к. пентест - это один из способов анализа защищенности, вопрос об уместности его применения заключается в:
- надо ли заказчику сейчас проводить анализ защищенности и в каком скоупе?
- если да, то у заказчика есть какие-то ожидания и цели, под которые и должны быть выбраны адекватные методы проведения этого анализа, например, пентест.

IMO

Сергей Борисов комментирует...

pushkinist: почему бы не обсудить, если дело хорошее.
Меняется законодательство, угрозы, новые решения появляются. Пентест - это не новинка, но всё равно интересно, что там сейчас предлагают, кому нужно в первую очередь?

Andrew Petukhov: Спасибо, цитата отличная. Ну вот на максимальной развесистости дерева в рамках скоупа и не сошлись во мнениях эксперты.

Заказчик не знает сколько человекочасов
ему достаточно, пентестер не объясняет, а иногда объясняет но не может продать столько человекочасов а может только в 5 раз меньше.

про "один из способов анализа защищенности" - спасибо за мнение.

ser-storchak комментирует...

Мне понравилось описание пентеста в приложении 3 РС БР ИББС-2.6-2014. Там достаточно подробно описано, для чего проводится пентест. Поддерживаю мнение, что пентест - это один из методов оценки защищенности. В связи с этим необходимо осуществлять комплексные мероприятия по обеспечению ИБ, в том числе и проводить тестирование на проникновение.

ser-storchak комментирует...

Начинать построение системы защиты организации с пентеста неправильно, его нужно проводить, когда процесс ИБ уже налажен

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

а просто у любого обсуждения хотелось бы знать цель. кто должен что понять после обсуждения или что произойти?)

вот например поставлен вопрос: кому и когда нужны пентесты?
так можно любой вопрос ставить типа: кому нужен анализ конфигураций? кому нужен анализ кода? кому нужен анализ соответствия фз152? да в принципе всем, кому актуальны те или иные требования иб - тому это все и нужно, а кому не актуально - тому и не нужно.
если есть свои спецы в фирме, то любое из этих мероприятий можно выполнять собственными силами.

наверняка вопрос правильнее ставить: когда нужны пентесты внешним исполнителем?
в этом случае обычно две причины:
1) внешние требования (регуляторные или договорные)
2) оценка незамыленным взглядом и контроль собственных трудов или трудов коллег со стороны (это то что в статье написано показать руководству что все плохо и то что написано про не все так плохо)

про "один из способов анализа защищенности" +1
да и это имхо очевидно)

Сергей Борисов комментирует...

У меня помимо всего прочего и чисто конкретный практический интерес:
Не всегда заказчики могут точно сформулировать свои потребности.

Например обращается клиент, говорит что ему нужна аттестация. Я задаю ему наводящие вопросы, оказывается что ему нужен комплекс мероприятий по выполнению требований законодательства о защите ПДн, а аттестация не нужна.

Так и с пентестом, хотел для себя определить некоторые условия при которых заказчику нужно предлагать пентест

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

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

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