본문 바로가기

Analysis

20. DGA(Domain Generation Algorithm)

일반적으로 악성코드 중에서 파괴형 악성코드를 제외하고는 피해 PC를 감염시킨 후에 원격지에 있는 C2(Command & Control) 서버에 접속을 시도한다.

 

특히나, 봇 악성코드나 RAT 악성코드와 같은 부류들은 더욱이 C2 서버와의 연결이 중요하다.

 

상식상에서 결론적으로 어떠한 원격지와의 연결을 위해서는 IP 주소를 갖고 있거나, IP 주소와 대응하는 도메인 주소를 알고 있어야 연결이 가능하다.

그래서 악성코드 내부에 IP 주소를 하드코딩하는 경우도 있고 도메인 주소를 하드코딩하는 경우도 있지만 이런 경우에는 악성코드의 특징점으로 추출해내 안티 바이러스 제품에 녹여내면 손쉽게 악성코드를 탐지 및 차단할 수 있다.

 

그런것 때문에 악성코드 개발자? 라고 해야하나.. 그 분들은 어떻게하면 C2 서버와 연결은 안정적이게 하면서도 안티 바이러스 제품을 우회할 수 있을까를 생각했다.

 

그 결과가 요즘 많이 사용되는 DGA 이다.

 

DGA는 수많은 도메인주소를 무작위로 생성하도록 설계되어 있다. 그리고 무작위로 생성하기 때문에 당연히 안티 바이러스 우회도 손쉽게 가능하다.

그렇다면 악성코드는 무작위로 생성된 도메인에 어떻게 C2 서버로 연결할 수 있을까?

 

DGA는 특정 날짜에 생성되는 도메인 주소를 예측할 수 있도록 설계되어 있기 때문에 공격자가 DGA를 이용할 경우에는 특정 날짜에 생성될 수 있는 도메인 주소를 미리 적합한 등록 절차를 걸쳐 등록해두고 사용하는 식이다.

 

DGA는 이전에 포스팅했었던 패스트 플럭스나 도메인 쉐도잉과도 깊은 관련이 있다.

반응형