Torrent "cattivo seme" attacco di Sony, come funziona?

13

Sony ha visto di recente una grande quantità di dati rubati. Per impedire che i dati rubati vengano diffusi usando i torrent, stanno facendo quello che è stato definito un attacco cattivo seme . Cos'è questo attacco? Si tratta di un attacco noto o di un termine che hanno coniato per quello che sta accadendo in questo caso specifico?

Ecco un estratto da un articolo relativo all'attacco:

(...) that starting yesterday, “all of a sudden we saw files matching the SHA1 signatures of the Sony torrents starting to be populated across all the torrent sites.” (...) files were intelligently designed to have the same signature as the GoP file torrents (...) [The SHA1 signature is in the metadata provided with the seed, not a result of a file that causes a SHA1 "collision" by matching the file's exact hash.]

Da quello che ho capito, non stanno usando collisioni SHA1; il file originale è stato sostituito e si limita a ricalcolare l'hash fornito con il file. (O hash, sono questi per blocco o per file?) Il client controlla un blocco dopo averlo scaricato, si rende conto che è falso e tenta di scaricarlo nuovamente da un seme diverso. Questo va avanti fino a quando tutti i blocchi corretti vengono scaricati. È corretto? Quindi i client possono ancora ottenere i file, ci vorrà molto più tempo da quando i dati falsi vengono costantemente scaricati?

    
posta Daniel 15.12.2014 - 18:34
fonte

1 risposta

13

Una corretta. Come spiegato in questo articolo, i torrent utilizzano il protocollo BitTorrent per condividere i dati rubati di Sony. Ogni pezzo scaricato tramite un seme viene collegato con un indice nel file e l'hash di quella porzione viene controllato e verificato. Tuttavia, non credo che sia questo hash a cui si riferiscono in quell'articolo. Di seguito descriverò il processo di download di un file tramite BitTorrent.

.torrent File
Il protocollo BitTorrent dice che il file .torrent contiene due campi di informazione:

  1. announce : URL del Tracker
  2. info : esegue la mappatura a un dizionario di tasti

Ogni pezzo di dati nel dizionario viene usato per mettere insieme il file originale. Ciò significa che un file è diviso in pezzi predeterminati, e ogni pezzo è generalmente un potere di due. Questo dizionario contiene tutte le informazioni su ogni pezzo, la lunghezza e l'hash SHA1 di ogni pezzo per verificare un download completo.

Tracker
Quando tenti di scaricare un file con BitTorrent, tenterà di eseguire una richiesta GET Tracker. In risposta, ci sono molte informazioni su quali peer sono attualmente disponibili per il download. In genere una versione compressa dell'elenco di peer che possono essere utilizzati per scaricare il file. Le connessioni sono fatte ai peer per scaricare ogni pezzo, e una volta che tutti i pezzi sono stati ricevuti, il client Torrent viene avvisato. Ogni pezzo è considerato completo quando viene verificato l'hash SHA1 dei dati. Come affermato in precedenza, questo valore di hash è fornito nel dizionario info .

Questo hash SHA1 è non l'hash che viene falsificato. Un altro pezzo di informazione incluso nella risposta Tracker è un campo chiamato info_hash :

info_hash
The 20 byte sha1 hash of the bencoded form of the info value from the metainfo file. Note that this is a substring of the metainfo file. The info-hash must be the hash of the encoded form as found in the .torrent file, regardless of it being invalid. This value will almost certainly have to be escaped.

Tieni questo in mente, torneremo su di esso.

Pari
Il protocollo Peer è ciò che viene falsificato. Ogni peer deve stabilire quale parte del file viene scaricata da quel peer usando un indice. C'è una stretta di mano per stabilire questa connessione e comporta l'invio del valore di info_hash . Il client che scarica il file verifica che questo corrisponda all'hash SHA1 del campo bencoded info del file .torrent.

Ciò che Sony presumibilmente ha fatto è distribuire file falsi con i valori hash corretti per stabilire connessioni ai client che tentano di scaricarli. I file possono essere falsi perché il client deve scaricare l'intero pezzo per verificare quella parte. Quando il controllo fallisce, è necessario riavviare un download per quel pezzo.

Come puoi vedere (ed è menzionato in quell'articolo) questo può essere un problema per i server web. Il download costante di porzioni del file con letteralmente senza fine può finire per causare un utilizzo maggiore della larghezza di banda. Ciò può comportare un DDoS del server web.

    
risposta data 15.12.2014 - 21:12
fonte

Leggi altre domande sui tag