Blog

Coders Conquer Security: Serie de aprendizaje y colaboración - Uso de componentes con vulnerabilidades conocidas

April 25, 2019
Jaap Karan Singh

¿Qué es lo único que tienen todas las aplicaciones? Componentes, también conocidos como dependencias o bibliotecas. Existe muy poco código en el mundo que no dependa de otro código en algún momento. ¡Incluso se empieza con una montaña de dependencias desde el momento en que se crea la aplicación!

Dado que todas las aplicaciones utilizan componentes, la mayoría de los cuales usted no ha escrito, las vulnerabilidades dentro de los componentes que utiliza pueden convertirse en riesgos. Analicemos qué significa utilizar componentes con vulnerabilidades conocidas, qué tan peligroso es y cómo resolverlo.

Comprender el uso de componentes con vulnerabilidades conocidas

Todo software complejo tiene vulnerabilidades. Es parte de la naturaleza del problema. Por lo tanto, sus componentes nunca serán 100% seguros. Sin embargo, cuando se encuentran vulnerabilidades en los componentes, ¿se entera de ello? ¿Está preparado para afrontarlo?

Los problemas surgen con mayor frecuencia cuando los componentes se utilizan más allá de su vida útil o después de que se han encontrado vulnerabilidades. La mayoría de los componentes y bibliotecas lanzan parches para las vulnerabilidades de seguridad al mismo tiempo o antes de que se anuncie la vulnerabilidad. Por lo tanto, cuando se descubren y anuncian vulnerabilidades en los componentes, es de suma importancia actualizar los componentes lo antes posible. No deje software vulnerable en producción.

Los componentes pueden provenir de varias fuentes. A veces, usted compra productos de proveedores externos que se integran directamente con su código personalizado. Estos componentes se convierten en parte de su código y operan al mismo nivel de privilegios. Otra fuente son los proyectos de código abierto alojados en sitios como GitHub. El código abierto puede ser peligroso, ya que no todas las bibliotecas de código abierto han sido cuidadosamente examinadas o auditadas en busca de vulnerabilidades.

Los atacantes utilizan la información sobre las vulnerabilidades de los componentes a su favor. Dado que las vulnerabilidades se anuncian públicamente, los atacantes se enteran de ellas al mismo tiempo que usted. Los atacantes también tienen técnicas que pueden utilizar para averiguar qué componentes está usando. Una vez que conocen esta información, sabrán cómo atacar su aplicación si no está parcheada.

Sepa por qué los componentes vulnerables son peligrosos

Si busca pruebas de lo peligroso que es utilizar componentes con vulnerabilidades conocidas, no busque más allá de la brecha de seguridad de Equifax de 2017.

En julio de 2017, Equifax, una agencia de crédito de Estados Unidos, descubrió una filtración masiva de datos que expuso la información de identificación personal de más de 147 millones de personas. El alcance y el impacto de esta brecha de datos no tienen precedentes. Recientemente, han salido a la luz noticias sobre las laxas prácticas de seguridad de Equifax.

Una de esas prácticas laxas fue la gestión de parches. Equifax no tenía buenas prácticas de gestión de parches, lo que significaba que sus componentes pasaban bastante tiempo sin ser actualizados. Esta fue la causa directa de la brecha.

El sitio web de Equifax utilizaba el marco de trabajo web Apache Struts. Varios meses antes de que los atacantes entraran en la red, se encontró una vulnerabilidad en el marco Struts, Apache Struts CVE-2017-5638. Sin embargo, Equifax no parcheó la vulnerabilidad. Los atacantes utilizaron esta vulnerabilidad para obtener acceso a la red de Equifax. A partir de ahí, obtuvieron acceso a un tesoro de información personal.

Muchos sitios web se basan en marcos de trabajo web que no han sido escritos por la propia empresa. Esta es una práctica estándar, ya que crear toda la funcionalidad necesaria desde cero sería una tarea demasiado grande. Sin embargo, depender fuertemente de un marco de trabajo puede exponerlo a vulnerabilidades. No se convierta en el próximo Equifax.

Cómo protegerse contra componentes vulnerables

No existe una solución mágica para protegerse contra el uso de componentes vulnerables. Sin embargo, existen políticas y controles que puede utilizar para mitigar el riesgo de que se utilicen componentes vulnerables para comprometer sus sistemas.

Necesita saber qué componentes y qué versión de cada componente está utilizando para crear sus aplicaciones. Las herramientas de gestión de dependencias, como Dependency Check de OWASP, le ayudan a controlar qué dependencias está utilizando. Dependency Check también le informará si alguno de esos componentes tiene una vulnerabilidad divulgada públicamente.

