Abstract
The protection from software Trojans in embedded systems is a difficult problem. The only way a software Trojan can be inserted into an embedded system is if the embedded systems instruction code is behaviorally modified. Trojans can be introduced into the system via new software installation, updates, or application input data such as buffer overflows. Trojans are really nothing more than unauthorized instructions being executed. We introduce an embedded vault architecture that prevents the insertion of Trojans in embedded systems which allow remote updating of the firmware.