cd ../blog
MITRE

파일명 위장 공격: svchost.exe가 악성코드인지 구별하는 방법 | T1036.005

읽는 시간 약 8분
조회수 15
MITRE ATT&CKT1036.005악성코드 분석

해커가 svchost.exe 같은 정상 파일명으로 악성코드를 숨기는 방법. Akira 랜섬웨어, Kimsuky APT 실제 사례 분석과 탐지 회피 원리까지.

share:
파일명 위장 공격: svchost.exe가 악성코드인지 구별하는 방법 | T1036.005

MITRE ATT&CK: T1036.005 (Match Legitimate Resource Name or Location) | 전술: Defense Evasion | 플랫폼: Windows, Linux, macOS, Containers

도입: 왜 이 공격이 중요한가

당신의 컴퓨터에 svchost.exe라는 파일이 실행되고 있다면, 정상일까요? 대부분의 사람들은 "당연히 정상이지"라고 생각할 겁니다. Windows의 핵심 시스템 프로세스니까요. 근데 만약 이게 해커가 심어놓은 악성코드라면?

Match Legitimate Resource Name or Location 은 공격자가 악성 파일이나 레지스트리 키를 정상적인 시스템 파일처럼 보이게 위장하는 기법입니다. 쉽게 말해서, 늑대가 양의 탈을 쓰고 있는 거죠.

💡 쉬운 비유: 가짜 명품 가방이 진짜와 똑같이 생겼지만 속은 다른 것처럼, 악성코드도 정상 파일과 똑같은 이름을 쓰지만 실제로는 전혀 다른 일을 합니다.


1. 공격자 관점

왜 이 기법을 사용하는가

  • 보안 솔루션 우회: 대부분의 안티바이러스나 EDR은 파일명과 위치를 기반으로 1차 판단을 하는데, 정상 파일명을 쓰면 의심받을 확률이 현저히 줄어듭니다
  • 관리자 눈속임: IT 관리자가 프로세스 목록을 볼 때도 "아, 시스템 파일이구나" 하고 넘어가기 쉽죠
  • 포렌식 분석 지연: 사고 발생 후에도 수많은 정상 파일들 사이에 숨어있어서 찾기가 어렵습니다

동작 흐름

실제로는 이렇게 단순하지 않아요. 공격자들은 파일명뿐만 아니라 디지털 서명, 파일 속성, 심지어 아이콘까지 정상 파일과 똑같이 만들어서 완벽한 위장을 시도합니다.


2. 실제 공격 사례

📌 Kimsuky APT - AppleSeed 백도어 (2021)

배경: 북한 연계 해킹그룹 Kimsuky가 한국 정부기관을 표적으로 한 지속적인 공격 캠페인에서 사용된 사례입니다.

공격 과정:

  1. 스피어피싱 이메일로 초기 침투 후 AppleSeed 백도어를 설치
  2. 악성 페이로드를 ESTCommon.dll로 이름을 변경하여 한국의 유명 보안업체인 ESTsecurity의 정상 DLL인 것처럼 위장
  3. 이를 통해 한국 사용자들에게 친숙한 파일명으로 의심을 피하고 장기간 잠복하며 정보를 수집

피해 규모: 한국 정부기관 다수가 표적이 되었으며, 민감한 정부 문서들이 유출된 것으로 추정됩니다.

출처: Kimsuky APT continues to target South Korean government using AppleSeed backdoor

📌 admin@338 그룹 - 홍콩 언론사 표적 공격 (2015)

배경: 중국 연계 APT 그룹이 홍콩의 언론사들을 표적으로 한 스피어피싱 캠페인에서 발생한 사례입니다.

공격 과정:

  1. 악성 문서가 포함된 스피어피싱 이메일로 초기 침투
  2. 공격자들이 다음 명령어를 사용해 자신들의 도구를 정상 파일명으로 위장: ren "%temp%\upload" audiodg.exe
  3. audiodg.exe는 Windows의 정상적인 오디오 드라이버 프로세스명으로, 시스템 관리자들이 의심하지 않을 만한 이름

피해 규모: 홍콩의 주요 언론사 여러 곳이 피해를 입었으며, 언론 활동 감시 목적으로 추정됩니다.

출처: China-based Cyber Threat Group Uses Dropbox for Malware Communications and Targets Hong Kong Media Outlets

📌 Akira 랜섬웨어 - 진화하는 위장 기법 (2024)

배경: 2024년 현재 가장 활발한 랜섬웨어 그룹 중 하나인 Akira가 지속적으로 발전시키고 있는 위장 기법입니다.

공격 과정:

  1. 초기 침투 후 시스템 내부에서 정상 파일명과 경로를 사용하여 탐지를 회피
  2. Windows와 Linux 시스템 모두를 표적으로 하는 새로운 변종에서도 동일한 위장 기법 적용
  3. 기존의 이중 갈취(데이터 탈취 + 암호화) 전술과 함께 파일명 위장으로 보안 솔루션의 탐지를 지연시킴

피해 규모: 2024년 현재 전 세계적으로 가장 활발한 랜섬웨어 그룹 중 하나로, 수백 개 기업이 피해를 입었습니다.

출처: Akira ransomware continues to evolve


3. 왜 탐지가 어려운가?

공식 탐지 방법

DET0347 Detection Strategy for Masquerading via Legitimate Resource Name or Location - AN0983: 신뢰할 수 있는 디렉토리(예: System32)에서 실행되거나 신뢰할 수 있는 이름(예: svchost.exe)을 사용하는 프로세스나 바이너리를 탐지하되, 메타데이터, 해시, 또는 부모 프로세스가 정상적인 활동 패턴과 일치하지 않는 경우를 찾아냅니다.

공격자가 이 기법을 선호하는 이유

