SlideShare a Scribd company logo
1 of 43
Lalit Kale
@techiethought
For Business’s sake, Let’s focus on
AppSec
Limerick DotNet Azure User Group (LDNA)
About Me
• 12 years of .NET
• Roles: Software Developer  Sr. Developer  Tech Lead Architect
• Limerick DotNet Azure Meetup Organizer
• AppSecurity Enthusiast
Limerick DotNet Azure User Group (LDNA)
Our Sponsors
Limerick DotNet Azure User Group (LDNA)
Before we start…
• Audience:
• Beginner .NET developers and developers coming from other non-windows background
• Eventual pieces of new information/insights/ peek into future of .NET for Senior .NET developers
• People who are keen on improving their craft
• Presentation:
• Approx. Time: ~1.30 Hour (45 min session +10-15 minutes of Pizza break + 10-15 minutes of
questions)
• Discussion Over Monotonous Delivery
• Planned slides for Questions are marked with Question Icon, Feel free to jump in to express your
thoughts or ask questions by raising your hands
• Code Snippets to understand the concepts – Not Ready for Production
• All Views/Opinions expressed here are mine and nothing to do with my current/past employers
Agenda
• Understanding the Application Security and its business impact
• OWASP
• Threat Modelling
• Secure Coding Practices
• Penetration Testing and AppSec related Tools
• What if, you are in middle of Attack scenarios
What is AppSec?
• Application security encompasses measures taken to improve the
security of an application often
• by finding,
• fixing and
• preventing security vulnerabilities.
What is AppSec?
Getting Your Terms Right…
• Asset: A resource of value such as the data in a database, money in
an account, file on the filesystem or any system resource.
• Vulnerability: A weakness or gap in security program that can be
exploited by threats to gain unauthorized access to an asset.
• Attack (or exploit): An action taken to harm an asset.
• Threat Anything that can exploit a vulnerability and obtain, damage,
or destroy an asset.
Business Impact
Why AppSec is Important?
You don’t want to be…
145 million US Customers
400 k UK Customers
100 K Canadian Customers
1 billion300 K57 MGame of Thrones
Manuscript
Source: https://www.accenture.com/t20170926T072837Z__w__/us-en/_acnmedia/PDF-61/Accenture-2017-CostCyberCrimeStudy.pdf
Live Attack Map
Every company is Software Company
AppSec is for every business
AppSec
Foundations of Application Security
• Authentication= (Who are you?)
• Authorization=(What can you do?)
• Auditing(Non-repudiation) =Can not deny your action
• Confidentiality(Privacy)=Data remains private and confidential
• Integrity=Data is protected
• Availability=System remains available
Broader Picture - Layered Security Approach
Physical Security Controlled Access, electronic surveillance ,video surveillance, security personnel
Perimeter Security Firewalls, IDS
Network Security Segmentation, Secure W-LAN , IPSec, DMZ
Host Security Server Hardening, Client Hardening, Patch Management, Anti-virus, Distributed Firewalls
Application Security IIS hardening, Exchange Hardening, SQL Server hardening,
Attacks are focusing on applications
Sources: IBM X-Force, 2008
Operating system vs browser and application vulnerabilities
90% of
vulnerabilities
are remotely
exploitable
From the Microsoft Security Intelligence Report V7
Sources: Sept 2009 Report with data from TippingPoint IPS and vulnerability data by Qualys.
Importance of Application Security
• Web applications have largest number of vulnerabilities.
Web Applications Breach Perimeter
Internet DMZ
Trusted
Inside
Corporate
Inside
HTTP(S)
Allows HTTP port 80
Allows HTTPS port 443
Firewall only
allows
applications
on the web
server to talk to
application
server.
Firewall only allows
application server
to talk to database
server.
IIS
Apache
ASP
.NET
WebSphere
Java
MS-SQL
Oracle
DB2
Browser
OWASP
• Open Web Application Security Project
• International non-profit Project to make web applications more
secure
• Independent, reputable
• Key goals
• Awareness
• Testing
• Training
• www.owasp.org
OWASP Top 10 Threats - 2017Application Threat Negative Impact Example Impact
Injection Flaws Injection flaws are very prevalent, particularly in legacy code.
Injection vulnerabilities are often found in SQL, LDAP, XPath, or
NoSQL queries, OS commands, XML parsers, SMTP headers,
expression languages, and ORM queries.
n data loss, corruption, or disclosure to unauthorized parties, loss of
accountability,
Broken Authentication & Session
Management
Session tokens not guarded or invalidated properly Hacker can “force” session token on victim; session tokens can be stolen
after logout
Sensitive Data Exposure Sensitive info sent unencrypted over insecure channel Unencrypted credentials “sniffed” and used by hacker to impersonate user
XML External Entities (XXE) By default, many older XML processors allow specification of an
external entity, a URI that is dereferenced and evaluated during XML
processing.
These flaws can be used to extract data, execute a remote request from
the server, scan internal systems, perform a denial-of-service attack, as well
as execute other attacks.
Broken Access Control Access control weaknesses are common due to the lack of
automated detection, and lack of effective functional testing by
application developers.
The technical impact is attackers acting as users or administrators, or users
using privileged functions, or creating, accessing, updating or deleting
every record
Security Misconfiguration Attackers can gain detailed system information Malicious system investigation may assist in developing further attacks
Cross Site scripting Identity Theft, Sensitive Information Leakage, … Hackers can impersonate legitimate users, and control their accounts.
Insecure Deserialization Attacker can access sensitive files and resources Web application returns contents of sensitive file (instead of harmless one)
Missing Function Level Access
Control
Attacker can access unauthorized resources Hacker can forcefully browse and access a page past the login page
Using Components with Known
Vulnerabilities
Attacker can exploit vulnerable component to gain access to system Attacker can do data loss and also perform server takeover.
Insufficient Logging and Monitoring One strategy for determining if you have sufficient monitoring is to
examine the logs following penetration testing. The testers' actions
should be recorded sufficiently to understand what damages they
In 2016, identifying a breach took an average of 191 days – plenty of time
for damage to be inflicted.
DEMO
OWASP Top 10 Threats (Project: WebGoat)https://www.dbramante1928.com/mini-profiler-resources/results
Security Professional
“As a Security Professional, I don’t
know how my companies web
applications are supposed to
work so I deploy a protective
solution…but don’t know if it’s
protecting what it’s supposed to.”
Application Developers and QA
“As an Application Developer, I
can build/test great features and
functions while meeting
deadlines, but I don’t know how
to develop/test my web
application with security as a
feature.”
Industry Gap
Bridging The Gap-Step by Step
• Prioritize application security as important non functional
requirement
• Improve awareness of application security in developers and QAs.
• Incorporate security in SDLC.
• Define clear role and responsibility towards application security
• Promote Penetration testing of application
Education Accountability
Administer and track
security training
Incident
Response
(MSRC)
Establish release criteria and
sign-off as part of FSR
Ongoing Process Improvements
Process
Guide product teams to
meet SDL requirements
Microsoft Security Development Lifecycle
Threat Modelling
• A Strategic framework for planning application security aspect in
system design phase
• Identify, understand, and mitigate threats most likely to affect the
system
• Can be practiced for both new applications as well as on existing
ones
Threat Modelling
Application
Decomposition
•Define scope
•Create an architecture
overview
•Function
•Logical architecture
•Physical deployment
•Technologies
•Identify assets
•Mark trust boundaries
•Identify data flows,
entry points, and
assumptions
•Make note of
privileged code
Threat Mapping
•Identifying Threats
•Use STRIDE Model
•Creating Threat Tree
•Documenting each
Threat
•STRIDE(Spoofing,
Tampering,
Repudiation,
Information Disclosure,
Elevation of Priviledges
)
Calculate Risks
•Use Risk = Probability *
Damage Potential
•Use Risk = Min(D,
(D+R+E+A+D) / 5)
•Damage
•Reproducibility
•Exploitability
•Affected
•Discoverability
Risk Acceptance - doing
nothing
•Risk Transference - pass
risk to an externality
•Risk Avoidance -
removing the
feature/component
that causes the risk
•Risk Mitigation -
decrease the risk
•Mitigation strategies
should be examined for
each threat
•Mitigations should be
chosen according to
the appropriate
technology
•Resolution should be
decided according to
risk level and cost of
mitigations
Why Threat Modelling
• Cannot build a secure system until you understand threats to system
• Find security bugs early (and complex bugs)
• Address threats in logical order according to greatest risk
• Reduce overall risk by mitigating important threats
• How do you know when application is “secure enough”?
Types of Threat Modelling
• Attacker Centric
Starts with an attack and evaluates the goals and how attackers might achieve
them
• Software Centric
Starts from the design of system and attempts to step through a model of
system, looking for types of attacks against each element of the model
• Asset Centric
Involves starting from assets entrusted to a system, such as a collection of
sensitive personal information
Defense in Depth Example
SDL Core Principle: Least Privilege
• Assume that all applications can and will be compromised
• Least Privilege: If an application is compromised, then the potential
damage that the malicious person can inflict is contained and
minimized accordingly
Least Privilege Example
LOCAL SYSTEMNON-ADMIN
ADMIN / SYSTEM LEVEL
• Read user files
• Change system
passwords
• Download malicious
files
• Anything
NON-ADMIN
• Read user files
• Change system
passwords
• Download malicious
files
• Limited capabilities
Least Privilege Tips
• Evaluate your application and think minimally!
• What is the minimum access level your application requires to
perform its functions?
• Elevate privileges only when needed, and then release those elevated
privileges when their purposes have been satisfied
SDL Core Principle: Secure Defaults
• Secure Defaults: Deploy applications in more secure configurations
by default.
• Helps to better ensure that customers get safer experience with your
application out of the box, not after extensive configuration
• It is up to the user to reduce security and privacy levels
Secure Defaults Examples
Application Component Secure Defaults Principle
Firewall Firewall ON by default
SSL Socket Requires last latest SSL version (v3, TLS,
etc.) by default
User can access application
anonymous or authenticated
Application requires authenticated user
sessions by default
Password complexity can be enforced Password complexity is required by
default
Store user passwords as hashes or
clear text
Store user passwords as hashes by
default
Secure Coding Practices
1. Validate input
2. Heed compiler warnings
3. Architect and design for security policies
4. Keep it simple. Keep the design as simple and small as possible
5. Default deny
6. Adhere to the principle of least privilege
7. Sanitize data sent to other systems
8. Practice defense in depth
9. Use effective quality assurance techniques
10. Incorporate Application Security through Continuous Integration
11. Adopt a secure coding standard –
https://wiki.sei.cmu.edu/confluence/display/seccode/SEI+CERT+Coding+Sta
ndards
https://msdn.microsoft.com/en-us/library/ff649874.aspx
Tools
Learning
• Fiddler
• WireShark
• Chrome addins
• OWSAP
Static Code
Analysis/Scanners
• SonarQube
• FxCop
• Veracode
• HP Fortify
• Qualsys
• Acunetix
• NetSparker
Pen Testing Tool
• Kali-Linux
• Metasploit
• Burp Suite
• OWSAP Zap –
Integration with
Jenkins CI
Mobile Client
Focused
• Drozer
• BEef Project
• Frida
• Mobile-Security-
Framework-
MobSF
Awesome List of PenTesting Resources
• https://github.com/enaqx/awesome-pentest
When you are in middle of Attack
• Identification
• Use Threat Model that you have built to calculate your risk
• Damage - how bad would an attack be?
• Reproducibility - how easy is it to reproduce the attack?
• Exploitability - how much work is it to launch the attack?
• Affected users - how many people will be impacted?
• Discoverability - how easy is it to discover the threat?
When you are in middle of Attack
• Identify Attack Pattern
• Man-in-Middle
• DHCP Starvation
• ARR Cache Poisoning
• DNS Based attacks
• DDoS
• Social Engineering
• Isolate – Reduce Attack Surface
• Server Hardening – Closing ports, Blacklisting Ips/DNS Ranges
• Implementation of Zero Trust Model (“never trust, always verify”)
• Use of Deterrent Tools like IDS
• Prevention is better than cure
Evolving Threats
.
This presentation is shared under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license. More information for this license is available at http://creativecommons.org/licenses/by-nc-sa/4.0/
All trademarks are the property of their respective owners. Lalit Kale or Limerick DotNet-Azure User Group or it’s members makes no warranties, express, implied or statutory, as to the information in this presentation.
Limerick DotNet-Azure User Group
https://www.meetup.com/limerick-dotnet/
Twitter: limerickdotnet

