Detecting and Understanding Java']JavaScript Global Identifier Conflicts on the Web

被引:7
|
作者
Zhang, Mingxue [1 ]
Meng, Wei [1 ]
机构
[1] Chinese Univ Hong Kong Hong, Hong Kong, Peoples R China
关键词
!text type='Java']Java[!/text]Script; Identifier conflicts; Web applications;
D O I
10.1145/3368089.3409747
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
JavaScript is widely used for implementing client-side web applications, and it is common to include JavaScript code from many different hosts. However, in a web browser, all the scripts loaded in the same frame share a single global namespace. As a result, a script may read or even overwrite the global objects or functions in other scripts, causing unexpected behaviors. For example, a script can redefine a function in a different script as an object, so that any call of that function would cause an exception at run time. We systematically investigate the client-side JavaScript code integrity problem caused by JavaScript global identifier conflicts in this paper. We developed a browser-based analysis framework, JSO(BSERVER), to collect and analyze the write operations to global memory locations by JavaScript code. We identified three categories of conflicts using JSO(BSERVER) on the Alexa top 100K websites, and detected 145,918 conflicts on 31,615 websites. We reveal that JavaScript global identifier conflicts are prevalent and could cause behavior deviation at run time. In particular, we discovered that 1,611 redefined functions were called after being overwritten, and many scripts modified the value of cookies or redefined cookie-related functions. Our research demonstrated that JavaScript global identifier conflict is an emerging threat to both the web users and the integrity of web applications.
引用
收藏
页码:38 / 49
页数:12
相关论文
共 50 条
  • [31] Statically Checking Web API Requests in Java']JavaScript
    Wittern, Erik
    Ying, Annie T. T.
    Zheng, Yunhui
    Dolby, Julian
    Laredo, Jim A.
    2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2017, : 244 - 254
  • [32] Understanding Java']JavaScript Event-Based Interactions
    Alimadadi, Saba
    Sequeira, Sheldon
    Mesbah, Ali
    Pattabiraman, Karthik
    36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2014), 2014, : 367 - 377
  • [33] Statically Detecting Java']JavaScript Obfuscation and Minification Techniques in the Wild
    Moog, Marvin
    Demmel, Markus
    Backes, Michael
    Fass, Aurore
    51ST ANNUAL IEEE/IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS (DSN 2021), 2021, : 569 - 580
  • [34] A deep learning approach for detecting malicious Java']JavaScript code
    Wang, Yao
    Cai, Wan-dong
    Wei, Peng-cheng
    SECURITY AND COMMUNICATION NETWORKS, 2016, 9 (11) : 1520 - 1534
  • [35] Detecting Obfuscated Suspicious Java']JavaScript Based on Collaborative Training
    Wu, Hongcheng
    Qin, Sujuan
    2017 17TH IEEE INTERNATIONAL CONFERENCE ON COMMUNICATION TECHNOLOGY (ICCT 2017), 2017, : 1962 - 1966
  • [36] Detecting malicious Java']JavaScript code based on semantic analysis
    Fang, Yong
    Huang, Cheng
    Su, Yu
    Qiu, Yaoyao
    COMPUTERS & SECURITY, 2020, 93
  • [37] Detecting Malicious Java']Javascript in PDF through Document Instrumentation
    Liu, Daiping
    Wang, Haining
    Stavrou, Angelos
    2014 44TH ANNUAL IEEE/IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS (DSN), 2014, : 100 - 111
  • [38] Picognizer: A Java']JavaScript Library for Detecting and Recognizing Synthesized Sounds
    Kurihara, Kazutaka
    Itaya, Akari
    Uemura, Aiko
    Kitahara, Tetsuro
    Nagao, Katashi
    ADVANCES IN COMPUTER ENTERTAINMENT TECHNOLOGY, ACE 2017, 2018, 10714 : 339 - 359
  • [39] Visual quickstart guide: Java']Javascript for the World Wide Web
    DeLoach, S
    TECHNICAL COMMUNICATION, 1999, 46 (03) : 400 - 403
  • [40] Performance Scalability Analysis of Java']JavaScript Applications with Web Workers
    Verdu, Javier
    Pajuelo, Alex
    IEEE COMPUTER ARCHITECTURE LETTERS, 2016, 15 (02) : 105 - 108