Vulnerabilidades de Software – Dia 55

En el día a día recibo diferentes tipos de notificaciones de vulnerabilidades de software, aveces en mi trabajo diario, aveces noticias click bait, aveces alertas de plataformas.

Estas vulnerabilidades realmente ¿que son? bueno voy a hacer un esfuerzo de explicar mi razonamiento.

En general las vulnerabilidades, son la posibilidad de un vector de ataque. Hay algunas muy importantes, generalmente aquellas que permite la ejecucion de codigo remoto en servidores. En mi general conocimiento de hacking y testing de seguridad. Estas son las que deben atenderse.

Primariamente en escenarios donde:

  1. Prestan un servicio al publico o privado, cuyos servidores tienen una gran cantidad de datos sensibles.
  2. Prestan un servicio al publico, y los servidores pueden usarse como mecanismo de comunicacion con otros proveedores.
  3. Prestan un servicio al publico, y la infraestructura recibe costo por operaciones, etc.

En los dos primeros casos, el riesgo es obvio, se puede acceder al servidor y usurpar identidades o extraer informacion del negocio. Esto es malo.

Y en el tercer caso, el servicio se puede empezar a usar como punto de ejecucion para actividades que el atacante desee. Lo cual aparte de negativo porque puede incurrir problemas. Por ejemplo el atacante hospeando contenido pirata o ilegal en los servidores. Asi como en costos con el proveedor.

Esto es importante de resolver, que externo puedan acceder a equipo internos, una vez me contaron una anecdota, donde un hacker ataco los servidores de una empresa, el IT Manager, en vez de desconectar todo, porque ‘afectaria’ produccion. Sedio a las amenazas del hacker, durante casi 6 meses. Hasta que lograron contratar a un especialista, que desconecto el sistema, y bloqueo conexiones externas.

Lo curioso es que a pesar de que existen tecnicas complemntarias para proteger de este tipo de casos, reglas de conectividad primariamente. En servicios que son globales, las reglas son mas complejas y las situaciones de bloqueo igual incurren en costos.

Un ejemplo de esto, seria que Wikipedia trate de protegerse de la extraccion de datos de agentes de IA generativa para futuros entrenamientos. ¿Como distinguir un usuario real y uno de Agentes de IA? Cloudflare tiene este problema y esta intentando resolverlo. Es un problema real, no tiene que ver con vulnerabilidades.

Volviendo a las vulnerabilidades, esas son las mas priortarias, pero hay varios tipos. Hay fuga de memoria, lectura, bypass de autentiacion, corrupcion de archivos, todas disparadas por un atacante externo que puede afectar al negocio.

Hay varias iniciativas de CVE https://www.cve.org/ una publica financiada por el gobierno de estados unidos, y clones por empresas de cyberseguridad no mencionare ninguna porque no me simpatizan y nadie me paga.

Estas bases de datos permiten escanear los equipos mediantes diferentes formatos y estrategias. Pero las personas o analistas de ciberseguridad que atienden estos, son financiados y exponsoreados por empresas y firmas privadas. Pero eso es otro articulo para otro dia.

Hay otro tipo de vulnerabilidades un poco mas clickbait. Por ejemplo hace algunos meses vi una supuesta ‘vulnerabilidad en Godot’ donde un atacante, podria hacer un juego. Que solicite permisos de administrador, y ejecutar scripts de red en el sistema operativo donde es instalado.

Mi expresion fue. “Cualquier aplicacion, siempre” me resultaron ridiculas esas noticias, y aun asi vi un tonto video patrocinado al respecto.

Entonces tenemos ¿vulnerabilidades criticas, y clicbait? Si, si tenemos ambas. Hay vulnerabilidades que son totalmente inutiles, bonito tener documentado, pero su rango de ataque es basicamente nulo.

¿Como tomamos una decision? es importante saber que cual es el sistema que queremos proteger. Y tomar las medidas contigentes previas a las propias vulnerabilidades. Lo que mencionaba de bloqueos de red y tecnicas de conexion apoyan a hacer estas limitaciones. Y en los casos de frameworks o software con vulnerabilidades de ejecucion de codigo remoto. Actualizar o bloquear lo antes posible.