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 PDFInfo
- 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
Links
Images
Classifications
-
- 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/1441—Countermeasures against malicious traffic
- H04L63/1483—Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine 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
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.
Description
본 발명은 다중 기계 학습 기반 악성 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.
본 발명이 해결하고자 하는 기술적 과제는, 짧은 생명 주기를 가지고 다양하고 새로운 형태로 변형되는 악성 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 데이터(101)가 학습부(11)에 입력되면, 학습부(11)에서 기계학습을 수행한 후 출력되는 복수의 기계 학습 모델(102)을 얻게 된다. 이 때, 출력된 복수의 기계 학습 모델(102)은 예측부(12)로 전달된다. In the illustrated example, when
예측 대상 URL(103)이 예측부(12)에 입력되면, 학습부(11)로부터 전달된 복수의 기계 학습 모델(102)을 이용하여 각각의 예측 결과가 생성되고, 각각의 예측 결과를 활용하여 예측 대상 URL이 악성 URL인지 여부에 대한 예측 결과(104)가 예측부(12)에서 출력된다.When the
상기와 같은 본 발명의 실시예에 따라, 악성 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
외부 서버(20)는 악성 URL의 공개 출처 정보를 제공하는 사이트의 웹 서버로서, 이로부터 학습을 위한 악성 URL 데이터를 얻을 수 있다.The
학습부(11)는 수집 모듈(111), 전처리 모듈(112), 및 학습 모듈(113)로 구성되고, 외부 서버(20)로부터 제공되는 악성 URL의 공개 출처 정보를 이용하여 학습용 악성 URL 데이터를 수집하고, 이를 이용하여 기계 학습을 통해 생성되는 복수의 모델을 출력한다.The
수집 모듈(111)은 외부 서버(20)로부터 제공되는 악성 URL의 공개 출처 정보를 이용하여 학습용 악성 URL 데이터를 수집하고, 이를 네트워크로 연결된 데이터 저장부(30)에 저장한다. 예로서, 수집 모듈(111)은 외부 서버(20)의 웹 사이트를 크롤링(crawling)하는 방법으로 자동으로 학습을 위한 악성 URL 데이터를 얻을 수 있다.The
전처리 모듈(112)은 데이터 저장부(30)에 저장된 학습용 악성 URL 데이터를 읽어오고, 학습용 악성 URL 데이터로부터 특징 데이터를 추출하고, 추출된 특징 데이터를 기계 학습이 가능한 형태로 변환한다.The
일 실시예로서, 전처리 모듈(112)은 학습용 악성 URL 데이터로부터 분석 대상에 따른 특징 데이터를 추출할 수 있다. 예로서, 분석 대상이 URL의 문자 패턴, URL의 응답 웹 콘텐츠, URL의 응답 호스트로 정의되고, 각각의 분석 대상에 대응하는 특징 데이터로서 예컨대 URL 데이터, URL 콘텐츠 데이터, URL 호스트 데이터가 추출될 수 있다. 이 때, URL 데이터는 URL을 구성하고 있는 문자 패턴, 구문 등을 분석하는데 사용되고, URL 콘텐츠 데이터는 URL에 접속하여 수신되는 응답 페이지 내의 HTML 소스 코드, 스크립트 등 내부 콘텐츠를 분석하는데 사용될 수 있다. 또한, URL 호스트 데이터는 URL에 접속하여 수신되는 포트 스캔 결과 등의 네트워크 데이터를 분석하는데 사용될 수 있다. As an embodiment, the
예로서, 도 9에 도시된 바와 같이, 학습용 악성 URL 데이터로부터 추출되는 특징 데이터(90)는, URL 기반 특징, HTML/JS 기반 특징, 도메인 기반 특징, 및 비정상 특징 등 다양한 특징들을 포함할 수 있다. For example, as shown in FIG. 9 , the
일 실시예로서, 전처리 모듈(112)은 추출된 특징 데이터를 기계 학습이 가능하도록 벡터 형식의 데이터로 변환한다. 이 때, 벡터 형식의 데이터로 변환하기 위한 텍스트 임베딩(Text Embedding) 작업이 수행될 수 있다. 텍스트 임베딩 모델로서, 예컨대 Word2Vec, FastText, Glove, Sent2Vec, 및 Elmo 등 단어 또는 문장 기반의 모델이 적용될 수 있다.As an embodiment, the
학습 모듈(113)은 전처리 모듈(112)에서 특징 데이터의 추출 및 전처리가 완료된 학습용 URL 데이터를 이용하여 기계 학습을 수행하고, 이로부터 복수의 기계 학습 모델을 생성한다.The
일 실시예로서, 학습 모듈(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
예측부(12)는 입력 모듈(121), 전처리 모듈(122), 및 예측 모듈(123)로 구성되고, 사용자 단말(10)로부터 입력되거나 외부 장치로부터 제공되는 예측 대상 URL 데이터를 이용하여 예측 대상 URL에 대한 예측 결과를 출력한다. The
입력 모듈(121)은 사용자 단말(10) 또는 외부 장치로부터 제공되는 예측 대상 URL 데이터가 입력된다. 이 때, 예측 대상 URL 데이터는 하나의 URL 또는 URL 리스트를 포함할 수 있다. The
전처리 모듈(122)은 입력 모듈(121)에서 입력된 예측 대상 URL 데이터로부터 특징 데이터를 추출하고, 추출된 특징 데이터를 기계 학습 모델 기반으로 예측이 가능한 형태로 변환한다. 이 때, 예측 대상 URL 데이터에 대한 특징 추출 및 변환 과정은 학습부(11)의 전처리 모듈(112)에서 수행되는 과정과 동일하다. The
일 실시예로서, 전처리 모듈(122)은 예측 대상 URL 데이터로부터 분석 대상에 따른 특징 데이터를 추출할 수 있다. 예로서, 분석 대상이 URL의 문자 패턴, URL의 응답 웹 콘텐츠, URL의 응답 호스트로 정의되고, 각각의 분석 대상에 대응하는 특징 데이터로서 예컨대 URL 데이터, URL 콘텐츠 데이터, URL 호스트 데이터가 추출될 수 있다. As an embodiment, the
여기서, 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
일 실시예로서, 전처리 모듈(122)은 예측 대상 URL 데이터의 각 URL에 접속하여 수신된 응답 페이지 내에 포함된 내부 URL 및 외부 URL 각각을 추출하고, 추출된 내부 URL 및 외부 URL로부터 특징 데이터를 추출할 수도 있다. As an embodiment, the
일 실시예로서, 전처리 모듈(122)는 추출된 특징 데이터를 기계 학습 모델 기반으로 예측이 가능한 형태인 벡터 형식의 데이터로 변환 및 정규화(normalize) 작업을 수행할 수 있다. As an embodiment, the
예측 모듈(123)은 학습 모듈(113)에서 생성된 복수의 기계 학습 모델 각각을 로드하고, 로드된 각각의 기계 학습 모델을 이용하여 예측 대상 URL이 악성 URL인지 또는 정상 URL인지 여부에 관한 예측 결과를 생성한다. The
또한, 예측 모듈(123)은 각각의 기계 학습 모델을 이용하여 생성된 각각의 예측 결과에 모델 각각의 성능 수치를 적용하는 앙상블(ensemble) 기법을 활용하여 최종 예측 결과를 출력한다. In addition, the
일 실시예로서, 예측 모듈(123)은 학습 모듈(113)에서 생성된 복수의 기계 학습 모델 각각의 성능 수치를 로드한다. 여기서, 각각의 기계 학습 모델의 성능 수치는, 기계 학습을 통해 출력되는 모델 각각의 정확도(accuracy)를 이용하여 부여한 가중치에 관한 정보를 포함할 수 있다. As an embodiment, the
일 실시예로서, 예측 모듈(123)은 로드된 모델 각각의 성능 수치, 즉, 가중치에 관한 정보를 모델 각각의 예측 결과에 적용함에 의해 예측 대상 URL이 악성 URL인지 여부에 관한 최종 예측 결과를 출력할 수 있다. As an embodiment, the
도 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
도 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
도시된 구성에서, 수집 모듈(111)은 URL 자동 수집 서브 모듈(1111)을 포함하고, URL 자동 수집 서브 모듈(1111)은 외부 웹 사이트로부터 제공되는 악성 URL의 공개 출처 정보(1011)로부터 학습용 URL 데이터를 자동 수집하여 데이터 저장부(30)에 저장한다. 이 때, URL 자동 수집 서브 모듈(1111)은 예컨대 악성 URL을 제공하는 외부 웹 사이트를 크롤링하여 자동으로 학습용 URL 데이터를 수집할 수 있다. In the illustrated configuration, the
전처리 모듈(112)은 특징 추출 서브 모듈(1121) 및 특징 데이터 전처리 서브 모듈(1122)를 포함한다. 특징 추출 서브 모듈(1121)은 데이터 저장부(30)에 저장된 학습용 악성 URL 데이터를 로드하여 특징 데이터를 추출한 후 특징 데이터 전처리 서브 모듈(1122)로 전달한다. The
일 실시예로서, 특징 추출 서브 모듈(1121)은 학습용 악성 URL 데이터로부터 분석 대상에 따른 특징 데이터를 추출할 수 있다. 이 때, 특징 데이터로서 예컨대 URL 데이터, URL 콘텐츠 데이터, URL 호스트 데이터가 추출될 수 있다. 여기서, URL 데이터는 URL을 구성하고 있는 문자 패턴, 구문 등을 분석하는데 사용되고, URL 콘텐츠 데이터는 URL에 접속하여 수신되는 응답 페이지 내의 HTML 소스 코드, 스크립트 등 내부 콘텐츠를 분석하는데 사용될 수 있다. 또한, URL 호스트 데이터는 URL에 접속하여 수신되는 포트 스캔 결과 등의 네트워크 데이터를 분석하는데 사용될 수 있다.As an embodiment, the
특징 데이터 전처리 서브 모듈(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
학습 모듈(113)은 기계 학습 서브 모듈(1131) 및 모델 검증 서브 모듈(1132)를 포함한다. 기계 학습 서브 모듈(1131)은 특징 데이터 전처리 서브 모듈(1122)로부터 전달된 학습용 URL 데이터를 이용하여 기계 학습을 수행하고, 이로부터 복수의 기계 학습 모델을 생성한다.The
일 실시예로서, 기계 학습 서브 모듈(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
모델 검증 서브 모듈(1132)은 기계 학습 서브 모듈(1131)에서 생성된 복수의 모델 각각의 성능을 평가한다. 이 때, 모델 각각의 성능은 예컨대, 홀드 아웃(holdout), k-폴드(k-fold) 등의 방법을 이용하여 평가되고, 이로부터 모델 각각의 정확도(accuracy)가 산출될 수 있다. The
일 실시예로서, 모델 검증 서브 모듈(1132)은 산출된 모델 각각의 정확도를 이용하여 각 모델에 대한 가중치를 결정할 수 있다. 예로서, 모델 각각의 가중치는, 각각의 정확도(accuracy)의 평균 값을 계산하고, 각각의 정확도와 평균 값의 차이로 계산되는 평균 편차를 이용하여 산출될 수 있다.As an embodiment, the
상기와 같이 학습 모듈(113)에서 복수의 모델 생성 및 모델 각각의 성능 평가가 완료되면, 생성된 복수의 모델(102)과 모델 각각의 가중치가 출력될 수 있다. When the generation of the plurality of models and the performance evaluation of each model are completed in the
도 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
도시된 구성에서, 입력 모듈(121)은 상대/절대 URL 링크 추출 서브 모듈(1211)을 포함하고, 상대/절대 URL 링크 추출 서브 모듈(1211)은 사용자 단말(10) 또는 외부 장치로부터 제공되는 예측 대상 URL 데이터가 입력되면, 예측 대상 URL 데이터의 각 URL의 요청을 통해 응답 페이지를 수신하고, 응답 페이지 내에 포함된 내부 및 외부 URL을 상대 및 절대 URL로서 추출할 수 있다. 이에 따라, 상대/절대 URL 링크 추출 서브 모듈(1211)은 입력된 예측 대상 URL 데이터와 추출된 상대/절대 URL을 전처리 모듈(122)로 전달한다. In the illustrated configuration, the
전처리 모듈(122)은 특징 추출 서브 모듈(1221) 및 특징 데이터 전처리 서브 모듈(1222)를 포함한다. 특징 추출 서브 모듈(1221)은 상대/절대 URL 링크 추출 서브 모듈(1211)에서 전달된 예측 대상 URL 데이터와 상대/절대 URL로부터 특징 데이터를 추출한 후 특징 데이터 전처리 서브 모듈(1222)로 전달한다. The
일 실시예로서, 특징 추출 서브 모듈(1221)은 예측 대상 URL 데이터와 상대/절대 URL로부터 분석 대상에 따른 특징 데이터를 추출할 수 있다. 이 때, 특징 데이터로서 예컨대 URL 데이터, URL 콘텐츠 데이터, URL 호스트 데이터가 추출될 수 있다. 여기서, URL 데이터는, 프로토콜 및 3-레벨 도메인(third-level domain) 등과 같은 중복 요소를 제거한 순수 URL을 포함할 수 있다. URL 콘텐츠 데이터는, 응답 HTML 콘텐츠에서 HTML 길이 등과 같은 특징을 포함할 수 있다. URL 호스트 데이터는, 호스트 머신의 포트 상태 등과 같은 특징을 포함할 수 있다. As an embodiment, the
특징 데이터 전처리 서브 모듈(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
예측 모듈(123)은 예측 서브 모듈(1231) 및 앙상블 서브 모듈(1232)를 포함한다. 예측 서브 모듈(1231)은 학습 모듈(113)에서 생성된 복수의 기계 학습 모델(102)을 로드하고, 전처리 모듈(122)로부터 전달된 예측 대상 URL 데이터의 특징 데이터를 이용하여 로드된 각각의 모델에 의한 각각의 예측 결과를 생성하여 앙상블 서브 모델(1232)로 전달한다. 이 때, 각각의 예측 결과는, 각각의 모델을 이용하여 예측 대상 URL이 악성인지 또는 정상인지 여부를 예측한 결과를 포함한다. The
앙상블 서브 모델(1232)은 각각의 모델을 이용하여 생성된 각각의 예측 결과에 모델 각각의 성능 수치를 적용하는 앙상블(ensemble) 기법을 활용하여 최종 예측 결과(104)를 출력한다. The
일 실시예로서, 앙상블 서브 모델(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
일 실시예로서, 앙상블 서브 모델(1232)은 모델 각각의 성능 수치, 즉, 가중치에 관한 정보를 모델 각각의 예측 결과에 적용함에 의해 예측 대상 URL이 악성 URL인지 여부에 관한 최종 예측 결과(104)를 출력할 수 있다. As an embodiment, the
상기와 같은 본 발명의 실시예에 따라, 악성 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
다음으로, 동작 S62에서, 동작 S61에서 추출된 예측 대상 URL(611), 내부 URL(612) 및 외부 URL(613)로부터 특징 데이터를 추출하고, 기계 학습을 수행할 수 있는 형태로 전처리를 수행한다. Next, in operation S62, feature data is extracted from the
다음으로, 동작 S631에서, 동작 S62에 의해 전처리가 수행된 예측 대상 URL(611)을 복수의 기계 학습 모델에 입력하여 악성 URL인지 여부를 예측한다.Next, in operation S631, the
동작 S632에서는, 동작 S62에 의해 전처리가 수행된 내부 URL(612) 및 외부 URL(613)을 로지스틱 회귀 및 CNN 모델에 입력하여 악성 URL인지 여부를 예측한다.In operation S632, the
다음으로, 동작 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
마지막으로, 동작 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
도시된 예에서, 예측 서브 모듈(1231)에서 복수의 기계 학습 모델에 의한 각각의 예측 결과(71)로서 악성 또는 정상 URL인지 여부(72)가 출력된다. In the illustrated example, whether the URL is a malicious or
앙상블 서브 모듈(1232)은 학습 모듈(113)에서 생성된 복수의 모델(73) 각각의 정확도(74)와, 정확도(74)를 이용하여 계산된 모델 각각의 가중치(753)를 로드한다. 이 때, 모델 각각의 가중치(753)는, 각각의 정확도(74)의 평균 값(751)을 계산하고, 각각의 정확도(74)와 평균 값(751)의 차이로 계산되는 평균 편차(752)를 이용하여 산출될 수 있다. The ensemble sub-module 1232 loads the
앙상블 서브 모듈(1232)은 복수의 기계 학습 모델에 의한 각각의 예측 결과(71)로서 악성 또는 정상 URL인지 여부(72)가 입력되면, 악성 URL로 예측된 경우 및 정상 URL로 예측된 경우 각각에 대한 가중 평균값(76)을 산출한다. 예로서, 악성 URL로 예측된 경우의 가중 평균값(77)이 67.68이고, 정상 URL로 예측된 경우의 가중 평균값(77)이 58.8867 이므로, 더 큰 값을 가지는 악성 URL (78)을 최종 예측 결과로서 출력할 수 있다. The
일 실시예로서, 앙상블 서브 모듈(1232)에서 출력된 최종 예측 결과는 위험도 평가 모듈(80)로 전달되어, 예측 대상 URL에 대한 위험 요소들을 추가적으로 반영한 결과를 생성할 수도 있다.As an embodiment, the final prediction result output from the
*도 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
위험도 평가 모듈(80)은 도 7의 앙상블 서브 모듈(1232)로부터 출력되는 예측 결과(78)에 대해 추가적으로 위험도를 평가하여 최종 예측 결과에 반영할 수 있다.The
일 실시예로서, 위험도 평가 모듈(80)은 예측 대상 URL에 대한 위험 요소(81)를 조회할 수 있다. 여기서, 위험 요소(81)는, 예측 대상 URL를 이용하여, 예컨대 Alex 랭크 조회 모듈, 블랙 리스트 조회 모듈, Virus Total 조회 모듈, 과거 악성 코드 유포 이력 조회 모듈 등을 이용하여 조회된 외부 또는 내부 데이터를 포함할 수 있다. As an embodiment, the
위험도 평가 모듈(80)은 위험 요소(81) 각각의 조회 결과를 이용하여 위험 점수를 계산하는 테이블(82)을 이용하여 위험 점수(83)를 산출하고, 이를 앙상블 서브 모듈(1232)로부터 출력되는 예측 결과(78)에 반영하여 위험도(84)를 산출할 수 있다. 예로서, 예측 결과(78)로서 출력된 악성 URL의 가중 평균값인 67.68과, 위험 점수(83)로서 계산된 14를 합한 값으로 위험도(84)를 계산할 수 있다.The
상기와 같이, 위험도 평가 모듈(80)은 입력되는 예측 대상 URL 각각에 대한 위험도를 계산하고, 이를 이용하여 예측 대상 URL의 예측 결과를 출력할 수 있다. 즉, 예측 대상 URL에 대한 위험 요소(81)를 추가적으로 고려하여 계산된 위험도(84)를 이용하여 악성 URL인지 여부에 대한 최종 예측 결과를 얻을 수 있다. 일 실시예로서, 위험도 평가 모듈(80)에서 산출된 위험도에 관한 정보는 데이터 저장부(30)에 저장되어 관리될 수 있다. As described above, the
도 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
프로세서(101)는 컴퓨팅 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(101)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(101)는 본 발명의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.The
메모리(103)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(103)는 본 발명의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(104)로부터 하나 이상의 프로그램(105)을 로드(load) 할 수 있다. 예를 들어, 컴퓨터 프로그램(105)이 메모리(103)에 로드 되면, 로직(또는 모듈)이 메모리(103) 상에 구현될 수 있다. 메모리(103)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다.The
버스(107)는 컴퓨팅 장치(100)의 구성 요소 간 통신 기능을 제공한다. 버스(107)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.The
네트워크 인터페이스(102)는 컴퓨팅 장치(100)의 유무선 인터넷 통신을 지원한다. 네트워크 인터페이스(102)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(102)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.The
스토리지(104)는 하나 이상의 컴퓨터 프로그램(105)을 비임시적으로 저장할 수 있다. 스토리지(104)는 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다. The
컴퓨터 프로그램(105)은 본 발명의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들(instructions)을 포함할 수 있다. 컴퓨터 프로그램(105)이 메모리(103)에 로드 되면, 프로세서(101)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 발명의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.The
예를 들어, 컴퓨터 프로그램(105)은 학습용 URL 데이터를 이용한 기계 학습을 수행하여 복수의 모델을 생성하고, 상기 복수의 모델 각각의 성능 수치를 출력하되, 상기 복수의 모델은 서로 다른 기계 학습 방법론(methodology)에 의하여 생성되는 것인, 동작, 예측 대상 URL의 특징 데이터를 상기 생성된 복수의 모델에 입력하여 상기 모델 각각에 의한 예측 결과를 출력하는 동작, 및 상기 모델 각각의 성능 수치를 상기 모델 각각의 예측 결과에 적용하여 상기 예측 대상 URL이 악성 URL인지 여부를 예측하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함할 수 있다. For example, the
지금까지 도 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.
상기 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.
상기 학습 데이터 중 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.
상기 복수의 모델 각각의 성능 수치를 이용하여 상기 모델 각각의 가중치를 산출하는 단계는,
상기 모델 각각의 성능 수치로서 상기 모델 각각의 정확도를 획득하는 단계; 및
상기 모델 각각의 정확도를 이용하여 상기 모델 각각의 가중치를 계산하는 단계를 포함하는,
다중 기계 학습 기반 악성 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.
상기 예측 대상 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.
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)
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)
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 |
-
2020
- 2020-10-29 KR KR1020200141625A patent/KR102313843B1/en active IP Right Grant
-
2021
- 2021-10-12 KR KR1020210134826A patent/KR102438527B1/en active IP Right Grant
Non-Patent Citations (1)
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 |