Accueil Génie logiciel Synergie entre les disciplines de l’ingénierie : logiciels, cybersécurité et IA

Synergie entre les disciplines de l’ingénierie : logiciels, cybersécurité et IA

0
Synergie entre les disciplines de l’ingénierie : logiciels, cybersécurité et IA


Synergie entre logiciel, la cyber-sécuritéet intelligence artificielle (IA) les disciplines d’ingénierie permettront de futures missions critiques dans les domaines de la défense, de la sécurité nationale et d’autres domaines. Les missions du futur seront caractérisées par une planification et une exécution multidomaines, des opérations en temps réel dans des environnements dynamiques, un vaste contexte mondial dans un monde de plus en plus interconnecté et la nécessité d’interfaces homme-machine adaptatives pour gérer la complexité et répondre aux besoins. opportunité. L’Institut de génie logiciel de l’Université Carnegie Mellon (CMU SEI) estime qu’une confluence de progrès dans ces disciplines soutiendra un cycle de vie automatisé et sécurisé des logiciels, y compris la chaîne d’approvisionnement.

Dans cet article de blog, je passe en revue les origines et les interactions des disciplines d’ingénierie des logiciels, de la cybersécurité et de l’IA et j’expose comment leurs interrelations contribueraient aux systèmes intelligents du futur.

Les disciplines d’ingénierie pour les logiciels, la cybersécurité et l’IA sont à différents stades de développement

Le génie logiciel est devenu une discipline éprouvée au fil de plusieurs décennies. Le gouvernement américain a créé le SEI en 1984 pour faire progresser la pratique du génie logiciel, et depuis lors, nous avons dirigé le développement d’éléments cruciaux du génie logiciel, notamment réduction des risques liés à l’architecture logiciellenon fonctionnel attributs de qualitéet modélisation architecturale. Les pratiques d’ingénierie logicielle, développées, éprouvées, mûries et codifiées au fil de nombreuses années, favorisent l’amélioration tout au long du cycle de vie des logiciels, depuis la conception et le développement jusqu’aux tests et à l’assurance. Grâce en grande partie à la transition généralisée de pratiques d’ingénierie logicielle efficaces vers une utilisation courante, les systèmes dépendants des logiciels d’aujourd’hui sont de plus en plus abordables, fiables et évolutifs, et parviennent à atteindre leurs objectifs de performances requis dans les produits livrés.

L’ingénierie de la cybersécurité est plus récente, datant à peu près du Ver Morris incident survenu en 1988, qui a incité Agence des projets de recherche avancée de défense (DARPA) pour financer la création du Centre de Coordination du CERT (CERT/CC, désormais Division CERT) au SEI. S’appuyant sur les connaissances acquises dans le domaine du génie logiciel, la cybersécurité consolide désormais les outils et les analyses utilisés aux étapes du cycle de vie du développement logiciel pour garantir des résultats opérationnels efficaces. Il réduit les failles de sécurité grâce, par exemple, à codage sécurisé les pratiques; atténue les menaces et y répond ; augmente connaissance de la situation du réseau; et permet au assurance des logiciels et systèmes d’information critiques.

L’intelligence artificielle a été conçue pour la première fois dans les années 1950. Carnegie Mellon est à l’avant-garde de l’IA depuis sa collaboration à la création du premier programme informatique d’IA, Théoricien de la logique, en 1956. Il a également créé peut-être le premier département d’apprentissage automatique (ML), étudiant comment les logiciels peuvent faire des découvertes et apprendre avec l’expérience. Carnegie Mellon Institut de robotique est un leader dans la capacité des machines à percevoir, décider et agir dans le monde, notamment au sein d’un groupe renommé de vision par ordinateur qui explore la manière dont les ordinateurs peuvent comprendre les images. Comme cela s’est produit dans les disciplines du génie logiciel et de l’ingénierie de la cybersécurité, les pratiques et applications de l’IA évoluent désormais depuis leurs origines artisanales, pratiquées par des pionniers talentueux. Nous assistons aujourd’hui à une explosion d’applications scientifiques et commerciales de l’IA créées par des artisans qualifiés appliquant des procédures et des pratiques de développement de plus en plus bien établies. Une discipline de l’ingénierie de l’IA est en train d’émerger, qui sera pratiquée par des professionnels instruits et caractérisée par une analyse et une théorie validées et fondées sur la recherche. Cette discipline guidera la création de systèmes d’IA qui sont robuste et sécurisé, évolutif, digne de confianceet surtout, centré sur l’humain. L’ingénierie de l’IA s’appuie sur des bases solides en matière d’ingénierie logicielle et de cybersécurité, sans lesquelles les progrès dans ce domaine ne seraient pas possibles.

Si les disciplines d’ingénierie des logiciels, de la cybersécurité et de l’IA sont utilisées ensemble, les systèmes résultants pourraient réduire les risques dans la chaîne d’approvisionnement, le pipeline de développement de logiciels/données et l’exploitation. Les travaux de recherche et de développement du SEI étudient l’interaction de ces disciplines.

Génie logiciel pour les systèmes d’IA

La feuille de route des études et des recherches menées par le SEI Architecter l’avenir du génie logiciel : un programme national pour la recherche et le développement en génie logiciel appelle à des pratiques validées empiriquement et à des méthodes, outils et pratiques de vérification pour concevoir des logiciels compatibles avec l’IA. Parmi les projets de recherche du SEI visant à fournir des méthodes de vérification, il y en a un détecter et éviter automatiquement les incohérences entre les hypothèses et les décisions qui créent des retards, des retouches et des échecs dans le développement, le déploiement et l’évolution des systèmes compatibles ML.

En outre, une collaboration pluriannuelle entre les chercheurs du SEI, de Georgia Tech, de l’Université d’État du Kansas, de Galois et d’Adventium Labs développe une architecture des outils pour analyser l’impact des fonctions d’IA sur l’assurance des systèmes critiques pour la sécurité.

IA pour le génie logiciel

L’étude SEI Architecter l’avenir du génie logiciel : un programme national pour la recherche et le développement en génie logiciel note que « l’IA et d’autres capacités automatisées permettront aux développeurs de mieux effectuer leurs tâches et avec une qualité et une précision accrues ».

Un domaine pour améliorer les tâches des développeurs réside dans le nécessaire refactorisation, souvent à grande échelle, du code logiciel. Les chercheurs du SEI, en collaboration avec des experts de la CMU et d’autres universités, ont développé un outil pour automatiser l’isolation de la grande majorité des connexions qui doivent être modifiés pour que le système évolue rapidement et de manière rentable.

Un autre domaine dans lequel les chercheurs du SEI appliquent l’IA aux tâches des développeurs automatisation de la réparation du code. Ce travail, entrepris avec des collaborateurs gouvernementaux, consiste à développer des outils automatisés de transformation du code source pour remédier aux vulnérabilités du code causées par des violations des règles du Normes de codage sécurisé CERT.

Le Architecter l’avenir du génie logiciel une étude note également que l’IA peut aider reconstruction de l’architecture logicielle pour la modernisation des systèmes existants, un domaine pertinent dans le DoD qui dépend des systèmes établis.

Génie logiciel pour la cybersécurité

En juin 2023, le SEI a organisé le Conférence sur les logiciels sécurisés dès la conception encourager la collaboration en vue d’améliorer l’état d’une approche holistique de développement sécurisé. Les participants ont discuté de la modélisation des menaces, du développement des exigences de sécurité, des architectures logicielles sécurisées, du DevSecOps, des plates-formes et pipelines de développement sécurisés, de l’assurance logicielle, des pratiques de codage sécurisées, des tests logiciels et d’autres sujets.

L’une des présentations a examiné le Cadre de sécurité des acquisitions pour la gestion des risques de la chaîne d’approvisionnement dans le cadre du concept de nomenclature logicielle (SBOM). L’exposé a décrit le potentiel de l’utilisation d’un SBOM correctement intégré dans les processus et pratiques efficaces de gestion des cyber-risques et a présenté le Cadre SEI SBOM de pratiques de gestion des vulnérabilités et des risques des logiciels tiers.

Cybersécurité pour le génie logiciel

Au cours de la création d’outils pour le priorisation automatisée des alertes d’analyse statiqueles chercheurs du SEI ont développé l’environnement de cadre intégré d’analyse du code source (SCAIFE) interface de programmation d’applications (API). Architecture de classification et de priorisation des alertes d’analyse statique, le SCAIFE intègre une grande variété d’outils d’analyse statique utilisant l’API. L’API est pertinente pour les organisations qui développent ou recherchent des outils, des agrégateurs et des cadres d’audit d’alertes d’analyse statique. S’appuyant sur cet ensemble de travaux, les chercheurs du SEI proposent, dans le cadre d’une recherche récemment lancée, de créer un outil capable de réparer automatiquement 80 % des alertes dans 10 catégories de faiblesses du code.

