Научная статья на тему 'Сетевая стеганография на основе ICMP-инкапсуляции'

Сетевая стеганография на основе ICMP-инкапсуляции Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
924
133
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
INFORMATION SECURITY / NETWORK STEGANOGRAPHY / ICMP PROTOCOL / TCP / IP STACK / ENCAPSULATION / SHARPPCAP / ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ / СЕТЕВАЯ СТЕГАНОГРАФИЯ / ПРОТОКОЛ ICMP / СТЕК TCP/IP / ИНКАПСУЛЯЦИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Галушка В.В., Петренкова С.Б., Дзюба Я.В., Панченко В.А.

Статья посвящена описанию способа формирования стеганографических сетевых сообщений с использованием служебного протокола ICMP для их скрытой передачи, обхода ограничений межсетевых экранов и других систем защиты компьютерных сетей. В ней приводится описание функций протокола ICMP, его преимуществ при использовании в задачах стеганографии и особенностей обработки ICMP-пакетов операционными системами и промежуточным сетевым оборудованием. Отдельное внимание в статье уделяется вопросам практической реализации и применения предлагаемого метода. В ней приводится описание сетевых утилит для работы с пакетами и пример их использования для передачи скрытого сообщения. Для программной реализации метода сетевой стеганографии предлагается использовать язык программирования C# и библиотеки SharpPCap и Packet.NET, для которых в статье приведены примеры использования и указаны необходимые параметры для формирования пакетов со стеганографическими сообщениями.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Network steganography based on ICMP-encapsulation

The article is devoted to the description of the method of forming steganographic network messages using the ICMP service protocol for their hidden transfer, bypassing restrictions of firewalls and other computer network protection systems. It describes the functions of the ICMP protocol, its advantages when used in steganography tasks, and the specifics of processing ICMP packets by operating systems and intermediate network equipment. Special attention is paid to the practical implementation and application of the proposed method. It describes the network utilities for working with packages and an example of their use for transmitting a hidden message. For the software implementation of the network steganography method, it is proposed to use the C # programming language and the SharpPCap and Packet.NET libraries, for which the article contains examples of use and the necessary parameters for forming packets with steganographic messages.

Текст научной работы на тему «Сетевая стеганография на основе ICMP-инкапсуляции»

Сетевая стеганография на основе ICMP-инкапсуляции

В.В. Галушка, С.Б. Петренкова, Я.В. Дзюба, В.А. Панченко Донской государственный технический университет, Ростов-на-Дону

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

Ключевые слова: информационная безопасность, сетевая стеганография, протокол ICMP, стек TCP/IP, инкапсуляция, SharpPCap.

Введение

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

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

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

Сетевая стеганография

Однако, если цифровые отпечатки и стеганографические «водяные знаки» представляют практический интерес в области защиты прав интеллектуальной собственности, то с технической точки зрения для информационной безопасности наиболее интересно применения стеганографии для скрытой передачи данных [2].

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

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

Модель сетевого взаимодействия

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

ICMP (Internet Control Message Protocol — протокол межсетевых управляющих сообщений), предназначенный для рассылки сообщений об ошибках и других исключительных ситуациях, а также проверки связи, трассировки маршрутов и многого другого.

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

Протокол ICMP

Для современного сетевого оборудования и операционных систем, использующих стек TCP/IP, поддержка протокола ICMP обязательна, что является его несомненным преимуществом при использовании для передачи скрытых сообщений. Из этого факта следуют ещё несколько преимуществ стеганографии на основе ICMP-инкапсуляции. Одним из них является периодическая рассылка ICMP-сообщений узлами сети, которая происходит при обнаружении ошибок в IP-адресах пакетов, отсутствии маршрутов к запрашиваемым сетям и многих других случаях, что приводит к большому числу ICMP-пакетов, содержащих служебную сетевую информацию, среди которых можно скрыть пакеты с какой-либо другой информацией.

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

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

В соответствии со стандартом [4] 1СМР-пакет имеет формат,

представленный на рис. 1.

Байты 0 — 3

В стандарте описаны 40 различных типов 1СМР-сообщений для каждого из которых могут использоваться разные коды, обозначающие конкретное действие или состояние для пакетов данного типа.

Практическая реализация

Практическая реализация метода сетевой стеганографии с использованием протокола 1СМР сводится к двум задачам:

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

2. Выделение сформированного пакета из общего потока трафика принимающей стороной и распознавание помещённых в него стеганографических сообщений.

01234567 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Тип Код Контрольная сумма

Данные (формат зависит от значений полей «Код» и «Тип»)

Рис. 1. - Структура заголовка 1СМР-пакета.

