진화하는 록키 랜섬웨어
록키(Locky) 랜섬웨어는 2016년 2월 처음 발견된 이후 심각한 피해를 입히며 이슈가 됐다. 발견 당시 암호화된 파일의 확장자 뒤에 locky를 붙이는 것으로 알려졌지만, 최근 확장자를 zepto로 변경하는 록키 랜섬웨어가 발견됐다. 뿐만 아니라 문서 파일로 유포하던 것에서 나아가 스크립트 파일로 유포하기 시작했다. 이 글에서는 지속적으로 진화하며 사용자들을 위협하는 록키 랜섬웨어에 대해 살펴본다.
록키 랜섬웨어는 드라이덱스(Dridex)로 알려진 해외 금융 관련 악성코드를 배포했던 그룹의 네커스 봇넷(Necurs Botnet)을 통해 배포되는 것으로 알려져 있다. 네커스 봇넷이 2016년 6월 1일 이후 활동을 중단하면서 드라이덱스와 록키 랜섬웨어도 잠시 주춤했으나, 6월 마지막 주부터 네커스 봇넷이 활동을 재개하면서 록키 랜섬웨어의 유포도 다시 활발해지고 있는 상황이다.
이번에 발견한 zepto 변경 사례도 기존처럼 docm 파일을 첨부해 유포하고 있다. 특히 [그림 1]과 같이 메일의 송신자(보낸 사람) 정보를 조작해 수신자(받는 사람) 주소와 동일하게 표시한 것을 확인할 수 있다. 이는 사용자가 의심하지 않고 무심코 첨부 파일을 열어볼 확률이 높다는 점을 노린 것으로, 사용자의 각별한 주의가 필요하다.
첨부된 docm 파일 내부에는 록키 랜섬웨어를 다운로드해 감염시키는 매크로 스크립트가 포함되어 있다. 해당 파일을 실행하면 사용자가 모르게 다음 경로에 실행파일이 다운로드된 다음 실행된다.
이 실행 파일이 바로 록키 랜섬웨어다. 파일이 실행되면서 사용자도 모르는 사이에 암호화를 진행한다. 암호화가 완료되면 감염 사실을 알리기 위해 [그림 2]와 같이 갑자기 바탕화면이 바뀌고, 바탕화면에 생성된 html 파일과 png 파일이 실행되면서 결제를 요구한다.
암호화가 완료되면 [그림 3]에서 보듯 확장자에 locky를 추가하는 것이 아니라, zepto를 추가한 것을 확인할 수 있다. 특히 파일명도 변경되는 것을 확인할 수 있는데, 앞에 ‘-‘를 제외한 16진수 16글자가 감염된 시스템마다 부여되는 ID 값이다. 또 ‘_숫자_HELP_instructions.html’과 같은 형태로 안내 파일을 생성하며, 파일명의 숫자는 폴더 별로 생성되면서 값이 증가한다.
이 록키 랜섬웨어는 특정 외부 서버와 통신하는데, 주로 감염된 시스템의 정보를 전송해 제작자가 추후에 식별할 수 있도록 하거나, 이미 감염된 시스템을 암호화 대상에서 제외하기 위한 목적으로 보인다.
V3 제품에서는 해당 랜섬웨어를 다음과 같은 진단명으로 탐지하고 있다.
<V3 제품군의 진단명>
Trojan/Win32.Locky (2016.07.07.01)
W97M/Downloader (2016.07.07.04)
다양한 스크립트 파일 형태로 유포
확장자를 zepto로 변경하는 록키 랜섬웨어는 문서 형태가 아닌 스크립트 파일 형태로도 유포되고 있다.
스팸 메일의 첨부 파일을 통해 유포되는 스크립트 파일 형태는 자바 스크립트(JavaScript, 이하 JS) 및 윈도우 스크립트 파일(Windows Script File, 이하 WSF)이다.
유포된 JS 및 WSF는 공격자의 유포지로부터 랜섬웨어를 다운로드하여 실행한다. 이전에는 유포지에서 다운로드한 파일이 윈도우 실행파일(PE 파일 구조)인 것을 바로 확인할 수 있었다. 이 실행파일이 바로 랜섬웨어로, 다운로드된 후 바로 실행되어 암호화를 진행했다. 그러나 최근에는 [그림 4]와 같이 윈도우 실행파일이 아닌 인코딩(Encoding)된 파일이 다운로드되어 어떤 파일인지 바로 확인할 수 없다.
하지만 스팸 메일을 통해 유포된 이 난독화 파일을 복호화하면 이전과 다른 점을 발견하게 된다. [그림 5]와 같이 유포지로부터 파일을 다운로드한 다음 추가로 디코딩하여 실행파일을 재생성하여 실행한다는 점이다.
이때 생성된 실행파일이 랜섬웨어로, 문서 형태로 유포되는 록키 랜섬웨어와 동작이 유사하다. ‘%Temp%’ 경로에 생성되어 실행된 후 C&C 서버와 통신한다.
이후 감염된 시스템의 드라이브 정보를 검색하여 파일 암호화를 진행한다.
록키 랜섬웨어 초기에는 실행파일로 유포됐으나, 최근에는 실행파일을 다운로드하는 스크립트로 유포하는 경우가 많다. 스크립트는 작성이나 변경이 용이하여 다수의 파일을 짧은 시간 안에 생성할 수 있기 때문에 수많은 랜섬웨어 다운로더 스크립트들이 발견되고 있다.
백신 제품으로 록키 랜섬웨어를 진단하고 치료할 수는 있다. 하지만 별도의 복구툴이 없기 때문에 암호화된 파일을 복구할 수 있는 방법이 없다. 이러한 경우 백업된 파일을 복원하는 방법이 최선이다. 따라서 백업을 생활화해야 하며, 랜섬웨어 감염을 예방하기 위해 사용 중인 백신을 최신 엔진으로 업데이트하고 의심스러운 메일의 첨부 파일은 실행하지 않는 것이 가장 중요하다.
V3 제품에서는 해당 랜섬웨어를 다음과 같은 진단명으로 탐지하고 있다.
<V3 제품군의 진단명>
JS/Obfus.S82(2016.07.14.00)
BinImage/Lockyenc (2016.07.13.08)
Trojan/Win32.Locky (2016.07.13.03)
- AhnLabASEC대응팀