Connect with us

Despejar la “niebla de más” en la seguridad cibernética

Ciberseguridad

Despejar la “niebla de más” en la seguridad cibernética

mm

En la RSA Conference en San Francisco este mes, se exhibió una deslumbrante variedad de soluciones nuevas y calientes de la industria de la ciberseguridad. Un stand tras otro afirmaba ser la herramienta que salvaría a su organización de que los actores maliciosos robaran sus activos o los chantajearan por millones de dólares.

Después de mucha consideración, he llegado a la conclusión de que nuestra industria está perdida. Perdida en la sopa de detectar y responder con un sinfín de tonterías que afirman que sus problemas desaparecerán siempre y cuando agregue una capa más. Sumergida en una niebla de inversiones tecnológicas, personal, herramientas y capas de infraestructura, las empresas han formado un laberinto donde ya no pueden ver el bosque por los árboles cuando se trata de identificar y prevenir a los actores de amenazas. Estas herramientas, destinadas a proteger los activos digitales, están generando frustración tanto para los equipos de seguridad como para los de desarrollo a través de cargas de trabajo aumentadas y herramientas incompatibles. La “niebla de más” no está funcionando. Pero, francamente, nunca ha funcionado.

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 lee, proviene del código. Y son los desarrolladores de software los que enfrentan el problema completo. Pero los desarrolladores no están capacitados en seguridad y, francamente, es posible que nunca lo estén. Así que implementan herramientas de búsqueda de código de la vieja escuela que simplemente buscan patrones en el código. Y tenga miedo de lo que pide porque, como resultado, obtienen un tsunami de alertas, persiguiendo señuelos y fantasmas durante la mayor parte del día. De hecho, los desarrolladores están dedicando hasta un tercio de su tiempo a perseguir falsos positivos y vulnerabilidades. Solo centrándose en la prevención, las empresas pueden realmente comenzar a fortalecer sus programas de seguridad y sentar las bases para una cultura impulsada por la seguridad.

Encontrar y solucionar a nivel de código

A menudo se dice que la prevención es mejor que la cura, y este proverbio es particularmente cierto en la ciberseguridad. Es por eso que, incluso con restricciones económicas más estrictas, las empresas siguen invirtiendo y conectando más herramientas de seguridad, creando múltiples barreras para reducir la probabilidad de ciberataques exitosos. Pero, a pesar de agregar capa tras capa de seguridad, siguen ocurriendo los mismos tipos de ataques. Es hora de que las organizaciones adopten una perspectiva fresca: una en la que nos centremos en el problema a nivel raíz, encontrando y solucionando vulnerabilidades en el código.

Las aplicaciones a menudo sirven como el punto de entrada principal para los ciberdelincuentes que buscan explotar debilidades y obtener acceso no autorizado a datos sensibles. A fines de 2020, se descubrió el compromiso de SolarWinds y los investigadores encontraron un proceso de compilación comprometido que permitió a los atacantes inyectar código malicioso en el software de monitoreo de redes Orion. Este ataque subrayó la necesidad de asegurar cada paso del proceso de compilación de software. Al implementar medidas de seguridad de aplicaciones robustas, o AppSec, las organizaciones pueden mitigar el riesgo de estas violaciones de seguridad. Para hacer esto, las empresas necesitan adoptar una mentalidad de “desplazamiento a la izquierda”, llevando métodos preventivos y predictivos a la etapa de desarrollo.

Si bien esta no es una idea completamente nueva, viene con desventajas. Una desventaja significativa es el aumento del tiempo y los costos de desarrollo. Implementar medidas de AppSec comprehensivas puede requerir recursos y conocimientos significativos, lo que lleva a ciclos de desarrollo más largos y gastos más altos. Además, no todas las vulnerabilidades suponen un alto riesgo para la organización. La posibilidad de falsos positivos de las herramientas de detección también genera frustración entre los desarrolladores. Esto crea un vacío entre los equipos de negocios, ingeniería y seguridad, cuyos objetivos pueden no estar alineados. Pero el AI generativo puede ser la solución que cierra esa brecha para siempre.

