| Embedded Security: Down to the Silicon |
|
|
| Jul 01 2007 | |
|
Page 3 of 3
advertisement: Barring those options, a simple logic analyzer may be attached to the memory bus to extract information as it moves between the CPU and memory. It has even been shown that meaningful data can be extracted from the status LED on a CDROM drive! Given all the options available to an attacker that has physical access to the machine, how can we ever hope to secure a device that is out in the field somewhere? Well, fortunately, there are a few ways that we can harden a device against attacks through physical means. The easiest form of physical security is to simply coat your entire device in tough epoxy so that any attempt to access the device will inevitably result in its destruction.
This is probably not a practical solution for many applications (heat dissipation is the most immediate problem that comes to mind), but there are other options. One of the easiest ways to protect against logic analyzer attacks is to use an all-in-one microcontroller that incorporates program storage, RAM, and the CPU in a single package; if a bus does not exist, there is no place to hook the analyzer. However, even that solution can be thwarted by removing the packaging and getting down to the silicon itself, but at least it’s much harder for the attacker to do that since he probably only gets one shot at it. If the security of on-chip RAM and program storage can be compromised, what is left that we can do? Well, some microcontrollers actually integrate security right into the packaging. A fine grid of wires embedded in the chip packaging provides a fairly high level of security against removing the packaging or drilling holes in it for inserting probes. The wire grid works by providing a physical means of detecting a compromise of the packaging. If the grid is broken when the attacker drills a hole or inserts a probe, the chip immediately erases a piece of the non-volatile memory upon restart, thus preventing the attacker from gaining sensitive information such as encryption keys. Another variant of the solution is to provide a small integrated memory that is erased if a particular event occurs, such as plugging in a hardware debugger or accessing that memory from an external location (i.e. through a serial port). Finally, another solution to prevent prying eyes is to use what is basically “write-only” memory —that is, the memory can be written to directly but not accessed directly. This solution is used in cryptographic “helper” chips that provide cryptographic functionality to a host processor — cryptographic keys are written into the write-only memory and then are only used internally for the cryptographic operations. The security of embedded applications is of paramount importance as increasingly intelligent networked devices invade our homes and workplaces. Without an intelligent and conscious approach to embedded security, we are leaving our well-being exposed to numerous threats. We are only beginning to see the proliferation of these highly-networked applications, and we must be ready to take on all the new security challenges presented by this new way of thinking. This article was written by Timothy Stapko, Senior Software Engineer at Rabbit Semiconductor (Davis, CA). For more information, contact Mr. Stapko at rabbit@rabbitsemiconductor. com or visit http:// info.hotims.com/10972-402. Prev: Next-Gen Networks Drive AdvancedTCA Deployments Next: SMP vs. AMP: How Homogenous Is Your Embedded System? |






