Testing laboratories play an important role in ensuring the quality, safety and compliance of products with requirements and standards, which, existing in market conditions, are forced to look for ways to improve their activities. The most frequently used method of strategic planning of enterprise development is SWOT analysis. This method allowed the water testing laboratory to identify its strengths and weaknesses, opportunities and threats of the external environment, and to build alternative development directions that contribute to maintaining a stable position in the market.
Key words: SWOT analysis, competitiveness, testing laboratory, strategic planning.
Makaeva Venera Ilgizovna, junior researcher, [email protected], Russia, Kazan, Federal Center for Toxico-logical, Radiation and Biological Safety, master's, Kazan National Research Technological University,
Ermolaeva Elena Alekseevna, candidate of chemical sciences, docent, [email protected], Russia, Kazan, Kazan National Research Technological University,
Almitova Lilia Ilgizovna, junior researcher, almitova. voda@mail. ru, Russia, Kazan, Federal Center for Toxico-logical, Radiation and Biological Safety, master's, Kazan National Research Technological University,
Shlyamina Oksana Viktorovna, candidate of chemical sciences, head of testing center, shlyamina@mail. ru, Russia, Kazan, Federal Center for Toxicological, Radiation and Biological Safety,
Makaeva Alsu Rinatovna, candidate of biological sciences, head of laboratory, msusik@yandex. ru, Russia, Kazan, Federal Center for Toxicological, Radiation and Biological Safety, master's, Kazan National Research Technological University
УДК 004.771:004.056.52
DOI: 10.24412/2071-6168-2024-4-282-283
МЕТОДИКА ОПЕРАТИВНОГО ВЫЯВЛЕНИЯ ТЕХНОЛОГИИ ICMP-ТУННЕЛИРОВАНИЯ В СЕТЕВОМ ТРАФИКЕ ИНФОРМАЦИОННО-ТЕЛЕКОММУНИКАЦИОННОЙ СИСТЕМЫ
О.М. Степанюк, О.И. Пантюхин, А.С. Подшибякин
В статье рассматриваются вопросы обеспечения информационной безопасности (ИБ) в информационно-телекоммуникационной системе (ИТКС) при реализации удаленного несанкционированного доступа (НСД) в обход современных средств защиты трафика с помощью ICMP-туннелирования. Исследованы особенности ICMP-протокола, позволяющие нарушителю ИБ осуществлять НСД к хостам ИТКС с помощью технологии ICMP-туннелирования. Проведен анализ существующих инструментов по выявлению рассматриваемого туннелирования сетевого трафика и возможных способов защиты. Представлена оригинальная методика по выявлению технологии ICMP-туннелирования в сети посредством разработанного инструмента, позволяющего проводить обработку pcap-файлов для синтаксического анализа находящихся в них данных и выявления необходимых параметров ICMP-протокола, указывающих на присутствие в сети реализации технологии ICMP-туннелирования. Показано, что оперативное решение поставленной задачи достигается за счет использования в предлагаемом инструменте функции gettingDataFromICMPTraffic с набором конкретных инструкций и команд.
Ключевые слова: информационная безопасность, межсетевой экран, ICMP-протокол, сетевой трафик, технология ICMP-туннелирования.
В настоящее время особенно остро стоит вопрос обеспечения кибербезопасности ИТКС различных организаций вследствие нарастающего с каждым годом количества инцидентов, связанных с реализацией кибератак. Анализ современного состояния информационной безопасности объектов ИТКС показал, что объективными причинами роста кибератак являются появление новых технологий по внедрению туннелирования в сеть, разработанных нарушителями ИБ. Заметим, что согласно статистическим данным Positive Technologies только за 2021 год из-за уяз-вимостей используемых сетевых протоколов 33 % российских компаний были подвержены различного рода кибе-ратакам.
На практике основными средствами защиты сети являются межсетевые экраны (МЭ), предназначенные для фильтрации доступа вредоносного контента к хостам сети и размещенные, как правило, на границе сетевого периметра. В настоящее время наиболее эффективными по обеспечению ИБ ИТКС являются МЭ компаний Cisco и Palo Alto Networks (серий NGFW), которые интегрированы с системами обнаружения и предотвращения вторжений в сеть, а также позволяют осуществлять не только блокировку потенциально опасных атак и нежелательных приложений, но и обеспечивать защиту от туннелирования, фильтрацию URL-адресов и т.п. [1].
Однако, МЭ не могут долговременно обеспечивать высокий уровень защищенности сетей вследствие постоянно упреждающей разработки новых технологий по преодолению существующих систем глубокой фильтрации инфицированного трафика. Кроме того, несмотря на постоянное совершенствование функциональных возможностей межсетевых экранов, существуют способы обхода их для проникновения в ИТКС, связанные с особенностями некоторых протоколов. Так, известный протокол межсетевых управляющих сообщений ICMP (Internet Control Message Protocol), входящий в стек протоколов TCP/IP, используется для проведения диагностики проблем при передаче IP-пакетов в компьютерной сети. Тем не менее, протокол ICMP может быть использован нарушителем ИБ для построения процесса туннелирования. Более того, так как отсутствуют механизмы проверки корректности информации, находящейся в сообщении протокола ICMP, атакующий может легко использовать канал его туннелирования для проведения злонамеренных действий или разрыва существующих соединений в сети.
282
По оценкам специалистов известно, что большая часть информационных систем не подготовлена к предотвращению угроз, вызываемых зловредным использованием ICMP-туннелирования. Кроме того, ICMP-туннелирование применяет технологию скрытой (в обход политики ИБ системы) передачи данных, что представляет серьезную опасность для сетевой безопасности многих организаций. В связи с этим, возникает необходимость в разработке новых инструментов и методики по выявлению туннелирования рассматриваемого протокола на основе анализа аномалий трафика с дальнейшей реализацией превентивных мер по защите сети от нежелательных воздействий нарушителей ИБ.
Особенности функционирования ICMP-протокола и технологии ICMP-туннелирования. Сегодня опасные угрозы ИБ сетевой инфраструктуры часто возникают из-за возможности проникновения в нее нарушителей при использовании ими скрытых каналов, происходящих, например, вследствие особенностей ICMP-протокола в обход различных аппаратно-программных средств защиты сетевого трафика и современных модификаций межсетевого экрана.
Известно, что каждое сообщение протокола ICMP передается по сети внутри пакета IP с его маршрутизацией без особенных приоритетов. Кроме того, данный протокол функционирует вместе с другими протоколами стека TCP/IP и протоколом пользовательских дейтаграмм (UDP). Характерной особенностью рассматриваемого протокола является то, что он выполняет роль средства по «слежению» за продвижением пакетов в сети, оповещая при их передаче узел-источник о возникающих аномалиях в трафике. Заметим, что ICMP-сообщения направляются пакетами только конечным узлам, где могут быть обработаны ядром ОС, протоколами транспортного и прикладного уровней или проигнорированы [2].
Формат пакета протокола ICMP, в основном, состоит из заголовка и раздела данных. Заголовок содержит информацию о типе пакета, его коде, контрольной сумме и идентификаторе. При отправке ICMP-пакетов получатель сообщения считывает информацию в заголовке и в зависимости от типа пакета принимает соответствующие действия. Раздел данных в ICMP-сообщении содержит, как правило, IP-адрес получателя, причину сбоя, а также коды ошибок или числовые коды, идентифицирующие эти ошибки.
Для диагностики сети ICMP-протокол использует команды утилит «ping» и «traceroute». Команда ping проверяет доступность сетевых устройств, отправляя пакеты эхо-запроса протокола ICMP на целевое устройство и, если оно доступно, возвращает эхо-ответ, благодаря чему проверяется задержка в сети и обеспечивается доступность хоста.
Команда traceroute отслеживает путь сообщений от источника до места назначения с помощью пакетов эхо-запроса и эхо-ответа. При этом эхо-запросы содержат значение времени жизни (TTL) пакета, которое уменьшается на единицу за каждое его прохождение через маршрутизатор. Когда пакет с нулевым значением TTL достигает маршрутизатора, он отправляет сообщение ICMP обратно к источнику, в котором содержится информация о маршруте, пройденном пакетом, что позволяет получить представление о производительности сети.
В то же время, ICMP-протокол, как и ряд других протоколов (например, DNS, IP, SSH и др.), может быть использован для проведения процесса туннелирования, т.е. когда один сетевой протокол инкапсулируется в другой, причем в качестве туннеля применяется протокол более высокого уровня, чем инкапсулируемый, или того же уровня, что приводит к созданию ICMP-туннелирования для скрытой взаимосвязи между двумя пользователями с помощью пакетов эхо-запроса и эхо-ответа. В связи с этим, появляется возможность внедрения «неконтролируемой» части передаваемых данных в область полезной нагрузки пакета несущего протокола.
Более того, следует заметить, что стандарт RFC 792 включает в структуру пакетов протокола ICMP поле «Data», содержимое и формат которого не регламентированы, что позволяет проводить инкапсуляцию любых данных.
Вместе с этим, для организации взаимодействия информационных сетей различного назначения через Интернет весьма перспективными являются сервисы облачного туннелирования трафика. Действительно, простота создания облачных туннелей привела к их широкой популярности среди многочисленных пользователей компьютерных сетей. Однако, нарушители ИБ без особых затруднений используют данное туннелирование для скрытия своего реального местоположения и агрессивного нападения с использованием вредоносных ресурсов на выбранную информационную инфраструктуру.
Как правило, сервис облачного туннелирования состоит из двух компонентов: клиентской части, к которой злоумышленнику необходимо организовать внешний доступ, и серверной части, перенаправляющей запросы клиентов на целевое устройство сети.
При этом клиентскую часть, подключенной к серверной части и функционирующей в облаке провайдера, сначала нужно скачать и запустить внутри сети с указанием адреса, для которого необходимо предоставить доступ из Интернета. Затем сервер провайдера выделяет доменное имя, на которое трафик будет переадресован в локальную сеть по туннелю между клиентской и серверной частью. Далее, с помощью такого туннеля можно обойти конфигурацию межсетевого экрана и получить без особых трудностей доступ к внутреннему периметру сети даже в том случае, когда сервис функционирует через трансляцию сетевых адресов.
Комбинация туннелирования и шифрования позволяет реализовать закрытые виртуальные частные сети (VPN). При этом создается виртуальный канал с использованием специальных программ и устройств (VPN-серверы, маршрутизаторы и т.п.), по которому зашифрованные данные передаются отправителем к получателю, где происходит их расшифровка, что позволяет обеспечить защиту информации от несанкционированного доступа к ней. В то же время, механизмом построения VPN-сетей при использовании оборудования и ПО различных производителей является набор защищенных сетевых протоколов Internet Protocol Security (IPSec), который аутентифицирует и шифрует пакеты данных для обеспечения безопасности связи между конечными точками туннеля по сети Internet Protocol. Кроме того, туннелирование ICMP-протокола может применяться для обхода правил брандмауэров посредством обфускации (блокировки VPN-трафика) передаваемых сообщений.
Нарушители ИБ с помощью скрытой передачи вредоносного кода внутри ICMP-туннеля приводят не только к нарушению функциональности ИТКС, но и серьезной компрометации любой организации. В связи с этим, возникает необходимость анализа существующих инструментов, а также разработки перспективных механизмов и методик по выявлению процесса туннелирования сетевого трафика и способов защиты от него.
В связи с вышеизложенным, несомненный интерес представляет проведение анализа возможностей существующих инструментов и подходов по выявлению ICMP-туннелирования в сети и способов по ее защите от вредоносного воздействия злоумышленников.
Современные инструменты выявления ICMP-туннелирования. В настоящее время существуют различные подходы к обнаружению ICMP-туннелирования. Так, о наличии туннелирования в трафике можно судить по следующим признакам его активности:
- значительный объем ICMP-трафика между компьютерами пользователей;
- появление аномальных размеров пакетов ICMP;
- очень большой и продолжительный поток трафика ICMP;
- наличие нестандартных дейтаграмм ICMP в запросах и ответах;
- отсутствие в запросах и ответах совпадающих идентификаторов и полезных данных стандартного размера;
- частое пингование с отправлением пустых эхо-запросов для создания туннелей через механизмы преобразования приватных IP-адресов.
Кроме того, для проведения и выявления ICMP-туннелирования можно использовать ряд нижеследующих инструментов [3].
ICMPSH - портативный набор инструментов с открытым исходным кодом для запуска обратных оболочек ICMP на языках C, Perl или Python поддерживает стандарт POSIX. Клиент работает на ОС Windows на языке C, а сервер - на атакующем компьютере с любой платформы. Инструмент может использоваться в качестве канала C2 без административных привилегий на целевой машине.
LOKI - программа для туннелирования данных, использующая пакеты эхо-ответа утилиты ping в качестве носителей полезной нагрузки. Используя уязвимости межсетевых экранов, LOKI туннелирует вредоносные команды в эхо-запросы ICMP и получает реакции на них в эхо-ответах.
007 Shell - клиент-серверная программа на языке C для удаленного администрирования системы с использованием техники, подобной Loki. Команды и ответные сообщения инкапсулируются в пакеты эхо-ответа протокола ICMP.
Ptunnel - инструмент для обфускации и туннелирования сетевого трафика на прокси-сервер через эхо-запросы и ответы протокола ICMP. Позволяет обнаруживать и повторно отправлять потерянные пакеты, обрабатывать несколько подключений и поддерживать аутентификацию.
Ptunnel-ng - модификация ptunnel с дополнительным функционалом, позволяющая инкапсулировать трафик SSH в пакеты ICMP для скрытого извлечения данных на скомпрометированный хост компьютерной системы.
Icmptunnel - инструмент аналогичный ptunnel, туннелирующий все IP-пакеты клиента, необходим для обхода порталов аутентификации Wi-Fi и шифрования полезной нагрузки протокола ICMP.
ICMPTX - программа для создания виртуального сетевого соединения между компьютерами, скрывающая данные внутри ICMP-пакетов. При установлении ICMP-туннеля отправляется эхо-запрос с пустым полем «Data» и определенным идентификатором для отличия от случайных запросов.
Hans - вспомогательная программа с функциями, аналогичными ICMPTX, использующая инкапсуляцию данных внутри ICMP-пакетов. Каждый байт программы отвечает за тип поступающей команды.
Заметим, что одним из вариантов выявления туннелирования является наличие конкретных особенностей ICMP-пакетов в процессе их анализа при использовании каждого из вышеприведенных инструментов.
Вместе с тем, в некоторых случаях рассматриваемую проблему можно частично решить с помощью следующих действий:
- сканирование проверяемых ICMP-пакетов для сравнения их со структурами и заголовками не туннели-рованных пакетов;
- составление «белых» списков с указанием конкретных хостов, для которых необходимо проведение диагностики;
- проведение анализа трафика для выявления в нем вредоносного кода с применением базы сигнатур.
Кроме того, необходимо отметить, что в сетях, использующих ОС Linux, для отправки модифицированных сообщений или подозреваемых на наличие вредоносного кода в ICMP-пакетах необходимо получить разрешение администратора ИБ системы.
Сегодня важными средствами выявления ICMP-туннелирования являются:
1. Межсетевое экранирование. Для безопасного взаимодействия внутренней сети организации с внешними, в том числе с сетью Интернет, необходимо использование межсетевых экранов. В настоящее время для проведения глубокой фильтрации сетевого трафика применяется межсетевой экран нового поколения NGFW (Next Generation Firewall), в состав которого включены системы обнаружения и предотвращения вторжений и обладающего современными способами контроля, и блокировки сетевого трафика на уровне приложений, что позволяет, в основном, своевременно обеспечить защиту ИТКС от кибератак. Тем не менее, практически сам по себе любой МЭ не может обеспечить полную безопасность сети, так как невозможно предусмотреть включение в его программные и аппаратные решения все средства защиты для предотвращения несанкционированного доступа к сети.
2. Протоколирование и аудит. Протоколирование практически обеспечивает регистрацию всех событий, происходящих в системе, в том числе сетевые взаимодействия по протоколу ICMP, что дает возможность в случае обнаружении сетевых аномалий провести анализ предпосылок к возникновению подобных ситуаций. Аудит системы позволяет оценить текущее состояние на предмет открытых для взаимодействия сетевых портов, запущенных процессов, использования памяти и т.п. С помощью пассивного аудита также существует возможность выявления аномальной сетевой активности.
3. Мониторинг производительности и технического состояния. Мониторинг производительности и состояния системы в рамках противодействия угрозам скрытой передачи данных через ICMP-туннели необходим для обнаружения и предотвращения возможных угроз безопасности. Он позволяет выявлять аномальную активность и незапланированные изменения в системе, а также отслеживать использование ее ресурсов и производительности при соответствующей современным требованиям технической оснащенности.
4. Использование системы антивирусной защиты (САВЗ). Данная система используется для обнаружения и блокировки вредоносного ПО, которое может быть передано через скрытые каналы передачи данных при помощи инкапсуляции в пакеты ICMP. САВЗ сканирует все входящие и исходящие файлы и проверяет их на наличие вирусов и других угроз. Если обнаруживается вредоносный код, модуль антивирусной защиты блокирует его и предупреждает пользователя о возможной угрозе. Для качественного функционирования САВЗ требуется постоянно обновлять базы вирусных сигнатур.
Таким образом, из проведенного анализа следует, что рассмотренные инструменты, программные средства и системы антивирусной защиты по обеспечению ИБ сети не позволяют в полной мере противостоять киберата-кам злоумышленников на информационную систему с помощью ICMP-туннелирования
В связи с этим, вследствие появления новых, более совершенных технологий анонимных проникновений злоумышленников в сеть, данная проблема требует разработки методики по выявлению ICMP-туннелирования и более совершенных инструментов по проведению тщательного контроля и фильтрации инфицированных ICMP-пакетов.
Методика выявления ICMP-туннелирования в сетевом трафике с помощью разработанного инструмента. Для установки туннелирования с помощью протокола ICMP между двумя персональными компьютерами предлагается использовать разработанный программный комплекс (ПК) icmpdoor [4]. Данный ПК выполнен на языке программирования Python с вариантами функционирования Release to manufacturing (стабильная версия программы, прошедшая все предыдущие стадии) для ОС Windows и Linux и открытым исходном кодом, где требуется устанавливать дополнительные библиотеки Python для обеспечения его корректной работы. Последний вариант комплекса может подвергаться некоторым изменениям для более изощренной атаки злоумышленника на персональный компьютер жертвы. При этом следует заметить, что указанный ПК может использоваться только внутренними злоумышленниками локальной сети организации.
Для проведения процесса туннелирования требуется на компьютере злоумышленника запустить один из инструментов комплекса (отвечающий за туннель со стороны злоумышленника) с помощью команды (рис.1 ):
:/opt/l Ln$ sudo ./icmp-спс.ру -i eth0 -d 192.168.178.71
Рис.1. Выполнение команды запуска туннелирования со стороны злоумышленника
При этом в атрибуте -I необходимо указать наименование сетевого интерфейса, а в атрибут ^ записать 1Р-адрес жертвы.
Затем на персональном компьютере жертвы необходимо запустить второй инструмент комплекса (отвечающий за туннель со стороны жертвы) с помощью команды (рис.2):
: $ sudo /tnp/incpdoor.py -i ens33 -d 192.168.178.67
Рис.2. Выполнение команды запуска пгуннелнрования со стороны жертвы
После выполненных действий, указанных выше, на компьютере злоумышленника в командной строке появится характерная запись «shell» (рис.3), что означает запуск интерпретатора командной строки, или shell (оболочка) -программа, которая принимает команды от пользователя и исполняет их.
■ : :/opt/!: : п$ sudo ,/iemp-спс.ру -i eth0 -d 192.16S. 178.71
shell:
Рис.3. Запуск интерпретатора командной строки
Таким образом, злоумышленник получил доступ к удаленному персональному компьютеру и может выполнять команды для компрометации системы (рис.4).
io!>:ali:/opt/bin$ sudo ./icmp-cnc.py -i ethB -d 192.168.178.71 shell: uname -a uname -a
shell: Linux ubuntu2004 5.4.0-53-generic #59-Ubuntu SMP Wed Oct 21 09:38:44 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
hostname
hostname
shell: ubuntu2004 id id
uid=0(root) gid=0(root) groups=0(root)
Puc. 4. Выполнение удалённых команд для компрометации системы
Исходя из вышеизложенного, можно сделать вывод, что с помощью рассмотренной методики по применению ПК icmpdoor нарушитель может беспрепятственно проникать в ИТКС, несмотря на контроль и фильтрацию сетевого трафика, осуществляемых программными или программно-аппаратными средствами компьютерной сети с жестко заданными правилами по защите информации в соответствии с принятой политикой безопасности организации.
Учитывая необходимость в оперативности контроля ICMP-трафика в ИТКС, на языке программирования Python разработан инструмент, позволяющий проводить обработку pcap-файлов для синтаксического анализа сетевого трафика и выявления необходимых параметров ICMP-протокола, которые указывают на присутствие в сети реализации технологии ICMP-туннелирования. Основной задачей разработанного инструмента является обнаружение в сетевом трафике таких типов ресурсных записей ICMP-протокола как Type: (Echo (ping) request).
На рис. 5 представлена функция gettingDataFromICMPTraffic (часть программного кода, который несет в себе набор инструкций или команд, решающих конкретную задачу) для оперативного выявления нелегитимных ICMP-пакетов в анализируемом трафике.
1 usage
def gettingDataFromONSTraffic(pkt): with opentpkt, 'rb') as file:
pcap_reader = dpkt pcap,Reader(file) for timestamp packet_data In pcap_reader
eth - dpkt ethernet.Ethernet(packet_data) if isinstonceCeth data, dpkt ip IP): ip = eth data
if isinstonce(ip data dpkt,icmp.ICMP): icmp = ip data
src_ip_addr_str = socket.inet_ntoa(ip.src) dst_ip_addr_str = socket.inet_ntoa(ip,dst) if icmp,type == B and icmp.code == 9 and icmp data seq == 9:
icmp_data = strdcmp data) . replaceC _old: ' 3r\\x0B\\x00', _new: ,,)[2:-l]
print('Src: ' + src_ip_addr_str +■>>'+ 'Dst: ' + dst_ip_addr_str) prlnt('Type:%d; Code:%d; Sequence Number:%s; Data: %s' %
Рис. 5. Функция gettingDataFromlCMPTraffic для выявления подозрительных сетевых ICMP-пакетов
Согласно предписанным условиям, используемая функция выявляет только те сетевые пакеты, которые явно указывают на присутствие в сети ICMP-туннелирования. Условие для параметра «Тип сообщения» должно быть равно 8 - это означает, что из трафика выбирается только пакеты, содержащие запросы протокола ICMP. Следующим жестким условием является выбор таких сетевых пакетов, где «Код сообщения» (конкретизирует назначение сообщения) равен нулю (данный параметр характерен для любых пакетов ICMP-протокола). Тем не менее, определяющим условием в данной функции является параметр «Номер последовательности» со значением, также равным нулю.
В легитимном трафике номера последовательности (Sequence Number) в ICMP-сообщении могут быть установлены по выбору отправителя и эти же значения будут возвращены сервером в отклике. Именно таким образом отправитель идентифицирует отклик на свой запрос.
Кроме того, реализации утилиты ping, присутствующие в Unix, устанавливают в поле идентификатора ICMP-сообщении идентификатор процесса, отправляющего запрос, что позволяет программе ping идентифицировать вернувшийся ответ, если на одном и том же хосте в одно и то же время запущено несколько программ ping.
Параметр «Номер последовательности» начинается с 0 и увеличивается на единицу каждый раз, когда посылается следующий эхо-запрос (рис.6). Утилита ping фиксирует номер последовательности каждого возвращенного пакета, позволяя определить: потерялся пакет, поменялась последовательность движения пакетов и был ли пакет продублирован. Так как IP-протокол является ненадежным сервисом доставки дейтаграмм, то любое из трех вышеперечисленных условий может появиться в процессе функционирования утилиты ping.
IIS 4.747971 119 4.748250
134 5.772092
135 5.772263
156 6.796249
157 6.796478
171 7.820225
172 7.820445
192.168, 192.168. 192.168, 192,168, 192.168, 192.168. 192,168, 192,168,
34.163 34.118 34,163 34,118 34.163 34.118 34,163 34,118
192.168. 192.168. 192.168. 192.168. 192.168. 192.168. 192.168. 192.168.
34.118 34.163 34.118 34.163 34.118 34.163 34.118 34.163
ICMP ICMP ICMP ICMP ICMP ICMP ICMP ICMP
98 ÎEcho (ping) request id=0x0006.
98 Echo (ping) reply
98 Echo (ping) request
98 Echo (ping) reply
98 Echo (ping) request
98 Echo (ping) reply
98 Echo (ping) request
98 Echo (ping) reply
id=0X0006, id=0X0006, id=0X0006, id=0X0006, id=0X0006, id=0X0006, id=0X0006,
seq=l/256, ttl=64 (reply in 119)
:q =1/256, seq=2/512, seq=2/512, seq=3/768, ;q=3/768, ïq=4/1024 seq=4/1024
tt1=128 (request in 118) ttl=64 (reply in 135) tt1=128 (request in 134) ttl=64 (reply in 157) tt1=128 (request in 156) ttl=64 (reply in 172) ttl=128 (request in 171)
Рис. 6. Номера последовательности при эхо-запросе
2445
2446
2447
2528
2529
2530 2812 2813 2815 2S16
2817
2818
2819
2820 2821 2823 2324
80.753243 80.753309 80.785641 87.619346 87.619400 87.657347 94.371223 94.371288 94.402034 94.403157 94.403995 94.404860 94.405694 94.406510 94.407364 94.408217 94.409061
192.168.
192.168. 192.168. 192.168. 192.168. 192.168. 192.168. 192.168. 192.168. 192.168. 192.168. 192.168. 192.168. 192.168. 192.168. 192.168. 192.168.
34,163 34.136 34,136 34,163 34.136 34.136 34,163 34,136 34.136 34,136 34,136 34.136 34.136 34,136 34,136 34.136 34,136
192.168.
192.168. 192.168. 192.168. 192.168. 192.168. 192.168. 192.168. 192.168. 192.168. 192.168. 192.168. 192.168. 192.168. 192.168. 192.168. 192.168.
34,136 34.163 34,163 34,136 34.163 34.163 34,136 34,163 34.163 34,163 34,163 34.163 34.163 34,163 34,163 34.163 34,163
ICMP ICMP ICMP ICMP ICMP ICMP ICMP ICMP ICMP ICMP ICMP ICMP ICMP ICMP ICMP ICMP ICMP
60 ¡Echo 50 Echo 47 Echo 60 Echo 44 Echo 134 Echo 60 Echo 50 Echo 101 Echo 119 Echo 115 Echo 103 Echo 97 Echo 97 Echo 92 Echo 109 Echo 43 Echo
(Ping)
request id=0x3372.
(Ping) (Ping) (Ping) (Ping) (ping) (Ping) (Ping) (ping) (Ping) (Ping) (Ping) (ping) (Ping) (Ping) (ping)
(ping)
reply
reply
request
reply
reply
request
reply
reply
reply
reply
reply
reply
reply
reply
reply
reply
id=0x3372, id =0x3372, id=0x3372, id=0x3372, id=0x3372, id=0x3372, id=0x3372, id=0x3372, id =0x3372, id=0x3372, id=0x3372, id=0x3372, id=0x3372, id=0x3372, id=0x3372, id=0x3372,
seq=0/0
seq=0/0 seq=0/0 seq=0/0 seq=0/0 >eq=0/0 seq=0/0 seq=0/0 seq=0/0 seq=0/0 seq=0/0 seq=0/0 .eq=0/0 seq=0/0 seq=0/0 eq=0/0 seq=0/0
ttl=64 (reply in 2446)
ttl=64 (request in 2445) ttl=64
ttl=64 (reply in 2529) ttl=64 (request in 2528) ttl=64
ttl=64 (reply in 2813)
ttl=64 (request in 2812)
ttl=64
ttl=64
ttl=64
ttl=64
ttl=64
ttl=64
ttl=64
ttl=64
ttl=64
Рис. 7. Номер последовательности при использовании ICMP-туннелирования
Из информации, представленной из рис. 7, видно, что при реализации ICMP-туннелирования параметр «Номер последовательности» всегда равен 0.
Таким образом, можно сделать вывод, что при использовании в локальной сети ICMP-туннелирования характер рассматриваемого ICMP-протокола будет всегда один и тот же.
Следует подчеркнуть, что ПК icmpdoor использует необязательное поле данных (Data) протокола ICMP для отправки сообщений полезной нагрузки обратной оболочки (Raw), размер которой может составлять до 576 байт. При этом указанный инструмент фрагментирует полезную нагрузку, если общий размер оболочки превышает 576 байт.
Кроме того, icmpdoor изменяет поле идентификатора эхо-запроса (ICMP Identifier) (рис.8) на статическое значение 13170, чтобы отфильтровать легитимные ICMP-пакеты и сопоставить их с обратной оболочкой ICMP.
286
2445
2446
2447 2523
2529
2530 2S12 2813 2S15 2316
2817
2818 2319 2820 2821 2323 2824
80.753243 80.753309 80.785641 37.619346 87.619400 87.657347 94.371223 94.371288 94.402034 94.403157 94.403995 94.404860 94.405694 94.406510 94.407364 94.403217 94.409061 Q/t лааап
192.163.34. 192.168.34. 192.168.34. 192.163.34. 192.168.34. 192.168.34. 192.163.34. 192.168.34. 192.168.34. 192.163.34. 192.168.34. 192.168.34. 192.163.34. 192.168.34. 192.168.34. 192.163.34. 192.16S.34.
1Q1 -1СЙ чл
163 136 136 163 136 136 163 136 136 136 136 136 136 136 136 136 136 12£_
192.163.34. 192.168.34. 192.168.34. 192.163.34. 192.168.34. 192.168.34. 192.163.34. 192.168.34. 192.168.34. 192.163.34. 192.168.34. 192.168.34. 192.163.34. 192.168.34. 192.168.34. 192.163.34. 192.16S.34.
-IQ-) -1СЯ чл
136 163 163 136 163 163 136 163 163 163 163 163 163 163 163 163 163
ICMP
ICMP ICMP ICMP ICMP ICMP ICMP ICMP ICMP ICMP ICMP ICMP ICMP ICMP ICMP ICMP ICMP
-ГГМР
60 iEcho 50 Echo 47 Echo 60 Echo 44 Echo 134 Echo 60 Echo 50 Echo 101 Echo 119 Echo 115 Echo 103 Echo 97 Echo 97 Echo 92 Echo 109 Echo
43 Echo _"
(pin.!
(Ping (Ping (ping (Ping (Ping (ping (Ping (Ping (ping (ping (ping (ping (ping (ping (ping (ping
request
Ld=0x3372
reply reply request reply reply request reply reply reply reply reply reply reply reply reply reply -canlu_
.d =0x3372, .d =0x3372. .d=0x3372. Ld=0x3372, .d =0x3372. .d=0x3372. Ld=0x3372, .d =0x3372. .d=0x3372. Ld=0x3372, .d =0x3372. .d=0x3372. Ld=0x3372, .d =0x3372. .d=0x3372. .d =0x3372,
seq=(
seq=H seq=i seq=0 seq=H seq=i seq=0 seq=H seq=i seq=0 seq=H seq=i seq=0 seq=H seq=i seq=0 seq=H
trl=64 (reply in 2446)
ttl=64 (request in 2445) ttl=64
ttl=64 (reply in 2529) ttl=64 (request in 2528) ttl=64
ttl=64 (reply in 2313)
ttl=64 (request in 2812)
ttl=64
ttl=64
ttl=64
ttl=64
ttl=64
ttl=64
ttl=64
ttl=64
ttl=64
Рис. 8. Поле идентификатора эхо-запроса
В свою очередь, предлагаемый инструмент выявляет информацию из полученного сетевого трафика, хранящуюся в поле данных (Data). На рис.9 представлен результат обработки сетевого трафика, содержащего пакеты с ICMP-туннелированием.
S гс : 192,168.34, .163 » Dst: 19?, ,168.34,136
Туре: :3, Code:Û; Sequence Number: :Ô; Data: «terminal ~e "/hoae/alex/panspy ~p $(/usr7sbinAdconfig -p I qrep libpam.so 1 cut -d V V
Src; 192.168.34, ,163 ost: 192. ,168.34.136
Туре: :8; Code : б ; Sequence Number: :0; Data: uname -a
sre: 192.168.34 .163 » Dst: 192. .168.34.136
туре: :8; Code:8; Sequence Number: :8; Data: hostname
Рис. 9. Результат обработки сетевого трафика
Анализ результата обработки трафика показывает, что разработанный инструмент обнаружил сетевые пакеты протокола ICMP, характеризующиеся как ICMP-туннелирование. Кроме того, выявлено, что в поле данных ICMP-протокола присутствует полезная нагрузка с информацией о выполнении злоумышленником команды в командной строке на удаленном компьютере жертвы.
На основании изложенного материала можно сделать вывод, что предлагаемый инструмент позволяет оперативно выявлять в сети процесс туннелирования и предоставляет возможность для проведения анализа инфицированного злоумышленником сетевого трафика с дальнейшим предотвращением скрытых кибератак на информационную систему организации.
Заключение. Современный этап совершенствования работы ИТКС зависит от поддержания высокого уровня ее информационной безопасности в условиях нарастающего количества кибератак, обусловленных уязвимо-стями сетевых протоколов с использованием процесса их туннелирования. При этом особое внимание уделяется проблеме ICMP-туннелирования, которая представляет серьезную угрозу для ИБ из-за возможности скрытой и анонимной передачи данных в обход применяемых средств защиты информации.
Приведенная в статье оригинальная методика по оперативному обнаружению технологии ICMP-туннелирования в сети представляет собой последовательность этапов использования конкретных инструментов и программных средств в условиях реализации атак на ИТКС.
Разработанный инструмент на языке программирования Python позволяет проводить обработку pcap-файлов для синтаксического анализа находящихся в них данных по выявлению необходимых параметров ICMP-протокола, указывающих на наличие ICMP-туннелирования в сети, в частности, типа Type: (Echo (ping) request).
Высокая степень оперативности обнаружения сетевых пакетов протокола ICMP, характеризующихся как ICMP-туннелирование, а также выявление полезной нагрузки с информацией о выполнении команды на удаленном компьютере жертвы достигается путем применения в предлагаемом инструменте функции gettingDataFromICMPTraffic с набором конкретных инструкций и команд.
На основе полученных результатов предлагается включить методику разработанного инструмента в функционирование отечественного межсетевого экрана нового поколения NGFW, что позволит оперативно выявлять процессы туннелирования в сети и проводить анализ инфицированного трафика. Такой подход существенно повысит возможность по предотвращению скрытых кибератак на информационную систему любой организации, обеспечивая более эффективную фильтрацию сетевого трафика и защиту от вредоносных атак.
Список литературы
1. Cisco: Next-Generation Firewalls. [Электронный ресурс]. URL: https://www.cisc0.c0m/c/en_my/pr0ducts/security/firewalls/index.html (дата обращения: 23.03.2024).
2. Securitylab: Как хакеры используют ICMP-туннелирование, чтобы завладеть сетью организации. [Электронный ресурс] URL: https://www.securitylab.ru/analytics/538186.php (дата обращения: 23.03.2024).
3. Securitylab: Скрытый канал поверх ICMP. [Электронный ресурс] URL: https://www.securitylab.ru/analytics/423450.php7ysclid (дата обращения: 23.03.2024).
4. GitHub: icmpdoor - ICMP Reverse Shell. [Электронный ресурс] URL: https://github.com/krabelize/icmpdoor (дата обращения: 23.03.2024).
5. Positive Technologies. Поиск следов атак в сетевом трафике. Часть 1. [Электронный ресурс] URL: https://www.ptsecurity. com/ru-ru/research/analytics/network-traffic-part-1 -2020 (дата обращения: 23.03.2024).
6. Positive Technologies. Поиск следов атак в сетевом трафике. Часть 2. [Электронный ресурс] URL: https://www.ptsecuritv.com/ru-ru/research/analvtics/network-traffic-part-2-2020 (дата обращения: 23.03.2024).
7. Hacking Articles. Red Teaming. Command and Control & Tunnelling via ICMP. [Электронный ресурс] URL: https://www.hackingarticles.in/command-and-control-tunnelling-via-icmp (дата обращения: 23.03.2024).
8. Extrahop. What is ICMP Tunneling and How to Protect Against It. [Электронный ресурс] URL: https://www.extrahop.com/companv/blog/2021/detect-and-stop-icmp-tunneling (дата обращения: 23.03.2024).
9. Excellium. How does ICMP tunneling work and how can it be used for malicious purposes? [Электронный ресурс] URL: https://excellium-services.com/2022/09/28/how-does-icmp-tunneling-work-how-can-it-be-used-malicious-purposes (дата обращения: 23.03.2024).
10. Chris Sanders. Practical Packet Analysis: Using Wireshark to Solve Real-World Network Problems. 3-е изд. San Francisco: 2017. 333 с.
Степанюк Орест Михайлович, канд. техн. наук, доцент, старший научный сотрудник научно-исследовательской лаборатории, [email protected], Россия, Санкт-Петербург, Военно-космическая академия имени А.Ф. Можайского,
Пантюхин Олег Игоревич, канд. техн. наук, доцент, [email protected], Россия, Санкт-Петербург, Военная академия связи им. Маршала Советского Союза С.М.Буденного,
Подшибякин Александр Сергеевич, научный сотрудник научно-исследовательской лаборатории, Россия, Санкт-Петербург, Военно-космическая академия имени А. ФМожайского
METHOD OF OPERATIVE DETECTION OF ICMP TUNNELING TECHNOLOGY IN THE NETWORK TRAFFIC OF AN
INFORMATION AND TELECOMMUNICATION SYSTEM
O.M. Stepanyuk, O.I. Pantyukhin, A.S. Podshibyakin
The article discusses the issues of ensuring information security (IS) in the information and telecommunication system (ITCS) when implementing remote unauthorized access (RAA) bypassing modern traffic protection tools using ICMP tunneling. The features of the ICMP protocol have been studied, allowing an information security intruder to carry out unauthorized access to ITCS hosts using ICMP tunneling technology. An analysis of existing tools for identifying the considered tunneling of network traffic and possible methods ofprotection was carried out. An original technique is presented for identifying ICMP tunneling technology in a network using a developed tool that allows processing pcap files to parse the data contained in them and identify the necessary parameters of the ICMP protocol, indicating the presence of an implementation of ICMP technology in the network -tunneling. It is shown that an operational solution to the problem is achieved through the use of the gettingDataFromICMPTraffic function in the proposed tool with a set of specific instructions and commands.
Key words: information security, firewall, ICMP protocol, network traffic, ICMP tunneling technology.
Stepanyuk Orest Mikhailovich, candidate of technical sciences, docent, senior research associate of the research laboratory, [email protected], Russia, St. Petersburg, A.F. Mozhaisky Military Space Academy,
Pantyukhin Oleg Igorevich, candidate of technical sciences, docent, [email protected], Russia, St. Petersburg, Military Academy of Communications named after. Marshal of the Soviet Union S.M. Budyonny,
Podshibyakin Alexander Sergeevich, researcher at the research laboratory, Russia, St. Petersburg, A.F. Mozhaisky Military Space Academy