KR102072288B1 - GANs을 이용한 보안 로그 데이터의 이상 탐지 방법 및 이를 수행하는 장치들 - Google Patents
GANs을 이용한 보안 로그 데이터의 이상 탐지 방법 및 이를 수행하는 장치들 Download PDFInfo
- Publication number
- KR102072288B1 KR102072288B1 KR1020180021993A KR20180021993A KR102072288B1 KR 102072288 B1 KR102072288 B1 KR 102072288B1 KR 1020180021993 A KR1020180021993 A KR 1020180021993A KR 20180021993 A KR20180021993 A KR 20180021993A KR 102072288 B1 KR102072288 B1 KR 102072288B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- normal
- similar
- normal data
- abnormality
- 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/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Debugging And Monitoring (AREA)
Abstract
GANs을 이용한 보안 로그 데이터의 이상 탐지 방법 및 이를 수행하는 장치들이 개시된다. 일 실시예에 따른 이상 탐지 방법은 복수의 장치들 중에서 적어도 하나의 데이터를 획득하는 단계와, 정상적인 데이터 및 상기 정상적인 데이터를 통해 생성된 기준 데이터를 포함하는 정상 데이터 셋을 이용하여 상기 적어도 하나의 데이터의 이상 여부를 탐지하는 단계를 포함한다.
Description
아래 실시예들은 GANs을 이용한 보안 로그 데이터의 이상 탐지 방법 및 이를 수행하는 장치들에 관한 것이다.
최근에는 사물 인터넷(internet of things; IoT)의 지능화 및 네트워크 기술이 급속도록 발전하고 있다. 사물 인터넷 및 네트워크 기술이 발전함에 따라, 사물 인터넷 및 네트워크의 사량용은 급증하고 있다.
사물 인터넷은 사물 인터넷을 사용하는 사용자의 삶의 질을 향상시키고, 기업 및 기관의 생산성을 높이거나 공공 기관이 제공하는 혁신적인 서비스를 도울 수 있다. 예를 들어, 사물 인터넷은 개인을 포함한 복수의 사용자에게 편리하고 효율적인 서비스를 제공하여 사용자의 삶의 질을 향상시킬 수 있다.
사물 인터넷 및 네트워크 기술의 비약적인 발전에 따라, 네트워크 상에서는 수 많은 기기의 이상행위가 탐지되고 있다. 예를 들어, 사물 인터넷 기기 및 네트워크에서는 비정상적인 행위가 감지되고 악의적인 행위 예를 들어, 멀웨어 등의 악성 코드가 배포될 수 있다.
실시예들은 정상적인 데이터와 정상적인 데이터를 통해 생성된 기준 데이터를 포함하는 정상 데이터 셋을 이용하여 복수의 장치들 중에서 적어도 하나의 데이터의 이상 여부를 탐지함으로써, 데이터의 이상 여부를 보다 능동적이고, 효율적으로 탐지하는 기술을 제공할 수 있다.
또한, 실시예들은 GANs 모델(generative adverdarial networks model)을 통해 정상적인 데이터를 학습하여 정상적인 데이터와 유사한 기준 데이터를 생성함으로써, 정상이라고 판단되는 데이터의 범위를 확장시키는 기술을 제공할 수 있다.
일 실시예에 따른 이상 탐지 방법은 복수의 장치들 중에서 적어도 하나의 데이터를 획득하는 단계와, 정상적인 데이터 및 상기 정상적인 데이터를 통해 생성된 기준 데이터를 포함하는 정상 데이터 셋을 이용하여 상기 적어도 하나의 데이터의 이상 여부를 탐지하는 단계를 포함한다.
상기 적어도 하나의 데이터는 텍스트 형식의 로그 데이터일 수 있다.
상기 정상적인 데이터는 악성 코드가 감지되지 않는 텍스트 형식의 로그 데이터일 수 있다.
상기 기준 데이터는 상기 정상적인 데이터와 유사한 텍스트 형식의 로그 데이터일 수 있다.
상기 적어도 하나의 데이터의 이상 여부는 상기 적어도 하나의 데이터에 악성 코드가 포함되는지 여부일 수 있다.
상기 제공하는 단계는 상기 정상 데이터 셋을 수치화하여 제1 수치화 데이터를 생성하는 단계와, 상기 적어도 하나의 데이터를 수치화하여 제2 수치화 데이터를 생성하는 단계와, 상기 제1 수치화 데이터와 상기 제2 수치화 데이터간의 유사 여부를 판단하여 상기 적어도 하나의 데이터의 이상 여부를 탐지하는 단계와, 상기 탐지 결과에 따른 상기 적어도 하나의 데이터의 이상 여부 탐지 결과에 대한 정보를 제공하는 단계를 포함할 수 있다.
일 실시예에 따른 이상 탐지 방법은 GANs 모델을 통해 상기 정상적인 데이터를 학습하여 상기 기준 데이터를 생성하는 단계를 더 포함할 수 있다.
상기 생성하는 단계는 상기 정상적인 데이터와 유사한 유사 데이터를 생성하는 단계와, 상기 정상적인 데이터와 상기 유사 데이터간의 유사 여부를 판단하는 단계와, 상기 판단 결과에 기초하여 상기 유사 데이터을 상기 기준 데이터로 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 이상 탐지 방법은 상기 기준 데이터 및 상기 적어도 하나의 데이터 중에서 적어도 하나를 이용하여 상기 정상 데이터 셋을 업데이트하는 단계를 더 포함할 수 있다.
상기 업데이트하는 단계는 상기 기준 데이터가 생성되는 경우, 상기 기준 데이터를 상기 정상 데이터 셋에 포함하여 상기 정상 데이터 셋을 업데이트하는 단계와, 상기 적어도 하나의 데이터의 이상 여부가 정상인 경우, 상기 적어도 하나의 데이터를 상기 정상 데이터 셋에 포함하여 상기 정상 데이터 셋을 업데이트하는 단계를 포함할 수 있다.
일 실시예에 따른 이상 탐지 장치는 통신 모듈과, 상기 통신 모듈을 통해 복수의 장치들 중에서 적어도 하나의 데이터를 획득하고,정상적인 데이터 및 상기 정상적인 데이터를 통해 생성된 기준 데이터를 포함하는 정상 데이터 셋을 이용하여 상기 적어도 하나의 데이터의 이상 여부를 탐지하는 컨트롤러를 포함한다.
상기 적어도 하나의 데이터는 텍스트 형식의 로그 데이터일 수 있다.
상기 정상적인 데이터는 악성 코드가 감지되지 않는 텍스트 형식의 로그 데이터일 수 있다.
상기 기준 데이터는 상기 정상적인 데이터와 유사한 텍스트 형식의 로그 데이터일 수 있다.
상기 적어도 하나의 데이터의 이상 여부는 상기 적어도 하나의 데이터에 악성 코드가 포함되는지 여부일 수 있다.
상기 컨트롤러는 상기 정상 데이터 셋을 수치화하여 제1 수치화 데이터를 생성하고, 상기 적어도 하나의 데이터를 수치화하여 제2 수치화 데이터를 생성하고, 상기 제1 수치화 데이터와 상기 제2 수치화 데이터간의 유사 여부를 판단하여 상기 적어도 하나의 데이터의 이상 여부를 탐지하고, 상기 탐지 결과에 따른 상기 적어도 하나의 데이터의 이상 여부 탐지 결과에 대한 정보를 제공하는 탐지 모듈을 포함할 수 있다.
상기 컨트롤러는 GANs 모델(generative adverdarial networks model)을 통해 상기 정상적인 데이터를 학습하여 상기 기준 데이터를 생성하는 생성 모듈을 포함할 수 있다.
상기 생성 모듈은 상기 정상적인 데이터와 유사한 유사 데이터를 생성하고, 상기 정상적인 데이터와 상기 유사 데이터간의 유사 여부를 판단하고, 상기 판단 결과에 기초하여 상기 유사 데이터을 상기 기준 데이터로 결정할 수 있다.
상기 컨트롤러는 상기 기준 데이터 및 상기 적어도 하나의 데이터 중에서 적어도 하나를 이용하여 상기 정상 데이터 셋을 업데이트하는 업데이트 모듈을 포함할 수 있다.
상기 업데이트 모듈은 상기 기준 데이터가 생성되는 경우, 상기 기준 데이터를 상기 정상 데이터 셋에 포함하여 상기 정상 데이터 셋을 업데이트하고, 상기 적어도 하나의 데이터의 이상 여부가 정상인 경우, 상기 적어도 하나의 데이터를 상기 정상 데이터 셋에 포함하여 상기 정상 데이터 셋을 업데이트할 수 있다.
도 1은 일 실시예에 따른 이상 탐지 시스템의 개략적인 블록도를 나타낸다.
도 2는 도 1에 도시된 이상 탐지 장치의 개략적인 블록도를 나타낸다.
도 3은 일 실시예에 따른 텍스트 형식의 로그 데이터를 설명하기 위한 일 예를 나타낸다.
도 4는 일 실시예에 따른 기준 데이터를 설명하기 위한 일 예를 나타낸다.
도 5는 도 1에 도시된 이상 탐지 장치의 동작을 설명하기 위한 순서도를 나타낸다.
도 2는 도 1에 도시된 이상 탐지 장치의 개략적인 블록도를 나타낸다.
도 3은 일 실시예에 따른 텍스트 형식의 로그 데이터를 설명하기 위한 일 예를 나타낸다.
도 4는 일 실시예에 따른 기준 데이터를 설명하기 위한 일 예를 나타낸다.
도 5는 도 1에 도시된 이상 탐지 장치의 동작을 설명하기 위한 순서도를 나타낸다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
제1 또는 제2등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해서 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 실시예의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 실시예에 따른 이상 탐지 시스템의 개략적인 블록도를 나타낸다.
도 1을 참조하면, 이상 탐지 시스템(an adnormal detecting system; 10)은 복수의 장치들(a plural apparatus; 100), 이상 탐지 장치(an adnormal detecing apparatus; 200) 및 사용자 장치(a user apparatus; 300)를 포함한다.
복수의 장치들(100)은 네트워크 상에 연결된 다양한 장치일 수 있다. 예를 들어, 복수의 장치들(100)은 IoT(internet of things) 장치일 수 있다. 상술한 바와 같이 복수의 장치들(100)이 IoT 장치이지만, 이에 한정하는 것은 아니다. 예를 들어, 복수의 장치들(100)은 네트워크 및 IoT 환경 중에서 적어도 하나에 데이터를 송수신하는 다양한 장치, 디바이스 및 노드일 수 있다.
복수의 장치들(100)은 전자 장치로 구현될 수 있다. 예를 들어, 전자 장치는 PC(personal computer), 데이터 서버, 또는 휴대용 전자 장치로 구현될 수 있다.
휴대용 전자 장치는 랩탑(laptop) 컴퓨터, 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, 모바일 인터넷 디바이스(mobile internet device(MID)), PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), e-북(e-book), 스마트 디바이스(smart device)으로 구현될 수 있다. 이때, 스마트 디바이스는 스마트 워치(smart watch) 또는 스마트 밴드(smart band)로 구현될 수 있다.
복수의 장치들(100)은 이상 탐지 장치(200)와 통신을 수행할 수 있다. 예를 들어, 복수의 장치들(100)은 인터넷 통신망, 인트라넷, 근거리 통신망(LAN), 무선 LAN, Wi-Fi, LF, Xbee, Zigbee, Blue-Tooth 및 Beacon 등 다양한 기반으로 이상 탐지 장치(200)와 통신을 수행할 수 있다.
복수의 장치들(100)은 복수의 장치들(100)이 생성 및/또는 감지한 신호(또는 데이터)를 이상 탐지 장치(200)에 전송할 수 있다.
이상 탐지 장치(200)는 정상적인 데이터와 정상적인 데이터를 통해 생성된 기준 데이터를 포함하는 정상 데이터 셋을 이용하여 복수의 장치들(100) 중에서 적어도 하나의 데이터의 이상 여부를 탐지할 수 있다.
이상 탐지 장치(200)는 GANs 모델을 통해 정상적인 데이터를 학습하여 정상적인 데이터와 유사한 기준 데이터를 생성할 수 있다.
즉, 이상 탐지 장치(200)는 정상적인 데이터와 정상적인 데이터를 통해 생성된 기준 데이터를 포함하는 정상 데이터 셋을 이용하여 복수의 장치들(100) 중에서 적어도 하나의 데이터의 이상 여부를 탐지함으로써, 데이터의 이상 여부를 보다 능동적이고, 효율적으로 탐지할 수 있다.
또한, 이상 탐지 장치(200)는 GANs 모델을 통해 정상적인 데이터를 학습하여 정상적인 데이터와 유사한 기준 데이터를 생성함으로써, 정상이라고 판단되는 데이터의 범위를 확장시킬 수 있다.
사용자 장치(300)는 사용자가 사용하는 전자 장치로 구현될 수 있다. 예를 들어, 전자 장치는 PC(personal computer), 데이터 서버, 또는 휴대용 전자 장치로 구현될 수 있다. 휴대용 전자 장치는 랩탑(laptop) 컴퓨터, 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, 모바일 인터넷 디바이스(mobile internet device(MID)), PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), e-북(e-book), 스마트 디바이스(smart device)으로 구현될 수 있다. 이때, 스마트 디바이스는 스마트 워치(smart watch) 또는 스마트 밴드(smart band)로 구현될 수 있다.
사용자 장치(300)는 이상 탐지 장치(200)와 통신을 수행할 수 있다. 예를 들어, 사용자 장치(300)는 인터넷 통신망, 인트라넷, 근거리 통신망(LAN), HDMI(high definition mutimedia interface) 케이블, 무선 LAN, Wi-Fi, LF, Xbee, Zigbee, Blue-Tooth 및 Beacon 등 다양한 기반으로 이상 탐지 장치(200)와 통신을 수행할 수 있다.
사용자 장치(300)는 이상 탐지 장치(200)로부터 전송된 신호(또는 데이터)를 시각화할 수 있다. 예를 들어, 이상 탐지 장치(200)로부터 전송된 신호는 복수의 장치들(100) 중에서 적어도 하나의 데이터의 이상 여부 탐지 결과에 대한 정보일 수 있다. 복수의 장치들(100)을 사용하는 사용자는 이상 여부 탐지 결과에 따라 복수의 장치들(100)을 관리할 수 있다.
도 2는 도 1에 도시된 이상 탐지 장치의 개략적인 블록도를 나타내고, 도 3은 일 실시예에 따른 텍스트 형식의 로그 데이터를 설명하기 위한 일 예를 나타내고, 도 4는 일 실시예에 따른 기준 데이터를 설명하기 위한 일 예를 나타낸다.
도 2 내지 도 4를 참조하면, 이상 탐지 장치(200)는 통신 모듈(a communication module; 210) 및 컨트롤러(a controller; 230)를 포함한다.
통신 모듈(210)은 복수의 장치들(100) 및 사용자 장치(300) 중에서 적어도 하나와 통신을 수행할 수 있다.
예를 들어, 통신 모듈(210)은 복수의 장치들(100)로부터 전송된 신호(또는 데이터)를 수신하여 컨트롤러(230)에 전송할 수 있다.
통신 모듈(210)은 컨트롤러(230)로부터 전송된 신호를 수신하여 사용자 장치(300)에 전송할 수 있다.
컨트롤러(230)는 이상 탐지 장치(200)의 전반적인 동작을 제어할 수 있다. 예를 들어, 컨트롤러(230)는 통신 모듈(210)의 동작을 제어할 수 있다.
컨트롤러(230)는 탐지 모듈(a detection module; 231), 생성 모듈(a generation module; 233) 및 업데이트 모듈(a update module; 235)을 포함할 수 있다.
탐지 모듈(231)은 복수의 장치들(100) 중에서 적어도 하나의 데이터를 획득할 수 있다. 예를 들어, 적어도 하나의 데이터는 실시간으로 획득(또는 입력)되는 텍스트 형식(예를 들어, TCP dump, system log)의 로그 데이터일 수 있다.
탐지 모듈(231)은 정상적인 데이터 및 정상적인 데이터를 통해 생성된 기준 데이터를 포함하는 정상 데이터 셋을 이용하여 복수의 장치들(100) 중에서 적어도 하나의 데이터의 이상 여부를 탐지할 수 있다. 정상적인 데이터는 복수의 장치들(100)의 복수의 데이터들 중에서 정상이라고 판단되어 이상 탐지 장치(200)의 데이터 베이스(미도시)에 저장된 데이터일 수 있다. 정상적인 데이터는 악성 코드가 감지되지 않는 텍스트 형식의 로그 데이터일 수 있다. 악성 코드는 악의적인 행위 및 비 정상적인 행위 예를 들어, 멜워어에 포함된 악성 코드일 수 있다. 기준 데이터는 정상적인 데이터와 유사한 텍스트 형식의 로그 데이터일 수 있다. 정상 데이터 셋은 정상적인 데이터 및 기준 데이터를 포함함으로써 비정상적인 데이터를 효율적으로 탐지하는 탐지 기준일 수 있다.
예를 들어, 탐지 모듈(231)은 Gumbel-softmax의 수학적 지표를 이용하여 정상 데이터 셋를 수치화하여 제1 수치화 데이터를 생성할 수 있다. 구체적으로, 탐지 모듈(231)은 도 3과 같은 텍스트 형식의 로그 데이터인 정상적인 데이터에 포함된 콤마(,)를 기준으로 정상적인 데이터를 분리할 수 있다. 탐지 모듈(231)은 분리된 정상적인 데이터 각각을 세로로 정렬하여 수치화할 수 있다. 탐지 모듈(231)은 수치화된 정상적인 데이터 각각에 가중치를 부여하여 정상적인 데이터에 대한 수치화 데이터를 생성할 수 있다.
탐지 모듈(231)은 정상적인 데이터에 대한 수치화 데이터를 생성하는 방법과 동일한 방법으로 기준 데이터에 대한 수치화 데이터를 생성할 수 있다.
탐지 모듈(231)은 정상적인 데이터에 대한 수치화 데이터 및 기준 데이터에 대한 수치화 데이터를 포함하는 제1 수치화 데이터를 생성할 수 있다.
탐지 모듈(231)은 복수의 장치들(100) 중에서 적어도 하나의 데이터를 수치화하여 제2 수치화 데이터를 생성할 수 있다. 예를 들어, 제2 수치화 데이터는 정상적인 데이터에 대한 수치화 데이터를 생성하는 방법과 동일한 방법으로 생성될 수 있다.
탐지 모듈(231)은 제1 수치화 데이터와 제2 수치화 데이터간의 유사 여부를 판단하여 복수의 장치들(100) 중에서 적어도 하나의 데이터의 이상 여부를 탐지할 수 있다.
먼저, 탐지 모듈(231)은 제1 수치화 데이터와 제2 수치화 데이터를 비교하여 제1 수치화 데이터와 제2 수치화 데이터간의 유사 여부를 판단할 수 있다.
제1 수치화 데이터를 기준으로 제2 수치화 데이터가 너무 높거나 낮은 경우, 탐지 모듈(231)은 제1 수치화 데이터와 제2 수치화 데이터간의 유사 여부를 유사하지 않다고 판단할 수 있다.
제1 수치화 데이터를 기준으로 제2 수치화 데이터가 너무 높거나 낮지 않은 경우, 탐지 모듈(231)은 제1 수치화 데이터와 제2 수치화 데이터간의 유사 여부를 유사하다고 판단할 수 있다.
이후에, 탐지 모듈(231)은 판단 결과에 기초하여 복수의 장치들(100) 중에서 적어도 하나의 데이터의 이상 여부를 탐지할 수 있다. 적어도 하나의 데이터의 이상 여부는 적어도 하나의 데이터에 악성 코드가 포함되는지 여부일 수 있다.
제1 수치화 데이터와 제2 수치화 데이터가 유사한 경우, 탐지 모듈(231)은 적어도 하나의 데이터의 이상 여부를 정상으로 탐지할 수 있다. 정상으로 탐지된 적어도 하나의 데이터는 악성 코드가 포함되지 않은 데이터일 수 있다.
제1 수치화 데이터와 제2 수치화 데이터가 유사하지 않는 경우, 탐지 모듈(231)은 적어도 하나의 데이터의 이상 여부를 비정상으로 탐지할 수 있다. 비정상으로 탐지된 적어도 하나의 데이터는 악성 코드가 포함된 데이터 즉, 비정상적인 데이터일 수 있다.
탐지 모듈(231)은 탐지 결과에 따른 복수의 장치들(100) 중에서 적어도 하나의 데이터의 이상 여부 탐지 결과에 대한 정보를 사용자 장치(300)에 제공할 수 있다.
적어도 하나의 데이터의 이상 여부가 비정상인 경우, 탐지 모듈(231)은 적어도 하나의 데이터의 이상 여부 탐지 결과에 대한 정보를 진동, 알람 및 메시지 중에서 적어도 하나로 사용자 장치(300)에 제공할 수 있다.
즉, 탐지 모듈(231)은 정상적인 데이터 및 기준 데이터가 포함된 정상 데이터 셋과 복수의 장치들(200) 중에서 적어도 하나의 데이터간의 유사 여부를 판단함으로써, 적어도 하나의 데이터의 이상 여부를 탐지하고, 적어도 하나의 데이터의 이상 여부 탐지 결과에 대한 정보를 제공할 수 있다.
생성 모듈(233)은 GANs 모델(generative adverdarial networks model)을 통해 정상적인 데이터를 학습하여 기준 데이터를 생성할 수 있다. GANs 모델은 GANs 모델의 생성 모델 및 판별 모델을 이용하여 정상적인 데이터를 학습하는 모델일 수 있다.
예를 들어, 생성 모듈(233)은 GANs 모델의 생성 모델을 이용하여 정상적인 데이터를 학습함으로써 정상적인 데이터와 유사한 유사 데이터를 생성할 수 있다.
먼저, 생성 모듈(233)은 생성 모델을 이용하여 정상적인 데이터의 샘플을 추출할 수 있다.
이후에, 생성 모듈(233)은 추출된 샘플을 이용하여 유사 데이터를 생성할 수 있다. 예를 들어, 생성 모듈(233)은 텍스트 마이닝 기법(예를 들어, LSTM 모델 및 검벨 분포)을 이용하여 추출된 샘플과 유사한 유사 데이터를 생성할 수 있다. 유사 데이터는 텍스트 형식의 로그 데이터로써, 일정량 이상의 정상적인 데이터의 샘플을 통해 생성될 수 있다. 일정량 이상은 미리 설정된 수량일 수 있다.
생성 모듈(233)은 GANs 모델의 판별 모델을 이용하여 정상적인 데이터와 유사 데이터간의 유사 여부를 판단할 수 있다. 예를 들어, 생성 모듈(233)은 정상적인 데이터의 샘플과 유사 데이터간의 유사 여부를 통해 정상적인 데이터와 유사 데이터간의 유사 여부를 판단할 수 있다.
생성 모듈(233)은 판단 결과에 기초하여 유사 데이터를 기준 데이터로 결정할 수 있다.
정상적인 데이터와 유사 데이터가 유사한 경우, 생성 모듈(233)은 정상이라고 판단된 유사 데이터를 기준 데이터로 결정할 수 있다.
정상적인 데이터와 유사 데이터가 유사하지 않거나 유사 여부가 판단되지 않는 경우, 생성 모듈(233)은 비정상이라고 판단된 유사 데이터를 기준 데이터로 결정하지 않을 수 있다.
유사 데이터는 도 4와 같이 기준 데이터로 결정되는 수가 기준 데이터로 결정되지 않는 수보다 많을 수 있다.
즉, 생성 모듈(233)은 GANs 모델을 통해 정상적인 데이터를 학습하여 정상적인 데이터와 유사한 기준 데이터를 생성함으로써, 정상이라고 판단되는 데이터의 범위를 확장시킬 수 있다.
업데이트 모듈(235)은 기준 데이터 및 복수의 장치들(100) 중에서 적어도 하나의 데이터 중에서 적어도 하나를 이용하여 정상 데이터 셋을 업데이트할 수 있다.
기준 데이터가 생성되는 경우, 업데이트 모듈(235)은 기준 데이터를 정상 데이터 셋에 포함하여 정상 데이터 셋을 업데이트할 수 있다.
적어도 하나의 데이터의 이상 여부가 정상인 경우, 업데이트 모듈(235)은 적어도 하나의 데이터를 정상 데이터 셋에 포함하여 정상 데이터 셋을 업데이트할 수 있다.
즉, 업데이트 모듈(235)은 기준 데이터 및 적어도 하나의 데이터를 이용하여 정상 데이터 셋을 업데이트함으로써, 정상적인 데이터의 수를 증가시킬 수 있다.
본 명세서에서의 모듈(module)은 본 명세서에서 설명되는 각 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 특정 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 또는 특정 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예를 들어 프로세서 또는 마이크로 프로세서를 의미할 수 있다.
다시 말해, 모듈이란 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.
도 5는 도 1에 도시된 이상 탐지 장치의 동작을 설명하기 위한 순서도를 나타낸다.
도 5를 참조하면, 탐지 모듈(231)은 복수의 장치들(100) 중에서 적어도 하나의 데이터를 획득할 수 있다(S410).
탐지 모듈(231)은 정상 데이터 셋과 적어도 하나의 데이터간의 유사 여부를 판담함으로써, 적어도 하나의 데이터의 이상 여부를 탐지할 수 있다(S420).
정상 데이터 셋은 정상적인 데이터와 정상적인 데이터를 통해 생성된 기준 데이터를 포함할 수 있다.
적어도 하나의 데이터의 이상 여부가 비정상인 경우, 탐지 모듈(231)은 적어도 하나의 데이터의 이상 여부 탐지 결과에 대한 정보를 사용자 장치(300)에 제공할 수 있다(S430).
생성 모듈(233)은 GANs 모델을 통해 정상적인 데이터를 학습하여(S440) 정상적인 데이터와 유사한 기준 데이터를 생성할 수 있다(S450).
기준 데이터가 생성되거나 적어도 하나의 데이터의 이상 여부가 정상인 경우, 업데이트 모듈(235)은 기준 데이터 및 적어도 하나의 데이터를 정상 데이터 셋에 포함하여 정상 데이터 셋을 업데이트할 수 있다(S460).
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
Claims (20)
- 복수의 장치들 중에서 적어도 하나의 데이터를 획득하는 단계; 및
정상적인 데이터 및 상기 정상적인 데이터를 통해 생성된 기준 데이터를 포함하는 정상 데이터 셋을 이용하여 상기 적어도 하나의 데이터의 이상 여부를 탐지하는 단계
를 포함하고,
상기 탐지하는 단계는,
Gumbel-softmax의 수학적 지표를 통해 상기 정상적인 데이터, 상기 기준 데이터 및 상기 적어도 하나의 데이터에 포함된 콤마를 기준으로 상기 정상 적인 데이터, 상기 기준 데이터 및 상기 적어도 하나의 데이터를 분리하고, 분리된 정상 적인 데이터 각각, 분리된 기준 데이터 각각 및 분리된 적어도 하나의 데이터 각각을 세로로 정렬하여 수치화한 수치화 데이터에 기초하여 상기 적어도 하나의 데이터의 이상 여부를 탐지하는 단계
를 포함하는 이상 탐지 방법.
- 제1항에 있어서,
상기 적어도 하나의 데이터는 텍스트 형식의 로그 데이터인 이상 탐지 방법.
- 제1항에 있어서,
상기 정상적인 데이터는 악성 코드가 감지되지 않는 텍스트 형식의 로그 데이터인 이상 탐지 방법.
- 제1항에 있어서,
상기 기준 데이터는 상기 정상적인 데이터와 유사한 텍스트 형식의 로그 데이터인 이상 탐지 방법.
- 제1항에 있어서,
상기 적어도 하나의 데이터의 이상 여부는 상기 적어도 하나의 데이터에 악성 코드가 포함되는지 여부인 이상 탐지 방법.
- 제1항에 있어서,
상기 Gumbel-softmax의 수학적 지표를 통해 상기 정상적인 데이터, 상기 기준 데이터 및 상기 적어도 하나의 데이터를 콤마를 기준으로 세로로 정렬하여 수치화한 수치화 데이터에 기초하여 상기 적어도 하나의 데이터의 이상 여부를 탐지하는 단계는,
상기 정상적인 데이터를 수치화한 데이터와 상기 기준 데이터를 수치화한 데이터를 포함하는 제1 수치화 데이터를 생성하는 단계;
상기 적어도 하나의 데이터를 수치화하여 제2 수치화 데이터를 생성하는 단계;
상기 제1 수치화 데이터와 상기 제2 수치화 데이터간의 유사 여부를 판단하여 상기 적어도 하나의 데이터의 이상 여부를 탐지하는 단계; 및
상기 탐지 결과에 따른 상기 적어도 하나의 데이터의 이상 여부 탐지 결과에 대한 정보를 제공하는 단계
를 포함하는 이상 탐지 방법.
- 제1항에 있어서,
GANs 모델(generative adverdarial networks model)을 통해 상기 정상적인 데이터를 학습하여 상기 기준 데이터를 생성하는 단계
를 더 포함하는 이상 탐지 방법.
- 제7항에 있어서,
상기 생성하는 단계는,
상기 정상적인 데이터와 유사한 유사 데이터를 생성하는 단계;
상기 정상적인 데이터와 상기 유사 데이터간의 유사 여부를 판단하는 단계; 및
상기 판단 결과에 기초하여 상기 유사 데이터을 상기 기준 데이터로 결정하는 단계
를 포함하는 이상 탐지 방법.
- 제1항에 있어서,
상기 기준 데이터 및 상기 적어도 하나의 데이터 중에서 적어도 하나를 이용하여 상기 정상 데이터 셋을 업데이트하는 단계
를 더 포함하는 이상 탐지 방법.
- 제9항에 있어서,
상기 업데이트하는 단계는,
상기 기준 데이터가 생성되는 경우, 상기 기준 데이터를 상기 정상 데이터 셋에 포함하여 상기 정상 데이터 셋을 업데이트하는 단계; 및
상기 적어도 하나의 데이터의 이상 여부가 정상인 경우, 상기 적어도 하나의 데이터를 상기 정상 데이터 셋에 포함하여 상기 정상 데이터 셋을 업데이트하는 단계
를 포함하는 이상 탐지 방법.
- 통신 모듈; 및
상기 통신 모듈을 통해 복수의 장치들 중에서 적어도 하나의 데이터를 획득하고,
정상적인 데이터 및 상기 정상적인 데이터를 통해 생성된 기준 데이터를 포함하는 정상 데이터 셋을 이용하여 상기 적어도 하나의 데이터의 이상 여부를 탐지하는 컨트롤러
를 포함하고,
상기 컨트롤러는 Gumbel-softmax의 수학적 지표를 통해 상기 정상적인 데이터, 상기 기준 데이터 및 상기 적어도 하나의 데이터에 포함된 콤마를 기준으로 상기 정상 적인 데이터, 상기 기준 데이터 및 상기 적어도 하나의 데이터를 분리하고, 분리된 정상 적인 데이터 각각, 분리된 기준 데이터 각각 및 분리된 적어도 하나의 데이터 각각을 세로로 정렬하여 수치화한 수치화 데이터에 기초하여 상기 적어도 하나의 데이터의 이상 여부를 탐지하는 이상 탐지 장치.
- 제11항에 있어서,
상기 적어도 하나의 데이터는 텍스트 형식의 로그 데이터인 이상 탐지 장치.
- 제11항에 있어서,
상기 정상적인 데이터는 악성 코드가 감지되지 않는 텍스트 형식의 로그 데이터인 이상 탐지 장치.
- 제11항에 있어서,
상기 기준 데이터는 상기 정상적인 데이터와 유사한 텍스트 형식의 로그 데이터인 이상 탐지 장치.
- 제11항에 있어서,
상기 적어도 하나의 데이터의 이상 여부는 상기 적어도 하나의 데이터에 악성 코드가 포함되는지 여부인 이상 탐지 장치.
- 제11항에 있어서,
상기 컨트롤러는,
상기 정상적인 데이터를 수치화한 데이터와 상기 기준 데이터를 수치화한 데이터를 포함하는 제1 수치화 데이터를 생성하고,
상기 적어도 하나의 데이터를 수치화하여 제2 수치화 데이터를 생성하고,
상기 제1 수치화 데이터와 상기 제2 수치화 데이터간의 유사 여부를 판단하여 상기 적어도 하나의 데이터의 이상 여부를 탐지하고,
상기 탐지 결과에 따른 상기 적어도 하나의 데이터의 이상 여부 탐지 결과에 대한 정보를 제공하는 탐지 모듈
을 포함하는 이상 탐지 장치.
- 제11항에 있어서,
상기 컨트롤러는,
GANs 모델(generative adverdarial networks model)을 통해 상기 정상적인 데이터를 학습하여 상기 기준 데이터를 생성하는 생성 모듈
을 포함하는 이상 탐지 장치.
- 제17항에 있어서,
상기 생성 모듈은,
상기 정상적인 데이터와 유사한 유사 데이터를 생성하고,
상기 정상적인 데이터와 상기 유사 데이터간의 유사 여부를 판단하고,
상기 판단 결과에 기초하여 상기 유사 데이터을 상기 기준 데이터로 결정하는 이상 탐지 장치.
- 제11항에 있어서,
상기 컨트롤러는,
상기 기준 데이터 및 상기 적어도 하나의 데이터 중에서 적어도 하나를 이용하여 상기 정상 데이터 셋을 업데이트하는 업데이트 모듈
을 포함하는 이상 탐지 장치.
- 제19항에 있어서,
상기 업데이트 모듈은,
상기 기준 데이터가 생성되는 경우, 상기 기준 데이터를 상기 정상 데이터 셋에 포함하여 상기 정상 데이터 셋을 업데이트하고,
상기 적어도 하나의 데이터의 이상 여부가 정상인 경우, 상기 적어도 하나의 데이터를 상기 정상 데이터 셋에 포함하여 상기 정상 데이터 셋을 업데이트하는 이상 탐지 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180021993A KR102072288B1 (ko) | 2018-02-23 | 2018-02-23 | GANs을 이용한 보안 로그 데이터의 이상 탐지 방법 및 이를 수행하는 장치들 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180021993A KR102072288B1 (ko) | 2018-02-23 | 2018-02-23 | GANs을 이용한 보안 로그 데이터의 이상 탐지 방법 및 이를 수행하는 장치들 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190101690A KR20190101690A (ko) | 2019-09-02 |
KR102072288B1 true KR102072288B1 (ko) | 2020-01-31 |
Family
ID=67951204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180021993A KR102072288B1 (ko) | 2018-02-23 | 2018-02-23 | GANs을 이용한 보안 로그 데이터의 이상 탐지 방법 및 이를 수행하는 장치들 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102072288B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110855654B (zh) * | 2019-11-06 | 2021-10-08 | ***通信集团广东有限公司 | 基于流量互访关系的漏洞风险量化管理方法和*** |
KR102134653B1 (ko) | 2019-11-25 | 2020-07-16 | 한국인터넷진흥원 | 익스플로잇 공격에 대한 탐지 정확도를 향상시키기 위한 룰 최적화 장치 및 그 방법 |
-
2018
- 2018-02-23 KR KR1020180021993A patent/KR102072288B1/ko active IP Right Grant
Non-Patent Citations (2)
Title |
---|
Min Du 외 3인, "DeepLog: Anomaly Detection and Diagnosis from System Logs through Deep Learning", CCS '17 Proceedings of the 2017 ACM SIGSAC Conference (2017.11.03.)* |
김진영 외 2인, "심층 전이-GAN을 이용한 악성 소프트웨어 탐지", 한국정보과학회 2017년 한국컴퓨터종합학술대회 논문집 (2017.06)* |
Also Published As
Publication number | Publication date |
---|---|
KR20190101690A (ko) | 2019-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10474817B2 (en) | Dynamically optimizing performance of a security appliance | |
CN108520181B (zh) | 数据模型训练方法和装置 | |
Wang et al. | A Real‐Time Pothole Detection Approach for Intelligent Transportation System | |
US10692065B2 (en) | Using a mixture model to generate simulated transaction information | |
WO2013084563A1 (ja) | プライバシー情報管理装置、方法及びプログラム | |
US20120272288A1 (en) | Methods and apparatuses for determining strength of a rhythm-based password | |
US9589134B2 (en) | Remediation of security vulnerabilities in computer software | |
EP3467662A1 (en) | Verification of applications that utilize artificial intelligence | |
JP2017076363A (ja) | 変更または破損した外部デバイスを検出するためのシステム及び方法 | |
CN110737891A (zh) | 一种主机入侵检测方法和装置 | |
EP3105677B1 (en) | Systems and methods for informing users about applications available for download | |
KR102072288B1 (ko) | GANs을 이용한 보안 로그 데이터의 이상 탐지 방법 및 이를 수행하는 장치들 | |
US9510182B2 (en) | User onboarding for newly enrolled devices | |
US20210149881A1 (en) | Method and system for identifying information objects using deep ai-based knowledge objects | |
TW201919020A (zh) | 用於進行基於安全的電腦之候選者評估的系統和方法以及執行方法之非暫時性電腦可讀媒體 | |
US10839066B1 (en) | Distinguishing human from machine input using an animation | |
JP6018344B2 (ja) | 動的読み込みコード解析装置、動的読み込みコード解析方法及び動的読み込みコード解析プログラム | |
JP6930862B2 (ja) | クライアント改ざん判断システムおよび方法 | |
EP3309684A1 (en) | Dynamic loading and deployment of test files to prevent interruption of text execution | |
US11741225B2 (en) | Zero day attack detection | |
CN115309785B (zh) | 文件规则引擎库的生成、文件信息检测方法、装置及设备 | |
US11592811B2 (en) | Methods and apparatuses for defining authorization rules for peripheral devices based on peripheral device categorization | |
KR102180105B1 (ko) | 장치에 설치된 소프트웨어에 대한 악성 소프트웨어 판단 방법 및 장치 | |
US20210374231A1 (en) | Method and system for detecting hooking using clustering api information | |
EP3823326A1 (en) | System and method for detecting bluetooth security threat, and computer readable medium therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) |