More Related Content

What's hot

Threat Modeling for System Builders and System Breakers - Dan Cornell of Deni...
Threat Modeling for System Builders and System Breakers - Dan Cornell of Deni...Threat Modeling for System Builders and System Breakers - Dan Cornell of Deni...
Threat Modeling for System Builders and System Breakers - Dan Cornell of Deni...Denim Group
 
Security Culture from Concept to Maintenance: Secure Software Development Lif...
Security Culture from Concept to Maintenance: Secure Software Development Lif...Security Culture from Concept to Maintenance: Secure Software Development Lif...
Security Culture from Concept to Maintenance: Secure Software Development Lif...Dilum Bandara
 
"CERT Secure Coding Standards" by Dr. Mark Sherman
"CERT Secure Coding Standards" by Dr. Mark Sherman"CERT Secure Coding Standards" by Dr. Mark Sherman
"CERT Secure Coding Standards" by Dr. Mark ShermanRinaldi Rampen
 
Understanding Application Threat Modelling & Architecture
 Understanding Application Threat Modelling & Architecture Understanding Application Threat Modelling & Architecture
Understanding Application Threat Modelling & ArchitecturePriyanka Aash
 
Shift Left Security
Shift Left SecurityShift Left Security
Shift Left Securitygjdevos
 
Threat modelling(system + enterprise)
Threat modelling(system + enterprise)Threat modelling(system + enterprise)
Threat modelling(system + enterprise)abhimanyubhogwan
 
Mobile security recipes for xamarin
Mobile security recipes for xamarinMobile security recipes for xamarin
Mobile security recipes for xamarinNicolas Milcoff
 
Threat Modeling for the Internet of Things
Threat Modeling for the Internet of ThingsThreat Modeling for the Internet of Things
Threat Modeling for the Internet of ThingsEric Vétillard
 
Offensive cyber security engineer updated
Offensive cyber security engineer updatedOffensive cyber security engineer updated
Offensive cyber security engineer updatedInfosecTrain
 
Threat Modeling - Locking the Door to Vulnerabilities
Threat Modeling - Locking the Door to VulnerabilitiesThreat Modeling - Locking the Door to Vulnerabilities
Threat Modeling - Locking the Door to VulnerabilitiesSecurity Innovation
 
NextGen Endpoint Security for Dummies
NextGen Endpoint Security for DummiesNextGen Endpoint Security for Dummies
NextGen Endpoint Security for DummiesAtif Ghauri
 
Building an AppSec Team Extended Cut
Building an AppSec Team Extended CutBuilding an AppSec Team Extended Cut
Building an AppSec Team Extended CutMike Spaulding
 
What Every Developer And Tester Should Know About Software Security
What Every Developer And Tester Should Know About Software SecurityWhat Every Developer And Tester Should Know About Software Security
What Every Developer And Tester Should Know About Software SecurityAnne Oikarinen
 
5 things i wish i knew about sast (DSO-LG July 2021)
5 things i wish i knew about sast (DSO-LG July 2021)5 things i wish i knew about sast (DSO-LG July 2021)
5 things i wish i knew about sast (DSO-LG July 2021)Michael Man
 
OWASP Secure Coding Practices - Quick Reference Guide
OWASP Secure Coding Practices - Quick Reference GuideOWASP Secure Coding Practices - Quick Reference Guide
OWASP Secure Coding Practices - Quick Reference GuideLudovic Petit
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application SecurityAbdul Wahid
 
Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"
Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"
Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"Nazar Tymoshyk, CEH, Ph.D.
 

