Договор на проведение пентеста

Обновлено: 14.05.2024

Катализатором к широким дискуссиям [1,2,3] на эту тему послужила "затравка" в блоге компании Infowatch. И после многочисленных рассуждений никто так и не предоставил конструктивных "выжимок", дающих однозначный ответ по поводу законности осуществляемых действий при проведении тестирований на проникновение. Более того, нашлись и те [4], кто помимо ст. 273 УК РФ (Создание, использование и распространение вредоносных программ для ЭВМ) сумел рассмотреть в действиях пентестера ст. 272 (Неправомерный доступ к компьютерной информации). Являясь непосредственным исполнителем при пентестах, опровергающее утверждение Ильи Медведовского, о том, что "в процессе активного аудита или тестов на проникновение аудиторы НЕ ПОЛУЧАЮТ непосредственно доступ к данным", мягко говоря "режет глаз" (без сбора и анализа информации пентест – не пентест, а лишь инструментальное обследование). Поэтому, проконсультировавшись с malotavr на данную тему, у меня сформировалась вполне объективная позиция относительно законности действий, осуществляемых при проведении пентестов.


Нужно понимать, что тестирование на проникновение при успешной атаке предполагает неосознанный (по неосторожности) доступ к конфиденциальной информации (коммерческой тайне), в том числе и к данным, защищаемые законом о ПДн, и к данным, составляющим банковскую тайну (когда мы говорим про тестирование на проникновение в банковском секторе). Под "неосознанным" доступом к данным следует понимать, что в момент анализа информации при эксплуатации различного рода уязвимостей, не всегда возможно однозначно сделать вывод о полезности этой информации для планирования дальнейших действий проведения атаки. Например, файл с именем "~$t.docx", хранящийся в каталоге "Temp" на компьютере системного администратора, может содержать в себе как информацию об информационной системе (имена пользователей и пароли в отрытом виде, список информационных ресурсов и т.д.), которая позволит спланировать дальнейшие действия проведения атаки, так и информацию, являющуюся коммерческой тайной обследуемой компании. Другой пример. При проведении тестирования на проникновение в корневой директории Web-сервера обнаружен файл "users.zip". Логично предположить, что пентестер скачает этот файл в надежде, что в нем содержится информация, которая позволит спланировать дальнейшую атаку. На практике в этом файле может содержаться вовсе не список пользователей, а конфиденциальные данные, которые не имеют никакого отношения к дальнейшему пентесту. Потому и заключаются соглашения о конфиденциальности и о неразглашении полученной информации между компаниями, предоставляющими услуги тестирования на проникновение, и компаниями, заказчиками подобных услуг. С другой стороны, в зависимости от организации самого тестирования на проникновение, многие действия пентестера могут быть строго регламентированы, например, в случае тесного взаимодействия со службой управления ИБ компанией заказчика в процессе проведения работ (получен доступ туда-то, можно провести то-то?).

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

Заключая договор между компанией предоставляющей услуги тестирования на проникновение и, например, коммерческой организацией, привязать действия, проводимые при пентесте к ст. 272 УК РФ никак не получится. Ведь обладатель информации и оператор ИС дали своё согласие на подобный доступ. Совсем по-другому обстоит дело с банковским сектором. Закон о Банковской тайне не дает право оператору ИС разрешить доступ третьей стороны к данным, составляющим банковскую тайну. И тут на помощь пентестеру приходит ст. 24 УК РФ (Формы вины). В п. 2 ст. 24 УК РФ содержится следующая формулировка: "Деяние, совершенное только по неосторожности, признается преступлением лишь в случае, когда это специально предусмотрено соответствующей статьей Особенной части настоящего Кодекса". Другими словами, если в соответствующей статье УК РФ отсутствует формулировка "по неосторожности", то считается, что привлечь к ответственности можно только в том случае, когда деяние было умышленным (преднамеренным). Теперь обратимся к ст. 183 УК РФ (Незаконное получение и разглашение сведений, составляющих коммерческую, налоговую или банковскую тайну). В указанной статье отсутствует формулировка "по неосторожности", следовательно, получение сведений, составляющих банковскую тайну должно быть умышленным. Но! Пентестер не собирался получать доступ к банковской тайне! Если в процессе проведения тестирования на проникновение он и получил к ней доступ, то этот доступ был получен по неосторожности . Следовательно, состав преступления отсутствует.

