KR102438527B1 - Method for predicting malignant url considering url- related content and host data and apparatus implementing the same method - Google Patents

Method for predicting malignant url considering url- related content and host data and apparatus implementing the same method Download PDF

Info

Publication number
KR102438527B1
KR102438527B1 KR1020210134826A KR20210134826A KR102438527B1 KR 102438527 B1 KR102438527 B1 KR 102438527B1 KR 1020210134826 A KR1020210134826 A KR 1020210134826A KR 20210134826 A KR20210134826 A KR 20210134826A KR 102438527 B1 KR102438527 B1 KR 102438527B1
Authority
KR
South Korea
Prior art keywords
url
models
data
prediction
machine learning
Prior art date
Application number
KR1020210134826A
Other languages
Korean (ko)
Other versions
KR20220057426A (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 한국인터넷진흥원
Priority to KR1020210134826A priority Critical patent/KR102438527B1/en
Publication of KR20220057426A publication Critical patent/KR20220057426A/en
Application granted granted Critical
Publication of KR102438527B1 publication Critical patent/KR102438527B1/en

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 일 실시예에 따른 컴퓨팅 장치에 의해 수행되는 방법은, 학습용 URL 데이터를 이용한 기계 학습을 수행하여 복수의 모델을 생성하고, 상기 복수의 모델 각각의 성능 수치를 출력하되, 상기 복수의 모델은 서로 다른 기계 학습 방법론(methodology)에 의하여 생성되는 것인, 단계, 예측 대상 URL의 특징 데이터를 상기 생성된 복수의 모델에 입력하여 상기 모델 각각에 의한 예측 결과를 출력하는 단계, 및 상기 모델 각각의 성능 수치를 상기 모델 각각의 예측 결과에 적용하여 상기 예측 대상 URL이 악성 URL인지 여부를 예측하는 단계를 포함한다.A method performed by a computing device according to an embodiment of the present invention generates a plurality of models by performing machine learning using URL data for learning, and outputs performance values of each of the plurality of models, but the plurality of models is generated by different machine learning methodologies, step, inputting the feature data of the prediction target URL into the plurality of generated models and outputting prediction results by each of the models, and each of the models and predicting whether the prediction target URL is a malicious URL by applying the performance value of ? to the prediction results of each of the models.

Figure 112021116344231-pat00003
Figure 112021116344231-pat00003

Description

URL과 연관된 콘텐츠와 호스트 데이터를 고려한 악성 URL 예측 방법 및 이를 구현하기 위한 장치{METHOD FOR PREDICTING MALIGNANT URL CONSIDERING URL- RELATED CONTENT AND HOST DATA AND APPARATUS IMPLEMENTING THE SAME METHOD}A method for predicting a malicious URL in consideration of URL-related content and host data, and a device for implementing the same

본 발명은 다중 기계 학습 기반 악성 URL 예측 방법, 그리고 이를 구현하기 위한 장치에 관한 것으로서, 보다 자세하게는, 기계 학습 알고리즘을 이용하여 피싱 사이트와 같은 악성 URL을 탐지하기 위한 다중 기계 학습 기반 악성 URL 예측 방법, 그리고 이를 구현하기 위한 장치에 관한 것이다. The present invention relates to a multi-machine learning-based malicious URL prediction method and an apparatus for implementing the same, and more particularly, to a multi-machine learning-based malicious URL prediction method for detecting a malicious URL such as a phishing site using a machine learning algorithm. , and to an apparatus for implementing it.

개인 정보를 탈취하는 피싱, 악성코드의 은닉 및 유포하는 등과 같은 악성 행위를 수행하는 웹 사이트는 정부 또는 금융 기관 등 개인의 민감한 정보들을 보유하고 있는 기관에 있어 보안상 위협이 되고 있다. Websites that perform malicious actions such as phishing to steal personal information, hiding and distributing malicious codes, etc. pose a security threat to organizations that hold sensitive personal information, such as governments or financial institutions.

이러한 피싱 사이트와 같은 웹 사이트의 도메인은 악성 URL(Uniform Resource Locator)로 분류되고, 이를 탐지함에 의해 보안상 문제가 발생하는 것을 방지할 수 있다. A domain of a website such as a phishing site is classified as a malicious URL (Uniform Resource Locator), and by detecting it, it is possible to prevent a security problem from occurring.

기존에는 악성 URL을 탐지하기 위한 기술로써, 사전에 입력된 악성 URL에 관한 정보를 기반으로 차단하는 시그니처(signature) 방법이 사용되어 왔다.Conventionally, as a technology for detecting malicious URLs, a signature method for blocking based on information on malicious URLs input in advance has been used.

그러나, 악성 URL은 비교적 짧은 생명 주기를 가지고 있고, 다양하고 새로운 형태로 변형되므로, 악성 URL의 시그니처를 가지고 있지 않은 경우 악성 URL을 탐지 및 예측하는 것은 불가능하다.However, since a malicious URL has a relatively short life cycle and is transformed into various and new forms, it is impossible to detect and predict a malicious URL if it does not have a signature of the malicious URL.

또한, 악성 URL의 신고로 인한 도메인 변경 및 재등록이나, 도메인 추적의 난이도 향상을 위한 실시간 변경 등의 이유로 인해 시그니처를 확보하는 것이 쉽지 않다. 더구나, 랜덤으로 생성된 도메인을 활용하는 등 일정 패턴이 없는 경우에는 시그니처 방법으로 예측이 어려운 문제점이 있다.In addition, it is not easy to obtain a signature due to a domain change or re-registration due to a report of a malicious URL, or a real-time change to improve the difficulty of domain tracking. Moreover, when there is no predetermined pattern, such as using a randomly generated domain, there is a problem in that it is difficult to predict with the signature method.

이와 같은 문제점으로 인해, 악성 URL을 예측함에 있어 시그니처 방법 대신 기계 학습 모델이 사용되고 있다. 그러나, 단일 기계 학습 모델만을 사용하는 경우 예측의 정확도가 떨어질 수 있고, 어떤 기계 학습 모델을 사용하는 지에 따라 특징 데이터를 학습하는 방식이 다르고, 분석 대상에 따라 학습되는 특징 데이터가 상이하다.Due to such a problem, a machine learning model is used instead of a signature method in predicting a malicious URL. However, when only a single machine learning model is used, the accuracy of prediction may be lowered, the method of learning the feature data is different depending on which machine learning model is used, and the feature data learned according to the analysis target is different.

공개특허공보 제10-2020-0109677호(2020.09.23. 등록)Unexamined Patent Publication No. 10-2020-0109677 (Registered on September 23, 2020)

본 발명이 해결하고자 하는 기술적 과제는, 짧은 생명 주기를 가지고 다양하고 새로운 형태로 변형되는 악성 URL에 대한 사전에 입력된 시그니처 정보가 존재하지 않는 경우에도 악성 URL 여부를 예측할 수 있는 다중 기계 학습 기반 악성 URL 예측 방법, 그리고 이를 구현하기 위한 장치를 제공하는 것이다. The technical problem to be solved by the present invention is a multi-machine learning-based malicious URL that can predict whether a malicious URL is malicious even when there is no previously input signature information for a malicious URL that has a short life cycle and is transformed into various new forms. It is to provide a URL prediction method, and an apparatus for implementing the method.

본 발명이 해결하고자 하는 다른 기술적 과제는, 악성 URL의 분석 대상이 되는 데이터의 특성에 따라 서로 다른 기계 학습 알고리즘을 학습함에 의해 정확도가 향상된 예측 결과를 제공할 수 있는 다중 기계 학습 기반 악성 URL 예측 방법, 그리고 이를 구현하기 위한 장치를 제공하는 것이다.Another technical problem to be solved by the present invention is a multi-machine learning-based malicious URL prediction method capable of providing prediction results with improved accuracy by learning different machine learning algorithms according to the characteristics of data to be analyzed for malicious URLs. , and to provide a device for implementing it.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다. The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the description below.

상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 컴퓨팅 장치에 의해 수행되는 방법은, 학습용 URL 데이터를 이용한 기계 학습을 수행하여 복수의 모델을 생성하고, 상기 복수의 모델 각각의 성능 수치를 출력하되, 상기 복수의 모델은 서로 다른 기계 학습 방법론(methodology)에 의하여 생성되는 것인, 단계, 예측 대상 URL의 특징 데이터를 상기 생성된 복수의 모델에 입력하여 상기 모델 각각에 의한 예측 결과를 출력하는 단계, 및 상기 모델 각각의 성능 수치를 상기 모델 각각의 예측 결과에 적용하여 상기 예측 대상 URL이 악성 URL인지 여부를 예측하는 단계를 포함한다. In a method performed by a computing device according to an embodiment of the present invention for solving the technical problem, a plurality of models are generated by performing machine learning using URL data for learning, and performance values of each of the plurality of models are performed. , wherein the plurality of models are generated by different machine learning methodologies. outputting, and predicting whether the prediction target URL is a malicious URL by applying the performance value of each model to the prediction result of each model.

일 실시예로서, 상기 학습용 URL 데이터를 이용한 기계 학습을 수행하여 복수의 모델을 생성하고, 상기 복수의 모델 각각의 성능 수치를 출력하되, 상기 복수의 모델은 서로 다른 기계 학습 방법론(methodology)에 의하여 생성되는 것인, 단계는, 상기 학습용 URL 데이터에 대한 특징 추출 및 전처리 과정을 수행하는 단계, 상기 특징 추출 및 전처리 과정이 완료된 학습용 URL 데이터를 이용하여 상기 기계 학습을 수행하는 단계, 및 상기 기계 학습을 통해 상기 복수의 모델을 생성하고, 상기 모델 각각의 성능을 검증하는 단계를 포함할 수 있다.As an embodiment, a plurality of models are generated by performing machine learning using the URL data for learning, and a performance value of each of the plurality of models is outputted, but the plurality of models are performed by different machine learning methodologies. is generated, the steps of performing feature extraction and pre-processing on the learning URL data, performing the machine learning using the learning URL data on which the feature extraction and pre-processing processes have been completed, and the machine learning It may include generating the plurality of models through the and verifying the performance of each of the models.

일 실시예로서, 상기 학습용 URL 데이터에 대한 특징 추출 및 전처리 과정을 수행하는 단계는, 상기 학습용 URL 데이터로부터 특징 데이터로서 URL 데이터, URL 콘텐츠 데이터, 및 URL 호스트 데이터를 추출하는 단계를 포함할 수 있다. As an embodiment, the step of performing feature extraction and preprocessing on the URL data for training may include extracting URL data, URL content data, and URL host data as feature data from the URL data for training. .

일 실시예로서, 상기 학습용 URL 데이터로부터 특징 데이터로서 URL 데이터, URL 콘텐츠 데이터, 및 URL 호스트 데이터를 추출하는 단계는, URL 접속 페이지 내에 포함된 내부 URL 및 외부 URL 각각을 상기 URL 데이터로서 추출하는 단계를 포함할 수 있다. In an embodiment, the extracting of URL data, URL content data, and URL host data as feature data from the URL data for training includes extracting each of the internal URL and the external URL included in the URL access page as the URL data. may include.

일 실시예로서, 상기 특징 추출 및 전처리 과정이 완료된 학습용 URL 데이터를 이용하여 상기 기계 학습을 수행하는 단계는, 상기 학습용 URL 데이터로부터 추출된 특징 데이터의 유형에 따라 서로 다른 기계 학습 방법론에 기반한 기계 학습을 수행하는 단계를 포함할 수 있다. As an embodiment, the performing of the machine learning using the URL data for learning on which the feature extraction and pre-processing has been completed may include machine learning based on different machine learning methodologies according to the type of feature data extracted from the URL data for learning. It may include the step of performing

일 실시예로서, 상기 학습용 URL 데이터로부터 추출된 특징 데이터의 유형에 따라 서로 다른 기계 학습 방법론에 기반한 기계 학습을 수행하는 단계는, 상기 특징 데이터의 유형이 URL 데이터인 경우, CNN 또는 로지스틱 회귀(Logistic Regression) 알고리즘에 기반한 기계 학습을 수행하는 단계를 포함할 수 있다.As an embodiment, performing machine learning based on different machine learning methodologies according to the type of feature data extracted from the URL data for learning may include CNN or logistic regression (Logistic Regression) when the type of feature data is URL data. Regression) may include performing machine learning based on the algorithm.

