악성 프로그램 중의 하나인 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

    댓글을 달아 주세요

    1. 물여우 2010.08.31 22:35  댓글주소  수정/삭제  댓글쓰기

      MSE에서 mbr 루트킷도 치료가 가능한가 보네요. 정상 부팅 이후에는 안티 바이러스로 치료가 다소 어렵다고 들었는데 잘못된 정보인가요.

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

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

    무료백신 이용자 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

      댓글을 달아 주세요

      1. Favicon of http://arrestlove.tistory.com BlogIcon 물여우 2010.07.28 13:37  댓글주소  수정/삭제  댓글쓰기

        다소 민감한 부분을 포스팅하셨네요. 사실 일반 유저들의 보안에 대한 마인드는 여러 개의 안티바이러스를 함께 설치하거나 안되겠다 싶으면 포맷하면 되지 수준이기 때문에 제품 자체의 성능과 완성도는 고려 대상이 아니지 않을까 싶습니다. 끽해야 진단율에 조금 민감한 정도???


        그리고 제가 바제2에 가입할 때만 해도 제품 자체의 실시간 감시나 기타 다른 기능들을 분석하고 문제를 논의했던 글이 꽤 많았고, 그로 인해서 특정 제품의 기능 개선도 이끌어 냈었는데, 요즘에는 그런 정보를 찾아보기가 상당히 어렵다는 것도 한 몫하는 것 같습니다. 문스랩님처럼 직접 분석이 가능한 수준의 분들은 다 아시겠지만 그런 고급(?) 정보들이 공유가 안되니 일반 유저들은 업체들의 마케팅에 나오는 문구나 업체의 이름만 보고 설치하는 분들이 대부분이 아닐까 합니다.


        좋은 글 잘보고 갑니다.

        • Favicon of https://moonslab.tistory.com BlogIcon 문스랩닷컴 2010.07.28 13:47 신고  댓글주소  수정/삭제

          댓글 감사합니다.

          외국 사례처럼,

          우리나라에서도 공신력있는 민간기관이 만들어져서,

          어느 정도의 필터링(?)이 되었으면

          소비자들이 훨씬 안전하게 컴퓨터를 쓸 수 있지

          않을까 생각이 듭니다.

          댓글 감사드려요~.

      2. 레몬색하늘 2010.07.28 14:24  댓글주소  수정/삭제  댓글쓰기

        몇몇 업체에서 좀 아파할 지도 모르는 글이네요.
        (카페에서 얘기하기 힘든 부분이죠)

        물여우님 말씀대로 예전에는 고급 정보들이 꽤 많았지만
        요즘은 그런 정보들을 찾기가 좀 어렵지요.

        업체의 실명까지 밝혔다간 문스랩님께 태클이 들어갈지도 모르니
        (그렇게 되면 문스랩님이 상당히 피곤해지시겠죠)
        업체 실명은 안 밝히셨지만 어디인지 대충 짐작은 갑니다. ㅎㅎㅎ

      3. Favicon of https://alllink.tistory.com BlogIcon 링크정보 2010.07.28 15:36 신고  댓글주소  수정/삭제  댓글쓰기

        사용자가 3천만명이 아니라 다운로드 수가 3천만번 아닐까 싶습니다.
        무료 백신이라고 폄하하는 건 아니니만 사용자에게 "공짜니까 그냥 써"라는 생각을 하고 있는 건 아닌지 의심스럽습니다.

      4. Favicon of http://twitter.com/_960723 BlogIcon GoNe- 2010.08.02 20:06  댓글주소  수정/삭제  댓글쓰기

        사용자들도 문제가 되겠지만, 광고수익을 높히려는 공급자측에서도 문제가 많은 것이 현실이지요.
        특정 사이트를 시작페이지로 지정하기만 하면 백신을 까라는 경고가 뜨거나 또는 netXX에서는 업데이트마다 스폰서로 특정 백신을 깔게 해버리죠.
        예전에는 P2P나 했을 몹슬짓을 유명사이트들에서 한다는 것도 가슴아픈 일입니다 ㅠㅠ



      Web Analytics Blogs Directory