Blinder: Partition-Oblivious Hierarchical Scheduling

Blinder: Partition-Oblivious Hierarchical Scheduling

Blinder: Partition-Oblivious Hierarchical Scheduling Man-Ki Yoon, Mengqi Liu, Hao Chen, Jung-Eun Kim, Zhong Shao Yale University Abstract particular, time partitioning is a key ingredient for providing Hierarchical scheduling enables modular reasoning about the strong temporal-isolation of unpredictable interference from temporal behavior of individual applications by partitioning timing-sensitive applications. It is enforced also in Multiple CPU time and thus isolating potential misbehavior. However, Independent Levels of Security (MILS) systems [9] to prevent conventional time-partitioning mechanisms fail to achieve a compromised application from exhausting time resources. strong temporal isolation from a security perspective; varia- Operating in the form of two-level hierarchical scheduling tions in the executions of partitions can be perceived by others, architecture [6, 14], as shown in Figure1, it provides each which enables an algorithmic covert timing-channel between application with the illusion of exclusive CPU resources. partitions that are completely isolated from each other in the However, such a tight integration of applications poses a utilization of time. Thus, we present a run-time algorithm security challenge that could have been easily addressed in that makes partitions oblivious to others’ varying behaviors the air-gapped environment. In particular, we observe that even when an adversary has full control over their timings. conventional hierarchical scheduling schemes enable illegit- It enables the use of dynamic time-partitioning mechanisms imate information-flow among partitions that are supposed that provide improved responsiveness, while guaranteeing to be isolated from one another. As multiple threads sharing the algorithmic-level non-interference that static approaches the CPU time can collaborate to influence one’s execution would achieve. From an implementation on an open-source progress and infer secret information [41, 44], time-partitions operating system, we evaluate the costs of the solution in can form algorithmic covert timing-channel by varying their terms of the responsiveness as well as scheduling overhead. temporal behavior. In this paper, we first demonstrate such a vulnerability of hierarchical scheduling on existing real-time 1 Introduction operating systems; a partition can infer another partition’s With advancement in modern computing and communica- varying execution by observing the impact that the latter’s tion technologies, there has been an increasing trend toward execution has on its own local schedule, even without using integrating a number of software applications into a high- any time information. This algorithmic channel exists even if performance system-on-chip to reduce communication and microarchitectural channels [15, 24] were completely closed. maintenance complexity, while allowing them to efficiently Based on these observations, we develop a run-time sched- utilize common hardware resources. Such a composition re- ule transformation algorithm that we call Blinder. It prevents quires that properties established for individual subsystems partitions from distinguishing others’ varying execution be- be preserved at the integrated-system level. Especially for havior by making each partition-local schedule determinis- safety-critical systems (e.g., avionics, automotive, industrial tic. Although static partitioning approaches, such as TDMA control systems), it is of utmost importance to provide strong (Time Division Multiple Access) [8], can achieve strong non- isolation among applications that require different levels of interference due to the fixed nature of the schedules that they criticality in order to limit interference among them: pro- generate, they are inflexible in CPU resource usage [17, 22]. tecting high-critical applications (e.g., instrument cluster in On the other hand, non-static partitioning schemes, such as digital cockpits [4]) from faulty behaviors of lower-critical real-time server algorithms [7, 37, 39], are more amenable ones (e.g., infotainment system). This is increasingly chal- to dynamic workload and achieve better responsiveness, and lenging as individual subsystems are becoming more complex thus are increasingly adopted by commercial real-time oper- due to advanced capabilities. ating systems and hypervisors [3, 5]. However, such a non- The isolation among subsystem applications is attained via determinism, or flexibility, is a double-edged sword as it is the a form of resource partitioning [33]. For example, ARINC very source of information-flow between partitions; partitions 653 (Avionics Application Standard Software Interface) [8] can use CPU time in a detectable pattern to send signals. standardizes time and space partitioning of applications ac- Our Blinder deters such attempts by guaranteeing that the cording to their design-assurance levels. This enables the soft- local-execution state (i.e., partition-local schedule) changes ware functions to be developed and certified independently. In at deterministic time points no matter how the global state Π Π Π Π ! " # $ Algorithm 1: Schedule(P;t) Tasks Tasks Tasks Tasks Π � -local P(t) GlobalScheduler(P;t) /* 1 Selects partition */ 2 scheduler selects if P(t) 6= P(t − 1) then a task from Π � ��-Local ��-Local ��-Local ��-Local Scheduler Scheduler Scheduler Scheduler SuspendPartition(P(t − 1)) Selects a partition end 1 Global Scheduler Π � = Π% ∈ � LocalScheduler(P(t)) /* 2 Selects task */ Figure 1: Hierarchical scheduling. concepts, example schedules in the figures used throughout changes (i.e., partition-level schedule). Hence, partitions can this paper are based on the fixed-priority global and local be scheduled still in non-static ways (thus taking advantage schedulings. For most safety-critical systems such as avionics of the flexibility in resource utilization) while achieving the and automotive systems, Rate Monotonic scheduling policy strong partition-obliviousness property that has been possible is dominantly employed for local task scheduling due to its only with static approaches. Blinder removes the algorithmic stability and conservative predictability [28, 35]. covert timing-channel in hierarchical scheduling even if an Terminology: Tasks arrive to the system on a schedule or in attacker is able to precisely control the timings of applications. response to external events (e.g., interrupts). For instance, a Furthermore, it is minimally-intrusive and modular in that task can be scheduled to arrive every 100 ms for service of it does not require any modifications to the global and local a recurrent workload. The arrival time of task t is denoted scheduling policies and hence can be applied to a wide variety i; j by t (t ). A task is said to be released if it becomes visible of existing systems that employ hierarchical scheduling. a i; j to the partition to which it belongs, thus becoming available In summary, this paper makes the following contributions: R for execution. Each partition Pi maintains a ready queue Qi • We demonstrate an algorithmic covert timing-channel of tasks that have been released but not been finished. The between time-partitions through hierarchical scheduler R Pi-local scheduler selects a task from Q (t) for each t. of existing real-time operating systems. i Each partition Pi := (Ti;Bi) is associated with a non- • We introduce Blinder, a run-time schedule transforma- negative, maximum budget Bi; the partition cannot execute tion algorithm that makes partitions oblivious to others’ for more than Bi (e.g., 20 ms) during a replenishment period varying temporal behavior, and we also analyze its im- Ti (e.g., 100 ms). The remaining budget for time t is denoted pact on the schedulability of real-time tasks. by Bi(t) and 0 ≤ Bi(t) ≤ Bi. No task of Pi can execute when • We implement Blinder on an open-source real-time oper- Bi(t) = 0. Partition Pi is said to be schedulable if it is guar- ating system and evaluate its impact on the responsive- anteed to execute for Bi over every replenishment period Ti. ness as well as scheduling overheads. Partition Pi is said to be active at t, denoted by active(Pi, • We demonstrate a deployment of Blinder on a prototype t), if it has a non-zero remaining budget and task(s) to execute, real-time system and discuss system design and imple- R i.e., Bi(t) > 0 and Qi (t) 6= 0/. Only active partitions are subject mentation challenges and possible mitigations. to the global scheduling. 2 Preliminaries Definition 1 (Partition preemption). Partition Pi is said to be preempted if it is not selected by the global scheduler (i.e., 2.1 System Model and Terminology P(t) 6= Pi) although it has a non-zero remaining budget and We consider a real-time system that hosts N applications, has task(s) to run (i.e., it is active). That is, P = fP1;:::;PNg, sharing CPU time. Each application, or Preempted(Pi;t) ≡ [P(t) 6= Pi] ^ active(Pi;t): partition, Pi is comprised of one or more tasks, i.e., Pi = ft ;t ;:::;t g, where m is the number of tasks in P . i;1 i;2 i;mi i i 2.2 Hierarchical Scheduling Each task is characterized by ti; j := (pi; j;ei; j), where pi; j is Hierarchical scheduling can be categorized into two classes, the minimum inter-arrival time (i.e., period) and ei; j is the worst-case execution time. static or non-static partitionings, depending on whether parti- The partitions are scheduled in a hierarchical manner tions are activated at deterministic times or not. [8, 14] as shown in Figure1 and Algorithm1; the global Static Partitioning: Commonly referred to as table-driven scheduler determines which partition to execute next at time scheduling, cyclic-executive, or TDMA (Time Division Multi- instant t. Let P(t) denote the partition selected by the global ple Access) scheduling, this approach statically assigns a fixed scheduler for t. Then, the tasks of P(t) are scheduled locally time window of length Bi to each partition Pi, as shown in Fig- according to its local scheduling policy. ure2(a). The fixed schedule repeats every major cycle (MC) Each task is associated with a priority, Pri(ti; j), which can which is the sum of the partition windows, i.e., MC = ∑i Bi.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    18 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us