Anteprima
Vedrai una selezione di 8 pagine su 32
Vulnerabilità Web: Analisi e Metodi di Individuzione Automatici Pag. 1 Vulnerabilità Web: Analisi e Metodi di Individuzione Automatici Pag. 2
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Vulnerabilità Web: Analisi e Metodi di Individuzione Automatici Pag. 6
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Vulnerabilità Web: Analisi e Metodi di Individuzione Automatici Pag. 11
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Vulnerabilità Web: Analisi e Metodi di Individuzione Automatici Pag. 16
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Vulnerabilità Web: Analisi e Metodi di Individuzione Automatici Pag. 21
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Vulnerabilità Web: Analisi e Metodi di Individuzione Automatici Pag. 26
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Vulnerabilità Web: Analisi e Metodi di Individuzione Automatici Pag. 31
1 su 32
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

COMANDI NON AUTORIZZATI

 Sfruttamento semplice e impatto notevole

******* ANIMAZIONE *******

 Web server ‐> Application ‐> Database

 Vulnerabilità form di login

******* ANIMAZIONE *******

 Stringa modificata con caratteri speciali

riconosciuti come COMANDI SQL

******* ANIMAZIONE *******

 Query

Ottobre 2012 Zago Mattia ‐ VR091801 ‐ Bioinformatica 4

Vulnerabilità Web. Analisi e metodi di individuazione automatici.

******* ANIMAZIONE *******

 Esecuzione comando non autorizzato

SE TEMPO < 8 minuti

Contromisure:

 Escape dei caratteri speciali

 Differente algoritmo di login

Prima fra tutte troviamo la categoria delle Injection

Flaws, come SQL injection, che si verificano quando

vengono eseguiti comandi non autorizzati.

La prima posizione è dovuta alla facilità di

sfruttamento e al notevole impatto che ha sul

sistema.

* Esempio *

Nell’esempio vediamo un esempio banale di web

server che gestisce un’applicazione associata ad un

database.

Supponiamo una vulnerabilità SQL nel form di login

del pannello di amministrazione.

L’utente inserisce al posto dell’username una stringa

apposita che contiene caratteri speciali interpretabili

dal database.

Vediamo come la query «xxxx» viene manipolata per

eseguire un comando non autorizzato

Ottobre 2012 Zago Mattia ‐ VR091801 ‐ Bioinformatica 4

Vulnerabilità Web. Analisi e metodi di individuazione automatici.

 Cross‐Site Scripting o XSS siti DINAMICI

 Sfruttamento medio e impatto moderato

 80% delle violazioni è dovuto all’XSS

 Sfrutta la fiducia di un utente in un sito web

******* ANIMAZIONE *******

 Esecuzione di codice lato server

Raccolta e manipolazione di dati

o Deface sito web

o

 Javascript, Vbscript, Flash

 STORED

Codice permanente sul server

o

 REFLECTED

Ottobre 2012 Zago Mattia ‐ VR091801 ‐ Bioinformatica 5

Vulnerabilità Web. Analisi e metodi di individuazione automatici.

Codice inserito nel flusso di esecuzione

o (richieste POST e GET)

SE TEMPO < 10

Contromisure:

 Escape dei caratteri speciali

Il cross‐site scripting o XSS è una vulnerabilità che

affligge siti web dinamici che hanno un insufficiente

controllo dei form di input. Lo sfruttamento è medio,

tuttavia l’80% degli attacchi è dovuto a questa

violazione. (Symantec 2007)

Esistono due tipi di vulnerabilità:

‐ STORED, ovvero uno script viene memorizzato

permanentemente sul server in maniera permanente

‐ REFLECTED, ovvero quando lo script si inserisce nel

flusso di esecuzione del programma, ad esempio

sfruttando vulnerabilità note del protoccollo http nei

metodi get e post.

Ottobre 2012 Zago Mattia ‐ VR091801 ‐ Bioinformatica 5

Vulnerabilità Web. Analisi e metodi di individuazione automatici.

 Cross‐Site Request Forgery

 Sfruttamento medio ma ALTA diffusione

 CITAZIONE MITNICK

******* ANIMAZIONE *******

 Sfrutta la fiducia del sito nel browser dell’utente

 TOTALMENTE INVISIBILE all’utente

******* ANIMAZIONE *******

1. Autenticazione utente su di un sito fidato

2. L’utente può compiere azioni fidate sul sito

3. Il malintenzionato porta l’utente a leggere

contenuti dannosi (email, web)

4. Tramite l’utilizzo del cookie il malintenzionato si

sostituisce all’utente

Ottobre 2012 Zago Mattia ‐ VR091801 ‐ Bioinformatica 6

Vulnerabilità Web. Analisi e metodi di individuazione automatici.

SE TEMPO < 12

Contromisure:

 Campi hidden con codici univoci per ogni

operazione

 Richiedere protezioni aggiuntive come ad

esempio

Password

o Pin dispositivi

o

Questa vulnerabilità non è di così facile utilizzo. Tuttavia vista

la grandissima diffusione e la facilità di individuazione merita

un trattamento dettagliato.

Il CSRF è un attacco che consente al malintenzionato di

utilizzare il browser della vittima per eseguire azioni su siti

fidati.

Un utente può cliccare su di un link ed a sua insaputa dare

avvio ad una transazione su un sito malevolo.

* Esempio *

1. L’attaccante attira la vittima a leggere alcuni contenuti

dannosi (web o email)

2. Queste pagine inviano richieste ad un sito vulnerabile,

oppure l’utente è portato ad avviare procedure (phishing)

3. Se l’attacco riesce, la richiesta al sito vulnerabile conterrà

le credenziali di accesso e l’eventuale funzione verrà

portata a compimento.

Indipendentemente dalla riuscita o meno dell’attacco, esso è

completamente invisibile all’utente.

Ottobre 2012 Zago Mattia ‐ VR091801 ‐ Bioinformatica 6

Vulnerabilità Web. Analisi e metodi di individuazione automatici.

CONTROLLO TEMPO: 12 minuti

 Insecure direct object reference

 Sfruttamento facile ma impatto moderato

 Esposizione di parametri con richieste di tipo GET

******* ANIMAZIONE *******

 Codice utente visibile nella barra degli indirizzi

 Senza un adeguato controllo il malintenzionato

avrebbe accesso alla pagina della vittima

SE TEMPO < 13

Contromisure:

 Utilizzare POST per ogni richiesta sensibile

Ottobre 2012 Zago Mattia ‐ VR091801 ‐ Bioinformatica 7

Vulnerabilità Web. Analisi e metodi di individuazione automatici.

Questa vulnerabilità si presenta quando un

programmatore espone un riferimento, un file o una

chiave di database alla vista degli utenti.

Questa vulnerabilità salta subito all’occhio in quanto il

malintenzionato vede sul browser parte della logica

dell’applicazione.

* Esempio *

Nel nostro esempio possiamo vedere un account

bancario che mostra il codice utente nella barra degli

indirizzi. Il malintenzionato potrebbe benissimo provare

a sostituire questo codice con quello di un altro conto.

Senza un adeguato controllo egli avrebbe l’accesso

completo al profilo della vittima.

Ottobre 2012 Zago Mattia ‐ VR091801 ‐ Bioinformatica 7

Vulnerabilità Web. Analisi e metodi di individuazione automatici.

 Failure to restrict URL access

 Non si effettua il controllo sull’identità

dell’utente

 Sfruttamento facile ma impatto moderato

******* ANIMAZIONE *******

 Ruolo dell’utente visibile nella barra degli indirizzi

 Se non è presente un CONTROLLO DI SESSIONE si

ottengono privilegi amministrativi

 Senza un adeguato controllo il malintenzionato

avrebbe accesso a funzioni di amministrazione

SE TEMPO < 15

Contromisure:

Ottobre 2012 Zago Mattia ‐ VR091801 ‐ Bioinformatica 8

Vulnerabilità Web. Analisi e metodi di individuazione automatici.

 URL effettivo nascosto

La vulnerabilità A8 si verifica quando almeno una

