ab0345f1a5601af414dbd32e83ec2e87.ppt
- Количество слайдов: 41
Relational String Verification Using Multitrack Automata Fang Yu, Tevfik Bultan, and Oscar Ibarra Department of Computer Science University of California, Santa Barbara
Web software • Web software is becoming increasingly dominant • Web applications are used extensively in many areas: – Commerce: online banking, online shopping, … – Entertainment: online music & videos, … – Interaction: social networks • We will rely on web applications more in the future: – Health records • Google Health, Microsoft Health. Vault – Controlling and monitoring of national infrastructures: • Google Powermeter • Web software is also rapidly replacing desktop applications – Could computing + software-as-service • Google Docs, Google …
One Major Road Block • Web applications are not secure! • Web applications are notorious for security vulnerabilities – Their global accessibility makes them a target for many malicious users • As web applications are becoming increasingly dominant and as their use in safety critical areas is increasing – Their security is becoming a critical issue
Web applications are not secure • There are many well-known security vulnerabilities that exist in many web applications. Here are some examples: – Malicious file execution: where a malicious user causes the server to execute malicious code – SQL injection: where a malicious user executes SQL commands on the back-end database by providing specially formatted input – Cross site scripting (XSS): causes the attacker to execute a malicious script at a user’s browser • These vulnerabilities are typically due to – errors in user input validation or – lack of user input validation
Web Application Vulnerabilities
Web Application Vulnerabilities • The top two vulnerabilities of the Open Web Application Security Project (OWASP)’s top ten list in 2007 – Cross Site Scripting (XSS) – Injection Flaws (such as SQL Injection) • The top two vulnerabilities of the OWASPs top ten list in 2010 – Injection Flaws (such as SQL Injection) – Cross Site Scripting (XSS)
Why are web applications error prone? • Extensive string manipulation: – Web applications use extensive string manipulation • To construct html pages, to construct database queries in SQL, etc. – The user input comes in string form and must be validated and sanitized before it can be used • This requires the use of complex string manipulation functions such as string-replace – String manipulation is error prone
String Related Vulnerabilities String related web application vulnerabilities occur when: a sensitive function is passed a malicious string input from the user This input contains an attack User input is not properly sanitized before it reaches the sensitive function String analysis: Discover these vulnerabilities automatically
XSS Vulnerability A PHP Example: 1: php
String Analysis String analysis determines all possible values that a string expression can take during any program execution Using string analysis we can identify all possible input values of the sensitive functions Then we can check if inputs of sensitive functions can contain attack strings How can we characterize attack strings? Use regular expressions to specify the attack patterns Attack pattern for XSS: Σ∗










![Forward Analysis Attack Pattern = Σ*<Σ* Forward = Σ* “URL”, 3 $_GET[www], URL $l_otherinfo, Forward Analysis Attack Pattern = Σ*<Σ* Forward = Σ* “URL”, 3 $_GET[www], URL $l_otherinfo,](https://present5.com/presentation/ab0345f1a5601af414dbd32e83ec2e87/image-18.jpg)



















![Related Work • Size Analysis – Size analysis: [Hughes et al. , POPL’ 96] Related Work • Size Analysis – Size analysis: [Hughes et al. , POPL’ 96]](https://present5.com/presentation/ab0345f1a5601af414dbd32e83ec2e87/image-38.jpg)


