An Efficient Kernel Introspection System using a Secure Timer on TrustZone
Jinmok Kim, Donguk Kim, Jinbum Park, Ji-Hoon Kim, Hyoungshick Kim · 정보보호학회논문지 · 2015
커널 루트킷은 운영체제의 컴포넌트 사이의 통신을 가로채거나 수정할 수 있기 때문에, 운영 체제의 무결성을 훼손시킬 수 있는 가장 위협적이고 널리 퍼진 위협 중 하나로 인식되고 있다. 커널 루트킷이 이미 커널 권한을 획득하였기 때문에 루트킷이 설치된 공간에서 커널을 보호하는 것은 안전하지 않다. 따라서 커널보호 시스템은 커널과 동일한 공간으로부터 독립적이어야만 한다. 루트킷을 탐지하기 위해 많은 연구들이 수행되어 왔지만 다른 연구들과 달리 TrustZone 기반 연구는 커널과 동일한 공간으로부터 분리되고, 독립된 공간에서 커널을 보호하는 것이 가능하다. 하지만 제안된 방법들은 커널보호 시스템을 완전히 독립시킬 수 없는 단점이 있다. 이러한 이유로, 우리는 TrustZone의 시큐어 타이머를 이용한 효율적인 커널 검사 시스템을 제안한다. 이 시스템은 레퍼런스의 무결성을 보장하기 위해 커널 원본 이미지인 vmlinux을 활용하여 측정하였다. 또한, 보호영역 크기에 대한 유연성을 제공함으로써 효율적으로 커널보호 시스템을 운영하는 것이 가능하다. 실험 결과들은 제안된 커널보호 시스템이 완전히 독립되어 운영되고, 런타임동안 최대 6%정도의 성능만 저하시킨다는 것을 보여준다. Kernel rootkit is recognized as one of the most severe and widespread threats to corrupt the integrity of an operating system. Without an external monitor as a root of trust, it is not easy to detect kernel rootkits which can intercept and modify communications at the interfaces between operating system components. To provide such a monitor isolated from an operating system that can be compromised, most existing solutions are based on external hardware. Unlike those solutions, we develop a kernel introspection system based on the ARM TrustZone technology without incurring extra hardware cost, which can provide a secure memory space in isolation from the rest of the system. We particularly use a secure timer to implement an autonomous switch between secure and non-secure modes. To ensure integrity of reference, this system measured reference from vmlinux which is a kernel original image. In addition, the flexibility of monitoring block size can be configured for efficient kernel introspection system. The experimental results show that a secure kernel introspection system is provided without incurring any significant performance penalty (maximum 6% decrease in execution time compared with the normal operating system).