SlideShare une entreprise Scribd logo
1  sur  27
Appsec Agility
A BRIEF TOUR
 He/Him
 CISSP, C|EH, MSCE
 Information Security Executive, Consultant, Wise-Guy
 LinkedIn: https://www.linkedin.com/in/robbkeefer
 Robb.keefer@outlook.com
Who is Robert Keefer?
Some
Definitions
Flaw: A weakness in an application. This may come about
due to a missed best practice, a syntax or other error,
misconfiguration, or a weakness inherent to the language
or framework.
Vulnerability: A flaw with a known exploit. All
vulnerabilities are flaws, but not all flaws are
vulnerabilities…at least not yet!
Remediation: A change made in the code to address a
vulnerability or flaw. A remediated flaw or vulnerability
does not exist in the finished app any longer.
Mitigation: The creation or documentation of a
compensating control. A compensating control does not
remove the flaw or vulnerability, but hopefully makes it
impossible to exploit.
The Agile Manifesto
We are uncovering better ways of developing software by doing it
and helping others do it. Through this work we have come to
value:
 Individuals and interactions over processes and tools
 Working software over comprehensive documentation
 Customer collaboration over contract negotiation
 Responding to change over following a plan
That is, while there is value in the items on the right, we value the
items on the left more.
The Twelve Agile Principles
1. Our highest priority is to
satisfy the customer
2. Welcome changing
requirements, even late
in development.
3. Deliver working software
frequently.
4. Business people and
developers must work
together
5. Build projects around
motivated individuals.
6. Face-to-face
conversation.
Twelve Principles Continued
7. Working software is the
primary measurement of
progress.
8. Agile processes promote
sustainable development.
9. Continuous attention to
technical excellence.
10.Simplicity is essential.
11.self-organizing teams.
12.At regular intervals, the
team reflects on how to
become more effective.
Pro Security ANTI AGILE?=
Ask Yourself:
Does insecure software value individuals and interactions?
Does insecure software count as working?
Is insecure software the result of customer collaboration?
 Does insecure software (or rather software development
that doesn’t take security into account) respond
appropriately to change?
The Twelve Agile Principles?
1. Our highest priority is to
satisfy the customer.
2. Welcome changing
requirements, even late
in development.
3. Deliver working software
frequently.
4. Business people and
developers must work
together.
5. Build projects around
motivated individuals.
6. Face-to-face
conversation.
Twelve Principles?
7. Working software is the
primary measurement of
progress.
8. Agile processes promote
sustainable development.
9. Continuous attention to
technical excellence.
10.Simplicity is essential.
11.self-organizing teams.
12.At regular intervals, the
team reflects on how to
become more effective.
Appsec &
Agile:
Hardening Sprints
 Security dedicated dev pass
 Often result of customer complaint
✅ Useful to resolve complex issues
✅ Shows dedication to security
❌ Delays product
❌ Seen as tedious
❌ Creates “Security at the End” mindset
User Stories
 Include security requirements in epic
 Adds to “definition of done”
✅ Easy to accomplish
✅ Handy metric
❌ Can add complexity
❌ Security stories are hard to score
❌ Incomplete approach
SDL: Security
Throughout
the Lifecycle
Agile Security
Integrated lifecycle
Breaks appsec programs into tasks
aligned with project framework
Highly customizable; mine is based
on Microsoft’s SDL-Agile
SDL Tasks
Pre-Project
Tasks
Security Training
IRB/Other Boards
Enterprise-Wide
One-Time Tasks
Requirements Gathering
Initial Threat Model
Tool implementation
Final security assessment
Per-Sprint Tasks
Code Scans
Bug Tracking
Unit Reviews
Bucket Tasks
Update Threat Model
Design/Update Privacy
and Security Docs
Update IR Plan
Tools of the
Trade:
SAST, DAST, AND
OTHER PAINS IN
THE *AST
Acronyms: SAST
 Static Application Security Tool
 Source code scanner
 Language dependent
 Unaware of infrastructure or mitigations
Acronyms: DAST
 Dynamic Application Security Tool
 Runs on external server
 Runs against compiled code
 Checks for API, web interface, SQL calls, etc.
 Uses CVS, OWASP Top 10, etc. to rate
 Different results inside firewall from outside
 “Black Box” testing
Acronyms: IAST
 Interactive Application Security Tool
 Runs on application server
 Real-time as application is used
 Aware of server, frameworks, backend, etc.
 “White Box” testing
Layered Approach: SAST
 Runs internally against code repositories
 Run from developer IDE if possible
 Trigger after set number of updates
Layered Approach: DAST
 Run outside of security perimeter, pointing to UAT
 Run after every deployment to environment
 Used to confirm flaws have been identified and
remediated or mitigated
Layered Approach: IAST
 IAST: Installed on QA servers
 Runs constantly
 Reports as part of QA testing
Layered Approach: External Testing
 Used to supplement automated testing
 Separate team; either onboarded Red Team
or external vendor
 Fuzzing tools, vuln scanners, manual testing
 Should not be confrontational!
Conclusion: Three Takeaways
 Application security is not anti-Agile; not being secure is
anti-Agile.
 Application security principles can be folded into the
development process, rather than bolted on to the end.
 No matter how many tools you deploy or tests you run,
secure applications are developed by people, for people.
Thank You! Questions?
 References:
 Agile Alliance: http://www.agilealliance.org
 Microsoft SDL: https://www.microsoft.com/en-us/securityengineering/sdl
 Microsoft SDL-Agile: https://docs.microsoft.com/en-us/previous-
versions/windows/desktop/ee790620(v=msdn.10)
 My LinkedIn (feel free to add me!):
 https://www.linkedin.com/in/robbkeefer

Contenu connexe

Tendances

A Successful SAST Tool Implementation
A Successful SAST Tool ImplementationA Successful SAST Tool Implementation
A Successful SAST Tool ImplementationCheckmarx
 
DevSecOps-OWASP Indonesia Day 2017
DevSecOps-OWASP Indonesia Day 2017DevSecOps-OWASP Indonesia Day 2017
DevSecOps-OWASP Indonesia Day 2017Suman Sourav
 
OWASP Top 10 practice workshop by Stanislav Breslavskyi
OWASP Top 10 practice workshop by Stanislav BreslavskyiOWASP Top 10 practice workshop by Stanislav Breslavskyi
OWASP Top 10 practice workshop by Stanislav BreslavskyiNazar Tymoshyk, CEH, Ph.D.
 
6 Most Common Threat Modeling Misconceptions
6 Most Common Threat Modeling Misconceptions6 Most Common Threat Modeling Misconceptions
6 Most Common Threat Modeling MisconceptionsCigital
 
Building an AppSec Team Extended Cut
Building an AppSec Team Extended CutBuilding an AppSec Team Extended Cut
Building an AppSec Team Extended CutMike Spaulding
 
Are Agile And Secure Development Mutually Exclusive?
Are Agile And Secure Development Mutually Exclusive?Are Agile And Secure Development Mutually Exclusive?
Are Agile And Secure Development Mutually Exclusive?Source Conference
 
Shifting the conversation from active interception to proactive neutralization
Shifting the conversation from active interception to proactive neutralization Shifting the conversation from active interception to proactive neutralization
Shifting the conversation from active interception to proactive neutralization Rogue Wave Software
 
Unit testing : what are you missing for security
Unit testing : what are you missing for securityUnit testing : what are you missing for security
Unit testing : what are you missing for securitySuman Sourav
 
Introducing: Klocwork Insight Pro | November 2009
Introducing: Klocwork Insight Pro | November 2009Introducing: Klocwork Insight Pro | November 2009
Introducing: Klocwork Insight Pro | November 2009Klocwork
 
Testing Your Software Testers
Testing Your Software TestersTesting Your Software Testers
Testing Your Software TestersOri Bendet
 
DevSecOps - It can change your life (cycle)
DevSecOps - It can change your life (cycle)DevSecOps - It can change your life (cycle)
DevSecOps - It can change your life (cycle)Qualitest
 
Create Agile confidence for better application security
Create Agile confidence for better application securityCreate Agile confidence for better application security
Create Agile confidence for better application securityRogue Wave Software
 
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...Denim Group
 
Programming languages and techniques for today’s embedded andIoT world
Programming languages and techniques for today’s embedded andIoT worldProgramming languages and techniques for today’s embedded andIoT world
Programming languages and techniques for today’s embedded andIoT worldRogue Wave Software
 
Testing NodeJS, REST APIs and MongoDB with UFT
Testing NodeJS, REST APIs and MongoDB with UFTTesting NodeJS, REST APIs and MongoDB with UFT
Testing NodeJS, REST APIs and MongoDB with UFTOri Bendet
 
Static Application Security Testing Strategies for Automation and Continuous ...
Static Application Security Testing Strategies for Automation and Continuous ...Static Application Security Testing Strategies for Automation and Continuous ...
Static Application Security Testing Strategies for Automation and Continuous ...Kevin Fealey
 
Strengthen and Scale Security for a dollar or less
Strengthen and Scale Security for a dollar or lessStrengthen and Scale Security for a dollar or less
Strengthen and Scale Security for a dollar or lessMohammed A. Imran
 

Tendances (20)

A Successful SAST Tool Implementation
A Successful SAST Tool ImplementationA Successful SAST Tool Implementation
A Successful SAST Tool Implementation
 
DevSecOps-OWASP Indonesia Day 2017
DevSecOps-OWASP Indonesia Day 2017DevSecOps-OWASP Indonesia Day 2017
DevSecOps-OWASP Indonesia Day 2017
 
OWASP Top 10 practice workshop by Stanislav Breslavskyi
OWASP Top 10 practice workshop by Stanislav BreslavskyiOWASP Top 10 practice workshop by Stanislav Breslavskyi
OWASP Top 10 practice workshop by Stanislav Breslavskyi
 
6 Most Common Threat Modeling Misconceptions
6 Most Common Threat Modeling Misconceptions6 Most Common Threat Modeling Misconceptions
6 Most Common Threat Modeling Misconceptions
 
Building an AppSec Team Extended Cut
Building an AppSec Team Extended CutBuilding an AppSec Team Extended Cut
Building an AppSec Team Extended Cut
 
Are Agile And Secure Development Mutually Exclusive?
Are Agile And Secure Development Mutually Exclusive?Are Agile And Secure Development Mutually Exclusive?
Are Agile And Secure Development Mutually Exclusive?
 
Shifting the conversation from active interception to proactive neutralization
Shifting the conversation from active interception to proactive neutralization Shifting the conversation from active interception to proactive neutralization
Shifting the conversation from active interception to proactive neutralization
 
Unit testing : what are you missing for security
Unit testing : what are you missing for securityUnit testing : what are you missing for security
Unit testing : what are you missing for security
 
Introducing: Klocwork Insight Pro | November 2009
Introducing: Klocwork Insight Pro | November 2009Introducing: Klocwork Insight Pro | November 2009
Introducing: Klocwork Insight Pro | November 2009
 
Bug Advocacy
Bug AdvocacyBug Advocacy
Bug Advocacy
 
Testing Your Software Testers
Testing Your Software TestersTesting Your Software Testers
Testing Your Software Testers
 
DevSecOps - It can change your life (cycle)
DevSecOps - It can change your life (cycle)DevSecOps - It can change your life (cycle)
DevSecOps - It can change your life (cycle)
 
Create Agile confidence for better application security
Create Agile confidence for better application securityCreate Agile confidence for better application security
Create Agile confidence for better application security
 
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...
 
Programming languages and techniques for today’s embedded andIoT world
Programming languages and techniques for today’s embedded andIoT worldProgramming languages and techniques for today’s embedded andIoT world
Programming languages and techniques for today’s embedded andIoT world
 
Testing NodeJS, REST APIs and MongoDB with UFT
Testing NodeJS, REST APIs and MongoDB with UFTTesting NodeJS, REST APIs and MongoDB with UFT
Testing NodeJS, REST APIs and MongoDB with UFT
 
Static Application Security Testing Strategies for Automation and Continuous ...
Static Application Security Testing Strategies for Automation and Continuous ...Static Application Security Testing Strategies for Automation and Continuous ...
Static Application Security Testing Strategies for Automation and Continuous ...
 
Strengthen and Scale Security for a dollar or less
Strengthen and Scale Security for a dollar or lessStrengthen and Scale Security for a dollar or less
Strengthen and Scale Security for a dollar or less
 
Agile and Secure SDLC
Agile and Secure SDLCAgile and Secure SDLC
Agile and Secure SDLC
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 

Similaire à Appsec Agility: A Brief Tour

How To Implement DevSecOps In Your Existing DevOps Workflow
How To Implement DevSecOps In Your Existing DevOps WorkflowHow To Implement DevSecOps In Your Existing DevOps Workflow
How To Implement DevSecOps In Your Existing DevOps WorkflowEnov8
 
Mike Spaulding - Building an Application Security Program
Mike Spaulding - Building an Application Security ProgramMike Spaulding - Building an Application Security Program
Mike Spaulding - Building an Application Security Programcentralohioissa
 
Protecting Agile Transformation through Secure DevOps (DevSecOps)
Protecting Agile Transformation through Secure DevOps (DevSecOps)Protecting Agile Transformation through Secure DevOps (DevSecOps)
Protecting Agile Transformation through Secure DevOps (DevSecOps)Eryk Budi Pratama
 
AppSec How-To: Achieving Security in DevOps
AppSec How-To: Achieving Security in DevOpsAppSec How-To: Achieving Security in DevOps
AppSec How-To: Achieving Security in DevOpsCheckmarx
 
10 things to get right for successful dev secops
10 things to get right for successful dev secops10 things to get right for successful dev secops
10 things to get right for successful dev secopsMohammed Ahmed
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationPreetam Palwe
 
Why Security Engineer Need Shift-Left to DevSecOps?
Why Security Engineer Need Shift-Left to DevSecOps?Why Security Engineer Need Shift-Left to DevSecOps?
Why Security Engineer Need Shift-Left to DevSecOps?Najib Radzuan
 
DevOps and Devsecops- Everything you need to know.
DevOps and Devsecops- Everything you need to know.DevOps and Devsecops- Everything you need to know.
DevOps and Devsecops- Everything you need to know.Techugo
 
10 Steps To Secure Agile Development
10 Steps To Secure Agile Development10 Steps To Secure Agile Development
10 Steps To Secure Agile DevelopmentCheckmarx
 
_Best practices towards a well-polished DevSecOps environment (1).pdf
_Best practices towards a well-polished DevSecOps environment  (1).pdf_Best practices towards a well-polished DevSecOps environment  (1).pdf
_Best practices towards a well-polished DevSecOps environment (1).pdfEnov8
 
Security engineering 101 when good design & security work together
Security engineering 101  when good design & security work togetherSecurity engineering 101  when good design & security work together
Security engineering 101 when good design & security work togetherWendy Knox Everette
 
DOES14 - Jonny Wooldridge - The Cambridge Satchel Company - 10 Enterprise Tip...
DOES14 - Jonny Wooldridge - The Cambridge Satchel Company - 10 Enterprise Tip...DOES14 - Jonny Wooldridge - The Cambridge Satchel Company - 10 Enterprise Tip...
DOES14 - Jonny Wooldridge - The Cambridge Satchel Company - 10 Enterprise Tip...Gene Kim
 
DevSecOps | DevOps Sec
DevSecOps | DevOps SecDevSecOps | DevOps Sec
DevSecOps | DevOps SecRubal Jain
 
DevOps and Devsecops- What are the Differences.
DevOps and Devsecops- What are the Differences.DevOps and Devsecops- What are the Differences.
DevOps and Devsecops- What are the Differences.Techugo
 
DevSecOps: Integrating Security Into DevOps! {Business Security}
DevSecOps: Integrating Security Into DevOps! {Business Security}DevSecOps: Integrating Security Into DevOps! {Business Security}
DevSecOps: Integrating Security Into DevOps! {Business Security}Ajeet Singh
 
4 approaches to integrate dev secops in development cycle
4 approaches to integrate dev secops in development cycle4 approaches to integrate dev secops in development cycle
4 approaches to integrate dev secops in development cycleEnov8
 

Similaire à Appsec Agility: A Brief Tour (20)

How To Implement DevSecOps In Your Existing DevOps Workflow
How To Implement DevSecOps In Your Existing DevOps WorkflowHow To Implement DevSecOps In Your Existing DevOps Workflow
How To Implement DevSecOps In Your Existing DevOps Workflow
 
Introduction to DevSecOps
Introduction to DevSecOpsIntroduction to DevSecOps
Introduction to DevSecOps
 