Решение данных задач возможно с использованием различных программных и инструментальных средств. Формирование пакетов с произвольным содержанием можно осуществлять с помощью соответствующих сетевых утилит. На рис. 2 показан пример формирования ICMP-пакета в одной из таких программ. Помимо непосредственного помещения скрытых сообщений в ICMP-пакет, данная утилита позволяет задавать ему произвольные IP и MAC адреса источника, что может быть полезным для скрытия реального отправителя [5,6].

Ijy Decode Editor

ffl-TT Packet:

El--.J Ethernet Type II

Destination Addre33: ■lalSo^ce Addre33: i^p1 Protocol: B-© IP - Internet Prctcccl © Version: (J Header Length: H-@ DSF: ■■(# Total Length: l^p1 Identification: ffl-U F: ■^Fragment Cf f set: line lo Live: Frotocol: Checksum: ■J Source IP:

Destination IF: □■■■-J I CMP - Internet Control Messages Prot.

Wjn:000001 Length:€4 Captured:60 lime:0.100000 Second

[0/1-П

A8:F9:4B:C5:E9:EC [0/6]

1С:ID:0B:9D:43: ЗА [6/6]

OxOSOO (Internet IP(IPv4}) [12/2] [14/20]

4 [14/1] DxFD

5 (20 Bytes} [14/:; OxDF 0000 0000 [15/1] DxFF

46 (46 Bytes) [16/2]

DxDOOO DDD. ..

(0) [18/2] [20/1] 0xE0

0 [20/2] OxlFFF 64 [22/1]

1 (ICMP) [23/:; DxFTTB (Correct) [24/2] 132.165.1.2 [26/4]

1Э2.163.1.1 [30/4] [34/26]

lype: -El Code:

Checksum: ■■I5P1 Identifier:

Sequence: ■ЦЦ Echo I-ata:

3 0

DxFTFE 0x0000 DxDOOl IS bytes

(Echo) [35/1] (Correct) [38/2] [40/2] [42/18]

[34/1] [36/2]

Рис. 2 - Формирование пакета в Colasoft Packet Builder Приём и распознавание полученных пакетов можно осуществлять с помощью известной утилиты Wireshark, показывающей подробную информацию обо всех проходящих через компьютер сетевых пакетах. Пример её работы показан на рис. 3.

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

:

необходимо разработать собственное клиент-серверное приложение, в котором описанные функции по формированию, отправке, приёму и распознаванию пакетов будут выполняться автоматически. Учитывая необходимость отступления от требований протокола, целесообразно при создании такого приложения вместо стандартного механизма сокетов использовать сторонние библиотеки для низкоуровневой работы с сетевыми пакетами [7,8,9]. Применительно к языку программирования C# такими библиотеками являются Packet.NET и SharpPCap, представляющая собой обёртку для платформы .NET над библиотекой PCap, на которой основана работа программы Wireshark, рассмотренной ранее.

Рис. 3. - Получение пакета в Wireshark Использование Packet.NET заключается в написании алгоритма последовательного формирования пакетов разных уровней модели TCP/IP, от верхнего (прикладного) к нижнему (уровню доступа к среде).

Соответственно программная реализация рассматриваемого метода сетевой стеганографии включает в себя несколько этапов инкапсуляции [10].

На начальном этапе создаётся ICMP-пакет, который в соответствии с парадигмой объектно-ориентированного программирования представлен объектом класса ICMPv4Packet, описанным в библиотеке Packet.NET. Для него необходимо задать значения полей заголовка, описанных ниже.

TypeCode — числовой идентификатор типа сообщения. В библиотеке Packet.NET значения для данного поля хранятся в перечислении ICMPv4TypeCodes и позволяют вместо чисел использовать их более понятные текстовые эквиваленты. При выборе какого-либо значения автоматически заполняются поля «тип» и, при необходимости, «код» (рис. 1) в заголовке пакета. Правильное заполнение этих полей требуется только в случае использования протокола ICMP по назначению, а для скрытой передачи данных они не имеют никакого значения, потому могут быть установлены, например, в EchoRequest (тип 8, код 0) и EchoResponce (тип 0, код 0).

Sequence — номер пакета в последовательности, который необходим для его идентификации в задачах, для которых требуется отправка нескольких пакетов. Данное поле необходимо использовать при отправке длинного сообщения, которое разбивается на несколько более коротких, каждое из которых помещается в отдельный ICMP-пакет со своим номером в последовательности, задаваемым целым числом от 0 до 216 - 1. Data — поле для записи служебных данных, которое при реализации стеганографической системы будет содержать в себе информацию, передаваемую скрыто.

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

котором требуется заполнение полей SourceAddress и DestinationAddress, предназначенных для записи 1Р-адресов источника и назначения. Адрес источника может быть получен из свойств сетевого интерфейса, а адрес получателя должен быть задан пользователем.

Для данного 1Р-пакета также потребуется вычисление контрольной суммы с помощью имеющегося в классе IPv4Packet метода UpdateIpChecksum, после чего пакет передаётся следующему, канальному, уровню.

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

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

1Р-пакет, затем из 1Р-пакета извлечь 1СМР-пакет и прочитать записанные в нём данные.

Заключение

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

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

Литература

1. Frank Y.Sh. Digital Watermarking and Steganography. Fundamentals and Techniques, Second Edition // Boca Raton: CRC Press. 2017. 292 p.

2. Wojciech Fr^czek, Krzysztof Szczypiorski Perfect undetectability of network steganography Perfect undetectability of network steganography. Security Comm. Networks, 2016, 9: pp.2998-3010.

3. Белкина Т.А. Аналитический обзор применения сетевой стеганографии для решения задач информационной безопасности // Молодой ученый, 2018, №11 URL: moluch.ru/archive/197/48821/.

4. RFC 792 — Internet Control Message Protocol. URL: tools.ietf.org/html/rfc792 (date of access: 21.09.2018).

5. Пескова О.Ю., Халабурда Г.Ю. Применение сетевой стеганографии для скрытия данных, передаваемых по каналам связи // Известия южного федерального университета. Технические науки. 2012. №12(137). С. 167-176.

6. Голубев Е.А., Емельянов Г.В. Стеганография как одно из направлений обеспечения информационной безопасности // T-Comm - Телекоммуникации и транспорт. 2009. №S3. С. 185-186.

7. Земцов А.Н., Аль-Макреби И.М. Исследование устойчивости цифровых водяных знаков-логотипов, внедряемых в статические изображения // Инженерный вестник Дона, 2015, №2-2. URL: ivdon.ru/ru/magazine/archive/n2p2y2015/2963.

8. Земцов А.Н., Аль-Макреби И.М. Об оценке вносимых искажений методом маркирования в низкочастотной области вейвлет-спектра

изображения // Инженерный вестник Дона, 2015, №2-2. URL: ivdon.ru/ru/magazine/archive/n2p2y2015/2962.

9. Павлин Д.В., Макосий А.И., Жданов О.Н. О сетевой стеганографии. Реализация алгоритма RSTEG // Решетневские чтения. 2014. №18 (2). С. 322324.

10. Бойченко М.К., Иванов И.П., Кондратьев А.Ю., Лохтуров В.А. Обеспечение потребных нагрузок сетевых интерфейсов утилитой ping программного обеспечения протокола ICMP // Вестник Московского государственного технического университета им. Н.Э. Баумана. Серия «Приборостроение». 2016. №4(109). С. 74-84.

References

1. Frank Y.Sh. Boca Raton: CRC Press. 2017. 292 p.

2. Wojciech Fr^czek, Krzysztof Szczypiorski Perfect undetectability of network steganography Perfect undetectability of network steganography. Security Comm. Networks, 2016, 9: pp. 2998-3010.

3. Belkina T.A. Molodoy uchenyy (Rus), 2018, №11. URL: moluch.ru/archive/197/48821/.

4. RFC 792 — Internet Control Message Protocol. URL: tools.ietf.org/html/rfc792.

5. Peskova O.Yu., Khalaburda G.Yu. Izvestiya yuzhnogo federal'nogo universiteta. Tekhnicheskie nauki. 2012. №12(137). pp. 167-176.

6. Golubev E.A., Emel'yanov G.V. T-Comm - Telekommunikatsii i transport. 2009. №S3. pp. 185-186.

7. Zemtsov A.N., Al'-Makrebi I.M. Inzhenernyy vestnik Dona (Rus), 2015, №2-2. URL: ivdon.ru/ru/magazine/archive/n2p2y2015/2963.

8. Zemtsov A.N., Al'-Makrebi I.M. Inzhenernyy vestnik Dona (Rus), 2015, №2-2. URL: ivdon.ru/ru/magazine/archive/n2p2y2015/2962.

9. Pavlin D.V., Makosiy A.I., Zhdanov O.N. Reshetnevskie chteniya. 2014. №18(2). pp. 322-324.

10. Boychenko M.K., Ivanov I.P., Kondrat'ev A.Yu., Lokhturov V.A. Vestnik Moskovskogo gosudarstvennogo tekhnicheskogo universiteta im. N.E. Baumana. Seriya «Priborostroenie». 2016. №4(109). pp. 74-84.

i Надоели баннеры? Вы всегда можете отключить рекламу.