Ⅰ. 서론
랜섬웨어의 피해 사례가 전 세계적으로 늘고 있다. 2024년도 2분기 랜섬웨어 공격이 1분기에 비해 18% 증가하였으며, 국내의 경우 10배 증가하였다[1]. 이처럼 증가하고 있는 랜섬웨어의 피해를 최소화하기 위해 랜섬웨어를 대상으로 한 분석 연구가 필요하다.
본 논문에서는 Windows 환경에서의 Phobos 랜섬웨어를 대상으로 분석 연구를 진행한다. Phobos 랜섬웨어는 2019년도에 처음 발견된 이후 2024년 현재에도 활발히 활동하고 있는 랜섬웨어 중 하나이다. 최근 피해 사례로 2024년 7월 나이지리아의 클라우드 서비스 회사를 대상으로 한 공격 사례가 있으며[2], Faust, Eight, Elbie, Devos와 같은 다양한 변종이 존재한다. 그리고 2024년도에 활발히 활동 중인 랜섬웨어 그룹 중 하나인 “8base” 그룹이 Phobos와 연결되어 있다고 알려지는[3] 등 위험성이 높은 랜섬웨어이다.
본 논문에서는 해당 랜섬웨어의 특징을 랜섬웨어의 동향 관점에서 살펴보고 암호화 전 동작, 암호화 동작 및 암호화 파일의 특징에 대해 설명한다. 그리고 Phobos 랜섬웨어의 특징을 통해 원본 파일의 복호화 가능 여부를 판단한다.
Ⅱ. 관련 연구
랜섬웨어에 대한 사람들의 관심이 높아지며 랜섬웨어 대상 분석 연구 또한 많이 진행되었다. 차해성 외 2인은 Windows 환경에서 Bianlian 랜섬웨어를 대상으로 역공학 분석을 통해 작동 원리를 분석하고 복호화 방안을 제시하였다[4]. 강수진 외 5인은 Ragnar Locker 랜섬웨어의 동작 및 암호화 과정을 분석하고 키 재사용 공격을 통해 복호화하는 방안을 제시하였다[5]. 이영주는 스트림 암호 ChaCha, Salsa20 2종의 동작 과정을 분석하고 스트림 암호 기반 랜섬웨어인 Conti, Ragnar, BlackMatter, Babuk Locker를 대상으로 동작 과정 및 암호 기능을 분석하였다[6]. Luis 외 1인은 Salsa20 기반 랜섬웨어에 대하여 메모리에서 키 추출 및 파일당 하나의 키 랜섬웨어 암호화 키 복구를 위한 방법을 연구하고 Sodinokibi 랜섬웨어 대상으로 실험을 진행하였다[7]. Karan 외 3인은 Clop 랜섬웨어에 대하여 정적, 동적으로 분석하여 랜섬웨어의 동작 방식을 분석하였다[8] Fabrizio 외 1인은 Jigsaw, CryptoLocker, Petrwrap, TeslaCrypt 총 4종의 랜섬웨어를 대상으로 암호화 모델, 암호화 알고리즘, 키 생성방법을 분석하였다[9].
Ⅲ. 랜섬웨어의 동향 관점에서의 Phobos 랜섬웨어의 특징
최근 많은 랜섬웨어 그룹이 사용하는 수익 모델은 제작자에게 일정 비용을 지불하면 랜섬웨어를 서비스 형식으로 제공하는 RaaS (Ransomeware as a Service) 방식의 수익 구조로[10], Phobos 랜섬웨어의 수익 구조 역시 RaaS 방식이며 서비스 방식으로 제공한다는 특성상 같은 Phobos 랜섬웨어라도 암호화 파일 확장자 또는 랜섬 노트의 구조 변화가 존재한다.
최근 랜섬웨어의 공격 방식은 단순히 파일을 암호화하고 금전을 요구하는 방식에서 파일을 암호화하고 추가적인 공격 행위를 가하는 다중 갈취 공격을 사용한다. Phobos 랜섬웨어의 경우 파일 암호화와 더불어 원본 파일을 빼돌려 파일 복호화와 데이터를 유출하지 않는 조건으로 금전을 요구하는 이중 갈취 공격을 사용한다.
BlackBasta, PLAY, BlackCat 등 다양한 랜섬웨어에서 파일 전체가 아닌 일부만 암호화하는 간헐적 암호화 방식을 사용한다. 이는 암호화에 걸리는 시간을 줄이며 동시에 파일을 온전히 사용할 수 없게 하며 평문이 남아있기 때문에 보안 솔루션이 탐지하기 어려운, 랜섬웨어의 관점에서 효율적인 암호화 방안이다. Phobos 랜섬웨어의 경우 파일 크기에 따라 파일 전체를 암호화하거나 앞선 간헐적 암호화 방식을 사용하여 파일을 암호화한다.
Ⅳ. Phobos 랜섬웨어의 동작 분석
Phobos 랜섬웨어의 동작 분석을 위해 [표 1]과 같이 환경을 구성하였다. Windows 10 환경에서 분석을 진행하였고, 파일의 데이터를 확인하기 위해 HxD Editor를 사용하였고 랜섬웨어 작동 분석을 위해 Process Monitor를 사용하였다. Phobos의 전반적인 동작 과정 분석을 위해 동적 분석을 수행하였으며, 이를 위해 활용한 디버거는 x64dbg이다. 또한, Phobos 랜섬웨어에 의해 파기된 파일을 디스크 상에서 복원 가능한지 확인하기 위해 FTK Imager를 이용한 디스크 이미징을 수행하였다.
[표 1] 랜섬웨어 분석 환경
4.1. 암호화전 동작 분석
암호화 실행 전 Phobos 랜섬웨어는 효과적인 공격을 위한 환경을 구성한다. 먼저 자기 자신을 시작 프로그램으로 등록하여 재부팅 했을때 랜섬웨어가 작동하도록 한다.
이후 명령 프롬프트를 이용하여 환경을 구성한다. “netsh advfirewall set currentprofile state off” 명령어와 “netsh firewall set opmod mod=disable” 명령어를이용하여 방화벽을 종료하며 “vssadmin delete shadows/all /quiet” 명령어와 “wmic shadowcopy delete”, “bcdedit /set {default} bootstatuspolicy ignoreallfailures”, “bcdedit /set {default} recoveryenabled no”, “wbadmin delete catalog –quiet“ 명령어를 사용하여 Windows 백업을 삭제한다. 이는 Process Monitor의 Process Tree 기능을 사용하여 [그림 1]과 같이 확인할 수 있다.
[그림 1] Process Tree로 확인한 Phobos 랜섬웨어의 명령어 사용
4.2. 암호화 동작 분석
Phobos 랜섬웨어의 암호화에는 AES-256-CBC를 사용하며 평문이 16바이트 블록 단위가 되도록 0x00으로 남는 채워 넣는 Zero-byte Padding을 사용한다. 32 바이트의 암호화키의 하위 16바이트는 “0x0ddb950c3368c0a006e90c2444881b12” 라는 고정된 값이며 상위 16바이트는 [그림 2]와 같이 랜섬웨어가 실행될 때마다 변동하였다. IV 값은 암호화할 때마다 변화하였다.
[그림 2] 랜섬웨어 실행 시 암호화키의 변화
한 번 설정된 32바이트 암호화키는 랜섬웨어가 작동하는 동안은 모든 파일에 대하여 같은 암호화키를 사용해 암호화하였다. 그리고 암호화 파일의 크기에 따라 파일 전체를 암호화하거나 일부만 암호화하는 간헐적 암호화 방식을 사용하며, 재시작 시 암호가 손상될 수 있다는 랜섬 노트의 언급과 달리 암호화에 사용된 암호화키로 문제없이 복호화 할 수 있었다.
암호화키는 암호화가 진행되는 동안 메모리에서 확인할 수 있었으나, 암호화가 마무리되고 랜섬 노트가 발생한 이후에는 메모리에서 확인할 수 없었다.
Ⅴ. 암호화 파일 분석
5.1. 암호화 파일 특징
Phobos 랜섬웨어는 암호화 데이터를 원본 파일에 그대로 덮어 쓰지 않는다. 암호화 파일 생성은 [그림 3]과 같이 먼저 원본 파일을 열어 데이터를 읽고, 암호화한 데이터를 저장할 새로운 파일을 생성한다. 새로운 파일명은 원본 파일명에 “.id[C2C4E29C-3483].[recovery8files@onionmail.org].8base” 라는 문자를 추가한 형태가 된다. 이 때 새로운 파일명은 Phobos 랜섬웨어마다 [표 2]와 같이 차이가 존재하였다. 생성된 파일에 암호화 데이터를 쓴 후 원본 파일을 삭제하는 것으로 암호화를 마무리한다.
[그림 3] 암호화 파일 생성 프로세스
[표 2] 랜섬웨어 샘플 별 파일 이름
암호화 파일 내부는 [그림 4]와 같다. 암호화된 데이터 뒤로 20바이트 길이의 0x00 데이터가 저장되어 있고 그 뒤로 청색 표시된 내용과 같이 암호화에 사용된 16바이트 길이의 IV가 저장되어있다. 그 뒤로는 암호화된 데이터에 대한 패딩 길이가 4바이트 길이로 저장되며, 그 뒤로 RSA-1024 알고리즘으로 암호화 된 AES 키가 저장된다.
[그림 4] 암호화된 데이터
5.2. 간헐적 암호화
3장에서 언급한 것과 같이 Phobos 랜섬웨어는 파일의 크기에 따라 암호화하는 방식이 다르다. 실험 결과 1.5 MB 크기를 기준으로 디스크 할당 크기가 1.5 MB 미만 파일 크기를 가지는 데이터는 3장 1절과 같이 파일 전체가 암호화되며 디스크 할당 크기가 1.5 MB 이상 파일은 원본 데이터의 일부분만 암호화하는 간헐적 암호화 방식을 사용한다.
Phobos 랜섬웨어에서의 간헐적 암호화 방식은 다음과 같다. 암호화되는 원본 데이터 블록의 크기는 256 KiB이며 원본 파일을 3등분하여 처음과 끝 그리고 중간 위치의 데이터 총 세 블록이 암호화된다. 다시 말해 총 256*3 KiB 크기의 데이터가 암호화된다. 암호화된 데이터들은 파일의 끝에 [그림 4]과 같은 형식으로 저장되며 암호화된 부분에 해당하는 원본 데이터는 [그림 5]과 같이 0x00으로 채워진다.
[그림 5] 간헐적 암호화된 데이터 예시
암호화된 파일 데이터와 원본 파일 데이터를 비교하였을 때 동일한 Offset에 동일한 평문이 존재하였다. 따라서 암호화된 부분을 복호화하고 이를 3등분 하여 0x00으로 채워진 부분에 각각 채워주면 온전한 원본 파일이 완성된다.
해당 데이터를 복호화하면 원본 데이터와 원본 데이터의 시작 Offset이 저장된다 [그림 6]의 녹색 표시된 데이터가 시작 Offset, 청색 표시된 데이터가 원본 데이터로 데이터 시작 오프셋에서 256 KiB 크기, 즉 0x40000 크기에 해당하는 데이터를 채워 넣어 주면 복호화가 가능하다.
[그림 6] 복호화된 간헐적 암호화 데이터 예시
암호화가 마무리되면 mshta.exe를 통해 info.hta 라는 이름의 랜섬 노트를 출력하여 감염 사실을 알리며 금전을 요구하는 것으로 랜섬웨어의 동작이 마무리된다.
5.3. 복호화 가능 여부
암호화키의 경우 4장 2절에서 설명한 것처럼 랜섬 노트 발생 이후 메모리에서 식별 불가능하다는 한계가 존재한다. 또한, 32바이트 키 중 상위 16바이트가 랜섬웨어 동작마다 변화하기 때문에 키를 재사용하여 복호화할 수 없다. 하위 16바이트가 고정된 값이므로 32바이트 전체를 전수조사할 필요는 없지만, 16바이트 길이를 전수조사하는 것 역시 사실상 불가능하다. 다행히 PC를 재부팅 하면 암호 키가 손상될 수 있다는 랜섬 노트의 언급과는 다르게 재부팅 이후에도 문제없이 복호화가 되었으나 앞선 이유로 Phobos 랜섬웨어를 직접 복호화하는 것은 사실상 힘들 것으로 보인다.
5장의 설명대로 Phobos 랜섬웨어는 원본 파일에 암호화 데이터를 덮어쓰지 않고 새로운 파일을 생성하고 기존 파일을 삭제한다는 특징이 있다. 직접 데이터를 복호화하지 않고 디스크 이미지 도구로 삭제된 원본 파일을 복구하거나 디스크 이미지 내에서 원본 파일의 데이터를 탐색하여 원본 파일을 복원하는 방법을 시도하였다.
FTK Imager를 사용하여 삭제된 파일을 복원할 수 있는지 시도하였으나 [그림 7]과 같이 시간이 지나면 복원 가능한 데이터가 사라진 것을 확인할 수 있다. 디스크 전체를 이미징하여 원본 파일의 데이터가 존재하는지 탐색하였으나 이 역시 랜섬웨어가 암호화에서 제외한 시스템 파일과 간헐적 암호화로 남아있는 일부 원본 데이터를 제외하고는 원본 파일의 데이터는 확인 불가능하다.
[그림 7] 암호화 진행에 따른 복구 가능한 데이터 식별 여부
암호화된 AES 키를 복구하는 것 역시 시도하였으나 이 역시 암호화 이후 메모리에서 식별 불가능하여 AES 키를 복호화하는 방안 역시 사용할 수 없었다.
결론적으로 암호화 이후 메모리와 디스크에서 AES 암호화 키 RSA 암호화 키 그리고 삭제된 원본 데이터 전부 확인할 수 없어 복호화가 사실상 불가능하다고 판단된다.
VI. 결론
이전에는 단순히 파일을 암호화만 하여 사람들에게 피해를 주었던 랜섬웨어는 점차 발전하여 파일을 유출하고 분산형 서비스 거부 공격과 같은 추가적인 공격을 수행하며, RaaS라는 새로운 수익 모델의 등장으로 전문 지식이 부족한 사람들도 랜섬웨어를 사용할 수 있게 되며 잠재적인 사용자가 증가하는 등 랜섬웨어의 위험성은 점점 높아지고 있다.
정보의 가치는 사회가 발전함에 따라 점차 증가하고 있다. 그만큼 귀중한 정보들을 대상으로 공격을 수행하는 랜섬웨어의 수요는 더욱 늘어날 것이고 공격방식 역시 지금보다 정교해지고 강력해질 것이다. 또한, 일부 랜섬웨어 그룹의 경우는 국가의 지원을 받아 공격을 수행하여 이제는 개인과 기업의 문제로만 치부할 수 없을 것이다[11].
따라서 랜섬웨어로 인한 피해를 조금이나마 줄이기 위해서 다양한 랜섬웨어를 대상으로 분석 연구가 더 많이 수행될 필요가 있다.
본 논문에서는 Windows 환경에서의 Phobos 랜섬웨어의 동작과 암호화 파일에 대해분석하였다. 분석 결과 랜섬 노트 발생 이후로는 삭제된 원본 파일을 복원할 수 없고 암호화키 역시 획득 불가능하였다는 한계가 존재하였다.
향후 연구에서는 5장 2절에서 제시하였던 간헐적 암호화로 남아있는 원본 데이터를디스크 이미지에서 탐색하는 방법으로 원본 파일을 복구하는 방안을 Phobos 랜섬웨어와 유사하게 원본 파일에 파일을 덮어쓰지 않으면서 간헐적 암호화를 사용하는 랜섬웨어들을 대상으로 복호화 가능한 랜섬웨어가 존재하는지를 연구할 것이다.
References
- 보안뉴스 "2024년 2분기 랜섬웨어 공격 18% 증가... 국내 1분기 대비 10배 폭증" https://m.boannews.com/html/detail.html?idx=132281
- Techcabal, "Nigerian cloud provider hit with ransomware attack as government agency works to "swiftly resolve incident"", https://techcabal.com/2024/07/10/cloud-providers-ransomware-attack/
- The Register, "Six ransomware gangs behind over 50% of 2024 attacks", https://www.theregister.com/2024/08/13/lockbit_ransomware_stats/
- 차해성, 서승희, 이창훈, "역공학을 통한 Bianlian 랜섬웨어 복호화 방안 연구", 디지털포렌식연구, 17(3), 135-145, 2023
- 강수진, 이세훈, 김소람, 김대운, 김기문, 김종성, "키 재사용 공격을 통한 Ragnar Locker 랜섬웨어 감염 파일 복호화 및 활용 방안 연구", 정보보호학회논문지, 31(2), 221-231, 2021
- 이영주, "스트림 암호 기반 랜섬웨어에 대한 기술적 분석 동향", 정보보호학회지, 32(3), 49-56,
- Luis Fernandez de Loaysa Babiano, Richard Macfarlane, Simon R. Davies, "Evaluation of live forensic techniques, towards Salsa20-Based cryptographic ransomware mitigation", Forensic Science International: Digital Investigation, Volume 46 301572, ISSN 2666-2817, 2023
- Karan Bhat Sumbly, Pradyuman K Kannan, Likhitha A Aralimara, Sushma E, "Static and Dynamic Analysis of Clop Ransomware", 2022 IEEE International Conference on Cloud Computing in Emerging Markets (CCEM), pp. 48-52, 2022
- Fabrizio Cicala, Elisa Bertino, "Analysis of Encryption Key Generation in Modern Crypto Ransomware", IEEE Transactions on Dependable and Secure Computing, vol. 19, no. 2, pp. 1239-1253, 2022
- GTT Korea, "서비스형 악성코드(MaaS)와 랜섬웨어(RaaS) 극성", https://www.gttkorea.com/news/articleView.html?idxno=8735
- 데일리시큐, "중국과 북한 해커들의 랜섬웨어 공격, 전 세계 주요 인프라 위협" https://www.dailysecu.com/news/articleView.html?idxno=157222