OWASP Global AppSec Amsterdam 2019

Danke Puzzle, dass ich dieses Jahr an der OWASP Global AppSec Konferenz in Amsterdam teilnehmen durfte! OWASP steht für Open Web Application Security Project und die Organisation hat das Ziel, die Sicherheit von Applikationen zu verbessern. Als OWASP Member freue ich mich immer, alte Freunde zu treffen, neue Kontakte zu knüpfen und anschliessend unglaublich inspiriert und mit vielen neuen Ideen nach Hause zu fahren. Das war auch dieses Mal wieder der Fall.

Am Tag vor der offiziellen Konferenz führten wir unseren zweiten OWASP ModSecurity Core Rule Set Contributor Summit durch. Es hatte mich riesig gefreut, die Menschen persönlich zu treffen, die ich seit vier Jahren kenne und mit denen ich mich einmal im Monat austausche. Am Nachmittag wurden interessante Präsentationen gehalten und Gespräche geführt, in denen wir als Contributor Einsicht erhielten, wie Firmen, Universitäten und teilweise kommerzielle Hersteller das Core Rule Set (CRS) einsetzen.

Am nächsten Tag startete die 2-tägige Konferenz mit der Keynote „The house is built on sand: exploiting hardware glitches and side channels in perfect software“ von Herbert Bos von VUSec. Dabei mussten wir erfahren, dass auch perfekte Software über Memory und CPU angreifbar ist.

Mit den anderen CRS Contributoren musste ich natürlich Christian Folini während seines Talks „Practical OWASP CRS in High Security Settings“ anfeuern. Durch seine langjährige Erfahrung konnte er uns praktische Tipps für den Einsatz einer WAF in High Security Umgebungen mit auf den Weg geben.

Katy Anton hat ihren Talk „Security Vulnerabilities Decomposition: Another way to look at vulnerabilites“ mit einer provokativen Aussage gestartet. Oft sei Security dazu da, einen grünen Haken in der Security Checkbox zu erhalten. Dass wir immer noch unsichere Software entwickeln, zeigt sich daran, dass auch nach 20 Jahren die Injection Schwachstellen immer noch auf Platz 1 aller Schwachstellen liegen (siehe OWASP Top Ten). Unter anderem hat sie uns sehr hilfreiche Hinweise zur sicheren Applikationsentwicklung gegeben. Ausserdem hat sie darauf hingewiesen, Sicherheitstests early und often durchzuführen.

Im Talk von Bart de Win über „OWASP SAMM2 – Your dynamic Software Security Journey“ habe ich das neue Maturitätsmodell SAMM (Software Assurance Maturity Model) in der Version 2 kennengelernt. Mit SAMM kann man die Maturität der Sicherheitslage einer Firma analysieren und verbessern.

Es hat mich sehr gefreut, im Project Showcase zum „OWASP Juiceshop“ Björn Kimminich persönlich zu treffen. Denn gerade kürzlich, am Puzzle TechWorkshop, durfte ich einen IT-Security Capture-the-flag Wettbewerb mit dem JuiceShop durchführen.

Von Gareth Heyes von Portswigger lernten wir „magic XSS (Cross Site Scripting) Tricks“ kennen, welche auch in modernen Browsern funktionieren. Noch am selben Abend haben wir vom CRS Team seine Payloads gegen das CRS laufen lassen und analysiert, dass von 73 XSS Payloads 72 Payloads in der Default Installation geblockt werden. Der eine ungeblockte Payload wird jedoch in einer strikteren Konfiguration ebenfalls abgefangen. Die Details wurden im Blogplost auf coreruleset.org veröffentlicht. Wie so oft, gilt auch hier meine Philosophie: Jeder braucht eine WAF!

Wir haben uns alle sehr gefreut, dass uns Mikko Hypponen am Schluss seiner Keynote „Securing the Future“ für unsere Arbeit seinen Dank ausgesprochen hat. Weil: „Rarely is anyone thanked for the work they did to prevent the disaster that didn’t happen.“

Dass die Konfiguration von CSP (Content Security Policy) Response Headern nicht trivial ist, hatte ich auch schon erfahren müssen. Sebastian Roth und Ben Stock bestätigten uns dies in ihrem Talk „Restricting the scripts, you’re to blame, you give CSP a bad name“. Sie hatten über mehrere Jahre hinweg Zahlen zu CSP Umsetzungen gesammelt und Umfragen durchgeführt. Diese bestätigen, dass CSP etwas Liebe braucht, um korrekt umgesetzt zu werden. Als Key Takeaway gaben sie uns mit, CSP wenigstens für TLS Enforcement und Framing Control zu konfigurieren.

Ein sehr interessanter Vortrag hiess „How do Javascript frameworks impact the security of our applications“ und wurde von Ksenia Peguero präsentiert. Sie hat den „Shift Security Left“ Ansatz in Javascript Frameworks untersucht. In GitHub Projekten hat sie nach XSS und CSRF (Cross Site Request Forgery) Schwachstellen in unterschiedlichen Projekten gesucht und einen Zusammenhang zwischen dem Level von Mitigation und der Sicherheit der resultierenden Software untersucht. Die Sicherheit der Software korreliert bei Client-side Javascript Frameworks mit der Nähe der Mitigation Control zum Framework. Bei Server-side Javascript und CSRF trifft dies nicht zu. Hier benötigt es Mitigation Control auf dem Architektur Level.

James Kettle von Portswigger stellte uns „HTTP Desync Attacks – Smashing into the cell next door“ vor. Mit HTTP Request Smuggling und Desynchronization Attacken hat er und seine Firma total fast $80’000 Bug Bounty erhalten. Natürlich werden wir diese Attacken, ebenso wie die XSS Magic Tricks von oben, auch gegen das Core Rule Set testen und analysieren.

Als letzten Talk des zweiten Tages hat Ruben Gonzalez mit „How To Learn (And Teach) Hacking“ aufgezeigt, wie mit Capture-the-flag Wettbewerbe mit Hilfe von „Problem Based Learning“ und „Thinking outside the Box“ Hacking gelernt und gelehrt werden kann.

Es waren so viele lehrreiche und inspirierende Präsentationen dabei, dass ich mich entschieden habe, alle meine Favoriten, auch wenn es viele sind, kurz zu nennen. Wer mehr Details zu den einzelnen Talks erfahren möchte, darf mich sehr gerne kontaktieren.

Mit dem motivierenden Dankeschön von Mikko Hypponen und den inspirierenden Ideen im Kopf, fahren wir also weiter mit unserer täglichen Arbeit.

Kommentare sind geschlossen.