보안

DGA(Domain Generation Algorithm)

DGA(Domain Generation Algorithm)는 봇넷과 멀웨어가 C&C 서버(Command & Control)와 통신하기 위해 사용하는 고급 은닉 기술입니다. 보안 전문가나 침해 대응팀(Blue Team)에게도 매우 중요한 분석 포인트입니다.

📌 DGA(Domain Generation Algorithm)란?

DGA는 감염된 악성코드(봇)가 특정 알고리즘에 따라 주기적으로 생성되는 도메인들에 접속하여 C&C 서버를 찾는 방식입니다.

※ C&C서버 : C&C는 멀웨어나 봇넷이 작동하는 핵심 컨트롤 센터로, 공격자가 감염된 디바이스를 원격으로 조작하기 위한 지휘 본부

✅ 왜 사용하는가?

  • C&C 서버 주소가 하드코딩되어 있으면, 도메인을 차단하거나 폐쇄하면 멀웨어 통신이 끊깁니다.
  • 이를 피하기 위해 C&C 도메인을 계속 바꿔가며 접속하려고 만든 것이 DGA입니다.

🧠 DGA 작동 방식 (개념도)

악성코드 내부:
하루에 1000개의 도메인 생성 (ex: ajdka123.com, lskdf098.biz, ...)

→ 해당 도메인에 접속 시도

→ 그 중 1개라도 C&C 서버가 등록되었으면 접속 성공!

→ 명령 수신 및 데이터 탈취 수행

📌 공격자는 그 중 일부 도메인만 실제로 등록해두기 때문에, 탐지와 차단이 매우 어려워집니다.

🛠️ DGA의 주요 유형

유형설명예시
시간 기반(Time-based)날짜, 시간 등을 기반으로 도메인 생성20250330abc.com
랜덤 기반(Randomized)난수 생성기 기반으로 도메인 구성xj29ql1.com
사전 기반(Dictionary-based)단어 조합을 섞어 생성bigcatfast.net
혼합형(Mixed)위 방법을 조합하여 생성다양한 예측불가 도메인
ML 기반최근엔 AI/ML로 자연스러운 도메인을 생성secure-connect-login.com (정상처럼 보임)

🔥 유명한 DGA 기반 봇넷 사례

봇넷DGA 특징설명
Conficker시간 기반 DGA하루 250개 도메인 생성
Zeus사전 기반 DGA자연어 조합 도메인 사용
Bebloh시간 + 랜덤 조합난수 기반 패턴
Necurs매우 복잡한 DGA 사용광고 사기, 스팸 유포
BianLian모바일 기반 DGA안드로이드 악성코드

🔍 탐지 기법

탐지 방법설명
도메인 패턴 분석비정상적 길이, 문자 조합, TTL 등
기계 학습 모델정상/비정상 도메인을 학습하여 분류
NXDOMAIN 응답 모니터링감염된 클라이언트는 실패 도메인(NXDOMAIN)에 많이 접속
피해지표 기반 차단 (IOC)유명한 DGA 패턴 리스트 블랙리스트화

💡 실전 예시 (Python 코드)

# 날짜 기반 DGA 예시
import datetime
import hashlib

def generate_domain(date):
seed = date.strftime('%Y%m%d')
h = hashlib.md5(seed.encode()).hexdigest()
return h[:10] + ".com"

today = datetime.date.today()
print(generate_domain(today)) # 예: "e3c5a1b7d2.com"

이와 같은 구조로 하루 수백 개의 도메인을 생성해놓고, 공격자는 단 한 개만 등록해도 통신이 성립됩니다.

🛡️ 방어/대응 전략

  • DNS 로그 모니터링 및 머신러닝 기반 도메인 분석
  • DGA 도메인 예측 및 사전 등록(도메인 싱크홀링)
  • IDS/IPS를 통한 DGA 탐지 룰 적용 (ex: Suricata, Snort)
  • 보안 솔루션에서 제공하는 DGA 탐지 기능 활성화

🧠 요약

항목내용
DGA 목적C&C 탐지 우회, 지속적 통신 유지
원리알고리즘 기반 도메인 생성 후 접속 시도
장점도메인 블랙리스트 무력화
탐지법도메인 패턴 분석, NXDOMAIN, ML 탐지
대응책싱크홀링, DNS 필터링, 예측/분석 모델 구축

zerg96

Recent Posts

정보보안기사 필기 핵심 개념, 접근통제·인증 8문제로 정리

필기 시험의 접근통제 영역은 용어 하나만 알아도 풀리는 문제와 개념을 뒤집어 묻는 문제가 섞여 나옵니다.…

34분 ago

유튜브 AI 영상 범람, 진짜 크리에이터는 어떻게 살아남나

유튜브에 AI 자동 생성 영상이 넘쳐납니다. 진짜 크리에이터들은 어떻게 살아남아야 할까요? AI와 경쟁하는 3가지 생존…

2시간 ago

코스피 사이드카 이틀 만에 또 발동, 올해만 27번째…5분간 멈추는 건 ‘프로그램 매도’뿐입니다

이틀 전에 사이드카가 걸렸을 때만 해도 "한 번 놀란 장"으로 끝날 줄 알았는데요. 15일 아침…

2시간 ago

코스피 낙폭 7%로 확대, 외국인 1.7조 순매도: 10월 15일 오전 10시 시황

오전 시황 글에 이어 장중 후속 정리입니다. 코스피는 개장 직후 5%대였던 낙폭이 오전 10시 전후에…

5시간 ago

코스피 5.59% 급락 출발, 개장 7분 만에 매도 사이드카: 10월 15일 오전 시황

10월 15일 목요일 아침, 코스피가 전날 종가보다 5.59% 낮은 5,673.01로 출발했습니다. 장 시작 7분 만에…

6시간 ago

삼성 갤럭시 AI, 솔직히 기대 이하였다 — 실망스러운 이유 TOP 5

삼성 갤럭시 AI, 써보니 실망스러웠다. 온디바이스 한계, 지역 제한, 낮은 일상 활용도 등 현실적인 문제점…

7시간 ago