IT

컴퓨터 바이러스 종류와 백신 작동 방식과 복구 한계

&38^^@& 2025. 4. 16. 18:38

컴퓨터 바이러스는 지금도 실시간으로 진화하고 있죠. 최초의 컴퓨터 바이러스와 작동 방식, 바이러스의 진화 단계와 종류, 백신 프로그램의 작동 방식과 복구 방식, 복구 한계에 대해 알아보겠습니다.

 

컴퓨터 바이러스 종류와 백신 작동 방식과 복구 한계

 

 

중요한 데이터를 파괴하고 시스템을 마비시키는 컴퓨터 바이러스의 탄생 배경과 초기 형태, 그리고 그 진화 과정을 살펴보겠습니다.

 

최초의 PC 바이러스와 바이러스 역사

프로그램이 스스로를 복제한다는 개념은 바이러스가 실제로 등장하기 훨씬 전부터 존재했습니다. 1960년대 후반에 이미 자기 복제 프로그램인 '래빗(Rabbit)'이 등장했지만, 이는 실험적인 성격이 강했고 오늘날의 바이러스와는 거리가 있었습니다.

 

'컴퓨터 바이러스'란 말이 처음 사용된 것은 1972년 데이비드 제롤드의 공상 과학 소설 "When Harlie Was One"에서였습니다. 소설 속에서는 스스로를 복제하며 다른 컴퓨터로 퍼져나가 시스템을 마비시키는 프로그램이 등장하며, 미래의 컴퓨터 바이러스 개념을 예견했습니다.

 

크리퍼-바이러스
크리퍼 바이러스

 

실험적인 형태의 초기 바이러스로는 1970년대 초 ARPANET(인터넷의 전신)에서 발견된 '크리퍼(Creeper)'를 들 수 있습니다. 크리퍼는 네트워크를 통해 스스로를 복제하며 이동했고, 감염된 시스템에는

 

"I'M THE CREEPER : CATCH ME IF YOU CAN"

 

이라는 메시지를 남겼습니다. 악의적인 파괴 행위보다는 자기 복제와 이동 능력 자체에 초점을 맞춘 실험적 프로그램이었습니다. 흥미롭게도, 이 크리퍼를 추적하고 삭제하기 위해 만들어진 '리퍼(Reaper)'라는 프로그램이 등장했는데, 이는 최초의 안티바이러스 프로그램의 개념으로 볼 수 있습니다.

 

최초의 PC 바이러스 브레인 바이러스 (Brain Virus)

개인용 컴퓨터(PC)의 최초 바이러스는 1986년 파키스탄에서 만들어진 '브레인(Brain)' 바이러스로 알려져 있습니다. 파키스탄의 프로그래머 형제인 바싯 파루크 알비(Basit Farooq Alvi)와 암자드 파루크 알비(Amjad Farooq Alvi)가 개발했습니다.

 

이 형제는 자신들이 개발한 의료용 소프트웨어가 불법 복제되는 것을 막기 위해 만들었는데, 불법 복제하는 사용자에게 경고나 작은 골탕을 먹이려는 의도였습니다. 바이러스에 감염된 디스크에는 저작권 관련 메시지가 포함되어 있었습니다.

 

작용 방식은 플로피 디스크의 부트 섹터를 감염시켜 디스크로 부팅하면 바이러스가 컴퓨터 메모리에 상주하게 되고, 이후 다른 플로피 디스크를 넣으면 그 디스크까지 감염시키는 방식으로 퍼져나갔습니다. 주요 증상으로는 디스크 접근 속도가 느려지거나 디스크 볼륨 이름이 '(c) Brain'으로 바뀌는 등이 있었지만, 데이터를 직접적으로 파괴하는 악성 기능은 비교적 적었습니다.

 

브레인-바이러스
브레인 바이러스

 

 

브레인 바이러스는 '은폐형(Stealth)'으로 감염 사실을 숨기기 위해 특정 조건에서는 감염되지 않은 것처럼 보이는 기능을 가지고 있어서 이후 바이러스 제작 기술 발전에 영향을 미치게 됩니다.

 

바이러스의 확산과 진화

1987년 이스라엘에서는 특정 날짜(13일의 금요일)에 활성화되어 파일을 삭제하는 '예루살렘(Jerusalem)' 바이러스가 발견되는 등 다양한 바이러스가 등장하기 시작했습니다. 초기에는 바이러스에 대한 개념이 부족했고 대처 방법도 마땅치 않아 빠르게 전 세계로 퍼져나갔습니다.

 

초기 브레인 바이러스처럼 저작권 보호 목적도 있었지만, 점차 자신의 프로그래밍 실력을 과시하거나 사회에 불만을 표출하는 등 다양한 동기로 바이러스가 제작되었습니다. 특히 80년대 후반과 90년대 초반, 미국과 동구권(특히 불가리아) 해커들이 바이러스 제작에 열을 올리면서 기술적으로도 급격히 발전하게 됩니다.

 

예루살렘-바이러스
예루살렘 바이러스

 

바이러스 기술의 발전, 세대별 구분

1세대 (원시형): 구조가 단순하고 분석이 쉬운 초기 형태 (예: 스톤드, 예루살렘)

2세대 (암호형): 바이러스 코드를 암호화하여 백신 탐지를 피하려 시도 (예: 캐스케이드)

3세대 (은폐형): 메모리에 상주하며 감염 사실 자체를 숨김 (예: 브레인, 조쉬)

4세대 (갑옷형/다형성): 분석을 어렵게 하기 위해 복잡한 암호화와 자기 수정 기법 사용, 감염될 때마다 코드 형태가 변함 (예: 웨일)

5세대 (매크로): 워드, 엑셀 등 응용 프로그램의 매크로 기능을 악용. 문서 파일을 통해 쉽게 전파됨.

 

세대 구분은 기술적 특징으로 분류한 것으로 시간 순서와 일치하지는 않습니다. 예를 들어 초기 바이러스인 브레인도 은폐 기법을 사용했기에 3세대로 분류됩니다.

 

바이러스는 시간이 흐르면서 제작 동기가 다양해지고 기술적으로 고도화되어 갔으며, 이에 맞서 백신 프로그램 역시 끊임없이 발전해 왔습니다. 오늘날에도 새로운 형태의 바이러스와 악성코드가 계속 등장하고 있으며, 안전한 컴퓨팅 환경을 위한 지속적인 관심과 노력이 필요합니다.

 

바이러스토탈
바이러스토탈

 

VirusTotal은 구글의 자회사이며 바이러스, 웜, 트로이 목마 및 바이러스 백신 엔진과 웹 사이트 스캐너에 의해 검출된 악성 콘텐츠가 파일과 URL에 포함되어 있는지 여부를 분석하는 무료 온라인 서비스입니다.


관련 글

ipconfig 사용법과 용어설명

 

Windows Defender 실시간 보호 해제 3가지 방법

 

50·60대 엄마 생일 선물, 가격대별 의미 있는 선물 추천


 

백신 프로그램은 어떻게 작동하나?

백신 프로그램(Antivirus Software)은 바이러스와 악성코드(Malware)를 차단하는 도구입니다. 바이러스를 찾아내고, 무력화하며, 시스템 복구를 돕는 과정은 다음과 같습니다.

 

1. 바이러스 탐지, 어떻게 찾아내는가?

 

가. 시그니처 기반 탐지 (Signature-based Detection)는 가장 많이 사용되는 방식으로 이미 발견된 바이러스들의 고유한 특징(코드 조각, 파일 구조 등)을 데이터베이스화하여 '시그니처(Signature)' 또는 '정의(Definition)' 파일로 만듭니다.

 

백신 프로그램은 컴퓨터의 파일이나 메모리를 스캔하면서 이 시그니처 데이터베이스와 비교합니다. 일치하는 패턴이 발견되면 해당 파일을 악성코드로 진단합니다.

 

이미 알려진 바이러스는 매우 정확하고 빠르게 탐지하지만, 새로운 변종이나 신종은 탐지하기 어렵습니다. 따라서 백신 엔진과 시그니처 데이터베이스를 항상 최신 상태로 업데이트해야 합니다.

 

나. 휴리스틱 기반 탐지 (Heuristic-based Detection)는 알려지지 않은 새로운 바이러스를 탐지를 목표로 하며, 파일의 구조, 명령어, 행동 패턴 등을 분석하여 '악성코드로 의심되는 행위'나 특징을 찾아냅니다.

예를 들어, 시스템 파일을 수정하려는 시도, 자기 자신을 복제하려는 코드, 비정상적인 네트워크 통신 시도 등을 감지합니다.

 

신종과 변종 바이러스에는 방어 능력이 좋지만 정상적인 프로그램도 간혹 악성코드로 오진하기도 합니다.

 

다. 행위 기반 탐지 (Behavioral-based Detection) 휴리스틱 탐지와 비슷하지만, 파일 자체보다는 프로그램이 실행될 때 실제로 어떤 행동을 하는지 실시간으로 감시하는 데 중점을 둡니다.

 

프로그램이 실행되면서 시스템 레지스트리를 과도하게 수정하거나, 다른 프로세스에 코드를 주입하거나, 랜섬웨어처럼 파일을 암호화하려는 등의 의심스러운 '행위'가 감지되면 이를 차단하고 사용자에게 알립니다.

 

실행 시점에 악성 행위를 탐지하므로 파일 형태를 계속 바꾸는 지능적인 악성코드 탐지에 효과적이지만 시스템 자원을 비교적 많이 사용하고 오진 가능성도 있습니다.

 

라. 클라우드 기반 탐지 (Cloud-based Detection)는 최신 백신에 많이 적용되는 기술로 의심스러운 파일을 백신 회사의 클라우드 서버로 전송하여 방대한 데이터베이스와 분석 시스템으로 악성 여부를 판단합니다.

 

전 세계 사용자들로부터 수집된 최신 위협 정보를 실시간으로 활용하여 탐지율을 높이며 최신 위협 정보에 빠르게 대응할 수 있고, 사용자 PC의 부담을 줄일 수 있습니다. 단점으로 인터넷 연결이 필요하며, 파일 정보 전송에 대한 프라이버시 우려가 있을 수 있습니다.

마. 샌드박스 (Sandbox) 분석 의심스러운 파일을 즉시 실행하지 않고, 시스템과 격리된 가상 환경(샌드박스) 내에서 실행시켜 어떤 행동을 하는지 안전하게 관찰하고 분석하는 기법입니다.

 

바이러스토탈-작동원리
바이러스토탈 작동원리

 

2. 바이러스 무력화 처리 방법

가. 치료 (Cleaning/Disinfection) 감염된 파일에서 악성코드 부분만 정확히 제거하고 원본 파일을 복구하는 것을 시도합니다. 주로 문서 파일에 감염된 매크로 바이러스나 일부 파일 감염형 바이러스에 적용됩니다. 모든 바이러스를 완벽하게 치료할 수 있는 것은 아니며, 파일 구조가 심하게 손상된 경우 치료가 불가능할 수도 있습니다.

 

나. 격리 (Quarantine) 악성코드 파일을 즉시 삭제하지 않고, 시스템의 다른 부분과 상호작용할 수 없는 안전한 격리 공간(Quarantine 폴더)으로 이동시킵니다. 악성코드가 더 이상 활동하거나 다른 파일을 감염시키는 것을 막습니다.

 

사용자는 격리된 파일을 검토하고, 만약 오진이었다면 복원하거나, 불필요하다면 영구적으로 삭제할 수 있습니다. 가장 안전하고 일반적인 처리 방식입니다.

 

다. 삭제 (Deletion) 악성코드 파일을 시스템에서 완전히 제거합니다. 치료가 불가능하거나 파일 자체가 악성코드인 경우(예: 트로이 목마) 사용됩니다.

 

중요한 시스템 파일이나 사용자 데이터 파일이 감염된 경우, 삭제하면 해당 파일이 사라지므로 주의가 필요합니다. 이런 이유로 삭제보다는 격리가 선호되는 경우가 많습니다.

 

라. 실행 차단/접근 거부 (Blocking) 악성코드로 의심되는 파일의 실행을 즉시 차단하거나, 악성 웹사이트로의 접근을 막습니다. 실시간 감시 기능에서 주로 사용됩니다.

 

바이러스토탈-확장프로그램
바이러스토탈 확장프로그램

 

3. 파괴된 시스템 복구 (Recovery)

백신 프로그램의 주된 역할은 예방, 탐지, 제거로 파괴된 시스템을 '복구'하는 기능은 제한적입니다.

 

가. 백신 프로그램이 할 수 있는 복구 

일부 바이러스는 시스템 설정을 변경하기 위해 윈도 레지스트리 값을 수정합니다. 백신 프로그램은 알려진 바이러스가 변경한 특정 레지스트리 값을 원래대로 복원합니다.

 

실행 중인 악성 프로세스를 강제 종료하고, 바이러스가 만든 파일이나 시작 프로그램 등록 등을 제거하여 시스템이 정상적으로 작동하도록 돕습니다.

 

일부 악성코드는 정상 파일을 숨김 속성으로 변경하는데, 백신이 이를 원래대로 되돌려 놓기도 합니다.

 

나. 백신 프로그램이 하기 어려운 복구 (중요!)

바이러스가 이미 삭제해 버린 사용자 파일(문서, 사진 등)은 복구할 수 없어서 일단 삭제된 것을 되돌리지는 못합니다. (별도의 데이터 복구 전문 프로그램이 필요하며, 이마저도 성공을 보장하지 못합니다.)

 

랜섬웨어에 의해 암호화된 파일은 복구할 수 없습니다. 간혹 특정 랜섬웨어의 취약점을 이용해서 복구되는 경우도 있지만 거의 불가능합니다.

 

바이러스가 운영 파일을 손상시키거나 변경한 경우, 완전 복구는 어려워서 윈도의 '시스템 복원'을 사용하거나 운영체제를 재설치해야 합니다.

 

백신 프로그램은 악성코드를 탐지하고 제거하여 추가적인 피해를 막는 데 매우 효과적입니다. 하지만 이미 발생한 데이터 손실(파일 삭제, 암호화)이나 심각한 시스템 손상을 완벽하게 '복구'하는 만능 도구는 아닙니다.

 

따라서 평소 중요한 데이터는 정기적으로 백업하는 습관이 무엇보다 중요하며, 운영체제의 '시스템 복원 지점 만들기' 기능을 활용하는 것도 좋은 대비책이 될 수 있습니다.