쉽게 만드는 바이러스 현황과 문제점


잉카인터넷 시큐리티대응센터 김승언


지난 여름 세간을 떠들썩하게 만들었던 7.7 DDoS 대란은 바이러스로 인한 피해의 심각성을 알리는 계기가 됐다. 그런데 DDoS를 야기하는 악성코드인'넷봇 어태커'는 인터넷 검색만으로 쉽게 구할 수 있다는 점에서 시사하는 바가 크다. 최근 들어 바이러스는 누구나 쉽게 만들 수 있어 그 폐해가 심각하다. 이 같은 현상의 문제점을 짚어본다. <편집자>

아무나 만드는 바이러스
2009년 7월 7일부터 시작한 이른바 7.7 DDoS 대란은 IT 강국이라고 자부하던 대한민국을 3일간 떠들썩하게 만들었던 사건이다. 필자도 이 기간 동안 회사에서 전용 백신 개발과 같은 긴급 대응을 하느라고 의자에서 새우잠을 자며 제대로 씻지도 못하고 며칠 밤낮을 고생했던 기억이 난다. 이 때는 전국민적으로 보안이 이슈가 되어서 필자 회사로 공중파에서 취재가 나와서 본의 아니게 TV 출연까지 하기도 했다.
이토록 전국을 시끄럽게 하던 DDoS를 야기시키는 악성코드인 봇넷에 하나인 넷봇 어태커(NetBot Attacker)를 쉽게 구할수 있다는 것이 최근 국정감사에서 문방위 소속 한 의원이 인터넷 검색만을 통하여 얻을 수 있다는 이야기는 시사하는 바가 크다 할 것이다.
실제로 주요 검색 엔진에서는 쉽게 해킹 관련 정보나 해킹 툴 예제를 소스코드까지 다운 받는 것이 매우 용이하며 암거래 시장에서는 해킹 툴이나 감염된 좀비PC도 그렇게 크지 않은 금액으로 거래되고 있다.

필자가 수년째 잉카인터넷에서 악성코드를 분석하면서 최근에 느끼는 가장 큰 변화는 예전보다 악성코드를 너무도 쉽게 만들 수 있다는 것이다. 불과 몇 년 전만 하더라도 악성코드를 분석하는 느낌은 아주 숙련된 개발자에 의한 것이라는 것이 느껴질 만큼 그 기술적 완성도가 높았던 것들이 많았다면, 현재는 다소 조악하다고 보여지는 악성코드들이 증가하고 있다.
7.7 DDoS에서는 스팸릴레이를 통한 봇넷을 유포하려고 했던 것이 메일에 첨부 파일의 일부분만이 첨부됨으로써 실제로 봇넷 유포가 이루어지지 않았던 적이 있었으며, 최근에 시스템 감염 후 재 부팅이 되지 않는 악성코드도 한 예라고 할 것이다.

필자가 분석한 이 악성 코드는 일명"제노 바이러스"라고도 불리는 것의 변종으로 필자가 근무하는 잉카인터넷에서는 "W32 Daonol"로 진단 및 치료를 제공하고 있다. 이 악성코드는 최근에 가장 많이 사용되는 웹 사이트 변조를 통하여 알려진 취약점(Adobe Acrobat이나 Adobe Flash 등의 취약점을 주로 이용)에 따라서 사용자의 PC를 감염시키는 방법을 이용하고 있다.
따라서 사용자는 최신 보안 패치가 되지 않은 상태에서 인터넷을 이용한 웹 서핑을 하는 경우에는 자신도 모르는 사이에 감염이 이루어지게 되고 악성코드가 동작하게 된다.이렇게 동작하는 악성코드는 부팅 시부터 smss.exe의 동작을 통해 실행되며 정상적으로 동작되는 경우 API Hooking을 통해 이후 생성되는 모든 프로세스에 대해 Section을 생성하여 추가적인 악성동작이 가능하도록 설계 되어 있다.
여기까지는 사실 최근에 유행하고 있는 악성코드의 흔한 유형이라고 생각하며, 필자 회사에서도 그다지 어렵지 않을 것이라고 예상하면서 대응을 시작하였다. 문제는 쉽게 생각하고 최초대응을 시작하던 중에 갑자기 우리 제품을 사용하고 있는 고객들로부터 문의가 들어오기 시작하였으며, 이때 예상치 않았던 가장 큰 문제는 재 부팅이 정상적으로 이루어지지 않는다는 것이다.

