KR102661221B1 - A method to detect abnormal symptoms occurring during login using text generated during login - Google Patents

A method to detect abnormal symptoms occurring during login using text generated during login Download PDF

Info

Publication number
KR102661221B1
KR102661221B1 KR1020220015292A KR20220015292A KR102661221B1 KR 102661221 B1 KR102661221 B1 KR 102661221B1 KR 1020220015292 A KR1020220015292 A KR 1020220015292A KR 20220015292 A KR20220015292 A KR 20220015292A KR 102661221 B1 KR102661221 B1 KR 102661221B1
Authority
KR
South Korea
Prior art keywords
data
value
threshold
learning
evaluation
Prior art date
Application number
KR1020220015292A
Other languages
Korean (ko)
Other versions
KR20230119312A (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 KR1020220015292A priority Critical patent/KR102661221B1/en
Publication of KR20230119312A publication Critical patent/KR20230119312A/en
Application granted granted Critical
Publication of KR102661221B1 publication Critical patent/KR102661221B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

로그에 따른 이상징후를 평가하기 위해 로그인 진행시 발생하는 텍스트을 활용하여 로그인의 이상유무를 판단하는 평가모듈을 구비하는 제1단계; 상기 평가모듈에는 다수의 데이터를 저장하는 스토리지가 구비되고, 외부로부터 다수의 데이터가 입력되도록 입력기기가 연결되어 배치되는 제2단계; 상기 입력기기를 통해 입력되는 학습데이터를 일정기간 누적하여 상기 스토리지에 저장하는 제3단계; 상기 누적된 다수개의 학습데이터를 상기 평가모듈에서 평가하여 임계값을 결정하는 제4단계; 상기 결정된 임계값을 스토리지에 저장하는 제5단계; 상기 임계값이 결정된 후 평가해야할 평가데이터를 상기 입력기기를 통해 입력하는 제6단계; 상기 입력되는 평가데이터를 평가기간동안 분석하여 판단값을 결정하는 제7단계; 상기 판단값과 상기 임계값과의 관계를 분석하여 이상유무를 발생하는 제8단계;를 통해 상기 평가데이터에 대한 이상징후 여부를 판단하는 것을 특징으* 하는 인공지능 기반 이상징후 탐지방법을 제공한다.A first step of providing an evaluation module that determines whether there is an abnormality in login by using text generated during login to evaluate abnormal signs according to the log; A second step in which the evaluation module is provided with storage for storing a plurality of data, and an input device is connected and arranged to input a plurality of data from the outside; A third step of accumulating learning data input through the input device over a certain period of time and storing it in the storage; A fourth step of determining a threshold value by evaluating the accumulated plurality of learning data in the evaluation module; A fifth step of storing the determined threshold in storage; A sixth step of inputting evaluation data to be evaluated through the input device after the threshold is determined; A seventh step of determining a judgment value by analyzing the input evaluation data during the evaluation period; Provides an artificial intelligence-based abnormality detection method characterized by determining whether there is an abnormality in the evaluation data through an eighth step of generating abnormality by analyzing the relationship between the judgment value and the threshold value. .

Description

로그인 진행시 발생하는 텍스트를 활용하여 로그인시 발생되는 이상징후 탐지방법{A method to detect abnormal symptoms occurring during login using text generated during login}A method to detect abnormal symptoms occurring during login using text generated during login}

본 발명은 머신러닝 학습 알고리즘을 사용하여 로그인(login) 진행시 발생되는 이상징후 탐지 방법에 관한 것으로, 각종 로그인 진행시 발생하는 텍스트를 아스키코드로 변환한 다음 상기 아스키코드로 변환된 로그수치 데이터를 학습데이터와 평가데이터로 활용하되 상기 학습데이터를 머신러닝 학습 알고리즘에 적용하여 정상 패턴을 학습하고 이를 통해 임계값을 결정한 다음 상기 평가데이터를 상기 머신러닝 학습 알고리즘을 적용하여 분석하여 이상징후를 발생시키는 것에 관한 것이다.The present invention relates to a method of detecting abnormal signs that occur during login using a machine learning learning algorithm. The text that occurs during various login procedures is converted to ASCII code, and then the log numerical data converted to ASCII code is converted to ASCII code. It is used as learning data and evaluation data, and the learning data is applied to the machine learning learning algorithm to learn normal patterns, determine the threshold through this, and then analyze the evaluation data by applying the machine learning learning algorithm to generate abnormal signs. It's about something.

특히 로그인 종류별로 각각의 임계값을 갖도록 가변시켜 로그인 종류별로 이상징후를 발생하도록 하는 AI 가변 임계값을 사용한 각 로그인 종류별 이상징후 탐지방법에 관한 것이다.In particular, it is about a method of detecting abnormal signs for each login type using AI variable thresholds that vary the threshold values for each login type to generate abnormal symptoms for each login type.

최근, 회사의 보안 구역 Room에 설치된 태그 리더기로 인식된 태그 출입증의 출입 기록과, 사용자 단말(PC, 스마트폰, 태블릿 PC)로부터 유무선 통신망을 통해 접속된 디지털 문서 보안실의 웹 접속 기록은 보안관리 서버의 데이터베이스에 저장되며, 보안구역 Room의 출입 기록과 디지털 문서 보안실의 웹 접속 기록을 모니터링하여 비정상적인 정보 유출을 방지하기 위해 문서 보안이 필요하다. Recently, the access records of tag passes recognized by the tag reader installed in the company's security area room and the web access records of the digital document security room accessed through the wired and wireless communication network from the user terminal (PC, smartphone, tablet PC) are managed by security management. It is stored in the server's database, and document security is necessary to prevent abnormal information leakage by monitoring the access records of the security room and the web access records of the digital document security room.

종래 문서보안 시스템은 클라이언트 단말기가 디지털 정보를 암호화할 때에 문서보안 서버에 의해 기 정의된 키 값에 의해 인증이 수행되며, 인증 수행 후 상기 클라이언트 단말기에 의해 작성된 디지털 정보가 외부 저장장치에 암호화되어 저장되고, 다시 이를 액세스할 때 복호화하여 디지털 정보를 열람하게 된다. In a conventional document security system, when a client terminal encrypts digital information, authentication is performed using a key value predefined by the document security server, and after authentication, the digital information created by the client terminal is encrypted and stored in an external storage device. When accessing it again, it is decrypted and the digital information is viewed.

예를 들면, 보안 구역 Room의 RFID 태그 리더기를 구비한 출입증의 13.56MHz RFID 태그를 사용한 출입자와 사용자 단말로부터 유무선 통신망을 통해 접속된 디지털 문서 보안실의 출입자는 예를들면, 보안 관리자(manager)는 10번 출입, 해당 직원들은 관련 업무에 따라 5회, 3회, 2회, 1회 출입하게 된다. 보안 구역 Room의 출입증의 태그를 사용한 출입자와 디지털 문서 보안실의 출입자의 출입 기록을 누적하여 개인별로 일별/주별/월별 통계를 산출하고, 출입 기록과 웹 접속 기록을 분석하여 체계적으로 관리하여 이상징후를 갖는 비정상 데이터를 관리하는 것이 필요하다. For example, a person who uses a 13.56MHz RFID tag on a pass equipped with an RFID tag reader in a security area room and a person who enters a digital document security room connected through a wired or wireless communication network from a user terminal, for example, a security manager. Entering 10 times, employees will enter 5 times, 3 times, 2 times, or 1 time depending on the work involved. By accumulating the access records of people entering and exiting the digital document security room using the tag on the security room pass, daily/weekly/monthly statistics are calculated for each individual, and the access records and web access records are analyzed and systematically managed to detect any abnormalities. It is necessary to manage abnormal data with .

이와 관련된 선행기술1로써, 특허등록번호 10-0750697에서는 "사용자 액세스 기능을 갖는 공유스토리지가 구비된 디지털문서보안 시스템, 및 그 시스템을 이용한 문서 처리방법"이 등록되어 있다. As prior art 1 related to this, patent registration number 10-0750697 registers “a digital document security system equipped with shared storage with a user access function, and a document processing method using the system.”

컴퓨터에 의해 작업되는 디지털 정보가 비정상적으로 유출되는 것을 방지하도록 구성되는, 사용자 액세스 기능을 갖는 공유스토리지가 구비된 디지털 문서보안 시스템은 적어도 하나 이상의 DRM 클라이언트 단말기중 어느 하나가 공유스토리지와 접속되어 그 공유저장매체에 디지털 정보를 암호화하여 저장하고 사용자 액세스제어기능에 따라 암호화된 디지털 정보를 복호화하여 편집기능을 행하도록 구성되며, 상기 공유스토리지는; 상기 각각의 DRM 클라이언트 단말기가 접속하여 등록 인증을 행할 수 있도록 제공되는 물리적 시리얼 번호와, 상기 디지털 정보가 저장되는 저장부로 이루어진다. A digital document security system equipped with shared storage with a user access function, configured to prevent abnormal leakage of digital information worked on by a computer, allows one of at least one DRM client terminal to connect to the shared storage and share the shared storage. It is configured to encrypt and store digital information in a storage medium and perform an editing function by decrypting the encrypted digital information according to a user access control function. The shared storage includes; It consists of a physical serial number provided so that each DRM client terminal can access and perform registration authentication, and a storage unit in which the digital information is stored.

상기 DRM 클라이언트 단말기는; 상기 공유스토리지가 갖는 물리적인 시리얼번호(Serial Number)를 입력하여 인증절차를 수행하며, 인증 절차 수행 후 상기 디지털 정보를 암호화 및 복호화하는 암호화부/복호화부와, 상기 공유스토리지와 연계되어 디지털 정보에 대한 편집 등의 권한 설정기능을 제공하는 애플리케이션 툴로 이루어지는 것을 특징으로 한다. The DRM client terminal is; An authentication process is performed by inputting the physical serial number of the shared storage, and after performing the authentication process, an encryption/decryption unit that encrypts and decrypts the digital information is linked to the shared storage to provide digital information. It is characterized by being composed of an application tool that provides permission setting functions such as editing.

이와 관련된 선행기술2로써, 특허등록번호 10-2185190에서는 "머신러닝을 이용한 이상징후 탐지 방법 및 시스템"이 등록되어 있다. As prior art 2 related to this, “Anomaly detection method and system using machine learning” is registered in Patent Registration No. 10-2185190.

도 1은 종래의 머신 러닝을 이용한 이상 징후 탐지 시스템(100)을 예시적인 도면이다. Figure 1 is an exemplary diagram of an abnormality detection system 100 using conventional machine learning.

머신러닝을 이용한 이상 징후 탐지 시스템의 탐지 방법은, 머신 러닝을 이용하여 학습 데이터에 대한 예측치와 실측치 사이의 비용 변화들을 저장하는 단계; 상기 저장된 비용 변화들 중에서 타겟의 비용 변화와 유사한 패턴을 갖는 이웃을 검색하는 단계; 및 상기 검색된 이웃의 비용 변화와 상기 타겟의 비용 변화의 차이를 근거로 하여 상기 타겟의 정상/비정상을 판단하는 단계를 포함한다.The detection method of an anomaly detection system using machine learning includes the steps of storing cost changes between predicted values and actual values for learning data using machine learning; Searching for a neighbor having a similar pattern to the target's cost change among the stored cost changes; and determining whether the target is normal or abnormal based on the difference between the searched neighbor's cost change and the target's cost change.

상기 비용 변화들을 저장하는 단계는 테스트 데이터에 상응하는 비용을 기반으로 정상과 비정상을 구분하는 상기 비용의 임계값을 결정하는 단계; 상기 임계값을 기반으로 상기 테스트 데이터의 정상/비정상을 판단하는 단계; 및 상기 테스트 데이터에서 상기 임계값보다 상기 비용이 크면서 정상 상황에 대하여 제 1 시간 동안 비용 변화를 저장하는 단계를 포함하며, 상기 비용은 상기 예측치와 실측치의 차이인 것을 특징으로 한다. Storing the cost changes includes determining a threshold value for the cost to distinguish normal from abnormal based on a cost corresponding to test data; determining whether the test data is normal/abnormal based on the threshold; and storing a change in cost for a first time with respect to a normal situation while the cost is greater than the threshold in the test data, wherein the cost is a difference between the predicted value and the actual value.

또한 로그인 종류별(예 : 웹서버(Web Server) 로그인, 침입탐지 시스템(Intrusion Detection System) 로그인, 스플렁크(Splunk) 내부 로그인 등)로 로그인진행시 텍스트 데이터가 발생하나, 로그인 진행시 이상징후를 판단할 수 있는 마땅한 방법이 없는 문제가 있다. In addition, text data is generated during login for each login type (e.g. Web Server login, Intrusion Detection System login, Splunk internal login, etc.), but abnormal signs are determined during login. There is a problem that there is no proper way to do.

특허등록번호 10-0750697 (등록일자 2007년 08월 13일), "사용자 액세스 기능을 갖는 공유스토리지가 구비된 디지털문서보안 시스템, 및 그 시스템을 이용한 문서 처리방법", 주식회사 마크애니Patent registration number 10-0750697 (registration date: August 13, 2007), “Digital document security system equipped with shared storage with user access function, and document processing method using the system”, MarkAny Co., Ltd. 특허등록번호 10-2185190 (등록일자 2020년 11월 25일), "머신러닝을 이용한 이상징후 탐지 방법 및 시스템", 한국전자통신연구원Patent registration number 10-2185190 (registration date: November 25, 2020), “Anomaly detection method and system using machine learning,” Electronics and Telecommunications Research Institute

상기 문제점을 해결하기 위한 본 발명의 목적은 각종 로그인 종류별(예 : 웹서버(Web Server) 로그인, 침입탐지 시스템(Intrusion Detection System) 로그인, 스플렁크(Splunk) 내부 로그인 등)로 로그인시 생성되는 텍스트 데이터 활용하여 로그인시 이상징후를 분석하여 경고하는 방법을 제안하고자 한다.The purpose of the present invention to solve the above problems is to provide text generated upon logging in for various login types (e.g., Web Server login, Intrusion Detection System login, Splunk internal login, etc.). We would like to propose a method to use data to analyze abnormal signs and issue warnings when logging in.

또한 본 발명의 목적은 로그인 진행시 발생하는 텍스트를 수치로 변환하여 상기 로그수치 데이터를 분석함으로써 손쉽게 로그인 진행시 이상징후를 경고하는 방법을 제안하고자 한다. In addition, the purpose of the present invention is to propose a method for easily warning of abnormalities during login by converting the text generated during login into numerical values and analyzing the log numerical data.

또한 본 발명의 목적은 로그인 종류별로 각기 다른 임계값을 갖도록 하여 해당 로그인 종류별로 각각의 특성에 맞는 임계값을 갖도록 하여 좀더 정확하게 로그인 진행시에 발생되는 이상징후를 경고하는 방법을 제안하고자 한다.In addition, the purpose of the present invention is to propose a method to more accurately warn of abnormalities that occur during login by having different thresholds for each login type and having a threshold suited to each characteristic.

또한 본 발명의 목적은 상기 로그인 진행시 발생하는 이상징후 탐지를 통해 로그인를 진행한 해당유저단말을 작동에 따른 이상징후를 결정하는 방법을 제안하고자 한다. In addition, the purpose of the present invention is to propose a method of determining abnormal signs according to the operation of the user terminal that has logged in through detecting abnormal signs that occur during the login process.

본 발명의 목적을 달성하기 위해, 로그에 따른 이상징후를 평가하기 위해 로그인 진행시 발생하는 텍스트을 활용하여 로그인의 이상유무를 판단하는 평가모듈을 구비하는 제1단계; 상기 평가모듈에는 다수의 데이터를 저장하는 스토리지가 구비되고, 외부로부터 다수의 데이터가 입력되도록 입력기기가 연결되어 배치되는 제2단계; 상기 입력기기를 통해 입력되는 학습데이터를 일정기간 누적하여 상기 스토리지에 저장하는 제3단계; 상기 누적된 다수개의 학습데이터를 상기 평가모듈에서 평가하여 임계값을 결정하는 제4단계; 상기 결정된 임계값을 스토리지에 저장하는 제5단계; 상기 임계값이 결정된 후 평가해야할 평가데이터를 상기 입력기기를 통해 입력하는 제6단계; 상기 입력되는 평가데이터를 평가기간동안 분석하여 판단값을 결정하는 제7단계을 포함하여 이루어진다. In order to achieve the purpose of the present invention, a first step is provided with an evaluation module that determines whether there is an abnormality in login by using text generated during login to evaluate abnormal signs according to the log; A second step in which the evaluation module is provided with storage for storing a plurality of data, and an input device is connected and arranged to input a plurality of data from the outside; A third step of accumulating learning data input through the input device over a certain period of time and storing it in the storage; A fourth step of determining a threshold value by evaluating the accumulated plurality of learning data in the evaluation module; A fifth step of storing the determined threshold in storage; A sixth step of inputting evaluation data to be evaluated through the input device after the threshold is determined; It includes a seventh step of analyzing the input evaluation data during the evaluation period and determining a judgment value.

또한 본 발명은 상기 판단값과 상기 임계값과의 관계를 분석하여 이상유무를 발생하는 제8단계;를 통해 상기 평가데이터에 대한 이상징후 여부를 판단하는 것을 특징으로 한다. In addition, the present invention is characterized by determining whether there is an abnormality in the evaluation data through an eighth step of generating the presence or absence of an abnormality by analyzing the relationship between the judgment value and the threshold value.

또한 본 발명은 로그에 따른 이상징후를 평가하기 위해 로그인 진행시 발생하는 텍스트을 활용하여 로그인의 이상유무를 판단하는 평가모듈을 구비하는 제1단계; 상기 평가모듈에는 다수의 데이터를 저장하는 스토리지가 구비되고, 외부로부터 다수의 데이터가 입력되도록 입력기기가 연결되어 배치되는 제2단계; 상기 입력기기를 통해 입력되는 학습데이터를 일정기간 누적하여 상기 스토리지에 저장하는 제3단계; 상기 누적된 다수개의 학습데이터를 상기 평가모듈에서 평가하여 임계값을 결정하는 제4단계;를 포함하여 이루어진다.In addition, the present invention includes a first step of providing an evaluation module that determines whether there is an abnormality in login by using text generated during login to evaluate abnormal signs according to the log; A second step in which the evaluation module is provided with storage for storing a plurality of data, and an input device is connected and arranged to input a plurality of data from the outside; A third step of accumulating learning data input through the input device over a certain period of time and storing it in the storage; and a fourth step of determining a threshold value by evaluating the accumulated plurality of learning data in the evaluation module.

또한 본 발명은 상기 결정된 임계값을 스토리지에 저장하는 제5단계; 상기 임계값이 결정된 후 평가해야할 평가데이터를 상기 입력기기를 통해 입력하는 제6단계, 상기 입력되는 평가데이터를 평가기간동안 분석하여 판단값을 결정하는 제7단계; 상기 판단값과 상기 임계값과의 관계를 분석하여 이상유무를 발생하는 제8단계;를 통해 상기 평가데이터에 대한 이상징후 여부를 판단하여 상기 로그인 진행시 발생한 테스트를 통해 해당유저 단말의 이상징후를 판단하는 것을 특징으로 한다. In addition, the present invention includes a fifth step of storing the determined threshold value in storage; a sixth step of inputting evaluation data to be evaluated through the input device after the threshold is determined; a seventh step of analyzing the input evaluation data during an evaluation period to determine a judgment value; An eighth step of analyzing the relationship between the judgment value and the threshold value to determine whether there is an abnormality in the evaluation data and detecting the abnormality of the user terminal through a test that occurs during the login process. It is characterized by judgment.

또한 본 발명은 상기 상기 학습데이터와 상기 평가데이터는 텍스트 데이터로서, 웹서버(Web Server) 로그인 진행시 생성된 텍스트, 침입탐지 시스템(Intrusion Detection System) 로그인 진행시 생성된 텍스트, 스플렁크(Splunk) 내부 로그 텍스트 중의 하나이상으로 상기 로그인 진행시 생성되는 텍스트를 수치로 변화하여 상기 수치화된 로그수치 데이터를 적용하는 것을 특징으로 한다. In addition, the present invention is that the learning data and the evaluation data are text data, text generated when logging in to a web server, text generated when logging in to an intrusion detection system, and Splunk. It is characterized by converting one or more of the internal log texts generated during the login process into a numerical value and applying the numerical log numerical data.

또한 본 발명은 상기 제3단계에서 일정기간은 1 내지 5주간 인 것을 특징으로 한다. In addition, the present invention is characterized in that the certain period of time in the third step is 1 to 5 weeks.

또한 본 발명은 상기 제7단계의 평가기간은 일간단위 또는 주간단위 인 것을 특징으로 한다. Additionally, the present invention is characterized in that the evaluation period of the seventh step is on a daily or weekly basis.

또한 본 발명은 상기 제4단계의 평가모듈에는 머신러닝 알고리즘이 탑재됨에 따라 상기 누적된 다수개의 학습데이터를 상기 머신러닝 알고리즘에 입력시켜 학습을 통해 다수개의 학습시료치를 확보한 다음, 상기 학습시료치로 정규분포곡선을 구하고 상기 정규분포곡선에서 표준편차(σ)를 분석하여 이를 임계값으로 결정하며, In addition, in the present invention, as the evaluation module of the fourth step is equipped with a machine learning algorithm, the accumulated plurality of learning data is input to the machine learning algorithm to secure a plurality of learning samples through learning, and then the learning samples are used. Obtain a normal distribution curve, analyze the standard deviation (σ) from the normal distribution curve, and determine this as the threshold value,

상기 평가데이터를 머신러닝(딥러닝) 알고리즘에 입력시켜 판단값를 확보하는 것을 특징으로 한다. The evaluation data is input into a machine learning (deep learning) algorithm to secure a judgment value.

또한 본 발명은 상기 제4단계의 평가모듈에는 머신러닝 알고리즘이 탑재됨에 따라 상기 누적된 다수개의 학습데이터를 상기 머신러닝 알고리즘에 입력시켜 학습을 통해 학습데티터에 대한 다수개의 학습시료치를 확보한 다음, 상기 다수개의 학습시료치로부터 평균치를 구하고, 상기 각각의 학습시료치에서 평균값을 뺀 차이값을 구한다음 상기 차이값 중에서 일정값을 임계값을 결정하며, 상기 평가데이터를 머신러닝(딥러닝) 알고리즘에 입력시켜 평가데이터에 대한 평가시료치를 구하고, 상기 평가시료치에서 상기 평균값을 뺀 판단값를 확보하는 것을 특징으로 한다. In addition, the present invention is to secure a plurality of learning samples for the learning data through learning by inputting the accumulated plurality of learning data into the machine learning algorithm as the evaluation module of the fourth step is equipped with a machine learning algorithm. , an average value is obtained from the plurality of learning sample values, a difference value is obtained by subtracting the average value from each of the learning sample values, a threshold value is determined as a certain value among the difference values, and the evaluation data is subjected to machine learning (deep learning). It is characterized by obtaining an evaluation sample value for the evaluation data by inputting it into an algorithm, and securing a judgment value by subtracting the average value from the evaluation sample value.

또한 본 발명은 상기 차이값 중에서 임계값으로 결정하는 일정값은 상기 차이값 중에서 상위 70%와 가장 가까이에 있는 차이값을 임계값으로 결정하고 상기 판단값이 상기 임계값보다 크면 이상경고를 발생시키는 것을 특징으로 한다. In addition, the present invention determines the difference value closest to the top 70% of the difference values as the threshold value, and generates an abnormality warning when the judgment value is greater than the threshold value. It is characterized by

또한 본 발명은 상기 표준편차가 +1일때의 값을 1차 상위임계값이라 하고, 상기 표준편차 +2일때의 값을 2차 상위임계값이라 하고, 상기 표준편차 +3일때의 값을 3차 상위임계값이라 하며, 상기 표준편차가 -1일때의 값을 1차 하위임계값이라 하고, 상기 표준편차 -2일때의 값을 2차 하위임계값이라 하고, 상기 표준편차 -3일때의 값을 3차 하위임계값이라 하여, 상기 1차 내지 3차 상위임계값와, 상기 1차 내지 3차 하위임계값을 이상경고를 발생시키는 기준으로 활용하는 것을 특징으로 한다. In addition, in the present invention, the value when the standard deviation is +1 is called the first upper threshold, the value when the standard deviation is +2 is called the second upper threshold, and the value when the standard deviation is +3 is called the third upper threshold. It is called the upper threshold, the value when the standard deviation is -1 is called the first lower threshold, the value when the standard deviation is -2 is called the second lower threshold, and the value when the standard deviation is -3 is called the lower threshold. The 3rd lower threshold value is characterized in that the 1st to 3rd upper threshold values and the 1st to 3rd lower threshold values are used as a standard for generating an abnormality warning.

또한 본 발명은 상기 평가모듈은 상기 제8단계에서 상기 판단값이 상기 1차 상위임계값과 상기 2차 상위임계값 사이에 존재하거나, 상기 1차 하위임계값과 상기 2차 하위임계값 사이에 존재하면 예비이상경고를 발생하고, 상기 판단값이 상기 2차 상위임계값과 상기 3차 상위임계값 사이에 존재하거나, 상기 2차 하위임계값과 상기 3차 하위임계값 사이에 존재하면 중간이상경고를 발생하며, 상기 판단값이 상기 3차 상위임계값을 벗어나거나, 상기 3차 하위임계값에 미치지 못하는 위치에 존재하면 긴급이상경고를 발생시켜 경고관리단말에게 전달하는 것을 특징으로 한다. In addition, the present invention is such that the evaluation module determines in the eighth step that the judgment value is between the first upper threshold and the second upper threshold, or between the first lower threshold and the second lower threshold. If present, a preliminary abnormality warning is generated, and if the judgment value is between the second upper threshold and the third upper threshold, or between the second lower threshold and the third lower threshold, an intermediate abnormality is generated. A warning is generated, and if the judgment value exceeds the third upper threshold or falls below the third lower threshold, an emergency abnormality warning is generated and transmitted to the warning management terminal.

또한 본 발명은 상기 평가모듈에 입력되는 상기 학습데이터와 평가데이터는 평가대상이 되는 모든 로그수치 데이터들에 대해 각각 별도로 구분하여 입력됨에 따라 모든 로그수치 데이터들에 대해 각각 서로 다른 임계값이 정해지고 이를 통해 모든 로그수치 데이터들이 서로 다른 임계값을 통해 각각 이상징후여부가 판단되는 것을 특징으로 한다. In addition, according to the present invention, the learning data and evaluation data input to the evaluation module are input separately for all log numerical data subject to evaluation, so that different threshold values are set for all log numerical data. Through this, all log numerical data is characterized by determining whether or not there is an abnormality through different threshold values.

또한 본 발명은 상기 학습데이터는 Bij(여기서 i 는 각 로그종류에 대한 인덱스로서 i = 1, 2, 3, ..., p-1, p, p+1, ..., m-1, m 이고, j 는 p 종류의 로그인 진행시 발생한 로그수치 데이터들에 대한 시계열 인덱스로서 j = 1, 2, 3, ..., q-1, q, q+1, ..., n-1, n 이며, Bpq 는 p 종류의 로그인을 q 번째 진행할 때 발생된 로그수치데이터임)로서, 상기 학습데이터 Bij를 통해 각 로그종류에 대한 상위임계치인 1차 상위임계값 Xi1와 2차 상위임계값 Xi2와 3차 상위임계값 Xi3을 구하고, 하위임계치인 1차 하위임계값 Yi1와 2차 하위임계값 Yi2와 3차 하위임계값 Yi3을 구하며(여기서 i 는 각 로그종류에 대한 인덱스로서 i = 1, 2, 3, ..., p-1, p, p+1, ..., m-1, m임), 상기 평가데이터는 Dik(여기서 i 는 각 로그종류에 대한 인덱스로서 i = 1, 2, 3, ..., p-1, p, p+1, ..., m-1, m 이고, k 는 p 종류의 로그인 진행시 발생한 로그수치 데이터에 대한 시계열 인덱스로서 k = 1, 2, 3, ..., r-1, r, r+1, ..., u-1, u 이며, Dpr 는 p 종류의 로그인을 r 번째 진행했을 때 발생된 로그수치데이터 임)로서, 상기 평가데이터 Dik를 통해 평가값 Zi으로 구한 후 상기 평가값과 상기 1차 내지 3차 상위임계값 및 상기 1차 내지 3차 하위임계값을 비교하여 이상징후를 결정하는 것을 특징으로 한다. In addition, in the present invention, the learning data is Bij (where i is an index for each log type, i = 1, 2, 3, ..., p-1, p, p+1, ..., m-1, m, and j is the time series index for the log numerical data generated during the p type of login process, j = 1, 2, 3, ..., q-1, q, q+1, ..., n-1 , n, and Bpq is the log numerical data generated when the p type of login is performed for the qth time), and the first upper threshold Xi1 and the second upper threshold, which are the upper thresholds for each log type, are obtained through the learning data Bij. Find Xi2 and the third upper threshold Xi3, and find the lower thresholds, the first lower threshold Yi1, the second lower threshold Yi2, and the third lower threshold Yi3 (where i is the index for each log type, i = 1) , 2, 3, ..., p-1, p, p+1, ..., m-1, m), the evaluation data is Dik (where i is the index for each log type and i = 1 , 2, 3, ..., p-1, p, p+1, ..., m-1, m, and k is the time series index for the logarithmic data generated during the p type of login, where k = 1. , 2, 3, ..., r-1, r, r+1, ..., u-1, u, and Dpr is log numerical data generated when the p type of login is performed for the rth time). , The evaluation value Zi is obtained through the evaluation data Dik, and then the evaluation value is compared with the first to third upper threshold values and the first to third lower threshold values to determine abnormal signs.

