SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

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
 

What's hot (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
 

Similar to 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 TestingHari 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 testingHarinath 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
 

Similar to 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
 

More from 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
 

More from 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?
 

Recently uploaded

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 

Recently uploaded (20)

Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 

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

Editor's Notes

  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