피드로 돌아가기
Hacker NewsHacker News
Infrastructure

80386 Microcode 분석을 통한 94,720-bit 블랙박스 구조 해독 및 보안 취약점 발견

80386 Microcode Disassembled

2026년 5월 23일7advanced

Context

8086 대비 데이터 규모가 약 8.8배 증가한 80386 Microcode ROM의 폐쇄적 구조로 인한 내부 로직 파악의 어려움 발생. 기존 특허 문서 부재와 복잡한 Binary Blob 형태로 인해 하드웨어 수준의 Instruction 동작 원리 분석에 한계가 있었음.

Technical Solution

  • 고해상도 Die Image를 AI 및 Image Processing 기반의 자동화 도구로 처리하여 Binary Blob으로 변환하는 데이터 추출 공정 수행
  • $\mu$-op 축과 $\mu$-op Bit 축을 교차 분석하여 필드 구조를 정의하고 Instruction Decoder 및 PLA 로직과 연동한 역공학 전개
  • 2-cycle ALU Operation 특성을 기반으로 소스/목적지 레지스터 및 추가 입력 필드를 식별하는 추론 모델 적용
  • Microcode가 직접 알고리즘을 수행하던 8086 방식에서 탈피하여 Barrel Shifter, Multiply/Divide Hardware 등 하드웨어 가속기 인터페이스 설정 중심으로 설계 변경 확인
  • 215개의 Entry Point를 분석하여 Operand 유형, CPU 모드(Real/Protected), REP Prefix 여부에 따른 분기 루틴 최적화 구조 도출

Impact

  • 8086의 60개 대비 3.5배 이상 증가한 215개의 Microcode Entry Point 식별
  • 4-byte Port Access 시 마지막 바이트의 권한 검사가 누락되는 IO Permission Bitmap 처리 취약점 발견

- 복잡한 레거시 시스템 분석 시 데이터 추출(Extraction)과 논리적 구조 정의(Structuring) 단계를 분리하여 접근 - 하드웨어 가속기 도입 시 제어 로직(Microcode)과 실행 로직(Accelerator) 간의 인터페이스 경계면을 명확히 정의 - 경계 값(Edge Case) 처리 시 루프 또는 필드 반복 검증 로직이 모든 범위에 대해 일관되게 적용되는지 교차 검증

원문 읽기