또한 본 발명은 상기 정규분포곡선에서 상위 5%를 결정하는 경계치를 상위임계값으로 하거나, 상기 정규분포곡선에서 하위 5%를 결정하는 경계치를 하위임계값으로 하거나, 상기 상위임계값과 상기 하위임계값을 동시에 적용하여 이상징후를 판단하는 것을 특징으로 한다. In addition, the present invention sets the boundary value that determines the top 5% in the normal distribution curve as the upper threshold, or sets the boundary value that determines the bottom 5% in the normal distribution curve as the lower threshold, or uses the upper threshold and the lower threshold as the upper threshold. It is characterized by applying values simultaneously to determine abnormal signs.

또한 본 발명은 상기 평가모듈은 상기 제8단계에서, 상기 판단값이 상기 상위임계값을 벗어나거나, 상기 하위임계값에 미치지 못하는 위치에 존재하면 이상경고를 발생시켜 경고관리단말에게 전달하는 것을 특징으로 한다. In addition, the present invention is characterized in that in the eighth step, the evaluation module generates an abnormality warning and transmits it to the warning management terminal when the judgment value exceeds the upper threshold or falls below the lower threshold. Do it as

또한 본 발명은 상기 평가모듈에 입력되는 상기 학습데이터와 평가데이터는 평가대상이 되는 모든 로그종류들에 대해 각각 별도로 구분하여 입력됨에 따라 모든 로그종류들에 대해 각각 서로 다른 임계값이 정해지고 이를 통해 모든 로그종류가 서로 다른 임계값을 통해 각각 이상징후여부가 판단되는 것을 특징으로 한다. In addition, according to the present invention, the learning data and evaluation data input to the evaluation module are input separately for all log types subject to evaluation, so that different threshold values are set for all log types. All log types are characterized in that abnormal signs are determined through different threshold values.

또한 본 발명은 상기 학습데이터는 Bij(여기서 i 는 각 로그종류에 대한 인덱스로서 i = 1, 2, 3, ..., p-1, p, p+1, ..., m-1, m 이고, j 는 p 종류의 로그인 진행시 발생한 로그수치 데이터들에 대한 시계열 인덱스로서 j = 1, 2, 3, ..., q-1, q, q+1, ..., n-1, n 이며, Bpq 는 p 종류의 로그인을 q 번째 진행했을 때 발생된 로그수치데이터임)로서, 상기 학습데이터 Bij를 통해 각 보안구성요소의 상위임계값 Xi와 하위임계값 Yi를 구하며(여기서 i 는 각 로그종류에 대한 인덱스로서 i = 1, 2, 3, ..., p-1, p, p+1, ..., m-1, m임), 상기 평가데이터는 Dik(여기서 i 는 각 로그종류에 대한 인덱스로서 i = 1, 2, 3, ..., p-1, p, p+1, ..., m-1, m 이고, k 는 p 종류의 로그인 진행시 발생한 로그수치 데이터에 대한 시계열 인덱스로서 k = 1, 2, 3, ..., r-1, r, r+1, ..., u-1, u 이며, Dpr 는 p 종류의 로그인을 r 번째 진행했을 때 발생된 로그수치데이터 임)로서, 상기 평가데이터 Dik를 통해 평가값 Zi으로 구한 후 상기 평가값과 상기 상위임계값 및 하위임계값과 비교하여 이상징후를 결정하는 것을 특징으로 한다. In addition, in the present invention, the learning data is Bij (where i is an index for each log type, i = 1, 2, 3, ..., p-1, p, p+1, ..., m-1, m, and j is the time series index for the log numerical data generated during the p type of login process, j = 1, 2, 3, ..., q-1, q, q+1, ..., n-1 , n, and Bpq is log numerical data generated when the p type of login is performed for the qth time), and the upper threshold Xi and lower threshold Yi of each security component are obtained through the learning data Bij (where i is an index for each log type, where i = 1, 2, 3, ..., p-1, p, p+1, ..., m-1, m), and the evaluation data is Dik (where i is the index for each log type, where i = 1, 2, 3, ..., p-1, p, p+1, ..., m-1, m, and k is the number that occurred during login of type p. As a time series index for logarithmic numerical data, k = 1, 2, 3, ..., r-1, r, r+1, ..., u-1, u, and Dpr is the rth log of type p. (log numerical data generated during the process), the evaluation value Zi is obtained through the evaluation data Dik, and then the evaluation value is compared with the upper threshold value and the lower threshold value to determine abnormal signs.

또한 본 발명은 상기 평가데이터 Dik를 통해 구하는 평가값 Zi는 상기 평가데이터 Dik를 정규분포곡선을 구한다음 상기 정규분포곡선의 평균값을 평가값 Zi으로 결정하는 것을 특징으로 한다. In addition, the present invention is characterized in that the evaluation value Zi obtained through the evaluation data Dik is obtained by obtaining a normal distribution curve for the evaluation data Dik and then determining the average value of the normal distribution curve as the evaluation value Zi.

또한 본 발명은 상기 학습데이터와 평가데이터는 접속ip, 세션 아이디, 사용자 식별자, 접속시각, 요청 페이지 상태코드, 사용하는 웹브라우저, 바이트 사이즈가 하나이상 포함되며 상기 접속ip, 세션 아이디, 사용자 식별자, 접속시각, 요청 페이지 상태코드, 사용하는 웹브라우저, 바이트 사이즈를 나타내는 텍스트를 아스키코드로 변환하여 수치화하고 이를 상기 학습데이터와 상기 평가데이터로 사용하는 것을 특징으로 한다. In addition, in the present invention, the learning data and evaluation data include one or more of the access IP, session ID, user identifier, access time, request page status code, web browser used, and byte size, and the access IP, session ID, user identifier, It is characterized by converting text indicating the access time, request page status code, web browser in use, and byte size into ASCII code, digitizing it, and using it as the learning data and the evaluation data.

또한 본 발명은 상기 머신러닝 알고리즘은, 비지도-가시화-탐지(CNN), 비지도-선행제어-탐지(AutoEncoder), 비지도-메모리-탐지(LSTM), 심층메모리-탐지(Deep LSTM), 비지도-양방향-메모리-탐지 (Bidirectional LSTM), 비지도-가시화-메모리-탐지(Convolution LSTM)중의 하나이상을 적용하는 것을 특징으로 한다. In addition, the machine learning algorithm of the present invention includes unsupervised-visualization-detection (CNN), unsupervised-advance control-detection (AutoEncoder), unsupervised-memory-detection (LSTM), deep memory-detection (Deep LSTM), It is characterized by applying one or more of unsupervised-bidirectional-memory-detection (Bidirectional LSTM) and unsupervised-visualization-memory-detection (Convolution LSTM).

또한 본 발명은 로그에 따른 이상징후를 판단하되 해당유저(유저단말) 로그인 진행시 발생하는 텍스트을 활용하여 이상징후를 파악함으로써 해당 유저의 로그인시 발생하는 이상징후를 파악하는 것을 특징으로 한다.In addition, the present invention determines abnormal signs according to the log, but is characterized by identifying abnormal signs that occur when the user (user terminal) logs in by identifying the abnormal signs using text that occurs when the user (user terminal) logs in.

본 발명은 각종 로그인 종류별(예 : 웹서버(Web Server) 로그인, 침입탐지 시스템(Intrusion Detection System) 로그인, 스플렁크(Splunk) 내부 로그인 등)로 로그인시 생성되는 텍스트 데이터 활용하여 로그인시 이상징후를 분석하여 경고하는 효과가 있다. The present invention utilizes text data generated when logging in for various login types (e.g., Web Server login, Intrusion Detection System login, Splunk internal login, etc.) to detect abnormal signs during login. It has the effect of analyzing and warning.

또한 본 발명의 로그인 진행시 발생하는 텍스트를 수치로 변환하여 상기 로그수치 데이터를 분석함으로써 손쉽게 로그인 진행시 이상징후를 경고하는 효과가 있다. In addition, by converting the text generated during the login process of the present invention into numbers and analyzing the log numerical data, there is an effect of easily warning of abnormal signs during the login process.

또한 본 발명은 로그인 종류별로 각기 다른 임계값을 갖도록 하여 해당 로그인 종류별로 각각의 특성에 맞는 임계값을 갖도록 하여 좀더 정확하게 로그인 진행시에 발생되는 이상징후를 경고하는 효과가 있다.In addition, the present invention has a different threshold value for each login type, so that each login type has a threshold value suited to each characteristic, which has the effect of warning of abnormal signs that occur during login more accurately.

또한 본 발명은 상기 로그인 진행시 발생하는 이상징후 탐지를 통해 로그인를 진행한 해당유저단말을 작동에 따른 이상징후를 결정하는 효과가 있다.In addition, the present invention has the effect of determining abnormal signs according to the operation of the user terminal that has logged in through detecting abnormal signs that occur during the login process.

도 1은 종래의 머신 러닝을 이용한 이상 징후 탐지 시스템(100)을 예시적인 도면이다.
도 2는 본 발명에 따른 가변 임계값(임계치)를 사용한 이상징후 탐지 시스템 구성도이다.
도 3a는 AI 수치 이상 탐지: 학습 알고리즘에 의해 정상 패턴을 학습하여 학습데이터와 탐지데이터의 이상징후를 탐지하는 머신러닝 알고리즘을 보인 화면이다.
도 3b와 3c는 AI 탐지 옵션(민감도(Sensitivity), 중복값(Duplication), 누적데이터(Accumulated Data), 경사도(Slope degree), Time Window Unit, 이상징후(Outlier)/정상징후(Inlier))을 보인 화면이다.
도 3d는 학습데이터 쿼리(SPL), 탐지 데이터 쿼리(SPL)를 사용한 Test Data (KPI = 1) 쿼리(AI 수치 이상 탐지) 화면이다.
도 3e는 학습 데이터 이미지(Splunk Image), 탐지 데이터 이미지(Splunk Image)를 포함하는 Test Data Splunk Image(AI 수치 이상 탐지) 화면이다. 여기서 스플렁크 이미지(Splunk Image)는 웹 기반 인터페이스를 통해 빅데이터를 검색, 모니터링 및 분석하는 비정형 데이터 분석 솔루션을 통해 얻은 이미지임.
도 3f는 일자별 학습데이터 트렌드(추이 그래프), value별 빈도를 나타낸 학습데이터 분포(막대 그래프)를 데이터 시각화(KPI = 1) 한 화면이다.
도 3g는 일자별 탐지데이터 트렌드(추이 그래프-이상 패턴(Anomaly -Outlier)), value별 빈도를 나타낸 탐지데이터 분포(막대 그래프-이상 패턴(Outlier))를 포함하는 탐지 데이터 시각화(KPI = 1) 한 화면이다.
도 3h, 3i는 학습 알고리즘을 사용하여 학습 데이터에 대하여 정상 패턴을 학습 후, 머신러닝 모델을 사용하여 수치 이상 탐지 임계치(threshold)를 적용하고 탐지 데이터를 출력한 다음, 탐지 데이터(도3h 의 탐지데이터 참조)의 예측 값과 실제 값의 거리(distance)를 계산하여 탐지 데이터를 출력하는 화면이다.
도 3j는 학습 알고리즘 후의 일자별 탐지 데이터에 대한 AI 탐지 민감도(Sensitivity)를 보여준 화면으로 탐지테이터에서 이상징후가 있는 테이터(그림에서 빨간색 선)를 정확히 감지하고 있음을 보여주는 화면이다.
도 3k는 JMachine 시나리오 - 탐지 데이터에 대한 AI 탐지 민감도, AI 탐지 원천 데이터를 보여주는 화면이다.
도 4a는 학습데이터 쿼리(SPL), 탐지 데이터 쿼리(SPL)를 사용한 Test Data (KPI = 3) 쿼리(AI 수치 이상 탐지) 화면이다.
도 4b는 학습 데이터 이미지(Splunk Image), 탐지 데이터 이미지(Splunk Image)를 포함하는 Test Data Splunk Image(AI 수치 이상 탐지)(KPI =3) 화면이다.
도 4c는 cpu_system_pct, cpu_user_pct, tot_cpu_pct에 대한 시간대별 학습데이터 트렌드(추이 그래프), value별 빈도를 나타낸 학습데이터 분포(막대 그래프)를 데이터 시각화(KPI = 3) 한 화면이다.
도 4d는 cpu_system_pct, cpu_user_pct, tot_cpu_pct에 대한 시간대별 탐지데이터 트렌드(추이 그래프 - 이상 패턴(Anomaly-Outlier)), cpu_system_pct, cpu_user_pct, tot_cpu_pct별 빈도를 나타낸 탐지데이터 분포(막대 그래프 - 이상 패턴(Outlier))를 포함하는 탐지 데이터 시각화(KPI = 3) 한 화면이다.
도 4e는 학습 알고리즘의 cpu_system_pct, cpu_user_pct, tot_cpu_pct 학습 데이터에 대하여 시간대별/일자별 정상 패턴 학습 후, 머신러닝(딥러닝) 모델을 사용하여 개인별 수치 이상 탐지 임계치(threshold)를 적용하여 탐지 데이터를 출력하고, cpu_system_pct, cpu_user_pct, tot_cpu_pct에 대한 시간대별/일자별 탐지 데이터의 예측 값과 실제 값의 거리(distance)를 계산하여 탐지 데이터를 출력하는 화면이다. 도 4f는 학습 알고리즘을 사용하여 cpu_system_pct, cpu_user_pct, tot_cpu_pct 학습 데이터의 정상 패턴 학습 후 결과: cpu_system_pct, cpu_user_pct, tot_cpu_pct 학습 데이터에 대한 시간대별/일자별 정상 패턴 학습 후, 이상 패턴 표시 화면이다.
도 4f에서 보는 바와 같이 도4d에서 탐지데이터의 시각화에서 이상징후를 갖는 데이터를 학습데이터로 학습하여 얻은 수치이상 탐지 임계치(임계값)통해 분석한 결과 이상징후가 있는 위치(그래프의 파란색선이 이상징후가 있는 위치이고 이를 머신러닝(딥러닝) 알고리즘으로 확인한 결과 이상징후가 있는 위치를 정확히 탐지(12, 13, 14 참조)함을 확인할 수 있음)
도 4g는 JMachine 시나리오 - cpu_system_pct, cpu_user_pct, tot_cpu_pct 탐지 데이터에 관한 AI 탐지 민감도, AI 탐지 원천 데이터 화면이다.
도 4g에서 보는 바와 같이 도4d에서 탐지데이터의 시각화에서 이상징후를 갖는 데이터에서 머신러닝(딥러닝) 알로리즘(JMachine)을 통해 이상징후가 있는 위치(그래프의 빨간색선이 이상징후가 있는 위치임)를 머신러닝(딥러닝) 알고리즘으로 확인한 결과 이상징후가 있는 위치를 정확히 탐지하고 있음을 보여주는 화면임.
도 4h는 cpu_system_pct, cpu_user_pct, tot_cpu_pct 탐지 데이터에 관한 각각 value별 빈도별 히스토그램을 표시한 탐지 데이터를 나타낸 탐지 이벤트 시각화 화면이다.
여기서 tot_cpu_pct = cpu_system_pct + cpu_user_pct 로서 cpu_system_pct를 분석하면 유저의 cpu 사용에 대한 이상징후를 확인할 수 있음을 알 수 있다.
위 설명내용을 참조하여 즉 로그수치 데이터도 위와 동일한 방법을 적용하여 로그인 진행시 발생하는 이상징후를 적용할 수 있다.
즉 해당유저가 로그인 진행시 발생되는 텍스트를 로그수치 데이터로 변환시키며, 이때 변동되는 cpu_system_pct, cpu_user_pct 및 tot_cpu_pct를 분석하면 평상시와 다른 패턴이 나타나는 경우 이상징후로 경고할 수 있다.
이와 같이 로그수치 데이터 변동시에 발생되는 cpu_system_pct의 이상징후를 판단하게 되면 이와 관련된 해당유저가 행하는 로그인에 대한 이상징후를 파악할 수 있어 이상징후에 대처할 수 있는 효과가 있다.
도 5a는 AI 로그 이상탐지: 로그 텍스트 데이터를 수치 데이터로 변형 후 수치 데이터의 이상 패턴 탐지(정상 패턴을 학습하여, 이상 패턴을 수치화하여 임계치 지정) Test Data(KPI=1) 학습 데이터 쿼리(SPL), 탐지 데이터 쿼리(SPL) - AI 로그 이상 탐지 화면이다.
도 5b는 학습 데이터 이미지(Splunk), 탐지 데이터 이미지(Splunk)를 포함하는 Test Data Splunk Image(AI 로그 이상 탐지) 화면이다.
도 5c는 시간, log_key별 시계열적인 순서로 학습 데이터, 탐지 데이터의 임베디드된 텍스트(AI 로그 이상 탐지) 화면이다.
도 5d는 로그인 진행시 발생하는 텍스트 데이터를 보여주는 화면이다.
Figure 1 is an exemplary diagram of an abnormality detection system 100 using conventional machine learning.
Figure 2 is a diagram illustrating the configuration of an anomaly detection system using a variable threshold (threshold) according to the present invention.
Figure 3a is a screen showing AI numerical anomaly detection: a machine learning algorithm that detects abnormalities in learning data and detection data by learning normal patterns using a learning algorithm.
Figures 3b and 3c show AI detection options (Sensitivity, Duplication, Accumulated Data, Slope degree, Time Window Unit, Outlier/Inlier). This is the screen shown.
Figure 3d is a Test Data (KPI = 1) query (AI numerical anomaly detection) screen using learning data query (SPL) and detection data query (SPL).
Figure 3e is a Test Data Splunk Image (AI numerical anomaly detection) screen including a training data image (Splunk Image) and a detection data image (Splunk Image). Here, Splunk Image is an image obtained through an unstructured data analysis solution that searches, monitors, and analyzes big data through a web-based interface.
Figure 3f is a screen showing data visualization (KPI = 1) of learning data trends by date (trend graph) and learning data distribution (bar graph) showing frequency by value.
Figure 3g is a visualization of detection data (KPI = 1) including detection data trends by date (trend graph - anomaly pattern (Anomaly - Outlier)) and detection data distribution showing frequency by value (bar graph - anomaly pattern (Outlier)). It's a screen.
Figures 3h and 3i show that after learning a normal pattern for the training data using a learning algorithm, applying a numerical anomaly detection threshold using a machine learning model and outputting the detection data, the detection data (detection in Figure 3h) is shown in Figures 3h and 3i. This is a screen that outputs detection data by calculating the distance between the predicted value and the actual value (see data).
Figure 3j is a screen showing the AI detection sensitivity for daily detection data after the learning algorithm, showing that data with abnormalities (red line in the figure) is accurately detected in the detection data.
Figure 3k is a screen showing JMachine scenario - AI detection sensitivity to detection data and AI detection source data.
Figure 4a is a Test Data (KPI = 3) query (AI numerical anomaly detection) screen using learning data query (SPL) and detection data query (SPL).
Figure 4b is a Test Data Splunk Image (AI numerical anomaly detection) (KPI = 3) screen including a training data image (Splunk Image) and a detection data image (Splunk Image).
Figure 4c is a data visualization screen (KPI = 3) showing the learning data trend (trend graph) by time period for cpu_system_pct, cpu_user_pct, and tot_cpu_pct, and the learning data distribution (bar graph) showing the frequency by value.
Figure 4d shows detection data trends by time period for cpu_system_pct, cpu_user_pct, tot_cpu_pct (trend graph - anomaly pattern (Anomaly-Outlier)), and detection data distribution showing the frequency of cpu_system_pct, cpu_user_pct, tot_cpu_pct (bar graph - anomaly pattern (Outlier)). This is one screen containing detection data visualization (KPI = 3).
Figure 4e shows that after learning normal patterns by time zone/date for the cpu_system_pct, cpu_user_pct, and tot_cpu_pct learning data of the learning algorithm, detection data is output by applying an individual numerical abnormality detection threshold using a machine learning (deep learning) model. , cpu_system_pct, cpu_user_pct, and tot_cpu_pct This is a screen that calculates the distance between the predicted value and the actual value of the detection data by time zone/date and outputs the detection data. Figure 4f is a result of learning normal patterns of cpu_system_pct, cpu_user_pct, tot_cpu_pct learning data using a learning algorithm: A screen showing abnormal patterns after learning normal patterns by time slot/date for cpu_system_pct, cpu_user_pct, tot_cpu_pct learning data.
As shown in Figure 4f, in the visualization of the detection data in Figure 4d, the location of the abnormality as a result of analysis using the numerical anomaly detection threshold (threshold) obtained by learning the data with abnormality with the learning data indicates the location of the abnormality (the blue line in the graph indicates the abnormality). This is the location where the symptom is, and as a result of checking this with a machine learning (deep learning) algorithm, it can be confirmed that the location with the abnormal symptom is accurately detected (see 12, 13, and 14).
Figure 4g is a JMachine scenario - AI detection sensitivity and AI detection source data screen for cpu_system_pct, cpu_user_pct, and tot_cpu_pct detection data.
As shown in Figure 4g, in the visualization of the detection data in Figure 4d, the location of the abnormality is determined through a machine learning (deep learning) algorithm (JMachine) in the data with the abnormality (the red line in the graph is the location of the abnormality). ) as a result of checking with a machine learning (deep learning) algorithm, this screen shows that the location of the abnormality is accurately detected.
Figure 4h is a detection event visualization screen showing detection data showing histograms for each value and frequency for cpu_system_pct, cpu_user_pct, and tot_cpu_pct detection data.
Here, you can see that by analyzing cpu_system_pct as tot_cpu_pct = cpu_system_pct + cpu_user_pct, you can check abnormal signs about the user's CPU usage.
Referring to the explanation above, the same method as above can be applied to log numerical data to apply abnormal signs that occur during login.
In other words, the text generated when the user logs in is converted into log numerical data, and by analyzing the changing cpu_system_pct, cpu_user_pct, and tot_cpu_pct, if a pattern different from usual appears, a warning can be issued as an abnormality.
In this way, if abnormal signs of cpu_system_pct that occur when log numerical data changes are determined, abnormal signs related to login performed by the relevant user can be identified, which has the effect of responding to the abnormal signs.
Figure 5a shows AI log anomaly detection: Transform log text data into numeric data, then detect abnormal patterns in numeric data (learn normal patterns, quantify abnormal patterns and specify threshold) Test Data (KPI=1) Learning data query (SPL) ), Detection data query (SPL) - This is the AI log abnormality detection screen.
Figure 5b is a Test Data Splunk Image (AI log anomaly detection) screen including a training data image (Splunk) and a detection data image (Splunk).
Figure 5c is a screen with embedded text (AI log anomaly detection) of learning data and detection data in time-serial order by time and log_key.
Figure 5d is a screen showing text data generated during login.