Mike Spaulding - Building an Application Security Program
Mike Spaulding - Building an Application Security ProgramMike Spaulding - Building an Application Security Program
Mike Spaulding - Building an Application Security Program
 
Protecting Agile Transformation through Secure DevOps (DevSecOps)
Protecting Agile Transformation through Secure DevOps (DevSecOps)Protecting Agile Transformation through Secure DevOps (DevSecOps)
Protecting Agile Transformation through Secure DevOps (DevSecOps)
 
DevSecOps 101
DevSecOps 101DevSecOps 101
DevSecOps 101
 
AppSec How-To: Achieving Security in DevOps
AppSec How-To: Achieving Security in DevOpsAppSec How-To: Achieving Security in DevOps
AppSec How-To: Achieving Security in DevOps
 
10 things to get right for successful dev secops
10 things to get right for successful dev secops10 things to get right for successful dev secops
10 things to get right for successful dev secops
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Why Security Engineer Need Shift-Left to DevSecOps?
Why Security Engineer Need Shift-Left to DevSecOps?Why Security Engineer Need Shift-Left to DevSecOps?
Why Security Engineer Need Shift-Left to DevSecOps?
 
Quality Software Development
Quality Software DevelopmentQuality Software Development
Quality Software Development
 
DevOps and Devsecops- Everything you need to know.
DevOps and Devsecops- Everything you need to know.DevOps and Devsecops- Everything you need to know.
DevOps and Devsecops- Everything you need to know.
 
10 Steps To Secure Agile Development
10 Steps To Secure Agile Development10 Steps To Secure Agile Development
10 Steps To Secure Agile Development
 
_Best practices towards a well-polished DevSecOps environment (1).pdf
_Best practices towards a well-polished DevSecOps environment  (1).pdf_Best practices towards a well-polished DevSecOps environment  (1).pdf
_Best practices towards a well-polished DevSecOps environment (1).pdf
 
Security engineering 101 when good design & security work together
Security engineering 101  when good design & security work togetherSecurity engineering 101  when good design & security work together
Security engineering 101 when good design & security work together
 
DOES14 - Jonny Wooldridge - The Cambridge Satchel Company - 10 Enterprise Tip...
DOES14 - Jonny Wooldridge - The Cambridge Satchel Company - 10 Enterprise Tip...DOES14 - Jonny Wooldridge - The Cambridge Satchel Company - 10 Enterprise Tip...
DOES14 - Jonny Wooldridge - The Cambridge Satchel Company - 10 Enterprise Tip...
 
DevSecOps | DevOps Sec
DevSecOps | DevOps SecDevSecOps | DevOps Sec
DevSecOps | DevOps Sec
 
DevOps and Devsecops- What are the Differences.
DevOps and Devsecops- What are the Differences.DevOps and Devsecops- What are the Differences.
DevOps and Devsecops- What are the Differences.
 
DevSecOps: Integrating Security Into DevOps! {Business Security}
DevSecOps: Integrating Security Into DevOps! {Business Security}DevSecOps: Integrating Security Into DevOps! {Business Security}
DevSecOps: Integrating Security Into DevOps! {Business Security}
 
4 approaches to integrate dev secops in development cycle
4 approaches to integrate dev secops in development cycle4 approaches to integrate dev secops in development cycle
4 approaches to integrate dev secops in development cycle
 
Texto de Ayuda Un2_Taller de ingles
Texto de Ayuda Un2_Taller de inglesTexto de Ayuda Un2_Taller de ingles
Texto de Ayuda Un2_Taller de ingles
 

Dernier

Day 0- Bootcamp Roadmap for PLC Bootcamp
Day 0- Bootcamp Roadmap for PLC BootcampDay 0- Bootcamp Roadmap for PLC Bootcamp
Day 0- Bootcamp Roadmap for PLC BootcampPLCLeadershipDevelop
 
GENUINE Babe,Call Girls IN Baderpur Delhi | +91-8377087607
GENUINE Babe,Call Girls IN Baderpur  Delhi | +91-8377087607GENUINE Babe,Call Girls IN Baderpur  Delhi | +91-8377087607
GENUINE Babe,Call Girls IN Baderpur Delhi | +91-8377087607dollysharma2066
 
Call Now Pooja Mehta : 7738631006 Door Step Call Girls Rate 100% Satisfactio...
Call Now Pooja Mehta :  7738631006 Door Step Call Girls Rate 100% Satisfactio...Call Now Pooja Mehta :  7738631006 Door Step Call Girls Rate 100% Satisfactio...
Call Now Pooja Mehta : 7738631006 Door Step Call Girls Rate 100% Satisfactio...Pooja Nehwal
 
VIP Kolkata Call Girl Rajarhat 👉 8250192130 Available With Room
VIP Kolkata Call Girl Rajarhat 👉 8250192130  Available With RoomVIP Kolkata Call Girl Rajarhat 👉 8250192130  Available With Room
VIP Kolkata Call Girl Rajarhat 👉 8250192130 Available With Roomdivyansh0kumar0
 
Does Leadership Possible Without a Vision.pptx
Does Leadership Possible Without a Vision.pptxDoes Leadership Possible Without a Vision.pptx
Does Leadership Possible Without a Vision.pptxSaqib Mansoor Ahmed
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Kondapur high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls Kondapur high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls Kondapur high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls Kondapur high-profile Call Girladitipandeya
 
Dealing with Poor Performance - get the full picture from 3C Performance Mana...
Dealing with Poor Performance - get the full picture from 3C Performance Mana...Dealing with Poor Performance - get the full picture from 3C Performance Mana...
Dealing with Poor Performance - get the full picture from 3C Performance Mana...Hedda Bird
 
