Inyección, autenticación rota y XSS son los principales riesgos cibernéticos

(Para Alessandro Rugolo)
16/10/17

OWASP es un estándar para la producción de aplicaciones web seguras y si consideramos que ahora casi todas las aplicaciones son web ...

OWASP es también una organización global que tiene como objetivo mejorar la seguridad del software (v. artículo).
Entre las iniciativas más exitosas está la OWASP Top Ten, una lista de los diez principales riesgos cibernéticos en el desarrollo de aplicaciones.
En el 2013, se publicó la última lista válida, mientras que la siguiente se publicará en noviembre 2017.
A principios de año, el proceso comenzó a actualizar la lista, pero el primer intento falló, después de haber sido rechazado por la comunidad.

El primer borrador del 2017 Top Ten, aún en discusión, indica los siguientes riesgos principales de 10:

A1-Inyección
A2-Broken Authentication y Session Management
A3-Cross-Site Scripting (XSS)
Control de acceso roto A4
A5-Configuración incorrecta de seguridad
Exposición de datos sensibles a A6
A7-Insuficiente Protección de ataque
A8-Cross-Site Request Forgery (CSRF)
A9: utiliza componentes con vulnerabilidades conocidas
A10-APIs desprotegidas.

Una lista ciertamente no fácil de entender para aquellos que no tienen un amplio conocimiento en el campo de la seguridad de la información.
Intentemos profundizar el significado de estos términos con Walter Ambu (foto), fundador de entando, una comenzar que utiliza la metodología OWASP para el desarrollo de software seguro.

El ingeniero Ambu, su compañía, Entando, desarrolla software seguro ... ¿Puede ayudarnos a entender algo más sobre la metodología del desarrollo? ¿En qué tipo de software trabajas? ¿Con qué tipo de clientes se contacta? ¿Cuánto está dedicado a la investigación y el desarrollo? Y, sobre todo, ¿nos ayuda a comprender mejor los principales riesgos involucrados en el Top Ten de OWASP?

Entando es una plataforma de software de código abierto que simplifica la creación de aplicaciones web y móviles de nueva generación, a saber, "Aplicaciones modernas".
¿Qué queremos decir?
Hoy en día, las empresas y las administraciones públicas, especialmente las más grandes que están en la carrera hacia la digitalización, tienen dos problemas: la velocidad y la armonización.
Por un lado, necesitan acelerar los tiempos de lanzamiento de las aplicaciones antes de que lo haga su competidor. Por otro lado, necesitan ordenar un portafolio de aplicaciones cada vez más amplio, caracterizado por todas las diferentes interfaces y experiencias de usuario inconsistentes que crean problemas para quienes las usan. Entando, gracias a los patrones UX / UI (User eXperience / User Interface), actúa como "armonizador" de la experiencia del usuario y como "acelerador", gracias a modernas técnicas de desarrollo de software basadas en contenedores, devops, CI / CD (Integración Continua / Desarrollo continuo), microservicios.
No hace falta decir que Entando debe tener por naturaleza, como empresa de código abierto, una fuerte propensión natural a la innovación y la investigación. El equipo está formado por ingenieros de software, especialistas en informática y doctores, quienes, en términos de "modernidad", también trabajan en modo de trabajo inteligente.
En cuanto a la seguridad, Entando desarrolla siguiendo la metodología OWASP ...

¿Cómo adoptó su empresa esta metodología? ¿Cuáles son las ventajas? ¿Es difícil aplicarlo a la producción de software? ¿El personal toma cursos? ¿Cooperas con las universidades?

