Melissa Alvarez

새로운 Kibana 통합으로 도메인 생성 알고리즘(DGA) 활동 감지하기

Kibana의 통합 앱에 DGA 탐지 패키지를 추가했습니다. 클릭 한 번으로 수집 파이프라인 구성, 이상 징후 탐색 작업, 탐색 규칙을 포함한 DGA 모델과 관련 자산을 설치하고 사용할 수 있습니다.

새로운 Kibana 통합으로 도메인 생성 알고리즘(DGA) 활동 감지하기

잠재적인 도메인 생성 알고리즘(DGA) 공격으로부터 네트워크를 보호할 수 있는 방법을 찾고 계신가요? 더 이상 걱정하지 마세요. 이제 Kibana의 통합 앱에서 DGA 탐지 패키지를 사용할 수 있습니다.

사용자는 클릭 한 번으로 수집 파이프라인 구성, 이상 징후 탐색 작업, 탐색 규칙을 포함한 DGA 모델과 관련 자산을 설치하고 사용할 수 있습니다. DGA 패키지를 설치하고 완전히 활성화하는 방법에 대한 단계별 지침을 읽어보세요.

[관련 문서 멀웨어에 대한 신속한 대응을 위한 보안 보호 자동화]

DGA란 무엇인가요?

DGA는 클라이언트 컴퓨터의 감염이 방어 조치를 회피하도록 하기 위해 많은 멀웨어 제작자가 사용하는 기술입니다. 이 기법의 목표는 수백 또는 수천 개의 무작위로 생성된 도메인 이름을 사용하여 감염된 클라이언트 컴퓨터와 명령 및 제어(C & C 또는 C2) 서버 간의 통신을 숨기는 것이며, 이 중 하나는 궁극적으로 C & C 서버의 IP 주소로 확인될 것입니다.

잠시 여러분이 전쟁터의 군인이라고 상상해 보면 DGA 공격이 어떻게 이루어지는지 조금 더 쉽게 시각화할 수 있습니다. 여러분은 다른 군인들처럼 무선 주파수를 사용하는 통신 장비를 가지고 있습니다. 적군은 무선 주파수를 교란하여 통신을 방해하려고 할 것입니다. 이에 대한 대응책 한 가지가 주파수 호핑입니다. 즉, 전송 과정에서 주파수를 매우 빠르게 변경하는 무선 시스템을 사용하는 것입니다. 적군에게는 주파수가 예측 불가능하게 무작위로 변경되는 것처럼 보이므로 교란하기가 어렵습니다.

DGA는 멀웨어의 주파수 호핑 통신 채널과 같습니다. 도메인을 너무 자주 변경하기 때문에 DNS 도메인 이름 차단을 통해 멀웨어의 C2 통신 채널을 차단하는 것이 불가능해집니다. 무작위로 생성된 DNS 이름이 너무 많아서 이를 성공적으로 식별하고 차단할 수 없습니다.

이 기법은 2009년 "Conficker" 웜이 통신을 위해 매우 많은 수의 무작위로 생성된 도메인 이름을 사용하기 시작하면서 멀웨어의 세계에 본격적으로 등장했습니다. 이 웜의 작성자는 보안 연구원 컨소시엄이 통신에 사용하던 DNS 도메인을 차단하여 웜의 C2 채널을 중단시킨 후 이 대응 방법을 개발했습니다. DNS 완화는 전 세계적으로 발생한 2017 워너크라이 랜섬웨어의 경우에도 수행되었습니다.

시작하기

8.0 버전부터 파이프라인, 이상 징후 탐색 구성, 탐색 규칙을 포함한 모델과 관련 자산을 Kibana의 통합 앱에 릴리즈했습니다. 앞으로도 이 형식은 계속 유지될 예정입니다.

Elastic Cloud 클러스터가 없지만 출시된 ProblemChild 패키지로 실험을 시작하고 싶으신 경우, 14일 무료 체험판 Elastic Cloud를 시작하실 수 있습니다.

이제 출시된 DGA 패키지를 사용하여 몇 분 만에 사용자 환경에서 DGA를 실행할 수 있는 단계를 살펴보겠습니다.

1단계: 패키지 에셋 설치

이제 Kibana의 통합 앱에 DGA 탐지 패키지가 포함되어 있습니다. 에셋을 설치하려면 설정 탭에서 DGA 에셋 설치 버튼을 클릭합니다. 이렇게 하면 네트워크 데이터에서 DGA 활동이 감지될 때 알림을 생성하기 위해 DGA 모델을 사용하는 데 필요한 모든 아티팩트가 설치됩니다.

설치가 완료되면 Stack Management > 수집 파이프라인으로 이동하여 <version-number>-ml\_dga\_ingest\_pipeline 이 설치되어 이제 들어오는 수집 데이터를 보강하는 데 사용할 수 있습니다. 수집 파이프라인은 <version-number>-ml\_dga\_inference\_pipeline 를 활용합니다.

마찬가지로 설치된 DGA 모델은 이제 머신 러닝 > 모델 관리 > 학습된 모델에서 확인할 수 있습니다.

2단계: 데이터 보강

이제 수집 파이프라인을 사용하여 데이터를 수집할 준비가 되었습니다. 감독 모델은 DGA 점수로 DNS 이벤트가 포함된 수신 데이터를 분석하고 보강합니다.

이 파이프라인은 DNS 이벤트가 포함된 데이터(예: 패킷비트 데이터)와 함께 작동하도록 설계되었으며, 여기에는 dns.question.name 및 dns.question.registered_domain과 같은 ECS 필드가 포함되어 있습니다. 간단한 구성 설정을 추가하여 설치된 수집 파이프라인을 Elastic 비트에 추가할 수 있습니다.

인덱스와 연결된 수집 파이프라인이 이미 있는 경우, 파이프라인 프로세서를 사용하여 DGA 수집 파이프라인을 기존 파이프라인에 통합할 수 있습니다.

또한 선택한 비트에 다음 매핑을 추가할 수 있습니다:

{
  "properties": {
    "ml_is_dga": {
      "properties": {
        "malicious_prediction": {
          "type": "long"
        },
        "malicious_probability": {
          "type": "float"
        }
      }
    }
  }
}

스택 관리 > 인덱스 관리 > 컴포넌트 템플릿에서 이 작업을 수행할 수 있습니다. 사용자 정의 구성 요소를 추가하기 위해 편집할 수 있는 템플릿에는 @custom 접미사가 표시됩니다. 로드 JSON 플라이아웃에 위의 JSON 블롭을 붙여넣어 Elastic 비트에 대한 @custom 구성 요소 템플릿을 편집하세요.

이제 모델이 다음 필드를 사용하여 수신 DNS 이벤트를 보강하는 것을 볼 수 있습니다:

  • Ml_is_dga.malicious_prediction: 값이 "1"이면 DNS 도메인이 악의적인 DGA 활동의 결과로 예측됨을 나타냅니다. 값이 "0"이면 양성으로 예측됨을 나타냅니다.

  • Ml_is_dga.malicious_probability: DNS 도메인이 악의적인 DGA 활동의 결과일 확률 점수( 0 ~1)입니다.

수집 파이프라인이 데이터에 대해 예상대로 작동하는지 즉시 테스트할 수 있는 방법이 필요하다면, 몇 가지 샘플 문서를 사용하여 파이프라인 API를 시뮬레이션하고 ml_is_dga 필드가 표시되는지 확인할 수 있습니다.

3단계: 이상 징후 탐지 실행

패키지에는 사전 구성된 이상 징후 탐지 작업이 포함되어 있습니다. 이 머신 러닝(ML) 작업은 감독된 DGA 모델에서 생성된 DGA 점수를 검사하고 특정 소스 IP 주소에 대해 비정상적으로 높은 점수의 비정상적인 패턴을 찾습니다. 이러한 이벤트에는 이상 징후 점수가 할당됩니다.

강화된 데이터에서 이 작업을 실행하려면 머신 러닝 > 이상 징후 탐지로 이동하세요. 작업 마법사를 사용하여 작업을 만들 때 DGA용 카드와 함께 미리 구성된 작업 사용 옵션이 표시됩니다. 카드를 선택하면 실행할 수 있는 사전 구성된 이상 징후 탐지 작업이 표시됩니다. 이 작업은 수집 파이프라인에 의해 강화된 인덱스에만 유용하다는 점에 유의하세요.

4단계: 규칙 활성화하기

DGA 프레임워크의 이점을 극대화하려면 설치된 탐지 규칙을 활성화하세요. 감독 모델 또는 이상 징후 감지 작업의 특정 조건이 충족되면 트리거됩니다. 설치된 규칙의 전체 목록은 패키지 자체의 개요 페이지 또는 최신 실험적 탐지 릴리스에서 확인할 수 있습니다.

포함된 사전 구성된 이상 징후 탐지 작업을 최대한 활용하려면 보완 규칙을 사용 설정하세요: 잠재적 DGA 활동. 이렇게 하면 보안 앱의 탐지 페이지에 이상 징후 기반 알림이 생성됩니다.

사전 구성된 이상 징후 탐지 작업과 보완 규칙은 모두 탐지 규칙 리포지토리 릴리스에서 사용할 수 있습니다. 설치된 규칙을 활성화하고 사용하려면 Security > 규칙으로 이동하여 Elastic 사전 빌드 규칙 및 타임라인 템플릿 로드를 선택하세요.

Get in touch

새로운 기능을 추가하는 과정에서 ProblemChild를 사용해 보시고 피드백을 주시면 감사하겠습니다. 이 과정에서 문제가 발생하면 커뮤니티 Slack 채널, 토론 포럼 또는 공개 감지 리포지토리를 통해 문의해 주세요.

언제든지 Elastic Cloud에서 최신 버전의 Elasticsearch Service를 체험하고 이 블로그에 따라 사용자 환경에서 Windows 프로세스 이벤트 데이터에 대한 ProblemChild 프레임워크를 설정할 수 있습니다. 그리고 빠른 시작 교육을 활용하여 성공을 위한 준비를 하세요. 지금 바로 Elastic Cloud 무료 체험판을 시작하여 플랫폼에 액세스하세요. 즐거운 실험이 되시길 바랍니다!