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
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