Python/DGA

DGA분석 생각

포집 2023. 7. 21. 02:37

DGA는 무작위 도메인 생성 악성 URL이랑은 살짝 다른 존재 느낌

  • 악성 URL분석하고 알고리즘 형식으로 인식한다음
  • IP따고 지도 API를 접목시켜 페이지 만들고 간단하게 삽입
  • (IP를 분석해서 대충 어느위치에서 악성 URL이 발생한것인지 확인할수있게)

DGA를 분석

DGA를 받아와서 알고리즘형식으로 인식

인공지능이 분석할수있게


 

1 단계 – DNS 애플리케이션 감지탐지는 DNS 요청 및 / 또는 응답 메시지를 통해 시작됩니다. DNS는 기본적인 인터넷 프로토콜이며 대부분의 방화벽에는 예약 된 포트 53에서 나가는 DNS 트래픽을 허용하는 정책이 있습니다. 그러나 해커는 포트 53을 이용하여 표준 DNS 메시지 형식을 따르지 않고 트래픽을 보낼 수 있습니다. 이 공격을 DNS 터널링이라고합니다. DNS 애플리케이션을보다 정확하게 식별하려면 DPI (Deep Packet Inspection) 엔진을 사용하는 것이 좋습니다.

2 단계 – 도메인 이름 추출네트워크 애플리케이션이 DNS로 식별되면 DNS 쿼리 및 응답 메시지의 도메인 이름을 추출해야합니다. 올바른 도메인 이름을 추출하려면 DNS 메시지의 콘텐츠를 신중하게 구문 분석해야하며이 작업을 수행하려면 DPI 엔진이 필요합니다.

3 단계 – 모든 DGA 감지DNS 메시지에서 추출 된 도메인에 대해 분석을 수행하여 DGA인지 확인해야합니다. 이것은 아마도 가장 복잡한 단계 일 것입니다. 문제는 거짓 양성과 거짓 음성을 모두 줄이는 것입니다. 탐지 메커니즘은 지난 10 년 이상에 걸쳐 극적으로 발전했습니다.일부 메커니즘은 비교적 단순한 Shannon Entropy를 기반으로합니다.

Random Words on Entropy and DNS

 

Random Words on Entropy and DNS

 

www.splunk.com

일부 메커니즘은 Hitb 컨퍼런스에서 Fyodor가 발표 한보다 정교한 Ngram을 기반으로합니다.최근 기계 학습이 대중화됨에 따라 그 방법론이 DGA 감지에도 적용되었습니다. 기계 학습은 Ngrams, Shannon Entropy의 기능과 도메인 이름의 길이를 결합하여 결정에 영향을 줄 수 있습니다. 여러 기계 학습 모델이 시도되었습니다. 2014 년 Jay Jacobs가 그 과정을 설명하는 아주 좋은 블로그 포스트가 있습니다.다음은 Markov Chain을 사용한 기계 학습을 기반으로 한 또 다른 오픈 소스 DGA 탐지기입니다.

GitHub - exp0se/dga_detector: DGA Domains detection

 

GitHub - exp0se/dga_detector: DGA Domains detection

DGA Domains detection. Contribute to exp0se/dga_detector development by creating an account on GitHub.

github.com

  • 엔트로피엔트로피에 관심을 가져야 하는 한가지 이유는 DGA(도메인 생성 알고리즘)를 사용하여 생성된 도메인(및 하위 도메인)을 이용하는 맬웨어 및 웹 익스플로잇을 탐지하는데 도움이 될 수 있기 때문입니다.이 새로운 DGA 도메인은 향후 악의적인 캠페인에 사용될 수 있습니다.
  • 다양한 종류의 맬웨어 또는 네트워크에 대한 기타 위협이 이러한 DGA 도메인을 사용하지만 가장 유명한 일부는 Conficker와 같은 웜과 Blackhole Exploit Kit. 이러한 도메인은 무작위로 생성되기 때문에 ( 짧은 시간 동안만 작동할수있음) 네트워크 방어자가 블랙리스트와 같은 기존 방법을 사용하여 도메인을 차단하기가 매우 어렵습니다.
  • 악의적인 행위자는 도메인 생성 알고리즘을 사용하여 자신만 해독할수있는 일종의 “키” 또는 “솔트”를 사용하여 임의로 보이는 도메인 및 하위 도메인을 생성합니다.
  • 왜 엔트로피에 관심을 가져야 하는가?

4 단계 – 등록 된 DGA 도메인 감지DGA 도메인 이름이 등록되어 있는지 확인하려면 DNS 응답을 확인해야합니다. DNS 요청을 추적하는 것만으로는 충분하지 않습니다. 탐지 시스템은 정보 조각 간의 상관 관계를 촉진하기 위해 전체 트랜잭션을 추적해야합니다.

5 단계 – 등록 된 DGA 도메인에 대한 트래픽 감지대부분의 기존 DGA 탐지 시스템이 도메인 이름이 DGA 도메인인지 탐지하는 데 집중할 때 가장 중요한 마지막 질문 인 등록 된 DGA 도메인으로 전송 된 트래픽이 있습니까? 이를 적시에 감지하려면 DGA 도메인 감지가 네트워크 트래픽 검사와 긴밀하게 결합되어야합니다. 결과는 손상이 발생하기 직전에 교통 검사 엔진에 다시 반영되어야합니다.

6 단계 – 등록 된 DGA 도메인에 대한 트래픽 차단기술적으로 탐지의 일부는 아니지만 방화벽이나 IPS와 같은 방지 시스템과 통합 된 경우 등록 된 도메인에 대한 모든 트래픽을 차단하는 규칙을 즉시 삽입해야합니다.

훌륭한 DGA 감지 시스템은 5 단계를 모두 수행해야합니다. 우수한 DGA 감지 시스템에는 6 단계도 포함되어야합니다. 안타깝게도 오늘날 대부분의 DGA 감지 시스템은 3 단계 또는 4 단계에서 중단됩니다.

결론DGA는 시그니처 또는 평판 기반 탐지 또는 방지 시스템으로 탐지하기 어렵 기 때문에 맬웨어 개발자에게 인기가 높습니다.탐지를 수행하려면 지능형 탐지 시스템이 필요합니다. 우수한 DGA 탐지 시스템은 DNS 트랜잭션에서 도메인 이름 정보를 추출하고, DGA 상태를 탐지하기위한 철저한 분석을 수행하고, 의심되는 도메인의 등록 상태를 확인하고, 네트워크 트래픽 검사와 상호 연결하여 손상 수준을 평가하고, 이상적으로는 예방 시스템과 통합하여 추가를 방지해야합니다. 타협. 오탐과 오탐을 모두 줄이려면 기계 학습을 진지하게 고려해야합니다. 모든 단계에서 포괄적이고 포괄적 인 인텔리전스를 통해서만 위협을 진정으로 개선 할 수 있습니다.