KR20220152167A - 도메인 네임 시스템(dns) 레코드들의 세트에서 피싱-도메인들을 검출하기 위한 시스템 및 방법 - Google Patents

도메인 네임 시스템(dns) 레코드들의 세트에서 피싱-도메인들을 검출하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20220152167A
KR20220152167A KR1020220055916A KR20220055916A KR20220152167A KR 20220152167 A KR20220152167 A KR 20220152167A KR 1020220055916 A KR1020220055916 A KR 1020220055916A KR 20220055916 A KR20220055916 A KR 20220055916A KR 20220152167 A KR20220152167 A KR 20220152167A
Authority
KR
South Korea
Prior art keywords
phishing
domains
domain
homoglyph
trained
Prior art date
Application number
KR1020220055916A
Other languages
English (en)
Inventor
준 선 리
귀 펭 데이비드 얌
융청 황
진 하오 찬
싱뤼 천
Original Assignee
엔사인 인포시큐리티 피티이. 엘티디.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엔사인 인포시큐리티 피티이. 엘티디. filed Critical 엔사인 인포시큐리티 피티이. 엘티디.
Publication of KR20220152167A publication Critical patent/KR20220152167A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/231Hierarchical techniques, i.e. dividing or merging pattern sets so as to obtain a dendrogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/094Adversarial learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Abstract

본 문서는 도메인 네임 시스템(DNS) 레코드들의 세트에서 사이버 공격자들이 피싱 공격들을 수행하는 데 사용하는 피싱 도메인들을 검출하기 위한 시스템 및 방법을 설명하며, 이 시스템은 호모글리프 피싱 도메인 검출 모듈, 타이포-스쿼팅 피싱 도메인 검출 모듈, 일반 피싱 도메인 검출 모듈, 및 경고 모듈을 포함한다. 이러한 모듈들은 호모글리프, 타이포-스쿼팅 및 일반 피싱 도메인 기술들의 조합을 사용하여, DNS 레코드들의 세트로부터 피싱 도메인들을 협업하여 검출하고 식별하도록 구성된다. 후속하여, 경고 모듈은 DNS 네트워크 데이터에서 발생하는 피싱 캠페인들을 발견하기 위해 다양한 피싱 검출 모듈들로부터의 경고들을 상관시키는 데 사용될 수 있다.

Description

