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?
Ad

Recommended

Bugs as Deviant Behavior: A General Approach to Inferring Errors in Systems Code
Bugs as Deviant Behavior: A General Approach to Inferring Errors in Systems Code
Miro Cupak
 
Tc Checklist
Tc Checklist
nazeer pasha
 
Penetration testing
Penetration testing
Nameen Singh
 
Testcase Preparation Checklist
Testcase Preparation Checklist
Sreeram Kishore Chavali
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering
Madhar Khan Pathan
 
JPJ1425 Security Evaluation of Pattern Classifiers under Attack
JPJ1425 Security Evaluation of Pattern Classifiers under Attack
chennaijp
 
Security evaluation of pattern classifiers under attack
Security evaluation of pattern classifiers under attack
Papitha Velumani
 
Security evaluation of pattern classifiers under attack
Security evaluation of pattern classifiers under attack
Shakas Technologies
 
Tool support for..
Tool support for..
Johnsonstephen Jsstc
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering
Madhar Khan Pathan
 
Black boxtestingmethodsforsoftwarecomponents
Black boxtestingmethodsforsoftwarecomponents
Astrid yolanda
 
CST 630 RANK Redefined Education--cst630rank.com
CST 630 RANK Redefined Education--cst630rank.com
claric241
 
CST 630 RANK Introduction Education--cst630rank.com
CST 630 RANK Introduction Education--cst630rank.com
agathachristie266
 
CST 630 RANK Educational Specialist--cst630rank.com
CST 630 RANK Educational Specialist--cst630rank.com
VSNaipaul15
 
CST 630 RANK Inspiring Innovation--cst630rank.com
CST 630 RANK Inspiring Innovation--cst630rank.com
KeatonJennings104
 
CST 630 RANK Become Exceptional--cst630rank.com
CST 630 RANK Become Exceptional--cst630rank.com
agathachristie113
 
CST 630 RANK Remember Education--cst630rank.com
CST 630 RANK Remember Education--cst630rank.com
chrysanthemu49
 
CST 630 RANK Achievement Education--cst630rank.com
CST 630 RANK Achievement Education--cst630rank.com
kopiko147
 
04 test controlling and tracking
04 test controlling and tracking
Clemens Reijnen
 
Levels of testing
Levels of testing
Ranjeet Singh
 
INGI2252 Software Measures & Maintenance
INGI2252 Software Measures & Maintenance
kim.mens
 
Odin2018_Minh_ML_Risk_Prediction
Odin2018_Minh_ML_Risk_Prediction
Minh Nguyen
 
Automated Inference of Access Control Policies for Web Applications
Automated Inference of Access Control Policies for Web Applications
Lionel Briand
 
Cyber intrusion analyst occupational brief
Cyber intrusion analyst occupational brief
Enda Crossan
 
IEEE 2014 JAVA DATA MINING PROJECTS Security evaluation of pattern classifier...
IEEE 2014 JAVA DATA MINING PROJECTS Security evaluation of pattern classifier...
IEEEFINALYEARSTUDENTPROJECTS
 
security evaluation of pattern classifiers under attack
security evaluation of pattern classifiers under attack
swathi78
 
Comparative of risk analysis methodologies
Comparative of risk analysis methodologies
Ramiro Cid
 
TMPA-2015: Towards a Usable Defect Prediction Tool: Crossbreeding Machine Lea...
TMPA-2015: Towards a Usable Defect Prediction Tool: Crossbreeding Machine Lea...
Iosif Itkin
 
OWASP 2013 APPSEC USA ZAP Hackathon
OWASP 2013 APPSEC USA ZAP Hackathon
Simon Bennetts
 
The System of Automatic Searching for Vulnerabilities or how to use Taint Ana...
The System of Automatic Searching for Vulnerabilities or how to use Taint Ana...
Positive Hack Days
 

More Related Content

What's hot (20)

Tool support for..
Tool support for..
Johnsonstephen Jsstc
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering
Madhar Khan Pathan
 
Black boxtestingmethodsforsoftwarecomponents
Black boxtestingmethodsforsoftwarecomponents
Astrid yolanda
 
CST 630 RANK Redefined Education--cst630rank.com
CST 630 RANK Redefined Education--cst630rank.com
claric241
 
CST 630 RANK Introduction Education--cst630rank.com
CST 630 RANK Introduction Education--cst630rank.com
agathachristie266
 
CST 630 RANK Educational Specialist--cst630rank.com
CST 630 RANK Educational Specialist--cst630rank.com
VSNaipaul15
 
CST 630 RANK Inspiring Innovation--cst630rank.com
CST 630 RANK Inspiring Innovation--cst630rank.com
KeatonJennings104
 
CST 630 RANK Become Exceptional--cst630rank.com
CST 630 RANK Become Exceptional--cst630rank.com
agathachristie113
 
CST 630 RANK Remember Education--cst630rank.com
CST 630 RANK Remember Education--cst630rank.com
chrysanthemu49
 
CST 630 RANK Achievement Education--cst630rank.com
CST 630 RANK Achievement Education--cst630rank.com
kopiko147
 
04 test controlling and tracking
04 test controlling and tracking
Clemens Reijnen
 
Levels of testing
Levels of testing
Ranjeet Singh
 
INGI2252 Software Measures & Maintenance
INGI2252 Software Measures & Maintenance
kim.mens
 
Odin2018_Minh_ML_Risk_Prediction
Odin2018_Minh_ML_Risk_Prediction
Minh Nguyen
 
Automated Inference of Access Control Policies for Web Applications
Automated Inference of Access Control Policies for Web Applications
Lionel Briand
 
Cyber intrusion analyst occupational brief
Cyber intrusion analyst occupational brief
Enda Crossan
 
IEEE 2014 JAVA DATA MINING PROJECTS Security evaluation of pattern classifier...
IEEE 2014 JAVA DATA MINING PROJECTS Security evaluation of pattern classifier...
IEEEFINALYEARSTUDENTPROJECTS
 
security evaluation of pattern classifiers under attack
security evaluation of pattern classifiers under attack
swathi78
 
Comparative of risk analysis methodologies
Comparative of risk analysis methodologies
Ramiro Cid
 
TMPA-2015: Towards a Usable Defect Prediction Tool: Crossbreeding Machine Lea...
TMPA-2015: Towards a Usable Defect Prediction Tool: Crossbreeding Machine Lea...
Iosif Itkin
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering
Madhar Khan Pathan
 
Black boxtestingmethodsforsoftwarecomponents
Black boxtestingmethodsforsoftwarecomponents
Astrid yolanda
 
CST 630 RANK Redefined Education--cst630rank.com
CST 630 RANK Redefined Education--cst630rank.com
claric241
 
CST 630 RANK Introduction Education--cst630rank.com
CST 630 RANK Introduction Education--cst630rank.com
agathachristie266
 
CST 630 RANK Educational Specialist--cst630rank.com
CST 630 RANK Educational Specialist--cst630rank.com
VSNaipaul15
 
CST 630 RANK Inspiring Innovation--cst630rank.com
CST 630 RANK Inspiring Innovation--cst630rank.com
KeatonJennings104
 
CST 630 RANK Become Exceptional--cst630rank.com
CST 630 RANK Become Exceptional--cst630rank.com
agathachristie113
 
CST 630 RANK Remember Education--cst630rank.com
CST 630 RANK Remember Education--cst630rank.com
chrysanthemu49
 
CST 630 RANK Achievement Education--cst630rank.com
CST 630 RANK Achievement Education--cst630rank.com
kopiko147
 
04 test controlling and tracking
04 test controlling and tracking
Clemens Reijnen
 
INGI2252 Software Measures & Maintenance
INGI2252 Software Measures & Maintenance
kim.mens
 
Odin2018_Minh_ML_Risk_Prediction
Odin2018_Minh_ML_Risk_Prediction
Minh Nguyen
 
Automated Inference of Access Control Policies for Web Applications
Automated Inference of Access Control Policies for Web Applications
Lionel Briand
 
Cyber intrusion analyst occupational brief
Cyber intrusion analyst occupational brief
Enda Crossan
 
IEEE 2014 JAVA DATA MINING PROJECTS Security evaluation of pattern classifier...
IEEE 2014 JAVA DATA MINING PROJECTS Security evaluation of pattern classifier...
IEEEFINALYEARSTUDENTPROJECTS
 
security evaluation of pattern classifiers under attack
security evaluation of pattern classifiers under attack
swathi78
 
Comparative of risk analysis methodologies
Comparative of risk analysis methodologies
Ramiro Cid
 
