본문으로 건너뛰기
피드

AMD Zen CPU 마이크로코드를 직접 해킹하는 도구와 인사이트 (39C3 발표)

security 약 5분
vote
0
댓글
북마크

39C3에서 EntrySign 취약점을 활용한 AMD Zen 1~5 CPU 커스텀 마이크로코드 로드 방법과 오픈소스 도구(AngryTools)가 공개됨. 전자현미경으로 ROM을 추출하고 마이크로코드 인코딩을 분석한 결과도 포함.

  • 1

    EntrySign 취약점으로 AMD Zen 1~5에 커스텀 마이크로코드 로드 가능

  • 2

    전자현미경으로 Zen 1 CPU의 물리적 ROM 추출 및 디스어셈블

  • 3

    AngryUEFI/AngryCAT/ZenUtils 오픈소스 도구 GitHub 공개

  • 4

    마이크로코드로 strlen 구현, Subleq VM 등 데모 시연

AMD Zen CPU 마이크로코드를 직접 해킹하는 시대가 왔음

  • 39C3에서 Benjamin Kollenda가 발표한 세션인데, 올해 초 공개된 EntrySign 취약점을 활용해서 AMD Zen 1~5 CPU에 커스텀 마이크로코드를 로드하는 방법과 도구를 소개함
  • EntrySign은 마이크로코드 업데이트의 서명 검증 약점을 이용한 건데, AMD가 일부 CPU에는 패치를 배포했지만 아직 패치 안 된 시스템에서는 여전히 분석이 가능함

마이크로코드가 뭐길래

  • 현대 CPU는 x86_64 같은 복잡한 명령어를 내부적으로 더 단순한 명령어 세트로 변환해서 실행함. 단순한 명령어는 빠른 경로(fast path) 디코더가 처리하는데, wrmsr이나 rdrand 같은 복잡한 명령어는 마이크로코드 디코더가 처리함
  • 이 마이크로코드 디코더는 사실상 작은 실행 엔진처럼 동작하는데, 조건 분기(conditional branch)와 콜/리턴까지 지원함. 이 모든 게 하나의 x86 명령어 실행 중에 내부적으로 벌어지는 일임
  • AMD는 K8(2003년) 이후로 마이크로코드 업데이트를 통해 CPU 버그를 수정해왔는데, 이번에 그 업데이트 메커니즘 자체를 역으로 활용한 거임

전자현미경으로 ROM을 뜯었음

  • 연구팀이 전자현미경으로 Zen 1 CPU의 물리적 ROM을 추출해서 하드코딩된 마이크로코드를 읽어냄. 마이크로코드 인코딩을 이해한 뒤 디스어셈블해서 명령어 구현 방식을 분석함
  • XXTEA 복호화 알고리즘의 제어 흐름도 추적했다고 하는데, 아직 이해 못한 부분도 많다고 솔직하게 밝힘

오픈소스 도구 세트: AngryTools

  • AngryUEFI라는 이름으로 GitHub에 전부 공개함. 핵심 구성은 두 가지:

    • AngryUEFI: RAM에서 실행되는 UEFI 앱. OS 없이 마이크로코드 테스트 가능하고, 잘못된 마이크로코드로 인한 폴트도 대부분 복구함
    • AngryCAT: 클라이언트 PC에서 Python으로 테스트를 작성하면 TCP로 테스트 시스템에 전송하는 프레임워크
  • 테스트 플로우: 마이크로코드 업데이트를 타겟 CPU 코어에 로드 → x64 명령어 버퍼 실행 → 결과를 TCP로 회수. OS 없이 돌리니까 노이즈가 적고, 중요한 명령어가 깨져도 데이터 손상 걱정이 없음

  • ZenUtils라는 Python 도구도 공개했는데, 어셈블리/디스어셈블리 + 매크로 어셈블러를 지원함. 현재 Zen 1/2 아키텍처 스펙 기반이고 다른 Zen 아키텍처는 제한적 지원

마이크로코드로 뭘 만들 수 있나

  • 데모로 보여준 예시가 재밌음: 하나의 x64 명령어 안에서 동작하는 C 스타일 strlen 구현, 그리고 마이크로코드로만 구현한 Subleq VM (에소테릭 언어 VM을 CPU 마이크로코드 레벨에서 돌린 거임)
  • 메모리 로드/스토어, 산술 연산, 조건 분기 같은 마이크로코드 프로그래밍의 기본기를 이 예시들로 보여줌

💡

> 패치 안 된 AMD Zen CPU가 있다면 직접 마이크로코드를 작성해서 테스트해볼 수 있음. AngryTools는 GitHub에 전부 공개되어 있고, 기여도 환영한다고 함

CPU 마이크로코드라는 블랙박스 영역이 오픈소스 도구로 열리고 있음. 보안 연구자뿐 아니라 CPU 아키텍처에 관심 있는 개발자에게도 흥미로운 진입점.

댓글

댓글

댓글을 불러오는 중...

security

한양대 에리카와 네이버클라우드, 클라우드·보안·AI 인재 키우는 산학협력 체결

한양대 에리카가 네이버클라우드와 첨단 분야 지역인재 양성과 글로벌 산학협력을 위한 업무협약을 맺었다. 협력 범위는 클라우드, 사이버보안, 블록체인, 개인정보보호, 인공지능(AI), 디지털 전환(DX) 교육·연구 기반 구축까지 포함된다.

security

악성 npm 패키지가 AI 개발도구의 지침 파일과 MCP까지 노리기 시작함

이스트시큐리티가 웹과 탈중앙화금융 개발자를 겨냥한 악성 npm 패키지 캠페인을 포착했어. 공격자는 유명 웹3 도구를 사칭하는 데서 그치지 않고, AI 에이전트가 읽는 프로젝트 지침 파일과 MCP 기반 외부 도구 호출까지 공격 경로로 삼으려 했어.

security

금융권, 앤트로픽 미토스가 찾은 오픈소스 취약점에 긴급 점검 들어감

앤트로픽의 AI 모델 클로드 미토스가 1000개 넘는 오픈소스에서 대량의 취약점 후보를 찾아냈고, 그중 일부가 실제 취약점으로 검증돼 공개됐어. 금융당국은 nginx, wolfSSL, FreeRDP, Ghost 같은 널리 쓰이는 구성요소를 중심으로 금융권에 긴급 자산 점검과 패치 적용을 권고했어.

security

애플이 양자 내성 암호화 검증 코드를 공개했다, 핵심은 수학적 증명

애플이 corecrypto 라이브러리의 포스트 양자 암호화 구현과 검증 코드를 GitHub에 공개했다. ML-KEM, ML-DSA 구현과 형식 검증 접근을 공개해 보안 연구자들이 직접 검토할 수 있게 했고, 이 기술은 25억 대 이상 활성 기기에서 쓰이는 암호화 기반과 연결된다.

security

라라벨 번역 패키지 태그가 통째로 바뀌었다, 개발자 비밀값 털리는 공급망 공격

전 세계 라라벨 개발자가 쓰는 Laravel-Lang 패키지가 공격을 받아 Git 태그가 악성 버전을 가리키도록 바뀌었다. 5월 22일 약 90분 동안 4개 저장소의 태그가 교체됐고, 감염된 패키지는 AWS 키, GitHub 토큰, Stripe 시크릿, 암호화폐 지갑 복구 구문, SSH 개인키 등을 노렸다.