[기타 정보자료]/컴퓨터관련

컴퓨터 바이러스란

가야트리샥티 2012. 4. 24. 15:23

컴퓨터 바이러스란

①협의의 컴퓨터 바이러스

컴퓨터 시스템의 부트 영역, 메모리 영역, 파일 영역 중 어느 한 곳 이상에 감염되어 자기 증식 및 복제가 가능하고 특정한 환경 등에서 데이터 파괴성을 가지고 있는 악성 프로그램으로 인터넷 윔(Worm), 트로이목마(Trojan), 백도어(Backdoor)프로그램과 구분된다.

②광의의 바이러스

협의의 컴퓨터 바이러스 프로그램을 포함하여 시스템 침입, 데이터 파괴 등 시스템에 유해한 동작 유발을 목적으로 제작된 악성 프로그램을 총칭한다.

 

컴퓨터 바이러스 감염 증상

①컴퓨터 기동시간이 평소보다 오래 걸린다.
②기동 자체가 되지 않거나, 프로그램이 실행되지 않거나, 프로그램을 실행시키는 시간이 평소보다 오래 걸린다.
③파일목록을 확인하는 명령을 하였을 때 목록이 화면에 나타나는 시간이 오래 걸린다.
④화면에 이상한 글자가 나타나거나, 프로그램의 크기가 달라져 있거나, 프로그램의 작성일자 또는 파일의 이름이 바뀌는 등의 증세를 나타낸다.

 

컴퓨터 바이러스의 분류

1.감염 부위에 따른 분류

1980년대 후반부터 제작된 바이러스들은 오늘날까지 발전하여 그 시대에 따라 여러 가지 형태로 발전해 가고 있다. 기능별 분류는 감염 위치에 따른 분류와 활동하는 OS(운영체제)에 따른 분류로 구분된다.

1) 부트(Boot) 바이러스

컴퓨터가 처음 부팅 되어 메모리 영역을 할당 받는 부분이 부트 섹트라는 점을 이용한 바이러스로 부트 영역을 감염 대상으로 한다. 처음으로 발견된 바이러스가 이러한 부트 바이러스의 형태이며 부팅 디스켓의 경우 도스 부트 섹터 부분이, 하드디스크의 경우 주 부트 섹터가 감염된다. 보다 발전된 형태로 부트 바이러스 감염 여부나 메모리 수정 여부를 확인하기 위하여 부트 섹터를 읽거나 메모리 크기를 읽으려 하면 바이러스에 의심이 가지 않도록 정상 부트 섹터나 원래 메모리 크기를 보여주기도 하는데 이러한 형태를 스텔스형 부트 바이러스라고 한다.

2) 파일(File) 바이러스

실행 가능한 파일(EXE, COM등)이 메모리를 할당 받아 실행되는 점을 이용하여 만들어진 바이러스이다. 직접 실행 파일과 간접 실행 파일 등 모든 실행 가능한 파일들을 주 감염 대상으로 하고 있으며 그 이유는 바이러스 프로그램이 실행되어야만 자기 복제나 데이터 파괴 등의 동작을 수행할 수 있기 때문이다. 일반적으로 파일이 실행되려면 먼저 파일 실행 인터럽트를 발생시킴으로써 해당 프로그램을 메모리로 읽어 들어야 하는데 만일 파일 바이러스가 주 메모리에 이미 감염되어 있다면 파일이 실행되는 순간 파일 바이러스는 자신의 루틴을 수행시킴으로써 감염 및 파괴 동작을 하게 된다. 파일 바이러스도 부트 바이러스와 마찬가지로 감염된 파일의 크기가 늘어나는 것을 숨기는 은폐 기법을 사용하는 것도 있으며 컴퓨터 하드웨어 시스템의 발전에 따라 부팅 디스켓의 사용 빈도가 적어져 부트 바이러스보다 파일 바이러스가 많이 나타나게 되었다.

3) 부트/파일 바이러스

