Neues eBook: "Angriffsziel UI - Benutzeraktionen, Passwörter und Clickjacking"
"Angriffsziel UI - Benutzeraktionen, Passwörter und Clickjacking" ist als eBook bei entwickler.press erschienen.
Vorgestellt werden verschiedene Angriffe rund um das UI und wie man sie abwehrt. Die Themen im einzelnen sind
- Logikfehler, durch die sich die Webanwendung anders verhält als vom Entwickler gedacht.
- Die Möglichkeiten zur sicheren Authentifizierung der Benutzer, denn einfach nur Benutzername und Passwort abfragen reicht heute nicht mehr aus. Zur wirklich sicheren Authentifizierung muss schon ein zweiter Faktor hinzu gezogen werden, zum Beispiel der Google Authenticator.
- Aktuelle Entwicklungen rund um das auch als UI-Redressing bezeichnete Clickjacking.
Kapitel 1: Angriffe über Logikfehler
Vorgestellt werden einige typische Logikfehler sowie Möglichkeiten, deren Entstehung zu verhindern.
Was nicht beschrieben wird, ist die Suche nach den Schwachstellen. Die lässt sich nicht so einfach beschreiben, da es zu viele Möglichkeiten für Logikfehler gibt. Sehr vereinfacht gesagt müssen Sie jeden Schritt jeder Funktionalität Ihrer Webanwendung daraufhin prüfen, ob er zu unerwarteten Ergebnissen führen kann. Dafür sind umfassende Kenntnisse über das gewollte Verhalten der Webanwendung notwendig, und wer anders als der Entwickler sollte die besitzen? Falls sich aber ein Logikfehler eingeschlichen hat, dann weil es an eben diesen Kenntnissen irgendwo gefehlt hat. Das sind schlechte Voraussetzungen für eine erfolgreiche Suche, nicht war? Darum setzen Sie alles daran, Logikfehler von Anfang an zu vermeiden.
Kapitel 2: Sicheres Einloggen mit zwei Faktoren
Die Kombination aus Benutzername und Passwort reichte lange aus, um einen Benutzer sicher zu identifizieren. Inzwischen gelangen diese Zugangsdaten immer öfter in falsche Hände. Also muss ein zusätzlicher Faktor die Authentifizierung absichern, wenn man wirklich auf Nummer Sicher gehen will.
Es werden die verschiedenen Methoden zur Authentifizierung beschrieben und einige Beispiele für eine Zwei-Faktor-Authentifizierung mit ihren jeweiligen Vor- und Nachteilen vorgestellt. Den zur Zeit besten Kompromiss hinsichtlich Sicherheit und Benutzerfreundlichkeit dürfte meist eine Smartphone-App zum Erzeugen von Einmal-Passwörtern wie zum Beispiel der Google Authenticator darstellen.
Die Token zum Erzeugen von Einmalpasswörtern sind sicher (wenn der Hersteller nicht falsch spielt), aber teuer. Die Smartphone-Apps sind eine gute Alternative, so lange es noch keine spezielle Schadsoftware gibt, die sie angreift. Warum sollte man also nicht zum Google Authenticator greifen? Immerhin ist der sogar Open Source und man kann ziemlich sicher sein, dass keine Hintertür enthalten ist.
Kapitel 3: UI-Redressing aka Clickjacking
Clickjacking ist inzwischen 6 Jahre alt - und es gibt immer wieder neue Varianten und Angriffsmöglichkeiten. Inzwischen sogar ohne den Einsatz unsichtbarer iframes.
Die Cyberkriminellen scheinen Clickjacking jetzt für ihre dunklen Geschäfte nutzen zu wollen. Es wird also höchste Zeit, dass Sie ihre Webanwendungen vor solchen Angriffen schützen. Da die meisten von Ihnen "normale" Webanwendungen entwickeln werden, reichen Ihnen auch die normalen Schutzmaßnahmen. Wenn Sie Sonderfälle vergleichbar mit Facebooks Like-Button implementieren, wird der Schutz vor einem Missbrauch schwieriger. Denn wie Devdatta Akhawe et al. gezeigt haben, führen dann unter Umständen schon ein paar einfache Zaubertricks zum Erfolg des Angriffs. Im Notfall wird Ihnen also nichts anderes übrig bleiben, als auf eine einfache 1-Klick-Lösung zu verzichten. Eine Passwortabfrage oder ein CAPTCHA lassen sich mit Clickjacking nicht umgehen.
Links und Literaturverweise
Kapitel 1: Angriffe über Logikfehler
- [1] Sumit Siddharth, Richard Dean; Black Hat Abu Dhabi 2012: "The art of exploiting logical flaws in web apps"
- [2] David Byrne, Charles Henderson; OWASP AppSec DC 2012: "Anatomy of a Logic Flaw" (Paper als PDF)
- [3] Marcus Pinto; OWASP AppSec Ireland 2012: "Beyond the OWASP Top 10"
Kapitel 2: Sicheres Einloggen mit zwei Faktoren
- [1] erdgeist: "Chaos Computer Club konkretisiert Biometrie-Debatte an Schäubles Fingerabdruck"
- [2] Carsten Eilers: "Passwörter speichern, aber richtig!"; PHP Magazin 6.2013
- [3] Carsten Eilers: "Noch ein bekannter Advanced Persistent Threat: Der Angriff auf RSA"
- [4] Carsten Eilers: "Gezielter Angriff auf RSA mit unabsehbaren Folgen"
- [5] Carsten Eilers: "RSA und die unsicheren SecurID Token"
- [6] Carsten Eilers: "Kryptographie im Zeitalter der NSA, Teil 3"; Entwickler Magazin 3.2014
- [7] Google Authenticator
- [8] RFC 4226 – HOTP: An HMAC-Based One-Time Password Algorithm
- [9] RFC 6238 – TOTP: Time-Based One-Time Password Algorithm
- [10] Michael Kliewe: "2-Faktor-Authentifizierung mit dem Google Authenticator"
- [11] Michael Kliewe: PHPGangsta/GoogleAuthenticator auf GitHub
- [12] Carsten Eilers: "Onlinebanking: Cyberkriminelle reagieren auf Chip- und SMS-TAN"
- [13] Carsten Eilers: "Die smsTAN ist tot, der SMS-Dieb schon da!"
- [14] Carsten Eilers: "Angriffe auf mTAN, tibetische Aktivisten, Windows 8 und mehr"
- [15] Kai Engert: kaie/otp-authenticator-android (OTP Authenticator) auf GitHub
- [16] FreeOTP
Kapitel 3: UI-Redressing aka Clickjacking
- [1] Carsten Eilers: "Clickjacking - Angriffe auf Seiten ohne Schwachstellen"
- [2] Carsten Eilers: "Der Angriff der Clickjacking-Würmer, "Likejacking" und "Buttonjacking"
- [3] RFC 7034 - HTTP Header Field X-Frame-Options
- [4] Bugzilla@Mozilla Bug 725490: X-Frame-Options: SAMEORIGIN largely useless as implemented
- [5] W3C: Content Security Policy 1.0
- [6] W3C: Content Security Policy 1.1
- [7] W3C: User Interface Security Directives for Content Security Policy
- [8] Mozilla Security Blog: "Content Security Policy 1.0 Lands In Firefox"
- [9] Robert Hansen, Jeremiah Grossman: "Clickjacking"
- [10] Guy Aharonovsky: "Malicious camera spying using ClickJacking"
- [11] Feross Aboukhadijeh: "HOW TO: Spy on the Webcams of Your Website Visitors"
- [12] Ahamed Nafeez: "Adobe Flash Webcam clickjacking - The security fix that wasn't."
- [13] Jitendra Jaiswal; Hacking Concepts: "Click-jacking or UI Redressing"
- [14] Paul Stone; Black Hat Europe 2010: "Next Generation Clickjacking"
- [15] Paul Stone; Context Security: "Clickjacking - Black Hat 2010"
- [16] Paul Stone; Context Security: Clickjacking Tool
- [17] Rosario Valotta; Hack in the Box Amsterdam 2011: "CookieJacking" (Paper dazu als PDF)
- [18] Rosario Valotta: Cookiejacking FAQ
- [19] Jim Finkle; Reuters: "Microsoft latest security risk: "Cookiejacking""
- [20] Eric Y. Chen, Sergey Gorbaty, Astha Singhal, Collin Jackson; IEEE Symposium on Security and Privacy 2012: "Self-Exfiltration: The Dangers of Browser-Enforced Information Flow Control" (PDF auf archive.org)
- [21] Luca De Fulgentis; Nibble Security: "UI Redressing Mayhem: Identification Attacks and UI Redressing on Google Chrome"
- [22] Devdatta Akhawe; Black Hat USA 2013: "Clickjacking revisited: A perceptual View of UI Security"
- [23] Devdatta Akhawe, Warren He, Zhiwei Li, Reza Moazzezi, Dawn Song; 8th USENIX Workshop on Offensive Technologies WOOT 2014: "Clickjacking Revisited: A Perceptual View of UI Security"
- [24] YouTube-Video: Black Hat USA 2013 - Clickjacking Revisited: A Perceptual View of UI Security
- [25] Carsten Eilers: "Zeus - Trojaner, Botnet, Schädlingsbaukasten, ..."
- [26] Jennifer Gumban; Trend Micro Security Intelligence Blog: "Sunsets and Cats Can Be Hazardous to Your Online Bank Account"
Trackbacks