Qué ha pasado

Anthropic ha publicado datos de su investigación sobre el análisis y la reducción automatizada de la superficie de ataque del código. La empresa utilizó el modelo Claude para analizar 25 proyectos de código abierto, que representan más de cinco millones de líneas de código en lenguajes como C, C++, Java, PHP y Python. En este ejercicio, Claude creó un inventario de más de 17.000 opciones de configuración y descubrió 493 problemas de seguridad. De estas, 3.842 estaban relacionadas con la configuración de controles o funciones con relevancia de seguridad.

La investigación se centró en tres métodos para reducir la superficie de ataque: descubrir superficies de ataque innecesarias y mover ese código detrás de una puerta adecuada. Esto puede implicar mover código de pre-autenticación a post-autenticación, de 0 clics a 1 clic, de activado por defecto a activación explícita, o de la primera mensaje de un protocolo a estados más profundos de la máquina de estados de la sesión.

Entre los hallazgos destacados, Claude identificó que los 11 proyectos de la categoría 'Gated' (con acceso restringido) tenían código alcanzable de manera intencional. Se descubrieron 93 superficies de pre-autenticación innecesarias en la configuración por defecto, 37 ubicaciones donde el código se ejecutaba o se registraba el estado antes de la autenticación, y 61 combinaciones de configuración que debilitaban silenciosamente un control de pre-autenticación configurado por el administrador. Además, se encontraron 162 combinaciones de configuración sensible a la seguridad que se aceptaban sin error, advertencia ni documentación del comportamiento esperado.

Por qué importa

Reducir la superficie de ataque puede mejorar significativamente la seguridad del software desplegado a corto plazo. Encontrar y corregir vulnerabilidades individuales escala mal, ya que corregir una vulnerabilidad crítica no informa sobre las que permanecen. En cambio, reducir la alcanzabilidad del código puede reducir la gravedad de las vulnerabilidades desconocidas, incluidas las que podrían estar siendo explotadas activamente. Estas técnicas no eliminan las vulnerabilidades desconocidas, pero las hacen más difíciles de alcanzar, reduciendo así su gravedad. Minimizar la superficie de ataque de las bases de código resulta en una mejor seguridad sin necesidad de encontrar o corregir cada vulnerabilidad individual.

A quién afecta

Este enfoque afecta a los desarrolladores y equipos de ingeniería de software que buscan mejorar la seguridad de sus aplicaciones. Es particularmente relevante para empresas que gestionan grandes bases de código, donde la complejidad y el cambio constante pueden llevar a una exposición innecesaria de funciones. Los expertos en ciberseguridad también pueden utilizar estos métodos para evaluar y reforzar la postura de seguridad de las organizaciones.

Contexto

Durante el año pasado, se han publicado datos que muestran que los modelos de IA de frontera son más que capaces de descubrir y explotar vulnerabilidades de seguridad. Sin embargo, mostrar cómo se podrían explotar vulnerabilidades desconocidas es solo el comienzo de lo que estos modelos pueden hacer para la defensa cibernética. La complejidad del software tiende a aumentar con el tiempo, con nuevas capas de abstracción, dependencias y funciones, lo que a menudo causa que funcione de manera diferente a la intención original de los desarrolladores. Esto es una parte importante de por qué los atacantes son tan exitosos: estudian exactamente cómo un trozo de código se comporta en la práctica, en lugar de cómo los desarrolladores lo diseñaron para funcionar.

Qué falta por saber

El artículo no detalla los tres métodos específicos que se mencionaron en la investigación, solo que se enfocaron en tres métodos en particular. Tampoco se especifica cómo los desarrolladores pueden aplicar técnicas similares a su propio código más allá de la discusión general sobre la reducción de la superficie de ataque. Además, no se proporciona información sobre la implementación técnica específica de las herramientas utilizadas por Claude para realizar este análisis.