Questo sito utilizza i cookie per migliorare servizi ed esperienza dei lettori. Se decidi di continuare la navigazione consideriamo che accetti il loro uso. Per maggiori informazioni sull uso dei cookies e su come eliminarli leggi l'informativa estesa

Informativa sulla privacy

Android Ransomware: tecniche di AI a supporto

Android Ransomware: tecniche di AI a supporto

| Michele Scalas, Davide Maiorca, Giorgio Giacinto | cybersecurity month
Articolo letto 180 volte

Il ransomware rappresenta una seria minaccia che agisce bloccando il dispositivo compromesso e crittografandone i dati (insieme all’appropriazione di informazioni private), costringendo il proprietario del dispositivo a pagare un riscatto per ripristinare la funzionalità del dispositivo o per evitare che i dati rubati siano resi pubblicamente disponibili.

Le applicazioni che compromettono il sistema vengono sviluppate in modo che funzionalità normalmente legittime (come ad esempio la crittografia) eseguano comportamenti dannosi e siano quindi difficilmente distinguili da applicazioni autentiche.

Questo tipo di minaccia colpisce anche tutta la parte mobile, inclusa la piattaforma Android. Di seguito, illustriamo come funzionano tali attacchi contro Android e cosa sta facendo la ricerca per neutralizzarli.

Strategie di attacco

In genere, vengono utilizzati due metodi per eseguire attacchi ransomware Android: blocco e crittografia. Nel primo caso, gli attaccanti adottano la seguente strategia:

  1. schermate visibili e sovrapposte (cioè finestre poste sopra qualsiasi altra schermata) che non possono essere ignorate dall'utente;
  2. schermate sempre visibili, anche quando vengono chiuse o il dispositivo viene riavviato;
  3. pulsanti di navigazione disabilitati, come la funzionalità per tornare indietro.

Tali schermate, come nella Figura 1, in cui l'app ransomware si maschera da forza dell’ordine, includono messaggio di minaccia che guidano l'utente a eseguire il pagamento del riscatto, il quale consentirà (teoricamente) di sopprimere lo schermo permanente.

Figure 1. The typical messages of an Android ransomware. Source: ”KSN Report: Mobile ransomware in 2014-2016”, Kaspersky
Figure 1. The typical messages of an Android ransomware. Source: ”KSN Report: Mobile ransomware in 2014-2016”, Kaspersky

Le versioni più recenti di Android hanno implementato contromisure in risposta a questa strategia. Per esempio:

  • il dispositivo può essere avviato in modalità provvisoria, per permettere al sistema di bloccare l'esecuzione di applicazioni di terze parti;
  • non è possibile avviare schermate sovrapposte senza mostrare una notifica;
  • la barra di stato ha la priorità e mostra una notifica specifica che consente di disabilitare le schermate in sovrimpressione.

Tuttavia, ad oggi (settembre 2020) la maggior parte dei dispositivi non dispongono di queste recenti versioni di Android. Pertanto, la strategia di blocco basata sull’attacco rimane una minaccia rilevante.

Nel caso di strategie di attacco ransomware basate sulla crittografia invece, compare una finestra che non è necessariamente visualizzata costantemente, dato che l’obiettivo principale è eseguire la crittografia dei dati dell'utente (ad esempio foto, video, documenti). Pertanto, è necessario pagare il ransomware per decifrare i dati.

Un grande punto di forza del ransomware è proprio l’utilizzo di funzionalità e componenti di sistema legittimi. Ad esempio, la visualizzazione di una schermata che non si può eliminare, viene spesso utilizzata per evitare tocchi accidentali che potrebbero far perdere agli utenti alcuni dei contenuti sullo schermo. Allo stesso modo, la crittografia non è dannosa di per sé, poiché di solito viene utilizzata per archiviare in modo sicuro i dati sensibili generati dalle applicazioni. Tutto questo rende il ransomware incredibilmente ingannevole ed è per questo che la sfida per gli esperti di sicurezza consiste nell'individuare le specificità che distinguono il comportamento dannoso da quello legittimo.

In che modo l'IA può rilevare e spiegare il ransomware

