Socket: protección del software de código abierto contra ataques a la cadena de suministro con análisis de paquetes de última generación
Publicado: 2022-05-30Con el advenimiento y la ubicuidad de Internet, las empresas confían cada vez más en la digitalización para sobrevivir y prosperar en el entorno empresarial actual. Pero con las ventajas que brindan los avances tecnológicos, existen problemas con los que estas empresas deben lidiar. La violación de la seguridad cibernética es un problema importante para las empresas, que puede causar mucho daño. Entonces, para abordar este problema, Socket lanzó su plataforma de ciberseguridad para ayudar a las empresas a protegerse contra los ataques a la cadena de suministro de software. Estas empresas utilizan la plataforma de ciberseguridad para proteger sus aplicaciones de software y servicios críticos del malware y las amenazas de seguridad que se originan en el código fuente abierto.
Lea también: 7 razones por las que la gestión de recursos es importante para las pequeñas empresas
Fundada por Feross Aboukhadijeh, la empresa se fundó en 2021 con la visión de proteger los ecosistemas de código abierto para las empresas. Se centró en el software de código abierto, que permite a los equipos crear aplicaciones potentes en menos tiempo. Además, cualquiera en el grupo puede inspeccionar y contribuir al código. Aboukhadijeh se dio cuenta de que, como comunidad generalmente confiada, algunos atacantes se aprovechan de esta confianza y apertura para llevar a cabo ataques descarados en la cadena de suministro. Ha habido un crecimiento sin precedentes en la escala del malware de código abierto. Tal es la tasa de aumento que circulan preocupaciones sobre el uso continuado de software de código abierto.
Hay razones por las que los enfoques probados y confiables no han funcionado para proteger el código abierto. Toda la industria de la seguridad siempre se ha preocupado por buscar vulnerabilidades conocidas, un enfoque demasiado reactivo para detener un ataque activo a la cadena de suministro. Las exposiciones pueden tardar semanas o meses en ser descubiertas.
En la cultura actual de rápido desarrollo, una dependencia maliciosa puede actualizarse, fusionarse y ejecutarse en producción en días o incluso horas. Este no es tiempo suficiente para que se cree un CVE y llegue a las herramientas de análisis de vulnerabilidades que usan los equipos.
Los ataques y las vulnerabilidades de la cadena de suministro son muy diferentes y necesitan soluciones muy diferentes:
️ Las vulnerabilidades son introducidas accidentalmente por un mantenedor de código abierto. A veces, está bien enviar una vulnerabilidad a producción si tiene un impacto bajo.
️ Los ataques a la cadena de suministro son introducidos intencionalmente por un atacante. NUNCA está bien enviar malware para mostrar. Debe capturarlo ANTES de instalarlo o depender de él.
Los equipos que desean abordar los ataques a la cadena de suministro actualmente tienen dos opciones:
- Realice una auditoría completa: lea cada línea de código en todas las dependencias. Muy pocas empresas hacen esto, pero es el estándar de oro para prevenir ataques a la cadena de suministro. Se necesita un equipo de tiempo completo para administrar este proceso: las auditorías, las actualizaciones, la lista de permitidos y la aplicación de parches de seguridad críticos. Este enfoque está fuera del alcance de todas las empresas, excepto las más destacadas o las aplicaciones más críticas para la seguridad. Es mucho trabajo, es lento y es caro.
- No hagas nada: cruza los dedos y espera lo mejor. Esta es la opción que toman la mayoría de los equipos. En la mayoría de las unidades, cualquier desarrollador puede instalar cualquier dependencia para realizar el trabajo, y nadie mira el código en estas dependencias antes de aprobar la solicitud de incorporación de cambios. Como era de esperar, este enfoque deja a las empresas completamente vulnerables a los ataques a la cadena de suministro.
Ningún enfoque es ideal.
Lea también: 10 razones por las que las pruebas de software son un campo profesional en crecimiento en la actualidad
Mientras desarrollaba la aplicación Wormhole (una herramienta de transferencia de archivos cifrados de extremo a extremo), la empresa enfrentó los desafíos de seleccionar, administrar y actualizar las dependencias de código abierto en medio de una avalancha constante de ataques a la cadena de suministro. Esto llevó a la necesidad de una solución grave al problema. Y así, la compañía investigó qué hacen realmente los atacantes una vez que han comprometido un paquete. Casi todos los ataques a la cadena de suministro en el ecosistema de JavaScript siguieron un patrón familiar. Una vez que el atacante obtuvo el control de un paquete, agregó scripts de instalación, conexiones de red, comandos de shell, acceso al sistema de archivos o código ofuscado. Otros utilizaron la ingeniería social, como la ocupación de errores tipográficos; esto proporcionó la dirección correcta para una solución. La solución innovadora asume que todos los paquetes de código abierto pueden ser maliciosos y trabajar hacia atrás para detectar de manera proactiva signos de paquetes comprometidos. La empresa buscó la forma más sencilla de mitigar este riesgo sin perjudicar la usabilidad. Por lo tanto, se propusieron ayudar a los desarrolladores a usar el código abierto de manera segura sin sacrificar la velocidad de desarrollo. Durante los meses siguientes, Socket nació con sus populares paquetes de código abierto.
La empresa puede detectar los signos reveladores de un ataque a la cadena de suministro mediante el análisis estático de paquetes de código abierto y sus dependencias. Luego, alerta a los desarrolladores cuando los paquetes cambian de manera relevante para la seguridad, destacando eventos como la introducción de scripts de instalación, código ofuscado o el uso de API privilegiadas como shell, red, sistema de archivos y variables de entorno. Por ejemplo, para detectar si un paquete usa la red, Socket analiza si los módulos fetch(), Node's net, dgram, DNS, HTTP o HTTPS se usan dentro del paquete o cualquiera de sus dependencias. Si una nueva versión de un paquete, especialmente una versión menor o parche, agrega código para comunicarse con la red, eso es una gran señal de alerta. Y así, se detectan los problemas del paquete.
¡La respuesta de los clientes a los productos y servicios digitales de la empresa ha sido estelar! La empresa ha estado protegiendo a miles de organizaciones y decenas de miles de repositorios en dos meses desde su lanzamiento.
Los clientes de la empresa consisten en empresas que desean protegerse de los ataques. Solo lleva unos minutos protegerse de los ataques a la cadena de suministro instalando la aplicación de la empresa.
Próxima historia: Kaaruka: ¡una nueva marca de ropa para los amantes del arte!
Mensaje a clientes y espectadores:
“Las bibliotecas de código abierto son más populares que nunca. Dado que el código de fuente abierta constituye el 80-90 % de la mayoría de las bases de código, es fundamental administrarlo de manera efectiva para reducir el riesgo de seguridad de una organización. Los ataques a la cadena de suministro de software se han disparado en el último año y los componentes de código abierto se utilizan cada vez más como vectores. El uso de dependencias de terceros sin la verificación adecuada puede provocar piratería, infracciones y varios problemas de seguridad. Socket detecta los ataques a la cadena de suministro antes de que ocurra un desastre, evitando problemas de seguridad causados por el código fuente abierto en tiempo real. Socket ofrece mucho más que un análisis básico de vulnerabilidades. Al integrarse directamente en el flujo de trabajo del desarrollador, Socket evita ataques inesperados: malware, código oculto, errores tipográficos y paquetes engañosos. Socket ayuda a los desarrolladores a hacerse cargo de la salud de sus dependencias diciéndoles qué fuente abierta están usando, qué está haciendo (o podría hacer) y qué componentes están en mayor riesgo. Al mostrar información de seguridad directamente en línea en GitHub y otros sistemas de control de código fuente, los desarrolladores pueden evitar problemas de seguridad antes de pasar a producción”.