A command-line interface application that uses SpecAugmented Mel-spectrograms to train a CoAtNet deep-learning model that classifies keystrokes in an attack recording.
The application takes a directory containing training recordings, an attack recording, and the number of keystrokes in that recording as input.
The method used is inspired by this paper.
WARNING: It is highly recommended to use a GPU to run this application. The training process is computationally expensive and will take a long time on a CPU. Services such as Google Colab can be used to run the application on a GPU for free.
To get started, follow these simple steps:
Clone repository:
git clone https://github.com/moahmed0987/KRAMS.git
Set up virtual environment:
-
Windows:
cd KRAMS python -m venv venv .\venv\Scripts\activate
-
MacOS/Linux:
cd KRAMS python3 -m venv venv source venv/bin/activate
Install dependencies:
pip install -r requirements.txt
Simply run the following command replacing the placeholders with your specified file paths:
python KRAMS.py <TRAINING_RECORDINGS_DIR> <ATTACK_RECORDING_PATH> <N_KEYSTROKES_IN_ATTACK>
TRAINING_RECORDINGS_DIR: Path to the directory containing the training recordings.
ATTACK_RECORDING_PATH: Path to the recording to be attacked.
N_KEYSTROKES_IN_ATTACK: Number of keystrokes in the attack recording.