Aplicación de alta seguridad en Angular: ¿una mala idea?

1

Bueno, esto no es una cuestión de un problema específico. Tengo una pregunta más general. Ayer tuve una pequeña discusión con un amigo mío, pero no se pudo implementar una "aplicación de alta seguridad" (e-Banking, por ejemplo) en Angular (no específicamente angular, SPA del lado del cliente en general).

Aunque estaba seguro de que sería una muy mala idea implementar una aplicación de banca electrónica en Angular, no pude dar una razón concreta, era más como un sentimiento que tenía.

Desde entonces estoy cuestionando si puedo estar equivocado al respecto. No tengo mucha experiencia en el campo de la seguridad de las aplicaciones, así que estaría agradecido si alguien con más experiencia pudiera disipar mis dudas después de que yo tuviera razón o no. (Preferiblemente con explicación)

    
pregunta Jonas Wirth 19.09.2016 - 20:13
fuente

2 respuestas

1

No hay razón para que no pueda crear un sitio web sensible a la seguridad en AngularJS o Angular2; en su mayor parte, los puntos clave de la seguridad se producen en el lado del servidor, no del lado JS. Sí, por supuesto, necesita hacer algunas protecciones XSS y CSRF en el cliente (junto con el servidor), pero eso es muy factible en Angular / Angular2.

Sea cual sea el cliente, el servidor no necesita confiar en él en lo más mínimo. Eso mitiga la mayoría de los problemas allí mismo. Debido a que el cliente vive en territorio enemigo, simplemente no es el verdadero punto de control para nada (excepto, por supuesto, para mostrarlo y hablar con el usuario; de ahí la necesidad de protecciones XSS / CSRF allí)

    
respondido por el crovers 19.09.2016 - 20:19
fuente
4

El navegador debe ser confiable con los datos del usuario en cualquier caso. Ya sea que utilice una aplicación de una sola página o una página HTML simple, se le brindará si el navegador está comprometido. Las aplicaciones de una sola página no cambian nada en este contexto.

Sin embargo, las aplicaciones de una sola página pueden ampliar el potencial de una vulnerabilidad del lado del servidor, ya que ahora está descargando parte del procesamiento al cliente, a veces puede olvidar validar correctamente el lado del servidor de datos entrantes o enviar datos al no se supone que el cliente vea, confiando en la aplicación del lado del cliente para ocultarlo (un atacante malicioso modificaría el cliente para no ocultar dichos datos).

En cuanto a cualquier aplicación desarrollada correctamente, debe ser bien probada y auditada en cualquier caso para que cualquier error se detecte antes de su publicación.

    
respondido por el André Borie 19.09.2016 - 22:55
fuente

Lea otras preguntas en las etiquetas