L'intelligenza artificiale, in particolare il machine learning, è stata sempre più utilizzata per sviluppare sistemi di rilevamento malware Android, ovvero strumenti che classificano un'applicazione come dannosa o legittima. Nei nostri studi, abbiamo dimostrato che il ransomware può essere rilevato attraverso algoritmi di machine learning a cui viene insegnato di analizzare un piccolo insieme di caratteristiche (le cosiddette feature dell'algoritmo) nella struttura delle applicazioni. Abbiamo studiato la fattibilità del nostro approccio, valutandone la resilienza e il costo computazionale su un dispositivo mobile.

Più di recente, abbiamo proposto metodi per scoprire i tratti specifici che caratterizzano gli attacchi ransomware Android. Per farlo, utilizziamo tecniche cosiddette di explainability, ovvero strumenti sperimentali che consentono di capire la conoscenza appresa dai modelli di machine learning. In questo modo, la comunità di ricerca mira a identificare le caratteristiche più preminenti che caratterizzano le applicazioni ransomware, evidenziando allo stesso tempo i punti deboli degli attuali rilevatori basati su AI.

A titolo di esempio, in una delle nostre simulazioni, abbiamo considerato un set up di base in cui utilizziamo due tipi di feature: i) le chiamate alle funzionalità di sistema e ii) la richiesta di permessi. La logica alla base di questa scelta è la seguente:

  • chiamate alle funzionalità di sistema: le azioni di blocco e crittografia richiedono l'uso di elementi che coinvolgono le funzionalità principali del sistema, ad es. per mantenere le finestre costantemente visualizzate o eseguire routine di crittografia. Per un attaccante, lo sviluppo di nuove librerie per eseguire questo tipo di azioni sarebbe estremamente inefficiente. Pertanto, è più frequente l’utilizzo di funzioni già incluse nel sistema Android. Ad esempio, ci aspettiamo l'utilizzo di funzionalità di sistema che blocchino lo schermo o reimpostino la password dello schermo di blocco. Oppure, è probabile che il crypto ransomware utilizzi funzionalità standard per la gestione dei file o l'esecuzione della crittografia dei file;
  • richieste di autorizzazione: il sistema operativo Android richiede che lo sviluppatore dell'applicazione richieda a sua volta le autorizzazioni per utilizzare una particolare funzionalità. A seconda della sua pericolosità, un'autorizzazione può essere concessa automaticamente o dopo un esplicito consenso dell'utente. Di conseguenza, ci aspettiamo che le autorizzazioni comuni (ad esempio INTERNET per consentire all'app di connettersi a Internet) siano associate ad applicazioni attendibili, mentre quelle pericolose (come WRITE_EXTERNAL_STORAGE per consentire all'applicazione di scrivere nella memoria del dispositivo) potrebbero essere tipiche dei campioni di ransomware.

Nuove direzioni della ricerca

Attraverso il nostro lavoro identifichiamo e spieghiamo i tratti principali del ransomware Android, evidenziando le caratteristiche di ciascuna famiglia e l'evoluzione degli attacchi nel tempo in termini di componenti applicative. Come mostrato nella Figura 2, le spiegazioni estratte rivelano che ciascuna funzionalità, una chiamata di sistema o un’autorizzazione (in lettere maiuscole), indica un comportamento da ransomware (valori positivi) o uno legittimo (valori negativi) a seconda delle caratteristiche della famiglia o del periodo di creazione del ransomware considerato. Infatti, gli attaccanti sviluppano costantemente nuovi stratagemmi per ingannare i rilevatori di malware.

Figure 2. Average features’ importance for ransomware samples, grouped by family (left) and creation date (right). The positive values indicate ransomware behaviour, negative ones a legitimate behaviour.
Figure 2. Average features’ importance for ransomware samples, grouped by family (left) and creation date (right). The positive values indicate ransomware behaviour, negative ones a legitimate behaviour.

La nostra analisi ha corroborato le evidenze precedenti ovvero che le chiamate di sistema e le autorizzazioni catturano efficacemente le azioni peculiari gestite dalle applicazioni ransomware. L'approccio proposto può quindi essere utilizzato per testare l'efficacia di altre feature e ricade in una nuova direzione di ricerca specializzata nel miglioramento del processo di progettazione dei rilevatori di malware, in cui le spiegazioni possano essere di aiuto agli esperti per caratterizzare gli attacchi in modo efficace e, in definitiva, a eseguire un rilevamento più accurato.

Referenze

F. Cara, M. Scalas, G. Giacinto, and D. Maiorca, “On the Feasibility of Adversarial Sample Creation Using the Android System API,” Information 2020, Vol. 11, Page 433, vol. 11, no. 9, p. 433, Sep. 2020.

M. Scalas, D. Maiorca, F. Mercaldo, C. A. Visaggio, F. Martinelli, and G. Giacinto, “On the effectiveness of system API-related information for Android ransomware detection,” Computers & Security, vol. 86, pp. 168–182, Sep. 2019.

M. Melis, D. Maiorca, B. Biggio, G. Giacinto, and F. Roli, “Explaining Black-box Android Malware Detection,” in 2018 26th European Signal Processing Conference (EUSIPCO), 2018, pp. 524--528.

Sophos, “The State of Ransomware 2020”, Survey on 5000 IT Managers, May 2020. (last accessed October 2020)

foto di Michele Scalas, Università degli Studi di Cagliari

Michele Scalas ha conseguito una laurea in Ingegneria delle Telecomunicazioni presso l'Università degli Studi di Cagliari. E’ dottorando presso il Laboratorio di Pattern Recognition and Application Lab presso l'Università degli Studi di Cagliari e i suoi interessi di ricerca includono il rilevamento di malware e l'explainable machine learning.

foto di Davide Maiorca, Università degli Studi di Cagliari

Davide Maiorca ha ricevuto una Laurea in Ingegneria Elettronica e un Ph.D. presso l’Università di Cagliari. Le sue attuali aree di ricerca includono adversarial machine learning, malware in documenti e applicazioni Flash, Android malware e mobile fingerprinting.

foto di Giorgio Giacinto, Università degli Studi di Cagliari

Giorgio Giacinto è Professore presso l’Università di Cagliari, dove è coordinatore del corso di Laurea Magistrale in Computer Engineering, Cybersecurity and Artificial Intelligence. E’ membro del Pattern Recognition and Applications (PRA Lab) dove guida l’Unità di Computer Security. I suoi principali interessi di ricerca ricadono nel campo del machine learning ai fini della sicurezza informatica, come l’analisi e la rilevazione di malware, la sicurezza delle applicazioni web, la rilevazione di azioni malevole. E’ membro del comitato di gestione del Laboratorio Nazionale di Cybersecurity del CINI e rappresenta il Laboratorio nel contesto dello European Cybersecurity Organisation (ECSO).

Cybersecurity: siamo in guerra! (che ci piaccia o no)


Pier Luca Montessoro, Università degli Studi di Udine - Conferenza GARR 2018

Minacce attuali e nuovi trend di attacco, l’analisi del mondo della CyberSecurity da parte di Fortinet


Matteo Arrigoni, Fortinet - Conferenza GARR 2019

Cybersecurity Month 2020

Archivio GARR NEWS