본문 바로가기
보안

컴퓨터 바이러스[네이버 캐스트 펌]

by 희황 2013. 6. 21.

컴퓨터 바이러스는 컴퓨터 프로그램의 일종으로 사용자 몰래 스스로 복제하여 다른 프로그램을 감염시키고, 결과적으로 정상적인 프로그램이나 다른 데이터 파일 등을 파괴하는 악성 프로그램을 뜻한다. 바이러스라고 이름 지어진 이유는 생물학적인 바이러스가 숙주에 기생하면서 자기 자신을 스스로 복제해 병을 일으키는 것과 유사하게 동작하기 때문이다. 따라서 컴퓨터 바이러스라는 말보다 컴퓨터 바이러스 프로그램이라고 해야 더 정확한 표현이다.

 

컴퓨터 바이러스는 사용자 몰래 스스로 복제하여 다른 프로그램을 감염시키고,결과적으로 정상적인 프로그램이나 다른 데이터 파일 등을 파괴하는 악성 프로그램을 뜻한다.

컴퓨터 바이러스는 사용자 몰래 스스로 복제하여 다른 프로그램을 감염시키고,
결과적으로 정상적인 프로그램이나 다른 데이터 파일 등을 파괴하는 악성 프로그램을 뜻한다.

 

 

자기 자신을 스스로 복제하는 악성 프로그램, 컴퓨터 바이러스

간혹 컴퓨터 바이러스를 악성코드, 트로이 목마, 등과 혼동하곤 하는데, 이 프로그램들과의 가장 큰 차이점은 자기 복제 능력이다. 예를 들어, 트로이 목마가 발견된 경우는 트로이 목마를 찾아내고 삭제하면 끝이지만, 컴퓨터 바이러스가 발견된 경우는 다른 프로그램에도 감염되었을 수 있기 때문에 모든 프로그램을 검사해 봐야 한다.

 

과거에는 사람들이 컴퓨터 바이러스라는 이름 때문에 생물학적인 바이러스와 혼동하는 경우도 있었다. 컴퓨터 바이러스에 감염된 디스크를 물로 씻거나, 컴퓨터에 가까이 가지 않기도 했었고, 방충제를 뿌리는 등 웃지 못할 일이 벌어지기도 했다. 하지만 현재에는 컴퓨터 바이러스와 생물학적인 바이러스를 구분하지 못하는 사람은 거의 없다.

 

 

컴퓨터 바이러스의 종류

컴퓨터 바이러스는 크게 두 가지 종류로 나눌 수 있다. 첫번째는 컴퓨터 바이러스 분석가나 컴퓨터 바이러스 백신 제작자들에 의해 결정된 ‘프로그램 발전 단계에 따른 구분’이며, 두번째는 컴퓨터 바이러스가 감염되는 ‘대상에 따른 구분’이다.

 

 

발전 단계에 따른 구분

발전 단계에 따른 구분은 컴퓨터 바이러스를 각 세대별로 구분하는 방법이다. 각 세대 별 특징은 다음과 같다.

 

1. 제 1 세대, 원시형 바이러스(Primitive Virus)

실력이 뛰어나지 않은 아마추어 프로그래머들이 만든 단순하고 분석하기 쉬운 컴퓨터 바이러스를 의미한다. 코드의 변형이나 변화 없이 고정된 크기를 가진다. 주로 기억장소에 상주해서 부트 영역이나 파일을 감염시킨다. 돌(Stoned) 바이러스나 예루살렘(Jerusalem) 바이러스 등이 여기에 속한다.

 

2. 제 2 세대, 암호화 바이러스(Encryption Virus)

어느 정도 실력을 갖춘 프로그래머들이 만들었으며, 백신 프로그램이 진단할 수 없도록 컴퓨터 바이러스 프로그램의 일부나 전체를 암호화 시켜서 저장한 컴퓨터 바이러스를 뜻한다. 암호화 방식(routine)이 일정했기 때문에 암호 해독 방식도 일정했다. 다만, 이 때부터 백신 프로그램에 암호 해독 방식을 포함해야 했기에 제작이 다소 어려워졌다. 폭포(Cascade) 바이러스, 느림보(Slow) 바이러스 등이 여기에 속한다

 

2세대 암호화 바이러스 중 하나로 분류되는 폭포 바이러스의 예. 알파벳이 폭포수처럼 쏟아지는 현상이 나타난다. <출처: (CC)antivirus-gratis.com>

2세대 암호화 바이러스 중 하나로 분류되는 폭포 바이러스의 예. 알파벳이 폭포수처럼 쏟아지는 현상이 나타난다. <출처: (CC)antivirus-gratis.com>

 

 

3. 제 3 세대, 은폐형 바이러스(Stealth Virus)

스스로 은폐하고, 사용자나 백신 프로그램을 속이기 위해서 다양한 기법을 사용하는 컴퓨터 바이러스를 뜻한다. 예를 들어, 원래 실행 파일에 기생하는 형태의 컴퓨터 바이러스는 실제 파일의 크기가 증가해서 감염 여부 진단 인식이 쉽다. 이를 마치 파일크기의 변화가 없는 것처럼 은폐해서 사용자나 백신 프로그램이 감염 사실을 눈치채지 못하게 속이는 것이다. 또한, 백신 프로그램이 감염된 부분을 진단하려고 하면 감염되기 이전의 상태를 보여줘 감염 여부를 눈치채지 못하게 한다. 맥가이버(MacGyver) 바이러스, 브레인(Brain) 바이러스, 512 바이러스 등이 여기에 속한다.

 

4. 제 4 세대, 갑옷형 바이러스(Armor Virus)

어떠한 백신 프로그램으로도 진단할 수 없도록 하기 위해 만들어져 다양한 암호화, 은폐 기법이 적용된 컴퓨터 바이러스이다. 사실 컴퓨터 바이러스의 발전은 백신 프로그램의 진단을 어렵게 하는 데 있다. 즉, 갑옷형 바이러스는 백신 프로그래머가 컴퓨터 바이러스를 분석하고 백신 프로그램을 만들기 어렵게 함으로서 개발을 지연시키는 것이 목적이다.

 

갑옷형 바이러스의 일종으로 다형성 바이러스(Polymorphic Virus)가 있다. 자체 변형 바이러스(self-encrypting Virus)라고 불리기도 한다. 이것은 암호화 바이러스의 일종인데, 암호를 푸는 부분이 항상 일정한 2세대 암호화 바이러스와 달리 암호를 푸는 부분도 감염될 때마다 달라지도록 발전되었다. 일부 다형성 바이러스는 변형 방법만 100만 가지가 넘는다. 따라서 백신 프로그램이 기존 방식으로 진단해 내기가 어렵다.

 

때문에 갑옷형 바이러스는 최상의 실력을 가진 전문 프로그래머가 개인 또는 단체로 만들어낸 것이라고 추측된다. 대표적인 고래(Whale) 바이러스는 여러 명의 전문가가 모여 겨우 분석을 마칠 수 있었다고 한다. 현재 갑옷형 바이러스의 종류가 많지는 않지만, 앞으로 제작되어 문제를 유발할 가능성이 높은 것으로 인식되고 있다. 그러나 다른 컴퓨터 바이러스와 마찬가지로 진단이나 치료가 불가능한 것은 아니며, 실제로 대부분의 백신 프로그램을 사용하면 진단 및 치료가 가능하다.

 

5. 제 5세대, 매크로 바이러스(Macro Virus)

매크로 바이러스는 엑셀이나 워드처럼 매크로 명령을 사용하는 프로그램의 데이터에 감염되는 컴퓨터 바이러스를 뜻한다.

 

매크로 바이러스에 대한 엑셀 프로그램의 경고창. 매크로 바이러스는 엑셀이나 워드처럼 매크로 명령을 사용하는 프로그램의 데이터에 감염되는 컴퓨터 바이러스를 뜻한다.

매크로 바이러스에 대한 엑셀 프로그램의 경고창. 매크로 바이러스는 엑셀이나 워드처럼 매크로 명령을 사용하는 프로그램의 데이터에 감염되는 컴퓨터 바이러스를 뜻한다.


엑셀이나 워드처럼 매크로 명령을 사용하는 프로그램의 데이터에 감염되는 컴퓨터 바이러스를 뜻한다. 지금까지의 컴퓨터 바이러스는 전문 수준의 지식이 필요했기 때문에 일반 사용자가 제작하거나 배포하기 어려웠지만, 매크로 바이러스는 누구라도 약간의 관심만 있으면 쉽게 만들 수 있다. 특히, 인터넷이 대중화 되고 난 이후에는 매크로 바이러스 개발 툴 등의 정보가 쉽게 퍼져 있어 악용될 위험성이 높다.

 

