Malware
새로운 랜섬웨어 위협, bad Rabbit
2017 10 26
  • Facebook
  • Twitter
  • Copy URL

Wannacry를 잇는 새로운 광범위한 ransomware(랜섬웨어) 공격이 유럽 전역에서 산불처럼 퍼져 나가고 있다. 잉? NotPetya 랜섬웨어 얘기냐고? 아니다. 오늘은 NotPetya의 후속 랜섬웨어인 또 다른 새로운 랜섬웨어에 대해 이야기해볼까 한다. 이 랜섬웨어는 며칠 전 갑작스레 나타나 며칠 동안 러시아, 우크라이나, 터키, 독일을 비롯한 200개 주요 조직에 영향을 미쳤다. 이 새로운 랜섬웨어가 유럽 전역에 퍼진 시간은 겨우 몇 시간도 채도 되지 않았다.[1] 기존에 발생했던 랜섬웨어보다 더 고급화되어 나타난 랜섬웨어 일명, Bad Rabbit(나쁜 토끼)다.

이미지를 불러오는데 실패했습니다.

 

 

10월 24일, 카스퍼스키랩은 아침부터 포착된 Bad Rabbit이라는 알려지지 않은 랜섬웨어의 광범위하고 동시다발적인 공격에 대해 경고했다. Bad Rabbit은 주로 러시아를 대상으로 공격하였고, 우크라이나, 터키, 독일 등 다른 나라에서도 공격이 발생하였으며, KSN 통계를 보면 거의 200개의 대상이 공격을 받았다. 랜섬웨어인 Bad Rabbit은 사용자의 시스템을 잠그고 이를 해제하기 위해 0.05 비트 코인인 약 285달러를 요구하고, 개인 사용자보다 기업 네트워크가 주공격 대상으로 보고 있다. Kaspersky(카스퍼스키)의 분석에 따르면, 랜섬웨어는 가짜 Adobe Flash Player 설치 프로그램을 사용하여, 사용자가 몰래 악성코드를 설치하도록 유도하여 Drive-By (드라이브-바이) 공격을 통해 배포되었다. 또한, Bad Rabbit 랜섬웨어는 전체 드라이브를 암호화하는 오픈 소스 소프트웨어인 DiskCryptor를 사용하여 감염된 컴퓨터의 파일을 RSA 2048 키로 암호화하며, etrwrap, NotPetya, exPetr와 같은 유사한 공격패턴으로 이에 대한 변종 랜섬웨어로 보고 있다.[2]

Bad Rabbit은 이전에 있었던 WannaCry나 Petya 랜섬웨어처럼 네트워크를 통해 전파하거나 SMB 취약점인 EternalBlue 익스플로잇을 사용하지 않는다. 대신에 내부 네트워크에서 열려있는 SMB를 검색하고 일반적으로 사용되는 권한 인증 목록을 사용하여 악성코드를 삭제하려고 시도하며, 윈도우 계정의 암호를 알아내는 Mimikatz[3] 도구[4]를 통해 해당 시스템에서 권한을 탈취하여 파일과 전체 디스크를 암호화한다. 그리곤 사용자에게 지불 페이지를 보여주어 돈을 요구한다.[5]

좀 더 자세한 흐름을 알아보자. 먼저 Bad Rabbit은 드라이브-바이 공격을 통해 전파된다.[6] 이렇게 받아진 ‘install_flash_player.exe’는 사용자에게 flash 업데이트 파일처럼 가장되어 사용자가 실행시키길 기다린다.[7] 사용자가 수동으로 파일을 실행하면, 올바르게 설치하기 위해 사용자의 권한을 필요로 하다며 사용자 계정 컨트롤러(UAC) 프롬프트를 실행한다. 이렇게 권한을 얻어 파일을 실행하면 C:\Windows\infpub.dat 파일을 저장하고, rundll32를 사용하여 실행한다.[8] rundll32를 사용하여 악성코드를 실행하면, 매개 변수를 사용하여 예약된 작업을 만든다. 예약된 작업은 파일과 디스크를 암호화하고 시스템을 재부팅시키는 두 가지의 작업을 예약한다.[9] 

악성코드가 네트워크에 연결되면 네트워크 시스템을 열거하는 Nyetya 램섬웨어의 공격 흐름과 거의 일치한다. 먼저 Microsoft windows의 합법적인 기능으로 SVCCTL:원격 서비스 관리, SMB2, SMB, NTLMSSP 인증 무차별 대입을 통해 공격을 시도한다. 또한, 악성코드는 감염된 사용자의 바탕 화면에 DECRYPT라는 파일을 만들고, 사용자에게 몸값을 내놓으라는 TOR 사이트의 지불 페이지를 보여준다.[10]

그럼 처음에 install_flash_player.exe을 실행하여 저장된 ‘infpub.dat’파일은 뭘까. infpub.dat은 악성코드에 하드 코딩되어 있는 로그인 인증 데이터 목록을 통해 Windows 시스템에 대화형 로그인 프로세스인 NTLM 로그인을 무차별로 대입하여 강제로 로그인한다. 또한, infpub.dat은 악성 실행 파일인 dispci.exe를 C: \Windows에 설치하고 이를 실행하는 작업을 만들며, 악성코드에 기록되어 있는 .jpg, 7z과 같은 확장자로 된 파일을 시스템에서 찾아 RSA-2048 키를 사용하여 암호화한다.[11] infpub.dat파일이 떨군 dispci.exe 파일은 합법적인 유틸리티 DiskCryptor의 코드 기반을 두어 파생된 것으로, 수정된 부트 로더를 설치하고, 감염된 시스템이 정상적인 부팅을 할 수 없도록 디스크 암호화 모듈 역할을 한다.[12] 즉, 이 파일은 전체 디스크를 암호화하는 역할을 한다.[13]

이미지를 불러오는데 실패했습니다.

NotPetya 와 마찬가지로 Bad Rabbit은 DiskCryptor를 사용하여 파일을 암호화하고 Bitcoin으로 몸값을 요구한다. Bad Rabbit과 NotPetya는 여러 면에서 비슷해 보이지만[14][15] 몇 가지 차이점이 있다.[16] Bad Rabbit은 EternalBlue SMB 익스플로잇을 활용하여 WannaCry와 유사한 기능을 수행한다는 초기 보고서가 있다. 하지만, Bad Rabbit은 WMIC 및 공개 SMB 공유의 두 가지 이동 방법을 사용한다. 또한, NotPetya에는 와이퍼 구성 요소가 포함되어 있지만, Bad Rabbit에는 와이퍼의 기능이 포함되어 있긴 하지만 사용의 흔적은 보이지 않는다. 마지막으로, WannaCry와 NotPetya는 사용자의 수동적인 행동을 요구하지 않고 손상되었지만, Bad Rabbit은 사용자에게 악성 파일을 적극 실행하도록 요구한다. 이러한 점은 Bad Rabbit이 WannaCry나 NotPetya보다 더 많은 상황에 대한 대처 기능을 포함된 것으로 보인다. 결과적으로 Bad Rabbit은 WannaCry나 NotPetya의 좀 더 업그레이드된 악성코드로 보는 견해가 있다.[17]

약 2개월 전, 우크라이나 정부는 NotPetya에 이어 두 번째 공격이 나타날 것이라며 비슷한 경고를 했다.[18] 그리고 곧이어 Bad Rabbit이 발생하며 Interfax를 비롯한 3 개의 러시아 언론 매체와 키예프메트로 시스템 및 오데사 공항을 공격했다. 그리고 이어서 Bad Rabbit은 약 200개의 조직을 공격했으며, 주로 우크라이나와 러시아를 포함한 유럽 지역에서 공격이 나타났다.[19] 카스퍼스키 랩에 따르면, 아마도 우크라이나의 개인 네트워크에서 많은 공격을 받았을 것이고, 대다수 러시아에서 많이 발생했을 것으로 얘기한다.[20] 또한, ESET는 희생자의 12.2%만이 우크라이나에 있고 65%가 러시아에 있다고 추정했다. 아무튼, 이는 러시아에서 수백 건의 감염을 얘기하며, Bad Rabbit이 요구한 금액, 286달러를 지불하더라도 완벽한 정상적인 파일을 얻을 수 있는지조차도 불확실하므로 얼마나 큰 피해가 나올지 가늠하기 어렵다고 한다.[21]