pagina non effettua il controllo sull’identità

dell’utente.

* Esempio *

L’applicazione nasconde alcuni elementi di menù

all’utente non autorizzato come admin, tuttavia il

path mostra il ruolo dell’utente in maniera esplicita. Il

malintenzionato proverà quindi a sostituire il ruolo

con uno che non gli compete.

L’attacco ha successo solo se la pagina richiesta non

effettua un controllo di sessione, consentendo a

chiunque di ottenere privilegi amministrativi.

Ottobre 2012 Zago Mattia ‐ VR091801 ‐ Bioinformatica 8

Vulnerabilità Web. Analisi e metodi di individuazione automatici.

 Security Misconfiguration

 Lasciare attive le configurazioni di default

 Sfruttamento facile ma impatto moderato

******* ANIMAZIONE *******

 Mancata/Errata configurazione dei moduli di

base

 Cura nel dettaglio ma account di default attivi

 Accesso privilegiato

SE TEMPO < 18

Spiegazione nel dettaglio del tipo di attacco. Con

esempio

PASSWORD DEFAULT

Ottobre 2012 Zago Mattia ‐ VR091801 ‐ Bioinformatica 9

Vulnerabilità Web. Analisi e metodi di individuazione automatici.

Contromisure:

 Eliminare tutte le configurazioni di default o

cambiarne i parametri

Esistono tutta una serie di vulnerabilità dovute ad una

configurazione errata, o alla mancanza di

configurazione, dei moduli di base.

I moduli con impostazioni di default non sono sicuri.

* Esempio *

È infatti possibile curare nel dettaglio ogni singolo

aspetto della sicurezza dell’applicazione, tralasciando

magari di eliminare l’account dell’amministratore di

default. Ecco che un malintenzionato proverà le

credenziali pubbliche e otterrà l’accesso al modulo

specifico.

Ottobre 2012 Zago Mattia ‐ VR091801 ‐ Bioinformatica 9

Vulnerabilità Web. Analisi e metodi di individuazione automatici.

NON SUPERARE 20 MINUTI

Definite quelle che sono le principali vulnerabilità

cerchiamo di capire come fronteggiare queste

situazioni.

La protezione di un’applicazione web è un processo in

più fasi.

Nella prima fase, quella si sviluppo la sicurezza passa

dalla progettazione e l’applicazione di tecniche

precise e metodiche che consentono di minimizzare le

vulnerabilità note.

Si applicano quindi tutta una serie di controlli di

Ottobre 2012 Zago Mattia ‐ VR091801 ‐ Bioinformatica 10

Vulnerabilità Web. Analisi e metodi di individuazione automatici.

sicurezza standard, come ad esempio il controllo di

tutti i form di input o dei parametri.

Si pianifica correttamente il ciclo di vita del software

in quanto un sistema obsoleto è facilmente

sfruttabile.

Ultima ma non ultima è la formazione dei

programmatori e dei designer dell’applicazione.

Nella fase di test invece è necessaria una revisione

approfondita del codice. Questa operazione è

generalmente lunga e costosa e viene effettuata da

persone che CONOSCONO il software in ogni

dettaglio.

Il penetration testing invece può essere

automatizzato e serve a rendere il sistema a prova di

intrusione da parte di soggetti esterni all’azienda e/o

al gruppo di sviluppo dell’applicazione.

Il penetration testing automatizzato si divide in due

macrogruppi: White‐Box e Black‐Box.

Vedremo nel dettaglio solo gli scannare di tipo black‐

box

Ottobre 2012 Zago Mattia ‐ VR091801 ‐ Bioinformatica 10

Vulnerabilità Web. Analisi e metodi di individuazione automatici.

Per la categoria dei black‐box scanner presenterò un

articolo che introduce i black‐box scanner come

strumento per effettuare un penetration testing in

un’applicazione web creata appositamente per

l’occasione.

<
Dettagli
Publisher
A.A. 2012-2013
32 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Jiraky90 di informazioni apprese con la frequenza delle lezioni di Bioinformatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Verona o del prof Viganò Luca.