Attacks against endpoints of our interconnected cyberspace, such as laptops and mobile devices, are becoming more prevalent. Attackers can steal data-processing capacity and/or leak user data from a user's web browser, automobiles can be commandeered by violating the integrity of safety-critical software, virtual currency can be stolen by corrupting mobile games, critical infrastructure can be subverted by manipulating electrical meters, and Internet-of-Things devices in our homes can be hijacked. Reverse engineering and anti-reverse engineering are important topics in cybersecurity. Malicious actors may seek to reverse engineer software and hardware to find vulnerable points to attack. Conversely, these concepts can be used defensively by cybersecurity professionals to identify and strengthen vulnerabilities in hardware and software, and to prevent exploitation. This project will develop a collection of educational resources for teaching reverse engineering and anti-reverse engineering concepts to undergraduate and graduate level computer science students. These resources will stress the interplay between reverse engineering and anti-reverse engineering, and how progress in one drives progress in the other. As a result of this project, computer science students will enter the workforce with a better understanding of how to defend against endpoint attacks, which will benefit national security.

The goal of this project is threefold: to give students the mental tools necessary to understand the low-level nature of many of the cybersecurity issues seen today, to increase student proficiency in dissecting and analyzing different forms of executable code, and to ensure students are familiar with techniques for protecting against attacks. Particular emphasis is placed on the interplay between reverse engineering and anti-reverse engineering. Over time, the design of more powerful program analysis techniques has driven the development of new software protection techniques to counter them, and vice versa. It is the goal of this work to provide students with the intellectual tools and practical skills to appreciate this ongoing struggle and to prepare them for future developments throughout their careers. To accomplish this goal, the project team proposes to develop a structure termed "LIGERLabs" to foster undergraduate and graduate computer science students' abilities in reverse engineering and anti-reverse engineering. LIGERLabs will include a collection of recorded video lectures and animations, virtual machines with pre-installed attack and defense tools, write-ups and answer-sheets for paper-and-pencil homework exercises and in-class collaborative exercises, take-home programming assignments, and generators and auto-graders of reverse engineering exercises. To generate appropriately calibrated reverse engineering exercises, this project will conduct studies of students from different backgrounds to build up a schedule of exercises of appropriate complexity.

This project is supported by the Secure and Trustworthy Cyberspace (SaTC) program, which funds proposals that address cybersecurity and privacy, and in this case specifically cybersecurity education. The SaTC program aligns with the Federal Cybersecurity Research and Development Strategic Plan and the National Privacy Research Strategy to protect and preserve the growing social and economic benefits of cyber systems while ensuring security and privacy.

This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.

Agency
National Science Foundation (NSF)
Institute
Division of Graduate Education (DGE)
Type
Standard Grant (Standard)
Application #
2029632
Program Officer
Nigamanth Sridhar
Project Start
Project End
Budget Start
2020-10-01
Budget End
2023-09-30
Support Year
Fiscal Year
2020
Total Cost
$400,000
Indirect Cost
Name
University of Arizona
Department
Type
DUNS #
City
Tucson
State
AZ
Country
United States
Zip Code
85719