Bad Rabbit 랜섬웨어를 유포한 동기는 알 수 없다. 뭐 돈을 원하니, 금전적인 거겠지. 카스퍼스키랩의 따르면 이번 Bad Rabbit을 보며 ExPetr, NotPetya를 만든 이들이 7월부터 Bad Rabbit 공격을 조심스럽게 계획하고 있었을 것이라고 얘기한다.[22] 또 다른 흥미로운 점은 Bad Rabbit을 만든 이가 왕좌의 게임의 팬이라는 것이다. 코드 전체에서 사용되는 일부 문자열은 왕좌의 게임에서 나오는 드래곤의 이름이라던가, 캐릭터의 이름을 딴 것이 몇 개 보인다.[23][24]

카스퍼스키는 악성 코드가 네트워크를 통해 확산하는 것을 막기 위해 WMI 서비스를 비활성화할 것을 제안한다. 또한, 대부분의 랜섬웨어는 피싱 이메일, 웹 사이트의 악의적인 광고 혹은 타사의 응용 프로그램을 통해 전파된다. 따라서 알 수 없는 사용자의 이메일을 통해 보내지는 문서를 열거나 혹은 메일 내의 링크를 클릭할 때, 주의가 필요하다. 또한, 알 수 없는 출처의 앱을 다운로드하지 않으며, App Store나 Google Store와 같은 공식 App Market에서 앱을 설치하고, 설치하기 전엔 앱에 대한 리뷰를 먼저 읽고 앱 설치에 신중하길 권했다. 소중한 데이터는 PC에 연결되어 있지 않은 외부 저장 장치에 복사본을 만드는 훌륭한 백업 버릇을 유지하고, 항상 윈도우 업데이트를 최신 패치로 유지해놓는다. 이게 무슨 말인가 모르겠다 싶으신 분들을 위해 최소한 시스템을 보호하기 효과적인 백신 프로그램을 실행하고 항상 최신 상태로 유지하길 권했다.[25]

이처럼 이번에 발생한 Bad Rabbit은 SMB 취약점을 이용한 악성코드가 얼마나 효과적으로 악용될 수 있는 보여주는 또 다른 사례로 볼 수 있다. 처음처럼 정교한 네트워크망을 통해 공격한 것이 아니라 손상된 웹 사이트를 활용하여 기본적인 드라이브 바이 다운로드 방식으로 악성코드를 유포하였다. 이는 기존의 랜섬웨어보다 더 빠르고 광범위하게 확산하여 최대의 피해를 준다. 갈수록 진화하고 있다는 것이다. 더욱이 랜섬웨어는 금전적인 부분을 강요하거나 데이터를 파괴하는 매우 불합리한 협박이다. 하지만 중요한 데이터일수록 우리는 랜섬웨어가 요구하는 것처럼 돈을 지불하여 해결하는 경우가 많다. 랜섬웨어를 돈으로 해결하여 공격자가 원하는 대로 해줘서는 안 된다고 본다. 더욱이, 국내를 겨냥한 랜섬웨어도 증가하고 있다고 한다.[26] 얼마나 우리가 랜섬웨어에 순순히 순응하고 있다는 것일까. 결국, 우리에게 필요한 것은 이러한 위협 요소를 해결할 수 있는 사용자 교육을 더욱 강화해야 하지 않을까 생각해본다. Bad Rabbit이 바다 건너 먼 지역에서만 발생할 수 있는 사건으로 보지 않고 이런 사건을 통해 보안에 더욱 힘쓰는 사회가 되었으면 한다. 가만히 앉아서 ‘랜섬웨어가 판치는 한국’이 될 수 없지 않은가.

유성경 yuopboy@grayhash.com