Целостность и обнаружение мошенничества

Как обнаружить использование удалённого рабочего стола и TeamViewer в технических интервью

ClarityHire Team(Editorial)8 min read

Угроза реальна, но не такая, какую представляет большинство команд

Классический страх: кандидат устанавливает TeamViewer или AnyDesk, передаёт сеанс более опытному инженеру из другой страны и позволяет ему решать техническое интервью, пока сам кандидат остаётся в кадре и кивает. Вариации включают Microsoft RDP, Chrome Remote Desktop, Parsec и в последнее время неправомерное использование VS Code Live Share для подмены личности.

Это происходит. Платные сервисы по прохождению интервью рекламируются в LinkedIn. Доля удалённых технических интервью с обнаруживаемым вмешательством удалённого управления составляет доли процента — небольшая, но отнюдь не нулевая, и сосредоточена в ролях, где предложение достаточно велико, чтобы окупить сумму услуги.

Плохая новость: программа для блокировки браузера этого не остановит. Программное обеспечение удалённого управления работает на ОС кандидата, браузер видит только свой DOM. Хорошая новость: в момент, когда второй человек берёт управление, поведение меняется способами, которые ваши данные фиксируют. В этой статье мы рассмотрим сигналы, которые надёжно обнаруживают подмену личности через удалённый рабочий стол, и объясним, почему методы, ориентированные на усиленное наблюдение, как пропускают важные случаи, так и отталкивают кандидатов, которых вы хотите нанять.

Как выглядит "подмена личности через удалённый рабочий стол" в ваших данных

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

  • Отпечаток клавиатуры меняется во время сеанса. Время удержания, время полёта и структура всплесков различны для каждого человека; оператор по определению — другой человек.
  • Задержка ввода возрастает и становится нерегулярной. Даже быстрая линия RDP добавляет 30–120 мс к скорости сети оператора — и именно дисперсия, а не среднее значение, выдаёт проблему.
  • Микрошаблоны движения мыши меняются. Кривые ускорения, время нажатия-отпускания и дрейф в покое характерны для каждого человека.
  • Веб-камера продолжает показывать исходного кандидата, но теперь явно не видно, что именно он управляет курсором. Аудиоканал часто замолкает на периоды, не совпадающие с происходящей на экране работой.
  • Паттерн фокуса браузера отделяется от паттерна речи. Кандидат объясняет, о чём он "думает", пока печать ускоряется или замедляется в другом ритме.

Ни один из этих сигналов сам по себе не является доказательством. Вместе взятые, они убедительны.

Сигнал 1: дрейф отпечатка клавиатуры

Это наиболее сильный отдельный сигнал и самый дешёвый в захвате. Биометрия клавиатуры создаёт отпечаток печати из первых ~300 нажатий клавиш, а затем отслеживает, совпадает ли остальная часть сеанса с ним. Когда оператор удалённого управления берёт управление, распределение времени удержания и времени полёта видимо меняется, часто в течение первых 30 секунд после перехвата.

На что нужно обращать внимание:

  • Дивергенция отпечатка во время сеанса. Первые 10 минут выглядят как один человек; начиная с 25-й минуты выглядят как кто-то другой. Оценка авторства XGBoost выходит далеко за пределы полосы шума.
  • Несоответствие базовому уровню. Упражнение на разминку кандидата показало расслабленный, подверженный ошибкам паттерн печати; раунд кодирования вдруг демонстрирует чёткую, уверенную печать без отмены. Люди не меняют манеру печати за 5 минут.

Отчёт об целостности ClarityHire автоматически выводит оба сигнала с указанием времени, что делает их действенными при сквозном обзоре.

Сигнал 2: задержка ввода и джиттер

Когда кандидат печатает напрямую на своей машине, задержка от нажатия клавиши до отрисовки определяется в основном циклом обработки событий браузера — обычно менее 20 мс с низкой дисперсией. Когда оператор удалённого управления управляет сеансом через RDP / TeamViewer / Parsec, два параметра меняются:

  • Средняя задержка растёт. Нажатия клавиш оператора попадают по интернету на машину кандидата, а затем отрисовываются. Смещение на 40–120 мс — обычное явление.
  • Дисперсия взрывается. Сетевой джиттер на линии оператора усугубляется джиттером кандидата. Стандартное отклонение растёт намного быстрее среднего значения.

Вы можете захватить это на клиентской стороне без ничего инвазивного: записать временной разрыв между событиями keydown и соответствующим обновлением DOM. Стабильный сеанс имеет плотное распределение. Сеанс с оператором удалённого управления выглядит как сетевая телеметрия: случайные выбросы в 300 мс, нерегулярная форма, и паттерн начинается в середине сеанса, а не присутствует с первого нажатия клавиши.

Сигнал 3: микрошаблоны мыши

