## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-00052-SPECTRE-ATTACK-EXAMPLE
# Spectre 곡격 μμ
2018λ
1μ 2μΌ (CVE-2017-5753 λ° CVE-2017-5715) "μ λ Ή" Spectre μ·¨μ½μ μ΄μ© μμ
## μ΄κ² λκ°μ?
μ°λ¦¬λ "The Magic Words are Squeamish Ossifrage." λΌλ ν
μ€νΈλ₯Ό λ©λͺ¨λ¦¬μ μ μ₯νκ³ , μ·¨μ½μ μ μ΄μ©ν΄ μ΄λ₯Ό μ½μΌλ €κ³ μλν©λλ€. μμ€ν
μ΄ μ·¨μ½νλ€λ©΄, νμ€ μΆλ ₯μμ λμΌν ν
μ€νΈλ₯Ό λ³Ό μ μμ΅λλ€.
μ΄ μ½λμμ, victim_function() λ΄μ μ»΄νμΌ λͺ
λ Ήμ΄ μ격ν νλ‘κ·Έλ¨ μμλ‘ μ€νλλ€λ©΄, ν΄λΉ ν¨μλ array1 ν¬κΈ° = 16μ΄λ―λ‘ array1[0..15]μμλ§ μ½μ΅λλ€. κ·Έλ¬λ μ€ν μκ°μ΄ μ½κΈ° μκ°μ μ΄κ³Όνλ κ²μ΄ κ°λ₯ν©λλ€. read memory byte() ν¨μλ victim_function()μ μ¬λ¬ λ² νλ ¨ νΈμΆνμ¬ λΆκΈ° μμΈ‘κΈ°κ° xμ μ ν¨ν κ°μ μμΈ‘νλλ‘ ν λ€μ, λ²μλ₯Ό λ²μ΄λ xλ₯Ό νΈμΆν©λλ€. μ‘°κ±΄λΆ λΆκΈ°λ μμΈ‘ν μ μμΌλ©°, μ΄νμ μΆμΈ‘ μ€νμ λ²μλ₯Ό λ²μ΄λ xλ₯Ό μ¬μ©νμ¬ λΉλ° λ°μ΄νΈλ₯Ό μ½μ΅λλ€. κ·Έλ° λ€μ μμΈ‘ μ½λλ array2[array1[x] * 512]μμ μ½μ΄ array1[x]μ κ°μ μΊμλ‘ μ μΆν©λλ€. 곡격μ μλ£νκΈ° μν΄ κ°λ¨ν flush+reloadλ₯Ό μ¬μ©νμ¬ array2κ° μ΄λ μΊμ λΌμΈμ μλμ§ μλ³νμ¬ λ©λͺ¨λ¦¬ λ΄μ©μ λλ¬λ
λλ€. 곡격μ μ¬λ¬ λ² λ°λ³΅λλ―λ‘, λμ λ°μ΄νΈκ° μ²μμ μΊμλμ§ μμλλΌλ 첫 λ²μ§Έ λ°λ³΅μμ μΊμλ‘ κ°μ Έμ΅λλ€. i7 Surface Pro 3μμ μ΅μ νλ μ½λλ μ½ 10KB/μ΄μ μλλ‘ μ½μ΅λλ€.
## μΆμ²
* [Spectre 곡격 μ 보]
* CVE-2017-5753 \- λ³μ’
1: κ²½κ³ κ²μ¬ μ°ν
* CVE-2017-5715 \- λ³μ’
2: λΆκΈ° λμ μ£Όμ