Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

스테가노분석(Steganalysis) 기법이란? 숨겨진 데이터를 찾아내는 방법

스테가노분석(Steganalysis)이란?

스테가노분석(Steganalysis)은 스테가노그래피(Steganography)로 숨겨진 데이터를 탐지하고, 이를 추출하거나 파괴함으로써 은닉 기술 자체를 무력화하는 기술입니다. 구체적으로는 비트 패턴 간의 차이나 비정상적으로 큰 파일 크기 등을 관찰하여 스테가노그래피의 사용 여부를 밝혀내는 절차를 의미합니다. 요컨대, 은닉된 메시지를 찾아내고 그것을 무의미한 상태로 만드는 것이 스테가노분석의 핵심입니다.

스테가노분석의 주요 목표는 세 가지로 정리할 수 있습니다.

① 의심되는 데이터 스트림을 식별한다.
② 해당 스트림 안에 은닉 메시지가 인코딩되어 있는지 판단한다.
③ 은닉 메시지가 존재한다면, 가능한 경우 원본 데이터를 복구한다.

일반적으로 스테가노분석은 여러 개의 의심 데이터 스트림에서 출발하지만, 그중 어느 것이 실제로 은닉 메시지를 포함하고 있는지는 처음부터 알 수 없습니다. 따라서 분석가는 먼저 의심 데이터 스트림 전체를 '변조 가능성이 가장 높은' 소규모 집합으로 좁혀 나갑니다. 이 선별 과정은 주로 고급 통계 기법을 활용한 통계적 분석을 통해 수행됩니다.

스테가노분석의 주요 기법

스테가노분석에는 다양한 접근 방식이 있으며, 대표적인 기법은 다음과 같습니다.

1. 비정상적인 패턴 분석 (Unusual Patterns)

스테고(stego) 이미지에서 발견되는 비정상적인 패턴은 조작의 흔적일 수 있습니다. 예를 들어, 저장 장치의 미사용 영역(unused space)에 숨겨진 데이터를 걸러낼 수 있는 디스크 분석 서비스들이 존재합니다.

네트워크 트래픽 역시 마찬가지입니다. 필터를 활용하면 패킷 헤더에 은닉 정보나 유효하지 않은 데이터를 담고 있는 TCP/IP 패킷을 식별할 수 있습니다. TCP/IP 패킷은 헤더에 미사용 또는 예약(reserved) 영역을 포함하고 있어, 이를 악용하면 인터넷을 통해 몰래 데이터를 전송할 수 있기 때문입니다.

2. 시각적 탐지 (Visual Detection)

반복적인 패턴을 분석하면 특정 스테가노그래피 도구의 사용 여부나 은닉 데이터의 존재를 파악할 수 있습니다. 대표적인 방법은 원본 커버(cover) 이미지와 스테고 이미지를 나란히 비교하여 눈에 띄는 차이점을 찾아내는 것이며, 이러한 공격 방식을 '알려진 커버 공격(known-carrier attack)'이라고 부릅니다.

여러 이미지를 교차 비교하면 특정 스테가노그래피 도구만의 고유한 서명(signature)처럼 나타나는 패턴을 발견할 수도 있습니다. 그 외에도 은닉 데이터의 존재를 암시하는 시각적 단서로는 이미지의 패딩(padding)과 크롭핑(cropping)이 있습니다.

  • 일부 스테고 도구는 이미지가 고정 크기에 맞지 않으면 이미지를 잘라내거나(black padding) 빈 공간으로 채웁니다.
  • 스테고 이미지와 원본 커버 이미지 사이에 파일 크기 차이가 발생할 수 있습니다.
  • 특정 색상의 개수가 급격히 늘거나 줄어들거나, 팔레트 내 색상이 무작위가 아닌 규칙적으로 증가하는 현상도 중요한 단서가 됩니다.

3. 스테가노그래피 탐지 및 제거 도구

이미지 속 은닉 데이터를 무력화하거나 제거하는 작업은 이미지 처리(image processing) 기법에 기반합니다. 예를 들어, LSB(최하위 비트, Least Significant Bit) 방식으로 삽입된 정보의 경우, 손실 압축(lossy compression)으로 이미지를 한 번 압축하는 것만으로도 은닉 메시지를 훼손하거나 삭제할 수 있습니다.

현재 실무에서 사용할 수 있는 대표적인 스테가노그래피 탐지 도구는 다음과 같습니다.

  • Guidance Software Inc.의 EnCase
  • 미국 워싱턴 DC 전자범죄 프로그램(Electronic Crimes Program)의 ILook Investigator
  • 다양한 MD5 해싱(hash) 서비스

한편, 상당수 이미지 스테가노그래피 도구는 최하위 비트(LSB) 변조 방식을 사용해 데이터를 숨깁니다. 흥미로운 점은 8비트 색상의 저해상도 이미지에서는 LSB 변조로 인해 색상 팔레트에 육안으로 확인 가능한 변화가 생길 수 있다는 것입니다. 이러한 특성 덕분에 저해상도 이미지에서는 오히려 은닉 콘텐츠를 식별하기가 더 쉬워집니다.