Post on 01-Jul-2015
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: