SlideShare a Scribd company logo
1 of 41
1
2
Agenda
1. Approaches To Application Security
2. Software Security Roadmap (CMM, S-SDLCs)
3. Software Security Activities And Artifacts
 Security Requirements and Abuse Cases
 Threat Modeling
 Secure Design Guidelines
 Secure Coding Standards and Reviews
 Security Tests
 Secure Configuration and Deployment
1. Metrics and Measurements
2. Business Cases
3
Approaches To Application Security
4
The “Know But Ignore” Approach: Do Not Act
5
Tactical View: Finding Vulnerabilities
AutomatedAutomated
VulnerabilityVulnerability
ScanningScanning
AutomatedAutomated
Static CodeStatic Code
AnalysisAnalysis
ManualManual
PenetrationPenetration
TestingTesting
ManualManual
CodeCode
ReviewReview
6
Strategic View: Manage Software Risks
7
Holistic View: Software vs. Application
Security
Security applied
by catch and
patches
Security built
into each phase of
the SDLC
Look at root
problem
causes
Look at
external
symptoms
Reactive,
Incident Response,
Compliance
Proactive,
Threat Modeling,
Secure Code Reviews
8
Software Security Roadmap
9
Software Security Roadmap
1. Assess the maturity of the organization software
security development processes, people and tools
2. Define the software security process:
security enhanced SDLCs, frameworks and
checkpoints
3. Implement software security activities
1. Security Requirements
2. Secure Design and Threat Modeling
3. Secure Coding Guidelines and Security Code Review
4. Security Testing
5. Secure Deployment
4. Collect metrics and measurements
5. Create business cases and set objectives
10
Security-enhanced lifecycle process (S-SDLC)
models: MS-SDL , CLASP
11
Building Security In the Waterfall SDLC
Threat Modeling
Secure Requirements
Secure Code Reviews
Security Testing
12
Periodic
Security
Sprints
Build Security in Agile SDLC
Threat Model
Stakeholder Security
Stories
Application Security
Assurance Review
Periodic
Security
Sprints
{
12
13
Security Requirements and Abuse Cases
14
Security Requirements
Encompasses both functional requirements for
security controls and risk mitigation driven
requirements from the abuse case scenarios
Define Security Requirements in Standards
Which controls are required (e.g. authentication,
authorization, encryption etc)
Where should be implemented (e.g. design, source code,
application, server)
Why are required
 Compliance and auditing
 Mitigation for known threats
How should be implemented and tested
15
Functional and Non Functional Requirements
Functional Requirements:
Define the expected functionality of security controls
Depends on the applicable standards, policies and
regulations
Positive statements
 “the application will lockout the user after 6 failed logon
attempts”
 “passwords need to be 6 min characters, alphanumeric”
Risk Driven Security Requirements
Address all common vulnerabilities
Can be derived by use (or misuse) cases
Negative statements
 The application should not allow of the data being altered or
destroyed
 The application should not be compromised or misused for un-
authorized financial transaction by a malicious user.
16
Security Requirements Derivation Through
Use and Misuse Cases
Source: OWASP Testing Guide Vs 3 Introduction
17
Threat Modeling
18
Threat Modeling
 Categorizes the threats to the
application, highlights potential
vulnerabilities and identifies
countermeasures to be developed
 Use a systematic fact based and
methodical approach:
1. Scope Assessment
Requirements, Use Cases
1. System Modeling
Physical and Logical View, Data Flows, Trust
Boundaries, Entry Points
1. Threat Identification
STRIDE, ASF
1. Threat Vulnerabilities and Attacks
Checklists, Attack Vulnerability Mapping
1. Identification of Countermeasures
Security Controls
1. Threat Prioritization and Risk Ranking
Risk Modeling
19
System Modeling: Data Flow Diagrams
Source: Threat Modeling Dr James Walden
20
Threats and Countermeasures
Identification
Source: OWASP TM
21
Threat Modeling in the SDLC
22
Secure Design Guidelines
23
Security Design Reviews
Objective is promote secure design and identify
of potential flaws before construction phase
Secure Architecture Review Process
Review High Level Design documents and verify that
security controls requirements are documented
Engage with:
 Architects
 Application Security Experts
Provide guidance on security technology/design
patterns
Identify potential gaps in security controls with threat
modeling
24
Secure Coding Standards and Secure Code
Reviews
25
Secure Coding Standards/Guidelines
Describe secure coding requirement in terms of:
1. The common vulnerabilities (e.g. OWASP
T10)
2. The issue type (e.g. Application Security
Frame)
3. The security threat or how can be
exploited
4. The in-secure code root cause of the
vulnerability
5. The “How to” find the vulnerability with
black box and white box testing
6. The secure coding
requirement/recommendation
26
Example SQL Injection - Secure coding
requirements
Use SQL parameterized queries, avoid
dynamic SQL generation:
 SELECT * FROM users WHERE username=?
 JAVA EE use strongly typed “PreparedStatement”
 in .NET use “SqlCommand” with “SqlParameters”
Sanitize input, remove special characters:
' " ` ; * % _ =&|*?~<>^()[]{}$nr
Use custom error messages:
 No SQL exception information in error messages
27
Secure Code Reviews
 Objectives:
 Identification of security issues in source code, the type of the
issue, the severity and recommendation on how should be fixed
 Can be used to validate secure coding standards
 Security assessment before releasing to QA and
production
 Methodologies:
 Automated Focused Source Code Analysis
 Focus is on validation of false positives and auditing of
automated scan results
 Manually Focused Secure Code Review
 Focus is on identification of security issues as bugs vs. flaws
by categorizing the issues by type of vulnerability introduced
28
Source Code Analysis
29
Security Tests
30
Security Testing
Develop security test cases
Positive functional security test cases
Negative test cases (from use and misuse cases)
Common vulnerabilities exposure
Integrate Tests in Developers and Testers
Workflows
Static and Dynamic Testing, Unit Tests
Integrated System Tests and Operational Tests
Analyze and report test data
Defect Management
Root Cause Identification
31
Security Testing Example: XSS
Define Test Case
Test login web page for XSS
Testing Procedure
Type the following strings in input
fields
 <script>alert()</script>;
 javascript:alert()
 +ADw-SCRIPT+AD4-alert();+
Pass: Input validation Error is
through to the user
Fail: an alert dialog box is seen in
the browser window.
32
Testing Tools Categorization and
Examples
Vulnerability Scanning
ISS, Foundscan, Nessus, Nikto
Fault Injection Testing (Black Box Testing)
Webinspect, Appscan, Hailstorm, Paros, Peach
Binary Analysis
IDA Pro, @stake SmartRisk
Source Code Analysis
Fortify, Klockworks, Parasoft, Free Tools (e.g. FindBugs)
Threat Modeling
MS TAM, TRIKE, PTA Technologies
Rootkit BackDoor Analysis
ootkits.org and rootkit.nl
33
Secure Configuration And Deployment
34
Secure Deployment And Configuration
Items
Ensure the server configuration is secure
Only essential services, server hardening policies
Protect Access To Application Files/Data
XML files, property files, scripts, databases, directories
Enable Auditing And Logging
Enable all secure auditing and logging, protect logs
Enforce Change Management Controls
Don’t allow configuration changes without oversight
Audit configuration data
Release Securely
Don’t allow releases to ship without a security review
35
Metrics And Measurements
36
Application Security Defect Tracking and
Metrics
Define where and how security metrics is collected
Tracking security defects throughout the SDLC
Report the root causes: requirements, design, code,
application
Report the type of the issues, the severity and whether
has been fixed or no
Metrics
What lifecycle stage are most flaws originating in?
What security mechanisms/controls are we having trouble
implementing?
What security vulnerabilities are we having trouble fixing?
37
Examples of Application Security Metrics
Process Metrics
 Is a SDL is used are security
gates enforced?
 Is code validated against
security standards?
 Security posture of a new
application before delivery
 Security Officers Sign Off?
 Test For Security
Vulnerabilities Executed?
 All high risk issues closed?
 Risk assessments completed?
 % of developers trained, using
organizational security best
practice technology,
architecture and processes
Management Metrics
 % of applications rated
“business-critical” that have
been security tested
 % of projects that where
developed with the SDL
 % of security issues identified
by lifecycle phase
 % of issues whose risk has
been accepted
 % of security issues being
fixed
 Average time to correct
vulnerabilities
 Business impact of critical
security incidents.
38
Security Metrics Goals The Good and The Bad
Good: if goals when are “SMART” that is Specific,
Measurable, Attainable, Realistic, Traceable and
Appropriate
Example: reducing the overall number of vulnerabilities by
30% by fixing all low hanging fruits with source code analysis
during construction
Bad: if the goals justify the means to obtain the goals
39
Business Case
40
Business Cases for Your Organization
Tie the metrics to the business cases and support the
project stakeholders agendas:
Developer Leads: show that software can be build more
securely and efficiently
Project Managers: shows that projects are on schedule and
moving on target for the delivery dates and are getting better
during tests
Information Security Officers: provides a level of assurance
that security standard compliance is addressed through the
security review processes within the organization.
Benefits:
Cost savings
Risk measurement and reduction
Compliance reporting
41
Business Cases And Software Security
StrategyBe realistic on what can be achieved
Organization is not yet ready (e.g. mature)
Engineers are not trained in software security
There are no tools available
Adapt the strategy to reality
Build upon your company strenghts
Get stakeholders buy in (CIOs, ISOs, PM, Developers,
Architects)
Set achieveable goals: reduce 30% of vulnerabilities
found through ethical hacking via source code analysys
Perform a gap analysis and proceed with process
improvement cycles:
Tailor to the initiative to the company culture
Be risk management driven
Introduce metrics and prove results

More Related Content

What's hot

Secure by design and secure software development
Secure by design and secure software developmentSecure by design and secure software development
Secure by design and secure software developmentBill Ross
 
Software Development Life Cycle – Managing Risk and Measuring Security
Software Development Life Cycle – Managing Risk and Measuring SecuritySoftware Development Life Cycle – Managing Risk and Measuring Security
Software Development Life Cycle – Managing Risk and Measuring SecurityThomas Malmberg
 
6 Most Popular Threat Modeling Methodologies
 6 Most Popular Threat Modeling Methodologies 6 Most Popular Threat Modeling Methodologies
6 Most Popular Threat Modeling MethodologiesEC-Council
 
Rothke rsa 2012 building a security operations center (soc)
Rothke rsa 2012  building a security operations center (soc)Rothke rsa 2012  building a security operations center (soc)
Rothke rsa 2012 building a security operations center (soc)Ben Rothke
 
Network Vulnerability Assessment: Key Decision Points
Network Vulnerability Assessment: Key Decision PointsNetwork Vulnerability Assessment: Key Decision Points
Network Vulnerability Assessment: Key Decision PointsPivotPointSecurity
 
Classification of vulnerabilities
Classification of vulnerabilitiesClassification of vulnerabilities
Classification of vulnerabilitiesMayur Mehta
 
Threat Modeling - Writing Secure Code
Threat Modeling - Writing Secure CodeThreat Modeling - Writing Secure Code
Threat Modeling - Writing Secure CodeCaleb Jenkins
 
Threat Modeling 101
Threat Modeling 101Threat Modeling 101
Threat Modeling 101Vlad Styran
 
Matteo Meucci Software Security in practice - Aiea torino - 30-10-2015
Matteo Meucci   Software Security in practice - Aiea torino - 30-10-2015Matteo Meucci   Software Security in practice - Aiea torino - 30-10-2015
Matteo Meucci Software Security in practice - Aiea torino - 30-10-2015Minded Security
 
A successful application security program - Envision build and scale
A successful application security program - Envision build and scaleA successful application security program - Envision build and scale
A successful application security program - Envision build and scalePriyanka Aash
 
Application Threat Modeling
Application Threat ModelingApplication Threat Modeling
Application Threat ModelingMarco Morana
 
Threat modeling demystified
Threat modeling demystifiedThreat modeling demystified
Threat modeling demystifiedPriyanka Aash
 
Software Security Testing
Software Security TestingSoftware Security Testing
Software Security Testingankitmehta21
 
Layered Approach - Information Security Recommendations
Layered Approach - Information Security RecommendationsLayered Approach - Information Security Recommendations
Layered Approach - Information Security RecommendationsMichael Kaishar, MSIA | CISSP
 
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 PracticesKellep Charles
 
1 info sec+risk-mgmt
1 info sec+risk-mgmt1 info sec+risk-mgmt
1 info sec+risk-mgmtmadunix
 
The 5 Layers of Security Testing by Alan Koch
The 5 Layers of Security Testing by Alan KochThe 5 Layers of Security Testing by Alan Koch
The 5 Layers of Security Testing by Alan KochQA or the Highway
 

What's hot (20)

Secure by design and secure software development
Secure by design and secure software developmentSecure by design and secure software development
Secure by design and secure software development
 
Application Threat Modeling
Application Threat ModelingApplication Threat Modeling
Application Threat Modeling
 
Software Development Life Cycle – Managing Risk and Measuring Security
Software Development Life Cycle – Managing Risk and Measuring SecuritySoftware Development Life Cycle – Managing Risk and Measuring Security
Software Development Life Cycle – Managing Risk and Measuring Security
 
6 Most Popular Threat Modeling Methodologies
 6 Most Popular Threat Modeling Methodologies 6 Most Popular Threat Modeling Methodologies
6 Most Popular Threat Modeling Methodologies
 
Rothke rsa 2012 building a security operations center (soc)
Rothke rsa 2012  building a security operations center (soc)Rothke rsa 2012  building a security operations center (soc)
Rothke rsa 2012 building a security operations center (soc)
 
Network Vulnerability Assessment: Key Decision Points
Network Vulnerability Assessment: Key Decision PointsNetwork Vulnerability Assessment: Key Decision Points
Network Vulnerability Assessment: Key Decision Points
 
Classification of vulnerabilities
Classification of vulnerabilitiesClassification of vulnerabilities
Classification of vulnerabilities
 
Threat Modeling - Writing Secure Code
Threat Modeling - Writing Secure CodeThreat Modeling - Writing Secure Code
Threat Modeling - Writing Secure Code
 
Threat Modeling 101
Threat Modeling 101Threat Modeling 101
Threat Modeling 101
 
Matteo Meucci Software Security in practice - Aiea torino - 30-10-2015
Matteo Meucci   Software Security in practice - Aiea torino - 30-10-2015Matteo Meucci   Software Security in practice - Aiea torino - 30-10-2015
Matteo Meucci Software Security in practice - Aiea torino - 30-10-2015
 
A successful application security program - Envision build and scale
A successful application security program - Envision build and scaleA successful application security program - Envision build and scale
A successful application security program - Envision build and scale
 
Application Threat Modeling
Application Threat ModelingApplication Threat Modeling
Application Threat Modeling
 
Threat modeling demystified
Threat modeling demystifiedThreat modeling demystified
Threat modeling demystified
 
Software Security Testing
Software Security TestingSoftware Security Testing
Software Security Testing
 
Layered Approach - Information Security Recommendations
Layered Approach - Information Security RecommendationsLayered Approach - Information Security Recommendations
Layered Approach - Information Security Recommendations
 
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
 
what is security
what is securitywhat is security
what is security
 
Secure Coding and Threat Modeling
Secure Coding and Threat ModelingSecure Coding and Threat Modeling
Secure Coding and Threat Modeling
 
1 info sec+risk-mgmt
1 info sec+risk-mgmt1 info sec+risk-mgmt
1 info sec+risk-mgmt
 
The 5 Layers of Security Testing by Alan Koch
The 5 Layers of Security Testing by Alan KochThe 5 Layers of Security Testing by Alan Koch
The 5 Layers of Security Testing by Alan Koch
 

Similar to Software security engineering

Web Application Security Testing
Web Application Security TestingWeb Application Security Testing
Web Application Security TestingMarco Morana
 
Дмитро Терещенко, "How to secure your application with Secure SDLC"
Дмитро Терещенко, "How to secure your application with Secure SDLC"Дмитро Терещенко, "How to secure your application with Secure SDLC"
Дмитро Терещенко, "How to secure your application with Secure SDLC"Sigma Software
 
Threat modelling(system + enterprise)
Threat modelling(system + enterprise)Threat modelling(system + enterprise)
Threat modelling(system + enterprise)abhimanyubhogwan
 
CompTIA CySA Domain 1 Threat and Vulnerability Management.pptx
CompTIA CySA Domain 1 Threat and Vulnerability Management.pptxCompTIA CySA Domain 1 Threat and Vulnerability Management.pptx
CompTIA CySA Domain 1 Threat and Vulnerability Management.pptxInfosectrain3
 
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 ☁
 
ОЛЬГА АКСЬОНЕНКО «Безпечна розробка програмного забезпечення в Agile проектах...
ОЛЬГА АКСЬОНЕНКО «Безпечна розробка програмного забезпечення в Agile проектах...ОЛЬГА АКСЬОНЕНКО «Безпечна розробка програмного забезпечення в Agile проектах...
ОЛЬГА АКСЬОНЕНКО «Безпечна розробка програмного забезпечення в Agile проектах...GoQA
 
[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 principlesOWASP
 
How PCI And PA DSS will change enterprise applications
How PCI And PA DSS will change enterprise applicationsHow PCI And PA DSS will change enterprise applications
How PCI And PA DSS will change enterprise applicationsBen Rothke
 
key metrics and process in cyber security case scenario
key metrics and process in cyber security case scenario key metrics and process in cyber security case scenario
key metrics and process in cyber security case scenario Skillweed
 
Secure SDLC in mobile software development.
Secure SDLC in mobile software development.Secure SDLC in mobile software development.
Secure SDLC in mobile software development.Mykhailo Antonishyn
 
Session2-Application Threat Modeling
Session2-Application Threat ModelingSession2-Application Threat Modeling
Session2-Application Threat Modelingzakieh alizadeh
 
Key metrics and process in cyber security case scenario
Key metrics and process in cyber security case scenarioKey metrics and process in cyber security case scenario
Key metrics and process in cyber security case scenarioBim Akinfenwa
 
Key metrics and process in cyber security case scenario
Key metrics and process in cyber security case scenarioKey metrics and process in cyber security case scenario
Key metrics and process in cyber security case scenarioAkingbade Akinfenwa
 
Web applications security conference slides
Web applications security  conference slidesWeb applications security  conference slides
Web applications security conference slidesBassam Al-Khatib
 
Application Security Testing for Software Engineers ,Developers and testers
Application Security Testing for Software Engineers ,Developers and testersApplication Security Testing for Software Engineers ,Developers and testers
Application Security Testing for Software Engineers ,Developers and testersGustavo Nieves Arreaza
 

Similar to Software security engineering (20)

Web Application Security Testing
Web Application Security TestingWeb Application Security Testing
Web Application Security Testing
 
Дмитро Терещенко, "How to secure your application with Secure SDLC"
Дмитро Терещенко, "How to secure your application with Secure SDLC"Дмитро Терещенко, "How to secure your application with Secure SDLC"
Дмитро Терещенко, "How to secure your application with Secure SDLC"
 
Threat modelling(system + enterprise)
Threat modelling(system + enterprise)Threat modelling(system + enterprise)
Threat modelling(system + enterprise)
 
Security engineering
Security engineeringSecurity engineering
Security engineering
 
CompTIA CySA Domain 1 Threat and Vulnerability Management.pptx
CompTIA CySA Domain 1 Threat and Vulnerability Management.pptxCompTIA CySA Domain 1 Threat and Vulnerability Management.pptx
CompTIA CySA Domain 1 Threat and Vulnerability Management.pptx
 
Arved sandstrom - the rotwithin - atlseccon2011
Arved sandstrom - the rotwithin - atlseccon2011Arved sandstrom - the rotwithin - atlseccon2011
Arved sandstrom - the rotwithin - atlseccon2011
 
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...
 
ОЛЬГА АКСЬОНЕНКО «Безпечна розробка програмного забезпечення в Agile проектах...
ОЛЬГА АКСЬОНЕНКО «Безпечна розробка програмного забезпечення в Agile проектах...ОЛЬГА АКСЬОНЕНКО «Безпечна розробка програмного забезпечення в Agile проектах...
ОЛЬГА АКСЬОНЕНКО «Безпечна розробка програмного забезпечення в Agile проектах...
 
Security assessment isaca sv presentation jan 2016
Security assessment isaca sv presentation jan 2016Security assessment isaca sv presentation jan 2016
Security assessment isaca sv presentation jan 2016
 
[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
 
How PCI And PA DSS will change enterprise applications
How PCI And PA DSS will change enterprise applicationsHow PCI And PA DSS will change enterprise applications
How PCI And PA DSS will change enterprise applications
 
key metrics and process in cyber security case scenario
key metrics and process in cyber security case scenario key metrics and process in cyber security case scenario
key metrics and process in cyber security case scenario
 
Secure SDLC in mobile software development.
Secure SDLC in mobile software development.Secure SDLC in mobile software development.
Secure SDLC in mobile software development.
 
Session2-Application Threat Modeling
Session2-Application Threat ModelingSession2-Application Threat Modeling
Session2-Application Threat Modeling
 
Key metrics and process in cyber security case scenario
Key metrics and process in cyber security case scenarioKey metrics and process in cyber security case scenario
Key metrics and process in cyber security case scenario
 
Key metrics and process in cyber security case scenario
Key metrics and process in cyber security case scenarioKey metrics and process in cyber security case scenario
Key metrics and process in cyber security case scenario
 
Web applications security conference slides
Web applications security  conference slidesWeb applications security  conference slides
Web applications security conference slides
 
Application Security Testing for Software Engineers ,Developers and testers
Application Security Testing for Software Engineers ,Developers and testersApplication Security Testing for Software Engineers ,Developers and testers
Application Security Testing for Software Engineers ,Developers and testers
 

More from AHM Pervej Kabir

Asp.net c# mvc Training-Day-5 of Day-9
Asp.net c# mvc Training-Day-5 of Day-9Asp.net c# mvc Training-Day-5 of Day-9
Asp.net c# mvc Training-Day-5 of Day-9AHM Pervej Kabir
 
Asp.net c# mvc Training Day-4 of Day-9
Asp.net c# mvc Training Day-4 of Day-9Asp.net c# mvc Training Day-4 of Day-9
Asp.net c# mvc Training Day-4 of Day-9AHM Pervej Kabir
 
Asp.net c# mvc Training: Day-3 of Day-9
Asp.net c# mvc Training: Day-3 of Day-9Asp.net c# mvc Training: Day-3 of Day-9
Asp.net c# mvc Training: Day-3 of Day-9AHM Pervej Kabir
 
Asp.net c# MVC-5 Training-Day-2 of Day-9
Asp.net c# MVC-5 Training-Day-2 of Day-9Asp.net c# MVC-5 Training-Day-2 of Day-9
Asp.net c# MVC-5 Training-Day-2 of Day-9AHM Pervej Kabir
 
Asp.net c# MVC-5 Training-Day-1 of Day-9
Asp.net c# MVC-5 Training-Day-1 of Day-9Asp.net c# MVC-5 Training-Day-1 of Day-9
Asp.net c# MVC-5 Training-Day-1 of Day-9AHM Pervej Kabir
 
Knowledge share about scalable application architecture
Knowledge share about scalable application architectureKnowledge share about scalable application architecture
Knowledge share about scalable application architectureAHM Pervej Kabir
 
Software security engineering
Software security engineeringSoftware security engineering
Software security engineeringAHM Pervej Kabir
 
Shot note about project management
Shot note about project managementShot note about project management
Shot note about project managementAHM Pervej Kabir
 
Data Collection From Field
Data Collection From FieldData Collection From Field
Data Collection From FieldAHM Pervej Kabir
 
Automated Survey Data Received and Sync From Field
Automated Survey Data Received and Sync From FieldAutomated Survey Data Received and Sync From Field
Automated Survey Data Received and Sync From FieldAHM Pervej Kabir
 
Automated Survey Question Creator Management
Automated Survey Question Creator ManagementAutomated Survey Question Creator Management
Automated Survey Question Creator ManagementAHM Pervej Kabir
 
Reporting about Overview Summery of ISO-27000 Se.(ISMS)
Reporting about Overview Summery  of ISO-27000 Se.(ISMS)Reporting about Overview Summery  of ISO-27000 Se.(ISMS)
Reporting about Overview Summery of ISO-27000 Se.(ISMS)AHM Pervej Kabir
 

More from AHM Pervej Kabir (16)

Business Analysis.pptx
Business Analysis.pptxBusiness Analysis.pptx
Business Analysis.pptx
 
Asp.net c# mvc Training-Day-5 of Day-9
Asp.net c# mvc Training-Day-5 of Day-9Asp.net c# mvc Training-Day-5 of Day-9
Asp.net c# mvc Training-Day-5 of Day-9
 
Asp.net c# mvc Training Day-4 of Day-9
Asp.net c# mvc Training Day-4 of Day-9Asp.net c# mvc Training Day-4 of Day-9
Asp.net c# mvc Training Day-4 of Day-9
 
Asp.net c# mvc Training: Day-3 of Day-9
Asp.net c# mvc Training: Day-3 of Day-9Asp.net c# mvc Training: Day-3 of Day-9
Asp.net c# mvc Training: Day-3 of Day-9
 
Asp.net c# MVC-5 Training-Day-2 of Day-9
Asp.net c# MVC-5 Training-Day-2 of Day-9Asp.net c# MVC-5 Training-Day-2 of Day-9
Asp.net c# MVC-5 Training-Day-2 of Day-9
 
Asp.net c# MVC-5 Training-Day-1 of Day-9
Asp.net c# MVC-5 Training-Day-1 of Day-9Asp.net c# MVC-5 Training-Day-1 of Day-9
Asp.net c# MVC-5 Training-Day-1 of Day-9
 
Knowledge share about scalable application architecture
Knowledge share about scalable application architectureKnowledge share about scalable application architecture
Knowledge share about scalable application architecture
 
Software security engineering
Software security engineeringSoftware security engineering
Software security engineering
 
Shot note about project management
Shot note about project managementShot note about project management
Shot note about project management
 
CMMI
CMMICMMI
CMMI
 
Agile
AgileAgile
Agile
 
Data Collection From Field
Data Collection From FieldData Collection From Field
Data Collection From Field
 
Automated Survey Data Received and Sync From Field
Automated Survey Data Received and Sync From FieldAutomated Survey Data Received and Sync From Field
Automated Survey Data Received and Sync From Field
 
Automated Survey Question Creator Management
Automated Survey Question Creator ManagementAutomated Survey Question Creator Management
Automated Survey Question Creator Management
 
Presentation
PresentationPresentation
Presentation
 
Reporting about Overview Summery of ISO-27000 Se.(ISMS)
Reporting about Overview Summery  of ISO-27000 Se.(ISMS)Reporting about Overview Summery  of ISO-27000 Se.(ISMS)
Reporting about Overview Summery of ISO-27000 Se.(ISMS)
 

Recently uploaded

Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsSachinPawar510423
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the weldingMuhammadUzairLiaqat
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating SystemRashmi Bhat
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingBootNeck1
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Solving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptSolving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptJasonTagapanGulla
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptMadan Karki
 
National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfRajuKanojiya4
 
Steel Structures - Building technology.pptx
Steel Structures - Building technology.pptxSteel Structures - Building technology.pptx
Steel Structures - Building technology.pptxNikhil Raut
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxsiddharthjain2303
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 

Recently uploaded (20)

Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documents
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the welding
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating System
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event Scheduling
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Solving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptSolving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.ppt
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.ppt
 
National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdf
 
Steel Structures - Building technology.pptx
Steel Structures - Building technology.pptxSteel Structures - Building technology.pptx
Steel Structures - Building technology.pptx
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptx
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 

Software security engineering

  • 1. 1
  • 2. 2 Agenda 1. Approaches To Application Security 2. Software Security Roadmap (CMM, S-SDLCs) 3. Software Security Activities And Artifacts  Security Requirements and Abuse Cases  Threat Modeling  Secure Design Guidelines  Secure Coding Standards and Reviews  Security Tests  Secure Configuration and Deployment 1. Metrics and Measurements 2. Business Cases
  • 4. 4 The “Know But Ignore” Approach: Do Not Act
  • 5. 5 Tactical View: Finding Vulnerabilities AutomatedAutomated VulnerabilityVulnerability ScanningScanning AutomatedAutomated Static CodeStatic Code AnalysisAnalysis ManualManual PenetrationPenetration TestingTesting ManualManual CodeCode ReviewReview
  • 6. 6 Strategic View: Manage Software Risks
  • 7. 7 Holistic View: Software vs. Application Security Security applied by catch and patches Security built into each phase of the SDLC Look at root problem causes Look at external symptoms Reactive, Incident Response, Compliance Proactive, Threat Modeling, Secure Code Reviews
  • 9. 9 Software Security Roadmap 1. Assess the maturity of the organization software security development processes, people and tools 2. Define the software security process: security enhanced SDLCs, frameworks and checkpoints 3. Implement software security activities 1. Security Requirements 2. Secure Design and Threat Modeling 3. Secure Coding Guidelines and Security Code Review 4. Security Testing 5. Secure Deployment 4. Collect metrics and measurements 5. Create business cases and set objectives
  • 10. 10 Security-enhanced lifecycle process (S-SDLC) models: MS-SDL , CLASP
  • 11. 11 Building Security In the Waterfall SDLC Threat Modeling Secure Requirements Secure Code Reviews Security Testing
  • 12. 12 Periodic Security Sprints Build Security in Agile SDLC Threat Model Stakeholder Security Stories Application Security Assurance Review Periodic Security Sprints { 12
  • 14. 14 Security Requirements Encompasses both functional requirements for security controls and risk mitigation driven requirements from the abuse case scenarios Define Security Requirements in Standards Which controls are required (e.g. authentication, authorization, encryption etc) Where should be implemented (e.g. design, source code, application, server) Why are required  Compliance and auditing  Mitigation for known threats How should be implemented and tested
  • 15. 15 Functional and Non Functional Requirements Functional Requirements: Define the expected functionality of security controls Depends on the applicable standards, policies and regulations Positive statements  “the application will lockout the user after 6 failed logon attempts”  “passwords need to be 6 min characters, alphanumeric” Risk Driven Security Requirements Address all common vulnerabilities Can be derived by use (or misuse) cases Negative statements  The application should not allow of the data being altered or destroyed  The application should not be compromised or misused for un- authorized financial transaction by a malicious user.
  • 16. 16 Security Requirements Derivation Through Use and Misuse Cases Source: OWASP Testing Guide Vs 3 Introduction
  • 18. 18 Threat Modeling  Categorizes the threats to the application, highlights potential vulnerabilities and identifies countermeasures to be developed  Use a systematic fact based and methodical approach: 1. Scope Assessment Requirements, Use Cases 1. System Modeling Physical and Logical View, Data Flows, Trust Boundaries, Entry Points 1. Threat Identification STRIDE, ASF 1. Threat Vulnerabilities and Attacks Checklists, Attack Vulnerability Mapping 1. Identification of Countermeasures Security Controls 1. Threat Prioritization and Risk Ranking Risk Modeling
  • 19. 19 System Modeling: Data Flow Diagrams Source: Threat Modeling Dr James Walden
  • 23. 23 Security Design Reviews Objective is promote secure design and identify of potential flaws before construction phase Secure Architecture Review Process Review High Level Design documents and verify that security controls requirements are documented Engage with:  Architects  Application Security Experts Provide guidance on security technology/design patterns Identify potential gaps in security controls with threat modeling
  • 24. 24 Secure Coding Standards and Secure Code Reviews
  • 25. 25 Secure Coding Standards/Guidelines Describe secure coding requirement in terms of: 1. The common vulnerabilities (e.g. OWASP T10) 2. The issue type (e.g. Application Security Frame) 3. The security threat or how can be exploited 4. The in-secure code root cause of the vulnerability 5. The “How to” find the vulnerability with black box and white box testing 6. The secure coding requirement/recommendation
  • 26. 26 Example SQL Injection - Secure coding requirements Use SQL parameterized queries, avoid dynamic SQL generation:  SELECT * FROM users WHERE username=?  JAVA EE use strongly typed “PreparedStatement”  in .NET use “SqlCommand” with “SqlParameters” Sanitize input, remove special characters: ' " ` ; * % _ =&|*?~<>^()[]{}$nr Use custom error messages:  No SQL exception information in error messages
  • 27. 27 Secure Code Reviews  Objectives:  Identification of security issues in source code, the type of the issue, the severity and recommendation on how should be fixed  Can be used to validate secure coding standards  Security assessment before releasing to QA and production  Methodologies:  Automated Focused Source Code Analysis  Focus is on validation of false positives and auditing of automated scan results  Manually Focused Secure Code Review  Focus is on identification of security issues as bugs vs. flaws by categorizing the issues by type of vulnerability introduced
  • 30. 30 Security Testing Develop security test cases Positive functional security test cases Negative test cases (from use and misuse cases) Common vulnerabilities exposure Integrate Tests in Developers and Testers Workflows Static and Dynamic Testing, Unit Tests Integrated System Tests and Operational Tests Analyze and report test data Defect Management Root Cause Identification
  • 31. 31 Security Testing Example: XSS Define Test Case Test login web page for XSS Testing Procedure Type the following strings in input fields  <script>alert()</script>;  javascript:alert()  +ADw-SCRIPT+AD4-alert();+ Pass: Input validation Error is through to the user Fail: an alert dialog box is seen in the browser window.
  • 32. 32 Testing Tools Categorization and Examples Vulnerability Scanning ISS, Foundscan, Nessus, Nikto Fault Injection Testing (Black Box Testing) Webinspect, Appscan, Hailstorm, Paros, Peach Binary Analysis IDA Pro, @stake SmartRisk Source Code Analysis Fortify, Klockworks, Parasoft, Free Tools (e.g. FindBugs) Threat Modeling MS TAM, TRIKE, PTA Technologies Rootkit BackDoor Analysis ootkits.org and rootkit.nl
  • 34. 34 Secure Deployment And Configuration Items Ensure the server configuration is secure Only essential services, server hardening policies Protect Access To Application Files/Data XML files, property files, scripts, databases, directories Enable Auditing And Logging Enable all secure auditing and logging, protect logs Enforce Change Management Controls Don’t allow configuration changes without oversight Audit configuration data Release Securely Don’t allow releases to ship without a security review
  • 36. 36 Application Security Defect Tracking and Metrics Define where and how security metrics is collected Tracking security defects throughout the SDLC Report the root causes: requirements, design, code, application Report the type of the issues, the severity and whether has been fixed or no Metrics What lifecycle stage are most flaws originating in? What security mechanisms/controls are we having trouble implementing? What security vulnerabilities are we having trouble fixing?
  • 37. 37 Examples of Application Security Metrics Process Metrics  Is a SDL is used are security gates enforced?  Is code validated against security standards?  Security posture of a new application before delivery  Security Officers Sign Off?  Test For Security Vulnerabilities Executed?  All high risk issues closed?  Risk assessments completed?  % of developers trained, using organizational security best practice technology, architecture and processes Management Metrics  % of applications rated “business-critical” that have been security tested  % of projects that where developed with the SDL  % of security issues identified by lifecycle phase  % of issues whose risk has been accepted  % of security issues being fixed  Average time to correct vulnerabilities  Business impact of critical security incidents.
  • 38. 38 Security Metrics Goals The Good and The Bad Good: if goals when are “SMART” that is Specific, Measurable, Attainable, Realistic, Traceable and Appropriate Example: reducing the overall number of vulnerabilities by 30% by fixing all low hanging fruits with source code analysis during construction Bad: if the goals justify the means to obtain the goals
  • 40. 40 Business Cases for Your Organization Tie the metrics to the business cases and support the project stakeholders agendas: Developer Leads: show that software can be build more securely and efficiently Project Managers: shows that projects are on schedule and moving on target for the delivery dates and are getting better during tests Information Security Officers: provides a level of assurance that security standard compliance is addressed through the security review processes within the organization. Benefits: Cost savings Risk measurement and reduction Compliance reporting
  • 41. 41 Business Cases And Software Security StrategyBe realistic on what can be achieved Organization is not yet ready (e.g. mature) Engineers are not trained in software security There are no tools available Adapt the strategy to reality Build upon your company strenghts Get stakeholders buy in (CIOs, ISOs, PM, Developers, Architects) Set achieveable goals: reduce 30% of vulnerabilities found through ethical hacking via source code analysys Perform a gap analysis and proceed with process improvement cycles: Tailor to the initiative to the company culture Be risk management driven Introduce metrics and prove results

Editor's Notes

  1. I plan to start at 2.30 and finish at 3 PM Parlero degli scenari di incidenti delle risposte a tali incidenti e delle strategie per remdiare nel long term. Parlero anche di come creare “consapevolezza” e della Software security initiative.
  2. There are bad guys and good guys and some they just looking for work, be careful of responsible disclosure going public with a zero day can go against you. On the other hand also ignoring the vulnerabilities you are suppose to fix is not a very responsbile approach
  3. The most common approach to finding vulnerabilities is to analyze the running application. The two techniques are “vulnerability scanning” (using tools and signature databases) and “penetration testing” (custom testing by experts). However, for many types of problems, analyzing the running application is very time-consuming and inaccurate. SQL injection, for example, is very difficult to find and diagnose in a running application, but can be quickly found by analyzing the source code. The other approach is to analyze the source code. Like pentesting, this can be done manually (source code review) or with tools (static analysis). Code-based approaches have a reputation for being expensive and time-consuming, but this reputation is unfounded. For many types of issues, using the code is many times faster and more accurate than penetration testing. The most cost-effective approach to application security is a “combined” or “integrated” approach. The assessor should be encouraged to use the most appropriate tool to find problems in the most cost-effective manner. For example, an assessor may notice a potential vulnerability during a penetration test, automatically scan the code for possible instances of the problem, and then confirm using code review. Note that the purely automated approaches (scanning and static analysis) are especially ineffective for application security (most experts put the effectiveness of pure scanning or static analysis at less than 20%). This is largely due to the custom nature of applications. Because each one is different, there is no database of signatures the automated tools can use.
  4. Ultimately a mature software security process blends both information risk management and software engineering processes in a software security framework. For example, threat modeling will identify threats and technical impacts during design that are used as a factor along with business impact in the calculation of the overall risk. Ideally, such mature software security process should integrate software security activities in each phase of the SDLC. This also included activities that are performed as part of the operation life-cycle such as patch and incident management as well foundational activities such as metrics and measurements and security training and awareness. Ideally, for a software security framework to be useful in practice, it needs to apply to the different software development methodologies used by your organization. This might include evolutionary-interactive software life-cycles such as spiral, RUP, XP and Agile besides the traditional waterfall model but also. In case of RUP and Agile for example this means that such software security best practices need to be iterated as the software evolves and reviewed at each interaction depending on the available artifacts.
  5. Another pre-condition is focusing on software security awareness that is communicating to the project stakeholders what software security entitles to that is when and how security needs to be applied to the application, in better terms explaining the difference between application and software security.Applications vs. software are best described as the Chinese philosophy “yin” and “yang” concepts: opposing and, at the same time, complementary (completing) aspects of any one software development process when seen from different perspectives. For example, from the “when” perspective is applying security after application is already build vs. while the application is being build, from the problem solution perspective is looking at the sympthoms instead of the root causes, from the approach perspective is catch and patch vs. building security throughout the software life cycle and from the risk perspective is reactive response to security incidents via implementation of “band-aid” solutions vs. proactive threat analysis, risk assessment and implementation of countermeasures as necessary.
  6. So you need a road map, start with assessing the maturity of the PPT in place, then definition of the processes to build security into the SDLC and the security activities. Then you cannot manage if you do not measure and risk menagement expecially needs vulnerability metrics for example. Finally you can make the case with your data and set objectives moving forward.
  7. Essential elements: Verification check points, developer’s training and tools. The aim of the Software Development Lifecycle SDL is to integrate tasks and checkpoints in the software development organization’s processes so that software security can be improved with well defined security reviews and security deliverables. Critical to the effectiveness of the SDL implementation is the ongoing education and training for software developers and the techniques and technologies required for secure development. Figure 2 depicts at high level the phases of the SDL and the software security activities: Figure 2: MS SDL The SDL software security activities (the yellow blocks) map to the SDLC (the big arrows) such as: Definition of security feature requirements during the requirements phase Security architecture design, best practices and threat modeling during design Static analysis via automation tools during implementation Application of coding and testing standards during implementation Code reviews during implementation Security focused testing, pen and fuzz testing, during the verification phase Security servicing and response during operations (post release) Pro and Cons: Con: Threat analysis as is done in the MS SDL is very product oriented and static because is build around the Microsoft risk model STRIDE/DREAD. This risk model might work well for a software development shop and for shrink wrapped software development but it will not be suitable for applications developed for organizations that use proprietary risk management models such as financial and banking institutions for example. Pro: Microsoft products that have adopted the SDL such as SQL Server 2003, Vista and IE6 had significant less security issues then products that did not use it. This is data validated by comparing with the number of vulnerabilities in software versions developed prior to the introduction of the SDL: software developed under the SDL have exhibited over a 50% reduction in vulnerabilities Pro: The SDL methodology is adequately supported by tools such as threat modeling and source code analysis tools. Some of these tools (e.g. Prefix and Prefast) are part of Microsoft Integrated Development Environment for which a license is needed while others are free (e.g. ACE Torpedo TM). So far SDL is the only security-enhanced lifecycle process model that support threat analysis with a tool. Pro: MS SDL is very well documented, easily accessible via MSDN web site and very extensive including secure software handbooks for developers, threat and countermeasures guidelines and checklists etc.
  8. Security will need to be baked into each of the development steps as well, but that will not be the primary focus on that particular step. Particularly for the acceptance tests and QA steps.
  9. OWASP believes that clearly articulating an application security requirements guide detailing both high-level and specific requirements is the best way to ensure that a strong, robust yet workable guide can become default in all aspects of application security.
  10. Take LMCO standard and tailor it Refine: “You will do access control” Into: This is the access control matrix &amp; this is how it will be enforced. - we will use netegrity to implement this policy
  11. Adaptation of a proven object-oriented modeling technique, use cases, to capture and analyze security requirements in a simple way. We define a use case as a specification of a type of complete interaction between a system and one or more actors. We define an abuse case as a specification of a type of complete interaction between a system and one or more actors, where the results of the interaction are harmful to the system, one of the actors, or one of the stakeholders in the system. The graphical example in Figure TBD depicts the derivation of security requirements via use and and misuse cases. The functional scenario consists on the user action: entering username and password and for the application actions: authenticate the user and provide for an error message if validation fails. The misuse case consists on the actions: hacker trying to break authentication by brute forcing the password via a dictionary attack and by guessing the valid username from the error messages. By graphically representing the threats to the user actions (misuses) it is possible to derive the countermeasures as the application actions that mitigate such threats.
  12. Threat modeling implies a view of the architecture in terms of users accessing assets (web servers, data) through protocols crossing trust boundaries. It is a king of end to end data flow schematic. The notation is not important, rather to be comprehensive enough to identify gaps in controls and countermesures.
  13. Threat is un-authorized access to data, the vulnerability can be leaving the computer un-attended via shared terminal, a SQL injection attack, elevation of privileged from a logged session or simply access to data from the browser that allows you to get to the data. All the orange ones are vulnerabilities while the green ones are the countermeasures
  14. Data flows diagrams and attack trees (threat definition) and secure requirements (Scope definition) all feed the threat model. The result is the identification of threats, the risk of such threats and the countermeasures that mitigate such threats. The threat model is also used for secure code reviews as a why to determine along with secure coding standards that threats are mitigated.
  15. Not trying to reinvent the whole SDLC, just trying to insert a few key activities that will help generate more secure code.
  16. Once you have decided the categorization, that is STRIDE, ASF, MITRE CVE etc you need to document the vulnerability and the type By describing the security threat you help the developer to understand how an attacker can exploit the vulnerability (real example in plain english) The software root cause is the an example of offending security defect, the how to should cover both white box and black box depending if the code is already integrated as part of the application, the countermeasure is the code fix, configuration change, design change and the risk rating is the assigned value to the risk of the vulnerability
  17. Find issues Validate standards Act as a gateway There is not such a thing like a fully automated process, false positives need to be validated. A manually focused source code analysis can find more issues than automated validation only
  18. Validation of false positives, tools provide knowledge to the developers and point to root causes. The validation is in terms of relevance, some issues are quality issues
  19. Security testing as part of the testing workflow is still in his infancy If the requirements (Security) are written down the normal testing process should work.
  20. General testing procedures can be adapted for security tests. Some can be conducted manually some need the help of tools
  21. Discussion? Security flaws are often sensitive. Should they be treated differently
  22. Combine looking for quick wins while setting out a roadmap