Section1
Abstract
Abstractโ
The growing security threat of microarchitectural attacks underlines the importance of robust security sensors and detection mechanisms at the hardware level. While there are studies on runtime detection of cache attacks, a generic model to consider the broad range of existing and future attacks is missing.Unfortunately, previous approaches only consider either a singleattack variant, e.g. Prime+Probe, or specific victim applications such as cryptographic implementations. Furthermore, the state-of-the art anomaly detection methods are based on coarse-grained
statistical models, which are not successful to detect anomalies in a large-scale real world systems. Thanks to the memory capability of advanced Recurrent Neural Networks (RNNs) algorithms, both short and long term dependencies can be learned more accurately. Therefore, we
propose FortuneTeller, which for the first time leverages the superiority of RNNs to learn complex execution patterns and detects unseen microarchitectural attacks in real world systems. FortuneTeller models benign workload pattern from a microar-chitectural standpoint in an unsupervised fashion, and then, it predicts how upcoming benign executions are supposed to behave. Potential attacks and malicious behaviors will be detected automatically, when there is a discrepancy between the predicted execution pattern and the runtime observation. We implement FortuneTeller based on the available hardware performance counters on Intel processors and it is trained with 10 million samples obtained from benign applications. For the first time, the latest attacks such as Meltdown, Spectre, Rowhammer and Zombieload are detected with one trained model and without observing these attacks during the training. We show that FortuneTeller achieves the best false positive and false negative trade off compared to existing works under realistic workloads and target implementations with the highest F-score of 0.9970.
- ์ฆ๊ฐ๋๋ mircoachitectural attacks ์ ๋ํ ๋ณด์ ์ํ์ โ์ธ๋ฐํ ๋ณด์ ์ผ์โ์ โํ์ง ๋ฉ์นด๋์ฆโ์ ์ค์์ฑ์ ๊ฐ์กฐํ๋ค.
- ์ผ๋ฐ์ ์ธ ๋ชจ๋ธ์ธ โThe broad range of existingโ๊ณผ โfuture attackโ์ ๊ดํ ์ฐ๊ตฌ๊ฐ ๋ถ์กฑํ๋ค.
- ์ด์ ์ ์ ๊ทผ์ ๋จ์ํ๊ฒ โsingle attack variant(eg. Prime+Probe)โ ๋๋ โ์ํธ์ ์นจ์ โ๊ฐ์ ๊ฒ์ ๋ํ ์ ๊ทผ๋ง ์์๋ค.
์ต์ ์ ์ด์ ํ์ง๋ โCoarse grained stastical modelsโ์๋ง ๊ธฐ๋ฐ๋์ด์๊ณ ์ด๊ฒ์ ์ฑ๊ณต์ ์ผ๋ก ์ค์ ์ธ๊ณ์ ํฐ ์์คํ ์ ๋ชจ๋ ํ์งํ์ง ๋ชปํ๋ค.
- โRNNโ๋ชจ๋ธ ๋๋ถ์ ์งง๊ณ ๊ธด ๊ธฐ๊ฐ ์์กด์ฑ๋ค์ ๋์ฑ ์ ํํ๊ฒ ํ์ต๋ ์ ์๋ค.
- โFortuneTellerโ๋ RNN์ ํน์ ์ด์ ์ ์ฌ์ฉํ๊ณ , ์ค์ ์ธ๊ณ์ ๋ณด์ด์ง ์๋ microachitectual attack๋ค์ ํ์งํ๋ค.
- โFortuneTellerโ๋ โ๋น์ง๋๋ fashionโ์์ โma standpointโ์์ โbenignํ workload patternโ์ ๋ชจ๋ธ๋งํ๋ค.
- โFortuneTellerโ๋ ์คํผ๋ benign ์คํผ๋ค์ด ์ด๋ป๊ฒ ํ๋๋ ์ง๋ฅผ ์์ธกํ๋ค.
์์ธก ์คํ ํจํด๊ณผ ์คํ ๊ด์ฐฐ์ฌ์ด์ ๋ถ์ผ์น๊ฐ ์์๋, Potential Attack๊ณผ ์ด์ ํ๋์ ์๋์ ์ผ๋ก ํ์ง๋์ด์ง๋ค.
- โFortuneTellerโ๋ Intel Process์ ๊ธฐ๋ฐํ h/w performance counter์ ๊ธฐ๋ฐํ์๊ณ , ์ด๊ฒ์ benign application์ผ๋ก๋ถํฐ ๋ง๋ค์ด์ง 10๋ง๊ฐ์ sample๋ค์ ์ด์ฉํ์๋ค.
- Meltdown, Spectre,Rowhammer,Zombieload๋ค์ 1 trained model์์ ํ์งํ๊ณ ํ๋ จ๋์์ ์ด๋ฌํ ๊ณต๊ฒฉ๋ค์ ๊ด์ฐฐ๋๋ ๊ฒ์ด ์๋ค๋ ๊ฒ์ด ํ์ง๋์๋ค.
- FortuneTeller๊ฐ ์ต์์ ์คํ๊ณผ ์ต์ ์ ์คํ์ ๋ฌ์ฑํ๋ค๊ณ ์๊ฐํ๋ค. ์ฝ F-0.9970
Instruction
Spectre and Meltdown attack
Allow a user with minimum access right to easily read arbitraty locations in the memory by exploiting the transient effect of illegal instruction sequences
How can we discover dormant vulnerabilites and protect against such subtle attacks?
A fundamental approach is to eliminate the leakage altogether by using formal analysis.
However, given H/W ๋ฐ์ ๋๋ฉด ๊ทผ ๋ฏธ๋์ ์ฐพ๋ ๊ฒ์ ๋นํ์ค์ ์ด๋ค.
๊ทธ๋ ๊ธฐ์ ๋จ์ ๋ฐฉ๋ฒ์ ์ด์ ๋ฐฉ๋ฒ์ ๋ฐ๊พธ๋ ๊ฒ์ด๋ค. leaks are patched as they are discovered by researchers through inspection and statistical analysis.
Microarchitectural side-channel attacks๋ ๊ทธ๋ ๊ธฐ์ os๋จ์์ ๋ณด์ ๊ฐํ(hardening),software synthesis, analysis, static or dynamic detection of attacks๋ฅผ ํ๋ค.
Static analysis is performed by evaluating the untrusted sw against known malicious code patterns without running it on a target platform.
Dynamic analysis aims to detect malicious behavior in the system by analyzing the runtime footprint of the running process
microarchitectural attacks์ ๋์ ํ์ง์์ ํ์ฌ ์กด์ฌํ๋ ์ผ๋ค์ h/w performance counter๋ก๋ถํฐ collecting footprints์ ๊ธฐ๋ฐ ๋์ด์๊ณ ์ ์ฑํ์์ ๋ชจ๋ธ๋ง์ ์ ํํ๋ ๊ฒ์ ๊ธฐ๋ฐ๋์ด์๋ค.
์ค์ํ ๋ฌธ์ ์ ๋ค ๋ชฉํ๋ ํ์ง๊ธฐ์ , ์ ๋ถ์กฑ์ด๋ค. ์ ๋ณด์ ์๋ก์ด ๊ณต๊ฒฉ ๋ฐฑํฐ๋ค์
๊ทธ๋์ ์ด์ํ์๋ฅผ ๋ชจ๋ธ๋งํ๋ ๊ฒ์ ๋ชฉํ๋ ๋ฐ๊ฒฌ๋์ด์ง์ง ์๋ ๊ณต๊ฒฉ๊ทธ๋ฆฌ๊ณ ์ ํํ๊ฒ ๊ทธ๋ค์ ๊ตฌ๋ถํ๋ ๊ฒ์ถ๋ฐ์ง๋ ์ ์ ํ๋์ ๊ณ์๋ ๋ฌธ์ ์ด๋ค.
๊ทธ๋์ microarchitectural attacks๋ ์์๋จ๊ณ์ด๊ณ ์ง๋๋ learnong๋ชจ๋ธ๋ค์ด๊ณ ์ด๊ฒ๋ค์ ์ฌ์ฉ๋์ด์ง๋ค. ๊ณต๊ฒฉ ๋ถ๋ฅ๊ธฐ๋ก ๊ทธ๋ฆฌ๊ณ ์์กดํ์ง์๋๋ค ๋์๊ฐ์ ํ์ง์ง๋ ๊ฒ์ ์๋ ค์ง ๊ณต๊ฒฉ๋ค์ ๋ถ์ถฉ๋ถํ ์๋๋ฌธ์ ๊ทธ๋ฆฌ๊ณ ์ค์ํ์ง์๋ ๋ผ๋ฒจ๋ง์ ๋ฐ์ดํฐ๋ค ๋๋ฌธ์
๊ทธ๋ฆผ์ผ๋ก ๋น์ง๋ํ์ต ๋ฐฉ๋ฒ์ ๋ ์ฝ์๋์ด์ง๋ค. ์ ์ฉํ๋ ๊ฒ์ ํ์ง ๋ชจ๋ธ๋ค์ ์ค์ ์ธ๊ณ์ ์๋๋ฆฌ์ค๋ค์๊ฒ
์ด์์ ๊ธฐ๋ฐ๋ ๊ณต๊ฒฉ ํ์ง๋ค์ ๋ํ ์ฐ๊ตฌ๋์ด์ง๋ค ๋ค๋ฅธ ๋ณด์ ๊ธฐ๋ฅ๋ค์๊ฒ์ ๋ชฉํ๋กํ๋ค. ๋์๊ฐ์ ์์ ์ธ๊ธํ ๋ฌธ์ ๋ค์ ํํํ๊ธฐ ์ํด์ ํ๋ค๋ฐ๋ ๊ฒ์ ์จํํ ํ๋๊ณผ outlier์ ํ์งํ๋ ๊ฒ์์
Cache attacks์ ๊ธฐ๋ฐ๋ ์ด์ ํ์ง ๋ ธ๋ ฅ์ด ์๋ ๋์ ํ๋ m,a๋ side-channel attakcs๋ก๋ถํฐ ๊ณต๊ฒฉ์ ๊ฒช๊ณ ์๋ค.
๊ทธ๋ผ์ผ๋ก detection techniques๋ ์ค์ฉ์ ์ด๊ณ ์ฌ์ฉ์ ์ด์ง ์๋ค. ๋ง์ฝ ๊ทธ๋ค์ด ์ ์ฒด ๋ฒ์๋ฅผ ์ปค๋ฒํ์ง ์๋๋ค๋ฉด ์๊ฑฐ๋ ๋ณด์ด์ง์๋ ๊ณต๊ฒฉ๋ค์.
์ด๊ฒ์ ์๊ตฌํ๋ค. ๋ ํฅ์๋ ๋ฐฐ์ฐ๋ ์๊ณ ๋ฆฌ์ฆ๋ค์ ๋์๊ฐ์ ๋ชจ๋ธ๋ค์ ์ดํดํ๊ธฐ ์ํด์ ์ ์ฒด ํ์ ๋ณธ์ง์ m,a
๋ฐ๋ฉด์ ํต๊ณ์ ์ธ ๋ชจ๋ธ (๋ชฉํ๋ ์ด์ ํ์ง)๋ ์ถฉ๋ถํ์ง ์๋ค. ๋์๊ฐ์ ๋ถ์ํ๋ ๊ฒ์, ์๋ฐฑ๋ง๊ฐ์ ์ด๋ฒคํธ๋ค์ ํ๋ ma์์ ์์ฑ๋ ๋ณต์กํ ์์คํ ๋ค์
์ฃผ์ํ ํ๊ณ, classical stastictical learning metho์, ๋ ๊ทธ๋ค์ ํ์ ์ค์ ๋ ํน์ง์ ์ฌ์ฉํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ๋ญ๋นํ๋ค. ์ฃผ์ํ ์ ๋ณด๋ค์ ๋์๊ฐ์ ํน์ ํํ๋๋ฐ ์จํํ ํ๋ก๊ทธ๋จ์ ํจํดํํ๋๋ฐ. ๊ฒฐ๊ตญ์ ์ด ๊ธฐ์ ๋ค์ ์คํจํ๋ค. ์ค์ ์ธ๊ณ์์ generic model๋ค์ ์ฌ์ฉํ๋ ๊ฒ์.
RNN ๊ณผ LSTM๊ณผ GRU network๋ฅผ ์ฌ์ฉํ์ฌ ๊ธฐ์กด์ sequential flow๋ค์ ์ ํ์ ํ์ง ๋ชปํ๋ ํ๋ modernachitecture๋ค์ ํ์ ํ ์ ์๊ฒ ๋ชจ๋ธ๋ง์ ํ์๋ค.
Contribution
Propose Fortuneteller
- first generic detection model/technique for microarchitectual attacks
- h/w,s/w์ ์ ์์ ์ธ ํ๋์ ํ์ตํ๊ณ (ma์ ์ด๋ฒคํธ ๊ด์ฐฐ๋ก ๋ถํฐ ์ป์ด์ง) ์ด์ ํ๋์ผ๋ก์ ํ๋ จ๋ ๋ฐ์ดํฐ๋ค์ ํ์ฑํ์ง ์๋ outlier๋ค์ ๋ถ๋ฅํ๋ค.
- ๋ณด์ด์ง์๋ m,a attack์ ํ์งํ ์ ์๋ค.
Section2: provide background imformation about RNN and microarchitectual attacks
A. Microarchitectural Attacks
์ปดํจํฐ์ ๊ธฐ๋ฅ ํฅ์์ผ๋ก ์์ฒญ๋๊ฒ ๋ณต์กํ๊ณ ์ต์ ํ๋๊ฒ computer archetecture๊ฐ ๊ตฌํ๋์๋ค. ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด์ ๋ช๋ช์ low-level์ ํน์ง๋ค์ด ์๊ฐ๋์ด์ง๋ค.
โ1. speculative branch /2. out-of-order executions /3. shared LLC(Last level cache)โ
์ด 3๊ฐ์ง ๋ชจ๋๋ค m,a Attack์ ๊ณต๊ฒฉ ์์์ด๋ฉฐ
Fortuneteller๋ m,a๋ฅผ ๊ณต๊ฒฉํ๋ ์๋ 3๊ฐ์ง ๊ธฐ๋ฒ๋ค์ ํ์งํ ์ ์๋ค.
- Flush+Reload:
The LLC is shared among all cores inthe processor. Flush+Reload attack [64] aims to track accesses to specific cache lines by using the clflush instruction. First,adversary flushes the victim cache line. Then, the victim executes some instructions. Finally, the adversary reloads the same cache line and measures the access time. Flush+Reload attack is mostly used to recover cryptographic keys [63],which is applicable to perform attacks on systems with enabled memory deduplication such as cloud environments
LLC๋ ํ๋ก์ธ์์์ ๋ชจ๋ ์ฝ์ด๋ค ์ฌ์ด์์ ๊ณต์ ๋์ด์ง๋ค.
Flush+Reload attack์ clflush ๋ช ๋ น์ด์ ์ฌ์ฉ์ ์ํด์ cache line๋ค์ ํน์ ํํ ์ํ ์ ๊ทผ๋ค์ ์ถ์ ํ๋ ๊ฒ์ ๋ชฉํ๋กํ๋ค.- ๊ณต๊ฒฉ์๋ ํผํด์ ๋ cache line์ flushํ๋ค.
- ๊ทธ๋ฆฌ๊ณ ํผํด๋ ๋ช๋ช ์คํ์์ ์ํ๋๋ค.
- ๋ง์ง๋ง์ผ๋ก ๊ณต๊ฒฉ์๋ ๊ฐ์ cache line์ ๋ค์ loadํ๊ณ ์ ๊ทผ ์๊ฐ์ ๊ณ์ฐํ๋ค.
- Flush-Reload ๊ณต๊ฒฉ์ ๋๋ถ๋ถ ์ํธ๋ ํค๋ก ๋ณต๊ตฌ๋๋ค.(์ฌ์ฉ๋ ๋ฉ๋ชจ๋ฆฌ ๋ณต์ ์ ํจ๊ป๋ ์์คํ ๊ณต๊ฒฉ์ ์ฌ์ฉํ ์ ์๋) (cloud enviroment ๊ฐ์)
-
Flush+Flush:
- Prim+Probe: