V piatok 11.2.2011 skončil druhý svetový OWASP Summit 2011. Podobne ako prvý OWASP Summit 2008 aj tento sa konal v Portugalsku, nie však vo Fare ale asi 50 km od Lisabonu v príjemnom letovisku CampoReal. OWASP Summitu sa zúčastnilo množstvo WebAppSec špičiek z celého sveta, kompletný zoznam účastníkov k dispozícii tu.
Účastníkov Summitu bolo možné rozdeliť do nasledujúcich kategórií:
1. OWASP board (Dinis Cruz, Tom Brennan, Dave Wichers, Jeff Wiliams, … )
2. Vedúci OWASP pobočiek po celom svete (z najväčšej diaľky pricestoval asi Zaki Akhmad z Indonézie, zo slovanských krajín sme mali zastúpenie len traja – Wojciech Dworakovski z Krakova, Vlatko Kosturjak zo Zagrebu a ja zo Slovenska)
3. Svetová elita WebApsec výskumníkov (Mario Heiderich, David Lindsay, Gareth Heyes, David Campbell, Eduardo Vela, Stefano Di Paola, Ryan Barnett, Robert Hansen (Rsnake) a množstvo ďalších)
4. Vývojári Firefoxu/Mozilly (Michael Coates, Chris Lyon, Lucas Adamski, Justin Fitzhugh, Brandon Sterne, Chris Hofmann)
5. Vývojári Chrome/Chromium a Google bezpečnostní experti (Jasvir Nagra, Eduardo Vela, Justin Schuh, Ian Fette)
6. Množstvo ďalších WebAppSec špecialistov z rôznych spoločností (Microsoft, Paypal, Facebook, ..) zodpovední za WebAppSec.
V prvom rade je dobré zdôrazniť, že nešlo o “klasickú” konferenciu, ale o veľké množstvo osobných interaktívnych stretnutí “worksessions” špecialistov v danej oblasti. Programy stretnutí boli dva – jeden statický definovaný dopredu hneď na začiatku konferencie, druhý dynamický, ktorý sa vytváral interektívne jeden deň pred samotnými stretnutiami.
Oblasť prezentácií bola skutočne široká, osobne som uprednostňoval technické stretnutia – XSS and the Frameworks, WAF mitigations for XSS, DOM Sandboxing, EcmaScript 5 Security, HTML 5 Security, Mobile Security a iné.
Asi najzaujímavejšie bolo sledovať panelové diskusie, kedy WebAppSec výskumníci na jednej strane (Mario Heiderich, David Lindsay, Gareth Heyes, Stefano Di Paola, či Robert Hansen) vysvetľovali bezpečnostné problémy súčasných prehliadačov, či potrebu DOM Sandboxingu samotným vývojárom prehliadačov – Firefoxu, či Chrome, ktorí ich pripomienky upravovali, akceptovali, prípadne aj zamietali ako veľmi náročné na implementáciu. Niektoré takéto výmeny názorov boli skutočne vysoko-technické a bez detailných znalostí zdrojových kódov prehliadačov, hĺbkových znalostí EcmaScriptu 5/HTML5 pre bežného smrteľníka dosť ťažko pochopiteľné. Počas týchto stretnutí bolo zaujímavé sledovať diverzitu súčasných prehliadačov a ich rôzne prístupy k riešenie bezpečnosti (Same-Origin-Policy, či Sandboxing).
Špeciálne veľkú radosť som mal z prítomnosti ľudí ako Mario Heiderich, Eduardo Vela, Gareth Heyes, či David Lindsay, ktorí všetci štyria sú spoluautori novej knihy Web Application Obfuscation, ktorá predstavovala moju hlavnú inšpiráciu pre novú prezentáciu týkajúcu sa možnosti obchádzať súčasné webové aplikačné firewally (WAFs). Mal som tak skvelú príležitosť prakticky konzultovať všetky nejasnosti a rôzne odchýlky v bezpečnostných prístupoch súčasných prehliadačov. Mario Heiderich (autor PHPIDS) na moju otázku, prečo v knihe nepublikovali, ktoré konkrétne “obfuskované” vektory je možné použiť na obídenie konkrétnej implementácie/verzie webového aplikačného firewallu, mi odpovedal, že aj napriek tomu, že pôvodne nad tým uvažovali, tak vzhľadom na rozporuplnú “legálnosť” a silný tlak výrobcov súčasných WAF riešení to nakoniec nespravili.
Počas Summitu som sa najviac skamarátil s talianmi zo spoločnosti Minded Security, možno preto lebo som s nimi kvôli tvorbe novej OWASP Testing Guide v4 trávil najviac času.
S Matteom Meuccim (project leader projektu OWASP Testing Guide a šéf Talianskej OWASP chapter) sme strávili niekoľko hodín prezentovaním našich pripomienok k novej OWASP Testing Guide v4. K mojim pôvodným pripomienkam:
1. doplnenie nových opensource testovacích nástrojov, ktoré sa behom posledných 3 rokov objavili, sú dôležité a v OWASP Testing Guide v3 chýbajú
2. detailnejšie rozviesť kapitolu “Business Logic Testing” špeciálne o konkrétne príklady typických bezpečnostných chýb v biznis logike aplikácie s ktorými sme sa v našich detailných bezpečnostných auditoch stretli
Pri tejto príležitosti mi Stefano ukázal svoj nový nástroj DOMIntruder, ktorý plánuje o pár mesiacov zverejniť. Je to zrejme prvý prakticky použiteľný nástroj na “taint” dynamickú analýzu vstupov (konkrétne reťazcov) v javascripte a hľadanie DOM-XSS zraniteľností. DOMIntruder “on-the-fly” overridne pár javascriptových funkcií a dokáže presne zanalyzovať akým spôsobom sa v aplikácií rozširujú znečistené (“tainted”) používateľské vstupy. Tým pádom odpadá potreba pri detailnom audite analyzovať stovky, či tisícky riadkov javascriptu/AJAXu, nakoľko DOMIntruder automaticky odhalí, ktoré presné vstupy sú zaujímavé na injektovanie nebezpečného obsahu. Stefano pomocou uvedeného nástroja objavil obrovské množstvo DOM-based XSS zraniteľností na svetových weboch. Jeho DOM XSS Wiki stojí určite za prečítanie.