일 실시예로서, 상기 기계 학습을 통해 상기 복수의 모델을 생성하고, 상기 모델 각각의 성능을 검증하는 단계는, 상기 생성된 모델 각각의 성능 수치로서 상기 모델 각각의 정확도(accuracy)를 측정하는 단계, 및 상기 측정된 정확도를 이용하여 상기 모델 각각의 가중치를 결정하는 단계를 포함할 수 있다.As an embodiment, the generating the plurality of models through machine learning and verifying the performance of each of the models may include measuring the accuracy of each of the models as a performance value of each of the generated models. , and determining a weight of each of the models using the measured accuracy.

일 실시예로서, 상기 예측 대상 URL의 특징 데이터를 상기 생성된 복수의 모델에 입력하여 상기 모델 각각에 의한 예측 결과를 출력하는 단계는, 상기 예측 대상 URL에 대한 특징 추출 및 전처리 과정을 수행하는 단계, 상기 특징 추출 및 전처리 과정이 완료된 상기 예측 대상 URL의 특징 데이터를 상기 생성된 복수의 모델 각각에 입력하는 단계, 및 상기 각각의 모델로부터 악성 URL 여부에 대한 예측 결과를 출력하는 단계를 포함할 수 있다.As an embodiment, the step of inputting the feature data of the prediction target URL into the plurality of generated models and outputting prediction results by each of the models includes: performing feature extraction and pre-processing on the prediction target URL , inputting the feature data of the prediction target URL on which the feature extraction and pre-processing has been completed to each of the generated models, and outputting a prediction result on whether or not a malicious URL is from each model. have.

일 실시예로서, 상기 모델 각각의 성능 수치를 상기 모델 각각의 예측 결과에 적용하여 상기 예측 대상 URL이 악성 URL인지 여부를 예측하는 단계는, 상기 복수의 모델 생성 시 측정되는 상기 모델 각각의 정확도와 상기 정확도를 이용하여 계산된 각각의 가중치를 획득하는 단계, 상기 각각의 가중치를 이용하여 상기 모델의 예측 결과가 악성 또는 정상인 경우 각각의 가중 평균값을 산출하는 단계, 및 상기 각각의 가중 평균값에 기반하여 상기 예측 대상 URL이 악성 URL인지 여부를 판단하는 단계를 포함할 수 있다. As an embodiment, predicting whether the prediction target URL is a malicious URL by applying the performance value of each model to the prediction result of each model includes the accuracy of each model measured when the plurality of models are generated and the obtaining each weight calculated using the accuracy, calculating each weighted average value when the prediction result of the model is malignant or normal using the respective weights, and based on each weighted average value The method may include determining whether the prediction target URL is a malicious URL.

일 실시예로서, 상기 예측 대상 URL을 이용하여 적어도 하나의 위험 요소와 관련된 외부 데이터를 조회하는 단계, 상기 각 위험 요소의 조회 결과를 이용하여 위험 점수를 산출하는 단계, 상기 악성 URL인지 여부를 예측한 결과에 상기 위험 점수를 반영하여 위험도를 계산하는 단계, 및 상기 위험도에 기반하여 상기 예측 대상 URL의 예측 결과를 출력하는 단계를 더 포함할 수 있다. In an embodiment, inquiring external data related to at least one risk factor using the prediction target URL, calculating a risk score using the inquiry result of each risk factor, predicting whether the URL is malicious The method may further include calculating a degree of risk by reflecting the risk score in a result, and outputting a prediction result of the prediction target URL based on the degree of risk.

상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 다중 기계 학습 기반 악성 URL 예측 장치는, 하나 이상의 프로세서, 외부장치와 통신하는 통신 인터페이스, 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리, 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은, 학습용 URL 데이터를 이용한 기계 학습을 수행하여 복수의 모델을 생성하고, 상기 복수의 모델 각각의 성능 수치를 출력하되, 상기 복수의 모델은 서로 다른 기계 학습 방법론(methodology)에 의하여 생성되는 것인, 동작, 예측 대상 URL의 특징 데이터를 상기 생성된 복수의 모델에 입력하여 상기 모델 각각에 의한 예측 결과를 출력하는 동작, 및 상기 모델 각각의 성능 수치를 상기 모델 각각의 예측 결과에 적용하여 상기 예측 대상 URL이 악성 URL인지 여부를 예측하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함한다.In order to solve the above technical problem, a multi-machine learning-based malicious URL prediction apparatus according to an embodiment of the present invention includes one or more processors, a communication interface for communicating with an external device, and a computer program executed by the processor. ) comprising a memory, and a storage for storing the computer program, wherein the computer program generates a plurality of models by performing machine learning using URL data for learning, and outputs a performance value of each of the plurality of models, The plurality of models are generated by different machine learning methodologies; and instructions for performing an operation of predicting whether the prediction target URL is a malicious URL by applying the performance value of each model to the prediction result of each model.

일 실시예로서, 상기 학습용 URL 데이터를 이용한 기계 학습을 수행하여 복수의 모델을 생성하고, 상기 복수의 모델 각각의 성능 수치를 출력하되, 상기 복수의 모델은 서로 다른 기계 학습 방법론(methodology)에 의하여 생성되는 것인, 동작은, 상기 학습용 URL 데이터에 대한 특징 추출 및 전처리 과정을 수행하는 동작, 상기 특징 추출 및 전처리 과정이 완료된 학습용 URL 데이터를 이용하여 상기 기계 학습을 수행하는 동작, 및 상기 기계 학습을 통해 상기 복수의 모델을 생성하고, 상기 모델 각각의 성능을 검증하는 동작을 포함할 수 있다.As an embodiment, a plurality of models are generated by performing machine learning using the URL data for learning, and a performance value of each of the plurality of models is outputted, but the plurality of models are performed by different machine learning methodologies. The generated operation includes: performing feature extraction and pre-processing on the learning URL data, performing the machine learning using the learning URL data on which the feature extraction and pre-processing processes have been completed, and the machine learning It may include generating the plurality of models through , and verifying the performance of each of the models.

일 실시예로서, 상기 학습용 URL 데이터에 대한 특징 추출 및 전처리 과정을 수행하는 동작은, 상기 학습용 URL 데이터로부터 특징 데이터로서 URL 데이터, URL 콘텐츠 데이터, 및 URL 호스트 데이터를 추출하는 동작을 포함할 수 있다.As an embodiment, performing feature extraction and preprocessing on the URL data for training may include extracting URL data, URL content data, and URL host data as feature data from the URL data for training. .

일 실시예로서, 상기 특징 추출 및 전처리 과정이 완료된 학습용 URL 데이터를 이용하여 상기 기계 학습을 수행하는 동작은, 상기 학습용 URL 데이터로부터 추출된 특징 데이터의 유형에 따라 서로 다른 기계 학습 방법론에 기반한 기계 학습을 수행하는 동작을 포함할 수 있다.As an embodiment, the operation of performing the machine learning using the URL data for learning on which the feature extraction and preprocessing has been completed may include machine learning based on different machine learning methodologies according to the type of feature data extracted from the URL data for learning. may include an operation to perform

일 실시예로서, 상기 기계 학습을 통해 상기 복수의 모델을 생성하고, 상기 모델 각각의 성능을 검증하는 동작은, 상기 생성된 모델 각각의 성능 수치로서 상기 모델 각각의 정확도(accuracy)를 측정하는 동작, 및 상기 측정된 정확도를 이용하여 상기 모델 각각의 가중치를 결정하는 동작을 포함할 수 있다. 이 때, 모델 각각의 성능 수치로서, 모델 각각의 정확도(accuracy) 대신 F1-score, 재현율(recall), 및 정밀도(precision) 등이 사용될 수 있다.As an embodiment, the operation of generating the plurality of models through machine learning and verifying the performance of each model is an operation of measuring the accuracy of each model as a performance value of each of the generated models , and determining a weight of each of the models using the measured accuracy. In this case, as the performance value of each model, F1-score, recall, precision, etc. may be used instead of accuracy of each model.

일 실시예로서, 상기 모델 각각의 성능 수치를 상기 모델 각각의 예측 결과에 적용하여 상기 예측 대상 URL이 악성 URL인지 여부를 예측하는 동작은, 상기 복수의 모델 생성 시 측정되는 상기 모델 각각의 정확도와 상기 정확도를 이용하여 계산된 각각의 가중치를 획득하는 동작, 상기 각각의 가중치를 이용하여 상기 모델의 예측 결과가 악성 또는 정상인 경우 각각의 가중 평균값을 산출하는 동작, 및 상기 각각의 가중 평균값에 기반하여 상기 예측 대상 URL이 악성 URL인지 여부를 판단하는 동작을 포함할 수 있다.As an embodiment, the operation of applying the performance value of each model to the prediction result of each model to predict whether the prediction target URL is a malicious URL includes the accuracy of each model measured when the plurality of models are generated and Acquiring each weight calculated using the accuracy, calculating each weighted average value when the prediction result of the model is malicious or normal using the respective weights, and based on each weighted average value The method may include determining whether the prediction target URL is a malicious URL.

일 실시예로서, 상기 컴퓨터 프로그램은, 상기 예측 대상 URL을 이용하여 적어도 하나의 위험 요소와 관련된 외부 데이터를 조회하는 동작, 상기 각 위험 요소의 조회 결과를 이용하여 위험 점수를 산출하는 동작, 상기 악성 URL인지 여부를 예측한 결과에 상기 위험 점수를 반영하여 위험도를 계산하는 동작, 및 상기 위험도에 기반하여 상기 예측 대상 URL의 예측 결과를 출력하는 동작을 수행하기 위한 인스트럭션들을 더 포함할 수 있다.In one embodiment, the computer program includes an operation of inquiring external data related to at least one risk factor using the prediction target URL, an operation of calculating a risk score using the inquiry result of each risk factor, and the malicious The method may further include instructions for calculating a risk by reflecting the risk score to a result of predicting whether or not it is a URL, and outputting a prediction result of the prediction target URL based on the risk.

도 1은 본 발명의 실시예에 따른 개념도이다.
도 2는 본 발명의 일 실시예에 따른 다중 기계 학습 기반 악성 URL 예측 장치의 구성을 도시한 블록도이다.
도 3은 본 발명의 다른 실시예에 따른 다중 기계 학습 기반 악성 URL 예측 방법을 설명하기 위한 순서도이다.
도 4는 본 발명의 몇몇 실시예에 따른 학습용 URL 데이터를 이용한 학습 과정을 도시한 예이다.
도 5는 본 발명의 몇몇 실시예에 따른 예측 대상 URL에 대한 예측 과정을 도시한 예이다.
도 6은 본 발명의 몇몇 실시예에 따른 예측 과정과 위험도 평가에 의한 최종 예측 결과를 출력하는 예이다.
도 7은 본 발명의 몇몇 실시예에 따른 다중 기계 학습 기반으로 생성된 복수의 모델 각각의 예측 결과에 모델 각각의 성능 수치를 적용하는 예이다.
도 8은 본 발명의 몇몇 실시예에 따른 예측 대상 URL의 위험도 평가 과정을 도시한 예이다.
도 9는 본 발명의 몇몇 실시예에 따른 URL로부터 추출되는 주요 특징 데이터를 보여주는 예이다.
도 10은 본 발명의 몇몇 실시예에 따른 방법들을 구현할 수 있는 예시적인 컴퓨팅 장치의 하드웨어 구성도이다.
1 is a conceptual diagram according to an embodiment of the present invention.
2 is a block diagram illustrating the configuration of a multi-machine learning-based malicious URL prediction apparatus according to an embodiment of the present invention.
3 is a flowchart illustrating a method for predicting a malicious URL based on multiple machine learning according to another embodiment of the present invention.
4 is an example illustrating a learning process using URL data for learning according to some embodiments of the present invention.
5 is an example illustrating a prediction process for a prediction target URL according to some embodiments of the present invention.
6 is an example of outputting a final prediction result by the prediction process and risk assessment according to some embodiments of the present invention.
7 is an example of applying a performance value of each model to a prediction result of each of a plurality of models generated based on multi-machine learning according to some embodiments of the present invention.
8 is an example illustrating a risk assessment process of a prediction target URL according to some embodiments of the present invention.
9 is an example showing main feature data extracted from a URL according to some embodiments of the present invention.
10 is a hardware configuration diagram of an exemplary computing device that may implement methods according to some embodiments of the present invention.

이하, 첨부된 도면을 참조하여 본 개시의 바람직한 실시 예들을 상세히 설명한다. 본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 개시의 기술적 사상을 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.Hereinafter, preferred embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. Advantages and features of the present disclosure and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the technical spirit of the present disclosure is not limited to the following embodiments, but may be implemented in various different forms, and only the following embodiments complete the technical spirit of the present disclosure, and in the technical field to which the present disclosure belongs It is provided to fully inform those of ordinary skill in the scope of the present disclosure, and the technical spirit of the present disclosure is only defined by the scope of the claims.

각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.In adding reference numerals to the components of each drawing, it should be noted that the same components are given the same reference numerals as much as possible even though they are indicated on different drawings. In addition, in describing the present disclosure, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present disclosure, the detailed description thereof will be omitted.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used herein may be used with the meaning commonly understood by those of ordinary skill in the art to which this disclosure belongs. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless clearly defined in particular. The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present disclosure. In this specification, the singular also includes the plural, unless specifically stated otherwise in the phrase.

또한, 본 개시의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the components of the present disclosure, terms such as first, second, A, B, (a), (b), etc. may be used. These terms are only for distinguishing the elements from other elements, and the essence, order, or order of the elements are not limited by the terms. When it is described that a component is “connected”, “coupled” or “connected” to another component, the component may be directly connected or connected to the other component, but another component is between each component. It should be understood that elements may be “connected,” “coupled,” or “connected.”

명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.As used herein, "comprises" and/or "comprising" refers to the presence of one or more other components, steps, operations and/or elements mentioned. or addition is not excluded.

이하, 본 개시의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.Hereinafter, some embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 개념도이다. 도 1을 참조하면, 본 발명의 실시예에 따른 다중 기계 학습 기반 악성 URL 예측 장치(1)는 학습부(11)와 예측부(12)로 구성되고, 학습용 URL 데이터(101)를 이용하여 학습을 수행한 후 얻게 되는 복수의 기계학습 모델에 기반하여 예측 대상 URL(103)에 대한 예측 결과를 얻을 수 있다. 1 is a conceptual diagram according to an embodiment of the present invention. Referring to FIG. 1 , a multi-machine learning-based malicious URL prediction apparatus 1 according to an embodiment of the present invention consists of a learning unit 11 and a prediction unit 12, and is trained using URL data 101 for learning. A prediction result for the prediction target URL 103 may be obtained based on a plurality of machine learning models obtained after performing .

도시된 예에서, 학습용 URL 데이터(101)가 학습부(11)에 입력되면, 학습부(11)에서 기계학습을 수행한 후 출력되는 복수의 기계 학습 모델(102)을 얻게 된다. 이 때, 출력된 복수의 기계 학습 모델(102)은 예측부(12)로 전달된다. In the illustrated example, when URL data 101 for learning is input to the learning unit 11 , a plurality of machine learning models 102 that are output after performing machine learning in the learning unit 11 are obtained. At this time, the plurality of output machine learning models 102 are transmitted to the prediction unit 12 .

예측 대상 URL(103)이 예측부(12)에 입력되면, 학습부(11)로부터 전달된 복수의 기계 학습 모델(102)을 이용하여 각각의 예측 결과가 생성되고, 각각의 예측 결과를 활용하여 예측 대상 URL이 악성 URL인지 여부에 대한 예측 결과(104)가 예측부(12)에서 출력된다.When the prediction target URL 103 is input to the prediction unit 12, each prediction result is generated using the plurality of machine learning models 102 transmitted from the learning unit 11, and each prediction result is used to A prediction result 104 of whether the prediction target URL is a malicious URL is output from the prediction unit 12 .

상기와 같은 본 발명의 실시예에 따라, 악성 URL에 대한 시그니처 정보가 존재하지 않는 경우에도 악성 URL 여부를 예측할 있는 방법을 제공할 수 있다. 또한, 악성 URL의 분석 대상이 되는 데이터의 특성에 따라 서로 다른 기계 학습 알고리즘을 학습함에 의해 정확도가 향상된 예측 결과를 제공할 수 있다. According to the embodiment of the present invention as described above, it is possible to provide a method for predicting whether a malicious URL is malicious even when there is no signature information on the malicious URL. In addition, it is possible to provide prediction results with improved accuracy by learning different machine learning algorithms according to the characteristics of data to be analyzed for malicious URLs.

도 2는 본 발명의 일 실시예에 따른 다중 기계 학습 기반 악성 URL 예측 장치의 구성을 도시한 블록도이다. 도 2를 참조하면, 본 발명의 실시예에 따른 다중 기계 학습 기반 악성 URL 예측 장치(1)는 학습부(11) 및 예측부(12)를 포함하고, 외부 서버(20), 데이터 저장부(30), 및 사용자 단말(10)과 네트워크를 통해 연결될 수 있다. 다중 기계 학습 기반 악성 URL 예측 장치(1)는 사용자 단말(10)로부터 수신되는 악성 URL 예측을 위한 기계 학습 모델의 생성 및 분석 요청을 처리하여, 그 결과를 제공한다. 2 is a block diagram illustrating the configuration of a multi-machine learning-based malicious URL prediction apparatus according to an embodiment of the present invention. 2 , the multi-machine learning-based malicious URL prediction apparatus 1 according to an embodiment of the present invention includes a learning unit 11 and a prediction unit 12, an external server 20, a data storage unit ( 30), and the user terminal 10 may be connected through a network. The multi-machine learning-based malicious URL prediction apparatus 1 processes a request for generating and analyzing a machine learning model for predicting a malicious URL received from the user terminal 10, and provides the result.

외부 서버(20)는 악성 URL의 공개 출처 정보를 제공하는 사이트의 웹 서버로서, 이로부터 학습을 위한 악성 URL 데이터를 얻을 수 있다.The external server 20 is a web server of a site that provides open source information of malicious URLs, and malicious URL data for learning can be obtained therefrom.

학습부(11)는 수집 모듈(111), 전처리 모듈(112), 및 학습 모듈(113)로 구성되고, 외부 서버(20)로부터 제공되는 악성 URL의 공개 출처 정보를 이용하여 학습용 악성 URL 데이터를 수집하고, 이를 이용하여 기계 학습을 통해 생성되는 복수의 모델을 출력한다.The learning unit 11 is composed of a collection module 111 , a preprocessing module 112 , and a learning module 113 , and uses malicious URL open source information provided from the external server 20 to collect malicious URL data for learning. It collects and uses it to output a plurality of models generated through machine learning.

수집 모듈(111)은 외부 서버(20)로부터 제공되는 악성 URL의 공개 출처 정보를 이용하여 학습용 악성 URL 데이터를 수집하고, 이를 네트워크로 연결된 데이터 저장부(30)에 저장한다. 예로서, 수집 모듈(111)은 외부 서버(20)의 웹 사이트를 크롤링(crawling)하는 방법으로 자동으로 학습을 위한 악성 URL 데이터를 얻을 수 있다.The collection module 111 collects malicious URL data for learning by using the open source information of the malicious URL provided from the external server 20 , and stores it in the network-connected data storage unit 30 . For example, the collection module 111 may automatically obtain malicious URL data for learning by crawling the web site of the external server 20 .

전처리 모듈(112)은 데이터 저장부(30)에 저장된 학습용 악성 URL 데이터를 읽어오고, 학습용 악성 URL 데이터로부터 특징 데이터를 추출하고, 추출된 특징 데이터를 기계 학습이 가능한 형태로 변환한다.The pre-processing module 112 reads malicious URL data for learning stored in the data storage unit 30 , extracts feature data from the malicious URL data for learning, and converts the extracted feature data into a form capable of machine learning.

일 실시예로서, 전처리 모듈(112)은 학습용 악성 URL 데이터로부터 분석 대상에 따른 특징 데이터를 추출할 수 있다. 예로서, 분석 대상이 URL의 문자 패턴, URL의 응답 웹 콘텐츠, URL의 응답 호스트로 정의되고, 각각의 분석 대상에 대응하는 특징 데이터로서 예컨대 URL 데이터, URL 콘텐츠 데이터, URL 호스트 데이터가 추출될 수 있다. 이 때, URL 데이터는 URL을 구성하고 있는 문자 패턴, 구문 등을 분석하는데 사용되고, URL 콘텐츠 데이터는 URL에 접속하여 수신되는 응답 페이지 내의 HTML 소스 코드, 스크립트 등 내부 콘텐츠를 분석하는데 사용될 수 있다. 또한, URL 호스트 데이터는 URL에 접속하여 수신되는 포트 스캔 결과 등의 네트워크 데이터를 분석하는데 사용될 수 있다. As an embodiment, the preprocessing module 112 may extract characteristic data according to an analysis target from malicious URL data for learning. For example, an analysis target is defined as a character pattern of a URL, a response web content of a URL, and a response host of a URL, and as characteristic data corresponding to each analysis target, for example, URL data, URL content data, and URL host data can be extracted. have. In this case, the URL data is used to analyze character patterns and syntax constituting the URL, and the URL content data can be used to analyze internal content such as HTML source code and scripts in a response page received by accessing the URL. Also, the URL host data may be used to analyze network data such as a port scan result received by accessing the URL.

예로서, 도 9에 도시된 바와 같이, 학습용 악성 URL 데이터로부터 추출되는 특징 데이터(90)는, URL 기반 특징, HTML/JS 기반 특징, 도메인 기반 특징, 및 비정상 특징 등 다양한 특징들을 포함할 수 있다. For example, as shown in FIG. 9 , the feature data 90 extracted from malicious URL data for learning may include various features such as URL-based features, HTML/JS-based features, domain-based features, and abnormal features. .

일 실시예로서, 전처리 모듈(112)은 추출된 특징 데이터를 기계 학습이 가능하도록 벡터 형식의 데이터로 변환한다. 이 때, 벡터 형식의 데이터로 변환하기 위한 텍스트 임베딩(Text Embedding) 작업이 수행될 수 있다. 텍스트 임베딩 모델로서, 예컨대 Word2Vec, FastText, Glove, Sent2Vec, 및 Elmo 등 단어 또는 문장 기반의 모델이 적용될 수 있다.As an embodiment, the preprocessing module 112 converts the extracted feature data into vector format data to enable machine learning. In this case, a text embedding operation for converting data in a vector format may be performed. As the text embedding model, a word or sentence-based model such as Word2Vec, FastText, Glove, Sent2Vec, and Elmo may be applied.

학습 모듈(113)은 전처리 모듈(112)에서 특징 데이터의 추출 및 전처리가 완료된 학습용 URL 데이터를 이용하여 기계 학습을 수행하고, 이로부터 복수의 기계 학습 모델을 생성한다.The learning module 113 performs machine learning by using the URL data for learning on which the extraction and preprocessing of the feature data have been completed in the preprocessing module 112 , and generates a plurality of machine learning models therefrom.

일 실시예로서, 학습 모듈(113)은 학습용 URL 데이터를 이용하여 복수의 서로 다른 기계 학습 알고리즘에 기반하여 학습하고, 학습을 통해 각각의 알고리즘에 의한 복수의 모델을 생성할 수 있다. 이 때, 학습을 위해 사용되는 복수의 서로 다른 기계 학습 알고리즘으로서, 예컨대 서포트 벡터 머신(SVM: support vector machine), 랜덤 포레스트(RF: random forest), 부스팅(boosting), 의사결정 나무(decision tree), 로지스틱 회귀(LR: logistic regression), 합성 곱 신경망(CNN: convolutional neural network), 및 순환 신경망(RNN: recurrent neural network) 등이 사용될 수 있다. As an embodiment, the learning module 113 may learn based on a plurality of different machine learning algorithms using URL data for learning, and may generate a plurality of models by each algorithm through learning. At this time, as a plurality of different machine learning algorithms used for learning, for example, a support vector machine (SVM), a random forest (RF), boosting, and a decision tree. , logistic regression (LR), convolutional neural network (CNN), recurrent neural network (RNN), etc. may be used.

