This repository contains scripts and topology definitions for evaluating the SmartCookie split-proxy SYN-flood defense, focusing on Bloom filter vulnerabilities and side-channel attacks in a controlled Mininet environment.
We set up a custom Mininet topology to simulate a network with a Bloom filter-based switch (defender), legitimate client, server, attacker, and an accurate attacker for false positive evaluation. The experiment evaluates how SYN-flood and targeted false positive traffic can impact RTT and resource usage.
- s1: Software switch running Bloom filter defense logic (
bloom_defender.py) - h1: Legitimate client measuring RTT to server (
client_h1.py) - h2: Server responding to connections (
server_h2.py) - h3: Attacker sending high-volume spoofed SYN packets (
attacker_h3.py) - h4: Accurate attacker replaying observed false positive traffic (
accurate_attacker_h4.py)
All hosts are interconnected via s1. Switch and hosts are started in separate terminals for real-time monitoring.
sudo mn --custom topo.py --topo bloomtopo --controller=none --link=tcFrom the Mininet CLI:
xterm s1
xterm h2
xterm h1
xterm h3
xterm h4From the Mininet CLI:
bash Copy Edit sh ovs-ofctl add-flow s1 priority=1,actions=flood
In the h2 xterm:
python3 server_h2.pyIn the s1 xterm:
python3 bloom_defender.pyIn the h1 xterm (client):
python3 client_h1.pyIn the h3 xterm (random attacker):
python3 attacker_h3.pyIn the h4 xterm (accurate attacker):
python3 accurate_attacker_h4.pyLog Collection To automatically fetch logs from all hosts and the switch, run on the host VM:
~/fetch_logs.shLogs will be collected into ~/experiment_logs/:
client_h1.log
server_h2.log
attacker_h3.log
bloom_defender.log
accurate_attacker_h4.log
Output Analysis client_h1.log: RTT measurements, timestamps, and detection of RTT spikes.
attacker_h3.log: Source IP/port for every spoofed SYN, correlated with RTT spikes to detect false positives.
bloom_defender.log: Bloom filter insertions, drops, and false positive events.
accurate_attacker_h4.log: Targeted SYN flood with false positive tuple(s).
If using this code or setup, please cite our paper:
Yifei Zhang, Yongyu Liu, Haodong Song, Zang Dexin. "Patching SmartCookie: Security Concerns of Split-Proxy Approaches." UIUC, 2025.