← Derniers articles
💻 computer science

The EVerest Dataset for Secure Software Engineering

L'article présente l'ensemble de données EVerest, une ressource multi-artefacts unique comprenant des exigences de sécurité, des modèles architecturaux et du code source provenant d'une pile de recharge pour véhicule électrique, ce qui permet la recherche sur la vérification de la sécurité de bout en bout et a facilité la découverte et la remédiation d'une vulnérabilité de sécurité réelle.

Auteurs originaux : Sophie Corallo, Debora Grupp, Dominik Fuchß, Jan Keim, Frederik Reiche, Tobias Hey, Anne Koziolek

Publié 2026-06-23
📖 5 min de lecture🧠 Analyse approfondie

Auteurs originaux : Sophie Corallo, Debora Grupp, Dominik Fuchß, Jan Keim, Frederik Reiche, Tobias Hey, Anne Koziolek

Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

Imaginez que vous construisez une station de recharge pour véhicules électriques de haute technologie. Pour vous assurer qu'elle est protégée contre les pirates, vous devez vérifier trois couches différentes de votre projet :

  1. La Liste de Souhaits : Ce que les développeurs disent vouloir (ex. : « Il doit être sécurisé »).
  2. Le Plan : Les dessins d'architecture montrant comment les pièces sont connectées.
  3. Les Briques : Le code informatique réel qui fait fonctionner la machine.

Le problème est que la plupart des outils de recherche ne regardent qu'une seule de ces couches. Ils peuvent avoir une liste de souhaits, ou un tas de code, mais ils n'ont jamais ces trois éléments connectés ensemble. C'est comme essayer de réparer une fuite de toit en ne regardant que les plans, sans jamais vérifier les tuiles réelles ou la liste de réclamations du propriétaire.

L'EVerest Dataset est un nouvel ensemble d'outils « tout-en-un » géant créé par des chercheurs de l'Institut de Technologie de Karlsruhe pour résoudre ce problème. Il connecte la Liste de Souhaits, le Plan et les Briques pour un projet de logiciel open-source réel appelé EVerest (qui contrôle les chargeurs de VE).

Voici comment ils ont construit cet ensemble, en utilisant une analogie simple :

1. Rassembler la « Liste de Souhaits » (Exigences)

D'abord, les chercheurs devaient savoir quelles règles de sécurité le projet nécessitait réellement.

  • Le Sondage : Ils ont envoyé un questionnaire à la communauté des développeurs, en demandant : « Quels sont les objectifs de sécurité ? » (Comme demander : « Voulez-vous que la porte soit verrouillée ? »). Cela leur a donné une liste brute d'environ 67 idées.
  • L'Entretien : La liste brute était trop vague. Ils se sont donc assis avec quatre développeurs experts pour des conversations approfondies. Ils ont pris ces idées brutes et les ont affinées en instructions spécifiques, passant par exemple de « Verrouiller la porte » à « Le module OCPP doit rejeter les entrées malformées provenant du CSMS ».
  • Le Résultat : Ils ont abouti à 84 exigences de sécurité précises.

2. Dessiner le « Plan » (Architecture)

Le projet EVerest ne possédait pas de carte architecturale formelle ; il n'avait que du code.

  • La Traduction : Trois étudiants, supervisés par des experts, ont examiné le code source et ont construit manuellement un modèle de composant Palladio formel. Imaginez que vous prenez un tas de briques Lego et que vous dessinez un diagramme détaillé montrant exactement comment chaque pièce se connecte, comment les données circulent entre elles et comment elles communiquent entre elles.
  • Le Résultat : Un plan numérique avec 29 composants et 144 descriptions de services détaillées.

3. Étiqueter les « Briques » (Code et Éléments)

Maintenant, ils devaient établir le lien entre la Liste de Souhaits et le Plan.

  • Le Jeu de l'Étiquetage : Trois personnes ont parcouru les 84 exigences et ont surligné des mots spécifiques. Ils ont étiqueté des éléments tels que les « composants », les « données », les « états » et les « flux de données ».
  • La Trace : Ils ont tracé des lignes numériques (liens de traçabilité) reliant une phrase spécifique dans l'exigence (ex. : « Le fournisseur de paiement doit être sécurisé ») directement à la partie spécifique du plan et au code qui gère le paiement.
  • Le Résultat : Ils ont étiqueté 1 445 petits éléments de sécurité, créant un immense réseau de connexions.

Le Test en Conditions Réelles

Le meilleur aspect de cet ensemble de données n'est pas seulement son existence ; c'est qu'il a réellement trouvé un bug réel.

Pendant la construction de l'ensemble de données, les chercheurs ont remarqué une incohérence. Une des exigences stipulait : « Les jetons d'authentification ne doivent pas être stockés en texte clair ». Cependant, lorsqu'ils ont examiné le code réel (les « briques »), ils ont trouvé une ligne où le code stockait effectivement les jetons en texte clair.

  • La Correction : Ils ont signalé cela aux mainteneurs du projet. Les développeurs ont confirmé qu'il s'agissait d'une réelle faiblesse (connue sous le nom de CWE-1295) et l'ont corrigée immédiatement.

Pourquoi cela compte

Avant cela, les chercheurs essayant de construire des outils pour vérifier automatiquement la sécurité des logiciels devaient deviner comment les exigences, la conception et le code étaient liés, car aucun ensemble de données ne fournissait les trois à la fois.

L'EVerest Dataset est comme un manuel de formation complet et étiqueté pour l'IA et les chercheurs. Il leur permet de s'exercer à :

  • Enseigner aux ordinateurs à comprendre les exigences de sécurité.
  • Trouver automatiquement où une exigence est implémentée dans le code.
  • Vérifier si le logiciel final correspond réellement aux promesses de sécurité initiales.

En résumé, l'article présente une ressource multi-couches unique qui comble le fossé entre ce que le logiciel devrait faire, comment il est conçu, et comment il est construit, prouvant sa valeur en détectant une faille de sécurité réelle au cours du processus.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →