<?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>CICD - RiskInsight</title>
	<atom:link href="https://www.riskinsight-wavestone.com/en/tag/cicd-2/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.riskinsight-wavestone.com/en/tag/cicd-2/</link>
	<description>The cybersecurity &#38; digital trust blog by Wavestone&#039;s consultants</description>
	<lastBuildDate>Fri, 31 Jan 2025 15:11:05 +0000</lastBuildDate>
	<language>en-US</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>CICD - RiskInsight</title>
	<link>https://www.riskinsight-wavestone.com/en/tag/cicd-2/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Enterprise Access Model (2/2): What are the solutions to secure the Control Plane </title>
		<link>https://www.riskinsight-wavestone.com/en/2025/01/enterprise-access-model-2-2-what-are-the-solutions-to-secure-the-control-plane/</link>
					<comments>https://www.riskinsight-wavestone.com/en/2025/01/enterprise-access-model-2-2-what-are-the-solutions-to-secure-the-control-plane/#respond</comments>
		
		<dc:creator><![CDATA[Etienne Lafore]]></dc:creator>
		<pubDate>Fri, 31 Jan 2025 15:11:04 +0000</pubDate>
				<category><![CDATA[Focus]]></category>
		<category><![CDATA[CICD]]></category>
		<category><![CDATA[cloud security]]></category>
		<category><![CDATA[compromise]]></category>
		<category><![CDATA[control plane]]></category>
		<category><![CDATA[IT support]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=25229</guid>

					<description><![CDATA[<p>In the first article of this series, we explored the foundation of Microsoft’s Enterprise Access Model (EAM), focusing on the critical task of scoping the Control Plane to safeguard cloud administration. We delved into the evolving security landscape, where the...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2025/01/enterprise-access-model-2-2-what-are-the-solutions-to-secure-the-control-plane/">Enterprise Access Model (2/2): What are the solutions to secure the Control Plane </a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p style="text-align: justify;"><span data-contrast="auto">In the first article of this series, we explored the foundation of Microsoft’s Enterprise Access Model (EAM), focusing on the critical task of scoping the Control Plane to safeguard cloud administration. We delved into the evolving security landscape, where the traditional AD 3-tiers model is no longer sufficient for the complexities and dependencies of cloud environments. The shift to the cloud has introduced new risks, particularly the global compromise originating from a single weak point of the Control Plane. Then, we emphasized the importance of identifying and isolating key components whose compromise could lead to a global compromise of Entra ID. </span><span data-ccp-props="{}"> </span></p>
<p style="text-align: justify;"><span data-contrast="auto">In this second article, we will analyze practical attack scenarios that threaten the Control Plane and provide actionable recommendations to mitigate these risks. Specifically, we will explore three common attack scenarios that pose significant threats to the control plane: IT Support compromise, Control Plane Administrator Laptop compromise and CI/CD compromise. By understanding these attack vectors and implementing robust security measures, you can significantly enhance your cloud environment&#8217;s resilience against potential compromises.</span><span data-ccp-props="{}"> </span></p>
<p style="text-align: justify;"><span data-ccp-props="{}"> </span></p>
<h2><b><span data-contrast="auto">IT support compromise</span></b><span data-ccp-props="{}"> </span></h2>
<p style="text-align: justify;"><span data-contrast="auto">Imagine a scenario where the account of a member of the IT support is compromised. This might occur through a phishing attack, social engineering, or even a credential stuffing attempt. Such accounts often can reset passwords, including those of very high-privilege users, like Application Administrator or an Azure’s </span><i><span data-contrast="auto">Owner</span></i><span data-contrast="auto"> at root level, thereby gaining unauthorized access to critical resources from Entra ID to the Cloud to On-premises to SaaS.</span><span data-ccp-props="{}"> </span></p>
<p style="text-align: justify;"><span data-ccp-props="{}"> <img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-25220" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/01/1-IT-support-compromise-scenario.jpg" alt="1-IT-support-compromise-scenario" width="930" height="417" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/01/1-IT-support-compromise-scenario.jpg 930w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/01/1-IT-support-compromise-scenario-426x191.jpg 426w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/01/1-IT-support-compromise-scenario-71x32.jpg 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/01/1-IT-support-compromise-scenario-768x344.jpg 768w" sizes="(max-width: 930px) 100vw, 930px" /></span></p>
<p style="text-align: justify;"><span data-contrast="auto">This type of attack illustrates a critical point we discussed in the first article: the need to scope and isolate the control plane effectively. The help desk, while essential for everyday operations, must be rigorously segregated from high-privilege administrative functions. The lack of such separation can allow an attacker to pivot from a compromised help desk account to a Global Admin role.</span><span data-ccp-props="{}"> </span></p>
<p style="text-align: justify;"><span data-contrast="auto">To mitigate this risk, organizations must implement a series of strategic defenses:</span><span data-ccp-props="{}"> </span></p>
<ul style="text-align: justify;">
<li data-leveltext="" data-font="Symbol" data-listid="6" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"><span data-contrast="auto">First, isolating control plane accounts from those managed by IT support is essential. This ensures that even if a help desk account is compromised, it cannot be used to access or manipulate high-privilege accounts. </span><span data-ccp-props="{}"> </span></li>
<li data-leveltext="" data-font="Symbol" data-listid="6" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"><span data-contrast="auto">Second, using cloud-only accounts dedicated to control plane tasks reduces the likelihood of legacy systems being exploited as an entry point. </span><span data-ccp-props="{}"> </span></li>
<li data-leveltext="" data-font="Symbol" data-listid="6" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"><span data-contrast="auto">Third, coupling these accounts with phishing-resistant Multi-Factor Authentication (MFA), Just-In-Time admin (JIT), robust identity governance and conditional access policies, strict workstation conformity creates a multi-layered defense that significantly diminishes the risk of such an attack.</span><span data-ccp-props="{}"> </span></li>
</ul>
<p style="text-align: justify;"><span data-contrast="auto">This scenario underscores the importance of viewing every account as a potential threat vector. By enforcing strict segregation and controls, you can ensure that your control plane remains secure, even if a lower-tier account is compromised.</span><span data-ccp-props="{}"> </span></p>
<p style="text-align: justify;"><span data-ccp-props="{}"> </span></p>
<h2><b><span data-contrast="auto">Control Plane Admin’s Laptop compromise</span></b><span data-ccp-props="{}"> </span></h2>
<p style="text-align: justify;"><span data-contrast="auto">Now, consider </span><span data-contrast="auto">a situation where the </span><span data-contrast="auto">attacker successfully compromises Intune’s </span><span data-contrast="auto">Mobile Device Manager (MDM) admin account</span><span data-contrast="auto">. With this access, the attacker gains control over Intune admin portal, allowing him to manipulate the laptop of a control plane admin. He can deploy malicious configurations, install backdoors, or directly connect to the admin’s laptop (Remote Help). This access turns the admin’s laptop into a powerful tool for further exploitation, granting the attacker the ability to execute commands, exfiltrate sensitive data, and manipulate cloud resources without the need for additional sophisticated hacking.</span><span data-ccp-props="{}"> </span></p>
<p style="text-align: justify;"><span data-ccp-props="{}"> <img decoding="async" class="aligncenter size-full wp-image-25222" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/01/2-Control-plane-administration-workstation-compromise-scenario.jpg" alt="2-Control-plane-administration-workstation-compromise-scenario." width="925" height="414" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/01/2-Control-plane-administration-workstation-compromise-scenario.jpg 925w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/01/2-Control-plane-administration-workstation-compromise-scenario-427x191.jpg 427w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/01/2-Control-plane-administration-workstation-compromise-scenario-71x32.jpg 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/01/2-Control-plane-administration-workstation-compromise-scenario-768x344.jpg 768w" sizes="(max-width: 925px) 100vw, 925px" /></span></p>
<p style="text-align: justify;"><span data-contrast="auto">This scenario reminds us of a key principle from the first article: cloud security must be approached holistically. It is not just about securing identities but also ensuring that the devices used to access the Control Plane are secured. In this case, the Control Plane admin’s laptop becomes a critical asset that, if compromised, could undermine even the most sophisticated cloud defences.</span><span data-ccp-props="{}"> </span></p>
<p style="text-align: justify;"><span data-contrast="auto">To prevent such an outcome, organizations need to integrate admin workstations in the Control Plane. At a minimum, devices used for administrative tasks must be tightly controlled through dedicated MDM policies, ensuring strict access controls, encryption, and continuous monitoring. However, for higher-risk scenarios, leveraging Privileged Access Workstations (PAWs) is essential. PAWs are isolated, hardened machines dedicated solely to administrative activities. They operate under a far stricter security regime than standard devices—limited internet access, dedicated management, and enhanced monitoring—ensuring that they cannot easily become a tool for attackers.</span><span data-ccp-props="{}"> </span></p>
<p style="text-align: justify;"><span data-contrast="auto">This scenario demonstrates that endpoint security is inseparable from cloud security. By securing the very devices that control your cloud infrastructure, you reduce the chances of a breach originating from compromised endpoints, ensuring that your Control Plane remains protected against even the most sophisticated attacks.</span><span data-ccp-props="{}"> </span></p>
<p> </p>
<h2><b><span data-contrast="auto">CI/CD compromise</span></b><span data-ccp-props="{}"> </span></h2>
<p style="text-align: justify;"><span data-contrast="auto">As cloud environments rely heavily on automation, CI/CD pipelines for managing infrastructure become prime targets for attackers. Imagine a scenario where an attacker gains access to a DevOps engineer’s account via phishing or credential theft. With this foothold, he pushes malicious Infrastructure as Code (IaC) change into a Git repository, knowing this will trigger an automated Azure pipeline. The pipeline validates, plans, and deploys the infrastructure on Azure, leading to the destruction or alteration of key Azure resources, i.e. the foundations of the Landing Zone. Alternatively, the attacker modifies the Azure Pipeline’s YAML configuration. By doing so, he causes the pipeline to leak a service principal secret in the logs or debug console, which is then used to make unauthorized Graph API calls. Abusing the overprivileged identity, the attacker can escalate its privilege, compromising Entra ID identities or Office 365 accounts. Runners also play a crucial role in the CICD pipeline. They are agents responsible for executing jobs in the pipeline. They can be hosted and maintained by the Cloud Provider or hosted on-premises. As with any server, their compromise can be used as a pivot point to bounce back to the Landing Zone (e.g., token stealing) or other associated services.</span><span data-ccp-props="{}"> </span></p>
<p style="text-align: justify;"><span data-ccp-props="{}"> <img decoding="async" class="aligncenter size-full wp-image-25224" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/01/3-CICD-compromise-scenario.jpg" alt="3-CICD-compromise-scenario." width="932" height="387" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2025/01/3-CICD-compromise-scenario.jpg 932w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/01/3-CICD-compromise-scenario-437x181.jpg 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/01/3-CICD-compromise-scenario-71x29.jpg 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2025/01/3-CICD-compromise-scenario-768x319.jpg 768w" sizes="(max-width: 932px) 100vw, 932px" /></span></p>
<p style="text-align: justify;"><span data-contrast="auto">This scenario illustrates interconnectedness of cloud security. The CI/CD pipeline, often seen as a back-office function, is, in reality, deeply integrated with the Control Plane. Its compromise can lead to widespread, devastating consequences to the very foundation of your cloud operations.</span><span data-ccp-props="{}"> </span></p>
<p style="text-align: justify;"><span data-contrast="auto">To protect against such threat, it is crucial to isolate the Control Plane’s pipeline whose purpose is to build the Landing Zone from project pipelines. Then, one should apply the principle of least privilege, ensuring that accounts and runners within the pipeline have only the permissions they need to perform their tasks. For example, to limit runner permissions we can use federated identity and request OpenID Connect (OIDC) tokens, which provide scoped and temporary access to Cloud Services like Azure. Additionally, adopting automated security practices such as Configuration as Code (CaC) or Policy as Code (PaC), can help reduce human error and ensure consistent security across your deployments.</span><span data-ccp-props="{}"> </span></p>
<p style="text-align: justify;"><span data-contrast="auto">In cloud security, every process and every tool must be viewed through the lens of potential risk. The CI/CD pipeline is no exception. By securing this critical component, you not only protect your control plane but also ensure the stability and security of your entire cloud infrastructure. This holistic approach to cloud security is what will ultimately keep your operations running smoothly, even in the face of sophisticated attacks.</span><span data-ccp-props="{}"> </span></p>
<p> </p>
<h2 style="text-align: justify;"><b><span data-contrast="auto">Synthesis</span></b><span data-ccp-props="{}"> </span></h2>
<p style="text-align: justify;"><span data-contrast="auto">In this article, we have examined three attack scenarios that threaten the security of the control plane in cloud environments: IT support compromise, Control Plane Admin’s laptop compromise, and CI/CD pipeline compromise. </span><span data-ccp-props="{}"> </span></p>
<p style="text-align: justify;"><span data-contrast="auto">Each of these scenarios highlights the importance of a multi-layered security approach that includes both technical and organizational measures. We propose a four-step strategy designed to design your Control Plane and secure it against potential attacks:</span><span data-ccp-props="{}"> </span></p>
<ul style="text-align: justify;">
<li data-leveltext="-" data-font="Aptos" data-listid="5" data-list-defn-props="{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="0" data-aria-level="1"><b><span data-contrast="auto">Step 1: define what is systemic for your infrastructure:</span></b><span data-contrast="auto"> identify the critical components and accounts within your control plane that, if compromised, could lead to a global disruption.</span></li>
<li data-leveltext="-" data-font="Aptos" data-listid="5" data-list-defn-props="{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="0" data-aria-level="1"><b><span data-contrast="auto">Step 2: assess your current risk with a security audit:</span></b><span data-contrast="auto"> conduct regular security audits to evaluate the current state of your control plane security. This will help you identify vulnerabilities and prioritize remediation efforts.</span></li>
<li data-leveltext="-" data-font="Aptos" data-listid="5" data-list-defn-props="{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="0" data-aria-level="1"><b><span data-contrast="auto">Step 3: define a roadmap to isolate and secure the assets most at risk:</span></b><span data-contrast="auto"> based on your audit findings, develop a clear roadmap for securing the most critical assets. This should include timelines, resource allocation, and specific actions to mitigate identified risks.</span><span data-ccp-props="{}"> </span></li>
<li data-leveltext="-" data-font="Aptos" data-listid="5" data-list-defn-props="{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="0" data-aria-level="1"><b><span data-contrast="auto">Step 4: prepare for cloud eraser scenarios:</span></b><span data-contrast="auto"> consider worst-case scenarios where entire sections of your cloud infrastructure might be compromised or disabled. Develop contingency plans and ensure that backups and disaster recovery processes are in place.</span><span data-ccp-props="{}"> </span></li>
</ul>
<p style="text-align: justify;"><span data-contrast="auto">By following these recommendations, you can build a robust defense against potential threats to your control plane, ensuring that your cloud environment remains secure and resilient.</span><span data-ccp-props="{}"> </span></p>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">Thank you to <strong>Louis CLAVERO</strong> for contributing to this article.</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2025/01/enterprise-access-model-2-2-what-are-the-solutions-to-secure-the-control-plane/">Enterprise Access Model (2/2): What are the solutions to secure the Control Plane </a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.riskinsight-wavestone.com/en/2025/01/enterprise-access-model-2-2-what-are-the-solutions-to-secure-the-control-plane/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>CI/CD in AWS: The Solution to All Your Problems? What You Need to Know.</title>
		<link>https://www.riskinsight-wavestone.com/en/2023/11/ci-cd-in-aws-the-solution-to-all-your-problems-what-you-need-to-know/</link>
					<comments>https://www.riskinsight-wavestone.com/en/2023/11/ci-cd-in-aws-the-solution-to-all-your-problems-what-you-need-to-know/#respond</comments>
		
		<dc:creator><![CDATA[Christophe Berenguer]]></dc:creator>
		<pubDate>Fri, 03 Nov 2023 14:46:35 +0000</pubDate>
				<category><![CDATA[Cloud & Next-Gen IT Security]]></category>
		<category><![CDATA[Focus]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[CICD]]></category>
		<category><![CDATA[DevSecOps]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=21758</guid>

					<description><![CDATA[<p>Integrating security directly into the configuration of CI/CD pipelines, especially through the practice of DevSecOps, enables the development of secure applications while increasing delivery frequency. This relieves pressure on security teams, which can often be a limiting factor in the...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2023/11/ci-cd-in-aws-the-solution-to-all-your-problems-what-you-need-to-know/">CI/CD in AWS: The Solution to All Your Problems? What You Need to Know.</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p style="text-align: justify;">Integrating security directly into the configuration of CI/CD pipelines, especially through the practice of DevSecOps, enables the development of secure applications while increasing delivery frequency. This relieves pressure on security teams, which can often be a limiting factor in the production release cycle.</p>
<p style="text-align: justify;">However, setting up a relevant and effective CI/CD pipeline for each project context can be complex. Technologies vary, security requirements can differ, and target environments are not always identical. Given the ambitions and challenges posed by creating a unified CI/CD pipeline, it may not always be prudent to leverage IaaS or on-premise services, which also require infrastructure team investments. Cloud (PaaS) solutions offer a good middle ground between customizing the CI/CD pipeline and ease of implementation. Cloud solutions also allow for on-demand resource provisioning to better adapt to business needs.</p>
<p style="text-align: justify;">There are numerous cloud-based CI/CD solutions that can potentially meet both security and efficiency requirements for the development pipeline. In this article, we aim to present our perspective on Amazon Web Services (AWS) solutions, which remain one of the market leaders.</p>
<h3 style="text-align: justify;"><strong>What can AWS CI/CD services offer in terms of features and added value?</strong></h3>
<p style="text-align: justify;">If you are not familiar with AWS CodeCommit, CodePipeline, CodeBuild, or CodeDeploy, we offer an introduction to better understand the workings of the AWS DevSecOps environment. To provide an overview of the tools offered by AWS, we describe the functionality of these different services in the following paragraphs.</p>
<p> </p>
<h2 style="text-align: justify;">Let&#8217;s start from the beginning: From DevOps to DevSecOps</h2>
<p style="text-align: justify;">DevOps is a key element in the software development lifecycle of companies. DevOps relies on CI/CD tooling and is  pipeline on which the evolution of source code into a production-ready application depends. CI/CD accelerates the phases of build, test, and deployment to increase the delivery frequency of applications. This acceleration is made possible by automating many tasks within a CI/CD pipeline, which is a series of actions leading to production deployment.</p>
<p style="text-align: justify;">DevSecOps adds security aspects to DevOps and relies on certain internal tools within the CI/CD pipeline. These tools integrate at every level of the CI/CD pipeline to scan the source code (SAST – Static Application Security Testing), dependencies (SCA – Software Composition Analysis), and more. The goal, as discussed in our <a href="https://www.riskinsight-wavestone.com/en/2022/09/security-in-agility-and-devsecops-linked-fates/">previous article</a>, is to integrate security as early as possible. The CI/CD pipeline is a significant component in ensuring the security of developments. One could even say that the CI/CD pipeline plays as important a role in secure development as Identity and Access Management (IAM) does in identity and access management.</p>
<p> </p>
<h2 style="text-align: justify;">CI/CD in AWS</h2>
<p style="text-align: justify;">AWS offers a multitude of services that not only provide classic infrastructure services but also allow the establishment of continuous development pipelines (from source code to deployment), while ensuring proper security testing.</p>
<p> </p>
<figure id="attachment_21745" aria-describedby="caption-attachment-21745" style="width: 554px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-21745 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2023/11/Image1.png" alt="" width="554" height="388" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2023/11/Image1.png 554w, https://www.riskinsight-wavestone.com/wp-content/uploads/2023/11/Image1-273x191.png 273w, https://www.riskinsight-wavestone.com/wp-content/uploads/2023/11/Image1-56x39.png 56w" sizes="auto, (max-width: 554px) 100vw, 554px" /><figcaption id="caption-attachment-21745" class="wp-caption-text"><em>Example of a CI/CD pipeline primarily hosted on AWS</em></figcaption></figure>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">The orchestrator CodePipeline organises and links the different stages of the CI/CD pipeline. This tool coordinates the progression within the CI/CD pipeline based on the results of other tools and services. If one of the tools returns a failure code, the pipeline can be blocked if necessary. The reasons for a pipeline failure can vary, such as insufficient code security score or tool deployment failure.</p>
<p> </p>
<h3 style="text-align: justify;">Code Management: SCM and AWS CodeCommit</h3>
<p style="text-align: justify;">Code version control systems (or SCM: Source Code Manager) are essential tools for collaborative code editing during  development and serve as the starting point for continuous integration pipelines. Currently, only three SCMs offer native integration: GitHub, BitBucket, and AWS CodeCommit. For any other integration with a non-natively supported SCM, you can create a serverless Lambda function-based routine and a webhook (HTTP notification) to download source code to AWS S3 with each developer commit.</p>
<p style="text-align: justify;">AWS CodeCommit is the SCM service offered by AWS. It&#8217;s a code hosting service that supports version control and collaboration, similar to GitHub or GitLab, with Git commands. The advantage of AWS CodeCommit is its full integration with the AWS environment, making it easier to interconnect with other AWS services. Using AWS CodeCommit also allows for the use of AWS Identity and Access Management (IAM), avoiding the duplication of identity repositories and role management within a third-party SCM. All of this makes AWS CodeCommit a suitable solution when used within an entirely AWS environment due to its close integration with other AWS services. However, AWS CodeCommit offers relatively limited features compared to GitHub such as user experience and interface, and has a smaller community than GitHub or GitLab. If the CI/CD pipeline includes multiple solutions external to AWS, other solutions such as GitHub or GitLab will likely provide more flexibility.</p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;">Build Phase: AWS CodeBuild</h3>
<p style="text-align: justify;">Once development is complete, AWS CodeBuild takes over. This tool can be used for both compiling/building an application and running tests via CI runners. The service executes the instructions provided in an input file called buildspec.yml. It is a versatile tool, similar to classic CI tools like GitLab CI or GitHub Actions.</p>
<p> </p>
<figure id="attachment_21747" aria-describedby="caption-attachment-21747" style="width: 877px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-21747 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2023/11/Image2.png" alt="" width="877" height="526" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2023/11/Image2.png 877w, https://www.riskinsight-wavestone.com/wp-content/uploads/2023/11/Image2-318x191.png 318w, https://www.riskinsight-wavestone.com/wp-content/uploads/2023/11/Image2-65x39.png 65w, https://www.riskinsight-wavestone.com/wp-content/uploads/2023/11/Image2-768x461.png 768w" sizes="auto, (max-width: 877px) 100vw, 877px" /><figcaption id="caption-attachment-21747" class="wp-caption-text"><em>Example of BitBucket Integration in AWS CodeBuild*</em></figcaption></figure>
<p> </p>
<p style="text-align: justify;">AWS CodeBuild also allows for running security tests (SAST, SCA, etc.) by installing and using applications on its runners. Take SonarQube, for example, a code quality tool with a SAST module for scanning source code to identify vulnerabilities. The execution works as follows:</p>
<p> </p>
<figure id="attachment_21749" aria-describedby="caption-attachment-21749" style="width: 605px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-21749 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2023/11/Image3.png" alt="" width="605" height="363" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2023/11/Image3.png 605w, https://www.riskinsight-wavestone.com/wp-content/uploads/2023/11/Image3-318x191.png 318w, https://www.riskinsight-wavestone.com/wp-content/uploads/2023/11/Image3-65x39.png 65w" sizes="auto, (max-width: 605px) 100vw, 605px" /><figcaption id="caption-attachment-21749" class="wp-caption-text"><em>Launching a SonarQube code scan with AWS CodeBuild</em></figcaption></figure>
<p style="text-align: justify;"> </p>
<ol style="text-align: justify;">
<li>When the source code is modified, a webhook notification (HTTP POST request from the SCM) is sent to AWS (in practice, this event is managed by AWS EventBridge or AWS CodePipeline), triggering the test.</li>
<li>The source code is duplicated on the CI runner, which scans it and produces a report.</li>
<li>This report is then sent to a SonarQube server (on-premise or on an EC2).</li>
<li>After analysis, SonarQube produces a final report indicating the code&#8217;s security level.</li>
<li>These results are sent to CodeBuild, which interprets, based on the conditions in the buildspec.yml file, whether the test was successful or not.</li>
</ol>
<p style="text-align: justify;">Again, the key advantage of CodeBuild is its integration with the environment, allowing close collaboration with other AWS services. For example, it&#8217;s easier to assign specific roles to CodeBuild projects, use AWS Secrets Manager (for secret management), or enable deployment with AWS CodeDeploy.</p>
<p> </p>
<h3 style="text-align: justify;">Deployment: AWS CodeDeploy</h3>
<p style="text-align: justify;">The deployment of an application marks the end of its development cycle. Within AWS, deployment is achieved through AWS CodeDeploy. Its role is to retrieve the artifacts and necessary configuration files from dedicated S3 buckets and deploy them on the chosen server (EC2, etc.). AWS CodeDeploy differs from AWS Elastic Beanstalk, which deploys an application solely based on its code (usually not supporting compiled languages like C/C++).</p>
<p style="text-align: justify;">CodeDeploy operates by deploying code to any type of server, whether hosted by AWS or not. Its operation is simple: an agent (CodeDeploy agent) is installed on the target server. This agent is responsible for downloading the artifacts, installing them, and launching the application.</p>
<p> </p>
<figure id="attachment_21751" aria-describedby="caption-attachment-21751" style="width: 605px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-21751 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2023/11/Image4.png" alt="" width="605" height="347" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2023/11/Image4.png 605w, https://www.riskinsight-wavestone.com/wp-content/uploads/2023/11/Image4-333x191.png 333w, https://www.riskinsight-wavestone.com/wp-content/uploads/2023/11/Image4-68x39.png 68w, https://www.riskinsight-wavestone.com/wp-content/uploads/2023/11/Image4-120x70.png 120w" sizes="auto, (max-width: 605px) 100vw, 605px" /><figcaption id="caption-attachment-21751" class="wp-caption-text"><em>Deployment of an application on an EC2 instance using AWS CodeDeploy and GitHub (no artifacts are downloaded from AWS S3 in this example)</em></figcaption></figure>
<p> </p>
<p style="text-align: justify;">It is necessary to define in advance the instances involved in the deployment and assign them an arbitrary AWS tag for identification. All these instances then constitute a &#8220;deployment group.&#8221; When deployment is initiated, CodeDeploy selects the relevant instances and publishes its instructions. However, communication is initiated by the target instance; the CodeDeploy agent contacts the CodeDeploy service by polling for new instructions (polling mode). This communication method avoids opening ports, enhancing the security posture of the instance.</p>
<p style="text-align: justify;">AWS CodeDeploy is an effective tool for deploying code to any type of infrastructure. However, it requires the installation of an agent managed by AWS on the instance where the code is deployed, which may not always be desirable depending on the client&#8217;s context. Polling by EC2 instances may impact the performance of a critical application or be detected as malicious by Endpoint Detection and Response (EDR) or Network Detection &amp; Response (NDR) systems.</p>
<p> </p>
<h2 style="text-align: justify;">Securing the AWS CI/CD Pipeline</h2>
<p style="text-align: justify;">Given the critical role of the CI/CD pipeline in application development, it is essential to secure this infrastructure, including tooling, integration, and pipeline configuration. Below, we summarise some areas to consider when implementing an AWS CI/CD pipeline, which can be managed through the creation of AWS policies to alert or enforce their application.</p>
<p> </p>
<h3 style="text-align: justify;">Flow Management</h3>
<p style="text-align: justify;">By default, flows to AWS managed services (CodeBuild, CodeDeploy, etc.) transit over the internet before returning to the client instance of the resource. To avoid sending all flows to AWS services over the internet, we recommend setting up VPC endpoints. These network access points allow instances within a VPC to contact AWS services as if they were deployed within the VPC.</p>
<p> </p>
<h3 style="text-align: justify;">Secret Management</h3>
<p style="text-align: justify;">Secrets required to access services or other APIs should not be stored in plaintext in SCMs or pipeline configuration files. To avoid any leakage of confidential information during legitimate or unauthorised access to these directories, we recommend implementing an AWS Secret Manager to store secrets (e.g., SonarQube API keys) and distribute them to services only when necessary. Retrieving a secret is done through an API call to this vault, with privilege verification.</p>
<p> </p>
<h3 style="text-align: justify;">Supervision/Monitoring</h3>
<p style="text-align: justify;">Like any infrastructure, the CI/CD pipeline requires monitoring. Native AWS solutions for service monitoring include AWS CloudWatch for log collection, AWS EventBridge for creating alerts, and AWS SNS/SQS for sending notifications to predefined groups (email, SMS, push notifications, etc.). Monitoring the CI/CD pipeline allows for alerting against potentially dangerous production releases, for example, if a project attempts to bypass implemented security policies.</p>
<p> </p>
<h3 style="text-align: justify;">Identity and Access Management</h3>
<p style="text-align: justify;">Privilege management within AWS is based on Role-Based Access Control (RBAC) whereby each user action requires specific permissions. For example, if a user wants access to an S3 bucket, they must first obtain read permission associated with the corresponding S3 resource. It is essential to adhere to the principle of least privilege, which involves assigning clients (users and services) only the rights they need. AWS permissions allow for complete configuration of client access to each service/resource. However, the granularity of rights can be cumbersome to configure in a large-scale CI/CD infrastructure. AWS offers predefined roles that allow for quick application of sets of permissions. Still, these predefined roles often do not adhere to the principle of least privilege. Therefore, it is important to create roles that apply the principle of least privilege without delving into micromanagement of rights.</p>
<p> </p>
<h2 style="text-align: justify;">Our Beliefs on AWS CI/CD</h2>
<p style="text-align: justify;">The CI/CD solutions available in AWS cloud are interesting and natively integrated with other AWS services. Native integration is particularly useful in the case of a pipeline hosted entirely by AWS. When most of a company&#8217;s infrastructure is already migrated to AWS, you can take advantage of interconnections between services and powerful access management and monitoring solutions with minimal additional configuration. However, for a simple and isolated use case, AWS CodeCommit or AWS CodeBuild might not be the preferred choice. Solutions such as GitHub and GitLab offer more comprehensive solutions, better integration with other vendors, and a more user-friendly interface. Similarly, regarding security, AWS does not offer native CI/CD security services for code validation (SAST, DAST, etc.). AWS does not provide native integration, but third-party services can still be integrated relatively easily.</p>
<p> </p>
<p style="text-align: justify;"><em>*Example of BitBucket Integration in AWS CodeBuild &#8211; </em><em><a href="https://docs.aws.amazon.com/codebuild/latest/userguide/sample-bitbucket-pull-request.html">Source</a></em></p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2023/11/ci-cd-in-aws-the-solution-to-all-your-problems-what-you-need-to-know/">CI/CD in AWS: The Solution to All Your Problems? What You Need to Know.</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.riskinsight-wavestone.com/en/2023/11/ci-cd-in-aws-the-solution-to-all-your-problems-what-you-need-to-know/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Security in Agility and DevSecOps: linked fates?</title>
		<link>https://www.riskinsight-wavestone.com/en/2022/09/security-in-agility-and-devsecops-linked-fates/</link>
					<comments>https://www.riskinsight-wavestone.com/en/2022/09/security-in-agility-and-devsecops-linked-fates/#respond</comments>
		
		<dc:creator><![CDATA[Emma Barfety]]></dc:creator>
		<pubDate>Wed, 21 Sep 2022 16:00:00 +0000</pubDate>
				<category><![CDATA[Cloud & Next-Gen IT Security]]></category>
		<category><![CDATA[Focus]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[CICD]]></category>
		<category><![CDATA[DevSecOps]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=18781</guid>

					<description><![CDATA[<p>Is it necessary to engage in DevSecOps because projects work in Agile? A few questions need to be asked to get a clearer picture. In previous articles, we talked a lot about how security should be organised to accompany agile...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2022/09/security-in-agility-and-devsecops-linked-fates/">Security in Agility and DevSecOps: linked fates?</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p style="text-align: justify;">Is it necessary to engage in DevSecOps because projects work in Agile? A few questions need to be asked to get a clearer picture.</p>
<p style="text-align: justify;">In previous articles, we talked a lot about how security should be organised to accompany agile projects: <a href="https://www.riskinsight-wavestone.com/en/2019/12/cybersecurity-transformation-agile/">the change in the security paradigm to ensure Security by Design</a>, how to organise the ISS teams in the face of these changes, the possible methodologies for continuing to <a href="https://www.riskinsight-wavestone.com/en/2020/06/comment-conduire-un-atelier-cybersecurite-agile/">analyse risks</a> or <a href="https://www.riskinsight-wavestone.com/en/2021/03/security-accreditation-for-agile-projects-how-to-successfully-do-it/">get security approvals</a> (and a general reminder of what <a href="https://www.riskinsight-wavestone.com/en/2021/10/agile-security/">security looks like in agile</a>).</p>
<p style="text-align: justify;">These articles were <strong>mainly about the organisational and methodological paradigm</strong> shifts that ISS teams were undergoing, to be able to best support projects, which deliver code much faster.</p>
<h2 style="text-align: justify;">The links between Agility and DevOps</h2>
<p style="text-align: justify;">By shifting the focus towards the <strong>development teams</strong>, it is now a question of dealing in greater depth with <strong>software solutions and processes enabling security to be integrated directly into the development pipelines</strong> and into the daily lives of developers, where Agile and DevOps methodologies, although they aim to provide the best value to customers, will be expressed differently.</p>
<p style="text-align: justify;">As the DevOps movement was born later than Agile methods, development teams were organised earlier than operations in an iterative and rapid mode for application and service delivery. DevOps principles bridge this gap by <strong>bringing Operations and Development teams closer together</strong>, and by offering solutions to accelerate delivery through the strong automation of the software development lifecycle, via CI/CD pipelines. In the end, the two approaches feed off and complement each other, to deliver faster and with better quality, thanks to the automation of a large number of tasks, thus avoiding human errors.</p>
<h2 style="text-align: justify;">What about security?</h2>
<p style="text-align: justify;">Back to our topic of interest, it is now a question of <strong>automating security as much as possible</strong>. Just like the Agile and DevOps methods, Security in Agile and DevSecOps are also closely related. The idea is to bring security closer and closer to the development teams, but also make it as fast as possible. A key profile of the security principles in Agile is perfectly suited to DevSecOps: the <strong>Security Champion</strong>. As described in the article &#8220;<a href="https://www.riskinsight-wavestone.com/en/2021/01/how-to-structure-cybersecurity-teams-to-integrate-security-in-agile-at-scale/">How to structure SSI teams to ensure security in Agile at scale</a>&#8220;, this is the security ambassador within the development teams. They are an integral part of the product team and are present in every sprint. Their role is to ensure that security is considered in each sprint in the development of User Stories (by integrating Evil or Security User Stories already written, or by helping to write them). The Security Champion can come from the world of development and become more skilled in security issues, with the help of the Security Guild.</p>
<p style="text-align: justify;">To take it a step further, the Security Champion can also help their team understand automated security solutions, with the help of a specialist from the ISS team, who will help them to develop their skills in <strong>application security</strong>.</p>
<p style="text-align: justify;">Having said that, is it because Agile Security and DevSecOps are linked that one should automatically embark on a transformation programme towards DevSecOps?</p>
<h2 style="text-align: justify;">Some preparatory questions for embarking on DevSecOps.</h2>
<p style="text-align: justify;">In line with any major transformation project, it is worth asking why you are doing it, making sure you have a plan and the <strong>right sponsorship</strong>. DevSecOps is no exception to the rule, even if the questions to ask are specific.</p>
<h3 style="text-align: justify;">Defining the scope and objectives</h3>
<p style="text-align: justify;">Firstly, before you start, you need to identify your <strong>motivating factors</strong>. Is it to deliver faster? Better? More securely? Will the problems encountered by the Dev, Sec and Ops teams be resolved by bringing the skills together? This is to prioritise efforts and ensure that the project can be &#8216;sold&#8217; to sponsors. Next, the <strong>scope</strong> must be identified, trying to delimit it between <strong>transitional scope</strong> (short and medium term) and <strong>target scope</strong> (long term). Work can start on an application portfolio, a factory for testing, followed by creation of a roadmap for deploying the model to the full scope.</p>
<p style="text-align: justify;">The <strong>current maturity</strong> of the organisation in terms of tooling and automation in the product development cycle should be assessed. A good knowledge of the tools used in the pipelines is a prerequisite. If there are still too many grey areas, an inventory of existing tools and an <strong>inventory of the practices and processes in place should be put together first.</strong></p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;">Presence of the essential building blocks of the CI/CD pipeline</h3>
<p style="text-align: justify;">Before security can be integrated into development pipelines in an automated manner, it is first necessary to ensure that we have a good vision of what a state-of-the-art pipeline might look like. It is possible to embark on a DevSecOps programme without operational pipelines already installed but having a clear idea of the target is key. Here are some examples of solutions:</p>
<p style="text-align: justify;"><img loading="lazy" decoding="async" class="aligncenter wp-image-18769 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2022/09/Image1.png" alt="" width="929" height="480" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2022/09/Image1.png 929w, https://www.riskinsight-wavestone.com/wp-content/uploads/2022/09/Image1-370x191.png 370w, https://www.riskinsight-wavestone.com/wp-content/uploads/2022/09/Image1-71x37.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2022/09/Image1-768x397.png 768w" sizes="auto, (max-width: 929px) 100vw, 929px" /></p>
<p style="text-align: center;"><em>Figure 1 &#8211; the essential building blocks of a DevOps pipeline</em></p>
<p style="text-align: justify;">The company must also be able to quantify the developments carried out internally or externally, with development agencies. Indeed, a complete pipeline will be useful for companies developing mainly in-house: it is an indispensable tool for developing quickly, with the right security tools integrated into the pipeline. In the case of external developments, the principle is different, and security is less &#8220;easy&#8221; to control: agencies will not necessarily give access to their pipelines or their source code. They may only deliver executables or images, via remote repositories for example. Integrating security is therefore done by more traditional means: via Security Assurance Plans (SAPs) for example, or by contractually obliging agencies to train their developers in application security, via training software solutions (for example CodeWarrior, which delivers &#8216;belts&#8217; according to the level of training achieved).</p>
<p style="text-align: justify;">Secondly, one of the most important ideas is that <strong>the pipeline is built in stages</strong>. In line with the &#8220;test and learn&#8221; approach dear to Agile methods, a &#8220;pilot&#8221; version of the pipeline can be deployed for a volunteer product team to test it over a few weeks/months. The deployment is then carried out progressively, according to a pre-established roadmap. In most cases, companies first set up a DevOps pipeline, with a few codes analysis tools (most often quality-oriented), then, once the pipeline is considered functional, the security tools are added.</p>
<p style="text-align: justify;">However, it could be worthwhile to consider security tools as an integral part of the CICD pipeline. They could then be integrated into it progressively, according to a prioritised roadmap, as proposed below.</p>
<p style="text-align: justify;">Here are some examples of tools that make up the security stack:</p>
<p style="text-align: justify;"><img loading="lazy" decoding="async" class="aligncenter wp-image-18771 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2022/09/Image2.png" alt="" width="1225" height="344" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2022/09/Image2.png 1225w, https://www.riskinsight-wavestone.com/wp-content/uploads/2022/09/Image2-437x123.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2022/09/Image2-71x20.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2022/09/Image2-768x216.png 768w" sizes="auto, (max-width: 1225px) 100vw, 1225px" /></p>
<p style="text-align: center;"><em>Figure 2 &#8211; Examples of security solutions to be integrated into the CICD pipeline (DevSecOps)</em></p>
<p style="text-align: justify;">According to our feedback from the field, some tools are &#8220;easier” to implement and are therefore implemented as a priority.</p>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><strong>Static Application Security Testing (SAST) tools</strong></p>
<p style="text-align: justify;">As mentioned earlier, these tools are nearly always already present in the initial pipeline, in their code quality testing format. Here it is a matter of <strong>configuring them to go one step further</strong> and perform security analysis of static code. This type of tool can be integrated at several points in the pipeline, in a &#8220;<strong>shift-left</strong>&#8221; logic, i.e., integrating security as early as possible in the pipeline. It can be positioned directly on the developers&#8217; IDEs (integrated development environment), to provide them with &#8220;real-time&#8221; feedback on errors that could introduce vulnerabilities. It can also be used at the time of code compilation.</p>
<p style="text-align: justify;">A disadvantage of this type of tool is the high number of false positives. The configuration is scalable and improves over time. However, the governance and processes around the tool need to be thought out in advance: a <strong>vulnerability triage</strong> team can be a solution, as well as training security champions to spot false positives, with the help of an application security expert (an Application Security Engineer for example).</p>
<p style="text-align: justify;"><strong>SCA (Software Composition Analysis) tools</strong></p>
<p style="text-align: justify;">These tools should logically be installed as a priority, as developers make great use of <strong>open-source libraries</strong> to develop their products. The SCA will check the components of the library, such as licences, dependencies, vulnerabilities, and potential exploits. Many attacks originate from the uncontrolled use of open-source libraries that may contain critical vulnerabilities (such as the Log4Shell exploit).</p>
<p style="text-align: justify;">This tool can be used like SAST, on IDEs or before compiling the code.</p>
<p style="text-align: justify;"><strong>DAST tools</strong></p>
<p style="text-align: justify;">DAST tools scan running application builds for security vulnerabilities. They allow the simulation of a malicious attacker&#8217;s behaviour through automated pen tests and detect common security vulnerabilities such as OWASP 10. These tools may be less easy to use in authenticated mode (authentication is difficult in automatic mode, it must be done manually before running a test). The tests also take longer than a static scan, and dedicated time must be set aside so as not to disrupt the work of developers or production.</p>
<p style="text-align: justify;">They can be used at the time of testing, but also in production.</p>
<p style="text-align: justify;">It is necessary to think very early on about <strong>the governance and processes</strong> to be put in place around these tools, in particular by ensuring that developers cannot ignore detected vulnerabilities (by passing them as &#8220;false positives&#8221;, for example) and to ensure that vulnerabilities are centralised in a single tool (vulnerability management tool, for example), for greater efficiency.</p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;">Checking the presence of enabling technical prerequisites</h3>
<p style="text-align: justify;">The interest in working in DevSecOps may be limited on non-configurable and non-instantiable software package type applications.</p>
<p style="text-align: justify;">On the infrastructure side, Infrastructure as Code (management and provisioning of infrastructure via code rather than manual processes) allows the use of containers or provisioned VMs that are key to use CICD pipelines more efficiently.</p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;">Not forgetting the whole governance and change management layer around the project</h3>
<p style="text-align: justify;">Make sure you build, or already have, an operating model that meets your needs (security champions, enabler teams, tooling, processes). Working in &#8220;agile at scale&#8221; mode is not mandatory for the first iterations (depending on the scope chosen).</p>
<p style="text-align: justify;">Using a &#8220;test and learn&#8221; method to <strong>experiment</strong> is a good way to involve the teams very early on, and to get complete and relevant feedback from the field, before starting to deploy at scale. Cybersecurity experiments have been carried out with clients to find out what types of practices or tools to implement.</p>
<p style="text-align: justify;">Some examples:</p>
<p style="text-align: justify;">&#8211; <strong>Purple teaming</strong> to allow developers to see the results of another team&#8217;s testing tools and attempt to exploit them (allowing developers to see the reality of an attack and the potential ease of carrying it out),</p>
<p style="text-align: justify;">&#8211; Implementing solutions such as <strong>Cloudbees</strong>, to automate the CICD pipeline processes,</p>
<p style="text-align: justify;">&#8211; Training Security Champions to <strong>interpret the results</strong> of security tools.</p>
<p style="text-align: justify;">These experiments also act as change management, as most stakeholders can be involved early in the transformation programme.</p>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;">In conclusion</h2>
<p style="text-align: justify;">CICD pipelines are a <strong>real opportunity for security to become automated</strong>. By integrating the right tools into the pipeline, developers are supported in their practice, kept on real security guardrails, facilitating the development of a secure product.</p>
<p style="text-align: justify;">In addition to securing the products, it is also a question of <strong>securing the pipeline itself</strong>, in the same way as any component with broad access to the information system: it is a question of controlling access to the various tools that make up the pipeline, ensuring that secrets are properly managed, that the underlying servers are hardened, etc.</p>
<p style="text-align: justify;">In a future article, we will detail our views on the pillars of DevSecOps, or how to achieve a sustainable and effective transformation (based on shift-left, guardrails and empowerment of the teams on security!).</p>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><strong>Any comments or corrections? Do not hesitate to contact us!</strong></p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2022/09/security-in-agility-and-devsecops-linked-fates/">Security in Agility and DevSecOps: linked fates?</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.riskinsight-wavestone.com/en/2022/09/security-in-agility-and-devsecops-linked-fates/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
