도메인 생성 알고리즘
Domain generation algorithm도메인 생성 알고리즘(DGA)은 명령어 및 제어 서버와 랑데부 포인트로 사용할 수 있는 다수의 도메인 이름을 주기적으로 생성하기 위해 사용되는 다양한 멀웨어 제품군에서 볼 수 있는 알고리즘이다.감염된 컴퓨터가 업데이트나 명령을 받기 위해 매일 이러한 도메인 이름 중 일부에 접속하려고 할 것이기 때문에, 잠재적인 랑데부 지점의 수가 많으면, 법 집행 기관은 효과적으로 봇넷을 종료하는 것을 어렵게 한다.맬웨어 코드에 공개 키 암호화를 사용하면 일부 웜이 맬웨어 컨트롤러에 의해 서명되지 않은 업데이트를 자동으로 거부하므로 법 집행 기관과 기타 행위자가 맬웨어 컨트롤러의 명령을 모방하는 것은 불가능하다.
예를 들어 감염된 컴퓨터는 www.<gibberish>.com과 같은 수천 개의 도메인 이름을 만들 수 있으며 업데이트 또는 명령을 수신할 목적으로 이들 일부에 접속하려고 할 수 있다.
멀웨어의 모호하지 않은 이진 파일에 이전에 생성된(명령 및 제어 서버) 도메인 목록 대신 DGA를 포함시키면 기업 내에서 감염된 호스트로부터의 아웃바운드 통신을 제한하기 위해 선제적으로 네트워크 블랙리스트 작성 어플라이언스에 공급될 수 있는 문자열 덤프를 보호할 수 있다.
이 기술은 처음에는 하루에 250개의 도메인 이름을 생성했던 벌레 Conficker.a와 .b에 의해 대중화되었다.컨피커부터.C, 악성코드는 매일 5만 개의 도메인 이름을 생성하며, 악성코드 컨트롤러가 하루에 한 개의 도메인만 등록하면 감염된 컴퓨터가 매일 업데이트될 가능성이 1%가 된다.감염된 컴퓨터가 악성코드를 업데이트하지 못하도록 법 집행 기관은 매일 5만 개의 새 도메인 이름을 사전 등록해야 했을 것이다.봇넷 소유자의 관점에서 보면, 그들은 각 봇이 매일 질의하는 몇 개의 도메인 중 한 개 또는 몇 개의 도메인만 등록하면 된다.
최근 이 기술은 다른 악성 프로그램 작성자들에 의해 채택되고 있다.네트워크 보안업체 담발라에 따르면 2011년 현재 DGA 기반 범죄자 상위 5개 가구는 콘피커, 뮤로펫, 뱅크패치, 본나나나, 보박스다.[1]
DGA는 또한 도메인을 생성하기 위해 사전의 단어를 결합할 수 있다.이러한 사전은 악성코드로 하드 코딩되거나 공개적으로 액세스할 수 있는 소스에서 가져올 수 있다.[2]사전 DGA에 의해 생성된 도메인은 합법적인 도메인과 유사하기 때문에 탐지하기가 더 어려운 경향이 있다.
예
반항하다 generate_domain(연도: 인트로, 월: 인트로, 낮의: 인트로) -> 발을 동동 구르다: """""특정 날짜에 대한 도메인 이름 생성.""" 도메인 = "" 을 위해 i 에 범위(16): 연도 = ((연도 ^ 8 * 연도) >> 11) ^ ((연도 & 0xFFFFFFF0) << 17) 월 = ((월 ^ 4 * 월) >> 25) ^ 16 * (월 & 0xFFFFFFF8) 낮의 = ((낮의 ^ (낮의 << 13)) >> 19) ^ ((낮의 & 0xFFFFFFFE) << 12) 도메인 += CHR(((연도 ^ 월 ^ 낮의) % 25) + 97) 돌아오다 도메인 + ".com" 예를 들어, 2014년 1월 7일에 이 방법은 도메인 이름을 생성한다.intgmxdeadnxuyla.com그 다음 날, 그것은 돌아올 것이다.axwscwsslmiagfah.com이 간단한 예는 CryptoLocker와 같은 악성 프로그램이 좀 더 정교한 변종으로 전환되기 전에 실제로 사용되었다.
탐지
블랙리스트를 이용해 DGA 도메인명을[3] 차단할 수 있지만 이들 블랙리스트의 보도는 부실(공영 블랙리스트)하거나 앞뒤가 맞지 않는(상업 벤더 블랙리스트)[4]이다.탐지 기법은 반동(反動)과 실시간(realtime)의 두 가지 주요 부류에 속한다.반동 검출은 네트워크 NXDOME 대응,[5] WHOIS 정보,[6] 수동 DNS와[7] 같은 무감독 클러스터링 기법과 문맥 정보에 의존하여 도메인 이름의 정당성을 평가한다.딥러닝 기법으로 DGA 도메인명을 검출하려는 최근 시도는 F1 점수가 99%[8]가 넘을 정도로 크게 성공했다.이러한 딥러닝 방법은 일반적으로 LSTM과 CNN 아키텍처를 활용하지만,[9] 딥러닝은 사전 DGA 탐지에 큰 가능성을 보였다.[10]그러나 이러한 심층 학습 접근법은 적대적 기술에 취약할 수 있다.[11][12]
참고 항목
참조
- ^ "Top-5 Most Prevalent DGA-based Crimeware Families" (PDF). Damballa. p. 4. Archived from the original (PDF) on 2016-04-03.
- ^ Plohmann, Daniel; Yakdan, Khaled; Klatt, Michael; Bader, Johannes; Gerhards-Padilla, Elmar (2016). "A Comprehensive Measurement Study of Domain Generating Malware" (PDF). 25th USENIX Security Symposium: 263–278.
- ^ 샤텔 A.Choudhury, "2019년 8월 30일, "도메인 생성 알고리즘 - 멀웨어의 DGA".
- ^ Kührer, Marc; Rossow, Christian; Holz, Thorsten (2014), Stavrou, Angelos; Bos, Herbert; Portokalidis, Georgios (eds.), "Paint It Black: Evaluating the Effectiveness of Malware Blacklists" (PDF), Research in Attacks, Intrusions and Defenses, Springer International Publishing, vol. 8688, pp. 1–21, doi:10.1007/978-3-319-11379-1_1, ISBN 9783319113784, retrieved 2019-03-15
- ^ Antonakakis, Manos; et al. (2012). "From Throw-Away Traffic to Bots: Detecting the Rise of DGA-Based Malware". 21st USENIX Security Symposium: 491–506.
- ^ Curtin, Ryan; Gardner, Andrew; Grzonkowski, Slawomir; Kleymenov, Alexey; Mosquera, Alejandro (2018). "Detecting DGA domains with recurrent neural networks and side information". arXiv:1810.02023 [cs.CR].
- ^ Pereira, Mayana; Coleman, Shaun; Yu, Bin; De Cock, Martine; Nascimento, Anderson (2018), "Dictionary Extraction and Detection of Algorithmically Generated Domain Names in Passive DNS Traffic" (PDF), Research in Attacks, Intrusions, and Defenses, Lecture Notes in Computer Science, vol. 11050, Springer International Publishing, pp. 295–314, doi:10.1007/978-3-030-00470-5_14, ISBN 978-3-030-00469-9, retrieved 2019-03-15
- ^ Woodbridge, Jonathan; Anderson, Hyrum; Ahuja, Anjum; Grant, Daniel (2016). "Predicting Domain Generation Algorithms with Long Short-Term Memory Networks". arXiv:1611.00791 [cs.CR].
- ^ Yu, Bin; Pan, Jie; Hu, Jiaming; Nascimento, Anderson; De Cock, Martine (2018). "Character Level based Detection of DGA Domain Names" (PDF). 2018 International Joint Conference on Neural Networks (IJCNN). Rio de Janeiro: IEEE: 1–8. doi:10.1109/IJCNN.2018.8489147. ISBN 978-1-5090-6014-6. S2CID 52398612.
- ^ Koh, Joewie J.; Rhodes, Barton (2018). "Inline Detection of Domain Generation Algorithms with Context-Sensitive Word Embeddings". 2018 IEEE International Conference on Big Data (Big Data). Seattle, WA, USA: IEEE: 2966–2971. arXiv:1811.08705. doi:10.1109/BigData.2018.8622066. ISBN 978-1-5386-5035-6. S2CID 53793204.
- ^ Anderson, Hyrum; Woodbridge, Jonathan; Bobby, Filar (2016). "DeepDGA: Adversarially-Tuned Domain Generation and Detection". arXiv:1610.01969 [cs.CR].
- ^ Sidi, Lior; Nadler, Asaf; Shabtai, Asaf (2019). "MaskDGA: A Black-box Evasion Technique Against DGA Classifiers and Adversarial Defenses". arXiv:1902.08909 [cs.CR].
추가 읽기
- Phillip Porras; Hassen Saidi; Vinod Yegneswaran (2009-03-19). "An Analysis of Conficker's Logic and Rendezvous Points". Malware Threat Center. SRI International Computer Science Laboratory. Archived from the original on 2013-02-03. Retrieved 2013-06-14.
- Lucian Constantin (2012-02-27). "Malware Authors Expand Use of Domain Generation Algorithms to Evade Detection". PC World. Retrieved 2013-06-14.
- Hongliang Liu, Yuriy Yuzifovich (2017-12-29). "A Death Match of Domain Generation Algorithms". Akamai Technologies. Retrieved 2019-03-15.
- DGAs in the Hands of Cyber-Private - 멀웨어 회피 기법의 기술 상태 조사
- DGA와 사이버 범죄자: 사례 연구
- 범죄자들이 어떻게 그들의 악성 네트워크를 방어하는지, 남용.ch