d라이브러리









휴대폰에 침투하는 컴퓨터 바이러스

천의 얼굴 님다 온갖 기술 합친 짬뽕형

컴퓨터 바이러스는 나올 때마다 변화무쌍하다. 처음엔 애교 넘치는 모습도 있었지만 요즘은 인터넷이나 네트워크를 타고 험악하게 침투한다. 최근 문제가 된 님다(Nimda)나‘Hi! How are you?’, 또는 코드레드는 기존의 바이러스와 다르다. 또 가수 제니퍼 로페즈의 이름을 딴 인터넷웜이 등장했고, PDA나 휴대폰에 침투하는 새로운 바이러스가 예상된다고 하는데…. 신세대 바이러스를 만나보자.

지난 9월 18일 국외에서 처음 발견된 님다(Nimda) 바이러스는 당일 국내에 확산될 만큼 놀라운 전염성을 보였다. 이것은 감염 경로가 매우 다양하다는 님다의 독특한 특징 때문이었다. 일반적으로 님다라는 이름은 시스템 관리자의 영문철자(Admin)를 거꾸로 해 만들어진 것으로 본다. 하지만 초기에는 미국 정부(Administration)를 뜻한다는 낭설 때문에 FBI로부터 미국 테러와 연관성을 의심받았다. 님다는 국내에서 역대 최악의 바이러스라는 CIH(체르노빌)에 버금가는 피해를 입혔다는 평가를 받기도 했다.

한편 얼마 전 ‘Hi! How are you?’라는 제목으로 배달된 이메일을 받아본 사람이 많을 것이다. 물론 바이러스라는 사실을 알고 바로 삭제한 사람은 아무런 피해를 입지 않았겠지만, 반가운(?) 인사말에 현혹돼 그럴듯한 이름으로 첨부된 파일을 열어본 사람은 바이러스에 감염돼 치료를 해야만 했을 것이다. 그리고 다른 여러 사람에게 본의 아니게 계속 같은 메일을 보내게 돼 항의 메일을 받았을지도 모른다.

최근에는 미국 백악관 서버를 공격했던 ‘코드레드’(CodeRed)의 변종인 ‘코드블루’(CodeBlue)가 중국에서 처음 발견됐다고 한다. 코드블루의 침투원리는 코드레드와 같지만, 코드블루에 감염된 서버가 중국지역을 공격 대상으로 삼고 있다는 점은 주목할 만하다. 이 때문에 코드블루가 중국인 해커의 작품인 코드레드에 대항해 미국측 해커가 보복공격용으로 제작한 것이 아니냐는 추측을 낳고 있다.

인터넷이 보편화되면서부터 컴퓨터 바이러스가 인터넷을 타고 급속하게 퍼졌다. 특히 최근에는 많은 바이러스가 이메일을 이용하고, 어떤 바이러스는 컴퓨터를 감염시킬 뿐 아니라 컴퓨터의 보안체계를 뚫고 들어가기도 한다. 그리고 이전보다 훨씬 더 다양한 경로로 피해를 확산시킨다.

Hi! How are you?나 코드레드, 또는 님다는 기존의 바이러스와 다른 특성을 갖는다. 그 비밀은 무엇일까. 또한 요즘에는 컴퓨터뿐만 아니라 PDA(개인휴대정보단말기)나 휴대폰에도 바이러스가 등장하고 있다는데, 이것의 진실은 무엇일까. 컴퓨터 바이러스가 새롭게 진화하는 것일까.


인터넷 웜의 일종인‘하이브리 스’. 인터넷 웜은 바이러스처 럼 정상파일에 기생하지 않고 스스로 완전한 실행 파일의 구 조를 갖는다.


바이러스와 벌레의 차이

‘Hi! How are you?’는 정확히 표현하면 바이러스가 아니라 인터넷 웜이나 벌레(I-Worm)라고 불리는 유해 프로그램의 일종이다. '컴퓨터 바이러스’에서 ‘바이러스’라는 이름이 붙은 이유는 무엇일까. 컴퓨터 바이러스가 알려지기 시작하던 초기에는 바이러스에 감염된 PC옆에 있는 PC는 감기처럼 바이러스가 옮는다거나 PC내부를 청소 안하고 지저분한 상태로 두면 바이러스에 감염될 가능성이 높다고 오해하기도 했다. 사실 컴퓨터 바이러스는 생물학적 바이러스와 그 기능이 비슷하다는 이유로 이름이 붙여진 것이다. 즉 바이러스는 정상적인 파일에 기생한다. 독립적으로 실행될 수 없기 때문에 정상 파일이 실행될 때 더불어 실행되는 특징이 있다.

반면에 인터넷 웜은 바이러스처럼 정상 파일에 기생하지 않는다. 인터넷 웜은 스스로 완전한 실행 파일의 구조를 갖기 때문에 굳이 다른 파일에 붙어서 기생할 필요가 없다. 물론 인터넷 웜은 바이러스와 유사하게 동작하기 때문에 바이러스라고 부르는 경우도 많다.

보통 바이러스나 유해 프로그램의 정식 명칭을 보면 이것의 여러 특성을 알 수 있다. Hi! How are you? 바이러스라 불리는 인터넷 웜의 정식 명칭은 I-Worm.Win32.Sircam이다. 이름을 자세히 살펴보면 점으로 구분이 되는데, 제일 앞부분은 바이러스나 유해 프로그램의 일반적인 성격을 분류하는 부분이다. 즉 I-Worm은 이것이 바이러스가 아니라 인터넷 웜이라는 뜻이다. 가운데는 이것이 실행되기 위한 환경을 설명하는 부분으로 Win32는 32비트 프로그래밍 기법으로 제작돼 윈도95/98뿐만 아니라 윈도NT/2000에서도 동작한다는 의미다. 만약 Win95라고 표시된다면 NT/2000에서는 동작을 안한다. 그리고 마지막 부분은 바이러스나 유해 프로그램 명칭이다(이 때문에 Hi! How are you?는 서캠으로 불리기도 한다). 주로 프로그램 내부의 코드 중 특징적인 단어를 추출해 사용하게 되는데, 백신업체별로 임의로 명명하기 때문에 간혹 같은 것을 다르게 부르는 경우도 있다.

만약 같은 바이러스인데 변종이 발견된 경우에는 바이러스 이름 뒤에 하나의 구분을 더 하는데, 숫자로 표시하는 경우와 영문자 알파벳으로 사용하는 경우가 있다. 숫자 표시는 바이러스 코드의 크기를 바이트(byte)로 표시하는 것이고, 알파벳 표시는 변종이 발견되는 순서에 따라서 순차적으로 A부터 이름을 붙여나가는 것이다. 마찬가지로 백신업체에서 임의로 정하는 것이어서 국가에 따라 다를 수 있지만 백신 개발자들은 대부분 비슷한 경험과 기준을 갖고 있기 때문에 많이 다르지는 않다.


인터넷 웜도, 바이러스도 아닌 ‘코드레드’. 코드레드는 바이 러스처럼 파일에 기생하지도 않고, 인터넷 웜처럼 독자적 인 파일 형태로 움직이지도 않 는다. 코드레드는 파일을 구성 하는 패킷 형태로 이동한다.


코드레드는 차세대 바이러스?

코드레드(CodeRed)라고 불리는 바이러스는 윈도 NT/2000 서버를 공격해 많은 시스템에 피해를 입혔다. 코드레드가 이토록 큰 피해를 입힐 수 있었던 이유는 무엇일까. 바로 기존의 바이러스와 다른 형태의 공격 방법을 이용했기 때문이다. 즉 기존의 바이러스는 파일단위로 확산되고 감염되는 특징이 있었지만, 코드레드는 파일의 형태가 아니라 파일을 구성하는 패킷(packet, 컴퓨터끼리 데이터를 주고받기 위해 사용하는 통신의 기본 전송단위)의 형태로 이동하기 때문이다. 따라서 파일단위로만 진단하는 백신 프로그램은 패킷 형태의 공격을 막을 수 없었던 것이다.

코드레드는 통상적으로 바이러스라 불리지만, 바이러스도 아니고 인터넷 웜도 아닌 또다른 유해 프로그램이다(우리는 흔히 컴퓨터 유해 프로그램을 바이러스라고 부른다). 왜냐하면 바이러스처럼 파일에 기생하지도 않고, 독자적인 파일 형태가 아닌 패킷 형태로 움직이기 때문이다.
예를 들어 이 상황을 공항의 출입국 관리국에 비유해보자. 출입국 관리국에는 국내로 들어오는 수화물을 조사하는 감시 카메라가 장치돼 있다. 만약 외국에서 신고하지 않은 값비싼 물건이나 마약을 포장해서 국내로 들여온다면, 당연히 감시 카메라에 걸린다. 그러나 수하물 관리체계를 거치지 않고 직접 사람의 몸에 숨겨서 들어오는 경우라면 수화물 감시용 카메라에는 잡히지 않는다. 이때 수하물 감시 카메라를 백신 프로그램이라 하면, 포장된 마약과 같은 물건은 바이러스에 감염된 파일이다. 코드레드와 같은 형태는 다른 방식으로 수화물 감시 카메라를 피해 들어오는 물건에 속하는 것이다. 따라서 이런 종류는 별도의 전용 백신 프로그램을 이용해서 차단해야만 한다.

반면 가장 최근에 출현했던 님다 바이러스(Win32. Nimda)는 어떨까. 첨부파일을 열어봐야 감염되는 기존 바이러스와 달리, 감염된 이메일을 그냥 보기만 해도 바이러스에 걸리는데다 감염 경로도 무척 다양하다. 바이러스에 걸린 웹사이트에 접속해도 감염될 수 있고, 인트라넷(회사 내 컴퓨터망)을 통해 퍼지기도 한다.

님다 바이러스는 한사람이 제작한 것으로 믿기 어려울 정도로 다양한 기술이 접목돼 있다. 지금까지 발견된 다양한 바이러스의 특징을 모아서 가장 효과적인(?) 기능으로 집약한 형태라 할 수 있다. 일반적인 웜 프로그램처럼 이메일을 이용해서 확산되기도 하고, 코드레드처럼 보안 패치가 설치되지 않은 IIS(Internet Information Service) 서버를 감염시키기 때문에 웹상에서도 걸릴 수 있다. 또한 펀러브(Win32.Funlove. 4099)처럼 지역 네트워크의 공유 폴더를 찾아내 감염시키기도 한다. 물론 이들은 새로운 기술이 아니다.

따라서 PC 정보를 보호하기 위해 기본적으로 주의할 점만 숙지하고 있으면 피해를 예방할 수 있다. 우선 가장 많은 감염 사례를 보이는 폴더 공유 기능을 자제한다. 반드시 필요한 경우라면 읽기 전용으로만 공유하고 암호를 설정해둔다. 서버가 감염됐을 경우 해당 시스템의 피해에만 그치는 것이 아니라 지역 네트워크에 연결된 모든 시스템에 피해를 줄 수 있기 때문이다. 또한 아웃룩과 같은 이메일 프로그램을 사용할 때 받은 편지함의 미리 보기 기능을 사용하지 않는 것이 좋다. 만약 보안 패치가 돼있지 않은 시스템이라면 첨부파일을 실행하지 않고 메일을 보기만 해도 감염되기 때문이다.


최근 많은 바이러스가 이메일 을 통해 전파된다. 사진은 백 신프로그램으로 메일함을 검 사하는 모습.


PDA에서 3종 발견

정상파일에 기생하는 바이러스는 세대를 거쳐오며 여러번의 진화를 겪었다. 최근에는 기존의 바이러스와 다른 인터넷 웜이나 코드레드와 같이 새로운 종류가 출현했다. 유해 프로그램인 바이러스가 또 한번 진화하고 있다고 할 수 있다. 또한 바이러스는 한걸음 더 나아가 컴퓨터를 벗어나고 있다.

얼마 전 해외에서 휴대폰에서도 컴퓨터 바이러스가 발견됐다는 보도가 있었다. 이것은 마치 휴대폰에 바이러스가 나타난 것처럼 보이지만, 사실은 그렇지 않았다. ‘티모포니카’라는 유해 프로그램이 휴대폰 통신업체의 서버를 공격했고, 이에 따라 문자메세지를 보내는 SMS기능에 문제가 생겼다. 그래서 통신업체에 가입된 휴대폰에 의미없는 문자메세지를 보내는 일이 발생했던 것이다.

휴대폰보다 바이러스가 감염될 수 있는 가능성이 많은 장비가 바로 PDA다. PDA는 손바닥만한 크기의 컴퓨터이기 때문에 컴퓨터에서 동작하는 프로그램은 이론적으로 모두 실행할 수 있다. 다만 현재까지는 크기가 작기 때문에 메모리의 용량에 한계가 있어 많은 종류의 프로그램을 실행시킬 수 없다. 현재 PDA에서 동작하는 바이러스는 사용자가 비교적 많은 팜(Palm) OS를 이용하는 종류에서만 3종이 발견됐다.

원래 컴퓨터 바이러스는 컴퓨터를 감염시킬 목적으로 제작된 프로그램이다. 그러나 바이러스의 매력(?)은 너무나 강해 각종 전자장비에도 감염될 수 있는 가능성이 있다. 물론 현재까지는 가능성만 대두되는 상황이며 특별한 피해 사례가 발견되지는 않았다. 그러나 휴대폰과 PDA뿐만 아니라 TV나 오디오, 심지어 전화기에 이르기까지 디지털화될 수 있는 장비는 모두 가능성이 있다고 예상할 수 있다. 물론 바이러스와 같은 프로그램이 동작할 수 있는 기반이 갖춰져야 하고, 데이터를 저장할 수 있는 저장장치가 있어야 하는 등의 전제 조건이 필요하다.

현재까지 PDA나 휴대폰에 바이러스가 기승을 부리지 않는 이유 중 하나는 아직까지 사용자가 많지 않다는 점이다. 바이러스의 가장 큰 특징은 불특정 다수를 대상으로 공격이 가능하다는 사실인데, 일정 수준 이상의 사용자층이 확보되지 않으면 바이러스가 확산될 수 있는 기반이 없기 때문에 바이러스가 소기의 목적을 달성할 수 없다.

또하나의 이유로는 장비들의 규격이 서로 다르기 때문에 바이러스를 제작하기 어렵다는 점이다. 바이러스도 일종의 프로그램이기 때문에 동작 환경에 매우 의존할 수밖에 없다. 즉 윈도라는 운영체제에서 동작하도록 제작된 프로그램은 리눅스라는 운영체제에서는 동작할 수 없는 것과 같은 이치다.

이 때문에 PDA든 휴대폰이든 프로그램 실행 환경의 표준화가 먼저 이뤄져야만 바이러스와 같은 프로그램이 나타날 수 있다. 물론 환경이 표준화된다는 사실은 각종 유용한 프로그램을 개발할 수 있다는 장점이 있는 반면에, 악의적인 목적을 가진 해커들도 매우 쉽게 악용할 수 있다는 단점도 있다.

최근 PDA용 OS ‘윈도즈 CE’를 사용하는 PDA기종이 많이 늘어나면서 윈도즈 CE에서 동작하는 바이러스가 나타날 것이라고 예측된다. 또한 휴대폰의 경우도 굉장히 빠른 속도로 발전하고 있어 머지 않은 미래에 컴퓨터와 유사한 기능까지 발전할 것으로 보인다. 일례로 PDA와 휴대폰의 기능이 서로 통합될 가능성이 매우 높다. 따라서 휴대폰을 공격하는 바이러스도 나타날 것이라고 예상할 수 있다.

