¿Cómo garantiza Mylar que los datos cifrados permanezcan seguros incluso si el código de la aplicación en vivo está comprometido?

3

Debido a que Mylar realiza el descifrado en el navegador, la clave nunca se almacena en el servidor. Bonito. Esto traslada la amenaza al navegador, donde, si el atacante puede obtener un script malicioso para que se sirva en el navegador junto con la aplicación / datos relacionados con Mylar, entonces el script solo podría recopilar los datos desencriptados.

Entonces, ¿cómo garantiza Mylar que el código de la aplicación que se sirve en el navegador no es malicioso?

Veo en este documento: enlace

  

Verificando el código de la aplicación. Con Mylar, el código se ejecuta en un navegador web.   tiene acceso a los datos y claves descifrados del usuario, pero el código en sí mismo   viene del servidor no confiable Para asegurarse de que este código no ha sido   manipulado, Mylar verifica que el código esté debidamente firmado por el   dueño del sitio web. Esta comprobación es posible porque el código de aplicación y   Los datos están separados en Mylar, por lo que el código es estático. Mylar usa dos   Orígenes para simplificar la verificación de código para una aplicación web. los   el origen primario alberga solo la página HTML de nivel superior de la aplicación,   cuya firma se verifica mediante una clave pública que se encuentra en el servidor   Certificado X.509. Todos los demás archivos provienen de un origen secundario, por lo que   que si se cargan como una página de nivel superior, no tienen acceso   Al origen primario. Mylar verifica el hash de estos archivos en contra   un hash esperado contenido en la página de nivel superior.

Por lo tanto, se comprueba un hash / firma de código de aplicación. Bien, suponiendo que este hash / firma no haya sido comprometido, podemos saber que la base de código es válida contra una versión específica. También veo que Mylar utiliza dos orígenes. ¿Y si se comprometen ambos orígenes? Además, ¿podría uno de los orígenes ser un hash específico de git repo cometer? ¿Cuáles son los posibles problemas con la interferencia de alguna manera con este paso de verificación?

Me encantaría entender más sobre cómo funciona esta característica de seguridad específica y cómo es segura.

    
pregunta RogerRoger 27.08.2014 - 15:13
fuente

1 respuesta

3

Mylar requiere usar Meteor. Debido a la separación de datos y formato en el marco de Meteor, puede firmar la plantilla de la aplicación. En una aplicación web normal, el navegador recibe la concatenación de los datos y la presentación como un elemento; en una aplicación web dinámica no puede firmar la página porque no sabe cuál será el resultado en el tiempo de ejecución.

Si el atacante no tiene la capacidad de firmar los archivos que se sirven, se producirá un error porque las firmas no son válidas. Si el atacante tiene la capacidad de hacerse pasar por el usuario legítimo para fines de firma, eso es casi tan malo como tener las claves de la CA raíz en el mundo de PKI, el juego finalizado.

    
respondido por el Eric G 28.08.2014 - 04:40
fuente

Lea otras preguntas en las etiquetas