Accettare il certificato MITM di Avast Antivirus "in modo sicuro"

5

Ho un plug-in client multipiattaforma con un proprio archivio di fiducia (ovvero questa app client non si fida dell'archivio trust del sistema operativo) utilizzata per comunicare con un servizio web su TLS.

I client con Avast Antivirus si sono lamentati di avere errori di connessione. Studiando Avast ho identificato che l'origine del problema è il monitoraggio HTTPS: Avast esegue un attacco MITM per poter eseguire la scansione della connessione, utilizzando un nuovo certificato generato da una CA locale che il software controlla a tale scopo. Si applica solo alle connessioni che lasciano un browser (cioè se carico il plugin da un altro software funziona bene, sembra che Avast non interferisca con questo), ma nel caso del browser la connessione fallirà perché non ci fidiamo del sistema trustore dove viene iniettato il certificato CA.

Bene, anche se non mi piace affatto l'implementazione di Avast per questo, e penso che sia molto offensivo e forse anche pericoloso, non ho visto dai loro documenti e informazioni pubbliche che mi avrebbero fatto da whitelist (lo farei solo per le banche ) e capisco che sono un caso eccezionale (la maggior parte delle cose che si connettono da un browser si fidano del truststore di sistema). E non mi piace l'idea di dover guidare ogni utente che si affaccia su questo come autorizzare manualmente il nostro sito sul proprio avast config (è già presente nelle nostre FAQ, ma in ogni caso, la maggior parte non lo leggerà).

Quindi ho bisogno di risolvere il problema, e non mi piacerebbe farlo fidandosi del sistema di archiviazione, né abbassando il livello di sicurezza attuale. Penso che potrei aggiungere del codice specifico per Windows per trovare qualcosa che assomigli ad Avast MITM CA e fidarmi di esso, ma sembra brutto e probabilmente insicuro, dal momento che ogni installazione ha la sua CA (almeno spero) e quindi potrei identificarla solo con nome (chissà quando cambierà?), comunque questo non è davvero un buon modo per identificare un certificato di cui fidarsi.

Qualcuno ha un'idea diversa su come risolvere questo problema?

    
posta CristianTM 15.06.2016 - 21:14
fonte

1 risposta

1

Consentire a un utente di aggiungere root attendibili alla tua app potrebbe essere un'opzione. Questo dovrebbe essere più facile che guidarli attraverso la whitelisting della tua app con Avast, perché sarai in grado di progettare l'interfaccia utente per aiutare l'utente a completare questa attività.

Questo ha anche il vantaggio che il tuo prodotto sarà compatibile con le reti aziendali dove spesso le connessioni MITM sul proxy in uscita consentono l'ispezione del traffico.

    
risposta data 15.06.2016 - 21:44
fonte

Leggi altre domande sui tag