Launcher AuthentiCode esegue tutto

2

Immagina che un venditore usi AuthentiCode solo per sbarazzarsi degli avvertimenti UAC gialli. Per evitare di acquistare nuovi certificati ogni anno, il venditore può creare un EXE Launcher che è firmato, richiede i privilegi UAC e avvia il file EXE del progetto.

Oltre al fatto che il programma del fornitore può essere risolto senza che nessuno se ne accorga, mi sto chiedendo di seguire 2 problemi:

  1. Se qualcuno scrive un programma malevolo, potrebbe usare il launcher del venditore per far sentire la vittima buona quando vede una finestra di dialogo blu UAC.

  2. Tecnicamente, il fornitore non ha firmato un codice dannoso (*), quindi il venditore non è "responsabile" delle attività dannose e la CA probabilmente non revocherà il certificato del fornitore.

Quindi, quali sono le conseguenze di questo Launcher (cioè il fornitore è responsabile e le CA revocheranno il suo certificato?), ed è vero che AuthentiCode può essere facilmente ingannato usando i lanciatori e / o le importazioni DLL non controllate?

(*) il programma di avvio è un caso piuttosto estremo; tuttavia, quasi tutti gli eseguibili firmati che eseguono il codice da una DLL potrebbero essere utilizzati per eseguire codice dannoso (in DLL non firmate / non selezionate). Afaik, il collegamento statico dei file DLL non contiene alcun controllo AuthentiCode, in modo che questi eseguibili siano malvagi come l'EXE di avvio.

    
posta Daniel Marschall 24.10.2015 - 17:49
fonte

1 risposta

1

Windows infatti non mostra alcun avviso di sicurezza quando un processo elevato (ad esempio quello che ha superato la finestra di dialogo UAC) avvia un altro processo o carica una DLL. Questo non è un problema con Authenticode, perché Authenticode applica solo una firma. Questo potrebbe essere considerato un problema con il modello di attendibilità in Windows.

Fondamentalmente, quando l'utente fa clic su Sì nella finestra di dialogo Controllo dell'account utente, sta dicendo che si fida completamente dell'eseguibile che sta per eseguire e vuole dargli accesso completo al proprio PC. Ciò include la possibilità di caricare qualsiasi DLL o avviare qualsiasi EXE. Se l'utente ritiene che il programma di avvio del fornitore possa avviare file eseguibili malevoli o essere vulnerabile agli attacchi di iniezione DLL, è necessario fare clic su No nella finestra di dialogo Controllo dell'account utente. Il venditore potrebbe non aver firmato un codice dannoso, ma ha sicuramente firmato un codice vulnerabile, e sono certamente responsabili per questo.

Se il venditore sta pensando di scrivere un simile launcher, puoi fare in modo che il tuo launcher verifichi la firma sull'eseguibile prima di lanciarlo. Rifiutarsi di lanciare un file eseguibile senza una firma appropriata offrirebbe una protezione più strong del tuo suggerimento per Windows di mostrare un altro prompt UAC che l'utente potrebbe fare clic su Sì.

In definitiva, una firma digitale come applicata da Authenticode può essere utilizzata solo per verificare l'origine del codice. Non può essere utilizzato per verificare se il codice farà qualcosa di dannoso.

    
risposta data 18.01.2016 - 05:20
fonte

Leggi altre domande sui tag