Hardware Security & Trusted Physics
하드웨어 수준의 취약점 분석, 신뢰 실행 환경(TEE), 그리고 사이드 채널 공격을 방어하는 물리적 보안 기술을 다루는 학습 노드입니다.
Article
M
Me
hyunyoun's Blog
computer-architecture-embedded-systemscomputer-architectureembedded-systemshardware-securitytrusted-physicsarchitecture-hardwarelearningtee10 min read
1. Overview
하드웨어 보안 및 신뢰 물리(Hardware Security & Trusted Physics, HST)는 "소프트웨어가 구동되는 반도체 칩과 하드웨어 플랫폼 자체가 안전하다"는 전통적인 컴퓨팅 가정이 어떤 물리적 취약점 앞에서 깨지는지 규명하고, 칩셋 레벨에서 '신뢰의 뿌리(Root of Trust)'를 방어적으로 구축하는 아키텍처 학문입니다.
암호학적으로 견고한 소프트웨어 알고리즘(예: RSA, AES)이라도, 실제 트랜지스터 위에서 실행될 때는 전력 소모량 변동, 방출되는 미세 전자기파, 미세한 연산 시간 차이 같은 **관측 가능한 물리적 흔적(Side-channel Leakage)**을 남길 수 있습니다. 더불어 현대 프로세서의 속도 향상 최적화 기법인 '투기적 실행(Speculative Execution)'과 같은 아키텍처 특성 때문에 메모리 데이터가 노출될 수도 있습니다.
학습자는 이러한 사이드 채널 공격 및 아키텍처 결함(SPECTRE, MELTDOWN)의 원리를 하드웨어 관점에서 파고들며, 신뢰 실행 환경(TEE, ARM TrustZone), 하드웨어 보안 모듈(TPM), 물리적 복제 방지 기능(PUF)을 통해 기기 훼손에 맞서 하드웨어 자체의 생존성과 무결성을 보장하는 시스템 보안 엔지니어링 역량을 확보합니다.
2. Scope & Boundaries
In-Scope
- 물리적 부채널 공격 및 방어 (Physical Side-channels): 전력 분석 공격(SPA/DPA, Simple/Differential Power Analysis), 전자파 방출(EM) 탐지 공격, 타이밍 분석 공격과 이를 막기 위한 하드웨어 마스킹(Masking) 및 셔플링.
- 마이크로아키텍처 결함 보안 (Microarchitecture Vulnerabilities): 캐시 타이밍 채널(Flush+Reload), 투기적 실행(Speculative Execution) 악용 공격(Spectre, Meltdown), 하드웨어 오류 주입(Fault Injection/Glitch).
- 신뢰 실행 환경 격리 (Trusted Execution Environment): 프로세서 코어 내부의 일반 영역(Normal World)과 보안 영역(Secure World)을 물리적으로 분리하는 아키텍처(ARM TrustZone, Intel SGX Enclave).
- 하드웨어 신뢰 모듈 (Root of Trust): 시큐어 부트(Secure Boot) 체인 증명, 전용 보안 프로세서(TPM/HSM), 물리적 랜덤(TRNG), 반도체 공정 편차를 이용한 칩 고유 지문(PUF, Physical Unclonable Function).
Out-of-Scope
- 소프트웨어 취약점 및 악성코드 익스플로잇: SQL 인젝션, XSS 방어, 논리적 버퍼 오버플로우(Buffer Overflow) 해킹 및 백도어 대응 로직 → 10. Security & Cryptography 영역으로 위임.
- 순수 암호 대수학 및 알고리즘 수학: RSA의 소인수 분해 증명, 타원 곡선 암호(ECC)의 이산 대수 문제, 영지식 증명(ZKP) 논리 전개 → 10. Security & Cryptography 영역으로 위임.
- 운영체제 권한 및 접근 통제 관리: 리눅스 커널의 권한 분리(SetUID, DAC/MAC), 네트워크 방화벽 포트 필터링 로직 → 03-05. OS Security & Isolation 영역으로 위임.
Boundaries
- HST vs Software Security (10): 일반 소프트웨어 보안이 프로그래머의 코드 논리 실수나 네트워크 패킷의 허점을 막는 '논리 공간의 방어'라면, HST는 논리적으로 올바른 코드가 실제 물리 소자에서 연산될 때 밖으로 새어 나오는 전력과 시간의 흔적을 줄이고 칩 내부 결함을 방어하는 '물리 공간의 방어'입니다.
3. Counterexample
- 단순한 DB 암호화 라이브러리 사용 (Black-box Crypto):
AES-256암호화 라이브러리의 함수를 단순 호출하여 사용자 비밀번호를 DB에 저장했다고 해서 시스템 전체가 안전하다고 볼 수는 없습니다. 이 소프트웨어 AES 알고리즘이 칩에서 연산되는 짧은 마이크로초 동안, 공격자가 오실로스코프로 **전력 소모량의 미세한 파형 차이(DPA 공격)**를 관측하여 0과 1의 암호키 비트를 역산할 수 있습니다. 이를 방지하기 위해 칩 내부에 더미 사이클(Dummy Cycle)을 넣거나 연산 순서를 난수화(Shuffling)하는 하드웨어 수준의 방어 로직을 설계해야 합니다. - 클라우드 서버의 격리 과신: "AWS나 Azure의 가상 머신(VM)을 할당받았고 루트 권한을 철저히 관리하니 다른 고객사가 우리 메모리를 볼 수 없다"고 장담하는 것은 하드웨어 취약점을 간과한 판단입니다. 만약 동일한 물리적 서버의 이웃 코어에서 실행 중인 악성 VM이, L3 캐시를 공유한다는 하드웨어 특성과 분기 예측 미스를 악용하는 Spectre 공격을 시도한다면 하이퍼바이저(VM) 장벽을 넘어 데이터를 노출할 수 있음을 물리적으로 입증하고 방어 패치를 적용해야 합니다.
4. Prerequisites
- 디지털 논리 및 프로세서 물리 (Basic): 5-Stage 파이프라인의 분기 예측(Branch Prediction) 구조와 순차/비순차 실행 파이프를 파악해야 투기적 실행 보안 결함을 분석할 수 있습니다. (02-01. DLP)
- 메모리 시스템 및 저장 물리 (Recommended): CPU 캐시 블록 매핑 구조와 캐시 미스(Cache Miss) 개념을 이해해야, 속도 차이를 이용하는 캐시 타이밍 공격(Flush+Reload) 원리를 파악할 수 있습니다. (02-02. SSP)
5. Learning Map
6. Learning Topics
Basic
Core Topic 01: 부채널 공격과 물리적 보안 한계 (Side-channel Physical Attacks)
- Why to Learn: 소프트웨어 코드가 안전하게 작성되어 있어도, 칩 밖으로 새어 나오는 아날로그 물리 신호(노이즈, 열, 전력) 자체가 공격자의 정보 추론 채널이 될 수 있음을 이해하기 위해서입니다.
- What to Learn:
- Concepts: 부채널 공격(Side-channel Attack), 타이밍 분석 공격(Timing Analysis), 단순/차분 전력 분석 공격(SPA/DPA).
- Skills: 조건문에 따른 연산 시간차(Timing Leakage)를 악용한 비밀키 비트 추론 로직 분석, 결함 주입 공격(Glitch) 원리 이해.
- Tools: 오실로스코프 파형 분석 로그, 타이밍 벤치마크 C 스크립트.
- Trade-offs: 전력 평준화 및 시간 일정성(Constant-time Execution)을 맞추기 위한 방어 더미(Dummy) 연산 추가 비용 vs 그로 인한 시스템 스루풋 저하 및 전력 낭비.
- How to Learn:
- 1단계: 문자열 비교 함수에서
if (password[i] != input[i]) return false;와 같이 틀린 문자가 발견되면 즉시 리턴하는 코드가, 입력값에 따라 함수의 종료 시간(CPU 사이클)이 달라짐을 측정해 패스워드 길이나 앞자리 문자를 역산하는 공격 코드를 작성해 봅니다. - 2단계: 이를 방어하기 위해 조건이 맞든 틀리든 무조건 끝까지 바이트를 비교하는 Constant-time 비교 로직으로 코드를 리팩토링하고, 타이밍 누수가 사라졌음을 증명합니다.
- 1단계: 문자열 비교 함수에서
- Implement: 타이밍 공격에 취약한 문자열 비교 함수 모델과, 이를 방어하는 Constant-time 비교 함수 모델을 작성하고, 수만 번 실행 시 CPU 사이클(Ticks) 분산의 차이를 리포팅하는 시뮬레이터.
Recommended
Core Topic 02: 마이크로아키텍처 보안 결함 (Architecture Vulnerabilities & Spectre)
- Why to Learn: CPU 제조사가 성능 향상을 위해 도입한 '투기적 실행, 데이터 프리패치' 같은 기법이 어떤 조건에서 하드웨어 설계 취약점으로 이어지는지 물리적 원리를 분석하기 위해서입니다.
- What to Learn:
- Concepts: 투기적 실행(Speculative Execution), 캐시 타이밍 사이드 채널(Flush+Reload), 멜트다운(Meltdown), 스펙터(Spectre).
- Skills: 분기 예측기(Branch Predictor)를 임의로 훈련(Poisoning)시켜 잘못된 메모리 주소로 투기적 실행을 유도하고, 캐시 상태를 통해 유출된 메모리 바이트를 역산하는 시나리오 구축.
- Tools: x86 어셈블리 타이밍 측정 인스트럭션 (
RDTSC,CLFLUSH). - Trade-offs: 아키텍처 공격을 줄이기 위해 투기적 실행을 제한하고 강제 메모리 배리어를 삽입해 얻는 보안성 vs 패치 이후 적용될 수 있는 서버 CPU 처리 성능 하락 딜레마.
- How to Learn:
- 1단계: CPU L1 캐시에서 곧바로 데이터를 읽어오는 시간(Hit)과, 주메모리에서 읽어오는 시간(Miss)의 차이를 측정하는
Flush+Reload공격의 기초를 C 코드로 구현하여 메모리 접근 상태를 추론합니다. - 2단계: 공격자가 의도적으로 악성 분기문을 던져 투기적 실행으로 권한 밖의 커널 데이터를 읽어 캐시에 남기게 하고, 이 캐시 타이밍을 측정하여 커널 비밀키를 추론하는 과정을 논리 블록 다이어그램으로 설계해 봅니다.
- 1단계: CPU L1 캐시에서 곧바로 데이터를 읽어오는 시간(Hit)과, 주메모리에서 읽어오는 시간(Miss)의 차이를 측정하는
- Implement: 256 크기의 데이터 배열(Probe Array)을 메모리 상에 만들고, 특정 인덱스를 캐시로 로드한 뒤 타이밍 측정을 통해 어느 인덱스가 캐시에 올라왔는지(즉 유출된 비밀 데이터가 무엇인지) 가장 빠른 속도를 보인 슬롯을 찾아내는 탐지 로직.
Practical
Core Topic 03: 신뢰 실행 환경의 물리적 격리 (Trusted Execution Environment, TEE)
- Why to Learn: 사용자 스마트폰이 악성코드나 루팅(Rooting)에 의해 커널 OS까지 장악되더라도, 지문 생체 정보나 금융 결제 키 연산은 칩 레벨에서 격리되도록 설계하기 위해서입니다.
- What to Learn:
- Concepts: TEE, ARM TrustZone(Secure World / Non-Secure World 분할), Intel SGX(Secure Enclave).
- Skills: 보안 모니터(Secure Monitor)에 의한 World Switching 과정(문맥 교환), 시스템 버스 레벨 메모리 접근 제어(TZASC/TZPC) 회로 설계.
- Tools: ARM TrustZone 소프트웨어 에뮬레이터 (QEMU/OP-TEE).
- Trade-offs: TEE 내부에 많은 기능 코드를 집어넣어 강력한 통제를 가할수록, TEE 코드가 비대해지면서 발생할 수 있는 잠재적 보안 버그 공간(Attack Surface) 자체가 넓어지는 역설적 트레이드오프.
- How to Learn:
- 1단계: 안드로이드(Rich OS) 앱이 지문 인증(Trusted OS)을 요청할 때, 소프트웨어 인터럽트(SMC)가 발생하고 CPU 레지스터 컨텍스트가 안전하게 저장되며 Secure Monitor를 통해 통제권이 안전 구역으로 넘어가는 타이밍 흐름도를 그립니다.
- 2단계: 물리 메모리 컨트롤러단에서 Non-Secure 세계의 칩 버스 접근 권한이 하드웨어적으로 어떻게 필터링되어 보안 RAM 영역 접근이 차단되는지 구조를 분석합니다.
- Implement: 일반 OS 영역에서 '암호키 외부 복사 유출' 명령은 거부(Deny)되고 오직 '키를 이용한 해시 서명'명령만 허용(Allow)하는 TEE 내부의 가상 통신 인터페이스(SMC, Secure Monitor Call) 모의 디스패처 모델 구축.
Advanced
Core Topic 04: 하드웨어 신뢰의 뿌리와 물리적 복제 방지 (Root of Trust & PUF)
- Why to Learn: 디바이스 전원을 인가하는 최하단 단계부터 소프트웨어 검증 해시 체인을 연결하고, 공격자가 반도체 칩을 분석하더라도 복제가 매우 어려운 고유 ID 시스템을 구축하기 위해서입니다.
- What to Learn:
- Concepts: 신뢰의 뿌리(RoT, Root of Trust), TPM(Trusted Platform Module), 시큐어 부트(Secure Boot), 물리적 복제 방지 기술(PUF, Physical Unclonable Function).
- Skills: 시큐어 부트의 해시 체인 연쇄(Chain of Trust)를 통해 플랫폼 구성 레지스터(PCR)에 서명을 측정/기록하는 설계, SRAM PUF의 물리적 잡음(Noise) 에러 특성 제어.
- Tools: TPM 2.0 로직 시뮬레이터, 하드웨어 난수 생성기(TRNG) 개념.
- Trade-offs: 반도체 미세 공정 편차를 이용해 PUF가 생성하는 값의 높은 임의성(Randomness) 확보 vs 온도 및 전압 등 외부 환경 변화 시 발생하는 잡음 에러를 정정(Error Correction)하여 동일한 ID 값을 안정적으로 보장해야 하는 회로 비용 제약.
- How to Learn:
- 1단계: SRAM 셀 반도체를 제조할 때 생기는 미세 공정 편차(Mismatch)로 인해 전원 인가 시 초기 0과 1의 분포가 칩마다 랜덤하게 결정되며, 이것이 인간의 홍채와 같은 고유한 칩 지문(PUF Fingerprint)이 되는 물리적 메커니즘을 증명합니다.
- 2단계: ROM 부트로더(RoT) → 1차 부트로더 → OS 커널 순서로 실행 제어권이 넘어갈 때, 각 단계의 소프트웨어 이미지 해시(SHA-256)가 칩 내부 하드웨어 TPM의 PCR(Platform Configuration Register)에 누적 갱신되는 시큐어 부트 시나리오를 구성합니다.
- Implement: 단계별 부팅(Bootloader -> Kernel -> App)이 진행될 때마다 각 코드의 SHA-256 해시를 누적하여 PCR에 기록(Extend)하고, 최종 PCR 값이 정상 펌웨어의 골든 해시(Golden Hash)와 불일치할 경우 칩 부팅을 강제 정지시키는 시큐어 부트 인증 체인 시뮬레이터.
7. Terminology
8. References
Primary References
- [P3] CyBOK - Hardware Security — Comprehensive KB for hardware vulnerabilities.
- [P1] CS2023 - AR/Hardware Security — Academic framework for trusted computing.
Secondary References
- [Hardware Security: A Hands-on Learning Approach] Tehranipoor & Wang — Practical physical attack lab.
- [Introduction to Hardware Security and Trust] Bhunia & Tehranipoor — Standard textbook.
Industry References
- [ARM TrustZone Technology Whitepaper] — Industry standard for mobile TEE implementation.
- [Trusted Computing Group (TCG) Specs] — Official TPM and RoT specifications.
9. Final Checklist
Primary Checklist
- 하드웨어의 성능 최적화 기술(캐시, 분기 예측)이 보안에 미치는 물리적 취약성을 설명 가능한가? (P1, P3)
- 하드웨어 신뢰의 뿌리(RoT)가 시스템 전체의 신뢰 체인(Chain of Trust)에서 차지하는 역할을 아는가? (P3)
Secondary Checklist
- 신뢰 실행 환경(TEE)을 활용하여 중요 암호 키나 연산 로직을 격리 보호하는 아키텍처를 그릴 수 있는가?
- 전력 및 타이밍 사이드 채널 공격의 기초 시나리오를 인지하고 실질적인 방안을 제안할 수 있는가?
Industry Checklist
- 제품 설계 시 하드웨어 공급망(Supply Chain) 보안과 트로이 목마 위협에 대한 대응 역량을 갖추었는가? (SFIA)
- 실제 TPM 명령셋을 사용하여 부트 상태를 측정하고 하드웨어 인증서를 관리할 수 있는가?