악성 프로그램 중의 하나인 Alureon 루트킷이 드디어 64비트 운영체제에서 동작하는 사례가 발표되어 이를 정리해 봤습니다.


윈도우 XP 시절부터 윈도우 비스타/7까지 개인용 운영체제에는 32비트와 64비트가 나눠져 있습니다.

일반적인 프로그램에서는 그리 큰 문제가 되지 않겠지만, 안티 바이러스(백신)와 같이 시스템에 매우 밀접한 관계를 맺고 있는 프로그램은 호환성 측면에서 제대로 64비트에 대응하지 못하여 온 것이 사실입니다.

실제로 국내 무료 안티바이러스를 보자면, V3 Lite 제품이 64비트를 지원하기 시작한 때는 2010년 3월 24일이며, 알약의 경우에는 아직 지원되지 않고 있습니다. 참고로, 편법으로 알약을 설치하는 방법이 인터넷 상에서 널리 알려져 있지만, 이 글을 읽으시는 분들은 절대 그렇게 설치하지 않도록 주의하십시오.

반대로 악성 프로그램(바이러스, Malware)의 입장에서도 기존 32비트 운영체제에서는 숙달된 프로그래밍 실력, 경험을 바탕으로 다양한 악성 프로그램을 배포해 왔습니다. 악성 프로그램에는 스파이웨어, 바이러스, 웜 등 다양한 형태가 있습니다만 특히, 악성 프로그램 중에서 가장 어려운 기법에 속하는 루트킷(rootkit)에서는 64비트 운영체제에서 제대로된 공격을 하지 못했습니다.

이번에 발견된 Alureon 루트킷의 변종은 쉽게 발견된 것이 아니라, 여러가지 단계를 거쳐 마이크로소프트가 분석 및 치료를 해 오는 과정에서 나온 결과여서 더욱더 충격적이지 않을 수 없습니다.

최초에 발견된 Alureon 루트킷은 2010년 2월 초에 있었던 정기 보안 업데이트 시에 블루스크린을 보여주는 사례로 부터 시작되었습니다. 이를 조사하던 중에 나온 악성 프로그램이 바로 Alureon 입니다.

윈도우 업데이트 후 블루스크린 발생. 원인은 루트킷으로 밝혀져
http://moonslab.com/834

이후 마이크로소프트는 Alureon 루트킷의 변종이 출현함에 따라 이를 진단하여 치료하는 작업을 진행했으며 지난 5월까지 매우 성공적인 결과를 얻을 수 있었습니다.


아래 표는 감염된 PC의 운영체제를 기준으로 나눈 것으로 윈도우 XP가 주된 목표였다는 것을 알 수 있습니다.


출처: http://blogs.technet.com/b/mmpc/archive/2010/05/21/msrt-may-threat-reports-and-alureon.aspx


하지만, 최근 조사에 따르면 기존 Alureon이 드라이버를 감염시키는 방식이었지만, MBR(Master Boot Record)에 감염시키는 새로운 형태의 변종이 출현했다는 사실을 밝혀냈습니다. 실제 64비트 운영체제에 영향을 미치지는 않지만, 가상 파일시스템의 일부분인 ldr64라는 파일에 삽입됩니다.

게다가, 변종의 새로운 형태는 윈도우 비스타/7 64비트 시스템을 감염시킬 수 있다는 사실도 알려졌습니다. 참고로, 윈도우 XP, 윈도우 서버 2003 64비트에서는 시스템이 부팅되지 않도록 손상시킵니다.

64비트 윈도우 운영체제에서는 시스템에 관련된 중요한 파일을 보호하고 변조하지 못하게 하는 다양한 기술이 적용되어 있으며 이중 대표적인 부분이 바로 파일 서명과 PatchGuard입니다. 만약 커널에 관련된 파일을 변경하려고 시도할 경우에는 이를 예방하게 됩니다.

하지만, 이러한 기술이 실행되기 전에 부팅 과정 중에 감염시키는 방법이 성공하게 되면 서명되지 않은 드라이버를 정상적으로 삽입하여 실행할 수 있게 되고, 이러는 과정으로 감염이 이뤄지게 됩니다.

PatchGuard를 우회하는 기법은 아래 자료를 참고하십시오.

Bypassing PatchGuard on Windows x64
http://www.uninformed.org/?v=3&a=3&t=pdf


문제는 루트킷을 찾아내는 방법이 그리 수월치 않다는 점입니다. 루트킷이 동작하게 되면 커널 상에서 동작하게 되므로 안티바이러스와 같이 진단 프로그램에서 찾아내기가 매우 어렵습니다. Alureon 루트킷의 경우에는 아래의 방법을 통해 사용자가 직접 루트킷에 감염되어 있는지 확인할 수 있습니다.


즉, 디스크 관리에서 루트킷의 설치된 경우에는 윈도우의 시스템 드라이브와 같은 설치된 파티션이 제대로 보이지 않게 됩니다.


마이크로소프트는 이러한 문제점을 해결하기 위한 방안을 아직까지 제시하지 못하고 있습니다. 다만, 동사가 제공하는 MSE(Microsoft Essentials), 포어프론트 클라이언트 시큐리티, 포어프론트 서버 시큐리티, TMG 등에서 Alureon 루트킷을 진단 및 삭제할 수 있다고 밝히고 있습니다.

그리고, 시만텍에 따르면 Backdoor.Tidserv.L 이라는 악성 프로그램은 32비트와 64비트에서 모두 동작한다고 합니다. 즉, 운영체제를 감지하여 적절한 방식으로 감염을 시키는 것입니다.

이러한 사례를 통해 볼 때, 64비트 운영체제도 이제 악성 프로그램의 손아귀로 들어갈 날이 얼마 남지 않은 것으로 예상됩니다.

감사합니다.



reTweet
Posted by 문스랩닷컴
blog comments powered by Disqus
    최근 인터넷 신문 사이트에 나온 기사를 보고 참으로 어이없기도 하고, 저렇게 멋도 모르고 사용하는 사람들이 많다는 데에 안타까운 마음이 들어 잠시 글을 적어 봅니다.

    주: 안티바이러스 라는 용어가 적합하지만, 백신 이라는 단어를 더 많이 쓰므로 이 단어로 통일해서 언급합니다.

    무료백신 이용자 3천만명 육박 - 디지털 타임즈
    http://www.dt.co.kr/contents.html?article_no=2010072802010960746006

    알약: 1762만명
    V3 라이트: 958만명
    네이버백신: 269만명
    기타: SGA, MSE 등등... ...

    국내 백신(안티바이러스) 시장은 말 그대로 진흙탕 속에 있는 미꾸라지, 진상들입니다. 저변 확대 및 마케팅 차원에서 유료로 받아야 할 제품을 무료로 마구 뿌려대고 있습니다. 또한, 모 업체도 이러한 분위기에 편승하고 있는 실정입니다. 무료로 제공한다는 점에 대해서 뭐라 하는 것보다는 실제로 무료로 쓸만한 가치가 있는지에 대해 한번 언급해 보고자 합니다.

    아래 사항은 약간 전문적인 용어등이 사용될수 있지만, 최대한 약하게 서술하도록 노력했습니다.

    백신 제품이 가져야 할 기본적인 기능을 필자가 간단히 정리해 봤습니다.


    1. 자체 엔진 보유 여부

    엔진은 백신의 핵심으로 사람으로 치자면 심장이나 뇌에 해당하는 부분입니다. 국내 백신 중에서 자체 엔진을 가진 회사는 한 2-3개 될 겁니다. 나머지는 모두 다른 회사의 SDK(번들, OEM 엔진)을 구매해서 사용하는 실정입니다. 만약 엔진에 관련되어 문제가 발생한다면 이 문제를 즉시 해결하기가 매우 어렵게 됩니다. 그러다보니, 어떤 업체에서는 자체 엔진을 결합하는 다중 엔진으로 가기도 합니다. 그런데, 엔진도 제대로 못만드는데 무슨 다중 엔진을 개발한다는 건지, 제대로 개발이나 되는 건지 참 답답합니다.


    2. 백신의 기능 

    백신의 가장 중요한 기능은 감염된 객체(파일, 레지스트리, 프로세스 등)를 진단하여 삭제하거나 예방하거나 치료하는 것입니다. 만약 제대로 진단하지 못한다면 어떻게 될까요? 당연히 감염될 가능성이 높게 되며, 아주 나쁘게 표현한다면 "설치하나 마나'한 상태라고 볼 수 있습니다. 

    국제적으로 백신의 진단률을 평가하는 다양한 기관 및 방법이 있으며, 이에 대해서도 말들이 많습니다.

    필자는 적어도 '인간적으로' ITW(In The Wild)는 잡아야 하지 않나 싶습니다. 참고로 ITW는 전세계에서 실제로 바이러스가 검출된 곳이 2군데 이상 판명된 것으로, 실제 바이러스 맞습니다. 맞고요. 이정도는 잡아야 백신이라 라는 의밉니다. VirusBTN 등에서 평가한 결과를 참고하시면 될 거 같고, 솔직이 여기 테스트에 참여하지 못한 거는 백신 이라는 이름도 적을 가치도 없습니다.


    3. 실시간 감시

    보통 파일을 검사해서(이거를 수동 검사라고 합니다) 감염된 파일을 찾아 내는 방식은 보다 수동적인 행태입니다. 실시간 감시는 백신의 엔진 프로세스를 운영체제 상에서 항상 돌아가도록 함으로써 컴퓨터에서 파일을 다운로드하거나, 복사하거나, 열거나 할 때 미리 감염여부를 검사하는 것입니다. 이러한 실시간 감시 기능이 지원되어야 하며, 어떤 제품의 경우에는 특정 폴더에 있는 파일은 검사하지 못하는 치명적인 문제점을 가지고 있습니다만, 언급하면 명예훼손으로 고소할 가능성이 있어 그냥 맙니다.


    4. 자기 보호

    최근 바이러스들은 백신의 실시간 감시 또는 실행 프로그램 파일을 인식하여 이를 공격하는 행태를 보입니다. 백신은 바이러스가 출현한 이후에 그걸 분석하고 나서야만 진단할 수 있게 되므로 최신 바이러스는 백신을 손쉽게 공격할 수 있습니다. 물론, 공격이 성공하면 백신은 무용지물, 그러면 '있으나 마나'하게 되는 겁니다.

    이렇게 자기 보호기능이 반드시 필요한 데, 실제 어떤 제품에서는 실행 프로세스 자체도 보호하지 못하는 어이없는 상황도 많습니다.



    위의 도표는 필자가 볼 때 백신은 적어도 저정도의 기능은 제공되어야 한다고 생각하여 작성한 것입니다. 물론, 기능이 제공된다고 100% 제대로 동작한다고는 말할 수 없겠지만 말이죠. 특히, 색깔로 표시된 부분은 반드시 제공해야 하는 기능이라고 말할 수 있는 핵심 중의 핵심입니다.

    예를 들어, 의약품과 건강보조식품은 구분되어야 하고, 그렇게 광고가 되고, 그렇게 판매가 됩니다. 물론, 잘못 적으면 법적인 판단이 기다리죠.

    따라서, 기본적인 기능도 제대로 못해주는 백신이라는 제품은 그냥 건강보조식품일 뿐입니다. 착각하지 마시기 바랍니다.


    그 외에도 업데이트, 개인용 방화벽, 안티 스팸, 편의 기능(파일, 레지스트리 최적화) 와 같이 보조적인 내용도 많지만 여기까지만 언급합니다.

    자, 지금까지의 사항을 모두 정리한 후에 맨 처음 언급한 무료 백신 기사를 살펴 보면 어떻게 될까요?

    제목: 국내 무료 백신 사용자 수 그리 많지 않아!


    감사합니다.

    PS: 이 글에 다른 의견을 가지신 분은 팍팍 댓글로 알려 주셔서 편협한 제 사고를 깨쳐 주셨으면 좋겠습니다.

    끝.

     
     
    reTweet
    Posted by 문스랩닷컴
    blog comments powered by Disqus


      Web Analytics Blogs Directory