<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Anusha Reddy</title>
    <description>The latest articles on DEV Community by Anusha Reddy (@mailanushamn).</description>
    <link>https://dev.to/mailanushamn</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F839489%2F93374b1b-61d9-494d-acc6-bcd2832f2782.png</url>
      <title>DEV Community: Anusha Reddy</title>
      <link>https://dev.to/mailanushamn</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mailanushamn"/>
    <language>en</language>
    <item>
      <title>The 5W's of Threat Modeling</title>
      <dc:creator>Anusha Reddy</dc:creator>
      <pubDate>Sat, 02 Apr 2022 15:20:14 +0000</pubDate>
      <link>https://dev.to/mailanushamn/the-5ws-of-threat-modeling-j58</link>
      <guid>https://dev.to/mailanushamn/the-5ws-of-threat-modeling-j58</guid>
      <description>&lt;p&gt;&lt;strong&gt;What&lt;/strong&gt;?&lt;br&gt;
&lt;em&gt;Well, it’s a process which identifies security requirements, threats &amp;amp; vulnerabilities. It helps in understanding the impact of threats and also quantifies their severity.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why?&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Because, it helps you spot design flaws early in SDLC which can be missed during code reviews or testing and keeps the attackers at bay.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When?&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Typically during the design phase. But it’s never too late to know your flaws and rectify them for the future.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where?&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Hmm, I will tell you where you can create a Threat model diagram.&lt;br&gt;
There are different tools which can be used like Cairis, IriusRisk, Kenna, Microsoft Threat Modeling Tool etc.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who?&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Usually one or more members of security team along with the engineering team participates in this process.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ok, now that we know what it is, how to do this?&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;You need to know what you are trying to accomplish through your software. Basically&lt;/em&gt;, &lt;strong&gt;Set objectives&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;You know what you want&lt;/em&gt;, &lt;strong&gt;Visualise&lt;/strong&gt; &lt;em&gt;how to do it&lt;/em&gt;. &lt;em&gt;Design the architecture of your application&lt;/em&gt; .&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Now, think about what could go wrong&lt;/em&gt;. &lt;strong&gt;Identify threats&lt;/strong&gt;. &lt;em&gt;This is where the threat modeling tools come in handy&lt;/em&gt;. &lt;em&gt;If you represent your architecture through a threat model diagram&lt;/em&gt;, &lt;em&gt;it identifies the threats and gives possible mitigations&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;You have a list of threats, what are you going to do about it? The obvious choice is to&lt;/em&gt; &lt;strong&gt;Mitigate&lt;/strong&gt; &lt;em&gt;them&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Did you do a good job in fixing them&lt;/em&gt;? &lt;strong&gt;Validate&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Easy with an example&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Consider a sample Order application whose objective is to create an order request&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Lets visualise the design&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;We need a Web API to receive the request from the client&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Web API communicates with Order service&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Order service communicates with a database to store the request&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;To identify threats&lt;/em&gt;, &lt;em&gt;I have used Microsoft Threat Modeling Tool to create a threat model diagram&lt;/em&gt;. &lt;em&gt;The tool analyses the design&lt;/em&gt;, &lt;em&gt;spots the security threats and vulnerabilities and also gives possible mitigations&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AuJfzYk6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/93mtef3dxb2mze4eai75.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AuJfzYk6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/93mtef3dxb2mze4eai75.PNG" alt="Image description" width="880" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Once we mitigate a particulat threat&lt;/em&gt;, &lt;em&gt;we can provide our justification in the justification column&lt;/em&gt;.&lt;br&gt;
&lt;em&gt;Once the justification is validated, we can change the state to mitigated&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In conclusion&lt;/strong&gt;, &lt;strong&gt;with this process we can identify the security flaws during the design phase&lt;/strong&gt;, &lt;strong&gt;rectify them before the software release and prevent costly re-coding after deployment&lt;/strong&gt;.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