첫 번째 방어선 무력화: 대부분의 보안 솔루션은 파일명과 경로를 기반으로 1차 필터링을 합니다. svchost.exe라는 이름만 봐도 "아, 시스템 파일이구나" 하고 넘어가는 경우가 많아요.

인간의 인지 편향 악용: IT 관리자들도 익숙한 파일명을 보면 자동으로 "정상"이라고 판단하는 경향이 있습니다. 특히 바쁜 업무 환경에서는 더욱 그렇죠.

포렌식 분석의 복잡성 증가: 사고 발생 후 수천 개의 파일 중에서 진짜와 가짜를 구별하는 것은 시간과 전문성이 많이 필요한 작업입니다.

탐지의 현실적 한계

공식 탐지 방법이 있다고 해도 실제 현장에서는 여러 한계가 있어요. 우선 메타데이터나 해시를 실시간으로 검증하는 시스템을 구축하려면 상당한 비용과 성능 오버헤드가 발생합니다. 또한 정상 파일도 업데이트나 패치로 인해 해시가 바뀔 수 있어서 오탐(False Positive)이 많이 발생할 수 있거든요.


4. 탐지 방법: 실무 스크립트

PowerShell - 의심스러운 프로세스 탐지

System32 외부에서 실행되는 시스템 파일명 프로세스를 찾아냅니다:

# 위장 의심 프로세스 탐지 스크립트 $systemProcesses = @("svchost", "csrss", "lsass", "services", "smss", "wininit", "audiodg") $trustedPaths = @("C:\Windows\System32", "C:\Windows\SysWOW64") Get-Process | Where-Object { $proc = $_ $systemProcesses -contains $proc.Name -and -not ($trustedPaths | Where-Object { $proc.Path -like "$_*" }) } | Select-Object Name, Id, Path, StartTime | Format-Table -AutoSize

PowerShell - 서명되지 않은 시스템 파일 탐지

# 디지털 서명 검증 Get-Process | Where-Object { $_.Path } | ForEach-Object { $sig = Get-AuthenticodeSignature $_.Path -ErrorAction SilentlyContinue if ($sig.Status -ne "Valid") { [PSCustomObject]@{ Name = $_.Name Path = $_.Path SignatureStatus = $sig.Status } } } | Format-Table -AutoSize

5. 나도 위험할까? 자가 진단

이 공격이 나와 관련 있는지 확인해보세요.

이런 환경이라면 주의가 필요합니다

  • USB나 외부 저장장치를 자주 사용하는 환경 (ANDROMEDA 같은 USB 확산형 악성코드가 정상 파일명으로 위장해서 들어올 수 있음)
  • 이메일 첨부파일을 자주 받는 업무 (스피어피싱 공격에서 악성 문서가 정상 파일명의 실행파일을 생성할 수 있음)
  • Windows System32 폴더나 Program Files에 대한 쓰기 권한이 있는 계정 사용 (공격자가 신뢰할 수 있는 경로에 악성파일을 배치할 수 있음)
  • 클라우드 스토리지(Dropbox, OneDrive 등)를 업무용으로 사용 (admin@338처럼 클라우드 서비스를 C&C로 악용하면서 정상 파일명으로 위장하는 공격 증가)

공식 대응 방안

M1045 Code Signing (코드 서명): 서명된 바이너리와 이미지를 요구합니다.

M1038 Execution Prevention (실행 방지): 파일명이 아닌 다른 속성으로 프로그램 실행을 제한하는 애플리케이션 제어 도구를 사용하여 일반적인 운영체제 유틸리티에 대한 실행을 제한합니다.

M1022 Restrict File and Directory Permissions (파일 및 디렉토리 권한 제한): C:\Windows\System32와 같은 폴더를 보호하기 위해 파일 시스템 액세스 제어를 사용합니다.

당장 할 수 있는 것

  • 프로세스 관리자에서 의심스러운 프로세스 확인하기: 작업 관리자에서 "자세히" 탭을 열어 실행 중인 프로세스들의 경로를 확인해보세요. System32가 아닌 곳에서 실행되는 svchost.exe가 있다면 의심해볼 필요가 있어요
  • USB 자동실행 기능 비활성화: 제어판 → 자동실행에서 모든 미디어와 장치에 대해 자동실행을 끄면 USB 확산형 악성코드의 감염 위험을 줄일 수 있습니다

6. 관련 기술

기법어떤 상황에서 함께 사용되나
T1055 Process Injection정상 파일명으로 위장한 후, 탐지를 더욱 어렵게 하기 위해 정상 프로세스에 악성 코드를 주입할 때
T1574 Hijack Execution Flow정상 파일명과 경로를 사용하면서 동시에 DLL 하이재킹으로 정상 프로세스의 실행 흐름을 가로챌 때
T1027 Obfuscated Files or Information파일명 위장과 함께 파일 내용도 난독화하여 다중 방어를 우회할 때

참고 자료


안내 및 법적 고지

AI 활용 안내 이 글은 AI(Claude)의 도움을 받아 작성되었습니다. 기술 정보는 MITRE ATT&CK 공식 문서에 근거하며, 실제 사례는 인용된 출처에 기반합니다.

면책 조항 본 글은 보안 인식 제고를 위한 교육 목적으로 작성되었습니다. 언급된 공격 기법을 실제로 시도하는 행위는 「정보통신망법」, 「형법」 등에 따라 처벌받을 수 있으며, 본 블로그는 이에 대한 법적 책임을 지지 않습니다.

COMMENTS (0)

댓글은 익명으로 작성되며, 삭제 비밀번호를 설정하면 본인만 삭제할 수 있습니다. 비밀번호를 설정하지 않은 댓글은 누구나 삭제할 수 있습니다.