Изобретение относится к телекоммуникации и вычислительной технике и может быть использовано для организации работы публичных компьютерных сетей, обеспечивающих взаимодействие терминального устройства со стороны клиента и сервера (модель клиент-сервер) с повышенной устойчивостью к сетевым атакам DDoS.
Известный способ взаимодействия клиент-сервер (В.Г.Олифер, Н.А.Олифер, Компьютерные сети. Принципы, технологии, протоколы. 4-е издание, 2010), схема реализации которого представлена на фиг.1, использует терминальное устройство, выступающее в качестве клиента 1, которое подключено к сети Интернет 5 через маршрутизатор 2. В свою очередь сервер 3 подключен к сети Интернет 5 через маршрутизатор 4. Неотъемлемой частью сети для взаимодействия терминала и сервера является также доступный в сети интернет-сервер доменных имен (DNS), обозначенный блоком 6, и система серверов 7 обеспечения безопасного соединения (SSL), выполняющих функции авторизации клиентского терминала и передачи ему ключа для соединения с сервером.
Функционирование известной защищенной системы клиент-сервер определяется следующими основными процессами. Терминальное устройство 1 направляет через свой маршрутизатор 2 и далее через сеть Интернет 5 последовательность IP пакетов, адресованных серверу DNS 6, определяющих запрос на получение IP адреса сервера 3. DNS сервер 6 формирует последовательность IP пакетов в адрес терминального устройства 1, содержащих информацию об IP адресе сервера 3. Эта последовательность пакетов доставляется терминалу 1 через сеть Интернет 5 и конечный маршрутизатор 2, к выходному порту которого подключено терминальное устройство 1. Терминальное устройство 1, получив IP адрес сервера 3, направляет в его адрес последовательность IP пакетов, определяющих запрос на получение идентификационных данных в форме стандартизованного сертификата. Сервер 3 отправляет устройству 1 копию сертификата, содержащего подпись удостоверяющего центра для проверки правильности сертификата. Терминальное устройство 1, получив копию сертификата по подписи удостоверяющего центра, определяет IP адрес сервера удостоверяющего центра 7 и направляет в этот адрес последовательность пакетов, определяющих запрос на доверие полученному от сервера 3 сертификату. Сервер 7 отправляет последовательность пакетов подтверждения доверия сертификату терминальному устройству 1, которое, получив подтверждение доверия от сервера 7, посылает серверу 3 последовательность пакетов на установление соединения. Сервер 3 отправляет терминальному устройству 1 последовательность пакетов подтверждения начала защищенной сессии, содержащих электронную подпись сервера 3. Терминальное устройство 1, используя секретный ключ, шифрует свои данные и передает их в виде последовательности пакетов серверу 3. В свою очередь, сервер 3 шифрует свои данные своим секретным ключом перед передачей последовательности пакетов терминальному устройству 1. Так осуществляется безопасный обмен данными между терминальным устройством 1 и сервером 3, подключенными к сети Интернет.
Однако описанное функционирование системы клиент-сервер становится невозможным, если число терминальных устройств 1, посылающих последовательность пакетов на IP адрес сервера 3, становится настолько большим, что сервер 3 не успевает установить со всеми терминальными устройствами соединение для обмена данными. Это явление называется перегрузкой сервера 3. Для борьбы с перегрузкой сервера необходимо повышать производительность его аппаратуры или организовывать параллельную работу нескольких комплектов аппаратуры с одним и тем же IP адресом. Явление перегрузки сервера используется злоумышленниками в сети Интернет для выведения из строя избранных серверов. Такой способ выведения сервера из строя называется атакой на сервер типа «отказ в обслуживании» - DoS (DoS - Denial of Service). Обычно для увеличения потока запросов на сервер используют не один терминал, а большое число одновременно посылающих запросы терминалов. В этом случае атаку называют «распределенной атакой» - DDoS (Distributed Denial of Service). Поскольку увеличение потока запросов создается увеличением числа терминалов, называемых при использовании для атаки «ботами», то борьба с DDoS атаками представляет сложную, трудноразрешимую задачу. Какой бы уровень производительности сервера не был достигнут, начиная с некоторого числа ботов, создаваемый ими поток запросов может превысить допустимый уровень для любого сервера.
Из уровня техники известны технические решения для решения задачи защиты сервера от DDoS атак.
Так, в заявке на патент США №20100031315 «SYSTEMS AND METHODS FOR PROTECTING AGAINST DENIAL OF SERVICE ATTACKS» представлено решение на уровне приложений. Согласно описанию изобретения процесс работы системы включает следующие основные этапы. Сначала терминальное устройство клиента направляет первый запрос на доступ к серверному ресурсу. Сервером создается запрос доказательства работы, который передается клиенту. Далее этот запрос обрабатывается для выработки нового URL (текстового адреса запроса), направляется второй запрос по выработанному URL, при этом сервер вырабатывает значение, основанное на точности совпадения полученного ответа и сделанного запроса доказательства работы. При попадании выработанного значения в заданные пороговые значения нагрузки на сервер, присваивается уровень приоритета второму запросу клиента, и запрос обрабатывается сервером. Таким образом, предлагаемое решение основано на применении на стороне сервера верификационного фильтра, управляющего установкой приоритета для клиентских запросов в зависимости от уровня нагрузки на сервер к моменту получения запроса от нового терминального устройства клиента.
В заявке на патент США №20100235632 «PROTECTING AGAINST DENIAL OF SERVICE ATTACKS USING TRUST, QUALITY OF SERVICE, PERSONALIZATION, AND HIDE PORT MESSAGE» предложено следующее решение. Терминальное устройство клиента получает доступ к серверу только после получения оценки уровня доверия данному клиенту с помощью дополнительно установленного сервера создания и обновления криптографически защищенных токенов. Таким образом, сущность предлагаемого в этом патенте решения состоит во введении доступа к серверу с помощью защитного экрана, проверяющего уровень доступа каждого клиента с помощью процедуры передачи клиенту специального программного скрипта JavaScript, выполнение которого порождает ответ серверу для принятия решения о допуске клиента к обмену данными с сервером. Сам процесс выполнения загруженного скрипта JavaScript зависит при этом от получения клиентом подтверждения своего уровня доверия от некоторой внешней сущности, описанной в патенте, которая идентифицирует клиента и выдает ему текущий ключ для обработки упомянутого выше запроса от сервера на выполнение скрипта.
Однако данные технические решения также реализуют защиту от DDoS атак на уровне прикладного протокола и не затрагивают уровень передачи IP пакетов.
В заявке на патент США 20110283367 «SECURING A COMMUNICATION PROTOCOL AGAINST ATTACKS» предложено использовать разделение потока передаваемых данных между двумя системами, соединенными через пакетную сеть, на два последовательных сегмента в рамках TCP протокола и сравнение ключей текущего и последующего сегментов с целью детектирования наличия сегмента «чужого» атакующего источника. При обнаружении сегментов, не принадлежащих легальному источнику, прием данных блокируется, предотвращая угрозу атаки.
Известные решения применяют дополнительные средства, позволяющие отличать пакеты атакующих ботов от пакетов, идущих от клиентов на уровне приложений, и не обеспечивают устойчивость системы по отношению к атакам на IP адрес сервера «грубой силы» (т.е. с большой интенсивностью).
Задачей изобретения является создание способа и системы взаимодействия терминального устройства клиента и сервера данных через сеть Интернет, обеспечивающих повышенную устойчивость к сетевым атакам (DDoS).
Технический результат заключается в существенном уменьшении влияния на работоспособность сервера пакетов, поступающих на сервер от атакующих ботов.
Поставленная задача решается тем, что, в способе взаимодействия терминального устройства клиента с сервером по сети Интернет, включающем формирование запроса от терминального устройства клиента через сеть Интернет на получение IP адреса сервера, проверку сертификата сервера и сертификата клиента и установление безопасного соединения с последующей передачей пакетов данных, согласно изобретению перед установлением безопасного соединения осуществляют формирование одной или нескольких таблиц IP адресов в виде двоичных кодов посредством выбора псевдослучайной последовательности IP адресов из пула свободных IP адресов, выделенных серверу, и передачей, по крайней мере, одной сформированной таблицы терминальному устройству клиента после установления безопасного соединения с сервером, а передачу одного или нескольких пакетов данных между терминальным устройством клиента и сервером осуществляют с изменением IP адреса сервера, который выбирают из таблицы IP адресов.
Для передачи пакета данных между терминальным устройством клиента и сервером с изменением IP адреса сервера используют последовательность, в соответствии с которой сначала инициируют передачу данных от клиента серверу, при этом в первом пакете, отправляемом клиентом, производят замену инициального адреса сервера на первый адрес из полученной таблицы и передачу пакета данных серверу, на роутере которого при получении пакета от клиента производят сравнение адреса назначения с первым адресом из таблицы и при совпадении адресов производят замену адреса назначения на истинный адрес сервера, после чего осуществляет прием и обработку пакета сервером; затем инициируют отправку пакета данных от сервера клиенту, где в адресе отправителя указывают истинный адрес сервера, который поступает в роутер сервера, в котором осуществляют замену истинного адреса отправителя на первый адрес из таблицы, с последующей передачей пакета на роутер клиента, где осуществляют замену адреса отправителя на инициальный адрес сервера; при отправке второго и последующих пакетов от клиента серверу производят замену инициального адреса сервера из полученной таблицы на второй и последующий адреса, соответственно, и передачу пакета данных серверу аналогично передаче первого пакета. Формирование одной или нескольких таблиц IP адресов осуществляют при загрузке сервера из пула адресов. При проверке совпадения адресов используют штамп времени. Таблицы могут быть сформированы с использованием генератора случайных чисел путем случайной выборки IP адресов из диапазона IP адресов, выделенных для сервера, например, с помощью функции Rand(), при этом таблица содержит не менее двух IP адресов. При формировании нескольких таблиц выбор рабочей таблицы осуществляют в зависимости от соответствующего ей определенного параметра, например заданного промежутка времени, или диапазона адресов клиента, или иного параметра. Для передачи таблицы IP адресов терминальному устройству клиента может формироваться код таблицы, например, в виде набора двоичных чисел, определяющих сдвиг IP адреса от инициального, при этом передачу сформированной таблицы от сервера данных клиенту осуществляют посредством пересылки авторизованному клиенту по безопасному соединению кода, обеспечивающего генерацию таблицы на терминальном устройстве клиента. Формирование таблицы может осуществляться через определенные промежутки времени или на каждую сессию. Изменение IP адреса сервера данных на IP адрес из таблицы может осуществляться по времени, при этом синхронизацию терминального устройства клиента и сервера данных осуществляют с помощью сервера единого времени.
Поставленная задача решается также тем, что система для взаимодействия терминального устройства клиента с сервером по сети Интернет, включающая, по крайней мере, одно терминальное устройство клиента, сервер данных, сервер доменных имен, сервер обеспечения безопасного соединения, два маршрутизатора, при этом сервер обеспечения безопасного соединения выполнен с возможностью авторизации терминального устройства клиента и передачи ему ключа для соединения с сервером данных, а терминальное устройство клиента, выполнено с возможностью подключения к сети Интернет через первый маршрутизатор, сервер данных выполнен с возможностью подключения к сети Интернет через второй маршрутизатор, согласно изобретению снабжена блоком, обеспечивающим возможность формирования одной или нескольких таблиц IP адресов в виде двоичных кодов, посредством выбора псевдослучайной последовательности IP адресов из пула свободных IP адресов, выделенных серверу, и смены IP адреса по таблице, назначаемой для каждого из соединений с авторизованным терминальным устройством клиента.
Блок, обеспечивающий реализацию возможности смены IP адреса сервера, содержит блок управления адресом IP пакетов, включенный между первым маршрутизатором и терминальным устройством клиента, блок адресного мультиплексора, включенный между вторым маршрутизатором и сервером данных и отдельным управляющим входом, подключенным к дополнительному адресуемому входу маршрутизатора, а также сервер единого времени, выполненный с возможностью подключения к сети Интернет. Блок управления адресом может включать блок терминального сетевого интерфейса, соединенного с внешним сетевым интерфейсом через блок формирования запроса на получение ключа и блок замены IP адреса в IP пакетах, а также блок приема подтверждения, соединенный через блок задания последовательности изменения адреса с блоком замены IP адреса в IP пакетах. Блок адресного мультиплексора может включать внешний сетевой интерфейс, соединенный с серверным сетевым интерфейсом через блок маршрутизации и блок замены адреса, управляющий сетевой интерфейс, соединенный с блоком маршрутизации и с блоком замены IP адреса через блок хранения последовательности IP адресов и блок задания текущего адреса, а также управляющий блок, соединенный с управляющим сетевым интерфейсом и блоком хранения последовательности IP адресов.
Сущность изобретения заключается в том, что с целью защиты от DDoS атак IP адрес сервера выбирается из выделенного для данного сервера пула адресов, и изменяется по специальному расписанию в соответствии с одной из псевдослучайных последовательностей, назначаемой для каждого из соединений с авторизованным клиентом, или назначаемой для заданного промежутка времени, или сочетание этих двух способов. IP адрес сервера меняется случайным образом по алгоритму, который позволяет использовать весь выделенный для сервера пул адресов, при этом авторизованным клиентам передаются для использования закодированные (в виде ключей) псевдослучайные последовательности IP адресов сервера. IP адреса из данных последовательностей применяются для связи клиента с сервером в определенные временные промежутки, и/или сессии связи.
Изобретение поясняется чертежами, где на фиг.1 представлена система, обеспечивающая одно из стандартных взаимодействий клиент-сервер: на фиг 2 - представлена система, реализующая взаимодействие клиент-сервер по заявляемому способу; на фиг.3 и 4 представлен пример реализации блоков 8 и 9 системы фиг.2; на фиг.5 представлен процесс преобразования адресов по пути от клиента 1 к серверу 3 и обратно; на фиг.6 - алгоритм взаимодействия блоков системы; на фиг.7 - схема работы блока адресного мультиплексора при замене адреса прибывающего IP пакета на реальный адрес сервера.
Позициями на чертежах обозначены: 1 - терминальное устройство клиента (клиент), 2 - маршрутизатор (или роутер), установленный со стороны клиента, 3 - сервер (или сервер данных), 4 - маршрутизатор (или роутер), установленный со стороны сервера, 5 - сеть Интернет, 6 - система серверов доменных имен, например DNS, 7 - система серверов обеспечения безопасного соединения, например SSL, 8 - блок управления адресом IP пакетов, установленный со стороны клиента, 9 - блок адресного мультиплексора, установленный со стороны сервера, 10 - сервер единого времени. Далее перечислены позиции элементов, составляющих блок 8, а именно: 11 - блок терминального сетевого интерфейса, 12 - блок внешнего сетевого интерфейса, 13 - блок замены IP адреса в IP пакетах, 14 - блок формирования запроса на получение ключа, 15 - блок задания последовательности изменения IP адреса, 16 - блок приема подтверждения. Далее перечислены позиции элементов, составляющих блок 9, а именно: 17 - блок внешнего сетевого интерфейса, 18 - блок серверного сетевого интерфейса, 19 - блок управляющего сетевого интерфейса, 20 - блок хранения последовательности IP адресов, 21 - блок задания текущего адреса, 22 - блок маршрутизации, 23 - блок замены IP адреса, 24 - управляющий блок.
Заявляемый способ может быть реализован с помощью системы, представленной на фиг.2, которая содержит стандартные блоки: терминальное устройство клиента 1, роутеры 2 и 4, установленные со стороны клиента и сервера, соответственно, сервер 3, сеть Интернет 5, систему серверов доменных имен 6, систему серверов обеспечения безопасного соединения 7, а также новые блоки: блок управления адресом IP пакетов 8, блок адресного мультиплексора 9 и сервер единого времени 10. Блок 8 включен в разрыв соединения терминальное устройство клиента 1 - маршрутизатор 2. Блок 9 включен в разрыв соединения маршрутизатор 4 - сервер 3 и отдельным управляющим входом подключен к дополнительному адресуемому входу маршрутизатора сервера.
Работа системы построена на принципе обязательной авторизации терминальных устройств клиентов и установления безопасного соединения терминального устройства клиента с сервером, которое может быть реализовано по алгоритму, представленному при описании работы аналога (фиг.1). В соответствии с данным алгоритмом клиенты должны зарегистрироваться и получить цифровую подпись (централизованный сертификат).
Отличительной особенностью работы заявляемой системы является наличие операции формирования таблицы IP адресов, которую осуществляет блок 9, который может входить в состав сервера 3, посредством выбора сервером 3 IP адресов из принадлежащего ему пула адресов. Таким образом, таблица IP адресов формируется из подмножества IP адресов, выделенного сетью сервера или сетью провайдера. Для адресации сервера используется не один IP адрес, а набор IP адресов из таблицы. При этом IP адрес сервера изменяют по специальному расписанию в соответствии с одной из псевдослучайных последовательностей, назначаемой для каждого из соединений с авторизованным клиентом, или по времени. Формирование таблицы IP адресов осуществляют до начала установления безопасного соединения, например в момент загрузки сервера 3. Минимальный размер таблицы должен включать не менее двух IP адресов, максимальный - ограничен объемом выделенного диапазона доступных адресов и объемом памяти, отводимой для хранения таблицы у клиента и на сервере. При этом устойчивость к атакам будет пропорциональна длине таблицы. Формирование таблицы может осуществляться, например, в два этапа. На первом этапе присваивают номер каждому имеющемуся свободному адресу из пула адресов, на втором - с помощью генератора случайных чисел (например, используя функцию генератора случайных чисел, которая присутствует в стандартном окружении) определяют номер, по которому происходит выбор IP адреса из имеющегося пула адресов. Процесс формирования таблицы может быть связан, например, с такими параметрами как время - дни недели, время суток и т.д., или иными параметрами, например, формироваться на каждый запрос или сессию.
После окончания этапа формирования таблицы осуществляют ее кодирование в виде ключа с последующей передачей данного ключа терминальному устройству клиента. С помощью этого ключа на стороне терминального устройства клиента генерируют таблицу, эквивалентную таблице, которая хранится в блоке 9. Таким образом, при получении терминальным устройством клиента инициального адреса сервера и ключа таблицы, клиент осуществляет восстановление таблицы IP адресов сервера. Ключ может быть реализован в виде последовательности чисел, каждое из которых представляет сдвиг последующего IP адреса от инициального. Инициальным адресом является тот IP адрес, под которым данный сервер известен внешней системе и который сообщает DNS сервер.
В процессе реализации взаимодействия клиент-сервер осуществляют синхронизацию времени терминального устройства клиента и сервера. Кроме того, в каждый IP пакет записывают метку времени (штамп времени) для учета временного сдвига при прохождении пакета через сеть, по которой проверяют этот пакет на соответствие его адресу, актуальному на момент передачи пакета. Отправитель пакета, например клиент, берет адрес из таблицы, получает информацию от сервера единого времени, добавляя ее в виде метки времени в отправляемый пакет. А получатель пакета, например сервер, анализирует время и IP адрес в полученном пакете, а также время и IP адрес в таблице адресов сервера. В случае, если на указанное в полученном пакете время адреса из пакета и таблицы IP адресов совпадают, пакет передается для дальнейшей обработки сервером. Каждый пакет может передаваться с новым IP адресом.
Из одного и того же пула IP адресов, выделенных для сервера, может быть построено несколько различных таблиц IP адресов в виде псевдослучайных последовательностей. В один момент времени различные клиенты могут работать по разным таблицам. Таблицы могут быть разными и для разных интервалов времени (по суткам или по часам). Таблицы генерируют на сервере, например, при загрузке, обеспечивая двойной уровень защиты. При работе сервера осуществляют сначала выбор одной из таблиц, затем выбор адреса из выбранной таблицы, что обеспечивает большую устойчивость системы к DDoS атакам.
Подключение к работе системы только авторизованных (т.е. имеющих цифровой сертификат) клиентов позволяет системе проводить разграничение между клиентами и ботами. При этом поведение сервера 3 отличается для авторизованного пользователя от поведения сервера по отношению к боту. В известных решениях авторизованный клиент использует для соединения один IP адрес (инициальный адрес сервера), который является единственным в туннеле. И в случае сетевых атак на данный адрес пакеты, отправляемые клиентом на этот адрес, не могут быть обработаны, т.е. происходит отказ в обслуживании. Заявляемый способ значительно повышает устойчивость к DDoS атакам посредством введения оригинальной операции по формированию таблицы IP адресов и использования меняющихся адресов из этой таблицы при передаче пакетов данных после установления безопасного соединения.
В одном из вариантов исполнения системы, реализующей заявляемый способ, в качестве терминального устройства клиента может выступать и сам роутер 2, блок 8 может быть встроен в роутер 2 со стороны клиента, а блок 9 - в роутер 4 со стороны сервера. Алгоритмы работы блоков 8 и 9 могут быть реализованы аппаратным и/или программным путем.
В частном варианте исполнения внутреннее устройство блока управления адресом IP пакета 8 включает в себя блок терминального сетевого интерфейса 11 и внешнего сетевого интерфейса 12, блок замены IP адреса в IP пакетах 13, блок формирования запроса на получение ключа 16, блок задания последовательности изменения адреса 15 и блок приема подтверждения 14 (фиг.3).
Блок 9 имеет внутренний состав, также включающий в себя сетевые интерфейсы 17 - внешний сетевой интерфейс, 18 - серверный сетевой интерфейс и 19 - управляющий сетевой интерфейс. Блок замены IP адреса 23 подключен к блоку задания текущего адреса 21 и блоку маршрутизации 22. Блок хранения последовательности IP адресов 20, выход которого подключен к блоку 21, управляется командами от управляющего блока 24 и может изменять свое содержимое из сети через управляющий сетевой интерфейс 19. Управляющий блок 24 взаимодействует с внешними устройствами также через блок 19 (фиг.4).
Важной особенностью заявляемого решения является использование механизма защиты на сетевом уровне протоколов - т.е. более низком, чем известные способы. Для обеспечения снижения нагрузки на сервер от производящих атаку «ботов» и получения всех сетевых пакетов от авторизованного клиента используется смена адреса сервера по расписанию (алгоритму), известному только авторизованному клиенту. При этом клиент в течение сессии обмена данными с сервером меняет по этому алгоритму IP адрес сервера на своей стороне. Боты не имеют достоверной информации о расписании смены IP адреса сервера, не могут сформировать поток пакетов в адрес сервера, а следовательно, значительной нагрузки, нарушающей его нормальное функционирование.
Авторизованный клиент и сервер используют согласованную и/или синхронную смену IP адреса сервера, тем самым обеспечивая непрерывный процесс передачи информации, причем только авторизованный клиент знает о расписании изменения IP адреса сервера, для других неавторизованных пользователей это расписание не известно.
В частном случае, система, реализующая заявленный способ, работает следующим образом.
Сервер 3 с помощью блока 9 формирует одну или несколько таблиц IP адресов из пула (диапазона) свободных адресов, выделенных серверу провайдером. Формирование таблицы IP адресов происходит путем построения из них псевдослучайной последовательности - т.е такой последовательности, когда адреса в таблице представлены не последовательно из используемого пула адресов, а свободные адреса из пула выбираются псевдослучайным образом. Таблицы IP адресов могут формироваться для использования в различные промежутки времени, и/или для разных сессий и/или для разных клиентов. После формирования таблиц сервер готовит соответствующие ключи для передачи таблицы клиенту для переключения IP адресов (например, в виде последовательности двоичных чисел, которые представляют величину сдвига адреса по отношению к инициальному) для дальнейшей передачи их авторизованным клиентам (и расшифровки на стороне клиента) через защищенное SSL соединение.
Клиент 1 формирует запрос на получение адреса сервера 3 в виде передачи последовательности пакетов через блок 8 и маршрутизатор 2 в сеть Интернет 5 к серверу системы DNS 6. Сервер 6 обрабатывает запрос, используя имеющиеся данные о соответствии имени запрашиваемого сервера его IP адресам. В качестве IP адреса сервера используется адрес, записанный в стандартную DNS запись владельцем сервера. Возвращаемый системой DNS адрес не является реальным адресом сервера 3, а принадлежит блоку 9 - адресному мультиплексору. Этот адрес называют инициальным адресом сервера 3.
Получив IP адрес от системы DNS, клиент формирует запрос на установление соединения с сервером 3 по полученному им инициальному IP адресу. Этот запрос в виде последовательности IP пакетов передается через сеть 5 и маршрутизатор 4 на блок адресного мультиплексора 9. Через сетевой интерфейс блока 17 запрос поступает в блок маршрутизации 22, где формируется ответ клиенту, содержащий требование перейти на расширенный защищенный протокол SSL и сертификат безопасности сервера. Этот ответ передается последовательностью пакетов через 17 в сеть 5 и далее к клиенту 1 через маршрутизатор 2 и блок управления адресом 8. Клиент 1, получив это требование, формирует собственный сертификат безопасности, удостоверенный на сервере обеспечения безопасного соединения 7, и отправляет зашифрованный запрос серверу 3. Зашифрованный запрос на соединение по расширенному безопасному протоколу через сеть 5, маршрутизатор 4 поступает в блок 9 на блок маршрутизации 22. Блок 22 вычисляет корректность запроса. В случае его некорректности запрос игнорируется и процесс завершается.
В случае корректности блок 22 вырабатывает сигнал на управляющий блок 24, который формирует запрос получения данных штампа единого времени и направляет его в виде последовательности пакетов через сетевой интерфейс 19 к серверу единого времени 10. Сервер единого времени, получив запрос на штамп единого времени, возвращает данные о текущем времени, которые в виде последовательности пакетов поступают через маршрутизатор 4 и сетевой интерфейс 19 внутрь блока 9 на управляющий блок 24. В этом блоке данные о времени используются совместно с сигналом о корректности с блока 22 для выработки сигнала на блок 20 выбора последовательности IP адресов для сервера 3 и назначения его текущего адреса. Последовательности адресов IP сервера 3 хранятся в виде таблиц адресов в памяти блока 20. Выбор последовательности определяется данными штампа единого времени и выработанным шифрованным ключом, вычисляемым по сертификату сервера. Сервер отправляет в ответ подготовленные ключи таблицы IP адресов через блок 22 и сетевой интерфейс 19, отправляет ответ по расширенному безопасному протоколу клиенту 1 и блоку управления 8 в виде последовательности IP пакетов через сетевой интерфейс 17 и маршрутизатор 4 в сеть 5 и далее на маршрутизатор 2 и через блок 8. Блок 8, получив ответ от 9, формирует запрос на сервер 10 для получения данных о штампе единого времени. Получив ответ от сервера системы единого времени 10 через сетевой интерфейс 12 блок 8 производит следующие действия. Полученные ответ от блока 9 и данные от сервера 10 в виде последовательности пакетов проходят через сетевой интерфейс 12 на управляющий блок 14, в котором вырабатывается сигнал установки текущего адреса запроса к серверу 3. Сигнал поступает на блок 13, в котором хранится расшифрованная из полученного ключа от сервера таблица IP адресов последовательности смены адресов. Для выбора текущего IP адреса сервера используют штамп единого времени, определяющий адрес в этой таблице. В каждый IP пакет записывается метка времени. На стороне сервера при приеме IP пакета анализируется эта метка времени и принимается решение - был ли актуален полученный пакет в момент передачи, т.е. соответствует ли IP адрес в полученном пакете IP адресу из таблицы на указанный в пакете момент времени.
Клиент 1 посылает следующий запрос к серверу 3, используя инициальный адрес сервера. Запрос проходит через блок 8 в виде последовательности IP пакетов и в каждом из них блок 14 изменяет IP адрес на другой, определяемый блоком 13 из таблицы IP адресов. Для обмена информацией с сервером клиент может использовать отдельные пакеты или группы пакетов IP. При дальнейшем взаимодействии с сервером, для каждого отдельного IP пакета или для группы пакетов IP, инициатива перехода по таблице всегда принадлежит клиенту - если клиент не передает запросов - таблица не сканируется, адреса не выбираются.
Пакеты следуют через сетевой интерфейс 12 на маршрутизатор 2 и далее в сеть 5. Все адреса в последовательности IP адресов сервера 3 принадлежат пространству адресов маршрутизатора 4 и поэтому все пакеты, направленные на эти адреса, поступают через маршрутизатор 4 на блок 9. Получив очередной пакет через сетевой интерфейс 17, блок 22 передает его блоку 23, в котором осуществляется проверка адреса в IP пакете на совпадение с текущим адресом сервера на момент времени, определенный штампом единого времени. Если эти адреса совпадают, то в пакете производится замена IP адреса на реальный IP адрес сервера 3 и пакет попадает на вход сервера 3 через сетевой интерфейс 18.
Таким образом, стек протоколов сервера работает как обычно в соответствии со стандартным набором протоколов. Клиент 1 в процессе обмена пакетами также работает через стандартный стек протоколов. Однако во всех передаваемых терминалом пакетах с помощью блока 8 производится замена IP адреса получателя на адрес, который берется из таблицы IP адресов и по штампу времени на передаваемом пакете. Такие пакеты предаются через сеть в соответствии с правилами маршрутизации и собираются на маршрутизаторе 4, которому принадлежит вся сетка адресов из используемой последовательности, затем поступают в блок 9, который, анализирует (сравнивает) адреса в принимаемых пакетах и производит замену адреса на реальный адрес сервера на тех пакетах, которые содержат правильный адрес, совпадающий с текущим адресом для конкретной отметки времени. Такие пакеты образуют поток пакетов, направляемый на сервер 3 и обрабатываемый его стеком по обычным алгоритмам.
Фиг.5 иллюстрирует процесс преобразования адресов по пути от клиента 1 к серверу 3 и обратно. При этом на фиг.5 терминами «Серия 1» и «Серия 2» обозначены две альтернативные таблицы IP адресов сервера, хранящиеся в блоках 13 и 20 и используемые в зависимости от содержимого полученного ключа, a s(l), s(k) и s(n) -обозначены IP адреса, которые используются в принимаемых и передаваемых пакетах. Фиг.6 показывает диаграмму взаимодействия блоков системы. Фиг.7 более детально раскрывает функциональность работы блоков 20, 21, 23 при замене адреса прибывающего IP пакета на реальный адрес сервера.
Одним из вариантов заполнения таблицы адресов является ее заполнение псевдослучайной последовательностью, т.е. таким образом, чтобы по наблюдаемым ранее адресам было максимально затруднено прогнозирование последующего значения адреса.
Следует отметить, что принцип замены адреса в принимаемых пакетах применяется в настоящее время в маршрутизаторах Интернет при использовании технологии, называемой Network Address Translation (NAT). В отличие от предлагаемого способа эта замена осуществляется путем назначения соответствия переменного внешнего адреса устройства на период сессии из пула адресов внутреннему постоянному адресу. Этот механизм применяется для обеспечения коллективного использования внешних сетевых адресов большим числом устройств, не имеющих необходимости постоянного соединения через Интернет. Все пакеты, поступающие к устройству, должны иметь одинаковый IP адрес в течение всей сессии, поэтому такое использование преобразования адресов не решает поставленной в настоящем изобретении задачи.
В данном изобретении предлагается использование следующих технических приемов: изменение IP адреса сервера по специальному расписанию в соответствии с одной из псевдослучайных последовательностей, назначаемой для каждого из соединений с авторизованным (сертифицированным) клиентом, преобразование IP адресов «на лету» (технология NAT), шифрование с открытым ключом (технология SSL). Использование данных приемов позволяет решить актуальную задачу защиты сервера от DDoS атак, тем самым увеличить уровень надежности работы сервера и информационной безопасности в сети.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ ПОСТРОЕНИЯ СЕТЕЙ ПЕРЕДАЧИ ДАННЫХ С ПОВЫШЕННЫМ УРОВНЕМ ЗАЩИТЫ ОТ DDоS-АТАК | 2015 |
|
RU2576488C1 |
СИСТЕМА И СПОСОБ УМЕНЬШЕНИЯ ЛОЖНЫХ СРАБАТЫВАНИЙ ПРИ ОПРЕДЕЛЕНИИ СЕТЕВОЙ АТАКИ | 2011 |
|
RU2480937C2 |
СПОСОБ ЗАЩИТЫ ИНФОРМАЦИОННО-ВЫЧИСЛИТЕЛЬНОЙ СЕТИ ОТ ВТОРЖЕНИЙ | 2021 |
|
RU2758997C1 |
Система и способ настройки систем безопасности при DDoS-атаке | 2017 |
|
RU2659735C1 |
Система и способ определения DDoS-атак | 2017 |
|
RU2676021C1 |
Система и способ определения DDoS-атак при некорректной работе сервисов сервера | 2017 |
|
RU2665919C1 |
СПОСОБЫ И УСТРОЙСТВО ГИПЕРЗАЩИЩЕННОЙ СВЯЗИ "ПОСЛЕДНЕЙ МИЛИ" | 2018 |
|
RU2754871C2 |
СПОСОБ УПРАВЛЕНИЯ СОЕДИНЕНИЯМИ В МЕЖСЕТЕВОМ ЭКРАНЕ | 2012 |
|
RU2517411C1 |
СИСТЕМА И СПОСОБ ВЫЯВЛЕНИЯ ЦЕЛЕВЫХ АТАК | 2014 |
|
RU2601147C2 |
Система и способ защиты от Volume DDoS атак | 2022 |
|
RU2791869C1 |
Изобретение относится к телекоммуникации и вычислительной технике и может быть использовано для организации работы компьютерных сетей. Технический результат заключается в повышении устойчивости к сетевым атакам за счет уменьшения влияния на работоспособность сервера пакетов, поступающих от атакующих ботов. Способ включает формирование запроса от терминального устройства клиента на получение IP адреса сервера, проверку сертификата сервера и сертификата клиента, формирование одной или нескольких таблиц IP адресов в виде двоичных кодов, установление безопасного соединения, передачу сформированной таблицы терминальному устройству клиента, а передачу пакетов данных между терминальным устройством клиента и сервером осуществляют с изменением IP адреса сервера, который выбирают из таблицы IP адресов. Система включает терминальное устройство клиента, сервер данных, сервер доменных имен, сервер обеспечения безопасного соединения, два маршрутизатора и блок, формирующий таблицу IP адресов в виде двоичных кодов и меняющий IP адреса по таблице, назначаемой для каждого соединения. 2 н. и 12 з.п. ф-лы, 7 ил.
1. Способ взаимодействия терминального устройства клиента с сервером по сети Интернет, включающий формирование запроса от терминального устройства клиента через сеть Интернет на получение IP адреса сервера, проверку сертификата сервера и сертификата клиента и установление безопасного соединения с последующей передачей пакетов данных, отличающийся тем, что перед установлением безопасного соединения осуществляют формирование одной или нескольких таблиц IP адресов в виде двоичных кодов посредством выбора псевдослучайной последовательности IP адресов из пула свободных IP адресов, выделенных серверу, и передачу, по крайней мере, одной сформированной таблицы терминальному устройству клиента после установления безопасного соединения с сервером, а передачу одного или нескольких пакетов данных между терминальным устройством клиента и сервером осуществляют с изменением IP адреса сервера, который выбирают из таблицы IP адресов.
2. Способ по п.1, отличающийся тем, что для передачи пакета данных между терминальным устройством клиента и сервером с изменением IP адреса сервера используют последовательность, в соответствии с которой сначала инициируют передачу данных от клиента серверу, при этом в первом пакете, отправляемом клиентом, производят замену инициального адреса сервера на первый адрес из полученной таблицы и передачу пакета данных серверу, на роутере которого при получении пакета от клиента производят сравнение адреса назначения с первым адресом из таблицы и при совпадении адресов производят замену адреса назначения на истинный адрес сервера, после чего осуществляет прием и обработку пакета сервером; затем инициируют отправку пакета данных от сервера клиенту, где в адресе отправителя указывают истинный адрес сервера, который поступает в роутер сервера, в котором осуществляют замену истинного адреса отправителя на первый адрес из таблицы, с последующей передачей пакета на роутер клиента, где осуществляют замену адреса отправителя на инициальный адрес сервера; при отправке второго и последующих пакетов от клиента серверу производят замену инициального адреса сервера из полученной таблицы на второй и последующий адреса, соответственно, и передачу пакета данных серверу аналогично передаче первого пакета.
3. Способ по п.1, отличающийся тем, что формирование одной или нескольких таблиц IP адресов осуществляют при загрузке сервера из пула адресов.
4. Способ по п.2, отличающийся тем, что при проверке совпадения адресов используют штамп времени.
5. Способ по п.1, отличающийся тем, что таблицы формируют с использованием генератора случайных чисел путем случайной выборки IP адресов из диапазона IP адресов, выделенных для сервера, например, с помощью функции Rand(), при этом таблица содержит не менее двух IP адресов.
6. Способ по п.1, отличающийся тем, что формируют несколько таблиц, при этом выбор рабочей таблицы осуществляют в зависимости от соответствующего ей определенного параметра, например заданного промежутка времени, или диапазона адресов клиента, или иного параметра.
7. Способ по п.1, отличающийся тем, что для передачи таблицы IP адресов терминальному устройству клиента формируют код таблицы, например, в виде набора двоичных чисел, определяющих сдвиг IP адреса от инициального, при этом передачу сформированной таблицы от сервера данных клиенту осуществляют посредством пересылки авторизованному клиенту по безопасному соединению кода, обеспечивающего генерацию таблицы на терминальном устройстве клиента.
8. Способ по п.1, отличающийся тем, что формирование таблицы осуществляют через определенные промежутки времени.
9. Способ по п.1, отличающийся тем, что формирование таблицы осуществляют на каждую сессию.
10. Способ по п.1, отличающийся тем, что изменение IP адреса сервера данных на IP адрес из таблицы осуществляют по времени, при этом синхронизацию терминального устройства клиента и сервера данных осуществляют с помощью сервера единого времени.
11. Система для взаимодействия терминального устройства клиента с сервером по сети Интернет, включающая, по крайней мере, одно терминальное устройство клиента, сервер данных, сервер доменных имен, сервер обеспечения безопасного соединения, два маршрутизатора, при этом сервер обеспечения безопасного соединения выполнен с возможностью авторизации терминального устройства клиента и передачи ему ключа для соединения с сервером данных, а терминальное устройство клиента выполнено с возможностью подключения к сети Интернет через первый маршрутизатор, сервер данных выполнен с возможностью подключения к сети Интернет через второй маршрутизатор, отличающаяся тем, что она снабжена блоком, обеспечивающим возможность формирования одной или нескольких таблиц IP адресов в виде двоичных кодов посредством выбора псевдослучайной последовательности IP адресов из пула свободных IP адресов, выделенных серверу, и смены IP адреса по таблице, назначаемой для каждого из соединений с авторизованным терминальным устройством клиента.
12. Система по п.11, отличающаяся тем, что блок, обеспечивающий реализацию возможности смены IP адреса сервера, содержит блок управления адресом IP пакетов, включенный между первым маршрутизатором и терминальным устройством клиента, блок адресного мультиплексора, включенный между вторым маршрутизатором и сервером данных и отдельным управляющим входом, подключенным к дополнительному адресуемому входу маршрутизатора, а также сервер единого времени, выполненный с возможностью подключения к сети Интернет.
13. Система по п.12, отличающаяся тем, что блок управления адресом включает блок терминального сетевого интерфейса, соединенного с внешним сетевым интерфейсом через блок формирования запроса на получение ключа и блок замены IP адреса в IP пакетах, а также блок приема подтверждения, соединенный через блок задания последовательности изменения адреса с блоком замены IP адреса в IP пакетах.
14. Система по п.12, отличающаяся тем, что блок адресного мультиплексора включает внешний сетевой интерфейс, соединенный с серверным сетевым интерфейсом через блок маршрутизации и блок замены адреса, управляющий сетевой интерфейс, соединенный с блоком маршрутизации и с блоком замены IP адреса через блок хранения последовательности IP адресов и блок задания текущего адреса, а также управляющий блок, соединенный с управляющим сетевым интерфейсом и блоком хранения последовательности IP адресов.
СПОСОБ МОНИТОРИНГА БЕЗОПАСНОСТИ АВТОМАТИЗИРОВАННЫХ СИСТЕМ | 2004 |
|
RU2261472C1 |
US 7865945 B2 (DEEP NINES, INC.), 04.01.2011 | |||
US 2010138921 A1, 03.06.2010 | |||
US 7827272 B2, 02.11.2010 | |||
Олифер В.Г | |||
и др | |||
Компьютерные сети | |||
Принципы, технологии, протоколы: Учебник для вузов, 3-е изд., СПб, 2006. |
Авторы
Даты
2013-10-20—Публикация
2012-05-14—Подача