Anti-spyware: Ultima Frontiera

Monday, December 13th, 2010 | Author:
Anti-Spyware Logo

Anti-Spyware Logo

Recentemente mi è capitato di dover fare una review di un articolo che parlava di un filone di ricerca abbastanza particolare e che non conoscevo. Sinceramente leggendo il titolo e l’abstract dell’articolo sono partito abbastanza prevenuto: non è facile non sorridere ad un titolo che enfatizza l’analisi delle licenze dei software per trovare se un programma contiene al suo interno uno spyware. Ma non volendo che in un futuro si potesse verificare l’eventualità di essere considerato nel numero di quelli che hanno ostacolato una promettente tecnologia (come è successo nel passato con quelli che hanno cercato di ostracizzare la ricerca iniziale sulla crittografia a chiave pubblica), mi sono impegnato a fare un po’ di ricerca al riguardo. Questo post ne è il resoconto. Naturalmente non posso parlare dell’articolo che ho revisionato, non essendo stato ancora pubblicato; quindi mi concentrerò sugli aspetti innovativi, ma già pubblici, di questa ricerca.

Attualmente l’esigenza di mezzi sempre più efficaci per l’analisi dei sistemi informatici per prevenire la possibilità che vengano attaccati da virus o spyware è sempre più sentita. Secondo un report rilasciato ad inizio anno da parte di Kaspersky (Kaspersky Security Bulletin 2009. Malware Evolution 2009), il numero di programmi pericolosi è cresciuto in modo esponenziale tra il 2008 e il 2009. Ad esempio, Kaspersky Lab aveva identificato 2 milioni di programmi dannosi tra il 1992 e il 2007, ma nel solo 2008 ne ha identificati 15 milioni, per arrivare nel 2009 alla cifra 33.9 milioni. Altro punto interessante di questo report è che fa notare come ci sia stata in generale una diminuzione dei virus ed un aumento degli spyware. Questo è facile da comprendere considerando quanto sia diventato importante e di valore le informazioni personali dei singoli utenti; avere accesso alla casella di posta di qualcuno significa avere accesso a tutta una serie di informazioni vitali, come ad esempio i suoi estratti-conto, le informazioni sulla sue carte di credito e così via. Anche se sembra impossibile, bisogna anche tenere in considerazione che non sempre, poi, bisogna proteggersi da attaccanti palesemente cattivi: può capitare che l’attaccante sia un’entità di assoluto rispetto. Esempio emblematico è quello che accadde nel 2005 con la  Sony Music che inserì, in circa 50 titoli musicali venduti su CD, un programma che si installava in automatico su Windows quando il CD veniva inserito nel computer per la prima volta; questo software era un rootkit che, nelle intenzioni della Sony, avrebbe dovuto evitare la possibilità di poter duplicare i propri CD, ma che nella realtà introduceva molte vulnerabilità a Windows stesso. Quanto accadde alla Sony prese il nome di Sony BMG CD copy protection scandal (grazie mille a JP, per questa citazione).

Grafico della crescita dei Maleware secondo Kaspersky

Grafico della crescita dei Maleware secondo Kaspersky

Con questi livelli di crescita la tecnologia base utilizzata dagli antivirus, che consiste nell’utilizzare un database contenente i pattern di tutti i virus/spyware già identificati, per quanto efficace presenta un limite molto forte: utilizzando questo approccio i software deputati a proteggere i nostri computer sono sempre un passo indietro rispetto agli avversari. Proprio per questo la ricerca di sistemi che cercano di riconoscere in modo automatico nuovi potenziali malware non ancora riconosciuti continua ad essere un campo molto affascinante. Ad esempio una delle tecnologie di punta in questo campo, sono i sistemi basati sulla logica fuzzy (uno dei primi antivirus ad utilizzare questo tipo di tecnologia è stato il famoso F-Prot all’inizio degli anni novanta). Questi vengono utilizzati per cercare pattern particolari, riconducibili ad un comportamento deviato (ad esempio accesso a file privati, accesso alla rete, etc.) all’interno del codice eseguibile dei programmi.

L’articolo che ho revisionato si innesta proprio in questo filone di ricerca e rappresenta una delle sfide più recenti (i primi articoli sono stati pubblicati nel 2008): la ricerca di sistemi per la rivelazione di spyware basandosi non sull’analisi del codice eseguibile dei software (come comunemente accade), ma della licenza d’uso degli stessi: la così detta EULA (End User Licence Agreament). Tutto nasce dal presupposto (per l’altro confutato, soprattutto per quanto riguarda il mercato statunitense) che molto spesso i programmi che contengono spyware tendono ad inserire nella loro EULA delle clausole atte a proteggersi da possibili accuse in sede legali. Naturalmente l’analisi accurata delle licenze per ricercare possibili “suggerimenti” della presenza di spyware non è alla portata dell’utente medio (anche perché, sinceramente, chi solitamente legge per intero le licenze?), e quindi è stato naturale pensare ad un sistema automatico per l’analisi delle licenze alla ricerca di possibili indizi “di colpevolezza”. Per quanto quest’area sia ancora quasi completamente ad appannaggio della ricerca scientifica, si cominciano a vedere anche software commerciali per questo tipo di analisi: uno dei più famosi è sicuramente EULAlyzer che esiste sia in versione free che professional (a pagamento). Leggermente meno famoso (e sembrerebbe anche meno avanzato), è EULA Analyzer che funziona direttamente via web, caratterizza questa che lo rende appetibile come prima soluzione gratuita.

