Líderes del pensamiento
Despejando la “niebla de más” en seguridad cibernética
En el Conferencia RSA Este mes, en San Francisco, se exhibió una vertiginosa variedad de soluciones nuevas y candentes de la industria de la ciberseguridad. Puesto tras puesto afirmaban ser la herramienta que salvará a su organización de malos actores que le roban sus bienes o lo chantajean por millones de dólares.
Después de mucha consideración, he llegado a la conclusión de que nuestra industria está perdida. Perdido en la sopa de detectar y responder con tonterías interminables afirmando que sus problemas desaparecerán siempre que agregue una capa más. Envueltas en una neblina de inversiones en tecnología, personal, herramientas y capas de infraestructura, las empresas ahora han formado un laberinto donde ya no pueden ver el bosque por los árboles cuando se trata de identificar y prevenir actores de amenazas. Estas herramientas, destinadas a proteger los activos digitales, están generando frustración tanto para los equipos de seguridad como de desarrollo a través de mayores cargas de trabajo y herramientas incompatibles. La “niebla de más” no funciona. Pero, francamente, nunca lo ha sido.
Los ciberataques comienzan y terminan en código. Es así de simple. O tiene una falla de seguridad o una vulnerabilidad en el código, o el código se escribió sin tener en cuenta la seguridad. De cualquier manera, cada ataque o titular que lees proviene de un código. Y son los desarrolladores de software los que enfrentan la peor parte del problema. Pero los desarrolladores no están capacitados en seguridad y, francamente, es posible que nunca lo estén. Por lo tanto, implementan buenas herramientas de búsqueda de códigos tradicionales que simplemente buscan patrones en el código. Y ten miedo de lo que pides porque como resultado reciben la alerta de tsunami, persiguiendo pistas falsas y fantasmas durante la mayor parte del día. De hecho, los desarrolladores son dedicando hasta un tercio de su tiempo persiguiendo falsos positivos y vulnerabilidades. Sólo centrándose en la prevención podrán las empresas realmente empezar a fortalecer sus programas de seguridad y sentar las bases para una cultura impulsada por la seguridad.
Búsqueda y reparación a nivel de código
A menudo se dice que es mejor prevenir que curar, y este adagio es particularmente cierto en los riesgos de seguridad cibernéticaPor eso, incluso en medio de restricciones económicas más estrictas, las empresas invierten continuamente e incorporan más herramientas de seguridad, creando múltiples barreras de entrada para reducir la probabilidad de ciberataques exitosos. Sin embargo, a pesar de añadir cada vez más capas de seguridad, los mismos tipos de ataques siguen ocurriendo. Es hora de que las organizaciones adopten una nueva perspectiva: una que nos permita abordar el problema desde la raíz, detectando y corrigiendo vulnerabilidades en el código.
Las aplicaciones suelen servir como punto de entrada principal para los ciberdelincuentes que buscan explotar debilidades y obtener acceso no autorizado a datos confidenciales. A finales de 2020, el Compromiso de SolarWinds salió a la luz y los investigadores encontraron un proceso de construcción comprometido que permitió a los atacantes inyectar código malicioso en el software de monitoreo de red Orion. Este ataque subrayó la necesidad de proteger cada paso del proceso de creación de software. Al implementar medidas sólidas de seguridad de aplicaciones, o AppSec, las organizaciones pueden mitigar el riesgo de estas violaciones de seguridad. Para ello, las empresas deben adoptar una mentalidad de "giro a la izquierda", incorporando métodos preventivos y predictivos al Desarrollo etapa.
Si bien esta no es una idea completamente nueva, tiene sus inconvenientes. Una desventaja importante es el aumento del tiempo y los costos de desarrollo. La implementación de medidas integrales de AppSec puede requerir importantes recursos y experiencia, lo que genera ciclos de desarrollo más largos y mayores gastos. Además, no todas las vulnerabilidades suponen un alto riesgo para la organización. La posibilidad de que se produzcan falsos positivos en las herramientas de detección también genera frustración entre los desarrolladores. Esto crea una brecha entre los equipos de negocios, ingeniería y seguridad, cuyos objetivos pueden no estar alineados. Pero la IA generativa puede ser la solución que cierre esa brecha para siempre.
Entrando en la era de la IA
Aprovechando la naturaleza ubicua de la IA generativa dentro de AppSec, finalmente aprenderemos del pasado para predecir y prevenir ataques futuros. Por ejemplo, puedes entrenar a un Large Language Model o LLM sobre todas las vulnerabilidades de código conocidas, en todas sus variantes, para conocer las características esenciales de todas ellas. Estas vulnerabilidades podrían incluir problemas comunes como desbordamientos de búfer, ataques de inyección o validación de entrada incorrecta. El modelo también aprenderá las diferencias matizadas por idioma, marco y biblioteca, así como qué correcciones de código tienen éxito. Luego, el modelo puede utilizar este conocimiento para escanear el código de una organización y encontrar vulnerabilidades potenciales que ni siquiera han sido identificadas todavía. Al utilizar el contexto alrededor del código, las herramientas de escaneo pueden detectar mejor amenazas reales. Esto significa tiempos de escaneo más cortos y menos tiempo para buscar y corregir falsos positivos y una mayor productividad para los equipos de desarrollo.
Las herramientas de IA generativa también pueden ofrecer correcciones de código sugeridas, automatizando el proceso de generación de parches y reduciendo significativamente el tiempo y el esfuerzo necesarios para corregir vulnerabilidades en las bases de código. Al entrenar modelos en vastos repositorios de bases de código seguras y mejores prácticas, los desarrolladores pueden aprovechar fragmentos de código generados por IA que cumplen con los estándares de seguridad y evitan vulnerabilidades comunes. Este enfoque proactivo no solo reduce la probabilidad de introducir fallas de seguridad, sino que también acelera el proceso de desarrollo al proporcionar a los desarrolladores componentes de código validados y probados previamente.
Estas herramientas también pueden adaptarse a diferentes lenguajes de programación y estilos de codificación, lo que las convierte en herramientas versátiles para la seguridad del código en diversos entornos. Pueden mejorar con el tiempo a medida que continúan capacitándose con nuevos datos y comentarios, lo que lleva a una generación de parches más efectiva y confiable.
El elemento humano
Es fundamental tener en cuenta que, si bien las correcciones de código pueden automatizarse, la supervisión y la validación humanas siguen siendo cruciales para garantizar la calidad y la corrección de los parches generados. Si bien las herramientas y los algoritmos avanzados desempeñan un papel fundamental en la identificación y mitigación de vulnerabilidades de seguridad, la experiencia, la creatividad y la intuición humanas siguen siendo indispensables para proteger eficazmente las aplicaciones.
Los desarrolladores son, en última instancia, responsables de escribir código seguro. Su comprensión de las mejores prácticas de seguridad, los estándares de codificación y las posibles vulnerabilidades es fundamental para garantizar que las aplicaciones se creen teniendo en cuenta la seguridad desde el principio. Al integrar programas de capacitación y concientización sobre seguridad en el proceso de desarrollo, las organizaciones pueden capacitar a los desarrolladores para identificar y abordar de manera proactiva los problemas de seguridad, reduciendo la probabilidad de introducir vulnerabilidades en el código base.
Además, la comunicación y colaboración efectivas entre las diferentes partes interesadas dentro de una organización son esenciales para el éxito de AppSec. Si bien las soluciones de IA pueden ayudar a “cerrar la brecha” entre las operaciones de desarrollo y seguridad, se necesita una cultura de colaboración y responsabilidad compartida para crear aplicaciones más resilientes y seguras.
En un mundo donde el panorama de amenazas está en constante evolución, es fácil sentirse abrumado por la gran cantidad de herramientas y tecnologías disponibles en el ámbito de la ciberseguridad. Sin embargo, al centrarse en la prevención y la detección de vulnerabilidades en el código, las organizaciones pueden reducir la carga de su infraestructura de seguridad actual, ahorrando enormemente tiempo y dinero. En la raíz, estas soluciones podrán no solo detectar vulnerabilidades conocidas y corregir vulnerabilidades de día cero, sino también vulnerabilidades pre-día cero antes de que ocurran. Finalmente, podremos seguir el ritmo, o incluso adelantarnos, a la evolución de los actores de amenazas.












