사이버 공격 유형 정리 :: 악성코드형 (바이러스, 웜, 트로이목마, 스파이웨어, 애드웨어, 루트킷, 봇)
바이러스(Virus)
정의
정상 파일이나 프로그램에 자신의 코드를 삽입해서, 그 숙주가 실행될 때 함께 실행되며 다른 파일로 스스로 복제되는 악성코드
독자적으로 실행될 수 없고 반드시 숙주 파일이 필요하다는 게 핵심 특징
동작 방식
감염된 파일이 실행되면 바이러스 코드가 먼저 동작하면서 다른 실행 파일들을 찾아 자신을 복제해 넣음
사용자가 감염된 파일을 다른 사람에게 전달하거나 이동식 저장장치로 옮기면 함께 확산됨
주요 유형
파일 감염형: 실행 파일(.exe 등)에 기생
매크로 바이러스: 워드, 엑셀 같은 문서의 매크로 기능을 악용해서 문서를 열면 실행
부트섹터 바이러스: 디스크의 부팅 영역에 감염돼서 시스템 부팅 시 실행
웜(Worm)
정의
바이러스와 달리 숙주 파일이 필요 없이 독자적으로 실행되고, 네트워크 취약점이나 이메일 등을 통해 스스로 다른 시스템으로 전파되는 악성코드
바이러스와 차이
바이러스는 사람이 감염된 파일을 실행하거나 옮겨야 확산되지만, 웜은 사람의 개입 없이 네트워크를 통해 자동으로 퍼짐
그래서 확산 속도가 훨씬 빠르고 파급력이 큼
대표 사례
워너크라이(WannaCry): SMB 프로토콜의 취약점(EternalBlue)을 악용해서 패치 안 된 윈도우 시스템 사이를 자동으로 옮겨 다니며 랜섬웨어를 배포한 웜형 공격
트로이 목마(Trojan)
정의
정상적이고 유용한 프로그램인 것처럼 위장해서 사용자가 스스로 설치하도록 유도하는 악성코드
그리스 신화의 트로이 목마처럼, 겉보기엔 문제없어 보이지만 내부에 악성 기능을 숨기고 있음
바이러스, 웜과 차이
자가 복제 기능이 없음. 대신 사용자를 속여서 직접 실행하게 만드는 게 핵심 전파 방식
숨겨진 기능 예시
백도어 생성: 공격자가 나중에 원격으로 접속할 수 있는 통로를 몰래 열어둠
정보 탈취: 저장된 비밀번호, 파일 등을 외부로 전송
다운로더 역할: 설치 후 추가적인 악성코드를 다운로드해서 실행(랜섬웨어 배포의 첫 단계로 자주 쓰임)
스파이웨어(Spyware)
정의
사용자 몰래 컴퓨터에서 활동을 감시하고 정보를 수집해서 외부로 전송하는 악성코드
사용자가 인지하지 못한 채 오랫동안 은밀하게 동작하는 경우가 많음
수집하는 정보 예시
방문한 웹사이트 기록, 입력한 검색어, 개인정보, 로그인 정보 등
대표 형태: 키로거(Keylogger)
키보드 입력을 몰래 기록해서 아이디, 비밀번호, 카드번호 같은 민감정보를 그대로 탈취
소프트웨어형(백그라운드 프로그램)과 하드웨어형(키보드와 본체 사이에 물리적으로 연결하는 장치) 두 가지 존재
애드웨어(Adware)
정의
사용자 동의 없이 또는 불충분한 고지로 설치되어 원치 않는 광고를 강제로 띄우는 프로그램
특징
그 자체만으로는 파일 파괴나 정보 탈취 같은 직접적 피해는 적은 편
다만 광고 클릭을 유도해 악성 사이트로 연결시키거나, 다른 악성코드가 함께 딸려 들어오는 경로가 되기도 함
정상 프로그램 설치 시 옵션에 슬쩍 끼워넣는 방식(번들 설치)으로 퍼지는 경우가 흔함
루트킷(Rootkit)
정의
시스템에 관리자(root) 권한으로 침투한 뒤, 자신의 존재와 다른 악성 활동의 흔적을 깊숙이 숨기는 도구
이름 자체가 “root 권한을 얻기 위한 킷(도구 모음)“이라는 의미에서 유래
동작 방식
운영체제의 핵심 영역(커널 등)에 개입해서 프로세스 목록, 파일 목록, 네트워크 연결 정보 등을 조작
백신이나 일반적인 조회 명령어(ps, ls 등)로 확인해도 정상처럼 보이게 결과 자체를 속임
위험한 이유
탐지가 매우 어려움. 이미 시스템 명령어들의 결과를 조작하고 있기 때문에 일반적인 방법으로는 감염 여부를 확인하기 힘듦
탐지하려면 별도의 루트킷 탐지 도구(rkhunter, chkrootkit 등)나, 시스템을 오프라인 상태로 부팅해서 외부에서 점검하는 방식이 필요한 경우도 있음
━━━━━━━━━━━━━━━━━━
봇(Bot)
정의
공격자(봇마스터)의 원격 명령을 받아 동작하도록 감염된 시스템
개별 봇 하나는 큰 위협이 아니지만, 다수가 모이면 봇넷(Botnet)이라는 네트워크를 형성해서 강력한 공격 수단이 됨
봇넷의 활용 예시
DDoS 공격의 트래픽 발생원
스팸 메일 대량 발송
가상화폐 채굴에 감염된 PC의 자원을 몰래 이용(크립토재킹)
추가 악성코드 유포 경로
C2 서버(Command and Control)
봇넷을 조종하는 공격자의 중앙 서버. 감염된 봇들이 주기적으로 C2 서버에 접속해서 명령을 받아옴
보안 관점에서는 이 C2 서버와의 통신 패턴을 탐지하는 게 봇 감염 여부를 확인하는 중요한 단서가 됨
━━━━━━━━━━━━━━━━━━
악성코드 종류 간 관계 정리
바이러스와 웜은 전파 방식이 핵심 차이(숙주 필요 여부)
트로이 목마는 전파보다 위장과 은닉이 핵심, 다른 악성코드를 끌어들이는 관문 역할도 흔함
스파이웨어와 키로거는 정보 탈취가 목적, 애드웨어는 상대적으로 가벼운 피해지만 다른 위협의 진입로가 되기도 함
루트킷은 탐지 회피 자체가 목적, 침투 이후 오래 숨어있기 위한 도구
봇은 개별 감염이 모여 봇넷이라는 더 큰 위협(DDoS, 스팸 등)으로 이어짐