Вычислительное устройство и способ выявления скомпрометированных устройств на основе обнаружения dns-туннелирования
Владельцы патента RU 2777348:
Общество с ограниченной ответственностью "Группа АйБи ТДС" (RU)
Изобретение относится к области информационной безопасности. Техническим результатом является повышение точности выявления скомпрометированных устройств на основе обнаружения DNS-туннелирования. Компьютерно-реализуемый способ выявления скомпрометированных устройств, использующих DNS-туннелирование, содержит этапы, на которых: получают трафик защищаемой сетевой инфраструктуры; извлекают из трафика по меньшей мере один DNS-запрос; фильтруют список из выявленных DNS-запросов, при этом исключая из него запросы к заранее определенным типам доменных имен; каждое из множества оставшихся в списке доменных имен поочередно подают на вход заранее обученного решающего правила; если по меньшей мере одно доменное имя получило негативную оценку решающего правила, увеличивают штраф для устройства, с которого ушел по меньшей мере один DNS-запрос, содержащий это доменное имя; при превышении суммой штрафов по меньшей мере одного устройства заранее заданного порога данные устройства относят к скомпрометированным, причем об этом выводят уведомление. 2 н. и 11 з.п. ф-лы, 3 ил.
ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее техническое решение относится к области вычислительной техники, в частности к области информационной безопасности, а именно к компьютерно-реализуемому способу и вычислительному устройству выявления скомпрометированных устройств на основе обнаружения DNS-туннелирования.
УРОВЕНЬ ТЕХНИКИ
[0002] DNS-туннелирование является одним из самых распространенных способов обмена информацией со скомпрометированным устройством посредством сети Интернет для злоумышленников.
[0003] Под этим термином обычно подразумевают такой способ обмена информацией, при котором собственно сообщение передается в стандартном DNS-запросе под видом доменного имени третьего или более уровня, например, extremely_hidden_secret_message.domain.com.
[0004] При этом перед отправкой сообщение, как правило, подвергается шифрованию, поэтому типичное для DNS-туннелирования доменное имя обычно выглядит следующим образом:
MV4HI4TFNVSWY6K7NBUWIZDFNZPXGZLDOJSXIX3NMVZXGYLHMU=======.domain.com.
[0005] Само по себе наличие DNS-туннеля в исходящем трафике сетевой инфраструктуры, как правило, интерпретируется как указание на то, что минимум одно устройство данной инфраструктуры скомпрометировано.
[0006] В уровне техники используются два подхода для обнаружения скомпрометированных устройств, использующих DNS-туннелирование, которые условно можно определить, как основанные на анализе объема трафика и анализе полезной нагрузки.
[0007] В первом случае, при анализе объема трафика обращают внимание на общее количество запросов к конкретному домену и сравнивают это количество со средними значениями. Так как для DNS-туннелирования характерен нетипично большой объем DNS-трафика, а именно в десятки и сотни раз превосходящий типовые значения.
[0008] Так в патентном документе US 10044748 В2 (Georgia Tech Research Corp.) описан способ обнаружения скомпрометированных устройств в сети на основе определения частоты DNS запросов, то есть когда частота запросов подозрительна, выполняется обработка, связанная с определением количества DNS запросов за определенный период и сравнением собранных данных для определения того, превышают ли количество запросов домена третьего уровня количество запросов домена второго уровня.
[0009] Также известно решение, описанное в документе US 10587646 В2, в котором производят обнаружение аномалий DNS трафика на основе порогового значения количества запросов в единицу времени.
[0010] Однако, для систем, реализующих подобные подходы, могут остаться незамеченными сессии с малым объемом обмена, когда, например, вредоносное программное обеспечение (ВПО) использует DNS-туннель для скрытной отправки на командный сервер скомпрометированных учетных данных пользователя, а не для загрузки или выгрузки файла, или другого значительного объема информации.
[0011] При анализе полезной нагрузки обращают внимание на аномальные запросы, особенно если они содержат в себе нетипичные доменные имена, странные символы и пр. Чаще всего при таком подходе используются различные статистические методики, позволяющие обнаружить в запросах необычно длинные доменные имена.
[0012] В качестве примера в документе US 10270744 В2 (Infoblox Inc.) реализована аналитическая система, которая обрабатывает DNS данные, при этом определяя энтропию текстовой строки в DNS потоке данных на основе распределения набора символов в текстовой строке, определяет лексические признаки на основе символов, читаемых человеком, и символов, не читаемых человеком, в текстовой строке, определяют значение в процентиле распределения баллов в N-граммах из текстовой строки в DNS потоке данных, на основе чего формируются шаблоны для обнаружения скомпрометированных устройств.
[0013] Однако, злоумышленникам этот подход тоже известен, и они могут намеренно не использовать при DNS-туннелировании доменные имена максимально доступной длины, что осложняет обнаружение.
[0014] Таким образом, становится очевидна необходимость разработки технических решений, которые позволяли бы обнаруживать скомпрометированные устройства сетевой инфраструктуры даже при малых объемах обмена данными и при DNS-туннелировании с заведомо "безобидной" длиной доменного имени.
[0015] Известно еще одно техническое решение, которое было выбрано в качестве наиболее близкого аналога RU 2668710 С1 (Группа АйБи ТДС), которое направлено на обеспечение обнаружения вредоносных доменных имен в сетевом трафике. В данном документе описан метод эвристического подхода к обнаружению вредоносных доменных имен. Однако вычисление вредоносности доменного имени посредством совокупности методик требует больших ресурсозатрат и временных издержек. Кроме того, решение, описанное далее в настоящем документе, позволяет не только выявить вредоносное доменное имя, но еще и заблокировать устройство, связанное с ним.
[0016] Следовательно, настоящее техническое решение создано для преодоления по меньшей мере одного обозначенного выше недостатка известных систем и способов выявления скомпрометированных устройств, использующих DNS-туннелирование.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0017] Технической проблемой, на решение которой направлено заявленное решение, является создание системы и компьютерно-реализуемого способа выявления скомпрометированных устройств на основе DNS-туннелирования. Дополнительные варианты реализации настоящего изобретения представлены в зависимых пунктах изобретения.
[0018] Технический результат заключается в повышении точности выявления скомпрометированных устройств на основе DNS-туннелирования.
[0019] Заявленный результат достигается за счет осуществления компьютерно-реализуемого способа выявления скомпрометированных устройств, использующих DNS-туннелирование, содержащего этапы, на которых: получают трафик защищаемой сетевой инфраструктуры; извлекают из трафика по меньшей мере один DNS-запрос; фильтруют список из выявленных DNS-запросов, при этом исключая из него запросы к заранее определенным типам доменных имен; каждое из множества оставшихся в списке доменных имен поочередно подают на вход заранее обученного решающего правила; если по меньшей мере одно доменное имя получило негативную оценку решающего правила, увеличивают штраф для устройства, с которого ушел по меньшей мере один DNS-запрос, содержащий это доменное имя; при превышении суммой штрафов по меньшей мере одного устройства заранее заданного порога, данное устройство относят к скомпрометированным, причем об этом выводят алерт.
[0020] В частном варианте реализации описываемого способа получают исходящий трафик защищаемой сетевой инфраструктуры, а также дополнительно получают входящий сетевой трафик защищаемой сетевой инфраструктуры.
[0021] В частном варианте реализации описываемого способа трафик получают методом зеркалирования.
[0022] В частном варианте реализации описываемого способа для каждого выявленного в трафике DNS-запроса извлекают по меньшей мере следующие данные: доменное имя; IP-адреса отправителя-и/или адресата.
[0023] В частном варианте реализации описываемого способа дополнительно осуществляют проверку вхождения по меньшей мере одного IP-адреса получателя в черный и белый список,
если по меньшей мере один IP-адрес получателя обнаружен в черном списке, то увеличивают штраф для по меньшей мере одного устройства, с которого ушел по меньшей мере один DNS-запрос, содержащий по меньшей мере один IP-адрес получателя;
если по меньшей мере один IP-адрес получателя обнаружен в белом списке, то отфильтровывают данный DNS-запрос.
[0024] В частном варианте реализации описываемого способа к заранее определенным типам доменных имен относят по меньшей мере: доменные имена второго уровня, доменные имена с низкой энтропией, а также заведомо доверенные именам из общеизвестных достоверных источников.
[0025] В частном варианте реализации описываемого способа в качестве эвристических правил используют по меньшей мере следующие методы: разделение доменов по уровню энтропии, выделение n-грамм в доменных именах.
[0026] В частном варианте реализации описываемого способа в качестве статистических методов используют LSTM-нейросеть.
[0027] В частном варианте реализации описываемого способа на вход решающего правила LSTM-нейросети дополнительно подается статистика сетевых взаимодействий устройства, с которого было получен DNS-запрос, содержавший данное доменное имя за последние Т минут и штраф данного устройства.
[0028] В частном варианте реализации описываемого способа дополнительно в качестве решающего правила используют совокупность LSTM-нейросети и по меньшей мере одного из эвристических методов.
[0029] В частном варианте реализации описываемого способа дополнительно осуществляют поиск по меньшей мере одного доменного имени, которое получило негативную оценку решающего правила, в истории всего входящего и исходящего трафика, полученного из по меньшей мере одного устройства защищаемой инфраструктуры и,
если находят вхождения по меньшей мере одного доменного имени, которое получило негативную оценку решающего правила, то все устройства, входящие в защищаемую инфраструктуру, коммуницирующие с указанным доменным именем,
либо дополнительно штрафуют,
либо штрафуют, если не оштрафовали их ранее.
[0030] В частном варианте реализации описываемого способа дополнительно блокируют выявленное вредоносного доменного имя для всей защищаемой инфраструктуры, создают уведомления, шаблонные письма для уведомления об инциденте заинтересованных сторон, вносят доменное имя в по меньшей мере один черный список.
[0031] Заявленный результат также достигается за счет создания вычислительного устройства, выполненного с возможностью выполнения способа выявления скомпрометированных устройств на основе DNS-туннелирования.
ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0032] Реализация изобретения будет описана в дальнейшем в соответствии с прилагаемыми чертежами, которые представлены для пояснения сути изобретения и никоим образом не ограничивают область изобретения. К заявке прилагаются следующие чертежи:
[0033] Фиг. 1 иллюстрирует упрощенный вариант реализации системы выявления скомпрометированных устройств на основе DNS-туннелирования.
[0034] Фиг. 2 иллюстрирует последовательность этапов реализации описываемой технологии выявления скомпрометированных устройств на основе DNS-туннелирования.
[0035] Фиг. 3 иллюстрирует упрощенное схематическое представление одной из неограничивающих реализаций компьютерного устройства для осуществления настоящего технического решения.
ДЕТАЛЬНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0036] В приведенном ниже подробном описании реализации изобретения приведены многочисленные детали реализации, призванные обеспечить отчетливое понимание настоящей технологии. Однако, квалифицированному в предметной области специалисту, будет очевидно каким образом можно использовать настоящее изобретение, как с данными деталями реализации, так и без них. В других случаях хорошо известные методы, процедуры и компоненты не были описаны подробно, чтобы не затруднять излишне понимание особенностей настоящего изобретения.
[0037] Кроме того, из приведенного изложения будет ясно, что изобретение не ограничивается приведенной реализацией. Многочисленные возможные модификации, изменения, вариации и замены, сохраняющие суть и форму настоящего изобретения, будут очевидными для квалифицированных в предметной области специалистов.
[0038] DNS-туннелирование - это техника, позволяющая передавать произвольный трафик поверх DNS-протокола. Для организации DNS-туннеля необходимо чтобы снаружи (то есть, в точке, куда направлен туннель) его кто-то принимал. Точка приема является сервером имен для какой-то зоны. Изнутри сети делаются запросы имен по этой зоне; так передается трафик изнутри сети. В качестве результата преобразования возвращаются ответные данные - так выполняется передача трафик внутрь сети. DNS-туннелирование нельзя запретить простыми правилами брандмауэра, разрешив при этом остальной DNS-трафик. Это связано с тем, что трафик DNS-туннеля и легитимные DNS-запросы неразличимы.
[0039] Защищаемая сетевая инфраструктура - совокупность специального оборудования, программного обеспечения и пользовательских устройств, которые в тексте данной заявки могут быть равно обозначены общим термином для данной совокупности устройств, применительно к которой активно отслеживают факт возможной компрометации.
[0040] Под термином штраф в настоящем описании понимают накопленную оценку вредоносности и/или компрометации устройства за определенный период времени.
[0041] Настоящая технология направлена на обеспечение компьютерно-реализуемого способа и системы выявления скомпрометированных устройств на основе обнаружения DNS-туннелирования.
[0042] Заявленный компьютерно-реализуемый способ выявления скомпрометированных устройств на основе обнаружения DNS-туннелирования осуществляется посредством системы выявления скомпрометированных устройств на основе обнаружения DNS-туннелирования, представленной на Фиг. 1, которая по меньшей мере содержит: защищаемую сетевую инфраструктуру 110, сеть связи 120, вычислительное устройство для осуществления выявления скомпрометированных устройств на основе обнаружения- DNS-туннелирования 130.
[0043] Вычислительное устройство 130 также соединено с возможностью обмена данными с устройствами 112 захвата трафика для получения от них сетевого трафика, извлеченного из сети 120 передачи данных, и выполнено с возможностью дальнейшей обработки полученного сетевого трафика для определения в нем вредоносных доменных имен, используемых для установки соединения зараженной рабочей станции или зараженного компьютера с управляющим командным центром с последующим получением от него управляющих команд для выполнения набора запрограммированных вредоносных действий.
[0044] Соответственно защищаемая сетевая инфраструктура содержит по меньшей мере одну рабочую станцию пользователя 111, сетевой коммутатор 112, который выполнен с возможностью передавать (ретранслировать) весь трафик сетевой инфраструктуры 110.
[0045] В системе 100, показанной на фиг. 1, устройство захвата трафика 112 соединено с вычислительным устройством проводным способом, например с помощью сетевого кабеля, или беспроводным способом, и представляет собой по меньшей мере одно из следующих известных сетевых устройств для перехвата и передачи сетевого трафика: сетевые коммутаторы L2-уровня, работающие с использованием технологии зеркалирования сетевого трафика необходимых сегментов сети, такой как, например, SPAN-технология зеркалирования сетевого трафика в оборудовании компании CISCO, средства обеспечения прозрачности сети, также называемые платформами доставки безопасности (Security Delivery Platform) или сетевые пакетные брокеры (NPB), и ответвители сетевого трафика (Test Access Point) различных типов, а также прокси-серверы с поддержкой ICAP протокола, работающие в рамках установленного TCP-соединения, почтовые серверы с поддержкой SMTP-протокола и др.
[0046] В одном из вариантов реализации настоящей технологии вычислительное устройство 130 может быть включено непосредственно в сеть передачи данных 120 или соединено непосредственно с сетью 120 передачи данных с возможностью извлечения или захвата из нее сетевого трафика для его дальнейшего анализа и обработки с целью выявления вредоносных доменных имен в указанном сетевом трафике. Другими словами, в таком варианте реализации вычислительное устройство 130 может иметь функциональные возможности вышеописанных устройств 112 захвата трафика, при этом вычислительное устройство 130, при необходимости, может использовать защищенный канал приема/ передачи данных для получения сетевого трафика, извлеченного из сети передачи данных 120.
[0047] Еще в одном дополнительном варианте реализации настоящей технологии вышеописанные устройства 112 захвата сетевого трафика могут быть встроены или интегрированы в вычислительное устройство 130.
[0048] В системе 100, показанной на фиг. 1, вычислительное устройство 130 по существу представляет собой программно-аппаратный комплекс и содержит модуль захвата трафика 131, модуль связи 132, фильтрующий модуль 133, анализирующий модуль 134, модуль принятия решения 135 и локальное хранилище данных 136, каждый из которых соединен с шиной связи 137, при этом каждый из модуля захвата трафика 131, модуля связи 132, фильтрующего модуля 133, анализирующего модуля 134 и модуля принятия решения 135 выполнен с возможностью обмена данными, посредством шины 137 связи, с локальным хранилищем данных 136, причем модуль захвата трафика 131 выполнен с возможностью обмена данными, посредством шины связи 137, и модуль связи 132 также выполнен с возможностью обмена данными, посредством шины связи 137, с фильтрующим модулем 133, который в свою очередь выполнен с возможностью обмена данными, посредством шины 137 связи, с анализирующим модулем 134, а анализирующий модуль 134 соединен с возможностью обмена данными, посредством шины 137 связи, с модулем принятия решений 135.
[0049] Локальное хранилище 136 данных предназначено для хранения исполняемых программных инструкций, которые могут управлять работой модуля захвата трафика 131, модуля связи 132, фильтрующего модуля 133, анализирующего модуля 134 и модуля принятия решения 135. Кроме того, локальное хранилище 136 данных используют в вычислительном устройстве 130 для хранения различных данных, используемых при работе вычислительного устройства 130.
[0050] В частности, в локальном хранилище 136 данных хранятся данные об имеющихся аналитических отчетах, каждый из которых поставлен в соответствие с конкретным доменным именем и в каждом из которых представлены данные о численных значениях штрафов, присвоенных анализирующим модулем 134 конкретному доменному имени, а также данные, связанные с решением, принятым модулем принятия решений 135 в отношении устройства, с которого ушел DNS-запрос, содержавший данное доменное имя.
[0051] В локальном хранилище данных 136 также хранятся данные об известных доменных именах, черных и белых списках доменных имен. Стоит дополнительно отметить, что информация о черных и белых списках в дополнительном варианте реализации может быть получена из внешних доверенных баз данных (не показано) по сети связи 120.
[0052] В дополнительных вариантах осуществления настоящей технологии локальное хранилище данных 136 также содержит данные о каждом из устройств 111 (например, пользовательских) в защищаемой инфраструктуре 110, в том числе к описанным данным относят по меньшей мере: статистику взаимодействия определенного устройства 111 в защищаемой инфраструктуре 110 за Т минут, где численная величина Т выбирается заблаговременно, штрафы данного устройства, а также пометки о факте компрометации данного устройства 111.
[0053] В некоторых вариантах реализации настоящей технологии по меньшей мере некоторые из вышеописанных данных, хранящихся в локальном хранилище данных 136, могут быть сохранены в облачном хранилище данных (не показано), при этом эти данные могут находиться как на одиночном удаленном файловом сервере, включенном в сеть передачи данных 120 или в иную сеть передачи данных, отличную от сети передачи данных 120, так и на множестве удаленных файловых серверов, распределенных в сети передачи данных 120 или в иной сети передачи данных, отличной от сети передачи данных 120, при этом вычислительное устройство 130 может быть выполнено с возможностью установления связи для обмена данными, в частности защищенного канала связи для приема/передачи данных, с таким облачным хранилищем данных с использованием проводного и/или беспроводного способа соединения. В варианте реализации, в котором вычислительное устройство 130, включенное в сеть 120 передачи данных, соединено с облачным хранилищем данных по меньшей мере через одну другую сеть передачи данных, отличную от сети передачи данных 120, для соединения этих разных сетей передачи данных может быть использовано по меньшей мере одно специальное коммутирующее устройство, такое как сетевые концентраторы, также известные как сетевые хабы, сетевые маршрутизаторы и прочие известные коммутирующие устройства.
[0054] В одном из вариантов реализации настоящей технологии вычислительное устройство 130 может содержать обособленное локальное хранилище аналитических отчетов (не показано), предназначенное для хранения данных об имеющихся аналитических отчетах. Такое обособленное локальное хранилище аналитических отчетов может быть соединено, посредством шины 137 связи, с фильтрующим модулем 133 с предоставлением возможности фильтрующему модулю 133 получать доступ к такому локальному хранилищу аналитических отчетов для получения из него данных об имеющихся аналитических отчетах, а также соединено, посредством шины 137 связи, с модулем принятия решений 135 с предоставлением возможности получать доступ к такому локальному хранилищу аналитических отчетов для записи в него нового аналитического отчета, что более подробно будет описано ниже.
[0055] В одном из вариантов реализации фильтрующий модуль 133, анализирующий модуль 134 и модуль принятия решений 135 могут быть реализованы в виде одиночного процессора, такого как процессор общего назначения или процессор специального назначения (например, процессоры для цифровой обработки сигналов, специализированные интегральные схемы и т.п.). Таким образом, процессор, реализующий указанные модули 131-135 в вычислительном устройстве 130, может быть выполнен с возможностью исполнения программных инструкций, хранящихся в локальном хранилище 136 данных с обеспечением реализации функциональных возможностей модуля захвата трафика 131 для получения трафика из защищаемой инфраструктуры 110, фильтрующего модуля 133 по извлечению данных доменных имен из пакетов данных в полученном сетевом трафике, функциональных возможностей анализирующего модуля 134 по определению численных значений признаков подозрительности для анализируемого доменного имени и функциональных возможностей модуля принятия решения 135 по вынесению окончательного решения в отношении вредоносности определенного устройства с использованием полученного набора признаков подозрительности в присвоенными им численными значениями.
[0056] В одном из вариантов реализации настоящей технологии каждый из фильтрующего модуля 133, анализирующего модуля 134 и модуля принятия решений 135 может быть реализован в виде по меньшей мере одного обособленного процессора, выполненного с возможностью реализации специфических функций модулей.
[0057] В вычислительном устройстве 130 системы 100, показанной на фиг. 1, модуль 132 связи соединен проводным способом, например с помощью коаксиального кабеля, витой пары, оптоволоконного кабеля или другого физического соединения, с устройством захвата трафика (112 или 131) с возможностью получения от них сетевого трафика.
[0058] Таким образом, модуль связи 132 выполнен с возможностью подключения к одному или более из вышеописанных устройств (112 или 131) захвата трафика, включенных в сеть 120 передачи данных, и с возможностью приема сетевого трафика, извлеченного указанными устройствами 112 захвата трафика из сети 120 передачи данных, от указанного одного или более устройств (112 или 131) захвата трафика. Еще в одном варианте реализации настоящей технологии модуль 132 связи может быть соединен с устройствами захвата трафика (112 или 113) беспроводным способом, например, с помощью линии связи на основе технологии WiFi, линии связи на основе технологии 3G, линии связи на основе технологии LTE и т.п.
[0059] Модуль 132 связи в вычислительном устройстве 130 согласно настоящей технологии может быть реализован в виде сетевого адаптера, снабженного необходимыми разъемами для подключения к ним физических кабелей необходимых типов в зависимости от типов физических соединений, использованных для обеспечения связи с устройствами (112 или 131) захвата трафика. В одном из вариантов реализации настоящей технологии модуль 132 связи в вычислительном устройстве 130 может быть реализован виде сетевого адаптера в форме WiFi-адаптера, 3D-адаптера, LTE-адаптера или иного адаптера беспроводной связи в зависимости от типа линии беспроводной связи, использованной для обеспечения связи любыми внешними устройствами и удаленными хранилищами данных, которые могут устанавливать канал беспроводной связи с вычислительным устройством для обмена с ним необходимыми данными. Таким образом, модуль 132 связи в вычислительном устройстве 130 по существу может быть выполнен с возможностью приема или получения входных данных от одного или более устройств проводным способом и/или беспроводным способом, а также с возможностью отправки или выдачи выходных данных на другие устройства проводным способом и/или беспроводным способом.
[0060] Модуль связи 132 также может представлять собой любое известное устройство связи, такое как приемопередатчик, модем и/или сетевая интерфейсная карта для обмена данными с внешними устройствами любого типа посредством проводной или беспроводной сети связи, например, с помощью сетевого соединения стандарта «Ethernet», цифровой абонентской линия связи (DSL), телефонной линии, коаксиального кабеля, телефонной системы сотовой связи и т.п. В некоторых вариантах реализации настоящей технологии сетевой трафик, полученный модулем связи 132, могут быть по меньшей мере временно сохранен в локальном хранилище 136 данных. В других вариантах реализации настоящей технологии сетевой трафик, полученный модулем 132 связи, могут быть по меньшей мере временно сохранен в обособленном локальном хранилище сетевого трафика (не показано), отличном от локального хранилища 136 данных и соединенном, посредством шины 137 связи, с модулем связи 132. В иных вариантах реализации настоящей технологии сетевой трафик, полученный модулем связи 132, может быть по меньшей мере временно сохранен в обособленном удаленном хранилище сетевого трафика (не показано), соединенном с возможностью обмена данными с модулем связи 132 проводным и/или беспроводным способом.
[0061] В вычислительном устройстве 130 системы 100, показанной на фиг. 1, фильтрующий модуль 133 выполнен с возможностью подключения или связи, посредством шины 137 связи, к модулю связи 132 с обеспечением возможности получения от него захваченного сетевого трафика. Фильтрующий модуль 133 извлекает множество отдельных пакетов данных, которые содержат DNS-запросы, из полученного сетевого трафика с использованием, например, известных технологий для извлечения DNS-запросов в пакетах данных, таких как zeek, snort, Surikata, Bro, Kuko и т.п. технологий, в том числе с помощью усовершенствованных технологий на основе по меньшей мере одной из вышеперечисленных технологий. Фильтрующий модуль 133 также выполнен с возможностью анализа каждого из множества извлеченных пакетов данных с обеспечением извлечения из них по меньшей мере одного доменного имени и IP-адресов отправителя и адресата.
[0062] В варианте реализации настоящей технологии, в котором полученный сетевой трафик хранится в локальном хранилище данных 136, фильтрующий модуль 133 может быть выполнен с возможностью получения доступа к локальному хранилищу данных 136 или возможностью установления с ним связи с использованием шины связи 137 с обеспечением извлечения из него сохраненного сетевого трафика для последующего извлечения из него множества пакетов данных, как описано выше.
[0063] В варианте реализации настоящей технологии, в котором полученный сетевой трафик хранится в обособленном локальном хранилище сетевого трафика (не показано), фильтрующий модуль 133 может быть выполнен с возможностью получения доступа к такому локальному хранилищу сетевого трафика или возможностью установления с ним связи с использованием шины 137 связи с обеспечением извлечения из него сохраненного сетевого трафика для последующего извлечения из него множества пакетов данных, как описано выше. В варианте реализации настоящей технологии, в котором полученный сетевой трафик хранится в обособленном удаленном хранилище сетевого трафика (не показано), фильтрующий модуль 133 может быть выполнен с возможностью получения доступа к такому удаленному хранилищу сетевого трафика или возможностью установления с ним связи с использованием модуля 132 связи, соединенного с фильтрующим модулем 133 с помощью шины связи 137, с обеспечением извлечения из него сохраненного сетевого трафика для последующего извлечения из него множества пакетов данных, как описано выше.
[0064] В дальнейшем, после извлечения доменных имен из анализируемых DNS-запросов, в одном из вариантов осуществления настоящей технологии фильтрующий модуль 133 дополнительно определяет, имеется ли аналитический отчет для каждого из этих извлеченных доменных имен.
[0065] Для выявления наличия уже созданного для данного доменного имени аналитического отчета фильтрующий модуль 133 выполняет по меньшей мере следующие операции: получение доступа к локальному хранилищу данных 136 или установление с ним связи с использованием шины связи 137 с обеспечением получения из него данных об имеющихся аналитических отчетах, каждый из которых поставлен в соответствие с конкретным доменным именем, для которого этот аналитический отчет был создан; установление, путем посимвольного сравнения каждого из извлеченных доменных имен с доменными именами, идентифицирующими аналитические отчеты в указанных полученных данных, соответствия каждого из извлеченных доменных имен одному из имеющихся аналитических отчетов. Таким образом, фильтрующий модуль 133 сравнивает каждое извлеченное доменное имя с доменными именами, идентифицирующими аналитические отчеты, в полученных данных об аналитических отчетах, при этом совпадение извлеченного доменного имени с доменным именем, идентифицирующим один из имеющихся аналитических отчетов, означает, что для извлеченного доменного имени уже имеется аналитический отчет, хранящийся в локальном хранилище 136 данных, что свидетельствует о том, что извлеченное доменное имя уже ранее было проанализировано в вычислительном устройстве 130.
[0066] В варианте реализации, в котором данные об аналитических отчетах хранятся в обособленном локальном хранилище аналитических отчетов (не показано), фильтрующий модуль 133 получает доступ к такому локальному хранилищу аналитических отчетов или устанавливает с ним связь с использованием модуля связи 132 с обеспечением получения из него данных об имеющихся аналитических отчетах, каждый из которых поставлен в соответствие с конкретным доменным именем, для которого этот аналитический отчет был создан, для последующего установления соответствия извлеченного доменного имени одному из имеющихся аналитических отчетов.
[0067] Таким образом, фильтрующий модуль 133 обеспечивает возможность фильтрации по меньшей мере части доменных имен, извлеченных из пакетов данных полученного сетевого трафика, с использованием минимальных вычислительных ресурсов вычислительного устройства 130, что в конечном итоге значительно ускоряет процесс выявления вредоносных доменных имен в сетевом трафике.
[0068] В дальнейшем фильтрующий модуль 133 передает на анализирующий модуль 134 только те извлеченные доменные имена, для которых в локальном хранилище данных 136 не имеется аналитического отчета, то есть только те доменные имена, которые ранее не анализировались в вычислительном устройстве 130, в частности в его модуле принятия решений 135.
[0069] В вычислительном устройстве 130 системы 100, показанной на фиг. 1, анализирующий модуль 134 выполнен с возможностью подключения к фильтрующему модулю 133 или установления с ним связи с использованием шины 137 связи с обеспечением возможности получения от него информации, например о доменных именах, для которых фильтрующим модулем 133 было выявлено отсутствие аналитического отчета, как описано выше.
[0070] В варианте реализации настоящей технологии, в котором доменные имена, извлеченные фильтрующим модулем 133, хранятся в локальном хранилище 136 данных, анализирующий модуль 134 получает доступ к локальному хранилищу данных 136 или устанавливает с ним связь с использованием шины связи 137 с обеспечением получения из него данных об извлеченных доменных именах, подлежащих дальнейшему анализу в этом анализирующем модуле 134, как будет описано ниже.
[0071] Еще в одном варианте реализации настоящей технологии, в котором доменные имена, извлеченные фильтрующим модулем 133, хранятся в обособленном локальном хранилище данных, анализирующий модуль 134 получает доступ к такому локальному хранилищу данных или устанавливает с ним связь с использованием шины 137 связи или по беспроводному каналу связи посредством модуля связи 132 с обеспечением получения из него данных об извлеченных доменных именах, подлежащих дальнейшему анализу в этом анализирующем модуле 134, как будет описано ниже.
[0072] Анализирующий модуль 134 анализирует каждое из полученных доменных имен с использованием заданного набора методик или способов анализа подозрительности с обеспечением присвоения заданного численного значения штрафа каждому из полученных доменных имен.
[0073] В частности, в основе работы анализирующего модуля 134 лежит решающее правило, на основе которого выносится вердикт в отношении вредоносности или безвредности конкретного доменного имени с использованием набора признаков подозрительности этого доменного имени, и является показательным в отношении потенциальной вредоносности устройства (пользовательского устройства 111) для модуля принятия решений 135. В качестве решающего правила могут выступать как эвристические алгоритмы, так и статистические, в том числе алгоритмы машинного обучения (MLA). Примером эвристического правила может быть разделение доменов по уровню энтропии таким образом, что домены с высоким уровнем энтропии признаются подозрительными, то есть подозрительными признаются доменные имена, уровень энтропии которых превышает заранее заданный эмпирически выведенный порог. Также возможны подходы, опирающиеся на эвристические методы, например, на такие как выделение n-грамм и последующим подсчетом энтропии доменных имен.
[0074] Один из примеров реализации в основе имеет нейронную сеть LSTM, где на первом слое общеизвестным способом нормируется и сокращается размерность пространства признаков, после него идет первый обучающий слой, непосредственно LSTM с эмпирически выведенными коэффициентами. Следующий слой очищает результаты известным способом. После этого идут два дополнительных промежуточных слоя, а на последнем устанавливается бинарный вердикт: является ли домен подозрительным.
[0075] В одном из вариантов реализации в основе работы анализирующего модуля 134 может лежать набор решающих правил, каждое из которых принимает свое решение или выносит свой вердикт в отношении вредоносности или безвредности конкретного доменного имени с использованием одного и того же набора признаков подозрительности этого доменного имени. В одной из разновидностей данного варианта реализации настоящей технологии окончательный вердикт в отношении безвредности доменного имени может быть вынесен анализирующем модулем 134, например, в случае, в котором по меньшей мере одно из заданного набора решающих правил или все из заданного набора решающих правил вынесло вердикт в отношении безвредности доменного имени, в противном же случае, в котором ни одно из заданного набора решающих правил не вынесло вердикта в отношении безвредности доменного имени, модуль 134 может вынести окончательный вердикт в отношении вредоносности доменного имени. Еще в одной разновидности данного варианта реализации анализирующий модуль 134 может вынести свой окончательный вердикт в отношении вредоносности или безвредности доменного имени путем сравнения суммарного веса персональных вердиктов, принятых заданным набором решающих правил, при этом любому персональному вердикту, вынесенному каждым решающим правилом из заданного набора, автоматически присваивается свой предварительно заданный весовой коэффициент. Таким образом, анализирующий модуль 134 выносит тот или иной окончательный вердикт с учетом всех промежуточных вердиктов, имеющих тот или иной вес в суммарном весе, учитываемом для вынесения окончательного вердикта.
[0076] В одном из вариантов реализации настоящей технологии анализирующий модуль 134 может быть снабжен специальным фреймворком (программной платформой), позволяющим, например, оператору или пользователю вычислительного устройства 130 изменять заданный набор методик анализа вредоносности доменного имени используемых анализирующим модулем 134 для получения вердикта о вредоносности доменного имени, соответствующему одной из заданного набора методик анализа, например, выбор группы эвристических методик, описанных далее или алгоритмов машинного обучения, что обеспечивает расширение функциональных возможностей как анализирующего модуля 134 в отдельности, так и вычислительного устройства 130 в целом. Кроме того, данный фреймворк служит для получение данных о значении времени Т, которое определяет статистику взаимодействия конкретного устройства 111 и защищаемой инфраструктуры 110.
[0077] После вынесения окончательного вердикта анализирующий модуль 134 и подготавливает или создает отдельный аналитический отчет по каждому исследуемому доменному имени, причем такой аналитический отчет по меньшей мере содержит все сведения из соответствующего лог-файла, созданного в процессе анализа для указанного доменного имени, а также данные об окончательном вердикте, вынесенном анализирующим модулем 134 в отношении доменного имени, а также данные о решающем правиле, использованном анализирующим модулем 134. В варианте реализации настоящей технологии, в котором используют несколько решающих правил, аналитический отчет, подготовленный или созданный анализирующим модулем 134, также может содержать данные о каждом из решающих правил, используемых для вынесения окончательного вердикта, и данные о вердиктах каждого из решающих правил в отношении вредоносности или безвредности доменного имени.
[0078] В некоторых вариантах реализации настоящей технологии анализирующий модуль 134 может быть разделен на несколько независимых модулей, каждый из которых может выполнять по меньшей мере одну из вышеописанных функциональных возможностей, присущих анализирующему модулю 134, и которые выполнены с возможностью связи друг с другом и остальными конструктивными модулями вычислительного устройства 130 с помощью шины связи 137. При этом один из таких независимых модулей может быть выполнен с возможностью создания по меньшей мере одного лог-файла, или может иметься, например, дополнительный модуль создания лог-файлов, выполненный с возможностью связи с указанными независимыми модулями с помощью, например, шины связи 137 с обеспечением получения от каждого из них, например, данных о конкретном признаке подозрительности с присвоенным ему числовым значением для одного и того же доменного имени.
[0079] Для сохранения, подготовленного или созданного аналитического отчета в локальном хранилище 136 данных анализирующий модуль 134 получает доступ к локальному хранилищу данных 136 или устанавливает с ним связь с использованием шины связи 137 с обеспечением передачи указанного аналитического отчета в локальное хранилище данных 136 для его сохранения. Кроме того, возможен вариант осуществления, когда м подготовленный или созданный аналитический отчет сохраняют в обособленном локальном хранилище аналитических отчетов (не показано).
[0080] В вычислительном устройстве 130 системы 100, показанной на фиг. 1, модуль принятия решений 135 выполнен с возможностью подключения к анализирующему модулю 134 или установления с ним связи с использованием посредством шины 137 связи с обеспечением возможности получения от него лог-файлов, подготовленных или созданных анализирующим модулем 134.
[0081] Модуль принятия решений 135 анализирует штрафы, ассоциированные с каждым доменным именем с присвоенными им численными значениями, содержащиеся в каждом из полученных лог-файлов, с использованием заданного набора правил анализа с обеспечением отнесения каждого доменного имени, для которого был создан соответствующий лог-файл, к вредоносным доменным именам, если полученные результаты анализа признаков подозрительности характерны для вредоносных доменных имен, или к доверенным доменным именам, если полученные результаты анализа признаков подозрительности характерны для доверенных доменных имен. Таким образом, модуль принятия решения 135 принимает окончательное решение или выносит окончательный вердикт в отношении компрометации устройств на основе оценки вредоносности или безвредности доменного имени с использованием лог-файла, созданного анализирующим модулем 134 для каждого извлеченного доменного имени.
[0082] Следует отметить, что модуль связи 132, фильтрующий модуль 133, анализирующий модуль 134 и модуль принятия решений 135 реализуют свои вышеописанные функции по существу в режиме реального времени, то есть модуль связи 132 продолжает принимать сетевой трафик, фильтрующий модуль 133 выполняет свои операции по фильтрации по меньшей мере части DNS-запросов, извлеченных из пакетов данных в полученном сетевом трафике, на основе заранее определенных типов доменных имен, анализирующий модуль 134 выполняет свои операции по анализу доменных имен и присвоению им признакам подозрительности - значений штрафов с последующим созданием лог-файла для каждого доменного имени по отдельности, а модуль принятия решений 135 выполняет свои операции по анализу по меньшей мере части лог-файлов, полученных от анализирующего модуля 134, и сохранению по меньшей мере части из созданных или подготовленных аналитических отчетов в локальном хранилище данных 136.
[0083] В одном из вариантов реализации настоящей технологии описанные выше функциональные модули могут быть разделены или объединены с сохранением присущих каждому в отдельности функций. Например, анализирующий модуль 134 и модуль принятия решений 135 могут быть объединены, например, в один модуль выявления зловредных доменных имен и на основе них выявлении скомпрометированных устройств 111, защищаемой инфраструктуры, имеющий все вышеописанные функциональные возможности, присущие каждому из них в отдельности. Альтернативно еще в одном варианте реализации настоящей технологии фильтрующий модуль 133 и анализирующий модуль 134 могут быть объединены, например, в один модуль, имеющий все вышеописанные функциональные возможности, присущие каждому из них отдельно.
[0084] В качестве еще одного варианта реализации настоящей технологии модуль 132 связи может быть разделен на несколько отдельных модулей связи, каждый из которых обеспечивает по меньшей мере один из известных способов проводной и/или беспроводной связи в вычислительном устройстве 130.
[0085] Согласно еще одному аспекту предложен способ выявления скомпрометированных устройств, использующих DNS-туннелирование, показанный в виде упрощенной блок-схемы на фиг. 2.
ШАГ 210 ПОЛУЧЕНИЕ ТРАФИКА ЗАЩИЩАЕМОЙ СЕТЕВОЙ ИНФРАСТРУКТУРЫ
[0086] На первом шаге выполнения описываемой технологии на устройстве 130 по сети передачи данных 120 получают трафик защищаемой сетевой инфраструктуры 110.
[0087] Операции на данном этапе реализации заявленного способа 200 включают подключение, посредством модуля 132 связи, по меньшей мере к одному из устройств захвата сетевого трафика, включенных в сеть передачи данных (112 или 131).
[0088] В данном случае под трафиком защищаемой сетевой инфраструктуры может подразумеваться как исходящий трафик защищаемой сетевой инфраструктуры, также и дополнительно входящий сетевой трафик.
[0089] Стоит отметить, что получение трафика может быть осуществлено любым известным в уровне техники методом, например, зеркалированием.
[0090] В качестве примера, но не ограничиваясь им, зеркалирование осуществляется посредством дублирования пакетов, передаваемых через один порт сетевого коммутатора 112 на другой для получения вычислительным устройством 130. Стоит отметить, что большинство современных сетевых коммутаторов позволяют дублировать трафик посредством встроенных функций. Кроме того, дополнительно возможно использование, например, консольной утилиты tcpdump, которая входит в состав большинства Unix-систем и позволяет перехватывать и отображать сетевой трафик модулем захваты трафика 131.
[0091] После получения трафика из защищаемой сетевой инфраструктуры 110 он сохраняется в базу данных 136 вычислительного устройства 130.
[0092] Далее настоящая технология переходит к анализу полученного трафика методами, описанными далее.
ШАГ 220 ИЗВЛЕЧЕНИЕ ИЗ ТРАФИКА ПО МЕНЬШЕЙ МЕРЕ ОДНОГО DNS-ЗАПРОСА
[0093] Анализ полученного на предыдущем этапе трафика начинается на шаге 220, на котором из него извлекают по меньшей мере один DNS-запрос.
[0094] Извлечение из трафика по меньшей мере одного DNS-запроса может быть осуществлено вычислительным устройством 130 посредством фильтрующего модуля 133 на основе любого известного в уровне технике метода, например, с помощью использования специально написанного парсера или сервисов анализа сетевого трафика.
[0095] В качестве примера реализации настоящей технологии, но не ограничиваясь им, для обнаружения DNS-запросов могут быть использованы следующие инструменты: zeek, snort, Suricata и др. Однако, стоит отметить, что использование подобных инструментов позволяет получать полную картину происходящего в сети по всем наиболее популярным протоколам: HTTP, DNS, TLS, SMB, FTP, RDP, SSH, ICMP и т.д., в том числе и по промышленным протоколам s7, iec104, opcua и тд.
[0096] В одном из дополнительных вариантов осуществления описываемой технологии посредством фильтрующего модуля 133, для каждого выявленного в трафике DNS-запроса извлекают по меньшей мере следующие данные: доменное имя; IP-адреса отправителя-и адресата.
[0097] Дополнительно на описываемом этапе реализации способа 200 может присутствовать этап проверки наличия аналитического отчета, связанного с исследуемыми доменными именами, в локальном хранилище данных 136 и может включать выполнение, посредством фильтрующего модуля 133, меньшей мере следующих подэтапов: (i) получение данных об аналитических отчетах; (ii) установление, путем посимвольного сравнения каждого из извлеченных доменных имен с доменными именами, идентифицирующими аналитические отчеты в указанных полученных данных, соответствия каждого из извлеченных доменных имен одному из имеющихся аналитических отчетов. В некоторых вариантах реализации настоящего изобретения в ответ на то, что для извлеченного доменного имени не имеется аналитического отчета, согласно предложенному способу передают, посредством фильтрующего модуля, указанное доменное имя в анализирующий модуль 134.
[0098] В случае если фильтрующий модуль 133 извлекает аналитический отчет, который свидетельствует о легитимности доменного имени, то все DNS-запросы, содержащие указанное в отчете доменное имя отфильтровываются (исключаются из дальнейшего анализа). В противоположном случае, когда фильтрующий модуль 133 извлекает аналитический отчет, содержащий сведения о вредоносности доменного имени, то в трафике защищаемой инфраструктуры 110 осуществляют поиск всех устройств 111, которые взаимодействуют с выявленным доменным именем и начисляют штраф для выявленных устройств 111, в соответствии с правилами, которые будут описаны далее (шаг 250).
[0099] Далее все выявленные в трафике запросы сохраняются в локальное хранилище данных 136 системы 100 в виде списка, содержащего DNS-запрос, и соответствующие ему доменное имя; IP-адреса отправителя и/или адресата.
ШАГ 230 ФИЛЬТРУЮТ СПИСОК ИЗ ВЫЯВЛЕННЫХ DNS-ЗАПРОСОВ, ПРИ ЭТОМ ИСКЛЮЧАЯ ИЗ НЕГО ЗАПРОСЫ К ЗАРАНЕЕ ОПРЕДЕЛЕННЫЕ ТИПАМ ДОМЕННЫХ ИМЕН.
[0100] Далее в ходе второго этапа анализа сохраненный в локальном хранилище данных 136 список фильтруют посредством фильтрующего модуля 133. Стоит отметить, что фильтрация всех типов запросов к доменным именам происходит на основе общеизвестных методов, причем основой данной фильтрации служат особенности доменного имени, к которому направлен запрос.
[0101] К типам доменных имен, которые фильтруются, то есть исключаются из заранее сформированного списка, относятся по меньшей мере следующие: доменные имена второго уровня, доменные имена с низкой энтропией, а также заведомо доверенные именам из общеизвестных достоверных источников.
[0102] Так посредством фильтрующего модуля 134 из списка, хранящегося в локальном хранилище данных 136 дополнительно исключают доменные имена второго уровня. При этом выполняется по меньшей мере следующие операции: (i) устанавливается связь с хранилищем данных, в том числе обособленным локальным 136 или удаленным доверенным хранилищем доменных имен (не показано) в зависимости от варианта реализации, как описано выше для получения от него списка доменных имен, (ii) преобразуют каждое доменное имя в строку и проверяют количество точек в этой строке (iii) в зависимости от того, превышает ли количество точек в строке одну (что соответствует доменному имени второго уровня), доменное имя либо отфильтровывается и помечается как доверенное доменное имя, либо остается в списке.
[0103] Стоит отметить, что к признакам, позволяющим определение использования туннелей можно отнести энтропию доменных имен. Обычные доменные имена, как правило, состоят из слов английского языка; такие имена имеют низкую энтропию. В то же время, закодированные данные (а инструменты для DNS-туннелирования кодируют данные, которые помещают в DNS-запрос) имеют высокую энтропию. Таким образом доменные имена, имеющие высокую энтропию, могут служить признаком использования туннелирования. Исходя из этого на данном этапе реализации настоящей технологии предлагается фильтровать те доменные имена, у которых энтропия низкая.
[0104] Определение энтропии доменного имени может осуществляться любым общеизвестным методом посредством фильтрующего модуля 133. В качестве примера, но не ограничиваясь им, энтропия может быть определена методом, описанным ниже.
[0105] В качестве примера осуществления настоящей технологии в фильтрующем модуле для сортировки доменных имен, обладающих низкой энтропией могут выполняться по меньшей мере следующие подэтапы: (i) определение частоты появления каждой из множества заданных N-грамм в каждом из полученных доменных имен, при этом каждая N-грамма соответствует комбинации из N последовательных символов. N-граммы могут быть получены из локального хранилища данных 136, или из подключаемого по беспроводной связи хранилища данных; альтернативно, они могут быть заданы оператором в специальном интерфейсе вычислительного устройства 130; (ii) определение энтропии N-грамм указанного анализируемого доменного имени как функции от определенной частоты появления каждой N-граммы в этом анализируемом доменном имени. Собственно вычисление может осуществляться любым известным в уровне технике методом; (iii) сравнение определенной энтропии N-грамм анализируемого доменного имени с заданным пороговым значением энтропии N-грамм, которое определяет доменные имена с низкой энтропией; пороговое значение предварительно определяют эмпирическим путем; (iv) отфильтровывание (исключение) доменных имен, чья энтропия ниже заданного порогового значения.
[0106] Также посредством фильтрующего модуля 134 из списка, хранящегося в локальном хранилище данных 136 дополнительно исключают заведомо доверенные имена, предварительно полученные из общеизвестных достоверных источников. При этом выполняется по меньшей мере следующие операции: (i) устанавливается связь с хранилищем данных, в том числе обособленным локальным 136 или удаленным доверенным хранилищем доменных имен (не показано) в зависимости от варианта реализации, как описано выше для получения от него набора известных доверенных доменных имен, (ii) устанавливают, путем посимвольного сравнения каждого из извлеченных доменных имен с доменными именами в полученном наборе доменных имен, совпадение каждого из извлеченных доменных имен с одним из известных доменных имен, и (iii) в зависимости от результата установления совпадения доменное имя либо отфильтровывается и помечается как доверенное доменное имя, либо остается.
[0107] Альтернативно в дополнительных вариантах реализации возможен случай, когда шаг фильтрации запросов к заведомо доверенным именам из общеизвестных достоверных источников может быть пропущен и выполнен на последующем этапе с использованием анализирующего модуля 134, будучи включенным в формирование обучающих выборок решающего правила.
[0108] В некоторых дополнительных вариантах реализации настоящей технологии доменные имена могут также быть закодированы любым общеизвестным методом для поддержки локализованных доменных имен, то есть доменных имен, состоящих не из латиницы, а из символов других национальных алфавитов, таких, например, как доменное.имя.на.русском.рф.
[0109] В одном из вариантов реализации настоящей технологии, если доменное имя найдено в доступной локально базе данных 132 в системе 100 или доверенной базе данных, доступ к которой осуществляется по сети, то тогда способ переходит к последнему этапу настоящей технологии, который будет подробно раскрыт ниже (шаг 260).
[0110] В одном из вариантов реализации на данном шаге выполняется дополнительная проверка по меньшей мере одного извлеченного IP-адреса отправителя и/или IP-адреса адресата в общеизвестных достоверных источниках и в белом и черном листе, хранящемся в базе данных 136. Это может выполняться методом, описанным выше для проверки доменных имен. Причем в зависимости от результата установления совпадения доменное имя, связанное с установленным IP-адресом отправителя и/или адресата, либо отфильтровывается и помечается как доверенное доменное имя, либо переходит на следующий этап, описанный далее, либо блокируется, если обнаружено в черном списке или в базе данных, например, веб-ресурсов, заведомо принадлежащих киберпреступникам.
ШАГ 240 КАЖДОЕ ИЗ МНОЖЕСТВА ОСТАВШИХСЯ В СПИСКЕ ДОМЕННЫХ ИМЕН ПООЧЕРЕДНО ПОДАЮТ НА ВХОД ПРЕДВАРИТЕЛЬНО ОБУЧЕННОГО РЕШАЮЩЕГО ПРАВИЛА.
[0111] В вариантах осуществления описываемой технологии операции, выполняемые на шаге 240 способа 200 включают анализ, посредством анализирующего модуля 134, полученной совокупности признаков подозрительности анализируемого доменного имени с использованием по меньшей мере одного предварительно составленного решающего правила, которыми могут являться как эвристические алгоритмы, так и статистические, в т.ч. алгоритмы машинного обучения.
[0112] В одном из описываемых вариантов реализации настоящей технологии в качестве решающего правила выступают эвристические правила. Так, примером эвристического правила может быть разделение доменов по уровню энтропии таким образом, что домены с высоким уровнем энтропии признаются подозрительными. Причем пороговый уровень энтропии определяют эмпирически. Также возможны подходы, опирающиеся на выделение N-грамм и последующий подсчет их энтропии, а также сравнение подсчитанной энтропии с заранее заданным пороговым значением.
[0113] Кроме того, возможны варианты осуществления настоящей технологии, когда используют несколько эвристических подходов параллельно и приводят их результаты к единой бинарной оценке, то есть решение может быть одним из двух: доменное имя является вредоносным или нет. В данном случае анализирующий модуль 134 выполнен с возможностью присвоения коэффициента надежности каждому использованному в процессе получения итоговой оценки эвристическому правилу и выведению единой оценки о подозрительности домена на основе данных коэффициентов, при этом анализирующий модуль 134 выполнен с возможностью реализации любых известных эвристических алгоритмов определения вредоносности доменного имени, например, алгоритмов машинного обучения, такие как нейронные сети, деревья решений, бустинговые алгоритмы, а также сигнатуры.
[0114] В одном из описываемых вариантов реализации настоящей технологии в качестве решающего правила может выступать предварительно обученная нейронная сеть.
[0115] В качестве иллюстрации, но не ограничиваясь ей, в качестве решающего правила, основанного на нейронной сети может быть использована LSTM-нейросеть. LSTM - это сети с долгосрочной кратковременной памятью (является представителем семейства рекуррентных сетей, RNN), они позволяют анализировать зависимости в последовательности данных.
[0116] Далее спроектированная нейронная сеть в качестве признаков для обучения использует векторные представления символов префикса входного доменного имени. Префиксом в данной реализации считают часть домена, составленную из поддоменов третьего и более высоких уровней. Например, для домена aaaa.drive.google.com префиксом будет являться строка "aaaa.drive".
[0117] В вариантах осуществления настоящей технологии определение префикса доменного имени может осуществляться любым известным способом. Так, в качестве иллюстрации может быть использован специально написанный скрипт, в реализации которого сначала выделяют общий домен верхнего уровня (gTLD) и/или национальный домен высшего уровня (ccTLD), которые являются общими доменами верхнего уровня, при помощи общеизвестных методов. Например, в URL https://www.xyz.example.com/doc.html строка example.com - это домен второго уровня, a.com - общий домен верхнего уровня (gTLD). Аналогично, в https://www.example.ac.ru/ example.ac.ru является общим доменом второго уровня, a.ru - TLD с кодом страны (ccTLD). Далее выделяется поддомен более низкого уровня и также исключается из префикса.
[0118] Указанные выше операции, в качестве примера, могут быть реализованы посредством скрипта, написанного на языке Python, при использовании библиотеки 'tldextract', которая использует известные справочники суффиксов доменов, в том числе PUBLIC SUFFIX LIST (https://publicsuffix.org/). Упрощенный вариант полученных результатов выполнения указанного скрипта представлен ниже:
tldextract.extract('http://forums.news.cnn.com/')
ExtractResult (subdomain-'forums.news', domain-cnn', suffix-'com').
[0119] Стоит отметить, что помимо доменного имени на вход решающего правила дополнительно подается собранная за последние Т минут статистика сетевых взаимодействий устройства, с которого было получен DNS-запрос, содержавший данное доменное имя, и штраф данного устройства.
[0120] Под статистикой в контексте данного описания понимается количество взаимодействий по упомянутым выше протоколам за последние Т минут, причем для протоколов над TCP это количество сессий, а для UDP-протоколов это количество дейтаграмм.
[0121] В различных вариантах осуществления число Т минут может быть задано вручную экспертом или пользователем вычислительного устройства 130 или может быть задано автоматически, например, в зависимости от количества устройств в защищаемой инфраструктуре 110.
[0122] Стоит отметить, что выстроенная нейросеть может функционировать и с нулевыми параметрами статистик, но Т предполагается небольшим, то есть в качестве примера, но не ограничиваясь им, 10 минут, соответственно эта статистика появится быстро.
[0123] Что касается штрафа устройства пользователя 111, то изначально его значение установлено в ноль, который изменяется с количеством итераций в системе 100 методом, описанным подробнее далее. При этом все промежуточные значения штрафов хранятся в локальном хранилище данных 136.
[0124] В вариантах осуществления настоящей технологии обучающие выборки могут быть сформированы как в условиях изолированного стенда, так и в "боевых" условиях, внутри действующей и высоконагруженной сети с использованием общеизвестных методов построения DNS-туннелей. Например, к таким способам относят использование специальных утилит, таких как_NameServer (NSTX), Dns2tcp, lodine, dnscat2 и др.
[0125] Далее будут описаны общие моменты построения нейронной сети для примера. На первом слое общеизвестным способом нормируется размерность пространства признаков. В качестве примера процедуры нормирования пространства признаков может служить то, что все выявленные домены дополняются до длины 256 специальными символами справа.
[0126] После этого слоя идет первый обучающий слой, непосредственно LSTM с эмпирически выведенными коэффициентами. Указанные коэффициенты формируются непосредственно на этапе обучения, когда загружают в нейронную сеть размеченные выборки доменных имен, т.е. те, для которых заранее известен вердикт, т.е. факт принадлежности их к вредоносным либо к не вредоносным. Стоит отметить, что указанные выборки могут быть получены как из внешних доверенных источников, так и эмпирическим методом, например, ручной установкой флага "вредоносности" для вредоносных доменных имен. Кроме того, указанные выше данные обогащают также легитимными размеченными доменными именами. То есть, анализирующий модуль 134 работающий на основе LSTM нейросети принимает на подготовительном этапе как размеченные вредоносные, так и легитимные доменные имена, на основе которых LSTM нейросеть формирует коэффициенты, которые потом используются в режиме классификации (предсказания).
[0127] Следующий слой LSTM нейросети очищает результаты работы предыдущего для получения наиболее достоверных результатов. В уровне технике существует множество методологий очистки, которые могут быть реализованы для данной технологии, одним из примеров подобных методов является отбрасывание части полученных при анализе крайних (максимальных и минимальных) значений, например, по 25% тех и других.
[0128] После этого идут два дополнительных промежуточных слоя, которые служат для того, чтобы LSTM-нейросеть могла выделять более длинные цепочки зависимостей в качестве признаков. Эмпирическим путем установлено, что данное количество внутренних слоев дает необходимый баланс скорости работы и ошибок. На последнем слое нейронной сети выносится бинарный вердикт: является ли домен вредоносным.
[0129] Полученная в анализирующем модуле 134 позитивная или негативная оценка доменного имени сохраняется в локальном хранилище данных 136.
ШАГ 250 ЕСЛИ ДОМЕННОЕ ИМЯ ПОЛУЧИЛО НЕГАТИВНУЮ ОЦЕНКУ РЕШАЮЩЕГО ПРАВИЛА, УВЕЛИЧИВАЮТ ШТРАФ ДЛЯ УСТРОЙСТВА, С КОТОРОГО УШЕЛ DNS-ЗАПРОС, СОДЕРЖАЩИЙ ДОМЕННОЕ ИМЯ
[0130] Далее вердикт из анализирующего модуля 134 передается в модуль принятия решений 135, где, основываясь на параметрах, описанных далее, принимается решение о том, обнаружена ли компрометация устройства и о степени его вредоносности.
[0131] Таким образом, модуль принятия решений 135 проверяет оценку решающего правила, заложенного в анализирующий модуль 134, и если доменное имя получило негативную оценку решающего правила, увеличивает величину штрафа, хранящегося в локальном хранилище данных 136 для устройства, с которого ушел DNS-запрос, содержавший данное исследованное доменное имя.
[0132] В одном из дополнительных вариантов реализации модуль принятия решений 135 дополнительно осуществляет поиск определенного доменного имени в истории всего входящего и исходящего трафика, полученного из защищаемой инфраструктуры 110. Причем стоит отметить, что при этом рассматривают не только DNS-запросы. Если модуль принятия решений находит другие вхождения определенного доменного имени, то все устройства 111 защищаемой инфраструктуры 110, коммуницирующие с данным доменным именем, либо дополнительно штрафуют, либо штрафуют их в том случае, если не оштрафовали при прошлом обнаружении.
[0133] В одном из дополнительных вариантов реализации модуль принятия решений 135 дополнительно выполнен с возможностью блокировки выявленного вредоносного доменного имени для всей защищаемой инфраструктуры 110, создание уведомлений (алертов), шаблонных писем для уведомления об инциденте заинтересованных сторон, внесения в черные списки, доступные по сети связи вычислительному устройству 130 и т.д.
[0134] В одном из дополнительных вариантов реализации модуль принятия решений 135 дополнительно выполнен с возможностью извлечения из локального хранилища данных 136 по меньшей мере одного IP адреса отправителя и/или адресата, которые соотносятся с вредоносным доменным именем, определения в локальном хранилище данных 136 по меньшей мере одного дополнительного доменного имени, которое расположено по одному и тому же извлеченному IP-адресу, а также выявление всех устройств 111 защищаемой инфраструктуры 110, коммуницировавших с по меньшей мере одним дополнительно выявленным доменным именем и добавлением штрафа этим устройствам.
[0135] Стоит отметить, что модуль принятия решений в том числе обновляет черный список (перечень вредоносных доменных имен), который используется на этапе фильтрации в фильтрующем модуле 133, чтобы сократить время обработки и мгновенно выносить вердикт по аналогичному запросу.
[0136] Кроме того, модуль принятия решения обрабатывает полученные значения штрафов каждого устройства 111 и выносит решение о его компрометации.
ШАГ 260 ПРИ ПРЕВЫШЕНИИ СУММОЙ ШТРАФОВ ПО МЕНЬШЕЙ МЕРЕ ОДНОГО УСТРОЙСТВА ЗАРАНЕЕ ЗАДАННОГО ПОРОГА ДАННОЕ УСТРОЙСТВО ОТНОСЯТ К СКОМПРОМЕТИРОВАННЫМ, ПРИЧЕМ ОБ ЭТОМ ВЫВОДЯТ УВЕДОМЛЕНИЕ.
[0137] Модуль принятия решения 135 выполнен с возможностью проверки превышения суммы штрафов каждого устройства (устройства 111) заранее заданного порога, отнесения его к скомпрометированным в случае превышения порога, а также выводе уведомлений, сообщений, алертов и т.д. о данном инциденте.
[0138] Пороговое значение штрафов выбирается эмпирически, исходя из статистических данных о компрометации устройств, частоты взаимодействия с вредоносным доменными именами и так далее.
[0139] В одном из дополнительных вариантов реализации модуль принятия решений 135 дополнительно выполнен с возможностью выявления всех контактов (взаимодействий) выявленного скомпрометированного устройства 111 внутри защищаемой инфраструктуры 110. Причем особое внимание уделяется протоколам удаленного управления. В случае большого количества критических операций, например, таких, как удаленный запуск приложений, получение доступа к общим ресурсам и т.д. при взаимодействии с каким-либо другим устройством 111, оно также штрафуется и затем проверяется на превышение штрафом порогового значения компрометации.
[0140] Стоит дополнительно отметить, что осуществление описанного выше способа 200 также возможно в специфичных сетях. Особую эффективность заявленная технология показывает в сетях со строгими политиками безопасности. Например, в сети видеокамер скорее всего будут отключены взаимодействия по всем сетевым протоколам, кроме протокола, необходимого для передачи видеоинформации. Протокол DNS необходим для обеспечения маршрутизации в сети и, как правило, разрешен даже в таких сетях. В таком случае велика вероятность того, что злоумышленники воспользуются именно DNS как транспортом для эксфильтрации данных.
[0141] На Фиг. 3 далее будет представлена общая схема вычислительного устройства 130, обеспечивающего обработку данных, необходимую для реализации заявленного решения.
[0142] В общем случае устройство 300 содержит такие компоненты, как: один или более процессоров 301, по меньшей мере одну память 302, средство хранения данных 303, интерфейсы ввода/вывода 304, средство В/В 305, средства сетевого взаимодействия 306.
[0143] Процессор 301 устройства выполняет основные вычислительные операции, необходимые для функционирования устройства 300 или функциональности одного или более его компонентов. Процессор 301 исполняет необходимые машиночитаемые команды, содержащиеся в оперативной памяти 302.
[0144] Память 302, как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал.
[0145] Средство хранения данных 303 может выполняться в виде HDD, SSD дисков, рейд массива, сетевого хранилища, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue-Ray дисков) и т.п.
[0146] Интерфейсы 304 представляют собой стандартные средства для подключения и работы с серверной частью, например, USB, RS232, RJ45, LPT, COM, HDMI, PS/2, Lightning, FireWire и т.п. Выбор интерфейсов 304 зависит от конкретного исполнения устройства 300, которое может представлять собой персональный компьютер, мейнфрейм, серверный кластер, тонкий клиент, смартфон, ноутбук и т.п.
[0147] В качестве средств В/В данных 305 могут использоваться клавиатура, джойстик, дисплей (сенсорный дисплей), проектор, тачпад, манипулятор мышь, трекбол, световое перо, динамики, микрофон и т.п.
[0148] Средства сетевого взаимодействия 306 выбираются из устройств, обеспечивающих прием и передачу данных по сети, например, Ethernet-карта, WLAN/Wi-Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFTD модуль, GSM модем и т.п. С помощью средств 305 обеспечивается организация обмена данными по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM.
[0149] Компоненты устройства 130 сопряжены посредством общей шины передачи данных 310.
[0150] В настоящих материалах заявки было представлено предпочтительное раскрытие осуществление заявленного технического решения, которое не должно использоваться как ограничивающее иные, частные воплощения его реализации, которые не выходят за рамки испрашиваемого объема правовой охраны и являются очевидными для специалистов в соответствующей области техники.
[0151] Модификации и улучшения вышеописанных вариантов осуществления настоящего технического решения будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящего технического решения ограничен только объемом прилагаемой формулы изобретения.
1. Компьютерно-реализуемый способ выявления скомпрометированных устройств, использующих DNS-туннелирование, содержащий этапы, на которых:
получают трафик защищаемой сетевой инфраструктуры;
извлекают из трафика по меньшей мере один DNS-запрос;
фильтруют список выявленных DNS-запросов, при этом исключая из него запросы к заранее определенным типам доменных имен;
каждое из множества оставшихся в списке доменных имен поочередно подают на вход заранее обученного решающего правила;
если по меньшей мере одно доменное имя получило негативную оценку решающего правила, увеличивают штраф для по меньшей мере одного устройства, с которого ушел по меньшей мере один DNS-запрос, содержащий это доменное имя;
при превышении суммой штрафов по меньшей мере одного устройства заранее заданного порога данное устройство относят к скомпрометированным,
причем об этом выводят уведомление.
2. Компьютерно-реализуемый способ по п. 1, в котором получают исходящий трафик защищаемой сетевой инфраструктуры, а также дополнительно получают входящий сетевой трафик защищаемой сетевой инфраструктуры.
3. Компьютерно-реализуемый способ по п. 1, в котором трафик получают методом зеркалирования.
4. Компьютерно-реализуемый способ по п. 1, в котором для каждого выявленного в трафике DNS-запроса извлекают, по меньшей мере, следующие данные: доменное имя; IP-адреса отправителя и адресата.
5. Компьютерно-реализуемый способ по п. 4, в котором дополнительно осуществляют проверку вхождения по меньшей мере одного IP-адреса получателя в черный и белый список,
если по меньшей мере один IP-адрес получателя обнаружен в черном списке, то увеличивают штраф для по меньшей мере одного устройства, с которого ушел по меньшей мере один DNS-запрос, содержащий по меньшей мере один IP-адрес получателя;
если по меньшей мере один IP-адрес получателя обнаружен в белом списке, то отфильтровывают данный DNS-запрос.
6. Компьютерно-реализуемый способ по п. 1, в котором к заранее определенным типам доменных имен относят по меньшей мере:
доменные имена второго уровня,
доменные имена с низкой энтропией, а также
заведомо доверенные доменные имена из общеизвестных достоверных источников.
7. Компьютерно-реализуемый способ по п. 1, в котором в качестве решающего правила используют, по меньшей мере, следующие эвристические методы: разделение доменов по уровню энтропии, выделение n-грамм в доменных именах.
8. Компьютерно-реализуемый способ по п. 1, в котором в качестве решающего правила используют LSTM-нейросеть.
9. Компьютерно-реализуемый способ по п. 8, в котором на вход LSTM-нейросети дополнительно подается статистика сетевых взаимодействий за последние Т минут того устройства, с которого было получен DNS-запрос, содержавший данное доменное имя, и штраф данного устройства.
10. Компьютерно-реализуемый способ по п. 1, в котором дополнительно в качестве решающего правила используют совокупность LSTM-нейросети и по меньшей мере одного из эвристических методов.
11. Компьютерно-реализуемый способ по п. 1, в котором дополнительно осуществляют поиск по меньшей мере одного доменного имени, которое получило негативную оценку решающего правила, в истории всего входящего и исходящего трафика, полученного от по меньшей мере одного устройства защищаемой инфраструктуры и,
если находят вхождения по меньшей мере одного доменного имени, которое получило негативную оценку решающего правила, то все устройства, входящие в защищаемую инфраструктуру и коммуницировавшие с указанным доменным именем,
либо дополнительно штрафуют,
либо штрафуют, если не оштрафовали их ранее.
12. Компьютерно-реализуемый способ по п. 1, в котором дополнительно блокируют выявленное вредоносное доменное имя для всех устройств, входящих в одну защищаемую инфраструктуру, создают уведомления о вредоносности доменного имени, создают шаблонные письма для уведомления об инциденте заинтересованных сторон, а также вносят доменное имя в по меньшей мере один черный список.
13. Вычислительное устройство для выявления скомпрометированных устройств на основе DNS-туннелирования, выполненное с возможностью выполнения способа выявления скомпрометированных устройств на основе DNS-туннелирования по любому из пп. 1-12.