
Mobile devices are increasingly coming under attack from malicious applications. As more complex operating systems (OS), such as Symbian, Windows Mobile, and Linux are used in handsets, providing security updates and identifying new vulnerabilities has become more complicated. Addition ally, frequent patching and rewriting of code to keep one step ahead of hackers undermines the utility and longevity of legacy software. What developers really need is an environment that is inherently safe from attack and provides the appropriate level of security for all code running in the target device. Secure, segregated areas for critical code must be combined with secure communications in order to provide protection for mobile devices.
Minimizing the “attack surface” of the code running on the underlying hardware in privileged mode is the first step for this system. The shorter the code, the fewer the bugs and the smaller the target. Ideally, a real-time microkernel running in privileged mode is used, using virtualization and hypervisor functions by taking exclusive control of the processor MMU. Then, system memory can be sectioned into segregated, secure cells where all other software runs in user mode.