Security Lab

Этика пентеста или когда у пентестеров появится свой Гиппократ?

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

Плохие пентестеры

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

Иными словами, пентест очень часто используется как самоцель. Пентест нашел дырку - он крут и бьет себя пяткой в грудь, доказывая, что он "№1 в аудите безопасности". Главный безопасник тоже доволен - он может показать результаты работы своему руководство и попросить новых бюджетов на устранение проблем. Большое руководство запугано, но вроде бы тоже довольно - оно видит результат работы пентестера. Правда, никто не объяснил руководству, что нашли одну дырку, а ненайденных еще с десяток. Главному безопаснику не объяснили, что он ищет не там, где реальные риски для бизнеса. А пентестер "просто делает свою работу" и не видит никаких проблем. Представьте, что вы проводите креш-тест автомобиля... В процессе теста оказалось, что у вашего железного коня бампер слабый. Тестировщик с радостью сообщает вам об этом и успокаивается (тест же результативный). Вы меняете бампер и спокойно выезжаете на скоростное шоссе, на котором оказывается, что у вас нет подушек безопасности, каркас не жесткий, лысая резина и вообще нету тормозов. Вот также обычно и с пентестом происходит.

Несколько дней назад Артем Аветян написал  заметку "Этика взлома", которая получила бурное развитие в Facebook. В развернувшейся дискуссии Артем высказал мысль, что у "хакеров" (они же пентестеры) существует своя этика, но сформированная внутри своего же сообщества. Я же придерживаюсь мысли, что такое молодое сообщество не способно сформировать внутри себя этические принципы, по которым дальше оно будет существовать. Особенно учитывая опыт (не всегда легальный), который у многих пентесторов за плечами. Этический кодекс должен быть сформулирован и одобрен всей отраслью безопасности, а не только ее отдельной нишей, которая регулярно то нарушает действующее законодательство (как минимум, ст.272 и 273 УК РФ), зачастую имеет криминальное прошлое, или просто своими непрофессиональными действиями наносит вред своим заказчикам.

Причем не стоит так уж в штыки воспринимать любые дискуссию на тему этики. А за последнее время это происходит регулярно. То в Facebook развернется дискуссия, где пентестеры начинают доказывать, что у них настолько творческая работа, что никакими правилами она не описывается. То они начинают переводить стрелки на вендоров ИБ - "вот мол они никакой ответственности не несут" (ну так вендоры давно провозгласили правило "AS IS" и прописали его в своих лицензионных соглашениях). То они говорят, что это заказчики идиоты и должны сами все понимать. То какой-нибудт непризнанный пентестер, не приведя аргументов в дискуссии, начинает спорить сам с собой на страницах печатных изданий или собственных страниц социальных сетей (иногда, попутно выдав чужие мысли за свои). В конце концов любая такая дискуссия заканчивается обвинениями "сам дурак" и так до следующего раза.

Тут в пору вспомнить Гиппократа, который 2400 лет назад был в такой же ситуации, как и современные пентестеры. У тамошних врачей не было никаких ориентиров - каждый вел себя так, как считал нужным. Пациентов лечили "на доверии" и, разумеется, не предупреждали заранее о возможных ограничениях методов диагностики. Ошибки в диагностике и последующем лечении объяснялись вмешательством высших сил. Ну все как сейчас :-) Поэтому Гиппократ записал первый вариант своей клятвы (по легенде сама клятва появилась еще раньше), которая и установила общие моральные и этические принципы действия врачей. И хотя к нашему времени клятва менялась неоднократно, основная ее идея осталась по сути неизменной. Да и отдельные положения клятвы могут войти в этический кодекс пентестера - принцип непричинения вреда, обязательство личного совершенствования, принцип конфиденциальности, обязательство действовать в интересах "пациента" и т.п.

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

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

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

Плохой пентестер плохо кончит
ЗЫ. Не исключаю, что на эту тему и статья у кого-нибудь может родиться с посылом "я давно порывался рассказать про этику аудитора и вот пришла пора". Я не против :-) 
Alt text

Ваша приватность умирает красиво, но мы можем спасти её.

Присоединяйтесь к нам!