반응형
인텔 CPU에서 발견된 보안 버그인 멜트다운 (Meltdown)를 이해하기 위해서는 CPU가 동작하는 방법을 이해해야 한다. CPU는 기본적으로 한 번에 하나의 명령어를 실행한다. 첫 번째 명령어를 실행한 후 다음 명령어를 순차적으로 실행한다.
하지만, CPU 내부에서는 빠른 실행을 위해 뒤에 오는 명령어도 미리 분석하고 실행 결과를 캐쉬에 올려 둔다. 그리고, 자기 차례가 오면 캐쉬의 데이터로 빠르게 실행한다.
만약, 일반 사용자가 커널 메모리의 데이터를 읽는 명령어를 실행한다면 CPU는 일반 사용자는 권한이 없기 때문에 그 명령어를 실행하지 않는다. 하지만, 그 명령어가 실행이 되지는 않지만 그 명령어의 결과는 이미 캐쉬에 들어있다. 캐쉬에 들어 있는 데이터는 직접적으로 알 수는 없지만 데이터를 읽는 속도를 비교하여 간접적으로 알 수 있다.
이와 같이 일반 사용자가 캐쉬를 이용하여 커널 메모리를 읽을 수 있는 버그를 멜트다운이라고 한다.
반응형
'컴퓨터 > 프로그래밍' 카테고리의 다른 글
HSV (색상, 채도, 명도) (1) | 2018.03.15 |
---|---|
움짤 뜻 (0) | 2018.03.15 |
버블 정렬 알고리즘 (0) | 2016.05.23 |
대칭키 암호와 공개키 암호 차이 (0) | 2016.03.25 |
오토마타 이론 (0) | 2016.02.28 |
댓글