요즘은 해킹이나 바이러스도 예전과 달리 금전적인 목적을 띄는 경우가 대부분이다. 물론 몇몇 자신의 기술력을 자랑하고 싶은 사람들이 만드는 경우도 존재하지만 단순히 악성코드를 위한 악성코드를 만드는 경우는 드물며, 키 입력 정보를 훔친 다든지,특정 프로그램의 설치를 강제로 수행 한다든지 여러 가지 기법들을 활용하여 제 2의 목적을 가진 경우가 많으며 이 프로그램도 그런 가능성 을 가지고 있었던 것이 사실이다.
그런데, 재 부팅이 이루어지지 않는다면 악성코드는 악성코드로서는 해야 하는 범죄 행위를 할 수 없게 되는 것이 당연하며, 요즘은 이런 식의 구식(?) 파괴형 바이러스들이 잘 발견되지 않았던 경험에 미루어 다소 의아한 생각이 들 수 밖에 없었다.
결론적으로 얘기하면 이번 악성코드는 Microsoft Windows2000과 2003에서는 정상 동작하지만, 그 외 버전의 Windows에서는 악성코드가 정상 동작을 하지 않고 따라서 마치 시스템을 파괴한 것과 같은 상태를 만들어 버리는 유형이었다.
즉, 이번 해커는 최소한의 OS 테스트도 거치지 않은 악성코드를 유포한 것이고, 정확한 목적지 확인이나 해커의 추적은 거의 불가능하겠지만 필자가 느끼기에는 초보 해커가 연습 삼아서 해 본 악성코드 유포가 아닐까 조심스럽게 추측해 본다.

사실 이렇게 어설픈 악성코드의 예기치 않은 공격은 필자와 같은 분석자들을 혼란스럽게 하는 것이 사실이다. 악성코드 분석을 위해서는 어셈블리어로 된 코드를 분석하거나 각종 프로그램을 이용하여 행동을 파악하는 등 다양한 기법을 이용하지만 이 중에서 결코 간과할 수 없는 것 중에 하나가 '직감'이다.
디지털 시대의'직감'을 이용한 분석 방법이 잘못된 것처럼 보이겠지만, 자동화되고 다양한 분석 도구나 방법이 나오더라도 "이런 유형은 이렇게 동작할 것이다"라는 예측을 하고 이러한 기반에 따라서 보다 빠른 방법으로 분석을 시도하는 것은 요즘과 같이 다양한 악성코드가 다양한 기법을 이용하여 동작하는 경우에는 꽤나 유용한 방법일 수밖에 없으며, 실제로 보안 분야의 분석자라고 할 수 있는 사람을 양성하는 데 필요한 시간과 노력이 많이 들 수 밖에 없는 원인이기도 하다.

그런데, 당연히 정상 동작할 것으로 여기던 악성코드가 정상 동작을 하지 않으면"이 바이러스는 시스템 파괴형인가?" 또는 "지금까지 내가 생각했던 제노의 변형이 아니라 신종 악성코드인가?"라든지," 내가 구성한 분석 환경이 잘못된 것은 아닌가?" 등 여러 가지 의문을 가질 수 밖에 없으며, 이렇게 되면 처음부터 천천히 전부를 확인하는 방법을 채택할 수 밖에 없고 많은 시간과 노력이 필요한 것은 당연한 결과일 것이다.
이런 현실이 분석을 힘들게 하는 것보다도 더욱 걱정되는 것은 나름대로 고급 기술의 영역에 있었던 악성코드 개발 등의 해킹 기술의 문턱이 예전보다 많이 낮아졌다는 것이 느껴진다는 것이다. 투박한 악성코드의 어설픈 동작과 특정한 목적이 확인되지 않는 것은 누군가 인터넷을 통해서 검색한 자료를 기반으로 해서 대충 재미 삼아 만들어 본 것이 아닐까라는 생각이 든다.

이제는 초등학생도 해킹
온라인 게임에서 자신의 캐릭터를 키우기 위하여 인터넷을 통하여 게임 해킹 툴을 구하려고 게시물을 올리는 것은 쉽게 볼 수 있는 광경이다. DDoS 공격을 하는 기법은 필자가 아는 것보다 더 많은 다양한 기법들이 인터넷을 통하여 구할 수 있으며, 악성코드를 개발할 수 있는 소스는 인터넷이라는 공간 안에서 수 없이 구할 수 있다. 해킹이 더 이상 전문가들의 전유물이 아니며, 이로 말미암아 우리의 보안 취약점도 점점 더 많아질 수 밖에 없는 환경에 도달하고 있다.

인터넷이라는 열린 공간의 다양한 위험 요소 중에 하나인 이 상황을 타개할 방법은 사실 없다. 필자가 농담으로 얘기하는"바이러스 안 걸리는 가장 좋은 방법은 랜 선을 뽑는 것이다"라는 말이 가장 높은 보안을 담보할 수 있는 방법일지도 모른다는 것이 걱정되는 것도 사실이다.
대책이 있냐고 물어본다면 사실 뚜렷하게 없다. 다만, 보안 의식을 좀 더 높이고 안티-바이러스 제품의 업데이트나 윈도우 보안 업데이트, 각종 응용프로그램의 최신 버전 사용 등이 이러한 사태를 최소화하는 방법일 것이다.

필자나 필자의 회사는 이런 환경에서 좀 더 안전한 인터넷 환경을 제공할 수 있는 방법을 계속 모색하고 있으며, 이러한 악성코드와의 전쟁에서 보다 우위를 점할 수 있도록 지속적으로 노력하고 이에 따른 결과물을 고객에게 제공할 수 있도록 끊임없이 연구를 거듭할 것이다.
저작권자 © 아이티데일리 무단전재 및 재배포 금지