В итоге, с помощью третьего варианта способа, имитируется локальная сеть с устройствами от реальных производителей, причем уникальные идентификаторы производителей используются только те, которые реально присутствуют в данной локальной сети. Это позволяет «сетевой ловушке» быть менее подверженной к обнаружению, даже если злоумышленнику известны производители устройств в этой сети.
LaBrea, генерируя ответы на протоколу TCP, никогда не добавляет в заголовок TCP-опции. Опции в TCP-заголовке могут содержать до 40 байт информации. Опции передают дополнительную информацию для узла назначения или выравнивают другие опции. Определены две категории опций: однобайтовая и многобайтовая опция. Поэтому, в модифицированной ловушке NetHole было решено в TCP-ответах добавить поддержку TCP-опций. В исходном коде LaBrea добавлен новый программный модуль, исполняемый при перехвате очередного TCP-пакета. В данном программном модуле производится чтение TCP-опций перехваченного пакета (побитно) и последующее их копирование в генерируемый пакет, являющийся ответом на перехваченный пакет. При этом опция «TCP Timestamp» не копируется. Эта опция передает два 4-байтовых поля с временными метками. Поле «Timestamp Value» (TSval) содержит текущее значение временной метки передавшего опцию модуля TCP. Поле «Timestamp Echo Reply» (TSecr) содержит временную метку, переданную удаленным модулем TCP. Таким образом производится копирование поля TSecr и подсчет аптайма системы, значение которого копируется в поле TSval. Для тестирования модифицированной «сетевой ловушки» NetHole использовалось программное обеспечение Degreaser. В процессе работы для определения, является ли узел ловушкой или нет, Degreaser проверяет наличие TCP-опций. В таблице 2 представлен вывод результатов работы Degreaser, сканирующего подсеть, в которой запущена LaBrea без модификации (первый этап тестирования).
Таблица 2 Вывод результатов тестирования на первом этапе
|
IP адрес |
Время отклика |
Размер окна |
TCP флаги |
TCP опции |
Результаты сканирования |
|
|
1.1.1.210 |
0 |
0 |
Нет ответа |
|||
|
1.1.1.92 |
257762 |
10 |
SA |
LaBrea |
||
|
1.1.1.198 |
0 |
0 |
Нет ответа |
|||
|
1.1.1.105 |
81284 |
10 |
SA |
LaBrea |
||
|
1.1.1.195 |
205014 |
10 |
SA |
LaBrea |
||
|
1.1.1.121 |
0 |
0 |
Нет ответа |
|||
|
1.1.1.251 |
0 |
0 |
Нет ответа |
|||
|
1.1.1.226 |
127510 |
10 |
SA |
LaBrea |
||
|
1.1.1.81 |
87530 |
10 |
SA |
LaBrea |
||
|
1.1.1.160 |
103524 |
10 |
SA |
LaBrea |
||
|
1.1.1.61 |
131536 |
10 |
SA |
LaBrea |
||
|
1.1.1.189 |
255501 |
10 |
SA |
LaBrea |
||
|
1.1.1.84 |
2327500 |
10 |
SA |
LaBrea |
Degreaser определяет, что данные узлы являются ловушками. В столбце TCP Options отображается, какие TCP-опции присутствовали в ответах на TCP-запросы, направляемые Degreaser, каждому из исследуемых узлов. Как видно из рисунка 5, TCP-опции отсутствуют в ответах от всех узлов, которые определены программой Degreaser сетевой «ловушкой» LaBrea. Далее, в таблице 3, отображен вывод работы Degreaser на втором этапе тестирования, когда сканируют подсеть, в которой запущена LaBrea с реализованными модификациями.
Таблица 3. Вывод результатов тестирования на втором этапе
|
IP адрес |
Время отклика |
Размер окна |
TCP флаги |
TCP опции |
Результаты сканирования |
|
|
1.1.1.49 |
136629 |
10 |
SA |
MVST |
Реальный хост |
|
|
1.1.1.70 |
0 |
0 |
Нет ответа |
|||
|
1.1.1.144 |
99569 |
10 |
SA |
MVST |
Реальный хост |
|
|
1.1.1.125 |
0 |
0 |
Нет ответа |
|||
|
1.1.1.196 |
0 |
0 |
Нет ответа |
|||
|
1.1.1.143 |
342342 |
10 |
SA |
MVST |
Реальный хост |
|
|
1.1.1.82 |
895930 |
10 |
SA |
MVST |
Реальный хост |
|
|
1.1.1.161 |
0 |
0 |
Нет ответа |
|||
|
1.1.1.29 |
0 |
0 |
Нет ответа |
|||
|
1.1.1.65 |
0 |
0 |
Нет ответа |
|||
|
1.1.1.233 |
0 |
0 |
Нет ответа |
|||
|
1.1.1.88 |
2279563 |
10 |
SA |
MVST |
Реальный хост |
|
|
1.1.1.140 |
0 |
0 |
Нет ответа |
Как видно из таблицы 3, в столбце TCP Options теперь отображены TCP-опции Maximum Segment Size (M), Windows Scale (W), Selective Acknowledgement (S) и Timestamp (T). Программное обеспечение Degreaser теперь не в состоянии определить, что ответы от данных узлов отправляет «сетевая ловушка». Представленные сравнительные результаты тестирования могут быть использованы и при сравнительной оценке информационных систем на предмет их потенциальной устойчивости к деструктивным воздействиям.
Основополагающим критерием для детектирования сетевых ловушек является управление потоком TCP. Устанавливаемый размер окна у программы LaBrea является по умолчанию 10 байт.
Для того, чтобы добавить случайности в работу сетевой ловушки, было решено сделать случайным размер TCP-окна. Так как средство детектирования сетевых ловушек Degreaser работает таким образом, что после проверки наличия TCP-опций проверяет размер TCP-окна (если размер окна меньше, чем задано, то узел является потенциальной ловушкой), то со случайно сгенерированным размером TCP-окна будет затруднительно определить сетевую ловушку. Конечно, с данной модификацией ловушка получит больше трафика, но теперь она не имеет демаскирующего признака.
Модуль генерации пакета со случайным размером окна функционирует по следующему алгоритму: получают пакет TCP-SYN, затем генерируют случайное число от 0 до 255, после чего генерируют пакет TCP-SYN-ACK с размером TCP-окна равным сгенерированному случайному числу.
Для возможности запуска программы, как с модификацией, так и без нее, был добавлен флаг «-W» в аргументы запуска командной строки программы.
./labrea -i eth4 -n 1.1.1.0/24 -I 1.1.1.1 -E 00:18:7d:08:f6:24 -o -z -W
Ниже приведен фрагмент дампа сетевого обмена TCP, в котором присутствует пакет со случайно сгенерированным размером TCP-окна, равным 195.
Source Port: 22
Destination Port: 48414
[Stream index: 5]
[TCP Segment Len: 0]
Sequence number: 0 (relative sequence number)
Acknowledgment number: 1 (relative ack number)
Header Length: 20 bytes
Flags: 0x012 (SYN, ACK)
Window size value: 195
[Calculated window size: 195]
Checksum: 0x1e5d [unverified]
[Checksum Status: Unverified]
Urgent pointer: 0
[SEQ/ACK analysis]
Вывод программы Degreaser в данном случае выглядит, как представлено в таблице 4.
Таблица 4 Вывод результатов случайно сгенерированного значения TCP-окна посредством Degreaser
|
IP адрес |
Время отклика |
Размер окна |
TCP флаги |
TCP опции |
Результаты сканирования |
||
|
1.1.1.244 |
0 |
0 |
Нет ответа |
||||
|
1.1.1.156 |
0 |
0 |
Нет ответа |
||||
|
1.1.1.229 |
928340 |
10 |
SA |
LaBrea |
|||
|
1.1.1.246 |
563430 |
10 |
SA |
LaBrea |
|||
|
1.1.1.213 |
0 |
0 |
Нет ответа |
||||
|
1.1.1.142 |
0 |
0 |
Нет ответа |
||||
|
1.1.1.221 |
110359 |
10 |
SA |
LaBrea |
|||
|
1.1.1.10 |
0 |
0 |
Нет ответа |
||||
|
1.1.1.168 |
0 |
0 |
Нет ответа |
||||
|
1.1.1.65 |
172517 |
10 |
SA |
LaBrea |
|||
|
1.1.1.57 |
0 |
0 |
Нет ответа |
||||
|
1.1.1.219 |
0 |
0 |
Нет ответа |
||||
|
1.1.1.15 |
119541 |
10 |
SA |
LaBrea |
Чтобы обойти и обмануть данную проверку, было решено реализовать поддержку ответов о приеме TCP-пакетов с данными. Алгоритм функционирования данного программного модуля заключается в следующем: получают TCP-пакет c данными или с установленным флагом PUSH; генерируют TCP-пакет ACK c заданным размером TCP-окна, в зависимости от запущенного режима; отправляют сгенерированного TCP-пакет.
С данной модификацией сетевой обмен между программами LaBrea и Degreaser выглядит так, как показано на рисунке ниже:
На рисунке 3 представлено пять TCP-пакетов: три из них для установки соединения, четвертый -- пакет с данными размером 9 байт, пятый -- ответ о приеме данных в виде TCP ACK пакета.
Рис. 4. Вывод результатов случайно сгенерированного значения TCP-окна посредством Degreaser
Как показано в таблице 5, в ответах отсутствуют TCP-опции, размер TCP окна равен 10, что меньше, чем порог у программы Degreaser, но, тем не менее, программа определила, что данные узлы являются реальными хостами, а не сетевыми ловушками и тем более не ловушками LaBrea.
Таблица 5 Вывод результатов случайно сгенерированного значения TCP-окна посредством Degreaser после реализации проведенных модификаций в NetHole
|
IP адрес |
Время отклика |
Размер окна |
TCP флаги |
TCP опции |
Результаты сканирования |
|
|
1.1.1.193 |
103529 |
10 |
SA |
Реальный хост |
||
|
1.1.1.73 |
0 |
0 |
Нет ответа |
|||
|
1.1.1.47 |
0 |
0 |
Нет ответа |
|||
|
1.1.1.67 |
5642860 |
10 |
SA |
Реальный хост |
||
|
1.1.1.87 |
207563 |
10 |
SA |
Реальный хост |
||
|
1.1.1.106 |
199462 |
10 |
SA |
Реальный хост |
||
|
1.1.1.105 |
0 |
0 |
Нет ответа |
|||
|
1.1.1.172 |
0 |
0 |
Нет ответа |
|||
|
1.1.1.93 |
95532 |
10 |
SA |
Реальный хост |
||
|
1.1.1.36 |
0 |
0 |
Нет ответа |
|||
|
1.1.1.226 |
2291418 |
10 |
SA |
Реальный хост |
||
|
1.1.1.237 |
0 |
0 |
Нет ответа |
|||
|
1.1.1.178 |
195431 |
10 |
SA |
Реальный хост |
Давыдов А.Е., Максимов Р.В., Савицкий О.К. Защита и безопасность ведомственных интегрированных инфокоммуникационных систем. М.: ОАО «Воентелеком», 2015. 520 с.
Давыдов А.Е., Максимов Р.В., Савицкий О.К. Безопасность ведомственных интегрированных инфокоммуникационных систем: учеб. пособие. СПб.: Изд-во ФГУП «НИИ «Масштаб», 2011. 192 с.
Соколовский С.П., Орехов Д.Н. Концептуализация проблемы проактивной защиты интегрированных информационных систем // Сборник научных статей VIII Международной научно-практической конференции «Научные чтения имени профессора Н.Е. Жуковского» 20-21 декабря 2017 года / Министерство обороны Российской Федерации, КВВАУЛ им. Героя Советского Союза А.К. Серова. - Краснодар: Издательский Дом - Юг, 2018. С. 47-52.
Гаврилов А.Л., Катунцев С.Л., Орехов Д.Н., Соколовский С.П. Результаты анализа способов компрометации средств защиты информации // Материалы девятой Международной научной конференции «ТТС-17» (22-24 ноября 2017 года) / ФГБОУ ВО «КубГТУ», КВВАУЛ им. А.К. Серова; под общей редакцией Б.Х. Гайтова. - Краснодар: Издательский Дом - Юг, 2017. С. 117-121.
Du Z., Fan W., Fernбndez D., Villagrб V.A. Enabling an Anatomic View to Investigate Honeypot Systems: A Survey. November 2017. IEEE Systems Journal 11/2017, pp (99):1-14. DOI: 10.1109/JSYST.2017.2762161.
Keil, C., Nawrocki, M., Schmidt, T.C., Schцnfelder, J., Wдhlisch, M.: A Survey on Honeypot Software and Data Analysis. arXiv.org, 2016, vol. 10, pp. 63-75.
Liston T. LaBrea: «sticky» Honeypot and IDS. [Online]. Available: http://labrea.sourceforge.net/labrea-info.html.
Liston T. «LaBrea». [Online]. Available: http://labrea.sourceforge.net/labrea.1.txt
Способ (варианты) защиты вычислительных сетей: пат. 2307392 Рос. Федерация, МПК G06F / заявитель и патентообладатель Военная академия связи (RU). Максимов Р.В., Выговский Л.С., Заргаров И.А., Кожевников Д.А., Павловский А.В., Стародубцев Ю. И., Худайназаров Ю.К., Юров И.А. - № 2006114974; заявл. 02.05.2006; опубл. 27.09.2007, Бюл. № 27. 22 с.
Способ защиты вычислительной сети (варианты): пат. 2325694 Рос. Федерация, МПК H04L G06F. / заявитель и патентообладатель Военная академия связи (RU). Максимов Р.В., Кожевников Д.А., Павловский А.В. - № 2006138743; заявл. 02.11.2006; опубл. 27.05.2008, Бюл. № 15. 106 с.
Alt. L. Degreaser git respository. 2014. https://github.com/lancealt/degreaser.