Date of Award


Degree Type


Degree Name

Master of Science in Engineering (MSE)


Aeronautics and Astronautics

First Advisor

Inseok Hwang

Committee Chair

Inseok Hwang

Committee Member 1

Martin Corless

Committee Member 2

Dengfeng Sun


With the increasing power and convenience offered by the use of embedded systems in control applications, such systems will undoubtedly continue to be developed and deployed. Recently, however, a focus on data-centric systems and developing network-enabled control systems has emerged, allowing for greater performance, safety, and resource allocation in systems such as smart power grids and unmanned military aircraft. However, this increase in connectivity also introduces vulnerabilities into these systems, potentially providing access to malicious parties seeking to disrupt the operation of those systems or to cause damage. Given the high potential cost of a failure in these systems in terms of property, sensitive information, and human safety, steps need to be taken to secure these systems. In order to analyze the vulnerabilities of unmanned aerial systems (UASs) specifically, a simulation testbed is developed to perform high-fidelity simulations of UAS operations using both software models and the actual vehicle hardware. Then, potential attacks against the control system and their corresponding intents are identified and introduced into these simulations. Failure conditions are defined, and extensive simulation of attacks in different combinations and magnitudes are performed in both software and hardware in order to identify particularly successful attacks, including attacks that are difficult to detect. From these results, vulnerabilities of the system can be determined so that appropriate remedies can be designed. Additionally, stealthy false data injection attacks against linear feedback systems are considered. The identification of these attacks is formed as an optimization problem constrained by the ability of monitoring systems to detect the attack. The optimal attack input is then determined for an example application so that the worst case system performance can be identified and, if needed, improved.