• Home
  • About
    • Seokmin.Lee photo

      Seokmin.Lee

      Hello, I am a master's student in the Department of Convergence Security (Samsung Advanced Security) at Korea University.After graduation, I am expected as a security developer or researcher member of Samsung SDS.

    • Learn More
    • LinkedIn
    • Github
  • Posts
    • All Tags

[paper]review_of_fortuneteller

08 Sep 2020

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๋“ค์„ ํŠน์ •ํ™”ํ•˜ ์œ„ํ•œ ์ ‘๊ทผ๋“ค์„ ์ถ”์ ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœํ•œ๋‹ค.

    1. ๊ณต๊ฒฉ์ž๋Š” ํ”ผํ•ด์ž…๋Š” cache line์„ flushํ•œ๋‹ค.
    2. ๊ทธ๋ฆฌ๊ณ  ํ”ผํ•ด๋Š” ๋ช‡๋ช‡ ์‹คํ–‰์—์„œ ์ˆ˜ํ–‰๋œ๋‹ค.
    3. ๋งˆ์ง€๋ง‰์œผ๋กœ ๊ณต๊ฒฉ์ž๋Š” ๊ฐ™์€ cache line์„ ๋‹ค์‹œ loadํ•˜๊ณ  ์ ‘๊ทผ ์‹œ๊ฐ„์„ ๊ณ„์‚ฐํ•œ๋‹ค.
    4. Flush-Reload ๊ณต๊ฒฉ์€ ๋Œ€๋ถ€๋ถ„ ์•”ํ˜ธ๋œ ํ‚ค๋กœ ๋ณต๊ตฌ๋œ๋‹ค.(์‚ฌ์šฉ๋œ ๋ฉ”๋ชจ๋ฆฌ ๋ณต์ œ์™€ ํ•จ๊ป˜๋œ ์‹œ์Šคํ…œ ๊ณต๊ฒฉ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”) (cloud enviroment ๊ฐ™์€)
  • Flush+Flush:

  • Prim+Probe:


๐ŸŒŸpaper-reviewsecurity-defensemachine-learning Share Tweet +1