Sicurezza nelle web apps
-
Upload
michele-garziera -
Category
Documents
-
view
551 -
download
0
Transcript of Sicurezza nelle web apps
Sicurezza nelle Web AppsProject Work Social Media Web e Smart Apps
15/05/2013 Sicurezza nelle Web Apps 1
Punti trattati
• Introduzione• Web App• Sicurezza
• Analisi della sicurezza• Livelli di sicurezza
• Vulnerabilità delle applicazioni web• Cosa si intende per vulnerabilità• Top 10• Tipi di attacco• Test per la sicurezza (Software)
• Fonti• Sitografia
15/05/2013 Sicurezza nelle Web Apps 2
Introduzione
15/05/2013 Sicurezza nelle Web Apps 3
Applicazioni Web
Definizione: Applicazione che risiede in un server web a cui si accede tramite un browser internet
Inizialmente nate come applicazioni client/server, si sono evolute in applicazioni server visualizzate dall’utente come una sequenza di pagine html statiche, successivamente, con l’uso di applicativi standardizzati oramai in tutti i browser, la parte client è diventata dinamica, rendendo le web apps delle vere applicazioni.
15/05/2013 Sicurezza nelle Web Apps 4
Sicurezza
Quando utilizziamo una web app tutto ciò che digitiamo, inseriamo, facciamo, viene inviato al server, non è più un lavoro in locale, quindi siamo più esposti ad ipotetici attacchi, il lavoro da noi effettuato potrebbe essere distrutto o peggio rubato.
Per contrastare questa serie di minacce, entra in gioco la Sicurezza.
15/05/2013 Sicurezza nelle Web Apps 5
Sicurezza
Definizione: con il termine sicurezza informatica si intende quel ramo dell‘informatica che si occupa dell'analisi delle vulnerabilità, del rischio delle minacce o attacchi, e della successiva protezione dell'integrità fisica e logico-funzionale di un sistema informatico e dei dati in esso contenuti o scambiati in una comunicazione con un utente.
Definizione tratta da Wikipedia
15/05/2013 Sicurezza nelle Web Apps 6
Analisi della sicurezza
15/05/2013 Sicurezza nelle Web Apps 7
Livelli di Sicurezza
Nell’analisi e configurazione della sicurezza, non è possibile generalizzare, ma bisogna implementarla per ogni componente della rete; a questo proposito si differenziano 3 livelli
15/05/2013 Sicurezza nelle Web Apps 8
Livelli di Sicurezza
• Livello di Rete: Si può attaccare, creando ad hoc del traffico malevolo• Livello di Sistema Operativo: Si accede al sistema (esistono
varie tecniche), scalata dei privilegi, occultamento delle tracce, installazione di software per l’accesso dell’aggressore• Livello Applicativo: Si entra nel sistema cercando falle, bug
nelle applicazioni
15/05/2013 Sicurezza nelle Web Apps 9
Vulnerabilità delle applicazioni web
15/05/2013 Sicurezza nelle Web Apps 10
Cosa si intende per vulnerabilità
Quando si progetta un’applicazione, sia essa web, smart o desktop, bisogna tener conto, valutare e cercare di eliminare le sue vulnerabilità, cioè quelle debolezze che se intercettate da eventuali malintenzionati possono essere usate per attaccare l’applicazione, e questa non è una remota possibilità, ma una cosa con cui convivere ad ogni minuto (se non secondo)
15/05/2013 Sicurezza nelle Web Apps 11
Top 10
Owasp.org (Open Web Application Security Project) si occupa delle vulnerabilità delle applicazioni web, di seguito, la top10 delle vulnerabilità, aggiornata al 2013
15/05/2013 Sicurezza nelle Web Apps 12
Top 10
• A1 Injection (effettuare operazioni che normalmente non sono consentite, attraverso inserimento di codice, nei campi di input)• A2 Broken Authentication and Session Management• A3 Cross-Site Scripting (XSS, Inserimento codice arbitrario
nelle applicazioni web)• A4 Insecure Direct Object References (accesso a dati
sensibili/attività non è completamente protetto)• A5 Security Misconfiguration
15/05/2013 Sicurezza nelle Web Apps 13
Top 10
• A6 Sensitive Data Exposure • A7 Missing Function Level Access Control• A8 Cross-Site Request Forgery (CSRF, forza una vittima
loggata a inviare richieste http “forgiate”)• A9 Using Known Vulnerable Components• A10 Unvalidated Redirects and Forwards
15/05/2013 Sicurezza nelle Web Apps 14
Tipi di Attacco
Con il passare del tempo, si sono sviluppate numerose tecniche di attacco, più o meno sofisticate. Di seguito si esporranno alcune delle tecniche usate
15/05/2013 Sicurezza nelle Web Apps 15
Tipi di Attacco
Information gathering
Non è un vero e proprio attacco, ma una tecnica preliminare, infatti tramite questa operazione, un attaccante, studia il software, fa prove di vario tipo per simulare tutti gli errori, e in questa fase memorizza tutte le vulnerabilità, così da utilizzare la migliore tecnica
15/05/2013 Sicurezza nelle Web Apps 16
Tipi di Attacco
Brute Force
Necessita una potenza di calcolo notevole, semplicemente si cerca di forzare ogni singola combinazione di username e password (o altro) per entrare nel sistema
15/05/2013 Sicurezza nelle Web Apps 17
Tipi di Attacco
Denial of Service
Generalmente abbreviati con attacchi DoS, mirano all’esaurire le risorse della macchina (server), come ram, cpu… Una volta esaurite tali risorse, la macchina andra in «crash», negando il servizio a tutti gli utenti. Questo attacco non ha lo scopo di rubare, o danneggiare, ma solo di negare il servizio.
15/05/2013 Sicurezza nelle Web Apps 18
Tipi di Attacco
SQL Injection
Questo tipo di attacco è utilizzabile in ogni applicazione che utilizzi la connessione ad un database, a questo proposito, un utente malintenzionato può creare ed utilizzare una query non prevista dal programma.
15/05/2013 Sicurezza nelle Web Apps 19
Tipi di Attacco
Sniffing
Utilizzando software appositi, il malintenzionato si posizione tra il server e il client da attaccare, e pacchetto per pacchetto intercetta tutti i dati sensibili.
15/05/2013 Sicurezza nelle Web Apps 20
Test per la sicurezza
Una volta progettato, programmato, compilato, e quindi una volta che la web app è finito e utilizzabile, si deve fare una verifica della solidità dell’applicazione, per controllare che tutte le «falle» siano state «chiuse».A tale proposito esistono dei software o servizi creati per testare le applicazioni e simulare alcuni attacchi.
15/05/2013 Sicurezza nelle Web Apps 21
Test per la sicurezza
Esistono principalmente 2 tipi di test, che spesso vengono confusi, ma che nella realtà sono abbastanza diversi: •Il Vulerability Assesment: crea principalmente una lista di tutte le vulnerabilità•Il Penetration Test: si sofferma su una vulnerabilità particolare, e tenta un attacco all’applicazione, sfruttando tale vulenrabilità
15/05/2013 Sicurezza nelle Web Apps 22
Test per la sicurezza
ZAP (Zed Attack Proxy)
è un tool per il Vulnerability Assessment e successive Penetration Test di applicazioni web, il software effettua un web crawling (spulcia l’intero sito, quindi l’eventuale applicazione web) e ci mostra tutte le vulnerabilità trovate. Una volta presentata la lista, si può procedere a testare ogni singola voce
15/05/2013 Sicurezza nelle Web Apps 23
Test per la sicurezza
Esistono altri software per effettuare tali test, che operano più o meno similmente a Zap, come Nessus (che prende in considerazione anche il lato mobile), o Nikito (più complesso, si usa da riga di comando e crea file di log)
Qualsiasi sia il software usato, è sempre doveroso ricordare che è illegale condurre un penetration test senza essere in possesso di un’autorizzazione scritta, firmata dal rappresentante legale dell’azienda/organizzazione target.
15/05/2013 Sicurezza nelle Web Apps 24
Fonti
15/05/2013 Sicurezza nelle Web Apps 25
Sitografia
• www.wikipedia.com• www.html.it• www.owasp.org • www.hp.com
15/05/2013 Sicurezza nelle Web Apps 26