Impulsando los principios de seguridad desde el diseño | Informática Semanal

La comunidad de seguridad de TI reconoce en gran medida que existe una correlación directa entre la calidad del código, como porcentaje de errores de codificación por cada mil líneas de código, y la seguridad cibernética. En pocas palabras, cuantos más errores haya en el código, mayor será la posibilidad de que se exploten como vector de ataque. La presión para mejorar la calidad del código está siendo impulsada internamente por los líderes empresariales y de TI, y externamente por los reguladores y los responsables de la formulación de políticas.

Hay beneficios directos e indirectos para mejorar la calidad de la programación. Más allá del riesgo de seguridad cibernética, los errores de codificación que ocurren en los entornos de producción son costosos de corregir, en comparación con los identificados al principio del ciclo de vida de un proyecto. El software de baja calidad afecta la experiencia de los clientes y los empleados, lo que potencialmente obstaculiza la productividad y puede provocar la pérdida de ingresos.

IDC publicado recientemente Rastreador de software semestral mundial informa que existe una demanda de mayor resiliencia. Los datos de IDC muestran un aumento en el gasto en calidad de software y herramientas de ciclo de vida, que creció más del 26 % en moneda constante.

Los exploits muy publicitados como Log4Shell, el exploit que hizo uso de la vulnerabilidad en Log4js, la utilidad de registro basada en Java que está integrada en numerosas aplicaciones, conmocionaron a todo el sector tecnológico, destacando el riesgo de incorporar código de terceros en proyectos de desarrollo de software. . Estos componentes, servicios web o bibliotecas de terceros aceleran el desarrollo de software, no solo ahorran tiempo, sino que también reducen el volumen de errores de codificación porque los programadores pueden confiar en otros para crear los complementos que necesitan, sin tener que desarrollar todo desde cero.

Las bibliotecas más populares se prueban exhaustivamente en cientos de miles de proyectos, lo que significa que los errores se pueden solucionar rápidamente. Pero, como sucedió con Log4Shell, algunos pueden permanecer sin identificar, por lo que las primeras organizaciones que se enteran del problema es cuando se está explotando.

En un intento por proteger Internet y la infraestructura nacional crítica, la Estrategia Nacional de Ciberseguridad del gobierno de EE. UU. asigna la responsabilidad de la seguridad de TI a las organizaciones que administran y ejecutan los ecosistemas digitales, trasladando la responsabilidad de la seguridad cibernética deficiente de los usuarios a las empresas que operan estas plataformas. .

Más contenido para leer:  El seguimiento invasivo es 'endémico' en sitios web de soporte sensibles

En un blog que analiza las nuevas reglas, Tidelift advierte que uno de los impactos de más alto nivel que las organizaciones probablemente verán como resultado de la nueva política es que el gobierno está proponiendo un enfoque más abierto y activo para mejorar la seguridad cibernética al aumentar la regulación y obligatoriedad. requisitos

Para seguir cumpliendo con los últimos estándares, Joseph Foote, un experto en seguridad cibernética de PA Consulting, dice que las organizaciones en sectores regulados deben proporcionar pruebas de que su infraestructura clave ha sido objeto de una forma de garantía de seguridad en profundidad. “Si estas empresas no cumplen, corren el riesgo de multas y sanciones, y es posible que los proveedores de seguros ya no estén dispuestos a renovar los contratos”, agrega.

Reducir el riesgo y el impacto potencial para el negocio, tanto financiera como de reputación, estará en la mente de muchas empresas, y esto se aplica al software, cómo se desarrolla y la seguridad de los servicios de terceros que la organización necesita para lograr un Objetivo de negocio.

La seguridad, desde la perspectiva de la codificación, comienza con un conjunto de pautas que, según Foote, pretenden regir y hacer cumplir una metodología que debe seguirse al implementar nuevas funciones habilitadas para software. Estas pautas, dice, van desde sugerencias simples, como garantizar que se cree documentación al expandir la base de código existente, hasta detallar la estructura y el diseño del código en sí.

Control de calidad

Según la experiencia de Foote, los desarrolladores a menudo adaptarán sus bases de código a un paradigma de diseño específico con el fin de prepararlo para el futuro, aumentar la modularidad y reducir la probabilidad de que se produzcan errores debido a la complejidad general del código. Pero incluso las pautas más sólidas aún pueden permitir errores y errores en el código final, aunque la frecuencia de los problemas generalmente disminuye a medida que maduran las pautas.

“Algunas de las vulnerabilidades que han causado el mayor impacto se remontan a descuidos en las prácticas de codificación segura, y algunas de las debilidades más problemáticas en nuestro software más popular podrían haberse detectado con un estricto control de calidad y pautas de codificación segura”, dice. .

Tome EternalBlue, que apuntó a una vulnerabilidad en el sistema operativo Windows de Microsoft y sus componentes principales para permitir la ejecución de código malicioso. Aunque el exploit EternalBlue, denominado oficialmente MS17-010 por Microsoft, solo afecta a los sistemas operativos Windows, todo lo que utilice el protocolo de intercambio de archivos SMBv1 (Server Message Block versión 1) corre el riesgo técnico de ser blanco de ransomware y otros ataques cibernéticos.

