24 Июня, 2014

Об этике пентестера/ИБ-аудитора

Алексей Лукацкий
Нахожусь в культурной столице нашей необъятной Родины. Общаюсь с коллегами, друзьями, заказчиками... И вот один из заказчиков поднимает интересную тему, можно даже сказать философскую. Про этику пентестера. А навеяно это было нехорошей ситуацией. Известная питерская фирма, занимающаяся аудитом, провела пентест инфраструктуры заказчика, включая и его Web-сайт, предназначенный для электронной коммерции. Как водится по результатам был выдан отчет, что все чисто, никаких серьезных не обнаружено, спите спокойно. И вот спустя несколько дней после сдачи отчета в Интернете публикуется информация об уязвимости Heartbleed, существовавшей много лет и только недавно ставшей достоянием гласности. Банальная проверка Web-сайта, использующего OpenSSL, показывает, что дыра в нем присутствует в полный рост. Как ни странно, в сданном питерским пентестером отчете, о дыре ни слова. Вот на этом фоне и возникла у нас непростая дискуссия об аудите, об этике, о распальцованных аудиторах, о состоянии отрасли...

Мне иногда удается посмотреть различные отчеты о результатах пентестов у разных заказчиков. В том числе и проверке Web-сайтов, порталов и т.п. решений. Нигде я не помню упоминаний Heartbleed. Отсюда закономерный вопрос или даже несколько. В последнее время некоторые уязвимости, присутствовавшие в софте много лет, получили скандальную известность (Heartbleed, Cupid и т.п.). Почему они не обнаруживаются в результате пентеста? Если пентестер так крут, как он себя считает, то почему он не нашел дыру? Или он просто обычный сканер, ищущий только известные уязвимости, запускает?

Заказчику я посоветовал при очередной встрече с питерским ИБ-аудитором задать несколько вопросов:
  • В скольких ваших отчетах, составленных до широкого обнародования, вы информировали заказчиков об этих критически важных уязвимостях? Маркетинговые службы аудиторских/пентестерских компаний работают хорошо и регулярно публикуют отчеты об очередном ИБ-апокалипсисе, мобильной угрозе и т.п. Почему в отчетах про безопасность ДБО, Web-сайтов и т.п. про Heartbleed ни слова?
  • Если вы не находили ни разу Heartbleed, то это потому что вы не анализировали системы с SSL? А как можно анализировать Web-сайт с SSL и обойти ее вниманием?
  • Или вы умалчивали о найденной уязвимости? А может вам кто-то приказал молчать о ней?
  • Или вы не придали этой дыре значения?
  • А может вы просто не знали про нее и не смогли ее обнаружить?
Допустим что аудитор, несмотря на звание "№1 в аудите безопасности", в не способен был обнаружить Heartbleed. Ну бывает, никто не идеален. Но где гарантия, что злоумышленники тоже не знали об этой уязвимости и не воспользовались ею?

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

В конечном итоге, мы вновь возвращаемся к исходному вопросу, который нередко задается на разных мероприятиях и на разных Интернет-ресурсах, но так и не получает ответа. Что такое аудит или пентест? В чем сухой остаток от его проведения? Остановитесь на мгновение и попробуйте ответить себе на этот вопрос.

Отличается ли понимание "аудита" заказчика и исполнителя? Может быть для исполнителя это просто показ потенциального пути взлома? Или демонстрация своей крутизны (смотрите, я крутой, я взломал мобильный банкинг)? Или это единственное, что исполнитель может делать? Кстати, именно поэтому я не люблю "хакерские конференции". При всем интересе к тому, что там показывается и рассказывается, они однобоки, т.к. эксплуатируют только одну сторону - демонстрируют проблемы, но не ее решение (на это либо времени не остается, либо "хакер" просто не знает, как бороться с тем, что он накопал). Многие аудиторы/пентестеры живут по тому же принципу. Это как модель угроз, которая не содержит описания мер, нейтрализующих актуальные угрозы. Кому нужна такая модель? Но вернемся к этике аудита.

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

Не пора ли вводить профессиональную ответственность аудиторов ИБ? У обычных аудиторов есть свой кодекс  профессиональной этики. Может и в нашей отрасли пора такое же вводить? Может пора сдуть пыль с проекта  концепции аудита ИБ, разработанного ФСТЭК, дополнив ее немного? Или лучше оставить все как есть? "Безответственный консалтинг", не предполагающий никаких гарантий и никакой ответственности?..

ЗЫ. К разработчикам средств защиты это тоже относится, но там немного иная концепция. Да и подходы по решению этой "этической" проблемы существуют. Про них поговорим завтра.