Анализ пользовательского поведения для определения нелояльных сотрудников
В этой статье описывается опыт разработки DLP-системы «СёрчИнформ» для психологического анализа сотрудников.
Авантюра по автоматизации психологического анализа человека обернулась успехом.Как для этого объединились усилия разработчиков, психологов, лингвистов и ИБ-специалистов — кейс «СёрчИнформ»
Рассказывает Иван Бируля, директор по безопасности «СёрчИнформ»
Есть такой класс решений в информационной безопасности — DLP-системы, которые защищают от утечек информации. Любая подобная система должна быть очень умной: контролировать максимум каналов передачи информации, которыми пользуется человек на рабочем месте (от электронной почты до файлообменников) и уметь эту информацию анализировать.
Уважающие себя коллеги по цеху умеют это делать, мы тоже. Но отрасль хочет новых возможностей. В идеале — прочесть мысли человека за рабочим компьютером, и если он оказался зловредным инсайдером — запустить сигнал тревоги. В сфере это называется «прогнозировать пользовательское поведение».
Часть вендоров в этой «гонке вооружения» пошли по пути развития технологий UEBA или UBA. Правда пока это совсем не то, чего хочет заказчик. По сути это комплекс статистических отчётов, и они предполагают большое количество ложноположительных реакций. В итоге главная задача — автоматизация человеческого труда — не выполняется. Сотрудник ИБ-службы получает сигнал, что, мол, поведение пользователей вдруг резко изменилось: болтают в мессенджерах, работают непродуктивно, шлют сотни писем. Потирает было руки, что обнаружил супер-инцидент, а оказывается, что один из менеджеров пришёл на работу в сильном подпитии, и весь коллектив это событие дружно обсуждает.
Так что волшебной кнопки «найти инсайдера» пока не вышло, а все технологии, которые предъявляются на многочисленных профильных конференциях, существуют на уровне концепта.
Мы как разработчики DLP-систем, конечно, тоже мечтали эту кнопку создать. Как подступиться к этой задаче, подсказал случай.
Внимание — «чёрный ящик»
Однажды меня попросили выступить на конференции, где я рассказал, как использую специальный метод диагностики сотрудников — профайлинг. Эту методику используют израильские спецслужбы и сотрудники аэропортов, чтобы быстро и с минимальными ошибками выявлять возможных нарушителей. Аудитория живо отреагировала и предложила провести «следственный эксперимент». Глава «СёрчИнформ» Лев Матвеев открыл переписку в Skype и предложил по ней описать сотрудника. Я продиагностировал сотрудника как эгоцентричного и самовлюбленного, ярко выраженного истероида. Профилирование попало в цель.
Метод признали жизнеспособным и… сложным в реализации. Ведь где на каждую компанию найти столько профайлеров, особенно если в ней не десятки или сотни, а тысячи сотрудников?
Но мы не отказались от идеи: появилась гипотеза, что профилирование — и есть тот инструмент анализа пользовательского поведения, который ожидали увидеть ИБ-специалисты. Рассуждали так: если самый значимый ресурс для профайлинга — речь, в которой человек проявляет характер и особенности личности, то почему бы не взять накопленную в DLP-системе переписку в качестве «сырья» для анализа? Эту идею мы и стали развивать в проектной группе.
Слова — в код
«Я участвовал в трёх проектах по оцифровке опыта человека и сам руководил одним. Только мы занимались оцифровкой не текста, а эмоций и голоса. Тогда у нас не было достаточного материала для правильного анализа. Его тогда вообще ни у кого не было, поэтому мы продвигались медленно, тоскливо и почти безрезультатно, — вспоминает научный руководитель направления профайлинга Алексей Филатов. — Получив приглашение присоединиться к работе над автоматизацией профайлинга, я подумал, почему бы не вложиться мозгами и знаниями. Анализ текста в профайлинге в целом хорошо разработан, текста для анализа было более чем достаточно и в компании понимали, как с ним работать. Я понял, что на этот раз всё может получиться».
Опыт, репутация и связи Алексея Филатова в профессиональных кругах позволили генерировать и проверять идеи по автоматизации вместе с коллегами и соратниками, посвятившими психолингвистике десятилетия научной карьеры.
Филатов отверг первоначальное предположение о том, что под каждый психотип нужно сформировать лексический словарь. По значимости анализа словарь — точно не первый и даже не второй фактор. Придя в команду, он сформировал новый подход, в котором гораздо более важным было не что говорит человек, а как: какие части речи использует, как составляет фразы, какую применяет морфологию и т. д.
Таким образом было сформировано техническое задание для разработчиков. В общем виде: им нужно было создать такой алгоритм, который бы вытаскивал из письменной речи значимую информацию, очищая её от «шума», и высчитывал профиль (психотип) человека, паттерны его поведения.
С техническим заданием в руках мы с разработчиками прошли, кажется, всё: отрицание, злость, торг, депрессию и принятие. От «невозможно» и «ничего непонятно» до «возможно, но не так, как вам нужно», «ничего не получится — расходимся» и «всё готово — давайте тестировать».
«Мы искали формулу, которую смогли бы оцифровать быстро, без больших трудозатрат и главное — получить на выходе не «филькину грамоту», а валидные результаты», — рассказывает Алексей Филатов. Исходная формула для расчёта профиля (как в письменной речи проявляется тот или иной психотип) у него была. Дело было за её доработкой и реализацией на практике.
Чем больше выборка — тем лучше результат. Для определения лучшей формулы брали накопленные переписки собственных сотрудников, прогоняли их через программу, собирали статистику, корректировали формулы. Данные сравнивали с результатами тестирований и профайлами, которые по людям вручную выстраивали профессиональные профайлеры — я и Алексей Филатов.
Таким образом находили самые точные алгоритмы вычисления и дорабатывали формулы. Следующий круг тестирования проводили на доверенных клиентах, которые дали согласие на участие в эксперименте. Несмотря на то, что это был только тест, результаты его вызвали одобрительные отзывы у участников.
Ещё приходилось проводить много тестов на минимальное количество лемм (неизменная исходная форма слова), на котором можно было проводить адекватный и точный анализ текста. Начинали с 50–60 тысяч лемм, уменьшали с шагом в 5 000. В итоге пришли к выводу, что минимальное достаточное количество лемм — 20 000.
Модуль нормализует и анализирует текст по более чем 70 критериям не только исходящие письма, но и переписку в Skype, Viber, WhatsApp, Lync, Telegram, других мессенджерах и социальных сетях.
Где спотыкались
Сложной с технической точки зрения оказалась задача нормализовать текст, очистив его от «шума», то есть от элементов, которые не несут смысловой нагрузки и не имеют ценности для анализа.
Простой пример — цифры, а ещё латиница, опечатки, картинки, лишние знаки препинания. Со знаками, правда, уже сложнее. Точку в конце предложения вроде бы ставят все, это «пустой» знак, а вот наличие и количество запятых, наоборот, значимый параметр. В то же время в Skype-переписке или социальных сетях точку почти все игнорируют, и была проблема в том, чтобы научить модуль «видеть» предложения. В процессе разработки было перепробовано множество алгоритмов по очистке текста от «шумов».
Ещё одна сложность заключалась в том, чтобы вычленить из переписки неформальное общение и анализировать тексты, в которых сотрудник выходит за рамки профессиональных и должностных обязанностей. Первый источник, который мы подключили к модулю, — почта. Это был провал, потому что люди писали исключительно сухие деловые письма и профиль выстраивался некорректно.
Какие ваши доказательства?
Но как ни странно, технические проблемы оказались не столь значительны, как вопрос о графическом представлении результатов. Разногласия в команде появились уже на стадии обсуждения эскизов интерфейса. «Команда достаточно долго искала наилучшее графическое решение и интерфейс. Например, выражение параметров в моей голове выглядело совсем иначе, чем сейчас», — объясняет Алексей Филатов. Свои предложения и корректировки вносил и коммерческий отдел, которому было важно, чтобы продукт был прост и понятен клиентам.
Дизайнер работал в авральном режиме, пересмотрели десятки вариантов. Критике подвергался каждый элемент: визуализация индекса личностных качеств, известная в команде проекта как «батарейка», пиктограммы для обозначения базовых ценностей и уровня амбиций, блок с рекомендациями. Всё дело в том, что менеджеры смотрели на модуль глазами клиентов, а не узких специалистов по профайлингу.
Один из первых прототипов психологического профиля личности
Интерфейс «КИБ Сёрчинформ ProfileCenter», который вышел в релиз
Подход к модулю исключительно с позиций профайлинга и психодиагностики привёл к ещё одной более серьёзной проблеме — терминологии. В первой версии мы ввели параметр «азартность». Но для большинства людей это слово означает «приверженность к азартным играм». Тогда как в психологической науке термином «азартность» обозначают вовлечённость в некий процесс.
Из-за разночтений в терминологии альфа-версия вызвала неоднозначную оценку, так что в финальной версии отчёта появились определения и краткие пояснения терминов. Дело оставалось за малым: объяснить, почему расчёт модуля и личное мнение о человеке не всегда совпадают.
Мы не всегда воспринимаем окружающих такими, какие они есть, а наш модуль показывает, какой человек в действительности. Например, модуль охарактеризовал топ-менеджера как конфликтного человека, но председатель совета директоров не согласился с выводами: «Это полная ерунда! Это самый дружелюбный человек». Естественно, с главой компании не каждый рискнёт конфликтовать, но это не значит, что с другими сотрудниками не будут возникать конфликтные ситуации. Общаясь друг с другом, люди часто надевают маски. Человеку в принципе не свойственно демонстрировать истинное лицо широкому кругу людей.
Что дальше
Точность результатов готового модуля профайлинга эксперты оценивают в 75–80 %. Как бы то ни было, для задачи, решения которой никто до сих пор не предлагал, это хорошие показатели и огромное достижение. Главное, что этого достаточно, чтобы решать задачи бизнеса. Летом 2018 года, спустя всего три месяца после релиза, состоялась первая продажа нашего решения. Как выяснилось, клиент приобрёл модуль не только чтобы контролировать сотрудников, но и для поощрения. Так в многотысячной компании появилась возможность выявлять лояльных компании и эффективных сотрудников, тех, кто создаёт позитивный рабочий настрой.
Дальнейшее повышение точности может быть достигнуто за счёт подключения дополнительных модальностей.
«Остались красные флажки, за которые мы пока не можем выйти. Чтобы создать психологический портрет максимально качественно, нужно 2–4 модальности: текст, мимика, интонации. Когда мы добавим в модуль анализ голоса, социальных сетей, клавиатурного почерка, качество реализации будет ещё лучше», — уверен Алексей Филатов.
Технически эти задачи решаются крайне тяжело. Каждый следующий процент точности расчёта нашего модуля даётся со всё большим трудом.
Пока идёт работа над усовершенствованием отчётов. Сейчас модуль может формировать около 78 000 вариантов расширенных профилей сотрудников, умеет определять риск-рейтинг пользователя, находить корреляции с инцидентами и поведением человека.
Далее модуль профайлинга будет запущен на английском, испанском и португальском языках.