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 条
  • [1] A Type System for Quantified Information-Flow Security in Java']Java-Like Languages
    Shakoori, Gohar
    Fallah, Mehran S.
    Iranmanesh, Zeinab
    PROCEEDINGS OF 2016 11TH INTERNATIONAL CONFERENCE ON AVAILABILITY, RELIABILITY AND SECURITY, (ARES 2016), 2016, : 464 - 473
  • [2] Language-based information-flow security
    Sabelfeld, A
    Myers, AC
    IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, 2003, 21 (01) : 5 - 19
  • [3] Compositional Information-flow Security for Interactive Systems
    Rafnsson, Willard
    Sabelfeld, Andrei
    2014 IEEE 27TH COMPUTER SECURITY FOUNDATIONS SYMPOSIUM (CSF), 2014, : 277 - 292
  • [4] Quantum Information-Flow Security: Noninterference and Access Control
    Ying, Mingsheng
    Feng, Yuan
    Yu, Nengkun
    2013 IEEE 26TH COMPUTER SECURITY FOUNDATIONS SYMPOSIUM (CSF), 2013, : 130 - 144
  • [5] Cryptographically sound implementations for typed information-flow security
    Fournet, Cedric
    Rezk, Tamara
    ACM SIGPLAN NOTICES, 2008, 43 (01) : 323 - 335
  • [6] Cryptographically Sound Implementations for Typed Information-Flow Security
    Fournet, Cedric
    Rezk, Tamara
    POPL'08: PROCEEDINGS OF THE 35TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2008, : 323 - 335
  • [7] A Library for Light-Weight Information-Flow Security in Haskell
    Russo, Alejandro
    Claessen, Koen
    Hughes, John
    HASKELL'08: PROCEEDINGS OF THE ACM SIGPLAN 2008 HASKELL SYMPOSIUM, 2008, : 13 - 24
  • [8] A Library for Light-Weight Information-Flow Security in Haskell
    Russo, Alejandro
    Claessen, Koen
    Hughes, John
    ACM SIGPLAN NOTICES, 2009, 44 (02) : 13 - 24
  • [9] Information-flow Interfaces
    Bartocci, Ezio
    Ferrere, Thomas
    Henzinger, Thomas A.
    Nickovic, Dejan
    da Costa, Ana Oliveira
    FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, FASE 2022, 2022, 13241 : 3 - 22
  • [10] Information-flow interfaces
    Bartocci, Ezio
    Ferrere, Thomas
    Henzinger, Thomas A.
    Nickovic, Dejan
    Oliveira da Costa, Ana
    FORMAL METHODS IN SYSTEM DESIGN, 2024, : 3 - 48