Gokje: dit werkt op kwetsbaarheden in de DHT en/of Peer Exchange. Trackers zijn denk ik minder van belang aangezien het grootste gedeelte van het (illegale) BT verkeer, trackerloos is. Tevens is het voor trackers een stuk makkelijker om zich hier tegen in te dekken.
Voor DHT blijkt het vrij eenvoudig te zijn Index Poisoning toe te passen. Hierbij stopt een aanvaller veel, heel veel valse IP-port combinaties in de DHT waardoor clients heel veel valse verbindingen opzetten en er nauwelijks met valide nodes verbinding wordt gemaakt. Dit is mogelijk omdat de bittorrent DHT (gebaseerd op kademlia) vziw dht-informatie via UDP afhandeld. Het is dan dus vrij eenvoudig anoniem (met behulp van ip-spoofing) valse nodes aan de DHT toe te voegen. Ik denk dat de eenvoudigste oplossing hiervoor zou zijn een verificatiestap toe te voegen aan een PUT-request naar de DHT, waarbij wordt gekeken of het IP-adres dat wordt toegevoged aan de DHT ook daadwerkelijk degene is die de PUT-request maakt.
Poisoning via peer exchange. Bij peer exchange vraag je aan huidige bekende peers van jou torrent of die nog andere clients kent. Kan op een andere manier worden tegengegaan. Bijvoorbeeld door slechts een gelimiteerd aantal nieuwe peers te accepteren per bekende peer. Ik denk dat iets in de orde 10-20 voldoende is. Als al deze 10-20 peers valide blijken te zijn, is het slechts één stap in de sneeuwbal verder naar 100-400 peers, en dan ben je er al bijna.
Tevens zou er een automatische blacklist op basis van peer-exchange kunnen zijn. Immers, peer exchange is niet anoniem (vziw), aangezien de aanvrager een verzoek doet naar de aanvaller voor meer peers. Natuurlijk moet je dan ook wel opletten op fraude van de blacklist. Maar dat kan bijvoorbeeld zo.
Als alle 10-20 nieuwe peers van een IP-adres (A) vals blijken te zijn, stuur je een blacklistverzoek naar een blacklistserver. Bij een bepaald aantal verzoeken van verschillende IP-adressen wordt A geblokkeerd, voor een dag. Ik denk dat een dag blokkeren voldoende is. Stel het minimum aantal blacklist aanvragen staat op 20 ipadressen, dan zijn er, in het ideale geval slechts 20x20=400 valse peers in de peer-lijst van een bepaalde torrent geinjecteerd. Poisoning werkt doordat clients al hun beschikbare verbindingen gebruiken om verbinding te maken met valse peers en zo dus niet bij authentieke peers uitkomen. Aangezien een gemiddelde (populaire) torrent al meer dan 400 peers heeft, is de verstoring in dat geval miniem. En als de aanvaller na een dag weer terugkomt en verder gaat, kan hij weer van voor af aan beginnen. Dit bovenstaande gaat er natuurlijk wel vanuit dat er een realtime verbinding is tussen de blacklistserver en de clients, wat waarschijnlijk niet realistisch is. Maar dan nog zou je met een ban van een paar dagen ook uit de voeten moeten kunnen.
Dit moet een aanvaller toch redelijk in zijn werk frustreren, tenzij.....
de aanvaller gebruik maakt van een botnet. In zo'n geval kan elke bot een PUT-request maken naar de dht voor elke torrent en vervolgens alle binnenkomende verbindingen zo lang mogelijk in stand houden. Tevens kan elke bot valse Peer exchange informatie uitgeven. Uitgaande van een miljoenen botnet zal dit Bittorrent waarschijnlijk nog wel het meest frustreren. En aangezien het russen zijn, houd ik het nog wel voor mogelijk ook.
edit: oja bronnen die ik hiervoor heb gebruikt, sommige heb ik alleen toegang tot omdat ik op een universiteit zit:
http://admis.fudan.edu.cn...eminar.files/061125-1.pdf
http://ieeexplore.ieee.or...sp?arnumber=5437695&tag=1
http://roussev.net/6450/ref/07-IsBTunstoppable.pdf
http://www.springerlink.com/content/m5jhu805k8687064/
[Reactie gewijzigd door Elfjes op 25 juli 2024 05:32]