오디오 스테가노그래피 문제 제작
Capture The Flag/CTF 제작

오디오 스테가노그래피 문제 제작

스테가노그래피에는 텍스트, 이미지, 오디오, 영상 등 다양한 방식이 있습니다.

그 중 오디오 스테가노그래피는 오디오 파일에 글자나 그림을 은닉하는 방식입니다.

오디오 스테가노그래피는 오디오 파일을 스펙트로그램 형태로 변환했을 때 은닉된 데이터가 보여지는 형태를 띄게 되는데요

이번 포스팅에서는 이런 오디오 스테가노그래피 문제를 제작하는 방법에 대해 다뤄보겠습니다.

 


 

오디오 스테가노그래피 문제 제작

 

1. 프로그램 다운로드 및 은닉 데이터 준비

 

1-1. Audio Paint (그림 파일에서 오디오 파일로 변환이 가능한 프로그램)

https://www.softpedia.com/get/Multimedia/Audio/Other-AUDIO-Tools/AudioPaint.shtml

 

Download AudioPaint 3.0

Download AudioPaint - Create an unlimited number of sound effects with custom duration from image files with this powerful and easy to use software application

www.softpedia.com

 

1-2. FL Studio (음악을 작곡, 편곡, 녹음, 편집, 믹싱에 필요한 기능을 하나의 패키지로 제공하는 프로그램)

https://www.image-line.com/

 

Homepage

FL Studio, an all-in-one music production software, is one of the world's most popular DAW. Download your free trial today.

www.image-line.com

 

1-3. Audacity (디지털 오디오 편집 및 레코딩을 지원하는 무료 오픈 소스 소프트웨어)

https://www.audacityteam.org/

 

Home

Welcome to Audacity Audacity® is free, open source, cross-platform audio software for multi-track recording and editing. Audacity is available for Windows®, Mac®, GNU/Linux® and other operating systems. Check our feature list, Wiki and Forum. Download

www.audacityteam.org

 

위 3가지 프로그램을 설치해줍니다.

 

1-4. 은닉할 파일 및 목표 파일 준비

 

은닉할 데이터 셋

 

Dreams.mp3 파일에 은닉시킬 dog.jpg 와 dream.png 파일을 준비했습니다.

 


 

2. AudioPaint - 이미지 파일을 오디오 파일로 변환하기

 

Audio Paint

 

Audio Paint 프로그램의 메인 화면은 위와 같습니다.

이미지 파일을 오디오 파일로 변환하기 위해 사용하는 단추는 위 사진의 4가지만 있으면 됩니다.

  • Import Picture : 그림 파일 불러오기
  • Export Wave : Wave 파일로 추출
  • Audio Settings : 오디오 값 설정
  • Generate : 오디오 파일로 변환

 

먼저 변환할 그림 파일을 불러옵니다. (드래그 앤 드롭 가능)

 

Audio Settings 설정

 

그림을 불러온 후에는 Audio Settings 창을 열어줍니다.

설정해줘야하는 값은 3가지가 있습니다.

오디오 파일로 변환이 되었을 때 최소 주파수와 최대 주파수의 범위를 지정해줘야 하고, 몇 초 동안 지속되게 만들지 설정을 해줘야합니다.

저는 위 사진처럼 15000 ~ 20000 Hz 범위의 4초동안 지속되는 오디오 파일로 변환되도록 설정을 했습니다.

 

Generate

 

Audio Settings 설정을 마쳤으면 Generate를 해서 오디오 파일로 변환을 해줍니다.

변환을 시작하면 설정한 주파수 값에 맞는 소리가 들립니다.

변환이 끝나면 Export Wave 를 눌러 wave 파일로 추출을 해줍니다.

dream.png 파일은 12000 ~ 17000 Hz, 4초 동안 지속되도록 변환을 해줬습니다.

 


 

3. Audacity - 오디오 파일 확인하기

 

Audacity

 

Audacity 프로그램을 실행하고 Dreams.mp3 파일을 불러온 모습입니다.

처음 파일을 불러오게 되면 파형으로 보여주므로 파일을 스펙트럼 형태로 보기 위해 설정을 바꿔줍니다.

 

스펙트로그램으로 변경

 

파일 이름 옆의 화살표 단추를 누르고 스펙트로그램으로 설정해줍니다.

 

주파수 축소

 

주파수의 범위를 넓게 보기 위해 위 그림과 같은 위치에서 우클릭을 한 후 축소를 해줍니다.

 

주파수 범위 확인

 

축소를 계속 해본 결과 해당 파일은 15000 Hz 범위까지 사용하는 파일임을 확인했습니다.

(이미지 파일을 오디오 파일로 변환을 할 때 Audacity로 먼저 오디오 파일의 주파수 범위를 확인하고 문제를 설계하면 좋습니다)

 

은닉할 데이터 주파수 확인

 

은닉할 데이터인 dog.wav 와 dream.wav 파일도 스펙트럼 형태를 보면 audio paint 에서 설정한 값으로 잘 변환이 되어있는 것을 확인할 수 있습니다.

 


 

4. Fl Studio - 오디오 파일 합치기

 

FL Studio

 

FL Studio를 처음 실행하면 위와 같은 화면을 볼 수 있습니다.

 

트랙에 오디오 파일 불러오기

 

은닉될 파일인 Dreams.mp3 파일을 2번 트랙에 불러오고 은닉할 파일인 wav 파일들은 1번 트랙에 불러왔습니다.

(드래그 앤 드롭)

 

Wave Candy 불러오기

 

그 다음 스펙트럼 형태로 볼 수 있게 해주는 Wave Candy 창을 열기 위해 Wide 탭의 화살표를 누른 뒤 우측에 보이는 슬롯을 클릭 합니다.

 

Wave Candy 불러오기

 

Wave Candy 스펙트럼 형태로 설정

 

위 사진과 같은 창이 뜨면 우클릭을 한 뒤 스펙트럼을 선택해줍니다.

또한 화면 상단에 있는 버튼을 PAT 에서 SONG 으로 변경해줍니다.

 

스펙트럼 형태로 재생

 

SONG 버튼 옆의 시작 버튼을 눌러주면 위와 같이 wave 파일의 스펙트럼과 mp3 파일의 스펙트럼이 합쳐진 것을 확인할 수 있습니다.

즉, dog.wav, dream.wav, Dreams.mp3 파일이 합쳐졌으며 결과적으로 dog.jpg 의 그림과 dream.png 의 그림을 Dreams.mp3 파일에 은닉한 것입니다.

은닉한 파일의 주파수 대역을 보면 Audiopaint 에서 설정했던 주파수 대로 위치한 것을 볼 수 있습니다.

 

mp3 파일로 저장

 

결과물은 화면 좌측 상단의 FILE -> Export -> MP3 File 을 눌러서 mp3 파일로 저장할 수 있습니다.

 

Audacity 에서 확인

 

생성된 mp3 파일을 Audacity 에서 확인하면 위와 같은 모습을 하고 있는 것을 확인할 수 있습니다.