Entrando en la era del AI

Al aprovechar la naturaleza ubicua del AI generativo dentro de la AppSec, finalmente aprenderemos del pasado para predecir y prevenir futuros ataques. Por ejemplo, puede entrenar un modelo de lenguaje grande o LLM en todas las vulnerabilidades de código conocidas, en todas sus variantes, para aprender 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 sutiles por lenguaje, marco y biblioteca, así como qué soluciones de código son exitosas. El modelo puede utilizar este conocimiento para analizar el código de una organización y encontrar posibles vulnerabilidades que aún no han sido identificadas. Al utilizar el contexto que rodea el código, las herramientas de análisis pueden detectar mejor las amenazas reales. Esto significa tiempos de análisis cortos y menos tiempo persiguiendo y solucionando falsos positivos, y una mayor productividad para los equipos de desarrollo.

Las herramientas de AI generativo también pueden ofrecer soluciones de código sugeridas, automatizando el proceso de generación de parches, lo que reduce significativamente el tiempo y el esfuerzo necesarios para solucionar 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 AI que se adhieren a los estándares de seguridad y evitan vulnerabilidades comunes. Este enfoque proactivo no solo reduce la probabilidad de introducir fallos de seguridad, sino que también acelera el proceso de desarrollo al proporcionar a los desarrolladores componentes de código preprobados y validados.

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 varios entornos. Pueden mejorar con el tiempo a medida que siguen entrenándose con nuevos datos y comentarios, lo que lleva a una generación de parches más efectiva y confiable.

El elemento humano

Es esencial tener en cuenta que, aunque las soluciones de código pueden automatizarse, la supervisión y validación humanas siguen siendo cruciales para garantizar la calidad y corrección de los parches generados. Si bien las herramientas y algoritmos avanzados desempeñan un papel significativo en la identificación y mitigación de vulnerabilidades de seguridad, la experiencia, la creatividad y la intuición humanas siguen siendo indispensables para asegurar aplicaciones de manera efectiva.

Los desarrolladores son los 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 construyan con seguridad desde el principio. Al integrar programas de capacitación y concienciación sobre seguridad en el proceso de desarrollo, las organizaciones pueden capacitar a los desarrolladores para que identifiquen y aborden proactivamente los problemas de seguridad, reduciendo la probabilidad de introducir vulnerabilidades en la base de código.

Además, la comunicación y la colaboración efectivas entre las diferentes partes interesadas dentro de una organización son esenciales para el éxito de la AppSec. Si bien las soluciones de AI pueden ayudar a “cerrar la brecha” entre el desarrollo y las operaciones de seguridad, se requiere una cultura de colaboración y responsabilidad compartida para construir 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 espacio de la ciberseguridad. Sin embargo, al centrarse en la prevención y encontrar vulnerabilidades en el código, las organizaciones pueden recortar la “grasa” de su pila de seguridad existente, ahorrando una cantidad exponencial de tiempo y dinero en el proceso. A nivel raíz, dichas soluciones podrán encontrar no solo vulnerabilidades conocidas y solucionar vulnerabilidades de día cero, sino también vulnerabilidades pre-día cero antes de que ocurran. Podríamos mantener finalmente el ritmo, si no superar, a los actores de amenazas en evolución.

Stuart McClure tiene más de 30 años de experiencia en todos los aspectos de la ciberseguridad, incluyendo ingeniería, desarrollo de productos, marketing, ventas, éxito del cliente y liderazgo ejecutivo, incluyendo Global CTO para McAfee/Intel, iniciando Cylance y Foundstone como Fundador/CEO/Presidente/CTO y creando las prácticas de ciberseguridad para ambos Kaiser Permanente y Ernst & Young. Stuart es el autor fundador del libro de hacking de ciberseguridad #1, Hacking Exposed, que permite a los defensores entender las herramientas, técnicas y procedimientos de los hackers para prevenir ataques cibernéticos. Stuart obtuvo su licenciatura en Psicología y Filosofía con énfasis en Ciencias de la Computación en CU Boulder.