Code injection

Che cos'è il code injection e perché può essere pericoloso

Tecnica informatica ampiamente utilizzata all'interno di Windows, permette di influenzare il funzionamento di un software senza modificarne il codice sorgente
Che cos'è il code injection e perché può essere pericoloso FASTWEB S.p.A.

La gran parte di chi utilizza un PC, molto probabilmente, non l'avrà mai sentito nominare nonostante passi gran parte della sua giornata a contatto con una tastiera e con gli occhi fissati di fronte allo schermo. Eppure il code injection (letteralmente "iniezione di codice") è una delle tecniche informatiche più utilizzate dai programmatori per gestire l'interazione tra due software che, a una prima occhiata, hanno poco a che fare l'uno con l'altro.

Sapere cos'è il code injection, però, è importante anche per questioni legate alla sicurezza informatica e alla protezione dei nostri dati. Particolari tecniche di code injection (come SQL injection, ad esempio) sono spesso e volentieri utilizzate da hacker e criminali informatici per riuscire a bucare software con vulnerabilità così da avere accesso a sistemi informatici di ogni genere e trafugare informazioni personali o dati industriali. Insomma, uno strumento a doppio taglio che, se utilizzato per scopi malevoli, potrebbe permettere a un malintenzionato di accedere facilmente alla vostra cronologia web, alle credenziali dei vostri account e molto altro ancora.

Cos'è il code injection e come funziona

Molto comune nell'ambiente operativo Windows, il code injection viene utilizzato da applicativi e software di ogni genere per "iniettare" linee di codice all'interno di un altro software, così da influenzarne il funzionamento. Il code injection è anche chiamato DLL injection (dai file Dynamic Link Library, solitamente utilizzati per gestire i processi di sistema in Windows), dal momento che nella gran parte dei casi il codice da "iniettare" all'interno di un software è nella forma di librerie dinamiche di sistema.

 

Code injection

 

In questo modo, il software "iniettante" non va a modificare il codice sorgente dell'applicativo da iniettare. Molto più semplicemente, attende che quest'ultimo sia eseguito dal sistema operativo per poi inserire del codice aggiuntivo (e alieno, se così vogliamo dire) per modificarne e influenzarne il comportamento.

Quali software usano code injection

Come accennato, gli applicativi che utilizzano il code injection possono essere i più vari. Gli antivirus, ad esempio, utilizzano questa tecnica per "entrare" all'interno di altri software (come i browser) e verificare che i dati o i file processati non siano infettati e proteggere, così, il nostro sistema informatico. Ma il code injection può essere utilizzato anche per aggiungere pulsanti, strumenti e funzionalità a software che, altrimenti, ne sarebbero sprovvisti (come succede con le estensioni browser, ad esempio). Ma anche i driver per schede video, tanto per fare un altro esempio, utilizzano questa tecnica per migliorare le performance grafiche di alcuni software.

 

Malware iniettato

 

Il code injection è pericoloso?

Come accade spesso nel mondo informatico, la risposta più corretta a questa domanda è "Dipende l'uso che se ne fa". La possibilità di poter utilizzare DLL injection per modificare il comportamento di un software ha certamente attirato le attenzioni di un numero crescente di hacker che, come detto, lo utilizzano per sfruttare a loro favore eventuali falle e vulnerabilità presenti all'interno del codice sorgente di varie tipologie di software.

A questo si aggiunge la possibilità che il code injection faccia diventare instabili i software "iniettati". Gli ingegneri Google, ad esempio, hanno notato che gli utenti Windows con Chrome "iniettato" hanno il 15% di probabilità in più di registrare crash del software o vulnerabilità sconosciute.

Come scoprire i software che usano code injection

Nel caso vogliate conoscere quali software utilizzano code injection e quali siano i programmi "iniettati", potete scaricare gratis dal sito Microsoft il tool Process Explorer. Si tratta, di fatto, di una versione "avanzata" di Gestione attività, che ti permette di tenere sotto controllo tutti i processi attivi nel PC e monitorarne il funzionamento in maniera approfondita.

 

Process Explorer

 

Per scoprire i software che usano code injection scarica il software e lancia la versione più adatta al tuo sistema (nel file zip è disponibile l'eseguibile per sistemi a 32 bit e 64 bit). Una volta aperto, clicca su View>Lower Pane View>DLL. In questo modo destinerai la metà inferiore della schermata a visualizzare i file DLL funzionanti e attivi all'interno di ogni singolo software in esecuzione in quel momento. Per scegliere l'applicativo da monitorare ti basterà scorrere la parte alta della schermata e cliccare sul nome del software nella colonna di sinistra (sotto "Process", per intendersi) e attendere che nella parte inferiore vengano caricati tutti i DLL utilizzati in quel momento.

 

4 settembre 2018

copyright CULTUR-E
Condividi
Ebook
Sicurezza in Rete: ne sai abbastanza?
Strumenti utili, suggerimenti pratici e tutto quello che devi assolutamente sapere per proteggere davvero i tuoi dispositivi e i tuoi dati personali quando sei connesso
scarica l'ebook

Iscriviti alla
newsletter del
Digital Magazine di
Fastweb

Riceverai ogni settimana le notizie più interessanti sul mondo della tecnologia!
Iscriviti

Grazie per esserti iscritto!

Abbiamo inviato una mail all'indirizzo che hai indicato: per completare l'iscrizione alla newsletter del Digital Magazine di FASTWEB clicca sul link all'interno della mail