Prevenir sus «secretos» en la nube: una solución de complemento IDE

Sin duda, estará de acuerdo en que, en el mundo digital actual, la mayoría de las aplicaciones en las que trabajamos requieren cierto tipo de inicio de sesión: para conectarse a una base de datos mediante un nombre de usuario/contraseña, para acceder a programas informáticos a través de tokens autorizados o API para invocar servicios de autenticación.

Las credenciales, o a veces simplemente «secretos», son piezas de información confidencial a nivel del usuario o del sistema que deben protegerse cuidadosamente y ser accesibles solo para usuarios legítimos. Todos sabemos lo importante que es mantener estos activos seguros para evitar el abuso y la interrupción de la cuenta.

Verificación de la realidad: ¿Con qué frecuencia busca activamente proteger estos activos? Rara vez diría yo.

Uno de los peores errores que puede cometer un desarrollador cuando se trata de proteger aplicaciones es la divulgación aleatoria de información confidencial en Internet. Sorprendentemente, la información y las credenciales secretas se filtran al azar con más frecuencia de lo que cabría esperar, y existen herramientas inteligentes que escanean los repositorios públicos en busca de secretos.

Con la misión de permitir a los desarrolladores tomar el control de la integridad de su propio código, SonarLint, la extensión IDE gratuita y de código abierto de SonarSource, anunció recientemente una nueva función en su software para ayudar a los desarrolladores a identificar y prevenir fugas de AWS a nivel de usuario o sistema. al almacenamiento y escape del código fuente o archivos locales del usuario.

¿Te suena interesante? Sigue leyendo para aprender mas.

Primero, por qué debería importarte

Tomemos un momento para recordar por qué esta nueva característica de SonarLint sería tan importante y útil para todos los desarrolladores.

En algún momento de su vida, es posible que haya utilizado una tarjeta de crédito para realizar una compra en línea e inmediatamente recibió una llamada de la compañía de la tarjeta de crédito preguntándole si tiene la intención de continuar comprando. Si es así, no hay problema, todo está bien. De lo contrario, se detectó actividad fraudulenta justo antes de que se completara la transacción, lo que le ahorró a usted y a su compañía de tarjeta de crédito la complejidad de la cuenta comprometida posterior.

Lo mismo ocurre con el desarrollo de código.

Puede volver a conectarse a la base de datos en la nube como parte del proceso de desarrollo y entrega del código, o puede necesitar un inicio de sesión para acceder a una API de terceros.

En este proceso, existe la posibilidad de que esté codificando temporalmente sus credenciales para que sea más fácil de usar, o que un colega haya agregado información confidencial para una prueba local rápida y luego haya subido por error estos archivos al repositorio público. Y… estos cambios temporales ahora son permanentes…. ¡Uf! Incluso después de eliminar el código, aún existe la posibilidad de que alguien haya hecho una copia de su secreto antes de borrarlo.

Otra cosa que sabes es que alguien comprometió la cuenta, o peor aún, esta pequeña falla de seguridad le dio a alguien un pequeño punto de partida para una interrupción importante de la infraestructura.

Las infracciones de este tipo son más comunes y potencialmente catastróficas de lo que cree. El año pasado, aparecieron varios artículos periodísticos que destacaban incidentes en los que usuarios maliciosos robaron claves API incrustadas en repositorios públicos de código fuente, como GitHub y BitBucket. StackOverflow, Uber y, más recientemente, Shopify son ejemplos de incidentes de seguridad de alto perfil en los que los secretos vertidos en archivos visibles públicamente han causado confusión. Imagine el daño que podría haber causado la reputación de esta marca.

El error humano seguirá ocurriendo, pero al realizar las comprobaciones correctas en el momento adecuado, se puede prevenir. El caso anterior ilustra cómo revelar los ‘secretos’ encontrados en el punto relevante de la introducción, como durante la programación o justo antes de ejecutar su código, podría haber ahorrado muchos problemas.

El mejor lugar para detectar y abordar estos problemas en su flujo de trabajo de desarrollo es comenzar, en su IDE, un entorno de desarrollo integrado. Hay muchas grandes empresas que han aprendido esta lección con fuerza.

Reglas avanzadas que detectan secretos de AWS en el IDE

Con la reciente incorporación de nuevas reglas de confidencialidad en la nube, SonarLint protege las credenciales de autenticación de AWS y las credenciales del servicio web de Amazon Marketplace (MWS) contra filtraciones públicas. Consulte las reglas que protegen los tokens de autenticación de MWS, la clave de acceso de AWS, el ID de clave y los tokens de sesión.

SonarLint protege sus credenciales para que no se filtren al público al actuar como su primera línea de defensa. Al marcar los problemas en el punto de introducción (es decir, al mover la detección de problemas más hacia la izquierda), puede tomar medidas inmediatas y evitar una fuga.

secretos de las nubes

Esto es importante porque las cuentas comprometidas no solo pueden tener consecuencias a nivel individual o de recursos, como la posibilidad de piratear la cuenta, sino también tener consecuencias adversas para la confidencialidad de sus clientes. Por ejemplo, los tokens MWS comprometidos se pueden usar para obtener acceso ilegal a bases de datos que contienen información de clientes, como números de tarjetas de crédito, correo electrónico, direcciones de envío y registros de ventas de comerciantes.

Con SonarLint instalado en su IDE, estas reglas de detección «secretas» le permiten capturar la presencia de tales credenciales en la primera entrada, es decir, en el código fuente o en archivos de lenguaje agnóstico (por ejemplo, xml, yaml, json) antes de comprometerse con el comercio de repo.

Además de identificar tales problemas, SonarLint también puede proporcionar instrucciones claras sobre cómo resolverlos. Entonces tienes total flexibilidad para actuar y abordar el código marcado; lo acerca un paso más a proporcionar un código seguro.

Empezamos en tu IDE

Actualmente, esta característica es compatible con IDE populares como VS Code, IntelliJ IDEA, PyCharm, CLion, WebStorm, PHPStorm y Rider, seguidos de Visual Studio, Eclipse y más.

Para comenzar a proteger su base de código, puede descargar SonarLint para VS Code o SonarLint para su JetBrains IDE. O, si ya usó SonarLint en su IDE, simplemente puede actualizar el complemento a la última versión y habilitar esta función.

Como próximo paso, la compañía también planea extender la función de detección «secreta» a otros proveedores de nube pública. En el futuro, puede esperar que SonarLint admita más proveedores de nube, productos SaaS y proveedores de bases de datos.

Los desarrolladores que utilizan otras soluciones de SonarSource, SonarQube o SonarCloud para proporcionar código seguro y de calidad, pueden extender su experiencia de seguridad de código a su IDE. Al instalar SonarLint de forma gratuita, no solo pueden beneficiarse instantáneamente de potentes funciones como la detección de secretos, sino también mejorar la calidad general del código y la seguridad de su base de código al compartir reglas y configuraciones de análisis de SonarQube o SonarCloud a SonarLint para unirse a todo el desarrollo. equipo. en una sola definición de salud de código.

Continua leyendo

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Newsletter Signup

Suscríbete a nuestra lista si te interesa recibir turcos exclusivos sobre hacking y seguridad informática