FlowPrint: Semi-Supervised Mobile-App Fingerprinting on Encrypted Network Traffic
Project description
FlowPrint - In progress
This repository contains the code for FlowPrint by the authors of the NDSS FlowPrint [1] paper.
This master branch provides FlowPrint as an out of the box tool.
For the original experiments from the paper, please checkout the NDSS branch.
Installation
TODO
Usage
usage: flowprint.py [-h]
(--detection [FLOAT] | --fingerprint [FILE] | --recognition)
[-b BATCH] [-c CORRELATION], [-s SIMILARITY], [-w WINDOW]
[-p PCAPS...] [-rp READ...] [-wp WRITE]
Flowprint: Semi-Supervised Mobile-App
Fingerprinting on Encrypted Network Traffic
Arguments:
-h, --help show this help message and exit
FlowPrint mode (select up to one):
--fingerprint [FILE] run in raw fingerprint generation mode (default)
outputs to terminal or json FILE
--detection FLOAT run in unseen app detection mode with given
FLOAT threshold
--recognition run in app recognition mode
FlowPrint parameters:
-b, --batch FLOAT batch size in seconds (default=300)
-c, --correlation FLOAT cross-correlation threshold (default=0.1)
-s, --similarity FLOAT similarity threshold (default=0.9)
-w, --window FLOAT window size in seconds (default=30)
Flow data input/output (either --pcaps or --read required):
-p, --pcaps PATHS... path to pcap(ng) files to run through FlowPrint
-r, --read PATHS... read preprocessed data from given files
-o, --write PATH write preprocessed data to given file
-i, --split FLOAT fraction of data to select for testing (default= 0)
-a, --random FLOAT random state to use for split (default=42)
Train/test input (for --detection/--recognition):
-t, --train PATHS... path to json files containing training fingerprints
-e, --test PATHS... path to json files containing testing fingerprints
Run FlowPrint requires three steps:
- Preprocessing: transform
.pcapfiles toflowsthat FlowPrint can interpret.
$ python3 flowprint --pcaps <data.pcap> --write <flows.p>
- Fingerprinting: extract
fingerprintsfromflows.
$ python3 flowprint --read <flows.p> --fingerprint <fingerprints.json> --split 0.5
- Application: use FlowPrint to recognize apps or detect previously unknown apps.
$ python3 flowprint --train <fingerprints.train.json> --test <fingerprints.test.json> --recognition
$ python3 flowprint --train <fingerprints.train.json> --test <fingerprints.test.json> --detection 0.1
References
[1] van Ede, T., Bortolameotti, R., Continella, A., Ren, J., Dubois, D. J., Lindorfer, M., Choffnes, D., van Steen, M. & Peter, A. (2020, February). FlowPrint: Semi-Supervised Mobile-App Fingerprinting on Encrypted Network Traffic. In 2020 NDSS. The Internet Society.
Bibtex
@inproceedings{vanede2020flowprint,
title={{FlowPrint: Semi-Supervised Mobile-App Fingerprinting on Encrypted Network Traffic}},
author={van Ede, Thijs and Bortolameotti, Riccardo and Continella, Andrea and Ren, Jingjing and Dubois, Daniel J. and Lindorfer, Martina and Choffness, David and van Steen, Maarten, and Peter, Andreas}
booktitle={NDSS},
year={2020},
organization={The Internet Society}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flowprint-0.0.1.tar.gz.
File metadata
- Download URL: flowprint-0.0.1.tar.gz
- Upload date:
- Size: 18.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.6.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30d918d5593422f0af6da8acd9a0e7aa3798c4dc439293a6ded0c85ec28b744c
|
|
| MD5 |
d6b3abdee7bcffd4c9bf2ece452ed481
|
|
| BLAKE2b-256 |
8a19bb7598dc3123b7222dae38f42a5c69a1c4b0aa10b7c55c28370f7b648469
|
File details
Details for the file flowprint-0.0.1-py3-none-any.whl.
File metadata
- Download URL: flowprint-0.0.1-py3-none-any.whl
- Upload date:
- Size: 24.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.6.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd35e0b3d58fce5f01534bb12d1d1943351022403f857b90f2b791a0509ccbff
|
|
| MD5 |
09c2bf1b250878b1918366220a3f68be
|
|
| BLAKE2b-256 |
997cd74af6f831f9bcc1e5315de08a5bff31402379732fd6bb8f5dc3c7104fb6
|