Perché il mio rundll32.exe non ha una firma verificata?

7

Nel task manager, ho visto un'istanza di rundll32.exe in esecuzione, un grosso problema. Solo per divertimento, volevo caricare il file sorgente su VirusTotal.

Dovehonotato,ilfilerundll32.exenonhailflagdifirmaverificatocomeilrestodeifilesystem32-èquasicomesefossesimulato.Ilchemihafattopreoccupare,perchéèmoltofacilescambiareifilesystem32inWindowsconqualsiasiprogrammaacuihaidatoilpermessodiamministratore(adesempiomoltifilediinstallazione).

Inoltrehotrovatolaprimadatadiinviosospettaperunfilecosìvecchio.Windows10aggiornacostantementequestofile?

Miaspettavocheassomigliasseadaltrifileverificati:

Comepossocapirecheilfilenonèdanneggiato?

Modifica1:questoèillinkall'analisi. link

    
posta Rockybilly 11.05.2017 - 01:36
fonte

3 risposte

5

Sembra che questa sia una cosa piuttosto semplice. I file incorporati di Windows non sono firmati e memorizzati singolarmente nel binario, usano i cataloghi per archiviare le loro firme. Vedi qui: (è vecchio ma per lo più ancora vero: link )

Puoi verificare tu stesso con una rapida verifica della firma dei file rilevanti:

Dovresti anche essere in grado di utilizzare signtool per verificare il catalogo, che non sono sicuro quale sia utilizzato per rundll32.exe.

signtoolverify /c fileIdontknow.cat rundll32.exe

Questo dovrebbe dirti se il catalogo lo contiene, anche se suppongo che dovrebbe.

    
risposta data 18.05.2017 - 02:04
fonte
2

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.

    
risposta data 17.05.2017 - 15:07
fonte
0

È potrebbe essere solo il caso che lo strumento che ha verificato le firme digitali nel back-end di VirusTotal non riconosce la firma a causa di un formato, algoritmo o firma nuovi o alternativi. Vorrei solo provare ad analizzare il binario usando altri strumenti oltre a VT, preferibilmente strumenti nativi di Microsoft e Sysinternals per la convalida della firma. Vedi questi articoli:

Altrimenti sarebbe davvero sospetto ...

    
risposta data 17.05.2017 - 14:49
fonte

Leggi altre domande sui tag