SlideShare une entreprise Scribd logo
1  sur  44
David Rook Agnitio It’s static analysis, but not as we know it SecurityBSides, London
if (slide == introduction) System.out.println( " I’m  David Rook " ); ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],Agenda
Static analysis ,[object Object],[object Object],[object Object],[object Object]
Static analysis ,[object Object],[object Object],[object Object],[object Object]
Static analysis ,[object Object],http://www.ibm.com/developerworks/rational/library/11-proven-practices-for-peer-review/
Static analysis ,[object Object],http://www.ibm.com/developerworks/rational/library/11-proven-practices-for-peer-review/
Static analysis ,[object Object],[object Object],[object Object],[object Object]
 
 
 
 
 
 
 
The ugly security code reviews ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The bad security code reviews ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The good security code reviews ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],The principles of secure development
[object Object],[object Object],[object Object],[object Object],[object Object],The principles of secure development
[object Object],[object Object],[object Object],[object Object],[object Object],The principles of secure development
[object Object],[object Object],[object Object],[object Object],[object Object],The principles of secure development
Cross Site Scripting Injection Flaws Security Misconfiguration Information Leakage Race Condition Broken Authentication Session Management Cross Site Request Forgery Buffer Copy without Checking Size on Input Insecure Direct Object Reference Failure to Restrict URL Access Insecure Cryptographic Storage SQL Injection Content Spoofing Insufficient Authorisation Insufficient Authentication Abuse of Functionality Predictable Resource Location Unrestricted Upload of File with Dangerous Type Failure to Preserve SQL Query Structure Failure to Preserve Web Page Structure Failure to Preserve OS Command Structure URL Redirection to Untrusted Site Insufficient Transport Layer Protection Improper Limitation of a Pathname to a Restricted Directory Improper Control of Filename for Include/Require Statement in PHP Program Incorrect Permission Assignment for Critical Resource Download of Code Without Integrity Check Information Exposure Through an Error Message Reliance on Untrusted Inputs in a Security Decision Use of Hard-coded Credentials Buffer Access with Incorrect Length Value Improper Check for Unusual or Exceptional Conditions Use of a Broken or Risky Cryptographic Algorithm Missing Encryption of Sensitive Data Missing Authentication for Critical Function Integer Overflow or Wraparound Improper Validation of Array Index Incorrect Calculation of Buffer Size Unvalidated Redirects and Forwards Allocation of Resource Without Limits or Throttling Improper Access Control The principles of secure development
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],The principles of secure development
[object Object],Philosophical Application Security Teach a developer about a vulnerability and he will prevent it, teach him how to develop securely and he will prevent many vulnerabilities. I want to apply this to secure development education:
What we need to do ,[object Object],[object Object],[object Object],[object Object],[object Object]
Cross Site Scripting Injection Flaws Security Misconfiguration Information Leakage Race Condition Broken Authentication Session Management Cross Site Request Forgery Buffer Copy without Checking Size on Input Insecure Direct Object Reference Failure to Restrict URL Access Insecure Cryptographic Storage SQL Injection Content Spoofing Insufficient Authorisation Insufficient Authentication Abuse of Functionality Predictable Resource Location Unrestricted Upload of File with Dangerous Type Failure to Preserve SQL Query Structure Failure to Preserve Web Page Structure Failure to Preserve OS Command Structure URL Redirection to Untrusted Site Insufficient Transport Layer Protection Improper Limitation of a Pathname to a Restricted Directory Improper Control of Filename for Include/Require Statement in PHP Program Incorrect Permission Assignment for Critical Resource Download of Code Without Integrity Check Information Exposure Through an Error Message Reliance on Untrusted Inputs in a Security Decision Use of Hard-coded Credentials Buffer Access with Incorrect Length Value Improper Check for Unusual or Exceptional Conditions Use of a Broken or Risky Cryptographic Algorithm Missing Encryption of Sensitive Data Missing Authentication for Critical Function Integer Overflow or Wraparound Improper Validation of Array Index Incorrect Calculation of Buffer Size Unvalidated Redirects and Forwards Allocation of Resource Without Limits or Throttling Improper Access Control The principles of secure development Input Validation Output Validation Error Handling Authentication Authorisation Session Management Secure Communications Secure Storage Secure Resource Access Auditing and Logging
Agnitio ,[object Object],[object Object],[object Object],[object Object],[object Object]
Agnitio ,[object Object],[object Object],[object Object],[object Object],[object Object]
Agnitio ,[object Object],[object Object],[object Object],[object Object],[object Object]
Why did I develop Agnitio? x 1 x 2 x 1 x 2 ,[object Object]
Why did I develop Agnitio? x 10 ,[object Object],[object Object]
Why did I develop Agnitio? ,[object Object]
Why did I develop Agnitio? x 10 ,[object Object],[object Object]
Why did I develop Agnitio? ,[object Object]
Why did I develop Agnitio? x 10 ,[object Object],[object Object]
Why did I develop Agnitio? ,[object Object]
Why did I develop Agnitio?
Agnitio v2.0 ,[object Object],[object Object],[object Object],[object Object]
Agnitio v2.0 ,[object Object]
Agnitio v2.0
My “shoot for the moon” vision for Agnitio “ we pretty much need a Burp Pro equivalent for Static Analysis – awesome, powerful in the right hands, and completely affordable!” http://www.securityninja.co.uk/application-security/can-you-implement-static-analysis-without-breaking-the-bank/comment-page-1#comment-9777
Using the principles and Agnitio ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
www.securityninja.co.uk @securityninja QUESTIONS? /realexninja /securityninja /realexninja

