비밀 채널 (Covert Channel)

agnusdei·2025년 11월 22일

Information Security

목록 보기
13/96

비밀 채널 (Covert Channel)을 방지하지 않는다는 것은 특정 보안 모델이나 시스템이 정보 흐름을 통제하는 데 있어서 의도되지 않은(Unintended) 통신 경로를 통한 정보 유출을 막을 수 없다는 것을 의미합니다.

이는 정보보안 모델의 기밀성 (Confidentiality) 목표를 달성하는 데 있어 치명적인 약점입니다.


🔍 비밀 채널의 개념 및 발생 원리

1. 비밀 채널 (Covert Channel)이란?

비밀 채널은 보안 정책에 의해 통제되거나 감시되도록 설계되지 않은 경로를 통해 정보를 전송하는 통신 수단입니다.

  • 통상적인 채널 (Overt Channel): 이메일, HTTP\text{HTTP} 통신처럼 시스템이 명시적으로 인지하고 통제하는 정보 통신 경로입니다.
  • 비밀 채널 (Covert Channel): 시스템의 자원(Resource) 상태 변화나 시간(Timing)을 이용하여 정보를 암호화하고 전송합니다. 이는 시스템이 통제하는 접근 통제 메커니즘사이드 이펙트를 악용합니다.

2. 비밀 채널을 방지하지 못하는 이유

가장 유명한 기밀성 중심 모델인 Bell-LaPadula Model (BLP\text{BLP})의 한계를 설명할 때 이 문제가 자주 언급됩니다.

BLP\text{BLP} 모델은 명시적인 읽기/쓰기 접근(Read/Write Access)에 대한 규칙(공리, Axiom\text{Axiom})을 정의하여 기밀성을 보호합니다.

  • BLP\text{BLP}의 한계: BLP\text{BLP}정보의 양이나 정보가 흐르는 방식 자체에 대해서는 통제하지 못합니다. 예를 들어, BLP\text{BLP}가 정의한 규칙을 위반하지 않으면서도, 시스템 자원의 가용성이나 프로세스의 실행 시간 같은 부수적인 요소를 이용하여 정보를 전달하는 것을 막지 못합니다.

📂 비밀 채널의 두 가지 유형

비밀 채널은 정보를 전달하는 매커니즘에 따라 크게 두 가지로 분류됩니다.

1. 저장 채널 (Covert Storage Channel)

공유되는 시스템 자원의 상태 변화를 이용하여 정보를 전달합니다.

  • 원리: 높은 보안 등급의 프로세스(송신자)가 공유 자원의 상태를 변경하고, 낮은 보안 등급의 프로세스(수신자)가 그 상태 변화를 읽어 정보를 해독합니다.
  • 예시: 파일 잠금(File Lock) 상태 이용.
    1. 송신자 (High\text{High}): 0을 보내고 싶으면 파일 A\text{A}잠그고, 1을 보내고 싶으면 잠금을 해제합니다.
    2. 수신자 (Low\text{Low}): 파일 A\text{A}에 접근을 시도하여, 접근이 거부되면 (Locked\text{Locked}) 0으로 해석하고, 성공하면 (Unlocked\text{Unlocked}) 1로 해석합니다.

2. 시간 채널 (Covert Timing Channel)

시스템 자원의 사용 속도(타이밍)를 이용하여 정보를 전달합니다.

  • 원리: 높은 보안 등급의 프로세스가 CPU\text{CPU} 사용량, 디스크 접근 속도 등을 의도적으로 변화시키고, 낮은 보안 등급의 프로세스가 이 속도 변화를 감지하여 정보를 해독합니다.
  • 예시: CPU\text{CPU} 부하 이용.
    1. 송신자 (High\text{High}): 0을 보내려면 CPU\text{CPU}를 일정 시간 과부하시키고, 1을 보내려면 CPU\text{CPU}를 쉬게 합니다.
    2. 수신자 (Low\text{Low}): 자신의 프로세스 실행 속도(지연 시간)가 느려지면 0으로, 정상적이면 1로 해석합니다.

🔒 방지하지 못한다는 것의 시사점

비밀 채널을 방지하지 못하는 모델은 형식적으로는 안전하다고 증명될 수 있지만, 실제 시스템 구현에서는 BLP\text{BLP}가 의도하지 않은 방식으로 기밀 정보가 낮은 등급의 사용자에게 유출될 수 있다는 것을 의미합니다.

따라서 높은 보안 등급 시스템은 BLP\text{BLP}와 같은 모델 외에도, Non-Interference Model\text{Non-Interference Model}처럼 간섭 자체를 방지하는 모델을 적용하거나, TCB\text{TCB}를 작게 설계하여 시스템 자원의 모든 접근을 감시하는 메커니즘을 추가해야 합니다.

OSCP를 준비하시는 관점에서, 이러한 비밀 채널은 펜테스트 시 데이터 추출(Exfiltration)을 위한 중요한 공격 경로가 될 수 있습니다.

profile
DevSecOps, Pentest, Cloud(OpenStack), Develop, Data Engineering, AI-Agent

0개의 댓글