13.11.2014

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

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

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

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

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

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

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

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

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

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

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

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

23 коммент.:

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

Обычные законы капитализма, какая уж тут этика. Вся коммерческая "безопасность" живет именно на FUD.

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

Вы про какую клятву у врачей говорите? Я интересовался у родственников и знакомых, ее и в СССР не было. А сейчас вообще, например, врачебную тайну (типа часть клятвы Гипократа) должны соблюдать не врачи, а ВСЕ кому она стала известной. Мой тесный контакт с врачами говорит, что они вообще не в курсе, что изменилось ОБЯЗАТЕЛЬНОЕ для них ЗАКОНОДАТЕЛЬСТВО по медицине. А Вы про этику. Этика есть продолжение профессионализма и не более того. А до него нам и в медицине и в пентестах...
По поводу узкой специализации врачей/пентестеров. Ну дык полная аналогия. Только и там и там должон быть терапевт, который ничего не смыслит в SQL-инекциях, но знает что они есть и может направить к специалисту. В этом вопросе поднимать муть вообще бессмысленно. Не сложилась еще система узких пентестеров, не появились (да?) еще терапевты от ИБ. Всему свое время.
А вот по последнему (про "сложилось", "надо", "время", "что должно войти в кодекс", сам "кодекс" и т.п.) у меня есть что сказать отдельно.
Господа хорошие, жил же товарищ Минцберг. И поведал он миру тайну развития организационных систем. И открылось великое знание для тех, кто его хотел впитать. Так вот. Организации (пусть это будет отрасль пентеста) проходят путь от прямого управления (это сейчас) через разные ступеньки к разным формам организаций. Врачи по Минцбергу - это профессиональная бюрократия. Кодекс - механистическая бюрократия. И законы жизни в них разные. Именно попытка привести профбюрократию к мехбюрократии и убивает нашу медицину (это же случилось и с ГОСТами и ФЗ). Ну что ж. Давайте убивать ребеночка (пентест) в зародыше. Правильно было бы дать жить ему самому. Пусть превратится в адхократию, религию, профбюрократию. Это его дело. Не надо людям выросшим в мехбюрократии насаждать свое единственно правильное видение жизни во все другие области. Хорошо не будет.
ЗЫ Врачи после практически полного своего поражения от мехбюрократии и почти полной своей погибели, по законам жанра, возродятся. И учителя. И все остальные профбюрократии. Ибо это такой же закон нашей жизни, как и законы Ома, Ньютона и т.п.
ЗЗЫ А клятва Гипократа, которую типа иногда принимают первокурсники - это из сферы Чалдини. Как и клятва ученика гимназии №7 города Москвы. Такое немного выродившееся массонство от директора такой гимназии или медунивера ;)

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

Тут, мне кажется, хорошо подходит база этических норм от аудиторов: PwC, EY и т.п. Их этическая база формировалась десятилетиями. Да и при проведении аудита компании они могут получить сведения не на одно уголовное дело. Тем не менее уровень доверия высок, результаты имеют высокую качественную оценку потребителями и т.п.
Ну и публичность - ключевая составляющая!
Вот пример: http://www.ey.com/Publication/vwLUAssets/Ernst-Young_Global_Code_of_Conduct/$FILE/EY_Code_of_Conduct.pdf

Алексей Лукацкий комментирует...

ZZubra: вот ты загнул

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

Да чего-то то торкнуло ;)

ЗЫ:
Когда отсутствуют ПРОЦЕССЫ, то заменой им может быть ОПЫТ.
Когда нет опыта, то его могут заменить ПРАВИЛА.
Когда отсутствуют правила, то есть только РИТУАЛЫ.
Ритуалы – это НАЧАЛО ХАОСА.

(Вольный перевод из сочинения "Дао Дэ Цзин" китайского философа Лао Цзы)

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

> Тут, мне кажется, хорошо подходит база этических норм от аудиторов: PwC, EY и т.п

