Preventing Client Side XSS with Rewrite Based Dynamic Information Flow
Title | Preventing Client Side XSS with Rewrite Based Dynamic Information Flow |
Publication Type | Conference Paper |
Year of Publication | 2014 |
Authors | Wenmin Xiao, Jianhua Sun, Hao Chen, Xianghua Xu |
Conference Name | Parallel Architectures, Algorithms and Programming (PAAP), 2014 Sixth International Symposium on |
Date Published | July |
Keywords | abstract intermediate representation, Abstracts, browser proxy, Browsers, client side XSS, code rewrite, cross-site scripting, data flow analysis, Data models, Engines, fine-grained isolation, information flow analysis, information flow tracking framework, Information security, Internet, Java, JavaScript, JavaScript abstract syntax tree, JavaScript code, JSTFlow, online front-ends, performance overhead, rewrite based dynamic information flow, security, security of data, Semantics, sensitive information leaks, Syntactics, taint engine, taint model, tainted information flow, Web applications, XSS Attacks |
Abstract | This paper presents the design and implementation of an information flow tracking framework based on code rewrite to prevent sensitive information leaks in browsers, combining the ideas of taint and information flow analysis. Our system has two main processes. First, it abstracts the semantic of JavaScript code and converts it to a general form of intermediate representation on the basis of JavaScript abstract syntax tree. Second, the abstract intermediate representation is implemented as a special taint engine to analyze tainted information flow. Our approach can ensure fine-grained isolation for both confidentiality and integrity of information. We have implemented a proof-of-concept prototype, named JSTFlow, and have deployed it as a browser proxy to rewrite web applications at runtime. The experiment results show that JSTFlow can guarantee the security of sensitive data and detect XSS attacks with about 3x performance overhead. Because it does not involve any modifications to the target system, our system is readily deployable in practice. |
DOI | 10.1109/PAAP.2014.10 |
Citation Key | 6916471 |
- Semantics
- JavaScript abstract syntax tree
- JavaScript code
- JSTFlow
- online front-ends
- performance overhead
- rewrite based dynamic information flow
- security
- security of data
- JavaScript
- sensitive information leaks
- Syntactics
- taint engine
- taint model
- tainted information flow
- web applications
- XSS attacks
- abstract intermediate representation
- Java
- internet
- information security
- information flow tracking framework
- information flow analysis
- fine-grained isolation
- Engines
- Data models
- data flow analysis
- cross-site scripting
- code rewrite
- client side XSS
- Browsers
- browser proxy
- Abstracts