An Empirical Study of Information Flows in Real-World Java']JavaScript

被引:18
|
作者
Staicu, Cristian-Alexandru [1 ]
Schoepe, Daniel [2 ]
Balliu, Musard [3 ]
Pradel, Michael [1 ]
Sabelfeld, Andrei [2 ]
机构
[1] Tech Univ Darmstadt, Darmstadt, Germany
[2] Chalmers Univ Technol, Gothenburg, Sweden
[3] KTH Royal Inst Technol, Stockholm, Sweden
基金
瑞典研究理事会;
关键词
information flow control; taint tracking; !text type='Java']Java[!/text]Script; implicit flow;
D O I
10.1145/3338504.3357339
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Information flow analysis prevents secret or untrusted data from flowing into public or trusted sinks. Existing mechanisms cover a wide array of options, ranging from lightweight taint analysis to heavyweight information flow control that also considers implicit flows. Dynamic analysis, which is particularly popular for languages such as JavaScript, faces the question whether to invest in analyzing flows caused by not executing a particular branch, so-called hidden implicit flows. This paper addresses the questions how common different kinds of flows are in real-world programs, how important these flows are to enforce security policies, and how costly it is to consider these flows. We address these questions in an empirical study that analyzes 56 real-world JavaScript programs that suffer from various security problems, such as code injection vulnerabilities, denial of service vulnerabilities, memory leaks, and privacy leaks. The study is based on a state-of-the-art dynamic information flow analysis and a formalization of its core. We find that implicit flows are expensive to track in terms of permissiveness, label creep, and runtime overhead. We find a lightweight taint analysis to be sufficient for most of the studied security problems, while for some privacy-related code, observable tracking is sometimes required. In contrast, we do not find any evidence that tracking hidden implicit flows reveals otherwise missed security problems. Our results help security analysts and analysis designers to understand the cost-benefit tradeoffs of information flow analysis and provide empirical evidence that analyzing information flows in a cost-effective way is a relevant problem.
引用
收藏
页码:45 / 59
页数:15
相关论文
共 50 条
  • [1] An Empirical Study of Privacy-Violating Information Flows in Java']JavaScript Web Applications
    Jang, Dongseok
    Jhala, Ranjit
    Lerner, Sorin
    Shacham, Hovav
    PROCEEDINGS OF THE 17TH ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY (CCS'10), 2010, : 270 - 283
  • [2] Automatically Fixing Real-World Java']JavaScript Performance Bugs
    Selakovic, Marija
    Pradel, Michael
    2015 IEEE/ACM 37TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, VOL 2, 2015, : 811 - 812
  • [3] Understanding Java']JavaScript Vulnerabilities in Large Real-World Android Applications
    Song, Wei
    Huang, Qingqing
    Huang, Jeff
    IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, 2020, 17 (05) : 1063 - 1078
  • [4] Gillian, Part II: Real-World Verification for Java']JavaScript and C
    Maksimovic, Petar
    Ayoun, Sacha-Elie
    Santos, Jose Fragoso
    Gardner, Philippa
    COMPUTER AIDED VERIFICATION, PT II, CAV 2021, 2021, 12760 : 827 - 850
  • [5] On Detecting and Measuring Exploitable Java']JavaScript Functions in Real-world Applications
    Kluban, Maryna
    Mannan, Mohammad
    Youssef, Amr
    ACM TRANSACTIONS ON PRIVACY AND SECURITY, 2024, 27 (01)
  • [6] Fix that Fix Commit: A real-world remediation analysis of Java']JavaScript projects
    Bandara, Vinuri
    Rathnayake, Thisura
    Weerasekara, Nipuna
    Elvitigala, Charitha
    Thilakarathna, Kenneth
    Wijesekera, Primal
    Keppitiyagama, Chamath
    2020 20TH IEEE INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM 2020), 2020, : 198 - 202
  • [7] Accessing real-world information by a cellular phone Java']Java client
    Ikei, Y
    Tanaka, H
    Hirose, M
    KNOWLEDGE-BASED INTELLIGENT INFORMATION ENGINEERING SYSTEMS & ALLIED TECHNOLOGIES, PTS 1 AND 2, 2001, 69 : 1199 - 1203
  • [8] Java']JavaScript Errors in the Wild: An Empirical Study
    Ocariza, Frolin S., Jr.
    Pattabiraman, Karthik
    Zorn, Benjamin
    22ND IEEE INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE), 2011, : 100 - 109
  • [9] An empirical study on bugs in Java']JavaScript engines
    Wang, Ziyuan
    Bu, Dexin
    Wang, Nannan
    Yu, Sijie
    Gou, Shanyi
    Sun, Aiyue
    INFORMATION AND SOFTWARE TECHNOLOGY, 2023, 155
  • [10] An Empirical Study of Flaky Tests in Java']JavaScript
    Hashemi, Negar
    Tahir, Amjed
    Rasheed, Shawn
    2022 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2022), 2022, : 24 - 34