Сайт о телевидении

Сайт о телевидении

» » Комплексный тест на проникновение. Тестирование Белого ящика. Сложность эксплуатации – легко

Комплексный тест на проникновение. Тестирование Белого ящика. Сложность эксплуатации – легко

Тестирование на проникновение (penetration testing, пентест) является одной из разновидностей аудита информационной безопасности и относится к популярным во всем мире услугам ИБ. Задачей аудиторов является санкционированное проникновение через существующие средства защиты. То есть аудитор играет роль потенциального злоумышленника.

Зачем же нужны подобные аудиты? Профессионалы и гуру менеджмента ИБ давно ломают копья на тему: «приносит ли пентест пользу?». Однозначных выводов нет до сих пор. Есть как защитники пентестов, так и их горячие противники, которые считают, что пентест не может адекватно проиллюстрировать состояние ИБ, да и не зачем его проводить, так как безопасники и так все знают. Мы являемся сторонниками версии, что пентесты все же полезны. В целом, можно выделить четыре случая, в которых организации заказывают подобные услуги:

  1. Требуется доказать несостоятельность защиты;
  2. Придать импульс ИБ внутри организации;
  3. Проконтролировать текущую ситуацию, получить независимую оценку;
  4. Обязательные случаи, предписываемые комплайенсом.

Службы ИБ многих организаций самостоятельно проводят подобные аудиты, либо один из этапов тестирования на проникновение: сканирование уязвиомстей, однако в рамках статьи мы будем рассматривать только аудиты, проводимые сторонними организациями.

Следует также расшифровать два понятия, используемых профессионалами: «белый ящик» и «черный ящик». «Белым ящиком» называется пентест, при котором аудитор обладает полной информацией о структуре сети и применяемых средствах защиты. Как правило, в этом случае, аудит проводится в тесном взаимодействии с ИТ и ИБ службами заказчика. «Черным ящиком», как следует из названия, называется подход, когда аудитор не знает ничего о тестируемом объекте. Оба подхода имеют право на существование. «Белый ящик» удобен тем, что тестирование можно легко спланировать и избежать потенциально опасных для сети заказчика моментов. С другой стороны, если системы защиты не способны выдержать любую атаку аудитора, то грош им цена. Хотя случаи, когда системы заказчика «падают», не выдержав тестирования из-за совсем уж некорректной настройки оборудования, достаточно часты. «Черный ящик» намного ближе к имитации действий злоумышленника, хотя профи взлома обычно заранее готовятся и собирают всю доступную информацию об объекте, поэтому тяжело представить, что взломщик совсем уж ничего не знает. В результате сочетания достоинств каждого метода, на свет появился третий подход: «серый ящик», представляющий собой нечто среднее между двумя вышеупомянутыми.

В процессе подготовки коммерческого предложения на тестирование, заказчик и исполнитель обычно согласовывают не только сроки и стоимость работ, но и применяемый метод, а также форму представления результатов. Как правило, по завершении аудита, заказчик получает отчет, в котором перечисляются обнаруженные исполнителем недостатки системы защиты, а также возможность их эксплуатации. Зачастую, отчет разделяют на тестирование внешнего сегмента сети (интернет, DMZ – демилитаризованная зона) и внутреннего. В подавляющем большинстве случаев, заказчика особо интересует – возможно ли проникновение снаружи во внутреннюю сеть? Хотя конечно, круг потенциальных злоумышленников, отнюдь не ограничивается мифическими хакерами, даже скорее наоборот, чаще всего, злоумышленником является бывший или настоящий сотрудник организации. В практике автора был случай, когда в многофилиальном банке, в одном из далеких от Москвы филиалов, инкассатор притащил на работу диск с программами для взлома, который был приложен к одному из номеров журнала «Хакер», и не придумал ничего лучше, как опробовать эти программы на рабочей сети. Конечно, его действия были замечены системой обнаружения атак, и в результате, ему пришлось долго объяснять службе безопасности, что на самом деле, ничего плохого он сделать не хотел.

