Technical Presentation On Bittorrent
Technical Presentation On Bittorrent
Technical Presentation On Bittorrent
Torrent
Peer
Seed
Leecher
Swarm
Reseed
Tracker
Share Ratio
Architecture of BitTorrent
HTTP Peer Tracker
TCP Peer Peer
File Distribution
Files are uploaded in public sites by seeds
Users download this file via HTTP and can
participate in the torrent transfer
Data
Data can be a single file or multiple files
contained in a directory
Data is split into many pieces of equal size
Each piece is further divided into many
blocks
A piece will have a hash, needed for data
integrity check
Common piece sizes are 256kb, 512kb and
1mb
Tracker
1. Seeder generates a
torrent file and
uploads torrent to a
web server.
2. The seeder notifies
the tracker that it is
sharing the file
described in the
torrent file.
3. A leecher
downloads the
torrent file from the
web server.
4. The leecher
connects to the
tracker specified in
the torrent file.
5. The leecher
connects to its
peers to retrieve
pieces of the files.
Attacks on BitTorrent
Pollution Attack
1. The peers receive the peer list from the
tracker.
2. One peer contacts the attacker for a chunk
of the file.
3. The attacker sends back a false chunk.
4. Attacker requests all chunks from swarm
and wastes their upload bandwidth.
DDOS Attack
1. The attacker downloads a large number of
torrent files from a web server.
2. Attacker spoofs IP address and port with
that of victim and notifies the tracker
3. Tracker directs peers towards victim
4. Victim will be flooded with requests from
other peers
Bandwidth Shaping
This is done by users ISP
Unencrypted BitTorrent packets are easily
identified and filtered.
Sophisticated filtering software can detect
BitTorrent like behavior.
Comcast has recently admitted to filtering
BitTorrent traffic.
Current Solutions
Pollution Attack
Blacklisting
Achieved using software such as Peer
Guardian or moBlock.
Blocks connections from blacklisted IPs
which are downloaded from an online
database.
DDOS Attack
Spoofing needs to be avoided in the first
place
This can be done by using filters
Make the tracker validate a peer whether
it has the torrent or not
Bandwidth Shaping
Encryption
Most BitTorrent clients can encrypt the packets
they send.
Simple filters which simply look at the contents
of the packet can easily be traversed
Tunneling
Using VPN software to connect to an unfiltered
network.
Such tunnels which are free from filters
provide easy path to BitTorrent packets
Other File Transfer Methods