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

Slides:



Advertisements
Presentazioni simili
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Advertisements

Gli ipertesti del World Wide Web Funzionamento e tecniche di realizzazione a cura di Loris Tissìno (
CORSO DI SICUREZZA SU RETI II PROF. A. DE SANTIS ANNO 2006/07 Informatica granata Gruppo 2 ISP Gruppo 3 ISP.
Corso di Fondamenti di Informatica
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A1 Introduzione a Java.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
Branch office update – SP2. Agenda Messa in esercizio degli uffici remoti Compressione HTTP Differentiated Services Cache di BITS.
PHP.
Utilizzare PHP 5 Corso Interazione Uomo – Macchina AA 2005/2006.
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Sistema di gestione flussi documentali
Java Enterprise Edition (JEE)
INTERNET FIREWALL Bastion host Laura Ricci.
Mantenimento dello stato Laboratorio Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR -
Connessione con MySQL.
Università degli Studi di Modena e Reggio Emilia
Java2 Esercitazioni del corso di Sistemi Informativi Marina Mongiello
Verification of object-oriented programs with invariants by M. Barnett, R. DeLine, M. Fähndrich, K.R.M. Leino, W. Schulte Bordignon Claudio Zampieron Elisa.
JavaScript Laboratorio di Applicazioni Informatiche II mod. A.
1 Basi di dati e Web Prof. Stefano Paraboschi Prof. Barbara Pernici.
Analisi dettagliata e design B. Pernici M.G. Fugini AA
David Clark e David Wilson 1987 Prof. Stefano Bistarelli
Testing e Debugging.
Specifiche senza JML: uso delle asserzioni. 2 Asserzioni in Java Dal jdk 1.4 (da Febbraio 2002) cè meccanismo per gestire asserzioni Asserzione: espressione.
CORSO DI INFORMATICA LAUREA TRIENNALE-COMUNICAZIONE & DAMS
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
XML e la generazione di cataloghi multimediali F. Garzotto, L. Mainetti, P. Paolini Politecnico di Milano HOC - Hypermedia Open Center Dipartimento di.
Elaborazione di Franco Grivet Chin
Introduzione ad ASP.net
Struts. Framework open source per lo sviluppo di applicazioni web su piattaforma J2EE. Progetto inizialmente sviluppato come sotto-progetto di Apache.
Architettura Java/J2EE
Corso di PHP.
Distributed File System Service Dario Agostinone.
Ing. Enrico Lecchini BetaTre S.r.l.
Il Firewall Sistemi di elaborazione dellinformazione : Sicurezza Anno Accademico 2001/2002 Martini Eros.
Ottobre 2007 Predisposizione e presentazione della domanda di nullaosta.
Guida IIS 6 A cura di Nicola Del Re.
Progetto RETE SME ALESSANDRO PASSONI
Fabrizio Grossi Verifica delle attività. L'operato degli amministratori di sistema deve essere oggetto, con cadenza almeno annuale, di un'attività
Elaborazioni server-side: dalle CGI al PHP
AICA Corso IT Administrator: modulo 4 AICA © EUCIP IT Administrator Modulo 4 - Uso Esperto della Rete Risoluzione dei Problemi e Analisi del Traffico.
Sistemi Informativi sul Web
Un problema importante
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
FASTVID RENTALS: CONCLUSIONI I PUNTI DI FORZA DEL PROGETTO, GLI SVILUPPI FUTURI 1.
1 Applet ed HTML Fondamenti di Informatica Corso D.
Amministrazione della rete: web server Apache
L’architettura a strati
Astrazione procedurale ed eccezioni
Corso di WebMaster Mercoledì 14 Novembre. Parte I – Introduzione al Corso Lezione 1: Presentazione Descrizione Breve del Corso Semplice Valutazione.
Lezione 8.
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
Internet e HTML Diffusione di informazioni mediante la rete Internet.
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
Analisi dettagliata e design
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Laboratorio di Servizi Web - servlet - Ardissono 1 Chiarimenti su Servlet Note aggiuntive su architettura di applicazione web che usa Servlet per gestire.
Extension pack per IIS7 Piergiorgio Malusardi IT Pro Evangelist
Relatore: Prof. Ing. Stefano SalsanoLaureando: Flaminio Antonucci.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 -Protocolli del Web Ernesto Damiani Lezione 1 – World Wide.
B IBLIO S ERVICE consultazione di articoli online Anna Riccioni Progetto per il corso di Reti di Calcolatori L-S Anno Accademico
Sicurezza delle reti informatiche: come, dove e perchè
Tecnologie lato Server: i Server Web © 2005 Stefano Clemente I lucidi sono in parte realizzati con materiale tratto dal libro di testo adottato tradotto.
Eprogram informatica V anno.
I FIREWALL. COSA SONO I FIREWALL? LAN MONDO ESTERNO UN FIREWALL E’ UN SISTEMA CHE SUPPORTA UNA POLITICA DI CONTROLLO DEGLI ACCESSI FRA DUE RETI (POLITICHE.
PHP.  HTML (Hyper Text Markup Language)  CSS (Cascading Style Sheets)  Javascript (linguaggio di programmazione client)  PHP ( Hypertext Preprocessor.
Javascript. HTML per definire il contenuto delle pagine web CSS per specificare il layout delle pagine web JavaScript per definire il comportamento delle.
12 dicembre Analisi di sicurezza dell’applicazione SISS Security Assessment dell’applicativo e Reversing del client.
23 giugno Analisi dei Servizi al Cittadino Stato Avanzamento Lavori.
Seminario AVP 2007 docente A. Cortesi
Transcript della presentazione:

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

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

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.

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.

A. Dal Pos - R. Marcon Background

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.

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.

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.

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.

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

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.

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.

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.

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

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

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

A. Dal Pos - R. Marcon Precondizioni (2) JML linguaggio di specifica di programmi java. Utilizza pre e post-condizioni ed invarianti Sintassi: 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

A. Dal Pos - R. Marcon Soluzione proposta

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à

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

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

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

A. Dal Pos - R. Marcon Implementazione prototipo

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

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

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

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

A. Dal Pos - R. Marcon Risultati

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.

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à

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

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?

A. Dal Pos - R. Marcon Bibliografia [1] OWASP Web Application Security Top Ten List [2] Web Application Firewall – Owasp [3] WAF Evaluation Criteria [4] The Ten Most Common Application-Level Hacker Attacks [5] WAFEC, or how to choose WAF technology [6] Why Firewalls Fail To Protect Web Sites [7] The Essentials of Filters, SUN, [8] BNF and EBNF, Lars Marius Garshol, 2003,