Rischi di distribuzione di un certificato di autenticazione del server insieme a un'applicazione client

1

Quali sono i rischi legati alla distribuzione di un'applicazione client con certificato di autenticazione del server (chiave privata + pubblica) in modo che un'applicazione client possa ospitare un server web. Che è accessibile tramite HOSTS reindirizzare attraverso i browser.

Quali sono i rischi con il seguente approccio?

Assumi

  1. Possiedo il dominio "esempio.com".
  2. Ricevo un certificato di autenticazione server valido per "app.example.com", ad esempio per es. da Comodo.
  3. Ho un'applicazione web ospitata su " link ".
  4. Gli utenti devono eseguire alcune azioni che richiedono l'invio di alcune richieste a un'applicazione in esecuzione sul proprio sistema e ottenere una risposta.
  5. Lo faccio installando un'applicazione client sul sistema dell'utente.
  6. Questa applicazione ha il certificato di autenticazione del server per "app.example.com" pubblicato sopra. Può ospitare un server web accessibile localmente.
  7. Durante l'installazione, aggiungo una voce a C: \ Windows \ System32 \ drivers \ etc \ hosts per un reindirizzamento da "app.example.com" a "127.0.0.1"
  8. Quando l'utente utilizza l'applicazione Web su " link " si collega anche a " link " che in realtà è l'applicazione client in esecuzione sul sistema degli utenti.
  9. Il browser può inviare richieste a un'applicazione in esecuzione sul proprio sistema e ottenere una risposta.

Cose che vorrei sapere: rischi, correzioni, approcci alternativi ecc.

Aggiornamento: domanda aggiuntiva : certificati per localhost, MITM attacco

Sto preparando un elenco perché non farlo come richiesto nella domanda. Così come per la mia comprensione.

    
posta AEonAX 06.12.2018 - 17:38
fonte

1 risposta

4

Stai pubblicando un certificato per link lungo la tua app. Quindi questa chiave privata non è più "privata". Qualcuno lo scoprirà e lo pubblicherà. Ciò condurrà alla CA revocando il certificato per app.example.com (che DEVE revocarlo). Questo è successo in passato, non sei il primo ad avere un'idea del genere, società come Cisco , Blizzard , EA , Spotify, mega ... usato per fare questo.

Questo è più un problema procedurale, ma ti morderà abbastanza rapidamente (ricorda che la CA ha 24 ore per revocarla una volta che viene messo a conoscenza che il certificato è compromesso).

Un MITM potrebbe estrarre il certificato dalla tua app e impersonare app.example.com su qualcuno che non ha la voce host, ma non vale la pena elencare i rischi con quello dato che il tuo approccio non funzionerà per troppo lungo.

Se veramente devi usare un certificato per link , crea un certificato localmente (in modo che ogni client abbia un certificato diverso), opportunamente vincolato, e lo aggiunga all'archivio certificati del cliente.

Inoltre, ovviamente, il server in esecuzione nel client non dovrebbe fare cose stupide come consentire l'avvio di programmi arbitrari o l'exfiltrazione di file client. Quel server locale è un limite di sicurezza, quindi sarà molto prudente convalidare qualsiasi input ...

    
risposta data 06.12.2018 - 19:40
fonte

Leggi altre domande sui tag