연구 배경 및 관련 개념 요약
메타버스 (Metaverse)
정의 인터넷 공간인 가상 세계와 물리적 공간인 현실 세계가 공유된 세계를 의미
특징
- 인공지능, 디지털 트윈 등 정보통신기술(ICT)의 집약체
- ICT 생태계의 패러다임 변화를 불러올 가상융합공간, 탈중앙화의 새로운 웹 3.0 플랫폼으로 부상
- COVID-19로 인해 비대면을 추구하는 사회 현상과 분위기에 따라 메타버스 이용자 수가 비약적으로 증가
- 메타버스에 대한 활발한 연구로 이어짐
스테가노그래피 (Steganography)
정의 멀티미디어 파일에 육안으로는 식별하기 어려운 미세 노이즈 형태로 정보를 은닉하는 기법
목표 해당 파일을 주고받는 송수신자를 제외한 제3자가 정보 은닉 여부를 인지하지 못하도록 하는 것
▶ 고도의 보안이 요구되는 상황에서 정보 전송 및 상호 통신의 목적으로 사용 됨
연구 목표
SNS는 다수의 이용자를 보유하고 있어 파급력이 크고, 플랫폼 내 하나의 공간에 다수의 이용자가 참가할 수 있기 때문에 확산성이 높으며 SNS 플랫폼의 특성상 각종 멀티 미디어 파일을 송수신하거나 게시하는 행위가 당연하며 의심의 여지가 없기 때문에 스테가노그래피 연구의 배경으로 주로 활용된다. 메타버스 또한 SNS 플랫폼의 특성을 가지고 있지만 현재까지 메타버스와 관련하여 스테가노 그래피를 비롯한 사이버 보안 측면에 있어 실험을 통해 증명하는 실질적이고 실용적인 연구가 부족하다. 따라서 스테가노그래피를 활용한 은닉 통신 기법에 대해 연구해보며 메타버스 환경에서 사이버 보안과 관련한 연구의 필요성과 중요성을 제시해보자.
배경 지식
스테가노그래피 (Steganography)
정의 멀티미디어 파일(이미지, 동영상, 오디오, 텍스트)을 커버 매개체 (cover media)로 하여, 육안으로는 식별하기 어려운 미세 노이즈 형태로 메시지를 삽입하는 스테가노그래피 알고리즘을 이용하여 스테고 파일(Stego file)을 생성하는 기법
목표 스테고 파일을 송수신하는 당사자를 제외한 제3자가 정보 은닉여부를 알 수 없도록 하는 것
▶ 메시지를 암호문으로 변환하고, 노출되더라도 쉽게 복호화할 수 없도록 하는 암호 기술과 개념적 차이 존재
스테가노그래피의 범죄 활용
- 알 카에다 요원으로 의심되는 사람의 USB에서 테러 계획 관련 141개의 텍스트 파일이 숨겨진 비디오 파일들이 발견됨. 이 중 유럽에 대한 테러 계획 등이 스테가노그래피 기법을 통해 은닉되어 있었음
- PNG 이미지 파일에 스테가노그래피 기법을 통해 수집된 정보를 저장하고 악성코드를 은닉하는 선다운 익스플로잇킷 (Sundown exploit kit)
- 2011년 왕재산 간첩단 사건, 2014년 통합진보당 RO 사건, 2016년 PC방 간첩 검거 사건 등 다양한 간첩 활동에 활용 됨.
스테가노그래피 기반 통신
스테가노그래피 기반 통신이란 스테가노그래피 기법을 적용하여 은닉 통신하는 것
스테가노그래피 기반 통신 과정
- 송신자가 비밀 메시지를 멀티미디어 파일 형태의 커버 매개체에 은닉
- 스테고 파일 생성
- 수신자에게 송신
- 수신자는 해당 스테고 파일에서 비밀 베시지를 추출
▶ 송신자는 중간 서버(통신 채널)를 통해 스테고 파일 전송 가능. 이때, 서버는 SNS 혹은 메타버스 플랫폼이 될 수 있음
스테가노그래피 기반 통신의 목적
은닉 통신의 일환인 지령 전파 및 은밀한 보고 뿐만 아니라 다양한 목적으로 활용
스테가노그래피 기반 통신의 다양한 종류
첫 번째 기준 : 통신 대상
- 1인 대상 통신
- 다수 대상 통신
두 번째 기준 : 통신 기간
- 단기 통신
- 지속 통신
통신 방식에 따른 목적
- 1인 대상 단기, 지속 통신 : 은밀한 지령 전달(전파)와 은닉 통신으로 활용
- 다수 대상 단기 통신 : 악성 바이러스(악성코드) 배포
- 다수 대상 지속 통신 : 봇넷 통신
메타버스 (Metaverse)
정의 초월을 의미하는 'meta'와 우주의 뜻을 가진 'universe'의 합성어로 인터넷 공간인 가상세계와 물리적 공간인 현실세계가 공유된 세계를 말한다.
▶ 현재는 한층 더 진보된 개념으로, 메타버스에서 참가자들은 자신들의 대리자라고 할 수 있는 아바타를 통해 상호작용을 하고, 자신들의 특색과 이상이 담긴 공간을 직접 만들며, 현실에서는 경험하지 못하였던 새로운 세계에서 제2의 삶을 살아간다.
메타버스 플랫폼
메타버스 플랫폼 로블록스, 마인크래프트, 제페토의 공통적인 특징
- 오픈 월드 (Open world) : 플레이에 대한 제약이 거의 없는 높은 자유도를 기반으로 한 게임의 한 유형 (메커니즘)
- 샌드박스 (Sandbox) : 사용자가 특별한 목표 없이 자유롭게 무언가를 할 수 있는 게임 장르
- 크리에이터 이코노미 (Creator economy) : 제작자가 플랫폼에서 자신의 콘텐츠를 활용해 수익을 내는 산업
- 아바타 (Avatar) : 메타버스 세계를 조작하기 위한 중요한 매
각 메타버스 플랫폼 별 특징
- 로블록스 (Roblox)
- 미국의 로블록스 주식회사에서 출시한 오픈월드 샌드박스 롤플레잉 게임
- 세계 1위 메타버스 플랫폼
- 월간 활성 이용자 수 (MAU) : 약 2억명
- 마인크래프트 (Minecraft)
- 스웨덴의 모장 스튜디오에서 발매한 샌드박스 형식의 서바이벌 비디오 게임
- 월간 활성 이용자 수 (MAU) : 약 1.2억명
- 포트나이트 (Fortnite)
- 미국의 에픽 게임즈에서 발매한 빌딩액션 3인칭 슈팅 게임
- 월간 활성 이용자 수 (MAU) : 약 8천명
- 제페토 (Zepeto)
- 네이버 스노우 주식회사에서 제작한 오픈월드 샌드박스 롤플레잉 게임
- 월간 활성 이용자 수 (MAU) : 약 2천만명
로블록스 (Roblox)
온라인 게임 플랫폼 및 게임 제작 시스템으로, 출시 당시에는 게임 플랫폼으로 시작하였으나 현재는 대표적인 메타버스 플랫폼으로 자리매김하였다. 로블록스에서 유저들은 자신의 아바타를 이용하여 다른 유저들이 직접 제작한 '체험'이라고 불리는, 배경도 구성도 매우 다양한 게임을 즐길 수 있으며, 나와는 다른 시공간에서 살고 있는 다른 유저들과 함께 소통하며 새로운 세상을 즐길 수 있다.
스테가노그래피 기반 은닉통신 가능성 분석
로플록스 체험
로블록스 체험이란 유저들이 함께 만나 상호작용 하며 다양한 경험을 할 수 있는 공간을 말한다. 실제로는 로블록스에 게시되어 있는 모든 체험이 일종의 게임 형태 중 하나라고 할 수 있다. 로블록스 체험이 만들어질 수 있었던 가장 큰 이유는 로블록스 플랫폼에서 제공하는 게임 개발 도구인 '로블록스 스튜디오'를 이용하여 체험을 제작할 수 있고, 800만명이 넘는 크리에이터가 로블록스에서 활동하고 있기 때문이다.
로블록스 체험 특징
- 로블록스를 플레이하는 모든 유저가 다운받을 수 있음
- 어떠한 제약 없이 사용 가능
- 체험을 직접 제작하여 업로드 가능
- 업로드 뒤에도 체험 제작자가 언제든 체험을 업데이트할 수 있음
- 서버당 최대 100명의 유저 참여 가능
스테가노그래피 기반 은닉통신의 가능성
로블록스 체험 제작 과정
- 로블록스 스튜디오를 재생하고 체험의 배경이 될 템플릿 선택
- 체험 내부 구성
- 도구 상자 : 체험을 만드는 데 사용할 수 있는 여러가지 에셋(Asset)을 모아둔 곳으로, 모델, 이미지, 비디오, 메시, 오디오로 구성되어 있다.
- 파트 : 기본적인 건물을 구성하는 부속품으로, 블록, 구, 원통, 쐐기, 코너 쐐기 총 5가지 종류가 있다. ▶ 텍스쳐 표현 또한 가능
텍스쳐 이미지 삽입
▶ 멀티미디어 파일에 메시지를 은닉하는 스테가노그래피 기법을 적용할 수 있는 가능성 있음
▶ 이미지 파일을 이용하여 스테가노그래피 기반 은닉 통신을 시도할 수 있다는 사실이 확인 됨.
스테가노그래피 기반 통신
해당 체험에서 스테가노그래피 기반 은닉통신이 성공할 경우, 스테가노그래피 기반 통신 종류 중 1대 1 통신과 1대 N 통신이 가능하다고 할 수 있다.
해당 체험의 스테가노그래피 기반 통신 특징
- 1대 1 통신과 1대 N 통신 가능 이유 : 한 명부터 수천 명에 달하는 많은 수의 인원이 참여가능
- 업데이트 사항이 즉각 반영되지 않기 때문에, 지속통신 보다는 단기통신에 적합
- 1대 1 단기 통신과 1대 N 단기 통신이 가능
- 1대 1 단기 통신 : 지령 전달의 목적으로 사용 가능
- 1대 N 단기 통신 : 다수의 참가자를 대상으로 하는 악성코드 배포에 활용
실험
실험 목적 및 방법
로블록스 체험 서비스에 대한 스테가노그래피 기반 은닉통신 가능성을 실험을 통해 증명
[ 실험 1 ]
로블록스 체험에 삽입한 이미지 파일이 체험 참가자의 장치에 자동저장 되는지 확인
▶ 로블록스 모든 유저의 단말기에 스테고 이미지가 자동저장 되는지 확인
[ 실험 2 ]
수신자의 장치에 자동저장된 스테고 이미지가 이상없이 전달되었는지 검증위해 스테고 이미지에 은닉된 메시지가 정상적으로 추출이 되는지 확인
▶ 추출한 메시지가 최초 은닉하였던 메시지와 동일한 메세지인지 여부를 해시값의 비교를 통해 확인
사용 도구
- 스테가노그래피 도구 : Openstego
- 이미지 뷰어 : InfraView ▶ 난수파일 중 이미지 파일 식별을 위해
- 바이너리 파일 뷰어 : HexEditor ▶ 난수파일에 대한 카빙 도구
- 해시값 확인 및 비교 도구 : Hashtab ▶ 스테고 이미지 전달 확인 여부를 위해
실험 방법
① 스테고 이미지 제작
송신자는 3개의 커버 이미지에 Openstego를 이용하여 'dk.txt'라는 메모장 형태의 메시지를 각각의 커버 이미지에 은닉하여 세 개의 스테고 이미지를 제작
② 체험 제작 및 스테고 이미지 삽입
로블록스 스튜디오를 스테가노그래피 기반 은닉통신을 적용할 체험용 이름을 제작하고, 참가자가 체험 입장 시 캐릭터가 생성되는 지점인 '스폰' 바로 앞에 블록 모양의 파트를 배치한 뒤 텍스쳐 항목을 추가하여 ''에서 제작한 스테고 이미지를 삽입한다. 이때, 참가자가 체험 입장 시, 해당 이미지를 반드시 볼 수 밖에 없도록 한다.
③ 수신자(참가자)의 체험 참가
수신자인 로블록스 유저는 해당 체험에 참가하고, ②에서 삽입된 스테고 이미지를 본다.
④ 실험 1
로블록스 체험에 삽입한 이미지 파일이 체험 참가자의 장치에 자동저장 되는지 진행하고 결과 확인
⑤ 실험 2
수신자의 장치에 자동 저장된 스테고 이미지에 은닉된 메시지가 정상적으로 추출되는지 확인, 추출한 메시지가 최초 은닉하였던 메시지와 동일한 메세지인지 해시값 비교를 통해 확인
실험 결과
- 수신자의 장치인 랩탑의 로컬 디스크에 존자하는 모든 폴더 확인
▶ Appdata\Local\Temp 에 위치한 'Roblox'라는 이름을 가진 폴더 발견
Roblox 파일 내부 폴더)
- ContentProvider 폴더
- engine 폴더
- http 폴더
- raknet 폴더
- sounds 폴더
→ 위 파일 등 총 10개의 폴더 존재→ But, 'http' 폴더를 제외한 모든 폴더는 아무 파일도 존재하지 않음
Http 폴더 확인)
- 16진수의 난수로 된 수백 개의 파일이 존재
- 최초 삽입한 스테고 이미지의 용량 확인 ▶ http 폴더 내부에 비슷한 용량을 가진 파일들 다수 발견
비슷한 용량의 파일을 확인하는 방법
▶ InfraView 사용 : 특정 파일이 이미지 파일일 경우 해당 이미지의 썸네일을 보여주기 때문에 원하는 파일을 찾는데 용이
- 스테고 이미지로 특정한 세 개의 파일이 실제 'png'의 이미지 포맷을 가진 파일인지 식별 ▶ HexEditor 사용
BUT, 현재 해당 파일들은 모두 난수의 파일명을 가진 확장자가 없는 파일에 불과하기 때문에, 이 파일들을 실제 PNG 확장자를 가진 파일로 변환하는 과정이 필요▶ 시그니처 (Signature) 기반 카빙 방법으로 진행
시그니처 기반 카빙 방법
: '헤더(Header)'와 '푸터(Footer)' 시그니처를 이용하는 것으로, 이미지 파일 뷰어를 통해 특장 파일 포맷의 헤더와 푸터 시그니처를 확인한 후 두 시그니처 사이에 존재하는 데이터를 제외하고 나머지 모든 데이터를 삭제하는 과정으로 이루어짐
✅ 이를 토대로 시그처 기반 카빙을 실시하기 위해 HexEditor를 이용하여 각각의 파일의 메타데이터를 확인
'girl.png'로 보이는 파일은 51번째 줄에, 'watermelon.png'로 보이는 파일은 39번째 줄어, 'dog.png'로 보이는 파일은 51번째 줄에 있었고, 푸터 시그니처의 경우 세 파일 모두 맨 마지막줄의 맨 끝에 있음
✅ 헤더와 푸터 시그니처의 위치를 확인 한 후, 헤더와 푸터 시그니처를 포함하여 각 시그니처 사이에 있는 데이터를 제외하고 불필요한 데이터를 모두 삭제함
✅ 파일명 마지막에 PNG 확장자를 의미하는 '.png'를 추가하여 해당 파일을 PNG 파일로 변환하고, 각각의 파일이 체험 제작 시 삽입했던 이미지 파일과 동일한 이미지임을 확인
⏩ 해당 실험을 통해 체험에 삽입하였던 이미지 파일이 체험 참가자의 장치에 자동저장된다는 것을 확인
실험1에서 변환한 각각의 PNG 파일을 Openstego를 이용하여 은닉 메시지 추출 시도
▶ 세 개의 파일로부터 모두 'dk.txt' 메모장 파일을 성공적으로 추출함
또한 각각의 파일에서 추출한 은닉 메시지와 최초 스테고 이미지 제작 시, 은닉하였던 메시지 해시값 비교 결과 해시값이 동일하였고, 최종적으로 두 메시지가 동일한 메시지 임을 확인
출처 | '로블록스 메타버스 환경에서의 스테가노그래피 기반 은닉통신 기법 연구' 국방대학교 윤도경 (2023.01)