해킹 기법/포렌직

[해킹 기법] 스테가노그래피 - 파일 속에 데이터 숨기기

solo-infosec 2025. 3. 23. 22:40

스테가노그래피 (Steganography)

스테가노그래피 (Steganography)는 파일 안에 데이터를 삽입해서 은닉하는 기법이다. 스테가노그래피를 통해 사용자는 비디오, 오디오, 이미지 파일 등의 바이트를 조작해 원하는 데이터를 교묘하게 삽입할 수 있다. 데이터가 삽입된 비디오, 오디오, 이미지 파일들은 분명히 무언가 변하지만 그 정도가 너무나도 경미해 절대로 사람의 눈이나 귀로는 포착할 수 없다. 물론 대량의 데이터를 냅다 때려박는다면 포착 가능할 수도 있다 
 
파일 크기가 5MB인 이미지 파일에 영문자 5,000자를 삽입한다고 생각해 보자.
5MB = 1,048,576 bytes
영문자 5,000자 = 5,000 bytes (ASCII 코드 기준)
 
5MB 이미지 파일에 영문자 5,000자를 삽입할 경우 이미지가 변하는 정도:
(5,000 / 1,048,576) * 100 = 0.47683716
 
5MB의 이미지는 아주 평균적인 이미지 파일 크기다. 평균적인 이미지 파일에 영문자 5,000자를 박아 넣어도 이미지는 고작 0.47683716% 밖에 변하지 않는다.
 
1시간짜리 비디오 파일은 적게는 몇백 MB에서 크게는 10~20GB의 용량을 가질 수도 있다. 이런 경우 102권 분량의 책을 숨겨도 사용자는 비디오 파일의 어느 부분이 변했는지 눈으로 절대 포착하지 못한다.
 
직접 데이터를 삽입한 이미지를 확인해 보자. 용량이 4kb인 텍스트 파일(ASCII 기준 영문자 4,000자)을 용량이 96kb인 이미지에 삽입해 봤다. 
 
데이터 삽입 전 이미지:

이미지 용량: 96kb
해시값: 754cd3b1ae3c3c7de1e822a3e95c8bc5
 
데이터 삽입 후:

이미지 용량: 100kb
해시값: 2b045482e1e2317d933748cf3db8d328

 
이미지의 용량과 해시값이 변했다. 하지만 이미지의 어느 부분이 변했는지 눈으로 전혀 확인할 수 없다.


스테가노그래피 활용법:

1. 비밀 메세지 삽입
스테가노그래피를 사용해 이미지 파일 안에 비밀 메세지를 삽입할 수 있다.
 
2. 파일 유출
스테가노그래피를 사용하면 거의 모든 종류의 파일에 데이터를 은닉할 수 있다. 비디오, 오디오, 이미지, 심지어 exe 같은 실행 파일에도 데이터를 은닉할 수 있다. 민감한 정보의 데이터를 이런 파일에 은닉해서 유출할 경우, 상황에 따라선 정보 유출을 탐지하기 매우 어렵다
 
3. 악성 코드 삽입
스테가노그래피를 사용하면 악성 파일이나 코드를 정상적인 파일에 은닉할 수 있다. (그리고 실제로 은닉된 악성 파일이나 코드를 포함한 파일은 악용되기 전까진 정상적인 파일이 맞다.) 이를 악용하면 IDS (Intrusion Detection System), IPS (Intrusion Prevention System), 방화벽 같이 악의적인 파일이나 행위를 감지하는 보안 체계를 우회할 수 있다.
 

결론

스테가노그래피는 정보보안에서 제일 기초적인 데이터 은닉법이다. 스테가노그래피의 사용법은 무긍무진하다. 불법적인 행위를 장려하는 것은 절대로 아니다 당신에게 숨기고 싶은 데이터가 있다면 스테가노그래피를 사용해서 비디오나 이미지 파일에 때려박는 것도 나쁘지 않은 선택일 수 있다.