Los 10 principales riesgos de seguridad
y vulnerabilidades de OWASP
Aproximadamente el 90% de las aplicaciones tienen vulnerabilidades graves. OWASP, que analiza regularmentedebilidades y ataques en aplicaciones web, ha compilado OWASP TOP-10 - la lista de losLas vulnerabilidades más peligrosas.
¿Qué es OWASP?
OWASP (Open Web Application Security Project) es un proyecto de código abierto. Su comunidad incluye grandes empresas, diversas organizaciones y personas interesadas de todo el mundo. Este grupo de entusiastas colabora para desarrollar artículos, tutoriales, documentos, tecnologías e instrumentos gratuitos.
¿Desea comprender en profundidad todos los aspectos modernos de los 10 principales riesgos y vulnerabilidades de seguridad de OWASP? Lea atentamente este artículo y marque para volver a consultarlo más adelante, ya que actualizamos esta página periódicamente.
¿Qué es la lista OWASP Top 10 de vulnerabilidades?
OWASP Top 10 es uno de los proyectos más conocidos de la organización. OWASP Top 10 es un ranking de los diez riesgos de seguridad de la información más peligrosos para las aplicaciones web, compilado por una comunidad de expertos del sector. Para cada punto del ranking, el riesgo es calculado por expertos basándose en la OWASP Risk Rating Methodology e incluye una evaluación de la Weakness Prevalence, Weakness Detectability y Exploitability, así como la criticidad de las consecuencias de su operación o los Technical Impacts.
Por razones obvias, las evaluaciones de la gravedad de los riesgos no tienen en cuenta las consecuencias empresariales de su implementación. Siempre que sea posible, los nombres de los riesgos en la clasificación corresponden a los nombres de vulnerabilidades similares en la clasificación Common Weakness Enumeration (CWE). Cabe señalar que, a diferencia de las clasificaciones, el proyecto OWASP Top 10 no pretende abarcar todos los riesgos existentes, sino que solo representa los más relevantes en el momento de la publicación de la clasificación.
OWASP Top 10 no es un estándar oficial, sino solo un documento blanco ampliamente utilizado por muchas organizaciones, programas de recompensas por vulnerabilidades y expertos en ciberseguridad para clasificar la gravedad de las debilidades y las brechas de seguridad.
La clasificación se elaboró sobre la base de las publicaciones de los usuarios y los debates abiertos. La lista OWASP Top 10 se basa en ocho bases de datos de siete empresas, entre las que se incluyen cuatro consultoras y tres proveedores de SaaS. La base de datos general contiene más de 500 000 vulnerabilidades en cientos de organizaciones y miles de aplicaciones.
Las vulnerabilidades OWASP Top 10 en 2021 son:
- Injection
- Autenticación defectuosa
- Exposición de datos sensibles
- Entidades externas XML (XXE)
- Broken Access Control
- Configuraciones inseguras
- Cross-Site Scripting (XSS)
- Deserialización insegura
- Uso de componentes con vulnerabilidades conocidas
- Registro y monitoreo insuficientes
1. Inyección
Todos los datos, en general, se almacenan en bases de datos especiales, cuyas solicitudes se formulan en forma de consultas, generalmente escritas en un Lenguaje Estructurado de Consultas — SQL. Las aplicaciones utilizan consultas SQL para recibir, agregar, modificar o eliminar datos, por ejemplo, cuando el cliente edita sus datos personales o completa un cuestionario en la página web. Si la información del usuario no se verifica suficientemente, un hacker puede modificar el código de la aplicación que contiene la parte de la consulta SQL.
Se trata de una debilidad muy insegura que puede permitir a un intruso acceder a la base de datos, así como ver, modificar o eliminar datos. De esta manera, el hacker puede robar datos personales confidenciales.
La debilidad es consecuencia de una validación insuficiente de los datos del usuario, lo que permite a un intruso introducir en los formularios web solicitudes especialmente preparadas que «engañan» a la aplicación y permiten leer o escribir datos ilegítimos.
Lea más sobre OWASP Top 10 Injection o aprenda aún más sobre la vulnerabilidad SQL Injection [CWE-89] en nuestra CWE Knowledge Base.
2. Autenticación rota
Según el Top 10 de OWASP, esta vulnerabilidad es una de las más críticas. Si alguien necesita distinguir a otro usuario, la aplicación web utiliza cookies de sesión. Después de introducir el nombre de usuario y la contraseña, cuando la autenticación en la aplicación se completa con éxito, se guarda un identificador especial en el almacenamiento especificado, que el programa envía posteriormente al servidor con cada solicitud de una página de la aplicación. Así es como la aplicación web reconoce a los usuarios.
En caso de que un hacker robe este identificador y la estructura informática no haya implementado controles, por ejemplo, la dirección IP de la sesión o controles para más de una conexión en una sesión, el intruso tendrá la posibilidad de acceder al sistema con la cuenta del usuario. Y si se trata de un banco por Internet o un sistema de pago, es fácil imaginar las consecuencias de dicho acceso no autorizado.
Más información sobre Broken Authentication.
3. Exposición de datos sensibles
Lo cierto es que la información transmitida a través del protocolo HTTP no está cifrada de ninguna manera, y cuando datos sensibles viajan desde el dispositivo del usuario hacia el servidor web, estos pasan por numerosos nodos diferentes, como un router de oficina o de casa, un router del proveedor, un router en un enlace, un router en un centro de datos o el servidor del proveedor de hosting, etc. Cada uno de estos nodos puede contener malware llamado 'sniffer', un programa que lee todo el tráfico y lo reenvía al hacker. Así, el hacker examina los datos recibidos en busca de información personal y datos de tarjetas bancarias.
Además, la falta de cifrado de información confidencial, como la contraseña del usuario o los datos de la tarjeta bancaria, hace que los datos sean vulnerables al robo. Sin embargo, en caso de que esté cifrada, incluso si se obtiene acceso no autorizado al servidor, un hacker no puede robar datos críticos.
Más información sobre la exposición de datos sensibles.
4. XML External Entities (XXE)
El mayor riesgo con XXE es la gran variedad de formas en que puede explotarse. Ya sea simple o compleja, si un fragmento de código externo puede introducirse en un documento XML, esto significa que el sistema ha sido comprometido. La ubicuidad de XML significa que las aplicaciones que utilizan XML probablemente se encuentren con una gran cantidad de datos sensibles.
La forma más conocida de ataque XXE se conoce como el ataque «Billion Laughs» o «XML Bomb». Se trata de un sencillo pero efectivo ataque de denegación de servicio utilizado para sobrecargar y apagar un servidor objetivo. Al definir una entidad —generalmente algo pequeño y sin sentido, como «lol» o «haha»— como una cadena anidada de otras entidades, un atacante puede sobrecargar rápidamente los recursos del sistema.
Más información sobre XML External Entities (XXE).
5. Control de acceso defectuoso
La esencia de esta vulnerabilidad del Top 10 de OWASP, como su nombre indica, es la falta de verificación del acceso adecuado al objeto solicitado. La mayoría de las aplicaciones web comprueban los permisos antes de mostrar datos en la interfaz de usuario. Sin embargo, las aplicaciones deben realizar las mismas comprobaciones de control de acceso en el servidor al solicitar cualquier función. Después de todo, existen muchas más solicitudes de servicios auxiliares, que a menudo se envían de forma asíncrona en segundo plano utilizando la tecnología AJAX. Si los parámetros de la solicitud no se validan cuidadosamente, los atacantes podrían falsificar la solicitud para acceder a datos sin el permiso adecuado.
Más información sobre Broken Access Control.
6. Configuraciones de seguridad incorrectas
La seguridad de las aplicaciones web controla todos los elementos de la infraestructura, por ejemplo, los marcos de aplicaciones, todo tipo de servidores y el propio sistema en su conjunto. La configuración predeterminada de los componentes del servidor suele ser insegura y abre la puerta a posibles fugas. Por ejemplo, el robo de una cookie de sesión a través de JavaScript en un ataque XSS es posible gracias a la configuración "HttpOnly" de la cookie, que está desactivada de forma predeterminada. Si el servidor está configurado correctamente y la opción "HttpOnly" de la cookie está activada, es imposible obtener una cookie de sesión a través de JavaScript, pero a menudo esta configuración sencilla e importante falta en lugares tan críticos como las cuentas personales de los sistemas de pago.
Otro ejemplo de esta vulnerabilidad del Top 10 de OWASP son los ajustes predeterminados en servidores de bases de datos, como Redis, Memcached, etc. Se refiere a servicios privados que pueden quedar expuestos en una IP pública o a contraseñas preestablecidas por el fabricante para uso predeterminado. Esto permite a los intrusos leer y modificar fácilmente los datos. También facilita a los hackers realizar una invasión XSS.
Además, el programa y las aplicaciones deben actualizarse, ya que cada día aparecen vulnerabilidades en una amplia gama de componentes del programa. Aunque su aplicación esté bien protegida, correctamente escrita y verifique cuidadosamente todos los datos entrantes, no puede garantizar que no se descubran vulnerabilidades en el sistema operativo o en el servidor web en cualquier momento.
Lea más sobre configuraciones inseguras.
7. Cross-Site Scripting (XSS)
El cross-site scripting es otro error de validación de datos de usuario que permite inyectar JavaScript en el navegador del usuario para su ejecución. Atacar de esta manera es similar a la inyección de HTML, ya que el mecanismo de inyección es muy similar al de la inyección SQL; sin embargo, a diferencia de esta última, el script inyectado se ejecuta en el navegador del usuario. Esto permite a los hackers robar cookies de sesión.
Pero vale la pena señalar que no todos los servidores de aplicaciones son débiles y vulnerables a esto. Además, los datos introducidos en formularios del sitio vulnerable pueden ser robados. Los datos susceptibles de ser robados pueden ser confidenciales y personales, así como información de tarjetas de crédito junto con su código CVC. Otro caso posible es que, mediante JavaScript, los hackers puedan modificar la información ubicada en una página web específica, como cambiar los detalles de una transferencia bancaria, por lo que el hacker podrá falsificar y reemplazarlos fácilmente.
Obtenga más información sobre OWASP Top 10 Cross-Site Scripting (XSS) o aprenda aún más sobre la vulnerabilidad Cross-Site Scripting XSS [CWE-79] en nuestra base de conocimientos CWE.
8. Deserialización insegura
La serialización y la deserialización son conceptos importantes en los marcos de programación orientada a objetos, como Java y .Net, y, por lo tanto, son comunes en muchas aplicaciones web.
Existe una vulnerabilidad de deserialización insegura cuando una aplicación no protege adecuadamente este proceso. Si la implementación de la deserialización se deja con la configuración predeterminada, la aplicación puede tener poco o ningún control sobre los datos que se deserializan. En los casos más extremos, esto puede incluir cualquier dato serializado entrante de cualquier fuente, sin verificación ni precauciones.
Más información sobre Insecure Deserialization.
9. Uso de componentes con vulnerabilidades conocidas
A menudo, las aplicaciones web se desarrollan utilizando bibliotecas especiales o «frameworks» proporcionados por terceros. En la mayoría de los casos, estos componentes son de código abierto, lo que significa que no solo usted, sino también millones de personas en todo el mundo están estudiando su código fuente en busca de vulnerabilidades. También se buscan debilidades en componentes de nivel inferior del sistema, como diferentes servidores o componentes del sistema operativo hasta su núcleo. Es muy importante utilizar los componentes más recientes y estar atento a las vulnerabilidades conocidas que van surgiendo.
Más información sobre el uso de componentes con vulnerabilidades conocidas.
10. Registro e inspección inadecuados
El problema de la insuficiente registración y supervisión abarca toda la infraestructura de TI y no solo la aplicación web expuesta a Internet, al igual que la solución. Por esa razón, no limitaremos esta discusión solo al registro y la supervisión de aplicaciones web.
Uno de los principales problemas es que hay tantos registros: casi todos los sistemas contemporáneos generan sus propios registros. La gestión de registros se convierte así en un problema importante. Para cuando se recopilan todos los diferentes registros y, preferiblemente, se correlacionan, el tamaño del conjunto de datos es demasiado grande para supervisarlo manualmente de forma eficaz.
Más información sobre Insufficient Logging and Monitoring.
Cómo protegerse de las vulnerabilidades OWASP Top 10
La seguridad de la mayoría de las aplicaciones web sigue siendo deficiente. Cada segundo recurso presenta debilidades de alto riesgo según la lista OWASP Top 10. Sin embargo, está claro que la proporción de aplicaciones web que presentan vulnerabilidades críticas está disminuyendo gradualmente. La siguiente tendencia positiva es que las organizaciones están empezando a prestar más atención a la protección de sus aplicaciones, no solo las públicas, sino también las utilizadas para necesidades internas.
El número de ataques a aplicaciones web disminuirá si las vulnerabilidades identificadas se corrigen lo antes posible y los procesos se automatizan siempre que sea posible.
Primero, detecte, pruebe y evalúe sus activos digitales e IT con la ayuda de ImmuniWeb Discovery.
Además, para protegerse contra los ataques, siempre recomendamos ImmuniWeb Continuous Application Penetration Testing.
Las aplicaciones web se actualizan constantemente, y junto con nuevas funcionalidades pueden aparecer nuevas vulnerabilidades que luego se incluirán en la próxima actualización de la lista OWASP Top 10. El uso de las herramientas de ImmuniWeb reducirá los riesgos correspondientes. Los servicios de protección de ciberseguridad no solo deben detectar y prevenir ataques conocidos en las aplicaciones, sino también identificar la explotación de vulnerabilidades de día cero, prevenir ataques contra los usuarios, analizar y correlacionar eventos para supervisar cadenas de ataques.
Recursos adicionales
- Aprenda más sobre la gestión de la superficie de ataque con IA con ImmuniWeb® Discovery
- Más información sobre pruebas de penetración de aplicaciones con IA en ImmuniWeb.
- Más información sobre las oportunidades del programa de partners de ImmuniWeb.
- Síganos en LinkedIn, X, Telegram y WhatsApp.