Enhancing Search Privacy on Tor: Advanced Deep Keyword Fingerprinting Attacks and BurstGuard Defense
Chai Won Hwang*, Hae Seung Jeon*, Ji Woo Hong, Ho Sung Kang, Nate Mathews, Goun Kim, and Se Eun Oh†
*Equally credited authors. †Corresponding author.
Note
This is the Keyword Fingerprinting Tor Browser Crawler used in Enhancing Search Privacy on Tor: Advanced Deep Keyword Fingerprinting Attacks and BurstGuard Defense work, presented in the ASIACCS'25.
For KF-Crawler, we used Ubuntu 20.04 LTS VM on a Windows 10 desktop, installed using Oracle VirtualBox. We recommend having a minimum of 64GB of storage and 2048 MB of memory.
KF-Crawler is run in the Docker environment, which can be installed by:
$ sudo apt-get update
$ sudo apt-get install docker.io
$ sudo systemctl start docker
$ sudo systemctl enable dockerCheck device number using the ifconfig command, and update the DEVICE variable with your device number in the Makefile.
$ ifconfig
>>> enp0s3: ...DEVICE=enp0s3 # enp0s3 is just an example, so change this to your device numberYou can set your server username/password, search engine, and the packet direction in the tbcrawler/crawler.py file.
# change here to user server's username/password
_id = "" #server ID
password = "" #server password# change here to use search engine you want
self.driver.get('http://www.bing.com') # bing
self.driver.get('http://www.duckduckgo.com') #duckduckgo# change here to your VM's IP address
if "10.0." not in source_address:
direction = '-'For our work, we utilized the Keyword Tool website to extract the top 273 frequently searched keywords as monitored keywords. However, you can change the sites.txt file for any keywords you want to visit.
You can run KF-tbcrawler with command below:
make build # build first
make run # and runPlease contact us if you have any questions about KF-tbcrawler.
- Chai Won Hwang, [email protected]
- Haeseung Jeon, [email protected]
- Se Eun Oh, [email protected]