1️⃣악성코드란
1. 악성코드
- 악의적인 목적을 위해 작성된 실행 가능한 모든 코드의 총칭
- 실행 가능한 코드에는 프로그램, 매크로, 스크립트뿐만 아니라 취약점을 이용한 데이터 형태(.jpg, .pdf 등)도 포함
- 정보통신망법에서는 악성 프로그램이라고 하며, 악성 소프트웨어, Malware, Malicious Code라고도 함
2. 멀웨어(Malware)
- 컴퓨터에 해를 끼치거나 악용할 목적으로 만들어진 모든 악성 소프트웨어를 아우르는 넓은 개념
- 바이러스와 혼용하기 쉽지만, 멀웨어가 더 넓은 개념이며 바이러스는 멀웨어의 한 종류
3. 서비스형 멀웨어(MaaS: Malware-as-a-Service)
- 소프트웨어 서비스(SaaS) 개념을 사이버 범죄에 도입한 모델
- 전문 개발자가 악성코드를 제작·배포하고, 기술력이 부족한 공격자(구매자)는 비용을 지불해 이를 빌려 쓰는 방식
- 다크웹 같은 사이트에서 돈을 주면 누구나 해커가 될 수 있음
4. 적응형 멀웨어(Adaptive Malware)
- 보안 시스템의 탐지를 피하기 위해 스스로 형태나 동작 방식을 바꾸는 지능형 악성코드
- 최근 AI와 머신러닝 기술이 접목되면서 더욱 위협적
2️⃣ 대표적인 악성코드 유형
1. 바이러스(Virus)
- 정의: 생물학적 바이러스가 사람 몸에 침투해 세포를 복제하듯이, 정상적인 파일에 기생해 전파되는 멀웨어의 일종
- 동작 방식: 사용자의 실행이 필요하며, 실행 시 활성화되어 복제되고 다른 파일에 전파됨
- 감염 경로: USB, 이메일 첨부 파일, 불법 프로그램 등 사용자의 실행이 필요한 경로로 전파
- 특징
- 숙주(정상 실행 파일) 없이 혼자서는 존재할 수 없으며 사용자의 실행 행위가 필요함
- 활성화되면 다른 정상 파일도 순식간에 추가 감염될 수 있음
- 바로 공격하지 않고 잠복할 수 있어 사용자가 감염을 즉시 인지하지 못할 수도 있음
- 백신 등으로 사전 차단 및 치료가 가능하지만 변종이 매우 많음
- 감염 시: 데이터 손상, 시스템 속도 저하, 컴퓨터 사용 불능 등의 피해를 유발
- 핵심: 정상 파일에 기생해 사용자가 실행 시 활성화되어 복제되는 멀웨어
2. 웜(Worm)
- 정의: 사용자의 활동이나 숙주가 되는 파일 없이도 스스로 복제하며 네트워크 전체를 감염시키는 멀웨어
- 동작 방식: 시스템 보안 취약점, 네트워크 공유 기능을 악용해 스스로 복사본을 만들어 전파
- 감염 경로: 네트워크 통신 자체가 감염 경로(사용자의 실행 없이도 취약점이 있으면 감염 위험)
- 특징
- 숙주 파일이 필요 없고 사용자의 실행을 필요로 하지 않음
- 스스로 복제해 증가하며 네트워크 전체를 감염시킬 수 있고 폭발적인 전파력이 특징 → 여기서 ‘스스로 복제’는 AI 같은 개념이 아니라 정해진 스크립트에 의한 자동화 느낌
- 잠복할 수 있어 사용자가 감염 사실을 바로 알지 못할 수도 있음
- 감염 시: 네트워크 과부하로 인한 인터넷 속도 저하, 시스템 자원 고갈로 인한 다운, 백도어 설치로 보안 취약점 발생 등
- 핵심: 숙주 파일 없이도 활성화되며 스스로 복제해 전체 네트워크를 감염시키는 멀웨어
- 웜의 존재 방식
- 물리적인 독립 파일:
services.exe, update.sys처럼 시스템 파일인 척 이름을 속이고 존재
- 파일이 없는 웜: 메모리에만 상주하거나 네트워크 취약점을 통해 패킷에 악성코드를 작성
- 웜의 형태
- 시스템 파일 위장: 윈도우 필수 파일과 이름을 비슷하게 해서 존재
- 이중 확장자:
연말정산안내.pdf.exe처럼 확장자를 착각하게 만듦
- 무형: 메모리(RAM)에 존재
3. 트로이목마(Trojan)
- 정의: 겉보기에는 유용한 프로그램(피해자가 원하는)인 것처럼 위장해 사용자가 스스로 설치하도록 유도하는 멀웨어
- 동작 방식: 자체 전파 기능은 없고 사용자를 속이는 것이 중점
- 감염 경로: 사회공학 기법으로 사용자를 속여 사용자가 직접 다운로드하거나 실행하도록 해 감염
- 특징
- 겉보기에는 정상 파일처럼 위장하며, 바이러스처럼 기생하기보다 설계 단계부터 악성코드일 확률이 높음
- 바이러스·웜처럼 복제로 퍼지지 않으며 사용자의 실행에 의해서만 활동
- 기술적으로 속이기보다 사용자 심리를 이용해 스스로 설치·실행하게 함
- 네트워크를 통한 전염이 아니라 사용자의 행위(전송, 실행)가 있어야 전염 가능
- 트로이목마만의 기능은 아니지만 다른 멀웨어의 통로가 되는 드롭퍼(다운로더) 역할을 수행하기 좋음
- 감염 시: 정보 유출, 백도어 생성, 시스템 파괴, 좀비 PC화 같은 피해 발생
- 핵심: 유용한 프로그램으로 위장해 실행을 유도하는 멀웨어( 복제는 하지 않음 )
4. RAT(Remote Access Trojan, 원격 제어 트로이목마)
- 정의: 겉보기에는 유용한 프로그램처럼 위장해 설치된 뒤 백도어를 열어, 해커가 피해 컴퓨터를 완전히 제어할 수 있게 하는 악성코드
- 특징
- 해커의 C&C 서버와 연결되어 실시간으로 명령을 주고받음
- 백신 탐지를 피하기 위해 정상적인 관리 도구로 위장하고, 시스템 리소스를 적게 사용해 감염 사실을 숨김
- 권한 상승을 통해 관리자 권한을 획득해 통제 범위를 넓힘
- 감염 시: 실시간 사생활 침해, 정보 탈취, 데이터 파괴
- 핵심: 트로이목마처럼 속여 감염시킨 뒤 해커가 관리자 권한을 획득하고 실시간으로 제어할 수 있는 멀웨어
5. 랜섬웨어(Ransomware)
- 정의: ‘몸값’을 뜻하는 Ransom과 ‘소프트웨어’(Software)의 합성어로, 감염 시 파일을 암호화하고 인질로 잡아 돈을 요구하는 악성코드이다. (최근에는 이중 협박이라는 형태로 데이터 유출도 발생)
- 특징
- 강력한 알고리즘의 비대칭형 암호화를 사용해 개인키가 있어야 암호화를 풀 수 있다.
- 사용자가 직접 만든(.jpg, .docx, .pdf, .dwg) 가치 있는 파일을 위주로 암호화한다.
- 익명성이 강한 가상화폐를 금전으로 요구한다.
- 카운트다운을 하며 파일을 영구 삭제한다고 하거나, 일부만 복구하는 등의 심리적 부분을 활용한다.
- 감염 시: 파일 암호화, 기업의 경우 서비스 장애, 금전적 피해, 데이터 유출
- 핵심: 감염 시 암호화로 파일을 인질로 잡아 금전을 요구하는 멀웨어
6. 인포스틸러(Infostealer)
- 정의: 이름에서 유추할 수 있듯이 정보를 훔치는 데 특화된 악성코드이다.
- 특징
- 시스템이나 데이터 파괴와 금전 요구가 목적이 아니라 사용자 모르게 정보 탈취가 주목적이다.
- PC나 스마트기기의 다양한 기록을 훔친다(브라우저 저장 정보, 쿠키 데이터, 스크린샷, 키로거 등).
- 로그인 세션 정보를 훔치면 비밀번호나 2차 인증 없이 계정에 접근 가능
- 훔친 정보를 다크웹에서 비싸게 팔거나, 해당 정보를 이용해 사용자가 일하는 기업에 접근해 더 큰 공격
- 속도 저하나 오류가 없을 수도 있어 사용자는 감염 사실을 모를 수 있음
- 감염 시: 백도어를 만들고 사용자의 정보를 몰래 수집해 해커의 C&C 서버로 전달
- 핵심: 다른 멀웨어들과 다르게 정보 수집에 특화된 멀웨어
7. 스파이웨어(Spyware)
- 정의: ‘스파이(Spy)’와 ‘소프트웨어(Software)’의 합성어로, 사용자 몰래 컴퓨터나 스마트폰에 침투해 개인정보를 훔쳐보거나 기기 조작을 감시하는 악성 소프트웨어
- 특징
- 무료 백신, 최적화 도구처럼 유용한 도구로 위장하고 백그라운드에서 몰래 동작
- 사용자에게 들키지 않으려 하고 쉽게 제거되지 않게 설정되어 있음
- 키로깅, 화면 캡처 등을 통해 정보를 수집해 해커의 서버로 전송
- 사용자 모르게 활동이 추가되어 시스템 자원에 부담이 감
- 감염 시: 사생활 침해, 정보 유출, 시스템 파괴, 신원 도용, 금전 피해
- 핵심: 백신/최적화 도구로 위장해 백그라운드에서 몰래 동작하며 들키지 않기 위해 노력
8. 루트킷(Rootkit)
- 정의: 컴퓨터에 몰래 숨어들어 시스템 권한(Root)을 탈취해 통제권을 장악하는 악성코드 세트로 볼 수 있음
- 특징
- 일반 권한으로 침입했더라도 커널 레벨까지 접근해 관리자 권한을 얻어냄
- 관리자 권한으로 OS를 장악하고 자신을 숨기는 동작을 통해 작업 관리자, 백신, 파일 탐색기로 발견되지 않음
- 탐지가 매우 어려워 별도의 전용 스캐너를 사용해야 함
- 핵심: 감염되면 관리자 권한을 탈취해 통제권을 장악하고 탐지가 어렵다
9. 논리 폭탄(Logic Bomb)
- 정의: 소프트웨어 코드 속에 몰래 삽입된 프로그램으로, 특정 조건이 충족될 때 실행되어 시스템에 해를 끼치는 악성코드
- 특징
- 공격 시작 조건(기폭 장치)과 조건 충족 시 실행되는 페이로드로 구성됨
- 외부 해킹으로도 일어날 수 있지만 주로 내부 관계자에 의해 이루어짐(예: 해고당한 직원이 …)
- 전파되지 않으며, 공격자가 설정한 특정 조건을 충족해야 실행됨
- 핵심: 공격자가 설정한 조건을 충족해야 실제 악성코드가 실행된다
10. 그 외의 악성 소프트웨어 및 관련 용어
- 키로거(Keylogger): 키보드 입력을 기록해 사용자의 정보를 탈취하는 악성 소프트웨어
- 백도어(Backdoor): 뒷문 같은 개념으로 정상적인 인증이나 절차 없이 시스템에 바로 접근할 수 있는 통로
- 애드웨어(Adware): 원치 않는 광고를 강제로 노출시키는 악성코드로 성능 저하가 유발됨
- 바이러스 허위 경고(Malvertising): 실제 바이러스 감염이 아니지만 감염 경고 팝업으로 악성 소프트웨어 설치를 유도
- 크립토재커(Cryptojacker): 사용자의 기기 자원을 훔쳐 암호화폐 채굴을 하는 악성코드
- 와이퍼(Wiper): 대가를 요구하지 않고 데이터를 지우는 것을 목적으로 하는 악성코드로, 데이터 덮어쓰기로 복구가 어렵다