Modifica 1: vedi l'ottima risposta di @ Ori per come Microsoft ha firmato un pacchetto di questi eseguibili. Lascio questa risposta qui perché ritengo che le mie argomentazioni sul whey i file non siano firmate singolarmente con Authenticode (ciò che VirusTotal segnala su) è ancora valido. Fine aggiunta
Non sono riuscito a trovare una risposta ufficiale Microsoft, ma ho una teoria sul motivo per cui questo programma (e altri simili) non sono firmati direttamente.
Ho controllato molti dei miei computer e macchine virtuali e ho scoperto che questo file non è firmato Authenticode, almeno non in alcun modo che riconosco. Ho diverse versioni di questo file (risalenti a 8 anni). Le copie pulite di Windows 10 (versioni differenti) hanno versioni e timestamp differenti, pertanto Microsoft sembra che aggiorni questo file.
Ok, allora perché Microsoft non firmerebbe questo file? Penso che la risposta sia trovata nello scopo di rundll32.exe. Rundll32.exe è utilizzato per eseguire DLL che hanno funzionalità necessarie ma che non hanno exe per eseguirle. Puoi vedere alcuni esempi in questo articolo How To Geek .
Le firme Authenticode applicano l'identità, determinano ciò che appare in un prompt UAC e aiutano a garantire che un file non venga manomesso. Se una DLL che fa parte di un processo richiede l'elevazione, la firma dell'exe viene utilizzata per il prompt UAC poiché quello è il processo in esecuzione, non la DLL.
Ora per un po 'di ipotesi si può capire perché il file non è firmato. Poiché rundll32.exe esegue codice di terze parti sconosciuto come parte del suo scopo, una firma sarebbe dannosa per la sicurezza. Il codice di livello Usermode può richiedere che rundll32.exe esegua la loro dll. Se una dll ha richiesto elevazione il popup mostrerebbe rundll32.exe, che è firmato e verificato da Microsoft, chiedendo le autorizzazioni di amministratore. Ciò renderebbe molto più probabile che le persone dicessero sì se poi un programma autore sconosciuto chiedesse il permesso, che è il suo comportamento attuale. Poiché Microsoft non può ragionevolmente garantire la funzione o la sicurezza del codice eseguito da rundll32.exe, sarebbe pericoloso per loro firmarlo direttamente.
Modifica 1: @Ori ha capito come Windows convalida questi file. Questo ultimo paragrafo è qui solo per la storia. Fine aggiunta
Ora questo non significa che il sistema operativo Windows non convalida run32dll.exe. Potrebbe (più congettura funziona) confrontare l'hash del file per determinare se qualcosa lo ha manomesso. E poi eseguirlo solo se è un file valido.