La ciberresiliencia significa volver a lo básico

Foto de cabeza de Kevin E. Greene, director de soluciones de seguridad de Parasoft

Por Kevin E. Greene

19 de mayo de 2021

3  min leer

Lograr la resiliencia cibernética en sus productos de software comienza con la reducción de los puntos vulnerables de su software. Esto comienza con asegurarse de que adopta estándares de codificación seguros. Sigue leyendo para aprender.

Las prácticas de ciberseguridad deben ser sólidas frente a adversarios motivados y hábiles. Deben ser fiables y confiables en un mundo cibernético cada vez más complejo.

“Estamos vinculados por la misión de enfrentarnos a las ciberamenazas que, por naturaleza, son implacables. Que son concebidos por aquellos que persistentemente intentan robar nuestros datos, nuestra riqueza y nuestra tranquilidad. También estamos conectados por eventos mundiales que amenazan la base misma de nuestra profesión. Respondemos buscando cada vez más profundamente dentro de nosotros mismos para crear soluciones que puedan resistir y recuperarse rápidamente de cualquier adversidad que se nos presente ”.

—Extracto de Conferencia RSA 2021

El aumento de la presencia digital aumenta la exposición

La pandemia actual no ha disuadido a los adversarios de lanzar ciberataques. De hecho, algunos expertos creen que hay un aumento en los ataques cibernéticos en todo el mundo dada la mayor dependencia del teletrabajo y la presencia remota.

Esta expansión obliga a las organizaciones a exponer sus activos digitales e infraestructura para respaldar y ampliar las funciones comerciales. Al exponer más superficies de ataque, las organizaciones se vuelven más susceptibles a los ciberataques y menos resistentes. Socava un principio de diseño fundamental en la ciberresiliencia: reducir la superficie de ataque.

Siguiendo el principio de diseño de ciberresiliencia: reducir las superficies de ataque

Es esencial que todas las actividades de ingeniería y desarrollo de software se adhieran al principio de diseño de resiliencia cibernética y reduzcan las superficies de ataque. El principio fomenta la mínima funcionalidad (restringiendo puertos, protocolos y servicios) y llamadas a:

  • Reducir la cantidad de interfaces disponibles para usuarios no autorizados.
  • Depreciar las funciones inseguras / inseguras.
  • Reduce la complejidad.
  • Minimice el uso compartido.
  • Elimina los mecanismos menos comunes.

El principio es coherente con lo que Brian Knapp, ingeniero de software, llama "minimalismo de software, ”Que concluye es la habilidad más difícil de enseñar en ingeniería de software. El minimalismo del software enfatiza el uso de la menor cantidad de código y software para construir sistemas y aplicaciones con el fin de reducir la complejidad y evitar la acumulación de deudas técnicas.

El enfoque reduce significativamente la superficie de ataque para un sistema de software dado, minimizando los puntos de entrada disponibles y los vectores de ataque para los ciberataques. Sin embargo, el desarrollo de software moderno se ha desviado de este enfoque clásico de la ingeniería de software y está muy centrado en incorporar más características y funcionalidades.

Las características y la funcionalidad del producto impulsan una ventaja competitiva. Se utilizan para resaltar la propuesta de valor única para diferenciarse de la competencia. El problema es que más funciones significan más código.

Más código significa más complejidad.

Y más complejidad significa más problemas, como en los ciberataques.

El desafío de los sistemas de desarrollo de software modernos y complejos

La complejidad de los sistemas de desarrollo de software modernos hace que sea muy difícil aplicar parches de manera oportuna y corregir vulnerabilidades. Ambos aumentan la ventana de exposición que a menudo resulta en ataques cibernéticos.

La ventana de exposición es una métrica clave para mitigar los ciberataques. Sin embargo, se está volviendo difícil de identificar y determinar debido a la fricción en las divulgaciones de vulnerabilidades y los informes de que muchos los investigadores se han quejado.

Problemas similares ocurrieron recientemente con Katie Moussouris, CEO de Luta Security, cuando ella reveló errores descubierto en Clubhouse y con Códigos enfermos en su descubrimiento de problemas de seguridad con las API de John Deere. Estas situaciones son recordatorios de que el sistema todavía está roto, como se indica en un Artículo de Threat Post en 2018 que destaca los problemas sistémicos y la fricción constante entre los investigadores.

La comunidad de investigación juega un papel clave al poner más atención en los errores para hacerlos menos profundos, así como colaborar con las empresas para hacer que sus productos sean más seguros. Dado nuestro panorama actual de amenazas, cada día cuenta. Estos contratiempos en las revelaciones de vulnerabilidades definitivamente aumentan la ventana de exposición.

Si bien la ventana de exposición aumenta, parece que el tiempo para explotar se reduce, como se indica en investigación realizada por FireEye. La investigación utilizó un conjunto de muestra de vulnerabilidades y exposiciones comunes (CVE) que rastreaban el tiempo entre divulgaciones, lanzamientos de parches y exposiciones de vulnerabilidades.

La investigación destaca que la mayoría de la explotación en la naturaleza ocurre durante uno de los siguientes períodos de tiempo:

  • Antes de la emisión del parche
  • A los pocos días de que esté disponible un parche o una corrección
  • Dentro de un mes después de la fecha del parche

Esto no es un buen augurio para las organizaciones que luchan por parchear sistemas complejos. Esto se hizo evidente con el Vulnerabilidad de Apache Struts (CVE-2017-5638) que supuestamente condujo a la brecha de Equifax donde el proveedor corrigió la versión vulnerable el 6 de marzo de 2017. Tres días después, el error estaba bajo un ataque masivo en Internet. No fue hasta varios meses después que ocurrió la violación de Equifax.

Ciberseguridad integrada a través de estándares de codificación segura CWE y CERT

La primera línea de defensa contra los ciberataques

La ingeniería de software y el desarrollo de software juegan un papel clave en la resiliencia cibernética. De hecho, son la primera línea de defensa contra los ciberataques. Los sistemas y aplicaciones de software deben diseñarse y desarrollado para anticipar, resistir, recuperarse y adaptarse a cualquier adversidad que surja en el dominio cibernético. Hacerlo requiere adoptar prácticas de diseño y desarrollo como el minimalismo del software para reducir las superficies de ataque.

No es que tengamos que cavar más profundo dentro de nosotros mismos para crear soluciones. En su lugar, tenemos que volver a lo básico. Eso significa codificar prácticas sólidas como el minimalismo de software en el desarrollo de software moderno para hacer que los sistemas y aplicaciones de software sean más resistentes, más capaces de resistir y recuperarse rápidamente de cualquier adversidad que se les presente.

Vea cómo su equipo puede desarrollar y entregar software crítico para la seguridad compatible.

 

Foto de cabeza de Kevin E. Greene, director de soluciones de seguridad de Parasoft

Por Kevin E. Greene

Kevin, director de soluciones de seguridad de Parasoft, tiene una amplia experiencia y conocimientos en seguridad de software, investigación y desarrollo cibernéticos y DevOps. Aprovecha su conocimiento para crear soluciones y tecnologías significativas para mejorar las prácticas de seguridad del software.

Reciba las últimas noticias y recursos sobre pruebas de software en su bandeja de entrada.