SlideShare a Scribd company logo
Detecting Security Vulnerabilities  in Web Applications Using Dynamic Analysis with Penetration Testing Andrew Petukhov [email_address] Department of Computer Science Moscow State University
Contents Input validation vulnerabilities. Detection techniques Drawbacks of the Taint Propagation approach Solving drawbacks of the Taint Propagation approach Implementing integrated Dynamic Analysis with Penetration Testing approach Conclusions and Future work
Input Validation Vulnerabilities Common approaches: Taint propagation Implemented in static analyzers and runtime protection systems Vulnerability Model: All data received via HTTP-requests is untrustworthy; All local data is trustworthy; Untrustworthy data can be made trustworthy by special kinds of processing; Untrustworthy data  should not  be used in sensitive operations: HTTP response construction, database queries, systems calls, eval statements, etc.
Input Validation Vulnerabilities Common approaches: Syntactic checking Implemented in static analyzers and runtime protection systems Vulnerability Model: Queries to external services (DBMS, OS interpreter, LDAP, etc.) usually have fixed syntactic structure; Input validation vulnerabilities render possible injection attacks, which alter the syntactic structure of queries; The syntactic structure of such queries  should not  depend on the user input.
Approaches-Do-Not-Work example Web application module A: Receive user data via HTTP request; Encode HTML special characters, escape SQL special characters; Store data in database table (ex. table A, column a). Web application module B: Retrieve data from column ‘a’ of table A; The data is returned unescaped and therefore SQL-tainted! Use this data in another database query. Here comes input validation vulnerability that allows second order SQL injection attack!
Drawbacks of the Taint Propagation approach Untyped data taintedness; Inability to handle sanitization performed by conditional branching: Trust to sanitization routines; Intra-module scope of view.
Possible solutions Introduce classes for data taintedness (xss, shell, sql, etc.). Solves drawback  № 1. Use Taint Propagation with Syntactic checking. Solves drawback  №2 . Use penetration testing for input generation for dynamic analysis or string analysis in static to validate sanitization routines. Solves drawback  № 3. Interconnect Data Flow Graphs built for separate modules using information about database interactions. Solves drawback  №4 .
Implementation considerations Implement as Static analyzer: Pro: Completeness Reason: if sound analysis says there are no vulnerabilities, it’s truth Contra: False positives  Reason: dynamic nature of scripting languages, undecidability of static analysis Implement as Dynamic analyzer with Penetration tester: Pro: Precise reporting  Reason: every single variable value could be observed Contra: Incompleteness  Reason: depends on the coverage of the test cases
Security and Development Life Cycle Design: Threat Modeling, Safe Technologies Implementation: Safe Coding Testing: Penetration Testing, Dynamic and Static analysis Operation: Web Application Firewalls, Runtime Protection, Sandboxing Assessment: Code Review, Static Analysis, Penetration Testing
Decision: Dynamic analysis with Pentesting Our Motivation We want the tool to: Aid in web application testing (or Assessment); Produce accurate results (no useless investigation); Utilize test cases used during the testing phase (in theory, these test cases are specially developed by testing staff to achieve good coverage); Require minimal configuration.  We do not require the tool to: Satisfy high performance requirements (this is not protection system, it’s not vital); Address coverage issues (operate only with the supplied test cases).
Implementation architecture Pentest module based on OWASP WebScarab Fuzz vectors – OWASP Fuzzing Codebase Dynamic analysis – instrumented Python 2.4.4
Conclusions We have defined several drawbacks of the existing input validation vulnerabilities detection approaches; We have pointed out possible solutions to each of the stated drawbacks; We have extended the formal Tainted Mode model to incorporate inter-module data flows; We have developed an automated tool that detects input validation vulnerabilities using dynamic analysis and penetration testing.
Future work Perform extensive evaluation Currently, we have tested our approach on the four vulnerable web applications, successfully detecting already known vulnerabilities; Evaluate our approach against more web applications; Assess each web application with penetration testing tool, dynamic analysis tool and integrated tool, then compare the results; Assess TCO of the developed tool. Address the initial phase: automated preparation of the input test cases, integration with code coverage analysis tool.
Thank You!  Any question?

More Related Content

PDF
Bugs as Deviant Behavior: A General Approach to Inferring Errors in Systems Code
PDF
Tc Checklist
PPTX
Penetration testing
PDF
Testcase Preparation Checklist
PPTX
Fundamentals of Software Engineering
DOCX
JPJ1425 Security Evaluation of Pattern Classifiers under Attack
DOC
Security evaluation of pattern classifiers under attack
DOCX
Security evaluation of pattern classifiers under attack
Bugs as Deviant Behavior: A General Approach to Inferring Errors in Systems Code
Tc Checklist
Penetration testing
Testcase Preparation Checklist
Fundamentals of Software Engineering
JPJ1425 Security Evaluation of Pattern Classifiers under Attack
Security evaluation of pattern classifiers under attack
Security evaluation of pattern classifiers under attack

What's hot (20)

PDF
Tool support for..
PPTX
Fundamentals of Software Engineering
PPTX
Black boxtestingmethodsforsoftwarecomponents
DOCX
CST 630 RANK Redefined Education--cst630rank.com
PDF
CST 630 RANK Introduction Education--cst630rank.com
DOCX
CST 630 RANK Educational Specialist--cst630rank.com
DOCX
CST 630 RANK Inspiring Innovation--cst630rank.com
PDF
CST 630 RANK Become Exceptional--cst630rank.com
PDF
CST 630 RANK Remember Education--cst630rank.com
DOCX
CST 630 RANK Achievement Education--cst630rank.com
PDF
04 test controlling and tracking
TXT
Levels of testing
PPTX
INGI2252 Software Measures & Maintenance
PPTX
Odin2018_Minh_ML_Risk_Prediction
PDF
Automated Inference of Access Control Policies for Web Applications
PDF
Cyber intrusion analyst occupational brief
DOCX
IEEE 2014 JAVA DATA MINING PROJECTS Security evaluation of pattern classifier...
DOCX
security evaluation of pattern classifiers under attack
PDF
Comparative of risk analysis methodologies
PDF
TMPA-2015: Towards a Usable Defect Prediction Tool: Crossbreeding Machine Lea...
Tool support for..
Fundamentals of Software Engineering
Black boxtestingmethodsforsoftwarecomponents
CST 630 RANK Redefined Education--cst630rank.com
CST 630 RANK Introduction Education--cst630rank.com
CST 630 RANK Educational Specialist--cst630rank.com
CST 630 RANK Inspiring Innovation--cst630rank.com
CST 630 RANK Become Exceptional--cst630rank.com
CST 630 RANK Remember Education--cst630rank.com
CST 630 RANK Achievement Education--cst630rank.com
04 test controlling and tracking
Levels of testing
INGI2252 Software Measures & Maintenance
Odin2018_Minh_ML_Risk_Prediction
Automated Inference of Access Control Policies for Web Applications
Cyber intrusion analyst occupational brief
IEEE 2014 JAVA DATA MINING PROJECTS Security evaluation of pattern classifier...
security evaluation of pattern classifiers under attack
Comparative of risk analysis methodologies
TMPA-2015: Towards a Usable Defect Prediction Tool: Crossbreeding Machine Lea...
Ad

Viewers also liked (20)

ODP
OWASP 2013 APPSEC USA ZAP Hackathon
PPTX
The System of Automatic Searching for Vulnerabilities or how to use Taint Ana...
PDF
Taint analysis
PPT
XSS Primer - Noob to Pro in 1 hour
DOC
Analysis of field data on web security vulnerabilities
PPT
Identifying Cross Site Scripting Vulnerabilities in Web Applications
PDF
Армия освобождения домохозяек: структура, состав вооружений, методы коммуникации
PPTX
C Overflows Vulnerabilities Exploit Taxonomy And Evaluation on Static Analysi...
PPTX
Analysis of Field Data on Web Security Vulnerabilities
PDF
A Study on Dynamic Detection of Web Application Vulnerabilities
PDF
2012 04 Analysis Techniques for Mobile OS Security
PPTX
Managing Open Source in Application Security and Software Development Lifecycle
PPTX
Application Security Architecture and Threat Modelling
PPTX
WEB APPLICATION VULNERABILITIES: DAWN, DETECTION, EXPLOITATION AND DEFENSE
KEY
No locked doors, no windows barred: hacking OpenAM infrastructure
PDF
CODE BLUE 2016 - Method of Detecting Vulnerability in Web Apps
PPTX
Attributes based encryption with verifiable outsourced decryption
PPTX
Static Analysis Security Testing for Dummies... and You
PPT
data mining for security application
PPT
Technology buffet for new teachers march 2012
OWASP 2013 APPSEC USA ZAP Hackathon
The System of Automatic Searching for Vulnerabilities or how to use Taint Ana...
Taint analysis
XSS Primer - Noob to Pro in 1 hour
Analysis of field data on web security vulnerabilities
Identifying Cross Site Scripting Vulnerabilities in Web Applications
Армия освобождения домохозяек: структура, состав вооружений, методы коммуникации
C Overflows Vulnerabilities Exploit Taxonomy And Evaluation on Static Analysi...
Analysis of Field Data on Web Security Vulnerabilities
A Study on Dynamic Detection of Web Application Vulnerabilities
2012 04 Analysis Techniques for Mobile OS Security
Managing Open Source in Application Security and Software Development Lifecycle
Application Security Architecture and Threat Modelling
WEB APPLICATION VULNERABILITIES: DAWN, DETECTION, EXPLOITATION AND DEFENSE
No locked doors, no windows barred: hacking OpenAM infrastructure
CODE BLUE 2016 - Method of Detecting Vulnerability in Web Apps
Attributes based encryption with verifiable outsourced decryption
Static Analysis Security Testing for Dummies... and You
data mining for security application
Technology buffet for new teachers march 2012
Ad

Similar to Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis with Penetration Testing (20)

PDF
Web Application Protection
PDF
Static Analysis Techniques For Testing Application Security - Houston Tech Fest
PDF
Secure Programming With Static Analysis
PPTX
Security testing
PPT
Security Testing
PDF
Application Assessment Techniques
PPT
CohenNancyPresentation.ppt
PPTX
Preventing In-Browser Malicious Code Execution
PDF
Comparing DOM XSS Tools On Real World Bug
PDF
Automated server-side model for recognition of security vulnerabilities in sc...
PDF
6. Security Assessment and Testing
PDF
Mining SQL Injection and Cross Site Scripting Vulnerabilities using Hybrid Pr...
PPT
BSidesDC 2016 Beyond Automated Testing
PPTX
Vulnerability assessment and penetration testing
DOC
Vulnerability Assessment LITERATURE REVIEW. doc
PDF
CISSP Prep: Ch 7. Security Assessment and Testing
PDF
CNIT 125 7. Security Assessment and Testing
PDF
Routine Detection Of Web Application Defence Flaws
PPTX
Definitive Security Testing Checklist Shielding Your Applications against Cyb...
DOC
Semi-Automated Security Testing of Web applications
Web Application Protection
Static Analysis Techniques For Testing Application Security - Houston Tech Fest
Secure Programming With Static Analysis
Security testing
Security Testing
Application Assessment Techniques
CohenNancyPresentation.ppt
Preventing In-Browser Malicious Code Execution
Comparing DOM XSS Tools On Real World Bug
Automated server-side model for recognition of security vulnerabilities in sc...
6. Security Assessment and Testing
Mining SQL Injection and Cross Site Scripting Vulnerabilities using Hybrid Pr...
BSidesDC 2016 Beyond Automated Testing
Vulnerability assessment and penetration testing
Vulnerability Assessment LITERATURE REVIEW. doc
CISSP Prep: Ch 7. Security Assessment and Testing
CNIT 125 7. Security Assessment and Testing
Routine Detection Of Web Application Defence Flaws
Definitive Security Testing Checklist Shielding Your Applications against Cyb...
Semi-Automated Security Testing of Web applications

More from Andrew Petukhov (8)

PPTX
You Can Be Anything You Want to Be: Breaking Through Certified Crypto in Bank...
PDF
Обнаружение уязвимостей логики приложений методом статического анализа. Где п...
KEY
Безопасность веб-приложений: starter edition
KEY
Обеспечение безопасности расширений в корпоративных информационных системах
PDF
Detecting Insufficient Access Control in Web Applications
PPT
Benchmark сканеров SQL injection
PDF
Обнаружение уязвимостей в механизме авторизации веб-приложении
PPT
Access Control Rules Tester
You Can Be Anything You Want to Be: Breaking Through Certified Crypto in Bank...
Обнаружение уязвимостей логики приложений методом статического анализа. Где п...
Безопасность веб-приложений: starter edition
Обеспечение безопасности расширений в корпоративных информационных системах
Detecting Insufficient Access Control in Web Applications
Benchmark сканеров SQL injection
Обнаружение уязвимостей в механизме авторизации веб-приложении
Access Control Rules Tester

Recently uploaded (20)

PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Approach and Philosophy of On baking technology
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Encapsulation theory and applications.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Empathic Computing: Creating Shared Understanding
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPT
Teaching material agriculture food technology
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
NewMind AI Monthly Chronicles - July 2025
Network Security Unit 5.pdf for BCA BBA.
Approach and Philosophy of On baking technology
Spectral efficient network and resource selection model in 5G networks
Encapsulation theory and applications.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
The AUB Centre for AI in Media Proposal.docx
Understanding_Digital_Forensics_Presentation.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
Empathic Computing: Creating Shared Understanding
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Teaching material agriculture food technology
“AI and Expert System Decision Support & Business Intelligence Systems”

Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis with Penetration Testing

  • 1. Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis with Penetration Testing Andrew Petukhov [email_address] Department of Computer Science Moscow State University
  • 2. Contents Input validation vulnerabilities. Detection techniques Drawbacks of the Taint Propagation approach Solving drawbacks of the Taint Propagation approach Implementing integrated Dynamic Analysis with Penetration Testing approach Conclusions and Future work
  • 3. Input Validation Vulnerabilities Common approaches: Taint propagation Implemented in static analyzers and runtime protection systems Vulnerability Model: All data received via HTTP-requests is untrustworthy; All local data is trustworthy; Untrustworthy data can be made trustworthy by special kinds of processing; Untrustworthy data should not be used in sensitive operations: HTTP response construction, database queries, systems calls, eval statements, etc.
  • 4. Input Validation Vulnerabilities Common approaches: Syntactic checking Implemented in static analyzers and runtime protection systems Vulnerability Model: Queries to external services (DBMS, OS interpreter, LDAP, etc.) usually have fixed syntactic structure; Input validation vulnerabilities render possible injection attacks, which alter the syntactic structure of queries; The syntactic structure of such queries should not depend on the user input.
  • 5. Approaches-Do-Not-Work example Web application module A: Receive user data via HTTP request; Encode HTML special characters, escape SQL special characters; Store data in database table (ex. table A, column a). Web application module B: Retrieve data from column ‘a’ of table A; The data is returned unescaped and therefore SQL-tainted! Use this data in another database query. Here comes input validation vulnerability that allows second order SQL injection attack!
  • 6. Drawbacks of the Taint Propagation approach Untyped data taintedness; Inability to handle sanitization performed by conditional branching: Trust to sanitization routines; Intra-module scope of view.
  • 7. Possible solutions Introduce classes for data taintedness (xss, shell, sql, etc.). Solves drawback № 1. Use Taint Propagation with Syntactic checking. Solves drawback №2 . Use penetration testing for input generation for dynamic analysis or string analysis in static to validate sanitization routines. Solves drawback № 3. Interconnect Data Flow Graphs built for separate modules using information about database interactions. Solves drawback №4 .
  • 8. Implementation considerations Implement as Static analyzer: Pro: Completeness Reason: if sound analysis says there are no vulnerabilities, it’s truth Contra: False positives Reason: dynamic nature of scripting languages, undecidability of static analysis Implement as Dynamic analyzer with Penetration tester: Pro: Precise reporting Reason: every single variable value could be observed Contra: Incompleteness Reason: depends on the coverage of the test cases
  • 9. Security and Development Life Cycle Design: Threat Modeling, Safe Technologies Implementation: Safe Coding Testing: Penetration Testing, Dynamic and Static analysis Operation: Web Application Firewalls, Runtime Protection, Sandboxing Assessment: Code Review, Static Analysis, Penetration Testing
  • 10. Decision: Dynamic analysis with Pentesting Our Motivation We want the tool to: Aid in web application testing (or Assessment); Produce accurate results (no useless investigation); Utilize test cases used during the testing phase (in theory, these test cases are specially developed by testing staff to achieve good coverage); Require minimal configuration. We do not require the tool to: Satisfy high performance requirements (this is not protection system, it’s not vital); Address coverage issues (operate only with the supplied test cases).
  • 11. Implementation architecture Pentest module based on OWASP WebScarab Fuzz vectors – OWASP Fuzzing Codebase Dynamic analysis – instrumented Python 2.4.4
  • 12. Conclusions We have defined several drawbacks of the existing input validation vulnerabilities detection approaches; We have pointed out possible solutions to each of the stated drawbacks; We have extended the formal Tainted Mode model to incorporate inter-module data flows; We have developed an automated tool that detects input validation vulnerabilities using dynamic analysis and penetration testing.
  • 13. Future work Perform extensive evaluation Currently, we have tested our approach on the four vulnerable web applications, successfully detecting already known vulnerabilities; Evaluate our approach against more web applications; Assess each web application with penetration testing tool, dynamic analysis tool and integrated tool, then compare the results; Assess TCO of the developed tool. Address the initial phase: automated preparation of the input test cases, integration with code coverage analysis tool.
  • 14. Thank You! Any question?