Datenübertragung über One-Click

Transcription

Datenübertragung über One-Click
Datenübertragung über One‐Click‐Hoster Verfahren und Probleme Lehrer: Herr Frenzel Fach: Informatik Kurs: Grundkurs Jahrgangsstufe: 12 Inhaltsverzeichnis 1.
EINLEITUNG 3
2.
WEITERE VERFAHREN DER DATENÜBERTRAGUNG 4
2.1.
2.2.
2.3.
EMAIL UND MESSENGER TORRENT UND P2P USENET 4
4
4
3.
FUNKTIONSWEISE DER ONE‐CLICK‐HOSTER 5
4.
CONTAINERDATEIEN 6
4.1.
4.2.
4.2.
4.3.
4.4.
5.
BEISPIELE ZUR ENTSCHLÜSSELUNG VON CONTAINERDATEIEN 5.1.
5.2.
6.
DEFINITION GESCHICHTE UND AUFBAU ABUSESCHUTZ KOMFORTABLER NACHTEILE CCF 3.0 NCF FAZIT 6
6
7
7
7
8
8
9
11
-3-
1. Einleitung Die One‐Click‐Hoster 1 haben in den vergangenen Jahren immer mehr an Bedeutung gewonnen, der wohl größte Anbieter ist derzeit Rapidshare. Nachdem die p2p oder Torrent Netzwerke (auch bekannt als Tauschbörse) immer unbeliebter wurden, suchte man nach Alternativen. Die derzeit attraktivste ist der One‐Click‐Hoster. Nach eigenen Angaben beträgt die Speicherkapazität von Rapidshare mehrere Petabyte 2 (1.000.000 Gigabyte), außerdem liegt die Webseite auf Platz 12 der meist‐
besuchten Webseiten weltweit 3 . Es gibt noch weitere Hoster wie Uploaded oder Netload. In dieser Facharbeit möchte ich mich damit beschäftigen die Nutzung von One‐Click‐
Hostern und die damit verbundenen Probleme zu erläutern. Dabei werde ich erläutern, warum der One‐Click‐Hoster (kurz OCH) so beliebt ist und vor allem warum er von der Untergrund Szene missbraucht wird. Vorher werde ich jedoch weitere Verfahren zur Datenübertragung darlegen. Des Weiteren werde ich anhand von zwei Container‐
formaten Dateien analysieren und entschlüsseln, die Informationen zu den Download‐
inhalten von den OCH speichern; im weiteren Verlauf werden diese als Container‐
dateien bezeichnet. Ich werde auch deren Vorteile und Nachteile erläutern. Für die Entschlüsselung dieser Dateien werde ich ein Programm schreiben, welches auf der mitgelieferten CD enthalten ist. 1
Hoster sind Unternehmen die Dateien im Internet speichern.
http://rapidshare.com/wiruberuns.html
3
http://www.alexa.com/site/ds/top_sites?ts_mode=global&lang=none
2
-4-
2. Weitere Verfahren der Datenübertragung 2.1. eMail und Messenger Dieser Weg ist wohl der umständlichste, da der Verteiler die eMail Adresse, ICQ Nummer oder sonstige Chat Identifikationsnamen oder Nummern benötigt. Außerdem hat man selber meist nicht die hohen Uploadgeschwindigkeiten wie ein Server, sodass es vielfach länger dauert. Bei der eMail gibt es zusätzlich noch eine Einschränkung, das Dateigrößenlimit des Anhangs. Bei gmx.net bekommt man kostenlos bis zu 20 MB 4 bei web.de bis zu 4 MB 5 . Deshalb ist dieser Weg nur für einzelne MP3s interessant. 2.2. Torrent und p2p Das wohl bekannteste Netzwerk um Daten auszutauschen, jedoch auch das un‐
sicherste, da der Empfänger immer die IP‐Adresse vom Sender einsehen kann, dennoch ist es das Netzwerk, wenn es um einfachen, dauerhaften und öffentlichen Zugriff geht. Bekannte Programme für das p2p Netzwerk sind eMule oder Kazaa, für den Torrent Bereich gibt es Azureus bzw. Vuze, μTorrent oder BitComet. 2.3. Usenet Dieses Netzwerk gibt es schon seit dem es das Internet gibt, früher wurden dadurch Text Nachrichten übermittelt, heute wird es auch für Binärdateien sprich Filme, Musik oder Spiele benutzt. Es gilt als sicher, da die Daten oft auf ausländischen Servern ge‐
speichert werden, allerdings kostet ein Usenet Zugang Geld. Anbieter sind zum Beispiel Alphaload oder Usenext, der Zugang kostet hier in Deutschland bei Alphaload 6 sowie Usenext 7 7,95 Euro. Ein weiterer Nachteil des Usenets ist, dass Dateien, die älter als 90 Tage sind, vom Server gelöscht werden, es gibt spezielle Usenet Anbieter, die für mehr Geld auch Dateien bis maximal 240 Tagen herunterladen lassen, das ist aber eher die Ausnahme. 4
http://service.gmx.net/de/cgi/g.fcgi/products/mail/compare
https://www2.produkte.web.de/freemail/details/
6
http://alphaload.de/index.html?page=package
7
http://www.usenext.de/UseNextDE/shopInt/obj/cart/caShowCheckOut.cfm
5
-5-
3. Funktionsweise der One‐Click‐Hoster Das Hochladen und Herunterladen von Dateien auf One‐Click‐Hostern ist sehr einfach. Für das Hochladen einer Datei geht man auf die Startseite von einem One‐Click‐Hoster (z.b. http://rapidshare.com/) dort gibt es ein Button zum Auswählen der Datei, danach erscheint ein weiterer Button um den Upload zu beginnen. Nachdem der Upload be‐
endet ist, erscheint eine neue Seite mit einem Downloadlink, diesen kann man nun verteilen. Für den Download benötigt man einen gültigen Downloadlink, diesen fügt man oben in die Adressleiste des Browsers ein. Bei den meisten One‐Click‐Hostern kann man wählen, ob man als Free‐ oder Premiumuser die Datei herunterladen möchte. Der Freeuser hat einige Nachteile, so muss er abhängig vom One‐Click‐Hoster eine bestimmte Zeit warten, bis er die Datei downloaden kann, hat eine deutlich gerin‐
gere Downloadgeschwindigkeit, muss leichte Matheaufgaben rechnen oder muss eine bestimmte Buchstabenkombination in einem Bild in ein Eingabefeld tippen. Meistens hat ein Freeuser nur ein bestimmtes Downloadvolumen für eine bestimmte Zeit. Dafür kann man diesen Dienst aber kostenlos nutzen. Ein Premium Kunde muss dafür im Monat bei Rapidshare 6,99 Euro bezahlen, hat dafür jedoch immer die maximale Downloadgeschwindigkeit und keine Wartezeit. Meist ist ein Premium Konto jedoch an ein Download Volumen gebunden, bei Rapidshare liegt es bei 80 Gigabyte im Monat (also 2,66 Gigabyte pro Tag) 8 . Netload bietet derzeit den Premium Dienst für 8 Euro an und hat im Gegensatz zu Rapidshare kein limitiertes Download Volumen 9 . Auch Uploaded hat deutlich bessere Konditionen. Der Account kostet 5,99 Euro und das Download Volumen liegt bei 10 Gigabyte pro Tag 10 . Um das Downloaden zu vereinfachen, wurden Programme geschrieben, die hinter‐
einander bei Freeusern oder gleichzeitig mit mehreren Verbindungen bei Premium‐
Usern die Dateien herunterladen. Dazu gehört der „RapidShare Downloader“ (kurz RSD), „MultiShare Downloader“ (kurz MSD), „Cryptload“ und „jDownloader“. RSD und MSD sind nur für Rapidshare, wobei man für den MSD einen Premium Account be‐
nötigt, da dieser pro Download mehrere Verbindungen nutzt. 8
http://rapidshare.com/news.html
http://www.netload.in/index.php?id=5
10
http://uploaded.to/agb
9
-6-
4. Containerdateien 4.1. Definition Containerdateien sind verschlüsselte Dateien, die Links zu Dateien auf einem One‐
Click‐Hoster beinhalten. Es gibt derzeit drei bekannte Containerformate, die „Rapid Share Downloader Files“ (kurz RSDF), die „Cryptload Container Files“ (kurz CCF) und das aktuellste Format den „Download Link Container“ (kurz DLC). 4.2. Geschichte und Aufbau Die Containerdateien begannen mit dem RSDF‐Format (von dem RSD‐Team), wo jeder Link getrennt durch einen Zeilenumbruch verschlüsselt im Rijndael‐Algorithmus 11 ge‐
speichert wird. Diese Verschlüsselungsmethode gilt bis heute als sehr sicher, jedoch gelang es schon nach kurzer Zeit diesen Container zu entschlüsseln, da der Schlüssel sich im Downloadprogramm befindet und somit leicht extrahiert werden kann. Denn der eigentliche Rijndael‐Algorithmus ist nur sehr sicher, wenn der Schlüssel unbekannt ist. Den Vorteil von Containern wollten auch die Entwickler von Cryptload nutzen und entworfen das „CCF 0.7“‐Format, anders als der RSD sortiert Cryptload die Links in Paketen, so kann ein Film oder Spiel jeweils ein einzelnes Paket sein. Aus diesem Grund konnte für die Speicherung keine Listenstruktur verwendet werden, man nutzte die „Extensible Markup Language“ 12 (kurz XML) welche noch zusätzliche Informationen zu den einzelnen Paketen speichert wie einen Kommentar, Autor oder Passwort. Es konnten auch mehrere Filme oder ganze Serien in einer CCF gespeichert werden. Leider waren die Programme, die diese Dateien einlesen konnten, nur für Windows und auch das CCF‐Format wurde entschlüsselt. Denn ähnlich wie beim RSDF‐Format wurde der Schlüssel programmintern gespeichert, man änderte den Schlüssel noch 2 weitere Male, es entstand „CCF 0.8“ und „CCF 1.0“. Nach diesem Desaster entwickelte das jDownloader‐Team ein neues Containerformat, was bis heute als sehr sicher gilt. Für das Containerformat wird wieder die sehr be‐
liebte XML Struktur verwendet, jedoch speichert dieses Containerformat im Vergleich 11
Auch bekannt als Advanced Encryption Standard (kurz AES) und ist das derzeit beste Verschlüsselungssystem. Dieses Verfahren gehört zu den symmetrischen Kryptosystemen, da im Gegensatz
zu den asymmetrischen Kryptosystemen der gleiche Schlüssel zum Entschlüsseln und Verschlüsseln
genutzt wird.
12
In einer XML-Datei werden Daten in einer Baumstruktur hierarchisch gespeichert.
-7-
zum CCF‐Format noch Informationen zum Erstellprogramm und der Unterversion des DLC‐Formats, da es dort auch schon minimale Änderungen gab. Für die Ent‐
schlüsselung wird außerdem eine aktuelle Version des jDownloaders und eine Inter‐
netverbindung benötigt, da Teile zur Entschlüsselung der Containerdatei aus dem Internet bezogen werden und der Schlüssel zur Entschlüsselung aus der Prüfsumme 13 von dem Programm berechnet wird. Das jDownloader‐Team entwickelt derzeit an einer neuen Version des DLC‐Formats, was noch sicherer werden soll. Das Cryptload‐
Team entwickelte außerdem einen neuen Algorithmus zur Verschlüsselung ihrer Containerdateien CCF 3.0 und CCF 5.0, wobei CCF 3.0 aufgrund eines schwer‐
wiegenden Fehlers wieder revidiert wurde. 4.2. Abuseschutz Unter Abuse versteht man in der Fachsprache, dass eine Datei von einem OCH aus ver‐
schiedenen Gründen entfernt werden musste. Dies ist jedoch nur möglich, wenn man den genauen Downloadlink kennt, bei Containerdateien ist das aber nicht mehr der Fall, da der Downloadlink immer verschlüsselt bleibt. 4.3. Komfortabler Direktlinks haben den Nachteil, dass jeder Link einzeln in das Programm übernommen werden muss, wenn es nicht möglich ist, mehrere Links zu markieren, was meist der Fall ist. Die Containerdateien können direkt mit dem Downloadprogramm geladen werden und die Links sind sofort verfügbar. 4.4. Nachteile Es gibt viele Gründe für Containerdateien, jedoch auch einige gegen sie, denn wie schon erwähnt, waren die ersten Containerformate und Downloader nur für Windows, somit wurde dann auch ein Containerformat nach dem anderen entschlüsselt und ver‐
öffentlicht. Somit sind die Containerdateien genauso sicher wie direkte Links. Außerdem gibt es eine Möglichkeit, die immer funktioniert, um an den Inhalt von 13
Von jeder Datei kann man eine Prüfsumme errechnen (wodurch eine Buchstaben-Zahlenkombination
entsteht), sodass eine identische Datei nachher die gleiche Prüfsumme hat, unterschiedliche Dateien haben jedoch andere Prüfsummen. Es gibt verschiedene Verfahren zur Berechnung.
-8-
Containerdateien zu gelangen, nämlich durch das Aufzeichnen des Datenverkehrs zwischen dem eigenen Coputer und dem Internet, ein bekanntes Programm dafür ist „Wireshark“. 5. Beispiele zur Entschlüsselung von Containerdateien 5.1. CCF 3.0 Nachdem die vorherigen Verfahren immer wieder geknackt worden sind, entwickelte das Cryptload‐Team ein komplett neues System mit schlimmen Folgen, unter Um‐
ständen hat dieses Format die Containerdateien nicht einmal verschlüsselt. Man erkennt dieses Format indem man die Containerdatei mit dem Editor (auch bekannt als Notepad) oder einem vergleichbaren Textprogramm. Die ersten sechs Zeichen der Datei sind immer „CCF3.0“ damit auch das Programm zu einlesen das Format sofort zuordnen kann. Danach kommen vier Byte (1 Byte = 1 Zeichen) die sozusagen den Schlüssel der der Datei darstellen. Bevor der eigentliche Inhalt kommt, gibt es noch ein Byte, welcher die Pufferlänge an‐
gibt, denn der Inhalt ist in feste Blöcke eingeteilt. Sollten am Ende ein paar Zeichen fehlen werden zusätzliche Zeichen eingefügt, um wieder die feste Blockgröße zu er‐
reichen. Der eigentliche Verschlüsselungsalgorithmus besteht daraus die Bytes unter bestimmten Bedingungen zu verschieben, dafür wird der Schlüssel benutzt, da dies aber sehr kompliziert ist, werde ich es hier nicht weiter erwähnen, der Programmcode befindet sich im Anhang. Somit wird Block für Block entschlüsselt und man sieht die entschlüsselte Datei. Am Ende muss man nur noch beachten, dass der Schluss ab‐
geschnitten werden muss, dafür benötigt man wieder die Pufferlänge. Das eigentliche Problem der Verschlüsselung lag erstens darin, dass der Schlüssel aus der Prüfsumme der Containerdatei erstellt wird und somit auch Werte annehmen kann, wo die Verschiebung der Bytes keinen Effekt zeigt. Ein weiteres Problem ist die Programmiersprache, mit diversen Programmen kann man sich Zugang zum Quelltext verschaffen und diese Methode einfach nachlesen. 14 14
http://decrypter.ath.cx/
-9-
5.2. NCF Der MSD erstellt oder bearbeitet beim Schließen des Programms eine „LinkListe.ncf“. Diese Datei speichert die übriggebliebenen Downloadlinks. Öffnet man die Datei zum Beispiel mit dem Editor sieht man jedoch keine Links sondern zusammengewürfelte Buchstaben und Zahlen. Das Ganze funktioniert auch, wenn man nicht im Internet ist, deshalb muss man davon ausgehen, dass der Schlüssel zur Verschlüsselung intern im Programm gespeichert wird. Um an den Schlüssel zu gelangen, werde ich mit dem Programm „OllyDbg“ 15 den Programmablauf überwachen. Der OllyDbg liest den Maschinencode 16 des Programms und zeigt den kompletten Programmcode in „Assembler“, einer Programmiersprache die sehr einfach in Maschinensprache um‐
gewandelt werden kann. Jedoch muss man zuerst eine geeignete Stelle finden, wo man anfängt zu debuggen 17 , denn das Programm ist insgesamt mehrere 1000 Zeilen lang. Deshalb sollte man nach einem Schlüsselwort suchen, im OllyDbg gibt es eine Funktion zur Filterung von Zeichenketten (Rechtsklick im Hauptfenster, „Search for“ ‐> „All referenced text strings“). Nun erscheint ein neues Fenster, dort sucht man nach dem Schlüsselwort (Rechtsklick, „Search for text“), in diesem Fall nehme ich die Datei‐
erweiterung der Datei, also „ncf“. Abbildung 1: Haltestelle im Programm
Per Doppelklick springt man im Programm wieder zum Hauptfenster und kann mit F2 eine Haltestelle im Programm einbauen. Wenn man das Programm das nächste Mal 15
Open Source Debugger; Homepage: http://www.ollydbg.de/
Das ist die Sprache für den Prozessor am Computer.
17
Gezieltes Untersuchen von einem Programm, in der Regel macht man dies um Fehler im Programm zu
beseitigen.
16
- 10 -
startet, wird OllyDbg direkt bei dieser Position anhalten somit kann man sich diesen Teil vom Programm genauer ansehen. Mit den Tasten F7 und F8 kann man den Programmcode schrittweise verfolgen. Der Pfad zur Datei wird ermittelt und der Inhalt wird eingelesen. Im weiteren Verlauf gibt es eine Verzweigung, welche drei Ver‐
zweigungsmöglichkeiten enthält, genauer gesagt die drei Schlüssel, welche im Bild mit dem roten Kasten markiert sind. Es wird immer die dritte Verzweigung genutzt; die beiden anderen Schlüssel dienen nur zur Verwirrung. Bei dem Schlüssel "38dssfhwq973q9sa987ds892" findet nun eine Verschiebung der Buchstaben und Zahlen statt. Somit erhält man nach mehreren komplexen Prozeduren diesen Schlüssel "q9sa987ds89238dssfhwq973". Im Darauffolgenden wird die eigentliche Ent‐
schlüsselung gestartet. Abbildung 2:
Im ersten Abschnitt wird gezeigt, wie der Rijndael-Algorithmus gestartet
wird, der mittlere Bereich zeigt den Arbeitsspeicher zu den betreffenden
Programmstellen, im letzten Abschnitt sieht man das der Hash-Algorithmus
SHA1 genutzt.
Dabei wird jedoch wie man dem zweiten Bild entnehmen kann der Schlüssel noch mit dem Hash‐Algorithmus 18 „SHA1“ verändert. Der endgültige Schlüssel zur Ent‐
schlüsselung lautet also "BgâJ¦3 ‹eZ“ZSéh˜ÀŽè„". 18
Ist ein anderer Begriff für Prüfsumme (siehe 13), wobei auch aus einzelnen Zeichen, langen Texten oder
auch Bildern dieser "Fingerabdruck" erstellt werden kann, was diese dann eindeutig identifiziert.
- 11 -
6. Fazit One‐Click‐Hoster sind heutzutage sehr beliebte Dienste, wenn es um einfachen und schnellen Datenaustausch geht, dabei spielt die Größe der Datei keine Rolle. Zudem ist der Dienst kostenlos verfügbar, bietet einem aber auch Premium Funktionen wie den schnelleren und direkten Download. Leider sind die Preise für den bekanntesten Hoster Rapidshare durch den steigenden Bekanntheitsgrad explodiert, doch auch Konkurenz‐Hoster wie Netload bieten einem da eine gute Alternative. Die Downloadprogramme für die One‐Click‐Hoster wie jDownloader erleichtern einem das Ganze, besonders bei vielen und auch großen Dateien. Die dadurch entstandenen Containerdateien sind für den Erfolg von den One‐Click‐Hoster in Deutschland maß‐
geblich beteiligt, allein durch den Komfort für den Downloader sind sie jetzt nicht mehr wegzudenken. Jedoch darf man nicht vergessen, dass die Sicherheit der Container‐
formate niemals zu 100 % garantiert werden kann. Wie das DLC‐Format jedoch zeigt, sind die Entwickler dabei diese Sicherheit so gut es geht zu gewährleisten. Erklärung Hiermit versichere ich, dass ich die Arbeit selbstständig angefertigt, keine anderen als die angegebenen Hilfsmittel benutzt und die Stellen der Facharbeit, die im Wortlaut oder im wesentlichen Inhalt aus anderen Werken entnommen wurden, mit genauer Quellenangabe kenntlich gemacht habe. _________________________________ Anhang Auf der beigelegten CD befinden sich alle Internetquellen in kompakten Webarchiven und Programme mit komplettem Quelltext die zusätzlich zum schriftlichen Teil der Facharbeit angefertigt worden sind. Ordnerführung: [+] Internetquellen
[+] Programme
--[+] CCF 3.0 C Code
--[+] MeinErstesProgramm
---- uMain.cpp
Quellcode zur Entschlüsselung von CCF 3.0 Containerdateien --[+] Debug
Weitere Bilder zu dem Debugging mit OllyDbg --[+] DEC
Delphi Encryption Compendium, Verschlüsselungskomponente für Delphi von Hagen Reddmann --[+] SHA1
Programm zum erstellen einer Prüfsumme, wie es bei der NCF‐Entschlüsselung geschieht --[+] Container
Einige Containerdateien zum Testen --[+] DLMF
Library die Entschlüsselungsalgorithmen zu Containerdateien enthält --[+] DLMF-GUI
Programmoberfläche womit man die Containerdateien einlesen kann Für die Erstellung der Delphi‐Programme habe ich "Delphi 2007" benutzt, für das C‐
Programm "Microsoft Visual Studio 2005". Des Weiteren habe ich für das Debuggen den Open Source Debugger "OllyDbg" in der Version 1.1 mit der Erweiterung "Olly Advanced" genutzt. Die Bilder in dieser Facharbeit stammen aus eigener Herstellung und wurden mithilfe von "Paint" erstellt.