국가간 정보전의 도구

미래에는 어떤 바이러스가 나타날까. 컴퓨터 바이러스의 미래를 예상하는 것은 매우 어려운 일이다. 왜냐하면 바이러스 제작자들은 흔히 상상할 수 있는 방법으로 바이러스를 제작하려 하지 않기 때문이다. 바이러스 제작자와 백신 프로그램 제작자의 보이지 않는 기술 경쟁을 ‘전쟁’이라고 표현하는 사람도 있다. 즉 백신 프로그램 개발자는 앞으로 나타날 가능성이 있는 모든 종류의 바이러스를 미리 예방하기 위한 기술을 개발하며, 바이러스 제작자는 이를 피해 공격할 수 있는 바이러스를 제작하기 때문이다.

물론 열명의 경찰이 한명의 도둑을 잡지 못한다는 말이 있듯이 바이러스 제작자들의 모든 공격을 막아내는 일은 현실적으로 거의 불가능하다. 그러나 한편으로 지금까지 발견된 바이러스 중 진단과 치료가 불가능한 것은 단 한종류도 없었다. 따라서 앞으로도 백신 프로그램 개발자와 바이러스 제작자의 보이지 않는 싸움은 계속될 것이다.

SF영화를 보면 컴퓨터 바이러스가 갖는 기능이 매우 강력하다는 사실을 짐작할 수 있다. 지금까지는 바이러스가 갖는 잠재적 가능성을 시험하는 단계라고 한다면 미래에는 전략적인 목적을 달성하기 위한 수단으로 바이러스를 이용할 수도 있다. 예를 들어 국가간의 전쟁에서 바이러스가 정보전의 도구로 사용될 수 있다. 인터넷과 네트워크가 더욱 발전함에 따라 전세계를 대상으로 바이러스를 퍼뜨릴 수도 있다.

문제는 바이러스의 기능을 어떻게 설정하고, 백신 프로그램이 진단할 수 없도록 어떻게 교묘하게 숨기느냐 하는 기술이다. 이미 우리가 상상할 수 있는 종류의 바이러스는 모두 나타났다고 할 수 있다. 이제는 우리의 상상력을 초월하는 미래의 바이러스에 대해 대처할 수 있도록 준비해야 한다. 또 백신 프로그램과 같은 정보보호 프로그램에만 의지하는 수동적인 방법에서 벗어나 사용자 스스로가 정보를 보호하기 위해 지식을 습득해 대처하는 적극적인 정보보호 마인드가 요구되고 있다.

비전문가도 제작 가능한 5세대 유행

컴퓨터 바이러스 제작자는 컴퓨터나 백신 프로그램이 갖는 취약점을 이용해 항상 새로운 기능을 가진 바이러스를 개발한다. 기존 바이러스의 발전과정을 살펴봐도 이를 쉽게 알 수 있다.
컴퓨터 바이러스가 처음 일반인에게 알려지기 시작한 것은 1980년대 후반 브레인(Brain)이라는 이름의 바이러스가 나타나면서부터다. 브레인과 같은 초기의 1세대 바이러스는 단순했다. 예를 들어 감염된 파일을 실행하면 작은 탁구공 모양의 점이 화면을 돌아다니는 핑퐁 바이러스가 있었다.

2세대 바이러스는 암호를 사용해 제작하기 시작했다. 일명 폭포 바이러스라 불리며, 도스 화면의 텍스트가 아래의 빈 공간으로 한칸씩 떨어지는 워드폴 바이러스가 이에 속한다. 이런 바이러스는 코드를 암호화하기 때문에 백신 프로그램이 암호를 해독할 수 없을 경우 진단할 수 없었다. 그러나 암호로 작성된 바이러스도 컴퓨터 메모리에서 실행될 때에는 암호가 자동으로 풀린다. 이를 이용해 암호 해독의 원리를 추출해내는 방법으로 바이러스를 진단해낼 수 있었다.

다음으로 3세대로 불리는 바이러스는 은폐기술을 이용했다. 이는 바이러스가 감염돼도 감염되지 않은 상태의 거짓정보를 사용자에게 보여주어 마치 감염되지 않은 것처럼 위장하는 기술이다. 예를 들어 부트 영역의 감염 사실을 숨기는 숨바꼭질 바이러스가 이런 종류다. 이 역시 메모리에서 실행될 때 원래의 코드로 복귀한다는 점을 이용해서 진단할 수 있었다.

이렇게 되자 바이러스 제작자들은 4세대 바이러스인 다형성 바이러스를 만들어냈다. 다형성 바이러스란 2세대와 3세대 바이러스의 특징을 복합한 것으로 감염될 때마다 암호화 기술을 변경해서 각기 다른 코드로 변신하는 것을 말한다. 부트 영역과 파일 영역을 모두 감염시키며 1990년대 초·중반에 악명을 떨친 나타스 바이러스가 이에 속한다. 고도의 기술이 적용된 바이러스이기 때문에 다형성 기법을 얼마나 복잡하게 사용하는가에 따라서 거의 진단을 못하는 경우도 발생할 수 있다. 그러나 이런 다형성 바이러스는 기술이 복잡한 만큼 제작할 수 있는 사람도 한정돼 있어서 다행스럽게 종류가 많지 않다.

4세대 바이러스를 지나서 5세대 바이러스는 개념적으로 많은 변화를 가져왔다. 기존에는 새로운 바이러스를 제작하기 위해서 컴퓨터에 대한 많은 지식이 있어야만 했다. 즉 컴퓨터 내부의 깊숙한 부분까지 알아야만 바이러스를 제작할 수 있었다. 하지만 바이러스 제작자들은 매크로라는 기능을 이용해 좀더 쉽게 바이러스를 제작할 수 있게 됐는데, 그래서 나타난 것이 5세대 바이러스라 불리는 매크로 바이러스다. 1999년 3월 이메일을 통해 기승을 부렸던 멜리사가 바로 매크로 바이러스의 일종이다.

매크로란 정해진 명령어들을 조합해 새로운 하나의 명령어로 만들어서 실행시키는 방법을 말한다. 이를 이용하면 아주 단순한 기능이 미리 정의된 여러 명령어를 조합해 유용한 기능의 새로운 명령어를 만들고, 하나의 프로그램과 유사한 형태도 만들어낼 수 있다. 따라서 바이러스도 제작이 가능한 것이다.

지금까지는 기능이 비교적 많은 MS-오피스의 매크로 기능을 이용해 바이러스가 제작됐다. 왜냐하면 스크립트로 만들어져 바이러스 제작이 비교적 쉽다는 장점이 있기 때문이다. 또한 바이러스에 감염된 문서 파일 자체가 바이러스 프로그램의 소스 코드 역할을 하기 때문에 조금만 관심이 있는 사람이라면 소스 코드를 분석해 변종 바이러스를 제작할 수도 있다. 이 때문에 매크로 바이러스는 변종이 많게는 수십 종류에 이르기까지 한다.
 

최근 유행하는 5세대 바이러스의 일종인‘쉬버’. 기능이 비교적 많은 MS-오피스의 매크로 기능을 이용해 제작됐다.


| 스크립트 |
컴퓨터 프로세서가 아닌 다른 응용프로그램에 의해 순차적으로 수행되는 명령어의집합. 즉 사람이 알아볼 수 없는 기계어가 아닌 자연어에 가까운 문장으로 명령어를나열하는 방식.

이 기사의 내용이 궁금하신가요?

기사 전문을 보시려면500(500원)이 필요합니다.

2001년 11월 과학동아 정보

  • 오정환

🎓️ 진로 추천

  • 컴퓨터공학
  • 정보·통신공학
  • 소프트웨어공학
이 기사를 읽은 분이 본
다른 인기기사는?