처음 집에 있던 오래된 컴퓨터가 갑자기 엄청 느려지고, 이상한 팝업창이 계속 뜬 적이 있었습니다. 인터넷 창은 알아서 열리고, 설치한 적도 없는 프로그램이 깔려 있었습니다. 그때는 왜 이런 일이 생기는지 몰랐지만, 나중에 알고 보니 여러 종류의 악성코드가 한꺼번에 설치되어 있었던 것입니다. 그 경험 이후로 컴퓨터 바이러스와 악성코드에 대해 제대로 알고, 예방하는 것이 얼마나 중요한지 깨닫게 되었습니다.
아래 내용에서는 컴퓨터를 망가뜨리거나 정보를 훔치는 여러 종류의 악성코드를 정리해 보겠습니다. 이름이 조금 어렵게 느껴질 수 있지만, 큰 흐름만 이해해도 스스로 보안을 지키는 데 큰 도움이 됩니다.
1. 감염 위치와 방식에 따른 악성코드
1-1. 부트 섹터 바이러스 (Boot Sector Virus)
부트 섹터 바이러스는 컴퓨터가 켜질 때 가장 먼저 읽는 부분, 즉 디스크의 시작 부분(부트 섹터)을 감염시키는 바이러스입니다. 이 영역은 운영체제를 불러오는 아주 중요한 부분이라, 한 번 감염되면 컴퓨터를 켤 때마다 바이러스가 계속 실행됩니다.
예전에는 플로피 디스크 같은 이동식 디스크를 통해 많이 퍼졌고, 요즘에는 USB 같은 저장 장치를 통해 전파되는 경우가 있습니다. 다만, 최신 UEFI 방식과 보안 부팅 기능이 도입되면서 과거에 비해 위험이 줄어들었지만, 완전히 사라진 것은 아닙니다.
1-2. 파일 감염 바이러스 (File Infector Virus)
파일 감염 바이러스는 실행 파일(.exe, .com 등)이나 때로는 문서 파일에 자신의 코드를 붙여 넣어 감염시키는 방식입니다. 사용자가 해당 파일을 실행하면, 원래 프로그램과 함께 바이러스도 실행되어 시스템의 다른 파일을 계속 오염시킵니다.
이 바이러스는 보통 다음과 같은 특징을 보입니다.
- 실행 파일 크기가 이상하게 커진다.
- 실행 속도가 느려지거나 오류가 잦아진다.
- 백신 프로그램이 없으면, 같은 폴더의 다른 파일들도 연속으로 감염된다.
1-3. 매크로 바이러스 (Macro Virus)
매크로 바이러스는 Word나 Excel 같은 문서 프로그램의 ‘매크로 기능’을 악용합니다. 매크로는 반복 작업을 자동으로 처리해 주는 작은 프로그램인데, 이 기능을 악성코드 작성자가 악용하는 것입니다.
감염된 문서를 열면, 문서 안에 숨겨져 있던 매크로가 자동으로 실행되면서 다른 문서도 감염시키고, 인터넷을 통해 더 퍼질 수 있습니다. 현재 Office 프로그램에서는 기본적으로 매크로를 차단하는 기능을 제공하고 있어 예전보다 위험이 줄었지만, 사용자 스스로 매크로 실행을 허용하면 여전히 위험해질 수 있습니다.
2. 파괴 방식과 활동 방식에 따른 악성코드
2-1. 웜 (Worm)
웜은 스스로 복제하면서 네트워크를 통해 다른 컴퓨터로 퍼지는 악성코드입니다. 일반적인 바이러스처럼 특정 파일에만 달라붙는 것이 아니라, 인터넷이나 같은 공유기 아래에 있는 다른 PC로도 전파될 수 있습니다.
웜의 주요 특징은 다음과 같습니다.
- 사용자가 별도로 파일을 실행하지 않아도 스스로 퍼진다.
- 네트워크 트래픽을 폭발적으로 늘려 인터넷 속도를 심하게 떨어뜨린다.
- 다른 악성코드를 함께 설치해 더 큰 피해를 유발하기도 한다.
대표적인 예로 WannaCry는 랜섬웨어 기능과 웜 기능을 동시에 가진 악성코드로, 전 세계 수많은 컴퓨터를 순식간에 감염시켰습니다.
2-2. 트로이 목마 (Trojan Horse)
트로이 목마는 겉으로 보기에는 정상적인 프로그램이나 게임, 유틸리티처럼 보이지만, 내부에는 악성 기능을 숨겨 둔 소프트웨어입니다. 스스로 퍼지지는 않지만, 사용자가 속아서 설치 버튼을 눌러 주기 때문에 널리 퍼질 수 있습니다.
트로이 목마의 대표적인 기능은 다음과 같습니다.
- 원격 제어: 해커가 내 컴퓨터를 마음대로 조종할 수 있는 백도어를 설치합니다.
- 키로거: 키보드 입력을 기록해서 아이디, 비밀번호, 카드번호 등을 훔칩니다.
- 추가 악성코드 설치: 다른 바이러스, 랜섬웨어 등을 몰래 더 설치합니다.
2-3. 스파이웨어 (Spyware)
스파이웨어는 말 그대로 ‘몰래 지켜보는’ 악성코드입니다. 사용자가 무엇을 검색하는지, 어떤 사이트에 로그인하는지, 어떤 프로그램을 사용하는지 등의 정보를 몰래 수집해서 외부로 보내는 역할을 합니다.
요즘에는 단순히 해커가 만드는 것뿐 아니라, 광고 회사나 일부 불법 프로그램에서 사용자 동의 없이 과도한 정보를 수집하는 경우도 있어 문제가 되고 있습니다.
2-4. 애드웨어 (Adware)
애드웨어는 사용자가 원하지 않는 광고를 계속 보여 주는 소프트웨어입니다. 모든 애드웨어가 완전히 악성이라고 보기는 어렵지만, 과도한 광고나 몰래 설치되는 경우가 많아 실제로는 악성코드와 비슷하게 취급됩니다.
자주 나타나는 현상은 다음과 같습니다.
- 웹 브라우저를 열 때마다 광고 창이 여러 개 뜬다.
- 검색 결과가 이상한 쇼핑몰 사이트로 자꾸 연결된다.
- 브라우저 시작 페이지가 허락 없이 바뀐다.
2-5. 랜섬웨어 (Ransomware)
랜섬웨어는 요즘 가장 큰 피해를 주는 악성코드 중 하나입니다. 사용자의 파일을 강력한 암호화 기술로 잠가 버리고, 돈을 보내면 풀어 주겠다고 협박합니다. 여기서 ‘랜섬’은 몸값이라는 뜻입니다.
문제는 해커에게 돈을 보낸다고 해서 반드시 복구된다는 보장이 없다는 점입니다. 오히려 다시 노리기 쉬운 ‘좋은 표적’으로 저장될 가능성이 있습니다. 그래서 백업과 예방이 무엇보다 중요합니다.
2-6. 루트킷 (Rootkit)
루트킷은 시스템 깊숙한 곳에 숨어드는 악성코드입니다. 운영체제의 핵심 부분에 끼어들어 자신과 다른 악성코드의 존재를 숨기고, 관리자 권한을 빼앗습니다.
루트킷이 위험한 이유는 다음과 같습니다.
- 일반 백신 프로그램으로는 잘 보이지 않으며, 탐지가 매우 어렵습니다.
- 이미 설치된 다른 악성코드를 숨겨 주어 제거를 어렵게 만듭니다.
- 시스템 자체를 조작할 수 있어, 보안 기록을 지우거나 조작할 수 있습니다.
2-7. 봇넷 (Botnet)
봇넷은 하나의 악성코드 종류라기보다, 감염된 많은 컴퓨터를 모아서 하나의 거대한 ‘좀비 군단’처럼 사용하는 방식입니다. 각 감염된 컴퓨터를 ‘봇’ 또는 ‘좀비 PC’라고 부르고, 이를 조종하는 서버나 해커를 ‘봇 마스터’라고 부르기도 합니다.
봇넷은 다음과 같은 범죄에 자주 사용됩니다.
- DDoS 공격: 특정 사이트에 동시에 엄청난 접속을 몰아 사이트를 다운시키는 공격
- 스팸 메일 대량 발송
- 새로운 악성코드 유포
2-8. 광고성 소프트웨어와 PUP (Potentially Unwanted Programs)
PUP는 ‘잠재적으로 원치 않는 프로그램’이라는 뜻입니다. 꼭 불법적인 행위를 하지 않을 수도 있지만, 사용자가 의도하지 않았는데 설치되고, 불편함을 주는 경우가 많습니다.
예를 들어 다음과 같은 것들이 있습니다.
- 브라우저 도구 모음을 여러 개 설치해서 화면을 복잡하게 만드는 프로그램
- 시작 페이지를 임의로 바꾸고, 제거도 잘 안 되는 프로그램
- 성능 향상을 약속하면서 실제로는 광고만 잔뜩 보여 주는 정리 프로그램
3. 동작 방식에 따른 특수한 악성코드
3-1. 다형성 바이러스 (Polymorphic Virus)
다형성 바이러스는 감염될 때마다 자신의 코드 모양을 자꾸 바꾸는 바이러스입니다. 기능은 같지만, 내부 구조나 일부 코드가 계속 달라져서 백신 프로그램의 패턴 탐지를 피하려고 합니다.
예전에는 주로 간단한 코드 변경 정도였지만, 요즘에는 암호화와 난독화 기술까지 사용해 분석을 어렵게 만듭니다. 그래서 최신 백신은 단순 패턴뿐 아니라, 이상 행동(행위 기반)을 함께 분석하여 이런 바이러스를 찾아내고 있습니다.
3-2. 은폐형 바이러스 (Stealth Virus)
은폐형 바이러스는 자신의 존재를 숨기기 위해 각종 정보를 조작하는 방식입니다. 예를 들어 파일 크기가 변했는데도 원래 크기로 보이게 속이거나, 파일이 수정된 날짜를 이전과 똑같이 보이게 만드는 식입니다.
이런 바이러스는 단순히 파일 목록이나 크기만 보고는 감염 여부를 알기 어려우며, 전문적인 검사 도구가 필요할 때가 많습니다.
4. 바이러스와 악성코드, 무엇이 다를까
많은 사람들이 모든 악성 프로그램을 ‘바이러스’라고 부르지만, 정확히 말하면 다음과 같이 구분합니다.
- 악성코드(Malware): 컴퓨터에 피해를 주거나 정보를 훔치기 위해 만든 모든 나쁜 소프트웨어의 총칭입니다.
- 바이러스(Virus): 악성코드 중에서 스스로 복제하여 다른 파일을 감염시키는 특징을 가진 것만을 가리킵니다.
웜, 트로이 목마, 랜섬웨어, 스파이웨어, 애드웨어 등은 모두 넓은 의미의 악성코드에 포함되며, 그중 일부만 엄격한 의미의 ‘바이러스’라고 부를 수 있습니다.
5. 계속 변하는 새로운 위협
악성코드는 매년 새로운 형태가 등장합니다. 예전에는 단순히 장난 수준으로 파일을 지우거나 화면에 메시지를 띄우는 정도였지만, 지금은 돈을 노리는 범죄 수단으로 발전했습니다.
최근에는 다음과 같은 경향이 있습니다.
- 랜섬웨어와 트로이 목마, 스파이웨어 기능을 섞은 복합 악성코드
- 가상화폐(암호화폐)를 몰래 채굴하는 악성코드
- 스마트폰, 태블릿, 사물인터넷(IoT) 기기를 노리는 악성코드
이 때문에 한 번 배운 내용만으로는 충분하지 않고, 꾸준히 새로운 보안 소식에 관심을 가지는 태도가 필요합니다. 예를 들어 한국인터넷진흥원(KISA)에서 제공하는 보안 권고 페이지를 참고하는 것도 좋은 방법입니다. 한국인터넷진흥원(KISA) 홈페이지에서는 실제 사례와 예방 방법을 정리해 주고 있습니다.
6. 악성코드 예방을 위한 실천 방법
6-1. 백신 프로그램과 보안 업데이트
신뢰할 수 있는 백신 프로그램을 설치하고, 자동 업데이트를 켜 두는 것이 기본입니다. 백신은 새로운 악성코드를 분석한 뒤, 그 정보(패턴)를 업데이트 형태로 배포합니다. 사용자가 업데이트를 하지 않으면, 오래된 정보로만 검사하게 되어 최신 악성코드를 놓치기 쉽습니다.
운영체제(Windows, macOS 등)와 자주 쓰는 프로그램(웹 브라우저, 메신저, 문서 프로그램 등)도 항상 최신 버전을 유지해야 합니다. 많은 악성코드가 오래된 버전의 취약점을 노려 침입하기 때문입니다.
6-2. 의심스러운 파일과 링크 주의
다음과 같은 행동은 악성코드 감염 가능성을 크게 높입니다.
- 출처가 불분명한 사이트에서 프로그램을 아무 생각 없이 설치하는 것
- 모르는 사람이 보낸 이메일 첨부 파일을 바로 여는 것
- 메신저나 SNS에서 온 짧은 링크를 확인도 안 하고 클릭하는 것
파일을 열기 전에 백신으로 먼저 검사해 보고, 조금이라도 이상하다면 열지 않는 습관이 중요합니다.
6-3. 정품 소프트웨어 사용과 안전한 다운로드
불법 복제 소프트웨어나 크랙(crack) 프로그램에는 악성코드가 함께 들어 있는 경우가 많습니다. 겉으로 보기에는 정상 설치 파일처럼 보여도, 내부에는 트로이 목마나 랜섬웨어가 숨겨져 있을 수 있습니다.
가능하면 공식 홈페이지나 공인된 앱 스토어에서만 프로그램을 다운로드하고, 정품 소프트웨어를 사용하는 것이 안전합니다.
6-4. 강력한 비밀번호와 정기적인 백업
악성코드 피해를 줄이는 가장 확실한 방법 중 하나는 ‘백업’입니다. 중요한 문서와 사진을 외장하드나 클라우드에 정기적으로 백업해 두면, 랜섬웨어에 감염되더라도 데이터를 살릴 가능성이 높아집니다.
또한 계정마다 다른 비밀번호를 사용하고, 대문자·소문자·숫자·특수문자를 섞어 만드는 것이 좋습니다. 가능하다면 2단계 인증(휴대폰 인증번호 등)도 함께 사용하는 것이 안전합니다.
이처럼 컴퓨터 바이러스와 악성코드는 종류도 많고, 계속 새롭게 변하고 있습니다. 하지만 기본 개념을 이해하고, 평소에 몇 가지 습관만 잘 지켜도 위험을 크게 줄일 수 있습니다.