시스템 관리 모드(SMM) 취약점, 초장기 인터럽트로 악용 가능

x86 CPU의 시스템 관리 모드(SMM)는 모든 코어가 동시에 SMM에 진입해야 하는데, 1초 이상 실행되는 단일 명령어로 한 코어가 SMM 진입을 지연시켜 다른 코어가 SMM에서 나간 후 공격할 수 있는 취약점이 발견되었습니다. 이는 SMM의 동기화 타임아웃(1초)을 악용한 것으로, 개념 증명 코드가 공개되었습니다.

AI 요약

x86 CPU의 최고 권한 실행 환경인 시스템 관리 모드(SMM)를 초장기 실행 머신 명령어 하나로 깨뜨릴 수 있는 취약점이 공개되었다. SMM은 모든 코어가 동시에 SMM에 진입해야 하는 보안 모델을 갖는데, 한 코어가 약 40억 사이클(약 1초) 이상 중단 불가능한 단일 명령어를 실행하면 다른 코어가 SMM 진입을 포기하고 SMM 코드를 실행하게 된다. 이때 SMM에 늦게 진입한 코어와 이미 SMM을 빠져나간 코어 간의 비동기 상태가 발생해 공격자가 SMM 내부를 공격할 수 있게 된다. x86 펌웨어의 1초 타임아웃 로직이 이 취약점의 핵심 원인이다.

핵심 포인트

  • SMM은 모든 코어가 동시에 SMM에 있거나 없어야 하는 보안 모델을 가짐
  • 약 4,000,000,000 사이클(1초 이상) 동안 중단되지 않는 단일 명령어로 SMM 동기화를 깨뜨림
  • x86 펌웨어의 SMM 동기화 코드가 1초 타임아웃 후 대기를 포기하는 점을 악용
  • SMM 진입은 명령어 경계에서만 발생하므로 명령어 사이의 간격이 없어야 함

향후 전망

  • CPU 제조사와 펌웨어 개발사의 SMM 동기화 메커니즘 재설계 필요성 대두
  • SMM은 OS보다 높은 권한이므로 이 취약점은 부트킷 및 펌웨어 보안 연구에 중대한 영향을 미칠 전망
Share

이것도 읽어보세요

댓글

이 소식에 대한 의견을 자유롭게 남겨주세요.

댓글 (0)

불러오는 중...