KR20220158533A - 악성 사이트 탐지 방법 - Google Patents
악성 사이트 탐지 방법 Download PDFInfo
- Publication number
- KR20220158533A KR20220158533A KR1020210066481A KR20210066481A KR20220158533A KR 20220158533 A KR20220158533 A KR 20220158533A KR 1020210066481 A KR1020210066481 A KR 1020210066481A KR 20210066481 A KR20210066481 A KR 20210066481A KR 20220158533 A KR20220158533 A KR 20220158533A
- Authority
- KR
- South Korea
- Prior art keywords
- web
- data
- uri
- html
- types
- Prior art date
Links
- 238000001514 detection method Methods 0.000 title description 14
- 238000013528 artificial neural network Methods 0.000 claims abstract description 26
- 238000013473 artificial intelligence Methods 0.000 claims abstract description 21
- 230000006870 function Effects 0.000 claims description 25
- 238000000605 extraction Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 6
- 230000003211 malignant effect Effects 0.000 claims description 2
- 238000000034 method Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 5
- 210000002569 neuron Anatomy 0.000 description 4
- 125000002059 L-arginyl group Chemical group O=C([*])[C@](N([H])[H])([H])C([H])([H])C([H])([H])C([H])([H])N([H])C(=N[H])N([H])[H] 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 206010028980 Neoplasm Diseases 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 201000011510 cancer Diseases 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000036210 malignancy Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2119—Authenticating web pages, e.g. with suspicious links
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Virology (AREA)
- Information Transfer Between Computers (AREA)
Abstract
악성 사이트 탐지 방법이 개시된다. 본 발명에 따른 악성 사이트 탐지 방법은, 복수의 유형의 트레이닝 데이터를 포함하는 트레이닝 데이터 셋을 수집하고, 상기 트레이닝 데이터 셋으로부터 특징(feature)을 추출하는 단계, 상기 특징(feature)을 입력 데이터로 이용하여, 정상 및 악성을 분류하도록 인공 신경망을 트레이닝함으로써 인공지능 모델을 생성하는 단계, 웹 트래픽을 실시간으로 수집하는 단계, 상기 웹 트래픽을 이용하여 상기 복수의 유형의 웹 수집 데이터를 획득하고, 상기 복수의 유형의 웹 수집 데이터로부터 특징(feature)을 추출하는 단계, 및, 상기 웹 수집 데이터로부터 추출된 특징(feature)을 상기 인공지능 모델에 제공하고, 상기 인공지능 모델이 출력한 결과 값에 기반하여 상기 웹 트래픽에 대한 유해 여부를 결정하는 단계를 포함한다.
Description
본 발명은, 웹 수집 데이터로부터 특징을 추출한 후, 추출된 특징을 인공지능 모델에 입력하여 웹 트래픽에 대한 유해 여부를 획득할 수 있는, 악성 사이트 탐지 방법에 관한 것이다.
일반적으로 유해사이트 탐지 방식은 보안장치 또는 보안시스템의 이벤트 분석 방식으로, 이벤트 발생 시 미리 정의된 보안정책에 매칭된 패턴 또는 임계치에 의한 분석이었다고 할 수 있다.
그리고 이와 같은 기술들에서는, 보안사고 발생 전에 선제적으로 악성사이트를 탐지하기에 어려움이 있고, 파일분석 없이 웹 패킷 및 웹 사이트 정보 기반으로 유해사이트를 탐지하는데 어려움이 있다.
본 발명은 상술한 문제점을 해결하기 위한 것으로, 본 발명의 목적은, 웹 수집 데이터로부터 특징을 추출한 후, 추출된 특징을 인공지능 모델에 입력하여 웹 트래픽의 유해 여부를 획득할 수 있는, 악성 사이트 탐지 방법을 제공하기 위함이다.
본 발명에 따른 악성 사이트 탐지 방법은, 복수의 유형의 트레이닝 데이터를 포함하는 트레이닝 데이터 셋을 수집하고, 상기 트레이닝 데이터 셋으로부터 특징(feature)을 추출하는 단계, 상기 특징(feature)을 입력 데이터로 이용하여, 정상 및 악성을 분류하도록 인공 신경망을 트레이닝함으로써 인공지능 모델을 생성하는 단계, 웹 트래픽을 실시간으로 수집하는 단계, 상기 웹 트래픽을 이용하여 상기 복수의 유형의 웹 수집 데이터를 획득하고, 상기 복수의 유형의 웹 수집 데이터로부터 특징(feature)을 추출하는 단계, 및, 상기 웹 수집 데이터로부터 추출된 특징(feature)을 상기 인공지능 모델에 제공하고, 상기 인공지능 모델이 출력한 결과 값에 기반하여 상기 웹 트래픽에 대한 유해 여부를 결정하는 단계를 포함한다.
이 경우 상기 복수의 유형의 웹 수집 데이터는, URL, URI, HTML, JavaScript 및 호스트를 포함할 수 있다.
이 경우 상기 복수의 유형의 웹 수집 데이터로부터 추출되는 특징은, 상기 웹 수집 데이터를 구성하는 구성 요소의 길이 정보, 상기 구성 요소의 개수 정보, 상기 구성요소가 특정 언어인지 여부, 상기 구성요소가 특정 형태를 나타내는 개수, 상기 구성 요소의 엔트로피, 태그의 수, 특정 값의 존재 여부, 특정 단어의 존재 여부 및 함수의 개수를 포함할 수 있다.
한편, 상기 웹 트래픽이 수집되는 경우, 상기 수집된 웹 트래픽이 특징의 추출 대상인지 판단하는 단계를 더 포함할 수 있다.
이 경우 상기 수집된 웹 트래픽이 특징의 추출 대상인지 판단하는 단계는, 파일의 존재 여부, 화이트리스트 도메인에 해당하는지 여부, 응답 코드의 형태, HTML 문서인지 여부에 기초하여, 상기 수집된 웹 트래픽이 특징의 추출 대상인지 판단할 수 있다.
본 발명에 따르면, 실시간으로 웹트래픽을 수집하여 AI분석이 가능하도록 특성(Feature)을 추출하고, AI모델을 통해 악성의심 도메인을 자동으로 분류할 수 있는 장점이 있다.
또한 본 발명에 따르면, 파일 다운로드가 불가능한 경우에도, 네트워크 단에서 수집된 웹 패킷 또는 웹 사이트 데이터 만으로 선제적으로 악성 사이트를 빠르게 탐지할 수 있는 장점이 있다.
이렇게 검출된 유해사이트 정보는, 사이버보안위협으로부터 예방을 위해 보안서비스 및 보안장치에 적용하여 위협정보를 선제적으로 대응할 수 있도록 할 수 있으며, 보안 플랫폼과의 연동을 통해 위협을 사전에 제거함으로써 고객들이 안심하고 인터넷서비스를 제공받을 수 있도록 할 수 있다. 또한 본 발명을 통해 정보보안사업에 새로운 가치를 창출할 수 있다.
도 1은 본 발명에 따른 악성 사이트 탐지 장치를 설명하기 위한 블록도이다.
도 2는 본 발명에 따른 특징 추출 방법을 설명하기 위한 도면이다.
도 3은 본 발명에 따른, 특징 추출 방법을 세부적으로 설명하기 위한 도면이다.
도 4는 본 발명에 따른, 웹 트래픽을 이용하여 웹 트래픽의 정상 여부를 실시간으로 확인하는 방법을 설명하기 위한 도면이다.
도 2는 본 발명에 따른 특징 추출 방법을 설명하기 위한 도면이다.
도 3은 본 발명에 따른, 특징 추출 방법을 세부적으로 설명하기 위한 도면이다.
도 4는 본 발명에 따른, 웹 트래픽을 이용하여 웹 트래픽의 정상 여부를 실시간으로 확인하는 방법을 설명하기 위한 도면이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명을 구현함에 있어서 설명의 편의를 위하여 구성요소를 세분화하여 설명할 수 있으나, 이들 구성요소가 하나의 장치 또는 모듈 내에 구현될 수도 있고, 혹은 하나의 구성요소가 다수의 장치 또는 모듈들에 나뉘어져서 구현될 수도 있다.
도 1은 본 발명에 따른 악성 사이트 탐지 장치를 설명하기 위한 블록도이다.
본 발명에 따른 악성 사이트 탐지 장치(100)는, 수집부(110), 제어부(120) 및 메모리(130)를 포함할 수 있다.
수집부(110)는 유/무선 통신 기술을 이용하여 외부 장치와 통신하기 위한 통신 회로 또는 통신 모듈을 포함하고, 외부 장치와 데이터를 송/수신할 수 있다.
구체적으로 수집부(110)는 네트워크 단에 연결되어, 네트워크 단을 경유하는 웹 트래픽을 실시간으로 수집할 수 있다.
또한 수집부(110)는 피싱 사이트, 한국 인터넷 진흥원(KISA), 통신사 등과 연결되어 데이터를 수집할 수 있다.
메모리(130)는 악성 사이트 탐지 장치의 동작을 위한 프로그램이나 기타 데이터를 저장할 수 있다.
제어부(120)는 악성 사이트 탐지 장치(100)의 전반적인 동작을 제어할 수 있다.
또한 악성 사이트 탐지 장치(100)에는 인공 신경망 또는 인공지능 모델이 탑재되며, 이 경우 인공 신경망 또는 인공지능 모델을 구성하는 하나 이상의 명령어는 메모리(130)에 저장될 수 있다.
도 2는 본 발명에 따른 특징 추출 방법을 설명하기 위한 도면이다.
먼저 본 명세서에서는 인공 신경망을 트레이닝 하기 위하여 수집되는 데이터를 트레이닝 데이터라고 명칭 한다.
제어부(120)는 수집부(110)를 통하여 트레이닝 데이터 셋을 수집할 수 있다.
구체적으로, 트레이닝 데이터 셋은 URI(Uniform Resource Identifier) 데이터를 포함할 수 있다. 또한 URI 데이터는, 공개 URI 데이터 및 비 공개 URI 데이터를 포함할 수 있다.
공개 URI 데이터는, 피싱 사이트(OpenPhish, Phistank등)로부터 수집되는 데이터일 수 있다.
또한 비 공개 URI는, 악성 사이트 탐지 장치(100)를 운영하는 주체(예를 들어 통신사)에서 보유하거나 한국 인터넷 진흥원(KISA)에서 보유하는 데이터일 수 있다.
한편 트레이닝 셋은 복수의 유형의 트레이닝 데이터를 포함할 수 있다. 여기서 하나의 트레이닝 셋은, URI 데이터 및 URI 데이터와 관련된 다양한 유형의 데이터를 포함할 수 있다. 예를 들어 복수의 유형의 트레이닝 데이터는, URL, URI, HTML, JavaScript 및 호스트를 포함할 수 있다. 이 경우 제어부(120)는 수집된 URI 데이터에 대한 웹 크롤링을 통하여 복수의 유형의 트레이닝 데이터를 획득할 수 있다.
한편 제어부(120)는 트레이닝 데이터 셋에 대응하는 정답 값(레이블)을 획득할 수 있다.
구체적으로, 특정 트레이닝 데이터 셋이 공개 URI 데이터에 기반하여 획득된 경우, 제어부(120)는 특정 트레이닝 데이터 셋에 대응하는 레이블이 악성인 것으로 결정할 수 있다.
또한 특정 트레이닝 데이터 셋이 한국 인터넷 진흥원(KISA)에서 보유하는 비 공개 URI 데이터에 기반하여 획득된 경우, 제어부(120)는 특정 트레이닝 데이터 셋에 대응하는 레이블이 악성인 것으로 결정할 수 있다.
한편, 특정 트레이닝 데이터 셋이 악성 사이트 탐지 장치(100)를 운영하는 주체(예를 들어 통신사)에서 보유하는 비 공개 URI 데이터에 기반하여 획득된 경우, 제어부(120)는 SafeBrowsing API를 통해 정상 또는 악성 여부에 대한 정보를 획득할 수 있다. 그리고 제어부(120)는 트레이닝 데이터 셋에 정상 또는 악성 여부에 대한 정보를 레이블로써 연관시킬 수 있다.
한편 제어부(120)는 트레이닝 데이터 셋으로부터 특징(Feature)을 추출할 수 있다. 본 발명에서는 183개의 특징(Feature)을 추출하였다. 그리고 183개 특징은 URI 기반의 특징 96개, HTML 기반의 특징 43개, JavaScript 기반의 특징 28개, Host 기반의 특징 16개로 구성되어 있다.
도 3은 본 발명에 따른, 특징 추출 방법을 세부적으로 설명하기 위한 도면이다.
제어부(120)는 공개 URI 데이터 및 비 공개 URI 데이터를 수집할 수 있다(S305).
한편 앞서 설명한 바와 같이, 먼저 트레이닝 데이터 셋을 구성한 후 정답 값을 레이블링 하는 방식도 가능하며, 먼저 URI 데이터에 정답 값을 레이블링 한 후 트레이닝 데이터 셋을 구성하는 경우도 가능하다.
제어부(120)는 공개 URI 데이터 및 비 공개 URI 데이터에 대하여 정답 값을 레이블링 할 수 있다(S310).
구체적으로, 제어부(120)는 수집된 URI 데이터가, 악성 사이트 탐지 장치(100)를 운영하는 주체(예를 들어 통신사)에서 보유한 데이터인지 판단할 수 있다(S315). 그리고 수집된 URI 데이터가 악성 사이트 탐지 장치(100)를 운영하는 주체(예를 들어 통신사)에서 보유한 데이터인 경우, 제어부(120)는 *** safeBrowsing API를 호출하여(S320), 해당하는 URI 데이터가 정상인지 또는 악성인지에 대한 정보를 획득할 수 있다.
그리고 해당하는 URI 데이터가 악성인 경우(S325), 제어부(120)는 “악성”이라는 정답 값을 해당하는 URI 데이터에 레이블링 할 수 있다(S330).
반면에, 해당하는 URI 데이터가 정상인 경우(S325), 제어부(120)는 “정상이라는 정답 값을 해당하는 URI 데이터에 레이블링 할 수 있다(S335).
한편 수집된 URI 데이터가 악성 사이트 탐지 장치(100)를 운영하는 주체(예를 들어 통신사)에서 보유한 데이터가 아닌 경우, 제어부(120)는 수집된 URI 데이터가 공개 데이터인지 판단할 수 있다(S340).
그리고 수집된 URI 데이터가 공개 데이터이면, 제어부(120)는 “악성”이라는 정답 값을 해당하는 URI 데이터에 레이블링 할 수 있다(S330).
한편 수집된 URI 데이터가 공개 데이터가 아니면, 제어부(120)는 수집된 URI 데이터가 한국 인터넷 진흥원에서 보유한 데이터인지 판단할 수 있다(S345).
그리고 수집된 URI 데이터가 한국 인터넷 진흥원에서 보유한 데이터이면, 제어부(120)는 “악성”이라는 정답 값을 해당하는 URI 데이터에 레이블링 할 수 있다(S330).
한편 제어부(120)는 URI를 포함하는 트레이닝 데이터 셋이, 특징 추출 대상인지 판단할 수 있다(S350).
구체적으로 제어부(120)는, 파일의 존재 여부, 화이트리스트 도메인에 해당하는지 여부, 응답 코드의 형태, HTML 문서인지 여부에 기초하여, 트레이닝 데이터 셋이 특징의 추출 대상인지 판단할 수 있다.
더욱 구체적으로, 제어부(120)는 URI 데이터를 이용하여 파일을 획득할 수 없고(파일의 다운 로드가 불가능한 경우)(S351), URI 데이터가 화이트 리스트 도메인이 아니고(S352), 응답 코드의 형태가 2XX이고(S353), URI 데이터가 HTML 문서인 경우(S354), 트레이닝 데이터 셋으로부터 특징을 추출할 수 있다(S360).
특징의 구체적인 유형에 대해서는, 이후에 자세히 설명한다.
한편 제어부(120)는 특징을 입력 데이터로 이용하여, 정상 및 악성을 분류하도록 인공 신경망을 트레이닝 할 수 있다.
구체적으로, 인공신경망(뉴럴 네트워크)은 생물학적 뉴런의 동작원리와 뉴런간의 연결 관계를 모델링한 것으로 노드(node) 또는 처리 요소(processing element)라고 하는 다수의 뉴런들이 레이어(layer) 구조의 형태로 연결된 정보처리 시스템일 수 있다.
또한 인공 신경망은 입력 데이터를 이용하여 트레이닝(training)될 수 있다. 여기서 트레이닝이란, 입력 데이터를 분류(classification)하거나 회귀분석(regression)하거나 군집화(clustering)하는 등의 목적을 달성하기 위하여, 입력 데이터를 이용하여 인공 신경망의 파라미터(parameter)를 결정하는 과정을 의미할 수 있다. 인공 신경망의 파라미터의 대표적인 예시로써, 시냅스에 부여되는 가중치(weight)나 뉴런에 적용되는 편향(bias)을 들 수 있다.
또한 손실 함수는 인공 신경망의 트레이닝 과정에서 최적의 모델 파라미터를 결정하기 위한 지표(기준)로 이용될 수 있다. 인공 신경망에서 학습은 손실 함수를 줄이기 위하여 인공신경망의 파라미터들(가중치, 편향 등)을 조작하는 과정을 의미하며, 학습의 목적은 손실 함수를 최소화하는 파라미터를 결정하는 것으로 볼 수 있다.
그리고 제어부(120)는 지도 학습 알고리즘을 기반으로, 인공 신경망을 트레이닝 할 수 있다.
지도 학습에서는, 입력 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시킨다. 여기서 레이블이란, 입력 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과 값)을 의미할 수 있다.
그리고 제어부(120)는 특정 트레이닝 데이터 셋으로부터 추출된 특징을 인공 신경망에 입력 데이터로 제공하고, 특정 트레이닝 데이터 셋에 레이블링된 정상 또는 악성에 대한 정보를 인공 신경망에 정답으로 제공함으로써, 인공 신경망을 트레이닝 할 수 있다.
또한 제어부(120)는 입력 데이터(특징) 및 정답의 차이에 기반하여 인공 신경망을 트레이닝 할 수 있다. 즉 제어부(120)는 입력 데이터(특징) 및 정답의 차이에 기반하여 손실 함수를 산출하고, 산출된 손실 함수를 이용하여 인공 신경망의 파라미터를 조절할 수 있다.
또한 제어부(120)는 다양한 트레이닝 데이터 셋으로부터 추출된 특징 및 다양한 트레이닝 데이터 셋에 대응하는 정답을 이용하여 인공 신경망에 대한 트레이닝을 반복함으로써, 인공 신경망의 파라미터가 최적화 된 인공지능 모델을 생성할 수 있다.
도 4는 본 발명에 따른, 웹 트래픽을 이용하여 웹 트래픽의 정상 여부를 실시간으로 확인하는 방법을 설명하기 위한 도면이다.
제어부(120)는 네트워크 단에 연결되어, 네트워크 단을 경유하는 웹 트래픽을 실시간으로 수집할 수 있다(S410). 여기서 웹 트래픽은, 웹 패킷 및 웹사이트 데이터 중 적어도 하나를 포함할 수 있다.
그리고 나서 제어부(120)는 수집된 웹 트래픽이 특징의 추출 대상인지 판단할 수 있다(S420).
구체적으로 제어부(120)는, 파일의 존재 여부, 화이트리스트 도메인에 해당하는지 여부, 응답 코드의 형태, HTML 문서인지 여부에 기초하여, 수집된 웹 트래픽이 특징의 추출 대상인지(즉, 정상 또는 악성을, 인공지능 모델을 이용하여 판단할 대상인지) 판단할 수 있다(420).
더욱 구체적으로, 제어부(120)는 웹 트래픽을 이용하여 파일을 획득할 수 없고(파일의 다운 로드가 불가능한 경우)(S421), 웹 트래픽이 화이트 리스트 도메인이 아니고(S422), 응답 코드의 형태가 2XX이고(S423), 웹 트래픽이 HTML 문서인 경우(S424), 수집된 웹 트래픽이 특징의 추출 대상인 것으로(즉, 정상 또는 악성을, 인공지능 모델을 이용하여 판단할 대상인 것으로) 판단할 수 있다(420).
한편 수집된 웹 트래픽이 특징의 추출 대상이면, 제어부(120)는 웹 트레픽을 이용하여 복수의 유형의 웹 수집 데이터를 획득하고, 복수의 유형의 웹 수집 데이터로부터 특징(feature)을 추출할 수 있다(S430).
여기서 복수의 유형의 웹 수집 데이터는, URL, URI, HTML, JavaScript 및 호스트 정보를 포함할 수 있으며, 웹 패킷을 이용하여 획득될 수 있다. 또한 제어부(120)는 도메인 정보를 획득할 수 있다. 예를 들어 제어부(120)는 웹 패킷으로부터 URI를 추출하고, 추출된 URI에 접속하여 해당하는 웹 페이지의 HTML, JavaScript 정보 등을 획득할 수 있다. 다른 예를 들어 제어부(120)는 웹 패킷으로부터 URI를 추출하고, 추출된 URI를 후이즈(Whois) 등에 문의하여, 도메인 정보(도메인의 생성 시점, 도메인 생성 후 경과 시간 등)을 획득할 수 있다.
본 발명에서는 183개의 특징(Feature)을 예시하였으며, 183개 특징은 URI 기반의 특징 96개, HTML 기반의 특징 43개, JavaScript 기반의 특징 28개, Host 기반의 특징 16개로 구성되어 있다. 특징(Feature)의 예시는 표 1과 같다.
특징 구분 | 설명 |
URL | protocol 제외한 url 길이 |
URL | domain 에서 '-' 개수 |
URL | domain token 수 |
URL | url path 의 길이 |
URL | url filename 의 길이 |
URL | domain token 중 가장 긴 token 의 길이 |
URL | domain token 의 평균 token 길이 |
URL | url의 tld가 valid인 tld인지 검사 |
URL | (포트번호 포함한) domain 의 길이 (netloc: 포트번호 포함) |
URL | (포트번호 미포함) url hostname 의 길이 (hostname: 포트번호 미포함) |
URL | url 에서 dots(.) 의 수 |
URL | url 에서 underscores(_) 의 수 |
URL | url 에서 equals(=) 의 수 |
URL | url 에서 slashes(/) 의 수 ('http://' 2개 포함) |
URL | url 에서 dash(-) 의 수 |
URL | url 에서 semicolon(;) 의 수 |
URL | url 에서 at(@) 의 수 |
URL | url 에서 percent(%) 의 수 |
URL | url 에서 plus(+) 의 수 |
URL | url 에서 query 길이 |
URL | url 에서 query parameter 개수 |
URL | url 에 ip(IPv4/IPv6) 가 있는지 확인 |
URL | url 복잡도 검사(shannon-entropy) |
URL | url 자음 갯수 검사 |
URL | url 숫자 갯수 검사 (0~9) |
URL | url 중국어 검사 |
URL | url port가 valid port인지 검사(None, 80, 443, 8080, 8443) |
URL_Path | path token의 수 |
URL_Path | path token 중 가장 긴 token의 길이 |
URL_Path | path token 중 가장 짧은 token의 길이 |
URL_Path | path 중 자음 갯수 검사 |
URL_Path | path token 의 평균 token 길이 |
URI | url tld의 길이 |
URI | [a i e o u] /총 문자[a-z] |
URI | 자음 /총 문자[a-z] |
URI | url에서 ldl형태의 개수 |
URI | domain에서 ldl형태의 개수 |
URI | path에서 ldl형태의 개수 |
URI | 파일명에서 ldl형태의 개수 |
URI | Arg에서 ldl형태의 개수 |
URI | url에서 dld형태의 개수 |
URI | domain에서 dld형태의 개수 |
URI | path에서 dld형태의 개수 |
URI | 파일명에서 dld형태의 개수 |
URI | Arg에서 dld형태의 개수 |
URI | subdirectory의 길이 |
URI | fileName의 길이 |
URI | file확자자의 길이 |
URI | Arg의 길이 |
URI | path / url |
URI | arg / url |
URI | arg / domain |
URI | domain / url |
URI | path / domain |
URI | arg / path |
URI | 실행파일여부 |
URI | 80포트를 쓰는지 |
URI | 연속성의 비율(알파벳,숫자,특수문자 타입들 중 가장 긴값의 합을 촐 길이로 나누어줌) |
URI | 가장 긴 변수의 값 |
URI | hostname 에서 숫자 수 |
URI | directory에서 숫자 수 |
URI | filename에서 숫자 수 |
URI | extension에서 숫자 수 |
URI | query에서 숫자 수 |
URI | url에서 글자 수 |
URI | host에서 글자 수 |
URI | directory에서 문자 수 |
URI | filename에서 문자 수 |
URI | extension에서 문자 수 |
URI | query에서 문자수 |
URI | subdirectory 중 가장 긴 단어 길이 |
URI | argument 중 가장 긴 단어 길이 |
URI | URL에서 민감한 Word의 수 |
URI | query에서 변수의 수 |
URI | url에서 특수문자의 수 |
URI | domain에서 구분문자의 수 |
URI | path에서 구분문자의 수 |
URI | 전체 URL에서 구분문자의 수 |
URI | url 에서 숫자/전체 문자 |
URI | domain 에서 숫자/전체 문자 |
URI | DirectoryName 에서 숫자/전체 문자 |
URI | filename 에서 숫자/전체 문자 |
URI | extension 에서 숫자/전체 문자 |
URI | AfterPath 에서 숫자/전체 문자 |
URI | 전체 URL에서 Symbol의 수 |
URI | 전체 Domain에서 Symbol의 수 |
URI | 디렉토리 이름에서 Symbol의 수 |
URI | 파일이름에서 Symbol의 수 |
URI | 파일 확장자에서 Symbol의 수 |
URI | afterpath에서 Symbol의 수 |
URI | url의 entropy |
URI | domain의 entropy |
URI | directoryname의 entropy |
URI | filename의 entropy |
URI | extension의 entropy |
URI | afterpath의 entropy |
HTML | html 에서 <iFrame> 태그의 수 |
HTML | html 에서 <script> 태그의 수 |
HTML | html 에서 <embed> 태그의 수 |
HTML | html 에서 <object> 태그의 수 |
HTML | html 에서 <div> 태그의 수 |
HTML | html 에서 <head> 태그의 수 |
HTML | html 에서 <body> 태그의 수 |
HTML | html 에서 <form> 태그의 수 |
HTML | html 에서 <a> 태그의 수 |
HTML | html 에서 <small> 태그의 수 |
HTML | html 에서 <span> 태그의 수 |
HTML | html 에서 <input> 태그의 수 |
HTML | html 에서 <applet> 태그의 수 |
HTML | html 에서 <img> 태그의 수 |
HTML | html 에서 <video> 태그의 수 |
HTML | html 에서 <audio> 태그의 수 |
HTML | html 에서 'refresh' 속성을 가진 <meta> 태그의 수 ex) <meta http-equiv="refresh" … |
HTML | html 에서 <script>...</script> 길이 (외부링크 제외) |
HTML | html 에서 공백 수(only space) |
HTML | html 에서 외부주소를 참조하는 태그의 수 (link에 자신의 hostname이 없으며, href 속성이 'http'나 'ftp'를 참고할 경우) |
HTML | html body 문서 길이 |
HTML | script 에서 href,src 속성을 가진 태그 수 |
HTML | html 에서 href 속성을 가진 태그 수 |
HTML | html value에서 공백 기준 토큰화한 단어들의 수 |
HTML | html value에서 공백 기준 토큰화한 단어들의 수 (중복제거) |
HTML | html 에서 라인 수(중복제거) |
HTML | html 에서 단어 길이의 평균 (총 단어 길이 /총 단어 수) |
HTML | html 에서 "log"라는 단어 검사 |
HTML | html 에서 "pay"라는 단어 검사 |
HTML | html 에서 "free"라는 단어 검사 |
HTML | html 에서 "access"라는 단어 검사 |
HTML | html 에서 "bonus"라는 단어 검사 |
HTML | html 에서 "click"라는 단어 검사 |
HTML | html 에서 dots(.)의 수 |
HTML | html 에서 hyphens(-)의 수 |
HTML | html 에서 underscores(_)의 수 |
HTML | html 에서 equals(=)의 수 |
HTML | html 에서 slashes(/)의 수 |
HTML | html 에서 hashes(#)의 수 |
HTML | html 에서 at(@)의 수 |
HTML | html 에서 dollar($)의 수 |
HTML | html 에 <title> 태그가 있는지 검사 |
HTML | html 이 default webpage인지 검사 (apache, nginx 등) |
Javascript | script 에 eval() 함수의 개수 |
Javascript | script 에 setTimeout() 함수의 개수 |
Javascript | script 에 unescape() 함수의 개수 |
Javascript | script 에 escape() 함수의 개수 |
Javascript | script 에 parseInt() 함수의 개수 |
Javascript | script 에 fromCharCode() 함수의 개수 |
Javascript | script 에 ActiveXObject() 함수의 개수 |
Javascript | script 에 concat() 함수의 개수 |
Javascript | script 에 indexOf() 함수의 개수 |
Javascript | script 에 substring() 함수의 개수 |
Javascript | script 에 replace() 함수의 개수 |
Javascript | script 에 documentaddEventListener() 함수의 개수 |
Javascript | script 에 createElement() 함수의 개수 |
Javascript | script 에 getElementById() 함수의 개수 |
Javascript | script 에 attachEvent() 함수의 개수 |
Javascript | script 에 documentwrite() 함수의 개수 |
Javascript | script 문서 길이 |
Javascript | script 에서 중복 제거한 단어 수 |
Javascript | script 에서 라인 수(중복 제거) |
Javascript | script 에서 평균 단어 길이 (총 단어 길이/총 단어 수) |
Javascript | script 에서 dots(.)의 수 |
Javascript | script 에서 hyphens(-)의 수 |
Javascript | script 에서 underscores(_)의 수 |
Javascript | script 에서 equals(=)의 수 |
Javascript | script 에서 slashes(/)의 수 |
Javascript | script 에서 hashes(#)의 수 |
Javascript | script 에서 at(@)의 수 |
Javascript | script 에서 dollar($)의 수 |
Host | 도메인 생성 이 후 period (Month 기준) |
Host | 도메인 남은 만료일 (Month 기준) |
Host | 도메인 정보 최신 업데이트 이 후 period(Day 기준) |
Host | update date 값 존재 여부 |
Host | create date 값 존재 여부 |
Host | expiration date 값 존재 여부 |
Host | zipcode 값 존재 여부 |
Host | orgraniztion 값 존재 여부 |
Host | dnssec 서명 여부 |
Host | city 값 존재 여부 |
Host | state 값 존재 여부 |
Host | country 값 존재 여부 |
Host | whois 서버 등록 여부 |
Host | referral url 값 존재 여부 |
Host | email 값 존재 여부 |
Host | Alexa 순위 (100,000등 기준) |
특징의 예시로, 복수의 유형의 웹 수집 데이터로부터 추출되는 특징은, 웹 수집 데이터를 구성하는 구성 요소의 길이 정보를 포함할 수 있다. 예를 들어 특징은, 제1 유형(URL)의 웹 수집 데이터를 구성하는 구성 요소(protocol 제외한 url)의 길이를 포함할 수 있다. 다른 예를 들어 특징은, 제2 유형(URI)의 웹 수집 데이터를 구성하는 구성 요소(fileName)의 길이를 포함할 수 있다.
특징의 또 다른 예시로, 복수의 유형의 웹 수집 데이터로부터 추출되는 특징은, 웹 수집 데이터를 구성하는 구성 요소의 개수 정보를 포함할 수 있다. 예를 들어 특징은, 제1 유형(URL)의 웹 수집 데이터를 구성하는 구성 요소(equals(=))의 수를 포함할 수 있다. 다른 예를 들어 특징은, 제4 유형(JavaScript)의 웹 수집 데이터를 구성하는 구성 요소(script 에서 중복 제거한 단어)의 수를 포함할 수 있다.
특징의 또 다른 예시로, 복수의 유형의 웹 수집 데이터로부터 추출되는 특징은, 구성 요소가 특정 언어인지 여부를 포함할 수 있다. 예를 들어 특징은, 제1 유형(URL)의 웹 수집 데이터를 구성하는 구성 요소가 중국어인지 여부를 포함할 수 있다.
특징의 또 다른 예시로, 복수의 유형의 웹 수집 데이터로부터 추출되는 특징은, 구성 요소가 특정 형태를 나타내는 개수를 포함할 수 있다. 예를 들어 특징은, 제2 유형(URI)의 웹 수집 데이터를 구성하는 구성 요소가 did 형태를 나타내는 개수를 포함할 수 있다.
특징의 또 다른 예시로, 복수의 유형의 웹 수집 데이터로부터 추출되는 특징은, 구성 요소의 엔트로피를 포함할 수 있다. 예를 들어 특징은, 제2 유형(URI)의 웹 수집 데이터에서 도메인의 엔트로피(entropy)를 포함할 수 있다.
특징의 또 다른 예시로, 복수의 유형의 웹 수집 데이터로부터 추출되는 특징은, 태그의 수를 포함할 수 있다. 예를 들어 특징은, 제3 유형(HTML)의 웹 수집 데이터를 구성하는 구성 요소(<body> 태그)의 수를 포함할 수 있다. 다른 예를 들어 특징은, 제3 유형(HTML)의 웹 수집 데이터를 구성하는 구성 요소(href 속성을 가진 태그 수)의 수를 포함할 수 있다.
특징의 또 다른 예시로, 복수의 유형의 웹 수집 데이터로부터 추출되는 특징은, 특정 값의 존재 여부를 포함할 수 있다. 예를 들어 특징은, 제5 유형(HOST)의 웹 수집 데이터에 특정 값(state 값)의 존재 여부를 포함할 수 있다.
특징의 또 다른 예시로, 복수의 유형의 웹 수집 데이터로부터 추출되는 특징은, 함수의 개수를 포함할 수 있다. 예를 들어 특징은, 제4 유형(Javascrip)의 웹 수집 데이터 내 eval() 함수의 개수를 포함할 수 있다.
특징의 또 다른 예시로, 복수의 유형의 웹 수집 데이터로부터 추출되는 특징은, 특정 단어의 존재 여부를 포함할 수 있다. 예를 들어 특징은, 제3 유형(HTNL)의 웹 수집 데이터에 특정 단어("free")의 존재 여부를 포함할 수 있다.
한편 특징이 추출되면, 추출된 특징 기반의 AI 분석을 수행할 수 있다(S440).
구체적으로, 제어부(120)는 웹 수집 데이터로부터 추출된 특징을 인공지능 모델에 제공하고, 인공지능 모델이 출력한 결과 값에 기반하여 웹 트래픽에 대한 유해 여부를 결정할 수 있다.
더욱 구체적으로, 웹 수집 데이터로부터 추출된 특징이 입력되면, 인공지능 모델은 입력된 특징에 기반하여 입력된 특징에 대응하는 결과 값을 출력할 수 있다. 이 경우 인공지능 모델은, 입력된 특징에 대응하는 클래스(정상 또는 악성)과 함께 클래스에 대응하는 확률을 출력할 수 있다.
그리고 악성의 확률이 기 설정된 값(예를 들어 0.5) 이상으로 출력되는 경우, 제어부(120)는 입력된 특징이 악성인 것으로 결정할 수 있다(S450). 또한 입력된 특징이 복수의 유형의 웹 수집 데이터로부터 추출된 경우, 상기 복수의 유형의 웹 수집 데이터를 수집하기 위해 사용된 최초의 웹 트래픽이 유해 사이트에 대한 트래픽인 것으로 결정할 수 있다. 따라서 제어부(120)는 실시간으로 수집된 웹 트래픽이 유해 사이트에 대한 트래픽인 것으로 결정하고(S460), 해당하는 사용자에게 유해 사이트 안내를 전송할 수 있다.
한편 정상의 확률이 기 설정된 값(예를 들어 0.5)을 초과하는 값으로 출력되는 경우, 제어부(120)는 입력된 특징이 정상인 것으로 결정할 수 있다(S450). 또한 입력된 특징이 복수의 유형의 웹 수집 데이터로부터 추출된 경우, 제어부(120)는 복수의 유형의 웹 수집 데이터를 수집하기 위해 사용된 최초의 웹 트래픽이 정상 사이트에 대한 트래픽인 것으로 결정할 수 있다. 따라서 제어부(120)는 실시간으로 수집된 웹 트래픽이 정상 사이트에 대한 트래픽인 것으로 결정할 수 있다(S470).
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 상기 컴퓨터는 제어부를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
100: 악성 사이트 탐지 장치
110: 수집부
120: 제어부 130: 메모리
120: 제어부 130: 메모리
Claims (5)
- 복수의 유형의 트레이닝 데이터를 포함하는 트레이닝 데이터 셋을 수집하고, 상기 트레이닝 데이터 셋으로부터 특징(feature)을 추출하는 단계;
상기 특징(feature)을 입력 데이터로 이용하여, 정상 및 악성을 분류하도록 인공 신경망을 트레이닝함으로써 인공지능 모델을 생성하는 단계;
웹 트래픽을 실시간으로 수집하는 단계;
상기 웹 트래픽을 이용하여 상기 복수의 유형의 웹 수집 데이터를 획득하고, 상기 복수의 유형의 웹 수집 데이터로부터 특징(feature)을 추출하는 단계; 및
상기 웹 수집 데이터로부터 추출된 특징(feature)을 상기 인공지능 모델에 제공하고, 상기 인공지능 모델이 출력한 결과 값에 기반하여 상기 웹 트래픽에 대한 유해 여부를 결정하는 단계;를 포함하는
악성 사이트 탐지 방법. - 제 1항에 있어서,
상기 복수의 유형의 웹 수집 데이터는,
URL, URI, HTML, JavaScript 및 호스트를 포함하는
악성 사이트 탐지 방법. - 제 2항에 있어서,
상기 복수의 유형의 웹 수집 데이터로부터 추출되는 특징은,
상기 웹 수집 데이터를 구성하는 구성 요소의 길이 정보, 상기 구성 요소의 개수 정보, 상기 구성요소가 특정 언어인지 여부, 상기 구성요소가 특정 형태를 나타내는 개수, 상기 구성 요소의 엔트로피, 태그의 수, 특정 값의 존재 여부, 특정 단어의 존재 여부 및 함수의 개수를 포함하는
악성 사이트 탐지 방법. - 제 1항에 있어서,
상기 웹 트래픽이 수집되는 경우, 상기 수집된 웹 트래픽이 특징의 추출 대상인지 판단하는 단계;를 더 포함하는
악성 사이트 탐지 방법. - 제 4항에 있어서,
상기 수집된 웹 트래픽이 특징의 추출 대상인지 판단하는 단계는,
파일의 존재 여부, 화이트리스트 도메인에 해당하는지 여부, 응답 코드의 형태, HTML 문서인지 여부에 기초하여, 상기 수집된 웹 트래픽이 특징의 추출 대상인지 판단하는
악성 사이트 탐지 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210066481A KR20220158533A (ko) | 2021-05-24 | 2021-05-24 | 악성 사이트 탐지 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210066481A KR20220158533A (ko) | 2021-05-24 | 2021-05-24 | 악성 사이트 탐지 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220158533A true KR20220158533A (ko) | 2022-12-01 |
Family
ID=84440781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210066481A KR20220158533A (ko) | 2021-05-24 | 2021-05-24 | 악성 사이트 탐지 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20220158533A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102596046B1 (ko) * | 2022-12-05 | 2023-10-31 | 주식회사 에스투더블유 | 악성 서버 탐지 방법 및 이를 수행하기 위한 장치 |
-
2021
- 2021-05-24 KR KR1020210066481A patent/KR20220158533A/ko active Search and Examination
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102596046B1 (ko) * | 2022-12-05 | 2023-10-31 | 주식회사 에스투더블유 | 악성 서버 탐지 방법 및 이를 수행하기 위한 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210377303A1 (en) | Machine learning to determine domain reputation, content classification, phishing sites, and command and control sites | |
US10491614B2 (en) | Illegitimate typosquatting detection with internet protocol information | |
US9531736B1 (en) | Detecting malicious HTTP redirections using user browsing activity trees | |
CN103888490B (zh) | 一种全自动的web客户端人机识别的方法 | |
Cui et al. | Malicious URL detection with feature extraction based on machine learning | |
CN104717185B (zh) | 短统一资源定位符的展示响应方法、装置、服务器和*** | |
JP6397932B2 (ja) | エンドポイントからのネットワークリクエストに言語分析を適用するマルウェアに感染しているマシンを識別するためのシステム | |
Marchal et al. | Proactive discovery of phishing related domain names | |
CN109905288B (zh) | 一种应用服务分类方法及装置 | |
CN105760379B (zh) | 一种基于域内页面关联关系检测webshell页面的方法及装置 | |
US20210344693A1 (en) | URL risk analysis using heuristics and scanning | |
CN102065147A (zh) | 一种基于企业应用***获取用户登录信息的方法及装置 | |
US20210377304A1 (en) | Machine learning to determine command and control sites | |
US20220075872A1 (en) | Method and system for detecting malicious infrastructure | |
Lamprakis et al. | Unsupervised detection of APT C&C channels using web request graphs | |
Burda et al. | Characterizing the redundancy of DarkWeb. onion services | |
Chen et al. | Efficient suspicious URL filtering based on reputation | |
Yoshihama et al. | Web-Based Data Leakage Prevention. | |
KR20220158533A (ko) | 악성 사이트 탐지 방법 | |
CN117792741A (zh) | 基于行为特征分析的网络攻击检测及溯源方法 | |
WO2017134024A1 (en) | A computer-implemented web tracking identification method, a web tracker detecting entity and computer program products | |
Najafi et al. | Guilt-by-association: detecting malicious entities via graph mining | |
Jo et al. | You're not who you claim to be: Website identity check for phishing detection | |
CN115001724B (zh) | 网络威胁情报管理方法、装置、计算设备及计算机可读存储介质 | |
CN111371917B (zh) | 一种域名检测方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |