{"id":7964,"date":"2026-10-13T06:00:00","date_gmt":"2026-10-13T05:00:00","guid":{"rendered":"https:\/\/www.blaess.fr\/christophe\/?p=7964"},"modified":"2026-10-08T07:16:38","modified_gmt":"2026-10-08T06:16:38","slug":"que-faire-face-a-une-vulnerabilite-dans-un-equipement-embarque","status":"publish","type":"post","link":"https:\/\/www.blaess.fr\/christophe\/2026\/10\/13\/que-faire-face-a-une-vulnerabilite-dans-un-equipement-embarque\/","title":{"rendered":"Que faire face \u00e0 une vuln\u00e9rabilit\u00e9 dans un \u00e9quipement embarqu\u00e9&nbsp;?"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"alignright size-full is-resized\"><a href=\"https:\/\/www.blaess.fr\/christophe\/wp-content\/uploads\/2026\/10\/thumbnail-07.png\"><img loading=\"lazy\" decoding=\"async\" width=\"697\" height=\"391\" src=\"https:\/\/www.blaess.fr\/christophe\/wp-content\/uploads\/2026\/10\/thumbnail-07.png\" alt=\"\" class=\"wp-image-8024\" style=\"width:350px;height:auto\" srcset=\"https:\/\/www.blaess.fr\/christophe\/wp-content\/uploads\/2026\/10\/thumbnail-07.png 697w, https:\/\/www.blaess.fr\/christophe\/wp-content\/uploads\/2026\/10\/thumbnail-07-300x168.png 300w\" sizes=\"auto, (max-width: 697px) 100vw, 697px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Imaginons une situation qui, malheureusement, risque de devenir famili\u00e8re aux fabricants de produits connect\u00e9s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mardi matin, 9 h 15. Vous apprenez qu\u2019une vuln\u00e9rabilit\u00e9 concernant une biblioth\u00e8que Open Source utilis\u00e9e dans votre produit est d\u00e9sormais <em><strong>activement exploit\u00e9e<\/strong><\/em>. (La d\u00e9finition d&rsquo;<em>activement exploit\u00e9e<\/em>, terme utilis\u00e9 dans le <strong>CRA<\/strong>, <em>Cyber Resilience Act<\/em>, sera d\u00e9taill\u00e9e plus bas)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Votre produit est d\u00e9j\u00e0 commercialis\u00e9. Plusieurs dizaines, centaines voire milliers d\u2019\u00e9quipements sont install\u00e9s chez vos clients. Certains sont accessibles par le r\u00e9seau, d\u2019autres se trouvent derri\u00e8re une infrastructure prot\u00e9g\u00e9e. Comment r\u00e9agir&nbsp;?<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\">La premi\u00e8re question est \u00e9videmment d&rsquo;ordre technique&nbsp;: <strong>\u00eates-vous r\u00e9ellement concern\u00e9s par cette vuln\u00e9rabilit\u00e9&nbsp;?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mais depuis le mois de septembre 2026, une autre question doit imm\u00e9diatement \u00eatre pos\u00e9e&nbsp;: <strong>quelles sont vos obligations au regard du <em>Cyber Resilience Act<\/em> ?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les obligations de notification pr\u00e9vues par l\u2019<strong>article 14 du CRA<\/strong> sont en effet applicables depuis le 11\/09\/2026 et la plateforme unique de signalement, ou <em>Single Reporting Platform<\/em> (<strong>SRP<\/strong>), g\u00e9r\u00e9e par l\u2019ENISA est d\u00e9sormais accessible aux fabricants de syst\u00e8mes embarqu\u00e9s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nous allons examiner concr\u00e8tement les \u00e9tapes \u00e0 suivre dans une telle situation et voir comment une plateforme comme Eris Linux peut simplifier une partie de ce travail.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Une vuln\u00e9rabilit\u00e9 \u00ab&nbsp;activement exploit\u00e9e&nbsp;\u00bb<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Le CRA distingue plusieurs notions&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Une <strong>vuln\u00e9rabilit\u00e9<\/strong> est une faiblesse susceptible d\u2019\u00eatre exploit\u00e9e dans le cadre de la cybers\u00e9curit\u00e9.<\/li>\n\n\n\n<li>Une vuln\u00e9rabilit\u00e9 <strong>exploitable<\/strong> est une vuln\u00e9rabilit\u00e9 qui peut effectivement \u00eatre utilis\u00e9e par un attaquant dans des conditions r\u00e9elles. Toutes les vuln\u00e9rabilit\u00e9s ne sont pas exploitables. Si l&rsquo;unique moyen d&rsquo;interagir avec un \u00e9quipement est d&rsquo;appuyer sur un bouton (imaginez un chronom\u00e8tre), le d\u00e9bordement de buffer contenu dans une fonction de biblioth\u00e8que jamais appel\u00e9e en fonctionnement nominal est bien une vuln\u00e9rabilit\u00e9, mais elle n&rsquo;est pas exploitable. Si, en revanche, l&rsquo;\u00e9quipement dispose d&rsquo;une connexion Internet pour t\u00e9l\u00e9charger ses mesures et r\u00e9cup\u00e9rer des param\u00e8tres de configuration, le risque est plus grand de voir son comportement d\u00e9tourn\u00e9 par des donn\u00e9es corrompues.<\/li>\n\n\n\n<li>Une <strong>vuln\u00e9rabilit\u00e9 activement exploit\u00e9e<\/strong> est d\u00e9finie plus pr\u00e9cis\u00e9ment comme une vuln\u00e9rabilit\u00e9 pour laquelle il existe des preuves fiables qu\u2019un acteur <strong>malveillant<\/strong> l\u2019a exploit\u00e9e dans un syst\u00e8me sans l\u2019autorisation du propri\u00e9taire de ce syst\u00e8me. Une d\u00e9couverte effectu\u00e9e dans le cadre d\u2019une recherche de s\u00e9curit\u00e9 ou d\u2019un test effectu\u00e9 de bonne foi n\u2019est donc pas, \u00e0 elle seule, une exploitation active.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Une remarque importante&nbsp;: l&rsquo;exploitation malveillante de la vuln\u00e9rabilit\u00e9 ne doit pas n\u00e9cessairement \u00eatre observ\u00e9e sur votre produit. Si une vuln\u00e9rabilit\u00e9 a \u00e9t\u00e9 <strong>activement exploit\u00e9e sur un autre produit<\/strong> (\u00e9ventuellement un de vos concurrents), mais qu&rsquo;elle est <strong>exploitable dans votre syst\u00e8me<\/strong>, vous \u00eates concern\u00e9s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Reprenons notre exemple, supposons que l\u2019information soit suffisamment confirm\u00e9e pour consid\u00e9rer la vuln\u00e9rabilit\u00e9 comme activement exploit\u00e9e.  Il faut alors d\u00e9terminer si elle est <strong>contenue dans votre produit<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">V\u00e9rification de pr\u00e9sence du package vuln\u00e9rable<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cette \u00e9tape peut sembler triviale, mais elle ne l&rsquo;est pas du tout sur un produit Linux embarqu\u00e9 moderne.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Une image Linux peut contenir plusieurs centaines de <em>packages<\/em>, eux-m\u00eames constitu\u00e9s de biblioth\u00e8ques dont les versions ne sont pas toujours directement visibles par le d\u00e9veloppeur. Les applications m\u00e9tier ajoutent leurs propres d\u00e9pendances.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il faut donc \u00eatre capable de r\u00e9pondre rapidement \u00e0 une question simple&nbsp;: <strong>quels produits et quelles versions de ces produits contiennent r\u00e9ellement le composant vuln\u00e9rable&nbsp;?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C\u2019est l\u2019un des int\u00e9r\u00eats d\u2019une <strong>nomenclature logicielle<\/strong>, ou <em><strong>Software Bill of Materials<\/strong><\/em> (<strong>SBOM<\/strong>). Le CRA pr\u00e9voit d\u2019ailleurs, parmi les exigences relatives au traitement des vuln\u00e9rabilit\u00e9s, la documentation des composants pr\u00e9sents dans le produit, avec une SBOM dans un format couramment utilis\u00e9 et lisible par machine couvrant au minimum les d\u00e9pendances de premier niveau. Un document au format standardis\u00e9 SPDX par exemple avec une repr\u00e9sentation JSON conviendra.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">D\u00e9couverte confirm\u00e9e<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Supposons que vous d\u00e9couvrez dans un de vos produits la pr\u00e9sence d&rsquo;un composant pr\u00e9sentant une <strong>vuln\u00e9rabilit\u00e9 activement exploit\u00e9e<\/strong> (m\u00eame si cette exploitation active a lieu sur un produit diff\u00e9rent).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Supposons \u00e9galement que vous ne pouvez pas \u00e9liminer l&rsquo;hypoth\u00e8se que cette vuln\u00e9rabilit\u00e9 soit <strong>exploitable sur votre \u00e9quipement<\/strong>. Tant que vous n\u2019avez pas \u00e9tabli que la vuln\u00e9rabilit\u00e9 est inexploitable dans votre produit, son analyse devient prioritaire&nbsp;: le d\u00e9lai de notification est suffisamment court pour qu\u2019il soit dangereux d\u2019attendre avant d\u2019\u00e9tudier s\u00e9rieusement la situation. D\u00e8s lors que les conditions de notification sont \u00e9tablies, le d\u00e9lai pr\u00e9vu par l\u2019article 14 s\u2019applique.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">L&rsquo;heure tourne<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c0 partir de ce moment, vous avez des obligations de notifications. Je vous conseille de <strong>prendre date<\/strong> en communiquant la situation en interne, \u00e0 votre hi\u00e9rarchie ou \u00e0 vos coll\u00e8gues avec un m\u00e9dia conservant trace de la date et l&rsquo;heure de d\u00e9couverte. Par exemple un simple e-mail peut suffire&nbsp;: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Bonjour,\n\nJe viens d'apprendre que la libfoo pr\u00e9sente une vuln\u00e9rabilit\u00e9\nactivement exploit\u00e9e au moins jusqu'\u00e0 sa version 1.2.3.\nPour en savoir plus : CVE-2026-.....\nDans notre produit XYZ v2 nous embarquons la version 1.2.1.\nJe vais v\u00e9rifier si la vuln\u00e9rabilit\u00e9 est exploitable dans\nnotre produit et le cas \u00e9ch\u00e9ant d\u00e9marrer les notifications\nr\u00e9glementaires.\n\nCordialement.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ce message permet de tracer en interne le moment o\u00f9 l\u2019information a \u00e9t\u00e9 port\u00e9e \u00e0 votre connaissance&nbsp;; il ne permet \u00e9videmment pas de choisir artificiellement le point de d\u00e9part du d\u00e9lai r\u00e9glementaire.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019article 14 pr\u00e9voit plusieurs \u00e9tapes&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Au plus tard 24 heures apr\u00e8s en avoir pris connaissance<\/strong>, le fabricant doit transmettre une alerte simplifi\u00e9e par l\u2019interm\u00e9diaire de la <em><strong>Single Reporting Platform<\/strong><\/em> (<strong>SRP<\/strong>). Cette premi\u00e8re notification n\u2019a pas vocation \u00e0 contenir une analyse technique compl\u00e8te. Le fabricant peut encore \u00eatre en train d\u2019\u00e9tudier la vuln\u00e9rabilit\u00e9 et son impact.<\/li>\n\n\n\n<li><strong>Au plus tard 72 heures apr\u00e8s la prise de connaissance<\/strong>, une notification plus compl\u00e8te doit \u00eatre transmise. Elle doit notamment contenir les informations disponibles sur le produit concern\u00e9, la nature g\u00e9n\u00e9rale de la vuln\u00e9rabilit\u00e9 et de son exploitation, les mesures correctives ou d\u2019att\u00e9nuation d\u00e9j\u00e0 prises ainsi que celles que les utilisateurs peuvent mettre en \u0153uvre.<\/li>\n\n\n\n<li>Enfin, un <strong>rapport final<\/strong> doit \u00eatre transmis au plus tard quatorze jours apr\u00e8s la disponibilit\u00e9 d\u2019une mesure corrective ou d\u2019att\u00e9nuation. Il doit notamment pr\u00e9ciser la vuln\u00e9rabilit\u00e9, sa gravit\u00e9, ses r\u00e9percussions et les mesures mises en place pour y rem\u00e9dier.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cela signifie que deux activit\u00e9s doivent imm\u00e9diatement progresser en parall\u00e8le&nbsp;: la r\u00e9ponse r\u00e9glementaire d\u2019une part, et l\u2019analyse technique (puis la correction) d\u2019autre part.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Sommes-nous r\u00e9ellement vuln\u00e9rables&nbsp;?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Revenons \u00e0 notre exemple. Supposons que la vuln\u00e9rabilit\u00e9 concerne une biblioth\u00e8que nomm\u00e9e <code><strong>libfoo<\/strong><\/code> dans sa version <strong>1.2.3<\/strong>. Cette biblioth\u00e8que est utilis\u00e9e dans votre application m\u00e9tier (avec Eris Linux, elle est embarqu\u00e9e dans le container de l&rsquo;application).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c0 noter&nbsp;: si la vuln\u00e9rabilit\u00e9 concernait un composant du socle Eris Linux, la correction prendrait la forme d\u2019une mise \u00e0 jour du syst\u00e8me fournie par Eris plut\u00f4t que d\u2019une nouvelle version du container applicatif<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La premi\u00e8re chose \u00e0 faire est de d\u00e9terminer si cette biblioth\u00e8que est <strong>pr\u00e9sente<\/strong> dans les versions du produit actuellement d\u00e9ploy\u00e9es. Mais la simple pr\u00e9sence d\u2019une version vuln\u00e9rable ne signifie pas n\u00e9cessairement que le produit soit exploitable dans sa configuration r\u00e9elle.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il faudra par exemple d\u00e9terminer si la fonction vuln\u00e9rable est utilis\u00e9e, si elle est accessible \u00e0 un attaquant, si un service concern\u00e9 est expos\u00e9 au r\u00e9seau ou encore si des protections existantes rendent l\u2019exploitation impossible ou sensiblement plus difficile. Ce travail d\u2019analyse est important pour \u00e9valuer le risque et choisir les mesures appropri\u00e9es.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il ne faut cependant pas confondre cette \u00e9valuation avec la d\u00e9cision de notifier une vuln\u00e9rabilit\u00e9 activement exploit\u00e9e. Lorsque les conditions de l\u2019article 14 sont r\u00e9unies, le d\u00e9lai r\u00e9glementaire ne s\u2019interrompt pas pendant que les ing\u00e9nieurs poursuivent leurs investigations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mardi 10 h 30, nous savons par exemple que trois versions de notre produit utilisent <code>libfoo<\/code>, mais nous ne savons pas encore si toutes sont r\u00e9ellement exploitables. Cette information est d\u00e9j\u00e0 utile.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quels \u00e9quipements sont concern\u00e9s&nbsp;?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019\u00e9tape suivante consiste \u00e0 passer de la notion abstraite de \u00ab&nbsp;version du produit&nbsp;\u00bb \u00e0 la r\u00e9alit\u00e9 du parc install\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour un fabricant, conna\u00eetre la composition de son logiciel est n\u00e9cessaire mais insuffisant. Il faut \u00e9galement savoir <strong>quelles versions fonctionnent effectivement sur les \u00e9quipements d\u00e9ploy\u00e9s<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C\u2019est ici que la gestion centralis\u00e9e des \u00e9quipements devient particuli\u00e8rement importante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le <strong><em>Device Manager<\/em> d\u2019Eris Linux<\/strong> permet de conna\u00eetre la version du syst\u00e8me utilis\u00e9e par les \u00e9quipements enregistr\u00e9s ainsi que les versions des applications conteneuris\u00e9es qui y sont d\u00e9ploy\u00e9es. On peut ainsi d\u00e9terminer quels groupes ou quels \u00e9quipements utilisent encore une version potentiellement vuln\u00e9rable.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cette information est utile \u00e0 la fois pour \u00e9valuer l\u2019ampleur du probl\u00e8me et, quelques heures ou quelques jours plus tard, pour suivre le d\u00e9ploiement du correctif.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Premi\u00e8re alerte transmise sur la plateforme SRP<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Le mardi 16h45, vous avez la liste des \u00e9quipements concern\u00e9s o\u00f9 la vuln\u00e9rabilit\u00e9 est exploitable. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vous vous connectez sur le site SRP de l&rsquo;ENISA&nbsp;: <a href=\"https:\/\/www.enisa.europa.eu\/topics\/product-security\/vulnerability-services\/eu-incident-response-and-cyber-crisis-management\/single-reporting-platform-srp\" target=\"_blank\" rel=\"noopener nofollow\">https:\/\/www.enisa.europa.eu\/topics\/product-security\/vulnerability-services\/eu-incident-response-and-cyber-crisis-management\/single-reporting-platform-srp<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vous y indiquez&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>(<em>Notification type<\/em>) qu&rsquo;il s&rsquo;agit d&rsquo;une \u00ab\u00a0<strong>vuln\u00e9rabilit\u00e9<\/strong>\u00a0\u00bb (la m\u00eame plateforme permet aussi de notifier les \u00ab\u00a0<em>incidents s\u00e9v\u00e8res de s\u00e9curit\u00e9<\/em>\u00ab\u00a0).<\/li>\n\n\n\n<li>(<em>Title<\/em>) Une <strong>description concise<\/strong> (exemple&nbsp;: \u00ab\u00a0<em>Pr\u00e9sence d&rsquo;une vuln\u00e9rabilit\u00e9 activement exploit\u00e9e dans le produit <code>XYZ<\/code><\/em>\u00a0\u00bb ) en anglais de pr\u00e9f\u00e9rence m\u00eame si la traduction de la plateforme dans les langues europ\u00e9ennes est en cours.<\/li>\n\n\n\n<li>(<em>Summary<\/em>) Une <strong>description plus compl\u00e8te<\/strong> pr\u00e9cisant la vuln\u00e9rabilit\u00e9 concern\u00e9e, les num\u00e9ros de versions, les mesures de correction en cours (exemple&nbsp;: \u00ab\u00a0<em>La librairie <code>libfoo<\/code> pr\u00e9sente une vuln\u00e9rabilit\u00e9 activement exploit\u00e9e jusqu&rsquo;\u00e0 sa version <code>1.2.3<\/code>. Notre produit <code>XYZ<\/code> en version <code>v.2<\/code> inclut la version <code>1.2.1<\/code> de cette biblioth\u00e8que. Nous pr\u00e9parons une mise \u00e0 jour de notre syst\u00e8me d\u00e8s que le correctif sera disponible aupr\u00e8s du fournisseur de la biblioth\u00e8que<\/em>\u00a0\u00bb ).<\/li>\n\n\n\n<li>(<em>Manufacturer name<\/em>) Votre <strong>nom de soci\u00e9t\u00e9<\/strong>.<\/li>\n\n\n\n<li>(<em>Member states&#8230;<\/em>) La liste des <strong>\u00e9tats de l&rsquo;Union Europ\u00e9enne<\/strong> o\u00f9 le produit a \u00e9t\u00e9 mis \u00e0 disposition.<\/li>\n\n\n\n<li>(<em>Product Name &amp; Version<\/em>) Le <strong>nom du produit<\/strong> et ses <strong>num\u00e9ros de version<\/strong> concern\u00e9s.<\/li>\n\n\n\n<li>(<em>Date and type when you become aware.<\/em>) La <strong>date et l&rsquo;heure<\/strong> o\u00f9 vous avez \u00e9t\u00e9 avertis de l&rsquo;existence de la vuln\u00e9rabilit\u00e9.<\/li>\n\n\n\n<li>D&rsquo;autres champs peuvent \u00eatre remplis, mais ils restent optionnels \u00e0 ce stade.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Evaluation de la situation et perspectives<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Une mise \u00e0 jour d\u00e9finitive n\u2019est pas toujours disponible imm\u00e9diatement. La biblioth\u00e8que vuln\u00e9rable peut provenir d\u2019un projet <em>Open Source<\/em> externe. Un correctif peut \u00eatre en cours de d\u00e9veloppement. Il faudra ensuite l\u2019int\u00e9grer, reconstruire le produit et r\u00e9aliser les tests n\u00e9cessaires avant son d\u00e9ploiement.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dans l\u2019intervalle, des mesures d\u2019<strong>att\u00e9nuation<\/strong> peuvent parfois \u00eatre envisag\u00e9es. On peut par exemple d\u00e9sactiver temporairement un service, modifier une configuration r\u00e9seau, supprimer une fonctionnalit\u00e9 expos\u00e9e ou recommander aux utilisateurs de filtrer certains acc\u00e8s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le CRA pr\u00e9voit explicitement que la notification \u00e0 72 heures d\u00e9crive, lorsqu\u2019elles sont disponibles, les mesures correctives ou d\u2019att\u00e9nuation prises ainsi que celles que les utilisateurs peuvent appliquer. Dans les cas les plus graves on peut leur recommander de ne pas utiliser certaines fonctionnalit\u00e9s, voire d&rsquo;\u00e9teindre compl\u00e8tement l&rsquo;\u00e9quipement pour les cas vraiment critiques.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il est donc utile d\u2019avoir r\u00e9fl\u00e9chi <strong>avant l\u2019incident<\/strong> aux moyens permettant de contacter les utilisateurs et de leur communiquer rapidement des instructions fiables. Cela n\u00e9cessite de disposer d&rsquo;un moyen de communication g\u00e9n\u00e9rale (par exemple une annonce sur le site web du produit) et si possible et si la criticit\u00e9 de la situation l&rsquo;exige un contact direct par e-mail. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c0 noter&nbsp;: Le RGPD n&rsquo;interdit pas de conserver des coordonn\u00e9es destin\u00e9es aux alertes de s\u00e9curit\u00e9. Il faut n\u00e9anmoins d\u00e9terminer la base l\u00e9gale (par exemple \u00ab\u00a0<em>la poursuite d&rsquo;un int\u00e9r\u00eat l\u00e9gitime<\/em>\u00a0\u00bb ) et d\u00e9finir une dur\u00e9e de conservation proportionn\u00e9e \u00e0 la finalit\u00e9 du produit.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mise \u00e0 jour de la notification SRP<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Nous sommes \u00e0 pr\u00e9sent le jeudi matin 10h, quarante-huit heures apr\u00e8s la d\u00e9couverte initiale. Vous allez compl\u00e9ter votre signalement initial en compl\u00e9tant les champs pr\u00e9c\u00e9dents et en ajoutant certains d&rsquo;entre-eux&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>(<em>Product Type &amp; Class<\/em>) Le <strong>type de produit<\/strong> et \u00e9ventuellement <strong>sa classe<\/strong> (<em>D\u00e9faut<\/em>, <em>Important avec des composants num\u00e9riques<\/em>, <em>Critique avec des composants num\u00e9riques<\/em>). Eris Linux entre <em>a priori<\/em> dans le type \u00ab\u00a0<em>Important<\/em>\u00a0\u00bb de classe I, et les applications utilisateurs plut\u00f4t dans le type \u00ab\u00a0<em>D\u00e9faut<\/em>\u00ab\u00a0.<\/li>\n\n\n\n<li>(<em>Composant name<\/em>) Le <strong>composant<\/strong> concern\u00e9 (exemple&nbsp;: \u00ab\u00a0<em>authentification utilisateur<\/em>\u00a0\u00bb , \u00ab\u00a0<em>biblioth\u00e8que de compression de donn\u00e9es<\/em>\u00a0\u00bb , \u00ab\u00a0<em>module parser de fichiers de configuration<\/em>\u00a0\u00bb ).<\/li>\n\n\n\n<li>(<em>Mitigation measure expected shortly<\/em>) Des mesures de correction sont-elles envisag\u00e9es rapidement&nbsp;? (\u00ab\u00a0<em>oui<\/em>\u00a0\u00bb ou \u00ab\u00a0<em>non<\/em>\u00a0\u00bb ).<\/li>\n\n\n\n<li>(<em>User action able to reduce impact<\/em>) Les mesures que l&rsquo;<strong>utilisateur peut prendre<\/strong> pour diminuer le risque (exemple&nbsp;: \u00ab\u00a0<em>ne pas sauvegarder ses statistiques hebdomadaires<\/em>\u00a0\u00bb ).<\/li>\n\n\n\n<li>(<em>CVE ID<\/em>) L&rsquo;identifiant de <strong>CVE<\/strong> de la vuln\u00e9rabilit\u00e9 s&rsquo;il en existe une (exemple&nbsp;: \u00ab\u00a0<em>CVE-2026-000000<\/em>\u00a0\u00bb ).<\/li>\n\n\n\n<li>(<em>General information<\/em>) Une <strong>description g\u00e9n\u00e9rale<\/strong> de la vuln\u00e9rabilit\u00e9 et du risque encouru (exemple&nbsp;: \u00ab\u00a0<em>La vuln\u00e9rabilit\u00e9 est un d\u00e9bordement de buffer dans une fonction de hashage, entra\u00eenant un risque de contournement de l&rsquo;identification de l&rsquo;utilisateur lors de la sauvegarde de ses statistiques<\/em>\u00a0\u00bb ).<\/li>\n\n\n\n<li>(<em>Date and time when the AEV occured<\/em>) La <strong>date et l&rsquo;heure<\/strong> de l&rsquo;exploitation effective de la vuln\u00e9rabilit\u00e9 si on les conna\u00eet, une estimation sinon.<\/li>\n\n\n\n<li>Comme pour la premi\u00e8re notification, d&rsquo;autres champs optionnels peuvent \u00eatre remplis.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Produire le correctif<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Mercredi, 8 jours apr\u00e8s la d\u00e9couverte initiale de la vuln\u00e9rabilit\u00e9, un correctif pour la biblioth\u00e8que incrimin\u00e9e vient d&rsquo;\u00eatre publi\u00e9. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dans un environnement Linux embarqu\u00e9 traditionnel, il faut maintenant produire une nouvelle version du syst\u00e8me qui int\u00e8gre cette correction. Cela signifie reconstruire l\u2019image, v\u00e9rifier que le changement ne provoque pas de r\u00e9gression, produire les images \u00e0 jour et pr\u00e9parer leur d\u00e9ploiement. Ce travail ne doit \u00e9videmment pas \u00eatre n\u00e9glig\u00e9&nbsp;: une mise \u00e0 jour de s\u00e9curit\u00e9 non test\u00e9e peut elle-m\u00eame  rendre les \u00e9quipements inutilisables.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019objectif d\u2019<strong>Eris Linux<\/strong> est plut\u00f4t de rendre cette \u00e9tape aussi simple et pr\u00e9visible que possible. Vous allez produire le code m\u00e9tier dans un <strong>container<\/strong> que vous testerez sur un groupe d\u00e9di\u00e9 d&rsquo;\u00e9quipements avec lesquels vous pourrez valider l&rsquo;efficacit\u00e9 et l&rsquo;innocuit\u00e9 de la correction.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">M\u00eame lorsqu\u2019une vuln\u00e9rabilit\u00e9 importante est activement exploit\u00e9e, il serait dangereux d\u2019envoyer imm\u00e9diatement une nouvelle version de l&rsquo;applicatif sur l\u2019ensemble d\u2019un parc sans aucune validation. Une strat\u00e9gie raisonnable consiste \u00e0 commencer par quelques \u00e9quipements de test repr\u00e9sentatifs de la production.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Une vuln\u00e9rabilit\u00e9 de s\u00e9curit\u00e9 cr\u00e9e une situation urgente. Elle ne doit pas pour autant conduire \u00e0 abandonner les pr\u00e9cautions \u00e9l\u00e9mentaires utilis\u00e9es lors de toute mise \u00e0 jour d\u2019un syst\u00e8me industriel. On v\u00e9rifie le d\u00e9marrage des \u00e9quipements de test, le fonctionnement des applications, les communications r\u00e9seau et les \u00e9ventuels p\u00e9riph\u00e9riques sp\u00e9cifiques. Une fois cette validation effectu\u00e9e, le correctif peut \u00eatre affect\u00e9 progressivement aux groupes d\u2019\u00e9quipements concern\u00e9s.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">D\u00e9ployer et suivre<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Au bout de 4 jours de tests intensifs, vous d\u00e9cidez de d\u00e9ployer la version corrig\u00e9e vers l&rsquo;ensemble des syst\u00e8mes embarqu\u00e9s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Toutefois, la publication d\u2019un correctif n\u2019est pas la fin du probl\u00e8me, il faut \u00e9galement savoir combien d\u2019\u00e9quipements l\u2019ont r\u00e9ellement install\u00e9. Dans un parc r\u00e9el, certains syst\u00e8mes peuvent \u00eatre \u00e9teints, temporairement hors ligne ou isol\u00e9s du r\u00e9seau. Il est donc n\u00e9cessaire de distinguer \u00ab&nbsp;le correctif a \u00e9t\u00e9 d\u00e9ploy\u00e9&nbsp;\u00bb de \u00ab&nbsp;tous les \u00e9quipements concern\u00e9s utilisent maintenant une version corrig\u00e9e&nbsp;\u00bb.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Avec un syst\u00e8me de gestion centralis\u00e9 comme le <em>Device Manager<\/em> d\u2019Eris Linux, les contacts r\u00e9guliers des \u00e9quipements permettent de suivre leurs versions et leur \u00e9tat. On peut ainsi identifier les syst\u00e8mes qui n\u00e9cessitent encore une intervention.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cette tra\u00e7abilit\u00e9 devient particuli\u00e8rement int\u00e9ressante lorsqu\u2019il faut, quelques jours plus tard, documenter pr\u00e9cis\u00e9ment les mesures mises en \u0153uvre pour r\u00e9pondre \u00e0 la vuln\u00e9rabilit\u00e9.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Fermer la boucle r\u00e9glementaire<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">D\u00e8s qu&rsquo;une mesure corrective est disponible, un nouveau d\u00e9lai commence. Le rapport final pr\u00e9vu par le CRA doit \u00eatre transmis au plus tard <strong>quatorze jours<\/strong> apr\u00e8s cette date.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Outre les champs pr\u00e9c\u00e9dents, \u00e9ventuellement compl\u00e9t\u00e9s ou corrig\u00e9s, on remplira les \u00e9l\u00e9ments suivants&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>(<em>Corrective or mitigating measures taken<\/em>) Les <strong>mesures correctives prises par le fabricant<\/strong> (exemple&nbsp;: \u00ab\u00a0<em>Remplacement de la version <code>1.2.1<\/code> de la <code>libfoo<\/code> par la version <code>1.2.4<\/code> dans tous nos produits concern\u00e9s<\/em>\u00a0\u00bb ).<\/li>\n\n\n\n<li>(<em>Corrective or mitigating measures that users can take<\/em>) Les <strong>actions correctrices que l&rsquo;utilisateur peut prendre<\/strong> (exemple&nbsp;: \u00ab\u00a0<em>Connecter son \u00e9quipement \u00e0 Internet et accepter l&rsquo;installation de la nouvelle version de notre application<\/em>\u00a0\u00bb ).<\/li>\n\n\n\n<li>(<em>Date when corrective or mitigating measure has been available<\/em>) <strong>Date et heure<\/strong> \u00e0 laquelle les mesures correctrices ont \u00e9t\u00e9 prises ainsi que la description du correctif (exemple&nbsp;: \u00ab\u00a0<em>Application du patch permettant de passer \u00e0 la version <code>1.2.4<\/code> de la <code>libfoo<\/code><\/em>\u00a0\u00bb ).<\/li>\n\n\n\n<li>(<em>Full description of the Severity &amp; Impact of the vulnerability<\/em>) Niveau de gravit\u00e9 et impact de la vuln\u00e9rabilit\u00e9 (exemple&nbsp;: \u00ab\u00a0<em>Haute gravit\u00e9, risque de compromission des comptes utilisateurs<\/em>\u00a0\u00bb ).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le CRA impose par ailleurs, lorsqu\u2019une mise \u00e0 jour de s\u00e9curit\u00e9 est disponible, la communication des informations pertinentes aux utilisateurs, d&rsquo;autant plus s&rsquo;ils doivent prendre des actions pour assurer le fonctionnement s\u00e9curis\u00e9 de leur \u00e9quipement.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On voit donc que la gestion d\u2019une vuln\u00e9rabilit\u00e9 ne consiste pas simplement \u00e0 modifier quelques lignes de code. Elle englobe l\u2019identification, l\u2019analyse, la communication, la production du correctif, les tests, le d\u00e9ploiement, le suivi des \u00e9quipements et enfin la documentation de l\u2019ensemble du processus.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Se pr\u00e9parer avant que cela arrive<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dans la situation d\u00e9crite ici, les d\u00e9lais sont courts. Le moment o\u00f9 une vuln\u00e9rabilit\u00e9 activement exploit\u00e9e est annonc\u00e9e n\u2019est probablement pas le meilleur moment pour commencer \u00e0 se demander&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Qui est responsable de l\u2019analyse&nbsp;?<\/li>\n\n\n\n<li>Qui poss\u00e8de un compte sur la plateforme de signalement&nbsp;?<\/li>\n\n\n\n<li>Qui peut d\u00e9cider d\u2019un d\u00e9ploiement urgent&nbsp;?<\/li>\n\n\n\n<li>Comment identifier les produits concern\u00e9s&nbsp;?<\/li>\n\n\n\n<li>O\u00f9 se trouve leur nomenclature logicielle&nbsp;?<\/li>\n\n\n\n<li>Comment pr\u00e9venir les clients&nbsp;?<\/li>\n\n\n\n<li>Comment distribuer une mise \u00e0 jour&nbsp;?<\/li>\n\n\n\n<li>Comment savoir ensuite quels \u00e9quipements ont r\u00e9ellement \u00e9t\u00e9 corrig\u00e9s&nbsp;?<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ces questions devraient id\u00e9alement avoir re\u00e7u une r\u00e9ponse <strong>avant<\/strong> l\u2019incident.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Une proc\u00e9dure interne relativement simple, test\u00e9e occasionnellement comme on testerait un plan de reprise apr\u00e8s sinistre, peut probablement \u00e9viter beaucoup d\u2019improvisation le jour o\u00f9 les d\u00e9lais de 24 et 72 heures commencent r\u00e9ellement \u00e0 courir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eris Linux n\u2019apporte \u00e9videmment pas de r\u00e9ponse automatique au <em>Cyber Resilience Act<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Son objectif est plus pragmatique&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>vous fournir un socle Linux dont nous prenons en charge la maintenance, le suivi des vuln\u00e9rabilit\u00e9s et les exigences CRA qui rel\u00e8vent de ce socle,<\/li>\n\n\n\n<li>vous fournir les m\u00e9canismes permettant de ma\u00eetriser vos propres applications, de les mettre \u00e0 jour et de documenter leur exploitation afin de faciliter la conformit\u00e9 CRA de votre produit final.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si vous souhaitez plus de d\u00e9tails sur <strong>Eris Linux<\/strong>, n&rsquo;h\u00e9sitez pas \u00e0 me contacter. Je pourrai vous proposer une pr\u00e9sentation du produit avec mise en pratique sur une cible courante.<\/p>","protected":false},"excerpt":{"rendered":"<p>Imaginons une situation qui, malheureusement, risque de devenir famili&egrave;re aux fabricants de produits connect&eacute;s. Mardi matin, 9 h 15. Vous apprenez qu&rsquo;une vuln&eacute;rabilit&eacute; concernant une biblioth&egrave;que Open Source utilis&eacute;e dans votre produit est d&eacute;sormais activement exploit&eacute;e. (La d&eacute;finition d&rsquo;activement exploit&eacute;e, terme utilis&eacute; dans le CRA, Cyber Resilience Act, sera d&eacute;taill&eacute;e plus bas) Votre produit est [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-7964","post","type-post","status-publish","format-standard","hentry","category-linux-2"],"_links":{"self":[{"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/posts\/7964","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/comments?post=7964"}],"version-history":[{"count":37,"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/posts\/7964\/revisions"}],"predecessor-version":[{"id":8032,"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/posts\/7964\/revisions\/8032"}],"wp:attachment":[{"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/media?parent=7964"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/categories?post=7964"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/tags?post=7964"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}