dlopen() è una funzione di caricamento a runtime per Unix e Linux che apre una libreria condivisa mentre un programma è in esecuzione. È ampiamente usata per plugin, funzionalità opzionali e moduli di compatibilità, perché il software può caricare codice solo quando serve invece di collegare tutto all'avvio.
Nella sicurezza informatica, il caricamento a runtime è importante perché trasforma un nome file o un percorso in codice eseguibile. Se un attaccante può influenzare quale libreria viene caricata, dove viene cercata o quali moduli vengono accettati, potrebbe essere in grado di iniettare codice, aggirare il sandboxing o elevare i privilegi. I difensori riducono questo rischio usando percorsi di libreria fissi, evitando directory di ricerca scrivibili, verificando i permessi e disabilitando il caricamento dinamico non necessario. Negli audit, dlopen() compare spesso nelle superfici di attacco dei sistemi di plugin, dei servizi desktop e dei livelli di compatibilità, dove la fiducia nei componenti esterni deve essere controllata in modo rigoroso.


