Разбираемся вместе с Андреем Пименовым, аналитиком данных R&D-лаборатории Центра технологий кибербезопасности ГК «Солар», как происходит ИИ-детекция по звуку и клавиатуре.

Представим ситуацию: злоумышленник втирается в доверие к сотруднику, получает пароль, обходит SMS-верификацию, и — та-дам! — ваши корпоративные сервисы теперь рассылают коллегам фишинговые ссылки. Вероятен сценарий? Конечно!

Так, в 2020-м так взломали Twitter (те самые твиты от верифицированных пользователей со скамом). А в случае с SolarWinds, крупной американской IT-компанией, хакеры месяцами работали в системах, притворяясь легитимными пользователями.

Рисунок 1. Взят социальной сети Twitter, запрещенной на территории РФ
Рисунок 1. Взят социальной сети Twitter, запрещенной на территории РФ

Казалось бы: настрой ежемесячную смену паролей, проводи постоянные проверки сотрудников на детектирование фишинга, выдавай корпоративные ноутбуки с предустановленным антивирусным ПО… А, нет! Все равно найдется человек или ситуация, где такие «танцы с бубнами» не помогут.

Как же тогда противодействовать компрометации учетных записей? Придумывать новые методы аутентификации? Или усилить старые? А может, выделять больше средств на обучение сотрудников? Или… наконец, задуматься насчет альтернатив? А если мы предположим, что ИИ мог бы заметить подвох?

Рисунок 2. Сделан с помощью ИИ
Рисунок 2. Сделан с помощью ИИ

Наша команда R&D-лаборатории Центра технологий кибербезопасности «Солара» предлагает следить не только за тем, «кто входит», но и «как пользователь себя ведет».

  • Печатает ли пользователь так, как обычно, или вдруг стал профессиональным юзером vim?

  • Двигает ли мышью с привычной плавностью или дергает курсор, словно он в финале турнира по StarCraft? 

  • Говорит ли он тем же тоном или вдруг начал запинается, словно он сдает 11 секцию подряд алгоритмов в Яндексе?

  • Как обычно он зашел с утра проверить почтовый ящик и корпоративный мессенджер или решил в 4 утра (или ночи) выкачать репозитории из гитлаба и письма из ящика?

Про поведенческую биометрию

Behavioral biometrics (поведенческая биометрия) — это детектор лжи для вашего ПК. Анализируя множество биометрических данных с вашего устройства, алгоритмы машинного обучения могут понять, работаете вы за устройством или нет. Исходя из полученных результатов детекции и политик ИБ (информационной безопасности), мы можем предпринимать какие-то действия.

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

Вот еще несколько примеров:

Рисунок 3. Сделан с помощью ИИ
Рисунок 3. Сделан с помощью ИИ

Как говорилось ранее, поведенческая биометрия поможет засечь изменения в поведении пользователя. Далее (важно!) — выполнить сценарии по обеспечению ИБ в соответствии с выбранными политиками. Например, это может быть сообщение в чатике от вашего менеджера с вопросом: «Вы ли это?», так и полная блокировка устройства, и отправка события в ИБ-подразделение компании.

Тут вы можете начать кривить носом, что, мол, опять биометрию отправлять на какие-то корпоративные серверы, где она будет непонятно как храниться, доступ к ней будут иметь все желающие, а обрабатывать ее будут сотни специалистов на аутсорсе, но… Ведь ее даже не обязательно куда-то отправлять!

Современные достижения в методах машинного обучения таковы, что для обработки однородных данных (будем считать, что для каждого типа биометрии будет своя модель) можно использовать «обычные» модели. Они могут показывать такие же высокие результаты, как и какие-то высокопроизводительные нейросети типа трансформеров или «десиптиконов». Это позволяет разворачивать на конечных устройствах «агентов», которые будут следить за тем, чтобы вы оставались вами без существенных затрат на ресурсы. И биометрия не будет утекать. Просто потому, что она будет храниться у вас.

Вы можете возразить: «А судьи кто?». То есть, может ли человек дообучить ИИ-модели под ваш уникальный распорядок рабочего дня и методы работы, если использует много специфичных или новомодных слов? Однако тут беспокоиться не о чем, поскольку умные люди уже давно разработали Transfer Learning — это когда мы переносим модели, обученные на одной задаче, на другую, похожую. В нашем же случае мы можем предварительно обучить модель на множестве различных пользователей для их классификации, перенести модели (веса) на устройство пользователя и уже их дообучить на поведении конечного пользователя. Не беспокойтесь, мы помним, что люди имеют свойство обучаться и менять свое поведение. Поэтому со временем мы также можем корректировать поведение моделей с помощью дообучения на новой биометрии пользователя.

Итак, наконец, когда основные вопросы отпали… «А тестировали ли вы сами свои модели? Какие методы и библиотеки вы можете предложить для анализа биометрии?» — прилетел вопрос с конца зала. Ну что ж. Да, мы тестировали.

Про звук и голос

Для анализа речи и голоса мы можем предложить использовать Vosk API. Это библиотека с открытым исходным кодом, которая позволяет проводить транскрипцию звука как из файла, так и потоком. Там также присутствует функционал по извлечению признаков из звуков, что позволяет, имея достаточно чистую аудиозапись конкретного человека, различать его в дальнейшем за счет сравнения голосовых признаков.

