Progetto e Realizzazione di un Software per la Rilevazione Automatica di Codice HTML Nascosto e...

Post on 01-Jul-2015

589 views 0 download

Transcript of Progetto e Realizzazione di un Software per la Rilevazione Automatica di Codice HTML Nascosto e...

Università degli Studi di TriesteFacoltà di IngegneriaTesi di Laurea in Ingegneria dell'InformazioneCurriculum Informatica

Progetto e Realizzazione di un Software per la Rilevazione Automatica di Codice HTML

Nascosto e Fraudolento in Pagine Web

Relatore: Prof. Alberto Bartoli

Correlatore: Ing. Enrico SorioCandidato: Daniele Nicassio

Il problema

Rilevazione di codice HTML nascosto e fraudolento all'interno di una pagina Web

Contenuti web nascosti

Esiste codice che rappresenta elementi non visibili

Pagine web: composte da elementi Descritti da codice HTML Hanno uno stile (come si vedono) Possono essere nascosti

Utilizzi fraudolenti: esempi

Search Redirection● Redirection ad un sito scelto solo quando

provenienti dal motore di ricerca

Search Spam● Manipolazione risultati motori di ricerca

Esempio: illicit pharmacy

usano contenuto nascosto introdotto nelle pagine attaccate

L'attacco: Hidden Text Injection

Inserimento testo nascosto (varie tecniche di occultamento)

Preferibilmente contro siti web autorevoli

Sfruttato da Search Spam, Search Redirection

Difficile da individuare

Danni all'immagineRimozione dai risultati di ricerca

La soluzione proposta

Creazione di un software:

Input: lista di pagine, testo da cercare

Output: quali pagine hanno testo nascosto

Applicabile su larga scala AUTOMATIZZATO

La soluzione proposta

Creazione di un software:

Input: lista di pagine, testo da cercare

Output: quali pagine hanno testo nascosto

Applicabile su larga scala

è presente nel codice non è visibile

AUTOMATIZZATO

Testo nascosto:

Rilevazione Testo Visibile: Due Metodi

1) OCR:

Analisi OCR dello screenshot

2) Javascript:

Esecuzione di uno script

Analisi screenshot

Metodo JS: Lo script

1) Oscura le immagini

2) Ricerca un colore mai usato nella pagina

3) Trova le occorrenze della parola

4) Le evidenzia con il colore individuato al punto 2

Il colore è visibile

La parola è visibile

Metodo JS: Esempio (1)

Metodo JS: Esempio (2)

Struttura del progetto

Risultati: pagine con testo nascosto

Pagine senza parola

Pagine con parola visibile

Pagine con parola nascosta

10814%

20426%

47460%

786 Snapshot Il 26% risulta compromesso

Risultati: Metodi proposti

1) Metodo HTML e Javascript

Un solo falso positivo

Nessun falso negativo

2) Metodo HTML e OCR

15 falsi positivi

Nessun falso negativo

HTML + JS è migliore

Risultati: Precision & Recall

Precision Recall88

90

92

94

96

98

100

DOM + JSDOM + OCR

Precision: DOM + JS 99.5% DOM + OCR 93.2%

Recall: DOM + JS 100% DOM + OCR 100%

Conclusioni

1) Entrambi I metodi soddisfacentiPrecision > 90%

Recall = 100%

2) LimitazioniScript, ScrollBar

Ininfluenti nella ricerca condotta

Appendice: Metodo OCR

Funziona per le immagini

Studiato per documenti stampatiPochi coloriFont omogenei

Lento

Non particolarmente adatto ad analizzare pagine Web

Appendice: Limiti OCR: Esempio

Una porzione dell'immagine analizzata:

Ed il relativo output del software: