최근 컴퓨터 바이러스 때문에 울상을 짓는 사람이 한둘이 아니다. 지금까지 차곡차곡 정리해온 값진 데이터들이 일순간에 송두리째 날아갔기 때문이다. 어디다 하소연조차 할 수 없는 컴퓨터 바이러스. 이제 남의 일이라고 웃어넘길 수만은 없다.
20xx년 4월 13일 금요일, 컴퓨터 프로세서를 생산하는 대한민국 A전자의 반도체개발공장 비밀작업실. 회사 내에서도 일급비밀을 취급할 수 있는 핵심인력만 모인 이 곳은 지금 팽팽한 긴장이 감돌고 있다. 극비리에 개발돼 왔던 세계 최초의 1백GHz 프로세서가 막 그 모습을 드러내고 있기 때문이다. 프로세서 생산공정을 컨트롤하는 메인 컴퓨터는 작업 종료 5분을 남겨두고 카운트다운을 시작했고, 모두 숨죽인 채 컴퓨터와 연결된 로봇의 움직임을 주시하고 있었다.
그런데 이게 웬일인가. 메인 컴퓨터가 갑자기 카운트다운을 멈췄고 작업 중이던 로봇은 완성 직전인 프로세서를 오히려 파괴하기 시작했다. 깜짝 놀란 작업반은 컴퓨터를 멈추려고 애썼지만 컴퓨터는 통제불능 상태에 빠졌다. 극비리에 개발된 프로세서는 일급 간부들이 지켜보는 가운데 서서히 파괴돼 갔다.
넋을 잃고 서 있는 사람들은 메인 컴퓨터 화면에 경보음과 함께 나타난 붉은 글자를 보고서야 비로소 정신을 차렸다. I win! My name is Terminator 2000! HaHaHa. 13일의 금요일이면 나타나 모든 컴퓨터를 통제불능 상황에 빠뜨리고, 바이러스를 침투시킨 해커의 명령만을 실행한다는 최악의 바이러스! 프로세서를 개발하는 데만 집중하느라 해커와 바이러스의 침입을 알아차리지 못한 것이 이 프로젝트의 최대 실수였다.
같은 시각, 강원도 모처에 자리잡은 0000 비밀부대. 세계 최장의 비행거리를 갖춘 첨단 미사일인 X-wing 3000의 발사장에 대통령을 비롯한 주요 인사들이 역사적인 시험발사 장면을 지켜보기 위해 모였다. 프레젠테이션을 담당한 H장군은 국내 최고의 보안을 자랑하는 군용시스템답게 관리에서부터 발사과정까지 철저한 보안이 유지된다며 미사일의 안정성을 거듭 강조했다. 드디어 발사 시뮬레이션이 실행되기 시작했다. 발사 시뮬레이션은 발사 전까지는 실제 상황과 동일하며, 비록 가상발사이지만 예상효과를 컴퓨터 그래픽으로 보여주는 이번 행사의 하이라이트.
발사 전까지 상황은 별탈 없이 진행됐다. 그러나 가상발사를 3분 가량 앞두고 컴퓨터 시스템을 조작하고 있는 K소령은 당황하기 시작했다. 시뮬레이션에서는 실제발사가 아니기 때문에 미사일이 탑재돼서는 안되는데, 어떤 까닭인지 미사일이 탑재돼 버린 것이다. 당황한 그는 보고마저 잊어버린 채 상황중지명령을 내렸지만 컴퓨터는 요지부동, 카운트다운은 계속됐다.
더욱이 가상 목표는 인근 국가의 T시. 만일 미사일이 발사되면 예측할 수 없는 피해가 발생하는 것은 물론 전쟁이 일어날 수밖에 없는 상황이다. K소령을 비롯해 통제실에 있는 군 최고의 컴퓨터 전문가들이 달려들었지만 시스템은 완전히 통제불능에 빠졌고 미사일은 결국 발사되고 말았다. 잠시 후 불바다가 된 T시를 지켜보던 주요 인사들은 훌륭한 그래픽 효과에 박수를 쳤다.
하지만 환호성도 잠시. K소령이 던진 말에 장내는 찬물을 끼얹은 듯 조용해졌다. “장군님, 이것은 실제 상황입니다.” 순간 통제실의 메인 컴퓨터 화면에는 붉은 글자가 하나씩 나타나고 있었다.
I win! My name is Terminator 2000! HaHaHa.
무시하다 맞은 CIH 바이러스 대란
지난 4월 26일 보이지 않는 적이 전세계를 급습했다. 인명 피해는 발생하지 않았지만 수많은 기업, 학교, 가정, 관공서의 컴퓨터들이 멈춰버렸고 이로 인한 재산 피해는 실로 추산할 수 없을 정도다. 만일 이러한 컴퓨터 중에 항공기나 지하철 등 인명을 통제하는 컴퓨터가 있었더라면 상상할 수 없이 끔찍한 일이 벌어졌을 것이다.
이 보이지 않는 적의 이름은 대만의 한 청년이 만들어냈다는 CIH. 일명 ‘체르노빌바이러스’(체르노빌사건과는 무관함)라고도 불린다. 1998년 후반에 처음 발견된 CIH는 동영상 재생 프로그램인 MoviePlay 1.46 버전에 감염된 채 인터넷을 통해 전세계로 유포됐는데, 특별한 증상이 없이 감염속도가 놀랄 정도로 빨라 주목을 끌었던 컴퓨터 바이러스다.
CIH는 다른 바이러스와 달리 파일의 빈 공간을 찾아 감염시키므로 파일크기가 변하지 않는다. 이 때문에 외형상으로 감염 여부를 판단하기는 힘들다. 또 4월 26일(일부 변형 바이러스는 매달 26일)에 활동하는 것을 제외하면 겉으로 드러나는 이상증상이 거의 없어 무심코 지나치기 쉽다. 그러나 4월 26일이 되면 하드디스크를 파괴하고 일부 컴퓨터의 경우 바이오스가 들어있는 플래시 메모리까지 손상시키는 그야말로 악성 바이러스다. 그러기에 과학동아는 99년 2월호에서 이 바이러스에 대한 경보를 내린 바 있다.
문제는 이 바이러스가 활동일이 되기 전까지 그야말로 잠잠하다는 것. 그래서 많은 사람들이 감염됐지만 그다지 신경을 쓰지 않았다. 4월 26일 CIH 바이러스 대란이 일어났던 것도 이런 이유일 것이다.
복수를 위해 탄생
컴퓨터 바이러스는 컴퓨터에 기생하는 병균이 아니다. 컴퓨터가 지금처럼 대중화되지 않은 몇년 전만 해도 일종의 병균처럼 오해되기도 햇다. 나이 많은 어른들은 자녀들이 컴퓨터를 많이 사용하면 마치 감기 바이러스가 걸리듯 컴퓨터 바이러스에 감염될까봐 걱정하던 웃지 못할 사례도 많이 있었다.
정확히 말하면 컴퓨터 바이러스도 일종의 프로그램이다. 다른 컴퓨터 프로그램이나 파일에 달라붙어 프로그램을 지우거나 손상시키는 것이 그 임무. 그런데 스스로를 복제해 재생산하는 형태가 마치 병균과 같다는 뜻에서 바이러스라고 부른다.
바이러스의 기원설은 여러가지가 있다. 일반적인 설명은 컴퓨터 프로그래머들이 재미로 만든 깜찍한 프로그램들로부터 비롯됐다는 것. 화면에 재미있는 글자가 나왔다가 사라져 상대방을 놀라게 하는 프로그램들이 그 예다. 이외에도 해커들이 모험심으로, 불평불만자들의 까닭없는 복수심으로, 고의적인 업무 방해를 목적으로 바이러스가 만들어졌다는 얘기도 있다.
최초의 컴퓨터 바이러스는 파키스탄에서 탄생했다. 1985년 파키스탄 출신의 한 프로그래머는 자신이 만든 프로그램이 불법복제되는 것을 보고 불법복제 사용자들을 응징하기 위해 바이러스를 만들었다. 이것이 세계적으로 유포된 최초의 컴퓨터 바이러스로, 이름은 브레인. 브레인 바이러스는 1988년 국내에 유입돼 여러가지 피해를 일으켰는데,오늘날 컴퓨터의사로 잘 알려진 안철수컴퓨터바이러스연구소(http://www.ahnlab.com)의 안철수 소장이 당시 백신(Vaccine.com)이라는 프로그램을 만들어 퇴치했다.
브레인 바이러스에 이어 1988년에는 요즘도 여전히 악명을 떨치고 있는 예루살렘 바이러스가 출현했다. ‘13일의 금요일 바이러스’로 잘 알려진 이 바이러스는 이름처럼 13일의 금요일이 되면 감염된 컴퓨터를 괴롭혔으며 수많은 변종 바이러스를 낳았다.
이후 컴퓨터 바이러스는 미국에서 대량생산되다가 1990년 초반부터는 동구권, 특히 불가리아를 중심으로 바이러스가 대거 생산, 유포되기 시작했다. 불가리아에서 만들어진 바이러스로는 “하드디스크에서 김이 모락모락 난다”는 루머를 퍼뜨린 어둠의 복수자(다크 어벤저)가 있다. 실제로 하드디스크에서 김이 나지 않지만 그만큼 피해가 크다는 뜻에서 나온 말이다.
5세대 매크로바이러스시대
안철수 소장의 견해에 따르면 컴퓨터 바이러스는 크게 다섯 세대를 거쳐 발전해 왔다. 초기 1세대 원시형 바이러스는 프로그램 구조가 단순해 쉽게 찾아 해결할 수 있었다. 스톤 바이러스나 예루살렘 바이러스가 대표적인 예다. 2세대는 암호화 바이러스로 백신 프로그램이 찾기 어렵게 바이러스의 일부를 암호화시켜 저장했다. 그러나 암호부분이 항상 일정하기 때문에 역시 쉽게 퇴치할 수 있었다.
불가리아에서 만들어지기 시작한 3세대 은폐형 바이러스는 바이러스가 스스로를 은폐하는 것이 특징. 파일의 길이를 속이고 감염된 부분을 감추어 백신 프로그램이 알아챌 수 없도록 만든 것이다. 그러나 메모리를 먼저 검사해 은폐기능을 찾아낼 수 있으므로 치료가 그렇게 어려운 편은 아니었다.
4세대 바이러스부터는 백신 제작과정이 점차 까다로워지기 시작했다. 이른바 갑옷형 바이러스로 알려진 4세대는 감염될 때마다 암호로 만든 부분이 달라져 바이러스를 분석하기가 쉽지 않았다. 특히 이러한 바이러스는 여러 명의 전문가들이 함께 만든 것으로 알려져 충격적이었다. 그러나 백신을 만들기 어려워서 그렇지 한번 만들면 4세대 바이러스도 퇴치가 가능하다.
안철수 소장에 따르면 이제 5세대인 매크로바이러스 시대에 접어들었다. 마이크로소프트의 오피스 프로그램에 들어 있는 매크로 기능(하나의 명령으로 반복작업이나 여러 명령을 동시에 수행하는 기능)을 이용해 만든 바이러스로 1997년에 최초의 매크로바이러스가 만들어진 이래 2천여종 이상이 발견됐다. 주로 워드와 엑셀 매크로바이러스이며 시스템 오동작을 유발하는 원인으로 꼽힌다.
사이버 폭탄
컴퓨터 바이러스는 프로그램이나 데이터를 파괴하는 수준에서 그치지 않고 컴퓨터 범죄에 응용되기도 한다. 특히 인터넷으로 전세계의 컴퓨터가 하나로 연결되기 시작한 후 바이러스 앞에서 자유로운 컴퓨터는 하나도 없다. 앞서 소개한 가상 시나리오는 바이러스가 범죄의 수단으로 활용될 수 있음을 시사한다. 실제로 바이러스의 제작 의도가 상대방을 재미로 괴롭히는 차원에서 경쟁업체를 고사시키기 위한 전략으로까지 발전하면서 바이러스 범죄수법은 점점 더 잔혹해지는 추세다.
과장된 시나리오가 아니더라도 바이러스를 활용한 범죄의 예는 쉽게 찾을 수 있다. 대표적인 범죄수법은 프로그램을 수정하는 것. 상업용 소프트웨어의 내부코드를 조작해 자신에게 유리한 형태로 바꿀 수 있다. 컴퓨터를 이용한 급여지불시스템의 경우 특정 사람이 내부 소스를 고쳐 자신에게 더 많은 돈이 들어오도록 만들 수 있다. 바이러스 프로그램을 이용해 자신에게 불리한 데이터를 변경하거나 경쟁사의 핵심정보를 삭제할 수도 있다. 물론 아무도 누가 했는지 모르게 말이다.
바이러스를 활용해 컴퓨터 사용시간을 조작하거나 접근이 금지된 시스템에 접속해 작업할 수도 있다. 예를 들어 모뎀을 이용해 인터넷에 접속하는 컴퓨터에 특정시간만 되면 자동으로 인터넷에 접속시키는 바이러스를 침투시켰다고 가정하자. 그러면 이 바이러스가 특정시간에 자동으로 인터넷에 접속해주므로 외부에서 다른 사람이 들어와 바이러스가 설치된 컴퓨터를 마음껏 쓸 수 있다. 물론 전화요금은 바이러스가 감염된 컴퓨터 소유자가 낸다.
바이러스 역시 컴퓨터 소프트웨어이므로 하드웨어를 직접 파괴할 수 없지만 간접적으로 손상을 일으킬 수는 있다. 예컨대 디스크 드라이브의 특정 부분을 계속해서 사용하게 한다든지 디스크에 없는 위치를 강제로 읽으라고 명령해 헤드를 손상시키는 방법이다. 그러나 현재까지 플래시 메모리의 내용을 지우는 것 외에 바이러스가 하드웨어를 직접 손상시킨 경우는 없었다.
벌레·트로이목마·해킹은 아류
바이러스 검사 프로그램인 스캔으로 잘 알려진 맥아피 연합에 따르면 현재 존재하는 컴퓨터 바이러스는 대략 4만여종. 이들 중에는 컴퓨터 바이러스로 보이지만 엄격하게 구분해야 하는 일종의 아류 프로그램들이 있다. 이러한 아류 프로그램들은 그 특성과 동작 방식에 따라 몇가지로 나뉘며 사람에 따라 컴퓨터 바이러스로 분류하기도 한다.
첫번째는 단순한 벌레(worms) 프로그램이다. 이러한 부류의 바이러스들은 컴퓨터를 손상시키지 않고 단순히 자기자신을 계속해서 복제하기만 한다. 물론 디스크 공간을 낭비하는 등의 문제를 일으킬 수 있다. 복제기능은 있지만 해를 끼치지 않는다는 점에서 바이러스와 구분된다.
두번째는 트로이 목마 프로그램이다. 전설에서 이름을 따온 트로이 목마는 특정 프로그램 내에 컴퓨터 사용자가 알지 못하는 기능을 집어넣거나 프로그램 기능을 속여 사용자를 혼란에 빠뜨린다. 이 프로그램의 진짜 목적은 컴퓨터 시스템을 손상시키는 것이기 때문에 벌레 프로그램보다 훨씬 위험하다.
예를 들어 흑백 모니터가 주로 보급되고 컬러 모니터가 아주 비싼 값에 거래되던 시절, 흑백 모니터에서 컬러 프로그램을 실행시킬 수 있게 해준다는 SIMVGA라는 프로그램이 통신망에 등록된 바 있다. 대부분의 흑백 사용자는 이 사실에 현혹돼 프로그램을 다운받아 설치했는데, 실제 이 프로그램의 주요 기능은 하드디스크에서 시스템 파일을 지우고 포맷(format) 명령을 찾아 실행시키는 것이었다. 트로이 목마는 스스로 증식하는 기능이 없어 컴퓨터 바이러스와 구별되지만, 대부분의 백신 프로그램에서는 이를 찾아 치료할 수 있는 기능을 갖추고 있다.
최근 관심을 끄는 해킹 프로그램도 바이러스의 아류다. 해킹 프로그램은 특정 컴퓨터에 이를 심어두면 나중에 외부에서 이 컴퓨터를 자기 마음대로 삭제 또는 조작할 수 있다. 이런 프로그램으로 마이크로소프트의 백오피스를 패러디한 백 오리피스가 한때 인터넷을 떠들썩하게 했다. 스스로 시스템을 파괴하는 기능은 없는 대신 외부 사용자에게 시스템의 모든 권한을 내주기 때문에 무엇보다도 위험한 프로그램이다.
바이러스 이렇게 예방하자
바이러스를 예방하는 가장 좋은 방법은 정기적으로 컴퓨터를 점검하고 중요한 데이터를 반드시 백업(원본과 별도로 복사본을 만들어 두는 것)하는 습관을 들이는 것이다. 사실 귀찮기 때문에 백업을 게을리하는 사람들이 많은데, 백업의 가치는 데이터를 잃어버린 후에야 깨닫게 된다. 어쨌든 데이터를 잃어버리지 않기 위해 최소한의 예방법을 살펴보자.
최근 바이러스는 대부분 인터넷을 통해서 감염된다. 따라서 잘 모르는 파일을 다운받아 사용할 때는 반드시 백신 프로그램으로 검사해야 한다. 새로운 프로그램의 경우 무작정 다운받지 말고, 좀 얌체 같지만 먼저 다운받은 사람들이 별 말이 없는지를 살핀 다음 다운받는 것이 좋다.
요즘 말이 많은 매크로바이러스의 경우는 매크로 사용 기능을 중지시키면 된다. 매크로 바이러스를 감지하는 기능을 가진 엑셀이나 워드는 매크로에 이상이 있으면 중지 여부를 묻는 대화창을 내보낸다. 이때 매크로 기능을 사용하지 않으면 특별한 피해는 없다.
가장 중요한 방법은 백신 프로그램을 반드시 사용하고, 꾸준히 새로운 엔진으로 업데이트하는 일. 백신 프로그램 중에는 개인 사용자에 한해 공개로 배포되거나, 일정 기간 사용할 수 있는 시험판이 배포하는 경우가 꽤 많다. 이런 것들은 인터넷 소프트웨어 자료실을 잘 둘러보면 쉽게 찾을 수 있다. 동아일보 웹 사이트가 제공하는 보물섬(http://bomul.donga.com)에서도 좋은 백신 프로그램을 손쉽게 구할 수 있다. 물론 기업에서는 반드시 백신 프로그램을 구매해야 한다.
설령 백신 프로그램을 구입했거나 다운받아 설치했다고 해도 꾸준히 업데이트하지 않으면 무용지물. 백신 프로그램은 그 프로그램이 만들어진 날 이전에 나온 바이러스만 검색하고, 그 이후에 생겨난 바이러스는 찾아내지 못하기 때문이다. 이런 까닭에 백신 프로그램 제조업체들은 바이러스에 대한 정보를 담은 파일(엔진 혹은 업데이트 파일이라고 부른다)을 주기적으로 배포한다. 반드시 이를 다운받아 백신 프로그램을 최신으로 유지하는 것이 중요하다.