Experiments in continuous authentication
  • Jupyter Notebook 91.5%
  • Python 8.5%
Find a file
2023-12-29 16:43:21 -06:00
data add consistency to random events and add training + validation 2023-12-20 16:38:47 -06:00
.gitignore add preprocessing code 2023-12-20 15:02:06 -06:00
ca-visualization.ipynb add more configuration 2023-12-29 16:43:21 -06:00
config.py add more configuration 2023-12-29 16:43:21 -06:00
preprocess.py add more configuration 2023-12-29 16:43:21 -06:00
README.md small tweaks 2023-12-21 19:15:02 -06:00
requirements.txt add more configuration 2023-12-29 16:43:21 -06:00
train.py add more configuration 2023-12-29 16:43:21 -06:00
validation.py add more configuration 2023-12-29 16:43:21 -06:00

Continuous Authentication Experimentation

I wanted to extend my research done on taxborn/mauth-research-project to clean up the code, and implement some ideas I didn't get to investigate.

The dataset I am using is the same dataset from that repository for now, but hope to extend to other datasets in the future.

Running the models

All you need to run the models is to ensure you have the requirements installed in requirements.txt, and execute train.py.

pip install -r requirements.txt && python train.py

There is also a Jupyter Notebook at ca-visualization.ipynb, which has an additional dependency of matplotlib. This contains some visualizations of validations of the models.

Implemented

  • Preprocessing for the mauth dataset.
  • Training KNearestNeighbors Classifier & Regressor
    • The regressor is used in computing trust score, metric of trust the system has in the current user
  • Type-checked with mypy!

TODO

  • Create a script for data collection
    • Compute features continuously.
    • Run against the model continuously.
  • Experiment with different trust score equations
  • Configurable if this is deterministic or not (e.g. random_state)