Computer >> 컴퓨터 >  >> 네트워킹 >> 네트워크 보안

스테가노그래피: 해커가 악성코드를 숨겨 퍼뜨리는 새로운 무기

제로데이 공격, 잘 알려진 익스플로잇, 치명적인 코로나19 바이러스와 싸울 준비를 하는 동안, 해커들은 우리 컴퓨터에 악성코드를 감염시키는 새로운 기법을 끊임없이 진화시키고 있습니다. 그중 하나가 1499년에 처음 언급되었지만 실제로는 고대부터 존재해 온 개념입니다. 바로 '스테가노그래피(Steganography)'입니다.

이 기법은 데이터를 읽을 수 없도록 숨긴 형태로 전송하는 방식으로, '감추어진'이라는 뜻의 그리스어 '스테가노스(steganos)'와 '쓰기'를 의미하는 '그라피(graphy)'의 합성어입니다. 현재 매우 위험한 새로운 사이버 범죄 트렌드로 떠오르고 있습니다.

이번 글에서는 이 새로운 위협 영역이 무엇인지, 그리고 이로부터 어떻게 안전하게 지킬 수 있는지 자세히 살펴보겠습니다.

스테가노그래피란 무엇인가?

앞서 설명했듯이, 스테가노그래피는 사이버 범죄자들이 악성코드와 사이버 스파이 도구를 만드는 데 활용하는 비교적 새로운 방법입니다.

비밀 메시지의 내용 자체를 변형해 알아볼 수 없게 만드는 암호화(Cryptography)와 달리, 스테가노그래피는 '메시지가 전송되고 있다는 사실 자체'를 숨깁니다. 즉, 이미지 내부에 악성 페이로드가 숨어 있어도 보안 솔루션이 눈치채지 못하도록 만드는 것입니다.

흥미롭게도 로마 제국 시대에도 이런 방식으로 비밀 메시지를 전달했다는 이야기가 전해집니다. 당시에는 메신저 역할을 할 노예의 머리카락을 모두 밀고, 두피에 메시지를 문신으로 새긴 뒤 머리카락이 다시 자랄 때까지 기다렸다가 노예를 목적지로 보냈습니다. 메시지를 받은 쪽은 같은 과정으로 머리를 밀어 숨겨진 메시지를 읽었다고 합니다.

스테가노그래피: 해커가 악성코드를 숨겨 퍼뜨리는 새로운 무기

이 위협은 너무나 심각해서 보안 전문가들이 한자리에 모여 정보 은닉 기법을 무력화하고 대응할 방법을 연구하기도 했습니다.

스테가노그래피는 어떻게 작동할까?

사이버 범죄자들이 왜 이 방법을 사용하는지는 이제 명확합니다. 그렇다면 실제로는 어떻게 작동하는 걸까요?

스테가노그래피 공격은 크게 다섯 단계로 이루어집니다. 먼저 공격자가 대상에 대한 철저한 조사를 진행하고, 이후 스캐닝 → 접근 권한 획득 → 은신 → 흔적 삭제의 순서로 진행됩니다.

스테가노그래피: 해커가 악성코드를 숨겨 퍼뜨리는 새로운 무기

감염된 컴퓨터에서 악성코드가 실행되면, 악성 밈(meme), 이미지 또는 동영상이 다운로드됩니다. 그다음 숨겨진 명령이 추출됩니다. 예를 들어 코드에 'print(출력)' 명령이 숨겨져 있다면 감염된 PC의 스크린샷이 캡처됩니다. 필요한 정보를 모두 수집하면 특정 URL 주소를 통해 해커에게 전송됩니다.

대표적인 사례로는 2018년 Hacktober.org CTF 대회에서 이미지 파일에 'TerrifyingKitty'가 첨부된 사건이 있습니다. 이 외에도 Sundown 익스플로잇 킷, 신종 Vawtrack, Stegoloader 악성코드 계열 등이 등장했습니다.

스테가노그래피와 암호화의 차이점

원칙적으로 스테가노그래피와 암호화는 메시지를 숨겨 제3자에게 전달한다는 동일한 목표를 가지고 있습니다. 하지만 두 기술이 사용하는 메커니즘은 완전히 다릅니다.

암호화는 정보를 복호화 없이는 이해할 수 없는 암호문(ciphertext)으로 변환합니다. 반면 스테가노그래피는 데이터 구조를 변경하지 않으면서, 아무도 숨겨진 데이터의 존재 자체를 알아차리지 못하도록 정보를 감춥니다.

