Piacere, Ransom32!

1

cryptolockerDa qualche tempo il fronte dei malware si è arricchito di una specie particolarmente fastidiosa di software: il ransomware. Capostipite fu nel 2013 CryptoLocker, che attuava una semplice strategia: impedire l’accesso ai file, criptandoli, all’utente del pc, per poi chiedere un riscatto (ransom in inglese) per i file stessi; pena per non pagare il riscatto è la perdita definitiva dei file.

La novità è arrivata alla fine del 2015, e riguarda il linguaggio usato per creare il malware: Ransom32 è stato scritto in javascript. Questa implementazione è particolarmente pericolosa, ma per rendere chiaro a tutti il perché è necessaria una premessa: in genere i virus devono lavorare direttamente con i file, quindi deve essere specializzato – ovvero limitato – a lavorare in un solo ambiente, un solo sistema operativo. Insomma, un virus scritto per Windows lavora solo in Windows e non può attaccare computer con MacOS o Linux. Ciò genera anche un fatto secondario – ma importante: la grandissima maggioranza dei malware prendono di mira Windows perché quest’ultimo è usato nella grandissima maggioranza dei pc; gli altri sistemi operativi sono più sicuri (anche) perché non minacciati.

Javascript nasce per essere usato come scripting nelle pagine HTML all’interno di un browser web: siccome è gestito dal browser, è il browser a dover essere scritto per un certo sistema operativo, ma javascript no. Proprio per questo i browser fanno girare javascript in un ambiente protetto e limitato – una sandbox; nel tempo alcune librerie hanno allargato il suo campo d’azione, permettendogli di uscire dalla sandbox e lavorare sui file. Poiché javascript è indipendente dal sistema operativo, un software creato con questo linguaggio è in grado di lavorare su qualunque sistema.

Ecco quindi la pericolosità: questo è il primo ransomware cross-platform: parte dell’immunità goduta da Linux e MacOS (per il semplice motivo di non essere Windows) sparisce, e il virus potenzialmente può colpire qualsiasi sistema operativo.

Per nostra fortuna le cose non sono proprio così semplici, e Ransom32 può essere evitato. Come accennato prima, javascript ha bisogno di una serie di librerie per uscire dalla propria sandbox: il virus, per essere sicuro di averle e poterle usasre, se le porta tutte con sé. Questo lo rende particolarmente grosso (ca. 30 MB), molto più dei soliti virus (di norma meno di 1 MB) – i quali usano le librerie del sistema operativo per cui sono stati scritti, e quindi sono sicuri di trovarle senza doversele portare dietro.

Per proteggersi bastano le solite regole di buonsenso:

  • evitare di aprire file dateci da persone non fidate;
  • evitare di aprire file sospetti: se dobbiamo aprire un file .pdf di 3 pagine e il file pesa 30 MB, il file è sospetto;
  • usare sempre un antivirus: pur non individuando tutte le minacce, specialmente quelle nuove, sono sempre utili;
  • fare regolari backup dei propri dati. – grazie a iliasbartolini per averlo ricordato

E voi, usate sempre un antivirus?

Ho coltivato la mia passione per l’informatica fin da bambino, coi primi programmi BASIC. In età adulta mi sono avvicinato a Linux ed alla programmazione C, per poi interessarmi di reti. Infine, il mio hobby è diventato anche il mio lavoro.
Per me il modo migliore di imparare è fare, e per questo devo utilizzare le tecnologie che ritengo interessanti; a questo scopo, il mondo opensource offre gli strumenti perfetti.