What's hot (20)

Threat Modeling for System Builders and System Breakers - Dan Cornell of Deni...
Threat Modeling for System Builders and System Breakers - Dan Cornell of Deni...Threat Modeling for System Builders and System Breakers - Dan Cornell of Deni...
Threat Modeling for System Builders and System Breakers - Dan Cornell of Deni...
 
Security Culture from Concept to Maintenance: Secure Software Development Lif...
Security Culture from Concept to Maintenance: Secure Software Development Lif...Security Culture from Concept to Maintenance: Secure Software Development Lif...
Security Culture from Concept to Maintenance: Secure Software Development Lif...
 
"CERT Secure Coding Standards" by Dr. Mark Sherman
"CERT Secure Coding Standards" by Dr. Mark Sherman"CERT Secure Coding Standards" by Dr. Mark Sherman
"CERT Secure Coding Standards" by Dr. Mark Sherman
 
Understanding Application Threat Modelling & Architecture
 Understanding Application Threat Modelling & Architecture Understanding Application Threat Modelling & Architecture
Understanding Application Threat Modelling & Architecture
 
Red7 Software Application Security Threat Modeling
Red7 Software Application Security Threat ModelingRed7 Software Application Security Threat Modeling
Red7 Software Application Security Threat Modeling
 
Information Security and the SDLC
Information Security and the SDLCInformation Security and the SDLC
Information Security and the SDLC
 
Shift Left Security
Shift Left SecurityShift Left Security
Shift Left Security
 
Threat modelling(system + enterprise)
Threat modelling(system + enterprise)Threat modelling(system + enterprise)
Threat modelling(system + enterprise)
 
Mobile security recipes for xamarin
Mobile security recipes for xamarinMobile security recipes for xamarin
Mobile security recipes for xamarin
 
Threat Modeling for the Internet of Things
Threat Modeling for the Internet of ThingsThreat Modeling for the Internet of Things
Threat Modeling for the Internet of Things
 
Offensive cyber security engineer updated
Offensive cyber security engineer updatedOffensive cyber security engineer updated
Offensive cyber security engineer updated
 
Threat Modeling - Locking the Door to Vulnerabilities
Threat Modeling - Locking the Door to VulnerabilitiesThreat Modeling - Locking the Door to Vulnerabilities
Threat Modeling - Locking the Door to Vulnerabilities
 
NextGen Endpoint Security for Dummies
NextGen Endpoint Security for DummiesNextGen Endpoint Security for Dummies
NextGen Endpoint Security for Dummies
 
Building an AppSec Team Extended Cut
Building an AppSec Team Extended CutBuilding an AppSec Team Extended Cut
Building an AppSec Team Extended Cut
 
Arved sandstrom - the rotwithin - atlseccon2011
Arved sandstrom - the rotwithin - atlseccon2011Arved sandstrom - the rotwithin - atlseccon2011
Arved sandstrom - the rotwithin - atlseccon2011
 
What Every Developer And Tester Should Know About Software Security
What Every Developer And Tester Should Know About Software SecurityWhat Every Developer And Tester Should Know About Software Security
What Every Developer And Tester Should Know About Software Security
 
5 things i wish i knew about sast (DSO-LG July 2021)
5 things i wish i knew about sast (DSO-LG July 2021)5 things i wish i knew about sast (DSO-LG July 2021)
5 things i wish i knew about sast (DSO-LG July 2021)
 
OWASP Secure Coding Practices - Quick Reference Guide
OWASP Secure Coding Practices - Quick Reference GuideOWASP Secure Coding Practices - Quick Reference Guide
OWASP Secure Coding Practices - Quick Reference Guide
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application Security
 
Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"
Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"
Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"
 

Similar to For Business's Sake, Let's focus on AppSec

Secure coding guidelines
Secure coding guidelinesSecure coding guidelines
Secure coding guidelinesZakaria SMAHI
 
How to develop an AppSec culture in your project
How to develop an AppSec culture in your project How to develop an AppSec culture in your project
How to develop an AppSec culture in your project 99X Technology
 
Application Security Testing for Software Engineers: An approach to build sof...
Application Security Testing for Software Engineers: An approach to build sof...Application Security Testing for Software Engineers: An approach to build sof...
Application Security Testing for Software Engineers: An approach to build sof...Michael Hidalgo
 
Security Best Practices
Security Best PracticesSecurity Best Practices
Security Best PracticesClint Edmonson
 
Cloud Security Zen: Principles to Meditate On
Cloud Security Zen: Principles to Meditate OnCloud Security Zen: Principles to Meditate On
Cloud Security Zen: Principles to Meditate OnSamuel Reed
 
Threat Modeling to Reduce Software Security Risk
Threat Modeling to Reduce Software Security RiskThreat Modeling to Reduce Software Security Risk
Threat Modeling to Reduce Software Security RiskSecurity Innovation
 
chap-1 : Vulnerabilities in Information Systems
chap-1 : Vulnerabilities in Information Systemschap-1 : Vulnerabilities in Information Systems
chap-1 : Vulnerabilities in Information SystemsKashfUlHuda1
 
