Information-flow security for Java']JavaScript and its APIs

被引:13
作者
Hedin, Daniel [1 ,2 ]
Bello, Luciano [1 ]
Sabelfeld, Andrei [1 ]
机构
[1] Chalmers Univ Technol, Dept Comp Sci & Engn, Rannvagen 6B, S-41296 Gothenburg, Sweden
[2] Malardalen Univ, Sch Innovat Design & Engn, Box 883, S-72123 Vasteras, Sweden
关键词
Web application security; !text type='Java']Java[!/text]Script; information flow; reference monitoring; noninterference;
D O I
10.3233/JCS-160544
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
JavaScript drives the evolution of the web into a powerful application platform. Increasingly, web applications combine services from different providers. The script inclusion mechanism routinely turns barebone web pages into full-fledged services built up from third-party code. Script inclusion poses a challenge of ensuring that the integrated third-party code respects security and privacy. This paper presents a dynamic mechanism for securing script executions by tracking information flow in JavaScript and its APIs. On the formal side, the paper identifies language constructs that constitute a core of JavaScript: dynamic objects, higher-order functions, exceptions, and dynamic code evaluation. It develops a dynamic type system that guarantees information-flow security for this language. Based on this formal model, the paper presents JSFlow, a practical security-enhanced interpreter for fine-grained tracking of information flow in full JavaScript and its APIs. Our experiments with JSFlow deployed as a browser extension provide in-depth understanding of information manipulation by third-party scripts. We find that different sites intended to provide similar services effectuate rather different security policies for the user's sensitive information: some ensure it does not leave the browser, others share it with the originating server, while yet others freely propagate it to third parties.
引用
收藏
页码:181 / 234
页数:54
相关论文
共 50 条
[21]   Efficient Information-Flow Verification Under Speculative Execution [J].
Bloem, Roderick ;
Jacobs, Swen ;
Vizel, Yakir .
AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS (ATVA 2019), 2019, 11781 :499-514
[22]   INFORMATION-FLOW AND TEMPORAL CODING IN PRIMATE PATTERN VISION [J].
HELLER, J ;
HERTZ, JA ;
KJAER, TW ;
RICHMOND, BJ .
JOURNAL OF COMPUTATIONAL NEUROSCIENCE, 1995, 2 (03) :175-193
[23]   Making Java']JavaScript Render Decisions to Optimize Security-Oriented Crawler Process [J].
Aktas, Onur ;
Can, Ahmet Burak .
IEEE ACCESS, 2024, 12 :161688-161696
[24]   Symbolic Abstract Heaps for Polymorphic Information-Flow Guard Inference [J].
Berthier, Nicolas ;
Khakpour, Narges .
VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION, VMCAI 2023, 2023, 13881 :66-90
[25]   Information flow security in dynamic contexts [J].
Focardi, Riccardo ;
Rossi, Sabina .
JOURNAL OF COMPUTER SECURITY, 2006, 14 (01) :65-110
[26]   A technique to analyze information-flow in object-oriented programs [J].
Li, BX .
INFORMATION AND SOFTWARE TECHNOLOGY, 2003, 45 (06) :305-314
[27]   GATE-LEVEL INFORMATION-FLOW TRACKING FOR SECURE ARCHITECTURES [J].
Tiwari, Mohit ;
Li, Xun ;
Wassel, Hassan M. G. ;
Mazloom, Bita ;
Mysore, Shashidhar ;
Chong, Frederic T. ;
Sherwood, Timothy .
IEEE MICRO, 2010, 30 (01) :92-100
[28]   Java']Java bytecode verification for secure information flow [J].
Avvenuti, M ;
Bernardeschi, C ;
De Francesco, N .
ACM SIGPLAN NOTICES, 2003, 38 (12) :20-27
[29]   An Empirical Study of Privacy-Violating Information Flows in Java']JavaScript Web Applications [J].
Jang, Dongseok ;
Jhala, Ranjit ;
Lerner, Sorin ;
Shacham, Hovav .
PROCEEDINGS OF THE 17TH ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY (CCS'10), 2010, :270-283
[30]   A FIELD-STUDY OF THE RELATIONSHIP OF INFORMATION-FLOW AND MAINTAINABILITY OF COBOL PROGRAMS [J].
PICKARD, MM ;
CARTER, BD .
INFORMATION AND SOFTWARE TECHNOLOGY, 1995, 37 (04) :195-202