Rileva il phishing con il web scraping

Rileva il phishing con il web scraping

Sfortunatamente, il phishing è redditizio, difficile da rilevare e relativamente facile da eseguire. Con l'accelerazione delle trasformazioni digitali in tutto il mondo, il phishing sperimenterà una crescita esplosiva continua.

Secondo Phishlabs, il numero di tentativi di phishing nel primo trimestre del 2021 è aumentato di quasi il 50%. Non c'è nemmeno motivo di credere che smetterà di arrampicarsi.

Ciò significa livelli più elevati di danni e rischi digitali. Per contrastare tale aumento, è necessario testare o migliorare nuovi approcci di rilevamento del phishing. Un modo per migliorare gli approcci esistenti è utilizzare il web scraping.

frode di identità

I phisher avrebbero difficoltà a replicare completamente il sito Web originale. Posizionando tutti gli URL in modo identico, replicando immagini, impostando l'età del dominio, ecc. richiederebbe uno sforzo maggiore di quello che la maggior parte delle persone sarebbe disposta a sostenere.

Inoltre, una parodia perfetta avrebbe probabilmente una percentuale di successo inferiore a causa della possibilità che il target venga perso (facendo clic su un URL non correlato). Infine, come con qualsiasi altra truffa, non è necessario ingannare tutti, quindi nella maggior parte dei casi la replica perfetta sarebbe uno sforzo sprecato.

Tuttavia, i phisher non sono stupidi. O almeno quelli che non lo sono. Fanno sempre del loro meglio per creare una replica credibile con il minimo sforzo possibile. Potrebbe non essere efficace contro gli esperti di tecnologia, ma anche una replica perfetta potrebbe non essere efficace contro i diffidenti. In breve, il phishing consiste nell'essere "abbastanza buoni".

Pertanto, a causa della natura del business, ci sono sempre uno o due buchi ovvi da scoprire. Due buoni modi per iniziare sono cercare le somiglianze tra i siti Web frequentemente violati (ad es. fintech, SaaS, ecc.) e i siti Web sospetti di phishing, oppure raccogliere modelli di attacco noti e progredire da lì.

Sfortunatamente, con il volume di siti Web di phishing che spuntano quotidianamente e destinati a prendere di mira persone meno esperte di tecnologia, risolvere il problema potrebbe non essere così facile come sembra. Naturalmente, come spesso accade, la risposta è l'automazione.

Ricerca di phishing

Altri metodi sono stati sviluppati nel corso degli anni. Un articolo di revisione di ScienceDirect del 2018 elenca il rilevamento basato su URL, il riconoscimento del layout e il rilevamento basato sul contenuto. I primi sono spesso in ritardo rispetto ai phisher, poiché i database si aggiornano più lentamente di quanto appaiano i nuovi siti web. Il riconoscimento del layout si basa sull'euristica umana ed è quindi più incline al fallimento. Il rilevamento basato sui contenuti è pesante dal punto di vista computazionale.

Presteremo un po' più di attenzione al riconoscimento del layout e al rilevamento basato sul contenuto, poiché si tratta di processi complicati che traggono grande vantaggio dallo scraping web. A quel tempo, un gruppo di ricercatori ha creato un framework per il rilevamento di siti Web di phishing chiamato CANTINA. Era un approccio consapevole del contenuto che controllava dati come rapporti TF-IDF, età del dominio, URL sospetti, abuso di punteggiatura e altro ancora. Tuttavia, lo studio è stato pubblicato nel 2007 quando le possibilità di automazione erano limitate.

Il web scraping può migliorare significativamente il framework. Invece di cercare manualmente i valori anomali, le applicazioni automatizzate possono eseguire la scansione dei siti Web e scaricare da essi contenuti pertinenti. Dettagli importanti come quelli descritti sopra possono essere estratti, analizzati e valutati dal contenuto.

costruire una rete

CANTINA, sviluppata dai ricercatori, presentava un inconveniente: veniva utilizzata solo per testare un'ipotesi. A tal fine è stato compilato un database di siti Web legittimi e di phishing. Lo stato di entrambi era noto a priori.

