As the number of embedded devices has grown, the interest on their potential vulnerability has also increased. The recent Mirai botnet case showed that insecure embedded devices were used to melt down US East Coast, by a denial of service attack on Dyn.
To mitigate future generation of botnets such as Mirai, the vulnerable embedded devices should be identified. For this, researchers have been focusing on large scale dynamic analysis rather than time-consuming manual analysis. Because it is hard to physically acquire the real devices, researchers have been studying on emulating the device firmwares. However, emulating such large number of embedded devices is challenging due to the inconsistencies of the execution environment. The Firmadyne framework tried to address the emulation challenges, but their success rate, 24%, is insufficient to deter the upcoming IoT attacks.
To boost up the emulation success rate, we utilized Firmadyne as a basis and further extended emulation techniques. We, especially, focused on emulating a web service on wireless home routers, which is considered to be the most vulnerable and critical to our daily lives if vulnerable. With cause analysis on the emulation failure, we identified multiple previously uncovered problems and addressed them. By applying our techniques, we successfully emulated 399 (82%) of firmwares from the global top 5 router vendors, including the web servers. To verify the effectiveness of our work, we also performed dynamic analysis to find vulnerabilities on the emulated web servers. As a result, we discovered 22 types of 247 vulnerabilities on 125 firmwares, where 155 of them were previously unknown. For more verification, we also tested on network-enabled IP cameras. We successfully emulated 46 firmwares (88%) and found 42 vulnerabilities with a dynamic analysis.
최근 사물인터넷의 발달과 더불어 임베디드 기기가 폭발적으로 증가하고 있으나, 이들은 보안 관점에서는 매우 취약한 것으로 알려져 있다. 특히 최근 발견된 미라이 봇넷은 임베디드 장비의 백도어를 이용하여 대규모 디도스 공격에 사용하였다. 이처럼 최근 급증하고 있는 임베디드 시스템 보안 위협에 대처하기 위해 임베디드 장비의 취약점을 점검하기 위한 수요가 커지고 있다. 실제 장비를 대상으로 대규모 취약점을 분석하는 것은 실효성이 떨어지므로 펌웨어에 대한 소프트웨어 기반 에뮬레이션 방법을 통해 취약점을 분석할 수 있는 환경이 필요하나, 실제 장비와 에뮬레이션 환경의 차이로 인해서 다양한 문제점들이 발생하게 된다. 관련 연구를 수행한 Firmadyne 많은 제한사항을 자동화된 프레임워크를 통해 해결하였지만 성공률은 24%에 그쳤다. 이 논문에서는 대규모 임베디드 시스템의 취약성을 동적으로 분석하기 위한 펌웨어 에뮬레이션 방법론을 다루었다. 우리는 Firmadyne에 기반하여 다양한 에뮬레이션 기법들을 접목시켜 이를 확장시켰다. 특히 널리 보급되어 있는 무선 공유기의 웹 서버를 에뮬레이션의 주요 목표로 선정하였다. 그 결과 500개 이상 다수 펌웨어들에 대해 82%의 높은 성공률로 에뮬레이션에 성공하였으며, 동적 분석을 통해 22종 247개 취약점을 식별하였다. 추가적으로 네트워크 기반 임베디드 제품군의 IP 카메라를 대상으로도 88% 성공률로 에뮬레이션하여 42개 취약점을 발견하였다. 본 연구를 활용하여 임베디드 장비의 잠재적인 취약점을 효과적으로 진단할 수 있을 것으로 기대된다.