06.01.2014 Aufrufe

Schutz von FinTS/HBCI-Clients gegenüber Malware - Hanno Langweg

Schutz von FinTS/HBCI-Clients gegenüber Malware - Hanno Langweg

Schutz von FinTS/HBCI-Clients gegenüber Malware - Hanno Langweg

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

D-A-CH Security 2007<br />

<strong>Schutz</strong> <strong>von</strong> <strong>FinTS</strong>/<strong>HBCI</strong>-<strong>Clients</strong> <strong>gegenüber</strong> <strong>Malware</strong><br />

<strong>Hanno</strong> <strong>Langweg</strong><br />

Universität Bonn & Norwegian Information Security Laboratory<br />

www.hanno-langweg.de<br />

Jörg Schwenk<br />

Universität Bochum<br />

• Alle untersuchten Homebanking-<strong>Clients</strong> verwundbar<br />

• Angriffsmethoden lange bekannt, geschützt wird trotzdem nicht<br />

• <strong>Schutz</strong>maßnahmen sind nicht kompliziert<br />

<strong>Hanno</strong> <strong>Langweg</strong> 1/13


Lokale <strong>Malware</strong>-Angriffe auf <strong>FinTS</strong>/<strong>HBCI</strong><br />

<strong>FinTS</strong>/<strong>HBCI</strong> als <strong>Schutz</strong> gegen Phishing<br />

•Direkte Kommunikation Kunden-PC zu Bank-Server<br />

•Abgesichert über Chipkarte<br />

∗Hardware<br />

∗Kryptographie<br />

• Klasse-2-Kartenleser mit eigener Tastatur<br />

Erfahrungen mit <strong>Clients</strong> für elektronische Signaturen<br />

• Untersuchungen 2001, 2006<br />

• Geringe Fortschritte bei Client-Sicherheit<br />

Ähnliche Defizite bei <strong>HBCI</strong>-<strong>Clients</strong> vermutet<br />

• Auswahl: StarMoney 5.0, Quicken 2007, WISO Mein Geld 2006, VR-NetWorld 3.0<br />

• Angriffsszenario und -methoden wie bei Signatur-<strong>Clients</strong><br />

<strong>Hanno</strong> <strong>Langweg</strong> 2/13


Angriffsszenario für Tests<br />

Angriffsszenario:<br />

• Homebanking auf Personal Computer<br />

∗ Typisches Betriebssystem, hier: Microsoft Windows XP SP2<br />

∗ Typische Softwareinstallation<br />

∗ Typisches Benutzerkonto, keine Administratorrechte<br />

• Lokale Schadsoftware – Trojanisches Pferd – auf dem PC<br />

∗ Herkunft irrelevant, z.B. per E-Mail, Download, Tauschbörse o.ä.<br />

∗ Keine Administratorrechte<br />

> Standardfall “Geschützter Einsatzbereich” bei elektronischen Signaturen<br />

(nach Klassifikation Bundesnetzagentur)<br />

<strong>HBCI</strong>-Chipkarte sichert nur Transport über Netzwerk<br />

> Was passiert zwischen Kunde und Chipkarte?<br />

<strong>Hanno</strong> <strong>Langweg</strong> 3/13


Angriff #1: PIN abfangen<br />

Angriffsziel:<br />

• PIN herausfinden, um dann selbst Transaktionen mit der <strong>HBCI</strong>-Chipkarte zu erstellen<br />

Methoden:<br />

• Window messages an <strong>HBCI</strong>-Client, um PIN aus Eingabefeld auszulesen<br />

∗ Funktioniert bei Signaturclients mittlerweile nicht mehr<br />

• Tastatureingaben belauschen<br />

∗ Ggf. nicht einfach automatisch auswertbar<br />

∗ Klappt gut, wenn kein Klasse-2-Kartenleser im Einsatz<br />

> Alle Produkte unterstützen sichere PIN-Eingabe mit Klasse-2-Lesern<br />

> Gut ... also?<br />

<strong>Hanno</strong> <strong>Langweg</strong> 4/13


PIN-Eingabe mit Klasse-2-Leser – wo ist das Problem?<br />

Authentizität der Kommunikation zwischen <strong>HBCI</strong>-Client und <strong>HBCI</strong>-Chipkarte nicht garantiert<br />

• “Mit wem spricht die Karte wirklich?”<br />