Tali metodi sono adatti per verificare un'ipotesi. Non sono così buoni in pratica quando non conosciamo in anticipo lo stato dei siti web. Le applicazioni pratiche di progetti simili a CANTINA richiederebbero un notevole sforzo manuale. Ad un certo punto, queste applicazioni non sarebbero più considerate "pratiche".

In teoria, tuttavia, il riconoscimento basato sui contenuti sembra essere un forte contendente. I siti Web di phishing devono riprodurre il contenuto in modo quasi identico all'originale. Eventuali incongruenze, come immagini fuori posto, errori di ortografia, parti di testo mancanti, possono sollevare sospetti. Non possono mai allontanarsi troppo dall'originale, il che significa che parametri come TF-IDF devono essere simili per necessità.

Lo svantaggio del riconoscimento basato sul contenuto è stato il lavoro manuale costoso e dispendioso in termini di tempo. Tuttavia, il web scraping sposta la maggior parte dello sforzo manuale verso la piena automazione. In altre parole, ci consente di utilizzare i metodi di rilevamento esistenti su scala molto più ampia.

Innanzitutto, invece di raccogliere manualmente gli URL o estrarli da un database già esistente, lo scraping può crearne rapidamente uno tuo. Possono essere raccolti attraverso qualsiasi contenuto che colleghi in qualsiasi modo collegamenti ipertestuali o collegamenti a questi presunti siti Web di phishing.

In secondo luogo, uno scraper può eseguire la scansione di una raccolta di URL più velocemente di qualsiasi essere umano. La panoramica manuale presenta vantaggi, come la possibilità di vedere la struttura e il contenuto di un sito Web così com'è invece di ottenere il codice HTML grezzo.

Le rappresentazioni visive, tuttavia, sono di scarsa utilità se utilizziamo metodi di rilevamento matematico come la profondità di legame e TF-IDF. Possono anche fungere da distrazione, distogliendoci da dettagli importanti a causa dell'euristica.

L'analisi diventa anche una traccia di rilevamento. I parser spesso falliscono se si verificano modifiche al design o al layout sul sito Web. Se si verificano errori di scansione insoliti rispetto allo stesso processo eseguito sui principali siti Web, questi possono servire come indicazione di un tentativo di phishing.

In definitiva, il web scraping non produce metodi completamente nuovi, almeno per quanto ne so, ma ne abilita quelli più vecchi. Offre un modo per scalare metodi che altrimenti potrebbero essere troppo costosi da implementare.

gettare una rete

Con un'adeguata infrastruttura di web scraping, è possibile accedere a milioni di siti Web ogni giorno. Proprio come uno scraper raccoglie l'HTML sorgente, abbiamo tutto il contenuto testuale archiviato dove lo vogliamo. Alcune scansioni dopo, il contenuto del testo normale può essere utilizzato per calcolare TF-IDF. Un progetto probabilmente inizierebbe raccogliendo tutte le metriche importanti dai popolari obiettivi di phishing e passerebbe al rilevamento.

Inoltre, ci sono molte informazioni interessanti che possiamo estrarre dalla fonte. Tutti i collegamenti interni possono essere visitati e archiviati in un indice per creare una rappresentazione della profondità complessiva del collegamento.

È possibile rilevare tentativi di phishing costruendo un albero di siti Web tramite l'indicizzazione con un web crawler. La maggior parte dei siti Web di phishing sarà superficiale per i motivi sopra descritti. D'altra parte, i tentativi di phishing copiano i siti web di aziende affermate. Questi avranno una grande profondità di legame. La stessa superficialità potrebbe essere un indicatore di un tentativo di phishing.

Tuttavia, i dati raccolti possono essere utilizzati per confrontare TF-IDF, parole chiave, profondità del collegamento, età del dominio, ecc., Con metriche di siti Web legittimi. L'incompatibilità sarebbe fonte di sospetto.