1995년 10월경에 처음 발견되었고, 국내에는 1996년 6월경에 통신망을 통해서 발견되었다. 매크로 바이러스 중 하나인 와즈(Wazzu)는 주로 워드의 문서 파일에 감염되어 새로 작성되는 모든 문서 파일을 감염시킨다. 와즈에 감염되면 문서 내의 단어가 서로 엇갈린다든지, wazzu라는 단어가 제멋대로 삽입되는 등의 피해를 입을 수 있다.

 

 

감염 대상에 따른 구분

컴퓨터 바이러스가 어디에 감염되는지에 따른 구분 방법이다.

 

1. 부트 바이러스

컴퓨터의 전원을 처음 켜면, 디스크의 가장 처음 부분인 부트 섹터에 위치하는 프로그램이 제일 먼저 실행되는데, 여기에 자리잡아 컴퓨터 부팅에 영향을 주는 컴퓨터 바이러스를 뜻한다. 플로피 디스켓의 경우는 도스 부트 섹터에, 하드 디스크의 경우는 주 부트 섹터에 감염된다. 브레인 바이러스 또는 미켈란젤로(Michelangelo) 바이러스 등이 여기에 속한다. 부트 바이러스에 감염되게 되면 부팅이 되지 않거나 디스크를 인식하지 못하게 된다. 또한, 부팅 시간이 평소보다 오래 걸리거나 전체적인 시스템의 속도가 저하되기도 하며, 메모리나 디스크의 용량이 갑자기 감소하는 등의 증상이 일어난다.

 

2. 파일 바이러스

일반 프로그램의 파일에 감염되는 컴퓨터 바이러스를 뜻하며, 전체 바이러스의 90% 이상이 파일 바이러스이다. 감염되는 파일은 프로그램 COM 파일, EXE 파일 등의 실행 파일이나 오버레이 파일, 주변기기 구동 프로그램 등이다. 파일 바이러스는 감염되는 파일 종류, 감염 위치 및 동작 원리에 따라 다시 분류할 수 있다.

 

- 기생형 바이러스 : 원래의 프로그램을 파괴하지 않고 프로그램의 앞이나 뒤에 바이러스가 기생하는 형태. 감염된 프로그램을 실행하면 바이러스 프로그램이 실행된 후에, 원래의 프로그램이 실행되기 때문에 감염 여부를 눈치채기 어렵다. 대부분의 파일 바이러스가 여기에 속한다.

 

- 겹쳐쓰기형 바이러스 : 원래의 프로그램이 있는 곳에 바이러스가 겹쳐서 존재하는 형태. 일반적인 겹쳐쓰기형 바이러스는 파일 앞부분에 있기 때문에, 감염된 파일을 실행하면 원래 프로그램 대신 바이러스가 실행된다. 그리고 원래 프로그램은 파괴되기 때문에 백신 프로그램으로도 복구할 수가 없다. 단, 프로그램에서 사용하지 않는 파일 영역이 감염되었을 경우에는 복구할 수 있다.

 

- 산란형 바이러스 : 프로그램 실행 파일인 EXE 파일을 직접 감염시키지 않고, 같은 이름의 COM 파일을 만들어 바이러스를 넣어두는 형태. 같은 이름의 EXE 파일과 COM 파일이 같은 디렉토리(폴더) 안에 있을 경우, 파일 이름을 입력하면 COM 파일이 먼저 실행되기 때문에 결국 바이러스가 먼저 실행된다.

 

- 연결형 바이러스 : 프로그램을 직접 감염시키지 않고 디렉토리 영역에 저장된 프로그램의 시작 위치를 바이러스의 시작 위치로 변경하는 형태. 따라서 프로그램을 실행하면 원래 프로그램 대신 바이러스가 먼저 실행된다.

 

파일 바이러스에 감염되게 되면 특정 파일 또는 프로그램이 실행되지 않거나, 실행 시간이 오래 걸리게 된다. 그리고 파일의 용량이 갑자기 늘어나거나, 파일의 생성 날짜/시간 등이 변경되며, 작업과 관련 없는 문자열이나 소리가 나타나는 등의 증상이 일어난다.

 

3. 부트/파일 바이러스

부트 섹터와 파일 모두에 감염되는 바이러스로, 데킬라, 나타스, 침입자 바이러스 등이 있다.

 

부트 섹터와 파일 모두에 감염되는 부트/파일 바이러스 중 하나인 데킬라 바이러스.

부트 섹터와 파일 모두에 감염되는 부트/파일 바이러스 중 하나인 데킬라 바이러스.

 

 

지금까지 발견된 컴퓨터 바이러스의 사례

사실 컴퓨터 바이러스의 정확한 역사와 통계를 찾기는 힘들다. 다만, 1972년 [When Harlie Was One]이라는 공상 과학 소설에서 저자 데이비드 제롤드의 '다른 컴퓨터에 계속 전화하여 자신을 복제한 후 감염된 컴퓨터의 운영체제에 영향을 미쳐 점차적으로 시스템을 마비시키는 기능을 가진 바이러스를 한 과학자가 제작하여 배포한다'라는 구절을 통해 컴퓨터 바이러스라는 개념이 최초로 사용되었다.

 

1970년대에 인터넷의 전신인 ‘아르파넷(ARPANET)’에서 TENEX 운영체제를 사용하는 DEC PDP-10 컴퓨터를 감염해 “I’m creeper, Catch me if you can!(나는 크리퍼다, 할 수 있다면 나를 잡아봐!)”라는 메시지를 띄우는 ‘The Creeper’ 바이러스가 최초로 보고되었다.

 

‘The Creeper’ 이후 발견된 여러 바이러스 중 가장 유명한 바이러스는 브레인 바이러스다. 이 바이러스는 최초의 IBM PC 바이러스로 파키스탄의 한 형제 프로그래머에 의해서 개발되었다. 디스켓을 통해 복사, 배포되었는데, 당시 가장 많이 보급되고 있던 MS-DOS 운영체제에서 실행되었기 때문에 전세계적으로 빠르게 확산되었다. 1988년 국내에서도 발견되었으며, 국내 최초의 백신 프로그램 ‘V1’이 제작된 것도 이 바이러스 때문이다.

 

1972년 SF소설 [When Harlie Was One]에는 최초로 컴퓨터 바이러스라는 개념을 제시한 구절이 등장한다.

1972년 SF소설 [When Harlie Was One]에는 최초로 컴퓨터 바이러스라는 개념을 제시한 구절이 등장한다.

최초의 IBM PC 바이러스로 알려진 브레인 바이러스. <출처: (CC)Avinash Meetoo at Wikipedia.org>

최초의 IBM PC 바이러스로 알려진 브레인 바이러스. <출처: (CC)Avinash Meetoo at Wikipedia.org>

 

 

대표적인 바이러스

- 브레인 바이러스 : 360KB 용량의 플로피 디스켓을 감염시켜 3개의 불량 섹터를 생성하는 부트 바이러스.

 

- LRC 바이러스 : 기억장치의 크기가 감소되며, 하드디스크를 인식 못하게 만든 부트 바이러스.

 

- 미켈란젤로 바이러스 : 미켈란젤로의 생일인 3월 6일에 감염 증상이 나타나는 부트 바이러스.

 

- 예루살렘 바이러스 : 1988년 이스라엘 예루살렘 대학에서 발견된 파일 바이러스. COM, EXE 파일에 감염되어 13일의 금요일이 되면 모든 파일을 삭제했다. ‘13일의 금요일’ 바이러스로도 불렸으며, 후에 많은 변형 바이러스 출현의 계기가 되었다.

 

- DIR II 바이러스 : 컴퓨터 내 모든 COM, EXE 파일에 감염되어, 디스크의 파일 실행을 방해한 파일 바이러스.

 

- CIH 바이러스 : 매년 4월 26일에 플래시 메모리 및 하드 디스크를 못쓰게 만든 파일 바이러스.

 

- LAROUX 바이러스 : 특이한 증상은 없으나 엑셀작업 중 여러 가지 에러 증상으로 불편하게 만든 매크로 바이러스.

 

- 멜리사 바이러스 : 감염된 워드 파일이 이메일로 전송되는 워드 매크로 바이러스.

 

'보안' 카테고리의 다른 글

해킹과 크래킹  (0) 2013.06.21
트로이 목마[네이버 캐스트 펌]  (0) 2013.06.21
대표적인 웜  (0) 2013.06.21
APT  (0) 2013.06.20
정보보호원칙  (0) 2013.06.20