Addictware | Noticias de Tecnología - La frágil naturaleza del software, el mayor riesgo en uso de tecnología

El cambio hacia DEVOPS ayuda a garantizar las responsabilidades de todos, permitiendo que la seguridad se incorpore en todo el ciclo de vida, lo cual reduce las vulnerabilidades a remediar y por lo tanto los retrasos e incrementos en el presupuesto.

Actualmente, el ‘software’ lo permea todo. Ciertamente, pocas actividades de nuestra vida cotidiana, tanto en lo personal, como en lo profesional y empresarial, escapan a la presencia de algún tipo de software. El profesor Mike Hinchey, presidente de la Federación Internacional para el Tratamiento de la Información (IFIP, por sus siglas en inglés) y antiguo director del Laboratorio de Ingeniería del Software de la NASA, lo expresaba con la siguiente interrogante: “¿Acaso hay algo que no sea software?”.

La provocadora cuestión planteada por Hinchey resume el carácter ubicuo que tiene el referido elemento en la actualidad. Resulta difícil imaginar un sector cuya actividad no repose en un uso más o menos intensivo de las tecnologías de información o de operación habilitadas por software. En palabras del periodista de The New York Times, Quentin Hardy, “el software es el invento más extraño de la historia económica: es un gran creador de riqueza y [al mismo tiempo] un gran destructor de sectores económicos”.

La capacidad de creación de riqueza, materializada en beneficios como incrementos en la productividad y eficiencia en diversos campos de la economía, es la que ha impulsado en los últimos años iniciativas de modernización en sectores como el industrial, que en sus diversas variantes como Industria 4.0 e Internet de las Cosas, constituyen una intensificación del uso de soluciones de software en el territorio tradicional del entorno manufacturero: el de las fábricas, propiamente dichas; el de los procesos industriales que se ejecutan en ellas; y, en definitiva; el de los sistemas de control que los sustentan.

La vulnerabilidad es latente

Pero, a pesar de sus enormes capacidades, conviene recordar la frágil naturaleza del software, un término que engloba una serie de elementos ‘intangibles’, y otros no tanto, como reglas, programas, datos, documentación e instrucciones que permiten la ejecución de cálculos y otras tareas que conforman la base de cualquier sistema computacional.

De hecho, no solamente el código del software representa vulnerabilidades que pueden ser aprovechadas por los atacantes. Según el informe de IDC “Security Trends & Vulnerabilities Review” más de un tercio del origen de las vulnerabilidades se localizan en la configuración de las tecnologías como se muestra en la siguiente imagen: configuracion sw

Debido a esos motivos, hoy en día es fundamental incorporar la seguridad en todos los escenarios en los que se desarrolla y despliega software, así como en los métodos y herramientas de desarrollo y despliegue, pero esta incorporación de la seguridad, que puede verse en forma de actividades, siempre deberá complementarse sin pretender sustituir los procesos de la metodología de software usada.

Por ello es que resulta primordial contemplar la seguridad lo antes posible en todas y cada una de estas fases, comenzando con una caracterización de las amenazas. Existen diversas metodologías para realizar formalmente la caracterización de amenazas, pero en un alto nivel todas comparten (en mayor o menor medida) los siguientes pasos:

  • Identificación de activos.
  • Definición de superficie de ataque.
  • Descomposición del ecosistema.
  • Identificar vectores de ataque.
  • Listar actores de amenaza. 

El resultado del modelo deberá alimentar el proyecto y garantizar que los controles resultantes (contra medidas) sean adecuados y suficientes para satisfacer la seguridad de la automatización.

Vital, el papel del responsable de seguridad

El papel que ha desempeñado tradicionalmente la seguridad en el ciclo de vida del desarrollo de software ha sido normalmente un obstáculo para el desarrollo rápido, y es que las consideraciones de seguridad generalmente se adoptan tarde y por ello es habitual que se entreguen largas listas de vulnerabilidades a los desarrolladores al final de un proceso. Este enfoque conlleva importantes retrasos en la entrega para remediar las debilidades existentes, lo que incrementa el tiempo de desarrollo y su presupuesto.

Las organizaciones que adoptan DEVOPS (conjunto de buenas prácticas de coordinación, colaboración, conocimiento y resiliencia que las áreas de desarrollo y operación pueden adoptar y adaptar), reúnen a los equipos de desarrollo, operaciones y seguridad, lo cual ofrece una buena oportunidad para crear una cultura de desarrollo de software seguro. Y es que el cambio hacia DEVOPS ayuda a garantizar las responsabilidades de todos, permitiendo que la seguridad se incorpore en todo el ciclo de vida, lo cual reduce las vulnerabilidades a remediar y por lo tanto los retrasos e incrementos en el presupuesto.

El responsable de ciberseguridad del proceso de software tiene la misión de coordinar las labores propias de su área (considerando aspectos legales y requerimientos de clientes, evaluación de riesgos, pruebas, plan de medidas, seguimiento, validación de remediaciones, aprobación del proyecto) tanto del equipo de desarrollo, como del equipo de operaciones, con lo que se aprovechan  las capacidades multidisciplinares de los dos equipos.  

El mismo especialista deberá también comprobar que se logran los objetivos, y por ello debe tener la autoridad otorgada por la dirección para actuar en el mejor interés de la empresa. Y si se externalizan capacidades, esta persona deberá supervisar las acciones, tareas y contratos de los subcontratistas. De hecho, su función es fundamental para identificar recursos clave que permitan mitigar, contener y resolver incidentes de una manera oportuna y exitosa, tal y como se afirma en el documento “Desarrollo y Despliegue Seguro de Software Industrial [4.0], que se publicó en diciembre de 2017 por el Centro de Ciberseguridad Industrial. https://www.cci-es.org/SW_Seguro

Para ilustrar mejor esta idea, en la siguiente figura se puede ver el papel de coordinación del responsable de ciberseguridad en el proceso de desarrollo y despliegue de un proyecto de tecnología industrial.

proceso tecnología industrial