Learning Device Models with Recurrent Neural Networks
John Clemens

TL;DR
This paper demonstrates that recurrent neural networks can learn accurate models of various hardware devices solely from input-output data, enabling applications like device validation and reverse engineering.
Contribution
It introduces a method for training RNNs to model hardware devices from finite data, showing successful modeling of six different devices including a UART serial port.
Findings
RNNs can learn models of hardware devices from input-output observations.
Models produce outputs equivalent to real hardware.
Applicable to diverse devices from simple circuits to complex serial ports.
Abstract
Recurrent neural networks (RNNs) are powerful constructs capable of modeling complex systems, up to and including Turing Machines. However, learning such complex models from finite training sets can be difficult. In this paper we empirically show that RNNs can learn models of computer peripheral devices through input and output state observation. This enables automated development of functional software-only models of hardware devices. Such models are applicable to any number of tasks, including device validation, driver development, code de-obfuscation, and reverse engineering. We show that the same RNN structure successfully models six different devices from simple test circuits up to a 16550 UART serial port, and verify that these models are capable of producing equivalent output to real hardware.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
