Vulnerabilidades documentadas y no documentadas.
Aunque ciertamente hay una fuerte apuesta, para un futuro no muy lejano, de reemplazar al programador por inteligencia artificial y este tema ameritaría un extenso posteo, por el momento dejo por aquí un link más que interesante, hoy nos enfocaremos en algo más concreto.
En esta oportunidad hablaré sobre el desarrollo del software actual, si partimos de una simple premisa: “el software es escrito por humanos” entendemos del por que no está exento de errores en su creación. Ciertos errores en la programación, voluntaria o involuntariamente, insertos en el diseño del software, generan lo que podemos llamar como candidato a una vulnerabilidad; si es un software “apetecible” para la comunidad de hackers, lo más probable es que no se tarde mucho tiempo en descubrirse ese error. Si esto se descubre y se comunica oportunamente al fabricante, ya sea porque lo hicieron los hackers éticos o bien por haberse debido a programas de incentivo para detectar fallos, que son promovidos por los propios fabricantes; sea cual sea el motivo del descubrimiento, esto genera lo que conocemos como informe CVE y estos se comparten a la comunidad bajo una identificación única, incluyen en entre otras cosas, la manera de solucionar el fallo.
Día a día se genera mucha información referente a las vulnerabilidades del software reportadas y documentadas en informes CVE, estos documentos se hallan públicos en varios sitios referentes como por ejemplo: https://cve.mitre.org/
En el 2020 se documentaron más de 18mil vulnerabilidades, la abrumadora cantidad de información que se genera (y que tiende en aumento) podría estar atosigando al usuario al introducir mucho «ruido» en su realidad tecnológica y podría acarrear una problemática denominada fatiga de alertas, que básicamente podría desencadenar que aquellas vulnerabilidades críticas pasen desapercibidas, por lo tanto no es un problema menor. Los fabricantes con más vulnerabilidades descubiertas, según las estadísticas públicas, revelan que los productos de Microsoft están a la cabeza en esa lista, seguido muy de cerca por Google, pero esta tendencia tiene una explicación, son productos con mucha cuota de mercado global e interesantes para la comunidad de hackers. Hasta donde sabemos, las respuestas de estos fabricantes para lanzar los parches de seguridad para solucionar estos inconvenientes también tienden a ser rápidas.
En este contexto, no todas las vulnerabilidades detectadas son peligrosas, existen mecanismos de medición del impacto en los sistemas denominados CVSS, que son métricas estándares que, tomando varios parámetros, etiquetan a la vulnerabilidad en niveles de gravedad que van de 0 a 10, y aquellas que sobrepasan el valor 6.9 son las de gravedad crítica y deberían ser solucionadas en el menor tiempo posible. Lo que hace, principalmente, que una vulnerabilidad sea crítica o no, son los exploits, que serían códigos o programas que se aprovechan de dicho fallo en el software.
En el contexto de los problemas que pueden afectar al software, como vimos, además de aquellas vulnerabilidades documentadas, encontramos también aquellas que aún no han sido reportadas al fabricante pero que ya tienen exploits, y lo que es más crítico aún, normalmente algunos códigos maliciosos ya se comercializan en el mercado negro mucho antes de que el fabricante o el usuario se enteren, esta problemática se denomina exploits del día cero.
Pero no todo está perdido, en siguientes posteos, daremos el vistazo de algunas opciones para estar alertados de las vulnerabilidades documentadas y posiblemente también de aquellas del Zero Day.