Теперь разберемся со ст. 273 УК РФ "Создание, использование и распространение вредоносных программ для ЭВМ". Как я уже писал ранее, существует тонкая грань свойства вредоносности любого ПО. Например, санкционированная автоматизация системным администратором некоторых действий администрирования через групповую политику Active Directory является распространением вредоносных программ? А если этот сценарий скопирован из репозитария Microsoft? Уверены, что нет?

Проведем небольшой эксперимент. Скопируем функцию, приведенную на рисунке ниже, которая содержится в статье "Certificate Authority Monitor" (ресурсы TechNet, репозитарий скриптов).



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



То есть, сценарий приобрел свойство вредоносности только из-за того, что в нем отсутствуют комментарии.

Поэтому, правильная трактовка ст. 273 УК РФ должна быть следующей: "Вредоносной следует считать программу для ЭВМ, объективным свойством которой является её способность осуществлять неразрешённые обладателем информации уничтожение, блокирование, модификацию либо копирование этой информации или неразрешённые оператором информационной системы нарушения работы этой информационной системы (ЭВМ, системы ЭВМ или их сети), причём, те и другие действия – без участия и без предварительного уведомления вышеуказанных субъектов.". При такой интерпретации ст. 273 УК РФ ни системный администратор, устанавливающий RAdmin в тихом режиме, ни пентестер проводящий соответствующие работы, не нарушает законодательство РФ., т.к. действия и того и другого разрешены обладателем информации.

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

Тестирование на проникновение (пентест) — это комплексная проверка защищённости и безопасности через моделирование возможных атак и угроз. Тестирование является одним из ключевых методов оценки состояния ИБ.

Тестирование на проникновение проводится, чтобы:
— проверить, выдержит ли IT-инфраструктура попытку хакерского вторжения
— определить наиболее вероятные и опасные векторы атак на ваши системы
— сформулировать рекомендации по устранению выявленных недостатков

объекты тестирования

Анализ защищённости Web-приложений

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

Тестирование локальной сети

Проверка возможности атак изнутри компании. Возможна проверка как с предоставлением доступа на уровне рядового сотрудника, так и просто подключение к сети организации.

Анализ защищённости внешнего периметра

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

Социальный пентест

Тестирование методами социальной инженерии проверяет знания сотрудников в области информационной безопасности. Помогает предотвратить реальные угрозы в случае кибератаки путём взаимодействия злоумышленника с сотрудниками.

Анализ защищённости Wi-Fi

Исследование безопасности Wi-Fi сетей, которое позволит оценить возможность проникновения во внутреннюю сеть организации по беспроводному каналу.

Red Team

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

Модели тестирования

BlackBox

В качестве исходных данных для тестирования исполнителю сообщается только имя компании или её сайт, а всю остальную информацию, такую как используемые компанией IP-адреса, сайты, точки выхода офисов и филиалов компании в сеть Интернет, исполнителю придётся выяснять самому.

WhiteBox

WhiteBox – полная противоположность BlackBox. В данном случае специалистам предоставляется максимум необходимой для них информации вплоть до административного доступа на любые сервера. Этот способ позволяет получить наиболее полное исследование уязвимости объекта.

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

GrayBox

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

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

Заказчик получает

В результате мы предоставляем заказчику подробный отчёт, который содержит:

— цель и границы проводимых работ
— состав и методику проведения работ по анализу защищённости
— перечень актуальных уязвимостей ИБ
— результаты проведённых проверок
— результаты эксплуатации актуальных уязвимостей ИБ
— рекомендации по устранению выявленных уязвимостей и повышению уровня защищённости


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

Кому и как часто необходимо проводить тестирование на проникновение?

По требованиям Положения Банка России № 382-П с 01.07.2018 г. банки должны ежегодно проводить тестирование на проникновение и анализ уязвимостей объектов информационной инфраструктуры.

Первый пентест и анализ уязвимостей банки должны были провести не позднее 31.06.2019 г. Требование вытекает из пункта 14.2 382-П, которое было введено указанием ЦБ № 4793-У от 07.05.2018 г.

Согласно пункту 3.2 Положения Банка России № 683-П в банках и НКО тестирование на проникновение также должно проводиться ежегодно.

