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.
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.
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.
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