ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО И СПОСОБ ДЛЯ ОБНАРУЖЕНИЯ ВРЕДОНОСНЫХ ДОМЕННЫХ ИМЕН В СЕТЕВОМ ТРАФИКЕ
COMPUTING DEVICE AND METHOD FOR DETECTING MALICIOUS DOMAIN NAMES IN NETWORK TRAFFIC

Область техники
Настоящее изобретение относится к области информационной безопасности в компьютерных системах и сетях передачи данных, в частности к вычислительному устройству и способу для обнаружения вредоносных доменных имен в сетевом трафике.
Уровень техники
В настоящее время, ввиду непрерывного научно-технического прогресса в области информационных технологий, все большую актуальность приобретают вопросы обеспечения информационной безопасности, в частности защиты от различных вредоносных программ, позволяющих злоумышленникам удаленно управлять зараженными компьютерами (каждым компьютером в отдельности, частью компьютеров, входящих в сеть, и/или всей сетью в целом).
Компьютерная сеть, состоящая из некоторого количества компьютеров с запущенным на них автономным вредоносным программным обеспечением (ботами), называется ботнетом. Боты, как таковые, в составе ботнета, не являются вирусами, а по сути представляют собой набор программного обеспечения, скрытно установленного на компьютер жертвы и позволяющего злоумышленнику выполнять некие зловредные действия с использованием ресурсов заражённого компьютера, при этом такой набор программного обеспечения состоит из вирусов, брандмауэров, программ для удаленного управления компьютером, а также инструментов для скрытия от операционной системы. Одними из возможных источников заражения могут являться сеть Интернет, локальная сеть, флеш-накопители и т.п.
Ботнеты обладают мощными вычислительными ресурсами, являются широко распространенным средством кибератак и хорошим способом зарабатывания денег для злоумышленников. При этом зараженными компьютерами, входящими в сеть, владелец ботнета может управлять откуда угодно: из другого города, страны или даже с другого континента, а организация Интернета позволяет делать это анонимно. В частности, ботнеты могут быть использованы злоумышленниками для решения следующих задач и/или осуществления следующих вредоносных действий:
1. Рассылка спама.
Рассылка спама является наиболее распространенным и одним из самых простых вариантов эксплуатации ботнетов. По экспертным оценкам в настоящее время более 80% спама рассылается с зараженных компьютеров. Спам с ботнетов не обязательно рассылается владельцами сети. За определенную плату «спамеры» могут взять ботнет в аренду. Многотысячные ботнеты позволяют «спамерам» осуществлять с зараженных машин миллионные рассылки в течение короткого периода времени. Адреса, с которых активно рассылается спам, часто попадают в черные списки почтовых серверов, а письма, приходящие с них, блокируются или автоматически помечаются как спам, однако возможность рассылки спама с огромного множества зараженных компьютеров позволяет не использовать для рассылки одни и те же адреса. Кроме того, ботнеты также позволяют собирать адреса электронной почты на зараженных компьютерах, которые могут быть проданы спамерам или использованы при рассылке спама самими хозяевами ботнета.
2. Кибершантаж.
Ботнеты также широко используют для проведения распределенных атак типа «отказ в обслуживании» (Distributed Denial of Service, DDoS). В ходе таких распределенных атак с компьютеров, зараженных ботом, создается поток ложных запросов на атакуемый сервер в сети. В результате сервер из-за перегрузки становится недоступным для пользователей. За остановку атаки злоумышленники, как правило, требуют «выкуп». В современном мире многие компании работают только через сеть Интернет, так что для них недоступность серверов означает полную остановку бизнеса, что может привести к существенным финансовым потерям.
3. Анонимный доступ в сеть.
Злоумышленники могут обращаться к серверам в сети с использованием зараженных компьютеров и от имени зараженных машин могут совершать киберпреступления, например могут взламывать вебсайты или переводить украденные денежные средства.
4. Продажа и аренда ботнетов.
Один из вариантов незаконного заработка при помощи ботнетов заключается в сдаче в аренду или продаже ботнета. Создание ботнетов для продажи является отдельным направлением киберпреступного бизнеса.
5. Фишинг.
Адреса фишинговых страниц могут довольно быстро попасть в черные списки, однако ботнет позволяет фишерам быстро менять адрес фишинговой страницы с использованием зараженных компьютеров в роли прокси-серверов, что позволяет скрыть реальный адрес веб-сервера фишера.
6. Кража конфиденциальных данных.
Ботнеты также могут быть использованы для кражи различных паролей (например, для доступа к электронной почте, Skype, социальным сетям, FTP-ресурсам, веб-сервисам, таким как дистанционное банковское обслуживание, и т.п.) и прочих конфиденциальных данных пользователей. Бот, которым заражены компьютеры в ботнете, может скачать другую вредоносную программу, например троянскую программу, ворующую пароли. В таком случае все компьютеры, входящие в этот ботнет, окажутся инфицированными троянской программой, а злоумышленники смогут заполучить пароли со всех зараженных компьютеров. Украденные пароли могут быть перепроданы или использованы, в частности, для массового заражения веб-страниц (например, пароли для всех найденных FTP-аккаунтов) для дальнейшего распространения вредоносной программы-бота и расширения ботнета.
Управление компьютером, который заражен ботом, может быть прямым и опосредованным. В случае прямого управления злоумышленник может установить связь с зараженным компьютером и управлять им с использованием встроенных в тело программы-бота команд. В случае же опосредованного управления боты сами устанавливают связь со специальными управляющими командными (Command and Control; C&C) серверами или другими компьютерами в сети, посылают запрос и выполняют полученную команду. Одними из основных команд, получаемых ботами от C&C серверов, являются следующие управляющие команды:
1. Команда типа «Update».
Суть данной команды заключается в загрузке и выполнении заданного исполняемого файла или модуля с заданного сервера. Эта команда является базовой, поскольку именно она реализуется в первую очередь. Она позволяет обновлять исполняемый файл бота по приказу владельца ботнета в случае, в котором владелец хочет установить модернизированную версию бота. Эта же команда позволяет заражать компьютер другими вредоносными программами (вирусами, червями), а также устанавливать другие боты на компьютер. С помощью этой команды на все компьютеры одновременно могут быть установлены троянские программы, которые ищут все пароли, когда-либо введенные на данном компьютере и сохраненные в его памяти, и пересылают их на сервер в сети Интернет.
2. Команда типа «Flood».
Суть данной команды заключается в начале процесса создания потока ложных запросов на заданный сервер в сети для вывода из строя этого сервера или перегрузки интернет-канала заданного сегмента глобальной сети. Создание подобного потока может вызывать серьезные неполадки сервера, приводящие к его недоступности для обычных пользователей.
3. Команда типа «Spam».
Суть данной команды заключается в загрузке шаблона спам-сообщения и начале рассылки спама по заданным адресам (для каждого бота выделяют свою порцию адресов).
4. Команда типа «Proxy».
Суть данной команды заключается в использовании компьютера из ботнета в качестве прокси-сервера для сокрытия реального адреса злоумышленника, управляющего ботнетом. Эту функциональную возможность часто не выделяют в отдельную команду, а сразу включают в общий функционал бота.
5. Прочие команды.
Существуют и другие менее популярные команды, реализуемые в отдельных ботах. Эти дополнительные команды позволяют, например, получать копии изображения с экрана пользователя, следить за вводом паролей с клавиатуры, запрашивать файл с протоколом сетевого общения пользователя (используется для кражи аккаунтов и конфиденциальных данных), пересылать заданный файл с компьютера пользователя, запрашивать серийные номера программного обеспечения, получать подробную информацию о системе пользователя и его окружении, запрашивать список компьютеров, входящих в ботнет, и т.п.
Для удержания контроля и управления зараженными компьютерами ботнеты используют множество способов, таких как одноранговые сети, почтовые протоколы, социальные сети или анонимные сети, такие как TOR и i2p, однако в настоящее время наиболее распространены алгоритмы генерации доменных имен (domain generation algorithm; DGA), используемые для генерации большого количества псевдослучайных доменных имен, позволяющих им установить соединение с C&C вычислительным устройством, и позволяющие защитить C&C сервер от однократного отключения или добавления его адреса в черные списки.
Зараженные компьютеры, включенные, например, в корпоративную сеть могут быть обнаружены с помощью антивирусных программ, устанавливаемых на таких компьютерах. Кроме того, задача обнаружения зараженных компьютеров в сети может быть решена централизованно путем анализа сетевого трафика, что обеспечивает возможность проактивной защиты и повышает прозрачность распространения вредоносного кода в указанной сети.
Один из подходов к анализу трафика основан на предварительно заданном наборе правил, характеризующих активность вредоносного программного обеспечения (ПО). Данный подход хорошо работает для случаев обнаружения известного вредоносного ПО, однако он практически бесполезен против новых угроз. В данном случае исправить ситуацию позволяет добавление обучающихся алгоритмов.
При установлении зараженным компьютером канала связи с C&C вычислительным устройством могут быть перехвачены настройки вредоносного ПО, которые могут включать список C&C серверов, с которыми запланировано установление связи, что позволяет отслеживать нарушителя и определять другие зараженные компьютеры.
При использовании во вредоносном ПО алгоритма DGA боты выбирают один из активных доменов на основании некоторых изменяющихся параметров, при этом в данном случае каждый раз вредоносное ПО может выбирать новые домены для связи, а статичная блокировка домена не позволит нейтрализовать вредоносное ПО. Для обнаружения зараженного компьютера такого вредоносного ПО, использующего алгоритм DGA, в уровне техники используют подход на основе машинного обучения (ML) для поиска аномалий в прикладных протоколах передачи данных, в рамках которого для обнаружения вредоносного ПО с DGA-алгоритмом используют следующие правила:
- названия доменов включают неестественные сочетания букв, которые не встречаются в натуральном языке (например, цифры в середине слова);
- большинство доменов не существуют в реальности;
- перебор большого числа доменов осуществляется за очень короткий период времени.
Следует отметить, что цель любого алгоритма машинного обучения, используемого для решения вышеописанной задачи, заключается в обучении классификатора отличать вредоносную активность, отвечающую перечисленным выше критериям.
Один из иллюстративных примеров обнаружения зараженных компьютеров в сети описан в патенте США № 8402543 (опубл. 19 марта 2013 года). В частности, в US 8402543 раскрыты система и способ для обнаружения ботов в сетевом трафике путем использования классифицирующей модели, обученной в течении фазы обучения с использованием алгоритмов машинного обучения на признаках, извлеченных из пакетов сетевых данных, связанных с известным вредоносным клиентом или известным невредоносным клиентом, и применение обученной классификационной модели к признакам, извлеченным в режиме реального времени из текущих сетевых данных, при этом каждый извлеченный признак представляет один из следующих показателей, указывающих на наличие активного канала связи между вредоносным клиентом и управляющим вычислительным устройством: количество потоков данных, передаваемых в течение заданного периода времени, количество пакетов данных, передаваемых в течение заданного периода времени, и количество битов, передаваемых в течение заданного периода времени.
Еще один иллюстративный пример обнаружения зараженных компьютеров в сети описан в патенте США № 8555388 (опубл. 08 октября 2013 года). В частности, в US 8555388 раскрыты система и способ для эвристического выявления ботнет-сети путем отслеживания всего сетевого трафика для идентификации в нем вредоносного сетевого трафика и путем обнаружения бота с использованием эвристического анализа поведения вредоносного сетевого трафика с помощью процессора, которое включает командно-управляющий трафик, связанный с управляющим ботом, при этом отслеживаемому сетевому трафику присваивают оценку, соответствующую вероятности отнесения этого отслеживаемого сетевого трафика к ботнет-сети, присвоенную оценку увеличивают в случае соответствия дополнительным показателям подозрительного поведения, связанным с отслеживаемым сетевым трафиком, и на основании полученной оценки определяют, связано ли подозрительное поведение с ботнет-сетью.
Следует отметить, что механизмы обнаружения зараженных устройств в сети передачи данных, описанные в патенте US 8402543 или US 8555388, требуют значительных вычислительных ресурсов и обеспечивает недостаточную вероятность обнаружения зараженных устройств, в результате чего реализация защитной системы на уровне конечных рабочих станций или серверов на основе указанных механизмов обнаружения часто либо невозможна, либо неэффективна.
Таким образом, очевидна потребность в дальнейшем совершенствовании систем и способов защиты от зловредных действий, для организации которых злоумышленники используют зараженные устройства, включенные в ботнет-сеть, в частности для эффективного распределения вычислительных ресурсов, затрачиваемых на обеспечение такой автоматизированной защиты, и повышения вероятности обнаружения таких зараженных устройств в сети передачи данных.
Следовательно, техническая проблема, решаемая настоящим изобретением, состоит в создании системы и способа для обнаружения зараженных устройств в сети передачи данных, в которых по меньшей мере частично устранён обозначенный выше недостаток известных систем и способов обнаружения, заключающийся в неэффективном использовании вычислительных ресурсов и низкой вероятности обнаружения вредоносных устройств в сети передачи данных при обеспечении автоматизированной защиты.
Раскрытие
Вышеупомянутая техническая проблема решена в одном из аспектов настоящего изобретения, согласно которому предложено вычислительное устройство для обнаружения вредоносных доменных имен в сетевом трафике, содержащее: модуль связи, выполненный с возможностью получения сетевого трафика из сети передачи данных; фильтрующий модуль, выполненный с возможностью подключения к модулю связи для получения от него захваченного сетевого трафика и возможностью выполнения по меньшей мере следующих операций: (i) извлечение множества пакетов данных из полученного сетевого трафика, (ii) анализ указанных извлеченных пакетов данных с обеспечением извлечения из них по меньшей мере одного доменного имени; анализирующий модуль, выполненный с возможностью подключения к фильтрующему модулю для получения от него указанных доменных имен и с возможностью анализа каждого из полученных доменных имен с использованием заданного набора методик анализа с обеспечением присвоения заданного численного значения каждому из заданного набора признаков подозрительности доменного имени, соответствующему одной из заданного набора методик анализа, для каждого анализируемого доменного имени в зависимости от результатов его анализа с помощью указанных методик анализа; процессинговый модуль, выполненный с возможностью подключения к анализирующему модулю для получения от него указанных признаков подозрительности с присвоенными им численными значениями для каждого доменного имени и с возможностью их анализа с использованием заданного набора правил анализа с обеспечением отнесения каждого доменного имени к вредоносным доменным именам, если полученные результаты анализа признаков подозрительности характерны для вредоносных доменных имен.
В одном из вариантов реализации настоящего изобретения модуль связи в вычислительном устройстве может быть дополнительно выполнен с возможностью подключения по меньшей мере к одному из устройств захвата сетевого трафика, включенных в сеть передачи данных.
Еще в одном варианте реализации настоящего изобретения фильтрующий модуль в вычислительном устройстве может быть дополнительно выполнен с возможностью определения, имеется ли аналитический отчет для каждого из извлеченных доменных имен.
В другом варианте реализации настоящего изобретения при выявлении наличия аналитического отчета фильтрующий модуль в вычислительном устройстве может выполнять по меньшей мере следующие операции: (i) получение данных об аналитических отчетах, (ii) установление, путем посимвольного сравнения каждого из извлеченных доменных имен с доменными именами, идентифицирующими аналитические отчеты в указанных полученных данных, соответствия каждого из извлеченных доменных имен одному из имеющихся аналитических отчетов.
В некоторых вариантах реализации настоящего изобретения в ответ на то, что для извлеченного доменного имени не имеется аналитического отчета, фильтрующий модуль в вычислительном устройстве может быть дополнительно выполнен с возможностью передачи указанного доменного имени в анализирующий модуль.
В других вариантах реализации настоящего изобретения при анализе полученных доменных имен анализирующий модуль в вычислительном устройстве может выполнять по меньшей мере следующие операции: (i) определение количества символов в каждом из полученных доменных имен, (ii) установление, соответствует ли определенное количество символов каждого анализируемого доменного имени заданному пороговому значению длины доменного имени, (iii) присвоение численного значения признаку подозрительности доменного имени, представляющему длину анализируемого доменного имени, в зависимости от результата установления соответствия.
Еще в одних вариантах реализации настоящего изобретения при анализе полученных доменных имен анализирующий модуль в вычислительном устройстве может дополнительно выполнять по меньшей мере следующие операции: (i) получение набора известных доменных имен, (ii) установление, путем посимвольного сравнения каждого из извлеченных доменных имен с доменными именами в полученном наборе доменных имен, совпадения каждого из извлеченных доменных имен с одним из известных доменных имен, (iii) присвоение численного значения еще одному признаку подозрительности доменного имени, представляющему известность анализируемого доменного имени, в зависимости от результата установления совпадения.
Согласно одному из вариантов реализации настоящего изобретения, при анализе полученных доменных имен анализирующий модуль в вычислительном устройстве может дополнительно выполнять по меньшей мере следующие операции: (i) определение частот появления каждого из множества N-грамм в каждом из полученных доменных имен, при этом каждая N-грамма соответствует комбинации из N последовательных символов, (ii) определение энтропии N-грамма указанного анализируемого доменного имени как функции от определенной частоты появления каждой N-граммы в этом анализируемом доменном имени, (iii) сравнение определенной энтропии N-грамма анализируемого доменного имени с заданным пороговым значением энтропии N-грамма, (iv) присвоение численного значения еще одному признаку подозрительности доменного имени, представляющему энтропию анализируемого доменного имени, в зависимости от результата сравнения.
Согласно еще одному варианту реализации настоящего изобретения, при анализе полученных доменных имен анализирующий модуль в вычислительном устройстве может дополнительно выполнять по меньшей мере следующие операции: (i) получение данных о языковых словарях, (ii) извлечение по меньшей мере одного слова из каждого из полученных доменных имен, (iii) установление совпадения каждого из указанных извлеченных слов с одним из слов в языковых словарях из указанных полученных данных, (iv) присвоение численного значения еще одному признаку подозрительности доменного имени, представляющему осмысленность анализируемого доменного имени, в зависимости от результата установления совпадения.
Согласно другому варианту реализации настоящего изобретения, при анализе полученных доменных имен анализирующий модуль в вычислительном устройстве может дополнительно выполнять по меньшей мере следующие операции: (i) получение данных о языковых словарях, (ii) извлечение по меньшей мере одного слова из каждого из полученных доменных имен, (iii) определение расстояния Левенштейна между каждым из указанных извлеченных слов и соответствующим одним из слов в языковых словарях из указанных полученных данных, (iv) сравнение определенного расстояния Левенштейна с заданным пороговым значением, (v) присвоение численного значения еще одному признаку подозрительности доменного имени, представляющему правильность написания анализируемого доменного имени, в зависимости от результата сравнения.
Согласно некоторым вариантам реализации настоящего изобретения, анализирующий модуль в вычислительном устройстве может дополнительно обеспечивать возможность изменения заданного набора методик анализа.
Согласно другим вариантам реализации настоящего изобретения, в ответ на отнесение доменного имени к вредоносным доменным именам, процессинговый модуль в вычислительном устройстве может дополнительно обеспечивать возможность выдачи предупредительного сообщения, блокировки сетевого трафика от зараженных устройств и/или создание аналитического отчета для вредоносного доменного имени.
Согласно еще одним вариантам реализации настоящего изобретения, процессинговый модуль в вычислительном устройстве может быть выполнен с возможностью анализа полученной совокупности признаков подозрительности анализируемого доменного имени с использованием по меньшей мере одного предварительно обученного алгоритма машинного обучения.
Согласно некоторым вариантам реализации настоящего изобретения, анализирующий модуль может быть дополнительно выполнен с возможностью получения, посредством модуля связи, по меньшей мере одного или множества доменных имен по меньшей мере из одного источника доменных имен.
Вышеупомянутая техническая проблема также решена еще в одном из аспектов настоящего изобретения, согласно которому предложен способ обнаружения вредоносных доменных имен в сетевом трафике, реализуемый вычислительным устройством, включающий: (i) получение, посредством модуля связи, сетевого трафика из сети передачи данных; (ii) извлечение, посредством фильтрующего модуля, множества пакетов данных из полученного сетевого трафика; (iii) анализ, посредством фильтрующего модуля, указанных извлеченных пакетов данных с обеспечением извлечения из них по меньшей мере одного доменного имени; (iv) анализ, посредством анализирующего модуля, каждого из полученных доменных имен с использованием заданного набора методик анализа с обеспечением присвоения заданного численного значения каждому из заданного набора признаков подозрительности доменного имени, соответствующему одной из заданного набора методик анализа, для каждого анализируемого доменного имени в зависимости от результатов его анализа с помощью указанных методик анализа; (v) анализ, посредством процессингового модуля, полученных признаков подозрительности с присвоенными им численными значениями с использованием заданного набора правил анализа с обеспечением отнесения каждого доменного имени к вредоносным доменным именам, если полученные результаты анализа признаков подозрительности характерны для вредоносных доменных имен.
В одном из вариантов реализации настоящего изобретения этап получения сетевого трафика дополнительно может включать подключение, посредством модуля связи, по меньшей мере к одному из устройств захвата сетевого трафика, включенных в сеть передачи данных.
Еще в одном варианте реализации настоящего изобретения для извлеченных доменных имен дополнительно определяют, посредством фильтрующего модуля, имеется ли аналитический отчет для каждого из этих извлеченных доменных имен.
В другом варианте реализации настоящего изобретения этап выявления наличия аналитического отчета может включать выполнение, посредством фильтрующего модуля, меньшей мере следующих подэтапов: (i) получение данных об аналитических отчетах; (ii) становление, путем посимвольного сравнения каждого из извлеченных доменных имен с доменными именами, идентифицирующими аналитические отчеты в указанных полученных данных, соответствия каждого из извлеченных доменных имен одному из имеющихся аналитических отчетов.
В некоторых вариантах реализации настоящего изобретения в ответ на то, что для извлеченного доменного имени не имеется аналитического отчета, согласно предложенному способу передают, посредством фильтрующего модуля, указанное доменное имя в анализирующий модуль.
В других вариантах реализации настоящего изобретения этап анализа полученных доменных имен может включать выполнение, посредством анализирующего модуля, по меньшей мере следующих подэтапов: (i) определение количества символов в каждом из полученных доменных имен; (ii) установление, соответствует ли определенное количество символов каждого анализируемого доменного имени заданному пороговому значению длины доменного имени; (iii) присвоение численного значения признаку подозрительности доменного имени, представляющему длину анализируемого доменного имени, в зависимости от результата установления соответствия.
В иных вариантах реализации настоящего изобретения этап анализа полученных доменных имен может включать выполнение, посредством анализирующего модуля, по меньшей мере следующих подэтапов: (i) получение набора известных доменных имен; (ii) установление, путем посимвольного сравнения каждого из извлеченных доменных имен с доменными именами в полученном наборе доменных имен, совпадения каждого из извлеченных доменных имен с одним из известных доменных имен; (iii) присвоение численного значения еще одному признаку подозрительности доменного имени, представляющему известность анализируемого доменного имени, в зависимости от результата установления совпадения.
Согласно одному из вариантов реализации настоящего изобретения, этап анализа полученных доменных имен может включать выполнение, посредством анализирующего модуля, по меньшей мере следующих подэтапов: (i) определение частот появления каждого из множества N-грамм в каждом из полученных доменных имен, при этом каждая N-грамма соответствует комбинации из N последовательных символов; (ii) определение энтропии N-грамма указанного анализируемого доменного имени как функции от определенной частоты появления каждой N-граммы в этом анализируемом доменном имени; (iii) сравнение определенной энтропии N-грамма анализируемого доменного имени с заданным пороговым значением энтропии N-грамма; (iv) присвоение численного значения еще одному признаку подозрительности доменного имени, представляющему энтропию анализируемого доменного имени, в зависимости от результата сравнения.
Согласно еще одному варианту реализации настоящего изобретения, этап анализа полученных доменных имен может включать выполнение, посредством анализирующего модуля, по меньшей мере следующих подэтапов: (i) получение данных о языковых словарях; (ii) извлечение по меньшей мере одного слова из каждого из полученных доменных имен; (iii) установление совпадения каждого из указанных извлеченных слов с одним из слов в языковых словарях из указанных полученных данных; (iv) присвоение численного значения еще одному признаку подозрительности доменного имени, представляющему осмысленность анализируемого доменного имени, в зависимости от результата установления совпадения.
Согласно другому варианту реализации настоящего изобретения, этап анализа полученных доменных имен может включать выполнение, посредством анализирующего модуля, по меньшей мере следующих подэтапов: (i) получение данных о языковых словарях; (ii) извлечение по меньшей мере одного слова из каждого из полученных доменных имен; (iii) определение расстояния Левенштейна между каждым из указанных извлеченных слов и соответствующим одним из слов в языковых словарях из указанных полученных данных; (iv) сравнение определенного расстояния Левенштейна с заданным пороговым значением; (v) присвоение численного значения еще одному признаку подозрительности доменного имени, представляющему правильность написания анализируемого доменного имени, в зависимости от результата сравнения.
Согласно некоторым вариантам реализации настоящего изобретения, согласно предложенному способу дополнительно изменяют, посредством анализирующего модуля, заданный набор правил анализа.
Согласно другим вариантам реализации настоящего изобретения, в ответ на отнесение доменного имени к вредоносным доменным именам, согласно предложенному способу дополнительно обеспечивают, посредством процессингового модуля, выдачу предупредительного сообщения, блокировку сетевого трафика от зараженных устройств и/или создание аналитического отчета для вредоносного доменного имени.
Согласно иным вариантам реализации настоящего изобретения, этап анализа признаков подозрительности включает анализ, посредством процессингового модуля, полученной совокупности признаков подозрительности анализируемого доменного имени с использованием по меньшей мере одного предварительно обученного алгоритма машинного обучения.
Согласно одному из вариантов реализации настоящего изобретения, согласно предложенному способу в анализирующем модуле дополнительно получают, посредством модуля связи, множество доменных имен по меньшей мере из одного источника доменных имен.
Вышеупомянутая техническая проблема также решена еще в одном аспекте настоящего изобретения, согласно которому машиночитаемый носитель для длительного хранения данных, хранящий машиночитаемые инструкции, которые, при их исполнении вычислительным устройством, вызывают выполнение этапов способа согласно второму аспекту настоящего изобретения.
Вышеупомянутая техническая проблема также решена еще в одном аспекте настоящего изобретения, согласно которому предложен способ анализа доменных имен, реализуемый вычислительным устройством, включающий: получение, посредством модуля связи, по меньшей мере одного доменного имени, анализ, посредством анализирующего модуля, каждого из полученных доменных имен с использованием заданного набора методик анализа с обеспечением присвоения заданного численного значения каждому из заданного набора признаков подозрительности доменного имени, соответствующему одной из заданного набора методик анализа, для каждого анализируемого доменного имени в зависимости от результатов его анализа с помощью указанных методик анализа, анализ, посредством процессингового модуля, полученных признаков подозрительности с присвоенными им численными значениями с использованием заданного набора правил анализа с обеспечением отнесения каждого доменного имени к вредоносным доменным именам, если полученные результаты анализа признаков подозрительности характерны для вредоносных доменных имен.
Вышеупомянутая техническая проблема также решена еще в одном аспекте настоящего изобретения, согласно которому предложено вычислительное устройство для анализа доменных имен, содержащее: модуль связи, выполненный с возможностью получения по меньшей мере одного доменного имени по меньшей мере из одного источника доменных имен, анализирующий модуль, выполненный с возможностью подключения к модулю связи для получения от него указанных доменных имен и с возможностью анализа каждого из полученных доменных имен с использованием заданного набора методик анализа с обеспечением присвоения заданного численного значения каждому из заданного набора признаков подозрительности доменного имени, соответствующему одной из заданного набора методик анализа, для каждого анализируемого доменного имени в зависимости от результатов его анализа с помощью указанных методик анализа, процессинговый модуль, выполненный с возможностью подключения к анализирующему модулю для получения от него указанных признаков подозрительности с присвоенными им численными значениями для каждого доменного имени и с возможностью их анализа с использованием заданного набора методик анализа с обеспечением отнесения каждого доменного имени к вредоносным доменным именам, если полученные результаты анализа признаков подозрительности характерны для вредоносных доменных имен.
Краткое описание чертежей
Прилагаемые чертежи, которые включены в настоящий документ и составляют его часть, иллюстрируют различные варианты реализации и аспекты настоящего изобретения, а также совместно с приведенным далее описанием поясняют сущность настоящего изобретения. На чертежах:
на фиг. 1 показана структурная схема системы для обнаружения вредоносных доменных имен в сетевом трафике согласно настоящему изобретению;
на фиг. 2 показана блок-схема способа работы вычислительного устройства, используемого в системе, показанной на фиг. 1.
Осуществление изобретения
Для обеспечения информационной безопасности в компьютерных системах и сетях передачи данных может быть использована система 10 для обнаружения вредоносных доменных имен в сетевом трафике, показанная на фиг. 1, которая позволяет выявлять в сетевом трафике подозрительные доменные имена, используемые для установки канала связи зараженной рабочей станции или зараженного компьютера с запущенным на нем вредоносным программным обеспечением (ботом) с управляющим командным вычислительным устройством для получения из него управляющих команд.
Система
Система 10 для обнаружения вредоносных доменных имен в сетевом трафике, показанная в виде упрощенной структурной схемы на фиг. 1, содержит вычислительное устройство 1 в виде, например, сервера и устройства 2 захвата трафика, включенные в сеть 3 передачи данных с возможностью извлечения из нее сетевого трафика. Вычислительное устройство 1 также соединено с возможностью обмена данными с устройствами 2 захвата трафика для получения от них сетевого трафика, извлеченного из сети 3 передачи данных, и выполнено с возможностью дальнейшей обработки полученного сетевого трафика для определения в нем вредоносных доменных имен, используемых для установки соединения зараженной рабочей станции или зараженного компьютера с управляющим командным центром с последующим получением от него управляющих команд для выполнения набора запрограммированных вредоносных действий, таких как рассылка спама, фишинг, анонимный доступ в сеть, кража конфиденциальных данных и т.п. в зависимости от целей злоумышленников, как описано выше в разделе «Уровень техники».
В системе 10, показанной на фиг. 1, устройства 2 захвата трафика соединены с вычислительным устройством 1 проводным способом, например с помощью сетевого кабеля, и представляют собой по меньшей мере одно из следующих известных сетевых устройств для перехвата и передачи сетевого трафика: сетевые коммутаторы L2-уровня, работающие с использованием технологии зеркалирования сетевого трафика необходимых сегментов сети, такой как, например, SPAN-технология зеркалирования сетевого трафика в оборудовании компании «CISCO», средства обеспечения прозрачности сети, также называемые как платформы доставки безопасности (Security Delivery Platform) или сетевые пакетные брокеры (NPB), и ответвители сетевого трафика (Test Access Point) различных типов, а также прокси-серверы с поддержкой ICAP-протокола, работающие в рамках установленного TCP-соединения, почтовые серверы с поддержкой SMTP-протокола и др.
В одном из вариантов реализации настоящего изобретения вычислительное устройство 1 может быть включено непосредственно в сеть 3 передачи данных или соединено непосредственно с сетью 3 передачи данных с возможностью извлечения или захвата из нее сетевого трафика для его дальнейшего анализа и обработки с целью выявления вредоносных доменных имен в указанном сетевом трафике. Другими словами, в таком варианте реализации вычислительное устройство 1 может иметь функциональные возможности вышеописанных устройств 2 захвата трафика, при этом вычислительное устройство 1, при необходимости, может использовать защищенный канал приема/передачи данных для получения сетевого трафика, извлеченного из сети 3 передачи данных.
Еще в одном варианте реализации настоящего изобретения вышеописанные устройства 2 захвата сетевого трафика могут быть встроены или интегрированы в вычислительное устройство 1.
В некоторых вариантах реализации настоящего изобретения вычислительное устройство 1 может быть соединено с устройствами 2 захвата трафика беспроводным образом.
Вычислительное устройство
В системе 10, показанной на фиг. 1, вычислительное устройство 1 по существу представляет собой программно-аппаратный комплекс и содержит модуль 1.1 связи, фильтрующий модуль 1.2, анализирующий модуль 1.3, процессинговый модуль 1.4 и локальное хранилище 1.5 данных, каждый из которых соединен с шиной 1.6 связи, при этом каждый из модуля 1.1 связи, фильтрующего модуля 1.2, анализирующего модуля 1.3 и процессингового модуля 1.4 выполнен с возможностью обмена данными, посредством шины 1.6 связи, с локальным хранилищем 1.5 данных, модуль 1.1 связи выполнен с возможностью обмена данными, посредством шины 1.6 связи, с фильтрующим модулем 1.2, который в свою очередь выполнен с возможностью обмена данными, посредством шины 1.6 связи, с анализирующим модулем 1.3, а анализирующий модуль 1.3 соединен с возможностью обмена данными, посредством шины 1.6 связи, с процессинговым модулем 1.4.
Локальное хранилище данных
Локальное хранилище 1.5 данных предназначено для хранения исполняемых программных инструкций, которые могут управлять работой модуля 1.1 связи, фильтрующего модуля 1.2, анализирующего модуля 1.3 и процессингового модуля 1.4. Кроме того, локальное хранилище 1.5 данных используют в вычислительном устройстве 1 для хранения различных данных, используемых при работе вычислительного устройства 1.
В частности, в локальном хранилище 1.5 данных хранятся данные об имеющихся аналитических отчетах, каждый из которых поставлен в соответствие с конкретным доменным именем и в каждом из которых представлены данные о численных значениях, присвоенных анализирующим модулем 1.3 заданному набору признаков подозрительности, характеризующих указанное конкретное доменное имя, а также данные, связанные с решением, принятым процессинговым модулем 1.4 в отношении анализируемого доменного имени, в частности данные о наборе правил анализа, использованные процессинговым модулем 1.4 для анализа указанного набора признаков подозрительности, и данные об окончательном решении в отношении вредоносности или доверенности анализируемого доменного имени, как будет описано более подробно ниже.
В локальном хранилище 1.5 данных также хранятся данные об известных доменных именах и данные о языковых словарях. Следует отметить, что в качестве известных доменных имен в данных, хранящихся в локальном хранилище 1.5 данных, могут быть использованы, например, 10000 наиболее популярных сайтов из списков популярных сайтов, размещенных, например, на рейтинговых сайтах, таких как alexa.com, webomer.com, trends.google.com и т.п. В качестве языковых словарей, хранящихся в локальном хранилище 1.5 данных, могут быть использованы различные языковые словари, в том числе словари аббревиатур, сокращений, жаргонных слов, различного профессионального сленга и т.п., при этом словари русского языка и других языков, отличных от английского языка, хранятся в транслитерированном латиницей виде.
В одном из вариантов реализации настоящего изобретения вычислительное устройство 1, в частности его анализирующий модуль 1.3, может периодически через заданный период времени устанавливать связь по меньшей мере с одним из вышеперечисленных рейтинговых сайтов или получать к ним доступ с использованием модуля 1.6 связи с извлечением из указанных рейтинговых сайтов по меньшей мере одного списка популярных сайтов для обновления данных об известных доменных именах, хранящихся в локальном хранилище 1.5 данных, на основании указанного обновленного списка популярных сайтов, при этом для обновления может быть использован как список популярных сайтов с одного из таких рейтинговых сайтов, так и сводный список популярных сайтов, составленный анализирующим модулем 1.3 на основании обособленных списков популярных доменных имен, полученных каждый от одного из этих рейтинговых сайтов, путем, например, сравнительной оценки показателей популярности, присвоенным сайтам в этих обособленных списках, в соответствии с заданным набором правил оценки для выявления из них заданного количества наиболее популярных сайтов.
В некоторых вариантах реализации настоящего изобретения по меньшей мере некоторые из вышеописанных данных, хранящихся в локальном хранилище 1.5 данных, могут быть сохранены в облачном хранилище данных (не показано), при этом эти данные могут находиться как на одиночном удаленном файловом сервере, включенном в сеть 3 передачи данных или в иную сеть передачи данных, отличную от сети 3 передачи данных, так и на множестве удаленных файловых серверов, распределенных в сети 3 передачи данных или в иной сети передачи данных, отличной от сети 3 передачи данных, при этом вычислительное устройство 1 может быть выполнено с возможностью установления связи для обмена данными, в частности защищенного канала связи для приема/передачи данных, с таким облачным хранилищем данных с использованием проводного и/или беспроводного способа соединения. В варианте реализации, в котором вычислительное устройство 1, включенное в сеть 3 передачи данных, соединено с облачным хранилищем данных по меньшей мере через одну другую сеть передачи данных, отличную от сети 3 передачи данных, для соединения этих разных сетей передачи данных могут быть использовано по меньшей мере одно специальное коммутирующее устройство, такое как сетевые концентраторы, также известные как сетевые хабы, сетевые маршрутизаторы и прочие известные коммутирующие устройства.
В одном из вариантов реализации настоящего изобретения вычислительное устройство 1 может содержать обособленное локальное хранилище аналитических отчетов (не показано), предназначенное для хранения данных об имеющихся аналитических отчетах. Такое обособленное локальное хранилище аналитических отчетов может быть соединено, посредством шины 1.6 связи, с фильтрующим модулем 1.2 с предоставлением возможности фильтрующему модулю 1.2 получать доступ к такому локальному хранилищу аналитических отчетов для получения из него данных об имеющихся аналитических отчетах, а также соединено, посредством шины 1.6 связи, с процессинговым модулем 1.4 с предоставлением возможности процессинговому модулю 1.4 получать доступ к такому локальному хранилищу аналитических отчетов для записи в него нового аналитического отчета, что более подробно описано ниже.
Еще в одном из вариантов реализации настоящего изобретения данные об имеющихся аналитических отчетах могут быть сохранены в обособленном удаленном хранилище аналитических отчетов (не показано), при этом фильтрующий модуль 1.2 может быть выполнен с возможностью подключения или получения доступа, посредством модуля 1.1 связи, с которым фильтрующий модуль 1.2 соединен посредством шины 1.6 связи, к такому удаленному хранилищу аналитических отчетов для получения из него данных об имеющихся аналитических отчетах с целью их последующего использования для выявления доменных имен, ранее проанализированных с помощью вычислительного устройства 1, а процессинговый модуль 1.4 может быть выполнен с возможностью подключения или получения доступа, посредством модуля 1.1 связи, с которым процессинговый модуль 1.4 соединен посредством шины 1.6 связи, к такому удаленному хранилищу аналитических отчетов для записи в него нового аналитического отчета, сформированного процессинговым модулем 1.4 в отношении анализируемого доменного имени, что более подробно описано ниже.
В одном из вариантов реализации настоящего изобретения вычислительное устройство 1 может содержать обособленное локальное хранилище доменных имен (не показано), предназначенное для хранения данных об известных доменных именах. Такое локальное хранилище доменных имен может быть соединено, посредством шины 1.6 связи, с анализирующим модулем 1.3 с предоставлением возможности анализирующему модулю 1.3 получать доступ к такому локальному хранилищу доменных имен для получения из него данных об известных доменных именах с целью их последующего использования для определения численного значения соответствующего признака подозрительности для анализируемого доменного имени, что более подробно описано ниже.
Еще в одном из вариантов реализации настоящего изобретения может иметься обособленное удаленное хранилище доменных имен (не показано), предназначенное для хранения данных об известных доменных именах, а анализирующий модуль 1.3 может быть выполнен с возможностью подключения или получения доступа, посредством модуля 1.1 связи, с которым анализирующий модуль 1.3 соединен посредством шины 1.6 связи, к такому удаленному хранилищу доменных имен для получения из него данных об известных доменных именах с целью их последующего использования для определения численного значения соответствующего признака подозрительности для анализируемого доменного имени, что более подробно описано ниже.
В одном из вариантов реализации настоящего изобретения вычислительное устройство 1 может содержать обособленное локальное хранилище словарей (не показано), предназначенное для хранения данных об имеющихся языковых словарях. Такое локальное хранилище словарей может быть соединено, посредством шины 1.6 связи, с анализирующим модулем 1.3 с предоставлением возможности анализирующему модулю 1.3 получать доступ к такому локальному хранилищу словарей для получения из него данных об имеющихся языковых словарях с целью их последующего использования для определения численного значения соответствующего признака подозрительности для анализируемого доменного имени, что более подробно описано ниже.
Еще в одном из вариантов реализации настоящего изобретения может иметься обособленное удаленное хранилище словарей (не показано), предназначенное для хранения данных об имеющихся языковых словарях, а анализирующий модуль 1.3 может быть выполнен с возможностью подключения или получения доступа, посредством модуля 1.1 связи, с которым анализирующий модуль 1.3 соединен посредством шины 1.6 связи, к такому удаленному хранилищу словарей для получения из него данных об имеющихся языковых словарях с целью их последующего использования для определения численного значения соответствующего признака подозрительности для анализируемого доменного имени, что более подробно описано ниже.
Фильтрующий модуль 1.2, анализирующий модуль 1.3 и процессинговый модуль 1.4 могут быть реализованы в виде одиночного процессора, такого как процессор общего назначения или процессор специального назначения (например, процессоры для цифровой обработки сигналов, специализированные интегральные схемы и т.п.). Таким образом, процессор, реализующий фильтрующий модуль 1.2, анализирующий модуль 1.3 и процессинговый модуль 1.4 в вычислительном устройстве 1, может быть выполнен с возможностью исполнения программных инструкций, хранящихся в локальном хранилище 1.5 данных с обеспечением реализации функциональных возможностей фильтрующего модуля 1.2 по извлечению доменных имен из пакетов данных в полученном сетевом трафике, функциональных возможностей анализирующего модуля 1.3 по определению численных значений признаков подозрительности для анализируемого доменного имени и функциональных возможностей процессингового модуля 1.4 по вынесению окончательного решения в отношении вредоносности анализируемого доменного имени с использованием полученного набора признаков подозрительности в присвоенными им численными значениями.
В одном из вариантов реализации настоящего изобретения каждый из фильтрующего модуля 1.2, анализирующего модуля 1.3 и процессингового модуля 1.4 может быть реализован в виде по меньшей мере одного обособленного процессора. В данном варианте реализации первый процессор, использованный в вычислительном устройстве 1 для реализации фильтрующего модуля 1.2, может быть выполнен с возможностью исполнения программных инструкций, хранящихся в локальном хранилище 1.5 данных с обеспечением реализации функциональных возможностей фильтрующего модуля 1.2 по извлечению доменных имен из пакетов данных в полученном сетевом трафике. Второй процессор, реализующий анализирующий модуль 1.3, может быть выполнен с возможностью исполнения программных инструкций, хранящихся в локальном хранилище 1.5 данных с обеспечением реализации функциональных возможностей анализирующего модуля 1.3 по определению численных значений признаков подозрительности для анализируемого доменного имени. Третий процессор, использованный в вычислительном устройстве 1 для реализации процессингового модуля 1.4, может быть выполнен с возможностью исполнения программных инструкций, хранящихся в локальном хранилище 1.5 данных с обеспечением реализации функциональных возможностей процессингового модуля 1.4 по вынесению окончательного решения в отношении вредоносности анализируемого доменного имени с использованием полученного набора признаков подозрительности в присвоенными им численными значениями.
Локальное хранилище 1.5 данных может быть реализовано, например, в виде одного или более известных в уровне техники машиночитаемых носителей для длительного хранения данных. В некоторых вариантах реализации настоящего изобретения локальное хранилище 1.5 данных может быть реализовано с использованием одиночного физического устройства (например, одного оптического запоминающего устройства, магнитного запоминающего устройства, органического запоминающего устройства или запоминающего устройства другого типа, или запоминающего устройства на дисках), а в других вариантах реализации локальное хранилище 1.5 данных может быть реализовано с использованием двух или более физических устройств.
Модуль связи
В вычислительном устройстве 1 системы 10, показанной на фиг. 1, модуль 1.1 связи соединен проводным способом, например с помощью коаксиального кабеля, витой пары, оптоволоконного кабеля или другого физического соединения, с устройствами 2 захвата трафика с возможностью получения от них сетевого трафика. Таким образом, модуль 1.1 связи выполнен с возможностью подключения к одному или более из вышеописанных устройств 2 захвата трафика, включенных в сеть 3 передачи данных, и с возможностью приема сетевого трафика, извлеченного указанными устройствами 2 захвата трафика из сети 3 передачи данных, от указанного одного или более устройств 2 захвата трафика.
Еще в одном варианте реализации настоящего изобретения модуль 1.1 связи может быть соединен с устройствами 2 захвата трафика беспроводным способом, например с помощью линии связи на основе технологии «WiFi», линии связи на основе технологии «3G», линии связи на основе технологии «LTE» и т.п.
В варианте реализации настоящего изобретения, в котором для хранения различных данных, используемых в работе вычислительного устройства 1, используют вышеописанное облачное хранилище данных, модуль 1.1 связи в вычислительном устройстве 1 соединен с этим облачным хранилищем данных беспроводным способом, например с помощью линии связи на основе технологии «WiFi», линии связи на основе технологии «3G», линии связи на основе технологии «LTE» и/или линии связи на основе иной известной беспроводной технологии связи.
Модуль 1.1 связи в вычислительном устройстве 1 согласно настоящему изобретению может быть реализован в виде сетевого адаптера, снабженного необходимыми разъемами для подключения к ним физических кабелей необходимых типов в зависимости от типов физических соединений, использованных для обеспечения связи с устройствами 2 захвата трафика. В одном из вариантов реализации настоящего изобретения модуль 1.1 связи в вычислительном устройстве 1 может быть реализован виде сетевого адаптера в форме WiFi-адаптера, 3G-адаптера, LTE-адаптера или иного адаптера беспроводной связи в зависимости от типа линии беспроводной связи, использованной для обеспечения связи любыми внешними устройствами и удаленными хранилищами данных, которые могут устанавливать канал беспроводной связи с вычислительным устройством для обмена с ним необходимыми данными.
Таким образом, модуль 1.1 связи в вычислительном устройстве 1 по существу может быть выполнен с возможностью приема или получения входных данных от одного или более устройств проводным способом и/или беспроводным способом, а также с возможностью отправки или выдачи выходных данных на другие устройства проводным способом и/или беспроводным способом.
Модуль 1.1 связи также может представлять собой известное устройство связи, такое как передатчик, приемник, приемопередатчик, модем и/или сетевая интерфейсная карта для обмена данными с внешними устройствами любого типа посредством проводной или беспроводной сети связи, например с помощью сетевого соединения стандарта «Ethernet», цифровой абонентской линия связи (DSL), телефонной линии, коаксиального кабеля, телефонной системы сотовой связи и т.п.
В некоторых вариантах реализации настоящего изобретения сетевой трафик, полученный модулем 1.1 связи, могут быть по меньшей мере временно сохранен в локальном хранилище 1.5 данных. В других вариантах реализации настоящего изобретения сетевой трафик, полученный модулем 1.1 связи, могут быть по меньшей мере временно сохранен в обособленном локальном хранилище сетевого трафика (не показано), отличном от локального хранилища 1.5 данных и соединенном, посредством шины 1.6 связи, с модулем 1.1 связи. В иных вариантах реализации настоящего изобретения сетевой трафик, полученный модулем 1.1 связи, может быть по меньшей мере временно сохранен в обособленном удаленном хранилище сетевого трафика (не показано), соединённом с возможностью обмена данными с модулем 1.1 связи проводным и/или беспроводным способом.
Фильтрующий модуль
В вычислительном устройстве 1 системы 10, показанной на фиг. 1, фильтрующий модуль 1.2 выполнен с возможностью подключения или связи, посредством шины 1.6 связи, к модулю 1.1 связи с обеспечением возможности получения от него захваченного сетевого трафика. Фильтрующий модуль 1.2 извлекает множество отдельных пакетов данных из полученного сетевого трафика с использованием, например, известных технологий для извлечения пакетов данных на основе программного обеспечения с открытым кодом, таких как Surikata, Bro, Kuko и т.п. технологий, в том числе с помощью усовершенствованных технологий на основе по меньшей мере одной из вышеперечисленных технологий. Фильтрующий модуль 1.2 также выполнен с возможностью анализа каждого из множества извлеченных пакетов данных с обеспечением извлечения из них по меньшей мере одного доменного имени.
В варианте реализации настоящего изобретения, в котором полученный сетевой трафик хранится в локальном хранилище 1.5 данных, фильтрующий модуль 1.2 может быть выполнен с возможностью получения доступа к локальному хранилищу 1.5 данных или возможностью установления с ним связи с использованием шины 1.6 связи с обеспечением извлечения из него сохраненного сетевого трафика для последующего извлечения из него множества пакетов данных, как описано выше. В варианте реализации настоящего изобретения, в котором полученный сетевой трафик хранится в обособленном локальном хранилище сетевого трафика (не показано), фильтрующий модуль 1.2 может быть выполнен с возможностью получения доступа к такому локальному хранилищу сетевого трафика или возможностью установления с ним связи с использованием шины 1.6 связи с обеспечением извлечения из него сохраненного сетевого трафика для последующего извлечения из него множества пакетов данных, как описано выше. В варианте реализации настоящего изобретения, в котором полученный сетевой трафик хранится в обособленном удаленном хранилище сетевого трафика (не показано), фильтрующий модуль 1.2 может быть выполнен с возможностью получения доступа к такому удаленному хранилищу сетевого трафика или возможностью установления с ним связи с использованием модуля 1.1 связи, соединенного с фильтрующим модулем 1.2 с помощью шины 1.6 связи, с обеспечением извлечения из него сохраненного сетевого трафика для последующего извлечения из него множества пакетов данных, как описано выше.
В одном из вариантов реализации настоящего изобретения пакеты данных, извлеченные фильтрующим модулем 1.2 из полученного сетевого трафика, могут быть сохранены в локальном хранилище 1.5 данных, при этом фильтрующий модуль 1.2 может быть выполнен с возможностью получения доступа к локальному хранилищу 1.5 данных или возможностью установления с ним связи с использованием шины 1.6 связи с обеспечением извлечения из него сохраненных пакетов данных, извлеченных из полученного сетевого трафика, для их последующего анализа с обеспечением извлечения из них по меньшей мере одного доменного имени. Еще в одном варианте реализации настоящего изобретения пакеты данных, извлеченные фильтрующим модулем 1.2 из полученного сетевого трафика, могут быть сохранены в обособленном локальном хранилище данных (не показано), отличном от локального хранилища 1.5 данных, при этом фильтрующий модуль 1.2 может быть выполнен с возможностью получения доступа к такому локальному хранилищу данных или возможностью установления с ним связи с использованием шины 1.6 связи с обеспечением извлечения из него сохраненных пакетов данных, извлеченных из полученного сетевого трафика, для их последующего анализа с обеспечением извлечения из них по меньшей мере одного доменного имени. В другом варианте реализации настоящего изобретения пакеты данных, извлеченные фильтрующим модулем 1.2 из полученного сетевого трафика, могут быть сохранены в обособленном удаленном хранилище данных (не показано), при этом фильтрующий модуль 1.2 может быть выполнен с возможностью получения доступа к такому удаленному хранилищу данных или возможностью установления с ним связи с использованием модуля 1.1 связи, соединенного с фильтрующим модулем 1.2 с помощью шины 1.6 связи, с обеспечением извлечения из него сохраненных пакетов данных, извлеченных из полученного сетевого трафика, для их последующего анализа с обеспечением извлечения из них по меньшей мере одного доменного имени.
В одном из вариантов реализации настоящего изобретения доменные имена, извлеченные фильтрующим модулем 1.2 из множества пакетов данных, извлеченных из полученного сетевого трафика, могут быть сохранены в локальном хранилище 1.5 данных, при этом фильтрующий модуль 1.2 может быть выполнен с возможностью получения доступа к локальному хранилищу 1.5 данных или возможностью установления с ним связи с использованием шины 1.6 связи с обеспечением извлечения из него сохраненных доменных имен для их последующей передачи на анализирующий модуль 1.3. Еще в одном варианте реализации настоящего изобретения доменные имена, извлеченные фильтрующим модулем 1.2 из множества пакетов данных, извлеченных из полученного сетевого трафика, могут быть сохранены в обособленном локальном хранилище данных (не показано), отличном от локального хранилища 1.5 данных, при этом фильтрующий модуль 1.2 может быть выполнен с возможностью получения доступа к такому локальному хранилищу данных или возможностью установления с ним связи с использованием шины 1.6 связи с обеспечением извлечения из него сохраненных доменных имен для их последующей передачи на анализирующий модуль 1.3. В другом варианте реализации настоящего изобретения доменные имена, извлеченные фильтрующим модулем 1.2 из множества пакетов данных, извлеченных из полученного сетевого трафика, могут быть сохранены в обособленном удаленном хранилище данных (не показано), при этом фильтрующий модуль 1.2 может быть выполнен с возможностью получения доступа к такому удаленному хранилищу данных или возможностью установления с ним связи с использованием модуля 1.1 связи, соединенного с фильтрующим модулем 1.2 с помощью шины 1.6 связи, с обеспечением извлечения из него сохраненных доменных имен для их последующей передачи на анализирующий модуль 1.3.
В дальнейшем, после извлечения доменных имен из анализируемых пакетов данных, фильтрующий модуль 1.2 дополнительно определяет, имеется ли аналитический отчет для каждого из этих извлеченных доменных имен.
Для выявления наличия аналитического отчета фильтрующий модуль 1.2 выполняет по меньшей мере следующие операции: (i) получает доступ к локальному хранилищу 1.5 данных или устанавливает с ним связь с использованием шины 1.6 связи с обеспечением получения из него данных об имеющихся аналитических отчетах, каждый из которых поставлен в соответствие с конкретным доменным именем, для которого этот аналитический отчет был создан, (ii) устанавливает, путем посимвольного сравнения каждого из извлеченных доменных имен с доменными именами, идентифицирующими аналитические отчеты в указанных полученных данных, соответствие каждого из извлеченных доменных имен одному из имеющихся аналитических отчетов. Таким образом, фильтрующий модуль 1.2 сравнивает каждое извлеченное доменное имя с доменными именами, идентифицирующими поведенческие отчеты, в полученных данных об аналитических отчетах, при этом совпадение извлеченного доменного имени с доменным именем, идентифицирующим один из имеющихся аналитических отчетов, означает, что для извлеченного доменного имени уже имеется аналитический отчет, хранящийся в локальном хранилище 1.5 данных, что свидетельствует о том, что извлеченное доменное имя уже ранее было проанализировано в вычислительном устройстве 1, в частности в его процессинговом модуле 1.4.
В варианте реализации, в котором данные об аналитических отчетах хранятся в обособленном локальном хранилище аналитических отчетов (не показано), фильтрующий модуль 1.2 получает доступ к такому локальному хранилищу аналитических отчетов или устанавливает с ним связь с использованием шины 1.6 связи с обеспечением получения из него данных об имеющихся аналитических отчетах, каждый из которых поставлен в соответствие с конкретным доменным именем, для которого этот аналитический отчет был создан, для последующего установления соответствия извлеченного доменного имени одному из имеющихся аналитических отчетов. В варианте реализации, в котором данные об аналитических отчетах хранятся в обособленном удаленном хранилище аналитических отчетов (не показано), фильтрующий модуль 1.2 получает доступ к такому удаленному хранилищу аналитических отчетов или устанавливает с ним связь с использованием модуля 1.1 связи, соединенного с фильтрующим модулем 1.2 с помощью шины 1.6 связи, с обеспечением получения из него данных об имеющихся аналитических отчетах, каждый из которых поставлен в соответствие с конкретным доменным именем, для которого этот аналитический отчет был создан, для последующего установления соответствия извлеченного доменного имени одному из имеющихся аналитических отчетов.
В дальнейшем фильтрующий модуль 1.2 передает на анализирующий модуль 1.3 только те извлеченные доменные имена, для которых в локальном хранилище 1.5 данных не имеется аналитического отчета, то есть только те доменные имена, которые ранее не анализировались в вычислительном устройстве 1, в частности в его процессинговом модуле 1.4.
Таким образом, согласно приведенному выше описанию функциональных возможностей фильтрующего модуля 1.2, фильтрующий модуль 1.2 обеспечивает возможность фильтрации по меньшей мере части доменных имен, извлеченных из пакетов данных полученного сетевого трафика, с использованием минимальных вычислительных ресурсов вычислительного устройства 1, что в конечном итоге значительно ускоряет процесс выявления вредоносных доменных имен в сетевом трафике.
Анализирующий модуль
В вычислительном устройстве 1 системы 10, показанной на фиг. 1, анализирующий модуль 1.3 выполнен с возможностью подключения к фильтрующему модулю 1.2 или установления с ним связи с использованием шины 1.6 связи с обеспечением возможности получения от него доменных имен, для которых фильтрующим модулем 1.2 было выявлено отсутствие аналитического отчета, как описано выше.
В варианте реализации настоящего изобретения, в котором доменные имена, извлеченные фильтрующим модулем 1.2, хранятся в локальном хранилище 1.5 данных, анализирующий модуль 1.3 получает доступ к локальному хранилищу 1.5 данных или устанавливает с ним связь с использованием шины 1.6 связи с обеспечением получения из него данных об извлеченных доменных именах, подлежащих дальнейшему анализу в этом анализирующем модуле 1.3, как будет описано ниже.
Еще в одном варианте реализации настоящего изобретения, в котором доменные имена, извлеченные фильтрующим модулем 1.2, хранятся в обособленном локальном хранилище данных, анализирующий модуль 1.3 получает доступ к такому локальному хранилищу данных или устанавливает с ним связь с использованием шины 1.6 связи с обеспечением получения из него данных об извлеченных доменных именах, подлежащих дальнейшему анализу в этом анализирующем модуле 1.3, как будет описано ниже.
В другом варианте реализации настоящего изобретения, в котором доменные имена, извлеченные фильтрующим модулем 1.2, хранятся в обособленном удаленном хранилище данных, анализирующий модуль 1.3 получает доступ к такому локальному хранилищу данных или устанавливает с ним связь с использованием модуля 1.1 связи, соединенного с анализирующим модулем 1.3 с помощью шины 1.6 связи, с обеспечением получения из него данных об извлеченных доменных именах, подлежащих дальнейшему анализу в этом анализирующем модуле 1.3, как будет описано ниже.
Анализирующий модуль 1.3 анализирует каждое из полученных доменных имен с использованием заданного набора методик или способов анализа подозрительности с обеспечением присвоения заданного численного значения каждому из заданного набора признаков подозрительности доменного имени, соответствующему одной из заданного набора методик анализа подозрительности, для каждого анализируемого доменного имени в зависимости от результатов его анализа с помощью указанных методик анализа.
В одном из вариантов реализации настоящего изобретения анализирующий модуль 1.3 может быть снабжен специальным фреймворком (программной платформой), позволяющим, например, оператору или пользователю вычислительного устройства 1 изменять заданный набор методик анализа подозрительности, используемых анализирующим модулем 1.3 для присвоения заданного численного значения каждому из заданного набора признаков подозрительности доменного имени, соответствующему одной из заданного набора методик анализа, например задавать или добавлять новые методики анализа подозрительности, позволяющие определять численные значения новых признаков подозрительности, которые в дальнейшем будут использованы в работе процессингового модуля 1.4, что обеспечивает расширение функциональных возможностей как анализирующего модуля 1.3 в отдельности, так и вычислительного устройства 1 в целом.
Одна из методик анализа подозрительности, используемая анализирующим модулем 1.3 в своей работе, позволяет определить численное значение такого признака подозрительности анализируемого доменного имени, как длина доменного имени. При анализе полученных доменных имен с использованием данной методики анализа подозрительности анализирующий модуль 1.3 выполняет по меньшей мере следующие операции: (i) определяет количество символов в каждом из полученных доменных имен, (ii) устанавливает, соответствует ли определенное количество символов каждого анализируемого доменного имени заданному пороговому значению длины доменного имени, которое может быть задано как вручную экспертом или оператором/пользователем вычислительного устройства 1, так и автоматически с использованием заданных правил определения порогового значения для длины доменного имени, (iii) присваивает заданное численное значение признаку подозрительности доменного имени, представляющему длину анализируемого доменного имени, в зависимости от результата установления соответствия.
В одном из вариантов реализации настоящего изобретения, в случае использования методики анализа подозрительности доменного имени на основании его длины, пороговое значение длины доменного имени может быть задано автоматически, например следующим образом: анализирующий модуль 1.3 может получить данные об известным доменных именах, которые могут храниться в локальном хранилище 1.5 данных, обособленном локальном хранилище доменных имен или обособленном удаленном хранилище доменных имен, а затем вычислить, например, среднюю длину известных доменных имен с последующим использованием этого вычисленного значения в качестве порогового значения длины доменного имени. В другом варианте реализации настоящего изобретения, в случае использования методики анализа подозрительности доменного имени на основании его длины, может быть использован заданный набор правил для обработки значений длины известных доменных имен в данных, полученных анализирующим модулем 1.3, для вычисления на их основе порогового значения длины доменного имени, используемого в работе анализирующего модуля 1.3.
Еще одна методика анализа подозрительности, используемая анализирующим модулем 1.3 в своей работе, позволяет определить численное значение такого признака подозрительности анализируемого доменного имени, как известность анализируемого доменного имени. При анализе полученных доменных имен с использованием данной методики анализа подозрительности анализирующий модуль 1.3 выполняет по меньшей мере следующие операции: (i) устанавливает связь с локальным хранилищем 1.5 данных (обособленным локальным или удаленным хранилищем доменных имен в зависимости от варианта реализации, как описано выше) для получения от него набора известных доменных имен, (ii) устанавливает, путем посимвольного сравнения каждого из извлеченных доменных имен с доменными именами в полученном наборе доменных имен, совпадение каждого из извлеченных доменных имен с одним из известных доменных имен и (iii) присваивает заданное численное значение еще одному признаку подозрительности доменного имени, представляющему известность анализируемого доменного имени, в зависимости от результата установления совпадения.
Еще одна методика анализа подозрительности, используемая анализирующим модулем 1.3 в своей работе, позволяет определить численное значение такого признака подозрительности анализируемого доменного имени, как энтропия анализируемого доменного имени. При анализе полученных доменных имен с использованием данной методики анализа подозрительности анализирующий модуль 1.3 выполняет по меньшей мере следующие операции: (i) определяет частоты появления каждого из множества N-грамм в каждом из полученных доменных имен, при этом каждая N-грамма соответствует комбинации из N последовательных символов, (ii) определяет энтропию N-грамма указанного анализируемого доменного имени как функцию от определенной частоты появления каждой N-граммы в этом анализируемом доменном имени, (iii) сравнивает определенную энтропию N-грамма анализируемого доменного имени с заданным пороговым значением энтропии N-грамма и (iv) присваивает заданное численное значение еще одному признаку подозрительности доменного имени, представляющему энтропию анализируемого доменного имени, в зависимости от результата сравнения. Таким образом, данная методика анализа подозрительности позволяет получить, например, численные значения трех признаков подозрительности анализируемого доменного имени, представляющих каждый энтропию анализируемого доменного имени соответственно, например, для 2-грамма, 3-грамма и 4-грамма (наиболее целесообразные длины комбинаций из последовательных символов).
В одном из вариантов реализации настоящего изобретения количество последовательных символов в комбинации, соответствующей N-грамму, при определении энтропии в методике анализа подозрительности, связанной с определением энтропии анализируемого доменного имени, может быть задано вручную экспертом или пользователем вычислительного устройства 1 или может быть задано автоматически, например в зависимости от вышеописанного порогового значения длины доменного имени или средней длины известных доменных имен, которая может быть определена анализирующим модулем 1.3 с использованием, например, данных об известных доменных именах из локального хранилища 1.5 данных, как более подробно описано выше, или в соответствии с любым иным заданным правилом.
Еще одна методика анализа подозрительности, используемая анализирующим модулем 1.3 в своей работе, позволяет определить численное значение такого признака подозрительности анализируемого доменного имени, как осмысленность анализируемого доменного имени. При анализе полученных доменных имен с использованием данной методики анализа подозрительности анализирующий модуль 1.3 выполняет по меньшей мере следующие операции: (i) устанавливает связь с локальным хранилищем 1.5 данных (обособленным локальным или удаленным хранилищем доменных имен в зависимости от варианта реализации, как описано выше) для получения от него данных о языковых словарях, (ii) извлекает по меньшей мере одно слово из каждого из полученных доменных имен, (iii) устанавливает совпадение каждого из указанных извлеченных слов с одним из слов в языковых словарях из указанных полученных данных, (iii) присваивает заданное численное значение еще одному признаку подозрительности доменного имени, представляющему осмысленность анализируемого доменного имени, в зависимости от результата установления совпадения.
В одном из вариантов реализации настоящего изобретения, в случае использования методики анализа подозрительности доменного имени на основании его осмысленности, при установлении совпадения слова, извлеченного из анализируемого доменного имени, с одним из слов в полученных языковых словарях анализирующий модуль 1.3 дополнительно проверяет, совпадает ли извлеченное слово с одним из слов в полученных языковых словарях при написании этого извлеченного слова в обратном порядке и/или совпадает ли осмысленная часть этого извлеченного слова (например, общеупотребимое сокращение такого слова) с одним из слов в полученных языковых словарях, при этом в дальнейшем анализирующий модуль 1.3 также присваивает заданное численное значение еще одному признаку подозрительности доменного имени, представляющему осмысленность анализируемого доменного имени, в зависимости от результатов такой дополнительной проверки.
Еще в одном варианте реализации настоящего изобретения, в случае использования методики анализа подозрительности доменного имени на основании его осмысленности, после извлечения по меньшей мере одного слова из каждого из полученных доменных имен анализирующий модуль 1.3 может дополнительно идентифицировать язык указанного извлеченного слова, и в случае установления, что это извлеченное слово написано на языке, отличном от английского (например, на русском языке) осуществлять его транслитерацию латиницей в соответствии с заданным набором правил транслитерации. В другом варианте реализации настоящего изобретения, в случае использования методики анализа подозрительности доменного имени на основании его осмысленности, анализирующий модуль 1.3 может быть дополнительно выполнен с возможностью установления связи, посредством модуля 1.1 связи, с источником языковых словарей для получения от него данных о новом словаре с последующим обновлением имеющихся языковых словарей, хранящихся в локальном хранилище 1.5 данных, на основании этого нового словаря из полученных данных, при этом анализирующий модуль 1.3 также может идентифицировать язык слов этого нового слова и в случае, если слова в этом новом словаре написано на языке, отличном от английского (например, на русском), может транслитерировать латиницей все слова из этого нового словаря в соответствии с заданным набором правил транслитерации.
Еще одна методика анализа подозрительности, используемая анализирующим модулем 1.3 в своей работе, позволяет определить численное значение такого признака подозрительности анализируемого доменного имени, как правильность написания анализируемого доменного имени. При анализе полученных доменных имен с использованием данной методики анализа подозрительности анализирующий модуль 1.3 выполняет по меньшей мере следующие операции: (i) устанавливает связь с локальным хранилищем 1.5 данных (обособленным локальным или удаленным хранилищем доменных имен в зависимости от варианта реализации, как описано выше) для получения от него данных о языковых словарях, (ii) извлекает по меньшей мере одно слово из каждого из полученных доменных имен, (iii) определяет расстояние Левенштейна между каждым из указанных извлеченных слов и соответствующим одним из слов в языковых словарях из указанных полученных данных, (iv) сравнивает определенное расстояние Левенштейна с заданным пороговым значением, в качестве которого, например, может быть использована константа, равная двум (2), (v) присваивает заданное численное значение еще одному признаку подозрительности доменного имени, представляющему правильность написания анализируемого доменного имени, в зависимости от результата сравнения (в частности, в зависимости от типов ошибок, допущенных в написании анализируемого доменного имени).
В результате применения к каждому доменному имени, анализируемому в анализирующем модуле 1.3, вышеописанных методик анализа подозрительности, анализирующий модуль 1.3 создает или подготавливает обособленный лог-файл с результатами анализа конкретного доменного имени в анализирующем модуле 1.3, содержащий по меньшей мере данные о численных значениях, присвоенных анализирующим модулем 1.3 вышеописанным признакам подозрительности, характеризующих указанное конкретное доменное имя и соответствующим каждый одной из примененных методик анализа подозрительности.
В одном из вариантов реализации настоящего изобретения модуль 1.1 связи может быть дополнительно выполнен с возможностью установления связи по меньшей мере с одним локальным или удаленным источником доменных имен или с возможностью подключения к такому источнику доменных имен с обеспечением получения от него по меньшей мере одного доменного имени или множества доменных имен для их последующей передачи в анализирующий модуль для анализа каждого из этих полученных доменных имен с использованием заданного набора методик анализа, как более подробно описано выше. Такие источники доменных имен могут включать по меньшей мере один из следующих локальных или удаленных источников: удаленное вычислительное устройство, сервер, хост, домен, база данных, антивирусная система или программа, сайт и т.п.
Процессинговый модуль
В вычислительном устройстве 1 системы 10, показанной на фиг. 1, процессинговый модуль 1.4 выполнен с возможностью подключения к анализирующему модулю 1.3 или установления с ним связи с использованием посредством шины 1.6 связи с обеспечением возможности получения от него лог-файлов, подготовленных или созданных анализирующим модулем 1.3, как описано выше.
Процессинговый модуль 1.4 анализирует признаки подозрительности доменного имени с присвоенными им численными значениями, содержащиеся в каждом из полученных лог-файлов, с использованием заданного набора правил анализа с обеспечением отнесения каждого доменного имени, для которого был создан соответствующий лог-файл, к вредоносным доменным именам, если полученные результаты анализа признаков подозрительности характерны для вредоносных доменных имен, или к доверенным доменным именам, если полученные результаты анализа признаков подозрительности характерны для доверенных доменных имен. Таким образом, процессинговый модуль 1.4 принимает окончательное решение или выносит окончательный вердикт в отношении вредоносности или безвредности доменного имени с использованием лог-файла, созданного анализирующим модулем 1.3 для каждого извлеченного доменного имени.
В частности, в основе работы процессингового модуля 1.4 лежит предварительно обученный классификатор, который принимает свое решение или выносит свой вердикт в отношении вредоносности или безвредности конкретного доменного имени с использованием набора признаков подозрительности этого доменного имени с присвоенными им численными значениями, которые процессинговый модуль 1.4 извлекает с помощью известных алгоритмов или скриптов из лог-файла, полученного от анализирующего модуля 1.3, при этом каждый из используемого набора признаков подозрительности по существу отражает одну из характеристик конкретного доменного имени, которые анализирует анализирующий модуль 1.3, и является показательным в отношении потенциальной зловредности указанного конкретного доменного имени, а численное значение, присвоенное этому доменному имени, отражает степень его подозрительности. Предварительно обученный классификатор, используемый в работе процессингового модуля 1.4, представляет собой классификатор на базе одного из известных алгоритмов машинного обучения (MLA), например на базе алгоритма машинного обучения «Random Forest», на базе алгоритма машинного обучения «gBoost», на базе алгоритма машинного обучения «AdaBoost» или т.п. Классификатор на базе одного из MLA-алгоритмов принимает свое решение или выносит свой вердикт в отношении вредоносности или безвредности каждого доменного имени на основании извлеченных взвешенных признаков подозрительности, получаемых в результате присвоения заданного веса каждому из набора признаков подозрительности доменного имени, извлеченного из полученного лог-файла, и иных статических (не имеющих заданного веса) признаков с использованием алгоритма, реализующего, например, наиболее эффективное дерево решений, отобранное на этапе обучения алгоритма экспертами с использованием заведомого вредоносных доменных имен.
В одном из вариантов реализации в основе работы процессингового модуля 1.4 может лежать набор предварительно обученных классификаторов, каждый из которых принимает свое решение или выносит свой вердикт в отношении вредоносности или безвредности конкретного доменного имени с использованием одного и того же набора признаков подозрительности этого доменного имени с присвоенными им численными значениями, при этом в качестве таких классификаторов могут быть использованы, например, вышеописанные классификаторы. В одной из разновидностей данного варианта реализации настоящего изобретения окончательный вердикт в отношении безвредности доменного имени может быть вынесен процессинговым модулем 1.4, например, в случае, в котором по меньшей мере один из заданного набора классификаторов или хотя бы один из заданного набора классификаторов вынес персональный вердикт в отношении безвредности доменного имени, в противном же случае, в котором ни один из заданного набора классификаторов не вынес персонального вердикта в отношении безвредности доменного имени, процессинговый модуль 1.4 может вынести окончательный вердикт в отношении вредоносности доменного имени. Еще в одной разновидности данного варианта реализации процессинговый модуль 1.4 может вынести свой окончательный вердикт в отношении вредоносности или безвредности доменного имени путем сравнения суммарного веса персональных вердиктов, принятых заданным набором классификаторов в процессинговом модуле 1.4, с заданным пороговым значением, являющимся по существу константой, при этом любому персональному вердикту, вынесенному каждым классификатором из заданного набора классификаторов, автоматически присваивается свой предварительно заданный весовой коэффициент. Таким образом, процессинговый модуль 1.4 принимает тот или иной окончательный вердикт с учетом всех персональных вердиктов (промежуточных вердиктов) используемых классификаторов, имеющих тот или иной вес в суммарном весе, учитываемом процессинговым модулем 1.4 для вынесения окончательного вердикта.
После вынесения окончательного вердикта процессинговый модуль 1.4 подготавливает или создает отдельный аналитический отчет по каждому доменному имени, проанализированному в этом процессинговом модуле 1.4, причем такой аналитический отчет по меньшей мере содержит все сведения из соответствующего лог-файла, созданного анализирующим модулем 1.3 для указанного доменного имени, а также данные об окончательном вердикте, вынесенном процессинговым модулем 1.4 в отношении доменного имени, а также данные о классификаторе, использованном процессинговым модулем 1.4 для вынесения окончательного вердикта. В варианте реализации настоящего изобретения, в котором в работе процессингового модуля 1.4 используют несколько классификаторов, аналитический отчет, подготовленный или созданный процессинговым модулем 1.4, также может содержать данные о каждом из классификаторов, использованных процессинговым модулем 1.4 для вынесения окончательного вердикта, и данные о персональных вердиктах в отношении вредоносности или безвредности доменного имени, вынесенных каждым из этих классификаторов в отдельности.
В некоторых вариантах реализации настоящего изобретения процессинговый модуль 1.4 может быть снабжен специальным фреймворком (программной платформой), позволяющим, например, оператору вычислительного устройства 1 или экспертным специалистам вносить изменения в заданный набор классификаторов, используемых процессинговым модулем 1.4 для вынесения окончательного вердикта в отношении вредоносности или безвредности доменного имени, как более подробно описано выше.
Кроме того, в случае, когда процессинговый модуль 1.4 выносит окончательный вердикт о вредоносности доменного имени, то есть относит конкретное доменное имя на основании его численных значений, присвоенных в анализирующем модуле 1.3 его признакам подозрительности, к вредоносным доменным именам, процессинговый модуль 1.4 также может выполнить по меньшей мере одно из следующих действий: выдать предупредительное сообщение об обнаружении в сетевом трафике вредоносного доменного имени и блокировать сетевой трафик от зараженного устройства или зараженных устройств, которые могут быть выявлены по их IP-адресу, определенному по выявленному зловредному доменному имени.
Для сохранения подготовленного или созданного аналитического отчета в локальном хранилище 1.5 данных процессинговый модуль 1.4 получает доступ к локальному хранилищу 1.5 данных или устанавливает с ним связь с использованием шины 1.6 связи с обеспечением передачи указанного аналитического отчета в локальное хранилище 1.5 данных для его сохранения в этом локальном хранилище 1.5 данных.
В варианте реализации настоящего изобретения, в котором подготовленный или созданный аналитический отчет сохраняют в обособленном локальном хранилище аналитических отчетов (не показано), процессинговый модуль 1.4 получает доступ к такому локальному хранилищу аналитических отчетов или устанавливает с ним связь с использованием шины 1.6 связи с обеспечением передачи указанного аналитического отчета в локальное хранилище аналитических отчетов для его сохранения в этом локальном хранилище аналитических отчетов.
В варианте реализации настоящего изобретения, в котором подготовленный или созданный аналитический отчет сохраняют в обособленном удаленном хранилище аналитических отчетов (не показано), процессинговый модуль 1.4 получает доступ к такому удаленному хранилищу аналитических отчетов или устанавливает с ним связь с использованием модуля 1.6, связи, который соединен с процессинговым модулем 1.4 с помощью шины 1.6 связи, с обеспечением передачи указанного аналитического отчета в удаленное хранилище аналитических отчетов проводным и/или беспроводным способом для его сохранения в этом удаленном хранилище аналитических отчетов.
Следует отметить, что модуль 1.1 связи, фильтрующий модуль 1.2, анализирующий модуль 1.3 и процессинговый модуль 1.4 реализуют свои вышеописанные функции по существу в режиме реального времени, то есть модуль 1.1 связи продолжает принимать сетевой трафик, фильтрующий модуль 1.2 выполняет свои операции по фильтрации по меньшей мере части из доменных имен, извлеченных из пакетов данных в полученном сетевом трафике, анализирующий модуль 1.3 выполняет свои операции по анализу доменных имен и присвоению их признакам подозрительности заданных численных значений с последующим созданием лог-файла для каждого доменного имени в отдельности, а процессинговый модуль 1.4 выполняет свои операции по анализу по меньшей мере части лог-файлов, полученных от анализирующего модуля 1.3, и сохранению по меньшей мере части из созданных или подготовленных аналитических отчетов в локальном хранилище 1.5 данных.
В одном из вариантов реализации настоящего изобретения анализирующий модуль 1.3 и процессинговый модуль 1.4 могут быть объединены, например, в одиночный модуль выявления зловредных доменных имен, имеющий все вышеописанные функциональные возможности, присущие анализирующему модулю 1.3 и процессинговому модулю 1.4. Еще в одном варианте реализации настоящего изобретения фильтрующий модуль 1.2 и анализирующий модуль 1.3 могут быть объединены, например, в одиночный препроцессинговый модуль, имеющий все вышеописанные функциональные возможности, присущие фильтрующему модулю 1.2 и анализирующему модулю 1.3. В других вариантах реализации настоящего изобретения фильтрующий модуль 1.2, анализирующий модуль 1.3 и процессинговый модуль 1.4 могут быть объединены, например, в одиночный модуль выявления вредоносных доменных имен, имеющий все вышеописанные функциональные возможности, присущие фильтрующему модулю 1.2, анализирующему модулю 1.3 и процессинговому модулю 1.4.
Еще в одном варианте реализации настоящего изобретения модуль 1.1 связи может быть разделен на несколько отдельных модулей связи, каждый из которых обеспечивает по меньшей мере один из известных способов проводной и/или беспроводной связи в вычислительном устройстве 1.
В некоторых вариантах реализации настоящего изобретения анализирующий модуль 1.3 может быть разделен на несколько независимых модулей, каждый из которых может выполнять по меньшей мере одну из вышеописанных функциональных возможностей, присущих анализирующему модулю 1.3, и которые выполнены с возможностью связи друг с другом и остальными конструктивными модулями вычислительного устройства 1 с помощью шины 1.6 связи. При этом один из таких независимых модулей может быть выполнен с возможностью создания лог-файла, как описано выше, или может иметься, например, дополнительный модуль создания лог-файлов, выполненный с возможностью связи с указанными независимыми модулями с помощью, например, шины 1.6 связи с обеспечением получения от каждого из них, например, данных о конкретном признаке подозрительности с присвоенным ему числовым значением для одного и того же доменного имени.
В других вариантах реализации настоящего изобретения процессинговый модуль 1.4 может быть разделен на несколько независимых модулей, каждый из которых может, например, реализовывать один из вышеописанных предварительно обученных классификаторов, лежащих в основе работы процессингового модуля 1.4, при этом эти независимые которые модули могут быть выполнены с возможностью связи друг с другом и с остальными конструктивными модулями вычислительного устройства 1, в частности с анализирующим модулем 1.3, с помощью шины 1.6 связи. При этом один из таких независимых модулей может быть выполнен с возможностью создания аналитического отчета, как описано выше, или может иметься, например, дополнительный модуль создания аналитических отчетов, выполненный с возможностью связи с указанными независимыми модулями с помощью, например, шины 1.6 связи с обеспечением получения от них данных о результатах анализа полученного лог-файла с использованием заданного набора правил анализа для создания аналитического отчета для конкретного доменного имени.
В другом варианте реализации настоящего изобретения фильтрующий модуль 1.2 может быть разделен на несколько других независимых модулей, каждый из которых может выполнять по меньшей мере одну из вышеописанных функциональных возможностей, присущих фильтрующему модулю 1.2, и которые выполнены с возможностью связи друг с другом и остальными конструктивными модулями вычислительного устройства 1, в частности с модулем 1.1 связи и анализирующим модулем 1.3, с помощью шины 1.6 связи.
В иных вариантах реализации настоящего изобретения каждый классификатор из заданного набора классификаторов, используемых в работе процессингового модуля 1.4, может быть реализован в виде отдельного классифицирующего модуля, выносящего свой персональный вердикт в отношении вредоносности или безвредности того или иного доменного имени, при этом указанные отдельные классифицирующие модули могут быть выполнены с возможностью связи с процессинговым модулем 1.4 с помощью, например, шины 1.6 связи, а процессинговый модуль 1.4 в таком случае может выносить окончательный вердикт в отношении вредоносности или безвредности того или иного доменного имени с использованием заданного набора правил принятия окончательного решения и персональных вердиктов, вынесенных классифицирующими модулями.
Согласно одному из вариантов реализации настоящего изобретения, по меньшей мере часть из вышеописанных функциональных возможностей, присущих фильтрующему модулю 1.2, анализирующему модулю 1.3 и/или процессинговому модулю 1.4 может быть реализована в виде отдельного функционального подмодуля или функционального блока, входящего в состав соответствующего одного из модулей 1.2, 1.3 и 1.4. Таким образом, фильтрующий модуль 1.2 может содержать несколько своих подмодулей, каждый из которых реализует по меньшей мере одну из вышеописанных функциональных возможностей, присущих фильтрующему модулю 1.2, анализирующий модуль 1.3 может содержать несколько своих подмодулей, каждый из которых реализует по меньшей мере одну из вышеописанных функциональных возможностей, присущих анализирующему модулю 1.3, и процессинговый модуль 1.4 может содержать несколько своих подмодулей, каждый из которых реализует по меньшей мере одну из вышеописанных функциональных возможностей, присущих процессинговому модулю 1.4.
Таким образом, вышеописанные функциональные возможности фильтрующего модуля 1.2 обеспечивают возможность эффективной фильтрации по меньшей мере части доменных имен, извлекаемых из пакетов данных сетевого трафика, в результате чего для последующего анализа доменных имен в анализирующем модуле 1.3 и процессинговом модуле требуется значительно меньший объем вычислительных ресурсов, выделяемых вычислительным устройством 1. Кроме того, вышеописанные функциональные возможности фильтрующего анализирующего модуля 1.3 обеспечивают возможность эффективного выделения набора признаков подозрительности с присвоенными им численными значениями для каждого доменного имени, а вышеописанные функциональные возможности процессингового модуля 1.4 обеспечивают возможность вынесения точного и достоверного вердикта в отношении вредоносности или безвредного доменного имени.
Согласно еще одному аспекту предложен способ обнаружения вредоносных доменных имен в сетевом трафике, показанный в виде упрощенной блок-схемы на фиг. 2.
Способ, показанный на фиг. 2, начинается в блоке 2, согласно которому обеспечивают наличие вычислительного устройства 1 для обнаружения вредоносных доменных имен в сетевом трафике, конструктивные блоки и функциональные возможности которого описаны выше. В блоке 2.1 способа получают, посредством модуля 1.1 связи, сетевой трафик из сети 3 передачи данных. В блоке 2.2 способа извлекают, посредством фильтрующего модуля 1.2, множество пакетов данных из полученного сетевого трафика. В блоке 2.3 способа анализируют, посредством фильтрующего модуля 1.2, извлеченные пакеты данных с обеспечением извлечения по меньшей мере одного доменного имени из указанного множества пакетов данных. В блоке 2.4 анализируют, посредством анализирующего модуля 1.3, каждое из полученных доменных имен с использованием заданного набора методик анализа с обеспечением присвоения заданного численного значения каждому из заданного набора признаков подозрительности доменного имени, соответствующему одной из заданного набора методик анализа, для каждого анализируемого доменного имени в зависимости от результатов его анализа с помощью указанных методик анализа. В блоке 2.5 способа анализируют, посредством процессингового модуля 1.4, полученные признаки подозрительности с присвоенными им численными значениями с использованием заданного набора правил анализа. В блоке 2.6 способа устанавливают, посредством процессингового модуля 1.4, характерны ли проанализированные признаки подозрительности с присвоенными им численными значениями для вредоносных доменных имен. Если в блоке 2.6 способа было установлено, что проанализированные признаки подозрительности с присвоенными им численными значениями характерны для вредоносных доменных имен (линия “Да” на фиг. 2), то способ переходит к блоку 2.7 способа, согласно которому относят, посредством процессингового модуля 1.4, доменное имя к вредоносным доменным именам с последующим завершением способа в блоке 2.9 способа. В противном же случае способ переходит к блоку 2.8 (линия “Нет” на фиг. 2), согласно которому относят, посредством процессингового модуля 1.4, доменное имя к доверенным доменным именам с последующим завершением способа в блоке 2.9 способа.
Операции в блоке 2.1 способа включают подключение, посредством модуля 1.1 связи, по меньшей мере к одному из устройств захвата сетевого трафика, включенных в сеть передачи данных.
Для доменных имен, извлеченных в блоке 2.3 способа, дополнительно определяют, посредством фильтрующего модуля 1.2, имеется ли аналитический отчет для каждого из этих извлеченных доменных имен. При этом вышеуказанная операция выявления наличия аналитического отчета включает по меньшей мере следующие подэтапы: (i) получение данных об аналитических отчетах, (ii) установление, путем посимвольного сравнения каждого из извлеченных доменных имен с доменными именами, идентифицирующими аналитические отчеты в указанных полученных данных, соответствия каждого из извлеченных доменных имен одному из имеющихся аналитических отчетов.
В ответ на то, что для извлеченного доменного имени не имеется аналитического отчета, согласно предложенному способу дополнительно передают, посредством фильтрующего модуля, указанное доменное имя в анализирующий модуль.
Согласно предложенному способу, операции в блоке 2.4 включают выполнение, посредством анализирующего модуля 1.3, по меньшей мере следующих подэтапов: (i) определение количества символов в каждом из полученных доменных имен; (ii) установление, соответствует ли определенное количество символов каждого анализируемого доменного имени заданному пороговому значению длины доменного имени; (iii) присвоение заданного численного значения признаку подозрительности доменного имени, представляющему длину анализируемого доменного имени, в зависимости от результата установления соответствия.
Согласно предложенному способу, операции в блоке 2.4 также включают выполнение, посредством анализирующего модуля 1.3, по меньшей мере следующих подэтапов: (i) получение набора известных доменных имен; (ii) установление, путем посимвольного сравнения каждого из извлеченных доменных имен с доменными именами в полученном наборе доменных имен, совпадения каждого из извлеченных доменных имен с одним из известных доменных имен; (iii) присвоение заданного численного значения еще одному признаку подозрительности доменного имени, представляющему известность анализируемого доменного имени, в зависимости от результата установления совпадения.
Согласно предложенному способу, операции в блоке 2.4 также включают выполнение, посредством анализирующего модуля 1.3, по меньшей мере следующих подэтапов: (i) определение частот появления каждого из множества N-грамм в каждом из полученных доменных имен, при этом каждая N-грамма соответствует комбинации из N последовательных символов; (ii) определение энтропии N-грамма указанного анализируемого доменного имени как функции от определенной частоты появления каждой N-граммы в этом анализируемом доменном имени; (iii) сравнение определенной энтропии N-грамма анализируемого доменного имени с заданным пороговым значением энтропии N-грамма; (iv) присвоение заданного численного значения еще одному признаку подозрительности доменного имени, представляющему энтропию анализируемого доменного имени, в зависимости от результата сравнения.
Согласно предложенному способу, операции в блоке 2.4 также включают выполнение, посредством анализирующего модуля 1.3, по меньшей мере следующих подэтапов: (i) получение данных о языковых словарях; извлечение по меньшей мере одного слова из каждого из полученных доменных имен; (ii) установление совпадения каждого из указанных извлеченных слов с одним из слов в языковых словарях из указанных полученных данных; (iii) присвоение заданного численного значения еще одному признаку подозрительности доменного имени, представляющему осмысленность анализируемого доменного имени, в зависимости от результата установления совпадения.
Согласно предложенному способу, операции в блоке 2.4 также включают выполнение, посредством анализирующего модуля 1.3, по меньшей мере следующих подэтапов: (i) получение данных о языковых словарях; (ii) извлечение по меньшей мере одного слова из каждого из полученных доменных имен; (iii) определение расстояния Левенштейна между каждым из указанных извлеченных слов и соответствующим одним из слов в языковых словарях из указанных полученных данных; (iv) сравнение определенного расстояния Левенштейна с заданным пороговым значением; (v) присвоение заданного численного значения еще одному признаку подозрительности доменного имени, представляющему правильность написания анализируемого доменного имени, в зависимости от результата сравнения.
Согласно предложенному способу дополнительно изменяют, посредством анализирующего модуля, заданный набор правил анализа.
В ответ на отнесение доменного имени к вредоносным доменным именам, согласно предложенному способу дополнительно обеспечивают, посредством процессингового модуля 1.4, выдачу предупредительного сообщения, блокировку сетевого трафика от зараженных устройств и/или создание аналитического отчета для вредоносного доменного имени.
Операции в блоке 2.5 способа включают анализ, посредством процессингового модуля 1.4, полученной совокупности признаков подозрительности анализируемого доменного имени с использованием по меньшей мере одного предварительно обученного алгоритма машинного обучения.
В одном из вариантов реализации настоящего изобретения согласно предложенному способу в анализирующем модуле 1.3 могут дополнительно получать, посредством модуля 1.1 связи, множество доменных имен по меньшей мере из одного источника доменных имен, таких как удаленное устройство, сервер, хост, домен, база данных, антивирусная система или программа, сайт и т.п.
Согласно еще одному аспекту настоящего изобретения предложен машиночитаемый носитель для длительного хранения данных, хранящий машиночитаемые инструкции, которые, при их исполнении процессором вычислительным устройством, вызывают выполнение этапов способа, описанного в данном документе. Машиночитаемые инструкции могут содержать машиночитаемый программный код, который может быть передан с использованием любой подходящей среды передачи данных, в том числе с использованием беспроводных средств, проводных средств, волоконно-оптического кабеля, радиочастоты и/или т.п., и/или их любой подходящей комбинации. Машиночитаемый программный код может быть написан на одном из языков программирования или любой комбинации языков программирования, содержащих объектно-ориентированный язык программирования, такой как «Java», «Smalltalk», «C++» и/или т.п., и обычные процедурные языки программирования, такие как язык программирования «C». Машиночитаемый программный код может полностью или частично исполняться на вычислительном устройстве 1.
Таким образом, машиночитаемые программные инструкции, хранящиеся на машиночитаемом носителе, могут обеспечивать управление вычислительным устройством 1 таким образом, что он будет функционировать вышеописанным образом, так что машиночитаемые инструкции, хранящиеся в машиночитаемом носителе, создают промышленное изделие, содержащее программные инструкции, которые реализуют функции/действия, указанные в блоках блок-схемы по фиг. 2, иллюстрирующей работу вычислительного устройства 1.
В качестве машиночитаемого носителя для длительного хранения данных может быть использован один из следующих материальных машиночитаемых носителей, предназначенных для хранения данных в течение длительного периода времени: накопители на жестких дисках, постоянное запоминающее устройство (ROM), накопители на компакт-дисках (CD), накопители на универсальных цифровых дисках (DVD), накопители на гибких дисках, накопители на Blu-ray дисках и т.п.