Trusted computing base

Ahn9807 (토론 | 기여)님의 2024년 4월 26일 (금) 05:31 판
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)


개요

Trusted computing base (TCB)란 컴퓨터 시스템에서, 보안측면에서 어떠한 시스템을 만들었을 경우에 절대 보안 취약점이 일어나지 않을 것이라고 상정하는 보안상 취약할 수 있는 부분을 하드웨어, 펌웨어, 소프트웨어 상에서 통틀어 칭하는 용어이다. TCB에 버그가 있을 경우에는 전체 시스템에 보안 취약점을 일으킬 수 있다. TCB밖에 있는 시스템은 보안상 관리대상이 아니며, 시스템에서 의해서 방어되는 영역이된다.

TCB를 잘 설계하는 것은 보안상 매우 중요한 일이며, 현대 운영체제와 같은 보안상 중요하거나 취약점이 있으면 안되는 소프트웨어의 경우에는 TCB의 크기를 줄이는 것이 또 하나의 연구 분야가된다. 예를 들어서 Program verification와 같은 시스템의 취약점 검증 프로그램, MMU와 같은 하드웨어 기반 기술, 혹은 Rust와 같은 시스템을 설계한 요소를 들 수 있다.

Rust로 TCB를 설명하자면, Rust로 작성한 시스템에서 TCB는 Rust compiler와 Rust 문법의 완결성 그리고 시스템에서 사용한 Unsafe파트가 된다.

중요성

모든 보안 솔류션은 반드시 절대적으로 믿어야 하는 부분을 상정할 수 밖에 없다. 예를 들어서, 리눅스 커널과 같은 경우에는 리눅스 커널이 잘못되면 User-level에 어떤 보안 솔류션을 적용시키더라도 Compromise될수 있는 가능성이 있다. 즉 리눅스 커널은 매우 큰 TCB를 가지고 있다. 이를 줄이기 위해서 Linux kernel을 Hypervisor을 활용해서 가상머신 위에서 돌리면 Hypervisor의 코드로 TCB가 줄어든다. 이처럼 보안 커뮤니티에서는 TCB를 줄이기 위한 방법또한 매우 중요한 연구 분야이며, 만약 어떠한 보안 시스템을 만들경우 TCB를 정확히 기술하고, 최소한으로 하기 위한 노력은 필수적이라고 할 수 있다.