Che cosa è un trojan source attack? Per chi non mastica di programmazione, queste tre parole potrebbero dire nulla, ma chi invece si occupa di informatica, ed in particolare di cybersicurezza, ha subito drizzato le antenne. Un argomento che è stato in particolare approfondito dal portale Difesaonline.it, citando il paper “Trojan source: Invisible Vulnerabilities”, pubblicato di recente dal professor Ross Anderson della Cambridge University, e da Nicholas Boucher, suo studente. In poche parole, un trojan source attack consiste nell’ingannare i compilatori, affinchè si producano file binari differenti da quando visibile da un occhio umano.
Il compilatore, per chi non mastica di ingegneria informatica, è un software che analizza il testo del nostro programma, e verifica che sia scritto correttamente dal punto di vista della sintattica, traducendolo poi in un programma ottimizzato nel linguaggio eseguibile dal calcolatore. “Per capire in cosa consiste questo nuovo genere di attacco presentato da Boucher e Anderson – scrive Difesaonline.it – in primo luogo occorre parlare di codifica e degli standard utilizzati per la codifica”. Uno degli standard più usati a riguardo è l’ASCII, American Standard Code for Information Interchange, usato per la prima volta nel lontano 1963. In seguito questo standard si è evoluto ed esteso, per poi passare all’UNICODE, che permette la codifica di 145mila caratteri e simboli.
TROJAN SOURCE ATTACK: ECCO DI COSA DI TRATTA, TUTTI I DETTAGLI
Per stabilire l’ordine secondo cui il testo debba essere visualizzato, si utilizza invece l’algoritmo chiamato Bidirectional Algorithm (BiDi), pensato per gestire in maniera automatica la visualizzazione del testo attraverso caratteri di controllo, invisibile a schermo. “Proprio su questa caratteristica tipica delle codifiche odierne – specifica il portale – si basa il tipo di attacco descritto da Boucher e Anderson. In effetti grazie ai caratteri di controllo è possibile sfruttare la differenza tra quanto visualizzato e quanto realmente codificato e passato a compiler e interpreter per condurre il tipo di attacco “Trojan Source Attack” descritto da Boucher e Anderson”.
Secondo i due ricercatori tali attacchi sono possibili con i linguaggi di programmazione più utilizzati fra cui C, C++, C#, JavaScript, Java, Rust, Go, and Python. Difesaonline conclude con un monito in merito al Trojan Source Attack: “Il fatto che fino ad ora non si abbiano evidenze di questo genere di attacco non ci tranquillizza per il futuro dato che, come noi, anche altri possono aver letto il paper e, magari, preso la decisione di testarne i concetti”.