Клавиатура — это основной сигнал; мышь — вспомогательный. Движение мыши имеет отдельные микрошаблоны, которые меняются при смене управления:

  • Кривые ускорения. Каждый человек управляет курсором по-своему — одни резко перемещают его к целям, другие плавно изгибают путь.
  • Интервалы нажатия-отпускания. Одни люди кликают дважды за 80 мс, другие за 220 мс.
  • Микродрейф в покое. Когда курсор "неподвижен", он на самом деле не совсем — пальцы сдвигаются на мыши и создают крошечные непрерывные движения. Под RDP они исчезают, потому что курсор отрисовывается удалённо.

Последний — надёжный признак RDP. Сеанс удалённого рабочего стола обычно имеет периоды, когда курсор идеально неподвижен в течение секунд, что почти никогда не происходит при прямом вводе.

Сигнал 4: непрерывность лица и синхронизация звука

Слой целостности в видео-интервью отслеживает непрерывность лица на протяжении сеанса. При попытке подмены личности лицо кандидата остаётся в кадре — эта часть не меняется. Что меняется, так это связь между тем, что происходит на экране, и тем, что он говорит:

  • Рассинхронизация звука и действий. Кандидат говорит "я собираюсь переделать этот цикл", а курсор уже сделал это 6 секунд назад — они описывают действия оператора с опозданием, как спортивный комментатор отстаёт от развития игры.
  • Направление взгляда. Их взгляд смещается куда-то в сторону от собственного экрана — часто на телефон или второй монитор, где оператор находится в видеозвонке и инструктирует их.
  • Длительные периоды выключенного микрофона во время активного кодирования. Настоящие инженеры комментируют или ворчат во время работы. Длительное полное молчание во время продуктивных всплесков кодирования подозрительно.

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

Сигнал 5: структура вставок и время всплесков

Даже без удалённого рабочего стола тот же оператор часто также питает кандидата кодом через чат. Результат — это те же паттерны когерентности кода, которые появляются при вставке ИИ:

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

В сочетании с сигналами клавиатуры и задержки это даёт вам многоуровневый композит. Вам почти никогда не нужен единый "дымящийся пистолет" — композитная оценка — это вердикт.

Почему программы для блокировки браузера — неправильный ответ

Инстинкт состоит в том, чтобы запретить программное обеспечение удалённого рабочего стола с помощью проверки процесса. Три проблемы:

  1. Проверка не может работать в браузере. Браузерная блокировка видит только свой DOM. Обнаружение RDP на уровне ОС требует установки собственного программного обеспечения, которое большинство кандидатов справедливо отказываются устанавливать.
  2. Решительные обманщики используют вместо этого телефон вне экрана. Если вы запрещаете TeamViewer, следующая попытка — это телефон с задачей на экране и звонок в Telegram к оператору. Вы потратили доверие кандидата на блокировку неправильной атаки.
  3. Ложные срабатывания попадают на честных кандидатов. Множество инженеров используют инструменты доступности, средства записи экрана или работают на ноутбуках с корпоративным MDM, который запускает предупреждения "обнаружено программное обеспечение удалённого управления". Их автоматическое отклонение хуже, чем пропуск фактических обманщиков.

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

Что делать во время интервью

Три практики, которые выявляют подмену личности без театра наблюдения:

  • Установите 5-минутный базовый уровень. Попросите кандидата напечатать короткий текст в начале ("представьтесь в письменном виде"). Это откалибрует отпечаток клавиатуры и распределение задержки. Любое изменение во время сеанса измеряется относительно базовой линии, которая у вас есть.
  • Камера включена, весь экран виден. Не потому, что вы увидите TeamViewer во вкладках браузера — вы не увидите — а потому, что социальная цена очевидной координации вне экрана возрастает при включённой камере.
  • Чередуйте печать с беседой. Задавайте вопросы о процессе во время кодирования: "рассказайте, что вы делаете прямо сейчас". Управляемый оператором кандидат выходит из синхронизации с действиями на своём экране.

Сквозной обзор по-прежнему ваш лучший инструмент

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

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

Что делать дальше

Три конкретных шага:

  1. Добавьте 60-секундный печатный базовый уровень в начало вашего раунда живого кодирования, чтобы биометрия клавиатуры имела что-то для сравнения.
  2. Захватывайте задержку от нажатия клавиши к отрисовке на клиентской стороне и проверяйте её как часть вашего пост-интервью отчёта, а не в реальном времени.
  3. Сделайте сквозной обзор с кодирующим продолжением обязательным в каждом раунде живого кодирования — это одно изменение закрывает пробел в подмене личности больше, чем любой инструмент против мошенничества.

Обнаружение не о том, чтобы поймать всех. Речь идёт о том, чтобы сделать подмену личности достаточно дорогостоящей, чтобы небольшая доля плохих участников перестала пытаться, в то время как 97% честных кандидатов никогда не заметят, что этот слой существует.

удалённый рабочий столteamviewerцелостность интервьюподмена личностиобнаружение мошенничества

Похожие статьи