Skip to content

Keyword Fingerprinting Crawler used in the paper ``Enhancing Search Privacy on Tor: Advanced Deep Keyword Fingerprinting Attacks and BurstGuard Defense", accepted to be published at the ASIA CCS '25: Proceedings of the 20th ACM Asia Conference on Computer and Communications Security.

License

Notifications You must be signed in to change notification settings

AISec-EWHA/KF-tbcrawler

Repository files navigation

Enhancing Search Privacy on Tor: Advanced Deep Keyword Fingerprinting Attacks and BurstGuard Defense

[Paper Link]

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.

1. Environment

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.

2. Prerequisites and Settings

2-1. Docker Installation

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 docker

2-2. Network Setting

Check 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 number

2-3. Important Settings

You 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 = '-'

3. Keywords

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.

4. Run KF-tbcrawler

You can run KF-tbcrawler with command below:

make build  # build first
make run    # and run

5. Contacts

Please contact us if you have any questions about KF-tbcrawler.

About

Keyword Fingerprinting Crawler used in the paper ``Enhancing Search Privacy on Tor: Advanced Deep Keyword Fingerprinting Attacks and BurstGuard Defense", accepted to be published at the ASIA CCS '25: Proceedings of the 20th ACM Asia Conference on Computer and Communications Security.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •