# An Evaluation of the Security of Bare Machine Computing (BMC) Systems against Cybersecurity Attacks
## 3 Bare Machine Computing (BMC) Systems
### Properties of the BMC Paradigm
#### 3.5.2 BMC Characteristics
The code is simpler and more directly accessible to the program. 15. I/O: There are direct hardware APIs that are hidden within an application suite. 16. Third-Party Software: There is no third-party software used in applications. 17. Network Interfaces: All network interfaces are hidden from the outside world. Attackers cannot use this direct hardware API. 18. Internet Communication: Communication on the Internet is restricted to a bare Internet and its bare users only. 19. Internet Downloads: No downloads are allowed. 20. IoT: All IoT devices must be bare computing devices and follow the BMC paradigm and its characteristics as described in this paper. 21. Application Program Control: A given application has its own control flow as intended at design time. 22. Computing Device: A computing device (PC, laptop, smartphone, or other) is bare, meaning that it has no intelligence, no OS, and no mass storage. It cannot boot or run until external media runs the boot code and loads an application suite controlled by the owner. The bare device has no valuable resources. Thus, a bare computing device can be used by any user at any time. When one application suite is running, another one cannot run; therefore, there is no intrusion from other applications. There is nothing in the bare computing device to be attacked, as there are no valuable resources when it is not running. When a bare device is running, it must be physically secured by the owner. Physical security at the bare box is not convenient, but it is required to guarantee security of the device and the running application suite. 23. Users: Only bare users can communicate with each other. For a given domain-specific application, there are a limited number of bare users. They must be physically authorized, authenticated, and controllable. We have not defined any formal methods for authentication at this point; however, we can use existing models in banking, driver's license, etc. Our BMC system is totally controlled by its owner, with physical security. If a trusted user changes roles and tries to exploit other bare systems, this user can only damage his/her own system and not those of others. This is because an owner's valuable resources can only be accessed by the owner's application suite. When a BMC application suite is running, it is a closed system that performs only intended functions. In addition, when the roles of trusted users change, their privileges are changed in the system. In the bare machine computing model, each bare box and an application suite is owned by an owner, and it is physically secured. If an outsider or insider gained the same knowledge as the original developer, then they could reconstruct a similar system of their own. However, they will be using their own system at their own location. All valuable resources are accessible only by the owner and stored in an owner's detachable mass storage. Moreover, if they come through the network, they will not be able to access resources, as only trusted users are allowed to communicate within the domain. Users within the domain are vetted and authenticated to communicate within the group for each transaction. In this model, all users in the group must be physically trusted. This system cannot solve insider attacks and physical security violations. All the bare nodes in the system as well as on the network must be bare and physically secure. This is a harsh requirement, but it is necessary to build highly secure systems. 24. Messages: Each message is encrypted, integrity-protected, and authenticated using credentials physically given to authorized users by an administrator. 25. User-Secured USBs: Uses two USBs, one bootable and one with an encrypted application suite. These USBs must be physically secured by a user. 26. BIOS/Firmware: Bundled with a domain-specific application suite (not implemented currently). 27. Protocols: A bare machine connects to a network via wired Ethernet. Network protocols are limited to IP and UDP (TCP/TLS is used for demonstration only) implemented within the bare application.