CEO of Google, Sunder Pichai's biography
CEO of Google, Sunder Pichai's biographyCEO of Google, Sunder Pichai's biography
CEO of Google, Sunder Pichai's biographyHafizMuhammadAbdulla5
 
CALL ON ➥8923113531 🔝Call Girls Charbagh Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Charbagh Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Charbagh Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Charbagh Lucknow best sexual serviceanilsa9823
 
operational plan ppt.pptx nursing management
operational plan ppt.pptx nursing managementoperational plan ppt.pptx nursing management
operational plan ppt.pptx nursing managementTulsiDhidhi1
 
BDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
internal analysis on strategic management
internal analysis on strategic managementinternal analysis on strategic management
internal analysis on strategic managementharfimakarim
 

Dernier (20)

Unlocking the Future - Dr Max Blumberg, Founder of Blumberg Partnership
Unlocking the Future - Dr Max Blumberg, Founder of Blumberg PartnershipUnlocking the Future - Dr Max Blumberg, Founder of Blumberg Partnership
Unlocking the Future - Dr Max Blumberg, Founder of Blumberg Partnership
 
Discover -CQ Master Class - Rikita Wadhwa.pdf
Discover -CQ Master Class - Rikita Wadhwa.pdfDiscover -CQ Master Class - Rikita Wadhwa.pdf
Discover -CQ Master Class - Rikita Wadhwa.pdf
 
Disrupt or be Disrupted - Kirk Vallis.pdf
Disrupt or be Disrupted - Kirk Vallis.pdfDisrupt or be Disrupted - Kirk Vallis.pdf
Disrupt or be Disrupted - Kirk Vallis.pdf
 
Day 0- Bootcamp Roadmap for PLC Bootcamp
Day 0- Bootcamp Roadmap for PLC BootcampDay 0- Bootcamp Roadmap for PLC Bootcamp
Day 0- Bootcamp Roadmap for PLC Bootcamp
 
GENUINE Babe,Call Girls IN Baderpur Delhi | +91-8377087607
GENUINE Babe,Call Girls IN Baderpur  Delhi | +91-8377087607GENUINE Babe,Call Girls IN Baderpur  Delhi | +91-8377087607
GENUINE Babe,Call Girls IN Baderpur Delhi | +91-8377087607
 
Call Now Pooja Mehta : 7738631006 Door Step Call Girls Rate 100% Satisfactio...
Call Now Pooja Mehta :  7738631006 Door Step Call Girls Rate 100% Satisfactio...Call Now Pooja Mehta :  7738631006 Door Step Call Girls Rate 100% Satisfactio...
Call Now Pooja Mehta : 7738631006 Door Step Call Girls Rate 100% Satisfactio...
 
Call Girls Service Tilak Nagar @9999965857 Delhi 🫦 No Advance VVIP 🍎 SERVICE
Call Girls Service Tilak Nagar @9999965857 Delhi 🫦 No Advance  VVIP 🍎 SERVICECall Girls Service Tilak Nagar @9999965857 Delhi 🫦 No Advance  VVIP 🍎 SERVICE
Call Girls Service Tilak Nagar @9999965857 Delhi 🫦 No Advance VVIP 🍎 SERVICE
 
VIP Kolkata Call Girl Rajarhat 👉 8250192130 Available With Room
VIP Kolkata Call Girl Rajarhat 👉 8250192130  Available With RoomVIP Kolkata Call Girl Rajarhat 👉 8250192130  Available With Room
VIP Kolkata Call Girl Rajarhat 👉 8250192130 Available With Room
 
Does Leadership Possible Without a Vision.pptx
Does Leadership Possible Without a Vision.pptxDoes Leadership Possible Without a Vision.pptx
Does Leadership Possible Without a Vision.pptx
 
Peak Performance & Resilience - Dr Dorian Dugmore
Peak Performance & Resilience - Dr Dorian DugmorePeak Performance & Resilience - Dr Dorian Dugmore
Peak Performance & Resilience - Dr Dorian Dugmore
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Kondapur high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls Kondapur high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls Kondapur high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls Kondapur high-profile Call Girl
 
Dealing with Poor Performance - get the full picture from 3C Performance Mana...
Dealing with Poor Performance - get the full picture from 3C Performance Mana...Dealing with Poor Performance - get the full picture from 3C Performance Mana...
Dealing with Poor Performance - get the full picture from 3C Performance Mana...
 
CEO of Google, Sunder Pichai's biography
CEO of Google, Sunder Pichai's biographyCEO of Google, Sunder Pichai's biography
CEO of Google, Sunder Pichai's biography
 
Becoming an Inclusive Leader - Bernadette Thompson
Becoming an Inclusive Leader - Bernadette ThompsonBecoming an Inclusive Leader - Bernadette Thompson
Becoming an Inclusive Leader - Bernadette Thompson
 
CALL ON ➥8923113531 🔝Call Girls Charbagh Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Charbagh Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Charbagh Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Charbagh Lucknow best sexual service
 
operational plan ppt.pptx nursing management
operational plan ppt.pptx nursing managementoperational plan ppt.pptx nursing management
operational plan ppt.pptx nursing management
 
BDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort Service
 
Leadership in Crisis - Helio Vogas, Risk & Leadership Keynote Speaker
Leadership in Crisis - Helio Vogas, Risk & Leadership Keynote SpeakerLeadership in Crisis - Helio Vogas, Risk & Leadership Keynote Speaker
Leadership in Crisis - Helio Vogas, Risk & Leadership Keynote Speaker
 