TMPA-2015: Towards a Usable Defect Prediction Tool: Crossbreeding Machine Lea...
TMPA-2015: Towards a Usable Defect Prediction Tool: Crossbreeding Machine Lea...
Iosif Itkin
 

Viewers also liked (20)

OWASP 2013 APPSEC USA ZAP Hackathon
OWASP 2013 APPSEC USA ZAP Hackathon
Simon Bennetts
 
The System of Automatic Searching for Vulnerabilities or how to use Taint Ana...
The System of Automatic Searching for Vulnerabilities or how to use Taint Ana...
Positive Hack Days
 
Taint analysis
Taint analysis
Edgar Barbosa
 
XSS Primer - Noob to Pro in 1 hour
XSS Primer - Noob to Pro in 1 hour
snoopythesecuritydog
 
Analysis of field data on web security vulnerabilities
Analysis of field data on web security vulnerabilities
Papitha Velumani
 
Identifying Cross Site Scripting Vulnerabilities in Web Applications
Identifying Cross Site Scripting Vulnerabilities in Web Applications
Porfirio Tramontana
 
Армия освобождения домохозяек: структура, состав вооружений, методы коммуникации
Армия освобождения домохозяек: структура, состав вооружений, методы коммуникации
Andrew Petukhov
 
C Overflows Vulnerabilities Exploit Taxonomy And Evaluation on Static Analysi...
C Overflows Vulnerabilities Exploit Taxonomy And Evaluation on Static Analysi...
Nurul Haszeli Ahmad
 
Analysis of Field Data on Web Security Vulnerabilities
Analysis of Field Data on Web Security Vulnerabilities
KaashivInfoTech Company
 
A Study on Dynamic Detection of Web Application Vulnerabilities
A Study on Dynamic Detection of Web Application Vulnerabilities
Yuji Kosuga
 
2012 04 Analysis Techniques for Mobile OS Security
2012 04 Analysis Techniques for Mobile OS Security
Raleigh ISSA
 
Managing Open Source in Application Security and Software Development Lifecycle
Managing Open Source in Application Security and Software Development Lifecycle
Black Duck by Synopsys
 
Application Security Architecture and Threat Modelling
Application Security Architecture and Threat Modelling
Priyanka Aash
 
WEB APPLICATION VULNERABILITIES: DAWN, DETECTION, EXPLOITATION AND DEFENSE
WEB APPLICATION VULNERABILITIES: DAWN, DETECTION, EXPLOITATION AND DEFENSE
Ajith Kp
 
No locked doors, no windows barred: hacking OpenAM infrastructure
No locked doors, no windows barred: hacking OpenAM infrastructure
Andrew Petukhov
 
CODE BLUE 2016 - Method of Detecting Vulnerability in Web Apps
CODE BLUE 2016 - Method of Detecting Vulnerability in Web Apps
Isao Takaesu
 
Attributes based encryption with verifiable outsourced decryption
Attributes based encryption with verifiable outsourced decryption
KaashivInfoTech Company
 
Static Analysis Security Testing for Dummies... and You
Static Analysis Security Testing for Dummies... and You
Kevin Fealey
 
data mining for security application
data mining for security application
bharatsvnit
 
Technology buffet for new teachers march 2012
Technology buffet for new teachers march 2012
Karen Brooks
 
OWASP 2013 APPSEC USA ZAP Hackathon
OWASP 2013 APPSEC USA ZAP Hackathon
Simon Bennetts
 
The System of Automatic Searching for Vulnerabilities or how to use Taint Ana...
The System of Automatic Searching for Vulnerabilities or how to use Taint Ana...
Positive Hack Days
 
XSS Primer - Noob to Pro in 1 hour
XSS Primer - Noob to Pro in 1 hour
snoopythesecuritydog
 
Analysis of field data on web security vulnerabilities
Analysis of field data on web security vulnerabilities
Papitha Velumani
 
Identifying Cross Site Scripting Vulnerabilities in Web Applications
Identifying Cross Site Scripting Vulnerabilities in Web Applications
Porfirio Tramontana
 
Армия освобождения домохозяек: структура, состав вооружений, методы коммуникации
Армия освобождения домохозяек: структура, состав вооружений, методы коммуникации
Andrew Petukhov
 
