본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

은닉 채널(Covert Channel)은 시스템이 정보 전달용으로 설계하지 않은 자원이나 신호를 이용해, 보안 정책이 허용하지 않는 정보를 몰래 주고받는 통신 경로이다.

정상적인 통신은 시스템이 정해 둔 채널(파일, 메시지, 네트워크 연결)로 이루어지고, 접근통제는 이 채널을 감시한다. 은닉 채널은 이 기본 채널에 기생한다. 파일의 잠금 여부, 디스크 사용량, 처리 시간, 패킷 헤더의 쓰지 않는 필드처럼 원래 정보를 나르려고 만든 것이 아닌 곳에 비트를 실어 보낸다. 송신자와 수신자는 미리 약속한 해석 규칙을 알고 있으므로 메시지를 읽을 수 있지만, 그 밖의 사람에게는 정상 동작의 잡음처럼 보여 메시지가 있다는 사실조차 드러나지 않는다.

이렇게 숨기려면 실을 수 있는 정보량이 기본 채널보다 훨씬 적어야 한다. 정상 신호에 섞인 작은 변화로만 비트를 표현하므로, 은닉 채널은 기본 채널의 신호 대 잡음비와 대역폭 일부를 떼어 쓰는 저속 채널이 된다.

벨-라파둘라 모델 같은 보안 모델은 명시적인 읽기·쓰기만 통제하므로, 높은 등급의 프로세스가 은닉 채널로 낮은 등급에 정보를 흘려도 모델 위반으로 잡히지 않는다. 그래서 TCSEC 은 B2 등급부터 은닉 채널 분석을 요구한다.

종류 원리 예
저장 채널(Storage Channel) 송신자가 공유 자원의 상태를 바꾸고 수신자가 그 상태를 읽는다 파일 잠금 여부·파일 존재 여부를 0/1 로 쓰기, 디스크 남은 용량 조절, IP 헤더의 식별 필드나 TCP 순서 번호에 데이터 싣기
타이밍 채널(Timing Channel) 송신자가 사건이 일어나는 시간을 조절하고 수신자가 그 간격을 잰다 CPU 를 쓰거나 쉬는 시간으로 비트 표현, 패킷 사이 간격 조절, 캐시 적중·실패 시간

네트워크에서는 DNS 질의 이름이나 ICMP 에코 요청의 데이터 영역에 정보를 실어 방화벽을 빠져나가는 DNS 터널링·ICMP 터널링이 은닉 채널로 쓰인다. 악성코드가 명령 서버와 통신하거나 데이터를 몰래 빼내는 데 이용한다.

비슷한 개념과의 구분

편집 원본 편집
개념 숨기는 것 차이
은닉 채널 통신이 일어난다는 사실 설계되지 않은 경로를 의도적으로 만들어 쓴다
사이드채널 — 피해 시스템이 의도하지 않게 흘린 시간·전력 정보를 공격자가 관측한다. 송신 측의 협력이 없다
스테가노그래피 메시지가 있다는 사실 이미지·음성 같은 데이터 안에 정보를 숨긴다. 은닉 채널은 시스템 자원과 동작에 숨긴다
SSH 터널링(포트 포워딩)·VPN 터널링 통신의 내용 허가된 정상 채널을 암호화해 보호한다. 통신한다는 사실은 숨기지 않는다
  • 식별 : 공유 자원 매트릭스 분석으로 두 주체가 함께 읽고 쓸 수 있는 자원을 찾는다
  • 대역폭 제한 : 시스템 시계의 정밀도를 낮추거나 무작위 지연을 넣어 초당 실을 수 있는 비트 수를 줄인다
  • 제거 : 자원을 등급별로 나누어 공유 자체를 없앤다
  • 감시 : 비정상적인 DNS 질의 길이·빈도, 쓰지 않는 헤더 필드의 값 등을 탐지한다