CPU 게이트
https://namu.wiki/w/CPU%20%EA%B2%8C%EC%9D%B4%ED%8A%B8
시키지도 않은 일을 한다. -> 보안사고로 이어짐.
호텔에 비유한 설명
- 특정 호실에 대한 질문의 빈도가 잦으면, 해당 호실의 정보를 메모지에 적어 놓는다. (Caching)
- 질문이 들어왔을 때, 해당 호실의 정보는 검색하지 않고 메모지를 통해 다른 방에 비해 빠르게 대답할 수 있다.
- 메모지에 뭐라고 적혀있는지 직접 묻는 질문에는 대답하지 않는다.
문제 상황을 유도
- "B동 호텔방 중 A동의 대통령이 묵는 호실과 같은 호실이 비어있나요?"
문제
권한이 없는 사용자가 요청을 보낸 경우, 사용자에게는 권한이 없다고 알려준다.
하지만 내부적으로 연산은 실행된다. 심지어 해당 연산의 결과를 CPU의 Resiter 공간에 담기까지 한다.
이러한 점을 이용하여, 연속되는 연산에서 읽을 수 없는 값에 추가적인 처리를 하여 본래라면 접근할 수 없는 정보를 얻는다.
예를 들어, 접근할 수 없지만 연산된 값에 +1000을 하여 값을 얻고, 얻은 값에 -1000을 해주면 비정상적인 방법을 통해 원하는 값을 얻을 수 있다.
강의
곰책으로 쉽게 배우는 최소한의 운영체제론