1. A method of providing security to a device, the device including a plurality of input processing modules within an input system, a plurality of control processing modules within a control system, a plurality of execution processing modules within an execution system, and a multi-channel internal communication bus whereby at least one of the plurality of input processing modules, at least one of the plurality of control processing module, and at least one of the plurality of execution processing module are coupled for data and control transmissions therebetween, and wherein the device is adapted to communicate with an external communications network and receive a plurality of external messages over a period of time at the plurality of input processing modules, which plurality of external messages have data portions therein that are used by at least one of a plurality of applications, the method comprising: configuring the plurality of input processing modules to each present a different attack surface at different intervals within the period of time to the received plurality of external messages from the external communications network, each different attack surface corresponding to a different processor executing a different instruction set and a different operating system; receiving each of the plurality of external messages from the external communications network only at the plurality of input processing modules and not at the plurality of control processing modules and not at the plurality of execution processing modules; for each received external message, message processing occurs only after each received external message is validated; upon validation, transmitting certain data portions of a received message using the multi-channel internal communication bus to one of the plurality of execution processing modules; and executing solely within the one of the plurality of execution processing modules a corresponding one of the plurality of applications using the certain data portions.