$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

체계적인 IoT 기기의 펌웨어 보안 분석 방법에 관한 연구

A Study on Systematic Firmware Security Analysis Method for IoT Devices

情報保護學會論文誌 = Journal of the Korea Institute of Information Security and Cryptology, v.31 no.1, 2021년, pp.31 - 49  

김예준 (고려대학교 정보보호대학원) ,  김정현 (고려대학교 정보보호대학원) ,  김승주 (고려대학교 정보보호대학원)

초록
AI-Helper 아이콘AI-Helper

IoT 기기는 네트워크 통신이 가능한 임베디드 기기를 의미한다. IoT 기기는 금융, 개인, 산업, 공공, 군 등과 같이 우리 주변의 다양한 분야에서 많이 사용되고 있기 때문에 공격이 발생할 경우 개인정보 유출과 같은 다양한 피해가 발생할 수 있다. IoT에 대한 취약점 분석은 IoT 기기와 상호작용 하는 스마트폰의 애플리케이션, 웹 사이트와 같은 소프트웨어 인터페이스 분석뿐만 아니라, IoT 기기의 주요 구성요소인 펌웨어에 대해서도 필수적으로 수행되어야 한다. 하지만 문제는 펌웨어의 추출 및 분석이 생각보다 쉽지 않으며, 보안팀 내 분석하는 사람의 전문성에 따라 같은 대상을 분석하더라도 결과물의 수준이 다를 수 있어 일정한 수준의 품질 관리가 쉽지 않다는 것이다. 따라서 본 논문에서 우리는 IoT 기기의 펌웨어에 대한 취약점 분석 프로세스를 정립하고 단계별로 사용 가능한 도구를 제시함으로써, IoT 보안성 분석에 있어 로드맵을 제시하고 일정한 수준의 품질 관리가 가능하였다. 우리는 다양한 상용 제조사들이 생산한 IoT 기기의 펌웨어 획득부터 분석까지의 과정을 제안하였으며, 이를 다양한 제조사의 드론 분석에 직접 적용해 봄으로써 그 타당성을 입증하였다.

Abstract AI-Helper 아이콘AI-Helper

IoT devices refer to embedded devices that can communicate with networks. Since there are various types of IoT devices and they are widely used around us, in the event of an attack, damages such as personal information leakage can occur depending on the type of device. While the security team analyz...

주제어

표/그림 (26)

AI 본문요약
AI-Helper 아이콘 AI-Helper

문제 정의

  • 하지만 각 분석 방법이 순서대로 표현되지 않고 독립적으로 기술되어 있기 때문에 취약점 분석 수행 시 로드맵으로써 참고하기 어렵다. 그렇기에 우리는 이러한 문제를 개선하기 위해 기존 연구를 참고하고 실험을 진행함으로써, 보안팀이 취약점 분석 시 쉽게 참고하고 용이하게 활용할 수 있는 프로세스를 도출하는 것을 목표로 한다.
  • 따라서 본 논문에서 우리는 IoT 기기의 펌웨어에 대한 취약점 분석 프로세스를 정립하고 단계별로 사용 가능한 도구를 제시하였다. 이를 위해 우리는 다양한 상용 제조사들의 IoT 기기에 대한 펌웨어 획득부터 취약점 분석 단계까지의 과정을 체계화하였다.
  • 따라서 본 논문에서 우리는 IoT 기기의 펌웨어에 대한 취약점 분석 프로세스를 정립하고 각 단계에서 사용 가능한 도구를 제시함으로써, IoT 보안성 분석에 있어 로드맵을 제시하고 일정한 수준의 품질 관리가 가능토록 하고자 한다
  • 앞서 설명한 바와 같이 기존의 IoT 펌웨어 분석과 관련된 논문에는 각 분석 방법이 독립적으로 기술되어 있기 때문에 보안팀이 취약점 분석을 수행할 때 로드맵으로써 참고하기 어렵다는 문제점이 존재한다. 따라서 본 장에서는 이러한 문제를 개선하기 위해 IoT 기기의 펌웨어를 획득하고 이를 분석할 수 있는 분석 프로세스를 제시하여 보안팀이 취약점 분석을 수행할 시 용이하게 활용할 수 있도록 하고자 한다.

가설 설정

  • 1) 프로세서 식별: 기기에서 사용되는 프로세서의 종류에 따라서 JTAG에 연결할 수 있는 분석 장비가 다르다. 그렇기 때문에 보안팀은 부팅 메시지, 데이터 시트, 제조사가 제공하는 기기 정보를 활용하여 장치에서 사용하는 프로세서를 식별해야 한다.
본문요약 정보가 도움이 되었나요?

