Software Is Eating the World

Software Is Eating the World

26 noviembre, 2020 José Arias Marín

Compártelo:

Este es el título de un artículo publicado en el WSJ en agosto de 2011, en el que se entrevistaba a Marc Andreessen, cofundador de Netscape y de una las más reconocidas y exitosas firmas de venture capital en Silicon Valley, Andreessen-Horowitz.

En 2011 estábamos inmersos en otra crisis, la financiera e inmobiliaria y las empresas de software estaban adquiriendo una capitalización no acorde con la situación económica, había una sensación generalizada de que estuviéramos presenciando otra burbuja como con las empresas dot-com en los lejanos 90s con el cambio de milenio. Marc Andreesen explica que no era una burbuja sino una tendencia, no desde la perspectiva de la relevancia que ya había tomado el software en cualquier sector para ser más competitivo, sino un cambio disruptivo con nuevos modelos de negocio que estaban desplazando a las empresas tradicionales.

Aunque nueve años no es mucho tiempo, hemos vivido en este período una transformación tecnológica sustancial. Muchas de las predicciones de Marc Andreessen se han confirmado, una profecía cumplida.  Hoy las cinco mayores empresas por capitalización en el S&P500 son tecnológicas con el software en el núcleo de su negocio (Apple, Microsoft, Amazon, Google y Facebook), indudablemente ha habido una disrupción.

Nueve años después estamos padeciendo otra crisis sin un precedente reciente, quizás nuestros bisabuelos nos podrían haber contado como fue la gripe de 1918.  No quiero imaginar cómo habría sido sin Netflix, sin Amazon, sin los memes de WhatsApp, sin Zoom o sin Teams.  Si esta pandemia hubiera ocurrido hace 20, incluso 10 años atrás, el impacto habría sido mucho mayor para la industria, para la economía en general y por supuesto en el ámbito social y personal.

Sectores de la industria que principalmente basan su negocio en lo que se ha dado en llamar la “sociedad de la información o conocimiento” no se han visto tan impactados por esta situación. Las corporaciones que tienen su modelo de negocio adaptado al contexto digital han sido capaces de mantener el día a día de sus operaciones, establecer un vínculo estrecho con clientes, proveedores y empleados, han sido capaces de crecer y mejorar resultados en esta situación adversa, podemos volver a mencionar a los Amazon, Netflix, Zoom, Shopify y un largo etcétera. Pero también estamos viendo que hay muchos negocios y sectores que no pueden actuar de la misma manera, algunos por sus características y el tipo de restricciones impuestas lo hace imposible y otros por no estar preparados tecnológicamente. La tecnología para transformar la industria mediante el software ha demostrado que funciona y que está desplegada a escala global, ahora es posible comunicarnos con clientes desde cualquier lugar, compartir la información necesaria para tomar decisiones, cerrar transacciones y avanzar con operaciones y proyectos.

  • Una certeza en este contexto de incertidumbre casi total es que cualquier iniciativa de digitalización que una empresa tuviera en curso se va a ver acelerada.  Los presupuestos en TI se van a ver incrementados en 4 % de acuerdo con la encuesta que para identificar sus prioridades organizativas y tecnológicas cada año. Las empresas que no tengan sus deberes de digitalización hechos tendrán que acelerar para no quedarse fuera de la carrera.
  • El cambio hacia lo digital para cualquier sector bien sea industria 4.0, smart infrastruture, telemedicina o automoción, contempla una mayor interacción y conectividad entre los distintos componentes y actores en la cadena de valor, componentes que antes eran independientes y ahora requieren de una interoperabilidad proporcionada por el software. La funcionalidad y valor añadido, fundamentalmente, está determinado por el software, cada vez menos por los elementos físicos, el hardware. El software es el engranaje que asegura la interoperabilidad de la cadena de valor y el valor está en la asegurar esa interoperabilidad.

Seguridad del sistema

En un entorno complejo en el que el software gobierna casi cada servicio que consumimos, la seguridad con la que se construye tiene un impacto determinante en la seguridad global de los sistemas.  La manera en la que se diseña y construye cada componente software debe hacerse de forma que nos dé garantía de que el sistema se comportará de una forma confiable, de acuerdo con unos criterios y normas para que no se vea comprometida nuestra seguridad o privacidad.

Somos testigos de cómo esta industria ha crecido y lo rápido que está evolucionando; se han definido metodologías y procesos ágiles, herramientas que permiten construir y desplegar software más rápidamente y de forma totalmente distribuida para dar respuesta a esta transformación tan acelerada de un mercado que demanda esa inmediatez y en el que normalmente prima la velocidad sobre el coste y en muchos casos también sobre la seguridad.  Sin embargo, todos los días no encontramos en las noticas de sistemas que han sido hackeados, información confidencial que ha sido expuesta, ciber-secuestros, sistemas críticos que se han caído y que paralizan negocios completamente. Para el consumidor y para las empresas que están acelerando su trayectoria hacia la digitalización, la seguridad es un aspecto cada vez más relevante y exigible a los fabricantes y proveedores de las infraestructuras y componentes que facilitan este cambio a lo digital.  Los proveedores deben de aportar soluciones confiables y mantenerlas acompasadas ante nuevas amenazas y retos de ciberseguridad.

  • Muchos de los incidentes de seguridad vienen determinados por un fallo conceptual en la fase de diseño, porque no se han contemplado atributos y características esenciales para la seguridad del producto y los ciberataques pueden explotar las vulnerabilidades resultado de un fallo en esa fase de diseño, comprometiendo la seguridad global de un sistema.  Es crítico comprender los niveles de seguridad requeridos para que un sistema sea confiable e implementar las medidas y controles necesarios para proteger el sistema de incidentes y amenazas que nos proporcione un nivel de confianza esperado. Para construir sistemas y servicios que sean resilientes y confiables es necesario establecer un enfoque sistemático a través del cual se consideren las mejoras prácticas de seguridad en el proceso de construcción a lo largo del todo el ciclo de vida, desde la fase de concepción de un componente hasta su despliegue y evolución.
  • El desarrollo de un componente software no se contempla de manera aislada, hay que considerar dependencias que tiene con otros componentes, la volatilidad de un entorno de operación distribuido con actualizaciones constantes, esto hace que los sistemas sean mucho más vulnerables, el perímetro en el que se pueden presentar los incidentes y amenazas de seguridad es extremadamente amplio en la configuración actual de las organizaciones y es necesario asegurar que cada componente en la cadena es seguro.
  • En este contexto el concepto de seguridad y privacidad está muy fragmentado, diferentes partes pueden contemplar la seguridad de manera diferente, si no se dispone de una visión completa y de un entendimiento común, se puede incurrir en fallas de seguridad que expongan al sistema a vulnerabilidades que pueden ser explotadas por un ciberataque.

Desafíos de ciberseguridad

Desde la plataforma de Systems and Software Lifecycle Innovation (SLI) del Área de Negocio en TrustTech estamos trabajando en una propuesta de valor para desarrollar e innovar en un marco metodológico con el objetivo de abordar los desafíos de ciberseguridad como complemento al ciclo de vida de desarrollo software y sistemas.  Esta es una demanda del mercado que no está siendo adecuadamente atendida, muchas empresas no disponen de las capacidades y mecanismos para abordar el desarrollo de un componente software que sea seguro y cumpla con unos niveles de fiabilidad y normativas de seguridad requeridas por distintas industrias.

Mediante la definición de un ciclo vida de desarrollo seguro pretendemos hacer explícitas y detallar las prácticas, métodos y herramientas de seguridad que deben integrarse como parte del proceso de construcción del software, independientemente del enfoque de desarrollo que se esté utilizando.

La mayor parte de los controles y medidas de seguridad pueden acometerse en diferentes fases y momentos del ciclo de vida de una solución, pero en general, si se consideran desde la fase de concepción del producto, teniendo en cuenta los requisitos de seguridad en el diseño y se garantiza que se implementan en su desarrollo, el impacto y coste siempre será menor que responder, de forma defensiva a un incidente de seguridad o ciberataque una vez la solución esté operativa en producción.

  • Nuestro énfasis es centrarnos en las fases iniciales del ciclo de desarrollo. Un producto software que es capaz de resistir y no ver afectado su funcionamiento ante una serie de ataques, que hemos identificado previamente, y hemos tenido en cuenta en fase de diseño y construcción define su nivel de seguridad. Si hay amenazas que conocemos y no consideramos en la construcción del producto, asumimos las vulnerabilidades y el nivel de riesgo que estas pueden suponer.
  • Nuestro enfoque se resume en establecer el nivel de tolerancia al riesgo que se está dispuesto a asumir, que puede estar determinado por una exigencia del fabricante o puede venir impuesto por una normativa con unos requisitos específicos de seguridad de una industria concreta, como puede ser automación, salud o aeronáutico, y consiguientemente el producto software debe cumplir, si se pretende apostar por ese sector de la industria. Construir un producto software seguro indudablemente tiene un coste añadido, pero construir un producto vulnerable a un ciberataque tiene un coste aún mayor, la cuestión está en el riesgo de presente asumir de una forma consciente y controlada. Un producto seguro viene definido por su resiliencia ante un riesgo conocido.

En el mercado existen numerosos modelos, metodologías, estándares, recomendaciones y normas de seguridad, privacidad o de “functional safety” en los casos que haya riesgo para la seguridad de personas y para distintos sectores de la industria.  Hay un amplio e intrincado panorama de estándares y los niveles de exigencia son altos para sectores altamente regulados.  Conseguir una compresión completa en este contexto es una tarea ardua para muchas empresas.

Desde la plataforma de SLI pretendemos ofrecer una visión simplificada de esta combinación de estándares y facilitar su adopción en las actividades de desarrollo para conseguir que los dispositivos y el software que se construyan cumplan con los controles de seguridad necesarios y alcanzar el nivel de confianza esperado. Proponemos un enfoque sistemático, basado en la mejores prácticas y métodos, que consideren patrones de amenazas y retos de seguridad, en el que se contemple de forma explícita y en detalle la seguridad estableciendo un conjunto de guías y recomendaciones para el diseño y desarrollo de un software seguro integradas con el resto de las actividades de desarrollo. A través del ciclo de desarrollo seguro se establece un marco de trabajo que se pueda adaptar las características de distintos contextos y que guie a los equipos en el proceso asegurando que los requisitos y controles de seguridad son implementados, abstrayendo a los equipos del cumplimiento y complejidad de estándares y normativas.

Cada vez se está tomando más conciencia por parte de los consumidores y de industria de la importancia de usar un producto que se haya construido de acuerdo a unos criterios de confiabilidad y que no vulnere nuestra seguridad o privacidad, las instituciones también están actuando en esta línea, en Euskadi el Basque Cyber Security Center tiene como misión promover y desarrollar una cultura de ciberseguridad en la sociedad, además de ser un centro de respuesta CERT.

Esquemas de certificación de ciberseguridad

También se están promoviendo esquemas de certificación de ciberseguridad por la Comisión Europa a través de ENISA con el “Cybersecurity Certification: EUCC Candidate Scheme” y en Estados Unidos el departamento de defensa con la participación de ISACA han desarrollado el “Cybersecurity Maturity Model Certification” basado en el modelo de madurez CMMI, exigible a los proveedores que quieran optar a las licitaciones del Departamento de Defensa Americano.

El propósito de estos esquemas de certificación es poder evaluar de forma objetiva, con respecto a unos criterios harmonizados de ciberseguridad el nivel de confianza de un producto y de las organizaciones que desarrollan esos productos. Eventualmente estas certificaciones se convertirán en un requisito del mercado que los fabricantes deberán de asumir, suponiendo una complejidad añadida en un mercado ya muy exigente. El uso de ciclo de desarrollo seguro facilitará el cumplimiento de los criterios requeridos para conseguir la certificación correspondiente, con un enfoque que sea flexible y que se pueda adaptar a un contexto concreto de acuerdo con los niveles de exigencia y el perfil de riesgo en cada caso, de forma que la empresa se pueda centrar en el desarrollo de producto sin que suponga una carga añadida que impacte en su competitividad y capacidad de innovación.

  • Nuestro objetivo es consolidar las mejores prácticas de seguridad, donde se harmonicen criterios comunes de los distintos estándares y modelos de la industria, eliminando solapamientos para integrarlos como parte del proceso de desarrollo de software; que ayude a establecer un lenguaje que promueva un entendimiento común en un contexto en el cual los conceptos de seguridad están tan muy segmentados; que pueda abstraer a los implicados en el desarrollo de la complejidad de las distintas normativas, y minimizar el impacto en un proceso de certificación y compliance.
  • Es indudable que el “software is eating the world”, que está cada vez más presente en nuestras vidas para facilitar muchas de nuestras labores y en una situación tan complicada como la actual, que requiere de un distanciamiento nos mantiene cerca de las personas que necesitamos, en el plano profesional y en el personal.  Asumimos que el nivel de penetración del software en todos los sectores de la economía, en la sociedad y en nuestras vidas irá en aumento: estamos presenciando el arranque en el despliegue de las redes 5G, que proporcionará la infraestructura para la implantación de ecosistemas de IoT; cada dispositivo tendrá mayores capacidades de intromisión a través de la Inteligencia Artificial, con mayor impacto ante un posible fallo de seguridad o un ciberataque.

El software es intangible, solo se manifiesta a través de la funcionalidad que usamos y percibimos, no hay manera de comprobar como usuario, si el software está actuando de manera maliciosa, si es intrusivo en nuestra privacidad o si ha sido construido libre de vulnerabilidades que puedan impactar en nuestra seguridad.

Debemos demandar que se incorporen y regulen los controles de ciberseguridad en los productos que proporciona en la industria del software para disponer como consumidores de un nivel de confiabilidad del que ahora carecemos. Desde la plataforma SLI orientada la innovación en mejores prácticas de desarrollo software pretendemos contribuir junto con la industria a este propósito.

Sobre José Arias Marín

Forma parte del equipo de TrustTech en el área de ICT de TECNALIA; su actividad principal se centra en estudio y desarrollo de modelos, métodos y herramientas relacionados la mejora procesos y calidad en ámbito de la ingeniería del software.

Anteriormente, ha trabajado en diferentes empresas relacionadas con el sector de la tecnología de la información para empresas de servicios y de desarrollo de producto en Borland, Indra, Tirea, Seer Technologies, Informa y Autodesk, asumiendo responsabilidades en el campo técnico y de gestión participando en proyectos para numerosos clientes.

Dejar un comentario

* Campos obligatorios