Desarrollar aplicaciones modernas para empresas y administraciones públicas significa garantizar la innovación, calidad y seguridad en el software del producto. Por este motivo, Entando ha decidido adoptar las directrices de OWASP y las metodologías para verificar y verificar la calidad del código.
Entando colabora activamente con el Laboratorio de Reconocimiento de Patrones y Aplicaciones de la Universidad de Cagliari (http://pralab.diee.unica.it) cuya división de seguridad informática está liderada por el prof. Giorgio Giacinto. En particular, formó parte de un proyecto llamado sTATA (http://stata.diee.unica.it) que consiste en la creación de un distrito con habilidades específicas y avanzadas en el campo de la seguridad de la información, dentro del cual pueden desarrollarse ideas, soluciones y productos innovadores en respuesta a los riesgos de ciberataque a los que los ciudadanos y las empresas están expuestos actualmente. Este proyecto obviamente incluyó varias fases, incluida la capacitación del personal de Entando involucrado en la implementación de la plataforma.

Sabemos que todavía hay discusiones en curso sobre el 2017 Top Ten y que todavía tendremos que esperar para conocer el oficial. Pero dejamos estas sutilezas a los expertos del material y tratamos de razonar como si el Top Ten ya hubiera sido lanzado.
En la parte superior, ya en 2013 y por ahora también en la propuesta de borrador para 2017, está la categoría conocida como "Inyección" que incluye la definición: "Los defectos de inyección, como la inyección de SQL, OS, XXE y LDAP, ocurren cuando se envían datos que no son de confianza a un intérprete como parte de un comando o consulta. Los datos hostiles del atacante pueden engañar al intérprete para que ejecute comandos no deseados o acceda a los datos sin la debida autorización..

In malas palabras, para los no expertos, ¿puedes explicar de qué se trata?

Por inyección nos referimos a una amplia clase de ataques que permiten a un atacante pasar datos entrantes a un software que alteran su ejecución esperada. Es uno de los ataques más peligrosos para aplicaciones web. El resultado puede variar desde la pérdida de datos hasta el robo de datos sensibles como tarjetas de crédito.
Entre los diferentes tipos de Inyección, SQL Injection es la más conocida.
La Inyección SQL es una práctica de piratería que implica golpear aplicaciones web que dependen de bases de datos. Debido a la vulnerabilidad, el atacante puede operar en la base de datos, leyendo, alterando o eliminando los datos de forma no autorizada.

Entre los casos reales en los que se utilizó un ataque de esta categoría se encuentra el de 2009 realizado contra el Sistema de Pago Heartland. En esa ocasión, se robaron las credenciales de 130 millones de tarjetas de crédito y débito. Pero, ¿cómo se mejora la seguridad de un sistema sujeto a esta vulnerabilidad?

Es necesario verificar la funcionalidad de los controles sobre los datos entrantes, para que no sea posible realizar consultas arbitrarias a la base de datos explotando un fallo o validación incorrecta de los datos recibidos. Para ser aún más claro, si un formulario en un sitio requiere la inserción de un ID de usuario, el software debe verificar que los datos ingresados ​​por el usuario estén realmente en el formato de un ID de usuario y evitar que el usuario envíe datos diferentes. tal vez una cadena que pueda interpretarse como un comando.

Gracias, ahora creo que el significado de "Inyección" es más claro para todos.

Tal vez no todos entenderán completamente los mecanismos subyacentes al ataque, pero creo que lo más importante es hacer que las personas tomen conciencia de que el uso de herramientas web puede presentar riesgos, pero que existen métodos para minimizarlos. Ingeniero Ambu, el segundo en la lista es Autenticación rota y gestión de sesiones.

¿De qué se trata?

En este caso, se trata de una vulnerabilidad en la que un atacante puede manipular los datos que normalmente se almacenan en el denominado "token de sesión", que es un identificador único para el usuario que navega por las páginas web y que se utiliza para intercambiar datos entre el lado del cliente y del servidor de una aplicación web. Las famosas cookies permiten este mecanismo. En este caso, un atacante puede incluso tomar identidades de otras personas, cambiar contraseñas e ingresar a los sistemas. Imagine, por ejemplo, el daño que un hacker puede hacer al ingresar a nuestra cuenta bancaria.

Se puede vaciar la factura! Y tal vez obtener información sobre las cuentas actuales de las personas con las que tenemos relaciones de trabajo. Potencialmente, esto pone en riesgo no solo a nosotros, sino también a las personas y empresas con las que estamos tratando.
Ingeniero Ambu, no quiero tomarme demasiado tiempo pidiéndole que analice las diez vulnerabilidades de la lista, pero creo que al menos la tercera merece atención: Cross-Site Scripting (XSS), ¿qué es?

Cross-Site Scripting es una técnica bastante común para realizar el robo de identidad.
En la práctica, una aplicación se encarga de los datos entrantes, por ejemplo, de un formulario, sin realizar ninguna verificación de validación, desde este punto de vista se parece a la técnica de inyección.
Malicious puede inyectar a través del navegador código de código malicioso, ejemplo del código javascript, en cualquier forma del sitio web, causando el robo de identidad de cualquier persona o la modificación de partes del sitio web incluso forzando al usuario a descargar un malware.

Ingeniero Ambu gracias por su tiempo. Aprovecho aún más su presencia y competencia para repetir que todas estas técnicas de ataque pueden ser inofensivas, al menos parcialmente, utilizando las mejores prácticas de la metodología OWASP. En la práctica, el uso de la metodología OWASP permite evitar la mayoría de los ataques más comunes y peligrosos.

Exactamente, OWASP es una metodología preventiva. Su aplicación en cualquier caso no debe considerarse una panacea contra todos los males, pero sin duda es muy útil y merece ser estudiado en profundidad por todos aquellos que de alguna manera están involucrados en el desarrollo de software y la seguridad informática. En este sentido, el próximo 20 de octubre en el auditorio de la Facultad de Ingeniería y Arquitectura, en Piazza d'Armi en Cagliari, se celebrará el día de Italia OWASP 2017. Un evento muy interesante en términos de seguridad del software.
Los invitados incluirán al vicepresidente de Synopsys, Gary McGraw, una autoridad mundialmente reconocida en el campo de la seguridad cibernética.
Nosotros en Entando estaremos presentes y habrá la oportunidad de profundizar en los conceptos recién expuestos y mucho más. ¡Te estamos esperando!

Para obtener más información:
- https://www.owasp.org/index.php/Italy_OWASP_Day_2017
- https://www.computerworld.com/article/2527185/security0/sql-injection-at...
- https://www.w3schools.com/sql/sql_injection.asp