"CPU게이트"의 두 판 사이의 차이
DH 교육용 위키
33번째 줄: | 33번째 줄: | ||
===관계성(Relation)=== | ===관계성(Relation)=== | ||
− | + | *<span style="color:green">'''는 -를 적용한다'''</span> | |
− | + | **설명: 마이크로아키텍처가 적용하는 프로세서 기술을 나타낸다. | |
− | + | **해당노드: | |
− | + | **#아이비브릿지 → 분기 예측 | |
− | + | **#하스웰 → 분기 예측 | |
− | + | **#브로드웰 → 분기 예측 | |
− | + | **#스카이레이크 → 분기 예측 | |
− | + | **#카비레이크 → 분기 예측 | |
− | + | **#젠 → 분기 예측 | |
− | + | **#Cortex-A57 → 분기 예측 | |
− | + | **#아이비브릿지 → 추측 실행 | |
− | + | **#하스웰 → 추측 실행 | |
− | + | **#브로드웰 → 추측 실행 | |
− | + | **#스카이레이크 → 추측 실행 | |
− | + | **#카비레이크 → 추측 실행 | |
− | + | **#젠 → 추측 실행 | |
− | + | **#Cortex-A57 → 추측 실행 | |
− | + | **#아이비브릿지 → 비순차적 명령어 처리 | |
− | + | **#하스웰 → 비순차적 명령어 처리 | |
− | + | **#브로드웰 → 비순차적 명령어 처리 | |
− | + | **#스카이레이크 → 비순차적 명령어 처리 | |
− | + | **#카비레이크 → 비순차적 명령어 처리 | |
− | + | **#젠 → 비순차적 명령어 처리 | |
− | + | **#Cortex-A57 → 비순차적 명령어 처리 | |
− | + | *<span style="color:green">'''는 -가 개발했다'''</span> | |
− | + | **설명: 마이크로아키텍처를 개발한 하드웨어 제조사를 나타낸다. | |
− | + | **해당노드: | |
− | + | **#아이비브릿지 → 인텔 | |
− | + | **#하스웰 → 인텔 | |
− | + | **#브로드웰 → 인텔 | |
− | + | **#스카이레이크 → 인텔 | |
− | + | **#카비레이크 → 인텔 | |
− | + | **#젠 → AMD | |
− | + | **#Cortex-A57 → ARM | |
− | + | *<span style="color:green">'''는 -의 구현이다'''</span> | |
− | + | **설명: 하드웨어 부분이 구현하는 프로세서 기술을 나타낸다. | |
− | + | **해당노드: | |
− | + | **#분기 예측기 → 분기 예측 | |
− | + | **#리오더 버퍼 → 비순차적 명령어 처리 | |
− | + | **#명령어 대기열 → 비순차적 명령어 처리 | |
− | + | *<span style="color:green">'''는 -의 일부이다'''</span> | |
− | + | **설명: 하드웨어 부분이 속하는 하드웨어를 나타낸다. | |
− | + | **해당노드: | |
− | + | **#캐시 → 프로세서 | |
− | + | **#분기 예측기 → 프로세서 | |
− | + | **#리오더 버퍼 → 프로세서 | |
− | + | **#명령어 대기열 → 프로세서 | |
− | + | *<span style="color:green">'''는 -를 공격한다'''</span> | |
− | + | **설명: 공격이 목표로 삼는 취약점, 그리고 하드웨어 부분을 나타낸다. | |
− | + | **해당노드: | |
− | + | **#스펙터 → CVE-2017-5753 | |
− | + | **#스펙터 → CVE-2017-5715 | |
− | + | **#멜트다운 → CVE-2017-5754 | |
− | + | **#부채널 공격 → 캐시 | |
− | + | *<span style="color:green">'''는 -의 취약점이다'''</span> | |
− | + | **설명: 취약점을 내포하는 하드웨어 기술을 나타낸다. | |
− | + | **해당노드: | |
− | + | **#CVE-2017-5753 → 분기 예측 | |
− | + | **#CVE-2017-5753 → 추측 실행 | |
− | + | **#CVE-2017-5715 → 분기 예측 | |
− | + | **#CVE-2017-5715 → 추측 실행 | |
− | + | **#CVE-2017-5754 → 비순차적 명령어 처리 | |
− | + | *<span style="color:green">'''는 -를 활용한다'''</span> | |
− | + | **설명: 취약점의 노출에 부가적으로 활용되는 공격을 나타낸다. | |
− | + | **해당노드: | |
− | + | **#CVE-2017-5753 → 부채널 공격 | |
− | + | **#CVE-2017-5715 → 부채널 공격 | |
− | + | **#CVE-2017-5715 → ROP | |
− | + | **#CVE-2017-5754 → 부채널 공격 | |
− | + | *<span style="color:green">'''는 -가 최초 발견했다'''</span> | |
− | + | **설명: 취약점을 최초로 발견한 인물을 나타낸다. | |
− | + | **해당노드: | |
− | + | **#CVE-2017-5753 → Jann Horn | |
− | + | **#CVE-2017-5715 → Jann Horn | |
− | + | **#CVE-2017-5754 → Jann Horn | |
− | + | *<span style="color:green">'''는 -가 작성했다'''</span> | |
− | + | **설명: 문서의 작성자를 나타낸다. | |
− | + | **해당노드: | |
− | + | **#Spectre Attacks: Exploiting Speculative Execution → Jann Horn | |
− | + | **#Spectre Attacks: Exploiting Speculative Execution → 구글 프로젝트 제로 | |
− | + | **#Meltdown: Reading Kernel Memory from User Space → Jann Horn | |
− | + | **#Meltdown: Reading Kernel Memory from User Space → 구글 프로젝트 제로 | |
− | + | *<span style="color:green">'''는 -를 기술한다'''</span> | |
− | + | **설명: 문서가 기술하는 대상을 나타낸다. | |
− | + | **해당노드: | |
− | + | **#Spectre Attacks: Exploiting Speculative Execution → 스펙터 | |
− | + | **#Meltdown: Reading Kernel Memory from User Space → 멜트다운 | |
− | + | *<span style="color:green">'''는 -의 소속이다'''</span> | |
− | + | **설명: 조직에 소속된 구성원을 나타낸다. | |
− | + | **해당노드: | |
− | + | **#구글 프로젝트 제로 → Jann Horn | |
− | + | *<span style="color:green">'''는 -가 도입했다'''</span> | |
− | + | **설명: 하드웨어 기술을 도입한 인물을 나타낸다. | |
− | + | **해당노드: | |
− | + | **#비순차적 명령어 처리 → Robert Tomasulo | |
− | + | *<span style="color:green">'''는 -에게 무력하다'''</span> | |
− | + | **설명: 공격이 무력한 마이크로아키텍처를 나타낸다.. | |
− | + | **해당노드: | |
− | + | **#멜트다운 → 젠 | |
=='''스토리'''== | =='''스토리'''== | ||
===스펙터와 멜트다운의 발견=== | ===스펙터와 멜트다운의 발견=== | ||
{{NetworkGraph | title=스펙터와_멜트다운의_발견.lst}} | {{NetworkGraph | title=스펙터와_멜트다운의_발견.lst}} | ||
+ | |||
+ | |||
===공격 원리 파헤치기=== | ===공격 원리 파헤치기=== |
2019년 6월 21일 (금) 14:01 판
목차
주제
- 2018년초 발생한 최대의 하드웨어 보안 이슈인 'CPU게이트'.
기획의도
평소에 관심 있던 분야인 하드웨어 보안과 관련해 최근 가장 큰 영향을 미친 사건, CPU게이트의 전모를 세 부분으로 나누어 알아보고자 함.
- 스펙터와 멜트다운 취약점의 발견과 공론화 과정.
- 하드웨어 관점에서의, 스펙터와 멜트다운 공격의 원리.
- 스펙터와 멜트다운 공격에 영향받는 제품군, 그리고 사건이 '인텔 CPU게이트'라고도 불리는 이유.
온톨로지
클래스(Class)
클래스 | 설명 | 노드 |
---|---|---|
아키텍처 | 하드웨어 제조사의 마이크로아키텍처 중, 사건에서 논의되는 아키텍처들만 모아 이 클래스에 정리하였음. | 아이비브릿지, 하스웰, 브로드웰, 스카이레이크, 카비레이크, 젠, Cortex-A57. |
하드웨어 | 프로세서 내에서 명령어 처리에 참여하는 부분들, 그 중에서도 스펙터와 멜트다운 공격이 목표로 삼는 부분들을 클래스로 정리하였음. | 프로세서, 캐시, 분기 예측기, 리오더 버퍼, 명령어 대기열. |
기술 | 현대 프로세서는 성능 향상을 목표로 하는 수많은 기술들의 산물임. 스펙터와 멜트다운 공격은 다음 주요 기술들의 취약점을 노림. | 분기 예측, 추측 실행, 비순차적 명령어 처리. |
공격 | CPU게이트의 중심에 있는 스펙터, 멜트다운 공격과, 공격 과정에서 부가적으로 활용되는 다른 공격 기법들을 함께 정리하였음. | 스펙터, 멜트다운, ROP, 부채널 공격. |
취약점 | 마이터 코퍼레이션이 감독하는 취약점 데이터베이스인 CVE에 등록된 스펙터와 멜트다운 취약점들을 이 클래스에 정리하였음. | CVE-2017-5753, CVE-2017-5715, CVE-2017-5754. |
문서 | 스펙터와 멜트다운 취약점 공개와 함께 배포된 문서들을 모아두었음. | Spectre Attacks: Exploiting Speculative Execution, Meltdown: Reading Kernel Memory from User Space. |
인물 | 스펙터와 멜트다운 취약점에 직간접적으로 관련되는 인물들을 모아두었음. | Jann Horn, Robert Tomasulo. |
조직 | 인물이 속한 조직, 그리고 사태에 영향받는 하드웨어 제조사들을 이 클래스에 정리하였음. | 구글 프로젝트 제로, 인텔, AMD, ARM. |
관계성(Relation)
- 는 -를 적용한다
- 설명: 마이크로아키텍처가 적용하는 프로세서 기술을 나타낸다.
- 해당노드:
- 아이비브릿지 → 분기 예측
- 하스웰 → 분기 예측
- 브로드웰 → 분기 예측
- 스카이레이크 → 분기 예측
- 카비레이크 → 분기 예측
- 젠 → 분기 예측
- Cortex-A57 → 분기 예측
- 아이비브릿지 → 추측 실행
- 하스웰 → 추측 실행
- 브로드웰 → 추측 실행
- 스카이레이크 → 추측 실행
- 카비레이크 → 추측 실행
- 젠 → 추측 실행
- Cortex-A57 → 추측 실행
- 아이비브릿지 → 비순차적 명령어 처리
- 하스웰 → 비순차적 명령어 처리
- 브로드웰 → 비순차적 명령어 처리
- 스카이레이크 → 비순차적 명령어 처리
- 카비레이크 → 비순차적 명령어 처리
- 젠 → 비순차적 명령어 처리
- Cortex-A57 → 비순차적 명령어 처리
- 는 -가 개발했다
- 설명: 마이크로아키텍처를 개발한 하드웨어 제조사를 나타낸다.
- 해당노드:
- 아이비브릿지 → 인텔
- 하스웰 → 인텔
- 브로드웰 → 인텔
- 스카이레이크 → 인텔
- 카비레이크 → 인텔
- 젠 → AMD
- Cortex-A57 → ARM
- 는 -의 구현이다
- 설명: 하드웨어 부분이 구현하는 프로세서 기술을 나타낸다.
- 해당노드:
- 분기 예측기 → 분기 예측
- 리오더 버퍼 → 비순차적 명령어 처리
- 명령어 대기열 → 비순차적 명령어 처리
- 는 -의 일부이다
- 설명: 하드웨어 부분이 속하는 하드웨어를 나타낸다.
- 해당노드:
- 캐시 → 프로세서
- 분기 예측기 → 프로세서
- 리오더 버퍼 → 프로세서
- 명령어 대기열 → 프로세서
- 는 -를 공격한다
- 설명: 공격이 목표로 삼는 취약점, 그리고 하드웨어 부분을 나타낸다.
- 해당노드:
- 스펙터 → CVE-2017-5753
- 스펙터 → CVE-2017-5715
- 멜트다운 → CVE-2017-5754
- 부채널 공격 → 캐시
- 는 -의 취약점이다
- 설명: 취약점을 내포하는 하드웨어 기술을 나타낸다.
- 해당노드:
- CVE-2017-5753 → 분기 예측
- CVE-2017-5753 → 추측 실행
- CVE-2017-5715 → 분기 예측
- CVE-2017-5715 → 추측 실행
- CVE-2017-5754 → 비순차적 명령어 처리
- 는 -를 활용한다
- 설명: 취약점의 노출에 부가적으로 활용되는 공격을 나타낸다.
- 해당노드:
- CVE-2017-5753 → 부채널 공격
- CVE-2017-5715 → 부채널 공격
- CVE-2017-5715 → ROP
- CVE-2017-5754 → 부채널 공격
- 는 -가 최초 발견했다
- 설명: 취약점을 최초로 발견한 인물을 나타낸다.
- 해당노드:
- CVE-2017-5753 → Jann Horn
- CVE-2017-5715 → Jann Horn
- CVE-2017-5754 → Jann Horn
- 는 -가 작성했다
- 설명: 문서의 작성자를 나타낸다.
- 해당노드:
- Spectre Attacks: Exploiting Speculative Execution → Jann Horn
- Spectre Attacks: Exploiting Speculative Execution → 구글 프로젝트 제로
- Meltdown: Reading Kernel Memory from User Space → Jann Horn
- Meltdown: Reading Kernel Memory from User Space → 구글 프로젝트 제로
- 는 -를 기술한다
- 설명: 문서가 기술하는 대상을 나타낸다.
- 해당노드:
- Spectre Attacks: Exploiting Speculative Execution → 스펙터
- Meltdown: Reading Kernel Memory from User Space → 멜트다운
- 는 -의 소속이다
- 설명: 조직에 소속된 구성원을 나타낸다.
- 해당노드:
- 구글 프로젝트 제로 → Jann Horn
- 는 -가 도입했다
- 설명: 하드웨어 기술을 도입한 인물을 나타낸다.
- 해당노드:
- 비순차적 명령어 처리 → Robert Tomasulo
- 는 -에게 무력하다
- 설명: 공격이 무력한 마이크로아키텍처를 나타낸다..
- 해당노드:
- 멜트다운 → 젠
스토리
스펙터와 멜트다운의 발견
공격 원리 파헤치기
"인텔" CPU게이트