컴퓨터 바이러스

최근 편집일시 :

1. 개요
2. 역사
2.1. 최초의 바이러스
2.2. 탄생 원인
3. 종류
3.1. 나무위키에 작성된 바이러스 문서 목록 (발생연도 순)
4. 보안 방법
4.1. 예방
4.2. 이미 감염된 이후
4.2.1. 증상 발견
4.2.2. 안티바이러스의 바이러스 분석 방식
5. 기타
6. 관련 문서
7. 참고자료


1. 개요[편집]


Computer Virus

악성코드(Malware)의 감염 방식 중 하나로, 생물학적 바이러스가 다른 세포 속에 들어가 그 세포를 악성세포로 만들 듯이, 컴퓨터 바이러스는 정상적인 프로그램과 코드를 악성코드로 만들며 스스로를 복제하여 컴퓨터 소프트웨어 전체에 전파된다. 주로 바이러스라는 약어로 많이 쓰인다.

가장 대표적인 악성코드였기에 악성코드를 의미하는 유의어로도 사용되었다. 그러나 최근에는 컴퓨터 바이러스 - 트로이 목마 - 웜이 모두 혼합된 신종 악성코드들이 많아져 칼같이 바이러스와 웜을 구분하지 않는다.

최근에는 그다지 바이러스에 대한 얘기가 없는데, 악성코드와 개념이 혼재된 탓도있지만 사용자 파일을 지우고 망가뜨리기만 하는것으로는 기본적으로 돈이 안되기 때문이다. 랜섬웨어로 PC를 인질로잡고 돈을 뜯어내는 식으로 메타가 바뀌었다.

2. 역사[편집]


컴퓨터 바이러스의 역사는 1970년대크리퍼 바이러스가 그 시초라 볼 수 있다. 그러나 크리퍼 바이러스는 컴퓨터 파괴 목적보다는 자기복제의 개념에 더 가까웠으며, 엄밀히 구분하자면 현대의 의 개념에 더 가깝다. 또한, 크리퍼가 만들어질 당시에는 이러한 프로그램을 바이러스라 부르지는 않았다. 이러한 프로그램에 바이러스라는 이름이 붙은 것은 미국의 SF작가인 데이비드 제롤드의 소설 할리가 하나였을 때(When Harlie was One)에서 “다른 컴퓨터에 계속 자신을 복제, 감염된 컴퓨터의 운영체제에 영향을 미쳐 점차 시스템을 마비시키는 장치를 한 과학자가 제작해 배포한다”는 개념을 바이러스로 소개하면서부터였다. 이후 1985년 미국에서 컴퓨터를 악의적으로 파괴하는 프로그램이 점차 알려지기 시작하였고[1] 1986년에는 파키스탄에서 브레인 바이러스가 유행하였다.[2] 그러나 이 시절의 바이러스는 현재의 복제 개념이 아닌 이동인 원시적 형태였다.


2.1. 최초의 바이러스[편집]


파일:external/upload.wikimedia.org/Rich_Skrenta.jpg
엘크 클로너의 개발자
리처드 '리치' 스크렌타
이동이 아니라 진짜 복제 개념이 들어간 최초의 바이러스는 엘크 클로너(Elk Cloner)라는 프로그램이다. 이는 1982년 경에 만들어졌는데, 놀랍게도 이를 만든 이는 당시 15세였던 리처드 '리치' 스크렌타라는 소년이었다.[3] 이 Elk Cloner는 Apple II 시스템에만 감염되었으며 부팅용 플로피 디스크에 감염되는 일종의 부트 섹터 바이러스였다. Elk Cloner는 부팅된 이후 메모리에 남아있다가 만약 감염되지 않은 새로운 디스크가 컴퓨터에 들어오면 자신을 해당 디스크에 감염시켰다. 이런 식으로 Elk Cloner는 디스크에서 디스크를 통해 감염되는 프로그램이었다. Elk Cloner는 특별히 파괴적인 활동을 벌이지는 않았으며, 감염된 컴퓨터는(정확히는 플로피 디스크) 감염된 뒤 50번째로 부팅하면 다음과 같은 짧은 시를 출력했다.

디스크 이미지 파일 다운로드

초다의 시연 영상

Elk Cloner: The program with a personality
엘크 복제자 : 자아를 가진 프로그램
It will get on all your disks
그것은 너의 모든 디스크를 헤집으며
It will infiltrate your chips
네 칩 속을 드나들지
Yes, it's Cloner!
그래, 바로 복제자다!
It will stick to you like glue
그것은 끈끈이처럼 너에게 들러붙고
It will modify RAM too
램도 휘저어 놓지
Send in the Cloner!
복제자를 들여보내라!

한편 이 Elk Cloner는 실질적으로 별다른 피해를 주는 것은 없었고[4], 이 Elk cloner가 퍼져나간 범위도 개발자인 스크렌타의 주변 인물 정도였기 때문에 이것에 대한 백신이 개발된 적은 없다고 한다. Elk Cloner에 대한 분석


2.2. 탄생 원인[편집]


악의적 컴퓨터 바이러스가 세상에 퍼지게 된 경위에는 여러 가지 설들이 있다. 대표적으로 자신의 능력을 과시하기 위해 만들었다는 설[5] , 경쟁사 등에 타격을 주기 위한 상업적 목적으로 만들었다는 설, 소프트웨어의 유통 경로 등을 추적하기 위해 만들었다는 설 등이 대두된다. 그러나 이는 은밀하게 유포되는 바이러스의 특성상 정확하게 구분 짓기는 어렵고 복합적이고 전반적인 경위로 보아야 할 것이다.


3. 종류[편집]


바이러스는 크게 부트 영역을 감염시키는 부트(boot) 바이러스, 그리고 본래 숙주 프로그램에 감염되었다가 그 기능을 수행하는 숙주 바이러스로 구분된다. 후기에는 이 두 가지를 합친 복합 감염 바이러스도 등장했다. 바이러스는 만들어진 목적과 의도에 따라 그 종류가 크게 세분화되지만, 대표적으로 감염된 뒤 바로 기능을 수행하는 바이러스, 일정 기간의 잠복기를 거쳐 수행되는 바이러스, 공격자가 프로그래밍한 특정 일자에 실행되는 바이러스가 있다.

일단 종류 자체는 악성 소프트웨어이므로 생물학 분야의 바이러스와는 달리 컴퓨터를 물리적으로 파괴하지는 않는다. 다만 하드웨어를 오작동시켜서 간접적으로 물리적 손상을 입히는 사례는 있다.

바이러스 진단명은 백신이 자체적으로 정하는데 널리 알려진 이름은 쓰지만 구체적으로 국제표준 같은 건 없기 때문에 조금씩 다르다. 이름 뒤에 숫자가 붙는 경우, 이 숫자는 일반적으로 바이러스 코드의 크기로(바이트 단위) 이 크기가 달라지면 변종으로 판정한다. 예를들면 1992년에 발견되었던 나타스(Natas)라는 바이러스는 Natas.4740, Natas.4744, Natas.4774, Natas.4988이라는 4가지 변종이 존재한다.

ActiveX 그 자체는 바이러스가 아니지만, 해당 플랫폼을 기반으로 작동하면서 안 취약점을 파고드는 바이러스나 스파이웨어가 너무나 많은 데다, 마찬가지로 ActiveX 기반 한국제 보안 프로그램(nProtect 등)들의 무겁기만 무겁고 실제 성능은 영 믿을만하지 못한 것까지 겹쳐서 해당 플랫폼 그 자체가 바이러스라고 비난하거나 마이크로소프트가 바이러스 플랫폼을 만들었다는 우스갯소리가 진지하게 통한 적도 있었을 만큼 여러모로 문제가 많아서 결국 마이크로소프트에서도 정식 지원을 중단한 상태이다.

마이크로소프트 오피스VBA라고 해서 비주얼 베이식 언어로 고급 기능을 가진 매크로를 제작할 수 있는데, 이것도 악성 코드의 표적이 됐다. VBA를 이용한 스크립트로 문서 파일을 열기만 해도 컴퓨터를 파괴하거나 이상행동을 일으키는 종류의 바이러스들이 나타나게 된 것. 이것들은 '매크로 바이러스'라고 부른다. 99년에 대란을 일으킨 멜리사 바이러스가 이 매크로 바이러스의 대표주자. 매크로 바이러스는 2000년대에 기승을 부려 이후 마이크로소프트는 아예 문서에 VBA 매크로가 포함되어 있음을 알려주는 경고창을 만들고 VBA 기능을 옵션에서 켜야만 사용할 수 있게 만들었다.


3.1. 나무위키에 작성된 바이러스 문서 목록 (발생연도 순)[편집]


여기에 목록을 추가하거나 관련 문서를 새로 작성할 때,
[[분류:컴퓨터 바이러스]]
로 분류해주시기 바랍니다. 자기복제 능력이 없는 트로이 목마나 웜에 대해서는 각각 트로이 목마(악성코드)웜(악성코드) 문서로.




4. 보안 방법[편집]


보안 프로그램 문서 참고.


4.1. 예방[편집]


  • 의심되는 사이트 회피

  • 네트워크 침입 탐지 및 보호 시스템: 네트워크를 통해 들어오는 신호들 중 비정상적인 신호들을 걸러낸다. 디도스 방어는 여기서 이루어진다.

  • 방화벽: 컴퓨터 내부로 침입하는 시도를 차단한다.

  • 혹시 모르게 깔렸을 수 있는 잡다한 임시 파일들을 주기적으로 삭제하기. 이런데 악성코드가 섞여서 들어온다.

  • 정보 공유: 바이러스 토탈 같은 보안 데이터베이스를 통해 최근 유행하는 바이러스를 찾아보기.

  • 보안 프로그램의 업데이트: 바이러스를 예방하기 위해선 여타 다른 악성코드들과 다를 것 없이, 우선 안티 바이러스(백신) 소프트웨어를 활성화하고, 항상 주기적으로 업데이트하며 윈도우 보안 업데이트를 설치해야만 한다. 또한 의심스러운 사이트나 프로그램 등은 실행 전 충분한 경계가 요구된다. 대부분의 안티 바이러스 소프트웨어[6]는 이러한 바이러스들을 감지하고 치료할 수 있는 능력을 가지고 있다.

4.2. 이미 감염된 이후[편집]



4.2.1. 증상 발견[편집]


다음 증상이 지속적, 또는 갑자기 발생하면 바이러스 감염을 의심해볼 수 있다.
  • 컴퓨터가 평소와 달리 느려지는 경우
  • 아예 부팅이 되지 않는 경우
  • 블루스크린 등이 자주 발생하는 경우
  • 특정 파일 등의 정보(크기, 이름 등)가 지속적으로 변하는 경우[7]
  • 기타 평소 발생하지 않은 의심스러운 증상이 발생하는 경우
  • 이상한 파일(예: wosfawr.exe, iliawtzg.exe[8] 등)이 생성된 경우[9]

그리고 몇몇 바이러스들은 증상이 심해지거나 본격적인 증상이 발동되면, 제작자의 메세지나 장난성 그래픽 효과가 튀어나오기도 한다. 이는 바이러스 제작자가 스스로를 과시하기 위한 용도, 혹은 모종의 메세지를 주기 위해서일 가능성이 크다. MS-DOS 시절에는 보통 이런 그래픽 효과를 ANSI 아트로 그렸다.


4.2.2. 안티바이러스의 바이러스 분석 방식[편집]


컴퓨터 바이러스 분석은 크게 다음과 같은 두 가지 방법으로 나눌 수 있다.
  • 정적 분석: 바이러스로 의심되는 대상을 실행하지 않고 분석을 하는 방식이다. 일반적으로 바이러스가 실행할 수 있는 모든 코드 및 실행 경로들을 분석할 수 있지만, 실제 실행과 관련된 정보가 제한된다. 대표적으로 간접 호출 (Indirect Call) 경우 호출 대상이 여러 개 가능할 경우이다. 이를 위해 심볼릭 실행 (Symbolic Execution) 방식이 존재하나 너무 느리다는 단점이 있다.
  • 동적 분석: 바이러스로 의심되는 대상을 가상 환경 등에서 실행하여 생성 레지스트리, 파일 실행, 파일 및 프로세스, 시스템 콜 호출 등 행위를 분석한다. 정적 분석과 다르게 실제 실행과 관련된 정보를 얻을 수 있지만, 실행 경로에 포함되는 코드들만 분석이 가능하기 때문에 정보가 제한된다.


5. 기타[편집]


  • 컴퓨터나 AI, 전자기기등을 모티브로한 캐릭터들이 바이러스에 감염되는것은 거의 클리셰이다. 대부분 감염되면 성격이 무자비하게 변하거나 보이는것을 닥치는데로 죽이려한다.

6. 관련 문서[편집]


  • 악성코드[10]
  • 트로이 목마
  • 스파이웨어
  • 랜섬웨어
  • 애드웨어
  • 안티 바이러스
  • 허위 백신 프로그램
  • 해킹
  • ANSI[11]
  • DDoS


7. 참고자료[편집]


DOS 컴퓨터 바이러스 실행 영상이나, 초기 윈도우 시절의 컴퓨터 바이러스 실행 영상을 모아 두고 있다. 아주 가끔 랜섬웨어나 근래의 보안 이슈들을 들고 나오기도 한다. 몇몇 영상은 유저 한국어 자막이 붙어서 나오며 국산 악성코드인 련선웨어도 소개된 바가 있다.
도스 시절의 바이러스를 체험할 수 있다. 물론 도스 박스를 통한 가상머신 안에서만 끝나기 때문에 안전하다.


파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-12-20 11:49:20에 나무위키 컴퓨터 바이러스 문서에서 가져왔습니다.

[1] 그래도 최초의 바이러스는 어느 정도 좋은 의도로 만들어졌다. 함부로 크랙 버전을 만들어 무단 배포하는 사람들을 골탕 먹이려는 의도였다.[2] 한국에서도 1988년 브레인 바이러스가 알려지기 시작했다.[3] 이 소년은 이제는 어른이 된 지금도 컴퓨터 프로그래머로 활동 중이며 'blekko'라는 검색 엔진 개발을 주도하기도 했다.[4] 굳이 따지자면 사용자들에게 공포감을 들게 하는 정도였다.허위 바이러스[5] 2010년대 들어서는 자신의 이름이나 얼굴을 걸고 유투브에 자작 바이러스의 실행 영상을 올리거나 GitHub에 소스 코드를 올리고 있다. 단, 이경우는 대부분은 실행 영상이나 readme 파일 등에 실행하지 말라고 경고하거나 따로 치료 프로그램을 제공한다.[6] 단, 허위 백신에 주의해야 한다.[7] 용량 크기 변화의 경우 파일이 감염되었다는 것이다.[8] csrss.exe을 위장하기 위해 csrss.exe iliawtzg.exe 이렇게 적는 경우가 있다.[9] 대부분 임시폴더(temp)에 생성된다. 혹은 시스템 폴더 또는 appdata에 생성하는 경우도 있다.[10] 트로이 목마, 바이러스, 스파이웨어 등을 통칭하는 개념이다. 해당 문서 참조.[11] 도스 시절 바이러스들은 특정한 그림 그래픽을 보통 이렇게 표현하곤 했다.