Mike Spaulding - Building an Application Security Program
Mike Spaulding - Building an Application Security ProgramMike Spaulding - Building an Application Security Program
Mike Spaulding - Building an Application Security Programcentralohioissa
 
Appsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martinAppsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martindrewz lin
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare ☁
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare ☁
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare ☁
 
Ryan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja Warriors
Ryan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja WarriorsRyan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja Warriors
Ryan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja WarriorsRyan Elkins
 
Assessing System Risk the Smart Way
Assessing System Risk the Smart WayAssessing System Risk the Smart Way
Assessing System Risk the Smart WaySecurity Innovation
 
Top 20 certified ethical hacker interview questions and answer
Top 20 certified ethical hacker interview questions and answerTop 20 certified ethical hacker interview questions and answer
Top 20 certified ethical hacker interview questions and answerShivamSharma909
 
SCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOpsSCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOpsStefan Streichsbier
 
The Principles of Secure Development - BSides Las Vegas 2009
The Principles of Secure Development - BSides Las Vegas 2009The Principles of Secure Development - BSides Las Vegas 2009
The Principles of Secure Development - BSides Las Vegas 2009Security Ninja
 
How to Test for The OWASP Top Ten
 How to Test for The OWASP Top Ten How to Test for The OWASP Top Ten
How to Test for The OWASP Top TenSecurity Innovation
 
Solvay secure application layer v2015 seba
Solvay secure application layer v2015   sebaSolvay secure application layer v2015   seba
Solvay secure application layer v2015 sebaSebastien Deleersnyder
 

Similar to For Business's Sake, Let's focus on AppSec (20)

Secure coding guidelines
Secure coding guidelinesSecure coding guidelines
Secure coding guidelines
 
How to develop an AppSec culture in your project
How to develop an AppSec culture in your project How to develop an AppSec culture in your project
How to develop an AppSec culture in your project
 
Building an AppSec Culture
Building an AppSec Culture Building an AppSec Culture
Building an AppSec Culture
 
Application Security Testing for Software Engineers: An approach to build sof...
Application Security Testing for Software Engineers: An approach to build sof...Application Security Testing for Software Engineers: An approach to build sof...
Application Security Testing for Software Engineers: An approach to build sof...
 
Security Best Practices
Security Best PracticesSecurity Best Practices
Security Best Practices
 
Cloud Security Zen: Principles to Meditate On
Cloud Security Zen: Principles to Meditate OnCloud Security Zen: Principles to Meditate On
Cloud Security Zen: Principles to Meditate On
 
Threat Modeling to Reduce Software Security Risk
Threat Modeling to Reduce Software Security RiskThreat Modeling to Reduce Software Security Risk
Threat Modeling to Reduce Software Security Risk
 
chap-1 : Vulnerabilities in Information Systems
chap-1 : Vulnerabilities in Information Systemschap-1 : Vulnerabilities in Information Systems
chap-1 : Vulnerabilities in Information Systems
 
Mike Spaulding - Building an Application Security Program
Mike Spaulding - Building an Application Security ProgramMike Spaulding - Building an Application Security Program
Mike Spaulding - Building an Application Security Program
 
Appsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martinAppsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martin
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
 
Ryan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja Warriors
Ryan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja WarriorsRyan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja Warriors
Ryan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja Warriors
 
Assessing System Risk the Smart Way
Assessing System Risk the Smart WayAssessing System Risk the Smart Way
Assessing System Risk the Smart Way
 
Top 20 certified ethical hacker interview questions and answer
Top 20 certified ethical hacker interview questions and answerTop 20 certified ethical hacker interview questions and answer
Top 20 certified ethical hacker interview questions and answer
 
SCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOpsSCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOps
 
The Principles of Secure Development - BSides Las Vegas 2009
The Principles of Secure Development - BSides Las Vegas 2009The Principles of Secure Development - BSides Las Vegas 2009
The Principles of Secure Development - BSides Las Vegas 2009
 
How to Test for The OWASP Top Ten
 How to Test for The OWASP Top Ten How to Test for The OWASP Top Ten
How to Test for The OWASP Top Ten
 
Solvay secure application layer v2015 seba
Solvay secure application layer v2015   sebaSolvay secure application layer v2015   seba
Solvay secure application layer v2015 seba
 

More from Lalit Kale

Serverless microservices
Serverless microservicesServerless microservices
Serverless microservicesLalit Kale
 
Develop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverlessDevelop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverlessLalit Kale
 
Introduction To Microservices
Introduction To MicroservicesIntroduction To Microservices
Introduction To MicroservicesLalit Kale
 
Dot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsDot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsLalit Kale
 
Code refactoring
Code refactoringCode refactoring
Code refactoringLalit Kale
 
Application Security Tools
Application Security ToolsApplication Security Tools
Application Security ToolsLalit Kale
 
Threat Modeling And Analysis
Threat Modeling And AnalysisThreat Modeling And Analysis
Threat Modeling And AnalysisLalit Kale
 
Application Security-Understanding The Horizon
Application Security-Understanding The HorizonApplication Security-Understanding The Horizon
Application Security-Understanding The HorizonLalit Kale
 
Coding guidelines
Coding guidelinesCoding guidelines
Coding guidelinesLalit Kale
 
Code review guidelines
Code review guidelinesCode review guidelines
Code review guidelinesLalit Kale
 
State management
State managementState management
State managementLalit Kale
 
