본문 바로가기
  • Pozip's House
Python/DGA

다시 DGA

by 포집 2023. 7. 21.

https://www.elastic.co/kr/blog/machine-learning-in-cybersecurity-training-supervised-models-to-detect-dga-activity

 

사이버 보안 분야의 머신 러닝: 지도형 모델을 훈련하여 DGA 활동 탐지

부정 행위자(및 맬웨어)는 탐지를 피하려고 DGA(도메인 생성 알고리즘)를 이용하지만, Elastic Stack 머신 러닝을 사용하면 이러한 트릭을 정확히 판별하고 대응하는 모델을 손쉽게 구축할 수 있습니

www.elastic.co

참조

DGA: 배경

대상 머신을 감염시킨 후 많은 악성 프로그램이 데이터를 유출하고 명령이나 업데이트를 수신하기 위해 명령 및 제어(C&C 또는 C2) 서버라고 하는 원격 서버에 연결하려고 시도합니다. 이는 악성 바이너리가 C&C 서버의 IP 주소 또는 도메인을 알아야 한다는 뜻입니다. 이 IP 주소 또는 도메인이 바이너리에 하드코딩된 경우 해당 도메인을 차단 목록에 추가하여 통신을 방해하면 비교적 쉽게 방어 조치를 취할 수 있습니다.

그림 1: DGA에서 생성한 도메인을 순환하며 C&C 서버로 등록된 도메인을 찾는 맬웨어 바이너리

이러한 방어 조치를 와해시키기 위해 맬웨어 작성자는 DGA를 맬웨어에 추가합니다. DGA는 무작위로 수백 또는 수천 개의 도메인을 생성합니다. 그러면 감염된 머신에 있는 맬웨어 바이너리가 생성된 각 도메인을 순환하며 도메인 이름을 확인하고 이 중 C&C 서버로 등록된 도메인을 찾습니다. 도메인의 엄청난 볼륨과 무작위성으로 인해 규칙 기반의 방어 접근 방식으로는 이러한 통신 채널을 차단하기가 어렵습니다. 또한 DNS 트래픽은 일반적으로 볼륨이 매우 크기 때문에 분석가가 직접 찾기도 쉽지 않습니다. 대신 이 두 가지 요소는 머신 러닝을 적용하기에 매우 적합합니다.

도메인을 분류하도록 머신 러닝 모델 훈련

지도형 머신 러닝에서는 레이블이 지정된 악성 및 양성 도메인 훈련 데이터 세트를 제공하여 모델이 해당 데이터 세트를 학습하도록 합니다. 그러면 이 학습된 모델을 사용하여 처음 보는 도메인도 양성 또는 악성으로 분류할 수 있습니다.

DGA가 모두 똑같은 형태는 아니며 서로 다른 다양한 유형이 있습니다. 일부 DGA는 무작위 도메인을 생성하고 다른 DGA는 단어 목록을 사용합니다. 프로덕션 모델의 경우 다양한 피처와 모델을 사용하여 서로 다른 알고리즘의 특징을 포착할 수 있습니다. 이 예제에서는 가장 일반적인 알고리즘에서 발견된 특징들을 기반으로 단일 모델을 훈련하겠습니다.

다양한 맬웨어 제품군의 도메인과 양성 도메인으로 구성된 데이터 세트를 사용하여 모델을 훈련하겠습니다.

그림 2: cryptolocker, banjori 및 suppobox 제품군에서 생성된 도메인 예제

 

(멀웨어: ‘악성 소프트웨어’의 약자인 멀웨어라는 용어는 컴퓨터 또는 설치한 모든 소프트웨어에 해를 끼치려 고안한 소프트웨어를 의미합니다. 멀웨어는 민감한 정보를 훔치거나 사용자가 모르게 사용자의 이메일 계정에서 가짜 이메일을 보낼 수 있습니다.)

'Python > DGA' 카테고리의 다른 글

BILSTM모델 구축  (0) 2023.07.21
DGA 논문참조  (0) 2023.07.21
DGA  (0) 2023.07.21
DGA란?  (0) 2023.07.21
DGA분석 생각  (0) 2023.07.21