C'è un avvertimento da decidere "al volo": quale margine di differenza è motivo di indagare? Una linea deve essere tracciata nella sabbia da qualche parte e, almeno inizialmente, dovrà essere abbastanza arbitraria.

Inoltre, c'è una considerazione importante per gli indirizzi IP e le posizioni. Alcuni contenuti di un sito Web di phishing possono essere visibili solo a indirizzi IP da una specifica posizione geografica (o non da una specifica posizione geografica). Risolvere questi problemi, in circostanze normali, è difficile, ma i proxy offrono una soluzione facile.

Poiché un proxy ha sempre una posizione e un indirizzo IP ad esso associati, un pool sufficientemente grande fornirà una copertura globale. Ogni volta che si incontra un blocco geografico, è sufficiente una semplice modifica del proxy per rimuovere l'ostacolo.

Infine, il web scraping, per sua natura, consente di scoprire una grande quantità di dati su un argomento specifico. La maggior parte è non strutturata, che di solito è riparata dall'analisi, e non etichettata, che di solito è riparata dagli esseri umani. I dati strutturati ed etichettati possono fornire una base eccellente per i modelli di machine learning.

Smetti di phishing

La creazione di un rilevatore di phishing automatizzato tramite il web scraping produce molti dati da valutare. Una volta valutati, i dati perderebbero generalmente il loro valore. Tuttavia, come per il riciclaggio, queste informazioni possono essere riutilizzate con alcune modifiche.

I modelli di apprendimento automatico hanno lo svantaggio di richiedere grandi quantità di dati per iniziare a fare previsioni di qualità accettabile. Tuttavia, se gli algoritmi di rilevamento del phishing dovessero iniziare a utilizzare il web scraping, questa quantità di dati si verificherebbe naturalmente. Naturalmente, potrebbe essere necessaria l'etichettatura, che richiederebbe un notevole sforzo manuale.

Indipendentemente da ciò, le informazioni sarebbero già strutturate per produrre risultati accettabili. Sebbene tutti i modelli di machine learning siano scatole nere, non sono del tutto opachi. Possiamo prevedere che i dati strutturati ed etichettati in un certo modo produrranno determinati risultati.

Per chiarezza, i modelli di apprendimento automatico potrebbero essere pensati come l'applicazione della matematica alla fisica. Alcuni modelli matematici sembrano adattarsi eccezionalmente bene a fenomeni naturali come la gravità. L'attrazione gravitazionale può essere calcolata moltiplicando la costante gravitazionale per la massa di due oggetti e dividendo il risultato per la distanza tra loro al quadrato. Tuttavia, se conoscessimo solo i dati richiesti, non ci darebbe un'idea della gravità stessa.

I modelli di apprendimento automatico sono più o meno gli stessi. Una certa struttura di dati produce i risultati attesi. Tuttavia, non è chiaro come questi modelli arrivino alle loro previsioni. Allo stesso tempo, in tutte le fasi, il resto è come previsto. Pertanto, salvo casi marginali, il carattere "scatola nera" non danneggia molto i risultati.

Inoltre, i modelli di apprendimento automatico sembrano essere tra i metodi più efficaci per rilevare il phishing. Secondo la ricerca di Springer Link, alcuni crawler automatizzati con implementazioni ML potrebbero raggiungere una precisione del 99%.

Il futuro del web scraping

Il web scraping sembra essere il complemento perfetto per tutte le attuali soluzioni di phishing. Dopotutto, la maggior parte della sicurezza informatica richiede molti dati per prendere le giuste decisioni di protezione. Il phishing non è diverso. Almeno attraverso la lente della sicurezza informatica.

Sembra esserci una santa trinità nella sicurezza informatica che aspetta solo di essere sfruttata al massimo del suo potenziale: analisi, web scraping e apprendimento automatico. Ci sono stati alcuni tentativi di combinare due dei tre insieme. Tuttavia, devo ancora vedere tutti e tre sfruttati al massimo delle loro potenzialità.