크립토락커 랜섬웨어의 기본 동작 방식과 예방책에 대한 잡담 IT/잡담

사용자의 파일을 암호화해 놓고 해독하려면 돈을 내라는 식으로 협박하는 랜섬웨어는 예전부터 돌아다녔지만, 이번에 국내 모 웹사이트를 통해 한글화(-_-;)가 완료된 버전이 유포되는 바람에 좀 더 관심이 가서 동작 방식에 대한 자료를 찾아보았다.

일단 자세하고 구체적인 내용은 아래의 링크를 참고하자. (영문 pdf 파일이다;)

McAfee Labs Threat Advisory - Ransom Cryptolocker

웹이나 이메일을 통해 유입된 크립토락커가 PC에서 실행되면, 우선 파일을 AES 알고리즘으로 암호화할 때 사용하기 위한 키(key)를 생성한다. AES 알고리즘은 암호화키와 해독키가 동일하다(symmetric-key encryption).

키가 생성되면 이것을 크립토락커에 내장된 RSA 공개키(public key)를 이용해서 암호화한 후에 C&C서버로 전송한다. RSA 알고리즘은 암호화키(공개키)와 해독키(비밀키)가 다르다(public-key encryption).

AES, RSA 둘 다 제대로 사용할 경우 키를 모르면 해독이 사실상 불가능한 암호화 알고리즘이다. 따라서 일단 감염되면 매우 심각한 상황에 빠지게 된다 -_-;

만약 감염된 사용자가 울며 겨자 먹기로 돈을 지불한다면, 공격자는 C&C서버에 있는 비밀키를 이용해서 AES키를 추출한 후에 사용자 PC로 보내 해독을 해 줄 것이다.

이제 여기서부터 잡담.

사실상 해독 불가능한 암호화 알고리즘을 사용했다는데, 파이어아이(FireEye)나 Fox-IT 같은 보안업체는 어떻게 크립토락커 해독을 위한 웹사이트를 만들어 놓았을까?

아마도 크립토락커의 RSA 비밀키를 입수해서 AES 키를 추출해 가지고 있기 때문일 것이다. 크립토락커를 분석해서 C&C서버를 알아낸 후에, 해킹을 했는지 경찰을 동원해서 압수를 했는지 어떻게 했는지 모르겠지만 어쨌든 C&C서버를 털어서 가져온 것이 아닐까 싶다.

이번에 유포된 크립토락커도 - 공격자에게 돈을 주는 방법을 제외한다면 - C&C서버를 털지 않고서는 해독할 방법이 마땅히 없을 것으로 보인다.

조금 더 잡담을 이어가 보자. 이런 종류의 랜섬웨어를 원천적으로 막을 방법은 딱히 없어 보이긴 하나, 감염 확률을 낮추기 위한 두어가지 예방책을 생각해 볼 수 있겠다. 최신 보안 업데이트 설치라던가 백업 같은 당연한 얘기는 제외한다.

다른 대다수의 악성코드와 마찬가지로, 랜섬웨어의 감염 징후를 인지할 수 있는 지점은 최소한 두군데가 있다. 하나는 C&C서버와의 통신, 나머지 하나는 랜섬웨어가 PC에 계속 남아 있기 위한 작업이다. 둘 중 하나에서만 걸려도 감염을 차단할 여지가 있다는 얘기다.

먼저 C&C서버와의 통신을 생각해 보자. 크립토락커가 유입되어 실행되면 공격자의 서버로 접속을 시도한다. 이 경우 통신은 PC에서 외부로 나가는 방향(아웃바운드)이다. 문제는 윈도우 방화벽의 기본 설정이 아웃바운드 트래픽은 모두 허용한다는 점이다. 사실 기본값이 이렇게 정해진 것도 무리는 아니다. 나가는 방향의 트래픽을 차단할 경우 PC에서 네트워크에 접속하는 어플리케이션마다 허용 규칙을 일일이 다 추가해 주어야 하기 때문에 엄청나게 불편해질 수 있기 때문이다. 그러나 정말 중요한 자료를 다루는 PC라면 불편함을 감수하고서라도 방화벽 정책을 바꾸는 것이 좋겠다.

두번째로 크립토락커가 PC에 계속 남아 있기 위한 작업을 생각해 보자. 크립토락커에 감염되면 파일들이 암호화되고 특정 기간내에 돈을 보내라는 협박 문구가 나온다. 이 특정 기간 동안에 사용자가 PC를 끄지 말라는 법이 없으므로, PC가 재부팅되더라도 크립토락커가 자동실행되어 사용자를 계속 협박할 수 있어야 한다. 이것은 무슨 뜻인가? 크립토락커가 유입되면 십중팔구 윈도우 레지스트리를 변경할 것이라는 뜻이다. 레지스트리 변경은 관리자 권한을 필요로 한다. 표준 사용자 권한을 가진 사용자에 의해 크립토락커가 유입되었다면 권한 상승 과정에서 윈도우의 UAC에 의해 차단되고 관리자 권한을 요구한다는 경고창이 나올 것이다.

추측하건대, 크립토락커 피해자들은 대다수가 윈도우 방화벽을 기본 설정 그대로 사용하고 있으면서 관리자 계정으로 인터넷을 사용하고 있었을 것이다(아니면, 무모하게도 윈도우XP를 아직도 사용하고 있거나 -_-;). 이런 사용 습관은 크립토락커뿐만 아니라 상당수의 악성코드에 대해 침입경로를 열어 주는 계기가 될 수 있다. 악성코드는 변종이 워낙 많기 때문에 백신만 가지고는 한계가 있을 수밖에 없고, PC 사용 습관 자체를 바꾸려는 노력이 반드시 필요하다.



핑백

  • 반달가면 : 윈도우10 무료 업그레이드는 이메일로 통보되지 않는다. 2015-08-04 21:15:52 #

    ... 리즘은 키가 없으면 현재 기술로는 해제가 불가능한 종류이므로 처음부터 걸리지 않는 것이 상책이다. 랜섬웨어 예방책에 대한 좀 더 자세한 내용은 이전 게시물을 참고하자. 여기로. 윈도우10 무료 업그레이드는 이메일로 통보되지 않으니, 엉뚱한 이메일에 속아서 파일을 전부 날리는 불상사가 생기지 않도록 주의하자. ... more

  • 반달가면 : 랜섬웨어 감염에 대비하기 위한 백업 2016-05-30 23:06:51 #

    ... 기본적인 내용이지만 백업에 대해 간단하게나마 정리해 두기로. 우선 랜섬웨어의 동작 방식, 그리고 감영 확률을 낮추기 위한 대책에 대한 내용은 이전 게시물을 참고하자. 여기로. 이전 게시물에서 방화벽과 UAC에 대해서만 언급했는데, 이번에는 백업을 통한 대비책에 대해 적어 보고자 한다. 랜섬웨어의 공격 대상은 PC의 디스크에 저장된 ... more

  • 반달가면 : 윈도우10에서 네트워크 프린터(렉스마크 E260dn) 추가 2016-06-21 21:43:10 #

    ... 맞지 않으면 "차단"하도록 해 두었기 때문에 약간의 부가적인 작업이 필요했다. 랜섬웨어에 대비해서 왜 아웃바운 연결 설정을 변경해야 하는지는 이전 게시물을 참고하자. 여기로. 시작 버튼을 마우스 오른쪽 클릭한 후 "제어판"을 실행, 여기서 "Windows 방화벽" 항목으로 들어간 후 "고급 설정"에서 작업을 진행. 방화벽 설정을 바 ... more

  • 반달가면 : WannaCry 랜섬웨어의 배후는 북한인가;; 2017-05-16 20:39:13 #

    ... 중앙은행도 털었다는데 랜섬웨어를 열심히 퍼뜨리고 있는 정도는 그냥 애교라고 해 줘야 되나-_-;; 랜섬웨어에 대한 일반적인 예방책은 이전 게시물을 참고하자. 여기(동작 방식과 차단), 그리고 여기로(백업). ... more

덧글

  • 긁적 2015/04/25 20:03 # 답글

    호오오오오. 아웃바운드 규칙은 좀 귀찮긴 하지만 확실하군요. 잘 보았습니다.

    두 번째 유형의 경우 바이러스가 정기적으로 서버와 통신하면서 통신이 끊기면 자동으로 키가 날라가게 처리하면 해커 입장에서는 대응이 가능할 듯하네요.
  • 긁적 2015/04/25 20:04 #

    흠. 좀 귀찮긴 하지만 지정된 특정 파일의 경우 write 하기 전에 반드시 허가를 받아야 하는 방식으로 OS에서 지원하면 이것도 대응은 될 듯하네요.지금의 '읽기전용'으로 설정하는 건 좀 많이 귀찮아서...
  • 반달가면 2015/04/27 21:09 #

    공격자의 최종 목적은 대상자를 골탕먹이는 것이 아니라 돈을 뺏는 것이므로 서버와 통신 끊겼다고 바로 키를 삭제하는 식으로 구현하진 않을 듯합니다.

    어쨌든 제가 보기엔 위의 본문에 제시한 조치 + 주기적인 오프라인 백업이 가장 근본적인 해결책입니다.
  • RuBisCO 2015/04/26 09:40 # 답글

    덤으로 저런 악성코드 유포를 위해서 저렴하게(?) 사용되는 Exploit 킷들이 사용하는 Exploit은 대부분 제로데이가 드물고(비싸니까!) 이미 공개되어 패치가 배포된 것들이 대부분이므로 자동으로 업데이트가 떴을때 받아서 설치만 해줘도 개인사용자는 털릴 일이 극히 드물어집니다. 하지만 이땅의 전자상거래 환경이라는게 최신 업데이트를 받아서 깔면 작동이 안될 정도로 쓰레기니 ㅡ0ㅡ
  • virustotal 2015/04/26 16:56 #

    http://www.inicis.com/blog/archives/42134

    ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
  • RuBisCO 2015/04/27 21:57 #

    물론 지당하신 말씀입니다. 다만 역시 한국에선 아예 UAC를 끄라고 지시하는 웃기는 보안(!) 프로그램인지 악성코드인지 모를 물건들이 천지에 널려있죠 ㅡ0ㅡ
  • 반달가면 2015/04/28 22:22 #

    답글을 더 달려다가 잘못 눌러서 이전에 달았던 답글이 날아갔네요; 이런 어이 없는 실수를 -_-;;;;

    다시 정리하자면, 취약점 공개 이후 패치 발표 시간까지 시간이 꽤 걸리는 경우가 많기 때문에 그 기간 동안 '공개된 제로데이 취약점'이 존재하므로 관리자 권한으로 인터넷을 사용하는 것을 매우 위험한 일입니다. (이전 답글이 대략 이 얘기였죠;)

    개인적으로 인터넷 쇼핑이나 인터넷 뱅킹하면서 UAC를 꺼야 하는 경우를 접한 적은 없습니다만, 만약 그런 경우가 있다면 아주 심각한 문제네요. UAC를 끌 것이 아니라 그냥 해당 웹사이트에 가지 않는 편이 더 좋겠습니다.
  • 나인테일 2015/04/26 18:48 # 답글

    원래 볼륨 암호화가 FileVault 같이 보안 기술로 쓰였던 것으로 압니다만 이걸 협박용으로 (.....)
    참 창의적인 방식으로 돈 버는 분들 많다는 생각 밖에 안 들더군요.
  • 반달가면 2015/04/27 21:10 #

    사실 대부분의 기술이 양날의 검이죠. 사용하는 사람의 의도에 따라 얼마든지 심각한 문제를 야기할 수 있으니까요.
댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.

Google Analytics


B-Side


adsense(w160_h600)2

통계 위젯 (화이트)

592889
4772
1903280

ad_widget_2