В некредитных финансовых организациях (негосударственные пенсионные фонды, страховые компании, репозитарии, брокеры, дилеры и т.п.) согласно пункту 5.4 и пункту 6 Положения Банка России № 684-П пентест также должен проводиться ежегодно.

Какие объекты и информационные системы необходимо тестировать?

Тестировать нужно объекты информационной инфраструктуры банка или НФО, то есть информационные системы, на которых обрабатывается защищаемая информация.

Для банка это сайт, автоматизированная банковская система (АБС), система дистанционного банковского обслуживания (ДБО), рабочие места для обмена с платежными системами, АРМ КБР, процессинг и т.п.

Для НФО это личный кабинет, системы учета финансовой информации (1С и т.п.), шлюзы с внешними системами. Подробности можно найти в разъяснении Банка России для организации НАПФ по применению 684-П.

Какие требования предъявляются к организации, которая проводит пентест?

Банки и НФО могут проводить тестирование на проникновение самостоятельно, если имеют инструменты и компетенцию

В первую очередь сотрудники, проводящие тестирование на проникновение, должны быть компетентными. Это относится как к сотрудникам банка или НФО, так и к сотрудникам системных интеграторов.

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

Какие требования к пентесту предъявляет Банк России?

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

Стоит учесть, что представитель надзорного подразделения Банка России на XII Уральском форуме по информационной безопасности финансовой сферы в Магнитогорске заявил об ошибочности такого подхода. Представители Банка России неоднократно заявляли, что требования по проведению тестирования на проникновение введены, чтобы проверить и по итогам повысить уровень защиты информационных активов банка. Для этого требуется проводить как внешнее, так и внутреннее тестирование на проникновение.

Как проводится тестирование на проникновение?

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

Первым этапом проводится внешнее тестирование публичных сервисов Банка доступных из сети Интернет. Перечень ресурсов, время тестирования и критичность ресурсов оговариваются заранее.

Затем проводится внутреннее тестирование. Моделируются действия внешнего злоумышленника, уже попавшего во внутреннюю сеть банка (или внутреннего злоумышленника с минимальными правами). Банк предоставляет удаленный доступ с IP-адреса исполнителя к СВТ, размещенным в сети банка.

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

По согласованию с заказчиком тестирование также может проводиться методам социальной инженерии.


Тестирование на проникновение (pentest, Penetration Testing) является одним из наиболее эффективных способов анализа защищённости информационной системы компании или отдельных её элементов. Однако практическое воплощение пентеста вызывает много вопросов у заказчиков. Мы пригласили ведущих экспертов этого сектора отечественного ИБ-рынка, чтобы понять, кому нужна эта услуга, как правильно выбрать исполнителя и чего ожидать в результате пентеста.

Введение

В дискуссии приняли участие:

Модератор и ведущий конференции — Алексей Лукацкий, бизнес-консультант по безопасности Cisco.

Что такое пентест и для чего он нужен

Омар Ганиев:

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

Александр Зайцев:

Артём Мелёхин:

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

Вячеслав Васин:

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

Сергей Зеленский:

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

Александр Колесов:

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

Эксперты выделили два ключевых отличия пентеста и редтиминга от других проверок:

  • тестирование должно выполняться людьми;
  • результатом тестирования должна стать некоторая оценка найденных уязвимостей с учётом критической значимости затронутой инфраструктуры.

Рисунок 1. Какие методы анализа защищённости вы практикуете в своей компании в первую очередь?

Какие методы анализа защищённости вы практикуете в своей компании в первую очередь?

Спикеры AM Live отметили большое влияние регулирующих актов на отрасль. Как рассказали некоторые эксперты, большинство клиентов обращаются к специалистам по тестированию защищённости только получив соответствующие требования контролирующих органов. Лишь незначительная часть заказчиков покупает услуги пентеста для экспертной оценки состояния периметра и средств безопасности. Ключевым драйвером рынка с точки зрения регуляторики сейчас является Банк России.

Как выбрать хорошего пентестера

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

Наши эксперты отметили следующие важные критерии оценки пентестеров:

  • Команда.
  • Опыт и экспертиза.
  • Репутация и налаженные процессы.
  • Наличие сертификатов, наград, аттестаций.

Однако, как точно подметил ведущий онлайн-конференции, многие из этих факторов трудно формализуемы и не всегда дают адекватную картину. Спикеры возразили на это, что рынок тестирования на проникновение в России весьма узок — квалифицированные команды пентестеров есть у 10–20 специализированных компаний. Эксперты порекомендовали потенциальным заказчикам предварительно поинтересоваться личностями конкретных исполнителей анализа защищённости, ознакомиться с их резюме и на основании этих данных делать вывод о квалификации подрядчика.

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

Один из вопросов, которые мы задали зрителям прямого эфира, также касался выбора пентестера. Результаты опроса на эту тему показали, что большинство компаний выбирают поставщиков таких услуг по референсам — этот вариант отметили 36 % респондентов. Известность компании является ключевым фактором для 21 % опрошенных, а сертификация специалистов — для 17 %. Цена имеет решающее значение для 15 %. Ещё 11 % в первую очередь обращают внимание на число выполненных проектов.

Рисунок 2. Как вы выбираете пентестера?

Как вы выбираете пентестера?

Рисунок 3. Что повлияло на ваше первое обращение к пентестерам?

Что повлияло на ваше первое обращение к пентестерам?

Как долго выполняется пентест и как часто он должен проводиться

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

Что касается частоты проведения тестирования на проникновение, то, по мнению спикеров AM Live, в идеале пентест должен проводиться с такой же частотой, с какой обновляется целевое приложение. Если же речь идёт о тестировании системы безопасности, то непрерывный пентест неэффективен — большинство экспертов согласились, что такой анализ достаточно проводить 2–3 раза в год.

Рисунок 4. Как часто вы проводите пентест?

Как часто вы проводите пентест?

Что должен включать в себя отчёт о пентесте

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

Структура отчёта чаще всего включает в себя резюме с основными выводами (executive summary), перечень найденных уязвимостей, рекомендации, а также детальное описание процесса тестирования. По желанию заказчика в отчёт могут быть включены ссылки на базы уязвимостей ФСТЭК России или техник MITRE, но это явление не носит массового характера. Такие требования более характерны для отчёта о работе Red Team.

Кто должен проводить пентест

Эксперты отметили, что в их компаниях существует правило регулярно обновлять команду тестировщиков, работающих на одном проекте; кроме того, подобные требования иногда выставляет и сам заказчик.

Кто проводит пентест у зрителей онлайн конференции? Большинство участников опроса (37 %) утверждают, что выполняют тестирование на проникновение самостоятельно. Ещё 23 % пользуются услугами компании специализирующейся на анализе защищённости. Обращаются за помощью к интеграторам 13 % респондентов, а 3 % размещаются на краудсорсинговых площадках Bug Bounty. Другими вариантами проведения пентеста пользуются 24 % участников опроса.

Рисунок 5. Кто проводит у вас пентест?

Кто проводит у вас пентест?

В заключении беседы мы узнали у зрителей прямого эфира, изменилось ли их мнение относительно пентестов после просмотра онлайн-конференции. Большинство (40 %) опрошенных заявили, что заинтересовались этой темой и планируют начать пользоваться этим средством обеспечения безопасности. Четверть респондентов отметили, что это — интересный способ повышения уровня ИБ, но их компания ещё не готова к его использованию. Считают тестирование на проникновение более хайпом, чем рабочим ИБ-инструментом, 13 % опрошенных, а ещё 11 % отметили, что участники дискуссии были недостаточно убедительны и не смогли объяснить преимуществ пентеста. Не поняли, о чём шла речь во время прямого эфира, также 11 % зрителей.

Рисунок 6. Каково ваше мнение относительно пентестов после эфира?

Каково ваше мнение относительно пентестов после эфира?

Выводы

Пентест — это универсальный инструмент анализа защищённости. Он может быть использован как для тестирования всей инфраструктуры безопасности компании, так и для поиска уязвимостей в отдельных её компонентах и даже конкретных программных продуктах. Тестирование на проникновение по своим методам отличается от редтиминга, сканирования уязвимостей и работы BAS-систем. Результатом пентеста является не только перечень обнаруженных недостатков, но и отчёт с рекомендациями по их устранению. Пентестер старается не просто найти уязвимость, но пройти путь потенциального злоумышленника — из заданной скоупом точки начала атаки до целевой системы.

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

Читайте также: