Sicurezza nelle web apps

26
Sicurezza nelle Web Apps Project Work Social Media Web e Smart Apps 15/05/2013 Sicurezza nelle Web Apps 1

Transcript of Sicurezza nelle web apps

Page 1: Sicurezza nelle web apps

Sicurezza nelle Web AppsProject Work Social Media Web e Smart Apps

15/05/2013 Sicurezza nelle Web Apps 1

Page 2: Sicurezza nelle web apps

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

Page 3: Sicurezza nelle web apps

Introduzione

15/05/2013 Sicurezza nelle Web Apps 3

Page 4: Sicurezza nelle web apps

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

Page 5: Sicurezza nelle web apps

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

Page 6: Sicurezza nelle web apps

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

Page 7: Sicurezza nelle web apps

Analisi della sicurezza

15/05/2013 Sicurezza nelle Web Apps 7

Page 8: Sicurezza nelle web apps

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

Page 9: Sicurezza nelle web apps

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

Page 10: Sicurezza nelle web apps

Vulnerabilità delle applicazioni web

15/05/2013 Sicurezza nelle Web Apps 10

Page 11: Sicurezza nelle web apps

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

Page 12: Sicurezza nelle web apps

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

Page 13: Sicurezza nelle web apps

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

Page 14: Sicurezza nelle web apps

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

Page 15: Sicurezza nelle web apps

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

Page 16: Sicurezza nelle web apps

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

Page 17: Sicurezza nelle web apps

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

Page 18: Sicurezza nelle web apps

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

Page 19: Sicurezza nelle web apps

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

Page 20: Sicurezza nelle web apps

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

Page 21: Sicurezza nelle web apps

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

Page 22: Sicurezza nelle web apps

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

Page 23: Sicurezza nelle web apps

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

Page 24: Sicurezza nelle web apps

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

Page 25: Sicurezza nelle web apps

Fonti

15/05/2013 Sicurezza nelle Web Apps 25

Page 26: Sicurezza nelle web apps

Sitografia

• www.wikipedia.com• www.html.it• www.owasp.org • www.hp.com

15/05/2013 Sicurezza nelle Web Apps 26