Basic/정보보안

악성 파일인지 판단하는 체크리스트

카고형 2025. 3. 1. 12:41
728x90

최근 악성 파일 사례

1. 교통법규 위반 고지서를 위장한 스미싱 공격

최근, "과속 운전 벌점 통지서"라는 메시지를 포함한 악성 링크가 포함된 문자 메시지가 사용자에게 전송되는 사례가 증가하고 있습니다. 해당 링크를 클릭하면 악성 파일이 다운로드되며, 이를 실행하면 금융 정보 탈취 등의 피해가 발생할 수 있습니다.

2. 가짜 이력서 및 계약서를 이용한 악성코드 유포

기업을 대상으로 한 스피어피싱 공격이 증가하고 있습니다. 공격자는 "입사지원서" 또는 "계약서"로 위장한 문서 파일을 이메일에 첨부해 발송하며, 사용자가 이를 열람하면 매크로 실행을 통해 악성코드가 설치됩니다.

3. 크립토 마이너 악성코드

최근에는 정식 소프트웨어로 위장한 크립토 마이너 악성코드가 발견되었습니다. 해당 악성 파일을 실행하면 사용자 모르게 PC 자원을 이용하여 가상화폐 채굴을 수행하며, 시스템 성능 저하 및 과부하를 유발할 수 있습니다.


[체크리스트]


1. 파일 정보 분석

파일 이름 및 확장자 확인.pdf.exe, .jpg.scr 같은 확장자 위장 여부 확인
🔎 이유: 일부 악성 파일은 정상적인 파일로 보이기 위해 확장자를 속이는 기술을 사용합니다.

  • HxD로 파일 시그니처를 확인

파일 크기 검사 – 정상적인 프로그램에 비해 지나치게 크거나 작은지 확인
🔎 이유: 일부 악성코드는 최소한의 크기로 제작되어 빠르게 실행되거나, 반대로 불필요한 데이터를 포함하여 분석을 회피할 수도 있습니다.

  • CFF Explor, 문서파일의 경우 OLEdump등 이용 이상여부 확인

디지털 서명 확인 – 신뢰할 수 있는 발급자의 서명이 있는지 (sigcheck 활용)
🔎 이유: 정상적인 소프트웨어는 보통 개발사에서 디지털 서명을 포함하여 무결성을 보장하지만, 악성코드는 서명이 없거나 위조된 경우가 많습니다.

파일 위치 확인Temp, AppData, System32 등에 위치하는지 검사
🔎 이유: 악성코드는 보통 시스템 폴더에 숨어 자동 실행되도록 설정됩니다.

타임스탬프 조작 여부 – 생성·수정 시간이 비정상적으로 변경되었는지 확인
🔎 이유: 악성코드는 분석을 회피하기 위해 파일 생성 시간을 조작하는 경우가 있습니다.


2. 정적 분석 (Static Analysis)

파일 해시 값 조회 (MD5, SHA256) – VirusTotal, Hybrid-Analysis 등에서 검사
🔎 이유: 이미 알려진 악성 파일과 동일한 해시 값을 가진다면 악성코드일 가능성이 높습니다.

패킹 여부 검사 (PEiD, Detect It Easy 활용)
🔎 이유: 악성코드는 분석을 피하기 위해 UPX, Themida, VMProtect 같은 패커를 사용하여 파일을 압축합니다.

Imports 및 API 호출 확인 – 악성 API (CreateRemoteThread, VirtualAllocEx) 사용 여부
🔎 이유: 악성 파일은 보통 메모리 할당, 원격 코드 실행, 프로세스 Injection 등을 수행하는 API를 호출합니다.

문자열 검사 (strings, Floss 활용)
🔎 이유: 파일 내부 문자열에서 cmd.exe, Powershell, http:// 등이 포함되어 있다면 의심스러운 네트워크 연결이나 명령 실행 가능성이 있습니다.

Embedded Resource 확인 – 숨겨진 바이너리, PE 파일, PowerShell 스크립트 포함 여부
🔎 이유: 일부 악성코드는 내부에 추가 악성 모듈을 포함하고 실행 시 자동으로 복호화 및 실행됩니다.


3. 동적 분석 (Dynamic Analysis)

프로세스 모니터링 (ProcMon, Process Explorer)
🔎 이유: 정상적인 프로그램과 다르게 악성코드는 실행 후 새로운 프로세스를 생성하거나, 기존 프로세스를 변조할 가능성이 높습니다.

네트워크 통신 확인 (Wireshark, Fiddler)
🔎 이유: 악성 파일이 C2 (Command & Control) 서버와 통신하는지 확인하여 데이터 탈취, 원격 명령 수신 여부 분석이 가능합니다.

파일/레지스트리 변경 여부 (RegShot, Autoruns)
🔎 이유: 악성코드는 지속성을 유지하기 위해 시스템 레지스트리를 수정하거나 특정 파일을 생성하는 경우가 많습니다.

메모리 내 행위 분석 (Process Hacker, Volatility)
🔎 이유: 일부 악성 파일은 실행 시 메모리에만 존재하며, 디스크에 흔적을 남기지 않으므로 메모리 분석이 중요합니다.

권한 상승 여부 (Windows Event Logs 확인)
🔎 이유: UAC 우회 및 관리자 권한 요청을 시도하는지 확인하여 시스템 권한 장악 여부 분석이 가능합니다.


4. 최종 판단 기준

✅ 멀웨어 패턴과 일치하는가?
✅ 비정상적인 행위를 수행하는가?
✅ 네트워크 통신이 이상한가?
✅ 정상적인 소프트웨어와 차이점이 있는가?


결론: 왜 악성 파일 분석이 중요한가?

1️⃣ 개인정보 유출 방지 – 악성코드가 계정 정보, 신용카드 정보를 탈취할 수 있음
2️⃣ 랜섬웨어 감염 예방 – 실행 후 파일을 암호화하고 금전을 요구하는 경우가 많음
3️⃣ 백도어 및 원격 제어 차단 – 공격자가 원격으로 PC를 조작할 가능성이 있음
4️⃣ 기업 및 기관 보안 유지 – APT 공격(지능형 지속 위협) 방어를 위해 필요
5️⃣ 정상 프로그램과 악성코드를 구별하여 피해 최소화


분석 도구 추천

의심스러운 파일이 있을 경우, 다음과 같은 분석 도구를 활용하면 효과적으로 악성 여부를 판단할 수 있습니다.

  • VirusTotal: 여러 백신 엔진을 사용해 파일 및 URL을 검사할 수 있습니다.
  • Any.Run: 동적 분석이 가능한 온라인 샌드박스로, 악성 코드의 실행 흐름을 확인할 수 있습니다.
  • Hybrid Analysis: 정적 및 동적 분석 기능을 제공하여 파일의 악성 여부를 종합적으로 판단할 수 있습니다.
  • PE Studio: 실행 파일의 기본적인 정적 정보를 분석하는 도구입니다.
  • Wireshark: 네트워크 트래픽을 분석하여 악성 코드의 통신 여부를 확인할 수 있습니다.
  • Process Monitor (ProcMon): 실시간으로 파일, 레지스트리, 프로세스 활동을 추적할 수 있는 도구입니다.
  • Autoruns: 자동 실행되는 프로세스를 분석하여 악성 코드 여부를 확인할 수 있습니다.

 

728x90