DLL Hijacking Attacchi di vulnerabilità, prevenzione e rilevamento

DLL sta per Dynamic Link Libraries e sono parti esterne di applicazioni eseguite su Windows o qualsiasi altro sistema operativo. La maggior parte delle applicazioni non è completa di per sé e memorizza il codice in file diversi. Se è necessario il codice, il relativo file viene caricato in memoria e utilizzato. Ciò riduce le dimensioni del file dell'applicazione ottimizzando l'utilizzo della RAM . Questo articolo spiega cos'è il dirottamento delle DLL(DLL Hijacking) e come rilevarlo e prevenirlo.

Cosa sono i file(Files) DLL o le librerie di collegamento dinamico(Dynamic Link Libraries)

Dirottamento DLL

I file DLL(DLL) sono librerie di collegamento dinamico(Dynamic Link Libraries) e, come evidente dal nome, sono estensioni di diverse applicazioni. Qualsiasi applicazione che utilizziamo può o meno utilizzare determinati codici. Tali codici sono memorizzati in file diversi e vengono richiamati o caricati nella RAM solo quando è richiesto il relativo codice. Pertanto, evita che un file dell'applicazione diventi troppo grande e prevenga l'occupazione di risorse da parte dell'applicazione.

Il percorso dei file DLL è impostato dal sistema operativo Windows . Il percorso viene impostato utilizzando le variabili ambientali globali(Global Environmental Variables) . Per impostazione predefinita, se un'applicazione richiede un file DLL , il sistema operativo cerca nella stessa cartella in cui è archiviata l'applicazione. Se non viene trovato lì, va in altre cartelle come impostato dalle variabili globali. Ci sono priorità associate ai percorsi e aiuta Windows a determinare quali cartelle cercare le DLL(DLLs) . È qui che entra in gioco il dirottamento della DLL .

Che cos'è il dirottamento DLL

Poiché le DLL(DLLs) sono estensioni e sono necessarie per utilizzare quasi tutte le applicazioni sui computer, sono presenti sul computer in cartelle diverse come spiegato. Se il file DLL originale viene sostituito con un file (DLL)DLL falso contenente codice dannoso, è noto come DLL Hijacking .

Come accennato in precedenza, ci sono priorità su dove il sistema operativo cerca i file DLL . Innanzitutto(First) , cerca nella stessa cartella della cartella dell'applicazione e quindi effettua la ricerca, in base alle priorità impostate dalle variabili di ambiente del sistema operativo. Pertanto, se un file good.dll si trova nella cartella SysWOW64 e qualcuno inserisce un file bad.dll in una cartella con priorità maggiore rispetto alla cartella SysWOW64 , il sistema operativo utilizzerà il file bad.dll, poiché ha lo stesso nome della DLL richiesto dalla domanda. Una volta nella RAM , può eseguire il codice dannoso contenuto nel file e può compromettere il tuo computer o le tue reti.

Come rilevare il dirottamento della DLL

Il metodo più semplice per rilevare e prevenire il dirottamento delle DLL consiste nell'utilizzare strumenti di terze parti. Ci sono alcuni buoni strumenti gratuiti disponibili sul mercato che aiutano a rilevare un tentativo di hacking DLL e prevenirlo.(DLL)

Uno di questi programmi è DLL Hijack Auditor ma supporta solo applicazioni a 32 bit. Puoi installarlo sul tuo computer ed eseguire la scansione di tutte le tue applicazioni Windows per vedere quali applicazioni sono vulnerabili al dirottamento della DLL . L'interfaccia è semplice e autoesplicativa. L'unico inconveniente di questa applicazione è che non è possibile eseguire la scansione di applicazioni a 64 bit.

Un altro programma, per rilevare il dirottamento  delle DLL , DLL_HIJACK_DETECT, è disponibile tramite GitHub . Questo programma controlla le applicazioni per vedere se qualcuna di esse è vulnerabile al dirottamento delle DLL . Se lo è, il programma informa l'utente. L'applicazione ha due versioni: x86 e x64 in modo da poterle utilizzare ciascuna per eseguire la scansione rispettivamente di applicazioni a 32 e 64 bit.

Va notato che i programmi di cui sopra scansionano semplicemente le applicazioni sulla piattaforma Windows per (Windows)le vulnerabilità e non impediscono effettivamente il dirottamento dei file DLL .

Come prevenire il dirottamento delle DLL

Il problema dovrebbe essere affrontato in primo luogo dai programmatori poiché non c'è molto che puoi fare se non rafforzare i tuoi sistemi di sicurezza. Se invece di un percorso relativo, i programmatori iniziano a utilizzare un percorso assoluto, la vulnerabilità verrà ridotta. Leggendo il percorso assoluto, Windows o qualsiasi altro sistema operativo non dipenderà dalle variabili di sistema per il percorso e andrà direttamente alla DLL prevista , eliminando così le possibilità di caricare la DLL con lo stesso nome in un percorso con priorità più alta. Anche questo metodo non è a prova di errore perché se il sistema è compromesso e i criminali informatici conoscono il percorso esatto della DLL , sostituiranno la DLL originale con la (DLL)DLL falsa. Ciò significherebbe sovrascrivere il file in modo che la DLL originale venga modificata in codice dannoso. Ma ancora una volta, il criminale informatico dovrà conoscere l'esatto percorso assoluto menzionato nell'applicazione che richiede la DLL . Il processo è difficile per i criminali informatici e quindi si può fare affidamento.

Tornando a ciò che puoi fare, prova a scalare i tuoi sistemi di sicurezza per proteggere meglio il tuo sistema Windows(secure your Windows system) . Usa un buon firewall . Se possibile, utilizzare un firewall hardware o attivare il firewall del router. Usa buoni sistemi di rilevamento delle intrusioni in modo da sapere se qualcuno sta cercando di giocare con il tuo computer.

Se stai risolvendo problemi con i computer, puoi anche eseguire quanto segue per aumentare la tua sicurezza:

  1. Disabilita il caricamento della DLL da condivisioni di rete remote
  2. Disabilita il caricamento dei file DLL da WebDAV
  3. Disabilita completamente il servizio WebClient o impostalo su manuale
  4. Blocca(Block) le porte TCP 445 e 139 poiché vengono utilizzate maggiormente per compromettere i computer
  5. Installa gli ultimi aggiornamenti per il sistema operativo e il software di sicurezza.

Microsoft ha rilasciato uno strumento per bloccare gli attacchi di dirottamento del carico DLL . Questo strumento riduce il rischio di attacchi di dirottamento delle DLL impedendo alle applicazioni di caricare in modo non sicuro codice dai file DLL .

Se vuoi aggiungere qualcosa all'articolo, commenta qui sotto.(If you would like to add anything to the article, please comment below.)



About the author

Sono un ingegnere del software con oltre 10 anni di esperienza nel lavoro su Apple iOS e dispositivi edge. La mia esperienza nell'ingegneria hardware mi ha appassionato nell'assicurarmi che i dispositivi dei nostri clienti siano il più affidabili e fluidi possibile. Ho scritto codice negli ultimi anni e ho imparato a usare Git, Vim e Node.js.



Related posts