JSCSP: A Novel Policy-Based XSS Defense Mechanism for Browsers
Version 2 2024-06-06, 00:33Version 2 2024-06-06, 00:33
Version 1 2020-07-22, 09:56Version 1 2020-07-22, 09:56
journal contribution
posted on 2024-06-06, 00:33authored byG Xu, X Xie, S Huang, Jun Zhang, Lei PanLei Pan, W Lou, K Liang
To mitigate cross-site scripting attacks (XSS), the W3C group recommends web service providers to employ a computer security standard called Content Security Policy (CSP). However, less than 3.7% of real-world websites are equipped with CSP according to Google's survey. The low scalability of CSP is incurred by the difficulty of deployment and non-compatibility for state-of-art browsers. To explore the scalability of CSP, in this paper, we propose Javascript based CSP (JSCSP), which is able to support most of real-world browsers but also to generate security policies automatically. Specifically, JSCSP offers a novel self-defined security policy which enforces essential confinements to related items, including Javascript functions, DOM elements and data access. Meanwhile, JSCSP has an efficient algorithm to automatically generate the policy directives and enforce them in a cascading way, which is more fine-grained and practical than the functionalities provided by CSP. We further implement JSCSP on a Chrome extension, and our evaluation shows that the extension is compatible with popular Javascript libraries. Our JSCSP extension can detect and block the tested attacking vectors extracted from the prevalent web applications. We state that JSCSP delivers better performance compared to other XSS defense solutions.
History
Journal
IEEE Transactions on Dependable and Secure Computing