참고문헌 (77)

  1. Security Today, "The IoT Rundown For 2020: Stats, Risks, and Solutions." Security Today, 13 Jan 2020. https://securitytoday.com/Articles/2020/01/13/The-IoT-Rundown-for-2020.aspx-Page2 

  2. PALOALTO, [online] Available: https://unit42.paloaltonetworks.com/iot-threat-report-2020/ 

  3. Alshamrani, Adel, and Abdullah Bahattab. "A comparison between three SDLC models waterfall model, spiral model, and Incremental/Iterative model." International Journal of Computer Science Issues (IJCSI) 12.1 (2015): 106. 

  4. Okoli, Chitu, and Kira Schabram. "A guide to conducting a systematic literature review of information systems research." (2010). 

  5. IEEE. https://ieeexplore.ieee.org/ 

  6. NDSS. https://dblp.org/db/conf/ndss/index 

  7. Usenix. https://www.usenix.org/ 

  8. ACM. https://dl.acm.org/ 

  9. NDSS. https://www.sciencedirect.com/ 

  10. Springer, https://www.springer.com/ 

  11. Zaddach, Jonas, and Andrei Costin. "Embedded devices security and firmware reverse engineering." Black-Hat USA (2013). 

  12. Shwartz, Omer, et al. "Reverse engineering IoT devices: Effective techniques and methods." IEEE Internet of Things Journal 5.6 (2018): 4965-4976. 

  13. Hernandez, Grant, et al. "Toward Automated Firmware Analysis in the IoT Era." IEEE Security & Privacy 17.5 (2019): 38-46. 

  14. Schulz, Matthias, Daniel Wegemer, and Matthias Hollick. "The Nexmon firmware analysis and modification framework: Empowering researchers to enhance Wi-Fi devices." Computer Communications 129 (2018): 269-285. 

  15. Fowze, Farhaan, et al. "ProXray: Protocol Model Learning and Guided Firmware Analysis." IEEE Transactions on Software Engineering (2019). 

  16. Basnight, Zachry, et al. "Firmware modification attacks on programmable logic controllers." International Journal of Critical Infrastructure Protection 6.2 (2013): 76-84. 

  17. Lee, Seoksu, and Eun-Sun Cho. "Toward Firmware-Type Analysis Using machine Learning Techniques." 2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC). Vol. 1. IEEE, 2018. 

  18. Costin, Andrei, et al. "A large-scale analysis of the security of embedded firmwares." 23rd {USENIX} Security Symposium ({USENIX} Security 14). 2014. 

  19. Xu, Yifei, et al. "A Search-based Firmware Code Analysis Method for IoT Devices." 2018 IEEE Conference on Communications and Network Security (CNS). IEEE, 2018. 

  20. English, K. Virgil, Islam Obaidat, and Meera Sridhar. "Exploiting Memory Corruption Vulnerabilities in Connman for IoT Devices." 2019 49th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN). IEEE, 2019. 

  21. Cam, Nguyen Tan, et al. "Detect malware in android firmware based on distributed network environment." 2019 IEEE 19th International Conference on Communication Technology (ICCT). IEEE, 2019. 

  22. Cheng, Kai, et al. "DTaint: detecting the taint-style vulnerability in embedded device firmware." 2018 48th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN). IEEE, 2018. 

  23. Liu, Muqing, et al. "Security analysis of vendor customized code in firmware of embedded device." International Conference on Security and Privacy in Communication Systems. Springer, Cham, 2016. 

  24. Classen, Jiska, et al. "Anatomy of a vulnerable fitness tracking system: Dissecting the fitbit cloud, app, and firmware." Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies 2.1 (2018): 1-24. 

  25. Xie, Wei, et al. "Vulnerability detection in iot firmware: A survey." 2017 IEEE 23rd International Conference on Parallel and Distributed Systems (ICPADS). IEEE, 2017. 

  26. Yao, Yao, et al. "Identifying Privilege Separation Vulnerabilities in IoT Firmware with Symbolic Execution." European Symposium on Research in Computer Security. Springer, Cham, 2019. 

  27. Al-Alami, Haneen, Ali Hadi, and Hussein Al-Bahadili. "Vulnerability scanning of IoT devices in Jordan using Shodan." 2017 2nd International Conference on the Applications of Information Technology in Developing Renewable Energy Processes & Systems (IT-DREPS). IEEE, 2017. 

  28. Krishnankutty, Deepak, et al. "Fiscal: Firmware identification using side-channel power analysis." 2017 IEEE 35th VLSI Test Symposium (VTS). IEEE, 2017. 

  29. Hou, Jin-bing, Tong Li, and Cheng Chang. "Research for vulnerability detection of embedded system firmware." Procedia Computer Science 107 (2017): 814-818. 

  30. Shirani, Paria, et al. "Binarm: Scalable and efficient detection of vulnerabilities in firmware images of intelligent electronic devices." International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment. Springer, Cham, 2018. 

  31. Cui, Ang, Michael Costello, and Salvatore Stolfo. "When firmware modifications attack: A case study of embedded exploitation." (2013). 

  32. Mulliner, Collin, and Benjamin Michele. "Read It Twice! A Mass-Storage-Based TOCTTOU Attack." WOOT. 2012. 

  33. Miller, Charlie. "Battery firmware hacking." Black Hat USA (2011): 3-4. 

  34. Hudson, Trammell, and Larry Rudolph. "Thunderstrike: EFI firmware bootkits for Apple MacBooks." Proceedings of the 8th ACM International Systems and Storage Conference. 2015. 

  35. Papp, Dorottya, Zhendong Ma, and Levente Buttyan. "Embedded systems security: Threats, vulnerabilities, and attack taxonomy." 2015 13th Annual Conference on Privacy, Security and Trust (PST). IEEE, 2015. 

  36. Choi, Byung-Chul, et al. "Secure firmware validation and update for consumer devices in home networking." IEEE Transactions on Consumer Electronics 62.1 (2016): 39-44. 

  37. Konstantinou, Charalambos, and Michail Maniatakos. "Impact of firmware modification attacks on power systems field devices." 2015 IEEE International Conference on Smart Grid Communications (SmartGridComm). IEEE, 2015. 

  38. Liu, Jiajia, and Wen Sun. "Smart attacks against intelligent wearables in people-centric internet of things." IEEE Communications Magazine 54.12 (2016): 44-49. 

  39. Ling, Zhen, et al. "Security vulnerabilities of internet of things: A case study of the smart plug system." IEEE Internet of Things Journal 4.6 (2017): 1899-1909. 

  40. Shudrak, Maxim, and Vyacheslav Zolotarev. "The technique of dynamic binary analysis and its application in the information security sphere." Eurocon 2013. IEEE, 2013. 

  41. Chen, Jiongyi, et al. "IoTFuzzer: Discovering Memory Corruptions in IoT Through App-based Fuzzing." NDSS. 2018. 

  42. Manes, Valentin Jean Marie, et al. "The art, science, and engineering of fuzzing: A survey." IEEE Transactions on Software Engineering (2019). 

  43. Zheng, Yaowen, et al. "FIRM-AFL: high-throughput greybox fuzzing of iot firmware via augmented process emulation." 28th {USENIX} Security Symposium ({USENIX} Security 19). 2019. 

  44. Kim, Taegyu, et al. "RVFUZZER: finding input validation bugs in robotic vehicles through control-guided testing." 28th {USENIX} Security Symposium ({USENIX} Security 19). 2019. 

  45. Gui, Zhijie, et al. "FIRMCORN: Vulnerability-Oriented Fuzzing of IoT Firmware via Optimized Virtual Execution." IEEE Access 8 (2020): 29826-29841. 

  46. Yu, Bo, et al. "Poster: Fuzzing iot firmware via multi-stage message generation." Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security. 2019. 

  47. Srivastava, Prashast, et al. "FirmFuzz: automated IoT firmware introspection and analysis." Proceedings of the 2nd International ACM Workshop on Security and Privacy for the Internet-of-Things. 2019. 

  48. Shila, Devu Manikantan, Penghe Geng, and Teems Lovett. "I can detect you: Using intrusion checkers to resist malicious firmware attacks." 2016 IEEE Symposium on Technologies for Homeland Security (HST). IEEE, 2016. 

  49. Li, Yanlin, Jonathan M. McCune, and Adrian Perrig. "VIPER: verifying the integrity of PERipherals' firmware." Proceedings of the 18th ACM conference on Computer and communications security. 2011. 

  50. Eriksson, Jakob, Srikanth V. Krishnamurthy, and Michalis Faloutsos. "Truelink: A practical countermeasure to the wormhole attack in wireless networks." Proceedings of the 2006 IEEE International Conference on Network Protocols. IEEE, 2006. 

  51. Cao, Fei, Qingbao Li, and Zhifeng Chen. "Vulnerability Model and Evaluation of the UEFI Platform Firmware Based on Improved Attack Graphs." 2018 IEEE 9th International Conference on Software Engineering and Service Science (ICSESS). IEEE, 2018. 

  52. Sun, Pengfei, et al. "Hybrid Firmware Analysis for Known Mobile and IoT Security Vulnerabilities." 2020 50th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN). IEEE, 2020. 

  53. Shoshitaishvili, Yan, et al. "Firmalice-automatic detection of authentication bypass vulnerabilities in binary firmware." NDSS. 2015. 

  54. Maskiewicz, Jacob, et al. "Mouse Trap: Exploiting Firmware Updates in {USB} Peripherals." 8th {USENIX} Workshop on Offensive Technologies ({WOOT} 14). 2014. 

  55. David, Yaniv, Nimrod Partush, and Eran Yahav. "Firmup: Precise static detection of common vulnerabilities in firmware." ACM SIGPLAN Notices 53.2 (2018): 392-404. 

  56. Costin, Andrei, Apostolis Zarras, and Aurelien Francillon. "Automated dynamic firmware analysis at scale: a case study on embedded web interfaces." Proceedings of the 11th ACM on Asia Conference on Computer and Communications Security. 2016. 

  57. Visoottiviseth, Vasaka, et al. "Firmaster: Analysis Tool for Home Router Firmware." 2018 15th International Joint Conference on Computer Science and Software Engineering (JCSSE). IEEE, 2018. 

  58. Hernandez, Grant, et al. "Firmusb: Vetting USB device firmware using domain informed symbolic execution." Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security. 2017. 

  59. Davidson, Drew, et al. "{FIE} on firmware: Finding vulnerabilities in embedded systems using symbolic execution." 22nd {USENIX} Security Symposium ({USENIX} Security 13). 2013. 

  60. Zaddach, Jonas, et al. "AVATAR: A Framework to Support Dynamic Security Analysis of Embedded Systems' Firmwares." NDSS. Vol. 14. 2014. 

  61. Thomas, Sam L., Flavio D. Garcia, and Tom Chothia. "HumIDIFy: a tool for hidden functionality detection in firmware." International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment. Springer, Cham, 2017. 

  62. Chen, Daming D., et al. "Towards Automated Dynamic Analysis for Linux-based Embedded Firmware." NDSS. Vol. 16. 2016. 

  63. Okmianski, Anton, Mickael Graham, and Joshua B. Littlefield. "Method of identifying a home gateway using network traffic sniffing and apparatus employing the same." U.S. Patent No. 7,505,464. 17 Mar. 2009. 

  64. Chong, Hon Fong, and Danny Wee Kiat Ng. "Development of IoT device for traffic management system." 2016 IEEE Student Conference on Research and Development (SCOReD). IEEE, 2016 

  65. Lu, Chung-Ming. "Communication system for devices with UART interfaces." U.S. Patent No. 7,650,449. 19 Jan. 2010. 

  66. Zadigian, Timothy, Jonathan Stroud, and Michael Moriarty. "JTAG-based programming and debug." U.S. Patent No. 8,856,600. 7 Oct. 2014. 

  67. Rosenfeld, Kurt, and Ramesh Karri. "Attacks and Defenses for JTAG." IEEE Design & Test of Computers 27.1 (2010): 36-47. 

  68. Hwang, Joo-Young, et al. "Xen on ARM: System virtualization using Xen hypervisor for ARM-based secure mobile phones." 2008 5th IEEE Consumer Communications and Networking Conference. IEEE, 2008. 

  69. Ito, Masayuki, et al. "An 8640 MIPS SoC with independent power-off control of 8 CPUs and 8 RAMs by an automatic parallelizing compiler." 2008 IEEE International Solid-State Circuits Conference-Digest of Technical Papers. IEEE, 2008. 

  70. Pastrnak, Milan, et al. "Data-flow timing models of dynamic multimedia applications for multiprocessor systems." 4th IEEE International Workshop on System-on-chip for Real-time Applications. IEEE, 2004. 

  71. Avgerinos, Thanassis, et al. "AEG: Automatic exploit generation." (2011). 

  72. Firmware Mod Kit, [online] Available: https://github.com/rampageX/firmware-mod-kit/wiki 

  73. Binwalk, https://github.com/ReFirmLabs/Binwalk. 

  74. Pa, Yin Minn Pa, et al. "IoTPOT: analysing the rise of IoT compromises." 9th {USENIX} Workshop on Offensive Technologies ({WOOT} 15). 2015. 

  75. Bellard, Fabrice. "QEMU, a fast and portable dynamic translator." USENIX Annual Technical Conference, FREENIX Track. Vol. 41. 2005. 

  76. Zheng, Yaowen, et al. "FIRM-AFL: high-throughput greybox fuzzing of iot firmware via augmented process emulation." 28th {USENIX} Security Symposium ({USENIX} Security 19). 2019. 

  77. Microsoft, "Security Development Lifecycle - SDL Process Guidance Version 5.2", 2012 

관련 콘텐츠

오픈액세스(OA) 유형

FREE

Free Access. 출판사/학술단체 등이 허락한 무료 공개 사이트를 통해 자유로운 이용이 가능한 논문

섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트