SmartTan Optic – denn ohne Mensch ists Sicherer?

Bis letztes Jahr war meine Onlinebankingwelt noch in Ordnung – meine Bank hatte seit einigen Jahren mit „SmartTAN Plus“, auch bekannt als „HHD1.2“ ein für mich akzeptables System im Einsatz: Hierbei erhielt man ein kleines, eigenständiges Gerät mit Kartenleser, Tastatur und Display – in meinem Fall war es ein TanJack Plus von Reiner-SCT . Wird eine Onlineüberweisung o.Ä. gestartet erhält man eine Zufallszahl – hat man seine Bankkarte in das Gerät gesteckt gibt man diese zusammen mit der Kontonummer des Empfängers in das Gerät ein. Hat man alle Daten bestätigt zeigt der Leser eine 5 stellige Nummer an über welche man die Transaktion auf der Bank-Webseite bestätigen kann. Zwar liegen die Spezifikationen großteils nicht offen, aber durch die Trennung zwischen PC und Tan-Generator ist ein gewisser Schutz gewährleistet. Alternativ bietet die Bank mit m-Tan auch eine Handy-Lösung an bei welcher die TAN als SMS zugestellt wird, aber das möchte man natürlich nicht

Nun steht für Kunden des HHD1.2 ein Update auf HHD1.4, auch bekannt als SmartTan Optic oder SmartTan Comfort an. Bei dieser Lösung wird nun auch der Betrag zur Erstellung der TAN verwendet, die große Neuerung ist aber die Übertragung: Statt einer Eingabe auf dem Keypad sorgt nun eine animierte Grafik auf der Bankwebseite/-software in Zusammenarbeit mit Fotodioden an den (selbstverständlich auf eigene Kosten neu anzuschaffenden) Lesern für die Übertragung der Daten. Auf der Seite der VR Bank Rhein Sieg heißt es hierzu beispielsweise:

Sicherheit und Komfort für mehr Vertrauen

[…]Die optische Schnittstelle liest die notwendigen Kontrolldaten vom Monitor direkt in das Lesegerät ein.[…]Das Zwei-Schritt-Verfahren ist so für den Bankkunden noch komfortabler – bei gleichbleibender Sicherheit.

Nunja, komfortabler ja, aber sicherer? Zum Ersten entfällt die „Zwangsprüfung“ der Kontonummer bei der Eingabe. Da die Daten direkt im TAN-Generator landen ist die Verlockung groß ohne weitere Prüfung schnell mit OK zur TAN durchzuhechten. Zum Anderen geht auch die Kontrollmöglichkeit verloren – zwar ist der verwendete Flickercode bereits halbwegs entschlüsselt, aber wer prüft das schon? (OK, ich…) Es existiert also eine nur schwer prüfbare (einweg)Verbindung – genau das, was man eigentlich nicht möchte. Wer sagt mir, dass hier nicht neben den Bankdaten schnell eine neue Firmware übertragen wird? Zumindest einige Konfigurationscodes für die Tastatur zur Änderung des Leser-Verhaltens lassen sich im Netz finden, die Programmstrukturen sind also definitiv nicht vollständig in Hardware abgebildet. Das schlimme dabei: Wenn man tatsächlich von einem solchen Angriff betroffen wäre dürfte es schwer werden die Bank davon zu überzeugen, dass es ein Systemfehler ist – man würde vermutlich auf dem Schaden selbst sitzen bleiben. Ja, ich weiß, ich bin in der Ecke etwas Paranoid, aber zumindest bei der Eingabevalidierung nimmt es das Gerät nicht ganz so genau, denn nunja, mit etwas Javascript im Browser (welcher beispielsweise per Trojaner auf der Bank-Webseite eingeschleust werden könnte) bringt der Leser beispielsweise folgende Ausgaben:

(Technischer Hinweis: Der Betrag wird im Flicker-Code als ASCII codiert, hierbei sind neben Zahlen auch Buchstaben und einige Sonderzeichen möglich. Selbstverständlich kommt hierdurch keine gültige TAN mehr raus, eine Gefahr besteht hierdurch also nicht – allerdings ist es auch kein gutes Ohmen für die allgemeine Codequalität des Systems.)

Weiter habe ich nicht probiert, da das Gerät bei den Tests für diese Aktion bereits sehr fragil reagierte wollte ich den Leser nicht mit Zeilenumbruch oder NULL-Zeichen komplett aus der Fassung bringen… Nunja, bei meiner Bank ist auch eine manuelle Eingabe der Daten weiterhin möglich, auch wenn der versprochene „Comfort“ für mich damit ein großes Minus davor hat – für das ich natürlich auch noch zahlen darf.

Synchronkopien auf Open Source-Basis

Netzwerk ist toll. Alle Daten überall verfügbar. Theoretisch.

Um ein solches Konstrukt zu realisieren hatte ich bisher ein NFS-Share auf meinem Server aktiv und an den Clients selbiges gemountet – üblicherweise eine solide Basis, allerdings gibt es einen gewaltigen Nachteil: Es wird eine ständige Verbindung zum Server benötigt und Daten werden bei jedem Vorgang (sofern nicht im Cache) neu über das Netzwerk gelesen. Ergebnis sind hohe Netzlasten und kein Offlinebetrieb.

