datasheets.com EBN.com EDN.com EETimes.com Embedded.com PlanetAnalog.com TechOnline.com  
Events
UBM Tech
UBM Tech

Design Article

MILS architecture simplifies design of high assurance systems – Part 1

Paul Parkinson and Arlen Baker, Wind River

8/11/2011 12:36 AM EDT

MILS platform implementation approach
Two of the fundamental security policies, data isolation and periods processing, have some commonality with the two fundamental concepts of integrated modular avionics (IMA): spatial partitioning and temporal partitioning.7 There are also some key differences in relation to safety and security objectives, however, and while it might be convenient to reuse an existing Avionics Application Standard Software Interface (ARINC 653) real-time operating system (RTOS) implementation as the basis for a MILS implementation, this approach has some fundamental drawbacks.8 First, it would be costly to perform a Common Criteria security evaluation of an ARINC 653 RTOS kernel at high evaluation assurance levels (EAL) due to the relatively large size of the kernel. This is because the ARINC 653 kernel implements extensive functionality, including a health-management framework for process-level, partition-level, and module-level recovery and restarts, as well as inter-processor communications features that enable communications such as ARINC 653 blackboards between IMA applications running at the same security classification. Such functionality may not be appropriate for use in multilevel secure systems.

Second, ARINC 653 kernels can provide the option of implementing device drivers in kernel space. This approach can increase I/O performance but requires the device driver to undergo safety certification to the same level as the kernel, which in turn needs to be safety-certified to the level of the most critical application. (In cases in which the driver is sufficiently large and/or the safety level is sufficiently high, the device driver can be implemented in an I/O partition in user space instead.)

When Wind River set out to make its VxWorks RTOS MILS compliant, we started the implementation of the VxWorks MILS 2.0 separation kernel with a clean slate. We developed the kernel using state-of-the-art virtualization technology, which resulted in a secure kernel that implements the four fundamental security policies for MILS while achieving the small footprint necessary for security evaluation at Common Criteria EAL 6+ (see figure 2).


Figure 2: The VxWorks MILS 2.0 architecture features a separation kernel running in kernel mode, providing partitions or virtual boards, which contain different guest operating systems. (Courtesy of Wind River Services)
The VxWorks MILS 2.0 separation kernel is compliant with SKPP. Although the SKPP was sunsetted by NIAP on June 1, 2011, NIAP and NSA stand behind the separation kernel as a secure, foundational technology for high assurance systems. The SKPP specifies a set of security policies based on the Common Criteria security functional requirements and security assurance requirements, tailored for separation kernels. These include information flow control (information flow); resource isolation (data isolation and fault isolation); trusted recovery (data isolation and fault isolation); audit (which augments security policy); and trusted initialization and trusted delivery, which are outside the scope of the separation kernel itself. The SKPP thus provides the foundation for a MILS system and can be augmented with other components and protection profiles using a compositional approach — for example, using a secure network stack compliant with a future MILS Network Subsystem Protection Profile (MNSPP).

Data isolation
The VxWorks MILS 2.0 separation kernel uses a Type 1 or native hypervisor, which enables guest operating systems to run on top of the separation kernel in a virtualized environment. Two approaches are often used here: paravirtualization, in which the guest operating system is modified to improve system performance in the absence of hardware virtualization support; and full virtualization, in which the guest operating system runs unmodified due to the presence of hardware virtualization support.

VxWorks MILS 2.0 exploits the virtualization capabilities of modern processors such as those developed by Freescale and Intel. For processors with Intel Virtualization Technology (Intel VT), the separation kernel is able to use the processor hardware support to run guest operating systems in a virtual machine environment, or partition, on top of the separation kernel at a reduced processor privilege level. It can also prevent the guest operating system from accessing physical memory outside of its virtual machine. This data isolation is implemented and controlled solely by the separation kernel and is not dependent on the cooperation of the partitions to achieve virtualization. In the case of processors without hardware virtualization support, the separation kernel enforces data isolation using the processor’s memory management unit (MMU).

VxWorks only allows MILS 2.0 device drivers to run in partitions in processor user mode, rather than in the separation kernel in processor supervisor mode. Allowing the latter would undermine the evaluation of the trusted separation kernel and dramatically increase the size of the trusted computing base. This contrasts with some other MILS implementations that allow device driver code to run in the separation kernel, rendering it potentially vulnerable to the actions of untrusted code in the device driver. 




EREBUS

8/18/2011 4:00 PM EDT

Hi Paul,

I agree, multilevel security will only work if you maintain rigid partitions. I also think that data encryption should be a normal process. The data owner should encrypt the data being sent to the server and the server should establish who other than the owner can have access. Whenever the data is used or accessed withing the server, it is never decrypted except by owner designated processes, which should already possess the acess code.
With this approach, anyone who manages to download the data must still have the decrypt key before the data can be used. No one can just tap the line for the data, because all they will see is encrypted data.
Most of these issues should be transparent to the owner once their account is established and anyone trying to crack the server can immediately generate alerts if they try to access anything for which they have not been give access to.

Thanks

Sign in to Reply



Please sign in to post comment

Navigate to related information

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)