SlideShare a Scribd company logo
Microsoft Security Development
Lifecycle (SDL)
Razi Rais | Senior Software Engineer | Microsoft
Who am I?
https://razibinrais.com
www.linkedin.com/in/razirais
https://github.com/razi-rais
Tech Foundation User Group
 Founder
 Established in 2011
 IT Pros and Developers
 Open for all to join!
JOIN  https://www.meetup.com/techfoundation
Key Takeaways
 Understand SDL (Secure Development Lifecycle)
 Process & Practices needed for SDL
 Threat Modeling
 Q&A
 Slides  will be emailed to you!
 Reach out for full workshop!
History of SDL | Started with a memo!!
History of SDL at Microsoft
• Bill Gates writes
“Trustworthy
Computing” memo
early 2002
• “Windows security
push” for Windows
Server 2003
• Security push and
FSR (Final Security
Review) extended to
other products
• Microsoft Senior
Leadership Team
agrees to require
SDL for all
products that:
• Are exposed to
meaningful risk
and/or
• Are Process
sensitive data
• SDL is enhanced
• “Fuzz” testing
• Code analysis
• Crypto design
requirements
• Privacy
• Banned APIs
• and more…
• Windows Vista is
the first OS to
go through full
SDL cycle
• Optimize the process
through feedback,
analysis and
automation
• Evangelize
the SDL to the
software
development
community:
• SDL Process
Guidance
• SDL Optimization
Model
• SDL Pro Network
• SDL Threat Modeling
Tool
• SDL Process
Templates
2002-2003
2004
2005-2007
Now
SDL | Bigger Picture
Education Accountability
Administer and track
security training
Incident
Response
(MSRC)
Establish release criteria
and sign-off as part of FSR
Process
Guide product teams to
meet SDL requirements
Pre-SDL Requirements: Security Training
Requirements Design Implementation Verification Release Response
Assess organizational knowledge on security and privacy –
establish training program as necessary
 Establish training criteria
 Content covering secure design, development, test and
privacy
 Establish minimum training frequency
 Employees must attend n classes per year
 Establish minimum acceptable group training
thresholds
 Organizational training targets (e.g. 80% of all
technical personnel trained prior to product
RTM)
Phase One: Requirements
Opportunity to consider security at the outset of a project
Design Implementation Verification Release Response
 Security Advisor reviews product plan, makes
recommendations,
may set additional requirements
 Mandate the use of a bug tracking/job assignment
system
 Define and document security and privacy bug
bars
 Development team identifies security
and privacy requirements
 Development team identifies lead
security and privacy contacts
 Security Advisor assigned
SDL Security & Privacy Bug Bar
 Privacy bug bar sample 
https://docs.microsoft.com/en-us/previous-
versions/windows/desktop/cc307403(v=msdn.10)?r
edirectedfrom=MSDN
 Security Bug Bar  https://docs.microsoft.com/en-
us/previous-
versions/windows/desktop/cc307404(v=msdn.10)?r
edirectedfrom=MSDN
Phase Two: Design
 Identify design techniques (layering, managed code,
least privilege, attack surface minimization)
 Document attack surface and limit through default
settings
Define and document security architecture, identify security critical components
Implementation Verification Release Response
 Threat Modeling
 Systematic review of features and product
architecture from a security point of view
 Identify threats and mitigations
 Online services specific requirements
Phase Three: Implementation
Full spectrum review – used to determine processes, documentation
and tools necessary to ensure secure deployment and operation
Verification Release Response
 Specification of approved build tools and
options
 Static analysis (PREFix, /analyze (PREfast),
FXCop)
 Banned APIs
 Use of operating system “defense in depth”
protections
(NX, ASLR and HeapTermination)
 Online services specific requirements (e.g.,
Cross-site scripting ,
SQL Injection etc.)
 Consider other recommendations (e.g.,
Standard Annotation Language (SAL))
Phase Four: Verification
Started as early as possible – conducted after “code complete” stage
Release Response
 Start security response planning – including response
plans for vulnerability reports
 Re-evaluate attack surface
 Fuzz testing – files, installable controls and network
facing code
 Online services specific requirements
 Conduct “security push” (as necessary)
 Not a substitute for security work done during
development
 Code review
 Penetration testing and other security testing
 Review design and architecture in light of new
threats
Phase Five: Release – Response Plan
Creation of a clearly defined support policy – consistent
with MS corporate policies
Response
 Provide Software Security Incident
Response Plan (SSIRP)
 Identify contacts for MSRC and
resources to respond to events
 24x7x365 contact information for 3-5
engineering, 3-5 marketing, and 1-2
management (PUM and higher)
individuals
 Ensure ability to service all code including “out
of band” releases and all licensed 3rd party
code.
 Complete final signoffs on Checkpoint Express –
validating security, privacy and corporate
compliance policies
Post-SDL Requirement: Response
“Plan the work, work the plan…”
 Execution on response tasks outlined during
Security Response Planning and Release Phases
SDL Guidance for Agile Methodologies
 Requirements defined by frequency, not
phase
 Every-Sprint (most critical)
 One-Time (non-repeating)
 Bucket (all others)
Alert: SDL Requires Process Improvement!
 Simply “looking for bugs” doesn’t make
software secure
 Must reduce the chance vulnerabilities enter
into design and code
 Requires executive commitment
 Requires ongoing process improvement
 Requires education & training
 Requires tools and automation
 Requires incentives and consequences
Resources
 Simplified Implementation of Microsoft SDL 
(Document & Planning
Sheet)https://www.microsoft.com/en-
us/download/details.aspx?id=12379
Resources
 Practical Guide to A Practical Guide to Designing
Secure Health Solutions Using Microsoft Azure 
https://aka.ms/azureindustrysecurity
Resources
 Microsoft SDL Cryptographic
Recommendations
http://download.microsoft.com/download/6/3/A/63AFA3DF
-BB84-4B38-8704-
B27605B99DA7/Microsoft%20SDL%20Cryptographic%20Re
commendations.pdf
Resources
 Manage the Security Risk of Using
Third-Party Components 
https://safecode.org/wp-
content/uploads/2017/05/SAFECode
_TPC_Whitepaper.pdf
Resources
 Microsoft SDL Tools 
https://www.microsoft.com/en-
us/securityengineering/sdl/resources
Microsoft SDL Home
https://www.microsoft.com/sdl
Threat Modeling
 Why?
 Find security and privacy problems when
there’s time to fix them
 Security Development Lifecycle (SDL)
requirement
 Deliver more secure products
 Who?
 The bad guys will do a good job of it!
 Maybe you will…your choice
 What?
 A repeatable process to find and address threats
to your product
 When?
 The earlier you start, the more time to plan and
fix
 Worst case is when you’re trying to ship/release
Example | Architecture Diagram
Example | Build Threat Model
Example | Review Threats
Example | Review Threats
Resources
 Microsoft Threat Modeling Tool: https://www.microsoft.com/en-
us/securityengineering/sdl/threatmodeling
 Microsoft Secure Development Lifecycle: https://www.microsoft.com/en-
us/securityengineering/sdl
 Threat Modeling Course: https://www.linkedin.com/learning/learning-threat-modeling-for-
security-professionals/
 Getting Started Guide: https://docs.microsoft.com/en-us/azure/security/develop/threat-
modeling-tool-getting-started
 Introduction to SDL: https://download.microsoft.com/download/9/3/5/935520EC-D9E2-413E-BEA7-
0B865A79B18C/Introduction%20to%20the%20Microsoft%20Security%20Development%20Lifecycle%20
(SDL).ppsx

More Related Content

What's hot

Cyber Security Layers - Defense in Depth
Cyber Security Layers - Defense in DepthCyber Security Layers - Defense in Depth
CSSLP Course
CSSLP CourseCSSLP Course
CSSLP Course
Masoud Ostad
 
Secure coding practices
Secure coding practicesSecure coding practices
Secure coding practices
Mohammed Danish Amber
 
7 Steps to Threat Modeling
7 Steps to Threat Modeling7 Steps to Threat Modeling
7 Steps to Threat Modeling
Danny Wong
 
Secure Software Development Lifecycle - Devoxx MA 2018
Secure Software Development Lifecycle - Devoxx MA 2018Secure Software Development Lifecycle - Devoxx MA 2018
Secure Software Development Lifecycle - Devoxx MA 2018
Imola Informatica
 
Real World Application Threat Modelling By Example
Real World Application Threat Modelling By ExampleReal World Application Threat Modelling By Example
Real World Application Threat Modelling By Example
NCC Group
 
NIST Cybersecurity Framework 101
NIST Cybersecurity Framework 101  NIST Cybersecurity Framework 101
NIST Cybersecurity Framework 101
Erick Kish, U.S. Commercial Service
 
An Attacker's View of Serverless and GraphQL Apps - Abhay Bhargav - AppSec Ca...
An Attacker's View of Serverless and GraphQL Apps - Abhay Bhargav - AppSec Ca...An Attacker's View of Serverless and GraphQL Apps - Abhay Bhargav - AppSec Ca...
An Attacker's View of Serverless and GraphQL Apps - Abhay Bhargav - AppSec Ca...
Abhay Bhargav
 
Introduction to penetration testing
Introduction to penetration testingIntroduction to penetration testing
Introduction to penetration testing
Nezar Alazzabi
 
Enterprise Security Architecture for Cyber Security
Enterprise Security Architecture for Cyber SecurityEnterprise Security Architecture for Cyber Security
Enterprise Security Architecture for Cyber Security
The Open Group SA
 
Understanding Application Threat Modelling & Architecture
 Understanding Application Threat Modelling & Architecture Understanding Application Threat Modelling & Architecture
Understanding Application Threat Modelling & Architecture
Priyanka Aash
 
Application Security Architecture and Threat Modelling
Application Security Architecture and Threat ModellingApplication Security Architecture and Threat Modelling
Application Security Architecture and Threat Modelling
Priyanka Aash
 
[DevSecOps Live] DevSecOps: Challenges and Opportunities
[DevSecOps Live] DevSecOps: Challenges and Opportunities[DevSecOps Live] DevSecOps: Challenges and Opportunities
[DevSecOps Live] DevSecOps: Challenges and Opportunities
Mohammed A. Imran
 
Threat Hunting
Threat HuntingThreat Hunting
Threat Hunting
Splunk
 
Cyber Security Incident Response
Cyber Security Incident ResponseCyber Security Incident Response
Cyber Security Incident Response
PECB
 
Application Threat Modeling
Application Threat ModelingApplication Threat Modeling
Application Threat Modeling
Marco Morana
 
Debunked: 5 Myths About Zero Trust Security
Debunked: 5 Myths About Zero Trust SecurityDebunked: 5 Myths About Zero Trust Security
Debunked: 5 Myths About Zero Trust Security
Centrify Corporation
 
OWASP Top 10 2021 What's New
OWASP Top 10 2021 What's NewOWASP Top 10 2021 What's New
OWASP Top 10 2021 What's New
Michael Furman
 
WTF is Penetration Testing v.2
WTF is Penetration Testing v.2WTF is Penetration Testing v.2
WTF is Penetration Testing v.2
Scott Sutherland
 
The Security Vulnerability Assessment Process & Best Practices
The Security Vulnerability Assessment Process & Best PracticesThe Security Vulnerability Assessment Process & Best Practices
The Security Vulnerability Assessment Process & Best Practices
Kellep Charles
 

What's hot (20)

Cyber Security Layers - Defense in Depth
Cyber Security Layers - Defense in DepthCyber Security Layers - Defense in Depth
Cyber Security Layers - Defense in Depth
 
CSSLP Course
CSSLP CourseCSSLP Course
CSSLP Course
 
Secure coding practices
Secure coding practicesSecure coding practices
Secure coding practices
 
7 Steps to Threat Modeling
7 Steps to Threat Modeling7 Steps to Threat Modeling
7 Steps to Threat Modeling
 
Secure Software Development Lifecycle - Devoxx MA 2018
Secure Software Development Lifecycle - Devoxx MA 2018Secure Software Development Lifecycle - Devoxx MA 2018
Secure Software Development Lifecycle - Devoxx MA 2018
 
Real World Application Threat Modelling By Example
Real World Application Threat Modelling By ExampleReal World Application Threat Modelling By Example
Real World Application Threat Modelling By Example
 
NIST Cybersecurity Framework 101
NIST Cybersecurity Framework 101  NIST Cybersecurity Framework 101
NIST Cybersecurity Framework 101
 
An Attacker's View of Serverless and GraphQL Apps - Abhay Bhargav - AppSec Ca...
An Attacker's View of Serverless and GraphQL Apps - Abhay Bhargav - AppSec Ca...An Attacker's View of Serverless and GraphQL Apps - Abhay Bhargav - AppSec Ca...
An Attacker's View of Serverless and GraphQL Apps - Abhay Bhargav - AppSec Ca...
 
Introduction to penetration testing
Introduction to penetration testingIntroduction to penetration testing
Introduction to penetration testing
 
Enterprise Security Architecture for Cyber Security
Enterprise Security Architecture for Cyber SecurityEnterprise Security Architecture for Cyber Security
Enterprise Security Architecture for Cyber Security
 
Understanding Application Threat Modelling & Architecture
 Understanding Application Threat Modelling & Architecture Understanding Application Threat Modelling & Architecture
Understanding Application Threat Modelling & Architecture
 
Application Security Architecture and Threat Modelling
Application Security Architecture and Threat ModellingApplication Security Architecture and Threat Modelling
Application Security Architecture and Threat Modelling
 
[DevSecOps Live] DevSecOps: Challenges and Opportunities
[DevSecOps Live] DevSecOps: Challenges and Opportunities[DevSecOps Live] DevSecOps: Challenges and Opportunities
[DevSecOps Live] DevSecOps: Challenges and Opportunities
 
Threat Hunting
Threat HuntingThreat Hunting
Threat Hunting
 
Cyber Security Incident Response
Cyber Security Incident ResponseCyber Security Incident Response
Cyber Security Incident Response
 
Application Threat Modeling
Application Threat ModelingApplication Threat Modeling
Application Threat Modeling
 
Debunked: 5 Myths About Zero Trust Security
Debunked: 5 Myths About Zero Trust SecurityDebunked: 5 Myths About Zero Trust Security
Debunked: 5 Myths About Zero Trust Security
 
OWASP Top 10 2021 What's New
OWASP Top 10 2021 What's NewOWASP Top 10 2021 What's New
OWASP Top 10 2021 What's New
 
WTF is Penetration Testing v.2
WTF is Penetration Testing v.2WTF is Penetration Testing v.2
WTF is Penetration Testing v.2
 
The Security Vulnerability Assessment Process & Best Practices
The Security Vulnerability Assessment Process & Best PracticesThe Security Vulnerability Assessment Process & Best Practices
The Security Vulnerability Assessment Process & Best Practices
 

Similar to Microsoft Security Development Lifecycle

Introduction to the Microsoft Security Development Lifecycle (SDL).ppsx
Introduction to the Microsoft Security Development Lifecycle (SDL).ppsxIntroduction to the Microsoft Security Development Lifecycle (SDL).ppsx
Introduction to the Microsoft Security Development Lifecycle (SDL).ppsx
MardhaniAR
 
Security Best Practices
Security Best PracticesSecurity Best Practices
Security Best Practices
Clint Edmonson
 
3830100.ppt
3830100.ppt3830100.ppt
3830100.ppt
azida3
 
[Warsaw 26.06.2018] SDL Threat Modeling principles
[Warsaw 26.06.2018] SDL Threat Modeling principles[Warsaw 26.06.2018] SDL Threat Modeling principles
[Warsaw 26.06.2018] SDL Threat Modeling principles
OWASP
 
Lecture Course Outline and Secure SDLC.ppt
Lecture Course Outline and Secure SDLC.pptLecture Course Outline and Secure SDLC.ppt
Lecture Course Outline and Secure SDLC.ppt
DrBasemMohamedElomda
 
Using Third Party Components for Building an Application Might be More Danger...
Using Third Party Components for Building an Application Might be More Danger...Using Third Party Components for Building an Application Might be More Danger...
Using Third Party Components for Building an Application Might be More Danger...
Achim D. Brucker
 
4_25655_SE731_2020_1__2_1_Lecture 1 - Course Outline and Secure SDLC.ppt
4_25655_SE731_2020_1__2_1_Lecture 1 - Course Outline and Secure SDLC.ppt4_25655_SE731_2020_1__2_1_Lecture 1 - Course Outline and Secure SDLC.ppt
4_25655_SE731_2020_1__2_1_Lecture 1 - Course Outline and Secure SDLC.ppt
gealehegn
 
Arved sandstrom - the rotwithin - atlseccon2011
Arved sandstrom - the rotwithin - atlseccon2011Arved sandstrom - the rotwithin - atlseccon2011
Arved sandstrom - the rotwithin - atlseccon2011
Atlantic Security Conference
 
Renato Rodrigues - Security in the wild
Renato Rodrigues - Security in the wildRenato Rodrigues - Security in the wild
Renato Rodrigues - Security in the wild
DevSecCon
 
Threat Modeling workshop by Robert Hurlbut
Threat Modeling workshop by Robert HurlbutThreat Modeling workshop by Robert Hurlbut
Threat Modeling workshop by Robert Hurlbut
DevSecCon
 
Secure Software Development Lifecycle
Secure Software Development LifecycleSecure Software Development Lifecycle
Secure Software Development Lifecycle
1&1
 
Security Development Lifecycle Tools
Security Development Lifecycle ToolsSecurity Development Lifecycle Tools
Security Development Lifecycle Tools
n|u - The Open Security Community
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Mark Simos
 
A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020
A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020
A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020
Brian Levine
 
Software Security Engineering
Software Security EngineeringSoftware Security Engineering
Software Security Engineering
Marco Morana
 
Microsoft-CISO-Workshop-Security-Strategy-and-Program (1).pdf
Microsoft-CISO-Workshop-Security-Strategy-and-Program (1).pdfMicrosoft-CISO-Workshop-Security-Strategy-and-Program (1).pdf
Microsoft-CISO-Workshop-Security-Strategy-and-Program (1).pdf
ParishSummer
 
Penetration testing in agile software
Penetration testing in agile softwarePenetration testing in agile software
Penetration testing in agile software
ijcisjournal
 
AMI Security 101 - Smart Grid Security East 2011
AMI Security 101 - Smart Grid Security East 2011AMI Security 101 - Smart Grid Security East 2011
AMI Security 101 - Smart Grid Security East 2011
dma1965
 
DEPENDABLE PRIVACY REQUIREMENTS BY AGILE MODELED LAYERED SECURITY ARCHITECTUR...
DEPENDABLE PRIVACY REQUIREMENTS BY AGILE MODELED LAYERED SECURITY ARCHITECTUR...DEPENDABLE PRIVACY REQUIREMENTS BY AGILE MODELED LAYERED SECURITY ARCHITECTUR...
DEPENDABLE PRIVACY REQUIREMENTS BY AGILE MODELED LAYERED SECURITY ARCHITECTUR...
cscpconf
 
Starting Involving Security In SDLC Process
Starting Involving Security  In SDLC Process Starting Involving Security  In SDLC Process
Starting Involving Security In SDLC Process
Sandi Ardyansyah
 

Similar to Microsoft Security Development Lifecycle (20)

Introduction to the Microsoft Security Development Lifecycle (SDL).ppsx
Introduction to the Microsoft Security Development Lifecycle (SDL).ppsxIntroduction to the Microsoft Security Development Lifecycle (SDL).ppsx
Introduction to the Microsoft Security Development Lifecycle (SDL).ppsx
 
Security Best Practices
Security Best PracticesSecurity Best Practices
Security Best Practices
 
3830100.ppt
3830100.ppt3830100.ppt
3830100.ppt
 
[Warsaw 26.06.2018] SDL Threat Modeling principles
[Warsaw 26.06.2018] SDL Threat Modeling principles[Warsaw 26.06.2018] SDL Threat Modeling principles
[Warsaw 26.06.2018] SDL Threat Modeling principles
 
Lecture Course Outline and Secure SDLC.ppt
Lecture Course Outline and Secure SDLC.pptLecture Course Outline and Secure SDLC.ppt
Lecture Course Outline and Secure SDLC.ppt
 
Using Third Party Components for Building an Application Might be More Danger...
Using Third Party Components for Building an Application Might be More Danger...Using Third Party Components for Building an Application Might be More Danger...
Using Third Party Components for Building an Application Might be More Danger...
 
4_25655_SE731_2020_1__2_1_Lecture 1 - Course Outline and Secure SDLC.ppt
4_25655_SE731_2020_1__2_1_Lecture 1 - Course Outline and Secure SDLC.ppt4_25655_SE731_2020_1__2_1_Lecture 1 - Course Outline and Secure SDLC.ppt
4_25655_SE731_2020_1__2_1_Lecture 1 - Course Outline and Secure SDLC.ppt
 
Arved sandstrom - the rotwithin - atlseccon2011
Arved sandstrom - the rotwithin - atlseccon2011Arved sandstrom - the rotwithin - atlseccon2011
Arved sandstrom - the rotwithin - atlseccon2011
 
Renato Rodrigues - Security in the wild
Renato Rodrigues - Security in the wildRenato Rodrigues - Security in the wild
Renato Rodrigues - Security in the wild
 
Threat Modeling workshop by Robert Hurlbut
Threat Modeling workshop by Robert HurlbutThreat Modeling workshop by Robert Hurlbut
Threat Modeling workshop by Robert Hurlbut
 
Secure Software Development Lifecycle
Secure Software Development LifecycleSecure Software Development Lifecycle
Secure Software Development Lifecycle
 
Security Development Lifecycle Tools
Security Development Lifecycle ToolsSecurity Development Lifecycle Tools
Security Development Lifecycle Tools
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020
A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020
A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020
 
Software Security Engineering
Software Security EngineeringSoftware Security Engineering
Software Security Engineering
 
Microsoft-CISO-Workshop-Security-Strategy-and-Program (1).pdf
Microsoft-CISO-Workshop-Security-Strategy-and-Program (1).pdfMicrosoft-CISO-Workshop-Security-Strategy-and-Program (1).pdf
Microsoft-CISO-Workshop-Security-Strategy-and-Program (1).pdf
 
Penetration testing in agile software
Penetration testing in agile softwarePenetration testing in agile software
Penetration testing in agile software
 
AMI Security 101 - Smart Grid Security East 2011
AMI Security 101 - Smart Grid Security East 2011AMI Security 101 - Smart Grid Security East 2011
AMI Security 101 - Smart Grid Security East 2011
 
DEPENDABLE PRIVACY REQUIREMENTS BY AGILE MODELED LAYERED SECURITY ARCHITECTUR...
DEPENDABLE PRIVACY REQUIREMENTS BY AGILE MODELED LAYERED SECURITY ARCHITECTUR...DEPENDABLE PRIVACY REQUIREMENTS BY AGILE MODELED LAYERED SECURITY ARCHITECTUR...
DEPENDABLE PRIVACY REQUIREMENTS BY AGILE MODELED LAYERED SECURITY ARCHITECTUR...
 
Starting Involving Security In SDLC Process
Starting Involving Security  In SDLC Process Starting Involving Security  In SDLC Process
Starting Involving Security In SDLC Process
 

Recently uploaded

RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 

Recently uploaded (20)

RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 

Microsoft Security Development Lifecycle

  • 1. Microsoft Security Development Lifecycle (SDL) Razi Rais | Senior Software Engineer | Microsoft
  • 3. Tech Foundation User Group  Founder  Established in 2011  IT Pros and Developers  Open for all to join! JOIN  https://www.meetup.com/techfoundation
  • 4. Key Takeaways  Understand SDL (Secure Development Lifecycle)  Process & Practices needed for SDL  Threat Modeling  Q&A  Slides  will be emailed to you!  Reach out for full workshop!
  • 5. History of SDL | Started with a memo!!
  • 6. History of SDL at Microsoft • Bill Gates writes “Trustworthy Computing” memo early 2002 • “Windows security push” for Windows Server 2003 • Security push and FSR (Final Security Review) extended to other products • Microsoft Senior Leadership Team agrees to require SDL for all products that: • Are exposed to meaningful risk and/or • Are Process sensitive data • SDL is enhanced • “Fuzz” testing • Code analysis • Crypto design requirements • Privacy • Banned APIs • and more… • Windows Vista is the first OS to go through full SDL cycle • Optimize the process through feedback, analysis and automation • Evangelize the SDL to the software development community: • SDL Process Guidance • SDL Optimization Model • SDL Pro Network • SDL Threat Modeling Tool • SDL Process Templates 2002-2003 2004 2005-2007 Now
  • 7. SDL | Bigger Picture Education Accountability Administer and track security training Incident Response (MSRC) Establish release criteria and sign-off as part of FSR Process Guide product teams to meet SDL requirements
  • 8. Pre-SDL Requirements: Security Training Requirements Design Implementation Verification Release Response Assess organizational knowledge on security and privacy – establish training program as necessary  Establish training criteria  Content covering secure design, development, test and privacy  Establish minimum training frequency  Employees must attend n classes per year  Establish minimum acceptable group training thresholds  Organizational training targets (e.g. 80% of all technical personnel trained prior to product RTM)
  • 9. Phase One: Requirements Opportunity to consider security at the outset of a project Design Implementation Verification Release Response  Security Advisor reviews product plan, makes recommendations, may set additional requirements  Mandate the use of a bug tracking/job assignment system  Define and document security and privacy bug bars  Development team identifies security and privacy requirements  Development team identifies lead security and privacy contacts  Security Advisor assigned
  • 10. SDL Security & Privacy Bug Bar  Privacy bug bar sample  https://docs.microsoft.com/en-us/previous- versions/windows/desktop/cc307403(v=msdn.10)?r edirectedfrom=MSDN  Security Bug Bar  https://docs.microsoft.com/en- us/previous- versions/windows/desktop/cc307404(v=msdn.10)?r edirectedfrom=MSDN
  • 11. Phase Two: Design  Identify design techniques (layering, managed code, least privilege, attack surface minimization)  Document attack surface and limit through default settings Define and document security architecture, identify security critical components Implementation Verification Release Response  Threat Modeling  Systematic review of features and product architecture from a security point of view  Identify threats and mitigations  Online services specific requirements
  • 12. Phase Three: Implementation Full spectrum review – used to determine processes, documentation and tools necessary to ensure secure deployment and operation Verification Release Response  Specification of approved build tools and options  Static analysis (PREFix, /analyze (PREfast), FXCop)  Banned APIs  Use of operating system “defense in depth” protections (NX, ASLR and HeapTermination)  Online services specific requirements (e.g., Cross-site scripting , SQL Injection etc.)  Consider other recommendations (e.g., Standard Annotation Language (SAL))
  • 13. Phase Four: Verification Started as early as possible – conducted after “code complete” stage Release Response  Start security response planning – including response plans for vulnerability reports  Re-evaluate attack surface  Fuzz testing – files, installable controls and network facing code  Online services specific requirements  Conduct “security push” (as necessary)  Not a substitute for security work done during development  Code review  Penetration testing and other security testing  Review design and architecture in light of new threats
  • 14. Phase Five: Release – Response Plan Creation of a clearly defined support policy – consistent with MS corporate policies Response  Provide Software Security Incident Response Plan (SSIRP)  Identify contacts for MSRC and resources to respond to events  24x7x365 contact information for 3-5 engineering, 3-5 marketing, and 1-2 management (PUM and higher) individuals  Ensure ability to service all code including “out of band” releases and all licensed 3rd party code.  Complete final signoffs on Checkpoint Express – validating security, privacy and corporate compliance policies
  • 15. Post-SDL Requirement: Response “Plan the work, work the plan…”  Execution on response tasks outlined during Security Response Planning and Release Phases
  • 16. SDL Guidance for Agile Methodologies  Requirements defined by frequency, not phase  Every-Sprint (most critical)  One-Time (non-repeating)  Bucket (all others)
  • 17. Alert: SDL Requires Process Improvement!  Simply “looking for bugs” doesn’t make software secure  Must reduce the chance vulnerabilities enter into design and code  Requires executive commitment  Requires ongoing process improvement  Requires education & training  Requires tools and automation  Requires incentives and consequences
  • 18. Resources  Simplified Implementation of Microsoft SDL  (Document & Planning Sheet)https://www.microsoft.com/en- us/download/details.aspx?id=12379
  • 19. Resources  Practical Guide to A Practical Guide to Designing Secure Health Solutions Using Microsoft Azure  https://aka.ms/azureindustrysecurity
  • 20. Resources  Microsoft SDL Cryptographic Recommendations http://download.microsoft.com/download/6/3/A/63AFA3DF -BB84-4B38-8704- B27605B99DA7/Microsoft%20SDL%20Cryptographic%20Re commendations.pdf
  • 21. Resources  Manage the Security Risk of Using Third-Party Components  https://safecode.org/wp- content/uploads/2017/05/SAFECode _TPC_Whitepaper.pdf
  • 22. Resources  Microsoft SDL Tools  https://www.microsoft.com/en- us/securityengineering/sdl/resources
  • 24. Threat Modeling  Why?  Find security and privacy problems when there’s time to fix them  Security Development Lifecycle (SDL) requirement  Deliver more secure products  Who?  The bad guys will do a good job of it!  Maybe you will…your choice  What?  A repeatable process to find and address threats to your product  When?  The earlier you start, the more time to plan and fix  Worst case is when you’re trying to ship/release
  • 26. Example | Build Threat Model
  • 27. Example | Review Threats
  • 28. Example | Review Threats
  • 29. Resources  Microsoft Threat Modeling Tool: https://www.microsoft.com/en- us/securityengineering/sdl/threatmodeling  Microsoft Secure Development Lifecycle: https://www.microsoft.com/en- us/securityengineering/sdl  Threat Modeling Course: https://www.linkedin.com/learning/learning-threat-modeling-for- security-professionals/  Getting Started Guide: https://docs.microsoft.com/en-us/azure/security/develop/threat- modeling-tool-getting-started  Introduction to SDL: https://download.microsoft.com/download/9/3/5/935520EC-D9E2-413E-BEA7- 0B865A79B18C/Introduction%20to%20the%20Microsoft%20Security%20Development%20Lifecycle%20 (SDL).ppsx