И тем не менее, если я хочу, чтобы меня качественно "по-белому" поломали, последнее куда я пойду - к аудиторам PwC, EY и т.п. :-D

Алексей Лукацкий комментирует...

ZZibra: опыт должен быть подтвержденным. А в данной области это сложно формализуемо

Алексей Лукацкий комментирует...

Тоха: так никто и не говорит, что пентестеры плохо работают. Просто правила надо определить для обеих сторон. Вот и все

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

Точно. Очень сложно формализуемо. Все как у врачей и учителей. Но ведь проблему и те и те решают. Как? - это описано у Минцберга и названо профессиональной бюрократией.
Кстати, знаете, Деминг в своей книге "Выход из кризиса" отметил, что плохой подчерк врача - это не проблема ... АМЕРИКАНСКИХ!!! врачей, а врачей и в Японии, и, как мы знаем, в России. Это общая проблема ВСЕХ врачей во ВСЕМ МИРЕ. И даже объяснил почему - их бедненьких, заставляют жить по правилам механистической бюрократии (упрощая переведу: пытаются стандартизировать их деятельность "сверху", отбирая у врача ответственность, тогда как в профессиональной бюрократии стандартизации как таковой нет - есть ТОЛЬКО ответственность врача за свою работу, его и только его, а роль стандартизации выполняет ПРИЗНАНИЕ коллег).
Так вот если и копировать врачебную схему на пентестеров, то никаких стандартов, кодексов и т.п. быть не должно. Их роль УСПЕШНО будет выполнять конференции, где будет один пентестер хлопать или улюлюкать другому.

ЗЫ Прям реклама зеронайта получилась ))))))

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

Собственно Медведовский то же самое сказал, но другими словами тут https://m.facebook.com/ila.mky/posts/746491248772930

Алексей Лукацкий комментирует...

Вот они и улюлюкают сами себе

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

Эх, Алексей! Дай Вам бог подольше не искать грамотного врача. Иначе как по цепочке "своих" и "рекомендациям" их к сожалению не найти. Если пойти по регалиям и понтам/лицензиям очень легко оказаться на кладбище. Так было всегда и так будет. Это особенность этой профессиональной деятельности. Попытка сделать эту деятельность прозрачной и открытой (для непрофессионалов) приводит к вырождению профессионалов в этой среде.

Алексей Лукацкий комментирует...

Ну почему? Я вполне успешно ходил по обоим вариантам

Алексей Лукацкий комментирует...

И также неуспешно по ним же :-)

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

Ээээ, коллеги, говоря "политкорректно", данная дискуссия "вызывает удивление".

Пентестеры в рамках работ находятся под серьезными ограничениями, как законодательными (http://www.securitylab.ru/blog/personal/offtopic/13318.php, http://pravorub.ru/articles/1438.html), так и теми вещами, которые прописаны в договорах, соглашениях о неразглашениях и проч.

С точки зрения доступа к разного рода "тайнам" интеграторы и разработчики например банковского софта (или там 1С и SAP) гораздо более "глубоко" сидят во внутренних тайнах и прекрасно обходятся без "этики".

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

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

А не манипуляция ли эта фраза?

>Т.е. одну-другую дырку ему находят, но взламывают его почему-то через другую - в процессе тестирования не найденную, но существующую у заказчика не один год.

Алексей, а давайте в таком контексте поговорим, например про производителей средств защиты, которые обещают защищать, а потом через их средства и ... :) Нет, на последнюю багу в Cisco VPN я не намекаю, я про свой опыт (как производителя средств защиты) вспоминаю. Что с ними то делать?

>Давайте убивать ребеночка (пентест) в зародыше.

В зародыше в России он был в году 2002-2004, сейчас это понятная и сформировавшаяся ниша. Кто-то лучше, кто-то хуже.