Imagine - HR; are handling the 'bad banter' - Stella Chandler.pdf
Imagine - HR; are handling the 'bad banter' - Stella Chandler.pdfImagine - HR; are handling the 'bad banter' - Stella Chandler.pdf
Imagine - HR; are handling the 'bad banter' - Stella Chandler.pdf
 
internal analysis on strategic management
internal analysis on strategic managementinternal analysis on strategic management
internal analysis on strategic management
 

Appsec Agility: A Brief Tour

  • 2.  He/Him  CISSP, C|EH, MSCE  Information Security Executive, Consultant, Wise-Guy  LinkedIn: https://www.linkedin.com/in/robbkeefer  Robb.keefer@outlook.com Who is Robert Keefer?
  • 3.
  • 4. Some Definitions Flaw: A weakness in an application. This may come about due to a missed best practice, a syntax or other error, misconfiguration, or a weakness inherent to the language or framework. Vulnerability: A flaw with a known exploit. All vulnerabilities are flaws, but not all flaws are vulnerabilities…at least not yet! Remediation: A change made in the code to address a vulnerability or flaw. A remediated flaw or vulnerability does not exist in the finished app any longer. Mitigation: The creation or documentation of a compensating control. A compensating control does not remove the flaw or vulnerability, but hopefully makes it impossible to exploit.
  • 5. The Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:  Individuals and interactions over processes and tools  Working software over comprehensive documentation  Customer collaboration over contract negotiation  Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.
  • 6. The Twelve Agile Principles 1. Our highest priority is to satisfy the customer 2. Welcome changing requirements, even late in development. 3. Deliver working software frequently. 4. Business people and developers must work together 5. Build projects around motivated individuals. 6. Face-to-face conversation.
  • 7. Twelve Principles Continued 7. Working software is the primary measurement of progress. 8. Agile processes promote sustainable development. 9. Continuous attention to technical excellence. 10.Simplicity is essential. 11.self-organizing teams. 12.At regular intervals, the team reflects on how to become more effective.
  • 9. Ask Yourself: Does insecure software value individuals and interactions? Does insecure software count as working? Is insecure software the result of customer collaboration?  Does insecure software (or rather software development that doesn’t take security into account) respond appropriately to change?
  • 10. The Twelve Agile Principles? 1. Our highest priority is to satisfy the customer. 2. Welcome changing requirements, even late in development. 3. Deliver working software frequently. 4. Business people and developers must work together. 5. Build projects around motivated individuals. 6. Face-to-face conversation.
  • 11. Twelve Principles? 7. Working software is the primary measurement of progress. 8. Agile processes promote sustainable development. 9. Continuous attention to technical excellence. 10.Simplicity is essential. 11.self-organizing teams. 12.At regular intervals, the team reflects on how to become more effective.
  • 13. Hardening Sprints  Security dedicated dev pass  Often result of customer complaint ✅ Useful to resolve complex issues ✅ Shows dedication to security ❌ Delays product ❌ Seen as tedious ❌ Creates “Security at the End” mindset
  • 14. User Stories  Include security requirements in epic  Adds to “definition of done” ✅ Easy to accomplish ✅ Handy metric ❌ Can add complexity ❌ Security stories are hard to score ❌ Incomplete approach
  • 16. Agile Security Integrated lifecycle Breaks appsec programs into tasks aligned with project framework Highly customizable; mine is based on Microsoft’s SDL-Agile
  • 17. SDL Tasks Pre-Project Tasks Security Training IRB/Other Boards Enterprise-Wide One-Time Tasks Requirements Gathering Initial Threat Model Tool implementation Final security assessment Per-Sprint Tasks Code Scans Bug Tracking Unit Reviews Bucket Tasks Update Threat Model Design/Update Privacy and Security Docs Update IR Plan
  • 18. Tools of the Trade: SAST, DAST, AND OTHER PAINS IN THE *AST
  • 19. Acronyms: SAST  Static Application Security Tool  Source code scanner  Language dependent  Unaware of infrastructure or mitigations
  • 20. Acronyms: DAST  Dynamic Application Security Tool  Runs on external server  Runs against compiled code  Checks for API, web interface, SQL calls, etc.  Uses CVS, OWASP Top 10, etc. to rate  Different results inside firewall from outside  “Black Box” testing
  • 21. Acronyms: IAST  Interactive Application Security Tool  Runs on application server  Real-time as application is used  Aware of server, frameworks, backend, etc.  “White Box” testing
  • 22. Layered Approach: SAST  Runs internally against code repositories  Run from developer IDE if possible  Trigger after set number of updates
  • 23. Layered Approach: DAST  Run outside of security perimeter, pointing to UAT  Run after every deployment to environment  Used to confirm flaws have been identified and remediated or mitigated
  • 24. Layered Approach: IAST  IAST: Installed on QA servers  Runs constantly  Reports as part of QA testing
  • 25. Layered Approach: External Testing  Used to supplement automated testing  Separate team; either onboarded Red Team or external vendor  Fuzzing tools, vuln scanners, manual testing  Should not be confrontational!
  • 26. Conclusion: Three Takeaways  Application security is not anti-Agile; not being secure is anti-Agile.  Application security principles can be folded into the development process, rather than bolted on to the end.  No matter how many tools you deploy or tests you run, secure applications are developed by people, for people.
  • 27. Thank You! Questions?  References:  Agile Alliance: http://www.agilealliance.org  Microsoft SDL: https://www.microsoft.com/en-us/securityengineering/sdl  Microsoft SDL-Agile: https://docs.microsoft.com/en-us/previous- versions/windows/desktop/ee790620(v=msdn.10)  My LinkedIn (feel free to add me!):  https://www.linkedin.com/in/robbkeefer

Notes de l'éditeur

  1. Thank you all for coming today! My name is Robert Keefer; I am an information security executive; I have about 20 or so years of experience in InfoSec and some of the requisite alphabet soup after my name to show it. My LinkedIn is on this slide and will be at the end if you want to know more about me, but today I’m here to discuss concepts around application security with you.
  2. Now, here is where a lot of security presentations insert the disaster stories. You know, the ones where the developer forgot to close an HTML tag and the local orphanage burned down. I don’t really like disaster stories most of the time, so I’m not going to do that here. Instead I’m going to talk to you a little bit about Agile.
  3. First, Some Definitions and Terms   Flaw: A weakness in an application. This may come about due to a missed best practice, a syntax or other error, misconfiguration, or a weakness inherent to the language or framework.   Vulnerability: A flaw with a known exploit. All vulnerabilities are flaws, but not all flaws are vulnerabilities…at least not yet!   Remediation: A change made in the code to address a vulnerability or flaw. A remediated flaw or vulnerability does not exist in the finished app any longer.   Mitigation: The creation or documentation of a compensating control. A compensating control does not remove the flaw or vulnerability, but hopefully makes it impossible to exploit.   Note that a mitigated vulnerability still exists! This means that if the control fails, the application can be exploited. This is why we prefer remediation over mitigation.
  4. This is probably review for all of you, but it’s good to look it over every once in awhile.   The Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.
  5. The Agile Alliance (www.agilealliance.org) is an organization founded by some of the authors of the original manifesto. One of their tasks was to expand the concepts in the manifesto into the following 12 principles:   1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4. Business people and developers must work together daily throughout the project. 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  6. 7. Working software is the primary measurement of progress. 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9. Continuous attention to technical excellence and good design enhances agility. 10. Simplicity—the art of maximizing the amount of work not done—is essential. 11. The best architectures, requirements, and designs emerge from self-organizing teams. 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. A department that is Agile will conform to more of these concepts and principles, and do so more closely, than a department that is not Agile. That does not mean, of course, that a department needs to adhere slavishly to all of the 4 concepts or 12 principles.
  7. Why did we just go through this review? Many people, both application developers and information security folks, act from the belief, often unstated, that security requirements conflict with Agile.
  8. Does security really conflict with the Agile Manifesto? Ask yourself:   Does insecure software value individuals and interactions? Does insecure software count as working? (if a coffee maker squirts you in the face with scalding water while it brews, is that working?) Is insecure software the result of customer collaboration? (do you *really* think the customer wants credit card data to be easy for strangers to obtain?) Does insecure software (or rather software development that doesn’t take security into account) respond appropriately to change? Remember that flaws, even mitigated ones, may have exploits developed against them in the future.
  9. I would suggest that NOT focusing on security conflicts with the Agile Manifesto. It also conflicts with the 12 principles:   -It doesn’t satisfy the customer (1) -It doesn’t provide competitive advantage for the customer (2) -It’s not working software—certainly not as the customer requires! (3,7)
  10. -Unaddressed flaws are bad for the business (4) -They certainly aren’t technical excellence! (9)
  11. So we can see that designing software without keeping security in mind is actually pretty far from Agile. So how can we include security in an Agile way?
  12. A “Hardening Scrum/Sprint/Pass” is just what it sounds like; taking a development pass to focus on resolving identified security issues, whether flaws, unresolved threat models, configuration issues, or the like, instead of developing new functionality. Sometimes these are done at behest of QA as well, but typically that sort of debt is resolved over multiple scrums.   This is often done as a resolution to a customer complaint—in other words if you are doing hardening sprints then Something Has Gone Very Wrong Indeed.   Why might you want to use this approach? Well, as we just discussed it can be a way to show a dissatisfied customer that you are now taking security seriously. For very complicated security issues, or ones that are mission critical, it may be worthwhile to set other development aside for awhile and focus on this particular thing. If you really haven’t been addressing security issues, then doing a hardening sprint can be a way to get some momentum going as well.   However, it comes with what I consider some pretty significant downsides. First, any sprint that isn’t developing new features is a delay on the final product. Second, developers as a rule would prefer to develop neat new features rather than address debt, and unresolved security issues are debt. This means that a hardening sprint is seen as tedious, which is hard on the squad, hard on the department, and hard on the project managers who have to deal with the morale issues. Lastly, this approach allows the department to consider security as something you do “after” the features are developed, instead of being part of the development process. This makes the whole process less efficient and more error-prone.
  13. One way to overcome the inertia of hardening sprints is to make security part of the requirements. Often this is done by creating stories for security requirements and/or threat models and including them in the epic. By doing this we can make security part of the “definition of done”.   The advantages to this approach are: First, it’s pretty easy to do. Most people are already comfortable working with stories, and these are just another type. It moves security concerns from a release gating factor to part of requirements gathering, with all the advantages that has (less overall effort, greater flexibility in implementation, and so on). And, it provides a handy metric that gives a rough idea of the level of security in a project and the level of effort being spent to increase that level.   On the other hand, using stories as your sole method of application security has its own issues. There is the danger of increasing complexity beyond what is sustainable in an Agile team. Security stories can be challenging to score without additional information, such as threat models or risk analysis. It’s also an incomplete approach. Security can’t always be reduced to a set of requirements; it’s part of the application and project ecosystem.
  14. Which means that security can be aligned with the project’s lifecycle. There are a number of different approaches to this; the one that I use draws heavily from the SDL-Agile model developed by Microsoft.
  15. This model breaks application security into several tasks that align with the project lifecycle of your organization. Some of them are done pre-project, like security training and tools implementation, some are done once per project, some are done per-sprint, and some are bucket tasks, which are tasks that need to be scheduled during the project’s development, but aren’t necessarily done every sprint. Depending on the task and the team’s rhythm I try to do these every retrospective or every other retrospective.
  16. The Pre-Project Tasks include security training (this counts, by the way!), creation or maintenance of Incident Response Boards, other security Boards, and so on. Most of these are done yearly, and often at the enterprise, division, or department level.   The One-Time Tasks are things like requirements gathering, initial threat modeling, tool decision and implementation, and final security assessment (usually fuzz testing/pentest, etc).   The Per-Sprint Tasks include code scanning, unit reviews, bug tracking, and similar tasks.   The Bucket Tasks are those things that are important, but for one reason or another aren’t necessary every sprint—usually because they don’t get updated that often. These are tasks like updating the threat model, designing or updating privacy and security documents, creating the incident response plan, and so forth.   Now for each of these you can draft a specific set of steps, depending on your application, it’s intended use and audience, your customized Agile methodology, etc. In fact, doing so is one of the One-Time tasks I usually recommend.
  17. So: We’ve talked about why we do appsec, and discussed some approaches to implementing it. Let’s talk about some of the common types of tools that are used in the pursuit of secure software.
  18. SAST, DAST, IAST. That’s a lot of acronyms that all look very much alike. Let’s look at these a bit closer and see how they differentiate from each other and how they complement each other in an appsec program.   First, SAST or Static Application Security Tool. This is your classic “source code scanner”. Typically this is a syntactic analysis tool that will review submitted code and run it against a list of known flaws, vulnerabilities, and best practices. It will then provide an indication of the sort of issue it finds, locate it within the code, and in some cases provide additional information on the nature of the issue and provide recommendations on how to resolve it. These tools tend to be heavily language specific, signature based, and a little on the resource heavy side. They’re usually pretty quick, however.   The output of a SAST is a list of flaws and/or potential vulnerabilities, based on the source code in a vacuum. It does not know how your databases are set up, what kind of firewall is in front of the finished application, or even the operating system that will be used. For that reason the output needs to be triaged by the team before it can be acted on. Please note, however, that even if a flaw cannot be exploited at this time, that does not mean it isn’t a flaw in the code! This is why many SAST tools don’t have a way to mark issues as “false positive”; instead you mark them “not exploitable”. The flaw is real, it just doesn’t lead to a security finding. At least, not today.
  19. DAST, or Dynamic Application Security Tool, operates differently. A DAST runs against compiled code, looking for vulnerabilities in the APIs, web interfaces, SQL calls, etc that it can find. They get pointed at the application from the outside; for this reason they are also called “black box testing” tools. Their output is a list of potential vulnerabilities that typically comes from a known source such as CVS (Common Vulnerability System), and uses a common framework to rank them, such as OWASP Top 10.   The accuracy of a DAST tool depends on where it’s placed. If you run it against a production system from outside your security perimeter, then anything it can see an attacker can see as well, which means it’s highly unlikely to be any sort of false positive. As with SAST however you will not want to just blindly accept the findings, as it may not be aware of other mitigations in place.
  20. Finally IAST is Interactive Application Security Tool. This runs on the application server, and monitors application activity in real time as it’s used. Because it’s part of your deployment infrastructure, it is aware of the underlying server, any application frameworks, backend databases, and so forth. What most IASTs look for is vulnerable behavior or results. These tools provide a comprehensive look at the application infrastructure and can help pinpoint any underlying vulnerabilities and how they may interact with flaws in the compiled code. Again as with all automated tools you want to triage the results to ensure that the detected issues are aligned with your risk model. If DAST is “black box” testing, then IAST can be considered “white box” testing.
  21. In order to maximize the effectiveness of these tools I usually recommend a layered approach:   SAST running internally, at the very least performing regular scans on the repositories. Ideally the tool is able to be run by developers out of their IDE as well—this will provide them with near-real-time feedback on their code as they’re developing it. Failing that, the SAST should be triggered after a certain number of updates to the repository; how many depends on your internal processes.
  22. DAST should be running externally to your User Acceptance infrastructure, and should be run after every deployment. The purpose of this tool is largely to confirm that flaws have been identified and remediated, and that any proposed mitigations are in fact protecting the system as described.
  23. IAST should be running on your QA systems, and runs constantly. This will generate new data with every QA pass, so it should ideally be a part of that team’s output.
  24. Automated testing can only get you so far. In order to test completely a certain amount of more manual testing is necessary. This should be done by a team that is not associated with the development team or the application security team—either a dedicated Red Team within the organization or an external vendor. They will perform a manual security analysis using standard penetration testing tools and techniques. This process is usually time and labor intensive, and results in a comprehensive report of the overall security stance of the application and its infrastructure. Because of the time and intensity factor I rarely have this run more often than twice a year. As a rule of thumb, you want to have external testing performed with every major release iteration.   Many people see red teams as confrontational. They shouldn’t be. You should be able to have the red team, whether internal or external contractors, working in close cooperation with the application development and project management teams to identify, prioritize, and remediate issues as they are found, and if you can’t? Find a different team. Remember that will all of these tools and approaches the final goal is secure, working software.
  25. I’ve given you a lot of information, and hopefully some of it has been enlightening. When I’m building a presentation like this one of the things I try to consider is this: If you were only going to take away three things from my time here with you, what would I want them to be? And in this case those three things are:   1. Application Security is not anti-Agile; in fact not being secure is anti-Agile. 2. Application security principles can be folded into your development processes, rather than bolted on to the end, and 3. No matter how many tools you deploy or tests you run, secure applications are developed by people, for people.