Lecciones de seguridad con un Snyk Ambassador
Andres Haro
10 de octubre de 2022
0 minutos de lecturaDe Andres Haro, Snyk Ambassador
La seguridad es una preocupación en la industria tecnológica desde hace años. Sin embargo, muchas empresas no siguen sus propios protocolos ni guías para proteger el código.
Es fácil pensar que los incidentes de seguridad son poco comunes (o que es poco probable que ocurran en tu organización), pero el reciente incidente de Uber es uno de muchos ejemplos que demuestran lo contrario. Todo empezó cuando una persona de 18 años usó ingeniería social para convencer a un empleado de Uber de iniciar sesión en un sitio falso de Uber. Así, logró obtener las credenciales ingresadas en tiempo real e iniciar sesión en el sitio real de Uber.
La brecha de seguridad de Uber y las lecciones aprendidas
En ese momento, Uber tenía habilitada la autenticación multifactor (MFA): una aplicación que le pedía al empleado presionar un botón de alerta en su smartphone al iniciar sesión. Para evadir esta protección, el hacker ingresó las credenciales en el sitio real varias veces. El empleado estaba confundido o cansado y, finalmente, presionó el botón. Para entonces, el hacker ya había logrado entrar.
Ahora imagina que Uber fuera una empresa que no pudiera hacer nada. Incluso con MFA, un usuario malicioso tuvo la suficiente creatividad para obtener información personal de la empresa y causar daños. Ahora imagina lo que podría haber pasado si no hubieran tomado medidas para proteger su código.
¿Cómo proteger tu código?
Si formas parte de la comunidad tecnológica, probablemente consultas Stack Overflow con frecuencia para encontrar código de código abierto y respuestas a tus preguntas. Es una excelente herramienta para colaborar y resolver problemas, pero copiar directamente en tu aplicación código de un sitio de terceros puede exponerte a muchas vulnerabilidades potenciales.
Para evitar estos posibles riesgos, te recomiendo usar la herramienta Code Checker de Snyk para analizar el código que elijas antes de copiarlo a una rama de tu entorno de producción.

Quizás te preguntes qué puede hacer Snyk por mí. Además de ayudarte a analizar código de cualquier plataforma, Snyk te ofrece información sobre posibles problemas en tus repositorios actuales y consejos para solucionarlos.
En la imagen de abajo, verás que Snyk está conectado a mi cuenta de GitHub.

Al conectar Snyk a tu cuenta de GitHub, podrás comprobar qué dependencias no están actualizadas, qué está dañando tu código y qué debes actualizar.
La siguiente imagen muestra un informe de Snyk con las vulnerabilidades que se encontraron en el análisis, clasificadas como bajas, medias, altas o críticas según su gravedad. Ahora tienes toda la información que necesitas para decidir si ignoras la vulnerabilidad o la corriges.

Como profesional de DevSecOps, siempre doy prioridad a las vulnerabilidades críticas y animo a los equipos a revisar el puntaje y determinar si podemos corregirlas de inmediato. ¿Por qué lo digo? Porque tendrán que informar a los ingenieros de software sobre las vulnerabilidades descubiertas y ver si tienen tiempo en el sprint actual para resolverlas. Por otro lado, algunos equipos deciden corregir las vulnerabilidades altas o críticas el mismo día en que las descubren. Todo depende de los recursos y el personal de tu organización. Snyk es una herramienta especialmente útil porque permite tomar cualquiera de estas decisiones: puedes corregir una vulnerabilidad más adelante o crear un PR de inmediato.
Si haces clic en «Corregir esta vulnerabilidad», verás lo siguiente:

La pantalla Abrir un PR de corrección muestra todas las vulnerabilidades encontradas en el análisis y puede generar algunas preguntas específicas. Para obtener más información sobre un problema de la lista del PR, haz clic en una de las vulnerabilidades. En este caso, haremos clic en denegación de servicio por expresión regular (ReDoS), en Problemas con una corrección.

Esto te dará un desglose completo de lo que estás enfrentando. Si el problema no es real o se marcó por error, siempre puedes reportarlo haciendo clic en «¿Encontraste un error?». Se abrirá otra pantalla donde podrás compartir los detalles.
Si no conoces una vulnerabilidad, puedes obtener más información en Snyk Learn. Para ver nuestro ejemplo, visita la página de lecciones sobre ReDoS.
Ahora que tenemos más confianza y estamos mejor informados, podemos crear el PR. En GitHub, debería verse más o menos así:

Después, tendrás la opción de fusionar el nuevo PR y la nueva rama con todas las correcciones.

Si decides fusionar, verás lo siguiente:

Si quieres saber qué cambió en tu repositorio, tendrás que revisar los archivos modificados en GitHub:

Como puedes ver, hicimos algunas actualizaciones para mantener todo al día. Ahora podemos volver al panel de Snyk y comprobar si se corrigieron todos los problemas. Si necesitas enviar un informe a la gerencia, te sugiero agregar a esas personas a tu cuenta de Snyk y compartir este tipo de informe con ellas.

Amplía tus conocimientos de seguridad con Snyk
Si quieres aprender más sobre seguridad para desarrolladores, visita Snyk Learn: encontrarás muchas lecciones interactivas sobre vulnerabilidades en diversos lenguajes y ecosistemas. O, si prefieres los videos, visita el canal oficial de YouTube de Snyk. Si necesitas consejos de seguridad, no dudes en contactar a cualquiera de los Snyk Ambassadors: son un grupo de personas increíbles con amplios conocimientos de ciberseguridad, y la comunidad sigue creciendo.