도메인 네임 시스템(DNS) 레코드들의 세트에서 피싱-도메인들을 검출하기 위한 시스템 및 방법{A SYSTEM AND METHOD FOR DETECTING PHISHING-DOMAINS IN A SET OF DOMAIN NAME SYSTEM(DNS) RECORDS}
본 발명은 사이버 공격자들이 피싱 공격들(phishing attacks)을 수행하기 위해 사용하는 피싱 도메인들을 DNS(Domain Name System) 레코드들을 이용하여 검출하기 위한 시스템 및 방법에 관한 것이다. 시스템은 호모글리프 피싱 도메인 검출 모듈(homoglyph phishing domain detection module), 타이포-스쿼팅 피싱 도메인 검출 모듈(typo-squatting phishing domain detection module), 일반 피싱 도메인 검출 모듈, 및 경고 모듈을 포함한다. 이러한 모듈들은 호모글리프, 타이포-스쿼팅 및 일반 피싱 도메인 기술들의 조합을 사용하여, 주어진 DNS 레코드 세트 내에서 발생하는 피싱 도메인들을 협업하여 검출하고 식별하도록 구성된다.
일반적으로, 피싱 공격들을 수행하는 데 전형적으로 사용되는 세 가지 주요 유형의 피싱 도메인, 즉 시각적 유사성을 악용하는 호모글리프 피싱 도메인, 오타를 악용하는 타이포-스쿼팅 피싱 도메인, 인간의 욕망을 악용하는 "win-free-iPhone[.]com"과 같은 기타 일반 피싱 도메인이 존재한다. 피싱 공격들은 공격자들이 (1) 자격증명 하베스팅(credential harvesting)을 통해 피해자들에 관한 지식을 모으거나 (2) 사람들을 속여 악성 페이로드들을 다운로드 및 실행하도록 함으로써 최초 액세스를 얻으려고 시도하는 공격들을 포함한다는 점에 유의하는 것이 유용하다.
타이포-스쿼팅 피싱 도메인들은 동일한 라틴 문자들의 알파벳 순열들을 포함하는 흔한 유형의 피싱 공격이다. 특히, 타이포-스쿼팅 피싱 도메인들은 의심하지 않는 사용자들이 원하는 도메인들에 키보드로 입력할 때 범할 수 있는 오타들을 악용하는 도메인들을 등록하는 것을 수반한다. 예를 들어, 2006년에 "***[.]com"의 타이포-스쿼팅 변형인 "goggle[.]com"이 악의적인 당사자들에 의해 악용되었고, 더 최근에는 youtube[.]com의 타이포-스쿼팅 변형인 "yuube[.]com"이 멀웨어를 호스팅하는 데 사용되었다.
이러한 공격 유형들을 해결하기 위해 업계에서 수용되고 있는 현재의 접근법은 문자열들 간의 편집 거리를 계산하는 것이다. 예를 들어, 아래의 수학식 1은 "진짜" 도메인 네임, 즉 "facebook.com"으로부터 1 레벤스타인 편집 거리(Levenshtein edit Distance)(LD) 떨어진 두 개의 샘플 도메인을 보여준다. 이러한 공지된 방법에서, 더 낮은 LD 값은 "진짜" 도메인과 매우 유사한 도메인들을 나타내므로 피싱 시도가 발생할 가능성을 증가시킨다는 점에 유의해야 한다.
Figure pat00001
그러나, 이 방법은 키보드 거리를 고려하지 못하고 휴리스틱만을 고려한다. 예를 들어, 수학식 1에서 "faceb0ok.com"이 "facebook.com"의 타이포-스쿼팅 변형일 가능성이 더 높은데, 왜냐하면 키보드 상에서 "o"와 "0"은 서로 매우 가까운 반면, "p"와 "c"는 매우 멀리 떨어져 있기 때문이다. 이러한 극명한 차이에도 불구하고, LD 알고리즘은 두 도메인을 "facebook.com"으로부터의 레벤스타인 편집 거리(LD)가 동일한 것으로 분류한다. 그럼에도 불구하고, LD는 여전히 많은 최신의 맞춤법 검사 시스템의 기반을 형성하여, 그것이 오타/철자 오류를 악용하는 타이포-스쿼팅 피싱 도메인을 검출하는 데 적합해지게 한다.
최근에, 본 기술분야의 통상의 기술자들은 키보드 거리를 고려하는 것의 중요성을 인식했고, 이를 고려하고 더 나은 맞춤법 검사 알고리즘들을 제시하는 새로운 방법을 점점 더 많이 찾고 있다. 본 기술분야의 통상의 기술자는 내부의 대응하는 문자들 사이의 거리의 합을 리턴함으로써 2개의 도메인 문자열을 비교하는 간단한 방법을 제안하였다. 한 문자열이 다른 문자열보다 긴 경우, 나머지 문자들은 최대 거리와 동일한 값을 갖는 것으로 카운팅된다. 그것은 키보드 거리를 고려하지만, 인접 문자들의 자리옮김(transposition)은 고려하지 못한다.
또한, 공격자들이 라틴 문자 그룹에 속하지 않는 문자들을 사용하는 호모글리프 공격들(유사 공격들의 부분집합임)을 사용할 때, 위에서 설명된 레벤스타인 편집 거리(LD) 방법은 실패한다. 예를 들어, 도메인들 "
Figure pat00002
" 및 "facebooZ.com" 둘 다는 "facebook.com"으로부터 일(1) LD이지만, 둘 다 상이한 시각적 특성을 갖는다. 또한, 대부분의 최신 브라우저는 국제화된 도메인 네임(Internationalized Domain Names)(IDN)의 디스플레이를 지원하므로, 숫자들 및 기타 특수 문자들을 포함하는 도메인 네임들 모두가 등록될 수 있다. 이러한 IDN들은 전형적으로 "퓨니코드들(puny codes)"의 형태로 된 그들의 라틴 문자 등가물들로 변환된다. 다양한 언어의 도메인 네임들을 용이하게 하는 데 매우 유용하긴 하지만, 그것은 사이버 공격, 특히 호모글리프 유형 도메인 공격들의 가능성을 연다. 호모글리프 공격 벡터는 라틴 대응물들처럼 보이는 문자들의 혼합이 존재할 때 작동한다. 아래의 표 1에서 보는 바와 같이, 호모글리프 유형-도메인들(homoglyph type-domains)과 그들의 원래 도메인들을 구별하는 것은 쉽지 않다.
원본 대체 퓨니코드 시각화
facebook.com "a"를 "
Figure pat00003
"로
xn―fcebook-hwa.com
Figure pat00004
***.com "l"을 "
Figure pat00005
"로
xn―googe-nta.com
Figure pat00006
imda.gov.sg "i"를 "1"로 xn―mda-iua.gov.sg 1mda.gov.sg
호모글리프 피싱 공격들이 증가함에 따라, 이러한 공격들을 검출하기 위해 본 기술분야의 통상의 기술자들에 의해 많은 기술이 제안되었다. 본 기술분야의 통상의 기술자들에 의해 제안되는 한 가지 접근법은 단일 문자들 간의 유사성을 연구하고 평균 제곱 오차에 기초하여 쌍별 유사성들(pair wise similarities)을 평가하는 것이다. 그런 다음, 이 연구는 인간이 그러한 문자 쌍들의 유사성을 평가하도록 함으로써 미세 조정되었다. 이것의 주요 단점은 유사성 비교들이 문자 수준에서 수행되었기 때문에 단어 문자열이 고려되지 않았다는 것이다. 또한, 이 접근법에서는, 호모글리프들의 조합이 호모글리프 문자열들의 혼동에 영향을 줄 수 있다고 가정되었다. 이 접근법에는 충분히 큰 훈련 데이터세트가 부족했고, 따라서 연구를 미세 조정하기 위해 인간 라벨러들이 사용될 필요가 있었다.
다른 접근법에서, 본 기술분야의 통상의 기술자는 샴(Siamese) 컨볼루션 신경망(Convolutional Neural Network)(CNN)이 호모글리프 공격을 검출하고 분류할 수 있음을 보여주었다. 이 접근법은 에리얼(Arial) 글꼴로 렌더링가능한 진짜 도메인과 스푸핑 도메인 쌍을 포함하는 데이터세트를 이용했다. 머신 러닝(machine-learning)(ML) 알고리즘을 훈련할 목적에 매우 유용하긴 하지만, 이 접근법의 주된 단점은 본질적으로 에리얼 글꼴에만 편향되어 있다는 것이다. 이것은 다른 글꼴들에 의해 렌더링될 수 있는 퓨니코드가 이 접근법에서 고려되지 않음을 의미한다. 이러한 데이터세트에서 훈련된 딥 러닝 모델들은 에리얼 글꼴에 대한 편향을 가질 것이다. 또한, 복수의 글꼴에 대해 선별된 대규모 데이터세트를 만드는 것은 매우 지루할 것이고, 그것은 그러한 특정 글꼴들에만 역시 편중될 것이기 때문에 비효율적일 수 있다.
호모글리프 및 타이포-스쿼팅 유형의 도메인들에 더하여, 인간의 기본적인 욕구를 악용하는 피싱 도메인도 존재한다. 이러한 도메인들은 식별 및 검출하기가 가장 어렵기 때문에, 현재까지 이러한 도메인들을 다루기 위해 널리 받아들여지는 접근법은 존재하지 않는다. 이러한 악성 도메인을 식별하기 위해, 본 기술분야의 통상의 기술자들에 의해 제안되는 기술들은 도메인의 수명(즉, 사람들이 쿼리를 중지하기 전에 도메인이 쿼리되는 기간), IP 주소의 수 등과 같은 다른 특징들을 사용하여, 도메인이 악성인지를 결정한다. 그러나, 결과들은, 이러한 모델들이 전형적으로 결국에는 멀웨어 도메인들, 및 공격 프레임워크의 후기 스테이지, 특히 C2 통신, DNS 유출 등에 연관된 다른 도메인들을 포착하며, 실제로는 어떠한 피싱 도메인들도 검출하지 못했음을 보여주었고, 이는 그러한 기술들이 전형적으로 사이버 공격의 초기 스테이지 동안 발생하는 피싱 도메인들이 아니라 멀웨어 및 악성 도메인들을 검출하는 데 더 적합하다는 것을 나타낸다.
상기 이유들로, 본 기술분야의 통상의 기술자들은 DNS 레코드들의 세트로부터 호모글리프 피싱 도메인들, 타이포-스쿼팅 피싱 도메인들, 및/또는 일반 피싱 도메인들을 포함할 수 있는 피싱 도메인들을 검출할 수 있는 시스템 및 방법을 제시하고자 끊임없이 노력하고 있다.
본 발명에 따른 실시예들에 의해 제공되는 시스템들 및 방법들에 의해, 상기 및 다른 문제들이 해결되고, 본 기술 분야의 진보가 이루어진다.
본 발명에 따른 시스템들 및 방법들의 실시예들의 첫 번째 이점은 본 발명이 DNS 레코드들과 같은 수신된 네트워크 트래픽 데이터에만 기초하여 초기 스테이지의 피싱 공격들을 검출하고 저지할 수 있고, 따라서 보호받는 시스템이 데이터 유출 또는 자격증명 하베스팅과 같은 후기 스테이지 공격들에 의해 손상되는 것을 방지한다는 것이다.
본 발명에 따른 시스템들 및 방법들의 실시예들의 두 번째 이점은 이러한 도메인들을 검출하는 것에 더하여, 본 발명이 그러한 도메인들의 식별에 관련된 경고들을 풍부하게 할 수 있고, 그에 의해 그러한 피싱-도메인 공격들을 역시 받는 다른 조직들이 경고를 받을 수 있게 된다는 것이다.
본 발명에 따른 시스템들 및 방법들의 실시예들의 세 번째 이점은 본 발명이 피싱 도메인들을 식별하기 위해 3가지 유형의 피싱 도메인 검출 기술을 이용할 수 있다는 것이다.
본 발명에 따른 시스템들 및 방법들의 실시예들의 네 번째 이점은 본 발명이 고유한 손실 함수를 사용하여 훈련된 생성적 적대 신경망(Generative Adversarial Neural Network)(GAN)을 이용하여 임의의 특정 글꼴 유형에 제한되지 않는 거의 무한한 다양한 글리프들(glyphs)을 생성하여, 호모글리프 피싱 도메인들을 검출하고 식별하는 데 도움이 되도록 별도의 호모글리프 인코더를 훈련한다는 것이다.
본 발명에 따른 시스템들 및 방법들의 실시예들의 다섯 번째 이점은 문자열 비교 문제를 이미지 인식 문제로 변환함으로써 일괄 프로세싱이 수행될 수 있어서 더 많은 문자열을 신속하게 프로세싱할 수 있고, 그에 의해 대규모 네트워크 트래픽 데이터의 프로세싱이 허용된다는 것이다.
본 발명에 따른 시스템들 및 방법들의 실시예들의 여섯 번째 이점은 스와이프 이미지 렌더러(Swype Image Renderer)를 통해, 타이포-스쿼팅 피싱 도메인 검출을 이미지 인식 문제로 변환할 때, 키보드 거리가 기본적으로 고려된다는 것이다.
본 발명에 따른 시스템들 및 방법들의 실시예들의 일곱 번째 이점은 도메인이 가능한 일반 피싱 도메인인지를 결정하도록 자연어 이해를 사용하기 위해, BERT(Bidirectional Encoder Representations from Transformers) 신경망이 사용된다는 것이다.
본 발명에 따른 시스템들 및 방법들의 실시예들의 여덟 번째 이점은, 가능한 일반 피싱 도메인으로 플래그가 지정된 도메인들의 확인된 IP들이, 도메인이 일반 피싱 도메인으로서 분류되어야 하는지 여부를 결정하기 위한 상관 관계에 대한 추가 특징으로서 또한 사용되어, 일반 피싱 도메인 검출의 위양성률(False Positive rate)을 크게 낮춘다는 것이다.
본 발명에 따른 시스템들 및 방법들의 실시예들의 아홉 번째 이점은 공격이 후기 스테이즈로 진화했는지를 결정하기 위해 피싱의 피해자인 각각의 IP에 대해 시간 및 빈도 분석이 수행된다는 것이다.
상기 이점들은 이하의 방식으로 작동하는 본 발명에 따른 방법의 실시예들에 의해 제공된다.
본 발명의 제1 양태에 따르면, 도메인 네임 시스템(Domain Name System)(DNS) 레코드들의 세트에서 피싱 도메인들을 검출하기 위한 시스템이 개시되며, 시스템은 훈련된 호모글리프 인코더 EH 및 참조 데이터베이스 DH를 포함하는 호모글리프 피싱 도메인 검출 모듈(homoglyph phishing domain detection module); 훈련된 타이포-스쿼팅 인코더 ES 및 참조 데이터베이스 DS를 포함하는 타이포-스쿼팅 피싱 도메인 검출 모듈(typo-squatting phishing domain detection module); 훈련된 변환기 기반 신경망을 포함하는 일반 피싱 도메인 검출 모듈(general phishing domain detection module); 및 경고 모듈을 포함하고, 호모글리프 피싱 도메인 검출 모듈은: 호모글리프 도메인들로부터 렌더링된 문자열 이미지들 IHT _N을 수신하고 - 호모글리프 도메인들은 퓨니코드(puny code)를 각각 포함하는 도메인들을 포함함 - ; 훈련된 호모글리프 인코더 EH를 사용하여, 문자열 이미지들 IHT _N 각각을 그들의 연관된 인코딩들 eHT _N으로 인코딩하고; 연관된 인코딩 eHT _N과 참조 데이터베이스 DH 내의 임의의 인코딩 사이의 유클리드 거리가 미리 결정된 임계값 미만일 때, 각각의 호모글리프 도메인을 호모글리프 피싱 도메인으로서 분류하도록 구성되고; 타이포-스쿼팅 피싱 도메인 검출 모듈은: DNS 레코드들의 세트로부터 렌더링된 도메인들의 스와이프-유사 이미지들(Swype-like images) IST _N을 수신하고; 훈련된 타이포-스쿼팅 인코더 ES를 사용하여, 스와이프-유사 이미지들 IST_N 각각을 그들의 연관된 인코딩들 eST_N으로 인코딩하고; 연관된 인코딩 eST_N과 참조 데이터베이스 DS 내의 임의의 인코딩 사이의 유클리드 거리가 미리 결정된 임계값 미만일 때, 스와이프-유사 이미지들 IST _N의 세트를 생성하기 위해 이용되는 각각의 도메인을 타이포-스쿼팅 피싱 도메인으로서 분류하도록 구성되고; 일반 피싱 도메인 검출 모듈은: 피싱 참조 리스트 K 내의 문자열들과 적어도 부분적으로 일치하는 문자열들을 갖는 것으로 DNS 레코드들의 세트로부터 식별된 도메인들을 수신하고; 훈련된 변환기 기반 신경망을 사용하여, 식별된 도메인들 각각에 대한 확률 점수를 생성하고; 미리 결정된 확률 임계값을 초과하는 확률 점수를 갖는 각각의 식별된 도메인에 대한 인터넷 프로토콜(IP) 주소들을 확인(resolve)하고; 확인된 IP 주소들 각각에 대해, 확인된 IP 주소에 연관된 모든 외부 도메인들을 획득하고 - 외부 도메인들은 확인된 IP 주소로 확인된 DNS 레코드들의 세트 내의 모든 도메인을 참조함 - ; 변환기 기반 신경망을 사용하여, 획득된 외부 도메인들 각각에 대한 확률 점수를 생성하고; 미리 결정된 확률 임계값을 초과하는 확률 점수를 갖는 각각의 획득된 외부 도메인을 일반 피싱 도메인으로서 분류하도록 구성되고; 경고 모듈은 호모글리프 피싱 도메인 검출 모듈로부터의 호모글리프 피싱 도메인들, 타이포-스쿼팅 피싱 도메인 검출 모듈로부터의 타이포-스쿼팅 피싱 도메인들, 및 일반 피싱 도메인 검출 모듈로부터의 일반 피싱 도메인들에 기초하여, DNS 레코드들의 세트 내에서 검출된 피싱 도메인들에 대한 경고들을 생성하도록 구성된다.
본 발명의 제1 양태와 관련하여, 경고 모듈은 식별된 피싱 도메인들로부터 무해한 도메인 네임들을 필터링하도록 구성되는 블랙리스트 및 규칙 기반 필터링 모듈을 포함한다.
본 발명의 제1 양태와 관련하여, 경고 모듈은 거동 분석 모듈(behavioural analytics module)을 더 포함하고, 거동 분석 모듈은: 블랙리스트 및 규칙 기반 필터링 모듈로부터, 필터링되지 않은 피싱 도메인들을 획득하고; 필터링되지 않은 피싱 도메인들 중 적어도 하나를 쿼리한 IP 주소들을 획득하고; 필터링되지 않은 피싱 도메인들 중 적어도 하나를 쿼리한 각각의 IP 주소에 대해: 해당 IP 주소에 의해 이루어진 각각의 필터링되지 않은 피싱 도메인에 대한 쿼리들의 수에 기초하여 카운트 기반 벡터를 생성하고; 각각의 카운트 기반 벡터에 L2 정규화를 적용하고; 유사한 특성들을 갖는 카운트 기반 벡터들을 식별하기 위해 IP 주소들 및 그들의 연관된 카운트 기반 벡터들에 계층적 클러스터링을 적용하고; 식별된 카운트 기반 벡터들에 연관된 IP 주소들을 동일한 피싱 공격 캠페인들의 대상이 되는 IP 주소들로서 분류하도록 구성된다.
본 발명의 제1 양태와 관련하여, 경고 모듈은 거동 분석 모듈을 더 포함하고, 거동 분석 모듈은: 블랙리스트 및 규칙 기반 필터링 모듈로부터, 필터링되지 않은 피싱 도메인들을 획득하고; 필터링되지 않은 피싱 도메인들 중 적어도 하나를 쿼리한 IP 주소들을 획득하고; 필터링되지 않은 피싱 도메인들 중 적어도 하나를 쿼리한 각각의 IP 주소에 대해: 해당 IP 주소에 의해 이루어진 각각의 필터링되지 않은 피싱 도메인에 대한 쿼리들의 수에 기초하여 카운트 기반 벡터를 생성하고; 각각의 카운트 기반 벡터에 L2 정규화를 적용하고; 유사한 특성들을 갖는 카운트 기반 벡터들을 식별하기 위해 IP 주소들 및 그들의 연관된 카운트 기반 벡터들에 지역 민감 해싱(Locality Sensitive Hashing)(LSH)을 적용하고; 식별된 카운트 기반 벡터들에 연관된 IP 주소들을 피싱 공격 캠페인들의 대상이 되는 IP 주소들로서 분류하도록 구성된다.
본 발명의 제1 양태와 관련하여, 거동 분석 모듈은 계층적 클러스터링 또는 LSH 이전에 TSNE 또는 UMAP과 같은 차원 축소 절차(dimensionality reduction procedure)를 더 포함한다.
본 발명의 제1 양태와 관련하여, 경고 모듈은 거동 분석 모듈을 더 포함하고, 거동 분석 모듈은: 블랙리스트 및 규칙 기반 필터링 모듈로부터, 필터링되지 않은 피싱 도메인들을 획득하고; 필터링되지 않은 피싱 도메인들 중 적어도 하나를 쿼리한 IP 주소들을 획득하고; 적어도 하나의 필터링되지 않은 피싱 도메인을 쿼리한 각각의 IP 주소에 대해: 적어도 하나의 필터링되지 않은 피싱 도메인에 대한 쿼리들이 이루어진 때의 정렬된 타임 스탬프들의 리스트를 수집하고; 정렬된 타임 스탬프들을 사용하여 상대 시간들을 계산하고 - 각각의 계산된 상대 시간은 제1 타임 스탬프에 대해 경과된 시간임 - ; 계산된 상대 시간들을 원하는 샘플링 빈도로 비닝(bin)하고, 각각의 빈 내의 항목들의 수를 카운팅하여 발생 시계열(time series of occurrences)을 획득하고 - 발생 시계열은 적어도 하나의 필터링되지 않은 피싱 도메인에 대해 이루어진 쿼리들의 수로서 정의됨 - ; 발생 시계열에 해닝 필터(Hanning filter)를 적용하고; 필터링된 발생 시계열에 대한 빈도 분석을 수행하여, 주기성의 존재 및 그것의 연관된 빈도를 결정하도록 더 구성된다.
본 발명의 제1 양태와 관련하여, 호모글리프 인코더 EH는:
Figure pat00007
로서 정의되는, 호모글리프 인코더 EH의 파라미터들에 대한 삼중항 손실 훈련 함수 Ltriplet을 최소화함으로써 훈련되고, 함수 Ltriplet의 포지티브 입력에는 빈번하게 방문되는 인기있는 인터넷 도메인들의 세트로부터 렌더링된 이미지들의 세트가 제공되고, 함수 Ltriplet의 앵커 입력에는 각각이 현재 세트의 포지티브 입력의 글리프 버전(glyphed version)에 대응하는 훈련된 피시 생성적 적대 네트워크(Phish-Generative Adversarial Network)(피시-GAN)로부터의 출력들의 세트가 제공되고, 함수 Ltriplet의 네거티브 입력에는 인코더 EH에 의해 현재 세트의 앵커 입력과 유사한 것으로 여겨지지만 해당 세트에 대한 실제 포지티브 샘플은 제외한, 빈번하게 방문되는 인기있는 인터넷 도메인들의 세트로부터 샘플링된 도메인들의 문자열 이미지들의 세트가 제공되고, E(P)는 포지티브 인코딩된 출력으로서 정의되고, E(A)는 앵커 인코딩된 출력으로서 정의되고, E(N)은 네거티브 인코딩된 출력으로서 정의되고, M은 마진이다.
본 발명의 제1 양태와 관련하여, 호모글리프 인코더 EH는:
Figure pat00008
로서 정의되는 정규화된 온도-스케일 크로스 엔트로피(Normalized Temperature-scaled Cross Entropy)(NT-Xent) 손실 함수 LNT - Xent를 최소화함으로써 훈련되고, 함수 LNT - Xent의 포지티브 입력에는 빈번하게 방문되는 인기있는 인터넷 도메인들의 세트로부터 렌더링된 이미지들의 세트가 제공되고, 함수 LNT - Xent의 앵커 입력에는 각각이 현재 세트의 포지티브 입력의 글리프 버전에 대응하는 훈련된 피시 생성적 적대 네트워크(피시-GAN)로부터의 출력들의 세트가 제공되고, 함수 LNT - Xent의 네거티브 입력에는 인코더 EH에 의해 현재 세트의 앵커 입력과 유사한 것으로 여겨지지만 해당 세트에 대한 실제 포지티브 샘플은 제외한, 빈번하게 방문되는 인기있는 인터넷 도메인들의 세트로부터의 도메인들의 문자열 이미지들의 배치(batch)의 세트가 제공되고,
Figure pat00009
는 앵커 및 포지티브 샘플들의 인코딩들 간의 코사인 유사성 척도이고,
Figure pat00010
는 앵커 및 네거티브 샘플의 인코딩들 간의 코사인 유사성 척도이다.
본 발명의 제1 양태와 관련하여, 훈련된 피시-GAN은 훈련 데이터세트 y로부터 렌더링된 이미지들 x 및 무작위로 생성된 노이즈 z를 수신하여, 수신된 이미지들 각각의 글리프 버전들 G(x,z)를 생성하도록 구성되는 훈련된 생성기 G; 및 훈련된 판별기 D를 더 포함하고, 훈련된 판별기 D는: 훈련된 생성기 G로부터의 글리프 버전들 G(x,z), 및 이미지들 x를 수신하고; 판별기 함수 D()를 통해 이미지들 x 및 G(x,z)를 가짜 이미지 또는 진짜 이미지로 분류하도록 구성되고, 생성기 G는:
Figure pat00011
로서 정의되는 보조 내적 손실 함수(auxiliary dot product loss function) Ldot를 사용하여 훈련되고, flat()는 내적을 계산하기 위해 이미지 텐서들을 벡터로 재성형(reshape)하는 평면 함수(flat function)로서 정의되고, 훈련된 피시-GAN은:
Figure pat00012
로서 정의되는 생성기 목적 함수 G* 및 판별기 목적 함수 D*를 포함한다.
본 발명의 제1 양태와 관련하여, 타이포-스쿼팅 인코더 ES는:
Figure pat00013
로서 정의되는 정규화된 온도-스케일 크로스 엔트로피(NT-Xent) 손실 함수 LNT-Xent를 최소화함으로써 훈련되고, 함수 LNT - Xent의 포지티브 입력에는 빈번하게 방문되는 인기있는 인터넷 도메인들의 세트로부터 렌더링된 스와이프-유사 이미지들의 세트가 제공되고, 함수 LNT - Xent의 앵커 입력에는 연관된 세트의 포지티브 입력을 타깃팅하는 생성된 타이포-스쿼팅 피싱 도메인들의 스와이프-유사 이미지들의 세트가 제공되고, 함수 LNT - Xent의 네거티브 입력에는 인코더 ES에 의해 현재 세트의 앵커 입력과 유사한 것으로 여겨지지만 해당 세트에 대한 실제 포지티브 샘플은 제외한, 빈번하게 방문되는 인기있는 인터넷 도메인들의 세트로부터의 도메인들의 스와이프-유사 이미지들의 배치의 세트가 제공되고,
Figure pat00014
는 앵커 및 포지티브 샘플들의 인코딩들 간의 코사인 유사성 척도이고,
Figure pat00015
는 앵커 및 네거티브 샘플의 인코딩들 간의 코사인 유사성 척도이다.
본 발명의 제1 양태와 관련하여, 타이포-스쿼팅 인코더 ES는:
Figure pat00016
로서 정의되는 삼중항 손실 함수 Ltriplet을 최소화함으로써 훈련되고, 함수 Ltriplet의 포지티브 입력에는 빈번하게 방문되는 인기있는 인터넷 도메인들의 세트로부터 렌더링된 스와이프-유사 이미지들의 세트가 제공되고, 함수 Ltriplet의 앵커 입력에는 연관된 세트의 포지티브 입력을 타깃팅하는 생성된 타이포-스쿼팅 피싱 도메인들의 스와이프-유사 이미지들의 세트가 제공되고, 함수 Ltriplet의 네거티브 입력에는 인코더 ES에 의해 현재 세트의 앵커 입력과 유사한 것으로 여겨지지만 해당 세트에 대한 실제 포지티브 샘플은 제외한, 빈번하게 방문되는 인기있는 인터넷 도메인들의 세트로부터의 도메인들의 스와이프-유사 이미지들의 배치의 세트가 제공되고, E(P)는 포지티브 인코딩된 출력으로서 정의되고, E(A)는 앵커 인코딩된 출력으로서 정의되고, E(N)은 네거티브 인코딩된 출력으로서 정의되고, M은 마진이다.
본 발명의 제1 양태와 관련하여, 변환기 기반 신경망은 이진 크로스 엔트로피 손실 함수를 사용하여 훈련된다.
본 발명의 제1 양태와 관련하여, 일반 피싱 도메인 검출 모듈을 사용하여, 식별된 도메인들 각각에 대한 확률 점수를 생성하는 것은, 일반 피싱 도메인 검출 모듈이, 식별된 도메인들 각각에 대해 서브-워드 토큰화(sub-word tokenisation)를 수행하고, 훈련된 변환기 기반 신경망을 사용하여, 서브-워드 토큰들에 기초하여 확률 점수를 생성하도록 구성되는 것을 포함한다.
본 발명의 제1 양태와 관련하여, 일반 피싱 도메인 검출 모듈은, 확인된 IP 주소들 각각에 대해: 모든 외부 도메인들을 획득하고 - 외부 도메인들은 해당 IP 주소로 확인된 도메인들을 포함함 - ; 훈련된 변환기 기반 신경망을 사용하여, 서브-워드 토큰들에 기초하여 각각의 외부 도메인에 대한 확률 점수를 생성하고; 일반 피싱 도메인들로서 분류된 획득된 외부 도메인들의 백분율이 백분율 임계값을 초과하는 것으로 결정될 때, 미리 결정된 임계값을 초과하는 확률 점수를 갖는 외부 도메인들 전부를 일반 피싱 도메인들로서 분류하도록 더 구성된다.
본 발명의 제1 양태와 관련하여, 호모글리프 피싱 도메인 검출 모듈에 의해 각각의 호모글리프 도메인을 호모글리프 피싱 도메인으로서 분류하는 것은, 호모글리프 피싱 도메인 검출 모듈이 대신에, 연관된 인코딩 eHT _N과 참조 데이터베이스 DH 내의 임의의 인코딩 사이의 코사인 유사성이 미리 결정된 임계값을 초과할 때, 각각의 호모글리프 도메인을 호모글리프 피싱 도메인으로서 분류하도록 구성되는 것을 포함하고; 타이포-스쿼팅 피싱 도메인 검출 모듈에 의해 스와이프-유사 이미지들 IST_N의 세트를 생성하기 위해 사용되는 각각의 도메인을 분류하는 것은, 타이포-스쿼팅 피싱 도메인 검출 모듈이 대신에, 연관된 인코딩 eST_N과 참조 데이터베이스 DS 내의 임의의 인코딩 사이의 코사인 유사성 척도가 미리 결정된 임계값을 초과할 때, 스와이프-유사 이미지들 IST _N의 세트를 생성하기 위해 사용되는 각각의 도메인을 타이포-스쿼팅 피싱 도메인으로서 분류하도록 구성되는 것을 포함한다.
본 발명의 제1 양태와 관련하여, 호모글리프 피싱 도메인 검출 모듈은, 모든 쿼리된 도메인들로부터 렌더링된 문자열 이미지들 IHT _ Nall을 수신하고; 훈련된 호모글리프 인코더 EH를 사용하여, 문자열 이미지들 IHT _ Nall 각각을 그들의 연관된 인코딩들 eHT _ Nall로 인코딩하고; 연관된 인코딩 eHT _N과 참조 데이터베이스 DH 내의 임의의 인코딩 간의 유사성 메트릭이 미리 결정된 임계값을 넘을 때, 각각의 쿼리된 도메인을 유사 피싱 도메인(lookalike phishing domain)으로서 분류하도록 더 구성된다.
본 발명의 제2 양태에 따르면, 훈련된 호모글리프 인코더 EH 및 참조 데이터베이스 DH를 포함하는 호모글리프 피싱 도메인 검출 모듈, 훈련된 타이포-스쿼팅 인코더 ES 및 참조 데이터베이스 DS를 포함하는 타이포-스쿼팅 피싱 도메인 검출 모듈, 훈련된 변환기 기반 신경망을 포함하는 일반 피싱 도메인 검출 모듈, 및 경고 모듈을 이용하여, 도메인 네임 시스템(DNS) 레코드들의 세트에서 피싱 도메인들을 검출하기 위한 방법이 개시되고, 방법은 호모글리프 피싱 도메인 검출 모듈을 사용하여, 호모글리프 도메인들로부터 렌더링된 문자열 이미지들 IHT _N을 수신하는 단계 - 호모글리프 도메인들은 퓨니코드를 각각 포함하는 도메인들을 포함함 - ; 훈련된 호모글리프 인코더 EH를 사용하여, 문자열 이미지들 IHT _N 각각을 그들의 연관된 인코딩들 eHT _N으로 인코딩하는 단계; 호모글리프 피싱 도메인 검출 모듈을 사용하여, 연관된 인코딩 eHT _N과 참조 데이터베이스 DH 내의 임의의 인코딩 사이의 유클리드 거리가 미리 결정된 임계값 미만일 때, 각각의 호모글리프 도메인을 호모글리프 피싱 도메인으로서 분류하는 단계; 타이포-스쿼팅 피싱 도메인 검출 모듈을 사용하여, DNS 레코드들의 세트로부터 렌더링된 도메인들의 스와이프-유사 이미지들 IST _N을 수신하는 단계; 타이포-스쿼팅 피싱 도메인 검출 모듈의 훈련된 타이포-스쿼팅 인코더 ES를 사용하여, 스와이프-유사 이미지들 IST _N 각각을 그들의 연관된 인코딩들 eST_N으로 인코딩하는 단계; 타이포-스쿼팅 피싱 도메인 검출 모듈을 사용하여, 연관된 인코딩 eST_N과 참조 데이터베이스 DS 내의 임의의 인코딩 사이의 유클리드 거리가 미리 결정된 임계값 미만일 때, 스와이프-유사 이미지들 IST _N의 세트를 생성하기 위해 이용되는 각각의 도메인을 타이포-스쿼팅 피싱 도메인으로서 분류하는 단계; 일반 피싱 도메인 검출 모듈을 사용하여, 피싱 참조 리스트 K 내의 문자열들과 적어도 부분적으로 일치하는 문자열들을 갖는 것으로 DNS 레코드들의 세트로부터 식별된 도메인들을 수신하는 단계; 일반 피싱 도메인 검출 모듈의 훈련된 변환기 기반 신경망을 사용하여, 식별된 도메인들 각각에 대한 확률 점수를 생성하는 단계; 일반 피싱 도메인 검출 모듈을 사용하여, 미리 결정된 확률 임계값을 초과하는 확률 점수를 갖는 각각의 식별된 도메인에 대한 인터넷 프로토콜(IP) 주소들을 확인하는 단계; 확인된 IP 주소들 각각에 대해, 일반 피싱 도메인 검출 모듈을 사용하여: 확인된 IP 주소에 연관된 모든 외부 도메인들을 획득하는 단계 - 외부 도메인들은 확인된 IP 주소로 확인된 DNS 레코드들의 세트 내의 모든 도메인을 참조함 - ; 변환기 기반 신경망을 사용하여, 획득된 외부 도메인들 각각에 대한 확률 점수를 생성하는 단계; 미리 결정된 확률 임계값을 초과하는 확률 점수를 갖는 각각의 획득된 외부 도메인을 일반 피싱 도메인으로서 분류하는 단계; 및 경고 모듈을 사용하여, 호모글리프 피싱 도메인 검출 모듈로부터의 호모글리프 피싱 도메인들, 타이포-스쿼팅 피싱 도메인 검출 모듈로부터의 타이포-스쿼팅 피싱 도메인들, 및 일반 피싱 도메인 검출 모듈로부터의 일반 피싱 도메인들에 기초하여, DNS 레코드들의 세트 내에서 검출된 피싱 도메인들에 대한 경고들을 생성하는 단계를 포함한다.
본 발명의 제2 양태와 관련하여, 경고 모듈을 사용하여 경고들을 생성하는 단계는 블랙리스트 및 규칙 기반 필터링 모듈을 사용하여, 식별된 피싱 도메인들로부터 무해한 도메인 네임들을 필터링하는 단계를 포함한다.
본 발명의 제2 양태와 관련하여, 경고 모듈을 사용하여 경고들을 생성하는 단계는: 거동 분석 모듈을 사용하여, 블랙리스트 및 규칙 기반 필터링 모듈로부터, 필터링되지 않은 피싱 도메인들을 획득하는 단계; 거동 분석 모듈을 사용하여, 필터링되지 않은 피싱 도메인들 중 적어도 하나를 쿼리한 IP 주소들을 획득하는 단계; 필터링되지 않은 피싱 도메인들 중 적어도 하나를 쿼리한 각각의 IP 주소에 대해, 거동 분석 모듈을 사용하여: 해당 IP 주소에 의해 이루어진 각각의 필터링되지 않은 피싱 도메인에 대한 쿼리들의 수에 기초하여 카운트 기반 벡터를 생성하는 단계; 각각의 카운트 기반 벡터에 L2 정규화를 적용하는 단계; 거동 분석 모듈을 사용하여, 유사한 특성들을 갖는 카운트 기반 벡터들을 식별하기 위해 IP 주소들 및 그들의 연관된 카운트 기반 벡터들에 계층적 클러스터링을 적용하는 단계; 및 거동 분석 모듈을 사용하여, 식별된 카운트 기반 벡터들에 연관된 IP 주소들을 동일한 피싱 공격 캠페인들의 대상이 되는 IP 주소들로서 분류하는 단계를 포함한다.
본 발명의 제2 양태와 관련하여, 경고 모듈을 사용하여 경고들을 생성하는 단계는: 거동 분석 모듈을 사용하여, 블랙리스트 및 규칙 기반 필터링 모듈로부터, 필터링되지 않은 피싱 도메인들을 획득하는 단계; 거동 분석 모듈을 사용하여, 필터링되지 않은 피싱 도메인들 중 적어도 하나를 쿼리한 IP 주소들을 획득하는 단계; 필터링되지 않은 피싱 도메인들 중 적어도 하나를 쿼리한 각각의 IP 주소에 대해, 거동 분석 모듈을 사용하여: 해당 IP 주소에 의해 이루어진 각각의 필터링되지 않은 피싱 도메인에 대한 쿼리들의 수에 기초하여 카운트 기반 벡터를 생성하는 단계; 각각의 카운트 기반 벡터에 L2 정규화를 적용하는 단계; 거동 분석 모듈을 사용하여, 유사한 특성들을 갖는 카운트 기반 벡터들을 식별하기 위해 IP 주소들 및 그들의 연관된 카운트 기반 벡터들에 지역 민감 해싱(LSH)을 적용하는 단계; 및 거동 분석 모듈을 사용하여, 식별된 카운트 기반 벡터들에 연관된 IP 주소들을 피싱 공격 캠페인들의 대상이 되는 IP 주소들로서 분류하는 단계를 포함한다.
상기 문제들 및 다른 문제들은 상세한 설명에서 설명되고 이하의 도면들에 보여진 본 발명에 따른 시스템 및 방법의 특징들 및 이점들에 의해 해결된다.
도 1은 본 발명의 실시예들에 따라 도메인 네임 시스템(DNS) 레코드들의 세트 내에서 피싱 도메인들을 검출하기 위한 방법 및/또는 시스템을 구현하는 데 사용될 수 있는 모듈들의 블록도를 도시한다.
도 2는 본 발명의 실시예들에 따라 도메인 네임 시스템(DNS) 레코드들의 세트 내에서 피싱 도메인들을 검출하기 위한 방법 및/또는 시스템의 다른 실시예를 구현하는 데 사용될 수 있는 모듈들의 블록도를 도시한다.
도 3은 본 발명의 실시예들에 따라 실시예들을 제공하는 프로세싱 시스템들을 나타내는 블록도를 도시한다.
도 4는 본 발명의 실시예들에 따라 피시-GAN 및 호모글리프 인코더를 훈련하는 프로세스 흐름이다.
도 5는 가짜 이미지와 진짜 이미지가 판별기에 제공될 때 피시-GAN의 판별기의 예시적인 출력들을 도시한다.
도 6은 본 발명의 실시예들에 따라 호모글리프 인코더의 훈련의 프로세스 흐름을 도시한다.
도 7은 본 발명의 실시예들에 따라 호모글리프 피싱 도메인 검출 모듈에 의해 수행되는 프로세스 흐름을 도시한다.
도 8은 본 발명의 실시예들에 따라 저차원 시각화 평면에 투영된, 훈련된 호모글리프 인코더에 의해 생성된 인코딩들을 도시한다.
도 9는 본 발명의 실시예들에 따라 도메인 네임들의 예시적인 스와이프 렌더링된 이미지들을 도시한다.
도 10은 본 발명의 실시예들에 따라 타이포-스쿼팅 인코더의 훈련의 프로세스 흐름을 도시한다.
도 11은 본 발명의 실시예들에 따라 타이포-스쿼팅 피싱 도메인 검출 모듈에 의해 수행되는 프로세스 흐름을 도시한다.
도 12는 본 발명의 실시예들에 따라 훈련된 타이포-스쿼팅 인코더에 의해 인코딩되고 저차원 시각화 평면에 투영된 도메인들의 클러스터들 및 그들의 타이포-스쿼팅 변형들을 도시한다.
도 13은 본 발명의 실시예들에 따라 가능한 일반 피싱 도메인들을 식별하기 위해 일반 피싱 도메인 검출 모듈에 의해 사용되는 변환기 기반 신경망 모델을 도시한다.
도 14는 키워드들의 리스트, 변환기 기반 신경망, 및 확인된 IP 주소들을 사용하여 일반 피싱 도메인들을 식별하기 위한 프로세스 흐름을 도시한다.
도 15는 IP 주소에 대한 예시적인 카운트 기반 벡터를 도시한다.
도 16은 고정된 기간에 걸쳐 검출된 발생 횟수의 예시적인 플롯을 도시한다.
도 17은 도 16에 도시된 플롯 상에 해밍 필터의 사용을 도시한다.
도 18은 동일한 악성 도메인들에 의해 타깃팅되는 조직들의 예시적인 클러스터들을 도시한다.
도 19는 피싱 공격들의 주기성을 보여주는 예시적인 플롯을 도시한다.
본 발명은 도메인 네임 시스템(DNS) 레코드들의 사용을 통해, 사이버 공격자들이 피싱 공격들을 수행하는 데 사용하는 피싱 도메인들을 검출하기 위한 시스템 및 방법에 관한 것이다. 시스템은 호모글리프 피싱 도메인 검출 모듈, 타이포-스쿼팅 피싱 도메인 검출 모듈, 일반 피싱 도메인 검출 모듈, 및 경고 모듈을 포함한다. 이러한 모듈들은 호모글리프, 타이포-스쿼팅 및 일반 피싱 도메인 기술들의 조합을 사용하여, DNS 레코드들의 세트로부터 피싱 도메인들을 협업하여 검출하고 식별하도록 구성된다. 특히, 이러한 모듈은 생성적 적대 신경망들(GAN), 이미지 인식 알고리즘들, 변환기 신경망들, 및/또는 거동 기반 분석 기술들을 이용하여 DNS 레코드들의 세트로부터 피싱 도메인들 및 가능한 피싱 캠페인들을 식별하고 검출하도록 구성된다.
본 발명은 첨부 도면들에 도시된 바와 같은 여러 실시예들을 참조하여 이하에서 상세하게 설명될 것이다. 이하의 설명에서, 본 발명의 실시예들의 완전한 이해를 제공하기 위해 다수의 특정 특징이 제시된다. 그러나, 특정 특징의 일부 또는 전부 없이 실시예들이 실현될 수 있다는 것이 본 기술분야의 통상의 기술자에게 명백할 것이다. 이러한 실시예들은 또한 본 발명의 범위에 속해야 한다. 또한, 본 발명을 불필요하게 모호하게 하지 않도록, 이하의 특정 프로세스 단계들 및/또는 구조들은 상세하게 설명되지 않았을 수 있으며, 독자는 대응하는 인용을 참조할 것이다.
또한, 본 기술분야의 통상의 기술자는 이 설명에서의 많은 기능 유닛이 명세서 전체에 걸쳐 모듈들로서 라벨링되었음을 인식할 것이다. 본 기술분야의 통상의 기술자는 또한 모듈이 회로, 로직 칩 또는 임의의 종류의 개별 컴포넌트로 구현될 수 있음을 인식할 것이다. 또한, 본 기술분야의 통상의 기술자는 모듈이 다양한 프로세서에 의해 실행될 수 있는 소프트웨어로 구현될 수 있음을 또한 인식할 것이다. 본 발명의 실시예들에서, 모듈은 또한 수신된 명령어들에 기초하여 이벤트들의 시퀀스를 수행하도록 컴퓨터 프로세서에 명령할 수 있는 컴퓨터 명령어들 또는 실행가능한 코드를 포함할 수 있다. 모듈들의 구현에 대한 선택은 본 기술분야의 통상의 기술자에게 설계 선택으로서 남겨지며 어떤 식으로든 본 발명의 범위를 제한하지 않는다.
도 1은 본 발명의 실시예들에 따라 도메인 네임 시스템(DNS) 레코드들의 세트에서 피싱 도메인들을 검출하기 위한 방법 및/또는 시스템을 구현하기 위해 사용될 수 있는 모듈들의 블록도를 도시한다. 일반적으로, 도 1에 도시된 바와 같이, DNS 레코드들(103)의 세트는 문자열 이미지 렌더러(105), 스와이프 이미지 렌더러(115) 및 도메인 필터(120)에 제공된다.
다음으로, 문자열 이미지 렌더러(105)로부터의 문자열 이미지들은 호모글리프 검출 모듈(125)에 제공된다. 다음으로, 모듈(125)은 수신된 문자열 이미지들로부터 가능한 호모글리프 피싱 도메인들을 식별하도록 진행하고, 다음으로, 이러한 식별된 호모글리프 피싱 도메인들은 경고 모듈(140)에 제공된다.
동시에, 스와이프 이미지 렌더러(115)로부터의 스와이프 이미지들은 타이포-스쿼팅 피싱 도메인 검출 모듈(130)에 제공된다. 다음으로, 모듈(130)은 수신된 문자열 이미지들로부터 타이포-스쿼팅 피싱 도메인들을 식별하도록 진행하고, 다음으로, 이러한 타이포-스쿼팅 피싱 도메인들은 경고 모듈(140)에 제공된다.
동시에, 피싱 참조 리스트 내의 문자열들과 적어도 부분적으로 일치하지 않는 문자열들은 도메인 필터(120)에서 필터링된다. 다음으로, 나머지 문자열들은 일반 피싱 검출 모듈(135)에 제공된다. 다음으로, 모듈(135)은 나머지 문자열들을 사용하여 일반 피싱 도메인들을 식별하도록 진행하고, 다음으로, 이러한 일반 피싱 도메인들은 경고 모듈(140)에 제공된다.
다음으로, 경고 모듈(140)은 수신된 호모글리프 피싱 도메인들, 타이포-스쿼팅 피싱 도메인들, 및 일반 피싱 도메인들을 이용하여, 다수의 IP 주소에 영향을 미치는 추가적인 변칙적 거동들 및 가능한 유사한 피싱 캠페인들을 식별한다. 피싱 캠페인들은 본질적으로 특정 사이버 공격자에 의해 수행되는 공격 캠페인들이다. 경고 모듈(140)은 모듈(120, 130, 및 135)로부터의 출력들을 상관시켜, DNS 데이터 내의 다양한 IP 주소들에 영향을 미치는 유사한 피싱 거동들을 식별하여, 동일한 피싱 캠페인을 경험하고 있는 IP 주소들을 식별하며, 이는 그것들이 동일한 위협 행위자에 의해 타깃팅될 가능성을 나타낸다.
도 1에 도시된 시스템이 DNS 레코드들의 세트에서 피싱 도메인들을 검출하기 위해 사용되기 전에, 그 안에 포함된 각각의 모듈들은 셋업 위상을 거쳐야 한다. 본 발명의 일 실시예에서, 일반적으로 사용되는 도메인들, 인기있는 도메인들, 및 모든 그러한 유사한 도메인의 체크 리스트 L이 먼저 생성된다. 다음으로, 문자열 이미지 렌더러(105)는 체크리스트 L 내의 도메인들 각각에 대한 문자열 이미지들을 렌더링하기 위해 사용된다. 다음으로, 호모글리프 검출 모듈(125) 내에 제공되는 훈련된 호모글리프 인코더 EH는 렌더링된 문자열 이미지들 각각에 대한 인코딩들을 생성하도록 구성된다. 다음으로, 훈련된 호모글리프 인코더 EH에 의해 생성된 이러한 인코딩들은 참조 데이터베이스 DH에 저장된다. 본 발명의 실시예들에서, 참조 데이터베이스 DH는 호모글리프 피싱 도메인 검출 모듈(125) 내에 저장될 수 있거나 모듈(125)에 통신 가능하게 연결된 외부 서버에 저장될 수 있다.
셋업 위상 동안, 체크 리스트 L은 또한 스와이프 이미지 렌더러(115)에 제공된다. 다음으로, 스와이프 이미지 렌더러(115)는 체크 리스트 L 내의 도메인들 각각에 대해 스와이프 유사 이미지들을 렌더링한다. 다음으로, 타이포-스쿼팅 검출 모듈(130) 내에 제공되는 훈련된 타이포-스쿼팅 인코더 Es는 렌더링된 스와이프 유사 이미지들 각각에 대한 인코딩들을 생성하도록 구성된다. 다음으로, 인코더 ES에 의해 생성된 이러한 인코딩들은 참조 데이터베이스 DS에 저장된다. 본 발명의 실시예들에서, 참조 데이터베이스 DS는 타이포-스쿼팅 검출 모듈(130) 내에 저장될 수 있거나 모듈(130)에 통신 가능하게 연결된 외부 서버에 저장될 수 있다.
추가로, 이러한 셋업 위상 동안, 피싱 및 클릭-베이트들(click-baits)에 자주 사용되는 키워드들의 리스트는 외부 데이터베이스들 및 레코드들, 예를 들어 PhishTank 데이터베이스로부터 획득되고, 피싱 참조 리스트 K를 채우는 데 사용된다.
셋업 위상이 완료되고 나면, 다음으로, DNS 레코드들(103)의 세트에서 피싱 도메인들을 검출하기 위해, 도 1에 도시된 시스템이 배치될 수 있다.
문자열 이미지 렌더러(105)는 우선 호모글리프 도메인들을 문자열 이미지들 IHT_N의 세트로 렌더링하도록 구성되며, 여기서 호모글리프 도메인들은 그것의 도메인 문자열 내의 적어도 하나의 호모글리프(즉, 비-라틴 문자)의 존재를 나타내는 퓨니코드가 그것의 도메인 문자열 내에 존재하는 도메인들을 포함한다. 이러한 호모글리프 도메인들은 DNS 레코드들(103)의 세트 중에서, 호모글리프의 존재를 암시하는 퓨니코드의 존재를 나타내는 "xn--"으로 시작하는 서브-도메인/도메인 네임을 각각 갖는 도메인 네임들을 포함한다. 본 발명의 다른 실시예들에서, 문자열 이미지 렌더러(105)는 대신에 DNS 레코드들(105)의 세트 내의 모든 도메인 네임들을 문자열 이미지들 IHT _N의 세트로 렌더링하도록 구성될 수 있고, 그에 의해 호모글리프들의 존재 없이 라틴 계열 내의 시각적 유사성을 악용하는 유사 도메인들이 또한 그에 따라 검출되고 분류될 수 있다. 이러한 유사 도메인들의 예들은 "w"를 "vv"로 교체하는 것, "I"를 "1"로 교체하는 것 등을 포함한다.
다음으로, 훈련된 호모글리프 인코더 EH 및 참조 데이터베이스 DH를 구비하는 호모글리프 피싱 검출 모듈(125)은 문자열 이미지 렌더러(105)로부터 문자열 이미지들 IHT _N의 세트를 수신하도록 구성된다. 다음으로, 훈련된 호모글리프 인코더 EH는 문자열 이미지들 IHT _N 각각을 그들의 연관된 인코딩들 eHT _N으로 인코딩하도록 진행한다. 다음으로, 이러한 인코딩들 eHT _N은 참조 데이터베이스 DH에 포함된 인코딩들과 비교된다. 연관된 인코딩 eHT _N과 참조 데이터베이스 DH 내의 임의의 인코딩 사이의 유클리드 거리가 미리 결정된 임계값 미만인 것으로 밝혀지면, 다음으로, 모듈(125)은 그 연관된 인코딩 eHT _N을 호모글리프 피싱 도메인으로서 분류할 것이다. 본 발명의 다른 실시예들에서, 유클리드 거리와 별개인 다른 유사성 척도들이 또한 사용될 수 있다. 예들은 코사인 유사성, L1 유사성 등을 포함한다.
본 발명의 다른 실시예에서, 호모글리프 피싱 도메인 검출 모듈(125)은 문자열 이미지 렌더러(105)로부터, 모든 쿼리된 도메인들로부터 렌더링된 문자열 이미지들 IHT _ Nall의 다른 세트를 수신하도록 더 구성될 수 있다. 다음으로, 훈련된 호모글리프 인코더 EH는 문자열 이미지들 IHT _ Nall 각각을 그들의 연관된 인코딩들 eHT _ Nall로 인코딩하도록 진행한다. 다음으로, 이러한 인코딩들 eHT _ Nall은 참조 데이터베이스 DH에 포함된 인코딩들과 비교된다. 다음으로, 각각의 쿼리된 도메인은 유사성 메트릭, 즉 연관된 인코딩 eHT _ Nall과 참조 데이터베이스 DH의 임의의 인코딩 사이의 유클리드 거리 및/또는 코사인 유사성이 미리 결정된 임계값을 넘을 때 유사 피싱 도메인으로서 분류된다.
동시에, 스와이프 이미지 렌더러(115)는 DNS 레코드들(103)의 세트로부터의 도메인 네임들을 스와이프 유사 이미지들 IST _N의 세트로 렌더링하도록 구성된다. 다음으로, 훈련된 타이포-스쿼팅 인코더 ES 및 참조 데이터베이스 DS를 구비하는 타이포-스쿼팅 검출 모듈(130)은 스와이프 이미지 렌더러(115)로부터 스와이프 유사 이미지들 IST _N의 세트를 수신하도록 구성된다. 다음으로, 훈련된 타이포-스쿼팅 인코더 ES는 스와이프 유사 이미지들 IST _N 각각을 그들의 연관된 인코딩 eST_N으로 인코딩하도록 진행한다. 다음으로, 이러한 인코딩들 eST_N은 참조 데이터베이스 DS에 포함된 인코딩들과 비교된다. 연관된 인코딩 eST_N과 참조 데이터베이스 DS 내의 임의의 인코딩 사이의 유클리드 거리가 미리 결정된 임계값 미만인 경우; 또는 다른 실시예들에서, 연관된 인코딩 eST_N과 참조 데이터베이스 DS 내의 임의의 인코딩 사이에 요구되는 매칭 임계값을 초과하는 코사인 유사성이 존재하는 경우, 모듈(130)은 그 연관된 인코딩 eST_N을 타이포-스쿼팅 피싱 도메인으로서 분류할 것이다. 본 발명의 다른 실시예에서, 휴리스틱을 통해 키보드 거리를 고려하는 가중된 다메라우 레벤스타인 거리 알고리즘(Damerau Leveshtein Distance algorithm)은 모듈(130)에 의해 식별된 타이포-스쿼팅 피싱 도메인들의 추가 검증을 제공하기 위해 사용될 수 있다.
호모글리프 및 타이포-스쿼팅 피싱 도메인들의 동시 검출에 더하여, 도메인 필터(120)는 피싱 참조 리스트 K로부터의 키워드들 또는 문구들을 적어도 부분적으로 포함하지 않는 DNS 레코드들(103)의 세트로부터의 도메인 네임들을 필터링하도록 구성된다. 결과적으로, 나머지 도메인 네임들은 모두 피싱 참조 리스트 K 내의 문자열들과 적어도 부분적으로 일치하는 문자열들을 가질 것이다.
다음으로, 이러한 나머지 도메인 네임들은 일반 피싱 도메인 검출 모듈(135) 내에 제공되는 훈련된 변환기 기반 신경망을 통해 전달되고, 그에 의해 이러한 나머지 도메인 네임들 각각에 대한 확률 점수들이 생성된다. 즉, 제공된 각각의 도메인 네임에 대해, 훈련된 변환기 기반 신경망은 도메인의 문자열의 특징들(features)에 기초하여 해당 도메인이 일반 피싱 도메인일 확률을 분류한다. 다음으로, 미리 결정된 확률 임계값을 초과하는 확률 점수를 가진 각각의 도메인 네임에 대해, 도메인 네임에 대한 인터넷 프로토콜(IP) 주소가 확인될 것이다. 다음으로, 확인된 IP 주소들 전부는 의심스러운 확인된 IP 주소의 세트 {p} 내에 저장될 것이다. 다음으로, 세트 {p} 내에 포함된 각각의 IP 주소에 대해, 모듈(135)은 도메인 네임들이 피싱 참조 리스트 K 내의 키워드들 중 임의의 것을 포함하는지에 무관하게, DNS 레코드들(103)의 세트로부터 해당 IP 주소로 확인된 대응하는 도메인 네임들 전부를 획득한다. 다음으로, 이러한 도메인 네임들 각각은 도메인 네임이 일반 피싱 도메인을 포함하는지 여부를 분류하기 위해, 훈련된 변환기 신경망을 통해 실행된다. 즉, 확인된 IP 주소들 각각에 대해, 모듈(135)은 확인된 IP 주소(외부 도메인들로 지칭됨)에 연관된 DNS 레코드들(103)의 세트 내의 모든 도메인 네임들을 획득할 것이고; 다음으로, 변환기 기반 신경망을 사용하여, 획득된 외부 도메인들 각각에 대한 확률 점수를 다시 생성한다. 다음으로, 미리 결정된 확률 임계값을 초과하는 확률 점수를 갖는 외부 도메인들은 일반 피싱 도메인으로서 분류된다. 본 발명의 추가 실시예에서, 미리 결정된 확률 임계값을 초과하는 확률 점수를 갖는 외부 도메인들은, 적어도, 특정 IP 주소로 확인된 외부 도메인들의 특정 백분율이 일반 피싱 도메인들로 여겨지는 것으로 결정되는 경우에만 일반 피싱 도메인들로서 분류된다. 예를 들어, 미리 결정된 확률 임계값을 넘은 외부 도메인들이 일반 피싱 도메인들로서 분류되기 전에, 특정 IP 주소로 확인된 모든 도메인들(즉, 특정 IP 주소로 확인된 외부 도메인들)의 50% 이상이 가능한 피싱 도메인으로 플래그 지정되어 있어야 한다. 이것은 위양성률을 낮추기 위한 추가 체크의 역할을 한다. 이러한 체크 배후의 근거는 공격자들이 상당한 추가 비용 없이 그들의 도달범위를 확장할 수 있도록, 특히 피싱 공격들을 시도하는 동안 그들의 인프라구조를 재사용하는 경향이 있다는 것이다.
다음으로, 경고 모듈(140)은 복수의 IP/조직에 대해 피싱을 시도하는 정교한 위협 행위자들에 의해 수행되는 변칙적인 피싱 거동들 및 가능한 피싱 캠페인들을 식별함으로써 다양한 피싱 검출 모듈들(125, 130 및 135)의 출력들에 대한 추가 분석을 제공하도록 구성된다. 모듈(140)은 호모글리프 피싱 도메인 검출 모듈(125)로부터 수신된 호모글리프 피싱 도메인들, 타이포-스쿼팅 피싱 도메인 검출 모듈(130)로부터 수신된 타이포-스쿼팅 피싱 도메인들, 및 일반 피싱 도메인 검출 모듈(135)로부터의 일반 피싱 도메인들에 기초하여 DNS 레코드들의 세트로부터 식별된 모든 피싱 도메인들 및 그들의 피해자들을 입력으로 취한다. 모듈(140)은 블랙리스트 및 규칙 기반 필터링 모듈(205) 및 거동 분석 모듈(210)을 포함한다. 필터링 모듈(205)은 피싱 검출 모듈들(125, 130 및 135)에 의해 DNS 레코드들(103)의 세트로부터 실수로(accidentally) 선택된 무해한 도메인 네임들을 추가로 필터링하도록 구성될 수 있다. 예를 들어, ".gov.sg" 또는 "com.sg"로 끝나는 임의의 도메인 네임들은 모듈들(125, 130 및 135)에 의해 식별된 가능한 피싱 도메인들로부터 제거될 수 있는데, 왜냐하면 이러한 국가별 최상위 도메인들(Top Level Domains)(TLD)로 끝나는 도메인 네임들은 공식적으로 등록되어야 하기 때문이다. 따라서, 피싱 웹사이트들이 이러한 TLD들 상에서 호스팅될 확률은 매우 낮다. 다음으로, 거동 분석 모듈(210)은 나머지 피싱 도메인들에 기초하여, 피싱 공격 캠페인들이 악의적인 당사자들에 의해 수행되고 있는지 및 피싱 도메인들이 임의의 변칙적 시간 거동들을 보이는지를 결정하도록 구성된다.
위에서 설명된 모듈들 각각은 이하의 섹션들에서 상세하게 논의될 것이다.
본 발명의 실시예들에 따라, 본 발명의 실시예들에 따른 실시예들을 구현하기 위해 도 1 또는 도 2에 도시된 모듈들 중 임의의 것에 제공될 수 있는 프로세싱 시스템(300)의 컴포넌트들을 나타내는 블록도가 도 3에 도시되어 있다. 본 기술분야의 통상의 기술자는 이러한 모듈들 내에 제공된 각각의 프로세싱 시스템의 정확한 구성이 다를 수 있고, 프로세싱 시스템(300)의 정확한 구성이 다를 수 있으며, 도 3은 단지 예로서 제공된다는 것을 인식할 것이다.
본 발명의 실시예들에서, 모듈들 각각은 컨트롤러(301) 및 사용자 인터페이스(302)를 포함할 수 있다. 사용자 인터페이스(302)는 필요에 따라 사용자와 이러한 모듈들 각각 사이의 수동 상호작용을 가능하게 하도록 배열되며, 이러한 목적을 위해, 사용자가 이러한 모듈들 각각에 대한 업데이트들을 제공하기 위한 명령어들을 입력하는 데에 요구되는 입력/출력 컴포넌트들을 포함한다. 본 기술분야의 통상의 기술자는 사용자 인터페이스(302)의 컴포넌트들이 실시예마다 다를 수 있지만, 전형적으로 디스플레이(340), 키보드(335) 및 트랙 패드(336) 중 하나 이상을 포함할 것임을 인식할 것이다.
컨트롤러(301)는 버스(315)를 통해 사용자 인터페이스(302)와 데이터 통신하고, 메모리(320), 본 실시예의 방법을 수행하기 위한 명령어들 및 데이터를 프로세싱하는 회로 보드에 장착된 프로세서(305), 운영 체제(306), 사용자 인터페이스(302) 및 본 실시예에서 네트워크 카드(350)의 형태로 되어 있는 통신 인터페이스와 통신하기 위한 입력/출력(I/O) 인터페이스(330)를 포함한다. 네트워크 카드(350)는 예를 들어 유선 또는 무선 네트워크를 통해 이러한 모듈들로부터의 데이터를 다른 프로세싱 디바이스들에 송신하거나, 유선 또는 무선 네트워크를 통해 데이터를 수신하기 위해 이용될 수 있다. 네트워크 카드(350)에 의해 이용될 수 있는 무선 네트워크들은 무선 충실도(Wi-Fi), 블루투스, 근거리 통신(NFC), 셀룰러 네트워크, 위성 네트워크, 원격 통신 네트워크, 광역 네트워크(WAN) 등을 포함하지만 이에 제한되지 않는다.
메모리(320) 및 운영 체제(306)는 버스(310)를 통해 CPU(305)와 데이터 통신한다. 메모리 컴포넌트들은 휘발성 및 비휘발성 메모리 둘 다, 및 랜덤 액세스 메모리(RAM)(320), 읽기 전용 메모리(ROM)(325), 및 대용량 저장 디바이스(345)를 포함하는 각각의 유형의 메모리 중 하나 이상을 포함하며, 대용량 저장 디바이스는 하나 이상의 고체 상태 드라이브(SSD)를 포함한다. 메모리(320)는 또한 비밀 키들 또는 개인 키들을 안전하게 저장하기 위한 보안 저장소(346)를 포함한다. 본 기술분야의 통상의 기술자는 위에서 설명된 메모리 컴포넌트들이 비일시적 컴퓨터 판독가능 매체를 포함하고, 일시적인 전파 신호를 제외한 모든 컴퓨터 판독가능 매체를 포함하는 것으로 간주되어야 한다는 것을 인식할 것이다. 전형적으로, 명령어들은 메모리 컴포넌트들에 프로그램 코드로서 저장되지만 하드와이어링될 수도 있다. 메모리(320)는 휘발성 또는 비휘발성 메모리에 저장될 수 있는 소프트웨어 애플리케이션과 같은 프로그래밍 모듈들 및/또는 커널을 포함할 수 있다.
여기서, "프로세서"라는 용어는 그러한 명령어들을 프로세싱할 수 있는 임의의 디바이스 또는 컴포넌트를 일반적으로 지칭하는 데 사용되며, 마이크로프로세서, 마이크로컨트롤러, 프로그래밍가능한 로직 디바이스, 또는 다른 계산 디바이스를 포함할 수 있다. 즉, 프로세서(305)는 입력들을 수신하고, 메모리에 저장된 명령어들에 따라 그것들을 프로세싱하고, (예를 들어, 메모리 컴포넌트들에 또는 디스플레이(340) 상에) 출력들을 생성하기 위해 임의의 적합한 로직 회로에 의해 제공될 수 있다. 본 실시예에서, 프로세서(305)는 메모리 어드레싱가능한 공간을 갖는 단일 코어 또는 다중-코어 프로세서일 수 있다. 일례에서, 프로세서(305)는 예를 들어 8 코어 CPU를 포함하는 멀티코어일 수 있다. 다른 예에서, 그것은 계산들을 가속화하기 위해 병렬로 동작하는 CPU 코어 클러스터일 수 있다.
일반적으로, 호모글리프 검출 모듈(125)은 복수의 글꼴에 기초하여 호모글리프들의 무한 데이터세트를 생성하도록 구성되고 훈련된 피시-GAN으로서 라벨링되는 훈련된 조건부 생성적 적대 네트워크(GAN)를 통해 훈련된 호모글리프 인코더 EH, 및 셋업 위상 동안 생성된 참조 데이터베이스 DH를 포함한다. 피시-GAN(405) 및 호모글리프 인코더 EH, 즉 인코더(450)의 훈련을 위한 프로세스 흐름들이 도 4에 도시된다.
피시-GAN(405)의 아키텍처는 일반적으로 Pix2Pix 네트워크 아키텍처에 기초하며, 그것의 손실 함수 및 네트워크 아키텍처에 소정의 새로운 변경들이 이루어진다. 도 4에 도시된 바와 같이, 피시-GAN(405) 내의 주요 컴포넌트들은 발생기 신경망(415) 및 판별기(420) D()임을 알 수 있다. 초기 스테이지 동안, 생성기(415)가 아직 훈련되지 않았기 때문에, 그것의 출력은 입력들에 관계없이 초기에 노이즈만을 포함할 것이다. 본 발명의 실시예들에서, 생성기(415)는 다운샘플링 및 업샘플링 계층들을 연결하는 스킵 연결들(skip connections)을 갖는 UNet 아키텍처를 포함할 수 있지만 이에 제한되지 않는다. 판별기(420)는 입력 이미지가 진짜 이미지인지 또는 가짜 이미지, 즉 피시-GAN/GAN 생성 이미지인지를 분류하는 것을 학습하도록 구성된 분류기 컨볼루션 신경망을 포함할 수 있지만 이에 제한되지는 않는다. 판별기(420)의 예시적인 작업 흐름이 도 5에 도시된다. 호모글리프 이미지(502)가 판별기(504)에 제공될 때, 판별기(504)는 이상적으로는 이미지가 가짜 이미지임을 보여주는 출력을 생성해야 한다. 반대로, 진짜 이미지(506)가 동일한 판별기(504)에 제공될 때, 판별기(504)는 이상적으로는 이미지가 진짜 이미지임을 보여주는 출력을 생성해야 한다.
피시-GAN(405)을 훈련하기 위해, 도메인들 및 그들의 가능한 유사항목들을 포함하는 오픈 소스 데이터세트 y가 사용되었다. 다음으로, 전체 데이터세트 y는 이미지 렌더러(410)에 제공되며, 이미지 렌더러는 복수의 글꼴의 문자열들을 이미지들 x로 렌더링하도록 구성된다. 다음으로, 데이터세트의 렌더링된 이미지들 x 및 소정의 무작위로 생성된 노이즈 z가 생성기 신경망(415)에 제공된다. 생성기(415)는 렌더링된 이미지들 x 각각의 글리프 버전들 G(x, z)를 생성하기 위해, 수신된 렌더링된 이미지들 x 및 무작위로 생성된 노이즈 z를 사용한다. 다음으로, 글리프 버전들 G(x, z) 및 렌더링된 이미지들 x가 판별기(420)에 제공된다. 다음으로, 판별기(420)는 제공된 데이터에 기초하여 진짜 이미지들 및 가짜 이미지들을 결정하려고 시도한다. 판별기(420)가 진짜 이미지들과 가짜 이미지들을 식별하는 데 성공했는지를 결정하기 위해, 판별기(420)에 의해 생성된 출력들은 훈련 단계(430)에서 비교되고, 다음으로, 단계(430)로부터의 결과들은 판별기(420)에 제공되어 그것을 훈련한다. 다음으로, 판별기(420)로부터의 출력들은 생성기(415)에 피드백되어, 훈련 단계(440)를 통해 그것을 적대적 방식으로 훈련한다(즉, 판별기(420)가 특정 GAN 생성 입력 이미지가 진짜 이미지라고 믿게 속이거나 그 반대로 하면 생성기의 훈련 손실은 낮을 것이다).
본 발명의 실시예들에서, 내적 손실 함수 Ldot는 생성기(415)를 훈련하기 위해 단계(440)에서 보조 손실로서 사용될 수 있고, 여기서 내적 손실 Ldot는 다음과 같이 정의된다:
Figure pat00017
여기서 flat()는 내적을 계산하기 위해 이미지 텐서들을 벡터로 재성형하는 "평면 함수"로서 정의된다. 이러한 손실 함수는 이미지의 스타일을 보존하는 데 유용함을 알 수 있다.
다음으로, 생성기 목적 함수 G*는 다음과 같이 정의될 수 있다:
Figure pat00018
여기서,
Figure pat00019
는 판별기가 얼마나 잘 수행했는지에 반비례하는 전형적인 생성기 적대적 손실이고, 다음으로, 판별기 목적 함수 D*는 다음과 같이 정의될 수 있다:
Figure pat00020
여기서,
Figure pat00021
는 생성기가 얼마나 잘 수행했는지에 반비례하는 전형적인 생성기 적대적 손실로서 정의된다.
일단 피시-GAN(405)이 훈련되고 나면, 그것의 출력들(406)은 인코더(450)를 훈련하기 위해 사용될 수 있다.
본 발명의 실시예들에서, 인코더(450)는 컨볼루션 신경망(Convolutional Neural Network)(CNN)을 포함할 수 있지만 이에 제한되지는 않는다. 본 발명의 실시예들에서, 도 4의 하반부에 도시된 바와 같이, 삼중항 손실 기술과 같은, 그러나 그에 제한되지는 않는 대조적 손실 함수가 인코더(450)를 훈련하기 위해 이용될 수 있다. 삼중항 손실 기술은 일반적으로 3개의 입력, 즉 포지티브(P) 입력, 앵커(A) 입력 및 네거티브(N) 입력; 및 3개의 출력, 즉 포지티브 인코딩 E(P), 네거티브 인코딩 E(N) 및 앵커 인코딩 E(A)으로 이루어진다.
본 발명의 본 실시예에서, 인코더(450)의 훈련을 위해, 가장 인기있는 도메인들을 포함하는 데이터세트가 포지티브(P) 입력으로서 사용되고, 피시-GAN(405)으로부터의 출력이 앵커(A) 입력으로서 사용되고(가장 인기있는 도메인들을 포함하는 데이터세트가 피시-GAN(405)에 대한 입력으로 제공되었음), 인코더(450)에 의해 대응하는 앵커 입력(A)과 가장 유사한 것으로 여겨지지만 대응하는 포지티브 입력(P)을 제외한 도메인들의 무작위 샘플들이 네거티브(N) 입력으로서 제공된다. 즉, 포지티브 입력(P)은 앵커 입력(A)이 가장 인기있는 도메인들을 포함하는 데이터세트로부터 모방하려고 시도하고 있는 예를 포함하는 반면, 네거티브 샘플은 (인코더(450)에 의해 여겨지는 바와 같이) 앵커 입력(A)과 가장 유사하지만 포지티브 입력(P)은 제외한 도메인들의 리스트로부터 무작위로 샘플링된다고 말할 수 있다. 삼중항 손실 Ltriplet은 다음과 같이 정의될 수 있다:
Figure pat00022
여기서, 0과
Figure pat00023
의 최대가 최소화된다. M은 마진으로서 정의된다. 삼중항 손실 Ltriplet을 최소화하는 것은 마진 M과 함께, E(A)와 E(P) 사이의 거리가 E(A)와 E(N) 사이의 거리보다 적어도 작은 것을 보장하는 것과 등가임이 수학식으로부터 분명하다. 그것이 더 크면, 손실은 0일 것이고, 그것은 인코더(450)의 훈련에 영향을 미치지 않을 것이다. 이러한 방식으로, 인코더(450)는 포지티브 및 앵커 입력들에 대해 유사한 인코딩들을 출력하는 동시에, 적어도 M의 마진으로 앵커 및 네거티브 입력들에 대해 유사하지 않은 인코딩들을 출력하도록 훈련된다. 본 발명의 다른 실시예들에서, 다른 유사성 손실 함수들은 삼중항 손실에 대한 유사성 함수로도 사용될 수 있다. 다른 실시예들에서, NT- Xent 손실은 코사인 유사성 손실 함수와 함께 인코더를 훈련하기 위해 사용될 수 있다.
도 6은 본 발명의 실시예들에 따라 인코더(450)가 훈련될 수 있는 방법을 보여주는 작업 흐름을 보여준다. 데이터세트(601)는 가장 인기있는 도메인을 갖는 데이터세트를 포함하고 이 데이터세트는 이미지 렌더러(605)에 제공된다. 다음으로, 데이터세트(601)의 문자열들의 렌더링된 이미지들은 훈련된 피시-GAN(615)에 제공되고, 또한 포지티브(P) 입력들로서 인코더(450)에 제공된다. 다음으로, 훈련된 피시-GAN(615)으로부터의 글리프 출력들은 인코더(450)에 그것의 앵커(A) 입력으로서 제공된다. 다음으로, 인코더(450)에 의해 앵커(A)와 유사한 것으로 여겨지는 데이터세트(601)로부터 획득된 도메인들의 무작위 샘플들(포지티브(P) 입력에 제공된 포지티브 샘플들은 제외)은 네거티브(N) 입력들로서 인코더(450)에 제공된다. 다음으로, 제공된 모든 입력들과 함께, 인코딩들 E(P), E(A) 및 E(N)은 인코더(450)를 훈련하기 위해 대조적 손실 함수에 의해 모두 사용된다.
일단 훈련되면, 다음으로, 훈련된 인코더(450)는 인기있는 도메인들의 데이터세트 내에 포함된 도메인들 및 쿼리된 도메인들에 대한 인코딩들을 생성하기 위해 이용될 수 있다. 쿼리된 도메인의 인코딩과 데이터세트 내의 도메인들의 인코딩들 중 임의의 것 사이의 유클리드 거리가 특정 임계값보다 작은 경우, 쿼리된 도메인은 호모글리프 피싱 도메인으로서 분류되고, 다음으로, "타깃팅된" 도메인(즉, 호모글리프가 모방하려고 시도하고 있는 도메인)은 쿼리된 도메인의 인코딩에 대해 가장 작은 유클리드 거리를 갖는 인코딩을 갖는 데이터세트 내의 도메인인 것으로 결정된다. 이러한 작업 흐름은 도 7에 도시된다.
체크 리스트(702)는 다양한 외부 데이터베이스들에 의해 생성된 인기 도메인들의 리스트를 포함한다. 다음으로, 체크 리스트(702)로부터의 도메인들의 렌더링된 이미지들이 이미지 렌더러(704)에 의해 생성되고, 훈련된 인코더(710)에 제공된다. 다음으로, 훈련된 인코더(710)는 데이터베이스(708)에 체크 리스트(702)의 인코딩들을 제공한다.
이미지 렌더러(704)와 실제로 동일한 모듈인 이미지 렌더러(706)에 쿼리된 도메인이 제공될 때, 다음으로, 이미지 렌더러(706)는 쿼리된 도메인의 이미지를 렌더링한다. 다음으로, 쿼리된 도메인의 렌더링된 이미지가 훈련된 인코더(710)에 제공된다. 다음으로, 훈련된 인코더(710)는 쿼리된 도메인의 인코딩을 생성한다. 다음으로, 쿼리된 도메인의 인코딩의 유사성 비교는 단계(712)에서 데이터베이스(708)의 인코딩들로 수행된다. 쿼리된 도메인의 인코딩과 데이터베이스 내의 도메인들의 인코딩들 중 임의의 것 사이의 유클리드 거리가 특정 임계값(이것은 이론적으로 마진 M이어야 함)보다 작다면, 쿼리된 도메인은 호모글리프 피싱 도메인으로서 분류되고, 다음으로, 그것의 "타깃팅된" 도메인에 대한 경고가 생성된다. "타깃팅된" 도메인(즉, 호모글리프가 모방하려고 시도하고 있는 도메인)은 쿼리된 도메인의 인코딩에 대한 가장 작은 유클리드 거리를 갖는 인코딩을 갖는 데이터베이스(708)의 대응하는 도메인이다.
본 발명의 다른 실시예들에서, 지역 민감 해싱 알고리즘과 같은 해싱 알고리즘이 체크 리스트 내의 도메인들의 인코딩들과 쿼리된 도메인의 인코딩들에 적용되어, 쿼리된 도메인과 명확하게 다른 인코딩들을 갖는 도메인들을 빠르게 필터링할 수 있다. 이는 유사한 도메인들을 검색하는 속도를 크게 높일 수 있다.
훈련된 인코더의 출력으로부터 획득된 (인기있는 도메인들의) 호모글리프 피싱 도메인들의 차원 감소된 예시적인 인코딩이, 그들의 관련된 '타깃팅' 도메인과 함께 도 8에 플로팅된다. 구체적으로, 호모글리프 피싱 도메인들(802)은 그것의 타깃팅된 도메인 'instagram.com'에 연관되고, 호모글리프 피싱 도메인들(804)은 그것의 타깃팅된 도메인 'yahoo.com'에 연관되고, 호모글리프 피싱 도메인들(806)은 그것의 타깃팅된 도메인 'facebook.com'에 연관되고, 호모글리프 피싱 도메인들(808)은 그것의 타깃팅된 도메인 '***.com'에 연관되고, 호모글리프 피싱 도메인들(810)은 그것의 타깃팅된 도메인 'linkedin.com'에 연관되고, 호모글리프 피싱 도메인들(812)은 그것의 타깃팅된 도메인 'covid19info.live'에 연관되고, 호모글리프 피싱 도메인들(814)은 그것의 타깃팅된 도메인 'wikipedia.org'에 연관되고, 호모글리프 피싱 도메인들(816)은 그것의 타깃팅된 도메인 'microsoft.com'에 연관되고, 호모글리프 피싱 도메인들(818)은 그것의 타깃팅된 도메인 'twitter.com'에 연관되고, 호모글리프 피싱 도메인들(820)은 그것의 타깃팅된 도메인 'youtube.com'에 연관되고, 호모글리프 피싱 도메인들(822)은 그것의 타깃팅된 도메인 'apple.com'에 연관된다.
동시에, DNS 레코드들(105)이 문자열 이미지 렌더러(105)에 의해 렌더링되고 있을 때, DNS 레코드들(105)이 또한 스와이프 이미지 렌더러(115)에 의해 스와이프 유사 이미지들로 렌더링된다. 스와이프 이미지 렌더러(115)는 QWERTY 키보드 레이아웃에 기초하여 스와이프 유사 이미지를 렌더링함으로써 이를 수행하는데, 왜냐하면 이 레이아웃이 가장 널리 채택되는 키보드 포맷이기 때문이다. 본 발명의 실시예들에서, 이것은 문자열 내의 각각의 문자를 QWERTY 키보드 상에서의 그것의 물리적 위치들에 기초하여 그리드 위치에 맵핑함으로써 행해진다. 예를 들어, 문자 "q"는 grid [1; 0]에 맵핑되는데, 왜냐하면 그것이 QWERTY 키보드의 제2 행과 제1 열에 위치되기 때문이다. 라인들이 분리되고 서로의 바로 위에 있지 않을 것을 보장하기 위해, 문자열 내의 각각의 문자에 대응하는 각각의 키보드 위치에 소량의 노이즈가 추가된다. 본 실시예에서, 0과 0.1 사이의 무작위 균일 노이즈가 두 축 모두에 대해 추가되었다. 이것은 키보드 상의 키의 10%에 대응하는데, 왜냐하면 키보드 상의 각각의 키가 길이 및 높이 1을 갖는 것으로 정의되었기 때문이다. 다음으로, 텍스트의 문자열의 문자들의 시퀀스를 고려하기 위해, 미리 설정된 색상 시퀀스가 사용되었다(다른 식별 방법들도 사용될 수 있음). 예를 들어, 첫 번째와 두 번째 문자 사이의 첫 번째 스트로크는 항상 파란색이고 세 번째와 네 번째 문자 사이의 다음 스트로크는 항상 밝은 파란색이고 기타 등등이다. 마지막으로, (노이즈와 함께) QWERTY 키보드에 대응하는 4 x 10 그리드 상에서의 키들의 대응하는 위치에 10의 계수가 곱해지고, 그것은 파이썬 필로우(Python Pillow) 패키지를 통해 40 x 100 이미지로 렌더링된다.
도 9는 인기있는 도메인들의 2개의 예, 즉 도메인들(902 및 906), 및 2개의 가능한 타이포-스쿼팅 변형들, 즉 변형들(904 및 908)을 도시한다. 볼 수 있는 바와 같이, 스와이프 이미지 렌더러(900)의 사용을 통해, 2개의 도메인(912 및 916)의 스와이프 유사 이미지들은 각각 대응하는 타이포-스쿼팅 변형들(914 및 918)의 스와이프 유사 이미지들과 유사하다. 이것은 도메인(902)과 그것의 변형(904)에 대해 발생하는데, 이는 "o"와 "i"가 키보드에서 서로 바로 옆에 있기 때문이다. 따라서, "***"(912)과 "goigle"(914)의 스와이프 유사 이미지들 간의 차이는 거의 감지할 수 없다. 마찬가지로, 도메인(906)과 그것의 변형(908)에 대해, "a"와 "q"는 키보드에서 서로 바로 옆에 있으므로, "facebook"(916) 및 "fqcebook"(918)의 스와이프 유사 렌더링도 거의 동일하다.
일반적으로, 타이포-스쿼팅 검출 모듈(130)은 훈련된 타이포-스쿼팅 인코더 ES 및 참조 데이터베이스 DS(위에서 설명된 바와 같이 생성됨)를 포함한다. 도 10을 참조하면, 인코더 ES(1015)는 삼중항 손실 함수(이전 섹션에서 설명됨) 또는 정규화된 온도 스케일 크로스 엔트로피(NT-Xent)와 같은, 그러나 이에 제한되지 않는 대조적 손실 함수들을 사용하여 훈련될 수 있고, 그에 의해 인코더(1015)는 도메인들 및 그들의 타이포-스쿼팅 변형들에 대해 유사한 인코딩들, 및 도메인들 및 그들의 비-타이포-스쿼팅 변형들에 대해 유사하지 않은 인코딩을 생성할 수 있게 된다. CNN을 포함할 수 있지만 그에 제한되지 않는, 호모글리프 인코더 EH를 훈련하는 데 사용된 것과 동일한 방법론을 사용하여, 실제 도메인들이 포지티브(P) 입력으로서 제공되고, 타이포-스쿼팅 변형들이 앵커(A) 입력으로서 제공되며, 인코더(1015)에 의해 앵커(A)에 유사한 시각적 특성들을 디스플레이하는 것으로 여겨지는 비-타이포-스쿼팅 변형들이 인코더(1015)에 대한 네거티브(N) 입력으로서 제공된다.
본 발명의 본 실시예에서, 인코더(1015)를 훈련하기 위해 NT-Xent 손실 함수가 사용되었다. NT-Xent 손실 함수는 유클리드 거리 대신에 코사인 유사성 si,j를 사용한다. 또한, 인코더를 훈련하기 위해 크로스 엔트로피 손실을 사용한다. 삼중항 손실에 비교되는 이 접근법의 한 가지 이점은 단일 네거티브를 단순히 샘플링하는 대신에, 모델을 훈련하기 위해 네거티브들의 배치(batch)가 한 번에 사용될 수 있다는 것이다. 본 실시예에서, (인코더(1015)에 의해 여겨지는 바와 같이) 앵커에 가장 가깝고 포지티브 샘플을 제외한 상위 8개 샘플이 네거티브 샘플로 사용되었다. 입력 벡터들 si와 sj 사이의 코사인 유사성 si,j는 다음과 같이 정의될 수 있다:
Figure pat00024
여기서,
Figure pat00025
는 입력 벡터들 si의 전치로서 정의된다. 분자는 본질적으로 내적(dot product)이며, 분모는 분자를 1의 크기를 갖도록 정규화하고 있으며, 그에 의해 출력은 2개의 입력 벡터 사이 각도의 코사인으로서 해석될 수 있게 된다.
그러면, NT-Xent 손실 함수 LNT - Xent는 다음과 같이 정의될 수 있다:
Figure pat00026
여기서, sa,p는 앵커와 포지티브 사이의 코사인 유사성이고, sa,n은 앵커와 특정 네거티브 샘플 간의 코사인 유사성이고, τ는 손실을 스케일링하기 위한 온도이다.
특히, 인코더(1015)는 타이포-스쿼팅 피싱 도메인을 검출하는데 사용될 수 있는 의미있는 임베딩을 출력하도록 훈련된다. 인코더(1015)에 대한 예시적인 CNN 아키텍처가 아래의 표 2에 예시되어 있다.
필터들 스트라이드 커널 컨볼루션 타입 패딩 활성화
8 [1,1] [3,3] Conv2D 동일 leaky ReLu
16 [1,1] [3,3] Conv2D 동일 leaky ReLu
64 [1,1] [3,5] Conv2d 유효 leaky ReLu
64 [1,2] [3,5] Conv2d 유효 leaky ReLu
128 [2,2] [3,5] Conv2d 유효 leaky ReLu
128 [2,2] [3,5] Conv2d 유효 leaky ReLu
128 [2,2] [3,5] Conv2d 유효 leaky ReLu
1024 - - Dense - tanh
512 - - Dense - leaky ReLu
256 - - Dense - 12 norm
동일한 패딩을 갖는 처음 두 개의 계층은 이미지의 가장자리들에서의 정보가 보존되도록 보장하는 데 중요하다. 최종 계층의 출력들은 모든 임베딩이 1의 크기를 갖도록 L2 정규화된다. 이는 모델을 훈련하기 위해 삼중항 손실(TL)과 NT-Xent 손실(NL) 둘 다가 사용될 수 있도록 행해진다. 특히, 임베딩들을 1의 L2 노름(norm)으로 설정하는 것은, TL 손실 공식에 따라 앵커와 포지티브 쌍들 사이의 유클리드 거리를 최소화하는 것이 코사인 유사성을 최대화하는 것과 등가임을 의미하는데, 이는 정규화된 벡터들 사이의 제곱 유클리드 거리가 그들의 코사인 유사성에 반비례하기 때문이다.
도 10을 참조하면, 외부 데이터베이스들로부터 획득된 장대한 백만 도메인 중 상위 20k 도메인을 포함하는 도메인들(1001)이 DNSTwist(1005) 및 이미지 렌더러(1010b)에 제공되었다. 다음으로, DNSTwist(1005)는 도메인들(1001)에 대한 타이포-스쿼팅 피싱 도메인 샘플들을 생성하도록 진행했다. 특히, DNSTwist(1005)는 도메인들(1001) 내의 도메인 네임들 각각을 순열화하여, 사이버 공격자들이 사용하는 경향이 있는 미리 정의된 규칙들의 세트에 기초하여 가능한 타이포-스쿼팅 피싱 도메인들을 생성할 수 있다. DNSTwist(1005)에 의해 생성된 도메인들은 또한 순열화될 각각의 키에 대해 허용가능한 사전을 가짐으로써 키보드 거리를 고려한다. 추가로, 생성된 데이터세트는 작은 편집 거리들(≤2)로 편향된다는 점에 유의해야 한다. 요약하면, DNSTwist(1005)에 의해 생성된 데이터세트는 총 약 2백만 개의 가능한 피싱 도메인을 포함할 것이고, 이에 따라 이러한 가능한 피싱 도메인들 각각은 도메인들(1001) 내의 도메인 네임들 중 하나로부터 도출된다.
다음으로, DNSTwist에 의해 생성된 이러한 데이터세트는 이미지 렌더러(1010a)(본질적으로 이미지 렌더러(1010b)와 동일함)에 제공되고, 이미지 렌더러는 이 데이터세트 내의 도메인들을 인코더(1015)에 대한 앵커(A) 입력으로서 사용되는 스와이프 유사 이미지들로 렌더링하도록 진행한다. 동시에, 도메인들(1001)의 이미지 렌더러(1010b)에 의해 렌더링된 스와이프 유사 이미지들은 인코더(1015)에 대한 포지티브(P) 입력으로서 제공된다. 다음으로, 인코더(1015)에 의해 앵커와 유사하지만 포지티브 샘플이 아닌 것으로 여겨지는 비-타이포-스쿼팅 변형들은 인코더(1015)에 대한 네거티브(N) 입력으로서 제공된다. 이러한 입력들 전부를 수신하면, 인코더(1015)는 단계(1020)에서 인코더(1015)를 훈련하기 위해 삼중항 손실 함수 또는 NT-Xent 손실 함수와 같은 대조적 손실 함수를 이용한다.
일단 훈련되고 나면, 인코더(1015)는 쿼리된 도메인의 대응하는 스와이프 유사 이미지들 및 장대한 백만 데이터세트의 상위 20k 도메인을 포함할 수 있는 체크 리스트 내의 도메인들 둘 다에 대한 인코딩들을 생성하기 위해 사용될 수 있다. 이 경우에서는 쿼리된 도메인의 인코딩과 체크 리스트 내의 도메인들의 인코딩들 중 임의의 것 간의 코사인 유사성 점수인 유사성 점수가 특정 임계값보다 크면, 도메인은 타이포-스쿼팅 피싱 도메인으로서 분류되고, 타깃 도메인(즉, 타이포 스쿼트가 모방하려고 시도하고 있는 도메인)은 쿼리된 도메인의 인코딩과 가장 유사한 것으로 여겨지는 인코딩을 갖는 체크 리스트 내의 도메인이다. 이 프로세스를 보여주는 흐름도가 도 11에 도시된다.
체크 리스트(1102)는 다양한 외부 데이터베이스들에 의해 생성된 인기있는 도메인들의 리스트를 포함한다. 체크 리스트(1102)로부터의 도메인들의 스와이프 유사 이미지들은 이미지 렌더러(1104)에 의해 렌더링되고 훈련된 인코더(1106)에 제공된다. 다음으로, 훈련된 인코더(1106)는 데이터베이스(1112)에 체크 리스트(1102)의 인코딩들을 제공한다.
쿼리된 도메인(1108)이 이미지 렌더러(1110)에 제공될 때, 이미지 렌더러(1110)는 쿼리된 도메인(1108)의 스와이프 유사 이미지를 렌더링한다. 다음으로, 쿼리된 도메인(1108)의 렌더링된 이미지는 훈련된 인코더(1106)에 제공된다. 다음으로, 훈련된 인코더(1106)는 쿼리된 도메인의 인코딩을 생성한다. 다음으로, 쿼리된 도메인의 인코딩의 유사성 비교는 단계(1114)에서 데이터베이스(1112) 내의 인코딩들과 수행된다. 쿼리된 도메인의 인코딩과 데이터세트 내의 도메인들의 인코딩들 중 임의의 것 사이의 코사인 유사성(또는 유클리드 거리)이 특정 임계값보다 크다면(또는 유클리드 거리의 경우에서는 특정 임계값보다 작다면), 쿼리된 도메인은 타이포-스쿼팅 피싱 도메인으로서 분류되고, 다음으로 그것의 "타깃팅된" 도메인에 대한 경고가 생성된다. "타깃팅된" 도메인(즉, 호모글리프가 모방하려고 시도하고 있는 도메인)은 쿼리된 도메인의 인코딩에 대해 가장 큰 코사인 유사성(또는 가장 작은 유클리드 거리)를 갖는 인코딩을 갖는 데이터베이스(1112) 내의 대응하는 도메인이다.
훈련된 인코더의 출력으로부터 획득된 (인기있는 도메인들의) 타이포-스쿼팅 피싱 도메인들의 차원 축소된 예시적인 인코딩들이 그들의 관련된 '타깃팅된' 도메인과 함께 도 12에 플로팅된다. 구체적으로, 타이포-스쿼팅 피싱 도메인들(1202)은 그것의 타깃팅된 도메인 'instagram.com'에 연관되고, 타이포-스쿼팅 피싱 도메인들(1204)은 그것의 타깃팅된 도메인 'microsoft.com'에 연관되고, 타이포-스쿼팅 피싱 도메인들(1206)은 그것의 타깃팅된 도메인 'facebook.com'에 연관되고, 타이포-스쿼팅 피싱 도메인들(1208)은 그것의 타깃팅된 도메인 'youtube.com'에 연관되고, 타이포-스쿼팅 피싱 도메인들(1210)은 그것의 타깃팅된 도메인 'linkedin.com'에 연관되고, 타이포-스쿼팅 피싱 도메인들(1212)은 그것의 타깃팅된 도메인 '***.com'에 연관되고, 타이포-스쿼팅 피싱 도메인들(1214)은 그것의 타깃팅된 도메인 'apple.com'에 연관된다.
본 발명의 실시예들에서, 가중된 다메라우-레벤스타인 거리(DLD) 알고리즘은 쿼리된 도메인과 식별된 타깃 도메인 사이의 키보드 거리에 의해 가중된 편집 거리를 계산하도록 구현될 수 있다. 이 알고리즘은 추가적인 풍부한 정보를 제공할 수 있으며, 신경망과 기존 DLD 기반 알고리즘 둘 다가 동일한 결과들을 제공하고 있음을 보여주는 검증 단계의 역할도 한다.
본 발명의 다른 실시예들에서, 지역 민감 해싱(LSH) 알고리즘과 같은 해싱 알고리즘은 쿼리된 도메인과 분명히 다른 인코딩들을 갖는 도메인들을 빠르게 필터링하기 위해, 체크 리스트 내의 도메인들의 인코딩들 및 쿼리된 도메인의 인코딩들에 적용될 수 있다. 이렇게 하면 유사한 도메인들에 대한 검색 속도를 크게 높일 수 있다. 하나의 그러한 실험에서, LSH 알고리즘은 검색 속도를 12배까지 높일 수 있었다.
호모글리프 검출 모듈(125) 및 타이포-스쿼팅 검출 모듈(130)은 합법적인 도메인들을 모방하려고 시도하는 도메인들을 검출 및 식별하도록 구성된다. 이러한 두 개의 모듈과 달리, 일반 피싱 검출 모듈(135)은 인간의 약점을 악용하는 일반 피싱 도메인들을 검출하도록 구성된다. 이러한 도메인들의 예들은 "watch-this[.]live", "get-free-airtickets[.]live", "celeb-secret[.]online" 등을 포함하지만 이에 제한되지는 않는다. 이러한 도메인들은 임의의 특정 도메인을 모방하는 것을 목표로 하는 것이 아니라 오히려 사람들이 그들을 클릭하도록 유도하려고 시도함으로써 피싱, 맬웨어 전파 등을 용이하게 한다. 즉, 일반 피싱 모듈(135)은 사람들이 그들을 클릭하도록 속여서 피싱 공격들을 용이하게 하려는 시도로 인간의 욕망을 악용하는, 임의의 특정한 널리 공지된 도메인들과 유사하지 않은 도메인들을 검출하도록 구성된다.
이를 달성하기 위해, 피싱 검출 모듈(135)은 그러한 도메인들을 검출하기 위해 변환기 아키텍처들과 같은 자연어 프로세싱(NLP) 기술들을 사용한다. 본 발명의 실시예에서, 변환기 모델을 처음부터 훈련하고 문자 레벨 토큰화를 사용하는 대신, BERT(Bidirectional Encoder Representation from Transformers) 모델(오픈 소스 Wikipedia 텍스트 코퍼스 상에서 훈련됨)과 같은, 그러나 이에 제한되지 않는 미리 훈련된 변환기 신경망이 사용되었다. 다음으로, VirusTotal 및 PhishTank에 의해 검증된 도메인들로 구성된 데이터세트에 기초하여 모델을 추가로 미세 조정함으로써 전이 학습(transfer learning)이 수행되었다. 모델의 아키텍처는 도 13에 도시된다.
다음으로, 서브-워드 토큰화 방식(1302)이 Wikipedia 코퍼스로부터 획득된 서브-워드 토큰들과 함께 사용되었다. 서브-워드 토큰화 방식(1302)은 "승리", "무료", "시청" 등과 같이, 도메인들을 클릭하도록 사람들을 속이기 위해 전형적으로 사용되는 특정 워드들을 이해하기 위한 더 나은 능력 및 더 의미론적인 의미를 갖는 것으로 밝혀졌다.
다음으로, 모델은 도메인이 가능한 일반 피싱 도메인인지 여부를 나타내는 시그모이드 활성화된 이진 출력을 획득하기 위해, 변환기(1304)의 풀링된 출력(pooled output)(1306)을 취한 다음, 그것을 몇 개의 덴스 계층(Dense layer)(1308)(즉, 멀티 레벨 퍼셉트론)을 통해 전달함으로써 미세 조정되었다.
모델의 훈련은 이진 크로스 엔트로피 손실 함수를 사용하여 수행된다. 훈련 위상이 끝나면, 변환기 모델은 입력 도메인 네임을 가져와서 그에 대해 서브-워드 토큰화를 수행한 다음, 입력 도메인이 가능한 피싱 도메인인지 여부에 관한 확률을 출력할 수 있다.
방대한 양의 대규모 네트워크 트래픽 데이터가 피싱 검출 모듈(135)에 제공될 때 잘못된 경고의 수를 줄이기 위해, 다른 특징, 즉 확인된 IP 주소를 이용하는 추가 작업 흐름이 채택되었다. 확인된 IP 주소는 쿼리하는 IP가 특정 도메인의 IP 주소를 쿼리할 때, 쿼리하는 IP에 대한 DNS 서버의 응답을 포함한다. 공격자들은 최소한의 노력으로 가장 넓은 도달범위를 갖기 위해 인프라구조를 재사용하는 경향이 있기 때문에, 이는 중요한 특징이다. 데이터 연구에 따르면, 복수의 피싱 도메인이 동일한 IP 주소에 상주하는 경향이 있다. 이 프로세스의 작업 흐름은 도 14에 도시된다.
사람들이 사이트들을 클릭하도록 유도하는 데 전형적으로 사용되는 키워드들의 리스트가 초기에 생성된다. 이 리스트는 PhishTank를 통해 획득될 수 있으며, 피싱 참조 리스트 K를 획득하기 위해 추가 정보로 더 증강될 수 있다. DNS 레코드들의 세트가 제공될 때, 키워드 필터는 단계(1402)에서 리스트 K 내의 키워드들 중 적어도 하나를 갖지 않는 도메인 네임들을 갖는 레코드들을 필터링할 것이다.
다음으로, 리스트 K 내의 키워드들 중 적어도 하나를 갖는 나머지 도메인 네임들은 단계(1404)에서 신경망에 제공된다(예를 들어, BERT 기반 변환기 모델). 다음으로, 단계(1404)로부터 획득된 의심스러운 도메인 네임들(즉, 신경망(1404)에 의해 가능한 일반 피싱 도메인들로 플래그 지정된 도메인 네임들)은 DNS 레코드들의 원래의 세트를 통해 이러한 의심스러운 도메인들 각각에 대한 대응하는 확인된 IP들을 결정하기 위해 단계(1406)에서 사용된다. 다음으로, 이러한 의심스러운 IP들의 세트는 세트 P로서 라벨링된다.
다음으로, 세트 P 내의 각각의 확인된 IP에 대해, 필터로서 사용된 초기 키워드 리스트에 관계없이 해당 특정 IP로 확인된 모든 도메인이 획득된다. 이러한 획득된 도메인들 각각에 대해, 이들은 이러한 획득된 도메인들이 플래그 지정되어야 하는 의심스러운 도메인인지를 결정하기 위해 신경망을 통해 다시 프로세싱되며, 이는 단계(1408)에서 발생한다.
신경망에 의해 의심스러운 것으로 플래그 지정된 도메인들의 비율이 특정 임계값(본 실시예에서는 50%)을 초과하는 경우, 신경망에 의해 플래그 지정된 도메인들은 경고들로서 생성될 것이고, 즉 일반 피싱 도메인으로서 분류될 것이며, 그렇지 않으면 모든 경고들은 폐기된다. 이것은 단계(1410)에서 발생한다.
경고 모듈(140)은 앞에서 도 2에 도시된 바와 같이 블랙리스트 및 규칙 기반 필터링 모듈(205) 및 거동 분석 모듈(210)을 포함한다.
본 발명의 본 실시예에서, 합법적인 도메인들의 블랙리스트는 과거 연구에 기초하여, 그리고 장기간에 걸쳐 경고 모듈(140)로부터 획득된 결과들에 기초하여 생성된다. 모듈(205) 내에 포함된 예시적인 규칙들은 도메인이 ".com.sg"와 같은, 그러나 이에 제한되지 않는 특정 문자열로 끝나는 경우 또는 도메인이 ".gov.sg"와 같은, 그러나 이에 제한되지 않는 신뢰할 수 있는 주소로 끝나는 경우 경고를 생성하지 않도록 경고 모듈(140)에 지시할 수 있다.
합법적인 도메인들의 이러한 블랙리스트의 사용에 추가하여, 이하의 규칙들에 기초하여 경고 모듈(140)에 의해 생성된 가능한 경고들을 제거하도록 규칙들이 또한 셋업될 수 있다:
1. 각각의 DNS 레코드에 연관된 도메인 네임 문자열 쿼리는 유효한 도메인 네임이어야 한다. 예를 들어, 도메인 네임 문자열 쿼리 내에 적어도 하나의 '.'가 있어야 한다.
2. 도메인 네임 문자열은 유효한 최상위 도메인(TLD)을 포함해야 한다.
3. 도메인 네임 문자열에 유효한 문자가 있어야 한다.
4. 도메인 네임 문자열에는 유효한 수의 문자가 있어야 한다.
또한, 이러한 블랙리스트는 장기간에 걸쳐 경고 모듈(140)에 의해 생성된 출력들에 기초하여 주기적으로 업데이트될 수 있고, 또한 본 기술분야의 통상의 기술자의 요구사항들에 따라 변경될 수 있다.
본 발명의 추가 실시예에서, 거동 분석 모듈(210)은 2가지 유형의 거동 분석, 즉 (i) 캠페인 레벨 검출, 및 (ii) 주기적인 쿼리들의 검출을 사용하여 블랙리스트 및 규칙 기반 필터링 모듈(205)로부터 획득된 필터링된 경고들을 프로세싱하도록 구성될 수 있다:
캠페인 레벨 검출이 수행될 때, 유사한 유형들의 피싱 공격들을 경험하고 있는 IP들(그리고 더 나아가, 조직들)이 초기에 식별된다. 이러한 IP들은 프록시로서 사용되고, 그에 의해 시스템은 단지 네트워크 트래픽 데이터를 사용하여 피싱 공격 캠페인들을 검출할 수 있다.
특정 분석 기간이 주어지면, 경고 모듈(140)에 제공되고 이후에 블랙리스트 및 규칙 기반 필터링 모듈(205)을 통과한 도메인들로부터, 쿼리하는 IP들의 세트, 및 그들이 쿼리한 피싱 도메인들의 대응하는 세트가 획득된다. 다음으로, 플래그 지정된 피싱 도메인들의 전체 세트가 통합된다. 이 세트의 크기는 각각의 쿼리하는 IP에 대해 생성되는 벡터와 동일한 크기일 것임에 유의해야 한다.
모듈(205)에 의해 출력된 의심되는 피싱 도메인들 중 적어도 하나를 쿼리한 각각의 IP에 대해, 이하의 방법론을 통해 벡터가 생성된다:
1. 쿼리하는 IP가 방문한 의심되는 피싱 도메인들의 리스트로부터, 그것이 방문한 피싱 도메인들 각각에 대한 카운트가 생성된다.
2. 카운트들을 사용하여 벡터가 채워진다.
3. 마지막으로, 벡터는 L2 정규화된다. 이는 다양한 크기들의 조직들을 처리하기 위한 것이다.
4. 각각의 쿼리하는 IP는 그에 연관된 벡터를 가지므로, UMAP(Uniform Manifold Approximation and Projection) 또는 TSNE(T-Distributed Stochastic Neighbour Embedding)와 같은 차원 축소 기술들이 적용된 다음, 계층적 클러스터링이 적용되어 클러스터들을 자동으로 결정할 수 있다.
위의 단계 3에서 수행된 프로세스의 예시는 아래에 상세하게 설명된다:
a. 이 예에서는 아래와 보여진 바와 같이 2개의 IP가 의심되는 피싱 도메인을 쿼리하고 있다고 가정한다:
Figure pat00027
b. 의심되는 피싱 도메인들의 세트는 먼저 다음과 같이 통합된다:
Figure pat00028
c. 다섯(5) 개의 고유한 의심되는 피싱 도메인이 있으므로, 출력 벡터의 차원은 5일 것이다.
d. 다음으로, 각각의 IP에 대해, 도 15에 도시된 바와 같이 카운트 기반 벡터가 생성되며, 여기서 카운트 기반 벡터(1502)는 제1 IP 주소 "11.22.33.44"에 대해 생성되는 반면, 카운트 기반 벡터(1504)는 제2 IP 주소 "aa.bb.cc.dd"에 대해 생성된다.
e. 마지막으로, 이러한 2개의 카운트 기반 벡터(1502 및 1504)는 그들의 크기가 둘 다 1이 되도록 L2 정규화된다.
본 발명의 다른 실시예들에서, 유사한 특성들을 갖는 벡터들을 획득하기 위해, 계층적 클러스터링 대신에 지역 민감 해싱(LSH)이 사용될 수 있다.
본 발명의 추가 실시예들에서, 거동 분석 모듈(210)은 시계열을 생성하기 위해, 각각의 쿼리하는 IP에 대해, 검출된 피싱 도메인들에 대한 쿼리들이 이루어진 때의 타임 스탬프들을 분석하도록 구성될 수 있다.
다음으로, 타임 스탬프들의 이러한 리스트에 기초하여 상대 시간들이 계산된다(즉, 리스트 내의 각각의 레코드와 리스트 내의 제1 레코드 사이의 시간 차이). 다음으로, 상대 시간들이 선택된 시간 간격으로 비닝된다(즉, 이러한 시간 간격 빈들은 샘플링 기간이라고 지칭될 수 있음). 본 실시예에서, 샘플링 기간은 1분(즉, 60초)으로 설정되었다.
도 16은 그러한 플롯(1602)의 예를 도시한다. 알 수 있는 바와 같이, x-축은 1일에 대응하는 1440분으로 구성된다. 이것은 본 실시예의 목표가 하루 내에 그러한 의심되는 피싱 도메인을 쿼리하는 빈도를 결정하는 것이기 때문이다. 이러한 분석 기간은 임의적이며 증가될 수 있다. (상대 시간에 관련하여) 매 분마다, 제1 레코드에 대하여 해당 분에 발생한 식별된 피싱 도메인들에 대한 쿼리들의 수가 통합(즉, 비닝)되고 카운팅된다. 플롯(1602)이 생성되고 나면, 플롯(1602)은 더 발전된 빈도 분석을 받을 수 있다.
본 발명의 추가 실시예에서, 타임 스탬프들의 각각의 리스트가 도 17에 보여진 표현으로 변환된 후, 상기 신호는 도 17에 도시된 바와 같이 해닝 필터(1702)를 통과하여, 주파수 영역의 "링잉(ringing)"을 감소시킨다. 링잉은 신호의 갑작스러운 종료의 산물이다.
위의 예에서, 신호는 ~1200분에 갑작스럽게 종료된다. 이러한 갑작스러운 종료는 rect 함수와의 곱셈과 동일한 브릭월(brickwall) 필터와 등가이다. 주파수 영역에서의 rect 함수는 sinc 함수이므로, 주파수 영역에서 매우 높은 사이드 로브들을 볼 것이다. 따라서, 본 실시예에서는, 도 17에 보여진 바와 같이 상기 신호에 해닝 필터 함수를 곱함으로써 해닝 필터가 사용되었다. 해닝 필터는 0으로부터, 0이 아닌 발생을 갖는 마지막 타임 스탬프까지 적용된다는 점에 유의해야 한다. 본 발명의 다른 실시예들에서, 해닝 또는 블랙맨(Blackman) 필터 함수들과 같은 다른 필터 함수들이 사용될 수 있다. 다음으로, 이 신호는 추가적인 신호 프로세싱 및 분석을 위해 전형적인 이산 푸리에 변환 알고리즘을 사용하여 주파수 영역으로 변환될 수 있다. 본 실시예에서, 공격이 후기 스테이지로 진행했는지를 결정하도록 주기적 신호들의 존재를 결정하기 위해, 주파수 영역에서의 주파수 결정 방법들을 사용했다.
본 발명의 예시적인 구현에서, 거동 분석 모듈(210)은 2가지 유형의 거동 분석, 즉 (i) 캠페인 레벨 검출, 및 (ii) 주기적인 쿼리들의 검출을 사용하여 블랙리스트 및 규칙 기반 필터링 모듈(205)로부터 획득된 필터링된 경고들을 프로세싱하도록 구성되었다. 다음으로, 피싱 도메인들을 쿼리하는 것으로 발견된 쿼리하는 IP들의 전체 세트가 생성되어 도 18에 점들로서 플로팅된다. 도 18에 도시된 클러스터들, 특히 클러스터들(1802, 1804, 1806, 1808, 1810, 1812, 1814, 1816, 1818, 1820)은 다양한 IP 주소들을 타깃팅하는 다양한 가능한 피싱 캠페인들을 나타낸다.
도 18의 플롯이 빈도 분석을 사용하여 추가로 분석되었을 때, 하나의 IP 클러스터가 30분의 명확한 주기로 유사한 피싱 도메인들을 쿼리한 것으로 밝혀졌고, 그것의 예는 도 19에 보여진 바와 같고, 피크들(1902, 1904, 및 1906)은 주기적으로 나타났다. 이러한 주기성은 그러한 공격이 더 발전된 공격을 포함한다는 것을 나타내기 위해 사용될 수 있다.
수많은 다른 변경들, 대체들, 변형들 및 수정들이 본 기술분야의 통상의 기술자에 의해 확인될 수 있으며, 본 발명은 첨부된 청구항들의 범위 내에 속하는 모든 그러한 변경들, 대체들, 변형들 및 수정들을 포괄하는 것으로 의도된다.

