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 条
  • [31] An Empirical Study of Web Resource Manipulation in Real-world Mobile Applications
    Zhang, Xiaohan
    Zhang, Yuan
    Mo, Qianqian
    Xia, Hao
    Yang, Zhemin
    Yang, Min
    Wang, Xiaofeng
    Lu, Long
    Duan, Haixin
    PROCEEDINGS OF THE 27TH USENIX SECURITY SYMPOSIUM, 2018, : 1183 - 1198
  • [32] An Empirical Study on Practicality of Specification Mining Algorithms on a Real-world Application
    Mashhadi, Mohammad Jafar
    Hemmati, Hadi
    2019 IEEE/ACM 27TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2019), 2019, : 65 - 69
  • [33] Real-World Study Real-World Study of the Use of Azacitidine in Myelodysplasia in Australia
    Enjeti, Anoop
    Ashraf, Asma
    Caillet, Vincent
    Alam, Arif
    Sillar, Jonathan Robert
    Castaldi, Francesco
    Paine, Taliesha
    Keer, Harold N.
    BLOOD, 2022, 140 : 12341 - 12342
  • [34] Empirical entropy manipulation for real-world problems
    Viola, P
    Schraudolph, NN
    Sejnowski, TJ
    ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS 8: PROCEEDINGS OF THE 1995 CONFERENCE, 1996, 8 : 851 - 857
  • [35] Programming the World in a Browser Real Men Don't Do Java']JavaScript Do They?!
    Thomas, Dave
    JOURNAL OF OBJECT TECHNOLOGY, 2007, 6 (10): : 25 - 29
  • [36] Preventing Privacy-Violating Information Flows in Java']JavaScript Applications Using Dynamic Labelling
    Ghosal, Sandip
    Shyamasundar, R. K.
    INFORMATION SYSTEMS SECURITY, ICISS 2022, 2022, 13784 : 202 - 219
  • [37] Monte-Carlo Randomized Algorithm: Empirical Analysis on Real-World Information Systems
    Kudelic, Robert
    Oreski, Dijana
    Konecki, Mario
    2016 39TH INTERNATIONAL CONVENTION ON INFORMATION AND COMMUNICATION TECHNOLOGY, ELECTRONICS AND MICROELECTRONICS (MIPRO), 2016, : 1309 - 1312
  • [38] Synthesis of Random Real-World Java']Java Programs from Preexisting Libraries
    Kraus, Luiz Felipe
    Schafascheck, Bruno
    Ribeiro, Rodrigo Geraldo
    Feitosa, Samuel da Silva
    25TH BRAZILIAN SYMPOSIUM ON PROGRAMMING LANGUAGES, SBLP 2021, 2021, : 108 - 115
  • [39] A PROPOSAL FOR TEACHING JAVA']JAVA PROGRAMING LANGUAGE FOR DEVELOPING REAL-WORLD PROJECTS
    Granell Canut, Carlos
    Belmonte Fernandez, Oscar
    Erdozain Navarro, Maria Carmen
    INTED2011: 5TH INTERNATIONAL TECHNOLOGY, EDUCATION AND DEVELOPMENT CONFERENCE, 2011, : 5273 - 5280
  • [40] An Empirical Study of Prioritizing Java']JavaScript Engine Crashes via Machine Learning
    Park, Sunnyeo
    Kim, Dohyeok
    Son, Sooel
    PROCEEDINGS OF THE 2019 ACM ASIA CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY (ASIACCS '19), 2019, : 646 - 657