Разбиение на внешний и внутренний тест может также преследовать собой использование разных методов тестирования. Обычно на внешнем сегменте, аудиторам не дают никакой информации о сети, зато позволяют «оторваться на полную», используя любые методы атак. После завершения внешнего тестирования, внутреннее уже проходит по согласованию с ИТ и ИБ службами. Для проведения тестирования аудиторы обычно пользуются собственными компьютерами, но при внутреннем тесте может использоваться и стандартная рабочая станция.

Заказчиком тестов внутри организации чаще всего выступают ИБ- или ИТ-директора, которые могут преследовать различные цели.

Само тестирование в общем виде проходит по следующему сценарию:

  • Сбор информации о сети и пользователях (сотрудниках) Заказчика. Используются общедоступные источники информации (интернет, новости, форумы, конференции, социальные сети). На данном этапе, чаще всего, удается установить список адресов Заказчика в сети интернет, принадлежащие ему домены, а также ответственных лиц. Иногда удается получить список е-мейлов/логинов сотрудников Заказчика, которые в дальнейшем могут использоваться при взломе.
  • Проводится первичное тестирование найденных узлов (так называемый «пробинг»). По реакции на внешнее воздействие составляется карта сети, определяются типы устройств и установленное программное обеспечение. Далее идентифицируются потенциальные уязвимости сетевых служб и приложений.
  • Детальный анализ всех ресурсов и приложений, расположенных во внешнем сегменте сети. С помощью специальных программ – сканеров и ручными методами детектируются следующие уязвимости: внедрение операторов SQL (SQL Injection), межсайтовое исполнение сценариев (Cross-Site Scripting), подмена содержимого (Content Spoofing), выполнение команд ОС (OS Commanding), уязвимости, связанные с некорректной настройкой механизмов аутентификации и авторизации и пр.
  • Производится эксплуатация найденных уязвимостей. Для некоторых используются общедоступные утилиты (обычно называемые эксплоитами), а часть требует разработки специальных программ. Здесь в полной мере проявляется квалификация аудитора.

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

Помимо вышеперечисленных приемов, в ходе тестирования также проводится проверка устойчивости сети. На канальном уровне проводятся атаки на соответствующие протоколы (STP, VTP, CDP, ARP). При возможности, проводится анализ сетевого трафика с целью перехвата важной информации (пароли или хеши паролей пользователей, документы и т.д.). Например, атаки типа ARP-poisoning (подмена ARP-кеша) как раз и проводятся для перехвата трафика с хоста жертвы. Полученные подобным образом хеши паролей можно «раскрутить» с помощью специального программного обеспечения. Аналогично проводится проверка устойчивости маршрутизации путем фальсификации маршрутов и проведения атаки типа отказ в обслуживании против используемых протоколов маршрутизации. В нашей практике был случай, когда в одной крупной организации сотруднику – разработчику ПО выделили новый компьютер. Следует отметить, что разработчики, в силу своей профессии и реальной служебной необходимости, часто имеют административные права на своей рабочей станции. Сотруднику было необходимо перенести информацию со своей старой машины на новый компьютер. Для этого он включил новый компьютер в сеть и стал настраивать сетевой доступ. Открыл настройки на своем старом компьютере, чтобы посмотреть IP-адрес и забил точно такой же на новом компьютере. Естественно, что два одинаковых IP-адреса в сети существовать не могут, поэтому перенос информации не удался. Тогда этот сотрудник поменял IP-адрес на новом компьютере на другой, снова подсмотрев его на старом компьютере. В результате он забил в графу IP-адрес маршрутизатора, и как только применил настройки, в сети произошло распространение изменений таблиц маршрутизации. То есть все пакеты, которые должны были направляться на маршрутизатор, стали приходить на новый компьютер разработчика. Конечно, такого не должно было случиться, коммуникационное оборудование было настроено не корректно. Итогом таких неграмотных, но, казалось бы, невинных действий сотрудника, стал двухчасовой перерыв в работе организации, так как на целом ряде серверов пришлось вручную чистить таблицы маршрутизации.

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

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

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