Nel campo della ricerca scientifica i problemi da affrontare sono principalmente i seguenti:

  1. estrazione delle licenze dai file di installazione: questo è più un problema tecnico che di ricerca e quindi non viene preso in considerazione;
  2. pre-analisi della licenza, in modo da recuperare solo le informazioni che veramente devono essere analizzate: questo passo è fondamentale per poter utilizzare gli algoritmi di classificazione, ma è anche un passo molto complesso come è facile immaginare: se si elimina troppo l’analisi successiva sarà inaccurata, ma se si elimina troppo poco ci sarà troppo informazioni inutili che creano un rumore di fondo che distorce l’analisi successiva. Uno dei metodi più semplici è l’utilizzo di una lista di frequenze delle parole che compaiono nella licenza [1], metodo analogo a quello usato con successo nella analisi anti-spam delle mail;
  3. l’ultimo passo è l’analisi dei risultati prodotti dal passo 2 utilizzando algoritmi di classificazione che distinguano fra licenze buone e licenze cattive, possibilmente fornendo anche un indice di quanto siano buone o cattive queste licenze. Di algoritmi di classificazione ne esistono moltissimi in letteratura, e la ricerca attuale si concentra soprattutto nello studio degli algoritmi più adatti all’analisi delle licenze cercando di ottimizzarli il più possibile per questo specifico problema. Ad esempio gli articoli [2] e [3], di Lavesson et. al, procedono ad un analisi sistematica di questi algoritmi, prendendo in rassegna vari modelli: si spazia dai classificatori Bayesiani (come le NaiveBayes) a quelli basati sugli Alberi (come i RandomTree), passando per quelli basati sulle Support Vector Machines.

Sulla reale utilità, per ora non mi esprimo: i software realmente disponibili all’utente finale sono troppo pochi per poter capire se effettivamente questo nuovo modello di indagine porterà dei reali benefici in futuro. Molto probabilmente risulterà un utile coadiuvante alle metodologie di protezione più classiche e collaudate. Credo comunque che fino a quando qualche grosso nome (e.g., Norton) non deciderà di investire su questa tecnologia non sarà possibile vedere se può portare oppure no reali benefici.

Bibliografia essenziale

  1. M. Boldt, A. Jacobsson, N. Lavesson, and P. Davidsson, “Automated spyware detection using end user license agreements,” in Proceedings of the Second International Conference on Information Security and Assurance, Busan, Korea, April 2008
  2. N . Lavesson, P. Davidsson, M. Boldt, A. Jacobsson, “Spyware Prevention by Classifying End User License Agreements,” in New challenges in applied intelligence technologies, studies in computational intelligence, vol 134. Springer, Berlin, 2008
  3. N. Lavesson, M. Boldt, P. Davidsson, and A. Jacobsson, “Learning to detect spyware using end user license agreements,” in Knowledge and Information Systems, pages 1–23, 2010
Bibliografia essenziale:
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
  1. jp says:

    @Contezero: innanzitutto bel post! L’idea di analizzare le EULA mi sembra un ottimo modo di procedere, almeno fintanto che le aziende che inseriscono spyware nei loro programmi si degnano di segnalarne la loro possibile presenza. E lo devono fare (e lo fanno) se non vogliono perdere cause e cause in tribunale. Ecco, la parte complicata per noi umani è proprio tradurre dal legalese, un tipo di slang volutamente complicato e certamente incomprensibile all’utente non specializzato, per cui ha molto senso qualche aiuto elettronico nell’opera di decifratura. 😀

    Ciao & nuovamente bel post! 😀

  2. Eros Pedrini says:

    @Jp: felice che ti sia piaciuto 🙂 e grazie di essere passato 🙂

  3. Ruggero says:

    Interessante! Bravo Contezero! 😉

  4. Eros Pedrini says:

    @Ruggero: 🙂 Grazie di essere passato 🙂

  5. Interessante! Grazie e bel blog 🙂

  6. Eros Pedrini says:

    @lorenzo: grazie 🙂 e ben venuto 🙂

  7. duccio says:

    Hey, ma non era un Blog di cucina questo ?? comunque bel post davvero ! (forse non al livello di quello sui Moretti, ma decisamente un bel lavoro).

  8. Eros Pedrini says:

    @Duccio: Tutto bene? 🙂 Diciamo che è nato come blog di informatica… poi pian piano si è trasformato ed è diventato un vaso di pandora dove si miscela (con poca sapienza) informatica, cucina, cinema e libri 🙂

    Se sei interessato più all’aspetto culinario del blog ti anticipo che lunedì ci sarà un post sul “liquore al cioccolato” 🙂

    cheers 🙂

  9. duccio says:

    Wow.. in realtà sono combattuto fra l’aspetto culinario e quello informatico, per quanto non mi dispiacciano nemmeno le toccate fuga nel mondo jappo
    A proposito di nouvelle cousine, ti consiglio un girello anche sul blog ” il pranzo di babette “ci sono ricette davvero interessanti (in particolare se apprezzi l’Aneto).

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>