18.01.2015 Views

Architecture and Design Considerations - Build Security In - US-CERT

Architecture and Design Considerations - Build Security In - US-CERT

Architecture and Design Considerations - Build Security In - US-CERT

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Multiple <strong>In</strong>dependent Levels of <strong>Security</strong>/Safety (MILS)<br />

Multiple <strong>In</strong>dependent Levels of <strong>Security</strong>/Safety (MILS) is a high-assurance security architecture for executing different securitylevel<br />

processes on the same high-assurance system. The goal of MILS is to simplify the specification, design, <strong>and</strong> analysis of<br />

security mechanisms. The MILS approach is based on the concept of separation, which tries to provide an environment which is<br />

indistinguishable from a physically isolated system. A hierarchy of security services can be obtained through separation. <strong>In</strong> this<br />

hierarchy, each level uses the security services of a lower level to provide a new security functionality on the higher levels. Each<br />

level is responsible for its own security domain <strong>and</strong> nothing else.<br />

The MILS architecture was created to simplify the process of the specification, design, <strong>and</strong> analysis of high-assurance computing<br />

systems. The MILS architecture breaks systems function into three levels: the application layer, the middleware service layer,<br />

<strong>and</strong> the separation kernel.<br />

The MILS separation kernel (SK), sometimes called the partitioner layer, is the base layer of the system. The SK is responsible<br />

for enforcing data separation <strong>and</strong> information flow control; providing both time <strong>and</strong> space partitioning. The SK should provide the<br />

following:<br />

» Data Separation – the memory address space, or objects, of a partition should be completely independent of other<br />

partitions. This separation helps isolate security critical code from non-security critical code, which in turn allows<br />

developers to focus more on verifying the security critical partitions.<br />

» <strong>In</strong>formation Flow – pure data separation is not practical so there is a need for the partitions to communicate with each<br />

other. The SK will define precise moderated mechanisms for inter-partition communication.<br />

» Sanitization – the SK is responsible for cleaning any shared resources (registers, system buffers, etc.) before allowing<br />

a process in a new partition to use them.<br />

» Damage Limitation – address spaces of partitions are separated, so faults or security breaches in one partition are<br />

limited by the data separation mechanism.<br />

Resources<br />

» “Embedded Systems: A Primer.” Bessin, Geoffrey, IBM, 24 November 2003.<br />

.<br />

» “Embedded Systems Glossary.” Barr, Michael, Netrino, .<br />

» “Execution Partitioning for Embedded Systems <strong>In</strong>crease <strong>Security</strong>, Reliability.” Schwaderer, Curt, Software<br />

Corner, June 2006. .<br />

» “Safety <strong>and</strong> <strong>Security</strong> <strong>Considerations</strong> for Component-Based Engineering of Software-<strong>In</strong>tensive Systems.”<br />

Goertzel, Karen Mercedes, et al., Booz Allen Hamilton, 7 February 2011. .<br />

» “Practical Embedded <strong>Security</strong>: <strong>Build</strong>ing Secure Resource-Constrained Systems.” Stapko, Timothy,<br />

» “<strong>Security</strong> in Embedded Systems: <strong>Design</strong> Challenges.” Ravi, Srivaths, et al., 3 August 2004.<br />

.<br />

23 Software Assurance Pocket Guide Series:<br />

Development, Volume V – Version 2.0, May 18, 2012

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!