Web-Sicherheit

Januar 31, 2011

Mein Buch „Web-Sicherheit“ ist nun offiziell erschienen!

Filed under: Allgemein — sebastiankuebeck @ 19:07
Tags: , , , ,

Nach einenhalb Jahren harter Recherchearbeit, die das Durchforsten von zirka 30 Büchern und Unmengen von Online-Material erforderte (mein Download-Ordner für einschlägige Literatur umfasst inzwischen 159 MB) ist zweites mein Buch nun offiziell erhältlich. Ich hatte zwar schon jahrelange Erfahrung mit dem Thema Web-Sicherheit, dennoch gab es auch für mich noch viel Neues zu entdecken.

Der Verlag hat freundlicherweise einige Kapitel zum freien Download bereitgestellt, so können Sie sich vorab ein Bild darüber machen, ob das Buch für Sie von Nutzen ist, oder nicht. Zusätzlich zum Buch habe ich auch eine Webanwendung geschrieben, die die einzelnen Angriffstechniken in der Praxis nachvollziehbar macht. Sie wird in den nächsten Tagen ebenfalls zum freien Download zur Verfügung stehen.

Der Auftakt: Grundlagen der IT-Sicherheit

Im scharfen Kontrast zu meinem ersten Buch Software-Sanierung handelt es sich bei Web-Sicherheit um einen Leitfaden für Leute, die sich in das umfangreiche Thema der Absicherung von Webanwendungen vertiefen wollen.
Dementsprechend werden keine Kenntnisse der IT-Sicherheit vorausgesetzt; es ist also auch für Programmierer geeignet, die sich erstmals mit diesem Thema befassen.

Allerdings hält es auch für erfahrene Sicherheitsspezialisten die eine oder andere Überraschung bereit, denn der erste Teil enthält zahlreiches Material, welches ich noch in keinem Buch über IT-Sicherheit gefunden habe. So habe ich mich bemüht, dem Leser erst einmal grundlegende Kenntnisse zum Thema Sicherheit zu vermitteln, bevor ich im zweiten Teil auf das eigentliche Thema, nämlich das Beschreiben der häufigsten Schwachstellen und das Absichern von Webanwendungen eingehe. Im Zuge dessen habe ich versucht, gleich einmal mit gängigen Vorurteilen aufzuräumen, nämlich dem Mythos der absolut sicheren technischen Lösung, der 100% sicheren Nachrichtenübertragung und -speicherung sowie dem Mythos der unfehlbaren Authentifizierung.

Wie weit besonders der letztgenannte Mythos verbreitet ist, hat die Diskussion über den elektronischen Personalausweis in Deutschland wieder eindrucksvoll gezeigt. Der anerkannte Sicherheitsexperte Bruce Schneier hat schon vor längerer Zeit prophezeit, dass das nach hinten losgeht und spätestens wenn Sie den ersten Teil meines Buches gelesen haben, erkennen Sie, dass es kaum möglich ist, dass diese Prophezeiung nicht in Erfüllung geht.

Ans Eingemachte: Die häufigsten Schwachstellen

Zu Anfang des zweiten Teils rücke ich dann dem nächsten Mythos zu Leibe: Web Application Firewalls, Datenbankfirewalls, Intrusion-Detection-Systeme und vergleichbaren Techniken. In jedem weiteren Kapitel dieses Teils weise ich dann noch ausdrücklich darauf hin, inwieweit diese Technologien für die beschrieben Schwachstelle von Nutzen sind.
Die Beschreibung der Schwachstellen geht dabei über die bekannten OWASP Top Ten hinaus. So habe ich auch neuere Angriffstechniken (oder solche, die neuerdings bei Angreifern sehr beliebt sind) wie Clickjacking- und ReDoS-Schwachstellen mit aufgenommen.

Die Workshops, die ich zu diesen Themen bereits abgehalten habe, haben gezeigt, dass diese Themen auch von weniger erfahrenen Programmierern und sogar von manchen Managern schnell verstanden werden.
Allen Teilnehmern hat dieser Workshop bisher übrigens großen Spaß gemacht und sie konnten schon nach relativ kurzer Zeit ihre eigenen Webanwendungen erfolgreich angreifen. Dabei hat sich leider auch gezeigt, wie wenige Programmierer auch nur rudimentäre Kenntnisse in der IT-Sicherheit haben und das die Ausbildung (Hochschulen, Universitäten, etc.) hier vollkommen auslässt.

Erkennen, Absichern und Vorbeugen: Testen und Absichern von Webanwendungen

Der dritte Teil befasst sich mit dem Testen und Absichern von Webanwendungen. Den Anfang machen die gängigsten Techniken zum Aufspüren von Schwachstellen: Schwachstellen-Scans, Penetrationstests und Code-Reviews. Im Gegensatz zu vielen anderen Büchern werden diese Techniken Anhand von konkreten Beispielen demonstriert und es wird auf die Stärken und Schwächen derselben hingewiesen.
Weiter geht es dann mit einem Kapitel zu einer nützlichen Technik zur Vermeidung von Kodierungsproblemen, welche ja die Ursache vieler Schwachstellen wie Injection-Schwachstellen und Cross-Site Scripting sind, die da lautet:

So früh wie möglich Dekodieren und Validieren und so spät wie möglich Kodieren.
Diese Technik hat sich über die Jahre bewährt und sie hat inzwischen in der OWASP auch schon einige Freunde gefunden.

Den Abschluss machen dann zwei ausführliche Beispiele, anhand derer das Beheben von Schwachstellen in Webanwendungen demonstriert wird. Hier schließt sich der Kreis wieder zum Inhalt meines ersten Buch „Software-Sanierung“, denn ich demonstriere, wie man Schwachstellen mit der Unterstützung von automatisierten Tests behebt. Die Tests legen dabei erst einmal die Schwachstellen bloß und durch das beheben derselben laufen auch die Tests ohne Beanstandung durch. Der praktische Nebeneffekt dieser Tests ist, dass die Anwendung auch im Abgesicherten Zustand noch ordnungsgemäß funktioniert, denn was hilft schon die sicherste Anwendung, wenn sie nicht funktioniert?

Viel Spaß und Erfolg also mit den Beispielkapiteln, der Demo-Anwendung und vielleicht auch mit dem Buch!

Graz am 31.1.2011

Sebastian Kübeck

Falls Sie Fragen oder Anregungen haben, wenden Sie sich bitte an die Folgende Yahoo-Group:
http://de.groups.yahoo.com/group/websicherheit/

Dort werde ich morgen auch die Demo-Anwendung hochladen.

Bankenseiten weiterhin unsicher

Filed under: Allgemein — sebastiankuebeck @ 16:32
Tags: , , , , , ,

Gefunden auf heise Security:

Im September berichtete das Computermagazin c’t über ungenügende Sicherheit bei Banken-Websites. Der 16-jährigen Schüler Armin Razmdjou hatte auf den Web-Seiten von 17 Banken Cross Site Scripting Lücken entdeckt. Als er drei Monate später die Web-Auftritte der Banken nochmals testete, fand er in jedem Web-Auftritt erneut ernst zu nehmende Sicherheitslücken.

Weiter heißt es:

Bei der DKB-Bank und Cortal Consors ging es sogar ans Eingemachte. Über geschickt gewählte URLs konnte man Zugriff unter anderem auf Systemdateien des Servers erlangen [Anm: siehe das Kapitel Fehlerhafte Autorisierung in meinem Buch]. Über derartige Lücken lassen sich oft wichtige Daten auf den betroffenen Systemen ausspionieren. Die anderen Lücken ermöglichten vor allem wieder so genanntes Cross Site Scripting, das sich etwa für raffinierte Phishing-Attacken ausnutzen ließe. Häufige Ursache waren Zusatzangebote wie Börsenkurse (Hypo Vereinsbank, DAB), Finanzberatung (Postbank) oder ein Stellenmarkt (Allianz). Aber bei der WestLB, der HSH Nordbank und der Bank of Scotland waren sogar die Login-Seiten nicht ausreichend gesichert.


Hier wurde ein iFrame in die Seiten der Allianz eingeschmuggelt. Weitere Beispiele befinden sich hier. Frame-Spoofing ist übrigens ein Spezialfall einer unsicheren Weiterleitung, welche ich in meimem Buch im gleichnamigen Abschnitt ausführlich behandle.

Ich bin mir ziemlich sicher, dass das nur die Spitze des Eisbergs ist. Wenn Unternehmen bereits Probleme haben, diese relativ einfach zu erkennenenden Schwachstellen zu vermeiden, lauern da sicher noch zahlreiche schlimmere. Ich Tippe einmal blind auf Session-Fixation und CSRF.

Noch schlimmer wiegt, dass es bei den betroffenen Banken offenbar überhaupt kein Problembewusstsein gibt…

Nachdem heise Security die Banken über die Probleme unterrichtete, wurden diese innerhalb weniger Tage behoben. Das gilt im Übrigen auch für ein Sicherheitsproblem auf den Seiten der Credit Europe Bank, auf das der Sicherheitsberater Dirk Wetter die Bank zuvor bereits neun Monate auf verschiedenen Wegen aufmerksam macht.

Diese Banken reagieren offenbar wirklich nur dann, wenn etwas passiert oder wenn jemand mit schlechter Presse droht. Es ist also leider wieder die gesetzliche Keule nötig, damit sich Bankmanager kurzzeitig von ihren Bonuszahlungen abwenden um sich zumindest Kurzfristig der Sicherheit ihrer Kunden zu widmen…

Januar 21, 2011

Sicherheitsprobleme von Browsern

Filed under: Allgemein — sebastiankuebeck @ 15:16
Tags: , , , , ,

Interessante Präsentation über Browser(un)sicherheit von Collin Jackson, Dozent am Carnegie Mellon University Silicon Valley Campus.


Er behandelt speziell die Themen Cross-Site Request Forgery (CSRF) und Probleme beim Session-Management und geht dabei über die Themen hinaus, die ich in meinem Buch beschrieben habe. Das Problem „Login CSRF“ ist dabei eine Kombination von unsicherem Session-Management und mangelhaftem Schutz vor CSRF.

Ich habe auch ausschließlich die Verteidigung mittels Token beschrieben, da das nach Meinung der OWASP und meiner Meinung die Sicherste Lösung darstellt. Die Idee, die Restriktionen beim Setzten von HTTP-Headern durch die Same Origin Policy zu verwenden, um Ajax-Anwendungen vor CSRF-Angriffen zu schützen, war mir neu, ist aber eine interessante und vor allem innovative Idee! Lediglich die Überprüfung des Referrers scheint mir etwas gefährlich zu sein.

Auf der Homepage der Universität stehen übrigens zahlreiche interessante Papers zur freien Verfügung. Unter anderem auch das Busting-Frame-Busting-Paper (an dem Collin Jackson auch beteiligt war) auf dessen Inhalt ich in Kapitel 10 mit einem konkreten Beispiel eingehe.

Bloggen auf WordPress.com.