Zwichenzeitlich hatte ich immer wieder nach anderen Lösungen gesucht welche auf meinem Laptop einen Offlinebetrieb sicherstellen und auch große Dateien meines Hauptrechners schnell verarbeiten kann. Vorzugsweise sollten die Daten also lokal liegen und auf einen Server repliziert werden, hierdurch habe ich einen Offlinebetrieb und kann auf Systemen mit SSD einen Leistungssprung erhalten.

Dropbox
Die Lösung, welche vermutlich die meisten Leute kennen ist Dropbox. Zwar ist das System weit verbreitet und ausgereift, allerdings nicht Open Source, es werden Server verwendet welche man nicht selbst kontrollieren kann und der Speicher ist relativ teuer. Keine Lösung für mich.

SparkleShare
SparkleShare arbeitet ähnlich wie Dropbox, jedoch benötigt man einen eigenen Server. Standardmäßig wird für Synchronisationsnachrichten ein externer Server verwendet, hierbei sollen jedoch keine indentifizierbaren Daten gesendet werden – wem dies nicht gefällt kann über einen zusätzlichen Serverdienst diese Aufgabe auch selbst übernehmen. Im Hintergrund arbeitet das System auf Basis der Revisionsverwaltung Git. Leider scheint das System nicht für meine Datenmassen ausgelegt zu sein, daher war auch dieses System für micht nicht sinnvoll nutzbar.

DDRB
Auch DDRB könnte eine lokale SSD ausnuzten, jedoch wäre ein Betrieb ohne dauerhafte Verbindung nicht möglich. Da der für solche Zwecke fast schon unumgängliche Proxy nicht Open Source ist fällt auch diese Lösung in die Tonne.

rsync
Also back to the shell – mit rsync lassen sich Ordner auch über mehrere Systeme schnell und effizient Synchronisieren. Regelmäßig ausgeführt lässst sich so eine von mit gewünschte Lösung erreichen. Zwar könnte es zu Problemen bei der gleichzeitigen Nutzung mehrerer Computer kommen, da sowas jedoch bei einem Nutzer nur selten vorkommt kann ich hiermit leben. Das regelmäßige Ausführen ließ sich beispielsweise über einen Cronjob realisieren.

lsyncd
Um das RSync-Prinzip zu vereinfachen lässt sich die Software LSyncd verwenden – sie überwacht die verwendeten Ordner, sammelt Änderungen und löst bei Bedarf passende rsync-Prozesse aus. Über dieses Konzept erspart man sich das ständige Prüfen auf Änderungen. Lsyncd arbetet nur in eine Richtung – da dies für micht kein Problem ist wird nun beim Login ein rsync Server->Client ausgelöst und danach LSyncd für Client->Server gestartet.

…and beyond
Da rsync/lsyncd sehr zuverlässig arbeitet darf sich neben dem Datenordner die Lösung bei mir noch an ganz anderer Stelle beweisen: Einige Programme benötigen viel IO, jedoch ist die Datenintegrität nicht sonderlich wichtig, hierzu zählen vor allem die Caches von Browser und Mailsoftware. Diese Ordner werden nun beim Login auf ein tmpfs kopiert und verknüpft. Rsync/LSyncd sorgen dafür, dass die Daten regelmäßig wieder auf der Platte landen und so auch bei einem Absturz der Datenverlust nur gering ist. Bei einem regulären Logout wird natürlich ohnehin synchronisiert. Da die fragliche Maschiene genügend RAM besitzt sollte der Platz kein Problem sein – durch die Swapiness müsste Linux ohnehin unbenutzte Bereiche des tmpfs-Volumes wieder auf die Platte befördern.

BitBastelei #24 – ASUS-Tablet SL101 am Solarsystem

BitBastelei #24 - ASUS-Tablet SL101 am Solarsystem

(244 MB) 00:04:00

2012-12-30 11:00 🛈

In der letzten Solar-Folge hatte ich bereits Laptop, Handy & Co mit Strom aus der Solaranlage versorgt – leider setzt ASUS bei meinem Tablet auf eigene Standards welche etwas Lötarbeit nötig machen.

Linux: Anzahl der geöffneten Dateien pro Prozess anzeigen

*Poff* – das war die Wand der maximal geöffneten Prozesse auf einem Linux-System – praktisch wäre es jetzt noch zu wissen welcher Prozess dafür verantwortlich ist. In diesem Fall hilft folgender Befehl – er erstellt eine Liste aller Prozesse mit der Anzahl der geöffneten Dateien, die verschwenderichsten oben:

lsof | cut -d ' ' -f 1 | uniq -c | sort -r

BitBastelei #23 – 12V-Fertignetzteile an der Solaranlage

BitBastelei #23 - 12V-Fertignetzteile an der Solaranlage

(103 MB) 00:06:43

2012-12-26 22:19 🛈

Nachdem ich in #18 einige 12V-Steckdosen verteilt habe war der nächste Schritt ja klar: Als erstes dürfen einige Fertignetzteile die Dosen okkupieren und so Handy-, Laptop- und Kameraakkus mit neuer Energie versorgen.

Nerd Inside