예측부(12)는 입력 모듈(121), 전처리 모듈(122), 및 예측 모듈(123)로 구성되고, 사용자 단말(10)로부터 입력되거나 외부 장치로부터 제공되는 예측 대상 URL 데이터를 이용하여 예측 대상 URL에 대한 예측 결과를 출력한다. The prediction unit 12 is composed of an input module 121 , a preprocessing module 122 , and a prediction module 123 , and is a prediction target using prediction target URL data input from the user terminal 10 or provided from an external device. Output the prediction result for the URL.

입력 모듈(121)은 사용자 단말(10) 또는 외부 장치로부터 제공되는 예측 대상 URL 데이터가 입력된다. 이 때, 예측 대상 URL 데이터는 하나의 URL 또는 URL 리스트를 포함할 수 있다. The input module 121 receives prediction target URL data provided from the user terminal 10 or an external device. In this case, the prediction target URL data may include one URL or a list of URLs.

전처리 모듈(122)은 입력 모듈(121)에서 입력된 예측 대상 URL 데이터로부터 특징 데이터를 추출하고, 추출된 특징 데이터를 기계 학습 모델 기반으로 예측이 가능한 형태로 변환한다. 이 때, 예측 대상 URL 데이터에 대한 특징 추출 및 변환 과정은 학습부(11)의 전처리 모듈(112)에서 수행되는 과정과 동일하다. The preprocessing module 122 extracts feature data from the prediction target URL data input from the input module 121 and converts the extracted feature data into a predictable form based on the machine learning model. At this time, the process of extracting and transforming the features of the prediction target URL data is the same as the process performed in the pre-processing module 112 of the learning unit 11 .

일 실시예로서, 전처리 모듈(122)은 예측 대상 URL 데이터로부터 분석 대상에 따른 특징 데이터를 추출할 수 있다. 예로서, 분석 대상이 URL의 문자 패턴, URL의 응답 웹 콘텐츠, URL의 응답 호스트로 정의되고, 각각의 분석 대상에 대응하는 특징 데이터로서 예컨대 URL 데이터, URL 콘텐츠 데이터, URL 호스트 데이터가 추출될 수 있다. As an embodiment, the preprocessing module 122 may extract feature data according to the analysis target from the prediction target URL data. For example, an analysis target is defined as a character pattern of a URL, a response web content of a URL, and a response host of a URL, and as characteristic data corresponding to each analysis target, for example, URL data, URL content data, and URL host data can be extracted. have.

여기서, URL 데이터는, 프로토콜 및 3-레벨 도메인(third-level domain) 등과 같은 중복 요소를 제거한 순수 URL을 포함할 수 있다. URL 콘텐츠 데이터는, 응답 HTML 콘텐츠에서 HTML 길이 등과 같은 특징을 포함할 수 있다. URL 호스트 데이터는, 호스트 머신의 포트 상태 등과 같은 특징을 포함할 수 있다. Here, the URL data may include a pure URL in which duplicate elements such as a protocol and a third-level domain are removed. The URL content data may include characteristics such as HTML length in the response HTML content. The URL host data may include characteristics such as the port status of the host machine.

예로서, 도 9에 도시된 바와 같이, 예측 대상 URL 데이터로부터 추출되는 특징 데이터(90)는, URL 기반 특징, HTML/JS 기반 특징, 도메인 기반 특징, 및 비정상 특징 등 다양한 특징들을 포함할 수 있다. For example, as shown in FIG. 9 , the feature data 90 extracted from the prediction target URL data may include various features such as a URL-based feature, an HTML/JS-based feature, a domain-based feature, and an abnormal feature. .

일 실시예로서, 전처리 모듈(122)은 예측 대상 URL 데이터의 각 URL에 접속하여 수신된 응답 페이지 내에 포함된 내부 URL 및 외부 URL 각각을 추출하고, 추출된 내부 URL 및 외부 URL로부터 특징 데이터를 추출할 수도 있다. As an embodiment, the pre-processing module 122 accesses each URL of the prediction target URL data, extracts each of the internal URL and the external URL included in the received response page, and extracts feature data from the extracted internal URL and external URL You may.

일 실시예로서, 전처리 모듈(122)는 추출된 특징 데이터를 기계 학습 모델 기반으로 예측이 가능한 형태인 벡터 형식의 데이터로 변환 및 정규화(normalize) 작업을 수행할 수 있다. As an embodiment, the preprocessing module 122 may convert and normalize the extracted feature data into vector-type data in a form predictable based on a machine learning model.

예측 모듈(123)은 학습 모듈(113)에서 생성된 복수의 기계 학습 모델 각각을 로드하고, 로드된 각각의 기계 학습 모델을 이용하여 예측 대상 URL이 악성 URL인지 또는 정상 URL인지 여부에 관한 예측 결과를 생성한다. The prediction module 123 loads each of the plurality of machine learning models generated by the learning module 113, and uses each loaded machine learning model to predict whether the prediction target URL is a malicious URL or a normal URL. create

또한, 예측 모듈(123)은 각각의 기계 학습 모델을 이용하여 생성된 각각의 예측 결과에 모델 각각의 성능 수치를 적용하는 앙상블(ensemble) 기법을 활용하여 최종 예측 결과를 출력한다. In addition, the prediction module 123 outputs a final prediction result by using an ensemble technique that applies a performance value of each model to each prediction result generated using each machine learning model.

일 실시예로서, 예측 모듈(123)은 학습 모듈(113)에서 생성된 복수의 기계 학습 모델 각각의 성능 수치를 로드한다. 여기서, 각각의 기계 학습 모델의 성능 수치는, 기계 학습을 통해 출력되는 모델 각각의 정확도(accuracy)를 이용하여 부여한 가중치에 관한 정보를 포함할 수 있다. As an embodiment, the prediction module 123 loads the performance values of each of the plurality of machine learning models generated by the learning module 113 . Here, the performance value of each machine learning model may include information about a weight given using the accuracy of each model output through machine learning.

일 실시예로서, 예측 모듈(123)은 로드된 모델 각각의 성능 수치, 즉, 가중치에 관한 정보를 모델 각각의 예측 결과에 적용함에 의해 예측 대상 URL이 악성 URL인지 여부에 관한 최종 예측 결과를 출력할 수 있다. As an embodiment, the prediction module 123 outputs a final prediction result regarding whether the prediction target URL is a malicious URL by applying information about the performance value of each loaded model, that is, the weight, to the prediction result of each model. can do.

도 3은 본 발명의 다른 실시예에 따른 다중 기계 학습 기반 악성 URL 예측 방법을 설명하기 위한 순서도이다.3 is a flowchart illustrating a method for predicting a malicious URL based on multiple machine learning according to another embodiment of the present invention.

본 실시예에 따른 다중 기계 학습 기반 악성 URL 예측 방법은 컴퓨팅 장치(100)에 의하여 실행될 수 있고, 예컨대 다중 기계 학습 기반 악성 URL 예측 장치(1)에 의해 실행될 수 있다. 본 실시예에 따른 방법을 실행하는 상기 컴퓨팅 장치(100)는 응용 프로그램 실행 환경을 구비한 컴퓨팅 장치일 수 있다. 본 실시예에 따른 방법에 포함되는 일부 동작의 수행 주체에 대한 기재가 생략될 수 있으며, 그러한 경우 그 주체는 상기 컴퓨팅 장치(100)임을 유의한다.The multi-machine learning-based malicious URL prediction method according to the present embodiment may be executed by the computing device 100 , for example, by the multi-machine learning-based malicious URL prediction device 1 . The computing device 100 executing the method according to the present embodiment may be a computing device having an application program execution environment. Note that the description of the subject performing some operations included in the method according to the present embodiment may be omitted, and in this case, the subject is the computing device 100 .

도 3을 참조하면, 먼저, 동작 S31에서, 학습용 URL 데이터를 이용한 기계 학습을 수행하여 복수의 모델이 생성되고, 복수의 모델 각각의 성능 수치가 출력된다. 여기서, 복수의 모델은 서로 다른 기계 학습 방법론(methodology)에 의하여 생성된 것일 수 있다. 예로서, 서로 다른 기계 학습 방법론으로서, 예컨대 서포트 벡터 머신(SVM: support vector machine), 랜덤 포레스트(RF: random forest), 부스팅(boosting), 의사결정 나무(decision tree), 로지스틱 회귀(LR: logistic regression), 합성 곱 신경망(CNN: convolutional neural network), 및 순환 신경망(RNN: recurrent neural network) 등이 사용될 수 있다. Referring to FIG. 3 , first, in operation S31 , a plurality of models are generated by performing machine learning using URL data for learning, and performance values of each of the plurality of models are output. Here, the plurality of models may be generated by different machine learning methodologies. For example, as different machine learning methodologies, such as support vector machine (SVM), random forest (RF), boosting, decision tree, logistic regression (LR) regression), a convolutional neural network (CNN), and a recurrent neural network (RNN) may be used.

일 실시예로서, 동작 S31은, 학습용 URL 데이터에 대한 특징 추출 및 전처리 과정이 수행되는 동작, 특징 추출 및 전처리 과정이 완료된 학습용 URL 데이터를 이용하여 기계 학습이 수행되는 동작, 및 기계 학습을 통해 복수의 모델이 생성되고, 모델 각각의 성능이 검증되는 동작을 포함할 수 있다. As an embodiment, the operation S31 includes an operation in which feature extraction and pre-processing are performed on the URL data for learning, an operation in which machine learning is performed using the URL data for learning in which the feature extraction and pre-processing is completed, and a plurality of machine learning methods. It may include an operation in which a model is generated and the performance of each model is verified.

일 실시예로서, 학습용 URL 데이터에 대한 특징 추출 및 전처리 과정이 수행되는 동작은, 학습용 URL 데이터로부터 특징 데이터로서 URL 데이터, URL 콘텐츠 데이터, 및 URL 호스트 데이터가 추출되는 동작을 포함할 수 있다. 이 때, URL 접속 페이지 내에 포함된 내부 URL 및 외부 URL 각각이 URL 데이터로서 추출될 수 있다. As an embodiment, the operation of performing feature extraction and preprocessing on the URL data for training may include extracting URL data, URL content data, and URL host data as feature data from the URL data for training. In this case, each of the internal URL and the external URL included in the URL access page may be extracted as URL data.

일 실시예로서, 특징 추출 및 전처리 과정이 완료된 학습용 URL 데이터를 이용하여 기계 학습이 수행되는 동작은, 학습용 URL 데이터로부터 추출된 특징 데이터의 유형에 따라 서로 다른 기계 학습 방법론에 기반한 기계 학습이 수행되는 동작을 포함할 수 있다. 예로서, 특징 데이터의 유형이 URL 데이터인 경우, CNN 또는 로지스틱 회귀 등의 알고리즘에 기반하여 기계 학습이 수행될 수 있다. 다른 예로서, 특징 데이터의 유형이 URL 콘텐츠 데이터인 경우, SVM, 랜덤 포레스트, 부스팅, 의사결정 나무 등의 알고리즘에 기반하여 기계 학습이 수행될 수 있다. As an embodiment, the operation in which machine learning is performed using the URL data for learning on which the feature extraction and pre-processing has been completed, machine learning based on different machine learning methodologies is performed according to the type of feature data extracted from the URL data for learning. It can include actions. For example, when the type of feature data is URL data, machine learning may be performed based on an algorithm such as CNN or logistic regression. As another example, when the type of feature data is URL content data, machine learning may be performed based on algorithms such as SVM, random forest, boosting, and decision tree.

일 실시예로서, 기계 학습을 통해 복수의 모델이 생성되고, 모델 각각의 성능이 검증되는 동작은, 생성된 모델 각각의 성능 수치로서 모델 각각의 정확도(accuracy)가 측정되는 동작, 및 측정된 정확도를 이용하여 모델 각각의 가중치가 결정되는 동작을 포함할 수 있다. 이 때, 모델 각각의 성능 수치로서, 모델 각각의 정확도(accuracy) 대신 F1-score, 재현율(recall), 및 정밀도(precision) 등이 사용될 수 있다.As an embodiment, an operation in which a plurality of models are generated through machine learning and the performance of each model is verified includes an operation in which the accuracy of each model is measured as a performance value of each of the generated models, and the measured accuracy It may include an operation in which the weight of each model is determined using . In this case, as the performance value of each model, F1-score, recall, precision, etc. may be used instead of accuracy of each model.