Просто надо четко понимать, что пентест большой сети, или например глубокий анализ небольшой, но сложной системы (техсети телекома или АСУ ТП) требует разных людей (от Cisco до ERP) и разных ресурсов (от базы "публичных 0-day" до анализиторов исходных кодов и методик анализа рисков), которых у небольшой конторы может не быть. Тем более по сути - пентесты это "нулевая" работа, денег практически не приносящая. И нанимая небольшую конторку, пускай в ней "только звезды", вы столкнетесь с "черными дырами". Ну не знает например люди Oracle EBS или eDirectory или Lotus Notes. Ну не успеет он за 2 недели пентеста его изучить, а еще и "взломать"...

По AppSec, особенно по Web- или по "бумажным" аудитам, там все проще - достаточно 2-4 толковых ребят, DAST/SAST, и поток заказов.

ЗЫ. У меня сложилось ощущение, что ряд ребят в индустрии упорно не хочет понимать, что такое пентест и относится к этому как к "магии", хотя особой магии там нет. Просто колдунство на некоторых (согласованных с заказчиком и внесенных в ТЗ) этапах. Чесно думал, что дискуссия по этому вопросу закончилась где-то 2009, но видимо нужен новый раунд.
Может поиграть в CTF, чтобы стало понятней ;)?

ЗЗЫ. Не стоит думать, что поверхностные работы встречаются только у нас. Сейчас работаем за рубежом, очень много коллег делают по сути инструменталку (сканер + эксплойтпаки) с бОООльшим упором на социальную инженерию.

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

Сергей, вот с этим не вполне согласен:

С точки зрения доступа к разного рода "тайнам" интеграторы и разработчики например банковского софта (или там 1С и SAP) гораздо более "глубоко" сидят во внутренних тайнах и прекрасно обходятся без "этики".

Тут, мне кажется, хорошо подходит база этических норм от аудиторов: PwC, EY и т.п. Их этическая база формировалась десятилетиями. Да и при проведении аудита компании они могут получить сведения не на одно уголовное дело. Тем не менее уровень доверия высок, результаты имеют высокую качественную оценку потребителями и т.п.
Ну и публичность - ключевая составляющая!

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

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

Евгений, а с чем несогласны? Что интеграторы или разработчики имеют больший доступ?
Действительно? А ребята которые аутсорсят ИТ-инраструктуры, у них есть этических кодес?

О чем речь то собственно? Что есть непрофессиональные пентестеры? Есть конено.

Знаете сколько в интеграторскую бытность наблюдал проваленных проектов по внедрению чего-либо? И норм, все привычно.

Что пентестеры это "шаманы"? Дык это про любого спеца сказать можно, тут только грамотностью лечится.

Мне в принципе все равно, нужно кому-то заняться "этикой", пусть занимается.

Но нормальный договор + ТЗ + закон перекрывает любую этику.

Попробую рассказать, почему тезисы Алексея странны

>независимость от производителей и иных третьих лиц (в т.ч. и финансовая)

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

>запрет продавать своим клиентам разработанные пентестером продукты