Последнее время, помимо тестирования технической устойчивости к взлому, организации все чаще заказывают проверки сотрудников, для выявления уровня осведомленности персонала о требованиях и угрозах в области информационной безопасности. Такое тестирование проводится методом «социальной инженерии», когда аудитор звонит сотрудникам и, по заранее разработанному сценарию, пытается получить доступ к конфиденциальной информации, например логину и паролю. Приведем пример такого разговора: «Добрый день! Вас беспокоят из IT Help Desk, скажите с Вашим компьютером сегодня проблемы были? Тут у нас небольшие проблемы, Ваш аккаунт необходимо синхронизировать. Скажите имя Вашей учетной записи как пишется?.... Так, а домен?.... Ок, через 5 мин можете работать. Чтобы вас не беспокоить больше, скажите пароль?.... А Вы еще с какими-нибудь ресурсами работаете? » Такое тестирование стало широко известно благодаря Кевину Митнику, человеку, имя которого навеки вписано в историю компьютерных взломов.

Благодаря своему мягкому, располагающему голосу, Митник научился входить в доверие даже к самым настороженным людям. Совмещая навыки социальной инженерии со своими компьютерными талантами, он мог проникнуть в любую, даже самую защищенную систему. Кевин по-прежнему жил с матерью в пригороде ЛА Сан-Фернандо и Роско часто заезжал за ним на своем потрепанном форде. Приятели отправлялись на съемную квартиру, где их уже ждал компьютер с модемом, запасались фастфудом и всю ночь блуждали по коммерческим сетям. День за днем они собирали логины, пароли, номера счетов и другую подобную информацию. Уже не оставалось ни одной компьютерной системы в округе, где бы не успела побывать эта парочка. Каким бы защищенным не был сервер, они всегда находили способ пробраться внутрь. Чтобы добиться своего, Кевин и Роско не брезговали копаться в мусорных баках компаний в поисках полезных распечаток, а один раз даже проникли в здание будущей жертвы - фирмы U.S.Leasing. Несмотря на то, что полиция однозначно подозревала Митника (ни у кого в Лос-Анджелесе к тому времени не было столь откровенной репутации), взломы делались столь профессионально, что не было ни одной зацепки.

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

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

06.12.2012

При проведении есть несколько видов сбора и оценки информации. Наиболее популярным во всём мире является тестирование на проникновение (пентест) . Он может проводиться в составе аудита информационной безопасности ресурса или же, как самостоятельная работа.

Тестирование на проникновение (он же пентест , penetration testing , pentest , или тест на преодоление защиты) – метод определения защищённости ресурса путём санкционированного моделирования хакерской атаки.

Тестирование на проникновение состоит из следующих этапов:

  1. 1) Планирование теста
  2. 2) Идентификация уязвимостей
  3. 3) Попытка эксплуатации уязвимостей
  4. 4)Создание и предоставление отчёта
  5. 5) Устранение уязвимостей

Иногда, после устранения уязвимостей, появляется необходимость в повторном проведении пентеста . В этом случае всё опять начинается с пункта 1 и заканчивается пунктом 5.

Теперь поподробнее о каждом этапе проведения тестирования.

Планирование пентеста

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

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

При согласовании целей и содержания задаётся регламент, устанавливающий порядок и рамки проведения работ; выбираются объекты исследования; задаётся модель поведения нарушителя и оговариваются режимы работы на основе первоначальных знаний исполнителя о ресурсе («Белый ящик», «Чёрный ящик») и информированности персонала заказчика о проводимых испытаниях («Белая шляпа», «Чёрная шляпа»).

Тестирование Белого ящика

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

Тестирование Чёрного ящика

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

Тестирование Белой шляпы

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

Тестирование Чёрной шляпы

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

Идентификация уязвимостей

Этот этап разделяется на:

Сбор информации о ресурсе и пользователях (сотрудниках). При этом используются общедоступные информационные ресурсы (социальные сети, электронная почта, новости);

Первичное тестирование найденных узлов («пробинг»). Изучается реакция ресурса на внешнее воздействие, составляется карта ресурса;

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

Попытка эксплуатации уязвимостей

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

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

Среди хакеров существует разделение на две категории:

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

Черные хакеры (Black hat) - переступают закон, похищают персональные данные, опустошают банковские счета.

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

Что входит в пентестинг (тест безопасности)?

