일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- xcz.kr
- SuNiNaTas
- CTF
- Forensics
- Digital Forensics
- 인코그니토
- 사칙연산
- 문자열
- misc
- cryptography
- Web
- 그리디 알고리즘
- MySQL
- 백준
- Python
- 수학
- 정렬
- Web Hacking
- Text
- N0Named
- 구현
- wargame
- Database
- C
- Network
- 써니나타스
- Incognito
- HackCTF
- writeup
- php
- Today
- Total
보안을 그리다, 훈이
[Cryptography] 스테가노그래피(Steganography) 기법 본문
스테가노그래피(Steganography)란?
전달하려는 기밀 정보를 JPEG, PNG, GIF, BMP 등의 이미지 파일이나 MP3 파일 등에 숨기는 심층암호 기법을 말한다.
이미지 파일을 활용한 스테가노그래피 기법 1 - 삽입
JPEG, PNG, GIF 등의 파일에는 파일의 끝을 알리는 푸터 시그니처 즉, EOI(End Of Image) byte가 존재한다.
EOI byte 뒤에 어떠한 값을 삽입하더라도 실제 파일을 열어보면 삽입된 데이터가 무시된 채 이미지가 출력된다.
즉, 원본 이미지 파일과 조작된 이미지 파일을 비교해보아도 차이가 나지 않는다.
따라서 EOI byte 뒤에 데이터를 숨길 수 있다.
예시) JPEG 파일의 EOI byte 'FF D9' 뒤에 전달하려는 기밀 정보를 숨길 수 있다.
또한, 파일의 헤더 중에는 이미지에 영향을 주지 않는 부분이 상당히 많기 때문에 헤더 영역에도 데이터를 삽입할 수 있다.
예시) JPEG 파일의 경우 파일 세부사항이 들어가는 공간이 존재하는데 이 영역에 전달하려는 기밀 정보를 숨길 수 있다.
이미지 파일을 활용한 스테가노그래피 기법 2 - 변조
가장 일반적인 방법은 LSB(최하위 비트, Least Significant Bit)를 변조하는 것이다.
대표적으로 24bit 이미지 파일인 JPEG, BMP 파일에 적용된다.
이 기법은 실제 이미지에 영향을 주긴 하지만 24bit가 하나의 색을 표현하기 때문에 영향력이 큰 MSB(Most Significat Bit)와 달리 LSB가 변조되어도 사람의 눈으로 알아채기 힘들고 Hex Editor를 통해 분석해보면 알 수 있는 정도이다.
예시를 들어보면, 흰색을 나타내는 0xFFFFFF 값에 대하여 LSB 변조를 하면 FE가 된다.
FE의 LSB는 0이고 FF의 LSB는 1이며, 0과 1로 8자리 즉 char 값을 나타낼 수 있으므로 ASCII에 대응하는 문자열을 숨길 수 있다.
이는 결과적으로 흰색을 나타내는 값의 LSB를 1만큼 변조하여 사람의 눈으로는 알아차릴 수 없는 이미지 변화를 일으킬 수 있다.
'Security > Cryptography' 카테고리의 다른 글
[Cryptography] Vigenere Cipher (비즈네르 암호) (0) | 2021.12.15 |
---|