V3 365 : Malware/Win32. Trojan Horse 의 정체는?
| 분류: 컴퓨터 사용 경험 | 최초 작성: 2009-12-29 01:12:40 |
참고 (2010년 10월 14일 추가)
이 포스팅은 V3 365의 진단명에 관한 포스팅입니다. 그 외 다른 악성코드 퇴치 프로그램에는 적용되지 않을 수도 있습니다. 이 점 유의하시기 바랍니다.
최근에 모 게임의 Trainer 를 해외 사이트에서 다운로드받은 것이 있다. 사실상 그 게임의 유일한 Cheat 방법이라고 봐도 되는데, 이 녀석 덕분에 이번에 한번 제대로 낚여버렸다. 이하의 내용은 필자가 이 Trainer (pdtrain.exe) 와 V3 365에 제대로 낚인 로그이다.
1. 발단며칠 전 구글신의 도움을 받아 pdtrain.exe 라는 이름의 트레이너를 어딘가의 사이트에서 다운로드 받았다. 그런데 이 녀석, 압축을 풀려고 보니 V3 365에서 뻘건 알림창을 띄운다.
이게 바로 그 말로만 듣던 트레이너를 가장한 악성코드인가부다 했다. 그런데, 뭔가 이상하다. Trojan Horse 라는 집합명칭을 악성코드 이름으로 쓰고 있는 것부터 이상했다. (평소에 알고 있는 안철수연구소의 네이밍 규칙과 다르다.) 조금이라도 이쪽을 알고 있는 사람에게는 너무나 어이상실한 네이밍 센스 아닌가.
2. 삽질일단 이럴 때 필자가 잘 쓰는 방법이 있다. (가장 많은 악성 코드 DB 를 보유하고 있다는) Kasperskylab 의 Online File Scanner 에 이 파일을 업로드 해보는 방법이다. 예상과는 달리 You're Clean! 메시지를 보여준다. 악성코드 DB에 없다는 건데..
결국 다시 구글신에게 도움을 요청했다. pdtrain.exe 가 악성코드(특히 백도어)라는 이야기가 여기저기서 보였다. 그러나 문제는, 그런 게시물에서 제시하고 있는 파일의 정보(파일 용량이라던가 MD5 해시라던가)가 내가 갖고 있는 파일과는 달랐다. 고로 그 정보도 확신할 만한 정보는 못 된다.
그렇다면 정면으로 부딪치기. 가상머신을 켜고, 해당 프로그램을 던져넣은 후에 실행했다. 일단 흔히 백도어에서 보여지는 포트 오픈이라던가 정보 전송 시도 등은 없다. 몇 가지 툴을 이용하여 실행 전후의 파일 및 레지스트리 변화를 확인해봐도 의미있는 변화는 없다. (변화가 전혀 없다면 그것도 이상한 것이다. 윈도우에서 어떤 파일이든 파일이 처음 실행되면 해당 파일에 대한 정보가 레지스트리의 특정 영역에 기록되고, 윈도우 Prefetch 폴더에 관련 정보가 pf 파일로 저장되기 때문이다.)
이쯤 되면 오진이 의심되는 상황이다. 혹시나 싶어서, 네이버에 있는 해당 게임 플레이어들의 커뮤니티에 가 보니, 이 트레이너에 대한 이야기가 여기저기 보인다. 악성코드다 아니다 말이 많은 상황. 메모리의 특정 영역을 계속 건드리는 pdtrain 프로그램의 방식 때문에 몇몇 악성코드 퇴치 프로그램이 이를 악성코드로 인식한다는 이야기. 납득이 가는 이야기다. 근데 여기서 문제를 일으키는 프로그램은 V3 가 아니라 알약이었다. 혹시 V3 를 사용하면서 관련 문제를 겪은 사람이 있는가 검색을 해봤지만 그런 사람은 없는 듯 했다.
그 순간 깨달은 사실. 가상머신에도 V3 가 깔려 있다는 사실이다. 이 가상머신에도 구색맞추기 식으로 V3 Lite 가 깔려 있었다. 호스트 OS에는 필자가 사용하는 V3 365가 깔려 있었고. 그런데
V3 365에서는 악성코드로 잡아내는 프로그램을, V3 Lite 는 잡아내지 못하고 통과시키는 엽기적인 상황이 벌어졌다. (확인을 위하여 둘 모두 엔진 업데이트를 다시 해서 똑같은 최신 엔진으로 맞춰둔 상황이었다.)
▲ V3 Lite 에서 진단한 결과 : 못 잡는다.▲ V3 365 에서 진단한 결과 : 잡아낸다.혹시 두 프로그램의 검사 설정이 다르게 되어 있나 해서, 실시간 검사 설정의 각종 검사 항목을 모두 점검해 봤지만 (애초에 나도 설치하면서 이 부분은 건드리지 않았기 때문에) 양쪽 모두 디폴트 설정으로 똑 같았다. 이 납득이 되지 않는 상황에, 설마하니 안철수연구소가 유료백신과 무료백신의 엔진을 다르게 공급하나 하는 (현실성 없는) 의심을 잠시동안 하기도 했는데... 순간 내 눈에 들어오는 설정 항목...
Smart Defense.
혹시나 싶어서, Smart Defense 기능을 끄고 나서 다시 검사를 해 보니, V3 365의 검사도 무사 통과.
이 글이 처음 쓰여진 당시에는 V3 Lite에는 Smart Defense 기능이 제공되지 않았었다. 2011년 현재는 V3 Lite 에도 Smart Defense 기능이 제공되고 있다. 따라서 V3 Lite에서도 Smart Defense 기능이 켜져 있는 경우 같은 현상이 벌어질 것이다.
3. 결론생난리를 쳤지만, 결론은 이상 없음이라는 너무나도 평범하고 자연스러운 결론으로 끝나버린 삽질이었다. 이것이 스마트 디펜스의 검사 결과라고 생각하면 이 악성코드의 어이없는 네이밍도 이해가 된다. (내가 정확하게 이해하고 있는지 모르겠지만) 스마트 디펜스는 다른 악성코드 퇴치 프로그램의 "인공지능 검사"와 같이 "악성코드일 가능성(Possibility)"을 검사의 요소 중 하나로 채용하고 있는 것으로 알고 있다. 스마트 디펜스 서버가 이 프로그램을 악성코드(중 트로이 목마 프로그램)일 가능성이 있는 프로그램으로 인식하였고, 그 가능성 확률이 내가 V3 365에 준 설정(악성코드일 가능성이 일정 이상일 경우에 차단)기준에 부합하였기 때문에 이 프로그램을 악성코드(트로이 목마)로 진단하여 삭제하였을 따름인 것이다.
정상적으로 진단명이 부여된 악성코드도 아니다 보니, 그냥 "이거 트로이 목마예요" 라고 (Malware/Win32.Trojan Horse) 두리뭉실하게 이야기할 수밖에 없었을 것이고.
물론, pdtrain.exe 가 하는 행동을 생각하면, V3 의 스마트 디펜스 엔진이 이렇게 진단하는 것이 이해는 된다. 하지만,
현재의 진단 출력 방식에는 좀 불만이 있다. 스마트 디펜스 엔진이 일종의 인공지능 검사의 기법을 어느 정도 채용하고 있는 이상 그 결과는 사용자에 의하여 해석될 수 있는 여지가 있다. (이 경우에도, 결과적으로 V3 365의 스마트 디펜스 엔진이, 사용자의 입장에서는 일종의 오진을 한 셈이다.) 따라서,
해당 악성코드에 대한 진단 결과가 정식으로 진단명이 부여된 오프라인 진단/치료 엔진의 진단 결과인지, 스마트 디펜스 엔진의 가능성 검사 결과인지를 명확히 사용자에게 보여줌으로써 사용자가 판단할 수 있도록 자료를 제공해 주는 것이 좋지 않을까.
이하는 2010년 1월 8일 안철수연구소로부터 받은 답신입니다.
안녕하십니까? 안철수연구소 기술상담센터 OOO입니다.
먼저, 고객님께서 문의주셨던 Smart Defense 기능 건의에 대한 답변이 늦어져 죄송합니다.
기재해주신 블로그의 내용을 Smart Defense 관련 부서로 전달하여 확인 시 현재 상반기 중에 Smart Defense기능이 보다 강력하게 업그레이드 될 예정에 있는 것으로 확인되었으며 이때 건의해주신 진단명에 대한 사항이 검토될 수 있도록 요청하였습니다.
추가적으로 블로그에 기재해주신 진단된 파일에 대해서 ASD자동분석시스템에 의하여 악성코드로 진단된 것을 확인하였습니다.
그러나, 분석가에 의한 확인 결과에서는 구체적으로 시스템을 파괴하거나 개인정보를 침탈하는 등 구체적인 악성행위가 확인되지는 않아서 V3 진단정책에 의거하여 V3에서는 진단하지 않습니다. (시만텍 등 상당수의 회사에서는 Trojan으로 진단합니다.)
기재해주신 케이스에 대해서는 Smart Defense에서 진단 예외 처리가 이루어지도록 조치하겠습니다.
감사합니다.