В тестирование безопасности компании может входить:
  • Внешний анализ сети и периметра
  • Пентест (тест на проникновение)
  • Внутреннее тестирование сети
  • Поиск уязвимостей и эксплуатация
  • Социальная инженирия
  • Тестирование web-сайтов компании
  • Тестирование мобильных приложений компании
  • Отчет о тестировании и рекомендации

Точный список тестов определяется на этапе переговоров, после изучения потребностей клиента.

Стоимость тестирования на проникновение

Внешнее тестирование корпоративной сети

Стоимость по запросу

Тестирование (пентест) с проникновением

Стоимость по запросу

Тестирование web и мобильных приложений

Стоимость по запросу

Социальная инженирия

Стоимость по запросу

Тест безопасности "под ключ"

Стоимость по запросу

Расследование киберпреступлений

Стоимость по запросу


ВАЖНО

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

Защитите свою компанию от кибер угроз!

Так что же такое пентест?

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


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

Этиология системной уязвимости

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

  • погрешность проектирования,

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

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

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

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

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

  • нехватка знаний. Отсутствие должного уровня профессиональной подготовки в вопросах безопасности у непосредственно или опосредованно связанных с использованием системы специалистов.

Тестирование отличается от оценки степени уязвимости

Несмотря на родство цели их использования. А именно, поиск и организация максимально безопасного программного продукта. Работают они по-разному.


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


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


Так определение степени уязвимости представляет собой установленный рабочий процесс. А тестирование проникновением действует «по обстановке» с единой целью максимально сильно воздействовать на системы для выявления прорех в ее защите.

Для чего это нужно

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

Подобный мониторинг позволяет:

  • найти слабые/уязвимые места в системе до того, как они будут подвержены внешним негативным воздействиям и дадут прореху для утечки данных. Это прекрасная альтернатива частых обновлений системы. Потому как последние влияют на сочетаемость и скорость работы ранее отлаженной без их учета системы. Обновления лучше контролировать, чем проводить бесконтрольно;

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

Процесс мониторинга

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

Тестирование в ручную проводится по нижеследующему алгоритму

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

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

  • анализ выявленных результатов. Данный этап позволяет выявлять самые уязвимые места, которые будут использоваться для проведения дальнейшего агрессивного проникновения в систему,

  • использование полученных результатов. На основе выявленных мест «легкого проникновения» систем защиты производится подготовленная агрессия на ПО причем как в виде внешних, так и внутренних атак. Внешнее воздействия – это угроза системы из вне, где происходит сэмулирование прямых внешних угроз, воздействующих на систему, и специализированных попыток несанкционированного доступа к данным защищенной от этого системы. Внутренние атаки представляют собой второй этап воздействия, начинающийся после успешного проникновения в систему из вне. Спектр целей их дальнейшего воздействия широк и разнообразен. Главная из них компрометация той системы, в которую они проникли,

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

  • Тестирование посредством автоматизированных инструментов представляет собой не только эффективный, но весьма полезный момент использования узкоспециализированных инструментов. Пользоваться им удобно, затраты времени минимальные, а результативность позволяет создавать «кристально чистые» заключения о проделанной работе.


    К списку самых популярных инструментов относят: Nessus, Matesploit, Nmap, OpenSSL, Wireshark, w3af . Много интересного и функционального предлагают системные сборники от Linux.


    Для работы выбирают инструменты, отвечающие определенным запросам, к примеру:

    • практичность запуска, пользования и дальнейшего обслуживания,

    • простота сканирования,

    • уровень автоматизации при обнаружении уязвимых мест,

    • степень доступности тестирования ранее обнаруженных слабых для внешних атак областей,

    • степень возможности в создании детализированных и простых отчетных документов по проведенных работах и полученных результатах.

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

    Разновидности испытаний на предмет проникновения

    Разделение производится в зависимости от применяемых инструментов и объектов мониторинга:


    • социальная или человеческая, где подключается люди, которые могут удаленно или месно необходимую информацию и четко ее обрабатывать,

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

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

    • клиентская часть, использует в работе специальных приложений, установленных на сайте или в приложении клиента,

    • удаленный доступ проводится путем vpn тестирования, либо подобного объекта, позволяющего обеспечить должный доступ к данной системе,

    • беспроводное подключение, имеет целью тестировать беспроводные приложения, сервисы и их инструменты.

    Классификация методик мониторинга проводится и с учетом типа подхода к его проведению. Что позволяет выделять:

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

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

    • серый или ограниченный доступ к информации о системе, достаточный для создания имитации внешней атаки.

    Границы тестирования на проникновение

    Ограничений диапазона подобного воздействия много, но к основным стоит отнести:

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

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

    • возможность появление отказа на проникновение со стороны системы,

    • высокая степень уязвимости полученных данных.

    Заключение

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


Базовым инструментарием, используемым для проверки защищенности системы, являются средства для автоматического сбора данных о системе и тестирования на проникновение. Предлагаем рассмотреть принцип работы подобных средств на примере продукта Rapid7 Metasploit от компании Rapid7 - одного из ведущих производителей аналитических решений для информационной безопасности, который с высокими оценками входит в рейтинги влиятельных исследовательских и консалтинговых компаний, включая Gartner и Forrester.

Введение

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

В Российской Федерации значимым фактором, определяющим необходимость проводить тестирование на проникновение, являются требования регуляторов. Последние рассматривают проверку эффективности системы защиты как крайне важную меру, и соответствующие положения включены в нормативно-методические документы. В первую очередь в этой связи уместно упомянуть нормативные документы, под действие которых подпадает значительное число информационных систем, - приказы ФСТЭК России № 17 и 21.

В этих документах определена мера защиты в виде «испытания системы защиты информации путем осуществления попыток несанкционированного доступа (воздействия) к информационной системе в обход ее системы защиты информации» на этапе аттестации. Аттестация информационных систем, предполагающая проверку эффективности системы защиты, востребована также для информационных систем, обрабатывающих государственную тайну.

В международном масштабе целесообразно отметить стандарт безопасности данных индустрии платежных карт PCI DSS (Payment Card Industry Data Security Standard). Соответствие положениям стандарта PCI DSS является обязательным для всех организаций, вовлеченных в обработку платежных карт Visa и MasterCard: торгово-сервисных предприятий, процессинговых центров, эквайеров, эмитентов и поставщиков услуг, а также всех прочих организаций, которые хранят, обрабатывают или передают данные о держателях карт и чувствительные аутентификационные данные. Положениями стандарта предусмотрено проведение анализа уязвимостей и тестирования на проникновение как внутри, так и снаружи сети информационной системы. Внешний и внутренний тесты на проникновение должны проводиться не реже одного раза в год и после любых значительных модификаций или обновлений инфраструктуры/приложений.

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

Очевидно, что для всех перечисленных целей наиболее востребовано интегрированное решение для управления угрозами, охватывающее сетевую безопасность, безопасность веб-приложений, безопасность баз данных и стратегии тестирования проникновения, и содержащее функциональность, достаточную как для соответствия требованиям отечественных и международных нормативных документов, так и для использования в процессе обучения. К числу таких решений относится Rapid7 Metasploit производства компании Rapid7, которая была основана в 2000 году и является одним из лидирующих производителей продуктов для анализа и организации систем обеспечения информационной безопасности в ИТ-средах. Важным преимуществом программного обеспечения Rapid7 является возможность обзора состояния безопасности активов и пользователей в пределах любых сред, включая виртуальные и мобильные, а также публичные и частные облака.

Для оценки решения Rapid7 Metasploit можно воспользоваться решением того же производителя - демонстрационной уязвимой виртуальной машиной Metasploitable, оснащенной Ubuntu Linux. Виртуальная машина совместима с VMWare, VirtualBox и другими распространенными платформами виртуализации.

Важным подспорьем является то, что Rapid7 Metasploit совместим со сканером уязвимостей Rapid7 Nexpose, может инициировать его запуск, а также использовать результаты работы последнего.

Рассмотрим общий порядок работы с Rapid7 Metasploit.

Как работать с Rapid7 Metasploit

В общем виде работа с Rapid7 Metasploit состоит из следующих этапов:

  1. Создание проекта. Проект содержит рабочее пространство, которое используется для создания теста на проникновение, и конфигурацию планируемых к выполнению задач. Каждый тест на проникновение запускается из собственного проекта.
  2. Сбор информации. На этом этапе Rapid7 Metasploit собирает информацию о целевой сети: установленные операционные системы, открытые порты, запущенные хосты и процессы. На этом этапе также может использоваться сканер уязвимостей Rapid7 Nexpose. Во время проведения сканирования все полученные данные автоматически сохраняются в проект.
  3. Использование эксплойтов. Атака может выполняться вручную или с использованием базы эксплойтов. Здесь используются данные о сети, полученные на этапе 2.
  4. Действия над скомпрометированной системой. После получения доступа используется полезная нагрузка эксплойта, с помощью которой инициируются интерактивные сеансы для сбора дополнительной информации а также появляется возможность использовать постэксплуатационные модули для автоматического сбора сохраненных в операционной системе и приложениях паролей, скриншотов, снимков с веб-камер, записи нажатий клавиш, сбора конфигурационных файлов, запуска приложений и др.

Сравнение редакций Rapid7 Metasploit

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

  • Framework
  • Community
  • Express

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

  • Сбор данных о характеристиках компонентов и сетевых уязвимостях.
  • Тестирование на проникновение.
  • Выполнение задач фишинга.
  • Тестирование веб-приложений.
  • Формирование отчетов.
  • Управление.

Таблица 1. Сравнение редакций Rapid7 Metasploit

Характеристика Pro Express Community
Импорт данных сканирования
(Scan data import)
Сканирование с обнаружением
(Discovery scan)
Интеграция с системой управления уязвимостями Nexpose
(Nexpose scan integration)
Экспорт данных
(Data export)
Ручной запуск эксплойтов
(Manual exploitation)
Веб-интерфейс
(Web interface)
Управление сеансами
(Session management)
Управление учетными данными
(Credential management)
Проникновение через опорный пункт
(Proxy pivot)
Модули, исполняемые после компрометации
(Post-exploitation modules)
Очистка сеанса
(Session clean up)
Методом подбора
(Bruteforce)
Сбор свидетельств
(Evidence collection)
Протоколирование проверки
(Audit Report)
Отчетность о деятельности
(Activity Report)
Отчетность о скомпрометированных и уязвимых хостах
(Compromised and Vulnerable Hosts Report)
Отчетность об учетных данных
(Credentials Report)
Отчетность о работе сервисов
(Services Report)
Повторное использование учетных данных
(Credentials reuse)
Попытка обхода антивируса
(Anti-virus evasion)
Попытка обхода систем обнаружения и предотвращения вторжений
(IPS/IDS evasion)
Перезапуск сеанса
(Session rerun)
Технологический процесс компрометации
(Exploitation workflow)
Воспроизведение задач
(Task replay)
Маркировка данных
(Tagging data)
Отчетность о соответствии PCI DSS
(PCI Report)
Отчетность о соответствии FISMA
(FISMA Report)
"Мастер" для быстрого тестирования на проникновение
(Quick PenTest Wizard)
"Мастер" для проверки уязвимостей
(Vulnerability Validation Wizard)
Интеграция с системой сканирования качества кода Sonar
(Project Sonar integration)
"Мастер" для фишинга
(Phishing Wizard)
Социотехнический анализ
(Social engineering)
"Мастер" для тестирования веб-приложений
(Web App Testing Wizard)
Тестирование веб-приложений
(Web app testing)
Проникновение через опорный пункт с использованием VPN-туннелирования
(VPN pivoting)
Генератор полезных нагрузок
(Payload generator)
Макросы, исполняемые после компрометации
(Post-exploitation macros)
Постоянные сеансы
(Persistent sessions)
Мета-модули
(MetaModules)
Работа в команде
(Team collaboration)
Цепочки задач
(Task chains)
Резервирование и восстановление
(Back up and restore)
Настраиваемая отчетность
(Custom reporting)
Социотехническая отчетность
(Social Engineering Report)
Отчетность по оценке веб-приложений
(Web Application Assessment Report)

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

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

Выводы

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

Еще несколько отличительных характеристик Rapid7 Metasploit:

  • Возможность выбора редакции, удовлетворяющей потребностям в частном случае.
  • Возможность использовать результаты анализа уязвимостей от сторонних решений.
  • Возможность тренировки на специально разработанной уязвимой системе.
  • Интеграция продукта (в редакции Framework) с Linux-дистрибутивами:
    • Kali linux
    • Backtrack linux (поддержка прекращена)
    • Pentoo
    • BlackArch
    • Backbox

Rapid7 Metasploit имеет несколько ограничений уровня эксплуатации, которые целесообразно учитывать:

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

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

Чем полезны пентесты

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

Пентестер находит и эксплуатирует уязвимости в сетевом оборудовании, средствах защиты информации, серверном, системном, прикладном ПО, узнаёт, насколько актуальны знания сотрудников атакуемой организации в области ИБ. «Перспективный мониторинг» даёт заказчикам подробные рекомендации, как можно устранить обнаруженные уязвимости или принять компенсационные меры, и, если необходимо, помогает это сделать.

Регулярные периодические пентесты помогают оценить уровень защищённости информационной системы в динамике (меняются настройки средств защиты, приходят и уходят люди, появляются новые атаки) и ответить на вопрос - «Наша защита стала лучше после того, как мы поставили эту „железку“ за кучу денег?!». Пентестеры «Перспективного мониторинга» выясняют, насколько группа реагирования на инциденты готова противостоять действиям злоумышленника.

Также регулярное тестирование на проникновение - требование PCI DSS и ISO 27001. Согласно этим стандартам пентесты проводятся ежегодно или после существенных изменений в информационной инфраструктуре.

Приказы ФСТЭК России № 17, № 21 и № 31 требуют анализировать защищённость информационных систем. Приказ № 21 содержит требование к периодичности - не реже одного раза в 3 года.

Виды тестов на проникновение

Наша компания проводит три вида пентестов:

  1. Тест на проникновение, основанный на технических методах. В рамках него мы находим и эксплуатируем уязвимости оборудования и ПО. Мы используем инструменты автоматического и ручного тестирования, которые детектирует IPS/IDS заказчика. Поэтому этот вид пентеста проводится на заранее определённые системы в согласованное со службой ИБ время.
  2. Тест на проникновение, основанный на методах социальной инженерии. Мы проверяем уровень осведомлённости сотрудников заказчика в вопросах информационной безопасности. Любопытство, жадность и желание развлечься - лучшие инструменты злоумышленников, которыми они успешно пользуются. Для планирования атак мы пользуемся инструментами The Social Engineering Framework и Social Engineer Toolkit (SET).
  3. Социотехнический пентест. Он совмещает преимущества первых двух и помогает выявить наибольшее число вероятных направлений атак и уязвимостей.

Тесты отличаются по степени информированности пентестера о средствах защиты, сетевой инфраструктуре, аппаратном и программном обеспечении заказчика:

  • внешний без учётных данных,
  • внешний с учётными данными клиента,
  • внутренний без учётных данных,
  • внутренний с учётными данными клиента,
  • внутренний с учётными данными администратора.

Мы разработали собственную методику тестирования, которая базируется на Draft Guideline on Network Security Testing (от NIST), Open-Source Security Testing Methodology (OSSTM) и The OWASP Testing Framework.

Объекты исследований

  • СУБД.
  • Сетевые службы и сервисы (электронная почта, прокси, VoIP, FTP и пр.).
  • Протоколы различных уровней сетевой модели OSI.
  • Сетевое оборудование.
  • Беспроводные технологии.
  • Средства защиты информации.
  • Серверные и пользовательские операционные системы.

Сроки

Сбор информации - от 1 до 5 дней.

Подготовка к пентесту - до 5 дней.

Атака - 1–2 дня.

Подготовка отчёта - до 5 дней.

«Разбор полётов» с заказчиком - до 10 дней.

Обучение сотрудников заказчика - от 1 до 10 дней.

Результат

Отчёт о тестировании на проникновение содержит:

  • перечень проведённых тестов;
  • перечень выявленных уязвимостей с оценкой по методике Common Vulnerability Scoring System (CVSS);
  • описание способов эксплуатации уязвимостей для проведения атак;
  • описание применённых техник социнженерии с результатами проверки;
  • протокол действий службы реагирования;
  • рекомендации по устранению уязвимостей.

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