일부 x86 CPU의 하드웨어 백도어

15 hours ago 8

project:rosenbridge는 일부 데스크톱·노트북·임베디드 x86 프로세서에서 사용자 영역 코드가 CPU 보호를 우회해 커널 데이터를 읽고 쓸 수 있는 하드웨어 백도어를 공개함 백도어는 x86 코어 옆에 내장된 비(非) x86 코어로, 특수 명령을 받아 메모리 보호와 권한 검사를 우회하며 CPU 메모리뿐 아니라 레지스터 파일과 실행 파이프라인에도 접근함 활성화에는 원칙적으로 ring 0 권한이 필요하지만 일부 시스템에서는 기본 활성화된 상태로 발견돼, 권한 없는 코드가 커널을 수정할 수 있음 영향 범위는 VIA C3 CPU로 추정되며 이후 세대에는 해당 기능이 없지만, C 시리즈가 산업 자동화·POS·ATM·의료 장비와 소비자용 PC에 사용됨 저장소는 탐지·비활성화·권한 상승 실증·퍼징 도구를 제공하지만 탐지기는 알파 상태이고 베어메탈에서만 동작하며, 시스템 충돌이나 변형된 백도어 미탐지 가능성이 있음 rosenbridge 백도어의 구조 rosenbridge는 메인 x86 코어와 함께 CPU에 내장된 작은 비 x86 코어임 모델별 레지스터(model-specific register)의 제어 비트로 활성화한 뒤 launch-instruction으로 전환함 특수 형식의 x86 명령으로 감싼 명령을 내장 코어에 전달하면, 이 코어가 DEIS(Deeply Embedded Instruction Set) 명령을 실행함 모든 메모리 보호와 권한 검사를 우회함 CPU 전체 메모리뿐 아니라 레지스터 파일과 실행 파이프라인에도 접근할 수 있음 Intel Management Engine이나 Platform Security Processor처럼 공개적으로 알려진 보조 프로세서와 별개이며, 알려진 보조 프로세서보다 CPU 내부에 더 깊이 내장돼 있음 권한 상승 조건과 영향 범위 정상적으로는 백도어 활성화에 커널 수준 접근 권한이 필요함 일부 시스템에서는 기본 활성화돼 있어 ring 3 사용자 영역 코드가 ring 0 커널 데이터를 자유롭게 읽고 쓸 수 있음 영향받는 프로세서는 VIA C3 CPU로 한정되는 것으로 추정됨 VIA C 시리즈는 산업 자동화, POS, ATM, 의료 장비에 판매됨 소비자용 데스크톱과 노트북에도 사용됨 C3 이후 세대에는 이 기능이 없어 취약점 범위가 제한적임 CPU 검사 방법과 제약 저장소의 util 도구를 빌드하고 msr 모듈을 로드한 뒤 관리자 권한으로 검사함 git clone https://g...

Read Entire Article