러스트(Rust) 기반으로 작성된 악성코드인 네바다(Nevada) 랜섬웨어가 유포되고 있는 것이 확인됐다. 네바다 랜섬웨어는 감염됐을 때 감염된 파일에 ‘.NEVADA’ 확장자가 추가되는 특징이 있다. 또한, 암호화를 수행한 각 디렉터리에 ‘README.txt’ 이름으로 랜섬노트를 생성하며, 랜섬노트 내에 지불을 위한 Tor 브라우저 링크가 존재한다.

▲암호화 파일 예시 및 Nevada 랜섬노트(좌부터)[자료=안랩 ASEC 분석팀]
안랩 ASEC 분석팀은 네바다 랜섬웨어는 세부 실행 방식 지정을 위한 커맨드 기반 옵션을 지원하고 있다고 밝혔다. 이 랜섬웨어는 별도의 옵션을 지정하지 않고 실행 시, 모든 드라이브를 순회하며 암호화만을 진행하지만 ‘file’, ‘dir’ 옵션 지정으로 개별 파일 및 디렉터리를 특정해 암호화를 수행하거나 기타 옵션들을 통해 자가삭제, 암호화 대상 드라이브 추가 로드, 안전모드에서 동작 수행 등의 기능을 활성화할 수 있다.

▲Nevada 랜섬웨어 실행 옵션[자료=안랩 ASEC 분석팀]
네바다 랜섬웨어의 주요 기능 다섯 가지 중 첫 번째는 ‘자가삭제(-sd)’ 기능으로, 네바다 랜섬웨어는 암호화 루틴 수행 이후 자가삭제를 수행하는 기능을 지원한다. 두 번째로, ‘볼륨쉐도 삭제(-sc)’ 기능이 있다. 네바다 랜섬웨어는 DeviceIoControl을 활용해, 시스템 복구를 방해(T1490)하는 기법이 확인됐다. 시스템 복구 방해는 해당 랜섬웨어 내에서 확인된 볼륨쉐도 복사본(VSS, Volume Shadow Copy)을 삭제하는 방식으로 진행한다. 이는 2년 전 트위터 및 깃허브(poc)에 공개된 방법으로 파악된다.

▲Nevada 랜섬웨어의 자가삭제 옵션 및 DeviceIoControl()을 활용한 볼륨쉐도 크기 재지정(좌부터)
[자료=안랩 ASEC 분석팀]
해당 코드는 직접적인 Device IO Control calls을 통해 디바이스 드라이버에 직접 엑세스해 ‘Volume Shadow Copy Storage 크기를 매우 작은 크기로 재지정’하는 방식이다. 흔히 vssadmin, wbadmin, bcdedit, wmic 명령어 호출을 통해 시스템 복구를 방해하는 기법은 기존에 다양한 악성코드에서 활용되고 있었으나, 해당 랜섬웨어는 Device IO Control calls을 직접 이용하는 흔히 사용되지 않는 방식을 활용한 것이 특징이다.
세 번째는 ‘hidden 드라이브 로드(-lhd)’ 기능으로, 네바다 랜섬웨어는 정의된 각 드라이브 문자열들을 활용해 각 볼륨을 순회하며, 숨겨진 파티션을 로드해 암호화를 수행하는 기능이 있다.
다음으로 ‘네트워크 공유폴더 암호화(-nd)’ 기능이다. 이 기능은 숨겨진 드라이브를 로드해 암호화를 수행하는 기능 외에도, 시스템 내에 존재하는 네트워크 공유 리소스에 접근해 암호화를 수행한다.

▲숨겨진 파티션을 로드해 암호화 및 네트워크 공유폴더 암호화(좌부터)[자료=안랩 ASEC 분석팀]
다섯 번째는 ‘안전모드로 동작(-sm)’하는 기능이다. 해당 악성코드는 안전모드로 재부팅해 동작하는 기능이 있으며, 이를 위해 해당 랜섬웨어 프로그램을 안전모드 부팅 이후 실행되는 서비스 형태로 등록 후 실행하는 기능도 있다. 이외에도 안전모드 부팅 이후 자동시작 서비스 목록에서 WinDefender를 제거하는 기능도 확인됐다.

▲안전모드 부팅 후 동작을 위한 서비스 생성 및 자동시작 레지스트리 등록[자료=안랩 ASEC 분석팀]
네바다 랜섬웨어의 감염 대상 및 암호화 예외 조건은 다음과 같다. 먼저 감염 제외 Locale은 네바다 랜섬웨어 샘플의 경우, Commonwealth of Independent States(CIS) 국가 중 일부 9개국(0x0419(ru-RU), 0x0444(tt-RU), 0x0423(be-BY), 0x0428(tg-Cyrl-TJ), 0x042B(hy-AM), 0x042C(az-Latn-AZ), 0x0440(ky-KG), 0x0443(uz-Latn-UZ), 0x0819(ru-MD))에서는 파일을 감염하지 않고 종료하는 특징이 있다. 해당 국가는 구소련 관련 국가들로 확인되며, 이러한 예외 국가 설정을 위해 코드 내 예외대상 국가들에 대한 비트 플래그가 설정된 것으로 보인다는 게 안랩 ASEC 분석팀의 설명이다.

▲NEVADA 랜섬웨어의 언어 코드 체크 루틴[자료=안랩 ASEC 분석팀]
네바다 랜섬웨어는 암호화 대상에서 예외처리할 파일명 및 폴더명을 체크하는 루틴이 포함됐다. 결과적으로 암호화 예외 대상이 되는 폴더는 windows, program files, program files (x86), appdata, programdata, system volume information, NEVADA 등이며, 암호화 제외 확장자는 ‘.exe’, ‘.ini’, ‘.dll’, ‘.url’, ‘.lnk’, ‘.scr’ 등이다. 또한, 감염 제외 substring은 ntuser이다.
안랩 ASEC 분석팀 관계자는 “랜섬웨어 예방을 위해 출처가 불분명한 파일 실행에 주의해야 하며, 의심스러운 파일의 경우 백신을 통한 검사 및 백신 최신 업데이트가 필요하다”고 밝혔다.