You are on page 1of 6

Hardening High-Assurance Systems:

MILS as Software Design for Avionics


Kevin Mueller
Airbus Operations
Hamburg, Germany
Kevin.Mueller@airbus.com

Abstract—The aviation industry needs to assure the reliable their reliable operation. Historically reliable operation was
operation of aircrafts. While this reliability has many aspects, assurance by the absence of unacceptable risks factors reasoned
this talk focused on the aspect of information technology for the by the physical conditions of the operational environment.
electronic on- and off-board equipment. Modern architectures of However, the landscape of IT infrastructures has been
avionics, the aircraft's electronic systems, are driven by denser changing, among others also due to increased connectivity of
integration into embedded platforms and the interconnection of systems. This demands additional efforts to protect high-
these systems to each other. In addition, the aircraft's ecosystem assurance systems against criminal attempts to temper with the
demands new connectivity solutions for several stakeholders, e.g. systems. This security protection implies the need on a
passengers, airlines or air traffic management. This trend of
changing mindset and new technologies as the common safety
transferring the previously closed, federated systems into
interconnected Integrated Modular Avionics offering additional
models that rely on static, probabilistic failure conditions are
services introduces the potential risk of threads and increased only limited applicable to security.
attack surfaces allowing intruders to harm the operation of the In safety, a failure condition with a certain, very low
aircraft. To counter these threats is challenge for the aviation likelihood (e.g. 10-9 failures per defined operational hours) can
industry that needs new system design approaches. be acceptable over the full life time of a product. Compared in
The concept of Multiple Independent Levels of Security security, the threat environment changes as new vulnerabilities
(MILS) can provide such a system design for equipment can appear depending on the attacker’s available resources and
operating in high-assurance environments. Due to its properties
time. Also as soon as a vulnerability is exploitable with certain
of separation and controlled information flow, MILS is a
promising design approach for the secure integration of several
efforts, it usually needs immediate attention to fix. Hence,
systems into one hardware platform. While this idea has been goals for developing secure systems are the reduction of the
part of research for the last decades, MILS can also be used as possibilities to introduce vulnerabilities in the code and
software design concept for one embedded system. This approach hardened system designs with means on self-protection to
divides the system under development into several sub-functions avoid propagations of already compromised parts.
that can be implemented and executed inside isolated runtime This paper presents the IT security environment in the field
compartments. Information flows between these compartments
of avionics. It further studies on the design concept of Multiple
are mediated by the MILS platform. This divide-and-conquer
Independent Levels of Security (MILS) that according to
approach decouples critical code from less critical code, limits the
perimeters of the internal software dependencies and allows a literature allows secure system designs. The study implemented
localized verification of sub-functions. a typical avionic use case, a security gateway for information
This paper presents the general security environment to flow control, using the MILS design principles. One goal in
develop and operate avionics, explains the introduced MILS this study was to validate whether MILS as software
software design approach in more detail, provides the identified architecture to implement such a use case is generally possible
advantages and disadvantages using this concept, and discusses and achieves the desired effects to allow evaluable software.
the results of a feasibility study using a common avionic high- Furthermore, we evaluated on positive effects and challenges
assurance system to control the information exchange on security induced by applying MILS.
domain borders.
Keywords—High-assurance, MILS Section II provides related work on the subject of this
paper. Section III describes the environment of security in
I. INTRODUCTION avionics briefly. Section IV introduces the design concept of
Multiple Independent Level of Security (MILS). Section V
High-assurance systems deployed in industries such as
describes the exemplary use case of the avionic gateway.
aviation, automotive or transportation systems, medication or
Section VI concludes this paper.
power grid need to handle a growing demand on system
functionality and complexity with appropriate means to assure

www.embedded-world.eu
II. RELATED WORK IV. MULTIPLE INDEPENDENT LEVELS OF SECURITY (MILS)
Paulitsch et al. [1] provide an extensive overview on The system design concept of Multiple Independent Level
challenges in safety and security for mixed-criticality of Security (MILS) allows the deployment of sub-systems
embedded systems, in particular, by investigating on processing different security levels into one system. This
challenges in avionics and railway systems. The analysis integration allows to better utilize the available processing
covers the important design regularities in both industries but power of modern hardware. MILS uses the properties of
also software and hardware challenges, especially when being Separation of Resources and Controlled Information Flow. For
in the need to use modern hardware. resource separation, the concept needs to deal with two
dimensions:
The architecture of MILS dates back to Rushby who
presented the concept first in 1981 [2]; however, the probably 1. Spatial Separation divides the available processing
most famous document is his MILS constitution from 2008 [3]. resources of a system at one certain time into separated runtime
In this document, Rushby explains MILS as two-step approach environments, so called resource partitions. Such resources are
of 1) logically decomposing the system into components and 2) processors and processing cores, address spaces and memory,
defining the required resources for these components, which or I/O devices. Depending on the design of the control unit
then can be either dedicatedly assigned to one component or assuring these resource separation, some borders between
shared among them. The dedicated assignment of resources resources remain static; however, some resources such as
implies the aspect of separation, while sharing resources aims processing cores needs to be shared during operation.
the aspect of controlled information flow (see Section IV).
2. Temporal Separation solves the sharing of resources in
In a European Project’s report [6], the authors provide their the dimension of time. For this, the control unit assures a
terminology and interpretation of a modern MILS architecture. defined schedule of the integrated sub-systems to allow each
This paper uses this terminology. The here discussed gateway sub-system to process regardless of the behavior of the other
use case enhances the features of a previous publication [2] on sub-systems. Temporal separation introduces the notion of time
the gateway function. Another paper [5] analyses hardware slices, being periodic temporal slots with a certain duration
requirements to perform I/O operations securely in MILS- allowing to process one or more defined sub-systems (or more
based systems. This document provides generic hardware generically tasks).
requirements on novel I/O hardware capable to self-
virtualization. A common known control unit is a software called
Separation Kernel (cf. Fig. 2) assuring both dimensions of
III. SECURITY IN AVIONICS separation: spatial and temporal.
Compared to the long tradition regarding safety, considering
security is newer to avionic (computer) systems. The trend of
e-enabling aircrafts by providing enhanced connectivity
solutions to passengers, operators and controllers demands
system engineers to secure their implementation. While safety
remains the major goal for the development, security supports
the safe operation by preventing harmful and intended attacks
against the systems. Hence, the aviation industry mentions
often “security for safety” as term. For the purpose of security,
the aviation industry has been developing specific guidelines Fig. 2: MILS architecture with a Separation Kernel
to support the secure development side by side with the to separate the available resources into partitions.
available safety standards. Of particular interest are security
standards such as ARINC-664 [7] and ARINC-811 [8], both As such special kernels need to be small in order to support
speaking about security domains on-board of aircrafts (see verification, they attempt to use a static separation between
Fig. 1). The standards of ED-202 [9], ED-203 [10], and ED- resources; hence, usually an assignment of memory and
204 [11] provide guidance for the full life cycle of an aircraft; devices remains static. Dynamic resource allocation and
relocation, e.g. on memory, require much more code
among others covering the steps of development, production,
complexity. However, scheduling of processes on cores
operation, until disposable of the aircraft. remains a dynamic element and needs to be assured by
Separation Kernels.
V. USE CASE: AVIONIC GATEWAY
While investigations on MILS as design concept to
integrate several sub-systems have been part of research in
recent years, this paper uses the MILS idea as software
architecture to divide-and-conquer the software complexity. To
allow a secure data exchange between avionic domains (see
Fig. 1) gateways controlling data that enters or leaves a domain
are of special interest. As aviation performs “security for
Fig. 1: Aircraft security domains according to ARINC 664 [7] and ARINC safety” particularly integrity protection of data entering a
811 [8] domain with higher demands on safety (and thus, security and
assurance) is of interest (cf. data flow from Domain B to B. Gateway Performance
Domain A in Fig. 3). As hardware platform, the gateway uses a high-performance
processing platform with eight cores. Hence, the separation
kernel can also spatially separate the cores among the sub-
functions of the gateway. Assuming the hardware’s
Fig. 3: Gateway to Control Data Flows interconnect to transfer data between cores and memory is
implemented securely, the sub-functions can operate in
A. Gateway Architecture parallel with a spatial security border in between.
In this study, the gateway (cf. Fig. 3) was implemented
using the MILS concept as software architecture. To achieve Fig. 5 shows the internal organization of the Separation
this, the gateway function on exanimating and filtering data Kernel running the described gateway function. Essentially,
flow was decomposed into different sub-functions (cf. Fig. 4), each sub-function of the gateway is represented as a task in the
e.g. such as on handling I/O operations and interaction with Separation Kernel. Each task hosts a number of threads.
hardware (NIC), decoding received network packets (Receiver Threads are the elements to be scheduled and executed by the
Component), handling supported protocols (TFTP or HTTP kernel. Tasks and, hence, all related threads operate on the
Chains), or sending network packets (Transmitter Component). resources defined by the configuration of the spatial
Context Managers operate as connectors between related parts separation. On the temporal dimension, each task is related to
inside of each flow direction in order to exchange information a time partition. However, one time partition can have
on the network flow, e.g. the status of communication sessions. multiple tasks, which share the assigned duration. The
A sub-function having a receiving functionality only performs duration of a time partition is provided by a time slice. A
the recording of audit entries generated by other sub-functions. schedule finally has multiple sequential time slices, which
As all sub-functions run inside resource partitions, each sub- again related to time partitions. However, the same time
function can be developed independently fulfilling its agreed partition can occurs multiple times in the same schedule but in
interfaces. Also, each sub-function has to provide local security different time slices (with different durations). To reduce
protection against other sub-functions, e.g. to avoid mitigation configuration complexity, time slices switch concurrently on
of attacks from already compromised sub-functions; hence,
all cores of the system.
input validation is one mean necessary to be applied.

Fig. 5: Scheduling model of the separation kernel. Note, the


variable n can represent a different value on each relation.
Fig. 4: Avionic Gateway using MILS as Software Architecture
For the gateway measurements, the Separation Kernel
MILS further allows to design the sub-function on an internal, configures two different schedules. The first schedule (Fig. 6)
unidirectional flow. This eases the code complexity of the sub- executes two time slices with time partitions T1 and T2 having
functions as they have well-defined ingress and egress the same execution time of t. The second schedule (Fig. 7)
interfaces and do not need to protect themselves on side-effects executes three time partitions in four time slices (T1, T2, T3
by other sub-functions. In this gateway example, the code size and T2 again) with all having the same fixed execution time.
to implement a sub-function did not exceed 2,500 lines of As soon as one time slice exhausts, all threads related to the
code; most of them are around 800-1,500 lines of code. Among time partition running inside the time slice get intercepted.
other advantages, such small code footprints allow to run code The operation continues as soon as the time partition gets
proofers efficiently, e.g. to detect code flaws by static analysis reactivated by an additional time slice.
[13], to perform Modified Condition/Decision Coverages for
certification purposes [15], or to assure correct information
flows inside the code [12].
Fig. 6: Schedule with two time partitions assigned to two time slices.
For still achieving bi-directionality, the unidirectional
implementation of a sub-function is instantiated twice inside
the MILS platform (the Separation Kernel) as Fig. 4 shows. Fig. 7: Schedule with three time partitions assigned to four time slices.
The flows between these encapsulated sub-functions are fully
under control of this Separation Kernel. This again shows the The performance measurement investigates on various
power of MILS, allowing to design a layered system by configurations performing a TFTP transfer of 5 MB. Note,
decomposing a complex function into coarse information flow TFTP uses in default operation a transfer block size of 512 kB
assurance by the Separation Kernel and fine-grained data flow and demands an acknowledgment of each data block before
analysis inside the sub-functions.

www.embedded-world.eu
transmitted the next block [14]. To perform the gateway’s gateway function connecting one security domain
filter policy, the file gets reassembled inside the TFTP chain. runs in time partition T1. The filter chains run in T2.
As soon as the entire file is allowed to pass, the file gets As the performance measure is on TFTP traffic only,
segmented again and is transferred to the target domain the HTTP chain remains sleeping and does not
according to the specification of the TFTP. interfere with the measurement. The sub-functions of
the gateway connecting the second security domain
Remember, the used hardware offers multiple processing
operate in T3. The sub-function on auditing is
cores, and hence, allows spatial separation on cores. The
exclusively allowed to run all the time when data
performance analysis uses the following setups:
becomes available. This setup uses a single-core
1. This special configuration operates the gateway in only; hence, omit the light-blue cores configuration
three-core configuration without special time shown in Fig.10.
partitioning enabled (cf. Fig. 8). The sub-functions
connecting the left domain run on one core. The filter
chains run on the second core. The sub-functions
connecting the right domain run on the third core. All
sub-functions implement a cooperative scheduling,
i.e. they process only when data is available and yield
processing time to others when all data has been
consumed.

Fig.10: Configuration for setup 4 and 5 with three time partitions

5. This configuration uses the previous setup but applies


also spatial separation using a dual-core
configuration. In this, the upper part processing data
from left to right uses core 1. The lower part,
processing data from right to left uses core 5. Note
again, this configuration enables spatial separation on
cores AND temporal separation on cores.
Fig. 8: Configuration without temporal separation but using a three core
setup for spatial separation. Fig. 11 shows the measured values transferring the 5 MB via
TFTP for each configuration with the following parameters:
2. This configuration separated the sub-functions
connecting to the security domains to the left and
right from the filter chains using temporal separation.
This setup uses a single core configuration; hence,
the light-blue lines in Fig. 9 shall be ignored.

Fig. 9: Configuration for setup 2 and 3 with two time partitions

3. Uses the same temporal separation as in the previous


setup but also applies spatial separation on cores. In Fig. 11: Overview on performance measurements
this dual-core setup, the upper channel runs on core
1, while the lower channel runs on core 5 (cf. blue  An_Cs_#3_Sn: Setup 1 without temporal separation
hex-mask indicating the used cores). Note, this
configuration enables spatial separation on cores  An_Cs_#1_Sy2_4: Setup 2 with time slices of 400 µs
AND temporal separation on cores.  An_Cs_#1_Sy3_4: Setup 4 with time slices of 400 µs
4. Fig.10 shows the assignment of sub-functions to the  An_Cs_#2_Sy2_4: Setup 3 with time slices of 400 µs
time partitions T1, T2 and T3. The left part of the  An_Cs_#2_Sy3_4: Setup 5 with time slices of 400 µs
 An_Cs_#1_Sy2_5: Setup 2 with time slices of 500 µs Separation Kernel. The study showed that MILS used as
 An_Cs_#1_Sy3_5: Setup 4 with time slices of 500 µs software architecture allows a clean design of the software and
 An_Cs_#2_Sy2_5: Setup 3 with time slices of 500 µs offers further capabilities to proof the correctness of the
 An_Cs_#2_Sy3_5: Setup 5 with time slices of 500 µs implementation [12].
Challenges remain as the information flow and resource
Fig. 11 shows the best performance for the configuration configuration in the separation kernel receives complexity.
without temporal separation (setup 1). In this configuration, all However, tool support can limit this impact. Further challenges
sub-functions run when data is available and yield their are in the scheduling and temporal separation of the sub-
processing time to other sub-function when data is functions to achieve the best security protection. Of particular
unavailable. However, this configuration has the risk of interest are defense-in-depth scenarios. While the strict
denial-of-service attacks, as a compromised sub-function can resource separation among sub-functions does not allow an
process forever on the assigned core and, hence, starve all easy propagation of an attack from a spatial view, a
other sub-functions on this core. But, given the three-core compromised sub-function could still try to influence other
configuration, the risk is limited by the spatial separation sub-functions from a temporal perspective. The discussion on
among cores; hence, to make all sub-functions of the gateway scheduling of such a system introduces a general trade-off, as a
unresponsive demands to compromise at least three sub- full temporally separated setup provides best security against,
functions running on three different cores. e.g. denial-of-service attacks. However, it reduces the overall
performance as strict temporal separation does not allow time
If temporal separation is needed, as either only one core is sharing among tasks or yielding processing time to other tasks
available on the hardware (cf. setup 2 and 4), or due to if data is unavailable. Interestingly, if multicores provide
assurance requirements, it is beneficial to configure as less sufficient assurance to be used reliably, they allow to configure
time partitions as possible. However, considering setups 2 and similar security protection against denial-of-service attacks as
4, it is sufficient to attack one sub-function connecting the temporal separation but offer better performance. However,
security domains to stall both sides. The three-core configura- deploying multicores in aviation remains a research challenge
tion solves this, but introduces a huge overhead on the transfer [1].
time. This is in particular due to the processing behavior of
TFTP, which does not utilize well with the configured setups 3 REFERENCES
and 5. Note, TFTP demands the acknowledgment of each data [1] M. Paulitsch, O. Medina-Duarte, H. Karray, K. Müller, and Daniel
block. Hence, first one side of the gateway processes until the Münch, and J. Nowotsch, “Mixed-criticality embedded systems - a
balance ensuring partitioning and performance”, In Proc. of the 18th
file is entirely available in the TFTP chain. Afterwards, the Euromicro Conference on Digital System Design (DSD’15). IEEE,
other side of the gateway processes. However, the setups 3 August 2015.
and 5 force the system to spare processing time to the non- [2] J. Rushby. “Design and Verification of Secure Systems”. In Proc. of the
required side of the gateway and, thus, “to burn” processing 8th ACM Symposium on Operating Systems Principles, Pacific Grove,
California, USA, December 1981. ACM.
time as this part does not have data to process.
[3] J. Rushby. Separation and Integration in MILS (The MILS
Finally, using temporal separation in this example cannot Constitution). Technical Report SRI-CSL-08-XX, SRI International,
achieve appreciable performance gains by using dual-core February 2008.
configurations (cf. configurations with *_#1_*. compared to [4] K. Müller, M. Paulitsch, S. Tverdyshev, H. Blasum, and R. Schwarz.
“MILS-based Information Flow Control in the Avionic Domain: A Case
the related configurations with *_#2_*). Study on Compositional Architecture and Verification”. In Proc. of the
Note, a full temporal evaluation on the described use case 31st Digital Avionics Systems Conference (DASC 2012), October 2012
will become available with the publication of [16]. [5] K. Müller, G. Sigl, B. Triquet, and M. Paulitsch. “On MILS I/O Sharing
Targeting Avionic Systems”. In Proc. of the 10th European Dependable
VI. CONCLUSION Computing Conference (EDCC’14), Newcastle upon Tyne, UK, May
2014. IEEE.
This paper describes the experiences gained during the [6] H. Blasum, S. Tverdyshev, B. Langenstein, J. Maebe, B. de Sutter, B.
implementation of a high-assurance avionic gateway using the Leconte, B. Triquet, K. Müller, M. Paulitsch, A. Södding-Freiherr von
MILS principals as software architecture. MILS uses a divide- Blomberg, and A. Tillequin. MILS Architecture. Technical report, 2014.
and-conquer approach to split a complex system into http://www.euromils.eu/downloads/2014-EURO-MILS-MILS-
Architecture-white-paper.pdf
manageable sub-functions in order to achieve a correct
[7] Aeronautical Radio Incorporated (ARINC). “ARINC 664 Aircraft Data
implementation with certain assurance guarantees on the level Network Part 5: Network Domain Characteristics and Interconnection”,
of sub-function and the finally composed system. The gateway April 2005.
function on exanimating and filtering network data was [8] Aeronautical Radio Incorporated (ARINC). “ARINC 811: Commercial
decomposed into several sub-functions. These sub-functions Aircraft Information Security Concepts of Operation and Process”
Framework, 2005.
were implemented separately from each other using the well-
[9] EUROCAE/RTCA. “ED-202A/DO-326A: Airworthiness Security
defined formulated interfaces given via the MILS idea. This Process Specification”. Technical Report 2, European Organisation for
allowed reducing the complexity and code sizes of the sub- Civil Aviation Equipment/Radio Technical Commission for
functions. Lower complexity and reduced code footprints Aeronautics, 2014.
allows to run further tools analyzing the code regarding [10] EUROCAE. “ED-203: Airworthiness Security Methods and
implementation flaws. The information flow between sub- Considerations”. Technical Report 1, European Organisation for Civil
Aviation Equipment, 2012.
functions relies fully on the MILS control unit, usually called

www.embedded-world.eu
[11] EUROCAE. “ED-204: Continuing Airworthiness Guidance for the Runtime Errors”. In Proc. of the Embedded Real Time Software and
Security of Aircraft Information the Security of Aircraft Information”. Systems (ERTS2’10), pages 1-9, Toulouse, France, 2010
Technical report, European Organisation for Civil Aviation Equipment, [14] Network Working Group. “RFP 1350: The TFTP Procotol”. Revision 2.
2013. 1992
[12] K. Müller, S. Uhrig, F. Nielson, H. R. Nielson, X. Li, M. Paulitsch, and [15] K. J. Hayhurst, D. S. Veerhusen, J. J. Chilenski, L. K. Rierson, “A
G. Sigl. „Automatic Information Flow Validation for High Assurance Pratical Tutorial on Modified Condition/Decision Coverage“.
Systems”. International Journal On Advances in Software, 9(3&4):190- NASA/TM-2001-210876. Technical report. 2001.
205, December 2016.
[16] K. Müller, “Security in Embedded Avionic Systems using the Concept
[13] D. Kästner, S. Wilhelm, S. Nenova, P. Cousot, R. Cousot, J. Feret, A. of Multiple Independent Levels of Security”. PhD thesis. Department of
Miné, X. Rival, and L. Mauborgne. “Astrée: Proving the Absence of Electrical and Computer Engineering, Technical University of Munich.
2017. (unpublished, submitted for grading)

You might also like