Вадим Куликов, SkyDNS: Как SkyDNS блокирует угрозы в реальном времени с помощью ИИ

Вадим Куликов, SkyDNS: Как SkyDNS блокирует угрозы в реальном времени с помощью ИИ

Вадим Куликов, SkyDNS: Как SkyDNS блокирует угрозы в реальном времени с помощью ИИ

Вадим Куликов

Окончил Российский университет дружбы народов по двум направлениям: химия и лингвистика. Магистр промышленного и гражданского строительства Московского государственного строительного университета. Получил отличную математическую и инженерную подготовку. В сфере машинного обучения и анализа данных — с 2017 года.

Начал карьеру как инженер-технолог в сфере защитной полиграфии и успешно внедрял решения по защите документов. Руководил группой разработчиков-технологов, которой за пять лет удалось запатентовать несколько уникальных технологических решений в области спецполиграфии.

К команде SkyDNS Вадим присоединился в 2024 году в качестве руководителя отдела ML и центра анализа угроз. Отвечает за управление большими данными, разработку методов категорирования интернет-ресурсов, а также за формирование архитектуры решений для детектирования и предотвращения угроз на уровне DNS-протокола.

...

Сегодня искусственный интеллект становится ключевым инструментом в сфере информационной безопасности. Компании-разработчики предлагают надёжный инновационный софт для защиты своих клиентов от различных угроз: от известного всем фишинга до трудно распознаваемого DNS-туннелирования.

Однако для некоторых российских разработчиков это совсем не инновация, а полноценный рабочий инструмент. Ещё в 2011 году компания SkyDNS изобрела собственную систему фильтрации контента в интернете, взяв курс на новые технологии. Решение SkyDNS позволяет бизнесу не только фильтровать неприемлемые веб-сайты, но и защищать свои корпоративные сети от широкого спектра угроз на уровне DNS, таких как фишинг, ботнеты, DGA, туннелирование и вредоносные объекты. 

О том, как SkyDNS применяет искусственный интеллект для обеспечения безопасности своих клиентов, рассказывает руководитель отдела ML и центра анализа угроз Вадим Куликов.

Вадим, давайте начнём с DNS-уровня. Объясните, что это такое.

DNS, или по-русски система доменных имён, — это как адресная книга в интернете. Когда мы вводим название сайта, например, нашего skydns.ru, протокол DNS помогает найти нужный «адрес» — IP-адрес сервера, на котором находится сайт. Нам не приходится самим запоминать сложные числовые IP-адреса, DNS автоматически переводит понятные нам имена в компьютерные адреса.

Уровень DNS очень важен, потому что многие компании его почти не контролируют. Часто упускают из виду, что через DNS можно отслеживать и фильтровать вредоносный трафик. Если не обращать на это внимания, можно легко пропустить угрозы. Последнее важно в силу того, что не все системы защиты справляются с вредоносным трафиком.

Получается, что DNS-фильтрация — это и есть контент-фильтрация? 

Да, всё верно. DNS-фильтрация позволяет блокировать доступ к определённому веб-сайту. Сервер, на котором настроены конкретные правила фильтрации, просто напросто не отдаст адрес — и пользователь не сможет перейти на этот сайт. Обычно такая мера безопасности действует в отношении неприемлемого или вредоносного контента, который может представлять угрозу для устройств компании.

Вы говорите про угрозы. А можете привести несколько примеров использования искусственного интеллекта для предотвращения реальных угроз?

Конечно. Мы используем искусственный интеллект для борьбы с фишингом и DNS-туннелированием. С помощью туннелей хакеры обычно передают украденные файлы или команды управления вредоносными программами. С годами эти угрозы становятся всё более изощрёнными, и наши алгоритмы помогают оперативно блокировать их.

Как в вашем решении используется машинное обучение?

Тут я бы выделил два главных направления. Во-первых, мы активно используем ИИ, а если быть точнее, методы машинного обучения для анализа DNS-запросов и выявления подозрительных паттернов. Например, наши алгоритмы анализируют частоту обращений к доменам, их географическое распределение и временные аномалии. Это помогает обнаруживать целый ряд угроз: DGA-домены, ботнеты и C2C-коммуникации.

Во-вторых, с помощью методов машинного обучения мы классифицируем контент. Наши модели обучены на больших данных и способны распознать фишинг или сайты для распространения вредоносных объектов и потенциально опасные ресурсы. Это позволяет быстро и точно категоризировать даже новые домены, блокировать их до попадания в сеть клиента.

А где остаются данные о категоризованных веб-ресурсах? 

В нашей базе данных. Она обновляется автоматически каждый день, добавляется информация о новых связях между доменами, инфраструктурами и владельцами доменов. Наша база включает почти 99 % видимой части интернета. Это позволяет нам быстро фильтровать контент, блокируя около 3 млн угроз нашим клиентам ежедневно.

Немалое количество, но остаётся ещё 1 %. Как SkyDNS обнаруживает вредоносные сайты, которые ещё не занесены в базу данных?

В первую очередь мы сотрудничаем с регистраторами доменных имён, чтобы как можно быстрее получать информацию о новых доменах. Они сразу попадают на краулинг или автоматический сбор данных о сайте, потому что прямая информация с самого домена всегда надёжнее, чем вторичные признаки.

Если пока нет прямой информации о домене, мы используем косвенные данные и информацию из внешних источников. Мы анализируем метаданные и поведение домена, чтобы точно понять, какой это тип ресурса. 

Также мы собираем данные из Passive DNS— технологии, которая за определённый период времени записывает и хранит информацию о DNS-запросах, таких как соответствие доменных имён и IP-адресов. Это помогает моделям машинного обучения распознавать подозрительные домены на основе глобальных угроз. Например, если один и тот же IP-адрес начинает обслуживать разные домены с коротким временным значением жизни или TTL, система понимает, что это признак Fast-Flux-сетей, часто используемых в атаках.

Давайте вернёмся снова к машинному обучению. Какие алгоритмы наиболее эффективны в вашей работе?

Для анализа текстов мы применяем стандартные подходы NLP (Natural Language Processing), которые дают хорошие результаты. Ещё лучше получается, если задействовать большие языковые модели (LLM), которые сейчас в тренде. Однако последние требуют значительных ресурсов, что неизбежно сказывается на стоимости услуги для конечного клиента или на скорости обновления информации о страницах. Поэтому мы ищем баланс между качеством модели и её стоимостью.

Для «простых» категорий контента мы используем базовые подходы, например векторные и линейные модели, а для более сложных категорий можем подключать LLM, выстраивать дополнительные признаки с целью получить более точные результаты. В таком качестве подходят исторические данные об использовании домена и его владельцах, частота обращений к доменам, географическое распределение и временные аномалии.

Как вы обучаете и обновляете модели, чтобы они адаптировались к новым угрозам?

Мы следим за качеством работы моделей и регулярно переучиваем их. Для этого мы поручаем оценку эффективности сторонним лабораториям и сверяемся с агрегаторами, например, virustotal использует данные 96 глобальных вендоров ИБ.

Когда появляются неточности в категоризации, мы актуализируем выборки данных и пробуем новые подходы, чтобы лучше отвечать на современные вызовы. Например, анализируем данные от регистраторов доменов и используем их для улучшения моделей. 

Какие данные востребованы для тренировки моделей и как вы обеспечиваете их актуальность?

Для обучения моделей мы используем предварительно отобранные данные, которые проходят автоматическую сортировку с помощью алгоритмов. После этого проверяем домены вручную, чтобы убедиться в их корректности. Мы всегда следуем правилу машинного обучения: «Мусор на входе — мусор на выходе». Если данные для обучения неточные, то и модель будет работать плохо.

