Identifying vulnerabilities of SSL/TLS certificate verification in Android apps with static and dynamic analysis

被引:27
|
作者
Wang, Yingjie [1 ]
Xu, Guangquan [2 ,3 ]
Liu, Xing [1 ]
Mao, Weixuan [4 ]
Si, Chengxiang [4 ]
Pedrycz, Witold [6 ]
Wang, Wei [1 ,5 ]
机构
[1] Beijing Jiaotong Univ, Beijing Key Lab Secur & Privacy Intelligent Trans, Beijing, Peoples R China
[2] Qingdao Huanghai Univ, Big Data Sch, Qingdao, Peoples R China
[3] Tianjin Univ, Coll Intelligence & Comp, Tianjin Key Lab Adv Networking, Tianjin 300350, Peoples R China
[4] Coordinat Ctr China, Natl Comp Network Emergency Response Tech Team, Beijing, Peoples R China
[5] King Abdullah Univ Sci & Technol KAUST, Div Comp Elect & Math Sci & Engn CEMSE, Thuwal 239556900, Saudi Arabia
[6] Univ Alberta, Dept Elect & Comp Engn, Edmonton, AB, Canada
基金
国家重点研发计划;
关键词
Android security; Dynamic analysis; MITM; SSL/TLS; Vulnerability detection; Static analysis; AUDIT DATA STREAMS; PROFILING PROGRAM; BEHAVIORS; TAXONOMY; FEATURES; NETWORK; MALAPPS; ISSUES;
D O I
10.1016/j.jss.2020.110609
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Many Android developers fail to properly implement SSL/TLS during the development of an app, which may result in Man-In-The-Middle (MITM) attacks or phishing attacks. In this work, we design and implement a tool called DCDroid to detect these vulnerabilities with the combination of static and dynamic analysis. In static analysis, we focus on four types of vulnerable schema and locate the potential vulnerable code snippets in apps. In dynamic analysis, we prioritize the triggering of User Interface (UI) components based on the results obtained with static analysis to confirm the misuse of SSL/TLS. With DCDroid we analyze 2213 apps from Google Play and 360app. The experimental results show that 457 (20.65%) apps contain potential vulnerable code. We run apps with DCDroid on two Android smart phones and confirm that 245 (11.07%) of 2213 apps are truly vulnerable to MITM and phishing attacks. We propose several strategies to reduce the number of crashes and shorten the execution time in dynamic analysis. Comparing with our previous work, DCDroid decreases 57.18% of the number of apps' crash and 32.47% of the execution time on average. It also outperforms other three tools, namely, AndroBugs, kingkong and appscan, in terms of detection accuracy. (C) 2020 Elsevier Inc. All rights reserved.
引用
收藏
页数:12
相关论文
共 34 条
  • [1] Obfuscating Code Vulnerabilities Against Static Analysis in Android Apps
    Pagano, Francesco
    Verderame, Luca
    Merlo, Alessio
    ICT SYSTEMS SECURITY AND PRIVACY PROTECTION, SEC 2024, 2024, 710 : 381 - 395
  • [2] A static technique for detecting input validation vulnerabilities in Android apps
    Fang, Zhejun
    Liu, Qixu
    Zhang, Yuqing
    Wang, Kai
    Wang, Zhiqiang
    Wu, Qianru
    SCIENCE CHINA-INFORMATION SCIENCES, 2017, 60 (05)
  • [3] A static technique for detecting input validation vulnerabilities in Android apps
    Zhejun FANG
    Qixu LIU
    Yuqing ZHANG
    Kai WANG
    Zhiqiang WANG
    Qianru WU
    ScienceChina(InformationSciences), 2017, 60 (05) : 210 - 225
  • [4] IoTVerif: An Automated Tool to Verify SSL/TLS Certificate Validation in Android MQTT Client Applications
    Alghamdi, Khalid
    Alqazzaz, Ali
    Liu, Anyi
    Ming, Hua
    PROCEEDINGS OF THE EIGHTH ACM CONFERENCE ON DATA AND APPLICATION SECURITY AND PRIVACY (CODASPY'18), 2018, : 95 - 102
  • [5] Analyzing Implementation-Based SSL/TLS Vulnerabilities with Binary Semantics Analysis
    Wang, Li
    Yang, Yi
    Alavalapati, Goutham Reddy
    SECURITY AND PRIVACY IN COMMUNICATION NETWORKS, PT II, SECURECOMM 2023, 2025, 568 : 371 - 394
  • [6] Kunai: A static analysis framework for Android apps
    Blazquez, Eduardo
    Tapiador, Juan
    SOFTWAREX, 2023, 22
  • [7] Static and Dynamic Analysis of Android Malware
    Kapratwar, Ankita
    Di Troia, Fabio
    Stamp, Mark
    ICISSP: PROCEEDINGS OF THE 3RD INTERNATIONAL CONFERENCE ON INFORMATION SYSTEMS SECURITY AND PRIVACY, 2017, : 653 - 662
  • [8] A static technique for detecting input validation vulnerabilities in Android apps基于静态分析的Android应用软件输入验证漏洞挖掘技术
    Zhejun Fang
    Qixu Liu
    Yuqing Zhang
    Kai Wang
    Zhiqiang Wang
    Qianru Wu
    Science China Information Sciences, 2017, 60
  • [9] Detecting Software Vulnerabilities in Android Using Static Analysis
    Dhaya, R.
    Poongodi, M.
    2014 INTERNATIONAL CONFERENCE ON ADVANCED COMMUNICATION CONTROL AND COMPUTING TECHNOLOGIES (ICACCCT), 2014, : 915 - 918
  • [10] Reflection-Aware Static Analysis of Android Apps
    Li, Li
    Bissyande, Tegawende F.
    Octeauo, Damien
    Klein, Jacques
    2016 31ST IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2016, : 756 - 761