Claims (20)

  1. 도메인 네임 시스템(Domain Name System)(DNS) 레코드들의 세트에서 피싱 도메인들을 검출하기 위한 시스템으로서,
    훈련된 호모글리프 인코더 EH 및 참조 데이터베이스 DH를 포함하는 호모글리프 피싱 도메인 검출 모듈(homoglyph phishing domain detection module);
    훈련된 타이포-스쿼팅 인코더 ES 및 참조 데이터베이스 DS를 포함하는 타이포-스쿼팅 피싱 도메인 검출 모듈(typo-squatting phishing domain detection module);
    훈련된 변환기 기반 신경망을 포함하는 일반 피싱 도메인 검출 모듈(general phishing domain detection module); 및
    경고 모듈
    을 포함하고, 상기 호모글리프 피싱 도메인 검출 모듈은:
    호모글리프 도메인들로부터 렌더링된 문자열 이미지들 IHT _N을 수신하고 - 상기 호모글리프 도메인들은 퓨니코드(puny code)를 각각 포함하는 도메인들을 포함함 - ;
    상기 훈련된 호모글리프 인코더 EH를 사용하여, 문자열 이미지들 IHT _N 각각을 그들의 연관된 인코딩들 eHT_N으로 인코딩하고;
    연관된 인코딩 eHT _N과 상기 참조 데이터베이스 DH 내의 임의의 인코딩 사이의 유클리드 거리가 미리 결정된 임계값 미만일 때, 각각의 호모글리프 도메인을 호모글리프 피싱 도메인으로서 분류하도록
    구성되고, 상기 타이포-스쿼팅 피싱 도메인 검출 모듈은:
    상기 DNS 레코드들의 세트로부터 렌더링된 도메인들의 스와이프-유사 이미지들(Swype-like images) IST_N을 수신하고;
    상기 훈련된 타이포-스쿼팅 인코더 ES를 사용하여, 상기 스와이프-유사 이미지들 IST_N 각각을 그들의 연관된 인코딩들 eST_N으로 인코딩하고;
    연관된 인코딩 eST_N과 상기 참조 데이터베이스 DS 내의 임의의 인코딩 사이의 유클리드 거리가 미리 결정된 임계값 미만일 때, 상기 스와이프-유사 이미지들 IST _N의 세트를 생성하기 위해 이용되는 각각의 도메인을 타이포-스쿼팅 피싱 도메인으로서 분류하도록
    구성되고, 상기 일반 피싱 도메인 검출 모듈은:
    피싱 참조 리스트 K 내의 문자열들과 적어도 부분적으로 일치하는 문자열들을 갖는 것으로 상기 DNS 레코드들의 세트로부터 식별된 도메인들을 수신하고;
    상기 훈련된 변환기 기반 신경망을 사용하여, 상기 식별된 도메인들 각각에 대한 확률 점수를 생성하고;
    미리 결정된 확률 임계값을 초과하는 확률 점수를 갖는 각각의 식별된 도메인에 대한 인터넷 프로토콜(IP) 주소들을 확인(resolve)하고;
    확인된 IP 주소들 각각에 대해:
    확인된 IP 주소에 연관된 모든 외부 도메인들을 획득하고 - 상기 외부 도메인들은 상기 확인된 IP 주소로 확인된 상기 DNS 레코드들의 세트 내의 모든 도메인을 참조함 - ;
    상기 변환기 기반 신경망을 사용하여, 획득된 외부 도메인들 각각에 대한 확률 점수를 생성하고;
    상기 미리 결정된 확률 임계값을 초과하는 확률 점수를 갖는 각각의 획득된 외부 도메인을 일반 피싱 도메인으로서 분류하도록
    구성되고, 상기 경고 모듈은 상기 호모글리프 피싱 도메인 검출 모듈로부터의 상기 호모글리프 피싱 도메인들, 상기 타이포-스쿼팅 피싱 도메인 검출 모듈로부터의 상기 타이포-스쿼팅 피싱 도메인들, 및 상기 일반 피싱 도메인 검출 모듈로부터의 상기 일반 피싱 도메인들에 기초하여, 상기 DNS 레코드들의 세트 내에서 검출된 피싱 도메인들에 대한 경고들을 생성하도록 구성되는, 시스템.
  2. 제1항에 있어서, 상기 경고 모듈은 식별된 피싱 도메인들로부터 무해한 도메인 네임들을 필터링하도록 구성되는 블랙리스트 및 규칙 기반 필터링 모듈을 포함하는, 시스템.
  3. 제2항에 있어서, 상기 경고 모듈은 거동 분석 모듈(behavioural analytics module)을 더 포함하고, 상기 거동 분석 모듈은:
    상기 블랙리스트 및 규칙 기반 필터링 모듈로부터, 필터링되지 않은 피싱 도메인들을 획득하고;
    상기 필터링되지 않은 피싱 도메인들 중 적어도 하나를 쿼리한 IP 주소들을 획득하고;
    상기 필터링되지 않은 피싱 도메인들 중 적어도 하나를 쿼리한 각각의 IP 주소에 대해:
    해당 IP 주소에 의해 이루어진 각각의 필터링되지 않은 피싱 도메인에 대한 쿼리들의 수에 기초하여 카운트 기반 벡터를 생성하고;
    각각의 카운트 기반 벡터에 L2 정규화를 적용하고;
    유사한 특성들을 갖는 카운트 기반 벡터들을 식별하기 위해 상기 IP 주소들 및 그들의 연관된 카운트 기반 벡터들에 계층적 클러스터링을 적용하고;
    식별된 카운트 기반 벡터들에 연관된 IP 주소들을 동일한 피싱 공격 캠페인들의 대상이 되는 IP 주소들로서 분류하도록
    구성되는, 시스템.
  4. 제2항에 있어서, 상기 경고 모듈은 거동 분석 모듈을 더 포함하고, 상기 거동 분석 모듈은:
    상기 블랙리스트 및 규칙 기반 필터링 모듈로부터, 필터링되지 않은 피싱 도메인들을 획득하고;
    상기 필터링되지 않은 피싱 도메인들 중 적어도 하나를 쿼리한 IP 주소들을 획득하고;
    상기 필터링되지 않은 피싱 도메인들 중 적어도 하나를 쿼리한 각각의 IP 주소에 대해:
    해당 IP 주소에 의해 이루어진 각각의 필터링되지 않은 피싱 도메인에 대한 쿼리들의 수에 기초하여 카운트 기반 벡터를 생성하고;
    각각의 카운트 기반 벡터에 L2 정규화를 적용하고;
    유사한 특성들을 갖는 카운트 기반 벡터들을 식별하기 위해 상기 IP 주소들 및 그들의 연관된 카운트 기반 벡터들에 지역 민감 해싱(Locality Sensitive Hashing)(LSH)을 적용하고;
    식별된 카운트 기반 벡터들에 연관된 IP 주소들을 피싱 공격 캠페인들의 대상이 되는 IP 주소들로서 분류하도록
    구성되는, 시스템.
  5. 제3항 또는 제4항에 있어서, 상기 거동 분석 모듈은 계층적 클러스터링 또는 LSH 이전에 TSNE 또는 UMAP과 같은 차원 축소 절차(dimensionality reduction procedure)를 더 포함하는, 시스템.
  6. 제2항에 있어서, 상기 경고 모듈은 거동 분석 모듈을 더 포함하고, 상기 거동 분석 모듈은:
    상기 블랙리스트 및 규칙 기반 필터링 모듈로부터, 필터링되지 않은 피싱 도메인들을 획득하고;
    필터링되지 않은 피싱 도메인들 중 적어도 하나를 쿼리한 IP 주소들을 획득하고;
    적어도 하나의 필터링되지 않은 피싱 도메인을 쿼리한 각각의 IP 주소에 대해:
    상기 적어도 하나의 필터링되지 않은 피싱 도메인에 대한 쿼리들이 이루어진 때의 정렬된 타임 스탬프들의 리스트를 수집하고;
    상기 정렬된 타임 스탬프들을 사용하여 상대 시간들을 계산하고 - 각각의 계산된 상대 시간은 제1 타임 스탬프에 대해 경과된 시간임 - ;
    계산된 상대 시간들을 원하는 샘플링 빈도로 비닝(bin)하고, 각각의 빈 내의 항목들의 수를 카운팅하여 발생 시계열(time series of occurrences)을 획득하고 - 상기 발생 시계열은 상기 적어도 하나의 필터링되지 않은 피싱 도메인에 대해 이루어진 쿼리들의 수로서 정의됨 - ;
    상기 발생 시계열에 해닝 필터(Hanning filter)를 적용하고;
    필터링된 발생 시계열에 대한 빈도 분석을 수행하여, 주기성의 존재 및 그것의 연관된 빈도를 결정하도록
    더 구성되는, 시스템.
  7. 제1항에 있어서, 상기 호모글리프 인코더 EH는:
    Figure pat00029

    로서 정의되는, 상기 호모글리프 인코더 EH의 파라미터들에 대한 삼중항 손실 훈련 함수 Ltriplet을 최소화함으로써 훈련되고, 상기 함수 Ltriplet의 포지티브 입력에는 빈번하게 방문되는 인기있는 인터넷 도메인들의 세트로부터 렌더링된 이미지들의 세트가 제공되고, 상기 함수 Ltriplet의 앵커 입력에는 각각이 현재 세트의 포지티브 입력의 글리프 버전(glyphed version)에 대응하는 훈련된 피시 생성적 적대 네트워크(Phish-Generative Adversarial Network)(피시-GAN)로부터의 출력들의 세트가 제공되고, 상기 함수 Ltriplet의 네거티브 입력에는 상기 인코더 EH에 의해 현재 세트의 앵커 입력과 유사한 것으로 여겨지지만 해당 세트에 대한 실제 포지티브 샘플은 제외한, 상기 빈번하게 방문되는 인기있는 인터넷 도메인들의 세트로부터 샘플링된 도메인들의 문자열 이미지들의 세트가 제공되고,
    E(P)는 포지티브 인코딩된 출력으로서 정의되고, E(A)는 앵커 인코딩된 출력으로서 정의되고, E(N)은 네거티브 인코딩된 출력으로서 정의되고, M은 마진인, 시스템.
  8. 제1항에 있어서, 상기 호모글리프 인코더 EH는:
    Figure pat00030

    로서 정의되는 정규화된 온도-스케일 크로스 엔트로피(Normalized Temperature-scaled Cross Entropy)(NT-Xent) 손실 함수 LNT - Xent를 최소화함으로써 훈련되고, 상기 함수 LNT - Xent의 포지티브 입력에는 빈번하게 방문되는 인기있는 인터넷 도메인들의 세트로부터 렌더링된 이미지들의 세트가 제공되고, 상기 함수 LNT - Xent의 앵커 입력에는 각각이 현재 세트의 포지티브 입력의 글리프 버전에 대응하는 훈련된 피시 생성적 적대 네트워크(피시-GAN)로부터의 출력들의 세트가 제공되고, 상기 함수 LNT - Xent의 네거티브 입력에는 상기 인코더 EH에 의해 현재 세트의 앵커 입력과 유사한 것으로 여겨지지만 해당 세트에 대한 실제 포지티브 샘플은 제외한, 상기 빈번하게 방문되는 인기있는 인터넷 도메인들의 세트로부터의 도메인들의 문자열 이미지들의 배치(batch)의 세트가 제공되고,
    Figure pat00031
    는 앵커 및 포지티브 샘플들의 인코딩들 간의 코사인 유사성 척도이고,
    Figure pat00032
    는 앵커 및 네거티브 샘플의 인코딩들 간의 코사인 유사성 척도인, 시스템.
  9. 제7항 또는 제8항에 있어서, 상기 훈련된 피시-GAN은:
    훈련 데이터세트 y로부터 렌더링된 이미지들 x 및 무작위로 생성된 노이즈 z를 수신하여, 수신된 이미지들 각각의 글리프 버전들 G(x,z)를 생성하도록 구성되는 훈련된 생성기 G; 및
    훈련된 판별기 D
    를 더 포함하고, 상기 훈련된 판별기 D는:
    상기 훈련된 생성기 G로부터의 상기 글리프 버전들 G(x,z), 및 이미지들 x를 수신하고;
    판별기 함수 D()를 통해 상기 이미지들 x 및 G(x,z)를 가짜 이미지 또는 진짜 이미지로 분류하도록
    구성되고, 상기 생성기 G는:
    Figure pat00033

    로서 정의되는 보조 내적 손실 함수(auxiliary dot product loss function) Ldot를 사용하여 훈련되고,
    flat()는 내적을 계산하기 위해 이미지 텐서들을 벡터로 재성형(reshape)하는 평면 함수(flat function)로서 정의되고, 상기 훈련된 피시-GAN은:
    Figure pat00034

    로서 정의되는 생성기 목적 함수 G* 및 판별기 목적 함수 D*를 포함하는, 시스템.
  10. 제1항에 있어서, 상기 타이포-스쿼팅 인코더 ES는:
    Figure pat00035

    로서 정의되는 정규화된 온도-스케일 크로스 엔트로피(NT-Xent) 손실 함수 LNT-Xent를 최소화함으로써 훈련되고, 상기 함수 LNT - Xent의 포지티브 입력에는 빈번하게 방문되는 인기있는 인터넷 도메인들의 세트로부터 렌더링된 스와이프-유사 이미지들의 세트가 제공되고, 상기 함수 LNT - Xent의 앵커 입력에는 연관된 세트의 포지티브 입력을 타깃팅하는 생성된 타이포-스쿼팅 피싱 도메인들의 스와이프-유사 이미지들의 세트가 제공되고, 상기 함수 LNT - Xent의 네거티브 입력에는 상기 인코더 ES에 의해 현재 세트의 앵커 입력과 유사한 것으로 여겨지지만 해당 세트에 대한 실제 포지티브 샘플은 제외한, 상기 빈번하게 방문되는 인기있는 인터넷 도메인들의 세트로부터의 도메인들의 스와이프-유사 이미지들의 배치의 세트가 제공되고,
    Figure pat00036
    는 앵커 및 포지티브 샘플들의 인코딩들 간의 코사인 유사성 척도이고,
    Figure pat00037
    는 앵커 및 네거티브 샘플의 인코딩들 간의 코사인 유사성 척도인, 시스템.
  11. 제1항에 있어서, 상기 타이포-스쿼팅 인코더 ES는:
    Figure pat00038

    로서 정의되는 삼중항 손실 함수 Ltriplet을 최소화함으로써 훈련되고, 상기 함수 Ltriplet의 포지티브 입력에는 빈번하게 방문되는 인기있는 인터넷 도메인들의 세트로부터 렌더링된 스와이프-유사 이미지들의 세트가 제공되고, 상기 함수 Ltriplet의 앵커 입력에는 연관된 세트의 포지티브 입력을 타깃팅하는 생성된 타이포-스쿼팅 피싱 도메인들의 스와이프-유사 이미지들의 세트가 제공되고, 상기 함수 Ltriplet의 네거티브 입력에는 상기 인코더 ES에 의해 현재 세트의 앵커 입력과 유사한 것으로 여겨지지만 해당 세트에 대한 실제 포지티브 샘플은 제외한, 상기 빈번하게 방문되는 인기있는 인터넷 도메인들의 세트로부터의 도메인들의 스와이프-유사 이미지들의 배치의 세트가 제공되고,
    E(P)는 포지티브 인코딩된 출력으로서 정의되고, E(A)는 앵커 인코딩된 출력으로서 정의되고, E(N)은 네거티브 인코딩된 출력으로서 정의되고, M은 마진인, 시스템.
  12. 제1항에 있어서, 상기 변환기 기반 신경망은 이진 크로스 엔트로피 손실 함수를 사용하여 훈련되는, 시스템.
  13. 제1항에 있어서, 상기 일반 피싱 도메인 검출 모듈을 사용하여, 상기 식별된 도메인들 각각에 대한 확률 점수를 생성하는 것은, 상기 일반 피싱 도메인 검출 모듈이:
    상기 식별된 도메인들 각각에 대해 서브-워드 토큰화(sub-word tokenisation)를 수행하고,
    상기 훈련된 변환기 기반 신경망을 사용하여, 서브-워드 토큰들에 기초하여 상기 확률 점수를 생성하도록
    구성되는 것을 포함하는, 시스템.
  14. 제13항에 있어서, 상기 일반 피싱 도메인 검출 모듈은:
    상기 확인된 IP 주소들 각각에 대해:
    모든 외부 도메인들을 획득하고 - 외부 도메인들은 해당 IP 주소로 확인된 도메인들을 포함함 - ;
    상기 훈련된 변환기 기반 신경망을 사용하여, 상기 서브-워드 토큰들에 기초하여 각각의 외부 도메인에 대한 상기 확률 점수를 생성하고;
    일반 피싱 도메인들로서 분류된 획득된 외부 도메인들의 백분율이 백분율 임계값을 초과하는 것으로 결정될 때, 미리 결정된 임계값을 초과하는 확률 점수를 갖는 상기 외부 도메인들 전부를 일반 피싱 도메인들로서 분류하도록
    더 구성되는, 시스템.
  15. 제1항에 있어서,
    상기 호모글리프 피싱 도메인 검출 모듈에 의해 각각의 호모글리프 도메인을 호모글리프 피싱 도메인으로서 분류하는 것은, 상기 호모글리프 피싱 도메인 검출 모듈이 대신에, 연관된 인코딩 eHT _N과 상기 참조 데이터베이스 DH 내의 임의의 인코딩 사이의 코사인 유사성이 미리 결정된 임계값을 초과할 때, 각각의 호모글리프 도메인을 호모글리프 피싱 도메인으로서 분류하도록 구성되는 것을 포함하고;
    상기 타이포-스쿼팅 피싱 도메인 검출 모듈에 의해 상기 스와이프-유사 이미지들 IST _N의 세트를 생성하기 위해 사용되는 각각의 도메인을 분류하는 것은, 상기 타이포-스쿼팅 피싱 도메인 검출 모듈이 대신에, 연관된 인코딩 eST_N과 상기 참조 데이터베이스 DS 내의 임의의 인코딩 사이의 코사인 유사성 척도가 미리 결정된 임계값을 초과할 때, 상기 스와이프-유사 이미지들 IST _N의 세트를 생성하기 위해 사용되는 각각의 도메인을 타이포-스쿼팅 피싱 도메인으로서 분류하도록 구성되는 것을 포함하는, 시스템.
  16. 제1항에 있어서, 상기 호모글리프 피싱 도메인 검출 모듈은:
    모든 쿼리된 도메인들로부터 렌더링된 문자열 이미지들 IHT _ Nall을 수신하고;
    상기 훈련된 호모글리프 인코더 EH를 사용하여, 상기 문자열 이미지들 IHT _ Nall 각각을 그들의 연관된 인코딩들 eHT_Nall로 인코딩하고;
    연관된 인코딩 eHT _N과 상기 참조 데이터베이스 DH 내의 임의의 인코딩 간의 유사성 메트릭이 미리 결정된 임계값을 넘을 때, 각각의 쿼리된 도메인을 유사 피싱 도메인(lookalike phishing domain)으로서 분류하도록
    더 구성되는, 시스템.
  17. 훈련된 호모글리프 인코더 EH 및 참조 데이터베이스 DH를 포함하는 호모글리프 피싱 도메인 검출 모듈, 훈련된 타이포-스쿼팅 인코더 ES 및 참조 데이터베이스 DS를 포함하는 타이포-스쿼팅 피싱 도메인 검출 모듈, 훈련된 변환기 기반 신경망을 포함하는 일반 피싱 도메인 검출 모듈, 및 경고 모듈을 이용하여, 도메인 네임 시스템(DNS) 레코드들의 세트에서 피싱 도메인들을 검출하기 위한 방법으로서,
    상기 호모글리프 피싱 도메인 검출 모듈을 사용하여, 호모글리프 도메인들로부터 렌더링된 문자열 이미지들 IHT _N을 수신하는 단계 - 상기 호모글리프 도메인들은 퓨니코드를 각각 포함하는 도메인들을 포함함 - ;
    상기 훈련된 호모글리프 인코더 EH를 사용하여, 문자열 이미지들 IHT _N 각각을 그들의 연관된 인코딩들 eHT_N으로 인코딩하는 단계;
    상기 호모글리프 피싱 도메인 검출 모듈을 사용하여, 연관된 인코딩 eHT _N과 상기 참조 데이터베이스 DH 내의 임의의 인코딩 사이의 유클리드 거리가 미리 결정된 임계값 미만일 때, 각각의 호모글리프 도메인을 호모글리프 피싱 도메인으로서 분류하는 단계;
    상기 타이포-스쿼팅 피싱 도메인 검출 모듈을 사용하여, 상기 DNS 레코드들의 세트로부터 렌더링된 도메인들의 스와이프-유사 이미지들 IST_N을 수신하는 단계;
    상기 타이포-스쿼팅 피싱 도메인 검출 모듈의 상기 훈련된 타이포-스쿼팅 인코더 ES를 사용하여, 상기 스와이프-유사 이미지들 IST _N 각각을 그들의 연관된 인코딩들 eST_N으로 인코딩하는 단계;
    상기 타이포-스쿼팅 피싱 도메인 검출 모듈을 사용하여, 연관된 인코딩 eST_N과 상기 참조 데이터베이스 DS 내의 임의의 인코딩 사이의 유클리드 거리가 미리 결정된 임계값 미만일 때, 상기 스와이프-유사 이미지들 IST _N의 세트를 생성하기 위해 이용되는 각각의 도메인을 타이포-스쿼팅 피싱 도메인으로서 분류하는 단계;
    상기 일반 피싱 도메인 검출 모듈을 사용하여, 피싱 참조 리스트 K 내의 문자열들과 적어도 부분적으로 일치하는 문자열들을 갖는 것으로 상기 DNS 레코드들의 세트로부터 식별된 도메인들을 수신하는 단계;
    상기 일반 피싱 도메인 검출 모듈의 상기 훈련된 변환기 기반 신경망을 사용하여, 상기 식별된 도메인들 각각에 대한 확률 점수를 생성하는 단계;
    상기 일반 피싱 도메인 검출 모듈을 사용하여, 미리 결정된 확률 임계값을 초과하는 확률 점수를 갖는 각각의 식별된 도메인에 대한 인터넷 프로토콜(IP) 주소들을 확인하는 단계;
    확인된 IP 주소들 각각에 대해, 상기 일반 피싱 도메인 검출 모듈을 사용하여:
    확인된 IP 주소에 연관된 모든 외부 도메인들을 획득하는 단계 - 상기 외부 도메인들은 상기 확인된 IP 주소로 확인된 상기 DNS 레코드들의 세트 내의 모든 도메인을 참조함 - ;
    상기 변환기 기반 신경망을 사용하여, 획득된 외부 도메인들 각각에 대한 확률 점수를 생성하는 단계;
    상기 미리 결정된 확률 임계값을 초과하는 확률 점수를 갖는 각각의 획득된 외부 도메인을 일반 피싱 도메인으로서 분류하는 단계; 및
    상기 경고 모듈을 사용하여, 상기 호모글리프 피싱 도메인 검출 모듈로부터의 상기 호모글리프 피싱 도메인들, 상기 타이포-스쿼팅 피싱 도메인 검출 모듈로부터의 상기 타이포-스쿼팅 피싱 도메인들, 및 상기 일반 피싱 도메인 검출 모듈로부터의 상기 일반 피싱 도메인들에 기초하여, 상기 DNS 레코드들의 세트 내에서 검출된 피싱 도메인들에 대한 경고들을 생성하는 단계
    를 포함하는, 방법.
  18. 제17항에 있어서, 상기 경고 모듈을 사용하여 경고들을 생성하는 단계는 블랙리스트 및 규칙 기반 필터링 모듈을 사용하여, 식별된 피싱 도메인들로부터 무해한 도메인 네임들을 필터링하는 단계를 포함하는, 방법.
  19. 제18항에 있어서, 상기 경고 모듈을 사용하여 경고들을 생성하는 단계는:
    거동 분석 모듈을 사용하여, 상기 블랙리스트 및 규칙 기반 필터링 모듈로부터, 필터링되지 않은 피싱 도메인들을 획득하는 단계;
    상기 거동 분석 모듈을 사용하여, 상기 필터링되지 않은 피싱 도메인들 중 적어도 하나를 쿼리한 IP 주소들을 획득하는 단계;
    상기 필터링되지 않은 피싱 도메인들 중 적어도 하나를 쿼리한 각각의 IP 주소에 대해, 상기 거동 분석 모듈을 사용하여:
    해당 IP 주소에 의해 이루어진 각각의 필터링되지 않은 피싱 도메인에 대한 쿼리들의 수에 기초하여 카운트 기반 벡터를 생성하는 단계;
    각각의 카운트 기반 벡터에 L2 정규화를 적용하는 단계;
    상기 거동 분석 모듈을 사용하여, 유사한 특성들을 갖는 카운트 기반 벡터들을 식별하기 위해 상기 IP 주소들 및 그들의 연관된 카운트 기반 벡터들에 계층적 클러스터링을 적용하는 단계; 및
    상기 거동 분석 모듈을 사용하여, 식별된 카운트 기반 벡터들에 연관된 IP 주소들을 동일한 피싱 공격 캠페인들의 대상이 되는 IP 주소들로서 분류하는 단계
    를 포함하는, 방법.
  20. 제18항에 있어서, 상기 경고 모듈을 사용하여 경고들을 생성하는 단계는:
    거동 분석 모듈을 사용하여, 상기 블랙리스트 및 규칙 기반 필터링 모듈로부터, 필터링되지 않은 피싱 도메인들을 획득하는 단계;
    상기 거동 분석 모듈을 사용하여, 상기 필터링되지 않은 피싱 도메인들 중 적어도 하나를 쿼리한 IP 주소들을 획득하는 단계;
    상기 필터링되지 않은 피싱 도메인들 중 적어도 하나를 쿼리한 각각의 IP 주소에 대해, 상기 거동 분석 모듈을 사용하여:
    해당 IP 주소에 의해 이루어진 각각의 필터링되지 않은 피싱 도메인에 대한 쿼리들의 수에 기초하여 카운트 기반 벡터를 생성하는 단계;
    각각의 카운트 기반 벡터에 L2 정규화를 적용하는 단계;
    상기 거동 분석 모듈을 사용하여, 유사한 특성들을 갖는 카운트 기반 벡터들을 식별하기 위해 상기 IP 주소들 및 그들의 연관된 카운트 기반 벡터들에 지역 민감 해싱(LSH)을 적용하는 단계; 및
    상기 거동 분석 모듈을 사용하여, 식별된 카운트 기반 벡터들에 연관된 IP 주소들을 피싱 공격 캠페인들의 대상이 되는 IP 주소들로서 분류하는 단계
    를 포함하는, 방법.
KR1020220055916A 2021-05-07 2022-05-06 도메인 네임 시스템(dns) 레코드들의 세트에서 피싱-도메인들을 검출하기 위한 시스템 및 방법 KR20220152167A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
SG10202104779P 2021-05-07
SG10202104779P 2021-05-07
SG10202106833S 2021-06-23
SG10202106833S 2021-06-23

Publications (1)

Publication Number Publication Date
KR20220152167A true KR20220152167A (ko) 2022-11-15

Family

ID=83854333

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220055916A KR20220152167A (ko) 2021-05-07 2022-05-06 도메인 네임 시스템(dns) 레코드들의 세트에서 피싱-도메인들을 검출하기 위한 시스템 및 방법

Country Status (4)

Country Link
US (1) US20220377107A1 (ko)
KR (1) KR20220152167A (ko)
CN (1) CN115314236A (ko)
IL (1) IL292756A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11973800B2 (en) * 2021-08-20 2024-04-30 Palo Alto Networks, Inc. Domain squatting detection
US20230344867A1 (en) * 2022-04-25 2023-10-26 Palo Alto Networks, Inc. Detecting phishing pdfs with an image-based deep learning approach

Also Published As

Publication number Publication date
US20220377107A1 (en) 2022-11-24
CN115314236A (zh) 2022-11-08
IL292756A (en) 2022-12-01