Software<br />

<strong>Malware</strong><br />

<strong>HBCI</strong>-Sw.<br />

(Client)<br />

<strong>Malware</strong><br />

<strong>HBCI</strong>-Sw.<br />

(Client)<br />

Kommandos<br />

ohne PIN<br />

Klasse-1-Kartenleser<br />

Kommandos<br />

mit PIN<br />

PIN<br />

Klasse-2-Leser<br />

1 2 3 Kommandos<br />

4 5 6<br />

7 8 9<br />

OK 0 C<br />

<strong>HBCI</strong>-Chipkarte<br />

PIN<br />

<strong>Hanno</strong> <strong>Langweg</strong> 5/13


Angriff #2: Transaktionen/Auszüge verändern<br />

(Wer Klasse-2-Leser zur Abwehr <strong>von</strong> Keyloggern fordert, akzeptiert lokale <strong>Malware</strong>)<br />

Angriffsziel:<br />

• Lokaler Benutzer soll verfälschte Transaktion in <strong>HBCI</strong>-Client bestätigen<br />

Methoden:<br />

• Fernbedienung und Manipulation der Anzeige per Window messages<br />

∗ Klappt überall prima<br />

∗ Alle Daten (u.a. Zahlungsempfänger) können geändert werden<br />

• Window messages zur Ausforschung der Oberfläche<br />

∗ Dialoge dann einfach nachzubilden<br />

• “Secure Viewer”-Problem bei elektronischen Signaturen<br />

> Alle Produkte verwundbar<br />

<strong>Hanno</strong> <strong>Langweg</strong> 6/13


Angriff #3: Homebanking-Client beliebig manipulieren<br />

Ziel:<br />

• Schadcode im Adressraum des <strong>HBCI</strong>-<strong>Clients</strong> ausführen<br />

Methoden:<br />

• Chipkartenleser-Gerätetreiber austauschen<br />

∗ Wird für Kartenzugriff benötigt<br />

∗ Standardtreiber PC/SC<br />

∗ Oft mit unvollständiger Referenz geladen<br />

• Datei hinzufügen<br />

∗ Abhängig <strong>von</strong> Ordner-Zugriffsrechten<br />

∗ Rechte durch <strong>HBCI</strong>-Client nicht geprüft<br />

> Alle Produkte verwundbar (abhängig <strong>von</strong><br />

lokalen Standardvorgaben)<br />

<strong>Hanno</strong> <strong>Langweg</strong> 7/13


Vergleich<br />

Produkt<br />

PIN<br />

abfangen<br />

Transaktion<br />

ändern<br />

Transaktion<br />

einfügen<br />

Kontoauszug<br />

ändern<br />

Code<br />

ausführen<br />

StarMoney 5.0 ja* ja ja ja ja*<br />

Quicken 2007 ja* ja ja ja ja<br />

WISO<br />

nein* ja ja ja Ja* Admin<br />

Mein Geld 2006<br />

VR-NetWorld 3.0 ja* ja ja ja ja*<br />

> Ergebnisse ersetzen keine gründliche Evaluierung; Angreifereinsatz je ca. 8-10 h<br />

> Achtung: Keine Rangfolge, keine “Gewinner”, keine Produktempfehlung<br />

<strong>Hanno</strong> <strong>Langweg</strong> 8/13


Bekannte Probleme, ungenutzte Lösungen<br />

Probleme sind nicht neu<br />

•CCC 1997: Quicken ferngesteuert<br />

•Uni Bonn 2001: Sicherheit <strong>von</strong> Signatur-<strong>Clients</strong><br />

•NDR 2001: Kartenleserzugriffe umgeleitet<br />

•NISlab 2006: Sicherheit <strong>von</strong> Signatur-<strong>Clients</strong><br />

<strong>FinTS</strong>/<strong>HBCI</strong> kein Sonderfall<br />

• Gleiche Probleme bei elektronischen Signaturen<br />

∗ Technik: Klasse-2-Leser, etwas umsichtigeres Software Engineering<br />

∗ Regulierung: BNetzA-Klassifikation der Einsatzumgebung<br />

∗ Forschung BSI: SISI – Sichere SignaturInfrastruktur<br />

<strong>Hanno</strong> <strong>Langweg</strong> 9/13


Was tun?<br />

Das können Hersteller tun:<br />

• Trusted path zwischen lokalem Benutzer und Banking-Anwendung<br />

∗ Integrität und Authentizität wichtig, Vertraulichkeit weniger<br />

Ausgabe auf sicherer Anzeige, sichere Benutzereingabe als Bestätigung (Hw/Softw)<br />

∗ In Hardware: Klasse-3-Leser mit Display, FINREAD-Leser mit Software<br />

∗ In Software: Mechanismen für Microsoft Windows vorhanden<br />

• Integrität <strong>von</strong> Codebibliotheken zur Laufzeit prüfen<br />

• Einstellung der Zugriffsrechte, Prüfung der Zugriffsrechte<br />

Das können andere tun:<br />

• [Kartenherausgeber] Änderung des Kommunikationsprotokolls Karte-Client<br />

∗ Transaktions-Session mit doppelter PIN-Eingabe (Start, Ende)<br />

• [eCard-API o.ä.] Gemeinsame Softwareplattform für Integritätsprüfungen<br />

• [Microsoft] Unterstützung für Trusted Computing in Windows<br />

<strong>Hanno</strong> <strong>Langweg</strong> 10/13


Ohne Klasse-3-Leser: Bindung Software—Karte<br />

Daten<br />

PIN<br />

Sig(Daten)<br />

4<br />

5<br />

0<br />

2<br />

7<br />

6<br />

3<br />

8<br />

1<br />

9<br />

PIN 1234<br />

Eingabe 6807<br />

Sichere Anzeige [Windows]<br />

+ Klasse-1-Leser<br />

•Separate WindowStation, separater<br />

Desktop, sichere Ein-/Ausgabe<br />

•DirectX FullScreen ExclusiveMode<br />

•Verwürfelte PIN<br />

Klasse-2-Leser + “Signier-Session”<br />

•Bindung <strong>HBCI</strong>-Client–<strong>HBCI</strong>-Karte<br />

<strong>Hanno</strong> <strong>Langweg</strong> 11/13


Die Lage mit Windows Vista<br />

• UAC User Account Control (“Benutzerkontensteuerung“)<br />

∗ Weniger Rechte für Prozesse, Zustimmung durch Benutzer<br />

[Gezeigte Angriffe brauchen keine besondere Rechte]<br />

• MIC Mandatory Integrity Control, UIPI User Interface Privilege<br />

Isolation<br />

∗ Einteilung aller Prozesse in “low”, “medium”, “high”, “system”<br />

∗ Einschränkung <strong>von</strong> Window messages <strong>von</strong> “unten” nach “oben”<br />

[Gezeigte Angriffe arbeiten auf Stufe des <strong>HBCI</strong>-<strong>Clients</strong>]<br />

• Datei- und Registry-Virtualisierung<br />

∗ Verhindert Modifikation einiger Dateien durch Copy-on-Write<br />

(Kompatibilitätsmodus für Alt-Anwendungen)<br />

∗ Achtung: Virtualisierung abhängig <strong>von</strong> Benutzer, nicht Programm<br />

Dateimanipulation bei Bestands-Anwendungen ggf. leichter<br />

> Von alleine kaum Verbesserung, Betriebssystem nur Werkzeugkasten für Entwickler<br />

<strong>Hanno</strong> <strong>Langweg</strong> 12/13


Schlussbetrachtung<br />

<strong>FinTS</strong>/<strong>HBCI</strong>-<strong>Clients</strong> bieten heute kaum <strong>Schutz</strong> vor lokaler <strong>Malware</strong><br />

• Momentan noch theoretisches Angriffsszenario<br />

• Keine Insiderkenntnisse nötig, keine Administratorrechte nötig,<br />

Verwundbarkeit im Design der Software<br />

• Trügerische Sicherheit mit Klasse-2-Leser<br />

• Protokoll der <strong>HBCI</strong>-Chipkarten wird bleiben<br />

∗ Karten müssten geändert werden<br />

∗ Karten nicht einmal flächendeckend Standard-<br />

Sicherheitsmedium<br />

Ausblick<br />

• Verbesserungen durch Software-Hersteller<br />

möglich: einfach und billig, auch alleine<br />

• Von elektronischen Signaturen lernen – Zusammenarbeit?<br />

<strong>Hanno</strong> <strong>Langweg</strong> 13/13

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!