Faking un flusso di controllo certificato tra 2 applicazioni?

0

mi stavo chiedendo, diciamo che ho un eseguibile A, che verifica un certificato nell'assembly B.

L'assembly B è firmato con il certificato root ca attendibile.

cosa mi impedisce di prendere l'eseguibile A, cambiarlo e saltare il controllo del certificato di B?

Suppongo che l'eseguibile A debba essere firmato, ma cosa succede se non lo è? o cosa succede se prendo anche l'eseguibile A e lo firmo con il mio stesso certificato autofirmato?

grazie

    
posta ArielB 06.12.2016 - 12:56
fonte

2 risposte

0

what denies me from taking executable A, change it and skip the certificate check of B?

questo è il motivo per cui gli utenti standard non devono avere accesso in scrittura ai moduli binari dell'applicazione. Dovrebbero essere in grado di eseguire, ma non modificare. Inoltre, potrebbe essere utilizzata una piattaforma di whitelisting delle applicazioni per controllare quali file eseguibili possono essere eseguiti. Anche se si firma l'applicazione con il proprio certificato, non verrà eseguita, perché il software AWL non lo riconoscerà come attendibile.

    
risposta data 06.12.2016 - 13:12
fonte
1

Quis custodiet ipsos custodes

Nel caso in cui una parte sia un eseguibile e l'altra sia un certificato, non è possibile assicurare la verifica reciproca - quindi se A convalida B e hai bisogno di C per convalidare A.

Se stessimo parlando semplicemente di 2 certificati, l'autenticazione reciproca è possibile in quanto è possibile aggiungere firme all'entità senza modificare la parte firmata. Purtroppo x509 consente una sola firma su un certificato e dato che il modello di fiducia non è realmente progettato per funzionare in questo modo, ci possono essere complicazioni con gli strumenti di questo approccio (dal momento che almeno una firma richiederà di essere eseguita con un certificato non firmato).

Ma sto divagando dal problema chiesto.

A needs to be signed aswell

Ma per questo per avere qualsiasi valore, la firma su A deve essere controllata - quindi C. E come si convalida 'C' - si tratta di tartarughe fino in fondo.

... o almeno fino al punto in cui è fuori dal tuo controllo, sia perché sei vincolato dalle autorizzazioni configurate dall'amministratore o dalle chiavi attendibili in UEFI o dall'autorità di certificazione radice (questo non significa che che i tuoi amministratori o fornitori di hardware o autorità di certificazione siano implicitamente affidabili)

Può valere la pena notare che le chiavi PGP pubbliche possono avere più firmatari che, in modo interessante, consentirebbero al sistema operativo (con alcune limitazioni) di convalidare l'hardware e l'hardware che convalida il sistema operativo di avvio in un avvio sicuro - ma purtroppo "Secure boot" utilizza x509.

    
risposta data 06.12.2016 - 13:56
fonte

Leggi altre domande sui tag