Repository containing the code of FP-Scanner's paper.
Create virtual environment and install dependencies Run the command below to create a virtual environment.
virtualenv --python = /usr/bin /python3 myvenv Then activate the virtual environment.
Finally, install the dependencies.
pip install -r requirements . txt Our prototype relies on MongoDB to store the fingerprints, thus you need to ensure that MongoDB is running.
Run the command below to import the database.
mongoimport --db usenix18 --collection fingerprint --file fingerprints . json First, we analyze the fingerprints present in the database.
It logs information on the screen about the results of the analysis and generates two csv result files in theresults folder:
res_prediction.csv that contains information on the tests that passed or not for each fingerprint;res_real_values.csv that contains information on the OS and browser predicted for each fingerprint.Then we analyse these files to obtain the accuracy of FP-Scanner, FingerprintJS2 and Augur.
To run the benchmark that measures the execution time of the scanner, run the command below.
It generates three filesbench_situation1.csv ,bench_situation2.csv andbench_situation3.csv that corresponds tothe three cases presented in the article:
Run all scanner tests even when an inconsistency is detected; Stop running tests when an inconsistency is detected; Run only analysis of the pixels. These files contain a single column calledelapsed_time , which represent the execution timeneeded to run the set of tests.