Cómo prevenir una avalancha de ataques de seguridad evitando fugas de código
Esta semana celebramos la Semana Nacional de la Codificación, un evento diseñado para promover el papel vital de la codificación y otras habilidades digitales en el mundo conectado de hoy. La codificación y los lenguajes que utiliza proporcionan la base sobre la que hemos construido nuestro mundo digital, un mundo que se ha vuelto aún más integral en la vida cotidiana dados los eventos de este año. Gracias a una mayor conectividad, todos nos estamos convirtiendo en nativos digitales. Pero esta conectividad cada vez mayor también aumenta nuestra vulnerabilidad a los ataques de seguridad cibernética. En esta Semana Nacional de la Codificación, hablemos sobre la importancia de integrar prácticas de seguridad sólidas mientras se desarrolla el código y asegurarnos de que la seguridad sea la base misma de toda innovación.
Los entornos de desarrollo a menudo pueden ser vulnerables y los atacantes cibernéticos pueden aprovecharlos fácilmente. Recientemente, un tesoro masivo de código filtrado de más de 50 empresas en múltiples industrias, incluyendo tecnología, finanzas, venta minorista, manufactura, alimentos y comercio electrónico. hizo noticias en todo el mundo. Tillie Kottman, una desarrolladora de software suiza, recopiló este código filtrado en un repositorio público de GitLab al que cualquiera podía acceder. Entonces, ¿cómo lograron los ataques acceder y filtrar el código fuente de estos importantes actores? La mayor parte se encontró al escanear aplicaciones DevOps mal configuradas y fuentes de terceros.
Aparte de la intrusión obvia que invoca una filtración como esta, lo que la hace particularmente alarmante es la cantidad de credenciales codificadas que fueron expuestas. Las credenciales codificadas son contraseñas, claves de acceso y otros tipos de secretos que se almacenaron en el código fuente, a veces incluso como texto sin formato. Un atacante podría utilizar cada una de estas credenciales para afianzarse en la nube, el entorno de desarrollo o la infraestructura de TI de esa empresa y, potencialmente, provocar más fugas de datos u otras pesadillas de seguridad cibernética.
Hay algunas lecciones de seguridad valiosas de esta filtración que todo desarrollador, ya sea que esté comenzando su carrera o sea un profesional experimentado, y qué mejor momento para aprenderlas que en la Semana Nacional de Codificación.
Las credenciales codificadas de forma rígida son un riesgo grave
Aunque no está claro si las credenciales codificadas de forma rígida jugaron un papel en hacer posible esta filtración, la filtración ciertamente puso esas credenciales a disposición de cualquiera que pudiera visitar GitLab. Esto haría que sea extremadamente fácil para un atacante cibernético robar contraseñas y otros secretos y potencialmente comenzar a usarlos para obtener acceso privilegiado a la infraestructura de TI de cualquiera de estas empresas. Algunas de las empresas involucradas en la filtración de datos también codificaron sus claves de acceso a la nube, lo que podría permitir a un atacante cibernético hacerse cargo del entorno de nube de una empresa o robar información confidencial que la empresa tiene en la nube.
Este es un gran ejemplo de por qué los desarrolladores deben tener en cuenta la seguridad al desarrollar software. Ciertas decisiones que pueden parecer lógicas o prácticas comunes pueden terminar teniendo consecuencias nefastas si no se toman otras medidas. En esta Semana Nacional de la Codificación, esperamos que más desarrolladores reconozcan que aprender a codificar de forma segura. Asegurarse de que los desarrolladores de código escriban es asegurado es esencial para brindar viabilidad a largo plazo y éxito de aplicaciones y programas.
Asegurar los repositorios de código es vital
En este momento, solo sabemos que el código fuente de Nintendo y otras partes se encontró escaneando fuentes de terceros y aplicaciones DevOps mal configuradas. Todavía no tenemos claro sus orígenes. Sin embargo, es probable que al menos se haya tomado parte del código de un repositorio. Después de todo, los repositorios de código se establecen como una parte esencial del proceso de desarrollo moderno. Es un escenario familiar. Los desarrolladores que crearon el código fuente filtrado probablemente pensaron que estaban colocando el código en un repositorio privado, pero ese no fue el caso.
O ese código se hizo público inadvertidamente o se usó una configuración incorrecta o una credencial robada para exponerlo, lo cual es un error fácil, pero peligroso. Otra lección valiosa que los desarrolladores deben tomar esta semana es no solo asegurarse de que el repositorio esté configurado correctamente, sino también proteger las credenciales que utilizan para acceder y configurar el repositorio. Ser consciente de esto puede salvar a las empresas de daños irreparables derivados del código robado.
Los desarrolladores deben tomarse la seguridad en serio
Algunos de los desarrolladores contactados sobre la filtración de código no estaban preocupados por la exposición de su código. Este desafortunado ejemplo destaca un problema clave: algunos desarrolladores están menos preocupados por la seguridad de lo que deberían. Pero el código expuesto puede conducir rápidamente a grandes problemas, como esta fuga de datos, y ese es un riesgo que vale la pena tomar en serio.
Considere: incluso antes de que se encontrara y compartiera este tesoro de código fuente en GitLab, estaba desprotegido y disponible para los atacantes. Esto aumenta enormemente la exposición de los desarrolladores a posibles actos ilícitos por parte de otros actores en línea con intenciones ilícitas. No solo los atacantes podrían usar el código para robar propiedad intelectual y potencialmente cualquier credencial codificada o clave de acceso a la nube, sino que podrían ser mucho más creativos. Por ejemplo, un atacante con acceso al código también podría agregar su propio código malicioso en compilaciones automatizadas e incluirlo en la base de código de una organización. Esto demuestra que una de las conclusiones más importantes de la Semana Nacional de Codificación de este año, y de muchas ediciones anteriores, es que los desarrolladores comprendan las implicaciones de que el código y las compilaciones estén expuestos o comprometidos, y actúen para evitar que esto suceda.
Los desarrolladores y los equipos de seguridad deben trabajar juntos para proteger los entornos DevOps.
No es exactamente una sorpresa que las herramientas y aplicaciones de DevOps mal protegidas, y el acceso a esas herramientas, hayan contribuido a este código filtrado. La tendencia hacia una mayor independencia para los desarrolladores ha introducido riesgos y cambios culturales que crean claros desafíos de seguridad. Específicamente, la responsabilidad de administrar el riesgo en los entornos de desarrollo se traslada con demasiada frecuencia de los equipos de seguridad y TI a los equipos de desarrollo y DevOps.
En el de hoy cultura del desarrollador de alta velocidad, los atajos de baja seguridad a menudo florecen y los procesos de seguridad tradicionales no siempre son fáciles de integrar. Para proteger a los desarrolladores sin ralentizarlos, el equipo de seguridad debe trabajar con su desarrollador y sus homólogos de DevOps para seguir las mejores prácticas de seguridad cibernética. El objetivo es encontrar el equilibrio adecuado para proteger los entornos de desarrollo sin sobrecargar a los desarrolladores. Con los desarrolladores y los equipos de seguridad trabajando juntos, es mucho más difícil que te suceda algo como esta filtración de código.
Próximos pasos
La filtración mencionada anteriormente es un ejemplo perfecto de lo que puede salir mal si los desarrolladores no se toman en serio la seguridad durante todo el proceso de codificación. Si las organizaciones no aprenden nada más de esta filtración, deberían aprender que la seguridad no puede, y no debe, separarse del desarrollo. El uso de las mejores prácticas de seguridad podría haber evitado que estas empresas tuvieran sus credenciales expuestas en un repositorio público, y las posibles fugas, infracciones y adquisiciones a las que podría conducir.
Agregar seguridad al proceso de desarrollo después del hecho puede ser difícil y perturbador. Integrar la seguridad desde el principio para mantener seguras las credenciales y los repositorios es imprescindible. En esta Semana Nacional de la Codificación, los desarrolladores deben dar un paso atrás para comprender el impacto de la codificación fuera de lugar o los descuidos de seguridad. Junto con los equipos de seguridad, los desarrolladores pueden proteger credenciales codificadas, credenciales codificadas de forma rígida y cualquier otra escapatoria que los ciberatacantes puedan aprovechar. Solo entonces podremos allanar el camino hacia la innovación y la conectividad seguras impulsadas por la generación de codificadores de hoy y del mañana.
Contribución de Chris Smith, Director, DevOps y marketing de productos de seguridad de aplicaciones, CyberArk