부트 영역과 실행 파일을 모두 감염시키는 바이러스이다. 하나의 영역만을 감염시키는 바이러스에 비해 그 크기가 매우 큰 것이 특징이며, 대부분의 파괴 기능이 강한 바이러스가 대다수이다. 두 가지 영역을 모두 공격하기 때문에 전염성이 매우 빠른 것이 특징이며(메모리에 할당된 바이러스는 이후 사용하는 모든 파일과 디스켓을 감염시키기 때문) 대부분 다형성 기법(감염될 때마다 자신의 코드를 변화시키는 바이러스 제작 기법)을 사용하고 있다. 부트/파일 바이러스는 두 가지 영역 중 하나의 영역만을 치료하게 되면 다시 재 감염되기 때문에 감염된 모든 부분을 한꺼번에 치료해야만 한다.

4) 매크로 바이러스

일반적으로 컴퓨터 바이러스가 실행 가능한 파일이나 부트 영역에 감염 되는 것과는 달리 매크로 바이러스는 매크로 기능을 지원하는 문서 파일 등에 감염되는 것이 특징이다. 마이크로 소프트 사의 MS-Office 제품군에서 지원하는 매크로 기능은 실행 파일과 유사한 형식을 가지고 있기 때문에 이러한 매크로 기능을 가로채어 바이러스가 동작하게 된다. 따라서 DOS환경보다 WINDOWS 환경에서 주로 활동하게 되며 문서 파일이 주 대상이기 때문에 피해 규모가 상대적으로 크다. MS-Office 뿐만 아니라 Lotus, AMI, AutoCAD 등 매크로(또는 그와 유사한) 기능을 지원하는 프로그램은 모두 그 대상이 될 수 있다. 최근 발견되는 매크로 바이러스는 사용자를 많이 확보하고 있는 MS-Office 제품군을 기반으로 하는 바이러스가 많이 나타나고 있으며 MS-WORD, MS-EXECL 등 특정 제품에서만 동작할 수도 있고, 제품군 전체에 영향을 미칠 수도 있다. 또한 전자우편(E-mail)과 연동되어 확산력이 매우 강한 바이러스도 나타나고 있어 파일을 첨부한 메일을 주고 받을 경우 세심한 주의가 필요하다.

5) 산란형 바이러스

실행 가능한 파일의 실행 우선순위를 이용한 바이러스이며 이는 단순한 구성 때문에 그 가지 수는 매우 적다. DOS환경에서 파일을 실행할 때 실행 가능한 파일은 COM, EXE, BAT형태가 있는데 이러한 종류의 파일은 파일명만으로(확장자는 입력하지 않아도) 실행이 가능하다. 이러한 이유로 확장자를 제외한 같은 이름을 가진 바이러스가 보통의 실행 파일과 같은 디렉토리에 존재한다면 실행 우선순위가 높은 파일이 실행될 것이다. 3가지 파일의 우선순위는 COM>EXE>BAT이기 때문에 확장자가 EXE인 정상 파일보다 COM 확장자를 가진 바이러스가 먼저 실행될 수 있다.
이러한 바이러스 파일은 기생하는 것이 아니기 때문에 대부분 속성을 숨김(Hidden)으로 하고 있으며 파일 실행 시 정상적인 동작을 하지 않기 때문에 감염 여부를 확인하기는 비교적 쉽다.(일반 바이러스는 바이러스 코드의 실행 후 정상 파일이 실행되지만 산란형은 바이러스 코드만 만 실행된다.) 기생형이 아니기 때문에 별도의 치료가 필요 없으며 해당 바이러스 코드파일을 삭제하기만 하면 된다.
최근에는 DOS환경을 사용하는 사용자가 거의 없기 때문에 이러한 형태의 바이러스는 없으나, 원도 환경에서 이러한 원리(예를 들어 바로가기 아이콘의 참조 링크 변화)를 이용한 바이러스는 나타날 가능성이 있다.


2.세대별 바이러스

1) 1세대 바이러스

윈시형 바이러스로 가장 단순한 형태의 바이러스이다. 이미 공개되어 있는 소스 프로그램이나 서적 등에 공개된 내용으로 쉽게 제작할 수 있으며 진단, 치료하기 쉽다. 초창기의 예루살렘, 핑퐁 바이러스 등이 여기에 해당된다.

2) 2 세대 바이러스

암호형(Encryption) 바이러스 형태로 감염되는 프로그램 내에 암호화 형태로 기생한다. 백신 프로그램 제작자의 해당 바이러스 분석을 어렵게 하기 위해 제작된 것으로 보여 지며 암호화 방법도 단순 연산에서 복잡한 암호화 루틴까지 다양하다. 이러한 종류의 바이러스는 감염 상태 그대로 분석하기는 어려우며 시스템의 메모리 영역에 로드(Load)되며 1세대 바이러스와 같은 형태로 나타나기 때문에 분석이 가능하다. 폭포(Cascade), 방랑자, 강도 바이러스 등이 해당된다.

3) 3 세대 바이러스

은폐형(Stealth) 바이러스로 감염 사실을 숨겨 보다 많은 시스템에 감염을 확산시키기 위해 제작되었다. 메모리 상주형 바 이러스가 사용하는 기법으로 감염된 파일에 대한 본래의 정보를 별도로 저장하여 사용자가 정보를 보려 할 때 감염된 내용이 아닌 본래의 정보를 보여준다. 따라서 감염 여부를 진단하기 어려우며 진단을 위해서는 바이러스에 감염되지 않은 깨끗한 부팅 디스켓으로 이용하여 부팅한 후 진단할 수 있다.

4) 4 세대 바이러스

다형성(Polymorphic) 바이러스로 진단과 치료가 매우 까다로운 바이러스이다. 즉, 백신 프로그램이 특정한 바이러스를 진단하기 위해서는 해당 바이러스가 가지고 있는 특정한 문자열 등을 찾아내는데 이러한 점을 이용, 바이러스가 감염활동을 할 때마다 문자열을 변경하게 된다. 특히 이러한 바이러스의 경우 은폐형 기법과 같이 사용하게 될 경우 분석에 많은 시간이 소요된다. 나타스(Natas), 절반(One_Half) 바이러스 등이 이러한 바이러스에 해당된다.

5) 5 세대 바이러스

일반적으로 컴퓨터 바이러스는 EXE, COM 등의 확장자를 가진 실행 파일에 감염되는데 이러한 실행 파일이 아닌 매크로 기능을 가지고 있는 일반 문서 파일에 감염되는 바이러스이다. 주로 MS-Office의 WORD, EXECL 등의 파일에 감염되며 시스템의 환경(OS 등 플랫폼)에 영향을 받지 않는 특징이다.


3. 운영체제에 따른 분류

IBM 호환 기종중 현재 바이러스가 발견된 운영체제는 도스, 윈도우시리즈, 리눅스 등이며 애플리케이션으로는 MS 오피스(액세스, 엑셀, 워드, 파워포인트)와 mIRC 등의 자체 스크립트 언어를 내장한 프로그램들이다.

① 도스 바이러스

일반적인 부트, 파일, 부트/파일 바이러스는 대부분 도스용 바이러스다.
감염 부위에 따라 부트, 파일, 부트/파일 바이러스로 나뉜다. 80년 중반 이후부터 90년 중반까지 약 10년간 왕성한 활동을 하던 도스용 바이러스는 윈도우95의 등장으로 주춤한 상태다. 도스 사용자가 감소함에 따라 도스 바이러스는 수적으로나 피해 규모 면에서 감소할 것으로 예상된다. 그러나 여전히 도스용 파일 바이러스는 윈도우 95에서 문제를 일으킨다. 또한 부트 바이러스의 경우 이미 시중에 많이 퍼져 있고 `윈도우 2000`이 일반화될 때까지 멸종하지 않는다면 지금처럼 많은 문제가 발생할 것이다. 여전히 원숭이, Anti-CMOS, one-Half 바이러스가 기승을 부리고 있다.

② 윈도우 바이러스

도스 기능을 사용하는 반쪽자리 윈도우 바이러스로 94년 처음 등장한 윈도우 바이러스는 97년부터는 컴퓨터를 이용하는 최대 바이러스로 부상했다. 현재 가장 문제가 되고 있는 바이러스는 윈도우 95/98용 바이러스이다. 이들 바이러스는 `윈도우 2000`에서는 동작하지 않거나 오동작 할 가능성이 크다. 하지만, 윈도우 2000이 널리 사용되기 전까지는 윈도우 95/98 사용자들에게 많은 피해를 줄 것으로 예상된다. 또한 바이러스 제작 기법과 전파 기법도 매우 다양해지고 있다. E-mail로 바이러스를 전송하는 기법은 이들 윈도우 바이러스들에서 처음 사용됐다. 대표적인 예로 Win95/CIH, Anxiety_Poppy, Win95/Marburg, Win95/Padania, Win32/Parvo 등이 있다.

③ 애플리케이션 파생 바이러스

애플리케이션에 내장된 매크로 혹은 스크립트 언어를 사용해서 바이러스를 제작 가능하리라는 예상은 지난 91년부터 시작되었다. 그러나 이를 이용한 실제 바이러스는 지난 94년 12월 최초로 발견됐으며, 실제로 문제가 되기 시작한 것은 95년 중반부터였다. 현재 이런 원리를 이용한 매크로 바이러스와 스크립트 바이러스가 사용자를 괴롭히는 최대 바이러스로 부상했다.
매크로 바이러스는 운영체제와 상관없이 응용 프로그램을 플랫폼 삼아 작동한다. 즉 IBM 호환 기종의 운영체제, 매킨토시 기종의 운영체제 등에서 실행되는 워드, 엑셀 등에서만 활동한다. 그러나 매크로 기능이 있는 모든 응용 프로그램에 감염되는 것은 아니다.


매크로 바이러스를 만들 수 있게 된 것은 MS 워드, 엑셀이 인터프리터에 의해 해석되는 프로그래밍 언어 수준의 매크로 언어를 지원하기 때문이다. 이들 매크로 언어는 MS의 비주얼 베이직 프로그래밍 언어와 비슷한 문법 체계를 갖고 있다. 그것이 바로 VBA(Visual Basic for Applications) 환경이다. 매크로 바이러스의 경우 세계적으로 워드, 엑셀 바이러스가 기승을 부리고 있지만, 국내에서는 특히 엑셀 바이러스의 피해가 극심하다. 수가 적기는 하지만 파워포인트와 액세스 바이러스도 등장했다. 이들 바이러스는 E-Mail을 전파 수단으로 사용하곤 한다.
스크립트 바이러스는 각종 스크립트 언어로 작성된 바이러스를 말한다. 예전에는 도스용 패치파일 스크립트 바이러스 제작에 사용됐으나, 윈도우가 일반적인 운영체제로 자리 잡으면서 mIRC, VBS, HTML 등의 스크립트 언어가 유행을 타고 있다.

④ 유닉스, 리눅스, 맥, OS/2 바이러스

Linux와 OS/2용으로도 바이러스가 존재하지만 이들 바이러스는 일반에 퍼지지는 않고 대부분 겹쳐쓰기 정도에 이들 OS에서도 바이러스를 제작할 수 있다는 증명을 한 정도의 수준에 머무르고 있다. 하지만, 이들 OS도 사용자가 증가한다면 새로운 바이러스가 등장할 가능성은 매우 높다.
예) Linux/Bliss, Mac/Autostart

⑤ 자바 바이러스

현재 발견된 Java 바이러스는 2종 정도 된다. 최초 자바 바이러스는 1998년 여름 발견되었다. 이들 바이러스 역시 자바가 디스크에 접근할 권한이 있어야만 하며 자바 애플릿이 아닌 자바 애플리케이션을 감염시킨다. 대부분의 시스템에서는 자바가 디스크에 접근하지 못하게 설정되어 있는 등 제약이 있으므로 이들 바이러스 역시 일반인에게는 크게 문제가 되지 않는다.
예) Java/BeanHive, Java/StrangeBrew

 

'[기타 정보자료] > 컴퓨터관련' 카테고리의 다른 글

내 컴퓨터에 바이러스가 300개?   (0) 2012.05.01
컴퓨터 자판 상식알기  (0) 2012.05.01
최근 바이러스의 특징  (0) 2012.04.24
Java의 유래   (0) 2012.04.24
정보보안전문가  (0) 2012.04.24