Ну например IBM, если это будет делать ISS (http://www-935.ibm.com/services/us/en/it-services/security-services/penetration-testing/) уже не может продавать в эту компанию продукты?

И как же жить интеграторам? Или интеграторам можно, они же не свои продукты продают?

>запрет проводить пентесты там, где пентестер участвовал в создании информационной системы

См выше. В целом звучит логично, но много нюансов. Например если пентест делался год назад, по его результатам был action plan, повторный делать уже нельзя? Ведь участвовали?

>предотвращение иных форм конфликта интересов

Иные формы должны быть предотвращены, согласен!

>отсутствие связей с террористическими, криминальными группировками и иными сектами

Иные секты звучит нормально. Я против иных сект! Но вроде наличие лицензий ФСТЭК/ФСБ как бы подразумевает?

>наличие свободной конкуренции

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

>отказ от практики "торговли страхом" (FUD)

Что?

>явное информирование клиента об ограничениях пентеста (ошибки первого и второго рода) и возможных рисках от его проведения

У нормального пентестера это в ТЗ/ТКП прописано, прежде всего не для заказчика, а чтобы "прикрыть" на случай. Ведь падает все и всегда, а когда ты что-то "ломаешь", то ты виновен даже если упал стул в другом полушарии.

>нейтральность и доступность понимания сделанных по итогам пентеста выводов

Кто ж у него проект примет, если выводы непонятные.

>соблюдение действующего законодательства

Это только для пентестеров, или для всех граждан РФ (и других стран наверное)

>предложение нейтрализующих мер для обнаруженных уязвимостей

Дык у нормальных пентестеров это в ТЗ прописано как необходимый элемент отчета (т.е. результата оказания услуг)

>ограниченная ответственность за результаты теста и возможные нарушения штатного режима функционирования исследуемой системы в результате теста

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

>защита чужой интеллектуальной собственности.

Опять таки - ТЗ/Договор, И вызывает удивление, почему только IP, а не банковской, медицинской, государтвенной и персональных данных в том числе?

Алексей Лукацкий комментирует...

Серега, спор долгий. Когда все прописано в ТЗ/договоре, вопросов нет. Но вот что-то мало кто прописывает, а некоторые так еще и доказывают, что надо верить на слово

Алексей Лукацкий комментирует...

Сершей, производители как раз все явно и четко прописывают. Принцип as is никто не отменял. И есди у них найдена дыра, они ее устраняют. И обновления выпускают

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

>Но вот что-то мало кто прописывает, а некоторые так еще и доказывают, что надо верить на слово

Верить на слово можно, но при этом подкреплять договором.
Чем тут пентест отличается от чегоугодно?

Более того - прописывать должен заказчик. В чем проблема - недостаток опыта?
Предалагю так - проводим вебинар "как мы делаем пентест" и шарим свои шаблоны документов "для заказчиков", чтобы было на что опереться при заключении контрактов. Это сделает заказчикам легче.

> производители как раз все явно и четко прописывают. Принцип as is никто не отменял.


Алексей, принцип AS IS это прекрасно. Буду вписывать его во все договора. Но боюсь не пройдет :)
Та почему при покупке "железа" покупатель беспокоится о том, что ему продадут, а при покупке услуги - нет?

> есди у них найдена дыра, они ее устраняют.

Ээээ, точно? Тебе сколько примеров привести когда производитель играет в "это не уязвимость" или вообще уходит в тину?
Есть "хорошие" производители, есть "плохие". Так же как и пентестеры. Cisco в целом "хороший", вопросов нет.

Алексей Лукацкий комментирует...

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

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

Не следил, если честно. Но по сути - пентест как и любая другая ИТ услуга регулируется спросом/предложением/договорами/ТЗ/законами, которые во многом зависят от зрелости рынка, требовательности, критериев качества. Они меняются со временем как глобально, так и внутри каждого заказчика/исполнителя.

Этика, да - важна, но это (для меня) во многом внутренняя задача, чтобы каждый имел и четкое понимание и "звоночек" в голове о том, где грань. Но источник этики он не в воздухе. Он в тех же законах, ТЗ, договорах, договоренностях.

Т.е. инструмент полезный, но вспомогательный имхо.

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

Сергей, я не согласен с тем, что этика у "аудиторов чего то" второстепенна. Эти "аудиторы" согласись, с разной степенью погружения работают. Пентестер с одной, интегратор с другой а аудиторы бизнеса компаний типа EY работают с информацией, повторюсь, которая часто тянет на несколько уголовных дел... Этика для таких компаний совсем не второстепенна и ее в договоре не пропишешь! Как ты себе представляешь пункт договора, в котором написано "в случае выявления состава преступления и т.п. аудитор молчит"... Доверие так же монетизируется...