스테가노그래피 암호화
정의 이미지, 영상, 밈 등에 정보를 숨기는 기술 데이터를 암호문으로 변환하는 기술
목적 추적당하지 않고 악성코드를 전달 데이터 보호
데이터 가시성 존재 자체를 확인 불가 확인 가능
데이터 구조 구조 변경 없음 구조 전체 변경
키(Key) 선택 사항 필수 요소
실패 시 숨겨진 메시지가 발견되면 누구나 접근 가능 복호화 키가 있어야만 암호문을 읽을 수 있음

간단히 말해, 스테가노그래피는 더 강력하고 복잡한 기술입니다. DPI(딥 패킷 검사) 시스템 등을 손쉽게 우회할 수 있다는 점 때문에 해커들에게 선호되는 공격 수단이 되었습니다.

특성에 따라 스테가노그래피는 다음과 같이 다섯 가지 유형으로 나눌 수 있습니다.

  • 텍스트 스테가노그래피 – 문자 변경, 임의 문자 삽입, 문맥 자유 문법 등의 형태로 텍스트 파일에 정보를 숨기는 기법입니다.
  • 이미지 스테가노그래피 – 이미지 파일 내부에 데이터를 숨기는 방식입니다.
  • 영상 스테가노그래피 – 디지털 동영상 포맷에 데이터를 숨기는 방식입니다.
  • 오디오 스테가노그래피 – 오디오 신호에 비밀 메시지를 삽입하여 이진 시퀀스를 변경하는 기법입니다.
  • 네트워크 스테가노그래피 – 이름 그대로 네트워크 제어 프로토콜 내부에 정보를 삽입하는 기법입니다.

범죄자들은 어디에 정보를 숨길까?

  • 디지털 파일 – 이커머스 플랫폼을 겨냥한 대규모 공격에서 스테가노그래피 사용 사실이 드러났습니다. 플랫폼이 감염되면 악성코드가 결제 정보를 수집하고, 해당 정보를 이미지 안에 숨겨 감염된 사이트 관련 데이터를 빼돌립니다. 또한 정상 프로그램을 가장한 악성코드는 기능상 결함이 있는 성인물 플레이어처럼 위장해 사용자가 감염된 앱을 설치하도록 유도하기도 합니다.
  • 랜섬웨어 내부 – 가장 널리 알려진 사례 중 하나는 Cerber 랜섬웨어입니다. Cerber는 문서 파일을 이용해 악성코드를 확산시킵니다.
  • 익스플로잇 킷 내부 – 'Stegano'는 익스플로잇 킷에 적용된 첫 번째 사례입니다. 이 악성 코드는 배너 광고 안에 삽입되어 유포되었습니다.

그렇다면 스테가노그래피를 식별할 방법이 있을까요? 다행히 이러한 시각적 공격을 탐지하는 여러 방법이 존재합니다.

스테가노그래피 공격 탐지 방법

히스토그램 분석법 – 카이제곱(chi-squared) 검정법으로도 알려진 이 방법은 이미지의 전체 래스터(raster)를 분석합니다. 서로 인접한 두 색상을 가진 픽셀의 개수를 읽어 들여 이상 여부를 판별합니다.

스테가노그래피: 해커가 악성코드를 숨겨 퍼뜨리는 새로운 무기

Fig A: 빈 캐리어(원본 이미지) / Fig B: 데이터가 삽입된 캐리어

RS 분석법 – 페이로드 캐리어를 탐지하는 또 다른 통계학적 방법입니다. 이미지를 일정한 픽셀 그룹으로 나눈 뒤 특수한 채우기(filling) 절차를 적용하고, 그 값들을 기반으로 데이터를 분석하여 스테가노그래피가 적용된 이미지를 식별합니다.

지금까지 살펴본 것처럼 사이버 범죄자들은 스테가노그래피를 교묘하게 활용해 악성코드를 유포하고 있습니다. 상당한 경제적 이득을 가져다주기 때문에 이러한 공격은 당분간 사라지지 않을 전망입니다. 게다가 스테가노그래피는 악성코드 유포뿐 아니라 테러 활동, 불법 콘텐츠 배포, 산업 스파이 등에도 악용되고 있어 각별한 주의가 필요합니다.