La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

A. Dal Pos - R. Marcon Bridging the Gap Between Web Application Firewalls and Web Applications Seminario AVP 2007 docente A. Cortesi.

Presentazioni simili


Presentazione sul tema: "A. Dal Pos - R. Marcon Bridging the Gap Between Web Application Firewalls and Web Applications Seminario AVP 2007 docente A. Cortesi."— Transcript della presentazione:

1 A. Dal Pos - R. Marcon Bridging the Gap Between Web Application Firewalls and Web Applications Seminario AVP 2007 docente A. Cortesi

2 A. Dal Pos - R. Marcon Cosa vedremo In teoria: Introduzione Background Problematiche Soluzione In pratica: Soluzione proposta Implementazione prototipo Risultati e limiti Conclusioni

3 A. Dal Pos - R. Marcon Introduzione (1) Sempre maggiore diffusione di web application (e-commerce) ricche di bug. Introduzione dei Web Application Firewall. Problema: Loose Coupling tra la configurazione del WAF e limplementazione dellapplicazione.

4 A. Dal Pos - R. Marcon Introduzione (2) Obiettivo: garantire lassenza di alcuni tipi di comportamenti erronei tramite: Combinazione di verifica statica e dinamica Arricchimento della semantica dei contratti Come: costruzione di un prototipo che assicuri che nessuna interazione c/s porti a interazioni non volute con repository.

5 A. Dal Pos - R. Marcon Background

6 A. Dal Pos - R. Marcon Background – Web Application Applicazioni server-side invocate da un thin client attraverso il protocollo http. Navigazione tramite link o URL, form. HTTP è un protocollo request/reply stateless, a livello applicazione. Sessione utente: cookies, URL rewriting, hidden field form.

7 A. Dal Pos - R. Marcon Background – Servlet Servlet: forniscono meccanismi per estendere le funzionalità di un web server. Container: gestisce le richieste e le processa tramite le servlet. Filtri: utilizzati per processare le informazioni contenute nelle richieste/risposte.

8 A. Dal Pos - R. Marcon Background – Firewall & WAF Firewall : Agisce a livello transport e network. Consente/nega laccesso a risorse protette. Controlla a cosa si vuole accedere, ma non cosa si vuole fare.

9 A. Dal Pos - R. Marcon Background – Firewall & WAF Web Application Firewall: Agiscono a livello applicazione Controllo degli accessi in tempo reale analizzando URL richiesti, credenziali, parametri in input e la history di sessione dellutente.

10 A. Dal Pos - R. Marcon WAF: Modelli di sicurezza Negative Security ModelPositive Security Model Concept The WAF knows what traffic is an attack, and allows any other traffic to go through The WAF learns what traffic profile is legitimate, and blocks anything else Advantages No need for customization Protection out-of-the-box Simple, straight-forward Accurate detection Unknown attacks Not dependant on updates Disadvantages Highly dependant on updates Not very accurate Need for learning process More prone to false positives

11 A. Dal Pos - R. Marcon Il nostro WAF - Modello Basato su Modello di sicurezza positivo Implementa lo Strict Request Flow Enforcement: monitorizza le singole sessioni utenti e tiene traccia dei link già seguiti e che possono essere seguiti.

12 A. Dal Pos - R. Marcon Il nostro WAF - Attacchi Broken Access Control scavalcando il controllo degli accessi è possibile accedere ad account di altri utenti, visualizzare file sensibili ed utilizzare funzionalità non autorizzate. Insecure ID, Path Traversal, Forceful Browsing, Client Side Caching. Accedere direttamente a pagine web (URL), scavalcando il normale flusso logico dellapplicazione, a cui non si potrebbe avere accesso. Può portare ad accesso non autorizzato a risorse o comportamenti non previsti dellapplicazione.

13 A. Dal Pos - R. Marcon Problematiche: A causa della configurazione euristica del WAF si ha un accoppiamento lasco tra la sua configurazione e limplementazione dellapplicazione. Non da garanzie verso alcuni tipi di bug implementativi. Prototipo per garantire la protezione attraverso verifica statica, dinamica e contratti.

14 A. Dal Pos - R. Marcon Dukes BookShop (1) Type Interaction String Identifier Conditional Defensive

15 A. Dal Pos - R. Marcon Dukes BookShop (2) Le interazioni con il repository della sessione condivisa impongono delle restrizioni sul protocollo di interazione c/s. Inizio sessione da un path diverso da /bookstore OrderFilter chiamato prima che i valori di cart e currency siano memorizzati nello shared repository. NullPointerException: Comportamento non previsto dellapplicazione Perdita di informazioni dovuta a una scorretta gestione degli errori Perdita dellintegrità dei dati, dovuta al salvataggio di stringhe nulle nel DB Non esecuzione del codice di clean-up

16 A. Dal Pos - R. Marcon Precondizioni (1) ESC/Java2 tool di analisi statica, supporta il design by contract, utilizza il Theorem Proving Dal codice sorgente + JML genera un set di predicati da verificare Predicati + modello logico elaborati per verificare lassenza di errori I bug vengono segnalati allutente

17 A. Dal Pos - R. Marcon Precondizioni (2) JML linguaggio di specifica di programmi java. Utilizza pre e post-condizioni ed invarianti Sintassi: //@ oppure /*@ @*/ Keyword: Requires: definisce una precondizione sul metodo che segue Ensures: definisce una postcondizione sul metodo che segue Also: dichiara che il metodo eredita le condizioni dal supertipo

18 A. Dal Pos - R. Marcon Soluzione proposta

19 A. Dal Pos - R. Marcon Verifiche statiche e dinamiche La verifica statica assicura che il protocollo client/server soddisfi le condizioni sul repository. Le interazioni con il repository vengono specificate nel componente attraverso un contratto, per poi essere validate. Le politiche sono utilizzate a runtime per garantire che solo le richieste web che rispettano il WAF, possano essere processate Verifiche statiche e dinamiche per garantire che linterazione c/s non porti alla violazione di alcune proprietà

20 A. Dal Pos - R. Marcon Specifica della verifica server side Ogni componente viene estesa da uno specifico contratto.

21 A. Dal Pos - R. Marcon Verifica del protocollo applicazione Espressione regolare EBNF Specifica di un automa Specifica della politica di rinforzo del WAF

22 A. Dal Pos - R. Marcon Implementazione a runtime Per rendere operativo il protocollo di client/server verificato, esso viene caricato (installato) nel WAF

23 A. Dal Pos - R. Marcon Implementazione prototipo

24 A. Dal Pos - R. Marcon Specifica e verifica server side Specifichiamo per ogni metodo sottoposto a verifica, le interazioni permesse, utilizzando un contratto Vogliamo implementare le assunzioni proposte al fine di creare un prototipo, basato su DukesBook

25 A. Dal Pos - R. Marcon Verifica protocollo con check Per verificare staticamente che ogni interazione client/server non violi le proprietà desiderate, viene generato un check a partire dalla specifica del protocollo La verifica del protocollo è ridotta alla verifica statica del metodo check con ESC

26 A. Dal Pos - R. Marcon Verifica protocollo/1

27 A. Dal Pos - R. Marcon Implementazione a runtime Violazione protocollo Blocco IP Invalidamento sessione Caricamento specifiche nella web-app

28 A. Dal Pos - R. Marcon Risultati

29 A. Dal Pos - R. Marcon Overhead statico Quantificato in base alle codeline aggiunte. Nel prototipo al più 4 per le interazioni con il repository. Overhead a runtime Applicazione eseguita con e senza filtro, 1000 visitatori con max overhead di 1,3% Performance Verifica del protocollo in 11 sec.

30 A. Dal Pos - R. Marcon Limiti Processo sequenziale Aspetti di contorno Assumiamo che le richieste in una sessione web vengano processate sequenzialmente Invece di lasciare ad ESC/Java2 il compito di verificare tutte le clausole modifies, limitiamo la verifica alle sole clausole realmente modificate Scopo: ridurre la complessità

31 A. Dal Pos - R. Marcon Limiti - Aspetti di contorno

32 A. Dal Pos - R. Marcon Conclusioni Soluzione accettabile in relazione alle performance del prototipo Il WAF garantisce attraverso una combinazione di verifiche statiche e dinamiche, lassenza di certi tipi di errore nelle applicazioni La verifica proposta è limitata ad un certo tipo di errori, è possibile estendere ragionevolmente la soluzione anche ad altri tipi di attacchi?

33 A. Dal Pos - R. Marcon Bibliografia [1] OWASP Web Application Security Top Ten List http://www.clusit.it/whitepapers/OWASPTopTen2004-ITA.pdf [2] Web Application Firewall – Owasp http://www.owasp.org/index.php/Web_Application_Firewall [3] WAF Evaluation Criteria http://www.webappsec.org/projects/wafec/ [4] The Ten Most Common Application-Level Hacker Attacks http://whitepapers.techrepublic.com.com/whitepaper.aspx?docid=31824 [5] WAFEC, or how to choose WAF technology http://www.webappsec.org/projects/wafec/WAFEC-by-Rafael_San_Miguel_Carrasco.ppt [6] Why Firewalls Fail To Protect Web Sites http://www.lockstep.com/webagain/why-firewalls-fail.pdf [7] The Essentials of Filters, SUN, http://java.sun.com/products/servlet/Filters.html [8] BNF and EBNF, Lars Marius Garshol, 2003, http://www.garshol.priv.no/download/text/bnf.html


Scaricare ppt "A. Dal Pos - R. Marcon Bridging the Gap Between Web Application Firewalls and Web Applications Seminario AVP 2007 docente A. Cortesi."

Presentazioni simili


Annunci Google