Logo Studenta

Entregable Previo 2 - Javier Mendoza

¡Estudia con miles de materiales!

Vista previa del material en texto

Introducción.
El objetivo de este trabajo es conocer cuáles son los riesgos más importantes de seguridad en aplicaciones web actualmente, mediante el top ten establecido por la OWASP (Open Web Application Security Project) en el 2021, cabe resaltar que este artículo es actualizado aproximadamente cada tres años, por lo que nos permite saber cuáles son las principales amenazas de forma constante y así permitiendo implementar mejores controles de seguridad contra estas amenazas.
Desarrollo
 Resumen.
A continuación, se presentará el Top 10 de los riesgos más importantes del 2021 según la OWASP:
1. Falla en Control de Acceso: En promedio el 3.81 % de las aplicaciones probadas tenían una o más enumeraciones de debilidades comunes (CWE) con más de 318 000 ocurrencias de CWE en esta categoría de riesgo. Los 34 CWE asignados a Broken Access Control tuvieron más ocurrencias en las aplicaciones que cualquier otra categoría.
2. Fallas Criptográficas: Anteriormente conocido como exposición de datos confidenciales, que era un síntoma general en lugar de una causa raíz. El nombre renovado se enfoca en fallas relacionadas con la criptografía como lo ha sido implícitamente antes. Esta categoría a menudo conduce a la exposición de datos confidenciales o al compromiso del sistema.
3. Inyección: El 94 % de las aplicaciones que se probaron para alguna forma de inyección con una tasa de incidencia máxima del 19 %, una tasa de incidencia promedio de 3.37 %, y los 33 CWE asignados a esta categoría tienen la segunda mayor cantidad de ocurrencias en aplicaciones con 274k ocurrencias. Cross-site Scripting ahora es parte de esta categoría.
4. Diseño Inseguro: Enfoque en los riesgos relacionados con fallas de diseño. Es necesario más modelos de amenazas, patrones y principios de diseño seguros y arquitecturas de referencia. Un diseño inseguro no puede solucionarse con una implementación perfecta ya que, por definición, los controles de seguridad necesarios nunca se crearon para defenderse de ataques específicos.
5. Configuración Incorrecta de Seguridad: El 90 % de las aplicaciones se probaron para detectar algún tipo de configuración incorrecta, con una tasa de incidencia promedio del 4.5 % y más de 208 000 casos de CWE asignados a esta categoría de riesgo. Con más cambios hacia software altamente configurable. External Entities ahora forma parte de esta categoría de riesgo.
6. Componentes Vulnerables y Desactualizados: Anteriormente conocida como Uso de componentes con vulnerabilidades conocidas, es un problema conocido que cuesta probar y evaluar el riesgo. Es la única categoría que no tiene vulnerabilidades y exposiciones comunes (CVE) asignadas a los CWE incluidos, por lo que en sus puntajes se tienen en cuenta un exploit predeterminado y pesos de impacto de 5.0.
7. Fallas de Identificación y Autenticación: Anteriormente eran autenticación rota y ahora incluyen CWE que están más relacionadas con fallas de identificación. Esta categoría sigue siendo una parte integral del Top 10, pero la mayor disponibilidad de marcos estandarizados parece estar ayudando.
8. Fallas de Integridad de Datos y Software: Se enfoca en hacer suposiciones relacionadas con actualizaciones de software, datos críticos y canalizaciones de CI/CD sin verificar la integridad. Uno de los impactos ponderados más altos de los datos de Common Vulnerability and Exposures/Common Vulnerability Scoring System (CVE/CVSS) asignados a los 10 CWE en esta categoría. La deserialización insegura ahora forma parte de esta categoría más amplia.
9. Fallas en el Monitoreo y el Registro de Seguridad: Esta categoría incluye más tipos de fallas, es difícil de probar y no está bien representada en los datos de CVE/CVSS. Sin embargo, las fallas en esta categoría pueden afectar directamente la visibilidad, las alertas de incidentes y el análisis forense.
10. Falsificación de Solicitud del lado del Servidor: Los datos muestran una tasa de incidencia relativamente baja con una cobertura de pruebas superior a la media, junto con calificaciones superiores a la media para el potencial de Explotación e Impacto. Esta categoría representa el escenario en el que los miembros de la comunidad de seguridad nos dicen que esto es importante, aunque no se ilustra en los datos en este momento.
Este Top 10 está basado en datos, se seleccionan ocho de las diez categorías de los datos aportados y dos categorías de la encuesta comunitaria Top 10 en un nivel alto. Los investigadores de AppSec se toman su tiempo para encontrar más vulnerabilidades y nuevas formas de probarlas. Se necesita tiempo para integrar estas pruebas en herramientas y procesos. Para cuando se pueda probar de manera confiable una debilidad a escala, es probable que hayan pasado años. Para equilibrar esa opinión, se usa una encuesta comunitaria para preguntar a los expertos en seguridad y desarrollo de aplicaciones que debilidades identifican que en los datos aún no se presentan.
Algunas categorías han cambiado desde la entrega anterior del OWASP Top Ten. Los esfuerzos anteriores de recopilación de datos se centraron en un subconjunto prescrito de aproximadamente 30 CWE con un campo que solicita hallazgos adicionales. Se concluyo que las organizaciones se enfocarían principalmente en solo esos 30 CWE y rara vez agregarían CWE adicionales que vieron. En esta ocasión se solicitó la cantidad de aplicaciones probadas para un año determinado (a partir de 2017) y la cantidad de aplicaciones con al menos una instancia de CWE encontrada en las pruebas. Este formato permite realizar un seguimiento de la prevalencia de cada CWE dentro de la población de aplicaciones. Se ignora la frecuencia para estos propósitos; si bien puede ser necesario para otras situaciones, solo oculta la prevalencia real en la población de la aplicación. El hecho de que una aplicación tenga cuatro instancias de un CWE o 4000 instancias no forma parte del cálculo del Top 10. Se paso de aproximadamente 30 CWE a casi 400 CWE para analizar en el conjunto de datos. Se planea hacer análisis de datos adicionales como complemento en el futuro. Este aumento significativo en el número de CWE requiere cambios en la forma en que se estructuran las categorías.
Hay tipos de causa raíz y síntomas de CWE, donde los tipos de causa raíz son como "Falla criptográfica" y "Configuración incorrecta" en contraste con tipos de síntomas como "Exposición de datos confidenciales" y "Denegación de servicio". Se decidió centrarse en la causa raíz siempre que fuera posible, ya que es más lógico para proporcionar una guía de identificación y remediación. Centrarse en la causa raíz sobre el síntoma no es un concepto nuevo; el Top Ten ha sido una mezcla de síntoma y causa raíz. Los CWE también son una combinación de síntoma y causa raíz; hay un promedio de 19.6 CWE por categoría en esta entrega, con límites inferiores de 1 CWE para 10)Server-Side Request Forgery (SSRF) a 40 CWE en 4)Insecure Design. Esta estructura de categoría actualizada ofrece beneficios de capacitación adicional, ya que las empresas pueden enfocarse en los CWE que tienen sentido para un lenguaje/marco.
En 2017 fueron seleccionadas categorías por tasa de incidencia para determinar la probabilidad, luego se clasificaron por discusión del equipo en función de décadas de experiencia en Explotación, Detectabilidad (también probabilidad) e Impacto técnico. Para 2021, se pretende usar datos de explotabilidad e impacto (técnico) si es posible.
Hay 125 000 registros de un CVE asignado a un CWE en la base de datos de vulnerabilidad nacional (NVD) extraídos de OWASP Dependency Check, y hay 241 CWE únicos asignados a un CVE. Los mapas tienen 62k CWE que es aproximadamente la mitad de la población en el conjunto de datos.
Para el Top Ten 2021se calculo los puntajes promedio de explotación e impacto de la siguiente manera, fueron agrupados todos los CVE con puntuaciones CVSS por CWE y se evaluó tanto la explotación como el impacto puntuado por el porcentaje de la población que tenía CVSSv3 + la población restantede puntuaciones CVSSv2 para obtener un promedio general. Se asigno estos promedios a los CWE en el conjunto de datos para usarlos como puntuación de explotación e impacto (técnico) para la otra mitad de la ecuación de riesgo.
Los resultados en los datos se limitan principalmente a lo que es posible probar de forma automatizada. Al comunicarse con un profesional experimentado de AppSec y le informarán sobre cosas que se encuentran y tendencias que ven que aún no están en los datos. Se necesita tiempo para que las personas desarrollen metodologías de prueba para ciertos tipos de vulnerabilidad y luego más tiempo para que esas pruebas se automaticen y se ejecuten en una gran población de aplicaciones. Todo lo que es encontrado se remonta al pasado y es posible que falten tendencias del último año, que no están presentes en los datos.
Por lo tanto, solo se eligen ocho de diez categorías de los datos porque están incompletos. Las otras dos categorías son de la encuesta de la comunidad Top 10. Permite a los profesionales en primera línea votar por lo que consideran los riesgos más altos que podrían no estar en los datos (y que tal vez nunca se expresen en los datos).
Hay tres fuentes primarias de datos. Son identificados como humanos asistidos por herramientas (HaT), herramientas asistidas por humanos (TaH) y herramientas sin procesar (Tooling). Tooling y HaT son generadores de búsqueda de alta frecuencia. Las herramientas buscarán vulnerabilidades específicas e intentarán incansablemente encontrar cada instancia de esa vulnerabilidad y generarán un alto número de hallazgos para algunos tipos de vulnerabilidad. Cross-Site Scripting, generalmente es una de dos opciones: es un error aislado más pequeño o un problema sistémico. Cuando se trata de un problema sistémico, los recuentos de hallazgos pueden ser de miles para una sola aplicación. Esta alta frecuencia ahoga la mayoría de las otras vulnerabilidades que se encuentran en los informes o datos.
TaH, por otro lado, encontrará una gama más amplia de tipos de vulnerabilidad, pero con una frecuencia mucho menor debido a limitaciones de tiempo. Cuando los humanos prueban una aplicación y ven algo como Cross-Site Scripting, normalmente encontrarán tres o cuatro instancias y se detendrán. Pueden determinar un hallazgo sistémico y redactarlo con una recomendación para solucionarlo a escala de toda la aplicación. No hay necesidad (o tiempo) para encontrar cada instancia.
Suponiendo que se toman estos dos conjuntos de datos distintos y se intenta fusionarlos en frecuencia. En ese caso, los datos de herramientas y HaT ahogarán los datos de TaH más precisos (pero amplios) y es una buena parte de por qué algo como Cross-Site Scripting ha sido clasificado tan alto en muchas listas cuando el impacto es generalmente de bajo a moderado. Es debido a la gran cantidad de hallazgos. (Cross-Site Scripting también es razonablemente fácil de probar, por lo que también hay muchas más pruebas).
En 2017 se introdujo el uso de la tasa de incidencia en su lugar para revisar los datos y fusionar limpiamente los datos de herramientas y HaT con los datos de TaH. La tasa de incidencia pregunta qué porcentaje de la población de la aplicación tuvo al menos una instancia de un tipo de vulnerabilidad. No importa si fue puntual o sistémico, eso es irrelevante para estos propósitos; solo es necesario saber cuántas aplicaciones tenían al menos una instancia, lo que ayuda a proporcionar una visión más clara de los hallazgos de las pruebas en múltiples tipos de pruebas sin ahogar los datos en resultados de alta frecuencia. Esto corresponde a una vista relacionada con el riesgo, ya que un atacante necesita solo una instancia para atacar una aplicación con éxito a través de la categoría.
Los datos son obtenidos de organizaciones que están probando proveedores por comercio, proveedores de recompensas por errores y organizaciones que contribuyen con datos de pruebas internas. Una vez que se tiene los datos, son cargados juntos y se ejecuta un análisis fundamental de lo que los CWE asignan a las categorías de riesgo. Hay superposición entre algunos CWE y otros están muy relacionados (por ejemplo, vulnerabilidades criptográficas). Cualquier decisión relacionada con los datos sin procesar enviados se documenta y publica para que sea abierta y transparente con respecto a cómo normalizamos los datos.
Se evalúa las ocho categorías con las tasas de incidencia más altas para su inclusión en el Top 10, los resultados de la encuesta comunitaria para ver cuáles ya pueden estar presentes en los datos. Los dos primeros votos que aún no están presentes en los datos se seleccionarán para los otros dos lugares en el Top 10. Una vez que se seleccionaron los diez, se aplican factores generalizados de explotabilidad e impacto; para ayudar a clasificar el Top 10 2021 en un orden basado en el riesgo.
Conclusiones.
Como conclusión de este trabajo puedo decir que este tipo de publicaciones/herramientas son de gran utilidad en el entorno de desarrollo de aplicaciones principalmente enfocado en la seguridad de estas, ya que les permiten a los desarrolladores tener conocimiento de las nuevas amenazas y vulnerabilidades detectadas por otros desarrolladores y expertos en seguridad, este Top 10 es posible gracias a que existe un apoyo de la comunidad de desarrolladores de aplicaciones lo que facilita en gran medida la pronta detección de nuevas vulnerabilidades, al fin y al cabo esto beneficia a todos los personajes involucrados en el área de las aplicación siendo la cooperación una parte fundamental para que esta clase de herramientas puedan ser lo mas completas y precisas, un aspecto que me parece puede mejorar si se destinan más recursos tanto intelectuales como económicos es que se reduzca el tiempo entre cada publicación de herramientas como este Top 10, puesto que este articulo se publica aproximadamente cada tres años por lo que existe este periodo de tiempo en donde no se tiene un análisis claro sobre cuales son las principales vulnerabilidades hasta que se publique la siguiente edición. 
2

Continuar navegando