개요
Sub-process abstraction을 위해서 MPK와 유사한 ARM Memory Domain을 활용하여, Sub-process isolation이 가능한 Protection domain을 만들어 쉽고 간편한 Isolation mechanisms을 제공하였다.
Motivation
Sub process isolation을 위한 몇개의 Design global을 제시하였다.
- Flexible granularity
- Easy adoption and deployment
- Robustness against attacks
- Low overhead
Design
이 논문은 ARM Memory Domain을 위한 API, 및 ARM Domain은 CFI를 지켜주지 않기 때문에 이를 위한 Compiler support, 그리고 ARM Domain을 활용하기 위한 Kernel Support를 중심으로 다루고 있다.
Conclusion
우선 Shreds의 abstraction을 Sub process abstraction보다는 Isolation을 위한 Protection domain과 유사해 보인다. ARM Memory Domain이라는 기술을 통해서 안전하게 Isolation domain을 만드는 기술을 API, Compiler support, Kernel Support로 자세히 설명한 점을 좋으나, 시스템 연구의 관점에서는 살짝 중복되는 연구들이 있다는 생각이 든다. 그러나 이 논문은 ARM Memory Domain이라는 기술이 등장할 당시 초창기에 쓰여진 논문으로서, 새로운 기술의 적용이라는 측면에서는 많은 연구자들에게 도움이 되는 연구라는 생각이 든다.