이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 발명의 구성 및 동작을 상세하게 설명한다. 본 발명의 설명에 있어서 관련된 공지의 기능 또는 공지의 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 자세한 설명을 생략한다. 또한, 도면 번호는 동일한 구성을 표기할 때에 다른 도면에서 동일한 도면번호를 부여한다. Hereinafter, the configuration and operation of the preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the description of the present invention, if it is determined that a detailed description of a related known function or a known configuration may unnecessarily obscure the gist of the present invention, the detailed description will be omitted. In addition, the same drawing number is assigned to different drawings when indicating the same configuration.

비정상적인 정보 유출을 방지하기 위해 문서 보안이 요구되는 회사의 보안 구역 Room에 설치된 13.56MHz RFID 태그 리더기로 인식된 출입자의 RFID 태그 출입증의 출입 기록과, 사용자 단말(PC, 스마트폰, 태블릿PC)로부터 유무선 통신망을 통해 서버의 디지털 문서 보안실의 웹 접속 기록은 보안 서버의 데이터베이스에 저장되어 관리된다. In order to prevent abnormal information leakage, the access record of the RFID tag pass of the visitor recognized by the 13.56MHz RFID tag reader installed in the company's security area room where document security is required, and the access record from the user terminal (PC, smartphone, tablet PC) Through the communication network, the web access records of the server's digital document security room are stored and managed in the database of the secure server.

도 2는 본 발명에 따른 AI 가변 임계값을 사용한 이상징후 탐지 시스템 구성도이다. Figure 2 is a diagram illustrating the configuration of an anomaly detection system using an AI variable threshold according to the present invention.

본 실시예에서는, (실시예1) 회사의 보안 지역 Room에 설치된 RFID 태그 리더(110)로 인식된 출입자의 RFID 태그 출입증(130)의 출입 기록과, 디지털 문서 보안실의 웹 접속 기록(log 기록), 추가적으로, (실시예2) 원격 PC의 CPU 모니터링 기능을 갖는 네트워크 장비를 사용하여 모니터링되는 회사내 임직원 PC의 CPU 모니터링 데이터를 보안 서버(200)의 데이터베이스에 저장된다. In this embodiment, (Example 1) the access record of the RFID tag pass 130 of the person recognized by the RFID tag reader 110 installed in the company's security area room, and the web access record (log record) of the digital document security room ), Additionally, (Example 2) CPU monitoring data of employee PCs within the company, which are monitored using network equipment having a remote PC CPU monitoring function, are stored in the database of the security server 200.

본 발명의 AI 가변 임계값을 사용한 이상징후 탐지 시스템은, 보안 지역의 문서 보안실의 출입 시에, 출입자의 태그 출입증(130)을 태깅한 태그 리더(110)의 출입 기록을 전송하는, 태그 리더(110)와 연결된 PC(120); 보안 구역(100)의 출입문의 태그 리더(110)에 의해 태깅된 태그 출입증(130)을 소지한 출입자의 출입 기록, 보안 서버의 디지털 문서 보안실의 웹 접속 기록(log 기록), 원격 PC의 CPU 상태 모니터링 데이터(cpu_system_pct, cpu_user_pct, tot_cpu_pct)을 개인별로 보안 서버의 데이터베이스에 누적 저장하여 시간대별/일자별/기간별 통계에 의해 개인별 z-score, 평균, 표준편차에 따라 정규분포화 한 후 개인별 AI 가변 임계값(상한치, 하한치)를 결정한다. The anomaly detection system using the AI variable threshold of the present invention is a tag reader that transmits the entry record of the tag reader 110 tagging the tag pass 130 of the visitor when entering or leaving the document security room in the security area. PC (120) connected to (110); Entry and exit records of visitors holding a tag pass 130 tagged by the tag reader 110 on the door of the security area 100, digital documents on the security server, web access records (log records) in the security room, and CPU of the remote PC. Status monitoring data (cpu_system_pct, cpu_user_pct, tot_cpu_pct) is stored cumulatively in the database of a secure server for each individual and normalized according to individual z-score, average, and standard deviation according to statistics by time/day/period, and then AI variable threshold for each individual. Determine the values (upper limit, lower limit).

필요에 따라 선택적으로, 출입 기록, 웹 접속 기록(log 기록), 원격 PC의 CPU 상태 모니터링 데이터(cpu_system_pct, cpu_user_pct, tot_cpu_pct)을 포함하는 학습 데이터를 딥러닝 또는 머신 러닝 학습 알고리즘을 사용하여 정상 패턴을 학습하고, 실시간으로 해당 탐지 데이터에 대하여 개인별로 다른 AI 가변 임계값(상한치, 하한치)를 적용하여 정상 패턴 데이터(정규 분포의 5~95% 이내 정상)와 비정상적인 이상 패턴을 갖는 비정상적인 이상 패턴 데이터(정규 분포의 5% 이하, 95% 이상)를 분리 추출하여 사용자 단말로 UI 화면에 표시하며, 로그를 포함한 최종결과를 리스트 또는 데이터 시각화하여 출력하는 보안 서버(200); 및 상기 보안 서버(200)에 유무선 통신망을 통해 연결된 사용자 단말(179)을 포함한다. Optionally, if necessary, learn data including access records, web access records (log records), and CPU status monitoring data (cpu_system_pct, cpu_user_pct, tot_cpu_pct) of remote PCs using deep learning or machine learning learning algorithms to identify normal patterns. Learn and apply different AI variable thresholds (upper and lower limits) for each individual to the detection data in real time to separate normal pattern data (normal within 5 to 95% of normal distribution) and abnormal abnormal pattern data (normal with abnormal abnormal patterns). A security server (200) that separates and extracts (less than 5% and more than 95% of the normal distribution) and displays them on a UI screen through a user terminal, and outputs the final results, including logs, in a list or data visualization; and a user terminal 179 connected to the security server 200 through a wired or wireless communication network.

상기 디지털 문서 보안실은 문서와 파일을 저장하는 파일 서버(230)를 더 포함한다.The digital document security room further includes a file server 230 that stores documents and files.

상기 시스템은, 보안 지역(100)의 문서 보안실의 출입 시에, 출입자의 태그 출입증(130)을 태깅한 태그 리더(110)의 출입 기록을 전송하고, 상기 태그 리더(110)와 연결된 PC(120)를 더 포함한다. The system transmits the access record of the tag reader 110 tagging the tag pass 130 of the visitor when entering and exiting the document security room of the security area 100, and a PC connected to the tag reader 110 ( 120) is further included.

보안 관리자의 사용자 단말은 보안 서버에 접속되고, 탐지 데이터의 유형, 탐지 대상과 기간을 선택하고, 개인별로 다른 AI 가변 임계값이 적용된 출입 기록/웹 접속 기록/원격 PC의 CPU 상태 모니터링 데이터(cpu_system_pct, cpu_user_pct, tot_cpu_pct)를 포함하는 학습 데이터와, 학습 데이터의 정상 패턴(상한치, 하한치)을 표시하고, 실시간으로 탐지되는 탐지 데이터 이미지를 보안 서버(200)에 접속된 사용자 단말로 출력하며, 학습 데이터 시각화, 개인별로 다른 AI 가변 임계값(상한치, 하한치)과 이상 패턴이 표시된 탐지 데이터 시각화, 비정상적인 이상 패턴 데이터(5% 이하, 95% 이상)를 추출하여 로그(log)를 포함한 최종 결과와 리스트 또는 이를 데이터 시각화하여 수치 이상을 화면에 출력된다. The security manager's user terminal is connected to the security server, selects the type of detection data, detection target and period, and access record/web access record/remote PC's CPU status monitoring data (cpu_system_pct) with different AI variable thresholds applied for each individual. , cpu_user_pct, tot_cpu_pct), normal patterns (upper limit, lower limit) of the learning data are displayed, detection data images detected in real time are output to the user terminal connected to the security server 200, and the learning data Visualization, detection data visualization with AI variable thresholds (upper limit, lower limit) and abnormal patterns displayed for each individual, extracting abnormal abnormal pattern data (less than 5%, more than 95%) and final results including log and list or This data is visualized and more than just the numbers are displayed on the screen.

회사내 보안 지역의 문서 보관실(100)은 출입문에 RFID 태그 리더(110)가 출입자의 13.56MHz 태그 출입증(130)의 출입 기록이 문서 보관실 PC(120)를 통해 미들웨어로 연결된 보안 서버(200)로 전송된다. The document storage room (100) in the security area within the company has an RFID tag reader (110) on the door, and the access record of the 13.56 MHz tag pass (130) of the visitor is sent to the security server (200) connected to the middleware through the document storage room PC (120). is transmitted.

회사는 사장, 임원/부서/직원별 다수의 사용자 단말(170)이 구비된다.The company is equipped with multiple user terminals 170 for each president, executive/department/employee.

사용자 단말(170)은 PC 이외에 스마트폰 또는 태블릿 PC를 사용할 수 있다. The user terminal 170 can use a smartphone or tablet PC in addition to a PC.

학습 데이터는 실시예1) 보안 구역의 문서 보안실의 태그 출입증을 소지한 출입자의 출입 기록, 보안 서버의 디지털 문서 보안실의 웹 접속 기록(log 기록)을 포함한다. The learning data includes Example 1) access records of visitors holding tag passes in the document security room of the security area, and web access records (log records) of the digital document security room of the security server.

또한, 학습 데이터는 실시예2) 네트워트 장비의 가상 머신을 사용한 원격 PC의 CPU 상태 모니터링(cpu_system_pct, cpu_user_pct, tot_cpu_pct) 데이터를 포함한다. Additionally, the learning data includes Example 2) CPU status monitoring (cpu_system_pct, cpu_user_pct, tot_cpu_pct) data of a remote PC using a virtual machine of the network equipment.

상기 평가모듈은 학습 데이터의 정상 패턴을 학습하고, 누적된 통계 데이터를 기초로 Z-score, 평균, 표준 편차를 계산하고 정규분포화 한 후 개인별로 다른 가변 임계값(상한치, 하한치)을 결정하고, 개인별로 다른 가변 임계값(상한치, 하한치)에 따라 탐지 데이터의 비정상적인 이상 패턴을 추출하여 탐지 데이터를 제공하며, 이를 데이터 시각화하여 표시되도록 한다. The evaluation module learns the normal pattern of the learning data, calculates the Z-score, average, and standard deviation based on the accumulated statistical data, normalizes them, and determines variable threshold values (upper and lower limits) for each individual. , detection data is provided by extracting abnormal abnormal patterns from the detection data according to variable thresholds (upper limit, lower limit) that are different for each individual, and the data is visualized and displayed.

상기 임계값의 탐지 옵션은 AI 탐지 데이터의 민감도(Sensitivity), 데이터 중복 제거(De-duplication), 누적된 면적(Accumulated Area), 기울기(Slope degree), 타임 윈도우 유닛(Time Window Unit), Outlier/Inlier(이상 징후/정상 징후)가 포함된다. The detection options for the above threshold include Sensitivity of AI detection data, De-duplication, Accumulated Area, Slope degree, Time Window Unit, Outlier/ Inliers (abnormal signs/normal signs) are included.

* 민감도(Sensitivity)란 예측과 실제 값의 차이 정도를 나타내며, 추후 이벤트 탐지의 척도가 됨* Sensitivity refers to the degree of difference between predictions and actual values, and becomes a measure of future event detection.

* 데이터 중복 제거(De-duplication) : 중복되는 값의 데이터 제외* Data de-duplication: Excluding data with duplicate values

* 누적된 면적(Accumulated Area) : 데이터의 면적을 이용한 filter 적용 (예: 기준치 미만의 낮은 값의 데이터일때 탐지 하지 않음)* Accumulated Area: Apply a filter using the area of the data (e.g. not detect when data has a low value below the standard value)

* 기울기(Slope degree) : 데이터의 기울기를 이용한 필터 적용(예: 급감할 때 이벤트 탐지 하지 않음)* Slope degree: Apply a filter using the slope of the data (e.g. do not detect events when there is a sharp decrease)

* 타임 윈도우 유닛(Time Window Unit) : Window 내 데이터 row 수(예 : 7 unit: 7개의 데이터를 하나의 패턴(input)으로 봄)* Time Window Unit: Number of data rows in the window (e.g. 7 unit: 7 pieces of data considered as one pattern (input))

* Outlier/Inlier : 이상 징후/정상 징후 중 하나의 이벤트로 탐지 여부* Outlier/Inlier: Detected as an event among abnormal/normal signs

보안 서버(200)는 사용자 단말(170)과 유무선 통신망을 통해 연결되는 WWW 서버(201); 보안 기능을 제어하는 제어부(203); 출입 기록, 디지털 문서 보안실의 웹 접속 기록(log 기록), 원격 PC의 CPU 상태 모니터링(cpu_system_pct, cpu_user_pct, tot_cpu_pct) 데이터, 그 외 필요시 모니터링 데이터를 저장하는 DB(207); 회원정보를 등록받아 저장하여 관리하는 회원관리부(209); ID/Passwd 또는 인증 서버와 연동된 개인 인증서/범용 인증서를 사용하여 사용자를 인증하는 사용자 인증부(211); 기간별로 누적된 학습 데이터의 통계에 기초하여 개인별로 다른 AI 가변 임계값(상한치, 하한치)를 설정하는 AI 가변 임계값 설정부(213); 딥러닝 또는 머신러닝 학습 알고리즘을 사용하여 해당 학습 데이터를 학습하여 상한치에서 하한치까지의 정상 범위의 정상 패턴을 학습하는 기계학습부(215); 상기 개인별로 다른 AI 가변 임계값(상한치, 하한치)를 기준으로 실시간으로 탐지되는 탐지 데이터의 이상 패턴을 탐지하는 이상 패턴 탐지부(217); 해당 학습 데이터와 탐지 데이터를 학습 데이터와 탐지 데이터 리스트 또는 학습 데이터 시각화/탐지 데이터 시각화하여 출력하는 학습 데이터/탐지 데이터 출력부(219); 개인별/부서별/전체 데이터의 Z-score, 평균, 분산, 표준편차의 통계 정보를 제공하는 데이터, 리스트, 또는 비쥬얼하게 데이터 시각화하여 제공하는 통계 처리부(221)를 포함한다. The security server 200 includes a WWW server 201 connected to the user terminal 170 through a wired or wireless communication network; A control unit 203 that controls security functions; DB 207 that stores access records, web access records (log records) of the digital document security room, CPU status monitoring (cpu_system_pct, cpu_user_pct, tot_cpu_pct) data of remote PCs, and other monitoring data when necessary; Member management department (209) that receives, stores, and manages member information; a user authentication unit 211 that authenticates the user using ID/Passwd or a personal certificate/universal certificate linked to an authentication server; an AI variable threshold setting unit 213 that sets different AI variable thresholds (upper limit, lower limit) for each individual based on statistics of learning data accumulated for each period; A machine learning unit 215 that learns normal patterns in the normal range from the upper limit to the lower limit by learning the corresponding training data using a deep learning or machine learning learning algorithm; An abnormal pattern detection unit 217 that detects an abnormal pattern of detection data detected in real time based on the AI variable threshold (upper limit, lower limit) that is different for each individual; A learning data/detection data output unit 219 that outputs the learning data and detection data in a learning data and detection data list or learning data visualization/detection data visualization; It includes a statistics processing unit 221 that provides data, lists, or visual data visualization that provides statistical information such as Z-score, average, variance, and standard deviation of individual/departmental/total data.

이하에서 AI 수치 이상 탐지에 대해 설명한다. 여기서의 평가모델은 학습 알고리즘(머신러닝 알로리즘)에 의해 학습 데이터의 정상 패턴을 학습하여 탐지 데이터의 수치 데이터 이상 패턴을 탐지하는 머신러닝 알고리즘이다. AI numerical abnormality detection is explained below. The evaluation model here is a machine learning algorithm that detects abnormal patterns in the numerical data of the detection data by learning the normal patterns of the training data through a learning algorithm (machine learning algorithm).

도 3a는 AI 수치 이상 탐지: 학습 알고리즘에 의해 정상 패턴을 학습하여 수치 데이터 이상 패턴을 탐지하는 머신러닝 알고리즘을 보인 화면이다. Figure 3a is AI numerical anomaly detection: a screen showing a machine learning algorithm that detects numerical data abnormal patterns by learning normal patterns using a learning algorithm.

보안 서버에 연결된 사용자 단말의 모니터링 클라이언트의 탐지 속성은 탐지 형태(AI 탐지, AI 수치 이상탐지), 탐지 기본 정보(탐지 대상 필드명, 집계 쿼리), AI 기계학습(AI 알고리즘, 기계학습 쿼리, 기계학습 실행, 탐지 쿼리), AI 예측 탐지(AI 탐지 옵션)을 구비한다. The detection properties of the monitoring client of the user terminal connected to the security server are detection type (AI detection, AI numerical anomaly detection), detection basic information (detection target field name, aggregate query), AI machine learning (AI algorithm, machine learning query, machine Equipped with learning execution, detection query) and AI predictive detection (AI detection option).

AI 기계 학습은 "기계학습 실행" 메뉴에서 딥러닝 또는 여러 종류의 머신러닝 알고리즘을 선택하여 학습 데이터의 학습을 실행한다. AI machine learning executes training on training data by selecting deep learning or several types of machine learning algorithms from the “Run machine learning” menu.

여기서 사용되는 머신러닝 알고리즘과 그 특성은 아래와 같다The machine learning algorithm used here and its characteristics are as follows.

* 비지도-가시화-탐지(CNN) : 1겹의 CNN으로 구성되어 있으며, 시계열 및 이미지 데이터에 효율적임 * Unsupervised-visualization-detection (CNN): Consists of a 1-layer CNN and is efficient for time series and image data

* 비지도-선행제어-탐지 (AutoEncoder) : 데이터 특성을 보존하여 차원 축소, 다양한 학습 데이터에 사용가능함* Unsupervised-ahead control-detection (AutoEncoder): Reduces dimensionality by preserving data characteristics, can be used on various learning data

* 비지도-메모리-탐지 (LSTM) : 1겹의 LSTM으로 이루어져 있으며, 시계열/텍스트 데이터에 효율적임* Unsupervised-memory-detection (LSTM): Consists of 1-layer LSTM and is efficient for time series/text data

* 심층메모리-탐지 (Deep LSTM): 3겹의 LSTM으로 이루어져 있으며, 시계열/텍스트 데이터에 효율적임. * Deep memory-detection (Deep LSTM): Consists of 3-layer LSTM and is efficient for time series/text data.

* 비지도-양방향-메모리-탐지 (Bidirectional LSTM) : 1겹의 양방향 LSTM으로 이루어지며, 시계열/텍스트 데이터에 효율적임. * Unsupervised-bidirectional-memory-detection (Bidirectional LSTM): Consists of 1-layer bidirectional LSTM and is efficient for time series/text data.

* 비지도-가시화-메모리-탐지 (Convolution LSTM) : 차원을 축소한 데이터를 LSTM에 적용하는 구조로, 공간적 특성을 가지는 이미지나 비디오 데이터에 효율적임. * Unsupervised-Visualization-Memory-Detection (Convolution LSTM): A structure that applies dimension-reduced data to LSTM, and is efficient for image or video data with spatial characteristics.

* 비지도-양방향-순환-탐지 (Bidirectional GRU) : LSTM 단순화 된 버전인 1겹의 Bidirectional GRU로 이루어져 있으며, 시계열/텍스트 데이터에 효과적임* Unsupervised-Bidirectional-Circulation-Detection (Bidirectional GRU): Consists of a 1-layer Bidirectional GRU, a simplified version of LSTM, and is effective for time series/text data.

* 비지도-양방향-중첩순환-탐지 (Stacked Bidirectional GRU) : 3겹의 Bidirectional GRU로 이루어져 있으며, 시계열/텍스트 데이터에 효과적임* Unsupervised-bidirectional-stacked-circulation-detection (Stacked Bidirectional GRU): Consists of 3 layers of Bidirectional GRU and is effective for time series/text data

참고로, Transformer encoder의 레이어(layer)의 수가 늘어날수록, 복잡하거나 긴 Sequence 데이터에 효과적이다. k개의 Transformer encoder를 통해 patch/position 임베딩된 데이터를 인코딩된 데이터를 k개의 decoder에 의해 디코딩되어 학습한다. For reference, as the number of layers of the transformer encoder increases, it is more effective for complex or long sequence data. Data encoded with patch/position embedded data through k Transformer encoders is decoded by k decoders and learned.

컨볼류션 신경망(Convolutional Neural Networks, CNN)은 주로 문자 인식과 영상의 이미지 분석에 사용되는 다층 신경망이다. 컨볼류션 신경망(CNN)은 컨볼루션 층(convolution layer)과 풀링 층(pooling layer)을 쌍(pair)의 형태로 여러 개 사용하고(convolution layer, pooling layer, convolution layer, pooling layer,.. ), 그 뒤에는 몇 개의 FC 층(fully-connected layer)으로 구성된 입력층/은닉층/출력층을 구비하는 다층 퍼셉트론(Multilayer Perceptron, MLP)를 사용할 수 있다. 예를들면, 특정 영상이 CNN의 입력으로 주어졌을 때, 각 층에서 생성되는 특징 맵(feature map)의 재구성 과정을 거친다. Convolutional Neural Networks (CNN) are multilayer neural networks mainly used for character recognition and image analysis of videos. Convolutional Neural Network (CNN) uses multiple convolution layers and pooling layers in the form of pairs (convolution layer, pooling layer, convolution layer, pooling layer,...) , followed by a multilayer perceptron (MLP) with an input layer/hidden layer/output layer composed of several FC layers (fully-connected layers). For example, when a specific image is given as an input to a CNN, the feature map generated at each layer goes through a reconstruction process.

각각의 특징 맵(feature map)으로부터 입력 영상에서 단계적으로 특징들이 추출되고(feature extraction), 분류(classification)된다. 특징 맵(feature map)을 생성하는 과정에서 가중치들을 필터(filter)라고 하며, 컨볼루션 층(convolution layer)에서 사용되는 마스크(mask), 풀링 층(pooling layer)에서 사용되는 2x2, 3x3, 4x4 또는 5x5 윈도우(window), FC 층에서 사용되는 가중치들의 모음을 모두 필터라고 할 수 있다. 풀링 층에서의 down-sampling 또는 sub-sampling)을 위해 평균을 계산하는 mean 함수 또는 최대치를 선택하는 max 함수를 선택하여 사용된다. Features are extracted and classified step by step from the input image from each feature map. In the process of creating a feature map, the weights are called filters, and the mask used in the convolution layer, 2x2, 3x3, 4x4 or 2x4 used in the pooling layer. The 5x5 window and the collection of weights used in the FC layer can all be called filters. For down-sampling or sub-sampling in the pooling layer, it is used by selecting the mean function that calculates the average or the max function that selects the maximum value.

또한, CPU, GPU, 메모리 등의 연산 능력과 컴퓨팅 기술의 비약적인 발전으로, RNN(Recurrent Neural Network), LSTM (Long Short-Term Memory), GRU(Gated Recurrent Unit) 등의 머신러닝 알고리즘들은 인공 신경망의 순차 데이터 순서를 유지하며, 많은 분량의 학습 데이터를 학습할 수 있다.In addition, with the rapid development of computing power and computing technology such as CPU, GPU, memory, etc., machine learning algorithms such as RNN (Recurrent Neural Network), LSTM (Long Short-Term Memory), and GRU (Gated Recurrent Unit) have been developed into artificial neural networks. It maintains sequential data order and can learn a large amount of training data.

참고로, 순환 신경망(Recurrent Neural Network, RNN)은 특정 노드의 출력이 해당 노드(node)에 다시 입력되는 구조를 갖는 신경망이며 즉, 현재 입력 데이터와 과거의 입력 데이터를 동시에 고려하여 결과값을 도출하며, 학습도 김은 신경망의 학습에서 vanishing gradient problem에 대한 해결 방안으로써, LSTM(Long Short-Term Memory)이 제안되었다. For reference, a Recurrent Neural Network (RNN) is a neural network with a structure in which the output of a specific node is re-input to that node. That is, it derives the result by simultaneously considering current input data and past input data. In addition, LSTM (Long Short-Term Memory) was proposed as a solution to the vanishing gradient problem in the learning of neural networks.

LSTM(Long Short-Term Memory 장단기 메모리 신경망)은 셀 상태에 정보를 추가하거나 삭제할 수 있는 게이트(gate) 구조를 갖는다. 게이트(gate)는 정보 결정에 있어 선택할 수 있으며, sigmoid 신경망 층과 벡터의 요소 간 곱 연산으로 구성된다. LSTM (Long Short-Term Memory neural network) has a gate structure that can add or delete information in the cell state. The gate can be selected in determining information and consists of a multiplication operation between the sigmoid neural network layer and the elements of the vector.

Bidirectional-LSTM(Bidirectional Long Short-Term Memory, Bi-LSTM, 양방향 장단기 신경망)은 단방향 LSTM 모델과 동일한 입력을 사용하며, 단방향 LSTM 모델의 구조와 달리 양방향으로 언어 모델(language model)의 문장의 시계열적인 정보를 사용하여 훈련(training)한다.Bidirectional-LSTM (Bidirectional Long Short-Term Memory, Bi-LSTM, Bidirectional Long Short-Term Neural Network) uses the same input as the unidirectional LSTM model, and unlike the structure of the unidirectional LSTM model, it uses the time series of sentences of the language model in a bidirectional manner. Train using information.

각 layer의 모든 토큰의 output (크기: 512x768)을 LSTM의 입력으로 사용하였으며, LSTM은 2개의 layer로 구성되고, 각 LSTM layer는 512개의 LSTM cell로 구성되며, 각 layer의 LSTM output (크기: 512x192)을 결합한 후에 완전 연결층(fully connected layer)을 사용한다. The output of all tokens (size: 512x768) of each layer was used as the input of LSTM. LSTM consists of two layers, each LSTM layer consists of 512 LSTM cells, and the LSTM output of each layer (size: 512x192) ) are combined, then a fully connected layer is used.

Bidirectional GRU(Bidirectional Gated Recurrent Unit, Bi-GRU)는 문장 유사도 측정(sentence similarity measure) 용도로 사용된다. Bidirectional GRU (Bidirectional Gated Recurrent Unit, Bi-GRU) is used as a sentence similarity measure.

전처리 후, 각각의 문장의 토큰 시퀀스(each sequence of tokens)는 단어의 임베딩 레이어(Embedding layer)를 통해 임의의 벡터(random vector)로 임베디드 된다. 실시예에서는, Bi-GRU는 크기를 256으로 설정했으며, 포함된 벡터가 계산된다. 실시예에서는, 유사도(similarity)는 완전 연결층(full connect layer, FC)과 유클리디안 거리를 사용한 sigmoid로 계산된다. 유사도(similarity)는 0 ~ 1 사이의 값을 가지며, 유사도 값이 1에 가까울수록 두 문장이 유사하다. 유사도를 측정하기 위해 완전 연결층(FC)과의 거리(distance)를 측정하며, 거리는 Euclidean 거리, Cosine 거리, Manhatten 거리, Minkowski 거리, Chebyshev 거리를 사용할 수 있다. After preprocessing, each sequence of tokens is embedded into a random vector through the word embedding layer. In the example, Bi-GRU sets the size to 256 and the contained vectors are calculated. In an embodiment, similarity is calculated as sigmoid using a full connect layer (FC) and Euclidean distance. Similarity has a value between 0 and 1, and the closer the similarity value is to 1, the more similar the two sentences are. To measure similarity, the distance from the fully connected layer (FC) is measured, and Euclidean distance, Cosine distance, Manhatten distance, Minkowski distance, and Chebyshev distance can be used.

도 3b와 3c는 AI 탐지 옵션(Sensitivity, Duplication, Accumulated Data, Sloop degree, Time Window Unit, Outlier/Inlier)을 보인 화면이다. Figures 3b and 3c are screens showing AI detection options (Sensitivity, Duplication, Accumulated Data, Sloop degree, Time Window Unit, Outlier/Inlier).

AI 탐지 옵션은 AI 탐지 데이터의 민감도(Sensitivity), 데이터 중복 제거(De-duplication), 누적된 면적(Accumulated Area), 기울기(Slope degree), 타임 윈도우 유닛(Time Window Unit), Outlier/Inlier(이상 징후/정상 징후)가 포함된다. AI detection options include sensitivity of AI detection data, data deduplication, accumulated area, slope degree, time window unit, and outlier/inlier. signs/normal signs) are included.

* 민감도(Sensitivity) : 예측과 실제 값의 차이 정도를 나타내며, 추후 이벤트 탐지의 척도가 됨* Sensitivity: Indicates the degree of difference between predictions and actual values, and becomes a measure of future event detection.

* 데이터 중복 제거(De-duplication) : 중복되는 값의 데이터 제외* Data de-duplication: Excluding data with duplicate values

* 누적된 면적(Accumulated Area) : 데이터의 면적을 이용한 filter 적용 * Accumulated Area: Apply filter using the area of the data

예) 낮은 값의 데이터일때 탐지하지 않음) Example) Not detected when data is of low value)

* 기울기(Slope degree) : 데이터의 기울기를 이용한 필터 적용 (예: 급감할 때는 이벤트 탐지 하지 않음)* Slope degree: Apply a filter using the slope of the data (e.g. do not detect events when there is a sharp decrease)

* 타임 윈도우 유닛(Time Window Unit) : Window 내 데이터 row 수* Time Window Unit: Number of data rows in the window

예) 7 unit: 7개의 데이터를 하나의 패턴 (input) 으로 봄 Example) 7 unit: 7 data considered as one pattern (input)

* Outlier/Inlier : 이상 징후/정상 징후 중 어느 부분을 이벤트로 탐지할 지에 대한 여부* Outlier/Inlier: Whether to detect abnormal/normal signs as events

도 3d는 학습데이터 쿼리(SPL), 탐지 데이터 쿼리(SPL)를 사용한 Test Data (KPI = 1) 쿼리(AI 수치 이상 탐지) 화면이다.Figure 3d is a Test Data (KPI = 1) query (AI numerical anomaly detection) screen using learning data query (SPL) and detection data query (SPL).

여기서 KPI(Key Performance Indicator)는 핵심성과지표 데이터의 종류가 한 종류임을 나타낸다. Here, KPI (Key Performance Indicator) indicates one type of key performance indicator data.

도 3e는 학습 데이터 이미지(Splunk Image), 탐지 데이터 이미지(Splunk Image)를 포함하는 Test Data Splunk Image(AI 수치 이상 탐지) 화면이다. Figure 3e is a Test Data Splunk Image (AI numerical anomaly detection) screen including a training data image (Splunk Image) and a detection data image (Splunk Image).

도 3f는 UserID에 따라, 일자별 학습데이터 트렌드(추이 그래프), value별 빈도를 나타낸 학습데이터 분포(막대 그래프)를 데이터 시각화(KPI = 1) 한 화면이다. Figure 3f is a data visualization screen (KPI = 1) showing the learning data trend by date (trend graph) and the learning data distribution (bar graph) showing the frequency by value according to UserID.

도 3f에서 KPI = 1 이므로 학습데이터 트렌드나 학습데이터 분포가 한 종류의 데이터임을 확인할 수 있다. In Figure 3f, since KPI = 1, it can be confirmed that the learning data trend or learning data distribution is one type of data.

도 3g는 UserID에 따라, 일자별 탐지데이터 트렌드(추이 그래프-이상 패턴(Anomaly-Outlier)), value별 빈도를 나타낸 탐지데이터 분포(막대 그래프-이상 패턴(Outlier))를 포함하는 탐지 데이터 시각화(KPI = 1) 한 화면이다. Figure 3g is a detection data visualization (KPI) including detection data trends by date (trend graph - anomaly pattern (Anomaly-Outlier)) and detection data distribution showing frequency by value (bar graph - anomaly pattern (Outlier)) according to UserID. = 1) It is one screen.

도 3h, 3i는 학습 알고리즘을 사용하여 학습 데이터에 대하여 정상 패턴을 학습 후, 머신러닝(딥러닝) 모델을 사용하여 개인별 수치 이상 탐지 임계값(threshold)를 적용하여 탐지 데이터를 출력하고, 탐지 데이터의 예측 값과 실제 값의 거리(distance)를 계산하여 탐지 데이터를 출력하는 화면이다. Figures 3h and 3i show that after learning a normal pattern for the learning data using a learning algorithm, detection data is output by applying an individual numerical abnormality detection threshold using a machine learning (deep learning) model, and the detection data This is a screen that calculates the distance between the predicted value and the actual value and outputs the detection data.

도 3j는 학습 알고리즘 후의 일자별 탐지 데이터에 대한 AI 탐지 민감도(Sensitivity) 화면이다. Figure 3j is an AI detection sensitivity screen for daily detection data after the learning algorithm.

도 3k는 JMachine 시나리오 - 탐지 데이터에 대한 AI 탐지 민감도, AI 탐지 원천 데이터 화면이다. Figure 3k is a JMachine scenario - AI detection sensitivity to detection data, AI detection source data screen.

도 3h, 및 도 3j에서와 같이 학습데이터를 머신러닝(딥러닝) 모델을 통해 학습한 결과 임계값은 245.3으로 결정된 후 예측된 값과 실제값이 거리(차이)을 계산한 결과 민감도가 5(2510), 6(2573), 7(3138). 8(2959) 가 거리가 멀리 있음을 확인할 수 있어 이상징후를 감지할 수 있음을 보여준다. As shown in Figures 3h and 3j, as a result of learning the training data through a machine learning (deep learning) model, the threshold value was determined to be 245.3, and then the distance (difference) between the predicted value and the actual value was calculated, and the sensitivity was 5 ( 2510), 6(2573), 7(3138). 8 (2959) can confirm that the distance is far, showing that abnormal signs can be detected.

또한 도 3k에서와 같이 AI 탐지 원천데이터와 이를 통해 획득한 민감도를 획득한 그래프를 보여준다.Also, as shown in Figure 3k, a graph showing the AI detection source data and the sensitivity obtained through it is shown.

또한 도 3i에서와 같이 학습데이터를 딥러닝 모델을 통해 학습한 결과 임계값이 0.191897로 결정된 후 예측된 값과 실제값이 거리(차이)을 계산한 결과 민감도가 12(2.869), 13(1.975), 14(1.390) 가 거리가 멀리 있음을 확인할 수 있어 이상징후를 감지할 있음을 보여준다. In addition, as shown in Figure 3i, as a result of learning the training data through a deep learning model, the threshold was determined to be 0.191897, and then the distance (difference) between the predicted value and the actual value was calculated, and the sensitivity was 12 (2.869) and 13 (1.975). , 14(1.390) can be confirmed to be far away, showing that abnormal signs can be detected.

이하에서 학습데티어와 탐지테이터를 활용하여 처리한 하나의 실시예를 설명한다. Below, an example of processing using learning data and detection data will be described.

도 4a는 학습데이터 쿼리(SPL), 탐지 데이터 쿼리(SPL)를 사용한 Test Data (KPI = 3) 쿼리(AI 수치 이상 탐지) 화면이다.Figure 4a is a Test Data (KPI = 3) query (AI numerical anomaly detection) screen using learning data query (SPL) and detection data query (SPL).

도 4b는 학습 데이터 이미지(Splunk Image), 탐지 데이터 이미지(Splunk Image)를 포함하는 Test Data Splunk Image(AI 수치 이상 탐지)(KPI =3) 화면이다. Figure 4b is a Test Data Splunk Image (AI numerical anomaly detection) (KPI = 3) screen including a training data image (Splunk Image) and a detection data image (Splunk Image).

도 4c는 cpu_system_pct, cpu_user_pct, tot_cpu_pct 학습 데이터에 대한 일자별/시간대별 학습데이터 트렌드(추이 그래프), value별 빈도를 나타낸 학습데이터 분포(막대 그래프)를 데이터 시각화(KPI = 3) 한 화면이다. Figure 4c is a screen showing data visualization (KPI = 3) of learning data trends (trend graph) by date/time for cpu_system_pct, cpu_user_pct, and tot_cpu_pct learning data, and learning data distribution (bar graph) showing frequency by value.

네트워크 장비의 가상 머신을 사용하여 CPU 사용량의 기록을 모니터링할 때, CPU 시스템(cpu_system_pct), 임의 사용자의 CPU 사용량(cpu_user_pct), 전체 CPU 사용량(tot_cpu_pct)를 보여준다. 여기서 pct는 percent를 의미하며, 임의 사용자(user)가 사용한 CPU 사용량과 CPU 시스템(cpu_system_pct)과 stem_pct) 전체 CPU 사용량(tot_cpu_pct)과 관계를 통해 임의 사용자(user)가 사용한 CPU 사용량의 이상징후를 결정한다.When monitoring the history of CPU usage using a virtual machine on a network device, it shows CPU system (cpu_system_pct), CPU usage by random users (cpu_user_pct), and total CPU usage (tot_cpu_pct). Here, pct means percent, and abnormal signs of CPU usage used by a random user are determined through the relationship between the CPU usage used by a random user and the total CPU usage (tot_cpu_pct) of the CPU system (cpu_system_pct) and stem_pct. do.

여기서 KPI = 3으로, KPI는 CPU 시스템(cpu_system_pct), 임의 사용자의 CPU 사용량(cpu_user_pct), 전체 CPU 사용량(tot_cpu_pct)을 가르킨다.Here, KPI = 3, and the KPI refers to the CPU system (cpu_system_pct), CPU usage of random users (cpu_user_pct), and total CPU usage (tot_cpu_pct).

도 4d는 cpu_system_pct, cpu_user_pct, tot_cpu_pct에 대한 일자별/시간대별 탐지데이터 트렌드(추이 그래프-이상 패턴(Anomaly-Outlier)), value별 빈도를 나타낸 탐지데이터 분포(막대 그래프-이상 패턴(Outlier))를 갖는 탐지 데이터 시각화(KPI = 3) 한 화면이다. Figure 4D shows detection data trends by date/time for cpu_system_pct, cpu_user_pct, and tot_cpu_pct (trend graph - anomaly pattern (Anomaly-Outlier)), detection data distribution showing the frequency by value (bar graph - anomaly pattern (Outlier)). Detection data visualization (KPI = 3) is one screen.

도 4e는 학습 알고리즘의 cpu_system_pct, cpu_user_pct, tot_cpu_pct 학습 데이터에 대하여 시간대별/일자별 정상 패턴 학습 후, 머신러닝(딥러닝) 모델을 사용하여 개인별 수치 이상 탐지 임계값(threshold)를 적용하여 탐지 데이터를 출력하고, cpu_system_pct, cpu_user_pct, tot_cpu_pct에 대한 시간대별/일자별 탐지 데이터의 예측 값과 실제 값의 유클리디안 거리(distance)를 계산하여 탐지 데이터를 출력하는 화면이다. Figure 4e shows normal patterns by time/date for the cpu_system_pct, cpu_user_pct, and tot_cpu_pct learning data of the learning algorithm, and then applying an individual numerical anomaly detection threshold using a machine learning (deep learning) model to output detection data. This is a screen that calculates the Euclidean distance between the predicted value and the actual value of the detection data for each time zone/date for cpu_system_pct, cpu_user_pct, and tot_cpu_pct and outputs the detection data.

도 4f는 학습 알고리즘을 사용하여 cpu_system_pct, cpu_user_pct, tot_cpu_pct 학습 데이터의 정상 패턴 학습 후 결과: cpu_system_pct, cpu_user_pct, tot_cpu_pct 학습 데이터에 대한 시간대별/일자별 정상 패턴 학습 후, 이상 패턴 표시 화면이다. Figure 4f is a result of learning normal patterns of cpu_system_pct, cpu_user_pct, tot_cpu_pct learning data using a learning algorithm: A screen showing abnormal patterns after learning normal patterns by time slot/date for cpu_system_pct, cpu_user_pct, tot_cpu_pct learning data.

도 4f는를 통해 임의 사용자(user)가 사용한 CPU 사용량과 CPU 시스템(cpu_system_pct)과 전체 CPU 사용량(tot_cpu_pct)과 관계를 통해 임의 사용자(user)가 사용한 CPU 사용량의 이상징후를 결정할 수 있다. In Figure 4f, abnormal signs of CPU usage used by a random user can be determined through the relationship between the CPU usage used by a random user (user), the CPU system (cpu_system_pct), and the total CPU usage (tot_cpu_pct).

이렇게 함으로써 임의 사용자들이 사용하는 보안구성요소의 이상징후를 통해 임의 사용자들의 이상징후를 결정할 수 있게 된다. By doing this, it is possible to determine the abnormal symptoms of arbitrary users through the abnormal symptoms of the security components used by arbitrary users.

도 4g는 JMachine 시나리오 - cpu_system_pct, cpu_user_pct, tot_cpu_pct 탐지 데이터에 관한 AI 탐지 민감도, AI 탐지 원천 데이터 화면이다. Figure 4g is a JMachine scenario - AI detection sensitivity and AI detection source data screen regarding cpu_system_pct, cpu_user_pct, and tot_cpu_pct detection data.

도 4h는 cpu_system_pct, cpu_user_pct, tot_cpu_pct 탐지 데이터에 관한 각각 value별 빈도별 히스토그램을 표시한 탐지 데이터를 나타낸 탐지 이벤트 시각화 화면이다. Figure 4h is a detection event visualization screen showing detection data showing histograms for each value and frequency for cpu_system_pct, cpu_user_pct, and tot_cpu_pct detection data.

도 5a는 AI 로그 이상탐지: 로그 텍스트 데이터를 수치 데이터로 변형 후 수치 데이터의 이상 패턴 탐지(정상 패턴을 학습하여, 이상 패턴을 수치화하여 임계치 지정) Test Data(KPI=1) 학습 데이터 쿼리(SPL), 탐지 데이터 쿼리(SPL) - AI 로그 이상 탐지 화면이고, 도 5b는 학습 데이터 이미지(Splunk), 탐지 데이터 이미지(Splunk)를 포함하는 Test Data Splunk Image(AI 로그 이상 탐지) 화면이며. 도 5c는 시간, log_key별 시계열적인 순서로 학습 데이터, 탐지 데이터의 임베디드된 텍스트(AI 로그 이상 탐지) 화면이고, 도 5d는 로그인 진행시 발생하는 텍스트 데이터를 보여주는 화면이다. Figure 5a shows AI log anomaly detection: Transforming log text data into numerical data, then detecting abnormal patterns in numerical data (learning normal patterns, quantifying abnormal patterns and specifying thresholds) Test Data (KPI=1) Learning data query (SPL) ), Detection data query (SPL) - AI log anomaly detection screen, and Figure 5b is a Test Data Splunk Image (AI log anomaly detection) screen including a training data image (Splunk) and a detection data image (Splunk). Figure 5c is a screen showing embedded text (AI log anomaly detection) of learning data and detection data in chronological order by time and log_key, and Figure 5d is a screen showing text data generated during login.

본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되고 컴퓨터 판독 가능 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 기록 매체는 프로그램 명령, 데이터 파일, 데이터 구조를 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 기록 매체는 스토리지, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 저장 매체에 프로그램 명령을 저장하고 수행하도록 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예는 컴파일러에 의해 만들어지는 것과, 기계어 코드뿐만 아니라 인터프리터를 사용하여 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상기 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로써 작동하도록 구성될 수 있다.Embodiments according to the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, and data structures alone or in combination. Computer-readable recording media include storage, magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -Hardware devices configured to store and execute program instructions in optical media and storage media such as ROM, RAM, flash memory, etc. may be included. Examples of program instructions may include those produced by a compiler, machine language code, as well as high-level language code that can be executed by a computer using an interpreter. The hardware device may be configured to operate as one or more software modules to perform the operations of the present invention.

이상에서 설명한 바와 같이, 본 발명의 방법은 프로그램으로 구현되어 컴퓨터의 소프트웨어를 이용하여 읽을 수 있는 형태로 기록매체(CD-ROM, RAM, ROM, 메모리 카드, 하드 디스크, 광자기 디스크, 스토리지 디바이스 등)에 저장될 수 있다. As described above, the method of the present invention is implemented as a program and can be stored on a recording medium (CD-ROM, RAM, ROM, memory card, hard disk, magneto-optical disk, storage device, etc.) in a form that can be read using computer software. ) can be stored in .

본 발명의 구체적인 실시예를 참조하여 설명하였지만, 본 발명은 상기와 같이 기술적 사상을 예시하기 위해 구체적인 실시 예와 동일한 구성 및 작용에만 한정되지 않고, 본 발명의 기술적 사상과 범위를 벗어나지 않는 한도 내에서 다양하게 변형하여 실시될 수 있으며, 본 발명의 범위는 후술하는 특허청구범위에 의해 결정되어야 한다.Although the present invention has been described with reference to specific embodiments of the present invention, the present invention is not limited to the same configuration and operation as the specific embodiments to illustrate the technical idea as described above, and is not limited to the technical idea and scope of the present invention. It can be implemented with various modifications, and the scope of the present invention should be determined by the claims described later.

100: 보안 지역 문서 보관실 110: 태그 리더
120: 문서 보관실 PC 130: 출입자의 태그 출입증
131: 태그 칩 170: 사용자 단말
190: 라우터 200: 보안 서버
100: Secure area document storage room 110: Tag reader
120: Document storage room PC 130: Tag pass of visitor
131: tag chip 170: user terminal
190: router 200: security server

Claims (16)

로그에 따른 이상징후를 평가하기 위해 로그인 진행시 발생하는 텍스트를 활용하여 로그인의 이상유무를 판단하는 평가모듈을 구비하는 제1단계;
상기 평가모듈에는 다수의 데이터를 저장하는 스토리지가 구비되고, 외부로부터 다수의 데이터가 입력되도록 입력기기가 연결되어 배치되는 제2단계;
상기 입력기기를 통해 입력되는 학습데이터를 일정기간 누적하여 상기 스토리지에 저장하는 제3단계;
상기 누적된 다수개의 학습데이터를 상기 평가모듈에서 평가하여 임계값을 결정하는 제4단계;
상기 결정된 임계값을 스토리지에 저장하는 제5단계;
상기 임계값이 결정된 후 평가해야할 평가데이터를 상기 입력기기를 통해 입력하는 제6단계
상기 입력되는 평가데이터를 평가기간동안 분석하여 판단값을 결정하는 제7단계;
상기 판단값과 상기 임계값과의 관계를 분석하여 이상유무를 발생하는 제8단계;를 통해 상기 평가데이터에 대한 이상징후 여부를 판단하며
상기 평가모듈에 입력되는 상기 학습데이터와 평가데이터는 평가대상이 되는 모든 로그수치 데이터들에 대해 각각 별도로 구분하여 입력됨에 따라 모든 로그수치 데이터들에 대해 각각 서로 다른 임계값이 정해지고 이를 통해 모든 로그수치 데이터들이 서로 다른 임계값을 통해 각각 이상징후여부가 판단되되
상기 학습데이터는 Bij(여기서 i 는 각 로그종류에 대한 인덱스로서 i = 1, 2, 3, ..., p-1, p, p+1, ..., m-1, m 이고, j 는 p 종류의 로그인 진행시 발생한 로그수치 데이터들에 대한 시계열 인덱스로서 j = 1, 2, 3, ..., q-1, q, q+1, ..., n-1, n 이며, Bpq 는 p 종류의 로그인을 q 번째 진행할 때 발생된 로그수치데이터임)로서
상기 학습데이터 Bij를 통해 각 로그종류에 대한 상위임계치인 1차 상위임계값 Xi1와 2차 상위임계값 Xi2와 3차 상위임계값 Xi3을 구하고,
하위임계치인 1차 하위임계값 Yi1와 2차 하위임계값 Yi2와 3차 하위임계값 Yi3을 구하며(여기서 i 는 각 로그종류에 대한 인덱스로서 i = 1, 2, 3, ..., p-1, p, p+1, ..., m-1, m임)
상기 평가데이터는 Dik(여기서 i 는 각 로그종류에 대한 인덱스로서 i = 1, 2, 3, ..., p-1, p, p+1, ..., m-1, m 이고, k 는 p 종류의 로그인 진행시 발생한 로그수치 데이터에 대한 시계열 인덱스로서 k = 1, 2, 3, ..., r-1, r, r+1, ..., u-1, u 이며, Dpr 는 p 종류의 로그인을 r 번째 진행했을 때 발생된 로그수치데이터 임)로서
상기 평가데이터 Dik를 통해 평가값 Zi으로 구한 후 상기 평가값과 상기 1차 내지 3차 상위임계값 및 상기 1차 내지 3차 하위임계값을 비교하여 이상징후를 결정하는 것을 특징으로 하는 로그인 진행시 발생하는 텍스트를 활용하여 로그인시 발생되는 이상징후 탐지방법.
A first step of providing an evaluation module that determines whether there is an abnormality in login by using text generated during login to evaluate abnormal signs according to the log;
A second step in which the evaluation module is provided with storage for storing a plurality of data, and an input device is connected and arranged to input a plurality of data from the outside;
A third step of accumulating learning data input through the input device over a certain period of time and storing it in the storage;
A fourth step of determining a threshold value by evaluating the accumulated plurality of learning data in the evaluation module;
A fifth step of storing the determined threshold in storage;
A sixth step of inputting evaluation data to be evaluated through the input device after the threshold is determined.
A seventh step of determining a judgment value by analyzing the input evaluation data during the evaluation period;
An eighth step of generating abnormality by analyzing the relationship between the judgment value and the threshold value; determining whether there is an abnormality in the evaluation data through
As the learning data and evaluation data input to the evaluation module are input separately for all log numerical data subject to evaluation, different threshold values are set for all log numerical data, and through this, all log numerical data are input separately. Numerical data are each judged abnormal through different threshold values.
The learning data is Bij (where i is the index for each log type, i = 1, 2, 3, ..., p-1, p, p+1, ..., m-1, m, and j is a time series index for the log numerical data generated during the p type of login process, where j = 1, 2, 3, ..., q-1, q, q+1, ..., n-1, n, Bpq is log numerical data generated when the p type of login is performed for the qth time)
Through the learning data Bij, the first upper threshold Xi1, the second upper threshold Xi2, and the third upper threshold Xi3, which are the upper thresholds for each log type, are obtained,
Find the first sub-threshold Yi1, the second sub-threshold Yi2, and the third sub-threshold Yi3 (where i is the index for each log type, i = 1, 2, 3, ..., p- 1, p, p+1, ..., m-1, m)
The evaluation data is Dik (where i is the index for each log type, i = 1, 2, 3, ..., p-1, p, p+1, ..., m-1, m, k is a time series index for the log numerical data generated during the p type of login process, where k = 1, 2, 3, ..., r-1, r, r+1, ..., u-1, u, and Dpr is the log numerical data generated when the p type of login was performed for the rth time).
When logging in, the evaluation value Zi is obtained through the evaluation data Dik, and abnormal symptoms are determined by comparing the evaluation value with the first to third upper threshold values and the first to third lower threshold values. A method of detecting abnormal signs that occur when logging in using the text that occurs.
삭제delete 제1항에 있어서
상기 상기 학습데이터와 상기 평가데이터는 텍스트 데이터로서, 웹서버(Web Server) 로그인 진행시 생성된 텍스트, 침입탐지 시스템(Intrusion Detection System) 로그인 진행시 생성된 텍스트, 스플렁크(Splunk) 내부 로그 텍스트 중의 하나이상으로
상기 로그인 진행시 생성되는 텍스트를 수치로 변화하여 상기 수치화된 로그수치 데이터를 적용하는 것을 특징으로 하는 로그인 진행시 발생하는 텍스트를 활용하여 로그인시 발생되는 이상징후 탐지방법.
In paragraph 1
The learning data and the evaluation data are text data, including text generated when logging into a web server, text generated when logging into an Intrusion Detection System, and text from Splunk's internal log. more than one
A method for detecting abnormal signs that occur during login using text generated during login, characterized in that the text generated during the login process is converted into numbers and the numerical log numerical data is applied.
제1항에 있어서
상기 제3단계에서 일정기간은 1 내지 5주간 인 것을 특징으로 하는 로그인 진행시 발생하는 텍스트를 활용하여 로그인시 발생되는 이상징후 탐지방법.
In paragraph 1
A method for detecting abnormal signs that occur during login using text generated during login, characterized in that the certain period of time in the third step is 1 to 5 weeks.
제1항에 있어서
상기 제7단계의 평가기간은 일간단위 또는 주간단위 인 것을 특징으로 하는 로그인 진행시 발생하는 텍스트를 활용하여 로그인시 발생되는 이상징후 탐지방법.
In paragraph 1
A method for detecting abnormal signs that occur during login using text generated during login, characterized in that the evaluation period of the seventh step is daily or weekly.
제3항에 있어서
상기 제4단계의 평가모듈에는 머신러닝 알고리즘이 탑재됨에 따라 상기 누적된 다수개의 학습데이터를 상기 머신러닝 알고리즘에 입력시켜 학습을 통해 다수개의 학습시료치를 확보한 다음, 상기 학습시료치로 정규분포곡선을 구하고 상기 정규분포곡선에서 표준편차(σ)를 분석하여 이를 임계값으로 결정하며,
상기 평가데이터를 머신러닝(딥러닝) 알고리즘에 입력시켜 판단값를 확보하는 것을 특징으로 하는 로그인 진행시 발생하는 텍스트를 활용하여 로그인시 발생되는 이상징후 탐지방법.
In paragraph 3
As the evaluation module of the fourth step is equipped with a machine learning algorithm, the accumulated plurality of learning data are input to the machine learning algorithm to secure a plurality of learning samples through learning, and then a normal distribution curve is created using the learning samples. Obtain and analyze the standard deviation (σ) from the normal distribution curve to determine this as the critical value,
A method of detecting abnormal signs that occur during login using text generated during login, characterized by securing a judgment value by inputting the evaluation data into a machine learning (deep learning) algorithm.
제3항에 있어서
상기 제4단계의 평가모듈에는 머신러닝 알고리즘이 탑재됨에 따라 상기 누적된 다수개의 학습데이터를 상기 머신러닝 알고리즘에 입력시켜 학습을 통해 학습데티터에 대한 다수개의 학습시료치를 확보한 다음, 상기 다수개의 학습시료치로부터 평균치를 구하고, 상기 각각의 학습시료치에서 평균값을 뺀 차이값을 구한다음 상기 차이값 중에서 일정값을 임계값을 결정하며,
상기 평가데이터를 머신러닝(딥러닝) 알고리즘에 입력시켜 평가데이터에 대한 평가시료치를 구하고, 상기 평가시료치에서 상기 평균값을 뺀 판단값를 확보하는 것을 특징으로 하는 로그인 진행시 발생하는 텍스트를 활용하여 로그인시 발생되는 이상징후 탐지방법.
In paragraph 3
As the evaluation module of the fourth step is equipped with a machine learning algorithm, the accumulated plurality of learning data are input to the machine learning algorithm to secure a plurality of learning samples for the learning data through learning, and then The average value is obtained from the learning sample values, the difference value is obtained by subtracting the average value from each of the learning sample values, and then a certain value among the difference values is determined as a threshold value,
Login using the text generated during login, characterized by inputting the evaluation data into a machine learning (deep learning) algorithm to obtain an evaluation sample value for the evaluation data, and securing a judgment value by subtracting the average value from the evaluation sample value. Method for detecting abnormal signs that occur when
제7항에 있어서
상기 차이값 중에서 임계값으로 결정하는 일정값은 상기 차이값 중에서 상위 70%와 가장 가까이에 있는 차이값을 임계값으로 결정하고 상기 판단값이 상기 임계값보다 크면 이상경고를 발생시키는 것을 특징으로 하는 로그인 진행시 발생하는 텍스트를 활용하여 로그인시 발생되는 이상징후 탐지방법.
In paragraph 7
A certain value determined as a threshold among the difference values determines the difference value closest to the top 70% of the difference values as the threshold value, and generates an abnormality warning when the judgment value is greater than the threshold value. A method of detecting abnormal signs that occur during login using text generated during login.
제6항에 있어서
상기 표준편차 +1일때의 값을 1차 상위임계값이라 하고, 상기 표준편차 +2일때의 값을 2차 상위임계값이라 하고, 상기 표준편차 +3일때의 값을 3차 상위임계값이라 하며,
상기 표준편차 -1일때의 값을 1차 하위임계값이라 하고, 상기 표준편차 -2일때의 값을 2차 하위임계값이라 하고, 상기 표준편차 -3일때의 값을 3차 하위임계값이라 하여,
상기 1차 내지 3차 상위임계값와, 상기 1차 내지 3차 하위임계값을 이상경고를 발생시키는 기준으로 활용하는 것을 특징으로 하는 로그인 진행시 발생하는 텍스트를 활용하여 로그인시 발생되는 이상징후 탐지방법.
In paragraph 6
The value when the standard deviation is +1 is called the first upper threshold, the value when the standard deviation is +2 is called the second upper threshold, and the value when the standard deviation is +3 is called the third upper threshold. ,
The value when the standard deviation is -1 is called the 1st lower threshold, the value when the standard deviation is -2 is called the 2nd lower threshold, and the value when the standard deviation is -3 is called the 3rd lower threshold. ,
A method for detecting abnormal signs generated during login using text generated during login, characterized in that the first to third upper threshold values and the first to third lower threshold values are used as a standard for generating an abnormality warning. .
제9항에 있어서
상기 평가모듈은 상기 제8단계에서
상기 판단값이 상기 1차 상위임계값과 상기 2차 상위임계값 사이에 존재하거나, 상기 1차 하위임계값과 상기 2차 하위임계값 사이에 존재하면 예비이상경고를 발생하고
상기 판단값이 상기 2차 상위임계값과 상기 3차 상위임계값 사이에 존재하거나, 상기 2차 하위임계값과 상기 3차 하위임계값 사이에 존재하면 중간이상경고를 발생하며,
상기 판단값이 상기 3차 상위임계값을 벗어나거나, 상기 3차 하위임계값에 미치지 못하는 위치에 존재하면 긴급이상경고를 발생시켜 경고관리단말에게 전달하는 것을 특징으로 하는 로그인 진행시 발생하는 텍스트를 활용하여 로그인시 발생되는 이상징후 탐지방법.
In paragraph 9
The evaluation module is performed in step 8.
If the decision value is between the first upper threshold and the second upper threshold, or between the first lower threshold and the second lower threshold, a preliminary abnormality warning is generated.
If the decision value is between the second upper threshold and the third upper threshold, or between the second lower threshold and the third lower threshold, an intermediate abnormality warning is generated,
If the judgment value exceeds the 3rd upper threshold or falls below the 3rd lower threshold, an emergency abnormality warning is generated and transmitted to the warning management terminal. A method of detecting abnormal signs that occur when logging in.
삭제delete 삭제delete 제6항에 있어서
상기 정규분포곡선에서 상위 5%를 결정하는 경계치를 상위임계값으로 하거나, 상기 정규분포곡선에서 하위 5%를 결정하는 경계치를 하위임계값으로 하거나, 상기 상위임계값과 상기 하위임계값을 동시에 적용하여 이상징후를 판단하는 것을 특징으로 하는 로그인 진행시 발생하는 텍스트를 활용하여 로그인시 발생되는 이상징후 탐지방법.
In paragraph 6
The boundary value that determines the top 5% of the normal distribution curve is set as the upper threshold, the boundary value that determines the bottom 5% of the normal distribution curve is set to the lower threshold, or the upper threshold and the lower threshold are applied simultaneously. A method of detecting abnormal signs that occur during login using text that occurs during login, which is characterized by determining abnormal signs.
제13항에 있어서
상기 평가모듈은 상기 제8단계에서
상기 판단값이 상기 상위임계값을 벗어나거나, 상기 하위임계값에 미치지 못하는 위치에 존재하면 이상경고를 발생시켜 경고관리단말에게 전달하는 것을 특징으로 하는 로그인 진행시 발생하는 텍스트를 활용하여 로그인시 발생되는 이상징후 탐지방법.
In paragraph 13
The evaluation module is performed in step 8.
If the judgment value deviates from the upper threshold or falls short of the lower threshold, an abnormal warning is generated and delivered to the warning management terminal. Generated during login using text generated during login. Abnormal symptom detection method.
제14항에 있어서
상기 평가모듈에 입력되는 상기 학습데이터와 평가데이터는 평가대상이 되는 모든 로그종류들에 대해 각각 별도로 구분하여 입력됨에 따라 모든 로그종류들에 대해 각각 서로 다른 임계값이 정해지고 이를 통해 모든 로그종류가 서로 다른 임계값을 통해 각각 이상징후여부가 판단되는 것을 특징으로 하는 로그인 진행시 발생하는 텍스트를 활용하여 로그인시 발생되는 이상징후 탐지방법.
In paragraph 14
As the learning data and evaluation data input to the evaluation module are input separately for all log types subject to evaluation, different threshold values are set for all log types, and through this, all log types are determined. A method of detecting abnormal signs that occur during login using text generated during login, characterized in that abnormal symptoms are determined through different threshold values.
제15항에 있어서
로그에 따른 이상징후를 판단하되 해당유저(유저단말) 로그인 진행시 발생하는 텍스트을 활용하여 이상징후를 파악함으로써 해당 유저의 로그인시 발생하는 이상징후를 파악하는 것을 특징으로 하는 로그인 진행시 발생하는 텍스트를 활용하여 로그인시 발생되는 이상징후 탐지방법.
In paragraph 15
Determine abnormal signs according to the log, but identify abnormal signs using text that occurs when the user (user terminal) logs in. Text that occurs during login is characterized by identifying abnormal signs that occur when the user logs in. A method of detecting abnormal signs that occur when logging in.
KR1020220015292A 2022-02-07 2022-02-07 A method to detect abnormal symptoms occurring during login using text generated during login KR102661221B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220015292A KR102661221B1 (en) 2022-02-07 2022-02-07 A method to detect abnormal symptoms occurring during login using text generated during login

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220015292A KR102661221B1 (en) 2022-02-07 2022-02-07 A method to detect abnormal symptoms occurring during login using text generated during login

Publications (2)

Publication Number Publication Date
KR20230119312A KR20230119312A (en) 2023-08-16
KR102661221B1 true KR102661221B1 (en) 2024-04-25

Family

ID=87848598

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220015292A KR102661221B1 (en) 2022-02-07 2022-02-07 A method to detect abnormal symptoms occurring during login using text generated during login

Country Status (1)

Country Link
KR (1) KR102661221B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101621019B1 (en) * 2015-01-28 2016-05-13 한국인터넷진흥원 Method for detecting attack suspected anomal event
KR102088378B1 (en) * 2019-05-21 2020-04-22 주식회사 제이슨 Artificial intelligence method and system for integrated it monitoring

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100750697B1 (en) 2005-11-16 2007-08-22 주식회사 마크애니 Digital document preservation system having a share memory for user access function and document transaction method used the system
KR102185190B1 (en) 2018-12-12 2020-12-01 한국전자통신연구원 Method and system for anomaly behavior detection using machine learning
KR20210115991A (en) * 2020-03-17 2021-09-27 한국전자통신연구원 Method and apparatus for detecting network anomaly using analyzing time-series data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101621019B1 (en) * 2015-01-28 2016-05-13 한국인터넷진흥원 Method for detecting attack suspected anomal event
KR102088378B1 (en) * 2019-05-21 2020-04-22 주식회사 제이슨 Artificial intelligence method and system for integrated it monitoring

Also Published As

Publication number Publication date
KR20230119312A (en) 2023-08-16

Similar Documents

Publication Publication Date Title
Bologa et al. Big data and specific analysis methods for insurance fraud detection.
CN111915468B (en) Network anti-fraud active inspection and early warning system
KR102359090B1 (en) Method and System for Real-time Abnormal Insider Event Detection on Enterprise Resource Planning System
Taymouri et al. Business process variant analysis based on mutual fingerprints of event logs
CN106951776A (en) A kind of Host Anomaly Detection method and system
Asha et al. Similarity measures for automatic defect detection on patterned textures
CN115001934A (en) Industrial control safety risk analysis system and method
Thuraisingham Trustworthy machine learning
CN112948897B (en) Webpage tamper-proofing detection method based on combination of DRAE and SVM
Min et al. Behavior language processing with graph based feature generation for fraud detection in online lending
You et al. sBiLSAN: Stacked bidirectional self-attention lstm network for anomaly detection and diagnosis from system logs
CN117370548A (en) User behavior risk identification method, device, electronic equipment and medium
KR102661221B1 (en) A method to detect abnormal symptoms occurring during login using text generated during login
Sudha et al. Analysis and evaluation of integrated cyber crime offences
Ding et al. Explore deep auto-coder and big data learning to hard drive failure prediction: a two-level semi-supervised model
Sulayman et al. Designing security user profiles via anomaly detection for user authentication
KR102644230B1 (en) Mysterious symptom detection system using AI variable threshold
KR102659067B1 (en) Door access management system applying deep learning
KR20230119311A (en) Anomaly detection method for each component using AI variable threshold
CN109583210A (en) A kind of recognition methods, device and its equipment of horizontal permission loophole
Punjabi et al. Forensic Intelligence-Combining Artificial Intelligence with Digital Forensics
KR20230072279A (en) Mysterious symptom detection system using AI variable threshold
KR102647002B1 (en) Anomaly detection method for Individual user using AI variable threshold
Babu et al. Network intrusion detection using machine learning algorithms
CN113141364B (en) Encrypted traffic classification method, system, equipment and readable storage medium

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant