Ivan Medvedev
Principal Security Development Lead
Microsoft Corporation
Session Objectives and Takeaways

Session Objective(s):
β€’ Give an overview of the Security Development Lifecycle
β€’ Discuss the externally available tools that support the SDL
β€’ Provide guidance on using the tools to build more secure software
Key takeaways:
β€’ Microsoft is investing into supporting the SDL
β€’ Customers should use the tools to build more secure software
Security Timeline at Microsoft…
                                                                                              Now
                                                                                    β€’ Optimize the process
                                                           2005-2007                  through feedback,
                                                                                      analysis and automation
                                                         β€’ SDL is enhanced          β€’ Evangelize
                                    2004                   β€’ β€œFuzz” testing           the SDL to the software
                            β€’ Microsoft Senior
                                                           β€’ Code analysis            development community:
   2002-2003                  Leadership Team agrees       β€’ Crypto design            β€’   SDL Process Guidance
                                                             requirements                 SDL Optimization Model
                              to require SDL for all                                  β€’
β€’ Bill Gates writes                                        β€’ Privacy                      SDL Pro Network
                              products that:                                          β€’
  β€œTrustworthy Computing”     β€’ Are exposed to
                                                           β€’ Banned APIs              β€’   SDL Threat Modeling Tool
  memo early 2002               meaningful risk and/or     β€’ and more…                β€’   SDL Process Templates
β€’ β€œWindows security push”     β€’ Process sensitive data   β€’ Windows Vista is the
  for Windows Server 2003                                  first OS to go through
                                                           full SDL cycle
β€’ Security push and FSR
  extended to other
  products
SDL – Continual Improvement




Microsoft’s secure development processes have come a long
way since the SDL was first introduced – the SDL is constantly
evolving
SDL for Spiral/Waterfall Development




Education           Process                     Accountability




                 Ongoing Process Improvements
SDL for Agile Development
                                  Simple:
Major differentiators of Agile:

No distinct phases
Short release cycles
                                  Comprehensive:




                                  Customizable:
What About the Cloud?

Native code requirements address implementation of cloud services

SDL has applied to web properties since v3.2
β€’ Requirements address issues such as cross site scripting and SQL injection


Cloud services and web properties often use agile development models
β€’ β€œProduct cycle” might be 2 weeks, not three years


Multiple iterations of SDL for agile development since 2006
Motivation for Action
The application space is under attack things are bad, and getting
worse
β€’ Users now expect security *without* having to pay for it

Software security and holistic development practices are becoming
a competitive differentiator
β€’ Procurement

Showing up in government regulations
β€’ DISA STIG
β€’ NIST Smart Grid Requirements

Failure to show forward momentum will lead to unintended
consequences and loss of consumer trust
Tools for SDL: Requirements and Release
SDL Process Template
MSF-Agile + SDL Process Template
SDL Template for VSTS (Spiral)
                                                       Incorporates
                                                       β€’ SDL requirements as work items
                                                       β€’ SDL-based check-in policies
                                                       β€’ Generates Final Security Review report
                                                       β€’ Third-party security tools
                                                       β€’ Security bugs and custom queries
                                                       β€’ A library of SDL how-to guidance


                                                       Integrates with previously released free SDL tools
                                                       β€’ SDL Threat Modeling Tool
The SDL Process Template integrates SDL 4.1 directly
                                                       β€’ Binscope Binary Analyzer
into the VSTS software development environment.
                                                       β€’ Minifuzz File Fuzzer
MSF Agile + SDL Template for VSTS
                                                              Automatically creates new security workflow items for SDL
                                                              requirements whenever users check in code or create new
                                                              sprints


                                                              Ensures important security processes are not accidentally
                                                              skipped or forgotten


                                                              Integrates with previously released free SDL tools
                                                              β€’ SDL Threat Modeling Tool
                                                              β€’ Binscope Binary Analyzer
Incorporates SDL-Agile secure development practices           β€’ Minifuzz File Fuzzer
directly into the Visual Studio IDE - now available as beta
(planned release at the end of Q2CY10)
                                                              Will be updated for VS2010
Tools for SDL: Design
SDL Threat Modeling Tool
SDL Threat Modeling Tool




Transforms threat modeling from an expert-led     Provides:
process into a process that any software        β€’ Guidance in drawing threat diagrams
architect can perform effectively
                                                β€’ Guided analysis of threats and mitigations
                                                β€’ Integration with bug tracking systems
                                                β€’ Robust reporting capabilities
Ivan Medvedev - Security Development Lifecycle Tools
Tools for SDL: Implementation
Banned.h
Code Analysis for C/C++
β€’ Visual Studio Premium and Ultimate

Microsoft Code Analysis Tool .NET (CAT.NET) 1.0 CTP
β€’ Detects common web app vulnerabilities, like XSS

FxCop 10.0
β€’ Standalone or integrated into VS Premium and Ultimate

Anti-Cross Site Scripting (Anti-XSS) Library 4.0
SiteLock ATL Template
Ivan Medvedev - Security Development Lifecycle Tools
Ivan Medvedev - Security Development Lifecycle Tools
Tools for SDL: Verification
BinScope Binary Analyzer
β€’ Ensures the build process followed the SDL
MiniFuzz File Fuzzer
β€’ !exploitable
RegexFuzer
Attack Surface Analyzer Beta
β€’ Snapshot based analysis
AppVerifier
β€’ Dynamic analysis
Binscope Binary Analyzer
                           Provides an extensive analysis of an application binary


                           Checks done by Binscope
                           β€’ /GS - to prevent buffer overflows
                           β€’ /SafeSEH - to ensure safe exception handling
                           β€’ /NXCOMPAT - to prevent data execution
                           β€’ /DYNAMICBASE - to enable ASLR
                           β€’ Strong-Named Assemblies - to ensure unique key pairs and
                             strong integrity checks
                           β€’ Known good ATL headers are being used


                           Use either standalone or integrated with Visual Studio (VS)
                           and Team Foundation Server (TFS)
Ivan Medvedev - Security Development Lifecycle Tools
MiniFuzz File Fuzzer
                       MiniFuzz is a basic testing tool designed to help detect
                       code flaws that may expose security vulnerabilities in
                       file-handling code.
                       β€’ Creates corrupted variations of valid input files
                       β€’ Exercises the code in an attempt to expose unexpected
                         application behaviors.
                       β€’ Lightweight, for beginner or advanced security testing
                       β€’ Use either standalone or integrated with Visual Studio
                         (VS) and Team Foundation Server (TFS)
!exploitable
Creates hashes to determine the uniqueness of a crash
Assigns an exploitability rating to the crash: Exploitable, Probably Exploitable, Probably Not Exploitable, or Unknown.
An extension of Microsoft debuggers
β€’ windbg badapp.exe usersmikedesktopminifuzzcrashesfoobar8776.bad
β€’ !load winextmsec.dll
β€’ Run the process and have it parse the file: g
β€’ Finally, run !exploitable to take a first pass analysis of the failure: !exploitable
Open source http://msecdbg.codeplex.com/
Ivan Medvedev - Security Development Lifecycle Tools
Attack Surface Analyzer
                          Takes system attack surface snapshots
                          One before and one after installing the product
                          Compares the snapshots and generates a report
Ivan Medvedev - Security Development Lifecycle Tools
SDL Tools: Response
EMET
EMET: Simplifying mitigation deployment
GUI and command line interface


Configure system-wide mitigations


Enable mitigations for specific applications


Verify mitigation settings
EMET: Protecting applications
Protect at-risk or known vulnerable applications


Protect against active 0day attacks in the wild


Granular control over which mitigations are enabled
Important Resources
Microsoft SDL Portal http://microsoft.com/sdl
SDL Tools (with download links and training/videos) http://www.microsoft.com/security/sdl/adopt/tools.aspx
Visual Studio 2010 http://msdn.microsoft.com/en-us/vstudio/aa718325
FxCop documentation http://msdn.microsoft.com/en-us/library/dd264939(v=VS.100).aspx
!exploitable http://msecdbg.codeplex.com/
MSEC http://www.microsoft.com/security/msec.aspx
BlueHat Prize Announcement
First BlueHat Prize Challenge:
β€’ Design a novel runtime mitigation technology that is capable of preventing the exploitation of memory
  safety vulnerabilities
Entry Period: Aug 3, 2011 – Apr 1, 2012
Winners announced: BlackHat USA August 2012
IP remains the property of the inventor, with a license for Microsoft to use the
technology

      Grand Prize:                      β€’ $200,000 in cash

     Second Prize:                      β€’ $50,000 in cash

       Third Prize:                     β€’ MSDN subscription ($10,000 value)
Examples of Mitigation Technology
Data Execution Prevention (DEP)
 β€’ Sets non executable memory pages

Address Space Layout Randomization (ASLR)
 β€’ Randomizes memory in which apps load

Structured Exception Handler Overwrite Protection (SEHOP)
 β€’ Verifies exception handler lists have not been corrupted
  Mitigation tools from Microsoft:

     Download EMET
BlueHat Prize Judging Criteria
Practicality – 30%
  β€’ Can the solution be implemented and deployed at a large scale on Windows?
  β€’ Overhead must be low (e.g. CPU and memory cost no more than 5%).
  β€’ No application compatibility regressions should occur.
  β€’ No usability regressions should occur.
  β€’ Reasonable to develop, test, and deploy.

Robustness – 30%
  β€’ How easy would it be to bypass the proposed solution?

Impact – 40%
  β€’ Does the solution strongly address key open problems or significantly refine an existing approach?
  β€’ Would the solution strongly mitigate modern exploits above and beyond our current arsenal?
For More Information…
BlueHat Prize Web site: www.bluehatprize.com
β€’ Questions? bluehatprize.@microsoft.com

MSRC Blog: http://blogs.technet.com/msrc
EcoStrat Blog: http://blogs.technet.com/ecostrat/
Help Defend the Planet: http://careers.microsoft.com
Follow us on Twitter:
                                                         @k8em0 and
                                                       @MSFTSecResponse
In Review: Session Objectives and Takeaways

Session Objective(s):
β€’ Give an overview of the Secure Development lifecycle
β€’ Discuss the externally available tools that support the SDL
β€’ Provide guidance on using the tools to build more secure software

Key takeaways:
β€’ Microsoft is investing into supporting the SDL
β€’ Our customers should use the tools to build more secure software
We are hiring
Ivan Medvedev - Security Development Lifecycle Tools

More Related Content

PDF
Security Development Lifecycle Tools
PPTX
Microsoft Security Development Lifecycle
PPTX
Security in the Development Lifecycle - lessons learned
PDF
Devops security-An Insight into Secure-SDLC
PPTX
Secure Software Development Life Cycle
PDF
Software Development Life Cycle – Managing Risk and Measuring Security
PDF
Application Security Risk Assessment
PDF
Sumeet Mandloi: Robust Security Testing Framework
Security Development Lifecycle Tools
Microsoft Security Development Lifecycle
Security in the Development Lifecycle - lessons learned
Devops security-An Insight into Secure-SDLC
Secure Software Development Life Cycle
Software Development Life Cycle – Managing Risk and Measuring Security
Application Security Risk Assessment
Sumeet Mandloi: Robust Security Testing Framework

What's hot (20)

PDF
Software security, secure software development in the age of IoT, smart thing...
PPTX
Crafting Super-Powered Risk Assessments by Digital Defense Inc & Veracode
PDF
The Web AppSec How-To: The Defender's Toolbox
PDF
Secure Coding and Threat Modeling
PPTX
24may 1200 valday eric anklesaria 'secure sdlc – core banking'
PPTX
Integrate Security into DevOps - SecDevOps
PDF
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
PDF
Renato Rodrigues - Security in the wild
PDF
Application Security Management with ThreadFix
PPTX
Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...
PDF
Arved sandstrom - the rotwithin - atlseccon2011
PPTX
Red7 Software Application Security Threat Modeling
PPT
Secure by design and secure software development
PDF
Implementing Secure DevOps on Public Cloud Platforms
PDF
us-16-Nipravsky-Certificate-Bypass-Hiding-And-Executing-Malware-From-A-Digita...
PDF
SAST vs. DAST: What’s the Best Method For Application Security Testing?
PDF
Gloriolesoft Consulting Security and Privacy Offering
PPTX
Secure Code review - Veracode SaaS Platform - Saudi Green Method
PPTX
Π”ΠΌΠΈΡ‚Ρ€ΠΎ Π’Π΅Ρ€Π΅Ρ‰Π΅Π½ΠΊΠΎ, "How to secure your application with Secure SDLC"
PPTX
IntroSec Con - Building Your Blue Team Arsenal - glitch
Software security, secure software development in the age of IoT, smart thing...
Crafting Super-Powered Risk Assessments by Digital Defense Inc & Veracode
The Web AppSec How-To: The Defender's Toolbox
Secure Coding and Threat Modeling
24may 1200 valday eric anklesaria 'secure sdlc – core banking'
Integrate Security into DevOps - SecDevOps
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Renato Rodrigues - Security in the wild
Application Security Management with ThreadFix
Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...
Arved sandstrom - the rotwithin - atlseccon2011
Red7 Software Application Security Threat Modeling
Secure by design and secure software development
Implementing Secure DevOps on Public Cloud Platforms
us-16-Nipravsky-Certificate-Bypass-Hiding-And-Executing-Malware-From-A-Digita...
SAST vs. DAST: What’s the Best Method For Application Security Testing?
Gloriolesoft Consulting Security and Privacy Offering
Secure Code review - Veracode SaaS Platform - Saudi Green Method
Π”ΠΌΠΈΡ‚Ρ€ΠΎ Π’Π΅Ρ€Π΅Ρ‰Π΅Π½ΠΊΠΎ, "How to secure your application with Secure SDLC"
IntroSec Con - Building Your Blue Team Arsenal - glitch
Ad

Viewers also liked (8)

PDF
Alexey lukatsky - Boston cybercrime matrix or what is the business model of ...
PDF
Anton Karpov - Black and white world of information security
PDF
Fyodor Yarochkin - Dissecting unlawful Internet activities
PDF
Alexey Krasnov - We all meandered through our schooling haphazardly
PDF
Denis Baranov - Root via XSS
PDF
Alexander Matrosov, Eugene Rodionov - Modern technologies in malware programs...
PDF
Fast dynamic analysis, Kostya Serebryany
PDF
Marcus Niemietz - UI Redressing and Clickjacking About click fraud and data t...
Alexey lukatsky - Boston cybercrime matrix or what is the business model of ...
Anton Karpov - Black and white world of information security
Fyodor Yarochkin - Dissecting unlawful Internet activities
Alexey Krasnov - We all meandered through our schooling haphazardly
Denis Baranov - Root via XSS
Alexander Matrosov, Eugene Rodionov - Modern technologies in malware programs...
Fast dynamic analysis, Kostya Serebryany
Marcus Niemietz - UI Redressing and Clickjacking About click fraud and data t...
Ad

Similar to Ivan Medvedev - Security Development Lifecycle Tools (20)

PPTX
DevSecCon London 2017: when good containers go bad by Tim Mackey
PPTX
Diagnosing issues in your ASP.NET applications in production with Visual Stud...
PPTX
SCS DevSecOps Seminar - State of DevSecOps
PPT
Unit1
PDF
TechTalk 2021: Peran IT Security dalam Penerapan DevOps
PPTX
Programming languages and techniques for today’s embedded andIoT world
PDF
Agile and Secure
PPTX
Devops phase-1
PPTX
Kevin Glavin - Continuous Integration, Continuous Delivery, and Deployment (C...
PDF
Simplified, Robust and Speedy Novell Identity Manager Implementation with Des...
Β 
PPTX
Introductie Visual Studio ALM 2012
PPTX
Introductie Visual Studio ALM 2012
PPTX
tspann06-NOV-2024_AI-Alliance_NYC_ intro to Data Prep Kit and Open Source RAG
PPTX
Cloud Security Zen: Principles to Meditate On
PPTX
Android village @nullcon 2012
PDF
Summit 16: NetIDE: Integrating and Orchestrating SDN Controllers
Β 
PDF
Terrascan - Cloud Native Security Tool
PPTX
Migrate to microservices
PDF
Kernel Con 2022: Securing Cloud Native Workloads
PDF
Applying formal methods to existing software by B.Monate
DevSecCon London 2017: when good containers go bad by Tim Mackey
Diagnosing issues in your ASP.NET applications in production with Visual Stud...
SCS DevSecOps Seminar - State of DevSecOps
Unit1
TechTalk 2021: Peran IT Security dalam Penerapan DevOps
Programming languages and techniques for today’s embedded andIoT world
Agile and Secure
Devops phase-1
Kevin Glavin - Continuous Integration, Continuous Delivery, and Deployment (C...
Simplified, Robust and Speedy Novell Identity Manager Implementation with Des...
Β 
Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012
tspann06-NOV-2024_AI-Alliance_NYC_ intro to Data Prep Kit and Open Source RAG
Cloud Security Zen: Principles to Meditate On
Android village @nullcon 2012
Summit 16: NetIDE: Integrating and Orchestrating SDN Controllers
Β 
Terrascan - Cloud Native Security Tool
Migrate to microservices
Kernel Con 2022: Securing Cloud Native Workloads
Applying formal methods to existing software by B.Monate

More from DefconRussia (20)

PPTX
[Defcon Russia #29] Борис Π‘Π°Π²ΠΊΠΎΠ² - Bare-metal programming Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Raspber...
PDF
[Defcon Russia #29] АлСксандр Π•Ρ€ΠΌΠΎΠ»ΠΎΠ² - Safeguarding rootkits: Intel Boot Gua...
PPTX
[Defcon Russia #29] АлСксСй Π’ΡŽΡ€ΠΈΠ½ - Spring autobinding
PDF
[Defcon Russia #29] ΠœΠΈΡ…Π°ΠΈΠ» ΠšΠ»Π΅ΠΌΠ΅Π½Ρ‚ΡŒΠ΅Π² - ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Ρ€ΡƒΡ‚ΠΊΠΈΡ‚ΠΎΠ² Π² GNU/Linux
PDF
Π“Π΅ΠΎΡ€Π³ΠΈΠΉ Π—Π°ΠΉΡ†Π΅Π² - Reversing golang
PDF
[DCG 25] АлСксандр Π‘ΠΎΠ»ΡŒΡˆΠ΅Π² - Never Trust Your Inputs or How To Fool an ADC
PPTX
Cisco IOS shellcode: All-in-one
PPT
ОлСг ΠšΡƒΠΏΡ€Π΅Π΅Π² - ΠžΠ±Π·ΠΎΡ€ ΠΈ дСмонстрация нюансов ΠΈ Ρ‚Ρ€ΡŽΠΊΠΎΠ² ΠΈΠ· области бСспроводных ...
PPTX
HTTP HOST header attacks
PPTX
Attacks on tacacs - АлСксСй Π’ΡŽΡ€ΠΈΠ½
PPTX
Weakpass - defcon russia 23
PDF
nosymbols - defcon russia 20
PDF
static - defcon russia 20
PDF
Zn task - defcon russia 20
PDF
Vm ware fuzzing - defcon russia 20
PDF
Nedospasov defcon russia 23
PDF
Advanced cfg bypass on adobe flash player 18 defcon russia 23
PDF
Miasm defcon russia 23
PDF
Andrey Belenko, Alexey Troshichev - Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ iClo...
PDF
Sergey Belov - ΠŸΠΎΠΊΠ°ΠΆΠΈΡ‚Π΅ Π½Π°ΠΌ Impact! Π”ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΡƒΠ³Ρ€ΠΎΠ·Ρƒ Π² слоТных условиях
[Defcon Russia #29] Борис Π‘Π°Π²ΠΊΠΎΠ² - Bare-metal programming Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Raspber...
[Defcon Russia #29] АлСксандр Π•Ρ€ΠΌΠΎΠ»ΠΎΠ² - Safeguarding rootkits: Intel Boot Gua...
[Defcon Russia #29] АлСксСй Π’ΡŽΡ€ΠΈΠ½ - Spring autobinding
[Defcon Russia #29] ΠœΠΈΡ…Π°ΠΈΠ» ΠšΠ»Π΅ΠΌΠ΅Π½Ρ‚ΡŒΠ΅Π² - ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Ρ€ΡƒΡ‚ΠΊΠΈΡ‚ΠΎΠ² Π² GNU/Linux
Π“Π΅ΠΎΡ€Π³ΠΈΠΉ Π—Π°ΠΉΡ†Π΅Π² - Reversing golang
[DCG 25] АлСксандр Π‘ΠΎΠ»ΡŒΡˆΠ΅Π² - Never Trust Your Inputs or How To Fool an ADC
Cisco IOS shellcode: All-in-one
ОлСг ΠšΡƒΠΏΡ€Π΅Π΅Π² - ΠžΠ±Π·ΠΎΡ€ ΠΈ дСмонстрация нюансов ΠΈ Ρ‚Ρ€ΡŽΠΊΠΎΠ² ΠΈΠ· области бСспроводных ...
HTTP HOST header attacks
Attacks on tacacs - АлСксСй Π’ΡŽΡ€ΠΈΠ½
Weakpass - defcon russia 23
nosymbols - defcon russia 20
static - defcon russia 20
Zn task - defcon russia 20
Vm ware fuzzing - defcon russia 20
Nedospasov defcon russia 23
Advanced cfg bypass on adobe flash player 18 defcon russia 23
Miasm defcon russia 23
Andrey Belenko, Alexey Troshichev - Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ iClo...
Sergey Belov - ΠŸΠΎΠΊΠ°ΠΆΠΈΡ‚Π΅ Π½Π°ΠΌ Impact! Π”ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΡƒΠ³Ρ€ΠΎΠ·Ρƒ Π² слоТных условиях

Recently uploaded (20)

PDF
Zenith AI: Advanced Artificial Intelligence
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
Architecture types and enterprise applications.pdf
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
STKI Israel Market Study 2025 version august
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PPTX
Benefits of Physical activity for teenagers.pptx
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Getting started with AI Agents and Multi-Agent Systems
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
CloudStack 4.21: First Look Webinar slides
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PPT
Module 1.ppt Iot fundamentals and Architecture
PPTX
observCloud-Native Containerability and monitoring.pptx
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Zenith AI: Advanced Artificial Intelligence
O2C Customer Invoices to Receipt V15A.pptx
Developing a website for English-speaking practice to English as a foreign la...
A novel scalable deep ensemble learning framework for big data classification...
A contest of sentiment analysis: k-nearest neighbor versus neural network
Architecture types and enterprise applications.pdf
Hindi spoken digit analysis for native and non-native speakers
STKI Israel Market Study 2025 version august
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Benefits of Physical activity for teenagers.pptx
Chapter 5: Probability Theory and Statistics
Getting started with AI Agents and Multi-Agent Systems
Group 1 Presentation -Planning and Decision Making .pptx
Univ-Connecticut-ChatGPT-Presentaion.pdf
CloudStack 4.21: First Look Webinar slides
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Taming the Chaos: How to Turn Unstructured Data into Decisions
Module 1.ppt Iot fundamentals and Architecture
observCloud-Native Containerability and monitoring.pptx
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...

Ivan Medvedev - Security Development Lifecycle Tools

  • 1. Ivan Medvedev Principal Security Development Lead Microsoft Corporation
  • 2. Session Objectives and Takeaways Session Objective(s): β€’ Give an overview of the Security Development Lifecycle β€’ Discuss the externally available tools that support the SDL β€’ Provide guidance on using the tools to build more secure software Key takeaways: β€’ Microsoft is investing into supporting the SDL β€’ Customers should use the tools to build more secure software
  • 3. Security Timeline at Microsoft… Now β€’ Optimize the process 2005-2007 through feedback, analysis and automation β€’ SDL is enhanced β€’ Evangelize 2004 β€’ β€œFuzz” testing the SDL to the software β€’ Microsoft Senior β€’ Code analysis development community: 2002-2003 Leadership Team agrees β€’ Crypto design β€’ SDL Process Guidance requirements SDL Optimization Model to require SDL for all β€’ β€’ Bill Gates writes β€’ Privacy SDL Pro Network products that: β€’ β€œTrustworthy Computing” β€’ Are exposed to β€’ Banned APIs β€’ SDL Threat Modeling Tool memo early 2002 meaningful risk and/or β€’ and more… β€’ SDL Process Templates β€’ β€œWindows security push” β€’ Process sensitive data β€’ Windows Vista is the for Windows Server 2003 first OS to go through full SDL cycle β€’ Security push and FSR extended to other products
  • 4. SDL – Continual Improvement Microsoft’s secure development processes have come a long way since the SDL was first introduced – the SDL is constantly evolving
  • 5. SDL for Spiral/Waterfall Development Education Process Accountability Ongoing Process Improvements
  • 6. SDL for Agile Development Simple: Major differentiators of Agile: No distinct phases Short release cycles Comprehensive: Customizable:
  • 7. What About the Cloud? Native code requirements address implementation of cloud services SDL has applied to web properties since v3.2 β€’ Requirements address issues such as cross site scripting and SQL injection Cloud services and web properties often use agile development models β€’ β€œProduct cycle” might be 2 weeks, not three years Multiple iterations of SDL for agile development since 2006
  • 8. Motivation for Action The application space is under attack things are bad, and getting worse β€’ Users now expect security *without* having to pay for it Software security and holistic development practices are becoming a competitive differentiator β€’ Procurement Showing up in government regulations β€’ DISA STIG β€’ NIST Smart Grid Requirements Failure to show forward momentum will lead to unintended consequences and loss of consumer trust
  • 9. Tools for SDL: Requirements and Release SDL Process Template MSF-Agile + SDL Process Template
  • 10. SDL Template for VSTS (Spiral) Incorporates β€’ SDL requirements as work items β€’ SDL-based check-in policies β€’ Generates Final Security Review report β€’ Third-party security tools β€’ Security bugs and custom queries β€’ A library of SDL how-to guidance Integrates with previously released free SDL tools β€’ SDL Threat Modeling Tool The SDL Process Template integrates SDL 4.1 directly β€’ Binscope Binary Analyzer into the VSTS software development environment. β€’ Minifuzz File Fuzzer
  • 11. MSF Agile + SDL Template for VSTS Automatically creates new security workflow items for SDL requirements whenever users check in code or create new sprints Ensures important security processes are not accidentally skipped or forgotten Integrates with previously released free SDL tools β€’ SDL Threat Modeling Tool β€’ Binscope Binary Analyzer Incorporates SDL-Agile secure development practices β€’ Minifuzz File Fuzzer directly into the Visual Studio IDE - now available as beta (planned release at the end of Q2CY10) Will be updated for VS2010
  • 12. Tools for SDL: Design SDL Threat Modeling Tool
  • 13. SDL Threat Modeling Tool Transforms threat modeling from an expert-led Provides: process into a process that any software β€’ Guidance in drawing threat diagrams architect can perform effectively β€’ Guided analysis of threats and mitigations β€’ Integration with bug tracking systems β€’ Robust reporting capabilities
  • 15. Tools for SDL: Implementation Banned.h Code Analysis for C/C++ β€’ Visual Studio Premium and Ultimate Microsoft Code Analysis Tool .NET (CAT.NET) 1.0 CTP β€’ Detects common web app vulnerabilities, like XSS FxCop 10.0 β€’ Standalone or integrated into VS Premium and Ultimate Anti-Cross Site Scripting (Anti-XSS) Library 4.0 SiteLock ATL Template
  • 18. Tools for SDL: Verification BinScope Binary Analyzer β€’ Ensures the build process followed the SDL MiniFuzz File Fuzzer β€’ !exploitable RegexFuzer Attack Surface Analyzer Beta β€’ Snapshot based analysis AppVerifier β€’ Dynamic analysis
  • 19. Binscope Binary Analyzer Provides an extensive analysis of an application binary Checks done by Binscope β€’ /GS - to prevent buffer overflows β€’ /SafeSEH - to ensure safe exception handling β€’ /NXCOMPAT - to prevent data execution β€’ /DYNAMICBASE - to enable ASLR β€’ Strong-Named Assemblies - to ensure unique key pairs and strong integrity checks β€’ Known good ATL headers are being used Use either standalone or integrated with Visual Studio (VS) and Team Foundation Server (TFS)
  • 21. MiniFuzz File Fuzzer MiniFuzz is a basic testing tool designed to help detect code flaws that may expose security vulnerabilities in file-handling code. β€’ Creates corrupted variations of valid input files β€’ Exercises the code in an attempt to expose unexpected application behaviors. β€’ Lightweight, for beginner or advanced security testing β€’ Use either standalone or integrated with Visual Studio (VS) and Team Foundation Server (TFS)
  • 22. !exploitable Creates hashes to determine the uniqueness of a crash Assigns an exploitability rating to the crash: Exploitable, Probably Exploitable, Probably Not Exploitable, or Unknown. An extension of Microsoft debuggers β€’ windbg badapp.exe usersmikedesktopminifuzzcrashesfoobar8776.bad β€’ !load winextmsec.dll β€’ Run the process and have it parse the file: g β€’ Finally, run !exploitable to take a first pass analysis of the failure: !exploitable Open source http://msecdbg.codeplex.com/
  • 24. Attack Surface Analyzer Takes system attack surface snapshots One before and one after installing the product Compares the snapshots and generates a report
  • 27. EMET: Simplifying mitigation deployment GUI and command line interface Configure system-wide mitigations Enable mitigations for specific applications Verify mitigation settings
  • 28. EMET: Protecting applications Protect at-risk or known vulnerable applications Protect against active 0day attacks in the wild Granular control over which mitigations are enabled
  • 29. Important Resources Microsoft SDL Portal http://microsoft.com/sdl SDL Tools (with download links and training/videos) http://www.microsoft.com/security/sdl/adopt/tools.aspx Visual Studio 2010 http://msdn.microsoft.com/en-us/vstudio/aa718325 FxCop documentation http://msdn.microsoft.com/en-us/library/dd264939(v=VS.100).aspx !exploitable http://msecdbg.codeplex.com/ MSEC http://www.microsoft.com/security/msec.aspx
  • 30. BlueHat Prize Announcement First BlueHat Prize Challenge: β€’ Design a novel runtime mitigation technology that is capable of preventing the exploitation of memory safety vulnerabilities Entry Period: Aug 3, 2011 – Apr 1, 2012 Winners announced: BlackHat USA August 2012 IP remains the property of the inventor, with a license for Microsoft to use the technology Grand Prize: β€’ $200,000 in cash Second Prize: β€’ $50,000 in cash Third Prize: β€’ MSDN subscription ($10,000 value)
  • 31. Examples of Mitigation Technology Data Execution Prevention (DEP) β€’ Sets non executable memory pages Address Space Layout Randomization (ASLR) β€’ Randomizes memory in which apps load Structured Exception Handler Overwrite Protection (SEHOP) β€’ Verifies exception handler lists have not been corrupted Mitigation tools from Microsoft: Download EMET
  • 32. BlueHat Prize Judging Criteria Practicality – 30% β€’ Can the solution be implemented and deployed at a large scale on Windows? β€’ Overhead must be low (e.g. CPU and memory cost no more than 5%). β€’ No application compatibility regressions should occur. β€’ No usability regressions should occur. β€’ Reasonable to develop, test, and deploy. Robustness – 30% β€’ How easy would it be to bypass the proposed solution? Impact – 40% β€’ Does the solution strongly address key open problems or significantly refine an existing approach? β€’ Would the solution strongly mitigate modern exploits above and beyond our current arsenal?
  • 33. For More Information… BlueHat Prize Web site: www.bluehatprize.com β€’ Questions? bluehatprize.@microsoft.com MSRC Blog: http://blogs.technet.com/msrc EcoStrat Blog: http://blogs.technet.com/ecostrat/ Help Defend the Planet: http://careers.microsoft.com Follow us on Twitter: @k8em0 and @MSFTSecResponse
  • 34. In Review: Session Objectives and Takeaways Session Objective(s): β€’ Give an overview of the Secure Development lifecycle β€’ Discuss the externally available tools that support the SDL β€’ Provide guidance on using the tools to build more secure software Key takeaways: β€’ Microsoft is investing into supporting the SDL β€’ Our customers should use the tools to build more secure software