Una metodología de gestión de parches también es esencial. Cuando se descubran vulnerabilidades, cuente con un sistema para que los parches se descarguen, prueben y publiquen en producción sin problemas. Mantener su software parcheado evita que los atacantes utilicen vulnerabilidades de hace meses.

Por último, establezca políticas que regulen el uso de componentes de código abierto y de terceros. A los desarrolladores no les gusta la burocracia, y es comprensible. Sin embargo, debe existir un proceso de validación para el código que no haya sido escrito por su organización. No tiene por qué ser complejo, pero es indispensable para evitar el uso de componentes desconocidos. Como mínimo, se debe mantener actualizado un inventario de los componentes utilizados.

No deje que los componentes de terceros le sorprendan

Los componentes tendrán vulnerabilidades. Sus aplicaciones empresariales utilizarán componentes, ya sean de un proveedor o de una biblioteca de código abierto. Esto no significa que su organización deba ser vulnerable a ataques.

Aunque los atacantes conozcan las vulnerabilidades al mismo tiempo que usted, los parches suelen estar disponibles cuando se hacen públicos los anuncios. Por ello, asegúrese de saber qué utiliza su aplicación. Identifique qué es vulnerable. ¡Mantenga sus componentes actualizados!

¿Listo para descubrir (y derrotar) algunos componentes vulnerables? Diríjase a la arena para entrar en combate: [Comenzar aquí]

Eslogan

Controle el desarrollo impulsado por IA antes de su lanzamiento

Mida el riesgo asistido por IA, aplique políticas de codificación segura en el momento de la confirmación y acelere la entrega segura en todo su ciclo de vida de desarrollo de software (SDLC).

Reservar una demostración
Biblioteca de recursos

Explorar más blogs

Acceda a contenido especializado sobre programación segura, gobernanza de IA y gestión de riesgos de software.

ver todo
Caso de estudio
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Una cultura de seguridad: cómo Sage creó su programa de defensores

Descubre cómo Sage reforzó su seguridad con un enfoque flexible y centrado en las relaciones, logrando formar a más de 200 expertos en seguridad y alcanzar una reducción de riesgos cuantificable.

Más información
Icono de ventana de navegador con las letras KVK en negrita y dos líneas horizontales azules debajo sobre un fondo azul degradado.
Caso de estudio
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Kamer van Koophandel: Seguridad a escala impulsada por los desarrolladores

La Cámara de Comercio (Kamer van Koophandel) comparte cómo integró la programación segura en el desarrollo diario mediante certificaciones basadas en roles, evaluaciones comparativas de puntuación de confianza y una cultura de responsabilidad compartida en seguridad.

Más información
Logotipo de Insurance Australia Group con texto y un icono en azul y gris dentro del diseño de una ventana de navegador web.
Caso de estudio
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Cómo un «Juego de Códigos» guía a IAG Group hacia un futuro de programación más seguro

IAG Group es la entidad detrás de muchas de las principales compañías de seguros en la región de Asia-Pacífico, que suscribe pólizas para millones de clientes por un valor aproximado de 11.400 millones de dólares australianos en primas anuales.

Más información
Blog
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Mes de la Concienciación sobre Ciberseguridad 2026: Comprender la seguridad de la IA es fundamental para la defensa empresarial

Hemos llegado a un punto en el que la mayoría de las principales empresas de IA han pedido públicamente una ralentización global en el desarrollo de la IA para que las medidas de seguridad puedan ponerse al día, pero la verdad es que ya se han materializado graves problemas de seguridad. Esto deja a innumerables líderes de seguridad y equipos ejecutivos en una situación urgente, a medida que los costes monetarios y de riesgo de la implementación de la IA siguen acumulándose.

Más información
Blog
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Habilitador 8: Branding de su programa

Un programa de codificación segura necesita algo más que un buen contenido para tener éxito. El Habilitador 8 muestra cómo el branding transforma la participación en una experiencia codiciada basada en el estatus.

Más información
Blog
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Cada empleado está ahora en la primera línea de la ciberseguridad de la IA

El panorama tecnológico empresarial está cambiando a una velocidad que pocos previeron hasta que fue demasiado tarde. Hemos cruzado oficialmente el umbral del código escrito por humanos y la asistencia básica de copilotos hacia la era del Ciclo de Vida de Desarrollo Agéntico (ADLC). Si bien los agentes de IA autónomos prometen una eficiencia sin precedentes en múltiples funciones, también traen consigo una clase completamente nueva de riesgos regulatorios y de seguridad.

Más información

Proteja el desarrollo basado en IA antes de su lanzamiento

Identifique riesgos de desarrollo, aplique políticas y prevenga vulnerabilidades en todo el ciclo de vida de su software.

Reservar una demostración
No se encontraron elementos.