Suivez nous sur

Des leaders d'opinion

Améliorer la sécurité du code : les avantages et les risques liés à l'utilisation des LLM pour la détection proactive des vulnérabilités

mm

Publié le

 on

Dans le paysage dynamique de cybersécurité, où les menaces évoluent constamment, il est essentiel de garder une longueur d'avance sur les vulnérabilités potentielles du code. Une voie prometteuse est l’intégration de l’IA et grands modèles linguistiques (LLM). L'exploitation de ces technologies peut contribuer à la détection précoce et à l'atténuation des vulnérabilités des bibliothèques non découvertes auparavant, renforçant ainsi la sécurité globale des applications logicielles. Ou comme nous aimons le dire, « trouver les inconnues inconnues ».

Pour les développeurs, l’intégration de l’IA pour détecter et réparer les vulnérabilités logicielles a le potentiel d’augmenter la productivité en réduisant le temps passé à rechercher et à corriger les erreurs de codage, les aidant ainsi à atteindre « l’état de flux » tant souhaité. Cependant, certains éléments doivent être pris en compte avant qu’une organisation n’ajoute des LLM à ses processus.

Libérer le flux

L’un des avantages de l’ajout de LLM est l’évolutivité. L'IA peut générer automatiquement des correctifs pour de nombreuses vulnérabilités, réduisant ainsi l'arriéré de vulnérabilités et permettant un processus plus rationalisé et accéléré. Ceci est particulièrement utile pour les organisations aux prises avec une multitude de problèmes de sécurité. Le volume des vulnérabilités peut submerger les méthodes d’analyse traditionnelles, entraînant des retards dans la résolution des problèmes critiques. Les LLM permettent aux organisations de remédier de manière globale aux vulnérabilités sans être freinées par des limitations de ressources. Les LLM peuvent fournir un moyen plus systématique et automatisé de réduire les failles et de renforcer la sécurité des logiciels.

Cela conduit à un deuxième avantage de l’IA : l’efficacité. Le temps presse lorsqu’il s’agit de trouver et de corriger les vulnérabilités. L'automatisation du processus de correction des vulnérabilités logicielles permet de minimiser la fenêtre de vulnérabilité pour ceux qui espèrent les exploiter. Cette efficacité contribue également à des économies considérables de temps et de ressources. Ceci est particulièrement important pour les organisations disposant de bases de code étendues, leur permettant d’optimiser leurs ressources et de répartir leurs efforts de manière plus stratégique.

La capacité des LLM à se former sur un vaste ensemble de données de code de sécurité crée le troisième avantage : la précision de ces correctifs générés. Le bon modèle s'appuie sur ses connaissances pour fournir des solutions conformes aux normes de sécurité établies, renforçant ainsi la résilience globale du logiciel. Cela minimise le risque d’introduire de nouvelles vulnérabilités pendant le processus de correction. MAIS ces ensembles de données peuvent également présenter des risques.

Naviguer dans la confiance et les défis

L’un des plus gros inconvénients de l’intégration de l’IA pour corriger les vulnérabilités logicielles est la fiabilité. Les modèles peuvent être formés sur le code malveillant et apprendre des modèles et des comportements associés aux menaces de sécurité. Lorsqu'il est utilisé pour générer des correctifs, le modèle peut s'appuyer sur ses expériences apprises, proposant par inadvertance des solutions susceptibles d'introduire des vulnérabilités de sécurité plutôt que de les résoudre. Cela signifie que la qualité des données d'entraînement doit être représentative du code à corriger ET exempte de code malveillant.

Les LLM peuvent également avoir le potentiel d'introduire biais dans les correctifs qu'ils génèrent, conduisant à des solutions qui peuvent ne pas englober tout le spectre des possibilités. Si l’ensemble de données utilisé pour la formation n’est pas diversifié, le modèle peut développer des perspectives et des préférences étroites. Lorsqu'il est chargé de générer des correctifs pour les vulnérabilités logicielles, il peut privilégier certaines solutions par rapport à d'autres en fonction des modèles définis lors de la formation. Ce biais peut conduire à une approche centrée sur les correctifs qui néglige potentiellement les résolutions non conventionnelles mais efficaces des vulnérabilités logicielles.

Bien que les LLM excellent dans la reconnaissance de formes et la génération de solutions basées sur des modèles appris, ils peuvent échouer lorsqu'ils sont confrontés à des défis uniques ou nouveaux qui diffèrent considérablement de leurs données de formation. Parfois, ces modèles peuvent même «halluciner» générant de fausses informations ou un code incorrect. L'IA générative et les LLM peuvent également être difficiles en ce qui concerne les invites, ce qui signifie qu'un petit changement dans ce que vous saisissez peut conduire à des sorties de code très différentes. Des acteurs malveillants peuvent également profiter de ces modèles, en utilisant des injections rapides ou des formations. empoisonnement des données pour créer des vulnérabilités supplémentaires ou accéder à des informations sensibles. Ces questions nécessitent souvent une compréhension contextuelle approfondie, des compétences de pensée critique complexes et une conscience de l’architecture du système dans son ensemble. Cela souligne l’importance de l’expertise humaine pour orienter et valider les résultats et pourquoi les organisations devraient considérer les LLM comme un outil permettant d’augmenter les capacités humaines plutôt que de les remplacer entièrement.

L’élément humain reste essentiel

La surveillance humaine est essentielle tout au long du cycle de vie du développement logiciel, en particulier lors de l’exploitation de modèles d’IA avancés. Alors que IA générative et les LLM peuvent gérer des tâches fastidieuses, les développeurs doivent conserver une compréhension claire de leurs objectifs finaux. Les développeurs doivent être capables d'analyser les subtilités d'une vulnérabilité complexe, d'envisager les implications plus larges du système et d'appliquer leurs connaissances spécifiques au domaine pour concevoir des solutions efficaces et adaptées. Cette expertise spécialisée permet aux développeurs d'adapter des solutions qui s'alignent sur les normes de l'industrie, les exigences de conformité et les besoins spécifiques des utilisateurs, facteurs qui peuvent ne pas être entièrement capturés par les seuls modèles d'IA. Les développeurs doivent également effectuer une validation et une vérification méticuleuses du code généré par l’IA pour garantir que le code généré répond aux normes de sécurité et de fiabilité les plus élevées.

La combinaison de la technologie LLM avec des tests de sécurité présente une voie prometteuse pour améliorer la sécurité du code. Toutefois, une approche équilibrée et prudente est essentielle, reconnaissant à la fois les avantages et les risques potentiels. En combinant les atouts de cette technologie et l'expertise humaine, les développeurs peuvent identifier et atténuer de manière proactive les vulnérabilités, améliorant ainsi la sécurité des logiciels et maximisant la productivité des équipes d'ingénierie, leur permettant ainsi de mieux connaître leur état de flux.

Bruce Snell, stratège en cybersécurité, Qwiet IA, compte plus de 25 ans d'expérience dans le secteur de la sécurité de l'information. Son expérience comprend l'administration, le déploiement et le conseil sur tous les aspects de la sécurité informatique traditionnelle. Au cours des 10 dernières années, Bruce s'est diversifié dans le domaine de la cybersécurité OT/IoT (avec la certification GICSP), travaillant sur des projets tels que les tests d'intrusion automobiles, les oléoducs et gazoducs, les données des véhicules autonomes, l'IoT médical, les villes intelligentes et autres. Bruce a également été un conférencier régulier lors de conférences sur la cybersécurité et l'IoT, ainsi que conférencier invité à Wharton et à la Harvard Business School, et co-animateur du podcast primé « Hackable ?