IOTFUZZER: Discovering Memory Corruptions in IoT Through App-based Fuzzing

被引:215
作者
Chen, Jiongyi [1 ]
Diao, Wenrui [2 ]
Zhao, Qingchuan [3 ]
Zuo, Chaoshun [3 ]
Lin, Zhiqiang [3 ]
Wang, XiaoFeng [4 ]
Lau, Wing Cheong [1 ]
Sun, Menghan [1 ]
Yang, Ronghai [1 ]
Zhang, Kehuan [1 ]
机构
[1] Chinese Univ Hong Kong, Hong Kong, Peoples R China
[2] Jinan Univ, Guangzhou, Peoples R China
[3] Univ Texas Dallas, Richardson, TX 75083 USA
[4] Indiana Univ Bloomington, Bloomington, IN USA
来源
25TH ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2018) | 2018年
基金
中国国家自然科学基金; 美国国家科学基金会;
关键词
D O I
10.14722/ndss.2018.23159
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
With more IoT devices entering the consumer market, it becomes imperative to detect their security vulnerabilities before an attacker does. Existing binary analysis based approaches only work on firmware, which is less accessible except for those equipped with special tools for extracting the code from the device. To address this challenge in IoT security analysis, we present in this paper a novel automatic fuzzing framework, called IOTFUZZER, which aims at finding memory corruption vulnerabilities in IoT devices without access to their firmware images. The key idea is based upon the observation that most IoT devices are controlled through their official mobile apps, and such an app often contains rich information about the protocol it uses to communicate with its device. Therefore, by identifying and reusing program-specific logic (e.g., encryption) to mutate the test case (particularly message fields), we are able to effectively probe IoT targets without relying on any knowledge about its protocol specifications. In our research, we implemented IOTFUZZER and evaluated 17 real-world IoT devices running on different protocols, and our approach successfully identified 15 memory corruption vulnerabilities (including 8 previously unknown ones).
引用
收藏
页数:15
相关论文
共 46 条
[1]  
America T.-L. R, KAS MOB
[2]  
[Anonymous], 2015, P 31 ANN COMP SEC AP
[3]  
[Anonymous], 2013, Proceedings of ACM Conference on Data and Application Security and Privacy (CODASPY)
[4]  
Bekrar S, 2012, P 5 IEEE INT C SOFTW
[5]  
Brook C, TRAVEL ROUTERS NAS D
[6]   Input Generation via Decomposition and Re-Stitching: Finding Bugs in Malware [J].
Caballero, Juan ;
Poosankam, Pongsin ;
McCamant, Stephen ;
Babic, Domagoj ;
Song, Dawn .
PROCEEDINGS OF THE 17TH ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY (CCS'10), 2010, :413-425
[7]  
Caballero J, 2009, CCS'09: PROCEEDINGS OF THE 16TH ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, P621
[8]   EdgeMiner: Automatically Detecting Implicit Control Flow Transitions through the Android Framework [J].
Cao, Yinzhi ;
Fratantonio, Yanick ;
Bianchi, Antonio ;
Egele, Manuel ;
Kruegel, Christopher ;
Vigna, Giovanni ;
Chen, Yan .
22ND ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2015), 2015,
[9]   Towards Automated Dynamic Analysis for Linux-based Embedded Firmware [J].
Chen, Daming D. ;
Egele, Manuel ;
Woo, Maverick ;
Brumley, David .
23RD ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2016), 2016,
[10]  
Chen K., 2009, REVERSING EXPLOITING