나무모에 미러 (일반/어두운 화면)
최근 수정 시각 : 2026-08-23 15:58:08

Linux IMA


1. 개요2. 상세3. EVM (Extended Verification Module)과의 관계4. 요구 사항 및 적용5. 한계점 및 단점

1. 개요

IMA(Integrity Measurement Architecture)리눅스 커널보안 서브시스템 중 하나로, 파일이 실행되거나 읽히기 전에 파일의 무결성을 측정(Measure)하고 검증(Appraise)하는 역할을 수행한다.

임베디드 시스템이나 서버 환경에서 보안 부팅(Secure Boot)이 부트로더와 커널 이미지 자체의 무결성만 보장한다면, IMA는 커널이 로드된 이후 유저스페이스(Userspace)의 파일(루트 파일 시스템, 공유 라이브러리, 커널 모듈 등)에 대한 신뢰 체인(Chain of Trust)을 확장하는 핵심적인 역할을 담당한다.

2. 상세

IMA는 파일의 해시값(Hash)을 계산하여 커널 메모리 내의 측정 목록(Measurement List)에 저장하며, 이를 사전에 정의된 '정상적인 값(Good value)'과 비교하여 접근을 제어한다.

이러한 해시값 등의 무결성 데이터는 리눅스 파일 시스템의 확장 속성(Extended Attributes, xattr)인 security.ima에 저장된다.

3. EVM (Extended Verification Module)과의 관계

IMA가 파일의 내용(Content)에 대한 무결성을 검증한다면, EVM(Extended Verification Module)은 파일의 메타데이터(Metadata) 무결성을 보호한다. 보통 이 둘은 한 세트로 묶여(IMA/EVM) 사용된다.

4. 요구 사항 및 적용

IMA/EVM을 제대로 사용하기 위해서는 커널 컴파일 옵션(CONFIG_IMA=y 등)뿐만 아니라 파일 시스템의 지원도 필수적이다.

부팅 시 U-Boot나 GRUB 같은 부트로더에서 ima_appraise=fix, ima_policy=tcb, evm=fix 같은 커널 파라미터를 넘겨주어 정책을 활성화하고 파일 시스템 전체에 레이블링을 수행할 수 있다.

5. 한계점 및 단점

분류