여기서, 모델 각각의 가중치는, 각각의 정확도(accuracy)의 평균 값을 계산하고, 각각의 정확도와 평균 값의 차이로 계산되는 평균 편차를 이용하여 산출될 수 있다. Here, the weight of each model may be calculated by calculating an average value of each accuracy and using an average deviation calculated as a difference between each accuracy and the average value.

다음으로, 동작 S32에서, 예측 대상 URL의 특징 데이터를 생성된 복수의 모델에 입력하여 모델 각각에 의한 예측 결과가 출력된다. Next, in operation S32, the feature data of the prediction target URL is input to the generated plurality of models, and prediction results by each of the models are output.

일 실시예로서, 동작 S32는, 예측 대상 URL에 대한 특징 추출 및 전처리 과정이 수행되는 동작, 특징 추출 및 전처리 과정이 완료된 예측 대상 URL의 특징 데이터가 생성된 복수의 모델 각각에 입력되는 동작, 및 각각의 모델로부터 악성 URL 여부에 대한 예측 결과가 출력되는 동작을 포함할 수 있다. As an embodiment, operation S32 includes an operation in which feature extraction and pre-processing for the prediction target URL are performed, an operation in which feature data of the prediction target URL on which the feature extraction and pre-processing has been completed, is input to each of a plurality of generated models, and It may include an operation of outputting a prediction result of whether a malicious URL is a malicious URL from each model.

마지막으로, 동작 S33에서, 모델 각각의 성능 수치를 모델 각각의 예측 결과에 적용하여 예측 대상 URL이 악성 URL인지 여부가 예측된다. Finally, in operation S33, it is predicted whether the prediction target URL is a malicious URL by applying the performance value of each model to the prediction result of each model.

일 실시예로서, 동작 S33은, 복수의 모델 생성 시 측정되는 모델 각각의 정확도와 정확도를 이용하여 계산된 각각의 가중치가 획득되는 동작, 각각의 가중치를 이용하여 모델의 예측 결과가 악성 또는 정상인 경우 각각의 가중 평균값이 산출되는 동작, 및 각각의 가중 평균값에 기반하여 예측 대상 URL이 악성 URL인지 여부가 판단되는 동작을 포함할 수 있다.As an embodiment, operation S33 is an operation in which each weight calculated using the accuracy and accuracy of each model measured when generating a plurality of models is obtained, and when the prediction result of the model using each weight is malicious or normal It may include an operation of calculating each weighted average value, and an operation of determining whether the prediction target URL is a malicious URL based on each weighted average value.

일 실시예로서, 상기 방법은, 예측 대상 URL을 이용하여 적어도 하나의 위험 요소와 관련된 외부 데이터가 조회되는 동작, 각 위험 요소의 조회 결과를 이용하여 위험 점수가 산출되는 동작, 악성 URL인지 여부를 예측한 결과에 위험 점수를 반영하여 위험도가 계산되는 동작, 및 위험도에 기반하여 예측 대상 URL의 예측 결과가 출력되는 동작을 더 포함할 수 있다. As an embodiment, the method determines whether external data related to at least one risk factor is inquired using a prediction target URL, a risk score is calculated using the query result of each risk factor, and whether the URL is a malicious URL. The method may further include calculating the risk by reflecting the risk score in the predicted result, and outputting the prediction result of the prediction target URL based on the risk.

상기와 같이, 본 발명의 실시예에 따른 다중 기계 학습 기반 악성 URL 예측 방법에 의하면, 악성 URL에 대한 사전에 입력된 시그니처 정보가 존재하지 않는 경우에도 악성 URL 여부를 예측할 수 있다. 또한, 악성 URL의 분석 대상이 되는 데이터의 특성에 따라 서로 다른 기계 학습 알고리즘을 학습함에 의해 정확도가 향상된 예측 결과를 제공할 수 있다.As described above, according to the multi-machine learning-based malicious URL prediction method according to an embodiment of the present invention, it is possible to predict whether a malicious URL is malicious even when there is no previously input signature information for the malicious URL. In addition, it is possible to provide prediction results with improved accuracy by learning different machine learning algorithms according to the characteristics of data to be analyzed for malicious URLs.

도 4는 본 발명의 몇몇 실시예에 따른 학습용 URL 데이터를 이용한 학습 과정을 도시한 예이다. 도 4를 참조하면, 본 발명의 실시예에 따른 다중 기계 학습 기반 악성 URL 예측 학습 장치(1)의 학습부(11)는 수집 모듈(111), 전처리 모듈(112), 및 학습 모듈(113) 각각에 포함된 서브 모듈의 동작을 수행하여 학습 과정을 수행한다. 4 is an example illustrating a learning process using URL data for learning according to some embodiments of the present invention. Referring to FIG. 4 , the learning unit 11 of the multi-machine learning-based malicious URL prediction learning apparatus 1 according to an embodiment of the present invention includes a collection module 111 , a preprocessing module 112 , and a learning module 113 . The learning process is performed by performing the operation of the sub-modules included in each.

도시된 구성에서, 수집 모듈(111)은 URL 자동 수집 서브 모듈(1111)을 포함하고, URL 자동 수집 서브 모듈(1111)은 외부 웹 사이트로부터 제공되는 악성 URL의 공개 출처 정보(1011)로부터 학습용 URL 데이터를 자동 수집하여 데이터 저장부(30)에 저장한다. 이 때, URL 자동 수집 서브 모듈(1111)은 예컨대 악성 URL을 제공하는 외부 웹 사이트를 크롤링하여 자동으로 학습용 URL 데이터를 수집할 수 있다. In the illustrated configuration, the collection module 111 includes a URL automatic collection sub-module 1111, and the URL automatic collection sub-module 1111 is a learning URL from public source information 1011 of a malicious URL provided from an external website. Data is automatically collected and stored in the data storage unit 30 . In this case, the URL automatic collection sub-module 1111 may automatically collect URL data for learning, for example, by crawling an external web site that provides a malicious URL.

전처리 모듈(112)은 특징 추출 서브 모듈(1121) 및 특징 데이터 전처리 서브 모듈(1122)를 포함한다. 특징 추출 서브 모듈(1121)은 데이터 저장부(30)에 저장된 학습용 악성 URL 데이터를 로드하여 특징 데이터를 추출한 후 특징 데이터 전처리 서브 모듈(1122)로 전달한다. The preprocessing module 112 includes a feature extraction submodule 1121 and a feature data preprocessing submodule 1122 . The feature extraction sub-module 1121 loads the malicious URL data for learning stored in the data storage unit 30 , extracts the feature data, and transmits it to the feature data pre-processing sub-module 1122 .

일 실시예로서, 특징 추출 서브 모듈(1121)은 학습용 악성 URL 데이터로부터 분석 대상에 따른 특징 데이터를 추출할 수 있다. 이 때, 특징 데이터로서 예컨대 URL 데이터, URL 콘텐츠 데이터, URL 호스트 데이터가 추출될 수 있다. 여기서, URL 데이터는 URL을 구성하고 있는 문자 패턴, 구문 등을 분석하는데 사용되고, URL 콘텐츠 데이터는 URL에 접속하여 수신되는 응답 페이지 내의 HTML 소스 코드, 스크립트 등 내부 콘텐츠를 분석하는데 사용될 수 있다. 또한, URL 호스트 데이터는 URL에 접속하여 수신되는 포트 스캔 결과 등의 네트워크 데이터를 분석하는데 사용될 수 있다.As an embodiment, the feature extraction sub-module 1121 may extract feature data according to an analysis target from malicious URL data for learning. In this case, as the feature data, for example, URL data, URL content data, and URL host data may be extracted. Here, the URL data is used to analyze character patterns and syntax constituting the URL, and the URL content data can be used to analyze internal content such as HTML source code and scripts in a response page received by accessing the URL. Also, the URL host data may be used to analyze network data such as a port scan result received by accessing the URL.

특징 데이터 전처리 서브 모듈(1122)은 특징 추출 서브 모듈(1121)로부터 전달된 특징 데이터를 기계 학습이 가능하도록 벡터 형식의 데이터로 변환하여 학습 모듈(113)로 전달한다. The feature data pre-processing sub-module 1122 converts the feature data transmitted from the feature extraction sub-module 1121 into vector-format data to enable machine learning, and transmits it to the learning module 113 .

학습 모듈(113)은 기계 학습 서브 모듈(1131) 및 모델 검증 서브 모듈(1132)를 포함한다. 기계 학습 서브 모듈(1131)은 특징 데이터 전처리 서브 모듈(1122)로부터 전달된 학습용 URL 데이터를 이용하여 기계 학습을 수행하고, 이로부터 복수의 기계 학습 모델을 생성한다.The learning module 113 includes a machine learning submodule 1131 and a model validation submodule 1132 . The machine learning submodule 1131 performs machine learning using the URL data for learning transmitted from the feature data preprocessing submodule 1122 , and generates a plurality of machine learning models therefrom.

일 실시예로서, 기계 학습 서브 모듈(1131)은 학습용 URL 데이터를 이용하여 복수의 서로 다른 기계 학습 알고리즘에 기반하여 학습하고, 학습을 통해 각각의 알고리즘에 의한 복수의 모델을 생성할 수 있다. 이 때, 복수의 모델 각각은, 예컨대 서포트 벡터 머신(SVM: support vector machine), 랜덤 포레스트(RF: random forest), 부스팅(boosting), 의사결정 나무(decision tree), 로지스틱 회귀(LR: logistic regression), 합성 곱 신경망(CNN: convolutional neural network), 및 순환 신경망(RNN: recurrent neural network) 등의 기계 학습 알고리즘을 이용하여 생성될 수 있다. As an embodiment, the machine learning submodule 1131 may learn based on a plurality of different machine learning algorithms using the URL data for learning, and may generate a plurality of models by each algorithm through learning. At this time, each of the plurality of models, for example, support vector machine (SVM), random forest (RF), boosting (boosting), decision tree (decision tree), logistic regression (LR: logistic regression) ), a convolutional neural network (CNN), and a recurrent neural network (RNN) may be generated using a machine learning algorithm.

모델 검증 서브 모듈(1132)은 기계 학습 서브 모듈(1131)에서 생성된 복수의 모델 각각의 성능을 평가한다. 이 때, 모델 각각의 성능은 예컨대, 홀드 아웃(holdout), k-폴드(k-fold) 등의 방법을 이용하여 평가되고, 이로부터 모델 각각의 정확도(accuracy)가 산출될 수 있다. The model verification submodule 1132 evaluates the performance of each of the plurality of models generated by the machine learning submodule 1131 . In this case, the performance of each model is evaluated using, for example, a holdout method, a k-fold method, and the like, and the accuracy of each model can be calculated therefrom.

일 실시예로서, 모델 검증 서브 모듈(1132)은 산출된 모델 각각의 정확도를 이용하여 각 모델에 대한 가중치를 결정할 수 있다. 예로서, 모델 각각의 가중치는, 각각의 정확도(accuracy)의 평균 값을 계산하고, 각각의 정확도와 평균 값의 차이로 계산되는 평균 편차를 이용하여 산출될 수 있다.As an embodiment, the model verification sub-module 1132 may determine a weight for each model by using the calculated accuracy of each model. For example, the weight of each model may be calculated by calculating an average value of each accuracy and using a mean deviation calculated as a difference between each accuracy and the average value.

상기와 같이 학습 모듈(113)에서 복수의 모델 생성 및 모델 각각의 성능 평가가 완료되면, 생성된 복수의 모델(102)과 모델 각각의 가중치가 출력될 수 있다. When the generation of the plurality of models and the performance evaluation of each model are completed in the learning module 113 as described above, the generated models 102 and the weights of each of the models may be output.

도 5는 본 발명의 몇몇 실시예에 따른 예측 대상 URL에 대한 예측 과정을 도시한 예이다. 도 5를 참조하면, 본 발명의 실시예에 따른 다중 기계 학습 기반 악성 URL 예측 학습 장치(1)의 예측부(12)는 입력 모듈(121), 전처리 모듈(122), 및 예측 모듈(123) 각각에 포함된 서브 모듈의 동작을 수행하여 학습 과정을 수행한다. 5 is an example illustrating a prediction process for a prediction target URL according to some embodiments of the present invention. Referring to FIG. 5 , the prediction unit 12 of the multi-machine learning-based malicious URL prediction learning apparatus 1 according to an embodiment of the present invention includes an input module 121 , a preprocessing module 122 , and a prediction module 123 . The learning process is performed by performing the operation of the sub-modules included in each.

도시된 구성에서, 입력 모듈(121)은 상대/절대 URL 링크 추출 서브 모듈(1211)을 포함하고, 상대/절대 URL 링크 추출 서브 모듈(1211)은 사용자 단말(10) 또는 외부 장치로부터 제공되는 예측 대상 URL 데이터가 입력되면, 예측 대상 URL 데이터의 각 URL의 요청을 통해 응답 페이지를 수신하고, 응답 페이지 내에 포함된 내부 및 외부 URL을 상대 및 절대 URL로서 추출할 수 있다. 이에 따라, 상대/절대 URL 링크 추출 서브 모듈(1211)은 입력된 예측 대상 URL 데이터와 추출된 상대/절대 URL을 전처리 모듈(122)로 전달한다. In the illustrated configuration, the input module 121 includes a relative/absolute URL link extraction sub-module 1211, and the relative/absolute URL link extraction sub-module 1211 includes a prediction provided from the user terminal 10 or an external device. When target URL data is input, a response page may be received through a request of each URL of the prediction target URL data, and internal and external URLs included in the response page may be extracted as relative and absolute URLs. Accordingly, the relative/absolute URL link extraction submodule 1211 transmits the input prediction target URL data and the extracted relative/absolute URL to the preprocessing module 122 .

전처리 모듈(122)은 특징 추출 서브 모듈(1221) 및 특징 데이터 전처리 서브 모듈(1222)를 포함한다. 특징 추출 서브 모듈(1221)은 상대/절대 URL 링크 추출 서브 모듈(1211)에서 전달된 예측 대상 URL 데이터와 상대/절대 URL로부터 특징 데이터를 추출한 후 특징 데이터 전처리 서브 모듈(1222)로 전달한다. The preprocessing module 122 includes a feature extraction submodule 1221 and a feature data preprocessing submodule 1222 . The feature extraction submodule 1221 extracts the feature data from the prediction target URL data and the relative/absolute URL transmitted from the relative/absolute URL link extraction submodule 1211 , and then transmits the extracted feature data to the feature data preprocessing submodule 1222 .

일 실시예로서, 특징 추출 서브 모듈(1221)은 예측 대상 URL 데이터와 상대/절대 URL로부터 분석 대상에 따른 특징 데이터를 추출할 수 있다. 이 때, 특징 데이터로서 예컨대 URL 데이터, URL 콘텐츠 데이터, URL 호스트 데이터가 추출될 수 있다. 여기서, URL 데이터는, 프로토콜 및 3-레벨 도메인(third-level domain) 등과 같은 중복 요소를 제거한 순수 URL을 포함할 수 있다. URL 콘텐츠 데이터는, 응답 HTML 콘텐츠에서 HTML 길이 등과 같은 특징을 포함할 수 있다. URL 호스트 데이터는, 호스트 머신의 포트 상태 등과 같은 특징을 포함할 수 있다. As an embodiment, the feature extraction submodule 1221 may extract feature data according to the analysis target from the prediction target URL data and the relative/absolute URL. In this case, as the feature data, for example, URL data, URL content data, and URL host data may be extracted. Here, the URL data may include a pure URL in which duplicate elements such as a protocol and a third-level domain are removed. The URL content data may include characteristics such as HTML length in the response HTML content. The URL host data may include characteristics such as the port status of the host machine.

특징 데이터 전처리 서브 모듈(1222)은 특징 추출 서브 모듈(1221)로부터 전달된 특징 데이터를 기계 학습이 가능하도록 벡터 형식의 데이터로 변환하여 예측 모듈(123)로 전달한다. The feature data pre-processing sub-module 1222 converts the feature data transmitted from the feature extraction sub-module 1221 into vector-format data to enable machine learning, and transmits it to the prediction module 123 .

예측 모듈(123)은 예측 서브 모듈(1231) 및 앙상블 서브 모듈(1232)를 포함한다. 예측 서브 모듈(1231)은 학습 모듈(113)에서 생성된 복수의 기계 학습 모델(102)을 로드하고, 전처리 모듈(122)로부터 전달된 예측 대상 URL 데이터의 특징 데이터를 이용하여 로드된 각각의 모델에 의한 각각의 예측 결과를 생성하여 앙상블 서브 모델(1232)로 전달한다. 이 때, 각각의 예측 결과는, 각각의 모델을 이용하여 예측 대상 URL이 악성인지 또는 정상인지 여부를 예측한 결과를 포함한다. The prediction module 123 includes a prediction sub-module 1231 and an ensemble sub-module 1232 . The prediction sub-module 1231 loads the plurality of machine learning models 102 generated by the learning module 113, and each model loaded using the feature data of the prediction target URL data transmitted from the pre-processing module 122. Each prediction result is generated and transmitted to the ensemble sub-model 1232 . In this case, each prediction result includes a result of predicting whether the prediction target URL is malicious or normal using each model.

앙상블 서브 모델(1232)은 각각의 모델을 이용하여 생성된 각각의 예측 결과에 모델 각각의 성능 수치를 적용하는 앙상블(ensemble) 기법을 활용하여 최종 예측 결과(104)를 출력한다. The ensemble sub-model 1232 outputs a final prediction result 104 by using an ensemble technique of applying a performance value of each model to each prediction result generated using each model.

일 실시예로서, 앙상블 서브 모델(1232)은 학습 모듈(113)에서 생성된 복수의 모델 각각의 성능 수치를 로드한다. 여기서, 각각의 성능 수치는, 기계 학습을 통해 출력되는 모델 각각의 정확도(accuracy)를 이용하여 부여한 가중치에 관한 정보를 포함할 수 있다. As an embodiment, the ensemble sub-model 1232 loads the performance values of each of the plurality of models generated by the learning module 113 . Here, each performance figure may include information about a weight given using the accuracy of each model output through machine learning.

일 실시예로서, 앙상블 서브 모델(1232)은 모델 각각의 성능 수치, 즉, 가중치에 관한 정보를 모델 각각의 예측 결과에 적용함에 의해 예측 대상 URL이 악성 URL인지 여부에 관한 최종 예측 결과(104)를 출력할 수 있다. As an embodiment, the ensemble sub-model 1232 applies the performance value of each model, that is, information about the weight, to the prediction result of each model. can be printed out.

상기와 같은 본 발명의 실시예에 따라, 악성 URL의 분석 대상이 되는 데이터의 특성에 따라 서로 다른 기계 학습 알고리즘을 학습하여 생성된 복수의 모델 각각의 예측 결과에 모델 각각의 성능을 반영함에 의해, 보다 정확도가 향상된 예측 결과를 제공할 수 있다.According to the embodiment of the present invention as described above, by reflecting the performance of each model in the prediction result of each of a plurality of models generated by learning different machine learning algorithms according to the characteristics of the data to be analyzed of the malicious URL, It is possible to provide a prediction result with improved accuracy.

도 6은 본 발명의 몇몇 실시예에 따른 예측 과정과 위험도 평가에 의한 최종 예측 결과를 출력하는 예이다. 도 6을 참조하면, 본 발명의 실시예에 따른 방법에 따라, 예측 대상 URL을 입력하여 악성 URL인지 또는 정상 URL인지를 예측한 결과를 출력하는 예를 보여준다. 6 is an example of outputting a final prediction result by the prediction process and risk assessment according to some embodiments of the present invention. Referring to FIG. 6 , an example of outputting a result of predicting whether a URL is a malicious URL or a normal URL by inputting a prediction target URL according to a method according to an embodiment of the present invention is shown.

먼저 동작 S60에서, 예측 대상 URL을 입력하면, 동작 S61에서, 예측 대상 URL에 대한 상대/절대 URL 링크가 추출된다. 여기서, 동작 S61은, 입력된 예측 대상 URL(611)과, 예측 대상 URL(611)의 접속 페이지 내부에 포함되어 있는 내부 URL(612) 및 외부 URL(613)을 상대/절대 URL 링크로 추출하는 동작을 포함할 수 있다. First, when a prediction target URL is input in operation S60, a relative/absolute URL link to the prediction target URL is extracted in operation S61. Here, in operation S61, the input prediction target URL 611 and the internal URL 612 and external URL 613 included in the connection page of the prediction target URL 611 are extracted as relative/absolute URL links. It can include actions.

다음으로, 동작 S62에서, 동작 S61에서 추출된 예측 대상 URL(611), 내부 URL(612) 및 외부 URL(613)로부터 특징 데이터를 추출하고, 기계 학습을 수행할 수 있는 형태로 전처리를 수행한다. Next, in operation S62, feature data is extracted from the prediction target URL 611, internal URL 612, and external URL 613 extracted in operation S61, and preprocessing is performed in a form capable of performing machine learning. .

다음으로, 동작 S631에서, 동작 S62에 의해 전처리가 수행된 예측 대상 URL(611)을 복수의 기계 학습 모델에 입력하여 악성 URL인지 여부를 예측한다.Next, in operation S631, the prediction target URL 611 that has been preprocessed in operation S62 is input to a plurality of machine learning models to predict whether or not the URL is malicious.

동작 S632에서는, 동작 S62에 의해 전처리가 수행된 내부 URL(612) 및 외부 URL(613)을 로지스틱 회귀 및 CNN 모델에 입력하여 악성 URL인지 여부를 예측한다.In operation S632, the internal URL 612 and the external URL 613, which have been pre-processed by operation S62, are input to the logistic regression and CNN model to predict whether or not the URL is malicious.

다음으로, 동작 S64에서는, 동작 S631 및 동작 S632에서 예측된 각각의 결과에 각 모델의 성능을 반영하는 앙상블 기법을 이용하여 통합된 예측 결과가 출력된다. 여기서, 앙상블 기법은, 복수의 모델 각각의 예측 결과에 모델 각각의 정확도를 이용하여 계산된 가중치를 적용하는 것으로서, 정상 URL로 예측되는 경우와 악성 URL로 예측되는 경우 각각의 가중 평균값을 산출하여 결과를 예측할 수 있다. Next, in operation S64, an integrated prediction result is output using an ensemble technique in which the performance of each model is reflected in each of the results predicted in operations S631 and S632. Here, the ensemble technique applies a weight calculated using the accuracy of each model to the prediction result of each of a plurality of models, and calculates a weighted average value for each prediction result in a case of a normal URL and a case of a malicious URL. can be predicted

동작 S65에서는, 예측 대상 URL(611), 내부 URL(612) 및 외부 URL(613)에 대한 위험도가 평가된다. 여기서, 위험도는, 각 URL(611, 612, 613)에 대한 위험 요소를 조회하여 위험 점수를 산출하고, 이를 동작 S64에 의한 예측 결과에 반영하여 계산될 수 있다. In operation S65, the degree of risk with respect to the prediction target URL 611, the internal URL 612, and the external URL 613 is evaluated. Here, the degree of risk may be calculated by inquiring a risk factor for each URL 611 , 612 , and 613 , calculating a risk score, and reflecting this on the prediction result by operation S64 .

마지막으로, 동작 S66에서, 동작 S64에 의한 예측 결과에 동작 S65에서 계산된 위험도를 추가 반영함에 의해, 예측 대상 URL이 악성인지 또는 정상인지 여부에 대한 최종 예측 결과가 출력된다. Finally, in operation S66, by additionally reflecting the risk calculated in operation S65 to the prediction result in operation S64, a final prediction result as to whether the prediction target URL is malicious or normal is output.