Más contenido para leer:  Adopción multicloud en aumento

En una publicación que describe EternalBlue, la firma de seguridad Avast cita un New York Times artículo, que alega que la Agencia de Seguridad Nacional de EE. UU. (NSA) tardó un año en identificar el error en el sistema operativo Windows y luego desarrolló EternalBlue para explotar la vulnerabilidad. De acuerdo con la New York Times artículo, la NSA usó EternalBlue durante cinco años antes de alertar a Microsoft de su existencia. La NSA fue asaltada y EternalBlue llegó a las manos de los piratas informáticos, lo que condujo al ataque del ransomware WannaCry.

Como señala Foote, EternalBlue fue un problema de codificación.

Charles Beadnall, director de tecnología (CTO) de GoDaddy, insta a los líderes de TI a asegurarse de que el código que se está desarrollando esté escrito con el más alto nivel de calidad.

A medida que el código se vuelve más complejo y utiliza bibliotecas de software y servicios de terceros o componentes de código abierto, se vuelve más difícil identificar problemas de codificación y tomar medidas correctivas.

Una encuesta de 1300 CISO en grandes empresas con más de 1000 empleados, realizada por Coleman Parkes y encargada por Dynatrace en marzo de 2023, encontró que más de las tres cuartas partes (77 %) de los CISO dicen que es un desafío importante priorizar las vulnerabilidades debido a la falta de información sobre el riesgo que representan para su entorno.

Hablando de los resultados, Bernd Greifeneder, CTO de Dynatrace, dice: “La creciente complejidad de las cadenas de suministro de software y las pilas de tecnología nativa de la nube que brindan la base para la innovación digital hacen que sea cada vez más difícil identificar, evaluar y priorizar rápidamente los esfuerzos de respuesta cuando se presentan nuevos. surgen vulnerabilidades.

“Estas tareas han crecido más allá de la capacidad humana de administrar. Los equipos de desarrollo, seguridad y TI están descubriendo que los controles de gestión de vulnerabilidades que tienen ya no son adecuados en el dinámico mundo digital actual, que expone a sus negocios a un riesgo inaceptable”.

Reducir el riesgo de mala calidad del software

Beadnall dice que una de las cosas importantes con la seguridad es asegurarse de que haya controles establecidos para lo que está implementando y cómo está monitoreando.

Más contenido para leer:  Security Think Tank: A user’s guide to encryption

Es un gran fanático de ejecutar proyectos de codificación como un experimento de laboratorio, donde se prueba una hipótesis y los resultados se miden y comparan con un conjunto de datos de control. “Ejecutar experimentos es útil en términos de cuantificar y clasificar los tipos de código que está implementando, el impacto para los clientes y una mejor comprensión de la implementación”, dice.

Los investigadores de Trustwave probaron recientemente la capacidad de ChatGPT para escribir código e identificar errores comunes del programador, como el desbordamiento del búfer, que los piratas informáticos pueden explotar fácilmente. Karl Sigler, gerente de inteligencia de amenazas de Trustwave, espera que ChatGPT y otros sistemas generativos de IA se conviertan en parte del ciclo de vida del desarrollo de software.

Beadnall ve la IA generativa como algo que podría usarse para supervisar el trabajo que hacen los desarrolladores, de la misma manera que la programación entre pares. “Estamos experimentando con una serie de técnicas diferentes en las que la IA se utiliza como programador de pares para asegurarnos de que estamos escribiendo código de mayor calidad”, dice. “Creo que este es un primer paso muy lógico”.

A corto plazo, las propias herramientas están mejorando para que la codificación sea más segura. “La automatización y la seguridad están en el corazón de la habilitación. Las herramientas de IA permiten a los trabajadores crear y producir de formas nuevas y creativas, mientras que la seguridad es el refuerzo subyacente que permite su introducción en la empresa”, dice Tom Vavra, jefe del equipo de análisis y datos de IDC, software europeo.

Foote de PA dice que las empresas con grandes equipos de desarrollo están haciendo la transición gradualmente a estándares y lenguajes de programación más seguros, como Rust. Esto combate parcialmente el problema al hacer cumplir un paradigma de diseño seguro en el que cualquier operación que se considere insegura debe declararse explícitamente, lo que reduce la probabilidad de una operación insegura por descuidos.

“Los paradigmas seguros por diseño son un avance en las prácticas de desarrollo, junto con los avances modernos en las prácticas de codificación segura”, agrega.

Para demostrar que sus organizaciones son seguras y confiables, Foote cree que los líderes de TI deberán realizar evaluaciones de seguridad orientadas a los detalles.

Nuestro objetivo fué el mismo desde 2004, unir personas y ayudarlas en sus acciones online, siempre gratis, eficiente y sobre todo fácil!

¿Donde estamos?

Mendoza, Argentina

Nuestras Redes Sociales