Для того чтобы наши модели оставались актуальными, мы постоянно мониторим их качество с помощью внутренних метрик. Если видим, что эффективность модели падает, мы обновляем выборки данных и переучиваем модель. Иногда меняем подходы или даже сами модели, чтобы они соответствовали существующим угрозам и изменениям в поведении трафика.

Для многих моделей актуальна проблема ложных срабатываний. Как вы с ней справляетесь? 

Когда речь заходит об общей эффективности моделей, мы ориентируемся на классические метрики качества, сопоставляем свои результаты с тем, что дают независимые лаборатории. Это позволяет нам выбирать наилучшие модели. 

Что же касается баланса между ошибками первого и второго рода, мы учитываем стоимость ошибки. Например, для «безопасных» категорий, таких как онлайн-кино, ложноположительное или ложноотрицательное срабатывание не нанесёт серьёзного ущерба. То есть их цена примерно одинакова, и она не так велика, поэтому мы ориентируемся на баланс между ошибками. Однако для таких категорий, как фишинг, пропуск домена может привести к серьёзным последствиям для бизнеса. В этом случае мы стремимся снизить риск ошибки и при настройке моделей пытаемся обеспечить максимально полный отбор подобных сайтов.

А как модели машинного обучения SkyDNS балансируют между точностью и производительностью?

В SkyDNS мы постоянно следим за балансом между точностью и скоростью работы наших моделей. В среднем их точность достигает 98,5 % по 66 категориям контента и угроз, что является высоким показателем. Однако важна не только точность, но и производительность. Поэтому при обучении новых моделей мы обязательно тестируем их на больших объёмах данных. Таким образом мы можем оценить, как они справляются с задачей в реальных условиях и какую нагрузку оказывают на инфраструктуру.

На основе этих тестов мы анализируем данные, чтобы понять, смогут ли модели эффективно работать при масштабировании на наши серверы. Если модель показывает хорошие результаты, мы внедряем её в работу. Если увеличение точности может положительно сказаться на общем качестве фильтрации, мы обсуждаем возможность усиления инфраструктуры с менеджментом и принимаем решение о модернизации последней.

Вадим, вы рассказали много технических подробностей. Что лично вас вдохновляет в работе с машинным обучением?

Машинное обучение допускает достаточно гибкий подход к анализу исследуемых проблем, в отличие от жёстких фильтров и правил. Это даёт возможность учитывать большое количество влияющих факторов. И их зачастую нельзя связать напрямую. Уже обученные модели проводят анализ в реальном времени. Это позволяет поднять планку качества на совершенно другой уровень. Вот почему машинное обучение получило такое широкое распространение, и дальше оно будет только популярнее. 

Лично я получаю удовольствие от долгого и кропотливого проектирования, построения таких сложных систем и от их качественной работы. Это схоже с любой тонкой инженерной работой. Своего рода искусство, пусть и техническое.

Вы упомянули, что машинное обучение будет вызывать большой интерес и дальше. Как это может повлиять на развитие контент-фильтрации?

В целом я вижу лавинообразный рост интереса к большим языковым моделям. Тут стоит отметить постоянный рост вычислительных мощностей, в том числе специальных ускорителей, рассчитанных только на тензорные вычисления, применяемые в LLM. 

Предполагаю, что доступность и качество LLM будут постоянно расти. Возможно, подходы, основанные на таких моделях, будут всё больше внедряться в сферу кибербезопасности. Это позволит повысить точность фильтрации вредоносного контента: модели смогут лучше понимать и анализировать текстовые данные по сравнению с ручной обработкой.

Кроме того, с ростом вычислительных мощностей могут стать доступными модели компьютерного зрения. Это может быть полезно, когда текстовый контент вызывает сомнения. Подключение таких моделей позволит анализировать визуальную составляющую и, возможно, выявлять скрытые угрозы, например в изображениях или видеофайлах.

Вадим, спасибо за интересное интервью! Желаю удачи в развитии такого важного и нужного направления! Будем следить за вашими успехами.