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
NSA and PT
PPT
Beyond Static Analysis: Integrating .NET Static Analysis with Unit Testing a...
ODP
Software Risk Analysis
PDF
Nessus Assesment Vulnerability Management.pdf
PPT
CohenNancyPresentation.ppt
PPT
testing
DOCX
Model based vulnerability testing report
PDF
A web application detecting dos attack using mca and tam
PPT
Chapter 3 SOFTWARE TESTING PROCESS
PPT
Chapter 8 - Software Testing.ppt
PDF
Information hiding based on optimization technique for Encrypted Images
PPTX
A Brief Introduction to Penetration Testing
PDF
The Art of Penetration Testing in Cybersecurity.
PDF
Is Your Business Safe from Cyber Threats? VAPT Can Help!
PDF
Reliability Improvement with PSP of Web-Based Software Applications
PDF
Infrastructure & Network Vulnerability Assessment and Penetration Testing
PPTX
Testing Throughout the Software Life Cycle - Section 2
PPT
Testing and Mocking Object - The Art of Mocking.
PPTX
Penetration testing dont just leave it to chance
PPTX
Vulnerability assessment & Penetration testing Basics
NSA and PT
Beyond Static Analysis: Integrating .NET Static Analysis with Unit Testing a...
Software Risk Analysis
Nessus Assesment Vulnerability Management.pdf
CohenNancyPresentation.ppt
testing
Model based vulnerability testing report
A web application detecting dos attack using mca and tam
Chapter 3 SOFTWARE TESTING PROCESS
Chapter 8 - Software Testing.ppt
Information hiding based on optimization technique for Encrypted Images
A Brief Introduction to Penetration Testing
The Art of Penetration Testing in Cybersecurity.
Is Your Business Safe from Cyber Threats? VAPT Can Help!
Reliability Improvement with PSP of Web-Based Software Applications
Infrastructure & Network Vulnerability Assessment and Penetration Testing
Testing Throughout the Software Life Cycle - Section 2
Testing and Mocking Object - The Art of Mocking.
Penetration testing dont just leave it to chance
Vulnerability assessment & Penetration testing Basics

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
Modernising the Digital Integration Hub
PPTX
The various Industrial Revolutions .pptx
PPTX
GROUP4NURSINGINFORMATICSREPORT-2 PRESENTATION
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
Flame analysis and combustion estimation using large language and vision assi...
PPTX
Microsoft Excel 365/2024 Beginner's training
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PDF
Consumable AI The What, Why & How for Small Teams.pdf
PPT
Module 1.ppt Iot fundamentals and Architecture
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PDF
A proposed approach for plagiarism detection in Myanmar Unicode text
PDF
CloudStack 4.21: First Look Webinar slides
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PDF
Credit Without Borders: AI and Financial Inclusion in Bangladesh
PDF
Architecture types and enterprise applications.pdf
PDF
Improvisation in detection of pomegranate leaf disease using transfer learni...
PPTX
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
PPTX
TEXTILE technology diploma scope and career opportunities
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
Modernising the Digital Integration Hub
The various Industrial Revolutions .pptx
GROUP4NURSINGINFORMATICSREPORT-2 PRESENTATION
Getting started with AI Agents and Multi-Agent Systems
Flame analysis and combustion estimation using large language and vision assi...
Microsoft Excel 365/2024 Beginner's training
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
Consumable AI The What, Why & How for Small Teams.pdf
Module 1.ppt Iot fundamentals and Architecture
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
A proposed approach for plagiarism detection in Myanmar Unicode text
CloudStack 4.21: First Look Webinar slides
Taming the Chaos: How to Turn Unstructured Data into Decisions
Convolutional neural network based encoder-decoder for efficient real-time ob...
Credit Without Borders: AI and Financial Inclusion in Bangladesh
Architecture types and enterprise applications.pdf
Improvisation in detection of pomegranate leaf disease using transfer learni...
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
TEXTILE technology diploma scope and career opportunities
A contest of sentiment analysis: k-nearest neighbor versus neural network

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?