IoT devices are becoming more and more popular with their various convenience, some of them such as routers and hubs play a vital role in the connection of each IoT devices. Due to the characteristic of the IoT devices, despite its essential role, the security of the software in the devices was not considered enough, and they are still connected to the Internet with the weak security. To improve the security of IoT devices by finding vulnerabilities, many kinds of research attempt at emulating the devices in various manners.
One major emulation technique is that fully virtualize the whole system of device firmware; and full-system-emulation has many advantages such as low false positive rate, scalability, and no physical limitations. However, it has many challenges about inconsistencies in the execution environment. In this paper, we present FIRMADYNE-EX, fully automated and parallelized firmware emulation and pentesting system based on the FIRMADYNE. We solved the problems of the previous research about booting sequence, network setting, NVRAM library, and so on. As the results, the FIRMADYNE-EX has the high success rate of emulation. Finally, we developed the fuzzer which can find vulnerabilities which hard to verify by leveraging the emulated environment.
With the wireless router and IP-camera firmwares on the 3 vendors (D-Link, NETGEAR, tp-link), the FIRMADYNE-EX achieved the high emulation success rate as 86% compared with 19% on the FIRMADYNE. For evaluation, we collected 560 latest distinct firmwares on 8 vendors. 234 firmwares on 3 vendors are the main set which we worked intensively, and our work emulated them with an average 79% compared with the 16% of previous work. The rest 326 firmwares on the other 5 vendors are sub-set which shows the similarity and difference with the main-set. Finally, we found 56 previously known vulnerabilities, some of them were found across each other vendors. Moreover, we found 25 new vulnerabilities which are previously unknown by using the new fuzzer, specialized in the emulation environment.
IoT 기기들은 다양한 편의성으로 인해 점점 더 대중화되고 있으며, 라우터 및 허브와 같은 일부 기기들은 각 IoT 기기들의 연결에서 중요한 역할을 한다. IoT 기기의 특성으로 인해 필수적인 역할에도 불구하고 기기의 소프트웨어 보안은 충분히 고려되지 않았으며 약한 보안으로 인터넷에 연결되어 있다. 취약점을 발견하여 IoT 기기의 보안을 향상시키기 위해 여러가지 종류의 연구가 다양한 방법으로 기기들을 에뮬레이트하려고 시도한다.
한가지 주 에뮬레이션 기술은 장치 펌웨어의 전체 시스템을 완전히 가상화하는 것이다. 전체 시스템 에뮬레이션은 낮은 오탐지율, 확장성 및 물리적 한계가 없다는 등 많은 장점을 가지고 있다. 그러나 실행 환경의 불일치에 대한 많은 문제가 있다. 이 논문에서는 FIRMADYNE을 기반으로 완전히 자동화되고 병렬화 된 펌웨어 에뮬레이션 그리고 취약점 점검 시스템인 FIRMADYNE-EX를 제시한다. 우리는 부팅 순서, 네트워크 설정, NVRAM 라이브러리 등에 대한 이전 연구의 문제점들을 해결했다. 그 결과, FIRMADYNE-EX는 높은 에뮬레이션 성공률을 가졌다. 마지막으로 에뮬레이션된 환경을 활용하여 검증하기 어려운 취약점을 찾을 수 있는 퍼저를 개발했다.
FIRMADYNE-EX는 3개 벤더 (D-Link, NETGEAR, tp-link)의 무선 라우터와 IP카메라 펌웨어들을 사용하여 FIRMADYNE의 19%와 비교하여 86%의 높은 에뮬레이션 성공률을 달성했다. 평가를 위해 8개 공급 업체에서 560개의 최신 펌웨어를 수집했다. 3개 벤더의 234개의 펌웨어가 집중적으로 작업한 메인셋이며, 우리의 작업은 이전 작업의 16%와 비교하여 평균 79%로 에뮬레이트 되었다. 다른 5개 벤더의 나머지 326개 펌웨어는 서브셋으로, 메인셋과의 유사성 및 차이점을 보여준다. 마지막으로, 56개의 이전에 알려진 취약점을 발견했으며 그 중 일부는 서로 다른 공급 업체에서 발견되었다. 또한 에뮬레이션 환경에 특화된 새로운 퍼저를 사용하여 이전에 알려지지 않았던 25개의 새로운 취약점을 발견했다.