Threats modeling can be understood as making sense of the complexity of the system we have a attend
whether it's a mobile application Web application or even a network.
And then by identifying all the possible threats it might face.
And then by assessing those threats in simple terms it's about finding different ways in which our system
can be attacked and subsequently designing countermeasures to stop these attacks.
Threat modeling helps us become more proactive and strategic in our operational and application security.
The ultimate goal is to reduce the attack surface and focus on the investment of the business.
So it actually starts by a couple of questions.
What are you working on so we have to divide the assets.
And then what can go wrong.
So after the identification of the assets and having the architectural overview of the system we ask
ourselves many questions How can this system be attacked.
What can go wrong.
So we need to pinpoint those questions after that what can we eat or what are we going to do about it.
So here we start thinking of the counter measures and the controls we will have in place and at the
end we need to assess our job did we do a good job.
So that's modeling actually springs from the trivial risk assessment model.
We need to identify threats in the first place whether it's process it's the software it's an attacker.
Anything can be a threat.
The threat can attack our systems by taking advantage of weaknesses we have or vulnerabilities we have.
And the purpose of the threat modeling is to close the gaps of these vulnerabilities is to put controls
in order to close those vulnerabilities.
So why threat modeling.
Here are some of the benefits of that modeling.
It helps us identify and investigate potential threats to our system and helps us understand our vulnerabilities.
It's helps us identify the logic between our system how data flows how instruction though it helps us
create a set of standard documents that can be used to create specifications.
So it's about systems and documenting the workflows and understanding our systems better.
It helps us eventually in reducing the attack surface reducing in threats and closing and fixing many
of our vulnerabilities.
And of course it helps us define the overall security posture of a system or an application.
Different methods and techniques are used by then testers by practitioners by analysts so understand
the variety of information security risks.
Some of those structured threat modeling techniques are at factories stride method elevation of privileges
team up Petry not data flow diagram activity diagram and risk reduction overview some of the most famous
mole those is the stride model.
So after having the architecture overview or after simplifying our process or system and projecting
it on a diagram we start thinking about what can go wrong.
How does this web application or mobile application workflow goes.
Do I care about what can go wrong with this application for example does it have financial information
about the content of the what is the data stored et cetera.
So we spend much of time analyzing each of the steps in our architecture and overview and one of the
simplest techniques that can help us is the strike.
The strike is on the monarch for spoofing tampering repudiation denial of service and elevation of privilege.
The technique is used for identifying threats in these six areas.
It's actually another taxonomy for the famous trial of the CIA a confidentiality integrity and availability.
So the ultimate goal of strike is to go through the process and start asking ourselves How can someone
spoof his identity.
How can someone tamper our data and how can we make sure that there is no mediation in place.
How can information be disclosed and how can someone take advantage of some form the ability to provide
a denial of service.
And how can someone access the system in an unauthorized way and many mitigation approaches exist such
as using passwords multifactorial authentication and digital signatures to protect against spoofing
attacks.
And we can use permissions access control lists and again digital signatures to protect against data
tampering.
We can use secure logging auditing and digital signatures force to protect against repudiation encryption
access list controls as well can be implemented to protect against information leakage permissions access
controls.
Gold does for example some filtering techniques can be employed to protect against denial of service
and least to protect against elevation of privileges.
We can implement the techniques of input validation and access controls.