도 7은 본 발명의 몇몇 실시예에 따른 다중 기계 학습 기반으로 생성된 복수의 모델 각각의 예측 결과에 모델 각각의 성능 수치를 적용하는 예이다. 도 7을 참조하면, 앙상블 서브 모듈(1232)에서 복수의 기계 학습 모델 각각을 이용하여 예측된 결과를 앙상블 기법을 활용하여 통합하는 예를 보여준다. 7 is an example of applying a performance value of each model to a prediction result of each of a plurality of models generated based on multi-machine learning according to some embodiments of the present invention. Referring to FIG. 7 , an example of integrating results predicted by using each of a plurality of machine learning models in the ensemble sub-module 1232 using an ensemble technique is shown.

도시된 예에서, 예측 서브 모듈(1231)에서 복수의 기계 학습 모델에 의한 각각의 예측 결과(71)로서 악성 또는 정상 URL인지 여부(72)가 출력된다. In the illustrated example, whether the URL is a malicious or normal URL 72 is output as each prediction result 71 by a plurality of machine learning models in the prediction sub-module 1231 .

앙상블 서브 모듈(1232)은 학습 모듈(113)에서 생성된 복수의 모델(73) 각각의 정확도(74)와, 정확도(74)를 이용하여 계산된 모델 각각의 가중치(753)를 로드한다. 이 때, 모델 각각의 가중치(753)는, 각각의 정확도(74)의 평균 값(751)을 계산하고, 각각의 정확도(74)와 평균 값(751)의 차이로 계산되는 평균 편차(752)를 이용하여 산출될 수 있다. The ensemble sub-module 1232 loads the accuracy 74 of each of the plurality of models 73 generated by the learning module 113 and the weight 753 of each model calculated using the accuracy 74 . At this time, the weight 753 of each model calculates the average value 751 of each accuracy 74 , and the average deviation 752 is calculated as the difference between each accuracy 74 and the average value 751 . can be calculated using

앙상블 서브 모듈(1232)은 복수의 기계 학습 모델에 의한 각각의 예측 결과(71)로서 악성 또는 정상 URL인지 여부(72)가 입력되면, 악성 URL로 예측된 경우 및 정상 URL로 예측된 경우 각각에 대한 가중 평균값(76)을 산출한다. 예로서, 악성 URL로 예측된 경우의 가중 평균값(77)이 67.68이고, 정상 URL로 예측된 경우의 가중 평균값(77)이 58.8867 이므로, 더 큰 값을 가지는 악성 URL (78)을 최종 예측 결과로서 출력할 수 있다. The ensemble sub-module 1232 determines whether a malicious URL or a normal URL 72 is input as each prediction result 71 by a plurality of machine learning models, respectively, when predicted as a malicious URL and when predicted as a normal URL. A weighted average value 76 is calculated for . For example, since the weighted average value 77 when predicted as a malicious URL is 67.68 and the weighted average value 77 when predicted as a normal URL is 58.8867, the malicious URL 78 having a larger value is used as the final prediction result. can be printed out.

일 실시예로서, 앙상블 서브 모듈(1232)에서 출력된 최종 예측 결과는 위험도 평가 모듈(80)로 전달되어, 예측 대상 URL에 대한 위험 요소들을 추가적으로 반영한 결과를 생성할 수도 있다.As an embodiment, the final prediction result output from the ensemble sub-module 1232 may be transmitted to the risk evaluation module 80 to generate a result in which risk factors for the prediction target URL are additionally reflected.

*도 8은 본 발명의 몇몇 실시예에 따른 예측 대상 URL의 위험도 평가 과정을 도시한 예이다. 도 8을 참조하면, 본 발명의 실시예에 따른 다중 기계 학습 기반 악성 URL 예측 장치(1)는, 학습부(11) 및 예측부(12)의 구성에 추가적으로 위험도 평가 모듈(80)을 더 포함할 수 있다. * FIG. 8 is an example illustrating a risk assessment process of a prediction target URL according to some embodiments of the present invention. Referring to FIG. 8 , the multi-machine learning-based malicious URL prediction apparatus 1 according to an embodiment of the present invention further includes a risk assessment module 80 in addition to the configuration of the learning unit 11 and the prediction unit 12 . can do.

위험도 평가 모듈(80)은 도 7의 앙상블 서브 모듈(1232)로부터 출력되는 예측 결과(78)에 대해 추가적으로 위험도를 평가하여 최종 예측 결과에 반영할 수 있다.The risk evaluation module 80 may additionally evaluate the risk with respect to the prediction result 78 output from the ensemble sub-module 1232 of FIG. 7 and reflect it in the final prediction result.

일 실시예로서, 위험도 평가 모듈(80)은 예측 대상 URL에 대한 위험 요소(81)를 조회할 수 있다. 여기서, 위험 요소(81)는, 예측 대상 URL를 이용하여, 예컨대 Alex 랭크 조회 모듈, 블랙 리스트 조회 모듈, Virus Total 조회 모듈, 과거 악성 코드 유포 이력 조회 모듈 등을 이용하여 조회된 외부 또는 내부 데이터를 포함할 수 있다. As an embodiment, the risk assessment module 80 may inquire the risk factor 81 for the prediction target URL. Here, the risk factor 81 uses the prediction target URL to retrieve external or internal data queried using, for example, the Alex rank inquiry module, the black list inquiry module, the Virus Total inquiry module, the past malicious code distribution history inquiry module, etc. may include

위험도 평가 모듈(80)은 위험 요소(81) 각각의 조회 결과를 이용하여 위험 점수를 계산하는 테이블(82)을 이용하여 위험 점수(83)를 산출하고, 이를 앙상블 서브 모듈(1232)로부터 출력되는 예측 결과(78)에 반영하여 위험도(84)를 산출할 수 있다. 예로서, 예측 결과(78)로서 출력된 악성 URL의 가중 평균값인 67.68과, 위험 점수(83)로서 계산된 14를 합한 값으로 위험도(84)를 계산할 수 있다.The risk assessment module 80 calculates the risk score 83 using the table 82 for calculating the risk score using the inquiry result of each risk factor 81 , and outputs it from the ensemble sub-module 1232 . The risk 84 may be calculated by reflecting the prediction result 78 . For example, the risk level 84 may be calculated as the sum of the weighted average value of 67.68 of the malicious URL output as the prediction result 78 and 14 calculated as the risk score 83 .

상기와 같이, 위험도 평가 모듈(80)은 입력되는 예측 대상 URL 각각에 대한 위험도를 계산하고, 이를 이용하여 예측 대상 URL의 예측 결과를 출력할 수 있다. 즉, 예측 대상 URL에 대한 위험 요소(81)를 추가적으로 고려하여 계산된 위험도(84)를 이용하여 악성 URL인지 여부에 대한 최종 예측 결과를 얻을 수 있다. 일 실시예로서, 위험도 평가 모듈(80)에서 산출된 위험도에 관한 정보는 데이터 저장부(30)에 저장되어 관리될 수 있다. As described above, the risk assessment module 80 may calculate the risk for each of the input prediction target URLs, and output the prediction result of the prediction target URL using the calculation. That is, it is possible to obtain the final prediction result of whether the URL is malicious by using the risk 84 calculated by additionally considering the risk factor 81 for the prediction target URL. As an embodiment, information on the risk level calculated by the risk assessment module 80 may be stored and managed in the data storage unit 30 .

도 10은 본 발명의 몇몇 실시예에 따른 방법들을 구현할 수 있는 예시적인 컴퓨팅 장치의 하드웨어 구성도이다. 도 10에 도시된 바와 같이, 컴퓨팅 장치(100)는 하나 이상의 프로세서(101), 버스(107), 네트워크 인터페이스(102), 프로세서(101)에 의하여 수행되는 컴퓨터 프로그램(105)을 로드(load)하는 메모리(103)와, 컴퓨터 프로그램(105)를 저장하는 스토리지(104)를 포함할 수 있다. 다만, 도 10에는 본 발명의 실시예와 관련 있는 구성요소들 만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 10에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 10 is a hardware configuration diagram of an exemplary computing device that may implement methods according to some embodiments of the present invention. As shown in FIG. 10 , the computing device 100 loads one or more processors 101 , a bus 107 , a network interface 102 , and a computer program 105 executed by the processor 101 . It may include a memory 103 and a storage 104 for storing the computer program (105). However, only the components related to the embodiment of the present invention are illustrated in FIG. 10 . Accordingly, one of ordinary skill in the art to which the present invention pertains can see that other general-purpose components other than those shown in FIG. 10 may be further included.

프로세서(101)는 컴퓨팅 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(101)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(101)는 본 발명의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.The processor 101 controls the overall operation of each component of the computing device 100 . The processor 101 includes at least one of a central processing unit (CPU), a micro processor unit (MPU), a micro controller unit (MCU), a graphic processing unit (GPU), or any type of processor well known in the art. may be included. In addition, the processor 101 may perform an operation on at least one application or program for executing the method/operation according to various embodiments of the present disclosure. The computing device 100 may include one or more processors.

메모리(103)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(103)는 본 발명의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(104)로부터 하나 이상의 프로그램(105)을 로드(load) 할 수 있다. 예를 들어, 컴퓨터 프로그램(105)이 메모리(103)에 로드 되면, 로직(또는 모듈)이 메모리(103) 상에 구현될 수 있다. 메모리(103)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다.The memory 103 stores various data, commands and/or information. Memory 103 may load one or more programs 105 from storage 104 to execute methods/operations according to various embodiments of the present invention. For example, if the computer program 105 is loaded into the memory 103 , logic (or modules) may be implemented on the memory 103 . An example of the memory 103 may be a RAM, but is not limited thereto.

버스(107)는 컴퓨팅 장치(100)의 구성 요소 간 통신 기능을 제공한다. 버스(107)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.The bus 107 provides communication functions between the components of the computing device 100 . The bus 107 may be implemented as various types of buses, such as an address bus, a data bus, and a control bus.

네트워크 인터페이스(102)는 컴퓨팅 장치(100)의 유무선 인터넷 통신을 지원한다. 네트워크 인터페이스(102)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(102)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.The network interface 102 supports wired/wireless Internet communication of the computing device 100 . The network interface 102 may support various communication methods other than Internet communication. To this end, the network interface 102 may be configured to include a communication module well known in the art.

스토리지(104)는 하나 이상의 컴퓨터 프로그램(105)을 비임시적으로 저장할 수 있다. 스토리지(104)는 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다. The storage 104 may store one or more computer programs 105 non-transitory. The storage 104 may include a non-volatile memory such as a flash memory, a hard disk, a removable disk, or any type of computer-readable recording medium well known in the art.

컴퓨터 프로그램(105)은 본 발명의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들(instructions)을 포함할 수 있다. 컴퓨터 프로그램(105)이 메모리(103)에 로드 되면, 프로세서(101)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 발명의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.The computer program 105 may include one or more instructions in which methods/operations according to various embodiments of the present invention are implemented. When the computer program 105 is loaded into the memory 103 , the processor 101 may execute the one or more instructions to perform methods/operations according to various embodiments of the present invention.

예를 들어, 컴퓨터 프로그램(105)은 학습용 URL 데이터를 이용한 기계 학습을 수행하여 복수의 모델을 생성하고, 상기 복수의 모델 각각의 성능 수치를 출력하되, 상기 복수의 모델은 서로 다른 기계 학습 방법론(methodology)에 의하여 생성되는 것인, 동작, 예측 대상 URL의 특징 데이터를 상기 생성된 복수의 모델에 입력하여 상기 모델 각각에 의한 예측 결과를 출력하는 동작, 및 상기 모델 각각의 성능 수치를 상기 모델 각각의 예측 결과에 적용하여 상기 예측 대상 URL이 악성 URL인지 여부를 예측하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함할 수 있다. For example, the computer program 105 performs machine learning using URL data for learning to generate a plurality of models, and outputs a performance value of each of the plurality of models, but the plurality of models use different machine learning methodologies ( methodology) generated by the operation, the operation of inputting the characteristic data of the prediction target URL into the plurality of generated models and outputting the prediction results by each of the models, and the performance figures of each of the models for each of the models may include instructions for performing an operation of predicting whether the prediction target URL is a malicious URL by applying to the prediction result of .

지금까지 도 1 내지 도 10을 참조하여 본 발명의 다양한 실시예들 및 그 실시예들에 따른 효과들을 언급하였다. 본 발명의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.So far, various embodiments of the present invention and effects according to the embodiments have been described with reference to FIGS. 1 to 10 . Effects according to the technical spirit of the present invention are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

지금까지 설명된 본 발명의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.The technical ideas of the present invention described so far may be implemented as computer-readable codes on a computer-readable medium. The computer-readable recording medium may be, for example, a removable recording medium (CD, DVD, Blu-ray disk, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer-equipped hard disk). can The computer program recorded in the computer-readable recording medium may be transmitted to another computing device through a network such as the Internet and installed in the other computing device, thereby being used in the other computing device.

이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.In the above, even though all the components constituting the embodiment of the present invention are described as being combined or operating in combination, the technical spirit of the present invention is not necessarily limited to this embodiment. That is, within the scope of the object of the present invention, all of the components may operate by selectively combining one or more.

도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.Although acts are shown in a particular order in the drawings, it should not be understood that the acts must be performed in the specific order or sequential order shown, or that all depicted acts must be performed to obtain a desired result. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of the various components in the embodiments described above should not be construed as necessarily requiring such separation, and the program components and systems described may generally be integrated together into a single software product or packaged into multiple software products. It should be understood that there is

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 발명이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although embodiments of the present invention have been described above with reference to the accompanying drawings, those of ordinary skill in the art to which the present invention pertains can practice the present invention in other specific forms without changing the technical spirit or essential features. can understand that there is Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent range should be interpreted as being included in the scope of the technical ideas defined by the present invention.

Claims (7)

컴퓨팅 장치에 의해 수행되는 방법에 있어서,
예측 대상 URL을 복수의 모델에 입력하여, 상기 모델 각각에 의한 예측 결과 및 상기 모델 각각의 성능 수치를 출력하는 단계;
상기 복수의 모델 각각의 성능 수치를 이용하여 상기 모델 각각의 가중치를 산출하는 단계;
상기 모델 각각의 가중치를 이용하여 상기 모델의 예측 결과가 악성 또는 정상인 경우 각각의 가중 평균값을 산출하는 단계; 및
상기 각각의 가중 평균값에 기초하여 상기 예측 대상 URL이 악성 URL인지 여부를 예측하는 단계를 포함하고,
상기 복수의 모델은, 수집된 URL로부터 추출된 URL 데이터, URL 콘텐츠 데이터, 및 URL 호스트 데이터를 이용하여 구성된 학습 데이터를 이용하여 서로 다른 복수의 기계 학습을 수행하여 생성된 것인,
다중 기계 학습 기반 악성 URL 예측 방법.
A method performed by a computing device, comprising:
inputting a prediction target URL into a plurality of models, and outputting prediction results by each of the models and a performance value of each of the models;
calculating a weight of each of the models by using the performance values of each of the plurality of models;
calculating each weighted average value when the prediction result of the model is malignant or normal using the weights of each of the models; and
Predicting whether the prediction target URL is a malicious URL based on the respective weighted average values;
The plurality of models are generated by performing a plurality of different machine learning using learning data constructed using URL data extracted from the collected URLs, URL content data, and URL host data,
A multi-machine learning-based malicious URL prediction method.
제1 항에 있어서,
상기 URL 데이터는, 상기 수집된 URL의 접속 페이지 내에 포함된 내부 URL 및 외부 URL을 포함하는,
다중 기계 학습 기반 악성 URL 예측 방법.
The method of claim 1,
The URL data includes an internal URL and an external URL included in the access page of the collected URL,
A multi-machine learning-based malicious URL prediction method.
제1 항에 있어서,
상기 학습 데이터 중 URL 데이터의 경우, CNN 또는 로지스틱 회귀(Logistic Regression) 알고리즘에 기반한 기계 학습을 수행하는,
다중 기계 학습 기반 악성 URL 예측 방법.
The method of claim 1,
In the case of URL data among the learning data, to perform machine learning based on CNN or logistic regression algorithm,
A multi-machine learning-based malicious URL prediction method.
제1 항에 있어서,
상기 복수의 모델 각각의 성능 수치를 이용하여 상기 모델 각각의 가중치를 산출하는 단계는,
상기 모델 각각의 성능 수치로서 상기 모델 각각의 정확도를 획득하는 단계; 및
상기 모델 각각의 정확도를 이용하여 상기 모델 각각의 가중치를 계산하는 단계를 포함하는,
다중 기계 학습 기반 악성 URL 예측 방법.
The method of claim 1,
Calculating the weights of each of the models by using the performance values of each of the plurality of models includes:
acquiring the accuracy of each of the models as a performance value of each of the models; and
Comprising the step of calculating the weight of each model using the accuracy of each model,
A multi-machine learning-based malicious URL prediction method.
삭제delete 제1 항에 있어서,
상기 예측 대상 URL을 이용하여 적어도 하나의 위험 요소와 관련된 외부 데이터를 조회하는 단계;
상기 각 위험 요소의 조회 결과를 이용하여 위험 점수를 산출하는 단계;
상기 악성 URL인지 여부를 예측한 결과에 상기 위험 점수를 반영하여 위험도를 계산하는 단계; 및
상기 위험도에 기반하여 상기 예측 대상 URL의 탐색 우선순위를 부여하는 단계를 더 포함하는,
다중 기계 학습 기반 악성 URL 예측 방법.
The method of claim 1,
inquiring external data related to at least one risk factor using the prediction target URL;
calculating a risk score by using the inquiry result of each risk factor;
calculating a risk level by reflecting the risk score in a result of predicting whether the URL is malicious; and
Further comprising the step of giving a search priority of the prediction target URL based on the risk,
A multi-machine learning-based malicious URL prediction method.
하나 이상의 프로세서;
외부장치와 통신하는 통신 인터페이스;
상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리; 및
상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,
상기 컴퓨터 프로그램은,
예측 대상 URL을 복수의 모델 각각에 입력하는 동작,
상기 모델 각각에 의한 예측 결과 및 상기 모델 각각의 성능 수치를 출력하는 동작,
상기 복수의 모델 각각의 성능 수치를 이용하여 상기 모델 각각의 가중치를 산출하는 동작,
상기 모델 각각의 가중치를 이용하여 상기 모델의 예측 결과가 악성 또는 정상인 경우 각각의 가중 평균값을 산출하는 동작, 및
상기 각각의 가중 평균값에 기초하여 상기 예측 대상 URL이 악성 URL인지 여부를 예측하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함하고,
상기 복수의 모델은, 수집된 URL로부터 추출된 URL 데이터, URL 콘텐츠 데이터, 및 URL 호스트 데이터를 이용하여 구성된 학습 데이터를 이용하여 서로 다른 복수의 기계 학습을 수행하여 생성된 것인,
다중 기계 학습 기반 악성 URL 예측 장치.
one or more processors;
a communication interface for communicating with an external device;
a memory for loading a computer program executed by the processor; and
a storage for storing the computer program;
The computer program is
Inputting the prediction target URL to each of a plurality of models,
an operation of outputting a prediction result by each of the models and a performance value of each of the models;
calculating a weight of each of the models by using the performance values of each of the plurality of models;
calculating each weighted average value when the prediction result of the model is malicious or normal using the weights of each model; and
and instructions for performing an operation of predicting whether the prediction target URL is a malicious URL based on the respective weighted average values;
The plurality of models are generated by performing a plurality of different machine learning using learning data constructed using URL data extracted from the collected URLs, URL content data, and URL host data,
Multi-machine learning-based malicious URL prediction device.
KR1020210134826A 2020-10-29 2021-10-12 Method for predicting malignant url considering url- related content and host data and apparatus implementing the same method KR102438527B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210134826A KR102438527B1 (en) 2020-10-29 2021-10-12 Method for predicting malignant url considering url- related content and host data and apparatus implementing the same method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200141625A KR102313843B1 (en) 2020-10-29 2020-10-29 Method for predicting malignant url based on mutiple machine learning and apparatus implementing the same method
KR1020210134826A KR102438527B1 (en) 2020-10-29 2021-10-12 Method for predicting malignant url considering url- related content and host data and apparatus implementing the same method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020200141625A Division KR102313843B1 (en) 2020-10-29 2020-10-29 Method for predicting malignant url based on mutiple machine learning and apparatus implementing the same method

Publications (2)

Publication Number Publication Date
KR20220057426A KR20220057426A (en) 2022-05-09
KR102438527B1 true KR102438527B1 (en) 2022-08-30

Family

ID=78150897

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200141625A KR102313843B1 (en) 2020-10-29 2020-10-29 Method for predicting malignant url based on mutiple machine learning and apparatus implementing the same method
KR1020210134826A KR102438527B1 (en) 2020-10-29 2021-10-12 Method for predicting malignant url considering url- related content and host data and apparatus implementing the same method

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020200141625A KR102313843B1 (en) 2020-10-29 2020-10-29 Method for predicting malignant url based on mutiple machine learning and apparatus implementing the same method

Country Status (1)

Country Link
KR (2) KR102313843B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102604380B1 (en) * 2021-10-29 2023-11-23 한국전자통신연구원 Apparatus for detecting 5g edge network intrusion using multiple learning models and method using the same
KR20240073433A (en) * 2022-11-18 2024-05-27 신경아 Method and system detecting abnormal content based on link properties analysis
KR102561918B1 (en) * 2022-12-27 2023-08-02 주식회사 데이터코볼트 Method for machine learning-based harmful web site classification
KR102561917B1 (en) * 2022-12-27 2023-08-02 주식회사 데이터코볼트 Method for harmful web site classification

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7175148B2 (en) * 2018-09-27 2022-11-18 Kddi株式会社 Judgment device and judgment method
KR102192196B1 (en) 2019-03-14 2020-12-17 주식회사 에프원시큐리티 An apparatus and method for detecting malicious codes using ai based machine running cross validation techniques

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Sajid Anwar 외 7인,"Countering Malicious URLs in the Internet of Things Using a Knowledge-Based Approach and a Simulated Expert", IEEE IoT 저널(2019.11.21.)*

Also Published As

Publication number Publication date
KR20220057426A (en) 2022-05-09
KR102313843B1 (en) 2021-10-15

Similar Documents

Publication Publication Date Title
KR102438527B1 (en) Method for predicting malignant url considering url- related content and host data and apparatus implementing the same method
CN110399925B (en) Account risk identification method, device and storage medium
US11941491B2 (en) Methods and apparatus for identifying an impact of a portion of a file on machine learning classification of malicious content
US11783034B2 (en) Apparatus and method for detecting malicious script
CN110175278B (en) Detection method and device for web crawler
Medeiros et al. Software metrics as indicators of security vulnerabilities
US20100192222A1 (en) Malware detection using multiple classifiers
CN103577756A (en) Virus detection method and device based on script type judgment
CN104956372A (en) Determining coverage of dynamic security scans using runtime and static code analyses
CN111641588A (en) Webpage analog input detection method and device, computer equipment and storage medium
CN112688966A (en) Webshell detection method, device, medium and equipment
KR102074909B1 (en) Apparatus and method for classifying software vulnerability
KR102362516B1 (en) Apparatus for processing cyber threat information, method for processing cyber threat information, and medium for storing a program processing cyber threat information
US20190102165A1 (en) Method and system for identifying open-source software package based on binary files
CN111444093A (en) Method and device for determining quality of project development process and computer equipment
Suhuan et al. Android malware detection based on logistic regression and XGBoost
CN111382432A (en) Malicious software detection and classification model generation method and device
CN114492576A (en) Abnormal user detection method, system, storage medium and electronic equipment
CN114462040A (en) Malicious software detection model training method, malicious software detection method and malicious software detection device
CN113312620A (en) Program safety detection method and device, processor chip and server
CN117828605A (en) System vulnerability detection method and device, electronic equipment and storage medium
CN117574371A (en) Malicious code detection system for entropy sensitive calling feature of edge computing platform
CN117407288A (en) Test case recommendation method based on FPGA (field programmable Gate array) test platform
US20230048076A1 (en) Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program
KR102432649B1 (en) Processor for processing cyber threat information, method for processing cyber threat information, and medium for storing a program processing cyber threat information

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant