Cooperation and Security Isolation of Library OSes for Multi-Process Applications


Chia-Che Tsai, Kumar Saurabh Arora, ... , Donald E. Porter
EuroSys 2014: Ninth Eurosys Conference 2014

개요

Draw bridge에서 소개된 방식인 Library OS방식을 Linux kernel에 적용한 Graphene OS를 개발하였다.

Motivation & Importance

Per-application customization을 하게 되면 Application의 성능을 올릴 수 있다. LibraryOS를 통하면 Per-application customization을 할 수 있지만, LibraryOS를 실제 사용하는 커널에 적용하는 연구는 적다. 또한 Libaray OS는 Fork와 같은 시스템콜이 IPC와 같은 매커니즘의 부제때문에 사용할 수 없었던 문제가 있었다. 이러한 문제를 해결하기 위해서 Drawbridge모델을 Linux에 적용시키고 IPC를 RPC로 구현하였다.

Main Idea

Attack surface를 줄이기 위해서 POSIX 시스템 콜레이어를 50개정도의 Drawbridge call로 줄였다. 또한 RPC를 통해서 각 Container사이의 Communication을 구현하였다. 이를 위해서 APP Armor로 허용된 System call을 제외한 시스템콜을 실행시키는 것을 금지하고, LibOS를 배치해서 새로운 API를 이용하도록 POSIX API를 구현하였다.