Challenges in Drone Firmware Analyses of Drone Firmware and Its Solutions
Yejun Kim, Kwangsoo Cho, Seungjoo Kim
TL;DR
This paper tackles the lack of dynamic analysis for drone firmware by focusing on DJI devices and proposing an automated end-to-end workflow: automated firmware decryption using a key-identifier dictionary, an embedded-board emulation environment to replicate drone operating conditions, and Android-AFL-based fuzzing for binary firmware. It addresses three core challenges—firmware acquisition/decryption, analysis-environment constraints, and library dependencies—through an integrated pipeline that culminates in scalable, automated vulnerability discovery. The authors demonstrate practicality on DJI firmware, achieving a substantial decryption success rate and a notable speed-up in fuzzing performance using a Beaglebone Black-based setup with Android KitKat, compared to analysis directly on the drone. The work advances drone security research by providing a replicable model that can extend to other UAV platforms and by open-sourcing the developed tools to facilitate broader adoption and improvement.
Abstract
With the advancement of Internet of Things (IoT) technology, its applications span various sectors such as public, industrial, private and military. In particular, the drone sector has gained significant attention for both commercial and military purposes. As a result, there has been a surge in research focused on vulnerability analysis of drones. However, most security research to mitigate threats to IoT devices has focused primarily on networks, firmware and mobile applications. Of these, the use of fuzzing to analyze the security of firmware requires emulation of the firmware. However, when it comes to drone firmware, the industry lacks emulation and automated fuzzing tools. This is largely due to challenges such as limited input interfaces, firmware encryption and signatures. While it may be tempting to assume that existing emulators and automated analyzers for IoT devices can be applied to drones, practical applications have proven otherwise. In this paper, we discuss the challenges of dynamically analyzing drone firmware and propose potential solutions. In addition, we demonstrate the effectiveness of our methodology by applying it to DJI drones, which have the largest market share.
