05
05

 

버지니아 대학과 샌디에고 대학의 연구팀은 마이크로옵 캐시를 사용하는 인텔과 AMD의 모든 최신 프로세서에 영향을 주는 스펙터 공격의 3가지 변종을 발견했습니다. 일단 현재까지 나온 스펙터 관련 하드웨어/소프트웨어 패치만으로는 막을 수 없다고 합니다.

 

CISC, 즉 x86 프로세서는 길고 복잡한 명령어들을 위주로 사용하는데, 현 시대에는 이걸 그대로 쓰면 효율이 매우 낮아지기 때문에 더 단순하고 작게 분할하는 일을 프론트엔드에서 수행하며, 이를 마이크로옵이라 부릅니다. 백엔드에서는 이 단순해진 명령어들을 처리하면 되니, 짧고 단순한 명령어들을 다수 실행하는 RISC 프로세서의 메커니즘에 더 가까워지며, 결과적으로는 처리 속도도 향상됩니다. 이때 이 마이크로옵은 마이크로옵 캐시에 저장되는데, 이번에 발견된 취약점은 이걸 공격합니다.

 

연구팀은 '얼룩말'과 '호랭이'라는 이름을 가진 2가지 코드를 사용하여 시연을 했는데, 둘 다 micro-op 캐시 안에 있습니다. 호랑이는 원래 주어졌던 명령으로 위장하여 그 자리를 차지하고, 원래의 코드를 교묘히 제거할 수 있습니다. 얼룩말은 점유되지 않은 모든 영역에 숨어 눈에 띄지 않습니다. 그렇게 그들은 타이밍 효과를 이용하여 마이크로옵 캐시를 제어할 수 있게 됩니다.

 

분기 예측의 헛점을 이용해 기존의 전 캐시 메모리에 접근하여 해당 메모리의 데이터를 몰래 읽어올 수 있게 되었던 기존의 스펙터랑 달리 신규 결함은 L1 캐시보다도 더 먼저 있고, 매우 빠르고 용량도 매우 작은 마이크로옵 캐시의 특성을 이용하므로 기존의 스펙터 결함보다 더 신속하고 빠르게 실행되어 대처하기도 더 어렵습니다.

이 취약점을 잡는 방법은 iTLB 를 자주 비우는(flushing) 것인데 성능이 크게 떨어집니다. 마이크로옵 캐시를 분할(partitioning)하는 방법도 있으나 역시 캐시 활용이 줄어들어 성능이 떨어집니다. 모니터링을 강화하여 악용 감지를 하는 경우 앞의 2가지보다 성능 저하는 좀 덜할 수 있으나 이 경우는 에러가 잦고, 감지율이 떨어집니다.

 

다만 이 취약점을 써서 해킹 등을 하기 위해선 소프트웨어와 하드웨어적인 보안 패치를 모두 우회할 수 있어야 합니다. 또한 스펙터의 특성상 메모리의 정보를 읽어올 수는 있으나 쓰는 것은 불가능하기 때문에 정보를 몰래 캘 수는 있지만 해커 맘대로 조작할 수는 없습니다. 그런 특성상 통상적인 수준의 보안을 유지한다면 지금 당장 중대한 위험성은 없다고 합니다.

 

이번 연구에서는 ZEN/스카이레이크 및 그 이후 아키텍처에 대해 테스트를 진행했으며 연구팀은 인텔과 AMD에 이 정보를 알렸으나, 아직까지 양 사 모두 공식적인 성명이나 대응은 하지 않고 있는 상태입니다.

 

 

A new Spectre vulnerability is costly to patch but nearly impossible to exploit

The three newly discovered vulnerabilities are in the design of the micro-op cache, a feature of modern CPUs present in AMD processors from 2017 onwards and Intel...

www.techspot.com

 

COMMENT
 

인기 글


최근 글