
Vitalik Buterin ne pense pas que les inquiétudes croissantes selon lesquelles le piratage par l’IA pourrait rendre la cybersécurité toujours plus difficile soient justifiées. Dans une publication récente, le cofondateur d’Ethereum a déclaré ne pas être d’accord avec l’idée que le piratage par l’IA signifie que « la cybersécurité est condamnée ».
Il a plutôt affirmé que la sécurité pourrait naturellement être favorisée une fois que les gens auront mis en place les bons systèmes et utilisé des outils de vérification plus puissants.
Les pirates informatiques dotés d’IA et l’avenir de la cybersécurité
Buterin a donné un exemple simple faisant intervenir l’intelligence artificielle avancée et les mathématiques. Il a déclaré :
« Si l’IA peut démontrer Navier-Stokes et le dernier théorème de Fermat, elle peut alors démontrer comme théorème mathématique l’énoncé “ce programme est sécurisé”, même si le programme est très complexe. »
Buterin a toutefois souligné qu’il est bien plus difficile qu’il n’y paraît de définir ce que signifie réellement « sécurisé ». Un système peut soulever de nombreux problèmes de sécurité différents qu’il faut prendre en compte. Les définitions de la sécurité peuvent devenir extrêmement détaillées. Elles peuvent couvrir la manière dont un attaquant pourrait perturber un système, les risques de fuite d’informations et les conséquences possibles d’une défaillance ou d’une compromission de différentes parties du logiciel ou du matériel.
Pour cette raison, Buterin a déclaré qu’il est extrêmement important de rendre les définitions plus faciles à comprendre. Il a décrit cela comme peut-être le seul « langage de haut niveau » qui compte aujourd’hui. Buterin estime toujours que, pour les composants critiques en matière de sécurité, la définition peut constituer une surface d’attaque bien plus réduite que l’implémentation elle-même.
Vérifier si la définition est adéquate peut aussi être plus facile que d’examiner directement le code. Il a déclaré que de meilleurs outils pourraient rendre ce processus encore plus pratique.
Il voit même un avantage à travailler avec des définitions : elles s’additionnent. Si deux groupes ont deux définitions différentes, les développeurs peuvent prouver qu’un programme satisfait aux deux. Si les deux définitions ne peuvent pas être satisfaites simultanément, le conflit est isolé et devient un enjeu important auquel le projet doit s’attaquer.
Vérifier l’ensemble du programme
Selon le cofondateur d’Ethereum, le code ne fonctionne pas ainsi. Si un programme est composé de différentes parties, un bogue dans l’une d’elles peut compromettre l’ensemble. Buterin a reconnu que cette approche ne fonctionne pas aussi bien pour tous les types de logiciels. Dans certains cas, comme les composants d’interface utilisateur, la définition peut être presque aussi volumineuse que l’implémentation.
Mais pour de nombreux composants critiques, a-t-il déclaré, la différence est bien réelle. Il a notamment cité les protocoles de transmission de messages, les bacs à sable et les systèmes cryptographiques tels que les SNARK et le chiffrement entièrement homomorphe. Auparavant, les développeurs ne vérifiaient souvent que les parties de leur code qu’ils estimaient critiques pour la sécurité. Le reste n’était pas vérifié. Même si cela se comprenait à une époque où la vérification était difficile et peu répandue, il estime que l’IA moderne change la donne.
Pour Buterin, la réponse ne consiste donc pas simplement à espérer que les « gentils » trouvent les vulnérabilités avant les « méchants ». La stratégie la plus importante consiste à rendre le code beaucoup plus résilient dès le départ. Selon lui, les blockchains, en particulier celles qui mettent l’accent sur la scalabilité et la confidentialité, n’ont pas d’avenir sans ce type de travail.
Source : CryptoPotato




