Hoe je Remote Desktop en TeamViewer in programmeerinterviews detecteert
De dreiging is echt, maar niet wat de meeste teams zich voorstellen
De klassieke angst: een kandidaat installeert TeamViewer of AnyDesk, geeft hun sessie aan een sterkere programmeur in een ander land, en laat die programmeur de programmeerinterviews oplossen terwijl de kandidaat op camera zit. Varianten zijn Microsoft RDP, Chrome Remote Desktop, Parsec, en tegenwoordig VS Code Live Share die misbruikt wordt voor impersonatie.
Het gebeurt. Betaalde interview-afrondingservices adverteren op LinkedIn. Het gedeelte van remote technische interviews met detecteerbare remote-control-betrokkenheid zit in het laag eencijferige bereik — klein, maar duidelijk non-nul, en geconcentreerd in rollen waar de aanbieding groot genoeg is om de vergoeding economisch te maken.
Het slechte nieuws: een lockdown browser stopt dit niet. De remote-control software draait op het besturingssysteem van de kandidaat; de lockdown browser ziet zijn eigen DOM. Het goede nieuws: op het moment dat een tweede mens de sessie overneemt, verandert het gedrag op manieren die je gegevens vastleggen. Dit artikel loopt door de signalen die impersonatie via remote desktop betrouwbaar detecteren, en waarom surveillance-zware benaderingen zowel de cases missen die ertoe doen als de kandidaten vervreemden die je wilt aannemen.
Wat "remote desktop impersonatie" eigenlijk in je gegevens uitziet
Als een remote operator het toetsenbord en de muis van de kandidaat overneemt, veranderen meerdere dingen tegelijk:
- De keystroke-vingerafdruk verschuift halverwege de sessie. Dwell-tijden, flight-tijden en burst-structuur zijn per persoon anders; de operator is per definitie een ander persoon.
- Inputlatentie stijgt en wordt onregelmatig. Zelfs een snelle RDP-link voegt 30–120ms toe over het onderliggende netwerk van de operator — en de variantie is het verraad, niet het gemiddelde.
- Beweegpatronen van de muis veranderen. Versnellingscurves, klik-loslaat-timing en idle drift zijn opmerkelijk individueel.
- De webcam blijft de originele kandidaat tonen, die nu duidelijk niet degene is die de cursor bestuurt. Het audiokanaal gaat vaak stil voor periodes die niet passen bij het werk op het scherm.
- Het browser focuspatroon ontkoppelt van het sprekpatroon. De kandidaat legt uit wat ze "erover nadenken" terwijl het typen versnelt of pauzeert in een ander ritme.
Geen enkele ervan is op zichzelf bewijs. Bij elkaar gestapeld zijn ze dat wel.
Signaal 1: keystroke-vingerafdruk afwijking
Dit is het sterkste enkele signaal en het goedkoopste om vast te leggen. Keystroke biometrie bouwt een typevingerafdruk op uit de eerste ~300 toetsaanslagen, en kijkt vervolgens of de rest van de sessie aansluit. Als een remote operator het overneemt, verschuiven dwell-time en flight-time distributies merkbaar, vaak binnen de eerste 30 seconden na overname.
Waar je naar kijkt:
- Vingerafdruk afwijking halverwege sessie. Eerste 10 minuten zien er uit als één persoon; minuut 25 en verder ziet er iemand anders uit. De XGBoost auteurschapsscore schommelt ver buiten de ruis-band.
- Mismatching basislijn. De oefensessie van de kandidaat had een ontspannen, foutgevoelige typepatroon; de programmeerronde heeft plotseling helder, zelfverzekerd, geen-backspace typen. Mensen veranderen hun typepersoonlijkheid niet in 5 minuten.
ClarityHire's integriteitrapport toont beide signalen automatisch met tijdbereiken, wat ze bruikbaar maakt in een walk-through review.
Signaal 2: inputlatentie en jitter
Wanneer de kandidaat direct op hun machine typt, wordt de keystroke-to-render latentie gedomineerd door de event loop van hun browser — meestal onder 20ms met lage variantie. Wanneer een remote operator de sessie via RDP / TeamViewer / Parsec bestuurt, veranderen twee dingen:
- Gemiddelde latentie stijgt. De aanslagen van de operator reizen over hun internet naar de machine van de kandidaat, en worden dan weergegeven. Een verschuiving van 40–120ms is gebruikelijk.
- Variantie schiet omhoog. Netwerkjitter op de link van de operator combineert met die van de kandidaat. Standaardafwijking groeit veel sneller dan het gemiddelde.
Je kunt dit client-side vastleggen zonder iets indringends: leg de tijdstempel vast tussen keydown events en de bijbehorende DOM-update. Een stabiele sessie heeft een strakke verdeling. Een sessie met een remote operator ziet er als netwerktelemetrie uit: sporadische 300ms-uitschieters, onregelmatige vorm, en het patroon begint halverwege sessie in plaats van aanwezig te zijn vanaf de eerste toetsaanslag.
Signaal 3: micropatronen van de muis
Het toetsenbord is het primaire signaal; de muis is het ondersteunende signaal. Muisbewegingen hebben individuele micropatronen die veranderen als de controle wordt overgedragen:
- Versnellingscurves. Elke persoon flikt de cursor anders — sommigen snappen naar doelen, anderen buigen ernaar toe.
- Klik-loslaat intervallen. Sommige mensen dubbelklikken in 80ms, anderen in 220ms.
- Idle micro-drift. Als de cursor "stilstaat", is het niet echt — vingers verschuiven op de muis en produceren kleine continue bewegingen. Deze verdwijnen onder RDP omdat de cursor op afstand wordt weergegeven.
De laatste is een betrouwbare RDP-indicator. Een remote desktop sessie heeft meestal periodes waar de cursor perfect stil is voor seconden achtereen, wat bijna nooit voorkomt bij directe invoer.
Signaal 4: gezichtscontinuïteit en audiosynchro
De integriteitlaag in video-interviews volgt gezichtscontinuïteit over de sessie. Bij een impersonatiepoging, het gezicht van de kandidaat is nog steeds in beeld — dat deel verandert niet. Wat verandert is de relatie tussen wat op het scherm staat en wat ze zeggen:
- Audio-actie desynchronisatie. De kandidaat vertelt "ik ga deze loop gaan refactoren" terwijl de cursor dat al 6 seconden eerder heeft gedaan — ze beschrijven de acties van de operator met vertraging, op dezelfde manier als een sportcommentator het spel achterblijft.
- Oogrichtingrichting. Hun blik dwaalt ergens anders heen dan hun eigen scherm — vaak naar een telefoon of tweede monitor waar de operator in een videogesprek hen coacht.
- Lange stille microfoon periodes tijdens zware code productie. Echte ingenieurs vertellen of klagen terwijl ze werken. Lange, volledige stilte tijdens productieve codering is verdacht.
Zie onze notitie over identiteitsverificatie van kandidaten in online interviews voor hoe gezichtscontinuïteit samenkomt met de andere signalen.
Signaal 5: paste-structuur en burst-timing
Zelfs als er geen remote desktop in het spel is, voert dezelfde operator vaak ook code aan de kandidaat door middel van chat. Het resultaat is dezelfde codecoherentiepatronen die verschijnen in AI-geplakte indieningen:
- Grote schone plakken na lange stiltes
- Variabele naamgeving die tussen functies flipt
- Code met defensieve foutafhandeling voor cases die de kandidaat nooit heeft getest
Gecombineerd met de keystroke- en latentiesignalen, geeft dit je een multi-layer samengestelde. Je hebt bijna nooit één "rookende pistool" nodig — de samengestelde score is het verdict.
Waarom lockdown browsers het verkeerde antwoord zijn
Het instinct is om remote desktop software te verbieden met een processcan. Drie problemen:
- De scan kan niet in een browser draaien. Een op browser gebaseerde lockdown ziet zijn eigen DOM. Het detecteren van RDP op OS-niveau vereist het installeren van native software, wat de meeste kandidaten terecht weigeren.
- Vastberaden fraudeurs gebruiken in plaats daarvan een telefoon off-screen. Als je TeamViewer blokkeert, is de volgende poging een telefoon met het probleem op het scherm en een Telegram-oproep naar de operator. Je hebt je kandidaatgoedwil verspild door de verkeerde aanval te blokkeren.
- Vals-positieven treffen eerlijke kandidaten. Veel ingenieurs voeren toegankelijkheidshulpmiddelen, schermrecorders of werkcomputers met bedrijfs-MDM uit die "remote control software gedetecteerd" waarschuwingen activeren. Ze auto-afwijzen is erger dan het missen van de werkelijke impersonators.
Het juiste model is het in ons stuk over proctoring tools beschrevene: gedragssignalen continu en onopvallend verzamelen, anomalieën aan een menselijke reviewer tonen, en nooit auto-afwijzen.
Wat te doen tijdens het interview
Drie praktijken die impersonatie opvangen zonder surveillance theater:
- Richt een basislijn van 5 minuten in. Laat de kandidaat aan het begin een kort prompt typen ("stel jezelf schriftelijk voor"). Dit kalibreert de keystroke-vingerafdruk en de latentieverdeling. Elke verschuiving halverwege sessie wordt vervolgens gemeten tegen een basislijn die je werkelijk hebt.
- Camera aan, volledig scherm zichtbaar. Niet omdat je TeamViewer in hun browsertabs zult zien — dat zal niet — maar omdat de sociale kosten van duidelijke off-screen coördinatie stijgen als de camera aan is.
- Mix typen met gesprek. Stel proccesvragen terwijl ze coderen: "zeg wat je nu aan het doen bent." Een operator-aangedreven kandidaat valt uit de tijd met de acties op hun scherm.
De walk-through is nog steeds je beste instrument
Voor elke kandidaat die de signalen markeren, is de resolutie hetzelfde als voor AI-assistentie: een 10-minuten walk-through waarin ze hun eigen code uitleggen. Een kandidaat die het schreef kan het verdedigen. Een kandidaat wiens operator het schreef improviseert vaag, tegenstrijdig, of vraagt rustig om het probleem opnieuw te formuleren. De walk-through beslist bijna elk geflagd geval in één richting of de ander.
Als de walk-through ook nep is — operator op een parallelle oproep die de uitleg coachet — dan is de keystroke-vingerafdruk tijdens de walk-through programmeervervolg (je vraagt ze toch een kleine wijziging te schrijven, niet?) je uiteindelijke controle.
Wat vervolgens te doen
Drie concrete stappen:
- Voeg een 60-seconden getypte basislijn toe aan het begin van je live codingsronde zodat keystroke biometrie iets heeft om mee te vergelijken.
- Leg keystroke-to-render latentie client-side vast en beoordeel het als onderdeel van je post-interview rapport, niet in real-time.
- Maak de walk-through programmeervervolg verplicht in elke live ronde — die enkele verandering sluit de impersonatiekluif meer dan elk anti-fraude hulpmiddel.
Detectie gaat niet over iedereen vangen. Het gaat over het maken van impersonatie duur genoeg dat het kleine gedeelte van slechte actoren stopt met proberen, terwijl de 97% van eerlijke kandidaten nooit merken dat de laag er is.