호환, 마마보다 무서운 악성코드 1. 악성코드란?

2009/01/08 09:43

바이러스 보다 무서운 악성코드

도스 시절이나 도스 계열(9x, ME)의 운영체제가 주였을 때 바이러스는 정말 호환, 마마 보다 무서운 존재였다. 또 일단 감염되면 원래의 파일을 복구할 수 없는 때가 많기 때문에 치료 보다는 포맷이 더 확실한 방법이었다. 그러나 컴퓨터 환경이 도스 기반에서 NT 기반(NT/2000/XP/Vista)로 바뀌면서 이런 상황은 완전히 뒤바뀌게 된다. 바이러스가 자기 복제 능력을 가졌다고 해도 감염시키지 못하면 아무런 의미가 없다. 또 감염을 시키기 위해서는 도스의 RAM 상주처럼 프로세스가 항상 떠 있어야가 가능하다. 그런데 구조적으로 NT 계열은 이런 RAM 상주 프로그램(드라이버, 서비스)을 만들기 힘들다. 따라서 컴퓨터 환경이 NT 기반으로 바뀌면서는 이런 바이러스 보다는 네트워크 바이러스가 더 기승을 부리게 된다.

목차

호환, 마마보다 무서운 바이러스

예전에 대여 비디오에 항상 나오는 내용이 있다. "호환, 마마 보다 무서운 것은 불법 비디오"라는 내용이다. 아마 나와 비슷한 세대의 사람들은 모두 기억하는 내용이라고 생각한다. 컴퓨터에도 호환, 마마 보다 무서운 것이 있다. 도스 시절에는 분명히 바이러스가 호환, 마마 보다 무서운 존재였다. 그랬기 때문에 V3라는 무료 백신 프로그램만으로 안랩이 국내 최대의 보안 업체로 성장할 수 있었다. 바이러스는 그 형태가 상당히 여러 가지다. 그러나 개념적으로 컴퓨터 바이러스는 자기 복제 능력을 가진 프로그램을 말한다.

또 자기 복제 능력이 있다고 해도 실제 복제(감염)가 일어나지 않으면 의미가 없기 때문에 도스 시절에는 RAM 상주 프로그램으로 동작하면서 계속 감염 시키는 방법을 사용해 왔다. 이런 바이러스 중 가장 악명을 떨친 바이러스는 특정한 날짜에 컴퓨터의 BIOS를 날리는 CIH 바이러스[1]다.

이외에 트로이목마나 백도어류의 프로그램, 웜도 바이러스의 분류에 포함된다. 트로이목마는 이름에서 알 수 있듯이 자기 복제 능력이 없다. 따라서 좋은 프로그램으로 위장해 컴퓨터에 침입, 실행된다. 웜은 일반 바이러스처럼 컴퓨터를 숙주로 하지 않고 네트워크를 통해 자기 복제하는 특성을 지닌다. 또 웜처럼 네트워크를 통해 전파되며 바이러스처럼 다른 컴퓨터를 감염시키는 웜 바이러스도 있다. 이런 웜 바이러스 중 가장 유명한 것은 Windows 운영체제의 RPC 버그를 뚫고 네트웍으로 감염, 수없이 많은 컴퓨터를 포맷하게 만든 msblast가 가장 유명하다. 이 msblast 때문에 XP는 바이러스에 취약하다는 말도 되지 않는 소문이 돌았다.

바이러스 보다 무서운 악성코드

도스 시절이나 도스 계열(9x, ME)의 운영체제가 주였을 때 바이러스는 정말 호환, 마마 보다 무서운 존재였다. 또 일단 감염되면 원래의 파일을 복구할 수 없는 때가 많기 때문에 치료 보다는 포맷이 더 확실한 방법이었다. 그러나 컴퓨터 환경이 도스 기반에서 NT 기반(NT/2000/XP/Vista)로 바뀌면서 이런 상황은 완전히 뒤바뀌게 된다. 바이러스가 자기 복제 능력을 가졌다고 해도 감염시키지 못하면 아무런 의미가 없다. 또 감염을 시키기 위해서는 도스의 RAM 상주처럼 프로세스가 항상 떠 있어야가 가능하다. 그런데 구조적으로 NT 계열은 이런 RAM 상주 프로그램(드라이버, 서비스)을 만들기 힘들다. 따라서 컴퓨터 환경이 NT 기반으로 바뀌면서는 이런 바이러스 보다는 네트워크 바이러스가 더 기승을 부리게 된다[2].

그러나 네트워크 바이러스는 방화벽만 있어도 감염을 막을 수 있다. 난 아직까지 백신 프로그램없이 공유기를 방화벽 삼아 사용하고 있다. 그러나 이렇게 사용해도 NT 기반 운영체제를 사용한 뒤로는 여지껏 바이러스에 감염된 적이 없다. 따라서 요즘 더 큰 문제가 되는 것은 바이러스가 아니라 악성코드다. 일반적으로 악성코드라고 하면 원하지 않는 사이트로 강제로 이동시키는 하이재커류, 강제로 광고를 노출하는 애드웨어류, 사용자의 정보를 외부로 유출하게 하는 스파이웨어류가 있다. 이런 프로그램은 보통 트로이목마처럼 좋은 프로그램으로 위장해서 사용자의 컴퓨터에 설치된다.

이런 악성코드의 시초는 인터넷 브라우저의 홈페이지를 바꾸는 GoHip으로 기억한다. 국내에서 이런 악성코드의 시초는 EasyWinCleaner였던 것으로 기억한다. 레지스트리 정리 프로그램을 표방하고 있지만 이 프로그램을 설치하면 브라우저의 홈페이지를 Ocorea로 바꾸었기 때문이다. 재미있는 것은 이 악성코드 프로그램을 만든 곳에서 악성코드를 치료하는 프로그램인 다잡아(AD-Spider)도 만들었다는 사실[3]이다.

국내에서 만들어진 악성코드 프로그램 중 가장 명성이 높은 것은 과거 삼성몰에서 배포한 애드웨어다. 삼성몰에서 ActiveX를 설치하면 사이트를 이동할 때마다 광고가 뜨는데 많은 사람들이 제거할 줄 몰라 컴퓨터를 포맷하는 사태까지 벌어졌기 때문이다. 참고로 이 악성 애드웨어를 만들어 배포한 업체는 Shotech이며, 이 업체에서 개발, 악성 프로그램 못지않게 사용자에게 폐해를 끼치는 프로그램이 언론사를 방문하면서 설치하는 MyLinker이다.

악성코드에 감염되지 않으려면

악성코드에 감염되지 않는 방법은 간단하다. Internet Explorer를 사용하지 않으면 된다. 웹 브라우저가 시스템을 건드릴 수 있도록 하는 기술이 ActiveX이다. 프로그램을 개발할 때는 여러 가지 고민을 아주 쉽게 해결할 수 있는 기술이라는 긍정적인 측면도 있다. 그러나 웹 브라우저가 시스템을 건드릴 수 있기 때문에 악성코드의 가장 쉬운 전파처가 되는 것도 ActiveX다. 니들이 악성 프로그램 제거 도구라고?라는 글을 읽어 보면 알 수 있지만 여기서 설치되는 프로그램 모두 ActiveX 형태로 배포되며 악성 프로그램 제거 도구라는 타이틀을 달고 있다는 점이다.

ActiveX를 사용할 수 있는 Internet Explorer보다는 Firefox, Opera, Chrome와 같은 브라우저를 주로 사용하면 확실히 악성코드를 줄일 수 있다. 그러나 국내 컴퓨터 환경은 지나치게 Microsoft위주로 되어 있고 Internet Explorer를 사용하지 않으면 컴퓨터로 금융 거래를 거의 할 수 없는 구조다. 따라서 항상은 아니라고 해도 어쩔 수 없이 Internet Explorer를 사용해야만 하는 상황도 발생한다. 이럴 때 유용하게 사용할 수 있는 방법이 세가지가 있다. 더 자세한 내용은 다른 글에서 다루기로 하고 여기서는 간단히만 설명하겠다.

SandboxIE
SandboxIE라는 프로그램이 있다. 일반적으로 Sandbox는 아이들 놀이터에서 아이들이 다치지 않도록 놀이터 주변에 놓아두는 모래통을 말한다. SandboxIE는 유사하게 Internet Explorer로 인한 피해가 컴퓨터 전체에 미치지 않도록 Internet Explorer를 가상화 해주는 프로그램이다. 이 프로그램을 이용하면 ActiveX가 실제 컴퓨터에 설치되지 않고 SandboxIE가 만든 가상 공간에 설치된다. 따라서 악성코드가 설치되도 시스템에 아무런 영향을 미치지 않는다. Vista까지 지원하지만 64비트 운영체제는 지원하지 못하며, 국내 일부 금융권에서는 동작하지 않는 단점이 있다.
Software Virtualization Solution
SandboxIE와 비슷한 가상화 프로그램이다. 차이점은 Internet Explorer만 가상화하는 것이 아니라 원하는 프로그램을 모두 가상화할 수 있다. 하드디스크, 레지스트리까지 가상화하기 때문에 국내 거의 모든 금융권의 ActiveX를 가상화할 수 있다. 또 가상화한 프로그램 내보내고 가져올 수 있기 때문에 프로그램을 배포할 때도 상당히 유용한 프로그램이다. 다만 이 프로그램도 64비트 운영체제는 지원하지 못한다.
가상 PC 프로그램
초보자들은 잘 모르는 부분이지만 컴퓨터에 가상으로 PC를 만들어 주는 프로그램이 있다. 컴퓨터에 장착된 모든 주변기기를 인식할 수 있고 주컴퓨터와는 완전히 분리되서 만들어지기 때문에 가장 완벽한 가상화를 지원한다. 가장 유명한 프로그램으로는 VMWare가 있고 이외에도 무료로 사용할 수 있는 VirtualPC(서버 2008에 내장), 개인 사용자는 무료로 사용할 수 있는 VirtualBox, Mac에서도 사용할 수 있는 Parallels, 반가상화를 지원하는 Xen, 상당히 다양한 운영체제를 지원하는 QEMU, 개발자에게 유용한 Bochs등 상당히 다양하다. 난 64비트 운영체제 사용에 문제가 없고 하드웨어 주변기기 지원이 잘되는 VMWare를 이용해서 금융 거래를 한다.

이 세가지 방법을 사용하는 방법은 이 연작물의 다른 글로 올릴 생각이다. 궁금한 사람들은 미리 사용해 봐도 된다. 또 IT쪽 일을 하고 있다면 아마 한번 쯤은 사용해 봤거나 한번쯤은 들어봤을 프로그램으로 생각한다.

추천 악성코드 제거 프로그램

조금 더 자세한 이야기는 역시 별도의 글로 올리도록 하겠다. 국내에 출시된 프로그램 중 내가 믿는 악성코드 제거 프로그램은 딱 두개뿐이다. 하나는 AD-Free의 차기작인 SpyZero비전파워에서 만든 PCZiggy이다. 두 프로그램에 대한 리뷰는 최고의 스파이웨어 제거 프로그램(SpyZero)사례분석을 통해 배우는 스파이웨어 판정 IV, PCZiggy를 참조하기 바란다.

아울러 이 두개의 프로그램은 모두 무료로 사용할 수 있다. 그 이유는 SpyZero엔진은 V3Lite에 탑재되었고 PCZiggy 엔진은 에 탑재되었기 때문이다. 따라서 V3Lite알약 중 하나를 사용하고 있다면 굳이 다른 악성코드 제거 프로그램을 설치할 필요는 없다. 다만 개인적으로 알약 보다는 V3Lite의 사용을 권하는 편이다[4].

관련 글타래


  1. CIH 바이러스에 대한 더 자세한 소회는 호환, 마마보다 무서운 악성코드 2. 바이러스 이야기를 보기 바란다. 
  2. 나중에 다른 글에서 설명하겠지만 네트워크 바이러스가 극성이기 때문에 소비자 시민 모임인터넷 보안 제품 평가에서 방화벽 기능밖에 없는 코모도가 종합 10위에 올랐다. 
  3. 다잡아와 분쟁이 있었던 다간다에서 올린 공지다. 현재는 다간다 공지에서 삭제됐으며 매니안에 펌글이 올라와 있기 때문에 매니안의 링크를 달아 두었다. 
  4. 자세한 이유는 V3Lite vs 알약에서 설명하도록 하겠다. 

Tags

ActiveX, AD-Spider, Bochs, Chrome, CIH 바이러스, EasyWinCleaner, Firefox, GoHip, Internet Explorer, msblast, MyLinker, NO-AD, Ocorea, Opera, Parallels, PCZiggy, QEMU, SandboxIE, Shotech, Software Virtualization Solution, SpyZero, V3, V3Lite, VirtualBox, VirtualPC, VMWare, Xen, 기획연재, 다간다, 다잡아, 바이러스, 비전파워, 삼성, 스파이웨어, 악성코드, 안랩, 알약, 애드웨어, , 이스트소프트, 트로이목마