Tribunes

Repenser la cybersécurité à l'ère du « logiciel instantané »

Repenser la cybersécurité à l'ère du « logiciel instantané »
L’arrivée de logiciels générés par IA pour des besoins éphémères est-il un avantage pour les cyber-assaillants ou les défenseurs ? Pour Bruce Schneier, la balance penche plutôt en faveur des seconds. (Photo : Geoffrey Stone)

Avec les progrès de l'IA, l'essor des solutions logicielles créées en un instant, personnalisées et souvent éphémères va bouleverser la dynamique de la gestion des vulnérabilités. Et, par conséquent, l'affrontement entre cyber-assaillants et défenseurs, souligne le spécialiste de la cryptographie et auteur Bruce Schneier.

PublicitéL'IA transforme rapidement la façon dont les logiciels sont conçus, déployés et utilisés. Les tendances actuelles laissent entrevoir un avenir où les IA pourront créer des logiciels sur mesure rapidement et facilement : des « logiciels instantanés ». À l'extrême, il pourrait devenir plus simple pour un utilisateur de faire créer une application à la demande par une IA - un tableur, par exemple - et de la supprimer une fois son utilisation terminée, plutôt que d'en acheter une dans le commerce. Les systèmes futurs pourraient combiner des logiciels traditionnels conçus pour le long terme et des logiciels éphémères, constamment créés, déployés, modifiés et supprimés.

L'IA révolutionne également la cybersécurité. En particulier, les systèmes d'IA sont de plus en plus performants pour détecter et corriger les vulnérabilités du code. Cela a des implications tant pour les attaquants que pour les défenseurs, selon l'évolution de cette technologie et des technologies connexes.

Dans cette tribune, je souhaite adopter une vision optimiste des progrès de l'IA et imaginer à quoi pourrait ressembler une cybersécurité dominée par l'IA à l'ère des logiciels instantanés. Même si de nombreuses inconnues influenceront le déroulement de cette course à l'armement entre attaquants et défenseurs.

Comment la détection des failles pourrait fonctionner

Du côté des attaquants, la capacité des IA à trouver et exploiter automatiquement les vulnérabilités a considérablement augmenté ces derniers mois. On observe déjà des pirates informatiques, tant gouvernementaux que criminels, utiliser l'IA pour attaquer des systèmes. L'exploitation est ici cruciale, car elle confère à un attaquant novice des capacités bien supérieures à ce qu'il pourrait comprendre. À mesure que les IA progressent, il faut s'attendre à ce que de plus en plus d'attaquants automatisent leurs attaques grâce à cette technologie. Et comme les particuliers et les organisations peuvent de plus en plus exécuter localement des modèles d'IA puissants, le monitoring et la perturbation des utilisations malveillantes de l'IA par les entreprises spécialisées deviendront de moins en moins pertinentes.

Il faut s'attendre à ce que les logiciels open source, y compris les bibliothèques libres intégrées aux logiciels propriétaires, soient les plus ciblés, car les vulnérabilités sont plus faciles à trouver dans leur code source. La principale inconnue concerne l'efficacité des outils de détection de vulnérabilités par IA sur les logiciels commerciaux propriétaires. Je pense qu'ils seront bientôt suffisamment performants pour trouver des vulnérabilités en analysant simplement une copie d'un produit commercialisé, sans accès au code source. Si cette évolution se confirme, les logiciels commerciaux seront eux aussi vulnérables.

PublicitéLogiciels éphémères, réellement ?

Les logiciels embarqués dans les objets connectés (IoT), tels que les voitures, les réfrigérateurs et les caméras de sécurité, seront particulièrement vulnérables. Il en va de même pour les logiciels IoT industriels présents dans nos réseaux électriques, nos raffineries et oléoducs, nos usines chimiques, etc. Les logiciels IoT sont généralement de qualité bien inférieure, et ceux exploités dans les domaines industriels sont souvent anciens.

Les logiciels éphémères présentent une vulnérabilité différente. Ils ne sont pas destinés au grand public. Ils sont créés pour une personne, une organisation ou un réseau spécifique. L'attaquant n'a généralement pas accès au code source pour l'analyser, ce qui réduit la probabilité d'une exploitation par des attaquants externes. S'ils sont réellement éphémères, leurs vulnérabilités auront une durée de vie courte. Or, de nombreux logiciels éphémères restent longtemps sur les réseaux. Et s'ils sont uploadés pour être partagés au sein de bibliothèques d'outils, les attaquants pourront télécharger et analyser ce code.

Tout cela laisse présager un avenir où les IA deviendront de puissants outils de cyberattaque, capables de détecter et d'exploiter automatiquement les vulnérabilités de systèmes à l'échelle mondiale.

Automatisation de la création de correctifs

Mais ce n'est qu'une face de la course aux armements. Les équipes de défense peuvent également utiliser l'IA. Ces mêmes technologies de détection de vulnérabilités par IA sont encore plus précieuses pour la défense. Lorsqu'une vulnérabilité exploitable est découverte, l'équipe cyber peut corriger le code et le rendre inaccessible aux attaquants de façon permanente.

La mise en oeuvre pratique de ce mécanisme dépend d'une autre capacité essentielle : l'aptitude des IA à corriger les logiciels vulnérables, qui est étroitement liée à leur capacité à écrire du code sécurisé dès le départ.

Les IA sont encore loin d'être performantes dans ce domaine ; les logiciels qu'elles créent instantanément sont généralement truffés de vulnérabilités, à la fois parce qu'elles écrivent du code non sécurisé et parce que les développeurs qui les conçoivent ne maîtrisent pas les enjeux de la sécurité. OpenClaw en est un bon exemple.

Intégrer la détection de vulnérabilités par IA au développement

La deuxième inconnue concerne l'amélioration future des IA en matière de sécurité informatique. Le fait qu'elles soient entraînées sur d'immenses corpus de code mal écrit et non sécurisé constitue un handicap, mais elles progressent. Si elles parviennent à écrire du code exempt de vulnérabilités de manière fiable, ce serait un avantage considérable pour les équipes de cyberdéfense. Et la détection de vulnérabilités basée sur l'IA facilite l'apprentissage par une IA de l'écriture de code sécurisé.

On peut imaginer un avenir où les outils d'IA capables de détecter et de corriger les vulnérabilités feront partie intégrante du processus de développement logiciel. On ne peut pas affirmer que le code sera totalement exempt de vulnérabilités - c'est un objectif impossible à atteindre -, mais il pourrait être exempt de vulnérabilités facilement détectables. Avec des progrès significatifs, le code pourrait même devenir quasiment exempt de vulnérabilités.

Retards de correction et Legacy

Pour les nouveaux logiciels, qu'ils soient commerciaux ou à déploiement instantané, cet avenir est favorable aux équipes de sécurité. En revanche, pour les logiciels propriétaires et open source traditionnels, la situation est plus complexe. Le monde regorge de logiciels Legacy. Nombre d'entre eux, comme les logiciels pour IoT, ne disposent pas d'une équipe de sécurité dédiée à leur mise à jour. Parfois, ils sont même impossibles à corriger. De même qu'il est plus difficile pour les IA de détecter les vulnérabilités sans accès au code source, il est plus difficile pour elles de corriger les logiciels lorsqu'elles ne sont pas intégrées au processus de développement.

Je suis moins convaincu que les systèmes d'IA pourront corriger les vulnérabilités aussi facilement qu'ils les détectent, car la correction nécessite souvent des tests et une compréhension plus approfondis. C'est la troisième inconnue : la rapidité avec laquelle les IA pourront créer des mises à jour logicielles fiables pour les vulnérabilités qu'elles identifient, et la rapidité avec laquelle les clients pourront mettre à jour leurs systèmes.

Aujourd'hui, il existe un délai entre la publication d'un correctif par un fournisseur et son installation par les clients. Ce délai est encore plus long pour les logiciels d'entreprise ; le risque qu'une mise à jour compromette le système sous-jacent est tout simplement trop important pour que les entreprises déploient des mises à jour sans les avoir testées au préalable. Mais si l'IA peut contribuer à accélérer ce processus, en écrivant des correctifs plus rapidement et de manière plus fiable, et en les testant dans un environnement jumeau numérique lui-même généré par l'IA, l'avantage revient à la défense. Dans le cas contraire, l'attaquant disposera toujours d'une fenêtre d'opportunité pour attaquer les systèmes avant qu'une vulnérabilité ne soit corrigée.

Vers l'autoréparation

Dans un avenir véritablement optimiste, on peut imaginer un réseau doté de capacités d'autoréparation. Des agents d'IA analysent en permanence le corpus en évolution permanente d'applications commerciales et personnalisées issues de l'IA afin d'y détecter des vulnérabilités et de les corriger automatiquement dès leur découverte.

Pour que ce modèle fonctionne, les contrats de licence logicielle devront évoluer. Actuellement, les éditeurs de logiciels contrôlent la fréquence des correctifs de sécurité. Donner ce pouvoir aux acheteurs de logiciels a des implications sur la compatibilité, le droit à la réparation et les responsabilités des parties. Toute solution en la matière relève du domaine politique, et non technique.

Si les systèmes de défense peuvent identifier, mais ne peuvent pas corriger de manière fiable, les failles des logiciels Legacy, c'est là que les attaquants concentreront leurs efforts. Dans ce cas, on peut imaginer une détection d'intrusion basée sur l'IA et en constante évolution, qui analyserait en permanence les entrées et bloquerait les attaques malveillantes avant qu'elles n'atteignent les logiciels vulnérables. Moins révolutionnaire que la correction automatique des vulnérabilités dans le code en cours d'exécution, cette solution n'en demeure pas moins précieuse.

La puissance de ces systèmes d'IA défensifs s'accroît s'ils sont capables de se coordonner et de partager les vulnérabilités et les mises à jour. Une découverte effectuée par une IA peut rapidement se propager à tous les utilisateurs du logiciel concerné. Encore une fois : avantage à la défense.

D'autres variables entrent en jeu. Le succès relatif des attaquants et des défenseurs dépend également de l'abondance des vulnérabilités, de leur facilité de détection, de la capacité des IA à identifier les vulnérabilités les plus subtiles et obscures, et du degré de coordination entre les différents attaquants. C'est l'inconnue n° 4.

L'économie des vulnérabilités

On suppose que les IA corrigeront d'abord les failles les plus évidentes, ce qui signifie que les vulnérabilités restantes seront subtiles. Leur détection nécessitera des ressources de calcul importantes. Dans le scénario optimiste, les défenseurs mutualisent leurs ressources grâce au partage d'informations, amortissant ainsi le coût de la défense. Si le partage d'informations s'avère impossible, la défense devient alors beaucoup plus onéreuse, car chaque défenseur devra mener ses propres recherches. Cependant, la rapidité de développement du logiciel instantané implique une plus grande diversité de code : un avantage pour le défenseur.

Mais il convient de mettre ce dernier en balance avec le coût relatif de la découverte des vulnérabilités par les attaquants. Ceux-ci disposent déjà d'un moyen intrinsèque pour amortir les coûts liés à la découverte d'une nouvelle vulnérabilité et à la création d'un nouvel exploit : ils peuvent traquer les vulnérabilités sur différentes plateformes, chez différents fournisseurs et au sein de différents systèmes, et utiliser leurs découvertes pour attaquer simultanément plusieurs cibles. La correction d'une vulnérabilité courante exige souvent la coopération de toutes les plateformes, fournisseurs et systèmes concernés. Une fois de plus, le logiciel instantané constitue, à cet égard, un avantage pour le défenseur.

Mais les vulnérabilités difficiles à détecter prennent dès lors de la valeur. Les attaquants tenteront de reproduire les méthodes actuelles des grands services de renseignement : trouver des exploits zero-day exclusifs, dits "Nobody but us". Ils les exploiteront soit lentement et avec parcimonie pour minimiser les risques de détection, soit rapidement et massivement pour maximiser leurs profits avant que les vulnérabilités ne soient corrigées. Parallèlement, les défenseurs mèneront des opérations de traque de vulnérabilités et de détection d'intrusions, dans le but de corriger les failles avant que les attaquants ne les découvrent. On peut même imaginer un marché du partage de vulnérabilités, où le défenseur qui découvre une vulnérabilité et crée un correctif est rémunéré par tous les autres membres du réseau. Une vision peut-être un peu optimiste, mais pourquoi pas.

Remonter la hiérarchie

Même dans le scénario le plus optimiste, les attaquants ne baisseront pas les bras. Ils s'attaqueront aux composantes non logicielles du système, comme les utilisateurs. Ou bien ils rechercheront des failles dans le système : des capacités que ce dernier autorise techniquement, mais qui étaient involontaires et imprévues par les concepteurs (qu'ils soient humains ou robotiques) et qu'ils peuvent exploiter à leur avantage.

En dehors de ce champ, subsistent les attaques qui ne dépendent pas de la découverte et de l'exploitation de vulnérabilités logicielles, comme celle menées avec l'ingénierie sociale ou via le vol d'identifiants. Nous avons déjà constaté comment les deepfakes générés par l'IA facilitent l'ingénierie sociale. Mais là aussi, on peut imaginer des agents d'IA défensifs qui surveillent le comportement des utilisateurs, à l'affût de signes d'attaque. C'est un autre cas d'utilisation de l'IA, et j'ai du mal le caractériser dans le cadre de la course aux armements entre attaquants et défenseurs. Mais au moins, nous repoussons les attaques vers les niveaux supérieurs de la hiérarchie.

De plus, les attaquants tenteront d'infiltrer et d'influencer les IA défensives et les réseaux qu'elles utilisent pour communiquer, en corrompant leurs résultats et en dégradant leurs capacités. Les systèmes d'IA sont vulnérables à toutes sortes de manipulations, comme l'injection de prompts, et il est difficile de savoir si nous parviendrons un jour à résoudre ce problème. C'est l'inconnue n° 5, et elle est de taille. Le problème « Trusting Trust » (une référence à un article de 1984 du co-créateur d'Unix Ken Thompson, montrant les limites de la confiance qu'on peut accorder à un code qu'on n'a pas écrit soi-même, NDLR) pourrait bien ne jamais trouver de solution.

L'avenir est incertain. Nous ignorons si ces technologies continueront de progresser et quand elles atteindront un plateau. Mais compte tenu du rythme auquel le développement des logiciels d'IA a progressé ces derniers mois, nous devons commencer à réfléchir à la cybersécurité dans un monde inédit, celui du logiciel instantané.

Partager cet article

Commentaire

Avatar
Envoyer
Ecrire un commentaire...

INFORMATION

Vous devez être connecté à votre compte CIO pour poster un commentaire.

Cliquez ici pour vous connecter
Pas encore inscrit ? s'inscrire

    Publicité

    Abonnez-vous à la newsletter CIO

    Recevez notre newsletter tous les lundis et jeudis