Implementing application security using the .net framework
Implementing application security using the .net frameworkImplementing application security using the .net framework
Implementing application security using the .net frameworkLalit Kale
 
Data normailazation
Data normailazationData normailazation
Data normailazationLalit Kale
 
Versioning guidelines for product
Versioning guidelines for productVersioning guidelines for product
Versioning guidelines for productLalit Kale
 
Bowling Game Kata by Robert C. Martin
Bowling Game Kata by Robert C. MartinBowling Game Kata by Robert C. Martin
Bowling Game Kata by Robert C. MartinLalit Kale
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven DesignLalit Kale
 
Web 2.0 concept
Web 2.0 conceptWeb 2.0 concept
Web 2.0 conceptLalit Kale
 
Jump Start To Ooad And Design Patterns
Jump Start To Ooad And Design PatternsJump Start To Ooad And Design Patterns
Jump Start To Ooad And Design PatternsLalit Kale
 
How To Create Strategic Marketing Plan
How To Create Strategic Marketing PlanHow To Create Strategic Marketing Plan
How To Create Strategic Marketing PlanLalit Kale
 

More from Lalit Kale (20)

Serverless microservices
Serverless microservicesServerless microservices
Serverless microservices
 
Develop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverlessDevelop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverless
 
Introduction To Microservices
Introduction To MicroservicesIntroduction To Microservices
Introduction To Microservices
 
Dot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsDot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentals
 
Code refactoring
Code refactoringCode refactoring
Code refactoring
 
Application Security Tools
Application Security ToolsApplication Security Tools
Application Security Tools
 
Threat Modeling And Analysis
Threat Modeling And AnalysisThreat Modeling And Analysis
Threat Modeling And Analysis
 
Application Security-Understanding The Horizon
Application Security-Understanding The HorizonApplication Security-Understanding The Horizon
Application Security-Understanding The Horizon
 
Coding guidelines
Coding guidelinesCoding guidelines
Coding guidelines
 
Code review guidelines
Code review guidelinesCode review guidelines
Code review guidelines
 
State management
State managementState management
State management
 
Implementing application security using the .net framework
Implementing application security using the .net frameworkImplementing application security using the .net framework
Implementing application security using the .net framework
 
Data normailazation
Data normailazationData normailazation
Data normailazation
 
Opps
OppsOpps
Opps
 
Versioning guidelines for product
Versioning guidelines for productVersioning guidelines for product
Versioning guidelines for product
 
Bowling Game Kata by Robert C. Martin
Bowling Game Kata by Robert C. MartinBowling Game Kata by Robert C. Martin
Bowling Game Kata by Robert C. Martin
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Web 2.0 concept
Web 2.0 conceptWeb 2.0 concept
Web 2.0 concept
 
Jump Start To Ooad And Design Patterns
Jump Start To Ooad And Design PatternsJump Start To Ooad And Design Patterns
Jump Start To Ooad And Design Patterns
 
How To Create Strategic Marketing Plan
How To Create Strategic Marketing PlanHow To Create Strategic Marketing Plan
How To Create Strategic Marketing Plan
 

Recently uploaded

Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 

Recently uploaded (20)

Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 

