Most existing software-based system attacks (hereinafter referred to as software attacks) assume that the kernel is secure and that the user runs a malicious program. Under these assumptions, defenses against software attacks are usually designed based on trust in the kernel. However, if the kernel is attacked or turns into an attacker, the victims cannot use the defense method based on trust in the kernel. Hardware monitoring can protect users even if the kernel is not trusted. This thesis investigates state-of-the-art software attacks which attack the kernel or the kernel attacks the trusted execution environment as an attacker. This thesis aims to analyze software-based attacks in units of instructions and registers to establish monitoring rules for hardware monitor.
대부분의 기존 소프트웨어 기반 시스템 공격(이하 소프트웨어 공격)은 커널이 안전하고 사용자가 악성 프로그램을 실행한다고 가정한다. 이러한 가정 아래에서 소프트웨어 공격에 대한 방어는 보통 커널에 대한 신뢰를 기반으로 설계된다. 그러나 커널이 공격받거나 커널이 공격자로 돌변하게 된다면 커널에 대한 신뢰를 기반으로 한 방어 방법을 사용할 수 없게 된다. 하드웨어 모니터링은 커널을 신뢰할 수 없는 경우에도 사용자를 보호하는 하나의 방법으로 사용할 수 있다. 본 논문은 최근 5년 사이 발표된 최신 소프트웨어 기반 공격들 가운데 커널을 공격하거나 커널이 공격자로서 신뢰 실행 환경을 공격하는 공격들에 대해 조사하고 각 공격을 명령어와 레지스터 단위로 분석하여 모니터링할 수 있는 규칙을 만드는 것을 목표로 한다.