=========================================================================================================================================
Machine Learning for Drone Security
Approach 1: use existing data to frame objective for application of Machine Learning of Drone Security
Approach 2: Clearly define objective then acquire desired data.
Idea 1:
Multi-variable Logistics Regression to Identify plain text command
Input/X: intercepted cipher text
Output/Y: Command 1, command 2, command 3, command 4 (ascend, descend, accelerate, decelerate, ground)
Features: known plain text, known cipher text
(****This is a known plain text attack*****)
Difficulty: Very Difficult, as this tasks aims to crack proprietary encryption algorithm
Idea 2:
Logistics Regression to identify drone type
Input: intercepted cipher text
Output: military grade drone or non-military drone
Features: known plain text, known cipher text, drone specification, other?
Difficulty: Moderate. Drone specification can be easily found online. However may need additional data.
*************************************************************************************************************************************************************
Project Report (Draft 1)
The purpose of this 10 week project is to gain basic understanding of Machine Learning (ML)techniques as to apply them to drone security.
The first phase of the project is learning fundamental Machine Learning concepts, techniques, tools, and best practices. This was accomplished by completing Standford's Machine Learning Course on Coursera. The weekly exercises accompanying the course provided hands-on practices to implement: gradient descent for linear and logistics regression, neural networks, supervised vs unsupervised learning, forward and back propagation, parameter tuning, regularization, and normalization.
We explored programming platforms available: Matlab, Matlab Light, Octave, and Python. We found that for the purposes of this course and project, online Matlab Light was sufficient to satisfy our requirements. Further, learning the Matlab programming language is a skill transferable to Octave. Throughout the course, we used Matlab programming and built in functions to plot, create supervised and unsupervised learning models, and verify results.
The next phase of the project is to apply Machine Learning techniques to the ongoing Drone Security at University of Hawaii.
First, we examined existing data. During previous projects, students collected and scrubbed intercepted wifi ciphertext between drone controller and the craft. Numerous flights for 4 drones were collected, totaling over 100,000 packets for each drone. Students then used Wire Shark tool to obtain the plaintext message associated with the ciphertext. The effort so far has been performing known plaintext attack.
Combining newly acquired machine learning tools and existing datasets, we propose the following approaches:
Define problem set based on data available, and apply ML techniques to solve the problem.
Clearly define the problem, decide if existing data is sufficient to solve the problem, acquire additional data if necessary, then apply ML techniques to solve the problem.
More specifically, the following problems are proposed:
Use multi-variable logistics regression to identify plain text command
Use multi-variable logistics regression to identify drone type
For proposal one, the goal is to train the ML model to predict the plaintext command from controller to drone. The most common commands can be categorized into: ascend, descend, accelerate, and decelerate. Supervised learning may be appropriate to automatically group data into one of these four boundaries. Features for training samples can be: intercepted cipher text, decrypted plaintext. (Other data are available such as data length and message length, however these are superfluous features because WPA2 encryption is based on AES, which outputs ciphertext of similar length, thus making brute force attack nearly impossible). This approach may be very difficult to execute since it's basically trying to break existing proprietary encryption algorithm.
For the second proposal, the goal is to train the ML model to predict what kind of drone is intercepted. This may be a binary or a multivariable logistics regression. A simple example of binary logistics regression could be: military drone or non-military drone. Features for training sample could be: known cipher text, technical specification of the drone such as size, length, max altitude/flight length, wifi information. This approach will require additional information, however, all technical specifications can be easily found on manufacturer websites.