{{위키데이터 속성 추적}}
{{Infobox bug|name=Spectre|image=[[파일:Spectre with text.svg|180px]]|caption=해당 취약점을 위해 제작된 로고. 유령(Spectre)이 들고 있는 나뭇가지는 [[분기]]의 영어 단어 "브랜치(Branch)"를 형상화한 것이다.|CVE=CVE-2017-5753 (Spectre-V1)
CVE-2017-5715 (Spectre-V2)|discovered={{시작 날짜와 나이|2018|01|df=yes}}|patched=|discoverer=|affected hardware=[[분기 예측]]을 수행하는 2019년도 이전에 출시된 모든 [[마이크로프로세서]]|website={{URL|spectreattack.com}}}}'''스펙터'''(Spectre)는 [[분기 예측]]이 적용된 모든 현대 [[마이크로프로세서]]에 영향을 주는 하드웨어 [[보안 취약점]]으로,<ref name="wired1">{{웹 인용|url=https://www.wired.com/story/critical-intel-flaw-breaks-basic-security-for-most-computers/|title=A Critical Intel Flaw Breaks Basic Security for Most Computers|work=Wired}}</ref><ref name="SpectrePaper">{{웹 인용|url=https://spectreattack.com/spectre.pdf|title=Spectre Attacks: Exploiting Speculative Execution|date=2018|archive-url=https://web.archive.org/web/20180103225843/https://spectreattack.com/spectre.pdf|archive-date=2018-01-03|author-last7=Mangard|url-status=live|author-last10=Yarom|author-first10=Yuval|author-last9=Schwarz|author-first9=Michael|author-last8=Prescher|author-first8=Thomas|author-first1=Paul|author-last1=Kocher|author-last6=Lipp|author-first6=Moritz|author-last5=Hamburg|author-first5=Mike|author-last4=Haas|author-first4=Werner|author-last3=Gruss|author-first3=Daniel|author-last2=Genkin|author-first2=Daniel|author-link1=Paul Carl Kocher|author-first7=Stefan}}</ref><ref name="wired12">{{저널 인용|title=A Critical Intel Flaw Breaks Basic Security for Most Computers|journal=[[와이어드 (잡지)|Wired]]|url=https://www.wired.com/story/critical-intel-flaw-breaks-basic-security-for-most-computers/|date=3 January 2018|archive-url=https://web.archive.org/web/20180103204011/https://www.wired.com/story/critical-intel-flaw-breaks-basic-security-for-most-computers/|archive-date=3 January 2018|access-date=3 January 2018|author-last=Greenberg|author-first=Andy|url-status=live}}</ref><ref name="AT-20180105">{{웹 인용|url=https://arstechnica.com/gadgets/2018/01/meltdown-and-spectre-heres-what-intel-apple-microsoft-others-are-doing-about-it/|title=Meltdown and Spectre: Here's what Intel, Apple, Microsoft, others are doing about it|date=5 January 2018|work=[[Ars Technica]]|archive-url=https://web.archive.org/web/20180527032912/https://arstechnica.com/gadgets/2018/01/meltdown-and-spectre-heres-what-intel-apple-microsoft-others-are-doing-about-it/|archive-date=26 May 2018|access-date=6 January 2018|author-last=Bright|author-first=Peter|url-status=live}}</ref> 실패한 분기 예측으로 인해 메모리 데이터가 관찰 가능한 [[주변 효과]](Side effect)로 의도치 않게 노출되는 취약점이다. 가령 예측적으로 실행되는 메모리 접근 [[명령어 집합|인스트럭션]]이 민감한 데이터에 의해 결정된다면, 공격자는 이로 하여금 프로그램을 실행한 후에 [[캐시|데이터 캐시]]에 [[타이밍 공격]]을 감행하여 해당 메모리 접근을 결정한 데이터를 추론해낼 수 있다.<ref name="MeltdownSpectre2">{{웹 인용|url=https://spectreattack.com/|title=Meltdown and Spectre|author=<!-- Staff -->|date=2018|work=[[Graz University of Technology]]|archive-url=https://web.archive.org/web/20180103221345/https://spectreattack.com/|archive-date=3 January 2018|access-date=3 January 2018|url-status=live}}</ref><ref name="NYT-201801032">{{뉴스 인용|url=https://www.nytimes.com/2018/01/03/business/computer-flaws.html|title=Researchers Discover Two Major Flaws in the World's Computers|date=3 January 2018|work=[[The New York Times]]|issn=0362-4331|archive-url=https://web.archive.org/web/20180103224048/https://www.nytimes.com/2018/01/03/business/computer-flaws.html|archive-date=2018-01-03|access-date=3 January 2018|author-last1=Metz|author-first1=Cade|author-last2=Perlroth|author-first2=Nicole|url-status=live}}</ref><ref>{{뉴스 인용|url=https://www.theverge.com/2018/1/3/16844630/intel-processor-security-flaw-bug-kernel-windows-linux|title=Intel's processors have a security bug and the fix could slow down PCs|date=2018-01-03|work=[[The Verge]]|archive-url=https://web.archive.org/web/20180103141306/https://www.theverge.com/2018/1/3/16844630/intel-processor-security-flaw-bug-kernel-windows-linux|archive-date=3 January 2018|access-date=3 January 2018|author-last=Warren|author-first=Tom|url-status=live}}</ref>

총 두 개의 스펙터와 관련된 [[CVE (컴퓨터 보안)|CVE]]가 존재하는데, 이 중 CVE-2017-5753 (Spectre-V1, 스펙터 변종 1)은 배열 경계 검사를 수행하는 조건부 분기를 우회하는 공격법에 관한 것이며, CVE-2017-5715 (Spectre-V2, 스펙터 변종 2)는 같은 효과를 [[간접 분기]]를 이용하여 달성하는 공격법에 관한 것이다.<ref>{{웹 인용|url=https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/spectre.html|제목=Spectre Side Channels — The Linux Kernel documentation|확인날짜=2020-01-04}}</ref>

[[자바스크립트]]의 [[JIT 컴파일|JIT 컴파일러 엔진]] 역시 스펙터 버그에 영향을 받는 것으로 드러났다. 이 버그에 의하면 어떤 웹사이트가 다른 브라우저에 열린 웹사이트의 데이터를 열람할 수 있고, 심지어 다른 브라우저 자체의 메모리 또한 열람할 수 있다.<ref>{{웹 인용|url=https://www.theregister.co.uk/2018/01/04/intel_amd_arm_cpu_vulnerability/|title=Meltdown, Spectre: The password theft bugs at the heart of Intel CPUs|date=2018-01-04|work=[[The Register]]|archive-url=https://web.archive.org/web/20180527032945/https://www.theregister.co.uk/2018/01/04/intel_amd_arm_cpu_vulnerability/|archive-date=27 May 2018|author-first=Chris|author-last=Williams|url-status=live}}</ref>

[[인텔]]은 2018년 3월에 스펙터 변종 2와 [[멜트다운 (버그)|멜트다운]] 버그 해결을 위해 새로 [[중앙 처리 장치|CPU]]를 디자인할 계획을 밝히고,<ref name="TVRG-20180315">{{뉴스 인용|url=https://www.theverge.com/2018/3/15/17123610/intel-new-processors-protection-spectre-vulnerability|title=Intel processors are being redesigned to protect against Spectre – New hardware coming later this year|date=15 March 2018|work=[[The Verge]]|archive-url=https://web.archive.org/web/20180421124711/https://www.theverge.com/2018/3/15/17123610/intel-new-processors-protection-spectre-vulnerability|archive-date=2018-04-21|access-date=15 March 018|author-last=Warren|author-first=Tom|url-status=live}}</ref><ref name="CNET-20180315">{{뉴스 인용|url=https://www.cnet.com/news/intel-blocks-spectre-attacks-with-new-server-chips-this-year/|title=Intel will block Spectre attacks with new chips this year – Cascade Lake processors for servers, coming this year, will fight back against a new class of vulnerabilities, says CEO Brian Krzanich.|date=2018-03-15|work=[[CNET]]|archive-url=https://web.archive.org/web/20180423050703/https://www.cnet.com/news/intel-blocks-spectre-attacks-with-new-server-chips-this-year/|archive-date=23 April 2018|access-date=15 March 2018|author-last=Shankland|author-first=Stephen|url-status=live}}</ref><ref name="TC-20180315">{{웹 인용|url=https://techcrunch.com/2018/03/15/intel-announces-hardware-fixes-for-spectre-and-meltdown-on-upcoming-chips/|title=Intel announces hardware fixes for Spectre and Meltdown on upcoming chips|date=15 March 2018|work=[[TechCrunch]]|archive-url=https://web.archive.org/web/20180412164033/https://techcrunch.com/2018/03/15/intel-announces-hardware-fixes-for-spectre-and-meltdown-on-upcoming-chips/|archive-date=12 April 2018|access-date=2018-03-28|author-last=Coldewey|author-first=Devin|url-status=live}}</ref><ref name="AT-20180315">{{웹 인용|url=https://www.anandtech.com/show/12533/intel-spectre-meltdown|title=Intel Publishes Spectre & Meltdown Hardware Plans: Fixed Gear Later This Year|date=2018-03-15|work=[[AnandTech]]|archive-url=https://web.archive.org/web/20180504075207/https://www.anandtech.com/show/12533/intel-spectre-meltdown|archive-date=2018-05-04|access-date=2018-03-20|author-last=Smith|author-first=Ryan|url-status=live}}</ref> 같은 해 10월 이를 위한 하드웨어와 펌웨어 수정을 발표하였다.<ref name="AT-20181008">{{웹 인용|url=https://www.anandtech.com/show/13450/intels-new-core-and-xeon-w-processors-fixes-for-spectre-meltdown|title=Intel's New Core and Xeon W-3175X Processors: Spectre and Meltdown Security Update|date=2018-10-08|work=[[AnandTech]]|access-date=2018-10-09|author-last=Shilov|author-first=Anton}}</ref>

== 역사 ==

=== 부채널과 은닉 채널 ===
2002년과 2003년, [[닛폰 전기|NEC]] 사의 Yukiyasu Tsunoo의 연구팀이 [[MISTY (컴퓨팅)|MISTY]]와 [[데이터 암호화 표준|DES]] 대칭키 암호를 공격하는 방법에 대하여 발표하였다. 2005년, [[일리노이 대학교 시카고]]의 Dinel Bernstien은 [[타이밍 공격|캐시 타이밍 공격]]을 이용하여 [[OpenSSL]]의 [[고급 암호화 표준|AES]] 키를 추출해내는 방법을 발표하였으며, 같은 해 Colin Percival이 [[OpenSSL]] [[RSA 암호|RSA]] 키를 캐시에서 추출해내는 공격을 [[인텔]] [[중앙 처리 장치|프로세서]]에서 성공시켰다. 2013년, [[애들레이드 대학교]]의 Yuval Yarom과 Katrina Falkner는 특정 정보가 [[캐시]]에서 읽혔는지 여부를 악의적 프로그램이 메모리 접근 시간을 측정해서 알아낼 수 있는 방법을 발표하였다. (정보가 캐시에서 읽혔을 경우 접근 시간이 매우 짧다.) 암호와 프로그램의 경우, 캐시에서 읽힌 정보라는 점은 해당 정보가 곧 [[개인 키]]일 수도 있다는 점을 시사하는데,<ref>{{인용|url=https://www.youtube.com/watch?v=oVmPQCT5VkY&t=t119|author-first=Anders|author-last=Fogh|title=Covert shotgun: Automatically finding covert channels in SMT|publisher=Ruhruniversität Bochum, Germany|work=HackPra channel from the Chair of Network and Data Security|date=2017-01-12}} [https://www.youtube.com/watch?v=oVmPQCT5VkY&t=475] (Fogh describing a Side Channel using fashioned listening to a safe while turning its wheel.)</ref> 실제로 이 공격법은 [[GNU 프라이버시 가드|GnuPG]]와 [[고급 암호화 표준|AES]] 등 여러 암호화 구현들을 대상으로 성공적으로 사용되었다.<ref>{{인용|author-first1=Yukiyasu|author-last1=Tsunoo|author-first2=Etsuko|author-last2=Tsujihara|author-first3=Kazuhiko|author-last3=Minematsu|author-first4=Hiroshi|author-last4=Miyauchi|title=Cryptanalysis of Block Ciphers Implemented on Computers with Cache|work=ISITA 2002|date=January 2002}}</ref><ref>{{인용|title=Cryptanalysis of DES Implemented on Computers with Cache Cryptanalysis of DES Implemented on Computers with Cache|author-first1=Yukiyasu|author-last1=Tsunoo|author-first2=Teruo|author-last2=Saito|author-first3=Tomoyasu|author-last3=Suzaki|author-first4=Maki|author-last4=Shigeri|author-first5=Hiroshi|author-last5=Miyauchi|work=Cryptographic Hardware and Embedded Systems, CHES 2003, 5th International Workshop|location=Cologne, Germany|date=2003-09-10|orig-year=2003-09-10}}</ref><ref>{{인용|url=http://cr.yp.to/antiforgery/cachetiming-20050414.pdf|title=Cache-timing attacks on AES|author-first=Daniel J.|author-last=Bernstein|author-link=대니얼 J. 번스타인|date=2005-04-14|access-date=2018-05-26|url-status=live|archive-url=https://web.archive.org/web/20180117195730/http://cr.yp.to/antiforgery/cachetiming-20050414.pdf|archive-date=2018-01-17}}</ref><ref>{{인용|url=http://www.daemonology.net/papers/htt.pdf|title=Cache missing for fun and profit|author-first=Colin|author-last=Percival|author-link=Colin Percival|work=BSDCan '05|date=May 2005|type=Conference presentation slides|access-date=2018-05-26|url-status=live|archive-url=https://web.archive.org/web/20171012203138/http://www.daemonology.net/papers/htt.pdf|archive-date=2017-10-12}} [http://www.daemonology.net/papers/bsdcan05.pdf] Superseded by: {{인용|url=http://www.daemonology.net/papers/cachemissing.pdf|title=Cache missing for fun and profit|date=October 2005|access-date=2018-05-26|url-status=live|archive-url=https://web.archive.org/web/20180519215507/https://www.daemonology.net/papers/cachemissing.pdf|archive-date=2018-05-19}}</ref><ref>{{인용|url=https://www.usenix.org/node/184416|title=FLUSH+RELOAD: A High Resolution, Low Noise, L3 Cache Side-Channel Attack|author-first1=Yuval|author-last1=Yarom|author-first2=Katrina|author-last2=Falkner|publisher=[[The University of Adelaide]]|work=23rd USENIX Symposium|location=San Diego, USA|date=2014-08-24|orig-year=2014-08-24|access-date=2018-05-26|url-status=live|archive-url=https://web.archive.org/web/20180305022116/https://www.usenix.org/node/184416|archive-date=2018-03-05|isbn=9781931971157}}</ref><ref>{{인용|url=https://www.youtube.com/watch?v=Fjz4dkU2N3g|title=CacheBleed A Timing Attack on OpenSSL Constant Time RSA|author-first1=Yuval|author-last1=Yarom|author-first2=Daniel|author-last2=Genkin|author-first3=Nadia|author-last3=Heninger|author3-link=Nadia Heninger|work=CHES 2016|date=2016-09-21}} (Yuval Yarom referring to the history.)</ref> 2017년 1월, Anders Fogh가 [[보훔 루르 대학교|보흠 루르 대학교]]에서 한 [[파이프라인 (컴퓨팅)|CPU 파이프라인]]을 여러 [[프로세서|코어]]가 공유하는 프로세서 (즉, [[하이퍼스레딩|SMT 프로세서]])에서 [[은닉 채널]]을 자동을 찾는 방법에 대한 발표를 하였다.<ref>{{인용|url=https://www.youtube.com/watch?v=oVmPQCT5VkY&t=t119|author-first=Anders|author-last=Fogh|title=Covert shotgun: Automatically finding covert channels in SMT|publisher=Ruhruniversität Bochum, Germany|work=HackPra channel from the Chair of Network and Data Security|date=2017-01-12}} [https://www.youtube.com/watch?v=oVmPQCT5VkY&t=475] (Fogh describing a Side Channel using fashioned listening to a safe while turning its wheel.)</ref>

=== 스펙터의 발견과 공개 ===
스펙터는 구글의 [[프로젝트 제로 (구글)|프로젝트 제로]]에 소속되어 있던 Jann Horn, 그리고 Paul Kocher와 Daniel Genkin, Mike Hamburg, Moritz Lipp, Yuval Yarom의 공동 연구팀에 의해 독립적으로 발견되었다. 발견 후 마이크로소프트 취약점 연구소는 이 취약점에 대한 연구를 인터넷 브라우저의 [[자바스크립트]] [[JIT 컴파일|JIT 컴파일러 엔진]]까지 확장시켰다.<ref name="MeltdownSpectre">{{웹 인용|url=https://spectreattack.com/|title=Meltdown and Spectre|author=<!-- Staff -->|date=2018|work=[[Graz University of Technology]]|archive-url=https://web.archive.org/web/20180103221345/https://spectreattack.com/|archive-date=3 January 2018|access-date=3 January 2018|url-status=live}}</ref><ref name="mozilla-1801">{{웹 인용|url=https://www.mozilla.org/en-US/security/advisories/mfsa2018-01/|title=Mozilla Foundation Security Advisory 2018-01 – Speculative execution side-channel attack ("Spectre")|website=Mozilla|archive-url=https://web.archive.org/web/20180516111657/https://www.mozilla.org/en-US/security/advisories/mfsa2018-01/|archive-date=2018-05-16|access-date=2018-05-26|url-status=live}}</ref> 이 취약점은 2017년 6월 1일에 이에 영향을 받는 모든 [[벤더|하드웨어 벤더]]들에게 선통보되었으며,<ref name="Gibbs_20180104">{{뉴스 인용|url=https://www.theguardian.com/technology/2018/jan/04/meltdown-spectre-worst-cpu-bugs-ever-found-affect-computers-intel-processors-security-flaw|title=Meltdown and Spectre: 'worst ever' CPU bugs affect virtually all computers|date=2018-01-04|newspaper=[[The Guardian]]|archive-url=https://web.archive.org/web/20180106114401/https://www.theguardian.com/technology/2018/jan/04/meltdown-spectre-worst-cpu-bugs-ever-found-affect-computers-intel-processors-security-flaw|archive-date=2018-01-06|access-date=2018-01-06|author-first=Samuel|author-last=Gibbs|url-status=live}}</ref> 이듬 해인 2018년 1월 3일 관련된 [[보안 취약점|취약점]]인 [[멜트다운 (버그)|멜트다운]]과 함께 대중에 공개되었다. 한국어로 "유령"이라는 뜻의 "스펙터"라는 이름은 해당 취약점이 "현대 CPU의 근간 기술인 [[예측적 실행]]에 근본 원인을 두고있어서 쉬운 해결책 없이 한동안 사용자와 CPU 벤더를 괴롭힐 것이기 때문에" 붙여졌다고 한다.<ref>{{웹 인용|url=https://spectreattack.com/|title=Meltdown and Spectre|website=spectreattack.com}}</ref>

=== 스펙터 공개 후 ===
2018년 1월 28일, [[인텔]]이 스펙터와 [[멜트다운 (버그)|멜트다운]] 버그에 대한 소식들을 미국 정부에게 통지하기 전에 중국의 IT 기업들과 공유했다는 내용이 보도되었지만, 이에 [[인텔]]은 중대한 취약점이 발견되었을 때 [[보안 취약점|버그]]를 공개하기 앞서 먼저 관련 IT 기업과 문제/해결책 공유하는 것이 업계 표준적인 절차인 점을 강조하였다.<ref name="TC-20180128">{{웹 인용|url=https://techcrunch.com/2018/01/28/intel-reportedly-notified-chinese-companies-of-chip-security-flaw-before-the-u-s-government/|title=Intel reportedly notified Chinese companies of chip security flaw before the U.S. government|date=2018-01-28|work=[[TechCrunch]]|access-date=2018-01-28|author-last=Lynley|author-first=Matthew}}</ref>

2018년 1월 29일, [[마이크로소프트]]는 [[인텔]]이 스펙터 변종 2 방어를 위해 발표한 [[마이크로코드]] [[패치]]가 [[윈도|윈도우]] 시스템에서 [[재부팅]]이나 시스템 불안정, 혹은 데이터 손실/손상을 일으킨다고 판단하여 이를 비활성화시키는 [[윈도|윈도우]] 업데이트를 배포하였다.<ref name="ZDN-20180129">{{웹 인용|url=http://www.zdnet.com/article/windows-emergency-patch-microsofts-new-update-kills-off-intels-spectre-fix/|title=Windows emergency patch: Microsoft's new update kills off Intel's Spectre fix – The out-of-band update disabled Intel's mitigation for the Spectre Variant 2 attack, which Microsoft says can cause data loss on top of unexpected reboots|date=2018-01-29|work=[[ZDNet]]|access-date=2018-01-29|author-last=Tung|author-first=Liam}}</ref><ref name="MS-20180126">{{웹 인용|url=https://support.microsoft.com/en-us/help/4078130/update-to-disable-mitigation-against-spectre-variant-2|title=Update to Disable Mitigation against Spectre, Variant 2|author=<!-- Staff -->|date=2018-01-26|work=[[마이크로소프트]]|access-date=2018-01-29}}</ref> 이에 따라 새로운 [[윈도|윈도우]] 업데이트를 설치하는 데 대한 보안 우려가 제기되었다.<ref name="CW-20180129">{{웹 인용|url=https://www.computerworld.com/article/3252025/microsoft-windows/windows-surprise-patch-kb-4078130-the-hard-way-to-disable-spectre-2.html|title=Windows surprise patch KB 4078130: The hard way to disable Spectre 2 – Disabling the disruptive 'Spectre 2' bugs in Intel processors has always been quite straightforward, but on Friday night Microsoft released a download-only patch that also does the job. You probably don't want it.|date=2018-01-29|work=[[Computerworld]]|access-date=2018-01-29|author-last=Leonhard|author-first=Woody|archive-date=2018-01-29|archive-url=https://web.archive.org/web/20180129224547/https://www.computerworld.com/article/3252025/microsoft-windows/windows-surprise-patch-kb-4078130-the-hard-way-to-disable-spectre-2.html|url-status=}}</ref>

2018년 5월 3일, [[인텔]] [[중앙 처리 장치|프로세서]]는 물론 [[어드밴스트 마이크로 디바이시스|AMD]]와 [[ARM 홀딩스|ARM]]의 [[중앙 처리 장치|프로세서]]에도 영향을 줄 가능성이 있는 8개의 유사 스펙터 버그들(가칭 "Spectre-NG")이 추가로 보고되었다.<ref name="Schmidt_2018_NG">{{저널 인용|title=Super-GAU für Intel: Weitere Spectre-Lücken im Anflug|journal=[[c't - magazin für computertechnik]]|url=https://www.heise.de/ct/artikel/Super-GAU-fuer-Intel-Weitere-Spectre-Luecken-im-Anflug-4039134.html|date=2018-05-03|publisher=[[Heise online]]|language=de|archive-url=https://web.archive.org/web/20180505150707/https://www.heise.de/ct/artikel/Super-GAU-fuer-Intel-Weitere-Spectre-Luecken-im-Anflug-4039134.html|archive-date=2018-05-05|url-status=live|access-date=2018-05-03|author-first=Jürgen|author-last=Schmidt}} {{저널 인용|title=Exclusive: Spectre-NG – Multiple new Intel CPU flaws revealed, several serious|journal=[[c't - magazin für computertechnik]]|url=https://www.heise.de/ct/artikel/Exclusive-Spectre-NG-Multiple-new-Intel-CPU-flaws-revealed-several-serious-4040648.html|date=2018-05-03|publisher=[[Heise online]]|archive-url=https://web.archive.org/web/20180505113543/https://www.heise.de/ct/artikel/Exclusive-Spectre-NG-Multiple-new-Intel-CPU-flaws-revealed-several-serious-4040648.html|archive-date=2018-05-05|url-status=live|access-date=2018-05-04|author-first=Jürgen|author-last=Schmidt}}</ref><ref name="Fischer_2018_NG">{{저널 인용|title=Spectre-NG: Intel-Prozessoren von neuen hochriskanten Sicherheitslücken betroffen, erste Reaktionen von AMD und Intel|journal=[[c't - magazin für computertechnik]]|url=https://www.heise.de/security/meldung/Spectre-NG-Intel-Prozessoren-von-neuen-hochriskanten-Sicherheitsluecken-betroffen-4039302.html|date=2018-05-03|publisher=[[Heise online]]|language=de|archive-url=https://web.archive.org/web/20180505131934/https://www.heise.de/security/meldung/Spectre-NG-Intel-Prozessoren-von-neuen-hochriskanten-Sicherheitsluecken-betroffen-4039302.html|archive-date=2018-05-05|url-status=live|access-date=2018-05-04|author-first=Martin|author-last=Fischer}}</ref><ref name="Kumar_2018_NG">{{웹 인용|url=https://thehackernews.com/2018/05/intel-spectre-vulnerability.html|title=8 New Spectre-Class Vulnerabilities (Spectre-NG) Found in Intel CPUs|date=2018-05-04|work=The Hacker News|archive-url=https://web.archive.org/web/20180505154309/https://thehackernews.com/2018/05/intel-spectre-vulnerability.html|archive-date=2018-05-05|url-status=live|access-date=2018-05-05|author-first=Mohit|author-last=Kumar}}</ref> 영향을 받는 [[중앙 처리 장치|프로세서]]들로는 모든 [[인텔 코어|Core-i]] 프로세서와 [[네할렘 (마이크로아키텍처)|네할렘]] (2010) 이후의 [[제온]]에서 파생된 프로세서, 그리고 2013년 이후의 [[인텔 아톰|아톰]] 기반 프로세서들이 지목되었다. [[인텔]]은 해당 버그들에 대한 [[패치 (컴퓨팅)|패치]]를 준비 중이라고 밝혔으나,<ref name="Tung_2018_NG">{{웹 인용|url=https://www.zdnet.com/article/are-8-new-spectre-class-flaws-about-to-be-exposed-intel-confirms-its-readying-fixes/|title=Are 8 new 'Spectre-class' flaws about to be exposed? Intel confirms it's readying fixes|date=2018-05-04|website=[[ZDNet]]|archive-url=https://web.archive.org/web/20180522152328/https://www.zdnet.com/article/are-8-new-spectre-class-flaws-about-to-be-exposed/|archive-date=2018-05-22|url-status=live|access-date=2018-03-04|author-last=Tung|author-first=Liam}}</ref> 해당 [[마이크로코드]] 패치 발표는 같은 해 7월 10일까지 연기되었다.<ref name="TomsHardware">{{웹 인용|url=https://www.tomshardware.com/news/intel-spectre-ng-cpu-flaws,37018.html|title=Intel Postpones Patching 'Spectre NG' CPU Flaws|date=2018-05-08|work=[[Tom's Hardware]]|access-date=2018-05-11|author-first=Lucian|author-last=Armasu}}</ref><ref name="Schmidt_2018_NG2">{{웹 인용|url=https://www.heise.de/security/meldung/Spectre-NG-Intel-verschiebt-die-ersten-Patches-koordinierte-Veroeffentlichung-aufgeschoben-4043790.html|title=Spectre-NG: Intel verschiebt die ersten Patches – koordinierte Veröffentlichung aufgeschoben|date=2018-05-07|work=[[Heise online]]|language=de|archive-url=https://web.archive.org/web/20180507201057/https://www.heise.de/security/meldung/Spectre-NG-Intel-verschiebt-die-ersten-Patches-koordinierte-Veroeffentlichung-aufgeschoben-4043790.html|archive-date=2018-05-07|url-status=live|access-date=2018-05-07|author-first=Jürgen|author-last=Schmidt}}</ref>

2018년 5월 21일, [[인텔]]이 Spectre-NG [[부채널 공격|부채널]] 취약점 가운데 첫 두 개에 해당하는 CVE-2018-3640 (불순한 시스템 레지스터 읽기, 스펙터 변종 3a, Intel SA-00115)와 CVE-2018-3639(예측적 메모리 쓰기 우회, 스펙터 변종 4, HP PSR-2018-0074)에 대한 정보를 발표하였다.<ref name="Windeck_2018_V3aV42">{{웹 인용|url=https://www.heise.de/security/meldung/CPU-Sicherheitsluecken-Spectre-NG-Updates-rollen-an-4051900.html|title=CPU-Sicherheitslücken Spectre-NG: Updates rollen an Update|date=2018-05-21|work=[[Heise Security]]|language=de|archive-url=https://web.archive.org/web/20180521231256/https://www.heise.de/security/meldung/CPU-Sicherheitsluecken-Spectre-NG-Updates-rollen-an-4051900.html|archive-date=2018-05-21|url-status=live|access-date=2018-05-21|author-first=Christof|author-last=Windeck}}</ref><ref>{{웹 인용|url=https://www.us-cert.gov/ncas/alerts/TA18-141A|title=Side-Channel Vulnerability Variants 3a and 4|date=2018-05-21|publisher=[[US-CERT]]|id=Alert (TA18-141A)|archive-url=https://web.archive.org/web/20180521231825/https://www.us-cert.gov/ncas/alerts/TA18-141A|archive-date=2018-05-21|url-status=live|access-date=2018-05-21}}</ref>

2018년 6월 13일, 인텔이 세 번째 Spectre-NG 취약점인 CVE-2018-3665 (게으른 [[부동 소수점 장치|부동소수점 유닛]] 상태 복구, Intel SA-00145, 약칭으로 "LazyFP")에 대한 상세한 사항들을 밝혀냈다.<ref name="ZDN-20180613">{{웹 인용|url=https://www.zdnet.com/article/another-day-another-intel-cpu-security-hole-lazy-state/|title=Another day, another Intel CPU security hole: Lazy State – Intel has announced that there's yet another CPU security bug in its Core-based microprocessors.|date=2018-06-13|work=[[ZDNet]]|access-date=2018-06-14|author-last=Vaughan-Nichols|author-first=Steven J.}}</ref><ref name="TH-20180614">{{웹 인용|url=https://www.tomshardware.com/news/intel-processors-lazyfp-speculative-execution,37302.html|title=Intel CPUs Affected By Yet Another Speculative Execution Flaw|date=2018-06-14|work=[[Tom's Hardware]]|access-date=2018-06-14|author-last=Armasu|author-first=Lucian}}</ref><ref name="Windeck_2018_NG3">{{웹 인용|url=https://www.heise.de/security/meldung/CPU-Bug-Spectre-NG-Nr-3-Lazy-FP-State-Restore-4078222.html|title=CPU-Bug Spectre-NG Nr. 3: Lazy FP State Restore|date=2018-06-14|work=[[Heise Security]]|language=de|archive-url=https://web.archive.org/web/20180614200513/https://www.heise.de/security/meldung/CPU-Bug-Spectre-NG-Nr-3-Lazy-FP-State-Restore-4078222.html|archive-date=2018-06-14|url-status=live|access-date=2018-06-14|author-first=Christof|author-last=Windeck}}</ref><ref name="Windeck_2018_Raadt">{{웹 인용|url=https://www.heise.de/security/meldung/Spectre-NG-Harte-Kritik-von-OpenBSD-Entwickler-Theo-de-Raadt-4078903.html|title=Spectre-NG: Harte Kritik von OpenBSD-Entwickler Theo de Raadt|date=2018-06-14|work=[[Heise Security]]|language=de|archive-url=https://web.archive.org/web/20180614201355/https://www.heise.de/security/meldung/Spectre-NG-Harte-Kritik-von-OpenBSD-Entwickler-Theo-de-Raadt-4078903.html|archive-date=2018-06-14|url-status=live|access-date=2018-06-14|author-first=Christof|author-last=Windeck}}</ref> 해당 취약점은 어떤 [[프로세스]]가 독점적으로 소유하고 있는 [[부동 소수점 장치|부동소수점 유닛]] [[하드웨어 레지스터|레지스터]] 값이 다른 [[프로세스]]에 노출되는 취약점이다.

2018년 7월 10일, 인텔이 [[배열]] 경계 바깥에 값을 ''쓸 수도'' 있는 신종 유사 Spectre-NG 취약점과 (CVE-2018-3693, [[경계 검사]] 우회 메모리 쓰기, "스펙터 1.1", 약칭 "BCBS") 또다른 신종 스펙터 변종인 "스펙터 1.2"에 대한 상세한 내용을 발표하였다.<ref name="Intel_2018_OSS-10002">{{웹 인용|url=https://01.org/security/advisories/intel-oss-10002|title=Speculative Execution Branch Prediction Side Channel and Branch Prediction Analysis Method|date=2018-07-10|publisher=[[Intel]]|orig-year=2018-01-03|id=INTEL-OSS-10002|archive-url=https://web.archive.org/web/20180714203507/https://01.org/security/advisories/intel-oss-10002|archive-date=2018-07-15|url-status=live|access-date=2018-07-15}}</ref><ref name="Intel_2018_336983-004">{{웹 인용|url=https://software.intel.com/sites/default/files/managed/b9/f9/336983-Intel-Analysis-of-Speculative-Execution-Side-Channels-White-Paper.pdf|title=Analysis of Speculative Execution Side Channels|date=July 2018|publisher=[[Intel]]|type=White Paper|id=336983-004|url-status=live|access-date=2018-07-15|version=Revision 4.0}}</ref><ref>{{웹 인용|url=https://www.heise.de/security/meldung/Spectre-NG-Intel-dokumentiert-spekulativen-Buffer-Overflow-4108008.html|title=Spectre-NG: Intel dokumentiert "spekulativen Buffer Overflow"|date=2018-07-11|work=[[Heise Security]]|language=de|archive-url=https://web.archive.org/web/20180715085602/https://www.heise.de/security/meldung/Spectre-NG-Intel-dokumentiert-spekulativen-Buffer-Overflow-4108008.html|archive-date=2018-07-15|url-status=live|access-date=2018-07-15|author-first=Jürgen|author-last=Schmidt}} [https://heise.de/-4108008]</ref><ref name="Kiriansky_2018">{{ArXiv 인용|eprint=1807.03757v1|last1=Kiriansky|first1=Vladimir|title=Speculative Buffer Overflows: Attacks and Defenses|last2=Waldspurger|first2=Carl|class=cs.CR|year=2018}}</ref> 일반적인 스펙터 취약점은 메모리를 읽는 동작만 가능하다.

2018년 7월 말, 자틀랜드와 캘리포니아의 대학 연구진이 [[중앙 처리 장치|CPU]] 내 [[반환 스택 버퍼]](RSB)를 이용한 신종 코드 실행 [[보안 취약점|취약점]]인 ''ret2spec'' (혹은 "스펙터 v5")와 ''SpectreRSB''를 발표하였다. 비슷한 시기에 [[그라츠 대학교]]의 연구진은 "NetSpectre"라는 취약점을 발표하였는데, 이 취약점은 스펙터 변종 1과 비슷하지만, 공격자가 조종할 수 있는 코드가 공격할 장치에서 실행될 필요가 없다는 점에서 차이가 있다.<ref name="Schwarz_2018_NetSpectre">{{웹 인용|url=https://misc0110.net/web/files/netspectre.pdf|title=NetSpectre: Read Arbitrary Memory over Network|date=July 2018|publisher=[[Graz University of Technology]]|archive-url=https://web.archive.org/web/20180728064922/https://misc0110.net/web/files/netspectre.pdf|archive-date=2018-07-28|url-status=live|access-date=2018-07-28|author-first1=Michael|author-last1=Schwarz|author-first2=Martin|author-last2=Schwarzl|author-first3=Moritz|author-last3=Lipp|author-first4=Daniel|author-last4=Gruss}}</ref><ref name="Windeck_2018">{{저널 인용|title=NetSpectre liest RAM via Netzwerk aus|url=https://www.heise.de/security/meldung/NetSpectre-liest-RAM-via-Netzwerk-aus-4121831.html|date=2018-07-27|publisher=[[Heise Security]]|language=de|archive-url=https://web.archive.org/web/20180728064929/https://www.heise.de/security/meldung/NetSpectre-liest-RAM-via-Netzwerk-aus-4121831.html|archive-date=2018-07-28|url-status=live|access-date=2018-07-28|author-first=Christof|author-last=Windeck}}</ref> 일반적인 스펙터 취약점은 공격자가 조종 가능한 [[프로세스]]가 공격할 [[프로세스]]와 함께 같은 장치에서 실행되어야 한다.

2018년 10월 8일, 인텔이 스펙터와 [[멜트다운 (버그)|멜트다운]] 버그를 위한 [[하드웨어]]와 [[펌웨어]] [[패치 (컴퓨팅)|패치]]를 당시 최신 [[중앙 처리 장치|프로세서]]에 추가하였다.<ref name="AT-201810082">{{웹 인용|url=https://www.anandtech.com/show/13450/intels-new-core-and-xeon-w-processors-fixes-for-spectre-meltdown|title=Intel's New Core and Xeon W-3175X Processors: Spectre and Meltdown Security Update|date=2018-10-08|work=[[AnandTech]]|access-date=2018-10-09|author-last=Shilov|author-first=Anton}}</ref>

2018년 11월, 스펙터를 이용한 다섯 가지 새로운 공격 방법에 대한 연구가 발표되었다. 이 연구진은 CPU의 패턴 히스토리 테이블과 [[분기 타깃 버퍼]], [[반환 스택 버퍼]], [[분기 히스토리 테이블]]을 [[익스플로잇]]하여 CPU의 [[메모리 보호|메모리 보호 메커니즘]]을 우회하고자 하였다고 한다.<ref name="zdnet-nov2018">{{뉴스 인용|url=https://www.zdnet.com/article/researchers-discover-seven-new-meltdown-and-spectre-attacks/|title=Researchers discover seven new Meltdown and Spectre attacks|date=2018-11-14|work=[[ZDNet]]|access-date=2018-11-17|author-first=Catalin|author-last=Cimpanu}}</ref>

2019년 8월, 신종 유사 스펙터 취약점인 [[SWAPGS]]가 보고되었다.<ref>{{웹 인용|url=https://www.bitdefender.com/business/swapgs-attack.html|title=Bitdefender SWAPGS Attack Mitigation Solutions|website=www.bitdefender.com|access-date=2019-08-07}}</ref><ref>{{웹 인용|url=https://chromium.googlesource.com/chromiumos/third_party/kernel/+/refs/tags/v4.19.65/Documentation/admin-guide/hw-vuln/spectre.rst|title=Documentation/admin-guide/hw-vuln/spectre.rst - chromiumos/third_party/kernel - Git at Google|website=chromium.googlesource.com|access-date=2019-08-07|archive-date=2019-08-07|archive-url=https://web.archive.org/web/20190807125636/https://chromium.googlesource.com/chromiumos/third_party/kernel/%2B/refs/tags/v4.19.65/Documentation/admin-guide/hw-vuln/spectre.rst}}</ref><ref name="FRBS-20190806">{{뉴스 인용|url=https://www.forbes.com/sites/daveywinder/2019/08/06/microsoft-confirms-new-windows-cpu-attack-vulnerability--advises-all-users-to-update-now/|title=Microsoft Confirms New Windows CPU Attack Vulnerability, Advises All Users To Update Now|last=Winder|first=Davey|date=6 August 2019|work=[[Forbes]]|accessdate=7 August 2019}}</ref> (CVE-2019-1125)

== 메커니즘 ==

=== 소개 ===
스펙터는 프로그램을 속여 해당 프로그램의 메모리 공간 내 임의의 주소에 접근하도록 하는 취약점이다. 공격자는 이 취약점을 이용하여 데이터에 접근할 수 있고, 잠재적으로 민감한 데이터를 얻는데 활용할 수도 있다.

단일한 방어책이 존재하는 여타 취약점과는 달리, 스펙터 백서에는 다양한 종류의 변종 취약점들이 소개되고 있는데, 이들은 모두 예측적 실행 (특히 분기 예측) 중에 발생하는 주변 효과(사이드 이펙트)를 이용한다. 예측적 실행은 현대 마이크로프로세서에서 메모리 접근 지연시간을 감추어 전반적인 실행 속도를 향상시키는데 통용되는 일반적인 기술이다. 스펙터는 동시에 공개된 멜트다운 버그와도 관련성이 있지만, 멜트다운과는 달리 ''특정'' 프로세서의 ''구체적인 특징''을 전제로 두지 않아 좀 더 일반적이다. (멜트다운의 경우 메모리 관리/보호 체계에 대한 특징을 전제로 한다.)

== 영향 ==
스펙터 취약점을 이용해 다른 프로그램의 메모리 열람이 가능.

== 같이 보기 ==
* [[멜트다운 (버그)]]
<!--
* [[펜티엄 FDIV 버그]]
* [[펜티엄 F00F 버그]]
-->

== 각주 ==
{{각주}}

== 외부 링크 ==
* [https://meltdownattack.com/ 웹사이트]
* [https://spectreattack.com/spectre.pdf 스펙터에 대한 논문]
* [https://googleprojectzero.blogspot.co.at/2018/01/reading-privileged-memory-with-side.html Google Project Zero write-up]

{{2010년대의 해킹}}

[[분류:하드웨어 버그]]
[[분류:컴퓨터 보안]]
[[분류:ARM 아키텍처]]
[[분류:X86 아키텍처]]
[[분류:2018년 컴퓨팅]]