Privacy- und Sicherheitsaspekte

Dissertation "Privacy- und Sicherheitsaspekte in ubiquitären Umgebungen" als Buch und als PDF
A bit of Oyo hacking
Zu Weihnachten wurde ein schon lange gehegter Wunsch erfüllt: Ein E-Book-Reader. Ich hatte mich für einen Oyo entschieden - zwar sind die aktuellen Sony-Geräte dem Oyo deutlich überlegen (schnelleres und kontrastreicheres Display, schnellere Reaktion, längere Akku-Lebensdauer, ausgereiftere Bedienung), aber da ich annehme, daß die Entwicklung der E-Book-Reader in den nächsten Jahren noch rasch voranschreiten wird, war ich nicht gewillt, den fast doppelten Betrag zu investieren. Ich habe das "Begrüßungsgeschenk" - einen Roman aus einer gewissen Auswahl - inzwischen durchgelesen und bin sehr angetan. Für Prosa eignet sich der Oyo prima. Die Eignung für Fachbücher (ich habe inzwischen etliche O'Reilly-E-Books gekauft) wird er die kommenden Wochen unter Beweis stellen müssen.
Aber die Katze läßt ja bekanntermaßen das Mausen nicht, und so kam ich nicht umhin, ein wenig detaillierter mit der Technik zu spielen :-)
Hier also gesammelte Informationen über die Hardware, das Software-Update und den Adobe-ADEPT-Kopierschutz.
Diagnosetool starten
Der Klassiker: Was passiert denn, wenn man verschiedene Tastenkombinationen beim Start drückt? Bei mir (Firmware-Version 1.0 R2818) gelangt man durch Halten der Einschalt- und Zurücktaste (die beiden obersten Tasten) in ein Diagnosetool, mit dem man sich diverse Systeminformationen ansehen und die Funktion der Hardware (Touchscreen, Knöpfe) überprüfen kann.
Kernelsourcen und Firmwareupdate-Paket
In den Lizenzinformationen der Anleitung findet man folgenden Link:
http://www.thalia.de/oyo_src/SG060B00_V009.tgz
Hier findet man angepaßte Quellen eines Linuxkernels sowie den U-Boot Bootloader. Ein wenig "Aufpassen" im hauseigenen WLAN offenbart auch die URL, über die das Firmwareupdate heruntergeladen wird:
http://server.meinoyo.com/update/thalia/oyofw.tar.bz2
Letzteres enthält ein Bootimage sowie ein komplettes Linux-Filesystem mit ARM-Binaries (im Lizenzanhang der Anleitung wird der "Samsung S3C2443 SPI Controller" erwähnt; das ganze ist also eine ARM9-Plattform). In /etc/issue findet man noch die Willkommensmeldung
Welcome to the Samsung Glibc development environment
Auch ansonsten ist das Filesystem alles andere als ausgedünnt - es gibt noch viele, für den Betrieb nicht nötige Binaries wie beispielsweise einen Telnet-Daemon oder Tools wie dd. Naja, für weitere Experimente können die ja durchaus hilfreich sein ;-) Außerdem findet man diverse Tools für den Flash-Zugriff (flash_erase, nanddump, nandwrite, etc.).
Die eigentlichen E-Book-Reader-Anwenungen sind mit QT Embedded geschrieben. All das läßt vermuten, daß die Software für den Oyo in großer Eile fertiggestellt wurde - das läßt in sofern hoffen, daß die Geschwindigkeit des Oyos durch geeignete Programmierung und entsprechendes Tuning doch noch ein gutes Stück gesteigert werden kann.
In /linuxrc (ein Shellskript) findet man folgenden Abschnitt:
if [ -f /mnt/mmc1p1/usbdebug ]; then
echo "usbdebug"
/usr/local/sbin/usbdebug.sh
fi
Falls also eine Datei mit Namen usbdebug auf der SD-Karte existiert, wird das Skript usbdebug.sh ausgeführt - und dies schickt die syslog-Ausgaben und ein Terminal auf die USB-Schnittstelle.
Terminalzugang
Beim Anschluß an meinen Rechner meldet mein Linux im Syslog:
Product: Gadget Serial
Manufacturer: Linux 2.6.21.5-cfs-v19 with s3c-udc
Um einen Shellzugang zu bekommen, muß man die erwähnte Datei auf der SD-Karte anlegen, den Oyo über USB an den PC anschließen und neu starten. Damit die serielle Verbindung über USB zustandekommt, muß vorher das entsprechende Kernelmodul geladen werden; dabei ist es nötig, Hersteller- und Geräte-ID dem Modul als Parameter mitzugeben:
Nun kann man sich mit einem Terminalprogramm verbinden (der Name des Devices wird im Kernellog angezeigt, typischerweise lautet er /dev/ttyUSB0). Ich habe Minicom verwendet, mit den Verbindungsparametern 115200 8n1 klappte es auf den zweiten Versu ch.
Das Hash des Root-Passworts stand im Filesystem-Archiv des Firmware-Updates; der liebe John verriet mir nach ein paar Stunden, daß der Klartext SReader lautet. Glück gehabt :-)
Backups
Im Handbuch liest man gleich auf einer der ersten Seiten:
Machen Sie nach jeder Aktualisierung Ihrer Daten Sicherungskopien auf externe Speichermedien. Die Geltendmachung von Schadensersatzansprüchen für Datenverlust und dadurch entsandene Folgeschäden wird ausgeschlossen.
Ich sehe zwei Möglichkeiten, um ein autarkes Backup seiner gekauften EBooks zu erstellen:
Sichern der Geräte-ID
Die EPub-Dateien, die man bei Thalia kaufen kann, sind mit Adobe Adept sowohl an eine Gerätekennung als auch eine Benutzer-ID gekettet. Schließt man den Oyo an einen PC, so erhält man Zugriff auf seine (kopiergeschützten) E-Books und an seine (benutzerspezifischen) Aktivierungsdaten, nicht aber die Geräte-ID. Letztere wird (dem Zeitstempel nach zu urteilen) beim ersten Einschalten des Oyos generiert.
Das bedeutet: Geht der Oyo kaputt (vom Laster überfahren, vom Hund gefressen, etc.), so nützt die Datensicherung alleine nichts; mit der Adobe-Software kann man (sofern man seine Adobe-ID abgeschrieben hat, sie entspricht nämlich nicht dem Thalia-Login) zwar seine E-Books nochmals "aktivieren", aber eine von sechs möglichen Aktivierungen ist unwiederbringlich verloren.
Ich vermute (ich habe die Nagelprobe mangels zweitem Oyo nicht gemacht), daß folgendes Kommando die Geräte-ID auf die SD-Karte sichert:
Das sollte man sicherheitshalber zusammen mit seinem restlichen Oyo-Backup aufbewahren.
Entsichern der EPubs
Ironischerweise genügt aber bereits die Datei activation.xml aus dem Verzeichnis .adobe-digital-editions, welches beim Anschluß des Oyos an den PC lesbar ist, um die gesicherten EPubs zu entschlüsseln :-) Bei "I love cabbages" findet man zwei Python-Skripte: Eines, welches unter Windows und Mac OS den persönlichen Schlüssel extrahiert, sowie ein zweites, welches damit dann die eigenen EPub-Dateien entsperrt.
Aus Skript 1 ließ sich der MacOS-Part herausreißen, um ihn anschließend auf die activation.xml-Datei des Oyos anzusetzen. Letzteres habe ich probehalber hier gemacht: ineptkey-oyo.py_.gz.
In dem Skript steckt keinerlei Magie (und auch keine Krypto) - es extrahiert aus einer (ohne irgendwelche Kniffs lesbaren) XML-Datei einen einzelnen Knoten, wandelt die Base64-Darstellung zurück in die Binärdarstellung und speichert diese Daten in eine zweite Datei. Das Entschlüsseln geschieht hierin nicht.
Weitere Informationen
Inzwischen habe ich entdeckt, daß meine Erkenntnisse keine bahnbrechenden Neuerungen sind - andere haben hier ebenfalls schon Gehversuche unternommen. Daher hier einige Verweise zu anderen Seiten, die sicher noch weitere Informationen und Erfahrungen beinhalten:
- Outside the walled Garden - Zugangsversuche sowie der Versuch, Debian auf den Oyo zu bringen
- Oyo Information Wiki - eine Sammelstelle für Fakten rund um den Oyo
Da die Firmware scheinbar keine Signatur benötigt, besteht die Chance, daß es Community-Entwicklungen geben wird, falls Thalia (und wer sonst noch hinter dem Oyo steckt) nicht in die Pötte kommen.


Das ist alles sehr
Das ist alles sehr interessant. Ich liebäugle auch mit diesem Gerät. Hast du einen Eindruck, inwieweit es möglich ist, eigene Anwendungen auf diesem Gerät zu installieren?
-Thomas
Eigene Anwendungen auf dem Oyo
In dem erwähnten Wiki gibt es auch ein Cookbook für ein Build-Environment. So, wie ich das sehe, spricht nichts dagegen, eigene Anwendungen auf die Oyo-Hardware zu bringen.
OYO Zugang
Hallo,
leider ist das Display meines Gerätes durch einen Displayriss nicht mehr funktionsfähig. Auf dem internen Speicher sind einige Dokumente, die -meine Arbeit im sozialen Bereich betreffend (Fallstudien, Aktennotizen usw.) - vor einem einschicken des Gerätes an Medion gelöscht werden müssen. Das geht scheinbar aber nur, wenn der Massenspeicher via Touchscreen aktiviert wird. Das ist wegen dem kaputten Display natürlich nicht mehr möglich. Fällt Ihnen vielleicht eine andere Möglichkeit ein? Über einen entsprechenden Hinweis würde ich mich sehr freuen.
Tim Schreiber
Re: OYO Zugang
Hallo Tim,
ja, das sollte mit dem "Hack" funktionieren - dafür brauchst Du eine Micro-SD-Karte.
Lege eine Datei "usbdebug" ins Hauptverzeichnis der SD-Karte, stecke sie in den Oyo und schalte ihn an. Dann verbinde ihn (wie beschrieben) mit einem Terminalprogramm. Logge Dich als "root" (mit Passwort "SReader") an.
Nun kannst Du Deine Dateien auf die SD-Karte kopieren und vom Speicher des Oyos löschen.
Hallo und erst einmal ganz
Hallo
und erst einmal ganz lieben Dank für die schnelle Antwort.
Leider kenne ich mich mit Linux/Terminasl überhaupt nicht aus.
Ich habe auch das oben genannten Terminalprogramm nicht finden können und habe nun stattdessen etwas das "Hterm Beta" geisst.
Dann habe ich eine .txt Datei mit dem Namen "usbdebug" angelegt (das war sicherlich falsch aber ich wusste nicht wie sonst eine "Datei" erstellt werden kann. Die Zeigt der Oyo nun auch im Bücherregal an.
Weiter passiert irgendwie nichts - was sicherlich auch daran liegt, das ich von dem Programm keine Ahnung habe *argh
Naja, ich denke nicht, das ich das kognitiv auf die Reihe bekomme - sieht doch alles sehr kompliziert aus.
Richtig gut wäre es natürlich, wenn es eine Tastenkombination für das Speicherformatieren gäbe. :)
Liebe Grüße,
Tim
Re: Oyo löschen
Moin,
wenn Du die Datei angelegt hast, sollte der Oyo nach dem Einschalten auf dem eigenen Display garnix anzeigen - jedenfalls sollte er nicht bis zum Bücherregal hochlaufen.
Eine Tastenkombination wäre mir nicht bekannt (wäre auch ziemlich gefährlich, wenn man da versehentlich 'draufkommt). Und das "Gerät auf Werkszustand zurücksetzen" scheidet bei Dir ja wegen des defekten Displays aus :-)
Das ganze Procedere dürfte auch unter Windows mit einem Terminalprogramm funktionieren - aber ich fürchte, das hilft Dir auch nicht wirklich weiter... sorry, eine andere Lösung kann ich nicht anbieten.
Oh ok. Wie wird die Datei
Oh ok. Wie wird die Datei denn angelegt? Ich habe nun einfach eine .txt Datei mit dem Namen "usbdebug" erstellt. War das so richtig? Oder muss das eine andere Dateiart sein?
Hat sich erledigt- das booten
Hat sich erledigt- das booten via SD -Card funktioiniert mit OYO's von Thalia nicht. Da scheint die Firmware anders zu sein. Also ist kein Zugriff möglich.
Funktioniert definitiv :-)
Mein Oyo ist auch von Thalia :-)
Die Datei heißt "usbdebug" - ohne irgendeine Dateiendung, also auch nicht "usbdebug.txt".
Jaha, aber das ist unter
Jaha, aber das ist unter Windows so ohne weiteres nicht zu erstellen. Als ich das dann doch hinbekam ignorierte der OYO dies. Vielleicht ne andere FW drauf? Keine Ahnung. Ich habe am Ende den OYO zwei - dreimal rythmisch gegen die Wand geführt...dann war's erledigt. Mit der Gewissheit: nie wieder Thalia! ;)