Способ защиты вычислительной сети от несанкционированного сканирования и блокирования сетевых служб
METHOD OF PROTECTING COMPUTING NETWORK FROM UNAUTHORIZED SCANNING AND BLOCKING NETWORK SERVICES

Область техники, к которой относится изобретение
Предлагаемое изобретение относится к области защиты сетей передачи данных с коммутацией пакетов и может быть использовано для защиты сетей от несанкционированного проникновения, компьютерных атак и доступа к конфиденциальной информации.
Уровень техники
Для защиты современных цифровых сетей передачи данных, имеющих выход в сеть Интернет, обычно устанавливают шлюз-компьютер с межсетевым экраном (МЭ), который обеспечивает защиту сети (подсети) путем фильтрации по определенным правилам входящего и исходящего потока данных (трафика). Эффективность защиты зависит от подбора правил и условий их применения.
Так, известен способ защиты вычислительной сети от несанкционированного сканирования и блокирования сетевых служб (патент РФ №2304302, приоритет от 18.03.2005 г.), в котором для защиты вычислительных сетей используют шлюз-компьютер с МЭ, устанавливаемый на каналах связи защищаемой сети с другими сетями и который содержит следующие этапы:
получают сетевой пакет Р1 с установленным номером инкапсулированного протокола соответствующим номеру протокола TCP;
определяют {анализируют} адрес отправителя S1 и получателя R1 сетевого пакета Р1;
если получателем R1 сетевого пакета Р1 является компьютер защищаемой сети и сетевой пакет Р1 имеет установленный флаг SYN, обозначающий запрос на установление сеанса надежной связи, то выполняют следующие действия:
посылают через МЭ отправителю S1 сетевой пакет Р2, сформированный в соответствии с протоколом TCP, с установленными флагами SYN и АСК и имеющий значением поля отправителя равным R1;
при этом сетевой пакет Р1 получателю R1 не доставляют;
блокируют сетевой пакет Р1;
ожидают до тех пор, пока не будет получен подтверждающий сетевой пакет Р3 с установленным номером инкапсулированного протокола соответствующим номеру протокола TCP и флагом АСК.
В известном способе также предусмотрено, что заблокированные сетевые пакеты могут помещаться в циклический буфер и при его полном заполнении сетевые пакеты, обнаруженные ранее, перезаписывают сетевыми пакетами, обнаруженными позднее.
Кроме того, в известном способе также предусмотрено, что, в случае обнаружения более N (N=1, 2, 3, …) сетевых пакетов с одинаковым значением поля отправителя Sx, установленным номером инкапсулированного протокола, соответствующим номеру протокола TCP, и флагом SYN, и отсутствия подтверждающих сетевых пакетов с установленным номером инкапсулированного протокола, соответствующим номеру протокола TCP, и флагом АСК, МЭ блокирует сетевые пакеты со значением поля отправителя, равным Sx, и установленным флагом SYN.
Помимо этого, в известном способе также предусмотрено, что, в случае обнаружения более N (N=1, 2, 3, …) сетевых пакетов с одинаковым значением поля отправителя Sx, установленным номером инкапсулированного протокола, соответствующим номеру протокола TCP, и флагом SYN, и отсутствия подтверждающих сетевых пакетов с установленным номером инкапсулированного протокола, соответствующим номеру протокола TCP, и флагом АСК, МЭ блокирует все сетевые пакеты со значением поля отправителя, равным значению Sx.
Известный способ принят за прототип.
Известный способ может обеспечить защиту от несанкционированного сканирования, блокирования сетевых служб.
Однако при использовании известного способа не обеспечивается защита от несанкционированной передачи информации, что является его недостатком.
Раскрытие изобретения
Техническим результатом является повышение защищенности вычислительной сети.
Заявленный результат достигается за счет применения способа защиты вычислительной сети от несанкционированного сканирования и блокирования сетевых служб, причем на входе защищаемой вычислительной сети установлен шлюз-компьютер с межсетевым экраном, в котором определено множество А разрешенных для использования протоколов прикладного уровня и который содержит средство контроля, выполненное с возможностью проводить определение используемого в сетевом соединении протокола прикладного уровня, способ заключается в том, что
принимают от отправителя с адресом S1 для получателя с адресом R1 сетевой пакет Р1, имеющий номер инкапсулированного протокола транспортного уровня, соответствующего номеру протокола TCP, и установленный флаг SYN;
блокируют передачу сетевого пакета Р1 получателю с адресом R1;
посылают с помощью межсетевого экрана отправителю с адресом S1 сетевой пакет Р2, сформированный в соответствии с протоколом TCP, с установленными флагами SYN и АСК и имеющий адрес отправителя R1;
получают от отправителя с адресом S1 сетевой пакет Р3 с номером инкапсулированного протокола транспортного уровня, соответствующим номеру протокола TCP и установленным флагом АСК, обозначающего завершение процедуры установления TCP сессии;
получают от отправителя с адресом S1 сетевой пакет Р4, в котором содержатся данные D;
определяют с помощью средства контроля факт использования в составе данных D протокола прикладного уровня из множества А;
если факт использования установлен, то выполняют следующие действия:
посылают из межсетевого экрана получателю с адресом R1 сетевой пакет Р5, сформированный в соответствии с протоколом TCP, с установленным флагом SYN и имеющий адрес отправителя S1;
получают от отправителя с адресом R1 сетевой пакет Р6 с номером инкапсулированного протокола транспортного уровня, соответствующего номеру протокола TCP, и установленными флагами SYN и АСК;
посылают из межсетевого экрана получателю с адресом R1 сетевой пакет Р7, сформированный в соответствии с протоколом TCP, с установленным флагом АСК, обозначающего завершение процедуры установления TCP сессии, и имеющий адрес отправителя S1;
посылают из межсетевого экрана получателю с адресом R1 сетевой пакет Р8, сформированный в соответствии с протоколом TCP, имеющий адрес отправителя S1 и содержащий данные D в неизменном виде;
осуществляют с помощью межсетевого экрана прозрачную ретрансляцию пакетов между отправителем с адресом S1 и получателем с адресом R1;
иначе сбрасывают соединение между отправителем с адресом S1 и получателем с адресом R1.
При этом возможны следующие варианты сбрасывания соединения:
1) посылая с помощью межсетевого экрана отправителю с адресом S1 сетевой пакет Р9, сформированный в соответствии с протоколом TCP, с установленным флагом FIN и имеющий адрес отправителя R1;
2) посылая с помощью межсетевого экрана отправителю с адресом S1 сетевой пакет Р9, сформированный в соответствии с протоколом TCP, с установленным флагом RST и имеющий адрес отправителя R1;
3) посылая с помощью межсетевого экрана отправителю с адресом S1 сетевой пакет Р9, сформированный в соответствии с протоколом ICMP, содержащий сообщение о невозможности доставки пакета;
4) по истечении допустимого времени ожидания ответа.
Для реализации предложенного способа в состав МЭ должно быть включено средство контроля, выполненное с возможностью проводить определение используемого в сетевом соединении протокола прикладного уровня. В общем случае, средство контроля может быть аппаратным, программно-аппаратным или программным. Для создания средства контроля должны быть проведены обычное проектирование и изготовление электронного блока (при выполнении в аппаратном или программно-аппаратном виде) и формирование необходимого программного обеспечения (ПО) с последующим тестированием и установкой в МЭ. Для создания средства контроля в программном виде создается только прикладное ПО, которое затем дополнительно устанавливается в составе прикладного ПО в МЭ. Создание средства контроля может осуществить специалист по проектированию и изготовлению электронной техники и/или специалист по программированию (программист) на основе знания выполняемой средством контроля функции.
После создания и отладки средства контроля можно приступать непосредственно к реализации предложенного способа.
Для этого с помощью МЭ осуществляют перехват сетевых пакетов для осуществления контроля и фильтрации сетевого трафика в соответствии с заранее заданными правилами, принятыми обычным порядком для защищаемой сети. Для осуществления способа в точке перехвата сетевых пакетов реализуется контроль сетевых пакетов, имеющих номер инкапсулированного протокола транспортного уровня, соответствующего номеру протокола TCP, и установленный флаг SYN.
С целью предотвращения несанкционированной передачи информации, которая может быть инкапсулирована в служебные поля TCP заголовка, обнаруженный сетевой пакет данного вида блокируется.
МЭ устанавливает соединение с отправителем заблокированного сетевого пакета от имени получателя заблокированного сетевого пакета. Далее МЭ получает от отправителя сетевой пакет с данными в рамках анализируемого сетевого соединения. Данные извлекаются из сетевого пакета и передаются в средство контроля, выполненное с возможностью проводить определение используемого в сетевом соединении протокола прикладного уровня. Если установлен факт использования в составе данных D протокола прикладного уровня из множества А, то принимается решение о разрешении данного сетевого соединения, иначе сетевое соединение блокируется.
В случае разрешения сетевого соединения МЭ устанавливает сетевое соединение согласно протоколу транспортного уровня TCP с получателем сетевых пакетов, после чего переходит в режим прозрачной трансляции сетевых пакетов, передаваемых по протоколу транспортного уровня TCP.
Таким образом, создание и обмен данными в рамках сетевого соединения по протоколу прикладного уровня TCP проходит под контролем МЭ, и получателю сетевых пакетов не будет доставлено ни одного сетевого пакета, несмотря на то, что решение о блокировании сетевой сессии было принято на основании анализа 4-го сетевого пакета из данного сетевого соединения.
В результате обеспечивается защита вычислительной сети от несанкционированной передачи информации, так как данный способ позволяет предотвратить обмен тремя служебными TCP пакетами в рамках процедуры установления TCP соединения, для тех сетевых соединений, которые будут заблокированы на основании анализа пакета с данными протокола прикладного уровня, содержащихся в 4-м и последующих пакетах TCP сессии.
Осуществление изобретения
Рассмотрим осуществление предложенного способа в сети с коммутацией пакетов. Это может быть, например, корпоративная сеть, имеющая выход в сеть Интернет через один основной МЭ.
В качестве МЭ используется высокопроизводительный ПАК HW1000 на базе Intel Core 2 Duo, объемом оперативной памяти 2 ГБ, объемом жесткого диска 250 Гб, с установленной ОС Linux (ядро 3.10.92) и специализированным ПО (статья и загружаемая документация по адресу: http://infotecs.ru/downloads/all/vipnet-coordinator-hw-1000.html?arrFilter_93=408821001&set_filter=Y).
Предпочтительным является выполнение средства контроля в программном виде, для чего предварительно создается, тестируется и затем инсталлируется в МЭ прикладное ПО в виде программного модуля, выполняющего функции средства контроля и способного выполнять определение используемого в сетевом соединении протокола прикладного уровня.
В МЭ также определяется множество А разрешенных для использования протоколов прикладного уровня. Например, во множество А могут входить следующие протоколы прикладного уровня: Adobe Connect, AFP, AVI, DHCP, DHCP v6, Diameter, Direct Connect, DNS, HTTP, IPsec, Kerberos, Microsoft Dynamics NAV, Modbus, MySQL, NetBIOS, OpenFlow, OpenVPN, Opera Mini, Oracle Database, Poison Ivy, POP, PostgreSQL, SAP, Skype, SSH, SSL, Telnet, VPN-X, WAP-WSP, XBOX, XDCC, XDMCP, XMPP и др.
Анализ сетевых пакетов осуществляется модулем ядра Linux (файл xt_dpi), который обеспечивает:
анализ сетевых пакетов на предмет используемого протокола транспортного уровня, флагов TCP;
установление сетевого соединения по транспортному протоколу TCP от имени компьютера с известным сетевым адресом с другим компьютером, также имеющим известный сетевой адрес;
прозрачную трансляцию TCP пакетов;
блокирование или разрешение сетевого трафика;
передачу сетевых пакетов в средство контроля, выполненное с возможностью проводить определение используемого в сетевом соединении протокола прикладного уровня, и получение результатов анализа через системный интерфейс netfilter_queue ядра Linux.
Данный модуль ядра встраивается в подсистему Netfilter ядра Linux, реализующей функции МЭ, с уровнем приоритета NF_IP_PRI_SELINUX_FIRST, с целью перехвата и анализа сетевых пакетов.
В пространстве пользователя запускается средство контроля, выполненное с возможностью проводить определение используемого в сетевом соединении протокола прикладного уровня. Сетевые пакеты для анализа данная программа получает через системный интерфейс netfilter_queue ядра Linux.
Модуль xt_dpi анализирует сетевые пакеты и, при обнаружении сетевого пакета от отправителя с адресом S1 получателю с адресом R1, имеющего номер инкапсулированного протокола транспортного уровня, соответствующего номеру протокола TCP, и установленный флаг SYN, генерирует сообщение подсистеме Netfilter ядра Linux о необходимости заблокировать данные сетевой пакета, после чего модуль xt_dpi устанавливает соединение по протоколу TCP с отправителем с адресом S1 от имени получателя с адресом R1.
Далее модуль xt_dpi ожидает от отправителя с адресом S1 сетевого пакета с данными. После получения данного сетевого пакета полученные данные извлекаются и через системный интерфейс netfilter_queue ядра Linux передаются на анализ в средство контроля, которое проводит определение используемого в сетевом соединении протокола прикладного уровня. Полученный результат передается в модуль xt_dpi через системный интерфейс netfilter_queue ядра Linux.
Если установлен факт использования разрешенного прикладного протокола, то модуль xt_dpi устанавливает соединение по протоколу TCP с получателем с адресом R1 от имени отправителя с адресом S1 и переходит в режим прозрачной трансляции сетевых пакетов для данного сетевого соединения.
Иначе модуль xt_dpi сбрасывает соединение между отправителем с адресом S1 и получателем с адресом R1. Сброс соединения предпочтительно осуществляется посредством посылки отправителю с адресом S1 сетевого пакета, сформированного в соответствии с протоколом TCP, с установленным флагом RST и имеющий адрес отправителя R1. Это позволяет корректно сбросить запись о TCP соединении у отправителя с адресом S1, при этом достаточно сгенерировать только один сетевой пакет.
Другим вариантом сброса соединения является посылка отправителю с адресом S1 сетевого пакета, сформированного в соответствии с протоколом TCP, с установленным флагом FIN и имеющего адрес отправителя R1.
Также сброс соединения может быть осуществлен посредством посылки отправителю с адресом S1 сетевого пакета, сформированный в соответствии с протоколом ICMP, содержащий сообщение о невозможности доставки пакета.
Возможно осуществление сброса соединения и без отправки сетевых пакетов отправителю с адресом S1. В этом случае сетевое соединение по протоколу TCP будет завершено по истечении допустимого времени ожидания ответа.