Skip to content
This repository has been archived by the owner on May 11, 2023. It is now read-only.

Code repository for mAuth

Notifications You must be signed in to change notification settings

taxborn/mauth-research-project

Repository files navigation

🐭 mAuth Mouse Machine Learning

Conference Paper: ConferencePaper.pdf

This project involves the development of a proof of concept model using computer mouse data that could potentially be used in an authentication scheme. The model uses KNN, SVM (SVC), and decision tree algorithms to analyze data such as mouse position, time of the event, and button press duration. The goal is to determine if this data can be used to accurately identify a user and differentiate them from potential imposters. By exploring the potential of mouse data for authentication purposes, this project aims to contribute to the growing field of biometric authentication research.

💾 Data collection

Data collection is done within collection.py, which utilizes the pynput library to collect mouse input data. Specifically, we collected the UNIX timestamp of the event, X and Y positions of the event, which button was pressed, and how long it was pressed for.

🔍 The Data

Here is a sample piece of data:

ID Timestamp X Y Button Duration
2 1676925152.344601 901 488 -1 -1
2 1676925152.3605819 915 482 -1 -1
2 1676925157.8644285 975 301 -1 -1
2 1676925158.0728395 975 301 1 -1
2 1676925158.1127932 975 301 1 0.03995370864868164
2 1676925152.368573 924 480 -1 -1
... ... ... ... ... ...
  • ID: Subject ID
  • Timestamp: UNIX Timestamp of the event
  • X, Y: The X and Y positions of the event, where it happened on the screen
  • Button: The button that was pressed, for this, we used the following mapping:
    • 0: Left click
    • 1: Right Click
    • 2: Middle Click
    • 3: Scrolling Down
    • 4: Scrolling Up
    • 5: Button X1 (rarely used)
    • 6: Button X2 (rarely used)
  • Duration: The duration of the event, only used to track how long a button press event was

Button X1 and X2 were the forward/backwards buttons on mice. This wasn't useful for the game during data collection, so will likely be cleaned out/not useful.

👀 Visualization

user 0's path To visualize the data, we created a plotting script to view the mouse locations.

👪 The Team