For Business's Sake, Let's focus on AppSec

  • 1. Lalit Kale @techiethought For Business’s sake, Let’s focus on AppSec Limerick DotNet Azure User Group (LDNA)
  • 2. About Me • 12 years of .NET • Roles: Software Developer  Sr. Developer  Tech Lead Architect • Limerick DotNet Azure Meetup Organizer • AppSecurity Enthusiast Limerick DotNet Azure User Group (LDNA)
  • 3. Our Sponsors Limerick DotNet Azure User Group (LDNA)
  • 4. Before we start… • Audience: • Beginner .NET developers and developers coming from other non-windows background • Eventual pieces of new information/insights/ peek into future of .NET for Senior .NET developers • People who are keen on improving their craft • Presentation: • Approx. Time: ~1.30 Hour (45 min session +10-15 minutes of Pizza break + 10-15 minutes of questions) • Discussion Over Monotonous Delivery • Planned slides for Questions are marked with Question Icon, Feel free to jump in to express your thoughts or ask questions by raising your hands • Code Snippets to understand the concepts – Not Ready for Production • All Views/Opinions expressed here are mine and nothing to do with my current/past employers
  • 5. Agenda • Understanding the Application Security and its business impact • OWASP • Threat Modelling • Secure Coding Practices • Penetration Testing and AppSec related Tools • What if, you are in middle of Attack scenarios
  • 7. • Application security encompasses measures taken to improve the security of an application often • by finding, • fixing and • preventing security vulnerabilities. What is AppSec?
  • 8. Getting Your Terms Right… • Asset: A resource of value such as the data in a database, money in an account, file on the filesystem or any system resource. • Vulnerability: A weakness or gap in security program that can be exploited by threats to gain unauthorized access to an asset. • Attack (or exploit): An action taken to harm an asset. • Threat Anything that can exploit a vulnerability and obtain, damage, or destroy an asset.
  • 10. You don’t want to be… 145 million US Customers 400 k UK Customers 100 K Canadian Customers 1 billion300 K57 MGame of Thrones Manuscript
  • 13. Every company is Software Company AppSec is for every business
  • 15. Foundations of Application Security • Authentication= (Who are you?) • Authorization=(What can you do?) • Auditing(Non-repudiation) =Can not deny your action • Confidentiality(Privacy)=Data remains private and confidential • Integrity=Data is protected • Availability=System remains available
  • 16. Broader Picture - Layered Security Approach Physical Security Controlled Access, electronic surveillance ,video surveillance, security personnel Perimeter Security Firewalls, IDS Network Security Segmentation, Secure W-LAN , IPSec, DMZ Host Security Server Hardening, Client Hardening, Patch Management, Anti-virus, Distributed Firewalls Application Security IIS hardening, Exchange Hardening, SQL Server hardening,
  • 17. Attacks are focusing on applications Sources: IBM X-Force, 2008 Operating system vs browser and application vulnerabilities 90% of vulnerabilities are remotely exploitable From the Microsoft Security Intelligence Report V7
  • 18. Sources: Sept 2009 Report with data from TippingPoint IPS and vulnerability data by Qualys. Importance of Application Security • Web applications have largest number of vulnerabilities.
  • 19. Web Applications Breach Perimeter Internet DMZ Trusted Inside Corporate Inside HTTP(S) Allows HTTP port 80 Allows HTTPS port 443 Firewall only allows applications on the web server to talk to application server. Firewall only allows application server to talk to database server. IIS Apache ASP .NET WebSphere Java MS-SQL Oracle DB2 Browser
  • 20. OWASP • Open Web Application Security Project • International non-profit Project to make web applications more secure • Independent, reputable • Key goals • Awareness • Testing • Training • www.owasp.org
  • 21. OWASP Top 10 Threats - 2017Application Threat Negative Impact Example Impact Injection Flaws Injection flaws are very prevalent, particularly in legacy code. Injection vulnerabilities are often found in SQL, LDAP, XPath, or NoSQL queries, OS commands, XML parsers, SMTP headers, expression languages, and ORM queries. n data loss, corruption, or disclosure to unauthorized parties, loss of accountability, Broken Authentication & Session Management Session tokens not guarded or invalidated properly Hacker can “force” session token on victim; session tokens can be stolen after logout Sensitive Data Exposure Sensitive info sent unencrypted over insecure channel Unencrypted credentials “sniffed” and used by hacker to impersonate user XML External Entities (XXE) By default, many older XML processors allow specification of an external entity, a URI that is dereferenced and evaluated during XML processing. These flaws can be used to extract data, execute a remote request from the server, scan internal systems, perform a denial-of-service attack, as well as execute other attacks. Broken Access Control Access control weaknesses are common due to the lack of automated detection, and lack of effective functional testing by application developers. The technical impact is attackers acting as users or administrators, or users using privileged functions, or creating, accessing, updating or deleting every record Security Misconfiguration Attackers can gain detailed system information Malicious system investigation may assist in developing further attacks Cross Site scripting Identity Theft, Sensitive Information Leakage, … Hackers can impersonate legitimate users, and control their accounts. Insecure Deserialization Attacker can access sensitive files and resources Web application returns contents of sensitive file (instead of harmless one) Missing Function Level Access Control Attacker can access unauthorized resources Hacker can forcefully browse and access a page past the login page Using Components with Known Vulnerabilities Attacker can exploit vulnerable component to gain access to system Attacker can do data loss and also perform server takeover. Insufficient Logging and Monitoring One strategy for determining if you have sufficient monitoring is to examine the logs following penetration testing. The testers' actions should be recorded sufficiently to understand what damages they In 2016, identifying a breach took an average of 191 days – plenty of time for damage to be inflicted.
  • 22. DEMO OWASP Top 10 Threats (Project: WebGoat)https://www.dbramante1928.com/mini-profiler-resources/results
  • 23. Security Professional “As a Security Professional, I don’t know how my companies web applications are supposed to work so I deploy a protective solution…but don’t know if it’s protecting what it’s supposed to.” Application Developers and QA “As an Application Developer, I can build/test great features and functions while meeting deadlines, but I don’t know how to develop/test my web application with security as a feature.” Industry Gap
  • 24. Bridging The Gap-Step by Step • Prioritize application security as important non functional requirement • Improve awareness of application security in developers and QAs. • Incorporate security in SDLC. • Define clear role and responsibility towards application security • Promote Penetration testing of application
  • 25. Education Accountability Administer and track security training Incident Response (MSRC) Establish release criteria and sign-off as part of FSR Ongoing Process Improvements Process Guide product teams to meet SDL requirements Microsoft Security Development Lifecycle
  • 26. Threat Modelling • A Strategic framework for planning application security aspect in system design phase • Identify, understand, and mitigate threats most likely to affect the system • Can be practiced for both new applications as well as on existing ones
  • 27. Threat Modelling Application Decomposition •Define scope •Create an architecture overview •Function •Logical architecture •Physical deployment •Technologies •Identify assets •Mark trust boundaries •Identify data flows, entry points, and assumptions •Make note of privileged code Threat Mapping •Identifying Threats •Use STRIDE Model •Creating Threat Tree •Documenting each Threat •STRIDE(Spoofing, Tampering, Repudiation, Information Disclosure, Elevation of Priviledges ) Calculate Risks •Use Risk = Probability * Damage Potential •Use Risk = Min(D, (D+R+E+A+D) / 5) •Damage •Reproducibility •Exploitability •Affected •Discoverability Risk Acceptance - doing nothing •Risk Transference - pass risk to an externality •Risk Avoidance - removing the feature/component that causes the risk •Risk Mitigation - decrease the risk •Mitigation strategies should be examined for each threat •Mitigations should be chosen according to the appropriate technology •Resolution should be decided according to risk level and cost of mitigations
  • 28. Why Threat Modelling • Cannot build a secure system until you understand threats to system • Find security bugs early (and complex bugs) • Address threats in logical order according to greatest risk • Reduce overall risk by mitigating important threats • How do you know when application is “secure enough”?
  • 29. Types of Threat Modelling • Attacker Centric Starts with an attack and evaluates the goals and how attackers might achieve them • Software Centric Starts from the design of system and attempts to step through a model of system, looking for types of attacks against each element of the model • Asset Centric Involves starting from assets entrusted to a system, such as a collection of sensitive personal information
  • 30. Defense in Depth Example
  • 31. SDL Core Principle: Least Privilege • Assume that all applications can and will be compromised • Least Privilege: If an application is compromised, then the potential damage that the malicious person can inflict is contained and minimized accordingly
  • 32. Least Privilege Example LOCAL SYSTEMNON-ADMIN ADMIN / SYSTEM LEVEL • Read user files • Change system passwords • Download malicious files • Anything NON-ADMIN • Read user files • Change system passwords • Download malicious files • Limited capabilities
  • 33. Least Privilege Tips • Evaluate your application and think minimally! • What is the minimum access level your application requires to perform its functions? • Elevate privileges only when needed, and then release those elevated privileges when their purposes have been satisfied
  • 34. SDL Core Principle: Secure Defaults • Secure Defaults: Deploy applications in more secure configurations by default. • Helps to better ensure that customers get safer experience with your application out of the box, not after extensive configuration • It is up to the user to reduce security and privacy levels
  • 35. Secure Defaults Examples Application Component Secure Defaults Principle Firewall Firewall ON by default SSL Socket Requires last latest SSL version (v3, TLS, etc.) by default User can access application anonymous or authenticated Application requires authenticated user sessions by default Password complexity can be enforced Password complexity is required by default Store user passwords as hashes or clear text Store user passwords as hashes by default
  • 36. Secure Coding Practices 1. Validate input 2. Heed compiler warnings 3. Architect and design for security policies 4. Keep it simple. Keep the design as simple and small as possible 5. Default deny 6. Adhere to the principle of least privilege 7. Sanitize data sent to other systems 8. Practice defense in depth 9. Use effective quality assurance techniques 10. Incorporate Application Security through Continuous Integration 11. Adopt a secure coding standard – https://wiki.sei.cmu.edu/confluence/display/seccode/SEI+CERT+Coding+Sta ndards https://msdn.microsoft.com/en-us/library/ff649874.aspx
  • 37. Tools Learning • Fiddler • WireShark • Chrome addins • OWSAP Static Code Analysis/Scanners • SonarQube • FxCop • Veracode • HP Fortify • Qualsys • Acunetix • NetSparker Pen Testing Tool • Kali-Linux • Metasploit • Burp Suite • OWSAP Zap – Integration with Jenkins CI Mobile Client Focused • Drozer • BEef Project • Frida • Mobile-Security- Framework- MobSF
  • 38. Awesome List of PenTesting Resources • https://github.com/enaqx/awesome-pentest
  • 39. When you are in middle of Attack • Identification • Use Threat Model that you have built to calculate your risk • Damage - how bad would an attack be? • Reproducibility - how easy is it to reproduce the attack? • Exploitability - how much work is it to launch the attack? • Affected users - how many people will be impacted? • Discoverability - how easy is it to discover the threat?
  • 40. When you are in middle of Attack • Identify Attack Pattern • Man-in-Middle • DHCP Starvation • ARR Cache Poisoning • DNS Based attacks • DDoS • Social Engineering • Isolate – Reduce Attack Surface • Server Hardening – Closing ports, Blacklisting Ips/DNS Ranges • Implementation of Zero Trust Model (“never trust, always verify”) • Use of Deterrent Tools like IDS • Prevention is better than cure
  • 41.
  • 43. . This presentation is shared under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license. More information for this license is available at http://creativecommons.org/licenses/by-nc-sa/4.0/ All trademarks are the property of their respective owners. Lalit Kale or Limerick DotNet-Azure User Group or it’s members makes no warranties, express, implied or statutory, as to the information in this presentation. Limerick DotNet-Azure User Group https://www.meetup.com/limerick-dotnet/ Twitter: limerickdotnet

Editor's Notes

  1. Please note, this is mandatory slide and Do Not change or exclude
  2. There is a lack of awareness of application vulnerabilities in security departments. Security Departments scrutinize the desktop, the network, and even the web servers, but the web application escapes their measures. Even in departments that want to audit for web application vulnerabilities, the lack of effective tools has made it impractical As a result, Certification and Accreditation programs rarely examine the web application In fact, the entire development cycle is usually missing from security procedures and controls This illustrates the fundamental gap between security and development, which creates these web application vulnerabilities Many traditional information security practitioners are ill-equipped to mitigate application security issues – Little to no experience coding – No experience coding in “modern” enterprise environments like .NET and J2EE – Understand that there are risks, but not in a position to address them
  3. This is End slide. As a user group, we wanted to share your contribution with our community, off course, with due credits. Hence, we are sharing this presentation under creative commons Noncommercial-ShareAlike 4.0 international license.