Assurer la sécurité du système logiciel signifie également détecter les adversaires sur le réseau avant qu’ils ne puissent attaquer de l’intérieur grâce à la chasse aux cybermenaces. Malheureusement, cette approche est souvent coûteuse et prend du temps, sans parler des compétences particulières requises. Les chercheurs du SEI comblent ces lacunes en appliquer la théorie des jeux au développement d’algorithmes adaptés pour informer une capacité de chasse aux menaces entièrement autonome.

Cybersécurité pour l’IA

La fiabilité est la clé de l’acceptation des résultats produits par les systèmes d’IA. Les systèmes utilisant le ML sont sensibles aux attaques qui rendent ces résultats moins fiables. La recherche SEI aborde les problèmes liés au formation sécurisée des systèmes ML. Dans ce travail collaboratif avec la CMU, une équipe s’assure qu’un système ML n’apprend pas la mauvaise chose pendant la formation (par exemple, un empoisonnement des données), ne fait pas la mauvaise chose pendant le fonctionnement (par exemple, des exemples contradictoires) ou ne révèle pas la mauvaise chose pendant le fonctionnement. (par exemple, inversion de modèle ou inférence d’appartenance). Pour soutenir cette recherche, l’équipe a créé le site accessible au public Baie de juin cadre pour automatiser la formation, l’évaluation et la comparaison de plusieurs modèles avec plusieurs ensembles de données.

L’IA pour la cybersécurité

L’utilisation de l’IA et du ML pour la cybersécurité, par exemple dans la détection des anomalies, permet une analyse et une réponse plus rapides que ce que la seule puissance humaine peut fournir. Au SEI Évaluation de la défense par l’intelligence artificielle Dans le cadre du projet, financé par l’Agence de cybersécurité et de sécurité des infrastructures (CISA) du ministère de la Sécurité intérieure, une équipe développe un moyen de tester les défenses de l’IA. Lors des premiers travaux, l’équipe de recherche a créé un environnement virtuel représentant un réseau d’entreprise typique et a utilisé le système développé par SEI. Cadre FANTÔMES pour simuler les comportements des utilisateurs et générer un trafic réseau réaliste.

Les chercheurs cherchent également des moyens de améliorer l’utilisation humaine des résultats du système d’IA, y compris, mais sans s’y limiter, ceux relatifs à la cybersécurité. Cette recherche développe le système d’évaluation des décisions Human-AI, un harnais de test pour étudier la prise de décision humaine assistée par l’IA dans une variété d’environnements de simulation. L’équipe de recherche a intégré le harnais dans des environnements de jeu pour observer l’effet des systèmes d’aide à la décision de l’IA sur les résultats du jeu.

Comment soutenir l’évolution des systèmes intelligents du futur

Alors que les disciplines du logiciel, de la cybersécurité et de l’ingénierie de l’IA convergent et s’échangent, SEI a hâte de tirer des enseignements des projets pilotes au sein de la communauté du développement de logiciels sur les réussites et les défis rencontrés par les développeurs et les utilisateurs. Les résultats des applications concrètes dans les exercices nous montreront où émergent les problèmes qui nécessitent des recherches et des développements supplémentaires.

Les programmes d’études du premier cycle et des cycles supérieurs, ainsi que la formation continue et le développement professionnel, doivent continuer d’évoluer pour suivre le rythme des développements rapides de la pratique que j’ai décrits dans cet article. Les programmes d’études, les certificats et les certifications contribueront grandement à promouvoir l’intégration de l’IA avec l’ingénierie logicielle et de cybersécurité, en éliminant une partie du mystère du métier et en professionnalisant la maturation de pratiques et d’applications éprouvées et fiables. Le SEI a contribué à l’établissement de programmes d’études en génie logiciel et en ingénierie de la cybersécuritéet nous prévoyons d’appliquer notre expérience au domaine de l’ingénierie de l’IA à l’avenir.

Les missions futures auront besoin de systèmes intelligents technologiquement avancés et conçus qui peuvent évoluer rapidement et gracieusement pour s’adapter à différents environnements, générer des données pour répondre dynamiquement aux conditions changeantes et évoluer avec de nouveaux paramètres de mission (c’est-à-dire, systèmes cyber-physiques piloté par l’intelligence). Grâce à la combinaison synergique de logiciels, de cybersécurité et d’ingénierie de l’IA, ces systèmes intelligents, résilients et évolutifs seront capables d’évoluer, de s’adapter en temps réel, et de générer et utiliser des données pour répondre à leurs environnements. La réduction du profil de risque de ces systèmes donnera à leurs utilisateurs une plus grande confiance, facteurs critiques chaque fois que l’IA est ajoutée aux fonctionnalités des systèmes critiques.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici