Cos’è il Code Injection di Windows e perché può essere pericoloso

da

In questa guida informatica parliamo di una tecnica poco conosciuta che permette di alterare software e funzionalità di Windows. Il Code Injection (iniezione di codice) è un codice informatico che viene iniettato all’interno di applicazioni installate sul PC (browser, sistema operativo, client di posta elettronica e giochi), per modificarne il funzionamento o alterarne alcune funzionalità. Questa tecnica è spesso utilizzata da programmi autorevoli, per svolgere naturalmente le proprie mansioni. Ad esempio, i software antivirus, utilizzano il Code Injection per monitorare la navigazione con il browser e il traffico di rete del PC. Tuttavia, si tratta di una funzionalità che anche alcuni malware sfruttano per infettare il computer.  Scopriamo di più sul Code Injection con le migliori tecniche per scoprirlo e debellarlo.

Code Injection Windows

Come funziona il Code Injection

Utilizzeremo parole semplici per capire come funziona il Code Injection su Windows. L’iniezione di codice può essere praticata con diverse modalità, tra le quali l’utilizzo di alcuni file DLL (ci concentreremo su questa tipologia). Alla base della sua funzionalità, ci sono le API di Windows e la possibilità di collegare differenti processi tra di loro. In sostanza, è possibile che un software possa eseguire alcune istruzioni all’interno di altri processi e programmi. Il software coinvolto da questa tecnica non viene modificato direttamente. Il Code Injection, attende che l’applicazione venga caricata per iniettare il codice al suo interno. Nel paragrafo successivo, citiamo cinque casistiche che impiegano l’iniezione di codice per funzionare. Nonostante si tratti di una pratica utilizzata da molti programmi ufficiali, essa può rappresentare un pericolo per la nostra sicurezza, poiché è alla base del funzionamento di molti virus e malware.

Alcuni esempi pratici di Code Injection

Ecco cinque casi nei quali la tecnica del Code Injection è utilizzata frequentemente:

  • Antivirus e Antimalware come Comodo Antivirus, Avast, Bitdefenter e Kaspersky, per monitorare il traffico di rete o bloccare alcuni siti internet pericolosi;
  • Software di gestione dei temi di Windows;
  • Malware e Virus, per alterare il browser e monitorare la navigazione degli utenti o captare informazioni come password, conversazioni o numeri di carta di credito;
  • Programmi di traduzione come Babylon translation, per attivare il traduttore di lingua con i tasti del mouse o della tastiera;
  • Alcuni driver di sistema come quelli video di Intel, per eseguire particolari attività e ottimizzare le periferiche.
Code Injection Windows

Questo Screenshot di Process Explorer mostra come all’interno di Outlook 2016 siano richiamate una paio di DLL Injection dei driver INTEL.

Come controllare il Code Injection su Windows

Il metodo migliore per verificare la presenza di Code Injection sul computer è quella di utilizzare il software Process Explorer. Su Passione Tecnologica abbiamo già spiegato come scoprire se il PC è affetto da virus,  utilizzando proprio questo programma gratuito rilasciato da Microsoft.

Per controllare le eventuali iniezioni di codice DLL su Windows, seguire questa procedura:

  1. Scaricare il software “Process Explorer” dal link ufficiale;
  2. Scompattare il pacchetto scaricato e lanciare il file eseguibile (procexp64.exe per Windows a 64 bit);
  3. Cliccare su “View” nella barra dei menu dell’applicazione;
  4. Cliccare su “Lower Pane View” e selezionare “DLLs”;
  5. A questo punto, cliccare sul processo da controllare (es. Google Chrome), nella parte centrale della finestra;
  6. Controllare accuratamente, nella parte bassa di “Process Explorer”, le DLL caricate assieme all’applicazione.
Code Injection Windows

Da questa immagine scopriamo che l’antivirus Kaspersky inietta il suo codice all’interno di Google Chrome con ben due DLL firmate AO Kaspersky Lab

Oltre al nome della DLL, sarà possibile visualizzare una descrizione, il produttore e il percorso del file. Poiché stiamo lavorando in ambiente Windows, sarà piuttosto comune trovare numerose DLL firmate da Microsoft Corporation. Cliccando sulla barra dei menu, alla voce “Company Name”, è possibile filtrare l’elenco dei risultati per scoprire facilmente quelli non desiderati, provenienti da fonti sconosciute.

code injection Windows

Per capirci bene, facciamo un esempio concreto su come funziona il Code Injection; immaginiamo di avere sotto mano un computer con installati gli applicativi Google Chrome per navigare su internet e Kaspersky Antivirus Free edition per la sicurezza del PC. Se ci mettiamo a cercare le DLL injection con Process Explorer, noteremo che l’antivirus Kaspersky inietta il suo codice all’interno di Google Chrome con un paio di DLL firmate AO Kaspersky Lab. Lo scopo di questa “iniezione” è il monitoraggio della navigazione e il blocco dei siti più pericolosi.

Ricordiamo che la DLL injection non è l’unica tecnica per le iniezioni di codice. In questo articolo ci siamo soffermati su di essa poiché è molto utilizzata, anche da programmi non pericolosi. Se vuoi saperne di più, puoi approfondire questo concetto leggendo articoli tecnici specifici, che parlano di altri tipi di Code Injection di Windows e di come alcuni malware o virus possono infettare il computer con questa tecnica.

RIPRODUZIONE RISERVATA