La Marine USA cherche des partenaires privés pour la recherche et le développement de sa technologie propriétaire pour la sécurité basée sur blockchain appelée PARANOID.
Il s’agit d’une solution pour protéger le logiciel qui gère la supply chain, et qui utilise la blockchain pour garantir la sécurité des environnements de développement logiciel et pour vérifier le logiciel fini.
Pour l’instant, c’est encore seulement un prototype (TRL5), et il est constitué d’une infrastructure blockchain basée sur Hyperledger, une application serveur, un plug-in pour Visual Studio et Visual Studio Code et une application de vérification du logiciel hors ligne.
Summary
Marina USA : L’ouverture aux privés du projet blockchain Paranoid
Selon le communiqué de presse diffusé il y a quelques jours, la Marine cherche à collaborer avec l’industrie privée pour le développement de ce logiciel qui permet la traçabilité et la démontrabilité dans le développement du logiciel.
Le logiciel est désormais devenu une partie intégrante des avions militaires ainsi que des véhicules et des systèmes d’armes, il faut donc une solution qui garantisse une chaîne d’approvisionnement sécurisée du logiciel. Pour cette raison, Paranoid a été développé.
Maintenant, l’objectif de la Marina serait même de commercialiser cette innovation, bien que Paranoid ait été initialement développé uniquement pour soutenir le développement sécurisé en particulier des logiciels avioniques pour les programmes aéronautiques de la Naval Aviation Enterprise (NAE).
Cependant, cette solution est en théorie applicable à toute organisation ou entreprise ayant besoin d’une traçabilité complète avec une démonstrabilité certaine pour le développement de logiciels, afin de prévenir les attaques qui pourraient survenir pendant le développement lui-même.
Paranoid est disponible pour les entreprises privées via TechLink, partenaire national pour le transfert technologique du Département de la Défense, mais la Marine offre également aux développeurs privés un accord coopératif de recherche et développement (CRADA) qui permet la collaboration entre entités gouvernementales et entreprises privées.
Le senior technology manager de TechLink, Nida Shaikh, a déclaré :
« Un partenaire CRADA idéal serait une entreprise intéressée à développer une solution pour protéger la supply chian du logiciel. Cela inclurait des entreprises dans le domaine du développement logiciel qui seraient disposées à installer et tester PARANOID pour des retours d’information et l’évolutivité. »
Qu’est-ce que Paranoid
Cette nouvelle technologie a été inventée par la NAWCAD, c’est-à-dire la Division des aéronefs du Naval Air Warfare Center de Lakehurst, dans le New Jersey.
Le problème à résoudre était la vérification de la sécurité à toutes les étapes du processus de développement du logiciel, de la création et modification du code source brut à sa compilation, jusqu’à la création d’une application finale et à son envoi à l’utilisateur final.
Le fait est que chacun de ces passages contient en théorie d’innombrables opportunités pour lancer des attaques informatiques, tant de l’intérieur que de l’extérieur, comme par exemple insérer discrètement du code malveillant ou échanger un fichier avec un autre.
La méthode PARANOID résout le problème en garantissant l’intégrité du logiciel pendant tout son cycle de vie grâce à la blockchain.
Le prototype déjà existant, en fonction dans le soi-disant Technology Readiness Level 5 (TRL5), s’intègre avec des environnements de développement open source déjà existants, comme Visual Studio et Visual Studio Code, et lie les actions des développeurs à des transactions blockchain.
Selon les inventeurs de PARANOID, cette méthodologie sur blockchain a démontré être une approche viable pour soutenir une traçabilité exhaustive et une forte démonstrabilité de l’intégrité du système de développement pour les logiciels mission-critical.
L’avantage est que la blockchain est un registre inaltérable et consultable par tous, directement et sans intermédiaires. Toute altération des blocs serait immédiatement détectée.
Tous les ordinateurs participants détiennent une copie de ce registre, afin de pouvoir la vérifier sans avoir recours à des intermédiaires, et toutes les transactions sont vérifiées et mises à jour selon le protocole public.
Avec PARANOID, chaque développement d’un logiciel critique est une transaction sur blockchain, par conséquent, toute modification imprévue ou autre attaque informatique est détectée immédiatement.
L’objectif est de prévenir efficacement les modifications non autorisées du code source, mais aussi le remplacement ou l’insertion non autorisés de fichiers, objets, exécutables et paquets de test.
La blockchain au-delà des cryptomonnaies
Le premier exemple de blockchain publique et décentralisée est apparu en janvier 2009 avec le minage du premier bloc de Bitcoin, réalisé par Satoshi Nakamoto.
Initialement, cette technologie était utilisée uniquement dans le domaine des criptovalute, mais par la suite, on s’est rendu compte que ses caractéristiques la rendaient également excellente pour d’autres types d’utilisation, y compris par exemple les NFT.
En particulier, une blockchain publique et décentralisée s’avère être inattaquable et immuable, car tout le monde peut vérifier en personne que toutes les transactions sont correctes.
Dans le cas de Paranoid cependant, une blockchain publique n’est pas utilisée, pour des raisons évidentes, mais une DLT permissioned (Hyperledger) qui joue néanmoins un rôle très similaire.
En effet, quiconque travaillera sur les logiciels gérés avec Paranoid aura un accès direct à la chaîne des transactions du logiciel, afin de vérifier en personne et sans intermédiaires que toutes les transactions sont correctes.
Il est imaginable qu’il y ait différents niveaux d’accès, et que les données de différents logiciels ne seront pas partagées même entre les différentes équipes de développement, et étant donné que Paranoid est déjà utilisé dans le TRL5, il est imaginable que cette technologie fonctionne effectivement bien.
Il faut rappeler qu’il n’est pas nécessaire d’enregistrer le code lui-même sur la blockchain, mais il suffit d’enregistrer un hash de validation du code de manière à ce qu’il soit impossible de remonter au code à partir du hash, mais qu’il puisse être utilisé avec une certitude absolue pour le valider, afin de pouvoir vérifier personnellement et sans intermédiaires que le logiciel que l’on utilise correspond exactement à celui certifié sur la blockchain.