Similar Documents

Publication Publication Date Title
Wang et al. PDRCNN: Precise phishing detection with recurrent convolutional neural networks
CN105577660B (zh) 基于随机森林的dga域名检测方法
Opara et al. HTMLPhish: Enabling phishing web page detection by applying deep learning techniques on HTML analysis
Khan et al. Defending malicious script attacks using machine learning classifiers
EP2803031B1 (en) Machine-learning based classification of user accounts based on email addresses and other account information
US20200279050A1 (en) Generating and monitoring fictitious data entries to detect breaches
US20200059451A1 (en) System and method for detecting generated domain
US11461458B2 (en) Measuring data-breach propensity
US20190019058A1 (en) System and method for detecting homoglyph attacks with a siamese convolutional neural network
US11762990B2 (en) Unstructured text classification
KR20220152167A (ko) 도메인 네임 시스템(dns) 레코드들의 세트에서 피싱-도메인들을 검출하기 위한 시스템 및 방법
US20190387024A1 (en) Detection of domain name impersonation
Sidi et al. MaskDGA: A black-box evasion technique against DGA classifiers and adversarial defenses
US10878186B1 (en) Content masking attacks against information-based services and defenses thereto
CN116917894A (zh) 使用转换器检测网络钓鱼url
Yuan et al. A novel approach for malicious URL detection based on the joint model
CN112948725A (zh) 基于机器学习的钓鱼网站url检测方法及***
Manasrah et al. DGA-based botnets detection using DNS traffic mining
Rasheed et al. Adversarial attacks on featureless deep learning malicious urls detection
AU2022202901A1 (en) A system and method for detecting phishing-domains in a set of domain name system (dns) records
Zhang et al. Classifying and clustering malicious advertisement uniform resource locators using deep learning
Khukalenko et al. Machine Learning Models Stacking in the Malicious Links Detecting
Aravena et al. Dom2Vec-Detecting DGA Domains Through Word Embeddings and AI/ML-Driven Lexicographic Analysis
KR102486124B1 (ko) Dga 생성 도메인 탐지 및 분류하는 방법
CN116074081B (zh) Dga域名检测方法、装置、设备及存储介质