C Overflows Vulnerabilities Exploit Taxonomy And Evaluation on Static Analysi...
C Overflows Vulnerabilities Exploit Taxonomy And Evaluation on Static Analysi...
Nurul Haszeli Ahmad
 
Analysis of Field Data on Web Security Vulnerabilities
Analysis of Field Data on Web Security Vulnerabilities
KaashivInfoTech Company
 
A Study on Dynamic Detection of Web Application Vulnerabilities
A Study on Dynamic Detection of Web Application Vulnerabilities
Yuji Kosuga
 
2012 04 Analysis Techniques for Mobile OS Security
2012 04 Analysis Techniques for Mobile OS Security
Raleigh ISSA
 
Managing Open Source in Application Security and Software Development Lifecycle
Managing Open Source in Application Security and Software Development Lifecycle
Black Duck by Synopsys
 
Application Security Architecture and Threat Modelling
Application Security Architecture and Threat Modelling
Priyanka Aash
 
WEB APPLICATION VULNERABILITIES: DAWN, DETECTION, EXPLOITATION AND DEFENSE
WEB APPLICATION VULNERABILITIES: DAWN, DETECTION, EXPLOITATION AND DEFENSE
Ajith Kp
 
No locked doors, no windows barred: hacking OpenAM infrastructure
No locked doors, no windows barred: hacking OpenAM infrastructure
Andrew Petukhov
 
CODE BLUE 2016 - Method of Detecting Vulnerability in Web Apps
CODE BLUE 2016 - Method of Detecting Vulnerability in Web Apps
Isao Takaesu
 
Attributes based encryption with verifiable outsourced decryption
Attributes based encryption with verifiable outsourced decryption
KaashivInfoTech Company
 
Static Analysis Security Testing for Dummies... and You
Static Analysis Security Testing for Dummies... and You
Kevin Fealey
 
data mining for security application
data mining for security application
bharatsvnit
 
Technology buffet for new teachers march 2012
Technology buffet for new teachers march 2012
Karen Brooks
 
Ad

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

NSA and PT
NSA and PT
Rahmat Suhatman
 
Beyond Static Analysis: Integrating .NET Static Analysis with Unit Testing a...
Beyond Static Analysis: Integrating .NET Static Analysis with Unit Testing a...
Erika Barron
 
Software Risk Analysis
Software Risk Analysis
Brett Leonard
 
Nessus Assesment Vulnerability Management.pdf
Nessus Assesment Vulnerability Management.pdf
surajpatil318663
 
CohenNancyPresentation.ppt
CohenNancyPresentation.ppt
mypc72
 
testing
testing
Rashmi Deoli
 
Model based vulnerability testing report
Model based vulnerability testing report
Kupili Archana
 
A web application detecting dos attack using mca and tam
A web application detecting dos attack using mca and tam
eSAT Journals
 
Chapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESS
st. michael
 
Chapter 8 - Software Testing.ppt
Chapter 8 - Software Testing.ppt
GentaSahuri2
 
Information hiding based on optimization technique for Encrypted Images
Information hiding based on optimization technique for Encrypted Images
IRJET Journal
 
A Brief Introduction to Penetration Testing
A Brief Introduction to Penetration Testing
EC-Council
 
The Art of Penetration Testing in Cybersecurity.
The Art of Penetration Testing in Cybersecurity.
Expeed Software
 
Is Your Business Safe from Cyber Threats? VAPT Can Help!
Is Your Business Safe from Cyber Threats? VAPT Can Help!
ESDS Software Solution Limited
 
Reliability Improvement with PSP of Web-Based Software Applications
Reliability Improvement with PSP of Web-Based Software Applications
CSEIJJournal
 
Infrastructure & Network Vulnerability Assessment and Penetration Testing
Infrastructure & Network Vulnerability Assessment and Penetration Testing
ElanusTechnologies
 
Testing Throughout the Software Life Cycle - Section 2
Testing Throughout the Software Life Cycle - Section 2
International Personal Finance Plc
 
Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.
Deepak Singhvi
 
Penetration testing dont just leave it to chance
Penetration testing dont just leave it to chance
Dr. Anish Cheriyan (PhD)
 
Vulnerability assessment & Penetration testing Basics
Vulnerability assessment & Penetration testing Basics
Mohammed Adam
 
Beyond Static Analysis: Integrating .NET Static Analysis with Unit Testing a...
Beyond Static Analysis: Integrating .NET Static Analysis with Unit Testing a...
Erika Barron
 
Software Risk Analysis
Software Risk Analysis
Brett Leonard
 
Nessus Assesment Vulnerability Management.pdf
Nessus Assesment Vulnerability Management.pdf
surajpatil318663
 
CohenNancyPresentation.ppt
CohenNancyPresentation.ppt
mypc72
 
Model based vulnerability testing report
Model based vulnerability testing report
Kupili Archana
 
A web application detecting dos attack using mca and tam
A web application detecting dos attack using mca and tam
eSAT Journals
 
Chapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESS
st. michael
 
Chapter 8 - Software Testing.ppt
Chapter 8 - Software Testing.ppt
GentaSahuri2
 
Information hiding based on optimization technique for Encrypted Images
Information hiding based on optimization technique for Encrypted Images
IRJET Journal
 
A Brief Introduction to Penetration Testing
A Brief Introduction to Penetration Testing
EC-Council
 
The Art of Penetration Testing in Cybersecurity.
The Art of Penetration Testing in Cybersecurity.
Expeed Software
 
Is Your Business Safe from Cyber Threats? VAPT Can Help!
Is Your Business Safe from Cyber Threats? VAPT Can Help!
ESDS Software Solution Limited
 
Reliability Improvement with PSP of Web-Based Software Applications
Reliability Improvement with PSP of Web-Based Software Applications
CSEIJJournal
 
Infrastructure & Network Vulnerability Assessment and Penetration Testing
Infrastructure & Network Vulnerability Assessment and Penetration Testing
ElanusTechnologies
 
Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.
Deepak Singhvi
 
Penetration testing dont just leave it to chance
Penetration testing dont just leave it to chance
Dr. Anish Cheriyan (PhD)
 
Vulnerability assessment & Penetration testing Basics
Vulnerability assessment & Penetration testing Basics
Mohammed Adam
 
Ad

More from Andrew Petukhov (8)

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

Recently uploaded (20)

Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
ICT Frame Magazine Pvt. Ltd.
 
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
The Future of Technology: 2025-2125 by Saikat Basu.pdf
The Future of Technology: 2025-2125 by Saikat Basu.pdf
Saikat Basu
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
PyCon SG 25 - Firecracker Made Easy with Python.pdf
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
 
cnc-processing-centers-centateq-p-110-en.pdf
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2
 
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Josef Weingand
 
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
janeliewang985
 
UserCon Belgium: Honey, VMware increased my bill
UserCon Belgium: Honey, VMware increased my bill
stijn40
 
Powering Multi-Page Web Applications Using Flow Apps and FME Data Streaming
Powering Multi-Page Web Applications Using Flow Apps and FME Data Streaming
Safe Software
 
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
 
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Alliance
 
Security Tips for Enterprise Azure Solutions
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
 
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
 
Curietech AI in action - Accelerate MuleSoft development
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
 
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
 
Improving Data Integrity: Synchronization between EAM and ArcGIS Utility Netw...
Improving Data Integrity: Synchronization between EAM and ArcGIS Utility Netw...
Safe Software
 
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Alliance
 
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
 
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
ICT Frame Magazine Pvt. Ltd.
 
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
The Future of Technology: 2025-2125 by Saikat Basu.pdf
The Future of Technology: 2025-2125 by Saikat Basu.pdf
Saikat Basu
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
PyCon SG 25 - Firecracker Made Easy with Python.pdf
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
 
cnc-processing-centers-centateq-p-110-en.pdf
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2
 
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Josef Weingand
 
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
janeliewang985
 
UserCon Belgium: Honey, VMware increased my bill
UserCon Belgium: Honey, VMware increased my bill
stijn40
 
Powering Multi-Page Web Applications Using Flow Apps and FME Data Streaming
Powering Multi-Page Web Applications Using Flow Apps and FME Data Streaming
Safe Software
 
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
 
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Alliance
 
Security Tips for Enterprise Azure Solutions
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
 
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
 
Curietech AI in action - Accelerate MuleSoft development
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
 
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
 
Improving Data Integrity: Synchronization between EAM and ArcGIS Utility Netw...
Improving Data Integrity: Synchronization between EAM and ArcGIS Utility Netw...
Safe Software
 
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Alliance
 
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
 

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?