In che modo Mylar garantisce la sicurezza dei dati crittografati anche se il codice dell'app live è compromesso

3

Poiché Mylar esegue la decrittografia nel browser, la chiave non viene mai memorizzata sul server. Bello. Ciò sposta la minaccia sul browser, dove, se l'utente malintenzionato è in grado di inviare uno script dannoso al browser insieme ai dati / app relativi a Mylar, lo script può raccogliere solo i dati decrittografati.

Quindi, in che modo Mylar garantisce che il codice dell'app che viene offerto al browser non sia dannoso?

Vedo in questo documento: link

Verifying application code. With Mylar, code running in a web browser has access to the user’s decrypted data and keys, but the code itself comes from the untrusted server. To ensure that this code has not been tampered with, Mylar checks that the code is properly signed by the web site owner. This checking is possible because application code and data are separate in Mylar, so the code is static. Mylar uses two origins to simplify code verification for a web application. The primary origin hosts only the top-level HTML page of the application, whose signature is verified using a public key found in the server’s X.509 certificate. All other files come from a secondary origin, so that if they are loaded as a top-level page, they do not have access to the primary origin. Mylar verifies the hash of these files against an expected hash contained in the top-level page.

Quindi viene controllato un hash / firma del codice dell'app. Bello, supponendo che questo hash / firma non sia stato compromesso, possiamo sapere che il codebase è valido rispetto a una versione specifica. Vedo anche che Mylar utilizza due origini. Cosa succede se entrambe le origini sono compromesse? Inoltre, una delle origini potrebbe essere uno specifico hash di git repo? Quali sono i possibili problemi che interferiscono in qualche modo con questo passaggio di verifica?

Mi piacerebbe capire di più su come funziona questa specifica funzione di sicurezza e su come è sicura.

    
posta RogerRoger 27.08.2014 - 15:13
fonte

1 risposta

3

Mylar richiede l'uso di Meteor. A causa della separazione dei dati e del formato nel framework Meteor, può effettivamente firmare il modello dell'applicazione. In una normale app Web il browser riceve la concatenazione dei dati e la presentazione come un unico elemento; in un'app web dinamica non è possibile firmare la pagina perché non si sa quale sarà l'output in fase di esecuzione.

Se l'autore dell'attacco non ha anche la possibilità di firmare i file serviti, si verificherà un errore perché le firme non sono valide. Se l'utente malintenzionato ha la capacità di impersonare l'utente legittimo per scopi di firma, è quasi tanto male avere le chiavi CA radice nel mondo PKI, game over.

    
risposta data 28.08.2014 - 04:40
fonte

Leggi altre domande sui tag