So, the first step was to determine what the satellite originally did. And to do that, they'd need to work in reverse.
Semantic Reverse Engineering (a.k.a. Figuring Out the Old Job)
In computer science, "semantics" refers to the meaning of an instruction, or the process a computer performs when executing that instruction.
The team would need to reverse engineer a satellite's software to understand what the original instructions were.
This methodology stems from prior ISI projects that focused on capturing the semantics of cyber-physical systems' software, including a preliminary DARPA AIE (Artificial Intelligence Exploration) program. These are prior and ongoing efforts in different domains, such as drones and autonomous vehicles.
Luis Garcia, ISI Research Lead explained bringing this thinking to satellites, "When you think about analyzing this software, it's a reverse engineering project. You're trying to understand the semantics of these cyber-physical systems."
He continued, "Maybe you don't have access to the source code. Or maybe it's old software that you don't have the documentation for, and you want to have a better understanding about what this code is actually doing with respect to this physical system. Is it controlling how the satellite moves? Is it a communication issue? We wanted to know what the software was doing."
Can This Be Automated?
The idea was to automate or semi-automate the semantic reverse engineering.
Machine learning (ML) can be used to help automate many things; however ML models are trained by large datasets. There are a limited number of actual satellite software systems, which meant the team didn't have the vast amount of data helpful for training ML models.
"We were envisioning scenarios. But we wanted to understand if we could automate the process of a reverse engineer or a satellite expert trying to extract the representations of what's going on with the software? And that's difficult when you don't have access to a lot of data," said Garcia. How did the team solve this? Garcia explained, "Oftentimes we'd generate our own software datasets that simulated the kind of scenarios we were going after."
Their methodology worked, and the team was able to formalize a semi-automatic semantic reverse engineering pipeline, building on years of research at ISI with various agencies including DARPA and IARPA.
Bring on the New Job
Hussain said, "After doing semantic reverse engineering, we are exploring a process of guided restructuring to repurpose the satellite. In the long run, we would like to surgically replace software components to repurpose the satellite."
In this effort, Tangram Flex and ISI are partnering to ensure that the U.S. Space Force and commercial companies can rapidly, securely, and confidently upgrade on-orbit software components such that the system functions as intended and is cyber secure.
What's Next?
Hussain said, "This is a two-phase effort. We've completed Phase 1, which was to see if it is feasible to replace the software components within the satellites to repurpose them."
Tangram Flex is a product-driven software development company with expertise in components-based modeling and software development, as well as system modernization, integration, assurance, and autonomy.
Hussain continued, "In collaborating with Tangram Flex, we have come to a point where we believe that yes, it is feasible." They hope to continue their work once Phase 2 of the project is announced. In Phase 1, the team determined that replacing software on-orbit is possible; Phase 2 will be about putting that plan into action.
Provided by University of Southern California