Vosk API предоставляет множество моделей для разных языков, в том числе поддерживает мультиязычность. Однако так как мы с вами пользователи из России, то и модели будет использовать русские (ГОЙДА). На момент тестирования этой библиотеки были доступны большая модель версии 0.22 (vosk-model-ru-0.22) и малая версия 0.22 (vosk-model-small-ru-0.22). Сегодня есть версии поновее поэтому, когда мы будем показывать результаты, стоит учесть это. Мы планируем обрабатывать данные на стороне пользователя, поэтому будем использовать малую модель vosk-model-small-ru-0.21, которая требует в разы меньше ресурсов, чем обычная, которая предназначена для серверной обработки данных.

Например, при нагрузочном тестировании транскрипции аудио книги «Алые Паруса» большая модель потребляла в среднем 1.34 ГБ против 0.55 ГБ у малой (график предоставляем ниже). Если замерять метрики потребления ресурсов в режиме реального времени, то ситуация будет немного лучше, и расход в среднем 0.24 ГБ. Что касается точности распознавания у малой модели, то мы измеряли качество по мере Жаккара и получили значение в 0.89. Таким образом, мы можем фиксировать изменения в речевом обороте личности рядом. Если же вы супер енжоер и вам недостаточно тех слов, которые модель может распознавать, то есть вариант дополнительно ее дообучить под свои потребности. Но это совсем другая история, с которой можно ознакомиться с ней тут.

Рисунок 4. Изображение предоставлено ГК «Солар»
Рисунок 4. Изображение предоставлено ГК «Солар»
Рисунок 5. Изображение предоставлено ГК «Солар»
Рисунок 5. Изображение предоставлено ГК «Солар»

Но нас в первую очередь интересует распознавание спикеров. Для этого нам необходимо воспользоваться моделью vosk-model-spk-0.4 по нагрузке. Она находится где-то рядом с малой моделью. Используя эту модель, можно получить из некоторого фрейма аудиоданных скрытое состояние в виде вектора размерностью 126. И, сравнивая эти векторы (например, с помощью косинусного расстояния) с эталонными (полученными из чистой записи речи), мы можем установить, насколько текущий пользователь отличается от легитимного.

Тесты показали точность определения конкретного пользователя в 98% на небольшой, но естественной выборке из 25 семплов. Конечно, вы можете заболеть, сменить пол, а на фоне работать бетономешалка… Ну или вы просто по каким-то причинам молчите, когда работаете. Но не одним типом биометрии мы едины.

Про клавиатуру

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

Для клавиатуры мы можем считать:

  • Число символов, которые вы печатаете в минуту

  • Продолжительность нажатия

  • Как часто вы используете специальные кнопки

  • Как часто меняете язык

  • Какой разброс у вас между нажатиями кнопок и так далее

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

  • Скорость по координатам x/y

  • Среднее ускорение, которые вы применяете

  • Угловая скорость

  • Кривизна траектории

  • Расстояние от начала до конца траектории

  • Другие производные величины от этих параметров

Важным уточнением является то, что мы должны научиться различать не только людей, которые работают за компьютером, но и также достаточно точно детектировать ботов (автоматизированную деятельность).

Поведение человека сильно отличается от поведения программ, поэтому уметь их отличать и быстро выявлять также является одной из ключевых задач этих алгоритмов. Мы протестировали эти подходы на самостоятельно собранной выборке из 30 пользователей и нескольких собранных ботов с разным уровнем сложности. Тесты показали 100% точность определения ботов и более 70% точности детектирования деятельности другой личности за устройством. Ниже мы демонстрируем визуализацию некоторых признаков, извлеченных из биометрии мыши и клавиатуры, чтобы вы могли убедиться, что разница между поведением человека и бездушной машины существенна (по крайней мере пока…).

Рисунок 6. Изображение предоставлено ГК «Солар»
Рисунок 6. Изображение предоставлено ГК «Солар»
Рисунок 7. Изображение предоставлено ГК «Солар»
Рисунок 7. Изображение предоставлено ГК «Солар»

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

В ходе исследования, мы установили, что достаточно точно детектировать нарушителя-человека можно за 8 минут, и около пары секунд необходимо, чтобы обнаружить бота. Это немало — за это время нарушитель может что-то успеть сделать, скажем, найти вашу папку с котиками и мемами.

Мы можем уменьшить этот интервал, но тогда возрастет риск ошибки. Поэтому надо искать компромисс между скоростью обнаружения нарушителя и точностью его обнаружения.

Теперь посмотрим на схему использования анализа поведения, которую мы можем предложить вам, дорогие читатели.

Рисунок 8. Изображение предоставлено ГК «Солар»
Рисунок 8. Изображение предоставлено ГК «Солар»

Мы разделяем виртуальное пространство корпорации и ваше, пользовательское, чтобы вы не беспокоились за свои данные. Наружу отправляются информация только об инцидентах. Это позволит спокойно спать как вам, не опасаясь за свою биометрию, так и специалистам ИБ, которые будут знать: пока вы отдыхаете от работы, вас никто не подменит за рабочем местом.

Такая система позволяет достаточно быстро выявить нарушителя и еще быстрее ботов, которые собирают ваши данные или пытаются имитировать деятельность. Анализ звука с устройства идентифицирует лексическое поведение пользователя, признаки его голоса, а также его характерные звуки в процессе работы (как правило, боты работают за компьютером тихо).

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

Вывод

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

Комментарии (1)


  1. SanSYS
    26.09.2025 19:34

    Пароль? 2FA? Давайте уже честно — это прошлый век

    https://passkeys.directory/