Microarchitectural attack is an emerging security threat in computer architecture field. Previous works used machine learning and hardware performance counters (HPCs) to detect abnormal behaviors in hardware-level occurred by microarchitectural attack. However, these traditional works have limitations that they can detect limited types of attacks or consume too much time for detecting various attacks. Moreover, it is hard to apply them against new attacks because they manually or experimentally selected HPC events. In this thesis, we propose a multi-stage detection of microarchitectural attack using machine learning. First, to detect various types of microarchitectural attacks, we propose an effective HPC events selection method. Then, through the multi-stage detection method, the first stage detects attacks fast, and, when an attack is detected, next stage identifies a type of the attack. The experiments about 9 microarchitectural attacks have shown that multi-stage detection method achieves 99.96% attack detection accuracy in less than 1ms, and 97.48% attack type identification accuracy. Also, we have shown that the proposed HPC events selection method achieves 10.73% increase in recall (true positive rate) than prior work.
마이크로 아키텍처 공격은 컴퓨터 아키텍처 분야에 있어 떠오르는 보안 위협이다. 기존 기법들은 마이크로 아키텍처 공격으로 발생하는 하드웨어단의 비정상적인 행동을 통해 공격을 탐지했고, 이를 위해 머신 러닝과 하드웨어 퍼포먼스 카운터를 이용했다. 하지만 기존 기법들은 제한된 공격만을 탐지할 수 있거나 여러 공격을 탐지하는 경우 시간이 많이 걸린다는 한계점이 있었다. 또한 탐지를 위해 사용되는 하드웨어 퍼포먼스 카운터를 공격을 기반으로 수작업이나 실험을 통해 선별했기 때문에 새로운 공격으로의 확장이 어렵. 본 논문에서는 머신 러닝을 이용한 마이크로 아키텍처 공격의 다단계 탐지 기법을 제안한다. 우선, 여러 공격의 탐지에 필요한 하드웨어 퍼포먼스 카운터를 효과적으로 선별하는 방식을 제안한다. 이후, 다단계 탐지 기법을 통해 첫번째 단계에서 빠르게 공격을 탐지하고, 공격이 탐지된 경우 다음 단계에서 어떤 공격인지 식별한다. 실험을 통해 9 종류의 공격에 대해서 제안 기법이 1ms 이내에 99.96%의 정확도로 공격을 탐지하고, 97.48%의 정확도로 공격의 종류를 식별함을 확인하였다. 또한, 제안하는 하드웨어 퍼포먼스 카운터 선별 방식이 기존 기법 대비 10.73%의 재현율 향상을 보임을 확인하였다.