Kinematic detection under adversarial optimization.
Kinematic Features Are All You Need: Detecting Synthetic Mouse Trajectories Under Adversarial Optimization
Mouse generators already imitate the curves, timing, and small corrections seen in human movement. I wanted to know whether that was enough to fool a detector that only saw the movement itself.
I tested the detector on the Balabit and BOUN datasets. It found more than 99.5% of generated movements while flagging fewer than 0.1% of human ones. After I retrained the detector once, the attacker's mean evasion score fell from 0.999 to 0.010 by round five.
Contributions.
The main lesson was that each generator could match some parts of human movement, but none could match all of them at the same time.
- 01
Movement data only. I built the detector around x, y, and timestamps. It does not rely on device fingerprints, and I left out features that reveal polling rate.
- 02
Retraining the detector. I ran five rounds of white-box Bayesian optimization. After one detector retraining round, the attacker's mean evasion fell from 0.999 to 0.010.
- 03
A feature guide. I organized 32 movement features into six groups and identified 15 that should be left out because they reveal polling rate.
- 04
SigmaDrift. I also released the mouse generator as open source so other researchers can test against it and build on the work.
Paper and source.
I've made the paper, the detector, and the SigmaDrift generator available below.
Mouse dynamics / Adversarial ML / Motor control / Anti-cheat / Behavioral biometrics