Cos'è una libreria di collegamenti dinamici?
Una libreria di collegamento dinamica è un sistema utilizzato da Microsoft per consentire a più applicazioni di accedere alla stessa sezione di codice in Windows® contemporaneamente. Questa è una delle chiavi per il multitasking funzionante in modo efficace. Nel 2010, i ricercatori della sicurezza hanno scoperto che la scappatoia nel modo in cui il sistema di biblioteca di collegamento dinamico ha funzionato potrebbe essere sfruttato dagli hacker. Ciò ha portato a un dilemma su come risolverlo senza influire sull'usabilità delle applicazioni.
Per comprendere il modo in cui funziona una libreria di collegamento dinamica, è importante comprendere la differenza tra Windows® e applicazioni software. Windows® è un sistema operativo che esiste in gran parte per coordinare il modo in cui le singole applicazioni, note anche come programmi, accedono alle capacità di elaborazione del computer. Windows® stesso è in definitiva un insieme di codici per computer che funge efficacemente come regolamento o guida per il modo in cui le applicazioni interagiscono tra loro e con l'hardware.
La libreria di collegamento dinamico è il sistema con il quale ApplicatGli ioni possono accedere ed eseguire singole sezioni del codice Windows®. Un esempio sarebbe la sezione di Windows® responsabile della stampa di documenti. La maggior parte delle applicazioni deve accedere a questa funzione ad un certo punto, ma se ogni applicazione ha caricato il codice pertinente nella memoria del computer non appena l'applicazione ha iniziato a funzionare, sarebbe un uso inefficiente delle risorse e potrebbe causare conflitti.
Per risolvere questo problema, il codice Windows® per una particolare funzione, in questo caso, viene archiviata come un piccolo programma noto come libreria di collegamento dinamico o file DLL. Se un utente esegue un'applicazione come un elaboratore di testi, questo file non viene automaticamente aperto. Invece, il Processore Word si apre e attiva il file solo come e quando è necessario, in questo caso quando l'utente desidera stampare un documento.
Storicamente, molti sviluppatori di applicazioni hanno semplicemente scritto un codice che diceva come il nome del releVant Dynamic Link Library veniva chiamata, piuttosto che specificare esattamente dove dovrebbe trovarsi sul computer. Per aggirare questo, Windows® ha un sistema impostato per localizzare i file DLL mancanti cercando un elenco set di posizioni in un ordine definito. Sebbene ciò possa teoricamente essere sfruttato se un file dannoso travestito da un file DLL fosse messo nel posto giusto e quindi trovato e aperto prima del file legittimo, questo non era considerato un rischio di sicurezza grave poiché gli hacker avrebbero bisogno di un accesso fisico a una macchina per mettere in atto il file dannoso.
Nel 2010, è stato scoperto che gli hacker potrebbero teoricamente mettere in atto tali file tramite una connessione remota: cioè su Internet. Ciò significava che dozzine di applicazioni Windows® erano vulnerabili agli attacchi usando questo metodo. La comunità della sicurezza era divisa in merito al fatto che fosse meglio riscrivere per le singole applicazioni per specificare la posizione del file DLL legittimo, che si basava su ciascun sviluppatore che agisce, oper Microsoft per modificare il modo in cui Windows® tratta tali file, il che potrebbe potenzialmente far sì che le applicazioni smettano di funzionare correttamente.