- Design and develop methods and tools that analyse flight log and media data for reconstructing historical and trajectory flight paths
- Design and develop methods and tools that analyse sensor measurements for detecting drone hardware anomalies
- Design and develop methods and tools that analyse flight behaviors for detecting software anomalies such as malware infection, remote attacks, safety violations, software vulnerabilities, control and semantic bugs, etc.
EXISTING SOLUTIONS AND THEIR LIMITATIONS
- Existing approaches lack holistic analysis of drones. To detect safety and security issues of drones, it is necessary to analyse drone firmware, controller app, and autopilot functions.
- Current fuzzing approaches used for detecting anomalies in the drone focus on control and semantic bugs only.
OUTCOME AND DELIVERABLES
- Methods and tools that parse flight log data into a machine-analysable format and constructs historical and trajectory flight paths
- A prototype that generates and executes test cases for observing drone behaviours in a flight simulator
- Methods and tools that analyses integrity of drone firmware and mobile controller app
- Methods and tools that analyses sensor measurements for detecting drone hardware anomalies
- Methods and tools that analyse flight behaviors for detecting software anomalies
PRACTICAL APPLICATIONS AND IMPACT
- Auditing drones for anomalies before sanctioning for specific missions or public/commercial/industrial uses
- Extracting digitized incriminating evidence for accountability, when a drone-related criminal/malicious activity occurs
Key approach. ADrone constructs finite state automata that model drone behaviors inferred from the log data. Treating the Drone’s control program or autopilot function as a black box, ADrone generates and executes test inputs. The behavior model is used to guide the test generation, explore the state space of drone’s behaviors systematically, reach deep states, and uncover bugs that require specific sequences of events/inputs. The input spaces (commands, configuration parameters, etc.) are perturbed to identify if there are anomalies in the drone behaviors or how the drone reacts to abnormal inputs such as sending an invalid user command or configuration parameter, e.g., invalid velocity, abrupt change in direction, etc.