La Marina USA está buscando socios privados para la investigación y el desarrollo de su tecnología propietaria para la seguridad basada en blockchain llamada PARANOID.
Se trata de una solución para proteger el software que gestiona la supply chain, y que aprovecha la blockchain para garantizar la seguridad de los entornos de desarrollo de software y para verificar el software terminado.
Por ahora es todavía solo un prototipo (TRL5), y está constituido por una infraestructura blockchain basada en Hyperledger, una aplicación servidor, un plug-in para Visual Studio y Visual Studio Code y una aplicación de verificación del software offline.
«`htmlSummary
Marina USA: La apertura a los privados del proyecto blockchain Paranoid
«`Según lo informado en el comunicado de prensa difundido hace pocos días, la Marina está buscando colaborar con la industria privada para el desarrollo de este software que permite la trazabilidad y la demostrabilidad en el desarrollo del software.
El software se ha convertido en una parte integral tanto de los aviones militares como de los vehículos y los sistemas de armas, por lo que se necesita una solución que garantice una cadena de suministro segura del software. Por este motivo se ha desarrollado Paranoid.
Ahora el objetivo de la Marina sería incluso comercializar esta innovación, aunque originalmente Paranoid se desarrolló solamente para apoyar el desarrollo seguro en particular de software aeronáutico para los programas aeronáuticos de la Naval Aviation Enterprise (NAE).
Esta solución, sin embargo, en teoría es aplicable a cualquier organización o empresa que necesite plena trazabilidad con demostrabilidad cierta para el desarrollo de software, de modo que se puedan prevenir ataques que podrían ocurrir durante el propio desarrollo.
Paranoid está disponible para las empresas privadas a través de TechLink, socio nacional para la transferencia tecnológica del Departamento de Defensa, pero la Marina también ofrece a los desarrolladores privados un acuerdo cooperativo de investigación y desarrollo (CRADA) que permite la colaboración entre entidades gubernamentales y empresas privadas.
El senior technology manager de TechLink, Nida Shaikh, ha declarado:
«`html«Un socio CRADA ideal sería una empresa interesada en desarrollar una solución para proteger la supply chian del software. Esto incluiría empresas en el campo del desarrollo de software que estarían dispuestas a instalar y probar PARANOID para retroalimentación y escalabilidad.»
Qué es Paranoid
«`Esta nueva tecnología ha sido inventada por la NAWCAD, es decir, la Aircraft Division del Naval Air Warfare Center de Lakehurst, en Nueva Jersey.
El problema a resolver era la verificación de la seguridad en todos los pasos del proceso de desarrollo del software, desde la creación y modificación del código fuente bruto hasta la compilación del mismo, hasta la creación de una aplicación final y su envío al usuario final.
El hecho es que cada uno de estos pasos contiene en teoría innumerables oportunidades para lanzar ataques informáticos, tanto desde dentro como desde fuera, como por ejemplo insertar a escondidas código malicioso o intercambiar un archivo por otro.
El método PARANOID resuelve el problema garantizando la integridad del software durante todo su ciclo de vida gracias a la blockchain.
El prototipo ya existente, en función en el llamado Technology Readiness Level 5 (TRL5), se integra con entornos de desarrollo open source ya existentes, como Visual Studio y Visual Studio Code, y vincula las acciones de los desarrolladores a transacciones blockchain.
Según los inventores de PARANOID, esta metodología en blockchain ha demostrado ser un enfoque viable para apoyar una trazabilidad exhaustiva y una fuerte demostrabilidad de la integridad del sistema de desarrollo para software de misión crítica.
La ventaja es que la blockchain es un registro inalterable y consultable por todos, directamente y sin intermediarios. Cualquier alteración de los bloques sería inmediatamente detectada.
Todos los ordenadores participantes tienen una copia de este registro, para poder verificarla sin tener que recurrir a intermediarios, y todas las transacciones se verifican y actualizan según el protocolo público.
Con PARANOID, cada desarrollo de un software crítico es una transacción en blockchain, por lo tanto, cualquier modificación imprevista u otros ataques informáticos se detectan de inmediato.
El objetivo es prevenir eficazmente las modificaciones no autorizadas del código fuente, pero también la sustitución o la inserción no autorizada de archivos, objetos, ejecutables y paquetes de prueba.
La blockchain más allá de las criptomonedas
El primer ejemplar de blockchain pública y descentralizada apareció en enero de 2009 con la minería del primer bloque de Bitcoin, a cargo de Satoshi Nakamoto.
Inicialmente esta tecnología se utilizaba solamente en el ámbito de las criptovalute, pero posteriormente se dieron cuenta de que sus características la hacían excelente también para otros tipos de uso, entre los cuales, por ejemplo, también los NFT.
En específico, una blockchain pública y descentralizada resulta ser inatacable e inmodificable, porque cualquiera puede verificar en primera persona que todas las transacciones sean correctas.
En el caso de Paranoid, sin embargo, no se utiliza una blockchain pública, por razones obvias, sino una DLT permissioned (Hyperledger) que, sin embargo, desempeña un papel muy similar.
De hecho, cualquiera que trabaje en los software gestionados con Paranoid tendrá acceso directo a la chain de las transacciones del software, de modo que pueda verificar en primera persona y sin intermediarios que todas las transacciones resulten ser correctas.
Es imaginable que haya diferentes niveles de acceso, y que los datos de diferentes software no se compartirán incluso entre los diferentes equipos de desarrollo, y dado que Paranoid ya está en uso en el TRL5 es imaginable que esta tecnología funcione efectivamente bien.
Hay que recordar que no es necesario registrar el código mismo en la blockchain, sino que es suficiente registrar un hash de validación del código de manera que desde el hash no se pueda de ninguna manera rastrear el código, pero que se pueda utilizar con certeza absoluta para validarlo, así de poder verificar en primera persona y sin intermediarios que el software que se está utilizando corresponde exactamente al certificado en blockchain.