Questa soluzione antiphishing in tempo reale e basata su dispositivo per macOS porta il rilevamento basato su riferimento a un nuovo livello, avvisando istantaneamente gli utenti Mac quando si trovano su un sito di phishing.
Prima di tutto, il contesto
Quante uniche pagine web di phishing sono state pubblicate nel 2023? Il Antiphishing Working Group ha conteggiato quasi 5 milioni di siti. All’inizio del 2024, il gruppo di cybersicurezza di MacPaw, Moonlock, ha riportato un caso di malware, il cosiddetto AMOS stealer, che si basa su siti falsificati di marchi affidabili per diffondere malware su computer Apple. Questi siti non solo infettano i nostri dispositivi, ma raccolgono anche le credenziali delle vittime per scopi malevoli. Siti web spoofed sono estremamente pericolosi, e il mio team ed io abbiamo deciso di fare qualcosa al riguardo.
La soluzione che descrivo di seguito è iniziata come un esperimento di prova-concetto presso Moonlock. Abbiamo lavorato per migliorare il prototipo presso il dipartimento di R&D tecnologico di MacPaw e abbiamo presentato il nostro prototipo funzionante a STAST 2024. Il nostro documento di posizione descriveva la soluzione in dettaglio ed è stato originariamente caricato su arXiv.org. Per avere uno sguardo approfondito nel funzionamento della nostra app antiphishing, continua a leggere.
Cosa abbiamo attualmente in mano?
Attualmente, le app antiphishing utilizzano principalmente tre metodi di rilevamento: blacklisting, approccio basato sulla classificazione e approccio basato sul riferimento. Ogni metodo ha i suoi vantaggi, ma tutti richiedono significativi miglioramenti. Esploriamo ciascuno di questi metodi.
Blacklisting
Il metodo di blacklisting è pratico e accurato, ma non riesce a tenere il passo con la rapida diffusione dei siti di phishing. Non è sempre efficace poiché nuovi siti di phishing potrebbero non essere ancora stati aggiunti all’elenco, mentre gli attaccanti cambiano spesso URL per evadere il rilevamento.
Ad esempio, il servizio Google Safe Browsing utilizza elenchi di siti di phishing noti. Quando provi a visitare un sito web, verifica l’indirizzo contro questo elenco. Se c’è una corrispondenza, blocca l’accesso e ti avvisa sul pericolo. Ma cosa succede se il sito è stato pubblicato solo pochi minuti prima? Non sarà sull’elenco, e l’utente rimarrà intrappolato.
Approccio basato sulla classificazione
In questo metodo antiphishing, il machine learning analizza le caratteristiche delle pagine web come le strutture degli URL, il contenuto HTML e i metadati per determinare se un sito è contrafatto o legittimo. La classificazione è eccellente per le estensioni del browser perché apprende dai dati degli utenti per rilevare nuovi siti di phishing.
Tuttavia, il punto debole qui è che il machine learning richiede algoritmi complessi e un gran numero di dati di addestramento, mentre i criminali informatici creano rapidamente nuove tecniche di offuscamento per evadere il rilevamento. Questo rende gli approcci basati sulla classificazione meno accurati e non ideali per prodotti di sicurezza autonomi.
Approccio basato sul riferimento
Alcune soluzioni basate sul riferimento sono considerate all’avanguardia. Utilizzano tecniche di visione computazionale per analizzare l’aspetto delle pagine web e rilevare efficacemente i siti di phishing. C’è, però, un problema: queste soluzioni potrebbero essere più veloci se non elaborassero i casi di phishing nel cloud.
Esiste un gap temporale critico tra il momento in cui un sito di phishing va online e il momento in cui i sistemi di rilevamento basati sul riferimento lo aggiungono all’elenco. Volevamo ridurre questo gap per garantire un rilevamento e una risposta più rapidi.
Come funziona la nostra app antiphishing nativa per macOS
Il nostro obiettivo era avvisare gli utenti Mac riguardo ai siti di phishing non appena vanno online. Per ottenere questo, abbiamo utilizzato l’approccio basato sul riferimento e lo abbiamo migliorato. Abbiamo eliminato l’elaborazione cloud e proposto di eseguire tutti i calcoli localmente, puntando a ridurre i tempi di rilevamento. Inoltre, la nostra soluzione migliora la privacy poiché tutti i dati degli utenti sono elaborati sul dispositivo e non vengono inviati altrove.
Abbiamo costruito un’app nativa per macOS utilizzando Swift, incorporate le librerie per catturare schermate e per il machine learning. Convertendo i nostri modelli in formato CoreML, abbiamo garantito prestazioni fluide e minimizzato l’uso delle risorse di sistema. In questo modo, il nostro prototipo scansiona continuamente le pagine web in background, proteggendo gli utenti Mac dai siti di phishing senza richiedere ulteriori interazioni.
Il prototipo funziona in modo indipendente dai browser. Il framework di Accessibilità di macOS e i metadati di accessibilità aiutano l’app a concentrarsi su determinate aree di interesse in modo da sapere dove cercare phishing.
Ecco come funziona in sintesi.
Primo step: analisi della pagina web
Quando un utente visita un sito web, la nostra app cerca di comprendere il layout della pagina. Identifica elementi chiave della pagina come loghi, campi di input e pulsanti. Per questo compito, abbiamo scelto DETR con ResNet-50 grazie alla sua accuratezza e prestazioni
È importante riconoscere le posizioni degli elementi sul sito, in particolare l’area con il logo del marchio e i moduli per l’immissione delle credenziali.
Secondo step: attribuzione del marchio
Dopo, il prototipo verifica se un logo rilevato sul sito corrisponde a marchi noti. Inoltre, confronta l’URL della pagina contro un elenco di siti web legittimi. Se il sito è ufficiale, saltiamo ulteriori passaggi.
Siamo rimasti dispiaciuti di vedere quanti domini ufficiali i marchi utilizzano per il marketing. Non c’è da stupirsi che i siti di phishing siano così efficaci nel ingannare le loro vittime. Ad esempio, DHL ha diversi domini ufficiali come dhl.com, express.dhl, mydhli.com, dhlsameday.com e dhlexpresscommerce.com.
Terzo step: prevenire il furto di credenziali
Classifichiamo la pagina web in due categorie: se richiede o meno credenziali. Questo passaggio verifica se un sito di phishing sta cercando di rubare informazioni personali dall’utente.
Nello screenshot, il nostro prototipo ha trovato campi di input per le credenziali, attribuito la pagina a DHL e controllato l’URL contro l’elenco dei domini ufficiali di DHL. L’utente ha ricevuto un avviso di phishing poiché la pagina non appartiene a DHL.
Quanto è accurato il prototipo?
Il nostro sistema mantiene o supera l’accuratezza di base e sicuramente ha tempi di elaborazione più rapidi. Abbiamo raggiunto un’accuratezza del 90,8% nel riconoscimento dei loghi e del 98,1% nel rilevamento dell’input delle credenziali.
Il grafico qui sotto mostra le nostre prestazioni rispetto ad altre soluzioni antiphishing e come ci confrontiamo in termini di precisione, richiamo e tasso di falsi positivi. Abbiamo identificato con orgoglio l’87,7% delle tentativi di phishing mantenendo il tasso di falsi positivi a un basso 3,4%.
È veloce e fluido, anche
Le metriche finali dimostrano che la nostra soluzione funziona senza problemi in background senza una percepibile perdita di prestazioni. L’uso della CPU è minimo: con otto core nel Mac Apple M1, il nostro prototipo utilizza solo il 16% della capacità disponibile di 800%. Questo livello di consumo è simile a quello di tre schede di Safari attive o di una chiamata Zoom.
Considerazioni finali
Esistono molte applicazioni antiphishing sul mercato, ma la maggior parte di esse elabora i dati su server esterni. Il nostro prototipo mostra che l’hardware dei computer moderni consente di portare i modelli di machine learning in modo locale sul dispositivo. Possiamo usarli per combattere il phishing senza preoccuparci delle velocità di elaborazione e dell’uso delle risorse di sistema. Fortunatamente, l’ecosistema Apple offre framework e strumenti per l’ottimizzazione.
Autore: Ivan Petrukha, Senior Research Engineer presso MacPaw Technological R&D, ex-Moonlock.
Fonte: https://hackernoon.com/heres-how-we-made-a-real-time-phishing-website-detector-for-macos?source=rss