Contenu connexe

Tendances

Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...
Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...
Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...Applitools
 
Kasten securing access to your kubernetes applications
Kasten securing access to your kubernetes applicationsKasten securing access to your kubernetes applications
Kasten securing access to your kubernetes applicationsLibbySchulze
 
Happiest Minds is Hiring - IMSS
Happiest Minds is Hiring - IMSSHappiest Minds is Hiring - IMSS
Happiest Minds is Hiring - IMSSAshok K DL
 
MobSecCon 2015 - Dynamic Analysis of Android Apps
MobSecCon 2015 - Dynamic Analysis of Android AppsMobSecCon 2015 - Dynamic Analysis of Android Apps
MobSecCon 2015 - Dynamic Analysis of Android AppsRon Munitz
 
OWASP PDX May 2016 : Scanning with Swagger (OAS) 2.0
OWASP PDX May 2016 : Scanning with Swagger (OAS) 2.0 OWASP PDX May 2016 : Scanning with Swagger (OAS) 2.0
OWASP PDX May 2016 : Scanning with Swagger (OAS) 2.0 Scott Lee Davis
 
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...Agile Testing Alliance
 
API Readiness: Visualizing and Virtualizing
API Readiness: Visualizing and VirtualizingAPI Readiness: Visualizing and Virtualizing
API Readiness: Visualizing and VirtualizingLorinda Brandon
 
Robot framework - SAST Väst Q3
Robot framework - SAST Väst Q3Robot framework - SAST Väst Q3
Robot framework - SAST Väst Q3Anders Arnholm
 
Enterprise Ready Test Execution Platform for Mobile Apps
Enterprise Ready Test Execution Platform for Mobile AppsEnterprise Ready Test Execution Platform for Mobile Apps
Enterprise Ready Test Execution Platform for Mobile AppsVijayan Srinivasan
 
apidays LIVE New York 2021 - Why Software Teams Struggle with API Security Te...
apidays LIVE New York 2021 - Why Software Teams Struggle with API Security Te...apidays LIVE New York 2021 - Why Software Teams Struggle with API Security Te...
apidays LIVE New York 2021 - Why Software Teams Struggle with API Security Te...apidays
 
Secure Coding 101 - OWASP University of Ottawa Workshop
Secure Coding 101 - OWASP University of Ottawa WorkshopSecure Coding 101 - OWASP University of Ottawa Workshop
Secure Coding 101 - OWASP University of Ottawa WorkshopPaul Ionescu
 
Api testing and steps to do it
Api testing and steps to do itApi testing and steps to do it
Api testing and steps to do itZoe Gilbert
 
Finding Zero-Days Before The Attackers: A Fortune 500 Red Team Case Study
Finding Zero-Days Before The Attackers: A Fortune 500 Red Team Case StudyFinding Zero-Days Before The Attackers: A Fortune 500 Red Team Case Study
Finding Zero-Days Before The Attackers: A Fortune 500 Red Team Case StudyDevOps.com
 
Альона Тудан “Using Java library in Soap UI”
Альона Тудан “Using Java library in Soap UI” Альона Тудан “Using Java library in Soap UI”
Альона Тудан “Using Java library in Soap UI” Dakiry
 
Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1SmartBear
 
The State of Testing 2017
The State of Testing 2017The State of Testing 2017
The State of Testing 2017SmartBear
 

Tendances (20)

vishal kaneria
vishal kaneriavishal kaneria
vishal kaneria
 
Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...
Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...
Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...
 
Kasten securing access to your kubernetes applications
Kasten securing access to your kubernetes applicationsKasten securing access to your kubernetes applications
Kasten securing access to your kubernetes applications
 
Happiest Minds is Hiring - IMSS
Happiest Minds is Hiring - IMSSHappiest Minds is Hiring - IMSS
Happiest Minds is Hiring - IMSS
 
MobSecCon 2015 - Dynamic Analysis of Android Apps
MobSecCon 2015 - Dynamic Analysis of Android AppsMobSecCon 2015 - Dynamic Analysis of Android Apps
MobSecCon 2015 - Dynamic Analysis of Android Apps
 
OWASP PDX May 2016 : Scanning with Swagger (OAS) 2.0
OWASP PDX May 2016 : Scanning with Swagger (OAS) 2.0 OWASP PDX May 2016 : Scanning with Swagger (OAS) 2.0
OWASP PDX May 2016 : Scanning with Swagger (OAS) 2.0
 
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
 
Api readiness ss
Api readiness ssApi readiness ss
Api readiness ss
 
API Readiness: Visualizing and Virtualizing
API Readiness: Visualizing and VirtualizingAPI Readiness: Visualizing and Virtualizing
API Readiness: Visualizing and Virtualizing
 
Java Defects
Java DefectsJava Defects
Java Defects
 
Robot framework - SAST Väst Q3
Robot framework - SAST Väst Q3Robot framework - SAST Väst Q3
Robot framework - SAST Väst Q3
 
Enterprise Ready Test Execution Platform for Mobile Apps
Enterprise Ready Test Execution Platform for Mobile AppsEnterprise Ready Test Execution Platform for Mobile Apps
Enterprise Ready Test Execution Platform for Mobile Apps
 
apidays LIVE New York 2021 - Why Software Teams Struggle with API Security Te...
apidays LIVE New York 2021 - Why Software Teams Struggle with API Security Te...apidays LIVE New York 2021 - Why Software Teams Struggle with API Security Te...
apidays LIVE New York 2021 - Why Software Teams Struggle with API Security Te...
 
Secure Coding 101 - OWASP University of Ottawa Workshop
Secure Coding 101 - OWASP University of Ottawa WorkshopSecure Coding 101 - OWASP University of Ottawa Workshop
Secure Coding 101 - OWASP University of Ottawa Workshop
 
Api testing and steps to do it
Api testing and steps to do itApi testing and steps to do it
Api testing and steps to do it
 
Finding Zero-Days Before The Attackers: A Fortune 500 Red Team Case Study
Finding Zero-Days Before The Attackers: A Fortune 500 Red Team Case StudyFinding Zero-Days Before The Attackers: A Fortune 500 Red Team Case Study
Finding Zero-Days Before The Attackers: A Fortune 500 Red Team Case Study
 
Альона Тудан “Using Java library in Soap UI”
Альона Тудан “Using Java library in Soap UI” Альона Тудан “Using Java library in Soap UI”
Альона Тудан “Using Java library in Soap UI”
 
Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1
 
ATAGTR2017 Wearable App Testing
ATAGTR2017 Wearable App TestingATAGTR2017 Wearable App Testing
ATAGTR2017 Wearable App Testing
 
The State of Testing 2017
The State of Testing 2017The State of Testing 2017
The State of Testing 2017
 

Similaire à Agnitio: its static analysis, but not as we know it

SecurityBSides London - Agnitio: it's static analysis but not as we know it
SecurityBSides London - Agnitio: it's static analysis but not as we know itSecurityBSides London - Agnitio: it's static analysis but not as we know it
SecurityBSides London - Agnitio: it's static analysis but not as we know itSecurity Ninja
 
香港六合彩
香港六合彩香港六合彩
香港六合彩baoyin
 
What Every Developer And Tester Should Know About Software Security
What Every Developer And Tester Should Know About Software SecurityWhat Every Developer And Tester Should Know About Software Security
What Every Developer And Tester Should Know About Software SecurityAnne Oikarinen
 
Jason Kent - AppSec Without Additional Tools
Jason Kent - AppSec Without Additional ToolsJason Kent - AppSec Without Additional Tools
Jason Kent - AppSec Without Additional Toolscentralohioissa
 
Bridging the gap - Security and Software Testing
Bridging the gap - Security and Software TestingBridging the gap - Security and Software Testing
Bridging the gap - Security and Software TestingRoberto Suggi Liverani
 
Cost effective web application testing
Cost effective web application testingCost effective web application testing
Cost effective web application testingHarinath Pudipeddi
 
Cost effective web application testing
Cost effective web application testingCost effective web application testing
Cost effective web application testingHarinath Pudipeddi
 
Cost Effective Web Application Testing
Cost Effective Web Application TestingCost Effective Web Application Testing
Cost Effective Web Application TestingHari Pudipeddi
 
Developing Secure Applications and Defending Against Common Attacks
Developing Secure Applications and Defending Against Common AttacksDeveloping Secure Applications and Defending Against Common Attacks
Developing Secure Applications and Defending Against Common AttacksPayPalX Developer Network
 
Getting Started with Amazon Inspector - AWS June 2016 Webinar Series
Getting Started with Amazon Inspector - AWS June 2016 Webinar SeriesGetting Started with Amazon Inspector - AWS June 2016 Webinar Series
Getting Started with Amazon Inspector - AWS June 2016 Webinar SeriesAmazon Web Services
 
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
 
Secure SDLC for Software
Secure SDLC for Software Secure SDLC for Software
Secure SDLC for Software Shreeraj Shah
 
Software Security Assurance for DevOps
Software Security Assurance for DevOpsSoftware Security Assurance for DevOps
Software Security Assurance for DevOpsBlack Duck by Synopsys
 
Practical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_Singapore
Practical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_SingaporePractical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_Singapore
Practical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_SingaporeAmazon Web Services
 
Cybersecurity overview - Open source compliance seminar
Cybersecurity overview - Open source compliance seminarCybersecurity overview - Open source compliance seminar
Cybersecurity overview - Open source compliance seminarRogue Wave Software
 
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
 
Injecting simplicity not SQL RSA Europe 2010
Injecting simplicity not SQL RSA Europe 2010Injecting simplicity not SQL RSA Europe 2010
Injecting simplicity not SQL RSA Europe 2010Security Ninja
 
Create code confidence for better application security
Create code confidence for better application securityCreate code confidence for better application security
Create code confidence for better application securityRogue Wave Software
 

Similaire à Agnitio: its static analysis, but not as we know it (20)

SecurityBSides London - Agnitio: it's static analysis but not as we know it
SecurityBSides London - Agnitio: it's static analysis but not as we know itSecurityBSides London - Agnitio: it's static analysis but not as we know it
SecurityBSides London - Agnitio: it's static analysis but not as we know it
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
Dev{sec}ops
Dev{sec}opsDev{sec}ops
Dev{sec}ops
 
What Every Developer And Tester Should Know About Software Security
What Every Developer And Tester Should Know About Software SecurityWhat Every Developer And Tester Should Know About Software Security
What Every Developer And Tester Should Know About Software Security
 
Jason Kent - AppSec Without Additional Tools
Jason Kent - AppSec Without Additional ToolsJason Kent - AppSec Without Additional Tools
Jason Kent - AppSec Without Additional Tools
 
Bridging the gap - Security and Software Testing
Bridging the gap - Security and Software TestingBridging the gap - Security and Software Testing
Bridging the gap - Security and Software Testing
 
Cost effective web application testing
Cost effective web application testingCost effective web application testing
Cost effective web application testing
 
Cost effective web application testing
Cost effective web application testingCost effective web application testing
Cost effective web application testing
 
Cost Effective Web Application Testing
Cost Effective Web Application TestingCost Effective Web Application Testing
Cost Effective Web Application Testing
 
Developing Secure Applications and Defending Against Common Attacks
Developing Secure Applications and Defending Against Common AttacksDeveloping Secure Applications and Defending Against Common Attacks
Developing Secure Applications and Defending Against Common Attacks
 
Getting Started with Amazon Inspector - AWS June 2016 Webinar Series
Getting Started with Amazon Inspector - AWS June 2016 Webinar SeriesGetting Started with Amazon Inspector - AWS June 2016 Webinar Series
Getting Started with Amazon Inspector - AWS June 2016 Webinar Series
 
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...
 
Secure SDLC for Software
Secure SDLC for Software Secure SDLC for Software
Secure SDLC for Software
 
Software Security Assurance for DevOps
Software Security Assurance for DevOpsSoftware Security Assurance for DevOps
Software Security Assurance for DevOps
 
DevSecOps 101
DevSecOps 101DevSecOps 101
DevSecOps 101
 
Practical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_Singapore
Practical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_SingaporePractical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_Singapore
Practical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_Singapore
 
Cybersecurity overview - Open source compliance seminar
Cybersecurity overview - Open source compliance seminarCybersecurity overview - Open source compliance seminar
Cybersecurity overview - Open source compliance seminar
 
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
 
Injecting simplicity not SQL RSA Europe 2010
Injecting simplicity not SQL RSA Europe 2010Injecting simplicity not SQL RSA Europe 2010
Injecting simplicity not SQL RSA Europe 2010
 
Create code confidence for better application security
Create code confidence for better application securityCreate code confidence for better application security
Create code confidence for better application security
 

Plus de Security BSides London

Your money, your media a DRMtastic (reverse|re) eng. tutorial
Your money, your media a DRMtastic (reverse|re) eng. tutorialYour money, your media a DRMtastic (reverse|re) eng. tutorial
Your money, your media a DRMtastic (reverse|re) eng. tutorialSecurity BSides London
 
You built a security castle and forgot the bridge…now users are climbing your...
You built a security castle and forgot the bridge…now users are climbing your...You built a security castle and forgot the bridge…now users are climbing your...
You built a security castle and forgot the bridge…now users are climbing your...Security BSides London
 
The Funny Thing About Information Security
The Funny Thing About Information SecurityThe Funny Thing About Information Security
The Funny Thing About Information SecuritySecurity BSides London
 
Practical Crypto Attacks Against Web Applications
Practical Crypto Attacks Against Web Applications Practical Crypto Attacks Against Web Applications
Practical Crypto Attacks Against Web Applications Security BSides London
 
Jedi mind tricks for building application security programs
Jedi mind tricks for building application security programsJedi mind tricks for building application security programs
Jedi mind tricks for building application security programsSecurity BSides London
 

Plus de Security BSides London (12)

Security YMCA
Security YMCASecurity YMCA
Security YMCA
 
Penetration testing must die
Penetration testing must diePenetration testing must die
Penetration testing must die
 
Your money, your media a DRMtastic (reverse|re) eng. tutorial
Your money, your media a DRMtastic (reverse|re) eng. tutorialYour money, your media a DRMtastic (reverse|re) eng. tutorial
Your money, your media a DRMtastic (reverse|re) eng. tutorial
 
You built a security castle and forgot the bridge…now users are climbing your...
You built a security castle and forgot the bridge…now users are climbing your...You built a security castle and forgot the bridge…now users are climbing your...
You built a security castle and forgot the bridge…now users are climbing your...
 
The Funny Thing About Information Security
The Funny Thing About Information SecurityThe Funny Thing About Information Security
The Funny Thing About Information Security
 
Breaking out of restricted RDP
Breaking out of restricted RDPBreaking out of restricted RDP
Breaking out of restricted RDP
 
Breaking, Entering and Pentesting
Breaking, Entering and Pentesting Breaking, Entering and Pentesting
Breaking, Entering and Pentesting
 
All your logs are belong to you!
All your logs are belong to you!All your logs are belong to you!
All your logs are belong to you!
 
Practical Crypto Attacks Against Web Applications
Practical Crypto Attacks Against Web Applications Practical Crypto Attacks Against Web Applications
Practical Crypto Attacks Against Web Applications
 
Jedi mind tricks for building application security programs
Jedi mind tricks for building application security programsJedi mind tricks for building application security programs
Jedi mind tricks for building application security programs
 
Dns tunnelling its all in the name
Dns tunnelling its all in the nameDns tunnelling its all in the name
Dns tunnelling its all in the name
 
Cloud computing due diligence WTF?
Cloud computing due diligence WTF?Cloud computing due diligence WTF?
Cloud computing due diligence WTF?
 

Dernier

[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 

Dernier (20)

[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 

Agnitio: its static analysis, but not as we know it

  • 1. David Rook Agnitio It’s static analysis, but not as we know it SecurityBSides, London
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.  
  • 10.  
  • 11.  
  • 12.  
  • 13.  
  • 14.  
  • 15.  
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23. Cross Site Scripting Injection Flaws Security Misconfiguration Information Leakage Race Condition Broken Authentication Session Management Cross Site Request Forgery Buffer Copy without Checking Size on Input Insecure Direct Object Reference Failure to Restrict URL Access Insecure Cryptographic Storage SQL Injection Content Spoofing Insufficient Authorisation Insufficient Authentication Abuse of Functionality Predictable Resource Location Unrestricted Upload of File with Dangerous Type Failure to Preserve SQL Query Structure Failure to Preserve Web Page Structure Failure to Preserve OS Command Structure URL Redirection to Untrusted Site Insufficient Transport Layer Protection Improper Limitation of a Pathname to a Restricted Directory Improper Control of Filename for Include/Require Statement in PHP Program Incorrect Permission Assignment for Critical Resource Download of Code Without Integrity Check Information Exposure Through an Error Message Reliance on Untrusted Inputs in a Security Decision Use of Hard-coded Credentials Buffer Access with Incorrect Length Value Improper Check for Unusual or Exceptional Conditions Use of a Broken or Risky Cryptographic Algorithm Missing Encryption of Sensitive Data Missing Authentication for Critical Function Integer Overflow or Wraparound Improper Validation of Array Index Incorrect Calculation of Buffer Size Unvalidated Redirects and Forwards Allocation of Resource Without Limits or Throttling Improper Access Control The principles of secure development
  • 24.
  • 25.
  • 26.
  • 27. Cross Site Scripting Injection Flaws Security Misconfiguration Information Leakage Race Condition Broken Authentication Session Management Cross Site Request Forgery Buffer Copy without Checking Size on Input Insecure Direct Object Reference Failure to Restrict URL Access Insecure Cryptographic Storage SQL Injection Content Spoofing Insufficient Authorisation Insufficient Authentication Abuse of Functionality Predictable Resource Location Unrestricted Upload of File with Dangerous Type Failure to Preserve SQL Query Structure Failure to Preserve Web Page Structure Failure to Preserve OS Command Structure URL Redirection to Untrusted Site Insufficient Transport Layer Protection Improper Limitation of a Pathname to a Restricted Directory Improper Control of Filename for Include/Require Statement in PHP Program Incorrect Permission Assignment for Critical Resource Download of Code Without Integrity Check Information Exposure Through an Error Message Reliance on Untrusted Inputs in a Security Decision Use of Hard-coded Credentials Buffer Access with Incorrect Length Value Improper Check for Unusual or Exceptional Conditions Use of a Broken or Risky Cryptographic Algorithm Missing Encryption of Sensitive Data Missing Authentication for Critical Function Integer Overflow or Wraparound Improper Validation of Array Index Incorrect Calculation of Buffer Size Unvalidated Redirects and Forwards Allocation of Resource Without Limits or Throttling Improper Access Control The principles of secure development Input Validation Output Validation Error Handling Authentication Authorisation Session Management Secure Communications Secure Storage Secure Resource Access Auditing and Logging
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38. Why did I develop Agnitio?
  • 39.
  • 40.
  • 42. My “shoot for the moon” vision for Agnitio “ we pretty much need a Burp Pro equivalent for Static Analysis – awesome, powerful in the right hands, and completely affordable!” http://www.securityninja.co.uk/application-security/can-you-implement-static-analysis-without-breaking-the-bank/comment-page-1#comment-9777
  • 43.
  • 44. www.securityninja.co.uk @securityninja QUESTIONS? /realexninja /securityninja /realexninja

Notes de l'éditeur

  1. Even the best tools can be "noisy" requiring manual intervention to identify "real"/useful flaws. High number of false positives is a guarantee with the automated static analysis tools The human reviewer can find vulnerabilities a piece of software can’t, specifically issues relating to business logic flaws and A+A. The human can analyse the findings instantly, in context and with a “real” opinion on the actual risk of the finding, Automated tools provide good coverage but fail to understand "context" and more subtle/complex bugs. Downside with manual ("human") reviews is that they rely on humans. Even the best humans get tired and make mistakes, you can only concentrate properly and review code for a short (relative to tools) period of time before they begin to be of little use. In my opinion a skilled/trained human reviewer is better than a tool but Manual reviews, automated reviews and DAST all find different issues and you should try to combine them all. No silver bullet! SmartBear Software conducted the largest study ever done on code review. It encompassed 2500 code reviews, 50 programmers, and 3.2 million lines of code at Cisco Systems.
  2. Even the best tools can be "noisy" requiring manual intervention to identify "real"/useful flaws. High number of false positives is a guarantee with the automated static analysis tools The human reviewer can find vulnerabilities a piece of software can’t, specifically issues relating to business logic flaws and A+A. The human can analyse the findings instantly, in context and with a “real” opinion on the actual risk of the finding, Automated tools provide good coverage but fail to understand "context" and more subtle/complex bugs. Downside with manual ("human") reviews is that they rely on humans. Even the best humans get tired and make mistakes, you can only concentrate properly and review code for a short (relative to tools) period of time before they begin to be of little use. In my opinion a skilled/trained human reviewer is better than a tool but Manual reviews, automated reviews and DAST all find different issues and you should try to combine them all. No silver bullet! SmartBear Software conducted the largest study ever done on code review. It encompassed 2500 code reviews, 50 programmers, and 3.2 million lines of code at Cisco Systems.
  3. Even the best tools can be "noisy" requiring manual intervention to identify "real"/useful flaws. High number of false positives is a guarantee with the automated static analysis tools The human reviewer can find vulnerabilities a piece of software can’t, specifically issues relating to business logic flaws and A+A. The human can analyse the findings instantly, in context and with a “real” opinion on the actual risk of the finding, Automated tools provide good coverage but fail to understand "context" and more subtle/complex bugs. Downside with manual ("human") reviews is that they rely on humans. Even the best humans get tired and make mistakes, you can only concentrate properly and review code for a short (relative to tools) period of time before they begin to be of little use. In my opinion a skilled/trained human reviewer is better than a tool but Manual reviews, automated reviews and DAST all find different issues and you should try to combine them all. No silver bullet! SmartBear Software conducted the largest study ever done on code review. It encompassed 2500 code reviews, 50 programmers, and 3.2 million lines of code at Cisco Systems.
  4. Tools don’t get tired and can review a lot of code in one go, it can be left to run for many hours, days without tiring and cover almost all of the code. They can help find issues earlier in the SDLC if ingrained in the development phase == lower fix cost but not necessarily lower total cost. If tools produce high amounts of false positives then finding the real issues might actually negate some of/all of the cost saving gained from introducing the tool into the development phase of the SDLC. Tools are expensive to buy, should never be used out of the box. Need to be configured to meet your own requirements - not a five minute job - tuning will takes months. As I mentioned on the previous slide - humans can find vulnerabilities that tools can’t. Tools can often lead to people having a false sense of security, no issues found by the tool != no issues in the code as we will see in the next few slides. Lots of factors involved in getting adoption/buy in. Things like false positive and negative rates, integration into the process, integration into IDE’s, making SA happen automatically, how do you review the issues found, figure out the bugs that matter. SmartBear Software conducted the largest study ever done on code review. It encompassed 2500 code reviews, 50 programmers, and 3.2 million lines of code at Cisco Systems.
  5. SQL Injection - FindBugs found it
  6. Same SQL Injection but not found by CodePro Analytix
  7. Path Manipulation flaw not found by FindBugs
  8. Same Path Manipulation flaw found by CodePro Analytix
  9. Reflected XSS not found by FindBugs or CodePro Analytix
  10. Reflected XSS when we use the username value in the “echo” found by RIPS. Storing the username and password in the clear not found by RIPS.
  11. Reflected XSS when we use the username value in the “echo” found by RIPS. Storing the username and password using hashing for the password without a salt not found by RIPS.
  12. Security code reviews - a magical mystery tour or a real process driven task? Ringo Starr recalled "Paul had a great piece of paper-just a blank piece of white paper with a circle on it. The plan was: 'We start here-and we’ve got to do something here...' We filled it in as we went along."
  13. Open source, hosted on Source Forge Over 4000 downloads from 80+ countries since November 2010 Agnitio is latin for : recognition, knowledge
  14. Even if your process is good it might not be smart