<?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>Vincent Nguyen, Auteur</title>
	<atom:link href="https://www.riskinsight-wavestone.com/en/author/vincent-nguyen/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.riskinsight-wavestone.com/author/vincent-nguyen/</link>
	<description>The cybersecurity &#38; digital trust blog by Wavestone&#039;s consultants</description>
	<lastBuildDate>Tue, 14 Sep 2021 10:53:59 +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>Vincent Nguyen, Auteur</title>
	<link>https://www.riskinsight-wavestone.com/author/vincent-nguyen/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Security accreditation for Agile projects: how to successfully do it !</title>
		<link>https://www.riskinsight-wavestone.com/en/2021/03/security-accreditation-for-agile-projects-how-to-successfully-do-it/</link>
		
		<dc:creator><![CDATA[Vincent Nguyen]]></dc:creator>
		<pubDate>Mon, 22 Mar 2021 09:00:42 +0000</pubDate>
				<category><![CDATA[Cyberrisk Management & Strategy]]></category>
		<category><![CDATA[Focus]]></category>
		<category><![CDATA[How to]]></category>
		<category><![CDATA[accreditation]]></category>
		<category><![CDATA[agility]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=15390</guid>

					<description><![CDATA[<p>[nota bene: this article has been translated to English for accessibility reasons. It does not address UK or US regulations, but only French ones regarding Security Accreditation (“homologation” in French). It is nonetheless useful for any organization wanting to implement...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2021/03/security-accreditation-for-agile-projects-how-to-successfully-do-it/">Security accreditation for Agile projects: how to successfully do it !</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;"><em>[<strong>nota bene</strong>: this article has been translated to English for accessibility reasons. It does not address UK or US regulations, but only French ones regarding Security Accreditation (“homologation” in French). It is nonetheless useful for any organization wanting to implement security accreditation in Agile projects.]</em></p>
<p style="text-align: justify;">“Security accreditation is a formal act by which the authority responsible for a system commits its responsibility to risk management.” <a href="#_ftn1" name="_ftnref1">[1]</a>. It is of course mandatory in some cases<a href="#_ftn2" name="_ftnref2">[2]</a>, but beyond that, it is also a way of sending a strong message to users and top management: <strong>security is indeed a major topic for the</strong> <strong>organization</strong>. Agile methodology was at first designed for projects, but it can be a real opportunity for security teams to reduce security risks.</p>
<p style="text-align: justify;">This method disrupted working habits of product teams and ISS teams (Information System Security). The latter have to find a way to go beyond adapting old accreditation method and propose a new relevant solution to still comply with the original goal of the accreditation: “Find a balance between acceptable risk and security costs, then have it formally accepted by a manager/an authority who has the power to do so<a href="#_ftn3" name="_ftnref3">[3]</a>”.</p>
<p>&nbsp;</p>
<h2 style="text-align: justify;">One solution: provisional accreditation and long-term accreditation</h2>
<p style="text-align: justify;">As a famous Agile Security expert from Wavestone once said: “Agile and accreditation, it’s not rocket science”. Without denying the difficulties, explaining it is quite simple. Faced with teams that must deliver faster and provide continuous releases, the risk levels and therefore the security accreditation must be dealt with at the same pace.</p>
<h3>What should the accreditation consider?</h3>
<p style="text-align: justify;">As always, security accreditation is all about giving thorough information on a project’s security risk level to the Accreditation Authority, for them to decide if it’s acceptable with regard to the organization ISS criteria (e.g. number of EUS still on the backlog, percentage of security baseline rules implemented on a given scope, etc.). Then, they take responsibility for the possible residual risks.</p>
<p style="text-align: justify;">For example, only a few features are available to a few users at the beginning of a project. This small scope will display a lower level of risk (because of a low level of exposure) despite not being fully secured yet. Provisional accreditation (for a few months for example) may be issued to allow experimentation. It will have to be renewed when renewal criteria (defined in advance) are met.</p>
<figure id="post-15391 media-15391" class="align-none"><img fetchpriority="high" decoding="async" class="wp-image-15391 size-full aligncenter" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/03/Schema-agilite-EN.png" alt="" width="1652" height="930" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/03/Schema-agilite-EN.png 1652w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/03/Schema-agilite-EN-339x191.png 339w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/03/Schema-agilite-EN-69x39.png 69w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/03/Schema-agilite-EN-768x432.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/03/Schema-agilite-EN-1536x865.png 1536w" sizes="(max-width: 1652px) 100vw, 1652px" /></figure>
<p style="text-align: center;"><strong><em>Figure 1 </em></strong><em>– Product exposure to residual risk<br />
From the ANSSI&nbsp;guide (in French): Digital Agility and Security, October 2018 (</em><a href="https://www.ssi.gouv.fr/uploads/2018/11/guide-securite-numerique-agile-anssi-pa-v1.pdf"><em>link to the guide</em></a><em>)</em></p>
<p style="text-align: justify;">For a project at cruising speed, accessible to its target audience with all the expected features, a firm accreditation (3 years for example) is pronounced. The criteria for renewal, leading to the issuance of a new accreditation, are also defined in advance.</p>
<h3>When to renew the accreditation?</h3>
<p style="text-align: justify;">The criteria used to know when to renew the accreditation are closely linked to the project, the context, or the scope, but here are <strong>some examples</strong> to build these criteria. The provisional accreditation is valid until:</p>
<ul style="text-align: justify;">
<li>New critical features are added (“critical” depending on the project),</li>
<li>A new threshold for the number of users has been reached (defined in advance, depending on the associated risks),</li>
<li>New personal data must be integrated and processed by the project,</li>
<li>New features related to payments must be implemented,</li>
<li>A new level of transaction volume is reached,</li>
<li>And of course when the accreditation deadline is reached.</li>
</ul>
<p style="text-align: justify;">Long-term accreditation is valid for a longer time because less changes are expected at this stage of the project. That being said, the accreditation will have to be renewed regularly (at least every 3 years) to check on security levels and in a will of <strong>continuous improvement</strong>.</p>
<h3>What evidence should squads bring?</h3>
<p style="text-align: justify;">Squads/feature teams should be able to bring different types of evidence/proofs (of the security level) to the Accreditation authority/responsible for the accreditation. The Evil User Stories (EUS) serve as what we used to call risks, where prioritization gives information about their criticality (see our <a href="https://www.riskinsight-wavestone.com/en/2020/10/how-to-conduct-an-agile-cyber-security-workshop/">article on how to lead a workshop on risk analysis in Agile</a>). An extract from the backlog can be used as proof that the main EUS have been processed and that <strong>residual EUS</strong> are known (and accepted by the Accreditation Authority).</p>
<p style="text-align: justify;">The <strong>Security Form</strong> (or Passport, detailed in <a href="https://www.riskinsight-wavestone.com/en/2019/12/cybersecurity-transformation-agile/">this article on Agile transformation</a> &#8211; <em>in French</em> -) is also a relevant way to follow-up on security levels of projects.</p>
<p style="text-align: justify;"><strong>Code review</strong> and <strong>vulnerability scan reports</strong> can also be used (for squads that have integrated DevSecOps and have the appropriate tools).</p>
<p style="text-align: justify;">If the X-team exists (see <a href="https://www.riskinsight-wavestone.com/en/2021/01/how-to-structure-cybersecurity-teams-to-integrate-security-in-agile-at-scale/">our article on the new ISS roles in Agile and the corresponding organization</a>) or if an external audit team was able to perform them, the penetration test reports are also presented.</p>
<p style="text-align: justify;">Any other existing documents can be used to give all necessary information (architecture documents, applicable regulations, etc.).</p>
<p style="text-align: justify;">For provisional accreditation, these documents don’t have to be gathered in a proper “accreditation folder”, which would imply losing time for squads. What is necessary is to ensure they exist and are available to anyone involved in the accreditation process (accreditation authority or their delegate, ISS team, etc.).</p>
<h3>Who are the actors in this process?</h3>
<p style="text-align: justify;">During product development, the <strong>Security Champion</strong> (<a href="https://www.riskinsight-wavestone.com/en/2021/01/how-to-structure-cybersecurity-teams-to-integrate-security-in-agile-at-scale/">see this article for definition</a>) is in charge of organizing the risk analysis workshops (identification of EUS and associated Security Stories). The ISS team is of course involved in the process, bringing their knowledge to the squads during workshops.</p>
<p style="text-align: justify;">The <strong>Product Owner</strong> is responsible for the creation and updates of the necessary documentation. They also make sure the ISS team is informed and asked for help when needed.</p>
<p style="text-align: justify;"><strong>The accreditation Authority</strong> should be a business manager (e.g. the Business Owner) as usual. They must have the capacity to accept <strong>residual risks</strong> and validate the product security levels. As security should not slow down any Agile processes, the signing of a provisional accreditation may be delegated to the Product Owner, <strong>as they are representative of the Business Owner in the squad</strong>. The temporary accreditation can thus be signed faster if criteria for validity are met. In some cases, where projects would pose a risk to other businesses or systems, a transversal officer/business owner must be found, to sign for both businesses or systems. If no one is found, or no compromise is achieved, the Chief Information Officer (CIO) will assume responsibility, as it is their role to ensure the operational conditions of the Information System.</p>
<p style="text-align: justify;">As a conclusion, security accreditation remains key when speaking about integration of security into projects, in particular within the Agile framework which changes the product teams’ way of working. The ISS teams must take advantage and (re)join these product teams (through the Security Champion and the security training of the product teams) and thus work together towards the incremental reduction of risk.</p>
<p>&nbsp;</p>
<p style="text-align: justify;">More articles to come on Agile Security, stay tuned!</p>
<p>&nbsp;</p>
<p style="text-align: justify;"><a href="#_ftnref1" name="_ftn1">[1]</a> ANSSI guide (in French): <em>Digital</em> <em>Agility and Security</em>, October 2018 (<a href="https://www.ssi.gouv.fr/uploads/2018/11/guide-securite-numerique-agile-anssi-pa-v1.pdf">link to the guide</a>)</p>
<p style="text-align: justify;"><a href="#_ftnref2" name="_ftn2">[2]</a> (<strong>French regulations only</strong>) For administrations: decree n ° 2010-112 of February 2, 2010, terms of the General Safety Reference System (RGS). For any product dealing with information coming under National Defense secrecy: Interministerial General Instruction 1300. For operators of vital importance: cyber section of the LPM (law n ° 2013-1168 of 18 December 2013 &#8211; article 22), to strengthen the security of the critical information systems they operate, carried out as part of an accreditation process.</p>
<p style="text-align: justify;"><a href="#_ftnref3" name="_ftn3">[3]</a> ANSSI&nbsp;guide (in French): <em>The nine steps of the security accreditation</em>, August 2014 (<a href="https://www.ssi.gouv.fr/uploads/2014/06/guide_homologation_de_securite_en_9_etapes.pdf">link to the guide</a>)</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2021/03/security-accreditation-for-agile-projects-how-to-successfully-do-it/">Security accreditation for Agile projects: how to successfully do it !</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How can we structure cybersecurity teams to better integrate security in Agile at scale?</title>
		<link>https://www.riskinsight-wavestone.com/en/2021/01/how-to-structure-cybersecurity-teams-to-integrate-security-in-agile-at-scale/</link>
		
		<dc:creator><![CDATA[Vincent Nguyen]]></dc:creator>
		<pubDate>Mon, 11 Jan 2021 07:00:01 +0000</pubDate>
				<category><![CDATA[Cloud & Next-Gen IT Security]]></category>
		<category><![CDATA[Cybersecurity & Digital Trust]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[agile project]]></category>
		<category><![CDATA[enabler squad]]></category>
		<category><![CDATA[ISP agile]]></category>
		<category><![CDATA[security baseline]]></category>
		<category><![CDATA[security champion]]></category>
		<category><![CDATA[security guild]]></category>
		<category><![CDATA[x-team]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=14961</guid>

					<description><![CDATA[<p>As discussed in the previous article (in French), ISS teams must adapt their organisation, processes and tools to ensure that security issues are considered on an ongoing basis. Agile methodologies are becoming more common within organisations and security teams must...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2021/01/how-to-structure-cybersecurity-teams-to-integrate-security-in-agile-at-scale/">How can we structure cybersecurity teams to better integrate security in Agile at scale?</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>As discussed in the <a href="https://www.riskinsight-wavestone.com/en/2019/12/cybersecurity-transformation-agile/">previous article</a> (in French), ISS teams must adapt their organisation, processes and tools to ensure that security issues are considered on an ongoing basis.</p>
<p>Agile methodologies are becoming more common within organisations and security teams must <strong>adapt</strong> <strong>to be part of the new operational model</strong>.</p>
<p>However, when security is scaled up from a few Agile projects supported to hundreds, the scarcity of security expertise becomes a major obstacle. The consequence? Security teams become overloaded and unable to support all the <em>feature teams. </em>Therefore, feature teams are required to resolve issues with new functionalities and release without a security review.</p>
<p>In order to to support this transformation, CISO teams must thoroughly review their operating model to be relevant and enable and effective security environment. What does this mean? They must review their <strong>organisation</strong>, <strong>processes</strong> and <strong>tools</strong>.</p>
<p><strong> </strong></p>
<h2>How can we enable this transition?</h2>
<h3> Define new ISS roles for a transition to a new operating model</h3>
<p>&nbsp;</p>
<figure id="post-14962 media-14962" class="align-none"><img decoding="async" class="alignnone size-full wp-image-14962" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/01/Image-1-2.png" alt="" width="1625" height="928" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/01/Image-1-2.png 1625w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/01/Image-1-2-334x191.png 334w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/01/Image-1-2-68x39.png 68w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/01/Image-1-2-120x70.png 120w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/01/Image-1-2-768x439.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/01/Image-1-2-1536x877.png 1536w" sizes="(max-width: 1625px) 100vw, 1625px" /></figure>
<p>&nbsp;</p>
<p>The first step is to understand the different roles that security must play in the new operating model to support this move to scale:</p>
<ul>
<li><strong>The <em>Security Guild</em></strong>: in order to share knowledge between teams, it is important to build a <strong>community of people</strong>, who have an interest for security and help them build the best practices. This community of <em>Security Champions</em>, which is described in the following paragraph (and anyone who is interested in security subjects), also has to implement a common framework of references on the methodologies (Security KM, Evil User Stories, Security Baseline, Level 1 control, <a href="https://www.riskinsight-wavestone.com/en/2019/12/cybersecurity-transformation-agile/">described in our previous article &#8211; in French &#8211;</a>).</li>
</ul>
<p><strong> </strong></p>
<ul>
<li><strong>The<em> Security Champion</em></strong>: this is the security ambassador within the <em>Feature</em> <em>Teams</em>. He/she is fully part of the team and present in every <em>sprint planning </em> His/her role is to ensure that security is considered at every sprint during the development of <em>User Stories</em>. The <em>Security Champion </em>may be from the developing world and develop skills on security subjects, with help from the Security <em>Guild</em> and the <em>Enabler Squad.</em></li>
</ul>
<p>&nbsp;</p>
<ul>
<li><strong>The<em> Enabler Squad</em></strong>: if we look into Spotify’s model, it is the engine of all Guilds. A group of people from the CISO team who will steer the <em>Security Guild </em>while building methods, processes, products, services and standards for development, which will help <em>Security Champions </em>gain autonomy. When starting the industrialization of the model, they can play the role of a <em>Security Champion</em>, before training them. They also provide security expertise on the most critical perimeters and support the less mature teams.</li>
</ul>
<p>&nbsp;</p>
<ul>
<li><strong>The<em> X-Team</em></strong><em>(“cross team”)</em>: If the Enabler Squad’s role is to assist the <em>Feature Teams</em> in the security integration, the X-Team’s is to control the security level and guarantee risk coverage. This team performs targeted technical tests (penetration tests, code review, etc). Obviously, performing a penetration test in every <em>Feature Team </em>and for every sprint is not possible as it is really time consuming. Therefore, tests could be done through sampling and/or randomly (thereby playing the “Chaos Monkey’s” role in the organisation<a href="#_ftn1" name="_ftnref1">[1]</a>), by focussing on the most sensitive and less mature perimeters. As long as enough security KPIs are received from the <em>Feature Teams</em>, the <em>X-Team</em> can perform controls on all teams, especially those where the security maturity is drifting from the targeted level.</li>
</ul>
<p>&nbsp;</p>
<ul>
<li><strong>CISO</strong>: his/her role evolves and is now a checkpoint and provides them with the ability to reject a particular change if the appropriate security controls are not in place (E.g. based on the <em>X-Team </em>findings or according to a “security score” at application or infrastructure level, scored by the ISS team). Given that they cannot be present during all Agile discussions, they must rely on the <em>Security</em> <em>Guild </em>to point out where a strategic decision must be taken. However, they could participate in PI planning and other infrequent discussions, to have an overview on all the ongoing projects and decide which one should be supported more closely. Dedicated committees can also be set up, allowing projects to sign up and have subjects arbitrated, with a call to the CISO if final arbitration is required.</li>
</ul>
<p>&nbsp;</p>
<p>As in every change project, the effectiveness of acculturation lies more in practice than in theory. It’s better to start small and initiate a <strong>progressive handling of the new operating model by the ISS team. </strong>It will then be easier to expand the perimeter to the whole company.</p>
<p>&nbsp;</p>
<h3>Mobilising security experts to start the transition in 2 or 3 <em>Feature Teams</em></h3>
<p>Integration of security must be carried out continuously. The goal of <em>Feature Teams </em>is to be mature and competent in cybersecurity and to have autonomy regarding risk management. But <strong>in the interim period</strong>, the presence of security experts in a position support support is crucial in order to ease the integration of security into projects, while <em>Security Champions </em>are embedded in every <em>Feature Team. </em>These security experts must prioritise projects (e.g. critical projects, <em>Feature Teams </em>facing difficulties…) as they will not have the capacity to support every project.</p>
<p>The objective is to start the transition, using security experts from the ISS team to “do” with the teams, <strong>learn by doing </strong>and use this knowledge to build the first bricks of the security methods required by the Agile team.</p>
<p>It is at that point that the first <strong>useful tools and methodologies </strong>must be built, used and upgraded:</p>
<ul>
<li><strong>The Security Passport: </strong>it must be completed at every step of a project’s life (and beyond). It’s completed at the beginning of the project (at the same time as the PI Planning) to identify the project sensitivity, then set up and monitor the appropriate security measures.</li>
</ul>
<p>&nbsp;</p>
<ul>
<li><strong>The Security Baseline:</strong> this is a set of basic security rules and standards, translated into “Agile language” (e.g. “as a developer I want to implement security measures to prevent attacks”) for easy integration into the backlogs of the <em>Feature Teams</em> and subsequently implementation during sprints. They are represented as <em>Security Stories</em>:</li>
</ul>
<figure id="post-14964 media-14964" class="align-none"><img decoding="async" class="size-full wp-image-14964 aligncenter" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/01/Image-2-2.png" alt="" width="1469" height="196" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/01/Image-2-2.png 1469w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/01/Image-2-2-437x58.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/01/Image-2-2-71x9.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/01/Image-2-2-768x102.png 768w" sizes="(max-width: 1469px) 100vw, 1469px" /></figure>
<p>&nbsp;</p>
<p>To reach a minimum level of security, projects (critical or not) must at the very least comply with this Security Baseline.</p>
<ul>
<li><strong>Training for the <em>Security Champion-to-be</em></strong></li>
<li style="list-style-type: none;">
<ul>
<li>Presentation of the job description, roles and responsibilities.</li>
<li>Training on evil user stories (EUS), security stories due to the gamification often used in Agile. <em>Security Champions </em>can get familiar with the Agile Card Game built by Wavestone (<a href="https://www.riskinsight-wavestone.com/en/2019/12/cybersecurity-transformation-agile/"><em>to learn more, </em>have a look <em>at that article &#8211; in French &#8211;</em></a>).</li>
<li>Learning how to use the knowledge management (KM) to share information, keep the community alive and know the key personnel.</li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<ul>
<li><strong>Securing team production</strong></li>
<li style="list-style-type: none;">
<ul>
<li>Controlling development: training about secure development, securing the CI/CD pipeline, setting up control over the code, etc.</li>
<li>Defining rules for separation of roles and responsibilities in DevOps: start of production, tests edition, production changeover, etc.</li>
</ul>
</li>
</ul>
<p>A more complete article will be dedicated to this last part.</p>
<p>&nbsp;</p>
<h2>What’s next? How do we transform to be able to scale?</h2>
<p>This interim period where ISS experts are working in <em>Feature Teams</em> is key <strong>for building the different roles, tools and processes. </strong></p>
<p>Once the model is well known by the ISS teams, it is time to <strong>deploy this methodology to the entire Agile perimeter.</strong></p>
<h3>Communicate</h3>
<p>Celebrating successes of the first set of <em>Feature Teams </em>involved in the pilots can trigger adoption by the rest of the teams.</p>
<p>Once the first projects have demonstrated the benefit of the approach and the tools and methods have been developed, it will just be a matter of spreading these best practices throughout the company.</p>
<h3>Train</h3>
<p>Security Experts could be used as coaches to spread good practices within <em>Feature Teams, </em>which will be trained progressively.</p>
<p>A good solution is to use half of the security experts to <strong>share tools </strong>and <strong>train the teams. That half is known as the <em>Security Enabler Squad</em>. </strong></p>
<p>The other half is then focused on <strong>risk mitigation </strong>for the critical or less mature areas, supporting them to achieve a good maturity level of the <em>Security Champions</em> of the other <em>Feature Teams</em>.</p>
<p>Communication and animation of the security community must go on around the transformation to support the change of scale.</p>
<h3>Control and steer the maturity of the <em>Security Champions</em></h3>
<p><strong> </strong>Finally, once <em>Feature Teams</em> are trained to use the security tools and methods, the ISS team, consisting of security experts can focus their efforts on <strong>controlling important releases</strong> and<strong> steering the Security Guild</strong>. As it is a space for information sharing, it has to be up to date, to pace up the maturity level of the entire Guild.</p>
<p><strong> </strong></p>
<h2>How long does it take to achieve full Agile Security?</h2>
<p>Initial feedback shows a 3-year transition from the beginning of the intermediate state, when the security team work closely with a few <em>Feature Teams</em>, to a completely autonomous team of <em>Security Champions. </em>It may seem long, but the transition to Agile is much more than a simple change of methodology. It is a real paradigm shift that requires significant change in ways of working and methods to ensure that change can be sustained in the future</p>
<p>In the next article, we will answer the following questions:</p>
<ul>
<li>How to ensure security controls in Agile?</li>
<li>Beyond projects support, how should the organisation and major ISS processes evolve to operate in the new Agile operating model of the company?</li>
</ul>
<p><a href="#_ftnref1" name="_ftn1">[1]</a> <a href="https://netflix.github.io/chaosmonkey/">https://netflix.github.io/chaosmonkey/</a></p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2021/01/how-to-structure-cybersecurity-teams-to-integrate-security-in-agile-at-scale/">How can we structure cybersecurity teams to better integrate security in Agile at scale?</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to conduct an Agile Cyber Security workshop?</title>
		<link>https://www.riskinsight-wavestone.com/en/2020/10/how-to-conduct-an-agile-cyber-security-workshop/</link>
		
		<dc:creator><![CDATA[Vincent Nguyen]]></dc:creator>
		<pubDate>Wed, 28 Oct 2020 08:00:19 +0000</pubDate>
				<category><![CDATA[Cloud & Next-Gen IT Security]]></category>
		<category><![CDATA[Cybersecurity & Digital Trust]]></category>
		<category><![CDATA[agile project]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[How-to]]></category>
		<category><![CDATA[risk management]]></category>
		<category><![CDATA[Transformation]]></category>
		<category><![CDATA[user stories]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=14373</guid>

					<description><![CDATA[<p>We talked about it in a previous article, the agile digital transformation is on the way and this new model requires a total rethinking of the way security is integrated into projects. In this article, we will discover how to...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2020/10/how-to-conduct-an-agile-cyber-security-workshop/">How to conduct an Agile Cyber Security workshop?</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>We talked about it in a <a href="https://www.riskinsight-wavestone.com/en/2019/12/cybersecurity-transformation-agile/">previous article</a>, the agile digital transformation is on the way and this new model requires a total rethinking of the way security is integrated into projects. In this article, we will discover how to conduct an agile Cybersecurity workshop, allowing to define Evil User Stories (EUS) and Security Stories. Find below a brief reminder of the fundamental notions to understand the rest.</p>
<figure id="post-12288 media-12288" class="align-center">
<figure id="post-14430 media-14430" class="align-center"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-14430" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/10/user-stories.png" alt="" width="962" height="418" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/10/user-stories.png 962w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/10/user-stories-437x191.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/10/user-stories-71x31.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/10/user-stories-768x334.png 768w" sizes="auto, (max-width: 962px) 100vw, 962px" /></figure>
</figure>
<p>&nbsp;</p>
<h2>The EUS &amp; Security Stories workshop: Who, when, where?</h2>
<p>First of all, we can only advise you to involve in this workshop the usual actors of agile ceremonies:</p>
<ul>
<li><em><strong>The Product Owner</strong></em> (PO) as a representative of business needs</li>
<li><strong><em>The Agile Coach</em></strong> in his capacity as guarantor of the respect of the method</li>
<li><strong>The technical referents</strong> of the project (architect, developers, testers&#8230;)</li>
</ul>
<p>To bring a cyber security eye, it is important to count on the presence of the <strong>Security Champion</strong> from the project team. If none is available, a member of the CISO team can replace him or her and will have the Cyber Security &#8220;mindset&#8221; to guide you and complete the workshop.</p>
<p>Then, one often wonders when these workshops should be conducted&#8230; To tell you the truth, there is no rule about this, as it will depend on the security requirements of each release! However, our first piece of advice on this subject is to <strong>synchronize their frequency with that of the product backlog review</strong>. So, all you need to do is extend the workshops where you work on <em>User Stories</em> by about 50% to devote yourself to this security study with all the right players already present and mobilized.</p>
<p>Finally, where should the workshop be held? Ideally in the continuity of your previous workshop, in a room with a board or a projector allowing you to share a screen and the possibility to annotate the diagrams quite easily (post-its, whiteboard markers&#8230;). However, it is also possible to do it online! At Wavestone, we regularly use solutions such as <a href="https://www.mural.co/">Mural</a> or <a href="https://stormboard.com/">Stormboard</a> for this purpose. Get your hands on a solution like this and see if it&#8217;s playable!</p>
<p>&nbsp;</p>
<h2>Course of the workshop</h2>
<p>First of all, it is often necessary for the <em>Security Champion</em> to lead the way in the first workshops. But the idea is to coordinate with the Agile Coach and work together so that the technical referents can gradually take charge of the methodology and make it their own.</p>
<p>When we train our clients on the subject, we often take a use case, fictitious but concrete and realistic! WaveCare is a medical application with many innovative features such as :</p>
<ul>
<li>Consulting the availability of practitioners near you</li>
<li>Real-time transmission of your health data thanks to your connected watch</li>
<li>Realization of remote consultations in Visio (Skype conference)</li>
<li>Receipt of the order after the appointment in dematerialized format</li>
</ul>
<p>For this demonstration, let&#8217;s focus on two components in particular: the descriptive schema of the <strong>functionality allowing a patient to search and reserve a slot</strong> in his doctor&#8217;s diary and the general architecture schema.</p>
<figure id="post-13190 media-13190" class="align-center">
<figure id="post-14432 media-14432" class="align-center"><img loading="lazy" decoding="async" class="aligncenter  wp-image-14432" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/10/image-1-5.png" alt="" width="863" height="578" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/10/image-1-5.png 728w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/10/image-1-5-285x191.png 285w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/10/image-1-5-58x39.png 58w" sizes="auto, (max-width: 863px) 100vw, 863px" /></figure>
</figure>
<p style="text-align: center;">&#8211;</p>
<figure id="post-13186 media-13186" class="align-center">
<figure id="post-14434 media-14434" class="align-center"><img loading="lazy" decoding="async" class="aligncenter  wp-image-14434" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/10/image-2-2.png" alt="" width="854" height="575" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/10/image-2-2.png 711w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/10/image-2-2-284x191.png 284w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/10/image-2-2-58x39.png 58w" sizes="auto, (max-width: 854px) 100vw, 854px" /></figure>
</figure>
<h2></h2>
<h3>Step 1: Building risk scenarios</h3>
<p>The first questions to ask yourself are &#8220;Where am I vulnerable? &#8220;How and where can I be attacked? ». The <em>Security Champion</em> and the developers will have to try to answer these questions! Here, a mix of application security and development knowledge will help identify exploitable vulnerabilities. We can already see an interesting aspect of the approach: it works on both the infrastructure and application aspects!</p>
<p>One piece of advice we can already give you: encourage developers to take ownership of the approach and to be proactive, it&#8217;s an excellent lever for raising security awareness! For the security referent, his or her role should mainly be to moderate the exchange and challenge the developers&#8217; proposals. This position can also help you identify potential <em>Security Champions</em>, so don&#8217;t skimp on keeping it!</p>
<p>So let&#8217;s apply what we have just said to our example, in the figures below.</p>
<figure id="post-13192 media-13192" class="align-center">
<figure id="post-14436 media-14436" class="align-center"><img loading="lazy" decoding="async" class="aligncenter  wp-image-14436" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/10/image-3-1.png" alt="" width="872" height="587" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/10/image-3-1.png 895w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/10/image-3-1-284x191.png 284w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/10/image-3-1-58x39.png 58w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/10/image-3-1-768x517.png 768w" sizes="auto, (max-width: 872px) 100vw, 872px" /></figure>
</figure>
<p style="text-align: center;">&#8211;</p>
<figure id="post-13188 media-13188" class="align-center">
<figure id="post-14438 media-14438" class="align-center"><img loading="lazy" decoding="async" class="aligncenter  wp-image-14438" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/10/image-4.png" alt="" width="902" height="603" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/10/image-4.png 826w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/10/image-4-286x191.png 286w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/10/image-4-58x39.png 58w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/10/image-4-768x513.png 768w" sizes="auto, (max-width: 902px) 100vw, 902px" /></figure>
</figure>
<p>And here we are, we can finally identify quite quickly some points of attention! If we want to detail the &#8220;<strong>Code Injection</strong>&#8221; scenario of the global architecture schema, we can for example rephrase it like this: &#8220;<strong>As an attacker, I want to inject malicious code into the application&#8217;s insecure input fields</strong>&#8220;. You see, this ending is very close to that of a classic <em>User Story</em>, but the angle is indeed that of the attacker!</p>
<p>&nbsp;</p>
<h3>Step 2: Evaluate the business impacts of the scenarios</h3>
<p>The second phase will be key to ensure that the team&#8217;s energy is used in the right place. This is where the <em>Product Owner</em> comes in! Together with the <em>Security Champion</em>, he will lead the debate to qualify the impact that each vulnerability can have.</p>
<p>Why is the PO decisive at this stage? Quite simply because <strong>he is the one who knows best both the business reality of the project and the importance of each feature</strong>. He will need to be well oriented, with questions such as &#8220;Is it serious if the data sent by the patient at this point is stolen? &#8220;What is the seriousness of the theft of the user&#8217;s account? etc.&#8221;, etc.</p>
<p>Next, you will need to give a score to prioritize each scenario. You then have two choices. The first is to use a classic cyber risk view, with a level of probability and impact. Personally, I recommend you rather use a point system or the Fibonacci suite, as for a classic US, it&#8217;s frankly simpler and instinctive!</p>
<p>&nbsp;</p>
<h3>Step 3: Define and prioritize Security Stories</h3>
<p>The next step will be to build <em>Security Stories</em> based on each of the scenarios.</p>
<p>Now it&#8217;s the turn of the <em>Security Champion</em> and the developers to get back on stage! To continue on the previous example, here is a <em>Security Story</em> we can write: &#8220;<strong>As a developer, I want to make sure that code injection attacks are avoided</strong>&#8220;. Concretely, it will make us add to the product <em>backlog</em> actions such as escaping special characters, filtering user input or using the HttpOnly attribute to prevent the theft of session cookies.</p>
<p>Obviously, for each of the <em>Security Stories</em>, it may turn out that the security measures to be implemented are already in place. Otherwise, the <em>Security Champion</em> will prioritize the technical security measures, with regard to covering the risks involved, on a company-wide scale and not only on a business level. For security measures that are not purely technical, it is up to the <em>Product Owner</em> to prioritize them, with regard to business risks and the team&#8217;s resources.</p>
<p>And there you have it, you can now start your sprint more serenely!</p>
<p>&nbsp;</p>
<h2>And to help you, prepare and adapt the material to your context!</h2>
<p>To make the workshops simpler and more fun, we have designed a generic deck of cards, consisting of cards with two sides each:</p>
<ul>
<li><strong>Front side</strong>: the <em>Evil User Stories</em>, they describe in a very pedagogical way what can go wrong, using which vulnerabilities (ex: privilege escalation on a Web server, brute force attack, XSS, &#8230;).</li>
<li><strong>Verso</strong>: the <em>Security Stories</em> describe the security measures to be implemented to ensure that the <em>Evil User Story</em> does not occur (e.g. use of a robust AES 256/512 encryption algorithm, &#8230;).</li>
</ul>
<p>These cards are really useful to get you started! For best results, you can even choose to <strong>adapt them to your business context</strong>. Use your security policies and integrate your requirements on encryption, password complexity, etc. Depending on the security needs of the project, you can also copy requirements related to certifications (HDS) or guidelines (LPM, NIS).</p>
<p><strong>You can find the card game available for free <a href="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/Security-Agility-Card-game_EN.pdf">here</a></strong> and don&#8217;t hesitate to give us your feedback so that we can continue to improve it!</p>
<p>Also, a workshop that runs smoothly is always more productive! Don&#8217;t forget to <strong>prepare the materials beforehand</strong>: architecture diagrams of the project (data flow and classification), listing and details of the next User Stories to be developed&#8230;</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2020/10/how-to-conduct-an-agile-cyber-security-workshop/">How to conduct an Agile Cyber Security workshop?</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Comment conduire un atelier Cybersécurité agile ?</title>
		<link>https://www.riskinsight-wavestone.com/en/2020/06/comment-conduire-un-atelier-cybersecurite-agile/</link>
		
		<dc:creator><![CDATA[Vincent Nguyen]]></dc:creator>
		<pubDate>Fri, 12 Jun 2020 07:41:33 +0000</pubDate>
				<category><![CDATA[Cloud & Next-Gen IT Security]]></category>
		<category><![CDATA[Cybersecurity & Digital Trust]]></category>
		<category><![CDATA[Gestion des risques]]></category>
		<category><![CDATA[How-to]]></category>
		<category><![CDATA[Projet Agile]]></category>
		<category><![CDATA[Transformation]]></category>
		<category><![CDATA[user stories]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=13185</guid>

					<description><![CDATA[<p>Nous vous en parlions dans un précédent article, la transformation numérique agile est en marche et ce nouveau modèle impose de totalement revoir sa manière d’intégrer la sécurité dans les projets. Nous allons découvrir dans cet article comment conduire un...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2020/06/comment-conduire-un-atelier-cybersecurite-agile/">Comment conduire un atelier Cybersécurité agile ?</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Nous vous en parlions dans <a href="https://www.riskinsight-wavestone.com/en/2019/12/cybersecurity-transformation-agile/" target="_blank" rel="noopener noreferrer">un précédent article</a>, la transformation numérique agile est en marche et ce nouveau modèle impose de totalement revoir sa manière d’intégrer la sécurité dans les projets. Nous allons découvrir dans cet article comment conduire un atelier Cybersécurité agile, permettant de définir les <em>Evil User Stories (EUS) </em>et<em> Security Stories</em>. Trouvez ci-dessous un bref rappel des notions fondamentales pour comprendre la suite.</p>
<figure id="post-12288 media-12288" class="align-center"><img loading="lazy" decoding="async" class="aligncenter wp-image-12288 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Diapositive2_rognee.png" alt="Atelier Cybersécurité Agile : les Evil User Stories et les Security User Stories" width="1032" height="502" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Diapositive2_rognee.png 1032w, https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Diapositive2_rognee-393x191.png 393w, https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Diapositive2_rognee-768x374.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Diapositive2_rognee-71x35.png 71w" sizes="auto, (max-width: 1032px) 100vw, 1032px" /></figure>
<p>&nbsp;</p>
<h2>L’atelier EUS &amp; Security Stories : Qui, quand, où ?</h2>
<p>Tout d’abord, nous ne pouvons que vous conseiller d’impliquer dans cet atelier les habituels acteurs des cérémonies agiles :</p>
<ul>
<li><strong>Le <em>Product Owner</em> (PO)</strong> en sa qualité de représentant des besoins métiers</li>
<li><strong>Le <em>Coach</em> Agile</strong> en sa qualité de garant du respect de la méthode</li>
<li><strong>Les référents techniques</strong> du projet (architecte, développeurs, testeurs…)</li>
</ul>
<p>Pour apporter un œil cybersécurité, il est important de compter sur la présence du <strong><em>Security Champion</em></strong> de l’équipe projet. Si aucun n’est disponible, un membre de l’équipe du RSSI peut le remplacer et aura « l’état d’esprit » Cybersécurité pour vous aiguiller et mener l’atelier à bien.</p>
<p>Ensuite, on se demande souvent à quel moment ces ateliers doivent être conduits… Pour tout vous avouer, il n’y a pas de règle à ce sujet, car cela dépendra des exigences sécurité de chaque release ! Toutefois, notre premier conseil à ce sujet est de <strong>synchroniser leur fréquence avec celle de revue du backlog produit</strong>. Ainsi, il vous suffit de prolonger les ateliers où vous travaillez sur les <em>User Stories</em> d’environ 50% pour vous consacrer à cette étude sécurité avec déjà tous les bons acteurs présents et mobilisés.</p>
<p>Enfin, où réaliser l’atelier ? Idéalement dans la continuité de votre atelier précédent, dans une salle avec un tableau ou un projecteur permettant de partager un écran et la possibilité d’annoter les schémas assez facilement (post-its, feutres pour tableau blanc…). Néanmoins, il est également tout à fait envisageable de le faire en ligne ! Chez Wavestone, nous utilisons régulièrement des solutions comme <a href="https://www.mural.co/"><em>Mural</em> </a>ou <a href="https://stormboard.com/"><em>Stormboard</em> </a>à cet usage. Faites-vous la main sur une solution de ce genre et vous verrez si c’est jouable !</p>
<p>&nbsp;</p>
<h2>Déroulement de l’atelier</h2>
<p>Tout d’abord, il est souvent nécessaire que le <em>Security Champion</em> mène la barque dans les premiers ateliers. Mais l’idée est de se coordonner avec le Coach Agile et travailler de concert pour que les référents techniques puissent petit à petit prendre en main la méthodologie et se l’approprier.</p>
<p>Quand nous formons nos clients sur le sujet, nous prenons souvent un cas d’usage, fictif mais concret et réaliste ! WaveCare est une application médicale avec de nombreuses fonctionnalités innovantes telles que :</p>
<ul>
<li>Consultation des disponibilités de praticiens près de chez vous</li>
<li>Transmission en temps réel de vos données de santé grâce à votre montre connectée</li>
<li>Réalisation de consultations à distance en Visio (conférence Skype)</li>
<li>Réception de l’ordonnance après le RDV en format dématérialisé</li>
</ul>
<p>Pour cette démonstration, intéressons-nous à deux composants en particulier : le schéma descriptif de <strong>la fonctionnalité permettant à un patient de rechercher et réserver un créneau </strong>dans l’agenda de son médecin et le schéma d’architecture générale.</p>
<figure id="post-13190 media-13190" class="align-center"><img loading="lazy" decoding="async" class="aligncenter wp-image-13190 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/RI_HT_Atelier_ESU_feature_1.jpg" alt="Schéma descriptif de la fonctionnalité &quot;Recherche et réservation d'un créneau par un patient&quot;" width="1040" height="720" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/RI_HT_Atelier_ESU_feature_1.jpg 1040w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/RI_HT_Atelier_ESU_feature_1-276x191.jpg 276w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/RI_HT_Atelier_ESU_feature_1-56x39.jpg 56w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/RI_HT_Atelier_ESU_feature_1-768x532.jpg 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/RI_HT_Atelier_ESU_feature_1-245x170.jpg 245w" sizes="auto, (max-width: 1040px) 100vw, 1040px" /></figure>
<p style="text-align: center;">&#8211;</p>
<figure id="post-13186 media-13186" class="align-center"><img loading="lazy" decoding="async" class="aligncenter wp-image-13186 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/RI_HT_Atelier_ESU_archi_1.jpg" alt="Schéma descriptif de l'architecture de la solution" width="1040" height="720" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/RI_HT_Atelier_ESU_archi_1.jpg 1040w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/RI_HT_Atelier_ESU_archi_1-276x191.jpg 276w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/RI_HT_Atelier_ESU_archi_1-56x39.jpg 56w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/RI_HT_Atelier_ESU_archi_1-768x532.jpg 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/RI_HT_Atelier_ESU_archi_1-245x170.jpg 245w" sizes="auto, (max-width: 1040px) 100vw, 1040px" /></figure>
<h2></h2>
<h3><span style="color: #000000;">Etape 1 : Construire les scénarios de risque</span></h3>
<p>Les premières questions à se poser sont « Où-suis-je vulnérable ? », « Comment et par où peut-on m’attaquer ? ». Le référent sécurité (<em>Security Champion</em>) et les développeurs vont devoir essayer de répondre à ces questions ! Ici, c’est donc un mélange de connaissances en sécurité applicative et en développement qui va permettre d’identifier les vulnérabilités exploitables. Nous pouvons déjà noter un aspect intéressant de l’approche : elle fonctionne aussi bien sur l’aspect infrastructure qu’applicatif !</p>
<p>Un conseil que nous pouvons déjà vous donner : encouragez les développeurs à s’approprier l’approche et à être force de proposition, c’est un excellent levier pour les sensibiliser à la sécurité ! Pour le référent sécurité, son rôle doit majoritairement être de modérer l’échange et challenger les propositions des développeurs. Cette posture peut en plus vous permettre d’identifier des potentiels <em>Security Champions</em>, ne lésinez pas à la conserver !</p>
<p>Appliquons donc ce que nous venons de nous dire à notre exemple, dans les figures ci-dessous.</p>
<figure id="post-13192 media-13192" class="align-center"><img loading="lazy" decoding="async" class="aligncenter wp-image-13192 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/RI_HT_Atelier_ESU_feature_2.jpg" alt="Schéma descriptif de la fonctionnalité &quot;Recherche et réservation d'un créneau par un patient&quot; avec les scénarios de risque " width="1040" height="720" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/RI_HT_Atelier_ESU_feature_2.jpg 1040w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/RI_HT_Atelier_ESU_feature_2-276x191.jpg 276w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/RI_HT_Atelier_ESU_feature_2-56x39.jpg 56w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/RI_HT_Atelier_ESU_feature_2-768x532.jpg 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/RI_HT_Atelier_ESU_feature_2-245x170.jpg 245w" sizes="auto, (max-width: 1040px) 100vw, 1040px" /></figure>
<p style="text-align: center;">&#8211;</p>
<figure id="post-13188 media-13188" class="align-center"><img loading="lazy" decoding="async" class="aligncenter wp-image-13188 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/RI_HT_Atelier_ESU_archi_2.jpg" alt="Schéma descriptif de l'architecture de la solution avec les scénarios de risque" width="1040" height="720" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/RI_HT_Atelier_ESU_archi_2.jpg 1040w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/RI_HT_Atelier_ESU_archi_2-276x191.jpg 276w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/RI_HT_Atelier_ESU_archi_2-56x39.jpg 56w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/RI_HT_Atelier_ESU_archi_2-768x532.jpg 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/RI_HT_Atelier_ESU_archi_2-245x170.jpg 245w" sizes="auto, (max-width: 1040px) 100vw, 1040px" /></figure>
<p>Et voilà, on peut finalement identifier assez rapidement quelques points d’attention ! Si nous voulons détailler le scénario « <strong>Injection de code</strong> » du schéma d’architecture globale, nous pouvons par exemple le reformuler comme cela : « <strong>En tant qu&#8217;attaquant, je veux injecter du code malveillant dans les champs de saisie non sécurisés de l’application</strong> ». Vous voyez, cette terminaison est très proche de celle d’une <em>User Story</em> classique, mais l’angle est bien celui de l’attaquant !</p>
<p>&nbsp;</p>
<h3><span style="color: #000000;">Etape 2 : Evaluer les impacts métiers des scénarios</span></h3>
<p>La seconde phase va être clef pour s’assurer d’utiliser l’énergie de l’équipe au bon endroit. C’est à ce moment que le <em>Product Owner</em> entre en jeu ! Avec le <em>Security Champion</em>, il va mener les débats pour qualifier l’impact que peut avoir chaque vulnérabilité.</p>
<p>Pourquoi le PO est-il décisif sur cette étape ? Toute simplement car <strong>c’est lui qui connaît le mieux à la fois la réalité métier du projet et l’importance de chaque fonctionnalité</strong>. Il s’agira de bien l’orienter, avec des questions comme « Est-ce grave si les données envoyées à ce moment par le patient sont volées ? », « Quelle est la gravité du vol du compte de l’utilisateur ? », etc.</p>
<p>Ensuite, il vous faudra donner une note pour prioriser chaque scénario. Deux choix s’offrent alors à vous. Le premier est d’utiliser une vue risque cyber classique, avec un niveau de probabilité et d’impact. Personnellement, je vous recommande plutôt d’utiliser un système de point ou la suite de Fibonacci, comme pour une US classique, c’est franchement plus simple et instinctif !</p>
<p>&nbsp;</p>
<h3><span style="color: #000000;">Etape 3 : Définir et prioriser les Security Stories</span></h3>
<p>La prochaine étape consistera à construire des <em>Security Stories</em> basées sur chacun des scénarios.</p>
<p>Au tour du <em>Security Champion</em> et des développeurs de remonter sur scène ! Pour continuer sur l’exemple précédent, voici une <em>Security Story</em> que nous pouvons rédiger : « <strong>En tant que développeur, je veux m&#8217;assurer que les attaques par injection de code sont évitées </strong>». Concrètement, elle nous fera ajouter au <em>backlog</em> du produit des actions comme l’échappement des caractères spéciaux, le filtrage des entrées utilisateurs ou encore l’usage de l’attribut HttpOnly pour éviter le vol des cookies de session.</p>
<p>Evidemment, pour chacune des <em>Security Stories</em>, il peut s’avérer que les mesures de sécurité à mettre en œuvre le sont déjà. Dans le cas contraire, le <em>Security Champion</em> se charge de prioriser les mesures de sécurité techniques, au regard de la couverture des risques induits, à l’échelle de l’entreprise et pas uniquement du métier. Pour les mesures de sécurité n’étant pas uniquement techniques, c’est au <em>Product Owner</em> de les prioriser, au regard des risques business et des moyens de l’équipe.</p>
<p>Et voilà, vous pouvez maintenant démarrer votre sprint plus sereinement !</p>
<p>&nbsp;</p>
<h2>Et pour vous aider, préparez et adaptez le matériel à votre contexte !</h2>
<p>Pour rendre les ateliers plus simples et ludiques, nous avons conçus un jeu de cartes génériques, constitué de cartes ayant chacune deux faces :</p>
<ul>
<li><strong>Recto : </strong>les <em>Evil User Stories</em>, elles décrivent de façon très pédagogique ce qui peut mal se passer, en utilisant quelles vulnérabilités (ex : élévation de privilèges sur un serveur Web, attaque par force brute, XSS, …)</li>
<li><strong>Verso :</strong> les <em>Security Stories</em> décrivent les mesures de sécurité à implémenter pour s’assurer que <em>l’Evil User Story</em> ne se produit pas (ex : utilisation d’un algorithme de chiffrement robuste AES 256/512, …).</li>
</ul>
<p>Ces cartes sont vraiment utiles pour vous lancer ! Pour de meilleurs résultats, vous pouvez même choisir de <strong>les adapter à votre contexte d’entreprise</strong>. Utilisez vos politiques de sécurité et intégrez vos exigences sur le chiffrement, la complexité des mots de passe, etc. Suivant les besoins de sécurité du projet, vous pouvez aussi calquer de exigences liées à des certifications (HDS) ou des directives (LPM, NIS).</p>
<p><strong>Retrouvez le jeu de carte disponible gratuitement <a href="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/Securite-Agilite-Jeu-de-cartes_VF.pdf" target="_blank" rel="noopener noreferrer">ici</a></strong> (et en anglais <a href="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/06/Security-Agility-Card-game_EN.pdf" target="_blank" rel="noopener noreferrer">ici</a>)et n’hésitez pas nous faire vos retours pour que nous continuions à l’améliorer !</p>
<p>Également, un atelier qui se déroule avec fluidité est toujours plus productif ! N’oubliez pas de <strong>préparer les supports en amont</strong> : schémas d’architecture du projet (flux et classification des données), listing et détail des prochaines <em>User Stories</em> à développer…</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2020/06/comment-conduire-un-atelier-cybersecurite-agile/">Comment conduire un atelier Cybersécurité agile ?</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Transformations agiles des organisations: vers un changement structurel d&#8217;approche pour la cybersécurité</title>
		<link>https://www.riskinsight-wavestone.com/en/2019/12/cybersecurity-transformation-agile/</link>
		
		<dc:creator><![CDATA[Vincent Nguyen]]></dc:creator>
		<pubDate>Fri, 06 Dec 2019 13:37:43 +0000</pubDate>
				<category><![CDATA[Cloud & Next-Gen IT Security]]></category>
		<category><![CDATA[Cybersecurity & Digital Trust]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[ISP agile]]></category>
		<category><![CDATA[security champion]]></category>
		<category><![CDATA[user stories]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=12238</guid>

					<description><![CDATA[<p>Face aux transformations digitales agiles imposant la fourniture rapide et fiable de services IT à travers de nouvelles chaînes de production applicative, les équipes SSI doivent adapter leur organisation, leur processus et leur outillage pour assurer une prise en compte...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2019/12/cybersecurity-transformation-agile/">Transformations agiles des organisations: vers un changement structurel d&#8217;approche pour la cybersécurité</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><em>Face aux transformations digitales agiles imposant la fourniture rapide et fiable de services IT à travers de nouvelles chaînes de production applicative, les équipes SSI doivent adapter leur organisation, leur processus et leur outillage pour assurer une prise en compte des enjeux de sécurité continue. Pragmatisme et adaptabilité seront les maîtres mots pour faire de l’agilité le catalyseur d’une évolution positive dans la prise en compte des enjeux de la cybersécurité.</em></p>
<p><em>A travers cette série d’articles, nous présenterons nos convictions pour permettre aux équipes SSI de mener cette transformation en profondeur.</em></p>
<p>&nbsp;</p>
<h2>La transformation numérique implique l&#8217;usage d&#8217;une nouvelle méthode de delivery IT</h2>
<p>A l’heure des transformations numériques, les organisations doivent faire face à 3 principaux défis :</p>
<ul>
<li><strong>Innover</strong> plus rapidement pour faire face à la compétition.</li>
<li><strong>S’adapter</strong> rapidement au changement avec plus de flexibilité afin de mieux gérer l’incertitude et la complexité.</li>
<li>Mieux <strong>combiner</strong> les compétences IT et métier pour maximiser la valeur produit.</li>
</ul>
<p>Dans ce contexte, les méthodes agiles représentent par leur approche de développement itératif, incrémental et adaptatif, la promesse d’une organisation plus fluide en permettant de :</p>
<ul>
<li><strong>Réduire les délais entre l’expression de besoin métier et l’ouverture du service idoine </strong>(« Time to Value ») : les fonctionnalités développées à chaque étape (sprint) sont opérationnelles et potentiellement utilisables.</li>
<li><strong>Maitriser les risques et le niveau de qualité</strong>: l’approche itérative et incrémentale de l’agile permet de récolter un maximum d’apprentissage (« test and learn ») en un minimum d’effort.</li>
<li><strong>Augmenter la productivité et la collaboration entre les différentes équipes en donnant du sens à leur travail</strong> : en cassant les silos organisationnels, les interactions entre l’IT et les métiers s’intensifient et améliorent l’engagement autour du projet et les boucles d’amélioration continue.</li>
<li><strong>S’adapter rapidement aux changements</strong>: avec la possibilité de changer à tout moment en cas d’évolution des besoins ou de mauvais feedbacks.</li>
</ul>
<p>Parce que les méthodes agiles bouleversent les façons de prendre des décisions et l’organisation, de nouvelles questions se posent autour de l’articulation de la sécurité dans des organisations agiles :</p>
<ul>
<li>Comment <strong>réinventer l’intégration de la sécurité dans les projets</strong> pour s’adapter à une livraison itérative ?</li>
<li>Comment <strong>soutenir le passage à l’échelle </strong>? Comment structurer les équipes de sécurité pour assurer la sécurité dans l’agile à l’échelle ?</li>
<li>Au-delà du support sur les projets, <strong>comment l’organisation et les processus majeurs SSI</strong> évoluent-ils pour fonctionner dans le nouveau modèle opérationnel agile de l’entreprise ?</li>
</ul>
<p>&nbsp;</p>
<h2>L’adoption des méthodes agiles impose une refonte du processus d’intégration de la sécurité dans les projets</h2>
<p><a href="https://www.wavestone.com/app/uploads/2017/09/2017-SyntheseDEVOPS_VF_WEB.pdf">L’adoption des méthodes agiles représente une véritable rupture dans l&#8217;organisation du travail.</a> Le cycle itératif de développement et la fréquence de livraison exigent que <strong>toutes les équipes qui gravitent</strong> <strong>autour</strong> du produit <strong>soient alignées</strong> et impose donc au RSSI de trouver <strong>l’articulation idéale entre agilité et sécurité.</strong></p>
<p>Dans les méthodes de gestion de projets traditionnelles, la sécurité est implémentée de manière monolithique à travers <strong>3 piliers</strong> :</p>
<ul>
<li><strong>Evaluation des risques :</strong> évaluation des besoins sécurité et du niveau d’accompagnement SSI consenti pour gérer les risques identifiés.</li>
<li><strong>Accompagnement :</strong> accompagnement des équipes de développement et d’infrastructure dans la conception et l’implémentation des mesures de sécurité.</li>
<li><strong>Contrôle :</strong> réalisation de recette sécurité pour valider la résorption des risques de sécurité et valider la mise en production.</li>
</ul>
<p>L’intégration de la sécurité dans les processus agiles doit pouvoir s’appuyer sur ces 3 piliers mais il est nécessaire que les équipes SSI <strong>revoient leur approche</strong> pour s’adapter aux nouvelles méthodes de delivery.</p>
<p>Vous trouverez dans cet article, <strong>4 facteurs clés de succès</strong> pour réussir à transposer le processus d’ISP dans une démarche agile.</p>
<figure id="post-12286 media-12286" class="align-none"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-12286" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Diapositive1_rognee.png" alt="" width="1033" height="557" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Diapositive1_rognee.png 1033w, https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Diapositive1_rognee-354x191.png 354w, https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Diapositive1_rognee-768x414.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Diapositive1_rognee-71x39.png 71w" sizes="auto, (max-width: 1033px) 100vw, 1033px" /></figure>
<figure id="post-12278 media-12278" class="align-none"></figure>
<figure class="align-none"></figure>
<figure id="post-12246 media-12246" class="align-none"></figure>
<figure id="post-12241 media-12241" class="align-none"></figure>
<h3><strong>1. Evaluer le niveau d’accompagnement SSI tout au long du cycle de développement agile</strong></h3>
<p><strong>L’appréciation de la sensibilité</strong> d’un projet est une première étape incontournable pour prioriser et optimiser les efforts des équipes SSI. Dans une démarche agile, cette évaluation ne doit plus uniquement être réalisée en amont du projet, mais bien <strong>tout au long du cycle de développement.</strong> Chaque produit doit donc posséder un <strong>passeport sécurité</strong>, qui sera mis à jour sur une base régulière (ex : tous les 3-6 mois) et lors de développement de fonctionnalités induisant de nouveaux besoins en sécurité.</p>
<p>Le niveau d’accompagnement des équipes SSI sera déterminé en tenant compte de la <strong>sensibilité SSI des fonctionnalités développées </strong>lors des prochains sprints et du <strong>niveau de maturité de la Squad en matière de cybersécurité.</strong></p>
<p>&nbsp;</p>
<h3><strong>2. Adopter une approche Security by Design</strong></h3>
<p>Pour faciliter l’approche <strong>Security by Design</strong>, les exigences SSI devront être intégrées <strong>le plus tôt possible</strong> dans la conception du produit.</p>
<p>Pour y parvenir, les équipes SSI vont devoir traduire <strong>les mesures de sécurité</strong> (référencées dans des politiques et des standards SSI souvent méconnus des équipes de développement) en <strong>« security baseline »,</strong> c&#8217;est à dire en un <strong>socle de bonnes pratiques applicables de façon systématique</strong> et conférant un <strong>niveau de protection minimum</strong>.</p>
<p>Cela se traduit par une liste de « <strong>security user stories</strong> », facilement manipulable par les développeurs, qui sera intégrée dans <strong>tous les backlogs produit.</strong></p>
<p>&nbsp;</p>
<h3><strong>3. Traduire les scénarios de risques en Evil User Stories</strong></h3>
<p>De la même façon que le Product Owner rédige des User Stories pour décrire de façon conversationnelle une attente exprimée par un utilisateur, les équipes sécurité vont devoir s’adapter aux méthodes agiles en <strong>exprimant les risques de façon conversationnelle</strong> à travers des<strong> Evil User Stories (EUS).</strong></p>
<p>Les Evil User Stories permettent à la sécurité d’exprimer les intentions d’un <strong>utilisateur malveillant</strong>.</p>
<p>Une Evil User Story décrit la réalisation d’un <strong>scénario de risque</strong> à travers l’identification d’une <strong>source de risque</strong> (attaquant externe / collaborateur malveillant), exploitant une <strong>vulnérabilité</strong>, occasionnant un <strong>impact sur la valeur métier.</strong></p>
<figure id="post-12251 media-12251" class="align-none"></figure>
<figure id="post-12259 media-12259" class="align-none"></figure>
<figure id="post-12280 media-12280" class="align-none"></figure>
<figure id="post-12288 media-12288" class="align-none"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-12288" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Diapositive2_rognee.png" alt="" width="1032" height="502" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Diapositive2_rognee.png 1032w, https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Diapositive2_rognee-393x191.png 393w, https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Diapositive2_rognee-768x374.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Diapositive2_rognee-71x35.png 71w" sizes="auto, (max-width: 1032px) 100vw, 1032px" /></figure>
<p>Pour chaque EUS, des mesures de sécurité (Security User Stories) permettant de mitiger les risques sont identifiées et intégrées au backlog.</p>
<p><strong>Les Security User Stories peuvent être définies à plusieurs étapes du cycle :</strong></p>
<ul>
<li>Lors de l&#8217;évaluation initiale des risques au lancement du produit.</li>
<li>Au fil des itérations : dès lors qu’une user story métier induisant des risques SSI est identifiée.</li>
<li>Lors des phases de contrôle : dès qu’une vulnérabilité est détectée.</li>
</ul>
<p>Par rapport à une analyse des risques en cycle en V, les Evil User Stories apportent <strong>des avantages clés en termes de sécurité : </strong></p>
<ul>
<li><strong>Les risques sont facilement compréhensibles, car ils sont énoncés de manière conversationnelle : </strong>aujourd&#8217;hui lorsqu’on réalise une analyse de risques, les risques que l’on formalise ne vont pas forcément parler à un métier ou à un développeur. De cette façon, les risques sont compréhensibles par tous les acteurs du projet et sont intégrés dans leur quotidien.</li>
<li><strong>Les risques sont régulièrement mis à jour chaque fois que le produit évolue :</strong> la prise en compte des enjeux sécurité doit être à la fois continue et pragmatique et permettre ainsi une démarche de réduction incrémentale du risque. Les Security User Stories sont priorisées en fonction du risque réel et le risque résiduel reste acceptable tant que le produit est exposé à une poignée d’utilisateurs.</li>
<li><strong>Le processus de remédiation est facilement contrôlable en examinant le backlog : </strong>la liste des Security User Stories est embarquée dans le backlog et tracée dans un outil (ex : Jira). C&#8217;est un vrai gain par rapport aux méthodes traditionnelles qui ne permettaient pas toujours de suivre la bonne application des mesures de sécurité.</li>
</ul>
<p>&nbsp;</p>
<h3><strong>4. Intégrer la sécurité dans les critères d’acceptation des User Stories</strong></h3>
<p>Dans un monde idéal, où la sécurité serait systématiquement embarquée, les équipes sécurité n’auraient pas forcément besoin d’intégrer des Security User Stories au backlog produit.</p>
<p>En effet, dans les méthodes agiles, des <strong>critères d’acceptation</strong> accompagnent chaque user story. Ils représentent un <strong>ensemble de conditions</strong> (utilisabilité, performance, etc…) que la story doit satisfaire pour être considérée comme <strong>complète et terminée</strong>. Ils sont rédigés par le Product Owner, en collaboration avec l’équipe de développement.</p>
<p>Ainsi l’équipe sécurité pourrait profiter de ces conditions de satisfaction pour ajouter la <strong>liste des mesures de sécurité à intégrer </strong>pour assurer la sécurité de chaque fonctionnalité développée.</p>
<p>Dans la réalité, ce n’est jamais réalisé de cette façon (trop contraignant pour la Squad), d’où la nécessité de rédiger et intégrer des Security User Story au backlog produit.</p>
<figure id="post-12282 media-12282" class="align-none"></figure>
<figure id="post-12290 media-12290" class="align-none"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-12290" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Diapositive3_rognee.png" alt="" width="1030" height="415" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Diapositive3_rognee.png 1030w, https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Diapositive3_rognee-437x176.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Diapositive3_rognee-768x309.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Diapositive3_rognee-71x29.png 71w" sizes="auto, (max-width: 1030px) 100vw, 1030px" /></figure>
<figure id="post-12255 media-12255" class="align-none"></figure>
<h3><strong>5. Fournir des outils ludiques pour favoriser la prise en compte des enjeux SSI</strong></h3>
<p>Parce que les membres au sein des Squad qui vont devoir identifier les Evil User Stories, n&#8217;ont pas forcément toutes les compétences pour le faire, nous avons développé un jeu de cartes qui permet de rendre l’exercice d’analyse de risques plus concret et ludique.</p>
<p><strong>Le jeu est composé de cartes, chacune ayant 2 faces : </strong></p>
<ul>
<li>Recto : les Evil User Stories décrivent de façon très pédagogique ce qui peut mal se passer, en utilisant quelles vulnérabilités (ex : élévation de privilèges sur un serveur Web, attaque par force brute, XSS, …)</li>
<li>Verso : les Security User Stories décrivent les mesures de sécurité à implémenter pour s’assurer que l’Evil User Story ne se produise pas (ex : utilisation d’un algorithme de chiffrement robuste AES 256/512, …).</li>
</ul>
<p><strong>Comment jouer : </strong></p>
<ul>
<li>Il faut rassembler à minima les membres de la Squad ayant une connaissance fonctionnelle de la solution (Product Owner) et une connaissance technique et des risques (référents sécurité, développeurs, architectes).</li>
<li>Les architectes dessinent l’architecture applicative sur une grande affiche A3 sur une table en faisant apparaitre les flux de données et la classification des données et le Product Owner liste les prochaines User Stories qui devront être développées.</li>
<li>Le référent sécurité (Security Champion) et les développeurs répartissent les vulnérabilités exploitables sur le schéma d’architecture.</li>
<li>Le Product Owner et le Security Champion qualifient l&#8217;impact que peut avoir chaque vulnérabilité.</li>
<li>Le Security Champion et les développeurs vérifient si les mesures de sécurité permettant de contrer les vulnérabilités identifiées sont déjà implémentées.</li>
<li>Si des mesures de sécurité ne sont pas encore en production : Le Security Champion priorise les mesures techniques à implémenter permettant de couvrir les risques induits (risque pour l’entreprise, pas seulement au niveau business).</li>
<li>Le Product Owner priorise les autres mesures de sécurité au regard des risques business / et des moyens de l’équipe.</li>
</ul>
<p>Ce type de jeu permet de mobiliser l’ensemble des parties prenantes dans l’analyse des risques et d’identifier les mesures de sécurité à injecter dans le backlog.</p>
<figure id="post-12612 media-12612" class="align-none"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-12612" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Article-1-illustrations-4.png" alt="" width="801" height="656" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Article-1-illustrations-4.png 801w, https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Article-1-illustrations-4-233x191.png 233w, https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Article-1-illustrations-4-48x39.png 48w, https://www.riskinsight-wavestone.com/wp-content/uploads/2019/12/Article-1-illustrations-4-768x629.png 768w" sizes="auto, (max-width: 801px) 100vw, 801px" /></figure>
<figure id="post-12284 media-12284" class="align-none"></figure>
<figure id="post-12292 media-12292" class="align-none"></figure>
<figure id="post-12257 media-12257" class="align-none"></figure>
<p>A travers cet article, nous avons identifié 4 premiers leviers pour intégrer la cybersécurité dans une démarche agile :</p>
<ol>
<li><strong>Le Passeport Sécurité</strong> pour évaluer le niveau d’accompagnement SSI tout au long du cycle de développement agile</li>
<li><strong>La traduction opérationnelle de la Security Baseline</strong> pour assurer un niveau de protection minimum</li>
<li><strong>Les Evil User Stories</strong> pour exprimer de façon simple et compréhensible les scénarios de risques</li>
<li><strong>Des outils ludiques </strong>pour favoriser la prise en compte des enjeux SSI</li>
</ol>
<p>&nbsp;</p>
<p>Dans les prochains articles, nous répondrons aux questions suivantes :</p>
<ul>
<li>Comment soutenir le passage à l’échelle ? Comment réorganiser l’équipe SSI ?</li>
<li>Comment assurer un bon niveau de contrôle sécurité ?</li>
<li>Au-delà du support sur les projets, comment l’organisation et les processus majeurs SSI doivent-ils évoluer pour fonctionner dans le nouveau modèle opérationnel agile de l’entreprise ?</li>
</ul>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2019/12/cybersecurity-transformation-agile/">Transformations agiles des organisations: vers un changement structurel d&#8217;approche pour la cybersécurité</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Reverse Engineering &#8211; focus sur l’analyse dynamique de malware</title>
		<link>https://www.riskinsight-wavestone.com/en/2016/06/reverse-engineering-focus-sur-lanalyse/</link>
		
		<dc:creator><![CDATA[Vincent Nguyen]]></dc:creator>
		<pubDate>Tue, 21 Jun 2016 16:57:29 +0000</pubDate>
				<category><![CDATA[Cybersecurity & Digital Trust]]></category>
		<category><![CDATA[Deep-dive]]></category>
		<category><![CDATA[Ethical Hacking & Incident Response]]></category>
		<category><![CDATA[How to]]></category>
		<category><![CDATA[analyse dynamique]]></category>
		<category><![CDATA[audit]]></category>
		<category><![CDATA[malware]]></category>
		<category><![CDATA[reverse engineering]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=15773</guid>

					<description><![CDATA[<p>L’analyse dynamique d’un fichier correspond à analyser l’exécution de ce fichier. Cette analyse permet alors de déterminer le comportement réel du malware, là où certains éléments de l’analyse statique peuvent être présents uniquement pour détourner l’attention de l’analyste, ou lui...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2016/06/reverse-engineering-focus-sur-lanalyse/">Reverse Engineering &#8211; focus sur l’analyse dynamique de malware</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="separator" style="clear: both; text-align: center;">
<div style="margin-left: 1em; margin-right: 1em;"></div>
</div>
<div style="text-align: justify;">L’analyse dynamique d’un fichier correspond à analyser l’exécution de ce fichier. Cette analyse permet alors de déterminer le comportement réel du <i>malware</i>, là où certains éléments de l’analyse statique peuvent être présents uniquement pour détourner l’attention de l’analyste, ou lui compliquer la tâche.</div>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-left: 0cm; margin-top: 5px;">
<div style="text-align: justify;">Une première forme d’analyse dynamique correspond à l’exécution du <i>malware</i> et à l’observation des modifications qu’il entraine sur le système. Cette analyse a le plus souvent pour but de déterminer les actions à effectuer pour supprimer le <i>malware</i>, et/ou créer une signature.</div>
</div>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-left: 0cm; margin-top: 5px;">
<div style="text-align: justify;"><i><span style="mso-fareast-language: FR;">Attention, </span>ce type d’analyse doit absolument être fait dans un environnement contrôlé (machine virtuelle, poste dédié et déconnecté du SI, etc.) afin de ne pas risquer la propagation de l’infection.</i></div>
</div>
<h2 style="margin-bottom: 15px; margin-top: 25px; text-align: justify;"><span style="mso-list: Ignore;">1)<span style="font: 7pt 'Times New Roman';">     </span></span>Analyse des opérations</h2>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-top: 5px;">
<div style="text-align: justify;">L’analyse dynamique permet la surveillance de nombreuses informations : les registres, le système de fichiers et les processus<i>. </i>Cette étape est au début assez fastidieuse étant donné que de nombreuses informations sont accessibles. Il existe différents outils permettant d’accéder à ces informations.<i> ProcessMonitor</i> est l’un de ces outils qui a l’avantage de permettre à l’analyste de filtrer ses recherches sur un exécutable, ce qui est très pratique pour l’analyse de <i>malwares</i>.</div>
<div style="text-align: center;">
<figure id="post-15774 media-15774" class="align-none"><img loading="lazy" decoding="async" class="size-full wp-image-15774 aligncenter" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-2.jpg" alt="" width="604" height="163" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-2.jpg 604w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-2-437x118.jpg 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-2-71x19.jpg 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-2-600x163.jpg 600w" sizes="auto, (max-width: 604px) 100vw, 604px" /></figure>
</div>
<div class="MsoCaption" style="margin-bottom: 15px; margin-top: 15px; text-align: center;">
<div style="text-align: center;">
<div class="separator" style="clear: both; text-align: center;"></div>
</div>
<p><i>Figure 1 : Résultat d’une analyse de ProcessMonitor sur un malware appelé mm32.exe</i></p>
</div>
</div>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-top: 5px;">
<div style="text-align: justify;">L’analyse de ces différents éléments permet à l’analyste d’avoir une meilleure compréhension de l’activité du <i>malware</i>. Cependant, étant donné le nombre d’informations renvoyées par <i>ProcessMonitor</i> dont la plupart représentent des évènements standards du lancement d’un exécutable, l’analyse demande beaucoup de pratique et de la patience.</div>
</div>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-top: 5px;"></div>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-top: 5px;">
<div style="text-align: justify;">Un autre outil permettant une analyse poussée des processus est <i>Process Explorer</i>. Il permet de lister les processus, les bibliothèques chargées par un processus, différentes informations sur ces processus, ainsi que des informations globales sur le système. L’avantage de cet outil est qu’il présente les informations sous forme d’arbre, exposant ainsi les relations entre les processus parents et enfants.</div>
</div>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-top: 5px;">
<div style="text-align: justify;">Les informations que <i>Process Explorer</i> renvoie sont le nom du processus, le PID (numéro d’identification du processus), l’utilisation du CPU, une description ainsi que le nom de l’entreprise ayant créé le binaire (champs laissés libres au créateur du binaire…). Par défaut les services sont surlignés en rose, les processus en bleu, les nouveaux processus en vert et les processus terminés en rouge. La vue se met alors à jour à chaque seconde. Lors de l’analyse de <i>malware</i> il est donc intéressant de repérer les différents processus qui sont modifiés ou créés afin de pouvoir enquêter dessus de manière plus approfondie.</div>
</div>
<div class="MsoCaption" style="margin-bottom: 15px; margin-top: 15px; text-align: center;">
<div style="text-align: center;">
<figure id="post-15776 media-15776" class="align-none"><img loading="lazy" decoding="async" class="size-full wp-image-15776 aligncenter" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-3.jpg" alt="" width="605" height="454" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-3.jpg 605w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-3-255x191.jpg 255w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-3-52x39.jpg 52w" sizes="auto, (max-width: 605px) 100vw, 605px" /></figure>
<div class="separator" style="clear: both; text-align: center;"></div>
<p><i>Figure 2 : Résultat de Process Explorer sur un exécutable</i></p>
</div>
</div>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-top: 5px;">
<div style="text-align: justify;">Ces techniques sont très efficaces pour comprendre ce que fait un exécutable, mais il ne faut pas négliger leur utilité pour déterminer si un document est malveillant ou non. Un moyen rapide de savoir si un PDF est malveillant, par exemple, est de lancer <i>Process Explorer</i> puis d’ouvrir le PDF et de regarder si de nouveaux processus sont créés.</div>
</div>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-top: 5px;">
<div style="text-align: justify;"><u>Remarque :</u> Pour l’analyse de documents, il est souvent intéressant d’utiliser des versions intentionnellement non <i>patchées</i> des logiciels afin de s’assurer que l’attaque est efficace. Une bonne manière de faire cela est par exemple de créer plusieurs <i>snapshots</i> d’une machine virtuelle d’analyse, chaque <i>snapshot</i> ayant une version différente, et généralement assez âgée, des logiciels.</div>
</div>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-top: 5px;">
<div style="text-align: justify;">Pour l’analyse de registres, l’outil <i>Regshot</i> permet de comparer les registres sur deux <i>snapshots </i>différents. Un extrait de résultat de <i>Regshot</i> peut ressembler à la figure 3.</div>
</div>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-top: 5px;">
<div style="text-align: justify;">Dans ce résultat, le premier constat est la création d’un mécanisme de persistance <i>HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run</i> par le programme <i>ckr.exe</i>, le deuxième est la modification<i> </i>de la valeur de la <i>seed</i> pour le générateur de nombre aléatoire, ce qui représente un bruit habituel.</div>
<div style="text-align: center;">
<figure id="post-15778 media-15778" class="align-none"><img loading="lazy" decoding="async" class="size-full wp-image-15778 aligncenter" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-4.jpg" alt="" width="605" height="460" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-4.jpg 605w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-4-251x191.jpg 251w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-4-51x39.jpg 51w" sizes="auto, (max-width: 605px) 100vw, 605px" /></figure>
</div>
</div>
<div class="MsoCaption" style="margin-bottom: 15px; margin-top: 15px; text-align: center;">
<div class="separator" style="clear: both; text-align: center;"></div>
<p><i>Figure 3 : Extrait de résultat de Regshot après lancement du programme ckr.exe</i></p>
</div>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-top: 5px;"></div>
<h2 style="margin-bottom: 15px; margin-top: 25px; text-align: justify;"><span style="mso-list: Ignore;">2)<span style="font: 7pt 'Times New Roman';">     </span></span>Analyse réseau</h2>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-top: 5px;">
<div style="text-align: justify;">De nombreux <i>malwares</i> récupèrent des ressources ou transmettent des informations sur le réseau (en particulier vers des serveurs C2 « Command &amp; Control »). De ce fait il est très intéressant de réaliser une analyse réseau pour déterminer les actions du <i>malware</i>. L’environnement d’analyse n’étant pas connecté à internet, il se peut qu’une partie des fonctionnalités du <i>malware</i> restent non accessibles. Cependant il est préférable de récupérer de telles informations en faisant une analyse manuelle approfondie plutôt que de permettre au <i>malware</i> de se propager (une sortie directe vers Internet peut néanmoins être fortement utile aux équipes d’analyse).</div>
</div>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-top: 5px;">
<div style="text-align: justify;">Quelques outils peuvent permettre d’effectuer une analyse réseau d’un <i>malware</i> :</div>
</div>
<div class="Enum1" style="margin-bottom: 4px; margin-top: 4px;">
<ul style="list-style-type: disc;">
<li style="text-align: justify;"><i>ApateDNS</i> permet de récupérer les requêtes DNS faites par le <i>malware</i>. Il permet également de simuler les réponses d’une adresse IP spécifiée en écoutant sur le port 53 de la machine locale <i>via</i> le protocole UDP. Il affiche alors les requêtes reçues en hexadécimal ou en ASCII. Par défaut <i>ApateDNS</i> utilise la passerelle (<i>gateway</i>) ou les paramètres de DNS courants dans les réponses DNS.</li>
</ul>
</div>
<div class="MsoCaption" style="margin-bottom: 15px; margin-top: 15px; text-align: center;">
<figure id="post-15780 media-15780" class="align-none"><img loading="lazy" decoding="async" class="size-full wp-image-15780 aligncenter" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-5.png" alt="" width="605" height="439" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-5.png 605w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-5-263x191.png 263w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-5-54x39.png 54w" sizes="auto, (max-width: 605px) 100vw, 605px" /></figure>
<div class="separator" style="clear: both; text-align: center;"></div>
<p><i>Figure 4 : Interception des requêtes DNS et simulation des réponses par ApateDNS en utilisant l’IP 192.168.120.1</i></p>
</div>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-top: 5px;"></div>
<div class="Enum1" style="margin-bottom: 4px; margin-top: 4px;">
<ul style="list-style-type: disc;">
<li style="text-align: justify;"><i>Netcat</i> permet le scan de port, <i>tunneling</i>, <i>proxying</i>, transfert de ports et bien d’autres choses sur des connections aussi bien entrantes que sortantes. Il existe deux modes de fonctionnement pour <i>Netcat</i>, le mode écoute, pour lequel <i>Netcat</i> agit comme un serveur, et le mode connexion pour lequel il agit comme un client.</li>
</ul>
</div>
<div class="Enum1Suite">
<div style="text-align: justify;"><u>Remarque :</u> les <i>malwares</i> utilisent souvent les ports 80 et 443 (HTTP et HTTPS respectivement) car ces ports ne sont généralement pas bloqués par les différents équipements de sécurité sur le réseau des entreprises (firewall, proxy, etc.).</div>
</div>
<div class="Enum1Suite">
<div style="text-align: justify;"><u>Remarque 2 :</u> certains <i>malwares</i> simulent des connexions usuelles afin de cacher leur comportement et tirer parti d’une méconnaissance de nombreux analystes réseau qui ne se concentrent que sur le début d’une session. Par exemple, en figure 5 le <i>reverse shell RShell</i> est instancié avec une redirection du domaine <i>www.google.com</i> vers l’hôte local 127.0.0.1 à l’aide d’<i>ApateDNS</i>. L’analyste écoute ensuite le trafic réseau sur le port 80 local avec <i>Netcat</i>.</div>
</div>
<div class="Enum1Suite">
<div style="text-align: justify;">Dans ce résultat, <i>RShell</i> simule une requête POST à <i>www.google.com</i> (comme le montre le point 2 sur la figure) mais par la suite, l’analyste récupère bien un <i>shell</i> (visible sur le point 3).</div>
</div>
<div class="MsoCaption" style="margin-bottom: 15px; margin-top: 15px; text-align: center;">
<figure id="post-15782 media-15782" class="align-none"><img loading="lazy" decoding="async" class="size-full wp-image-15782 aligncenter" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-6.jpg" alt="" width="605" height="344" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-6.jpg 605w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-6-336x191.jpg 336w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-6-69x39.jpg 69w" sizes="auto, (max-width: 605px) 100vw, 605px" /></figure>
<div class="separator" style="clear: both; text-align: center;"></div>
<p><i>Figure 5 : Résultat renvoyé par Netcat lors de l’exécution de RShell en redirigeant les requêtes vers l’hôte grâce à ApateDNS</i></p>
</div>
<div class="Enum1" style="margin-bottom: 4px; margin-top: 4px;">
<ul style="list-style-type: disc;">
<li style="text-align: justify;"><i>Wireshark</i> permet la capture de paquets et de création de logs pour le trafic réseau. Il permet la visualisation, l’analyse de trames et l’analyse en détail de paquets individuels.</li>
</ul>
</div>
<div class="MsoCaption" style="margin-bottom: 15px; margin-top: 15px; text-align: center;">
<div class="separator" style="clear: both; text-align: center;"></div>
<figure id="post-15784 media-15784" class="align-none"><img loading="lazy" decoding="async" class="size-full wp-image-15784 aligncenter" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-7.png" alt="" width="566" height="398" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-7.png 566w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-7-272x191.png 272w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-7-55x39.png 55w" sizes="auto, (max-width: 566px) 100vw, 566px" /></figure>
<p><i>Figure 6 : Capture d’écran d’une analyse Wireshark</i></p>
</div>
<div class="Enum1Suite">
<div style="text-align: justify;">Une des fonctionnalités très utiles de <i>Wireshark</i> est la fonctionnalité <i>Follow TCP stream</i> qui permet à partir d’un paquet de reconstituer le flot entier auquel il appartient.</div>
</div>
<div class="separator" style="clear: both; text-align: center;"></div>
<div class="MsoCaption" style="margin-bottom: 15px; margin-top: 15px; text-align: center;">
<div>
<figure id="post-15786 media-15786" class="align-none"><img loading="lazy" decoding="async" class="size-full wp-image-15786 aligncenter" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-8.jpg" alt="" width="605" height="373" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-8.jpg 605w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-8-310x191.jpg 310w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-8-63x39.jpg 63w" sizes="auto, (max-width: 605px) 100vw, 605px" /></figure>
</div>
<div style="text-align: center;">Figure 7 : Fonctionnalité <i>Follow TCP Stream</i> de <i>Wireshark</i></div>
</div>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-top: 5px;">
<div style="text-align: justify;"><i>Wireshark</i> peut permettre à l’analyste de comprendre comment le <i>malware</i> réalise ses communications réseau.</div>
</div>
<h2 style="margin-bottom: 15px; margin-top: 25px; text-align: justify;"><span style="mso-list: Ignore;">3)<span style="font: 7pt 'Times New Roman';">     </span></span>Analyse via débogueur</h2>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-top: 5px;">
<div style="text-align: justify;">Étape la plus complexe de l’analyse, l’analyse dynamique avancée correspond au passage de l’exécutable dans un débogueur afin de déterminer les actions qu’il effectue les unes après les autres, ainsi que les différents états qu’il génère sur le poste analysé. Il existe plusieurs débogueurs utilisables pour cette étape, notamment <i>IDA Pro</i>, <i>OllyDbg</i> et <i>WinDbg</i>.</div>
</div>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-top: 5px;">
<div style="text-align: justify;">Cette étape est extrêmement efficace mais nécessite de nombreuses connaissances et beaucoup de temps. Dans cette partie sera présenté un aperçu de ce qu’il est possible de faire avec un débogueur. Il est important de retenir que l’analyse dynamique révèle ce que le <i>malware</i> fait véritablement, contrairement à l’analyse statique qui montre ce que le <i>malware</i> est en théorie capable de faire. Certains bouts de code présents dans le <i>malware</i> peuvent en effet ne jamais être appelés, et les repérer durant l’analyse statique peut induire en erreur l’analyste sur l’action du <i>malware</i>.</div>
</div>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-top: 5px;">
<div style="text-align: justify;">L’utilisation d’un débogueur permet également d’obtenir des informations impossibles à récupérer avec un désassemblage, comme par exemple les valeurs prises par les registres au fur et à mesure de l’exécution.</div>
</div>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-top: 5px;">
<div style="text-align: justify;">Il existe en fait deux types de débogueurs, ceux dits <i>source-level</i> qui sont généralement intégrés dans les <i>IDE</i> et bien connus des développeurs, leur permettant d’agir sur le code source afin de déterminer les comportements étranges de leurs programmes, et ceux dits <i>assembly-level</i> ou <i>low-level</i> qui agissent sur le code assembleur. C’est ce deuxième type de débogueur qui est utilisé par les analystes de <i>malware</i>, étant donné qu’ils n’ont pas accès au code source de l’application.</div>
</div>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-top: 5px;">
<div style="text-align: justify;">De même il existe deux niveaux de débogage, celui en mode utilisateur, où le débogueur est lancé sur le même système d’exploitation que le programme en cours d’exécution, et celui plus complexe en mode noyau, qui permet de déboguer des applications ayant ce niveau d’interactions, mais qui nécessite deux machines reliées, l’une faisant tourner le programme, et l’autre permettant le débogage. Une deuxième machine est en effet nécessaire car il n’existe qu’un noyau par système d’exploitation, et si un <i>breakpoint</i> est mis sur une instruction exécutée par ce noyau, plus aucune application ne pourra répondre, le débogueur compris.</div>
</div>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-top: 5px;">
<div style="text-align: justify;">Dans les deux cas d’exécution, le résultat sera la mise en suspens du programme. Dans le premier cas le programme sera stoppé dès le point d’entrée (sauf configuration particulière) alors que dans le deuxième il sera arrêté là où il se trouvait. Une fois cela effectué, il est possible d’agir de différentes manières sur le programme :</div>
<ul style="list-style-type: disc;">
<li style="text-align: justify;">Avancer d’une instruction (<i>single-stepping</i>) : cette action est généralement utilisée uniquement sur les passages identifiés comme importants afin d’obtenir des détails sur le fonctionnement comme les valeurs prises par les registres.</li>
<li style="text-align: justify;">Avancer d’une fonction (<i>Stepping-over</i>) : cela peut permettre de passer des détails inutiles. Par exemple si le programme appelle la fonction <i>LoadLibrary</i>, il n’est pas nécessaire de rentrer dans les détails de cette fonction.<span style="font: 7pt 'Times New Roman';"> </span></li>
<li style="text-align: justify;">Rentrer dans une fonction (<i>Stepping-into</i>) : en opposition à l’action précédente, il peut parfois être intéressant de rentrer dans une fonction pour en comprendre les détails.</li>
<li style="text-align: justify;">Avancer jusqu’au prochain <i>breakpoint</i> : pour cela il faut souvent placer un <i>breakpoint</i> plus loin dans le code et relancer l’exécution, le débogueur s’arrêtera automatiquement au <i>breakpoint</i>.</li>
<li style="text-align: justify;">Modifier l’exécution d’un programme : par exemple pour éviter l’appel à une fonction, il est possible de mettre un <i>breakpoint</i> sur cette fonction et, lorsque l’interruption est levée, changer le pointeur d’instruction à après son appel.</li>
</ul>
</div>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-top: 5px;">
<div style="text-align: justify;">Il existe trois types de <i>breakpoints</i> :</div>
</div>
<div class="Enum1" style="margin-bottom: 4px; margin-top: 4px;">
<ul style="list-style-type: disc;">
<li style="text-align: justify;">Les <i>software breakpoints</i> : ces points d’arrêt sont utilisés pour faire en sorte que le programme s’arrête lorsque l’instruction sur laquelle ils sont placés est appelée. Pour réaliser cela, le débogueur remplace le premier octet de l’instruction par <i>0xCC</i>, l’instruction pour INT3.</li>
</ul>
<div style="text-align: center;">
<figure id="post-15788 media-15788" class="align-none"><img loading="lazy" decoding="async" class="size-full wp-image-15788 aligncenter" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-9.png" alt="" width="512" height="111" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-9.png 512w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-9-437x95.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2021/05/Image-9-71x15.png 71w" sizes="auto, (max-width: 512px) 100vw, 512px" /></figure>
</div>
</div>
<div class="MsoCaption" style="margin-bottom: 15px; margin-top: 15px; text-align: center;">
<div class="separator" style="clear: both; text-align: center;"></div>
<p>Figure 8 : Remplacement du premier octet de l’instruction par 0xCC lors d’un <i>software breakpoint</i>.</p>
</div>
<div class="Enum1" style="margin-bottom: 4px; margin-top: 4px;">
<ul style="list-style-type: disc;">
<li style="text-align: justify;">Les <i>hardware breakpoints</i> : ils sont placés sur une adresse mémoire, et déclenchés lorsque le programme tente d’accéder à cette ressource. L’avantage est qu’ils ne dépendent pas de la valeur présente dans cette adresse mémoire, et qu’ils interviennent à l’accès et non à l’exécution. Néanmoins ils nécessitent des registres particuliers qui sont en nombre limités sur un système.</li>
</ul>
</div>
<div class="Enum1" style="margin-bottom: 4px; margin-top: 4px;">
<ul style="list-style-type: disc;">
<li style="text-align: justify;">Les <i>conditional breakpoints</i> : ce sont des <i>software breakpoints</i> qui ne vont déclencher l’arrêt que si une certaine condition est vérifiée. Cela peut par exemple être utile si l’on veut s’arrêter à l’appel d’une fonction que si un certain paramètre est appelé.</li>
</ul>
</div>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-top: 5px;"></div>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-top: 5px;">
<div style="text-align: justify;">Ces différentes techniques d’analyse dynamique viennent en complément d’une analyse statique.</div>
</div>
<div class="MsoNormalIndent" style="margin-bottom: 5px; margin-top: 5px;">
<div style="text-align: justify;">Il convient néanmoins de prendre toutes les précautions nécessaires avant de se lancer dans une analyse de malware. Chaque résultat obtenu par les analystes doit être contrevérifié pour s’assurer qu’aucune technique anti-reverse n’est mise en œuvre dans le binaire.</div>
</div>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2016/06/reverse-engineering-focus-sur-lanalyse/">Reverse Engineering &#8211; focus sur l’analyse dynamique de malware</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
