[go: up one dir, main page]

KR20240072682A - Method for detecting cpu anomaly tand apparatus for same - Google Patents

Method for detecting cpu anomaly tand apparatus for same Download PDF

Info

Publication number
KR20240072682A
KR20240072682A KR1020220154568A KR20220154568A KR20240072682A KR 20240072682 A KR20240072682 A KR 20240072682A KR 1020220154568 A KR1020220154568 A KR 1020220154568A KR 20220154568 A KR20220154568 A KR 20220154568A KR 20240072682 A KR20240072682 A KR 20240072682A
Authority
KR
South Korea
Prior art keywords
cpu
port
monitoring
execution port
output value
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
KR1020220154568A
Other languages
Korean (ko)
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 KR1020220154568A priority Critical patent/KR20240072682A/en
Publication of KR20240072682A publication Critical patent/KR20240072682A/en
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2263Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using neural networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • G06F11/3075Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved in order to maintain consistency among the monitored data, e.g. ensuring that the monitored data belong to the same timeframe, to the same system or component
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2433Single-class perspective, e.g. one-against-all classification; Novelty detection; Outlier detection
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2123/00Data types
    • G06F2123/02Data types in the time domain, e.g. time-series data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

According to an embodiment of the present invention, a method for detecting an abnormality of a CPU by a device including a processor and a memory comprises the steps of: (a) training an artificial intelligence classification model; (b) setting a CPU monitoring condition including a CPU execution port number setting of a CPU to be monitored; (c) monitoring a port output value of the CPU execution port having a number set as the CPU monitoring condition; (d) making a dataset of the port output value of the CPU execution port according to the monitored result; (e) preprocessing the dataset; and (f) inputting the preprocessed dataset into the artificial intelligence classification model to output an abnormality detection result. The port output value of the CPU execution port is a performance monitoring counter (PMC) value of the CPU execution port.

Description

CPU의 이상을 탐지하는 방법 및 이를 위한 장치{METHOD FOR DETECTING CPU ANOMALY TAND APPARATUS FOR SAME}Method for detecting abnormalities in CPU and device therefor {METHOD FOR DETECTING CPU ANOMALY TAND APPARATUS FOR SAME}

본 발명은 CPU의 이상을 탐지하는 방법 및 이를 위한 장치에 관한 것이다. 보다 자세하게는 CPU Execution Port의 포트 출력값에 대한 모니터링을 통해 CPU의 이상을 탐지하는 방법 및 이를 위한 장치에 관한 것이다. The present invention relates to a method for detecting CPU abnormalities and a device therefor. In more detail, it relates to a method and device for detecting CPU abnormalities through monitoring the port output value of the CPU Execution Port.

CPU는 Central Processing Unit의 약자로써, 명령어의 해석과 자료의 연산, 비교 등의 처리를 제어하며, 모든 전자 기기에 필수적으로 포함되는 컴퓨터 시스템의 핵심적인 부품인바, 그 중요성은 아무리 강조해도 부족하지 않을 것이며, CPU에 이상이 발생하는 경우 해당 전자 기기 전체의 구동에 치명적인 영향을 미칠 수 있기에 CPU의 이상을 탐지하는 모니터링 기술에 관하여 활발한 연구 개발이 이루어지고 있다. CPU is an abbreviation for Central Processing Unit. It controls processing such as interpretation of instructions, calculation of data, and comparison. It is a core component of the computer system that is essential for all electronic devices, and its importance cannot be emphasized enough. Since an abnormality in the CPU can have a fatal impact on the operation of the entire electronic device, active research and development is being conducted on monitoring technology to detect abnormalities in the CPU.

한편, 종래 개발되었던 CPU의 이상을 탐지하는 모니터링 기술은 특정 종류의 공격(Attack)에 대한 이상 행위에 한정하여 모니터링을 진행할 수밖에 없었으며, 그에 따라 공격의 종류 별로 이상 탐지 프로그램을 구비해야 하므로 시스템이 전체적으로 무거워질 수밖에 없었고, 모든 공격의 종류 별로 이상 탐지 프로그램을 개별적으로 모두 구비하는 것이 현실적인 면에서 너무나 어렵다는 문제점이 존재하었다. Meanwhile, conventionally developed monitoring technology to detect abnormalities in CPUs had no choice but to limit monitoring to abnormal behavior for specific types of attacks, and accordingly, an abnormality detection program must be provided for each type of attack, so the system It had no choice but to become heavier overall, and there was a problem that it was too difficult to realistically provide an abnormality detection program for each type of attack.

또한, 사용자 편의성이 충분히 고려되지 못한바, 복수 개의 CPU CORE 중 모니터링하고자하는 CPU CORE를 개별적으로 설정할 수 없음에 따라 이상 행위가 어떠한 CPU CORE에서 발생했는지 구체적으로 확인할 수 없었으며, CPU 전체의 차원에서만 이상 행위가 발생했는지 여부를 확인할 수밖에 없다는 문제점까지 존재하였다. In addition, user convenience was not sufficiently considered, and the CPU CORE to be monitored among multiple CPU COREs could not be individually set, so it was not possible to specifically confirm which CPU CORE the abnormal behavior occurred, and only at the level of the entire CPU. There was even a problem that there was no choice but to check whether abnormal behavior had occurred.

그럼에도 불구하고 기술 개발에 의한 CPU 성능 향상에 따라 CPU CORE수는 점진적으로 증가하고 있으며, 공격의 종류 역시 나날이 다양해지고 있으므로 종래 기술의 문제점들을 한번에 해결할 수 있는 새롭고 진보한 기술이 요구된다. 본 발명은 이에 관한 것이다. Nevertheless, as CPU performance improves through technology development, the number of CPU COREs is gradually increasing, and the types of attacks are also becoming more diverse day by day, so new and advanced technologies that can solve the problems of the conventional technology at once are required. The present invention relates to this.

대한민국 공개특허공보 제 10-2012-0105049호(2012.09.24)Republic of Korea Patent Publication No. 10-2012-0105049 (2012.09.24)

본 발명이 해결하고자 하는 기술적 과제는 공격의 종류와 무관하게 모든 종류의 공격에 대하여 CPU의 이상 발생 여부를 신속하게 탐지할 수 있는 CPU의 이상을 탐지하는 방법 및 이를 위한 장치를 제공하는 것이다.The technical problem to be solved by the present invention is to provide a method and device for detecting CPU abnormalities that can quickly detect whether CPU abnormalities occur against all types of attacks, regardless of the type of attack.

본 발명이 해결하고자 하는 또 다른 기술적 과제는 모니터링하고자하는 CPU CORE를 개별적으로 설정하여 모니터링을 진행할 수 있게 함으로써 복수 개의 CPU CORE 중, 이상 행위가 발생한 CPU CORE를 정확하게 식별하여 사용자 편의성을 향상시킬 수 있는 CPU의 이상을 탐지하는 방법 및 이를 위한 장치를 제공하는 것이다.Another technical problem that the present invention aims to solve is to enable monitoring by individually setting the CPU CORE to be monitored, thereby improving user convenience by accurately identifying the CPU CORE in which abnormal behavior occurred among a plurality of CPU COREs. A method for detecting CPU abnormalities and a device for this purpose are provided.

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

상기 기술적 과제를 달성하기 위한 본 발명의 일 실시 예에 따른 프로세서 및 메모리를 포함하는 장치가 CPU의 이상을 탐지하는 방법은 (a) 인공지능 분류 모델을 학습시키는 단계, (b) 모니터링할 CPU의 CPU Execution Port 번호 설정을 포함하는 CPU 모니터링 조건을 설정하는 단계, (c) 상기 CPU 모니터링 조건으로 번호를 설정한 CPU Execution Port의 포트 출력값을 모니터링하는 단계, (d) 상기 모니터링한 결과에 따른 CPU Execution Port의 포트 출력값을 데이터셋(DataSet)화하는 단계, (e) 상기 데이터셋화한 데이터셋을 전처리하는 단계; 및 (f) 상기 전처리한 데이터셋을 상기 인공지능 분류 모델에 입력하여 이상 탐지 결과를 출력하는 단계를 포함하며, 상기 CPU Execution Port의 포트 출력값은, 상기 CPU Execution Port의 PMC(Performance Monitoring Counter) 값이다. A method of detecting an abnormality in a CPU by a device including a processor and memory according to an embodiment of the present invention to achieve the above technical problem includes (a) learning an artificial intelligence classification model, (b) the steps of: Setting CPU monitoring conditions including setting the CPU Execution Port number, (c) monitoring the port output value of the CPU Execution Port whose number is set as the CPU monitoring condition, (d) CPU Execution according to the monitoring results Converting port output values of Port into a data set (e) preprocessing the data set; and (f) inputting the preprocessed dataset into the artificial intelligence classification model to output an abnormality detection result, wherein the port output value of the CPU Execution Port is the PMC (Performance Monitoring Counter) value of the CPU Execution Port. am.

일 실시 예에 따르면, 상기 (a) 단계는, (a-1) 모니터링할 CPU의 CPU Execution Port 번호 설정을 포함하는 CPU 모니터링 조건을 설정하는 단계, (a-2) 상기 (a-1) 단계에서 CPU 모니터링 조건으로 번호를 설정한 CPU Execution Port의 포트 출력값을 모니터링하는 단계, (a-3) 상기 (a-2) 단계에서 모니터링한 결과에 따른 CPU Execution Port의 포트 출력값을 데이터셋(DataSet)화하는 단계, (a-4) 상기 (a-3) 단계에서 데이터셋화한 데이터셋을 전처리하는 단계 및 (a-5) 상기 (a-4) 단계에서 전처리한 데이터셋을 소정 비율로 분리하고, 분리한 일부를 상기 인공지능 분류 모델에 입력하여 이상 탐지 결과를 학습하는 단계 및 (a-6) 상기 (a-4) 단계에서 전처리한 데이터셋 중, 분리한 나머지 일부를 상기 인공지능 분류 모델에 입력하여 이상 탐지 결과를 테스트하는 단계를 포함할 수 있다. According to one embodiment, step (a) includes (a-1) setting CPU monitoring conditions including setting the CPU Execution Port number of the CPU to be monitored, (a-2) step (a-1) A step of monitoring the port output value of the CPU Execution Port whose number is set as the CPU monitoring condition in (a-3), and the port output value of the CPU Execution Port according to the monitoring results in step (a-2) above is set as a DataSet. (a-4) preprocessing the data set in step (a-3), and (a-5) separating the data set preprocessed in step (a-4) into a predetermined ratio. , inputting the separated part into the artificial intelligence classification model to learn anomaly detection results, and (a-6) of the dataset preprocessed in step (a-4), the remaining separated part is input into the artificial intelligence classification model. It may include a step of testing the anomaly detection result by inputting it into .

일 실시 예에 따르면, 상기 (a-5) 단계에서의 소정 비율은, 상기 일부 : 나머지 일부에 대하여 7 : 3 및 8 : 2 중 어느 하나일 수 있다. According to one embodiment, the predetermined ratio in step (a-5) may be either 7:3 or 8:2 for the part:the remaining part.

일 실시 예에 따르면, 상기 CPU 모니터링 조건은, 상기 모니터링할 CPU CORE 설정, 상기 모니터링할 CPU CORE 수 설정, 모니터링 속도 설정 및 모니터링 시간 설정 중 어느 하나 이상을 더 포함할 수 있다. According to one embodiment, the CPU monitoring condition may further include any one or more of setting the CPU CORE to be monitored, setting the number of CPU COREs to be monitored, setting the monitoring speed, and setting the monitoring time.

일 실시 예에 따르면, 상기 CPU Execution Port 번호 설정은, 상기 설정한 모니터링할 CPU CORE 별로 그에 대한 Execution Port 번호 설정이 개별적으로 가능할 수 있다. According to one embodiment, the CPU Execution Port number may be set individually for each CPU CORE to be monitored.

일 실시 예에 따르면, 상기 (d) 단계에서의 데이터셋화는, 상기 모니터링한 결과에 따른 CPU Execution Port의 포트 출력값을 CSV(Comma Separated Value) 파일로 저장하는 것일 수 있다.According to one embodiment, the data setting in step (d) may be saving the port output value of the CPU Execution Port according to the monitoring result as a CSV (Comma Separated Value) file.

일 실시 예에 따르면, 상기 (e) 단계는, (e-1) 상기 데이터셋화한 데이터셋 내에서 중요도가 높은 소정 개수의 CPU Execution Port 번호를 추출하는 단계 및 (e-2) 상기 번호를 추출한 중요도가 높은 소정 개수의 CPU Execution Port의 포트 출력값을 소정 범위 내로 수렴하도록 정규화하는 단계를 포함할 수 있다. According to one embodiment, step (e) includes (e-1) extracting a predetermined number of CPU Execution Port numbers with high importance from the data set, and (e-2) extracting the numbers. A step of normalizing the port output values of a predetermined number of CPU Execution Ports of high importance may be included to converge within a predetermined range.

일 실시 예에 따르면, 상기 (e-1) 단계에서의 소정 개수는, 10개 내지 20개 중 어느 하나이며, 상기 (e-2) 단계에서의 소정 범위는, -2 내지 2일 수 있다. According to one embodiment, the predetermined number in step (e-1) may be any one of 10 to 20, and the predetermined number in step (e-2) may be -2 to 2.

일 실시 예에 따르면, 상기 인공지능 분류 모델은, 장단기 메모리인 LSTM(Long Short Term Memory) 네트워크 구조를 포함하되, 상기 LSTM 네트워크 구조는, According to one embodiment, the artificial intelligence classification model includes a Long Short Term Memory (LSTM) network structure, which is a short-term memory, and the LSTM network structure is,

양 방향 학습이 가능한 Bi-LSTM 네트워크 구조일 수 있다. It may be a Bi-LSTM network structure capable of bidirectional learning.

상기 기술적 과제를 달성하기 위한 본 발명의 또 다른 실시 예에 따른 CPU의 이상을 탐지하는 장치는 하나 이상의 프로세서, 네트워크 인터페이스, 상기 프로세서에 의해 수행되는 컴퓨터 프로그램을 로드(Load)하는 메모리 및 대용량 네트워크 데이터 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은 상기 하나 이상의 프로세서에 의해, (A) 인공지능 분류 모델을 학습시키는 오퍼레이션, (B) 모니터링할 CPU의 CPU Execution Port 번호 설정을 포함하는 CPU 모니터링 조건을 설정하는 오퍼레이션, (C) 상기 CPU 모니터링 조건으로 번호를 설정한 CPU Execution Port의 포트 출력값을 모니터링하는 오퍼레이션, (D) 상기 모니터링한 결과에 따른 CPU Execution Port의 포트 출력값을 데이터셋(DataSet)화하는 오퍼레이션, (E) 상기 데이터셋화한 데이터셋을 전처리하는 오퍼레이션 및 (F) 상기 전처리한 데이터셋을 상기 인공지능 분류 모델에 입력하여 이상 탐지 결과를 출력하는 오퍼레이션을 실행하며, 상기 CPU Execution Port의 포트 출력값은, 상기 CPU Execution Port의 PMC(Performance Monitoring Counter) 값이다. An apparatus for detecting an abnormality in a CPU according to another embodiment of the present invention for achieving the above technical problem includes one or more processors, a network interface, a memory for loading a computer program executed by the processor, and a large amount of network data. And storage for storing the computer program, wherein the computer program includes (A) an operation for learning an artificial intelligence classification model, (B) setting the CPU Execution Port number of the CPU to be monitored by the one or more processors. An operation to set CPU monitoring conditions, (C) an operation to monitor the port output value of the CPU Execution Port whose number is set as the CPU monitoring condition, (D) a data set (D) port output value of the CPU Execution Port according to the above monitoring results DataSet), (E) an operation to pre-process the data set, and (F) an operation to input the pre-processed data set into the artificial intelligence classification model and output an abnormality detection result, and the CPU The port output value of the Execution Port is the PMC (Performance Monitoring Counter) value of the CPU Execution Port.

상기 기술적 과제를 달성하기 위한 본 발명의 또 다른 실시 예에 따른 매체에 저장된 컴퓨터 프로그램은 컴퓨팅 장치와 결합하여, (AA) 인공지능 분류 모델을 학습시키는 단계, (BB) 모니터링할 CPU의 CPU Execution Port 번호 설정을 포함하는 CPU 모니터링 조건을 설정하는 단계, (CC) 상기 CPU 모니터링 조건으로 번호를 설정한 CPU Execution Port의 포트 출력값을 모니터링하는 단계, (DD) 상기 모니터링한 결과에 따른 CPU Execution Port의 포트 출력값을 데이터셋(DataSet)화하는 단계, (EE) 상기 데이터셋화한 데이터셋을 전처리하는 단계 및 (FF) 상기 전처리한 데이터셋을 상기 인공지능 분류 모델에 입력하여 이상 탐지 결과를 출력하는 단계를 실행하며, 상기 CPU Execution Port의 포트 출력값은, 상기 CPU Execution Port의 PMC(Performance Monitoring Counter) 값이다. A computer program stored in a medium according to another embodiment of the present invention for achieving the above technical problem is combined with a computing device, (AA) learning an artificial intelligence classification model, (BB) CPU Execution Port of the CPU to be monitored Setting CPU monitoring conditions including number setting, (CC) Monitoring the port output value of the CPU Execution Port whose number is set as the CPU monitoring condition, (DD) Port of the CPU Execution Port according to the monitoring results A step of converting the output value into a DataSet, (EE) preprocessing the dataset, and (FF) inputting the preprocessed dataset into the artificial intelligence classification model to output an anomaly detection result. During execution, the port output value of the CPU Execution Port is the PMC (Performance Monitoring Counter) value of the CPU Execution Port.

상기와 같은 본 발명에 따르면, 공격의 종류와 무관한 CPU Execution Port의 포트 출력값을 모니터링하여 이상 행위 발생 여부를 탐지하는바, 모든 종류의 공격에 대하여 CPU의 이상 발생 여부를 신속하게 탐지할 수 있다는 효과가 있다. According to the present invention as described above, the port output value of the CPU Execution Port, which is independent of the type of attack, is monitored to detect whether abnormal behavior has occurred, and it is possible to quickly detect whether the CPU abnormality has occurred for all types of attacks. It works.

또한, 모니터링하고자하는 CPU CORE, 더 나아가 해당 CPU CORE에 대한 CPU Execution Port까지 사용자가 자유롭게 설정하여 모니터링을 진행할 수 있는바, 이상 행위가 발생한 근원을 정확하게 탐지할 수 있다는 효과가 있다. In addition, the user can freely set the CPU CORE to be monitored and even the CPU Execution Port for the CPU CORE to proceed with the monitoring, which has the effect of accurately detecting the source of abnormal behavior.

또한, 모니터링하고자하는 CPU CORE 및 이에 대한 CPU Execution Port의 설정뿐만 아니라, 이상 탐지 결과까지 사용자가 원하는 방식으로 선택하여 출력할 수 있으므로 사용자 편의성이 비약적으로 향상될 수 있다는 효과가 있다.In addition, not only the CPU CORE to be monitored and the corresponding CPU Execution Port settings, but also the abnormality detection results can be selected and output in the desired way, which has the effect of dramatically improving user convenience.

또한, 이상 탐지를 반복적으로 수행하면 할수록 인공지능 분류 모델의 학습 정확도가 향상함으로써 보다 정확한 이상 탐지 결과를 제공할 수 있다는 효과가 있다. In addition, the more repeatedly anomaly detection is performed, the more the learning accuracy of the artificial intelligence classification model improves, which has the effect of providing more accurate anomaly detection results.

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

도 1은 본 발명의 제1 실시 예에 따른 CPU의 이상을 탐지하는 장치가 포함하는 전체 구성을 예시적으로 도시한 도면이다.
도 2는 본 발명의 제2 실시 예에 따른 CPU의 이상을 탐지하는 방법의 대표적인 단계를 나타낸 순서도이다.
도 3은 본 발명의 제2 실시 예에 따른 CPU의 이상을 탐지하는 방법에 있어서, 인공지능 분류 모델을 학습시키는 S210 단계를 구체화한 순서도이다.
도 4는 CPU의 내부 구조도를 예시적으로 도시한 도면이다.
도 5는 모니터링한 CPU Execution Port의 포트 출력값의 예시이다.
도 6은 CSV 파일로 저장한 데이터셋의 예시이다.
도 7은 본 발명의 제2 실시 예에 따른 CPU의 이상을 탐지하는 방법에 있어서, 데이터셋을 전처리하는 S210-4 단계를 구체화한 순서도이다.
도 8은 LSTM 네트워크 구조를 도시한 도면이다.
도 9는 본 발명의 제2 실시 예에 따른 CPU의 이상을 탐지하는 방법에 있어서, LSTM 네트워크 구조를 포함하는 인공지능 분류 모델의 구성도이다.
도 10은 인공지능 분류 모델의 예시적인 세부 스펙에 대한 테이블이다.
도 11은 도 10에 첨부된 스펙을 갖는 인공지능 분류 모델을 통해 CPU CORE 0이 정상 상태일 때의 이상 탐지 결과를 2차원적인 시각 수단을 통해 출력한 예시이다.
도 12는 도 10에 첨부된 스펙을 갖는 인공지능 분류 모델을 통해 CPU CORE 0이 비정상 상태일 때의 이상 탐지 결과를 2차원적인 시각 수단을 통해 출력한 예시이다.
도13은 도 10에 첨부된 스펙을 갖는 인공지능 분류 모델을 통해 CPU CORE 0이 비정상 상태일 때의 이상 탐지 결과를 3차원적인 시각 수단을 통해 출력한 예시이다.
도 14는 본 발명의 제2 실시 예에 따른 CPU의 이상을 탐지하는 방법에 있어서, 이상 탐지 결과의 정확도 시뮬레이션(Confusion Matrix) 결과이다.
Figure 1 is a diagram illustrating the overall configuration included in an apparatus for detecting abnormalities in a CPU according to a first embodiment of the present invention.
Figure 2 is a flowchart showing representative steps of a method for detecting abnormalities in a CPU according to a second embodiment of the present invention.
Figure 3 is a flow chart specifying step S210 of learning an artificial intelligence classification model in the method for detecting an abnormality in the CPU according to the second embodiment of the present invention.
Figure 4 is a diagram illustrating the internal structure of a CPU by way of example.
Figure 5 is an example of the port output value of the monitored CPU Execution Port.
Figure 6 is an example of a dataset saved as a CSV file.
Figure 7 is a flowchart specifying step S210-4 of preprocessing the dataset in the method for detecting an abnormality in the CPU according to the second embodiment of the present invention.
Figure 8 is a diagram showing the LSTM network structure.
Figure 9 is a diagram illustrating the configuration of an artificial intelligence classification model including an LSTM network structure in the method for detecting a CPU abnormality according to the second embodiment of the present invention.
Figure 10 is a table of exemplary detailed specifications of an artificial intelligence classification model.
Figure 11 is an example of an abnormality detection result when CPU CORE 0 is in a normal state output through a two-dimensional visual means through an artificial intelligence classification model with the specifications attached to Figure 10.
Figure 12 is an example of an abnormality detection result when CPU CORE 0 is in an abnormal state output through a two-dimensional visual means through an artificial intelligence classification model with the specifications attached to Figure 10.
Figure 13 is an example of an abnormality detection result when CPU CORE 0 is in an abnormal state output through a three-dimensional visual means through an artificial intelligence classification model with the specifications attached to Figure 10.
Figure 14 shows the results of accuracy simulation (confusion matrix) of the abnormality detection results in the method for detecting abnormalities in the CPU according to the second embodiment of the present invention.

본 발명의 목적과 기술적 구성 및 그에 따른 작용 효과에 관한 자세한 사항은 본 발명의 명세서에 첨부된 도면에 의거한 이하의 상세한 설명에 의해 보다 명확하게 이해될 것이다. 첨부된 도면을 참조하여 본 발명에 따른 실시 예를 상세하게 설명한다.Details regarding the purpose and technical configuration of the present invention and its operational effects will be more clearly understood by the following detailed description based on the drawings attached to the specification of the present invention. Embodiments according to the present invention will be described in detail with reference to the attached drawings.

본 명세서에서 개시되는 실시 예들은 본 발명의 범위를 한정하는 것으로 해석되거나 이용되지 않아야 할 것이다. 이 분야의 통상의 기술자에게 본 명세서의 실시 예를 포함한 설명은 다양한 응용을 갖는다는 것이 당연하다. 따라서, 본 발명의 상세한 설명에 기재된 임의의 실시 예들은 본 발명을 보다 잘 설명하기 위한 예시적인 것이며 본 발명의 범위가 실시 예들로 한정되는 것을 의도하지 않는다.The embodiments disclosed in this specification should not be construed or used as limiting the scope of the present invention. It is obvious to those skilled in the art that the description, including embodiments, of this specification has various applications. Accordingly, any embodiments described in the detailed description of the present invention are illustrative to better explain the present invention and are not intended to limit the scope of the present invention to the embodiments.

도면에 표시되고 아래에 설명되는 기능 블록들은 가능한 구현의 예들일 뿐이다. 다른 구현들에서는 상세한 설명의 사상 및 범위를 벗어나지 않는 범위에서 다른 기능 블록들이 사용될 수 있다. 또한, 본 발명의 하나 이상의 기능 블록이 개별 블록들로 표시되지만, 본 발명의 기능 블록들 중 하나 이상은 동일 기능을 실행하는 다양한 하드웨어 및 소프트웨어 구성들의 조합일 수 있다.The functional blocks shown in the drawings and described below are only examples of possible implementations. Other functional blocks may be used in other implementations without departing from the spirit and scope of the detailed description. Additionally, although one or more functional blocks of the present invention are shown as individual blocks, one or more of the functional blocks of the present invention may be a combination of various hardware and software components that perform the same function.

또한, 어떤 구성요소들을 포함한다는 표현은 "개방형"의 표현으로서 해당 구성요소들이 존재하는 것을 단순히 지칭할 뿐이며, 추가적인 구성요소들을 배제하는 것으로 이해되어서는 안 된다.In addition, the expression including certain components is an “open” expression and simply refers to the presence of the corresponding components, and should not be understood as excluding additional components.

나아가 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급될 때에는, 그 다른 구성요소에 직접적으로 연결 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 한다.Furthermore, when a component is referred to as being “connected” or “connected” to another component, it should be understood that although it may be directly connected or connected to the other component, other components may exist in between. do.

이하에서는 도면들을 참조하여 본 발명의 세부적인 실시 예들에 대해 살펴보도록 한다. Hereinafter, detailed embodiments of the present invention will be looked at with reference to the drawings.

도 1은 본 발명의 제1 실시 예에 따른 CPU의 이상을 탐지하는 장치(100)가 포함하는 전체 구성을 예시적으로 도시한 도면이다. Figure 1 is a diagram illustrating the overall configuration included in the device 100 for detecting an abnormality in the CPU according to the first embodiment of the present invention.

그러나 이는 본 발명의 목적을 달성하기 위한 바람직한 실시 예일 뿐이며, 필요에 따라 일부 구성이 추가되거나 삭제될 수 있고, 어느 한 구성이 수행하는 역할을 다른 구성이 함께 수행할 수도 있음은 물론이다. However, this is only a preferred embodiment for achieving the purpose of the present invention, and some components may be added or deleted as needed, and of course, the role played by one component may be performed by another component.

본 발명의 제1 실시 예에 따른 CPU의 이상을 탐지하는 장치(100)는 프로세서(10), 네트워크 인터페이스(20), 메모리(30), 스토리지(40) 및 이들을 연결하는 데이터 버스(50)를 포함할 수 있으며, 기타 본 발명의 목적을 달성함에 있어 요구되는 부가적인 구성들을 더 포함할 수 있음은 물론이라 할 것이다. The device 100 for detecting a CPU abnormality according to the first embodiment of the present invention includes a processor 10, a network interface 20, a memory 30, a storage 40, and a data bus 50 connecting them. Of course, it may be included, and other additional components required to achieve the purpose of the present invention may be further included.

프로세서(10)는 각 구성의 전반적인 동작을 제어한다. 프로세서(10)는 CPU(Central Processing Unit), MPU(Micro Processer Unit), MCU(Micro Controller Unit) 또는 본 발명이 속하는 기술 분야에서 널리 알려져 있는 형태의 프로세서 중 어느 하나일 수 있다. 아울러, 프로세서(10)는 본 발명의 제2 실시 예에 따른 CPU의 이상을 탐지하는 방법을 수행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. The processor 10 controls the overall operation of each component. The processor 10 may be one of a central processing unit (CPU), a micro processor unit (MPU), a micro controller unit (MCU), or a type of processor widely known in the technical field to which the present invention pertains. In addition, the processor 10 may perform operations on at least one application or program to perform the method for detecting an abnormality in the CPU according to the second embodiment of the present invention.

네트워크 인터페이스(20)는 본 발명의 제1 실시 예에 따른 CPU의 이상을 탐지하는 장치(100)의 유무선 인터넷 통신을 지원하며, 그 밖의 공지의 통신 방식을 지원할 수도 있다. 따라서 네트워크 인터페이스(20)는 그에 따른 통신 모듈을 포함하여 구성될 수 있다.The network interface 20 supports wired and wireless Internet communication of the device 100 for detecting an abnormality in the CPU according to the first embodiment of the present invention, and may also support other known communication methods. Accordingly, the network interface 20 may be configured to include a corresponding communication module.

메모리(30)는 각종 정보, 명령 및/또는 정보를 저장하며, 본 발명의 제2 실시 예에 따른 CPU의 이상을 탐지하는 방법을 수행하기 위해 스토리지(40)로부터 하나 이상의 컴퓨터 프로그램(41)을 로드할 수 있다. 도 1에서는 메모리(30)의 하나로 RAM을 도시하였으나 이와 더불어 다양한 저장 매체를 메모리(30)로 이용할 수 있음은 물론이다. The memory 30 stores various information, commands and/or information, and executes one or more computer programs 41 from the storage 40 to perform the method for detecting abnormalities in the CPU according to the second embodiment of the present invention. It can be loaded. In FIG. 1, RAM is shown as one of the memories 30, but of course, various storage media can also be used as the memory 30.

스토리지(40)는 하나 이상의 컴퓨터 프로그램(41) 및 대용량 네트워크 정보(42)를 비임시적으로 저장할 수 있다. 이러한 스토리지(40)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크(HDD), 보조 저장 매치(SSD), 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 널리 알려져 있는 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체 중 어느 하나일 수 있다. Storage 40 may non-temporarily store one or more computer programs 41 and large-capacity network information 42. This storage 40 includes non-volatile memory such as Read Only Memory (ROM), Erasable Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), flash memory, hard disk (HDD), secondary storage match (SSD), and removable memory. It may be a disk or any type of computer-readable recording medium widely known in the technical field to which the present invention pertains.

컴퓨터 프로그램(41)은 메모리(30)에 로드되어, 하나 이상의 프로세서(10)에 의해, (A) 인공지능 분류 모델을 학습시키는 오퍼레이션, (B) 모니터링할 CPU의 CPU Execution Port 번호 설정을 포함하는 CPU 모니터링 조건을 설정하는 오퍼레이션, (C) 상기 CPU 모니터링 조건으로 번호를 설정한 CPU Execution Port의 포트 출력값을 모니터링하는 오퍼레이션, (D) 상기 모니터링한 결과에 따른 CPU Execution Port의 포트 출력값을 데이터셋(DataSet)화하는 오퍼레이션, (E) 상기 데이터셋화한 데이터셋을 전처리하는 오퍼레이션 및 (F) 상기 전처리한 데이터셋을 상기 인공지능 분류 모델에 입력하여 이상 탐지 결과를 출력하는 오퍼레이션을 실행할 수 있다. The computer program 41 is loaded into the memory 30 and, by one or more processors 10, includes (A) an operation for learning an artificial intelligence classification model, and (B) setting the CPU Execution Port number of the CPU to be monitored. An operation to set CPU monitoring conditions, (C) an operation to monitor the port output value of the CPU Execution Port whose number is set as the CPU monitoring condition, (D) a data set (D) port output value of the CPU Execution Port according to the above monitoring results An operation to convert the data set into a data set, (E) an operation to pre-process the data set, and (F) an operation to input the pre-processed data set into the artificial intelligence classification model and output an abnormality detection result can be executed.

이상 간단하게 언급한 컴퓨터 프로그램(41)이 수행하는 오퍼레이션은 컴퓨터 프로그램(41)의 일 기능으로 볼 수 있으며, 보다 자세한 설명은 본 발명의 제2 실시 예에 따른 CPU의 이상을 탐지하는 방법에 대한 설명에서 후술하도록 한다. The operation performed by the computer program 41 simply mentioned above can be viewed as a function of the computer program 41, and a more detailed description is provided regarding the method for detecting an abnormality in the CPU according to the second embodiment of the present invention. This will be explained later in the explanation.

데이터 버스(50)는 이상 설명한 프로세서(10), 네트워크 인터페이스(20), 메모리(30) 및 스토리지(40) 사이의 명령 및/또는 정보의 이동 경로가 된다. The data bus 50 serves as a path for moving instructions and/or information between the processor 10, network interface 20, memory 30, and storage 40 described above.

이상 설명한 본 발명의 제1 실시 예에 따른 CPU의 이상을 탐지하는 장치(100)는 독립된 디바이스의 형태, 예를 들어 전자 기기나 서버(클라우드 포함)의 형태일 수 있으며, 전자의 경우 사용자 단말(미도시)과 유/무선 네트워크를 통해 직접적으로 연결되어 사용자 단말(미도시)에 설치된 CPU의 이상을 탐지하고, 후자의 경우 전용 애플리케이션의 형태로 사용자 단말(미도시) 등에 설치되어 구동됨으로써 CPU의 이상을 탐지할 수 있을 것이다. The device 100 for detecting an abnormality in the CPU according to the first embodiment of the present invention described above may be in the form of an independent device, for example, an electronic device or a server (including a cloud), and in the former case, a user terminal ( (not shown) is directly connected to the user terminal (not shown) through a wired/wireless network to detect abnormalities in the CPU installed in the user terminal (not shown), and in the latter case, it is installed and driven in the form of a dedicated application on the user terminal (not shown), etc. Abnormalities may be detected.

한편, 여기서 전자 기기는 한 장소에 고정 설치되어 사용하는 데스크톱 PC뿐, 서버 디바이스 등과 같은 기기 뿐만 아니라, 스마트폰, 태블릿 PC, 노트북 PC, PDA, PMP 등과 같이 휴대가 용이한 포터블 기기 등이라도 무방하며, CPU가 설치되고 네트워크 기능만 보유하고 있다면 전자 기기는 어떠한 것이라도 무방하다 할 것이다. Meanwhile, here, electronic devices include not only devices such as desktop PCs and server devices that are fixedly installed and used in one place, but also portable devices that are easy to carry, such as smartphones, tablet PCs, laptop PCs, PDAs, and PMPs. , any electronic device can be used as long as the CPU is installed and has network functions.

이하, 본 발명의 제1 실시 예에 따른 CPU의 이상을 탐지하는 장치(100)가 독립된 디바이스인 전자 기기 형태 중, 서버의 형태임을 전제로 사용자 단말(미도시)에 설치된 전용 어플리케이션을 통해 본 발명의 제2 실시 예에 따른 CPU의 이상을 탐지하는 방법에 대하여 도 2 내지 도 14를 참조하여 설명하도록 한다. Hereinafter, on the premise that the device 100 for detecting an abnormality in the CPU according to the first embodiment of the present invention is in the form of a server among electronic devices that are independent devices, the present invention is applied through a dedicated application installed on a user terminal (not shown). A method for detecting abnormalities in the CPU according to the second embodiment will be described with reference to FIGS. 2 to 14.

도 2는 본 발명의 제2 실시 예에 따른 CPU의 이상을 탐지하는 방법의 대표적인 단계를 나타낸 순서도이다. Figure 2 is a flowchart showing representative steps of a method for detecting abnormalities in a CPU according to a second embodiment of the present invention.

그러나 이는 본 발명의 목적을 달성함에 있어서 바람직한 실시 예일 뿐이며, 필요에 따라 일부 단계가 추가 또는 삭제될 수 있음은 물론이고, 어느 한 단계가 다른 단계에 포함되어 수행될 수도 있다. However, this is only a preferred embodiment in achieving the purpose of the present invention, and some steps may be added or deleted as needed, and one step may be performed by being included in another step.

한편, 각 단계는 본 발명의 제1 실시 예에 따른 CPU의 이상을 탐지하는 장치(100)를 통해 이루어지는 것을 전제로 하며, 본 발명의 제1 실시 예에 따른 CPU의 이상을 탐지하는 장치(100)가 서버의 형태임을 전제로 하였기 때문에 사용자 단말(미도시)에 설치된 전용 어플리케이션을 본 발명의 제1 실시 예에 따른 CPU의 이상을 탐지하는 장치(100)와 동일한 의미로 볼 것이고, 설명의 편의를 위해 이들 모두를 "장치(100)"로 명명하도록 한다. Meanwhile, it is assumed that each step is performed through the device 100 for detecting an abnormality in the CPU according to the first embodiment of the present invention, and the device 100 for detecting an abnormality in the CPU according to the first embodiment of the present invention ) is assumed to be in the form of a server, so the dedicated application installed on the user terminal (not shown) will be viewed in the same sense as the device 100 for detecting an abnormality in the CPU according to the first embodiment of the present invention, and for convenience of explanation For this purpose, all of these will be named “device 100”.

우선, 장치(100)가 인공지능 분류 모델을 학습시킨다(S210). First, the device 100 learns an artificial intelligence classification model (S210).

모델의 학습은 인공지능 모델을 사용하는 모든 기술들에서 필수적으로 수행되는 전제 조건인바, 본 발명의 제2 실시 예에 따른 CPU의 이상을 탐지하는 방법 역시 이와 크게 다르지는 않다. 이하, 도 3을 참조하여 자세히 설명하도록 한다. Model learning is an essential prerequisite for all technologies that use artificial intelligence models, and the method for detecting CPU abnormalities according to the second embodiment of the present invention is not much different from this. Hereinafter, it will be described in detail with reference to FIG. 3.

도 3은 본 발명의 제2 실시 예에 따른 CPU의 이상을 탐지하는 방법에 있어서 인공지능 분류 모델을 학습시키는 S210 단계를 구체화한 순서도이다. Figure 3 is a flow chart specifying step S210 of learning an artificial intelligence classification model in the method for detecting an abnormality in the CPU according to the second embodiment of the present invention.

그러나 이는 본 발명의 목적을 달성함에 있어서 바람직한 실시 예일 뿐이며, 필요에 따라 일부 단계가 추가 또는 삭제될 수 있음은 물론이고, 어느 한 단계가 다른 단계에 포함되어 수행될 수도 있다. However, this is only a preferred embodiment in achieving the purpose of the present invention, and some steps may be added or deleted as needed, and one step may be performed by being included in another step.

우선, 장치(100)가 CPU의 CPU Execution Port 번호 설정을 포함하는 CPU 모니터링 조건을 설정한다(S210-1). First, the device 100 sets CPU monitoring conditions including setting the CPU Execution Port number of the CPU (S210-1).

여기서 CPU Execution Port는 CPU의 내부 구조도를 도시한 도 4를 참조하면 확인할 수 있는바, CPU의 내부 구조와 동작에 대하여 먼저 설명하도록 한다. Here, the CPU Execution Port can be confirmed by referring to Figure 4, which shows the internal structure of the CPU. The internal structure and operation of the CPU will be explained first.

통상적인 CPU는 프론트 엔드(Front End), 실행 엔진(Execution Engine) 및 메모리(Memiry) 하위 시스템으로 구성되며, 실행 엔진을 백 엔드(Back End)라 부르는 것이 일반적이다. A typical CPU consists of a front end, execution engine, and memory subsystem, and the execution engine is usually called the back end.

여기서 프론트 엔드는 메모리에서 명령어를 가져오고 이를 일련의 마이크로 연산 (μops) 으로 디코딩하는 역할을 수행하며, 실행 엔진의 재정렬 버퍼(Reorder Buffer)는 μops가 폐기될 때까지 순서대로 저장하고, 레지스터 할당 및 레지스터 이름 변경을 변경하는 역할을 수행한다. Here, the front end is responsible for fetching instructions from memory and decoding them into a series of micro-operations (μops), and the execution engine's Reorder Buffer stores μops in order until they are discarded, register allocation and It is responsible for changing register names.

재정렬 버퍼가 μops를 저장했다면 모든 소스 피연산자가 준비될 때까지 μops를 대기열에 추가하는 스케줄러(Scheduler)로 μops가 전달되며, μop의 피연산자가 준비되면 실행 포트를 통해 μop가 전달되고, 여기서 실행 포트가 CPU Execution Port이며, CPU Execution Port의 번호는 CPU Execution Port의 개수에 따라 결정될 수 있다. If the reorder buffer has stored μops, the μops are passed to the Scheduler, which queues the μops until all source operands are ready. Once the μop's operands are ready, the μops are passed through the execute port, where the execution port is It is a CPU Execution Port, and the number of CPU Execution Ports can be determined depending on the number of CPU Execution Ports.

CPU 중 통상적으로 널리 알려진 인텔 코어 마이크로 아키텍처는 CPU Execution Port를 6개, 8개 및 10개 중 어느 하나를 포함할 수 있으나, 이는 반드시 그러한 것은 아닐 수도 있으며, 비순차적 실행으로 인해 μops는 반드시 프로그램 순서대로 디스패치 되지는 않고, 각각의 CPU Execution Port는 서로 다른 기능 장치 세트에 연결될 수 있으며, 모든 주기에서 최대 하나의 μop 수용할 수 있다.The Intel Core microarchitecture, which is widely known among CPUs, may include any of 6, 8, and 10 CPU Execution Ports, but this may not necessarily be the case, and due to out-of-order execution, μops are necessarily dependent on the program order. Rather than being dispatched randomly, each CPU Execution Port can be connected to a different set of functional devices and can accommodate at most one μop in every cycle.

본 발명의 제2 실시 예에 따른 CPU의 이상을 탐지하는 방법에서는 이와 같이 CPU의 실행 엔진 상에서 스케줄러로부터 μop를 전달하는 실행 포트인 CPU Execution Port의 포트 출력값을 CPU의 이상 탐지를 위한 모니터링 대상으로 삼고자 하며, 이는 뒤에서 보다 자세히 설명하도록 한다. In the method for detecting CPU abnormalities according to the second embodiment of the present invention, the port output value of the CPU Execution Port, which is an execution port that transmits μop from the scheduler on the execution engine of the CPU, is used as a monitoring target for detecting CPU abnormalities. Now, this will be explained in more detail later.

S210-1 단계에서 설정하는 CPU 모니터링 조건은 CPU Execution Port 번호 설정을 포함하며, 여기서 CPU Execution Port 번호 설정은 모니터링할 CPU Execution Port의 번호가 어떤 것이냐, 예를 들어 도 4를 참조하면 Port 0 내지 Port 5 중 어떤 번호의 포트를 모니터링할 것인지를 설정하는 것이며, 하나의 CPU 상에서 CPU Execution Port가 복수 개인 것이 일반적이므로 모니터링하고자 하는 CPU Execution Port 번호 역시 복수 개로 설정할 수 있음은 물론이라 할 것이다. The CPU monitoring conditions set in step S210-1 include setting the CPU Execution Port number, where the CPU Execution Port number setting refers to the number of the CPU Execution Port to be monitored. For example, referring to FIG. 4, Port 0 to Port This is to set which port number out of 5 to monitor, and since it is common to have multiple CPU Execution Ports on one CPU, it goes without saying that you can also set multiple CPU Execution Port numbers to monitor.

한편, CPU 모니터링 조건은 모니터링할 CPU Execution Port 번호 설정뿐만 아니라, 모니터링할 CPU CORE 설정, 모니터링할 CPU CORE 수 설정, 모니터링 속도 설정 및 모니터링 시간 설정 중 어느 하나 이상을 더 포함할 수 있는바, 이는 사용자 편의성을 향상시키기 위함이다. Meanwhile, CPU monitoring conditions may include not only setting the CPU Execution Port number to be monitored, but also setting the CPU CORE to be monitored, setting the number of CPU COREs to be monitored, setting the monitoring speed, and setting the monitoring time, which can be set by the user. This is to improve convenience.

CPU Execution Port의 개수에 대응하는 CPU Execution Port 번호와 별개로, CPU 성능이 나날이 향상됨에 따라 하나의 CPU는 복수 개의 CORE를 포함하고 있음이 일반적인바, CPU Execution Port 번호뿐만 아니라 모니터링하고자 하는 CPU CORE를 사용자가 개별적으로 설정하거나 모니터링하고자 하는 CPU CORE 수까지 설정할 수 있게 함으로써 종래 기술과 달리 이상 행위가 CPU 전체 차원에서만 발생했는지 여부를 확인하는 것에서 한 걸음 더 나아가, 어떠한 CPU CORE에서 발생했는지 구체적으로 확인할 수 있게 함으로써 그에 따라 해당 CPU CORE에 대해서만 적절한 사후적 조치를 취할 수 있게 되기에 전체 시스템 차원에서 안정적인 운영을 도모할 수 있다. Regardless of the CPU Execution Port number corresponding to the number of CPU Execution Ports, as CPU performance improves day by day, it is common for one CPU to contain multiple COREs. By allowing users to individually set or even set the number of CPU COREs they want to monitor, unlike the prior art, it is possible to go one step further than checking whether abnormal behavior occurred only at the level of the entire CPU, and to specifically check which CPU CORE it occurred in. By doing so, it is possible to take appropriate follow-up measures only for the relevant CPU CORE, thereby promoting stable operation at the level of the entire system.

예를 들어 설명하도록 한다. CPU가 12개의 CPU CORE를 포함하고 있으며, 이를 각각 CORE 0, CORE 1, CORE 2, CORE 3, CORE 4, CORE 5, CORE 6, CORE 7, CORE 8, CORE 9, CORE 10, CORE 11이라 명명한다면, 모니터링할 CPU CORE 설정에 의해 CORE 0, CORE 5, CORE 10만을 모니터링할 CPU CORE로 설정할 수 있으며, 모니터링할 CPU CORE 수 설정에 의해 6개의 CORE만 모니터링하고자 한다면, CORE 0, CORE 1, CORE 2, CORE 3, CORE 4, CORE 5가 모니터링할 CPU CORE로 설정될 수 있다. Let me explain with an example. The CPU contains 12 CPU COREs, which are named CORE 0, CORE 1, CORE 2, CORE 3, CORE 4, CORE 5, CORE 6, CORE 7, CORE 8, CORE 9, CORE 10, and CORE 11, respectively. If so, you can set only CORE 0, CORE 5, and CORE 10 as CPU COREs to be monitored by setting the CPU CORE to be monitored. If you want to monitor only 6 COREs by setting the number of CPU COREs to be monitored, CORE 0, CORE 1, CORE 2, CORE 3, CORE 4, and CORE 5 can be set as the CPU CORE to be monitored.

한편, 모니터링할 CPU CORE 수 설정은 CORE의 번호가 아니라 CORE의 개수에 대한 설정이기 때문에 개수에 대응하는 CORE에 대한 조건이 어떠한 것이냐에 따라 모니터링할 CPU CORE가 상이해질 수 있는바, 예를 들어 개수에 대응하는 CORE의 조건이 내림차순이라면 CORE 11 부터 설정한 개수에 해당하는 CORE를 모니터링하고자 하는 CPU CORE로 설정할 수 있을 것이며, CORE의 조건이 오름차순이라면 CORE 0부터 설정한 개수에 해당하는 CORE를 모니터링하고자 하는 CPU CORE로 설정할 수 있을 것이다. 또한, 내림차순과 오름차순뿐만 아니라 개수에 대응하는 CORE에 대한 조건을 CORE 별 메모리 사용 비중일 수도 있는바, 개수에 대응하는 CORE에 대한 조건 설정 역시 사용자가 자유롭게 셋팅할 수 있다 할 것이다. On the other hand, since setting the number of CPU COREs to be monitored is a setting for the number of COREs, not the number of COREs, the CPU COREs to be monitored may be different depending on the conditions for COREs corresponding to the number. For example, the number of CPU COREs to be monitored may be different. If the conditions of the CORE corresponding to the You can set it to CPU CORE. In addition, in addition to descending and ascending order, the condition for CORE corresponding to the number may be the memory usage ratio for each CORE, so the user can freely set the condition for CORE corresponding to the number.

CPU 모니터링 조건과 관련하여 CPU CORE에 대한 설명을 이어가면, 앞선 CPU Execution Port 번호 설정은 모니터링할 CPU CORE 별로 그에 대한 Execution Port 번호 설정이 개별적으로 가능할 수도 있는바, 앞선 12개의 CPU CORE에 대하여 각각의 CPU CORE가 8개의 CPU Execution Port를 포함한다면, 하나의 CPU 전체적으로 12 * 8인 96개의 CPU Execution Port가 포함되는 것으로 볼 수 있으며, 본 발명의 제2 실시 예에 따른 CPU의 이상을 탐지하는 방법은 모니터링할 CPU CORE 별로 그에 대한 Execution Port 번호 설정이 개별적으로 가능하게 함으로써 사용자 편의성을 한 단계 더 향상시킬 수 있다. Continuing the explanation of CPU CORE in relation to CPU monitoring conditions, the preceding CPU Execution Port number setting may be possible individually for each CPU CORE to be monitored, so each of the preceding 12 CPU COREs may be individually configured. If the CPU CORE includes 8 CPU Execution Ports, one CPU can be viewed as including 96 CPU Execution Ports (12 * 8 in total), and the method for detecting CPU abnormalities according to the second embodiment of the present invention is User convenience can be further improved by individually setting the Execution Port number for each CPU CORE to be monitored.

예를 들어, 사용자는 12개의 CPU CORE인 CORE 0, CORE 1, CORE 2, CORE 3, CORE 4, CORE 5, CORE 6, CORE 7, CORE 8, CORE 9, CORE 10, CORE 11 중에서 CORE 2, CORE 6, CORE 11만을 모니터링 대상 CPU CORE로 설정할 수 있을 뿐만 아니라 CORE 2에 대해서는 CPU Execution Port 0 내지 CPU Execution Port 7 전부에 대하여, CORE 6에 대해서는 CPU Execution Port 1, CPU Execution Port 4에 대하여, CORE 11에 대해서는 CPU Execution Port 2, CPU Execution Port 3, CPU Execution Port 7에 대하여 모니터링 대상으로 개별적인 설정이 가능한 것이다. For example, out of the 12 CPU COREs: CORE 0, CORE 1, CORE 2, CORE 3, CORE 4, CORE 5, CORE 6, CORE 7, CORE 8, CORE 9, CORE 10, CORE 11, CORE 2, Not only can only CORE 6 and CORE 11 be set as the CPU CORE to be monitored, but for CORE 2, all of CPU Execution Port 0 to CPU Execution Port 7, and for CORE 6, CPU Execution Port 1, CPU Execution Port 4, and CORE. For 11, CPU Execution Port 2, CPU Execution Port 3, and CPU Execution Port 7 can be individually set as monitoring targets.

한편, CPU CORE 별로 개별적인 설정이 가능한 것은 CPU Execution Port 번호뿐만 아니라 앞서 설명한 CPU CORE 수의 설정과 마찬가지로 CPU Execution Port의 포트 수에 대해서도 가능할 수 있으며, 개수에 대응하는 CORE의 조건이 CPU Execution Port에 대해서도 동일하게 적용될 수 있으므로 중복 서술을 방지하기 위해 자세한 설명은 생략하도록 한다. Meanwhile, individual settings for each CPU CORE are not only possible for the CPU Execution Port number, but also for the number of CPU Execution Ports, similar to the setting of the number of CPU COREs described above, and the conditions of the CORE corresponding to the number are also for the CPU Execution Port. Since they can be applied equally, detailed explanations will be omitted to prevent redundant description.

이와 같이 본 발명의 제2 실시 예에 따른 CPU의 이상을 탐지하는 방법은 CPU 모니터링 조건 설정과 관련하여 사용자에게 다양한 선택 사항을 제공함으로써 원하는 CPU CORE만, 그리고 원하는 CPU CORE에 대한 CPU Execution Port만 모니터링할 수 있으며, 이는 사용자 편의성을 향상시킬 수 있을 것이나, 명백하게 특정 CPU CORE 또는 특정 CPU Execution Port 에서 이상 행위가 발생하는 것을 사전에 인지하고 있는 경우 등과 같이 특별한 상황을 제외하고 이상 행위의 근원을 추적하고자 하는 경우에는 가급적 모든 CPU CORE 및 이에 대한 모든 CPU Execution Port를 CPU 모니터링 조건으로 설정하는 것이 본 발명의 취지에 부합함과 더불어 목적을 달성할 수 있는 지름길이라 할 것이다. As such, the method of detecting a CPU abnormality according to the second embodiment of the present invention monitors only the desired CPU CORE and only the CPU Execution Port for the desired CPU CORE by providing the user with various choices in relation to setting CPU monitoring conditions. This can improve user convenience, but except in special situations, such as when it is clearly known in advance that abnormal behavior occurs in a specific CPU CORE or a specific CPU Execution Port, it is necessary to trace the source of abnormal behavior. In this case, setting all CPU COREs and all CPU Execution Ports for them as CPU monitoring conditions is a shortcut to achieving the purpose as well as meeting the purpose of the present invention.

이상의 조건들과 별개로 사용자는 모니터링 속도 설정 및 모니터링 시간 설정도 가능한바, 여기서 모니터링 속도 설정은 후술할 CPU Execution Port의 포트 출력값을 어떠한 속도, 쉽게 이야기하면 포트 출력값을 어떠한 간격으로 찍거나 검출하여 데이터화할지에 관한 것이며, 모니터링 시간은 포트 출력값을 모니터링하는 전체 시간에 관한 것이고, 설정한 모니터링 속도와 모니터링 시간을 통틀어 모니터링 타임라인(Timeline) 설정으로 볼 수 있다 할 것이다. Independent of the above conditions, the user can also set the monitoring speed and monitoring time. Here, the monitoring speed setting refers to the speed at which the port output value of the CPU Execution Port, which will be described later, is converted into data by recording or detecting the port output value at a certain interval. Monitoring time refers to the entire time for monitoring port output values, and the set monitoring speed and monitoring time can be viewed as a monitoring timeline setting.

이후, 장치(100)가 S210-1 단계에서 CPU 모니터링 조건으로 번호를 설정한 CPU Execution Port의 포트 출력값을 모니터링한다(S210-2). Afterwards, the device 100 monitors the port output value of the CPU Execution Port whose number is set as the CPU monitoring condition in step S210-1 (S210-2).

여기서 앞서 설명을 보류한 CPU Execution Port의 포트 출력값은 CPU Execution Port의 PMC(Performance Monitoring Counter) 값일 수 있으며, 모니터링한 CPU Execution Port의 포트 출력값의 예시를 도 5에 첨부하였다. Here, the port output value of the CPU Execution Port, the explanation of which was withheld earlier, may be the PMC (Performance Monitoring Counter) value of the CPU Execution Port, and an example of the monitored port output value of the CPU Execution Port is attached to Figure 5.

CPU Execution Port의 포트 출력값을 모니터링했다면, 장치(100)가 S210-2 단계에서 모니터링한 결과에 따른 CPU Execution Port의 포트 출력값을 데이터셋(DataSet)화한다(S210-3). If the port output value of the CPU Execution Port has been monitored, the device 100 converts the port output value of the CPU Execution Port according to the monitoring result in step S210-2 into a DataSet (S210-3).

여기서 데이터셋화는 모니터링한 결과에 따른 CPU Execution Port의 포트 출력값을 CSV(Comma Separated Value) 파일로 저장하는 것을 의미하는바, CSV 파일로 저장함을 설명하기에 앞서 모니터링한 결과에 대하여 먼저 설명하도록 한다. Here, data setting means saving the port output value of the CPU Execution Port according to the monitoring results as a CSV (Comma Separated Value) file. Before explaining saving as a CSV file, the monitoring results will be explained first.

도 5는 모니터링한 CPU Execution Port의 포트 출력값의 예시인바, 설명에 앞서 해당 예시는 설정한 CPU 모니터링 조건 중 타임라인 설정에 해당하는 모니터링 속도 및 모니터링 시간에 대하여 한 번의 타임라인만 거친 포트 출력값의 예시임을 명시하도록 한다. Figure 5 is an example of the port output value of the monitored CPU Execution Port. Prior to explanation, the example is an example of the port output value after only one timeline for the monitoring speed and monitoring time corresponding to the timeline setting among the CPU monitoring conditions set. Please specify that it is.

도 5를 참조하면 가로 방향과 세로 방향으로 복수 개의 숫자가 기재되어 있음을 확인할 수 있는바, 각각의 숫자는 CPU Execution Port의 포트 출력값, 보다 구체적으로 CPU Execution Port의 PMC값을 나타낸다. Referring to Figure 5, it can be seen that a plurality of numbers are written horizontally and vertically. Each number represents the port output value of the CPU Execution Port, and more specifically, the PMC value of the CPU Execution Port.

또한, 각각의 행은 CPU CORE 번호에 대응하며, 각각의 열은 CPU의 Execution Port의 번호에 대응한다. 예를 들어 설명하면, 첫 번째 행은 CPU CORE 0에 대한 PMC 값을 나타내며, 104는 CPU CORE 0에 대한 CPU Execution Port 0의 PMC 값을, 93은 CPU CORE 0에 대한 CPU Execution Port 1의 PMC 값을, 6은 CPU CORE 0에 대한 CPU Execution Port 2의 PMC 값을, 15는 CPU CORE 0에 대한 CPU Execution Port 3의 PMC 값을, 13은 CPU CORE 0에 대한 CPU Execution Port 4의 PMC 값을, 108은 CPU CORE 0에 대한 CPU Execution Port 5의 PMC 값을, 171은 CPU CORE 0에 대한 CPU Execution Port 6의 PMC 값을, 4는 CPU CORE 0에 대한 CPU Execution Port 7의 PMC 값을 나타내는 것이며, 이와 같은 해석을 통해 두 번째 행은 CPU CORE 1에 대한 PMC 값, 마지막 행은 CPU CORE 11에 대한 PMC 값임을 알 수 있을 것이며, 그에 따라 모니터링 대상 CPU에 대하여 설정한 CPU 모니터링 조건이 12개의 CPU CORE와 각각의 CPU CORE에 대한 8개의 CPU Execution Port임을 역으로 추정할 수도 있다. Additionally, each row corresponds to a CPU CORE number, and each column corresponds to the CPU's Execution Port number. For example, the first row represents the PMC value for CPU CORE 0, 104 is the PMC value for CPU Execution Port 0 for CPU CORE 0, and 93 is the PMC value for CPU Execution Port 1 for CPU CORE 0. , 6 is the PMC value of CPU Execution Port 2 for CPU CORE 0, 15 is the PMC value of CPU Execution Port 3 for CPU CORE 0, 13 is the PMC value of CPU Execution Port 4 for CPU CORE 0, 108 represents the PMC value of CPU Execution Port 5 for CPU CORE 0, 171 represents the PMC value of CPU Execution Port 6 for CPU CORE 0, and 4 represents the PMC value of CPU Execution Port 7 for CPU CORE 0. Through this analysis, it can be seen that the second row is the PMC value for CPU CORE 1 and the last row is the PMC value for CPU CORE 11. Accordingly, the CPU monitoring conditions set for the CPU to be monitored are 12 CPU CORE. It can also be inferred that there are 8 CPU Execution Ports for each CPU CORE.

이와 같은 모니터링 결과는 어디까지나 S210-1 단계에서 설정한 CPU 모니터링 조건에 의한 것이기 때문에 모니터링 결과만으로 해당 CPU가 12개의 CPU CORE 및 각각의 CPU CORE에 대한 8개의 CPU Execution Port 만으로 이루어졌다고 단정할 수는 없음에 유의해야 할 것이며, CPU를 구성하는 모든 CPU CORE 및 해당 CPU CORE에 대한 모든 CPU Execution Port에 대하여 모니터링 조건을 설정한 경우에만 이에 해당할 수 있다 할 것이다. Since these monitoring results are only based on the CPU monitoring conditions set in step S210-1, it cannot be concluded from the monitoring results alone that the CPU consists of only 12 CPU COREs and 8 CPU Execution Ports for each CPU CORE. It should be noted that there is no such thing, and this can only apply when monitoring conditions are set for all CPU COREs that make up the CPU and all CPU Execution Ports for the CPU CORE.

도 6은 CSV 파일로 저장한 데이터셋의 예시인바, 각각의 타임 라인에 모니터링한 CPU Execution Port의 포트 출력값(Value)이 각각의 CPU CORE 및 이에 대한 CPU Execution Port의 포트 번호 별로 기재되어 있음을 확인할 수 있으며, 이는 결국 사용자가 CPU 모니터링 조건으로 설정한 CPU CORE 수 만큼(X), 사용자가 설정한 모니터링 시간(y) 만큼 구축한 데이터셋으로 볼 수 있다 할 것이다. Figure 6 is an example of a data set saved as a CSV file, and it can be seen that the port output value (Value) of the CPU Execution Port monitored in each timeline is listed for each CPU CORE and the port number of the CPU Execution Port for it. In the end, this can be viewed as a dataset built by the number of CPU COREs (X) set by the user as CPU monitoring conditions and the monitoring time (y) set by the user.

다시 도 3에 대한 설명으로 돌아가도록 한다. Let us return to the description of FIG. 3 again.

CPU Execution Port의 포트 출력값을 데이터셋화 했다면, 장치(100)가 S210-3 단계에서 데이터셋화한 데이터셋을 전처리한다(S210-4). If the port output value of the CPU Execution Port is data set, the device 100 preprocesses the data set data set in step S210-3 (S210-4).

여기서 전처리는 인공지능 분류 모델에 데이터를 입력하기 전에 수행하는 전처리 프로세스로 볼 수 있는바, 많은 양의 데이터들 중에서 중요도가 높은 데이터들만을 추출하여 인공지능 분류 모델의 경량화를 의도하고, 정규화를 통해 높은 정확도를 갖는 인공지능 분류 모델을 구축하는 것을 의도하기 위함이다. Here, preprocessing can be seen as a preprocessing process performed before inputting data into the artificial intelligence classification model. It is intended to make the artificial intelligence classification model lightweight by extracting only data with high importance from a large amount of data, and through normalization. The intention is to build an artificial intelligence classification model with high accuracy.

그에 따라 S210-4 단계는 도 7에 도시된 바와 같은 장치(100)가 데이터셋화한 데이터셋 내에서 중요도가 높은 소정 개수의 CPU Execution Port 번호를 추출하는 단계(S210-4-1) 및 번호를 추출한 중요도가 높은 소정 개수의 CPU Execution Port의 포트 출력값을 소정 범위 내로 수렴하도록 정규화하는 단계(S210-4-2)를 포함할 수 있다. Accordingly, step S210-4 is a step (S210-4-1) of extracting a predetermined number of CPU Execution Port numbers of high importance within the data set made by the device 100 as shown in FIG. A step (S210-4-2) of normalizing the extracted port output values of a predetermined number of CPU Execution Ports with high importance to converge within a predetermined range may be included.

여기서 S210-4-1 단계에서의 소정 개수는 10개 내지 20개 중 어느 하나일 수 있으며, S210-4-2 단계에서의 소정 범위는 -2 내지 2일 수 있으나, 이에 반드시 한정하는 것은 아니며, 장치(100)의 관리자의 설정에 따라 추출하는 소정 개수와 정규화하는 소정 범위를 자유롭게 설정할 수 있음은 물론이라 할 것이다. Here, the predetermined number in step S210-4-1 may be any one of 10 to 20, and the predetermined number in step S210-4-2 may be -2 to 2, but are not necessarily limited thereto. It goes without saying that the predetermined number to be extracted and the predetermined range to be normalized can be freely set according to the settings of the administrator of the device 100.

더 나아가, 여기서의 소정 개수와 소정 범위를 장치(100)의 사용자가 자유롭게 설정할 수 있도록 할 수도 있겠으나, 인공지능 분류 모델의 학습에 관한 것이기에 장치(100) 자체의 성능에 직결될 수 있으므로 가급적 관리자만 설정 가능하도록 하게 함이 바람직하다 할 것이다. Furthermore, the predetermined number and range here may be freely set by the user of the device 100, but since it is related to learning of an artificial intelligence classification model, it may be directly related to the performance of the device 100 itself, so it is recommended that the user set the predetermined number and range freely. It would be desirable to allow only settings.

한편, 장치(100)가 S210-4-1 단계를 구현함에 있어 Python Package 중의 하나인 scikit-learn의 Random forest Classifer API를 활용할 수 있을 것이며, S210-4-2 단계를 구현함에 있어서는 마찬가지로 Python Package 중 하나인 scikit-learn의 RobustScaler API를 활용할 수 있을 것이나, 이에 반드시 한정하는 것은 아니라 할 것이다. Meanwhile, when the device 100 implements step S210-4-1, it will be able to utilize scikit-learn's Random forest Classifer API, which is one of the Python Packages. Likewise, when implementing step S210-4-2, the device 100 can utilize the Random forest Classifer API of scikit-learn, which is one of the Python Packages. You can use scikit-learn's RobustScaler API, but it is not necessarily limited to this.

데이터셋을 전처리까지 했다면, 장치(100)가 전처리한 데이터셋을 소정 비율로 분리하고, 분리한 일부를 인공지능 분류 모델에 입력하여 이상 탐지 결과를 학습하며(S210-5), 분리한 나머지 일부를 인공지능 분류 모델에 입력하여 이상 탐지 결과를 테스트한다(S210-6). If the data set has been pre-processed, the device 100 separates the pre-processed data set into a predetermined ratio, inputs the separated part into an artificial intelligence classification model to learn anomaly detection results (S210-5), and separates the remaining part. is input into the artificial intelligence classification model to test the abnormality detection results (S210-6).

여기서 소정 비율은 일부 : 나머지 일부에 대하여 7 : 3 및 8 : 2 중 어느 하나일 수 있으며, 이에 반드시 한정하지는 않고 장치(100)의 관리자가 자유롭게 설정할 수 있다 할 것이나, 적어도 테스트를 위해 입력된 데이터셋이 학습을 위해 입력된 데이터셋 보다는 비율을 적게 가져가는 것이 인공지능 분류 모델의 학습 효율을 높일 수 있는 하나의 방안이라 할 것이다. Here, the predetermined ratio may be either 7:3 or 8:2 for part:remaining part, and is not necessarily limited thereto, and may be freely set by the administrator of the device 100, but at least the data input for testing One way to increase the learning efficiency of an artificial intelligence classification model is to have a smaller ratio than the data set input for learning.

한편, 데이터셋을 입력하는 인공지능 분류 모델은 장단기 메모리인 LSTM(Long Short Term Memory) 네트워크 구조를 포함하되, 여기서 LSTM 네트워크 구조는 양 방향 학습이 가능한 Bi-LSTM 네트워크 구조일 수 있는바, 도 8에 LSTM 네트워크 구조를 예시적으로 도시해 놓았다. Meanwhile, the artificial intelligence classification model that inputs the data set includes a Long Short Term Memory (LSTM) network structure, where the LSTM network structure may be a Bi-LSTM network structure capable of bidirectional learning, Figure 8 The LSTM network structure is shown as an example.

도 8을 참조하여 LSTM 네트워크 구조에 대하여 설명하면, 전처리한 데이터셋이 xt에 입력되며, σ와 h는 LSTM 네트워크의 시그모이드와 하이퍼 볼릭 탄젠트가 활성화 함수로 숨겨진 은닉층을 의미한다. 아울러, ct는 이전 상태를 장기적으로 기억하기 위한 데이터이며 ot는 연산에 의한 결과이다. 이와 같이 LSTM 네트워크는 현재 입력과 이전 출력을 동시에 받아들이기 때문에 시계열 데이터 분석에 용이한바, 모니터링한 CPU Ececution Port의 포트 출력값, 보다 구체적으로 이를 데이터셋화한 데이터셋이 타임 라인에 따라 정렬된 시계열 데이터이기 때문에 본 발명의 제2 실시 예에 따른 CPU의 이상을 탐지하는 방법에 가장 최적화된 네트워크 구조로 볼 수 있다 할 것이다. When explaining the LSTM network structure with reference to FIG. 8, the preprocessed dataset is input to x t , and σ and h mean the hidden layer where the sigmoid and hyperbolic tangent of the LSTM network are hidden as activation functions. In addition, c t is data for long-term memory of the previous state, and o t is the result of the operation. In this way, the LSTM network is easy to analyze time series data because it simultaneously accepts current input and previous output. The port output value of the monitored CPU execution port, and more specifically, the data set that data sets it, is time series data sorted according to the timeline. Therefore, it can be seen as the most optimized network structure for the method of detecting CPU abnormalities according to the second embodiment of the present invention.

도 9는 본 발명의 제2 실시 예에 따른 CPU의 이상을 탐지하는 방법에 있어서, LSTM 네트워크 구조를 포함하는 인공지능 분류 모델의 구성도이다. 이에 대하여 설명하면, 입력 받은 데이터셋을 양 방향(Forward - 정방향, Backward - 역방향) 학습이 가능한 Bi-LSTM 네트워크 구조를 활용하여 학습을 진행하고, ReLU Activation Function을 활용하여 결과 값들을 출력한다. 그리고 출력된 결과 값들에 대한 Overfitting 문제를 해결하기 위해서 Dropout Layer를 활용하며, 모델의 성능(정확도)을 높이기 위해서Attention Layer를 추가하여 특정 출력에 대한 Weight(가중치)를 증가시킨다. 최종적으로 시계열 데이터 기반의 데이터 셋을 분류 시키기위해 Dense의 Activation Function을 Softmax로 설정해주어 특정 현재 상태에 대한 분류를 수행할 수 있도록 하며, Outlier를 최소화하기 위해 Bi-LSTM, Dropout Layer, Attention Layer, Dense Layer의 결과 후 BatchNormalization Layer를 지나게 되며, 이를 통해 전체적인 Normalization이 진행될 수 있다. Figure 9 is a diagram illustrating the configuration of an artificial intelligence classification model including an LSTM network structure in the method for detecting a CPU abnormality according to the second embodiment of the present invention. To explain this, learning is performed using the Bi-LSTM network structure that can learn the input data set in both directions (forward - forward, backward - backward), and the results are output using the ReLU Activation Function. Additionally, the Dropout Layer is utilized to solve the overfitting problem for the output result values, and the Weight for specific output is increased by adding the Attention Layer to increase the performance (accuracy) of the model. Finally, in order to classify the data set based on time series data, the Activation Function of Dense is set to Softmax to perform classification for a specific current state, and Bi-LSTM, Dropout Layer, Attention Layer, and Dense are used to minimize outliers. After the result of the layer, it passes through the BatchNormalization Layer, through which overall normalization can proceed.

본 발명의 제2 실시 예에 따른 CPU의 이상을 탐지하는 방법에 있어서 인공지능 분류 모델은 이와 같은 구성에서 더 나아가, 학습 과정에서 동적으로 Learning Rate를 변경시켜 주기 위해 EarlyStop Method를 활용할 수 있으며, 인공지능 분류 모델이 학습 데이터셋을 활용하여 한번 학습을 진행하였을 때(즉, 한번의 Epoch가 지난 후) 정확도가 증가하지 않는다면, Learning Rate를 설정한 Learning Decay에 따라 동적으로 변경해주어 전체적인 인공지능 분류 모델의 학습 성능 향상을 도모할 수 있다. In the method of detecting an abnormality in the CPU according to the second embodiment of the present invention, the artificial intelligence classification model can go further than this configuration and utilize the EarlyStop Method to dynamically change the learning rate during the learning process, If the accuracy does not increase when the intelligence classification model is trained using the learning dataset (i.e., after one epoch has passed), the learning rate is dynamically changed according to the set Learning Decay to model the overall artificial intelligence classification model. can help improve learning performance.

이상 설명한 S210-1 단계 내지 S210-6 단계를 통해 인공지능 분류 모델의 학습이 진행될 수 있으며, 이를 반복하면 할수록 학습 완성도는 향상될 수 있다 할 것이다. 다시 도 2에 대한 설명으로 돌아가도록 한다. Learning of the artificial intelligence classification model can proceed through steps S210-1 to S210-6 described above, and the more this is repeated, the more complete the learning can be improved. Let us return to the description of FIG. 2 again.

인공지능 분류 모델을 학습시켰다면, 장치(100)가 모니터링할 CPU의 CPU Execution Port 번호 설정을 포함하는 CPU 모니터링 조건을 설정하며(S220), CPU 모니터링 조건으로 번호를 설정한 CPU Execution Port의 포트 출력값을 모니터링하고(S230), 모니터링한 결과에 따른 CPU Execution Port의 포트 출력값을 데이터셋(DataSet)화한다(S240). 이후 데이터셋화한 데이터셋을 전처리하며(S250), 마지막으로 전처리한 데이터셋을 인공지능 분류 모델에 입력하여 이상 탐지 결과를 출력한다(S260). If the artificial intelligence classification model has been learned, the device 100 sets CPU monitoring conditions including setting the CPU Execution Port number of the CPU to be monitored (S220), and outputs the port output value of the CPU Execution Port whose number is set as the CPU monitoring condition. Monitor (S230), and convert the port output value of the CPU Execution Port according to the monitoring results into a data set (S240). Afterwards, the data set is pre-processed (S250), and finally, the pre-processed data set is input into an artificial intelligence classification model and anomaly detection results are output (S260).

이상의 단계들 중에서 S220 단계 내지 S250 단계는 앞서 인공지능 분류 모델의 학습과 롼련된 S210-1 단계 내지 S210-4 단계에 대한 설명과 동일하기에 중복 서술을 방지하기 위해 자세한 설명은 생략하도록 하며, S210 단계에 대한 설명에서는 데이터셋의 전처리 이후 데이터셋을 소정 비율로 분리하여 일부를 학습하고 일부를 테스트하는 S210-5 단계 및 S210-6 단계가 수행되었으나, 도 2의 경우에는 인공지능 분류 모델의 학습에 관한 것이 아니라 실제 CPU의 이상을 탐지하는 방법의 수행에 관한 것이므로 전처리한 데이터셋 전부를 인공지능 분류 모델에 입력하여 이상 탐지 결과를 출력한다는 차이점이 있다. Among the above steps, steps S220 to S250 are the same as the descriptions of steps S210-1 to S210-4 previously related to learning of the artificial intelligence classification model, so detailed descriptions are omitted to prevent redundant description, and S210 In the description of the steps, steps S210-5 and S210-6 were performed after preprocessing the dataset, separating the dataset into a predetermined ratio, learning part and testing part, but in the case of Figure 2, learning of the artificial intelligence classification model Since it is not about , but rather about the performance of a method for detecting actual CPU abnormalities, there is a difference in that all preprocessed datasets are input into an artificial intelligence classification model and the abnormality detection results are output.

한편, S260 단계와 관련하여 이상 탐지 결과는 앞서 설정한 CPU 모니터링 조건과 마찬가지로 CPU CORE 별로 정상 상태인지 비정상 상태인지, 그리고 해당 CPU CORE에 대한 CPU Execution Port 별로 정상 상태인지 비정상 상태인지 구별하여 출력할 수 있으며, 복수 개의 CPU Execution Port 중 어느 하나라도 비정상 상태인 CPU Execution Port가 존재한다면, 이에 대한 CPU CORE는 비정상 상태로 출력될 수 있을 것이다. Meanwhile, in relation to the S260 stage, the abnormality detection results can be output by distinguishing whether they are in a normal or abnormal state for each CPU CORE, and whether they are in a normal or abnormal state for each CPU Execution Port for the CPU CORE, similar to the previously set CPU monitoring conditions. And, if any one of the plurality of CPU Execution Ports exists in an abnormal state, the CPU CORE for it may be output in an abnormal state.

한편, 정상 상태와 비정상 상태에 대한 출력은 수치, 예를 들어 1에 가까운 값이 출력될수록 정상 상태에 가깝고, 0에 가까운 값이 출력될수록 비정상 상태에 가깝게 출력할 수 있으며, 한눈에 식별 가능한 시각적인 수단을 통해 출력할 수도 있다.Meanwhile, the output for normal and abnormal states is numerical. For example, the closer the value to 1 is, the closer it is to the normal state. The closer the value to 0 is, the closer it is to the abnormal state. It is a visual display that can be identified at a glance. It can also be output through any means.

도 10은 인공지능 분류 모델의 예시적인 세부 스펙에 대한 테이블이며, 도 11은 도 10에 첨부된 스펙을 갖는 인공지능 분류 모델을 통해 CPU CORE 0이 정상 상태일 때의 이상 탐지 결과를 2차원적인 시각 수단을 통해 출력한 예시이고, 도 12는 비정상 상태일 때의 이상 탐지 결과를 2차원적인 시각 수단을 통해 출력한 예시이다. Figure 10 is a table of exemplary detailed specifications of the artificial intelligence classification model, and Figure 11 is a two-dimensional table showing the abnormality detection results when CPU CORE 0 is in a normal state through the artificial intelligence classification model with the specifications attached to Figure 10. This is an example of output through visual means, and Figure 12 is an example of the abnormality detection result in an abnormal state output through two-dimensional visual means.

도 11을 참조하면, CPU CORE 0에 대하여 CPU Execution Port 0 내지 8 모두 큰 변동 없이 포트 출력값이 일정하게 출력되고 있음을 확인할 수 있으며, 일부 범위를 벗어난 값의 경우 지속적으로 유지되고 있지 않으므로 노이즈에 해당한다고 볼 수 있을 것이다. 그러나 도 12를 참조하면, 타임 라인 4000 이상부터 포트 출력값이 급변한 상태가 지속적으로 유지되고 있으므로 비정상 상태가 발생했음을 손쉽게 식별 가능할 것이다. Referring to Figure 11, it can be seen that for CPU CORE 0, the port output values of both CPU Execution Ports 0 to 8 are output consistently without significant change. In the case of values outside of some ranges, they are not maintained continuously and are therefore considered noise. You can see that it does. However, referring to FIG. 12, since the port output value continues to change rapidly starting from timeline 4000, it will be easy to identify that an abnormal state has occurred.

한편, 본 발명의 제2 실시 예에 따른 CPU의 이상을 탐지하는 방법은 이상 탐지 결과를 2차원적인 시각 수단뿐만 아니라 도 13에 예시적으로 도시된 3차원적인 시각 수단으로도 출력할 수 있으며, 사용자는 자신이 원하는 이상 탐지 결과 출력 방식을 자유롭게 선택할 수 있는바, 사용자 편의성이 향상될 수 있다. Meanwhile, the method for detecting an abnormality in the CPU according to the second embodiment of the present invention can output the abnormality detection result not only through a two-dimensional visual means, but also through a three-dimensional visual means as exemplarily shown in FIG. 13, Users can freely select the anomaly detection result output method they want, which can improve user convenience.

도 14는 본 발명의 제2 실시 예에 따른 CPU의 이상을 탐지하는 방법에 있어서 이상 탐지 결과의 정확도 시뮬레이션(Confusion Matrix) 결과, 즉 성능에 대한 시뮬레이션 결과인바, 실제 정상 상태(init)일 때, 이상 탐지 결과를 정상 상태로 출력한 경우가 83.22%, 실제 비정상 상태(attack)일 때, 이상 탐지 결과를 비정상 상태로 출력한 경우가 99.41%, 유튜브를 시청하고 있는 정상 상태(youtube)일 때, 이상 탐지 결과를 유튜브를 시청하고 있는 정상 상태로 출력한 경우가 82.84%로 나타난바, 비정상 상태의 탐지 결과가 100%에 가까울 정도로 매우 정확하게 나타남을 확인할 수 있다. Figure 14 is a simulation result of the accuracy of the abnormality detection result (Confusion Matrix) in the method for detecting an abnormality in the CPU according to the second embodiment of the present invention, that is, a simulation result of the performance, when in the actual normal state (init), In 83.22% of cases, the abnormality detection result was output in a normal state, when it was actually in an abnormal state (attack), in 99.41% of cases, the abnormality detection result was output in an abnormal state, in a normal state while watching YouTube (youtube), The abnormality detection results were output in a normal state of watching YouTube in 82.84% of cases, and it can be seen that the abnormality detection results were very accurate, close to 100%.

지금까지 본 발명의 제2 실시 예에 따른 CPU의 이상을 탐지하는 방법에 대하여 설명하였다. 본 발명에 따르면, 공격의 종류와 무관한 CPU Execution Port의 포트 출력값을 모니터링하여 이상 행위 발생 여부를 탐지하는바, 모든 종류의 공격에 대하여 CPU의 이상 발생 여부를 신속하게 탐지할 수 있다. 또한, 모니터링하고자하는 CPU CORE, 더 나아가 해당 CPU CORE에 대한 CPU Execution Port까지 사용자가 자유롭게 설정하여 모니터링을 진행할 수 있는바, 이상 행위가 발생한 근원을 정확하게 탐지할 수 있다. 더 나아가, 모니터링하고자하는 CPU CORE 및 이에 대한 CPU Execution Port의 설정뿐만 아니라, 이상 탐지 결과까지 사용자가 원하는 방식으로 선택하여 출력할 수 있으므로 사용자 편의성이 비약적으로 향상될 수 있다. 아울러, 장치(100)를 사용하여 이상 탐지를 반복적으로 수행하면 할수록 인공지능 분류 모델의 학습 정확도가 향상함으로써 보다 정확한 이상 탐지 결과를 제공할 수 있다.So far, the method for detecting CPU abnormalities according to the second embodiment of the present invention has been described. According to the present invention, the occurrence of abnormal behavior is detected by monitoring the port output value of the CPU Execution Port regardless of the type of attack, and it is possible to quickly detect whether the CPU abnormality occurs for all types of attacks. In addition, the user can freely set the CPU CORE to be monitored and even the CPU Execution Port for the CPU CORE, allowing the user to accurately detect the source of abnormal behavior. Furthermore, user convenience can be dramatically improved because not only the settings of the CPU CORE and CPU Execution Port to be monitored, but also the abnormality detection results can be selected and output in the desired manner. In addition, the more repeatedly anomaly detection is performed using the device 100, the more the learning accuracy of the artificial intelligence classification model improves, thereby providing more accurate anomaly detection results.

한편, 본 발명의 제1 실시 예에 따른 CPU의 이상을 탐지하는 장치(100)와 본 발명의 제2 실시 예에 따른 CPU의 이상을 탐지하는 방법은 본 발명의 제3 실시 예에 따른 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터 프로그램으로 구현할 수도 있는바, 이 경우 컴퓨팅 장치와 결합하여 (AA) 인공지능 분류 모델을 학습시키는 단계, (BB) 모니터링할 CPU의 CPU Execution Port 번호 설정을 포함하는 CPU 모니터링 조건을 설정하는 단계, (CC) 상기 CPU 모니터링 조건으로 번호를 설정한 CPU Execution Port의 포트 출력값을 모니터링하는 단계, (DD) 상기 모니터링한 결과에 따른 CPU Execution Port의 포트 출력값을 데이터셋(DataSet)화하는 단계, (EE) 상기 데이터셋화한 데이터셋을 전처리하는 단계 및 (FF) 상기 전처리한 데이터셋을 상기 인공지능 분류 모델에 입력하여 이상 탐지 결과를 출력하는 단계를 실행할 수 있을 것이며, 중복 서술을 위해 자세히 기재하지는 않았지만 본 발명의 제1 실시 예에 따른 CPU의 이상을 탐지하는 장치(100) 및 본 발명의 제2 실시 예에 따른 CPU의 이상을 탐지하는 방법에 적용된 모든 기술적 특징은 본 발명의 제4 실시 예에 따른 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터 프로그램에 모두 동일하게 적용될 수 있음은 물론이라 할 것이다. Meanwhile, the device 100 for detecting a CPU abnormality according to the first embodiment of the present invention and the method for detecting a CPU abnormality according to the second embodiment of the present invention are used with a computer according to the third embodiment of the present invention. It can also be implemented as a computer program stored in a readable medium, in which case CPU monitoring conditions including (AA) learning an artificial intelligence classification model in combination with a computing device and (BB) setting the CPU Execution Port number of the CPU to be monitored. A step of setting, (CC) a step of monitoring the port output value of the CPU Execution Port whose number is set as the CPU monitoring condition, (DD) forming a data set of the port output value of the CPU Execution Port according to the monitoring results. The steps of (EE) preprocessing the data set and (FF) inputting the preprocessed data set into the artificial intelligence classification model and outputting anomaly detection results may be performed, and duplicate descriptions may be performed. Although not described in detail, all technical features applied to the device 100 for detecting a CPU abnormality according to the first embodiment of the present invention and the method for detecting a CPU abnormality according to the second embodiment of the present invention are included in the present invention. Of course, it can be equally applied to all computer programs stored in a computer-readable medium according to the fourth embodiment.

이상 첨부된 도면을 참조하여 본 발명의 실시 예들을 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.Although embodiments of the present invention have been described above with reference to the attached drawings, those skilled in the art will understand that the present invention can be implemented in other specific forms without changing its technical idea or essential features. You will be able to understand it. Therefore, the embodiments described above should be understood in all respects as illustrative and not restrictive.

10: 프로세서
20: 네트워크 인터페이스
30: 메모리
40: 스토리지
41: 컴퓨터 프로그램
50: 정보 버스
100: CPU의 이상을 탐지하는 장치
10: processor
20: network interface
30: memory
40: storage
41: computer program
50: Information Bus
100: Device that detects CPU abnormalities

Claims (11)

프로세서 및 메모리를 포함하는 장치가 CPU(Central Processing Unit)의 이상을 탐지하는 방법에 있어서,
(a) 인공지능 분류 모델을 학습시키는 단계;
(b) 모니터링할 CPU의 CPU Execution Port 번호 설정을 포함하는 CPU 모니터링 조건을 설정하는 단계;
(c) 상기 CPU 모니터링 조건으로 번호를 설정한 CPU Execution Port의 포트 출력값을 모니터링하는 단계;
(d) 상기 모니터링한 결과에 따른 CPU Execution Port의 포트 출력값을 데이터셋(DataSet)화하는 단계;
(e) 상기 데이터셋화한 데이터셋을 전처리하는 단계; 및
(f) 상기 전처리한 데이터셋을 상기 인공지능 분류 모델에 입력하여 이상 탐지 결과를 출력하는 단계;
를 포함하는 CPU의 이상을 탐지하는 방법에 있어서,
상기 CPU Execution Port의 포트 출력값은,
상기 CPU Execution Port의 PMC(Performance Monitoring Counter) 값인,
CPU의 이상을 탐지하는 방법.
In a method for a device including a processor and memory to detect an abnormality in a CPU (Central Processing Unit),
(a) learning an artificial intelligence classification model;
(b) setting CPU monitoring conditions including setting the CPU Execution Port number of the CPU to be monitored;
(c) monitoring the port output value of the CPU Execution Port whose number is set as the CPU monitoring condition;
(d) converting the port output value of the CPU Execution Port according to the monitoring results into a DataSet;
(e) preprocessing the data set; and
(f) inputting the preprocessed dataset into the artificial intelligence classification model and outputting an anomaly detection result;
In a method for detecting an abnormality in a CPU, including:
The port output value of the CPU Execution Port is,
The PMC (Performance Monitoring Counter) value of the CPU Execution Port,
How to detect CPU abnormalities.
제1항에 있어서,
상기 (a) 단계는,
(a-1) 모니터링할 CPU의 CPU Execution Port 번호 설정을 포함하는 CPU 모니터링 조건을 설정하는 단계;
(a-2) 상기 (a-1) 단계에서 CPU 모니터링 조건으로 번호를 설정한 CPU Execution Port의 포트 출력값을 모니터링하는 단계;
(a-3) 상기 (a-2) 단계에서 모니터링한 결과에 따른 CPU Execution Port의 포트 출력값을 데이터셋(DataSet)화하는 단계;
(a-4) 상기 (a-3) 단계에서 데이터셋화한 데이터셋을 전처리하는 단계; 및
(a-5) 상기 (a-4) 단계에서 전처리한 데이터셋을 소정 비율로 분리하고, 분리한 일부를 상기 인공지능 분류 모델에 입력하여 이상 탐지 결과를 학습하는 단계; 및
(a-6) 상기 (a-4) 단계에서 전처리한 데이터셋 중, 분리한 나머지 일부를 상기 인공지능 분류 모델에 입력하여 이상 탐지 결과를 테스트하는 단계;
를 포함하는 CPU의 이상을 탐지하는 방법.
According to paragraph 1,
In step (a),
(a-1) setting CPU monitoring conditions including setting the CPU Execution Port number of the CPU to be monitored;
(a-2) monitoring the port output value of the CPU Execution Port whose number is set as the CPU monitoring condition in step (a-1);
(a-3) converting the port output value of the CPU Execution Port according to the monitoring results in step (a-2) into a data set;
(a-4) preprocessing the dataset converted into a dataset in step (a-3); and
(a-5) separating the dataset preprocessed in step (a-4) into a predetermined ratio and inputting the separated portion into the artificial intelligence classification model to learn anomaly detection results; and
(a-6) inputting the separated remaining part of the dataset preprocessed in step (a-4) into the artificial intelligence classification model to test anomaly detection results;
Method for detecting abnormalities in CPU including.
제2항에 있어서,
상기 (a-5) 단계에서의 소정 비율은,
상기 일부 : 나머지 일부에 대하여 7 : 3 및 8 : 2 중 어느 하나인,
CPU의 이상을 탐지하는 방법.
According to paragraph 2,
The predetermined ratio in step (a-5) is,
The above part: either 7:3 or 8:2 with respect to the remaining part,
How to detect CPU abnormalities.
제1항에 있어서,
상기 CPU 모니터링 조건은,
상기 모니터링할 CPU CORE 설정, 상기 모니터링할 CPU CORE 수 설정, 모니터링 속도 설정 및 모니터링 시간 설정 중 어느 하나 이상을 더 포함하는,
CPU의 이상을 탐지하는 방법.
According to paragraph 1,
The CPU monitoring conditions are:
Further comprising any one or more of the CPU CORE setting to be monitored, the number setting of the CPU CORE to be monitored, the monitoring speed setting, and the monitoring time setting,
How to detect CPU abnormalities.
제4항에 있어서,
상기 CPU Execution Port 번호 설정은,
상기 설정한 모니터링할 CPU CORE 별로 그에 대한 Execution Port 번호 설정이 개별적으로 가능한,
CPU의 이상을 탐지하는 방법.
According to clause 4,
The above CPU Execution Port number setting is,
It is possible to individually set the Execution Port number for each CPU CORE to be monitored as set above.
How to detect CPU abnormalities.
제1항에 있어서,
상기 (d) 단계에서의 데이터셋화는,
상기 모니터링한 결과에 따른 CPU Execution Port의 포트 출력값을 CSV(Comma Separated Value) 파일로 저장하는 것인,
CPU의 이상을 탐지하는 방법.
According to paragraph 1,
Data setting in step (d) above,
Saving the port output value of the CPU Execution Port according to the monitoring results as a CSV (Comma Separated Value) file,
How to detect CPU abnormalities.
제1항에 있어서,
상기 (e) 단계는,
(e-1) 상기 데이터셋화한 데이터셋 내에서 중요도가 높은 소정 개수의 CPU Execution Port 번호를 추출하는 단계; 및
(e-2) 상기 번호를 추출한 중요도가 높은 소정 개수의 CPU Execution Port의 포트 출력값을 소정 범위 내로 수렴하도록 정규화하는 단계;
를 포함하는 CPU의 이상을 탐지하는 방법.
According to paragraph 1,
In step (e),
(e-1) extracting a predetermined number of CPU Execution Port numbers with high importance from the data set; and
(e-2) normalizing the port output values of a predetermined number of CPU Execution Ports of high importance from which the numbers are extracted to converge within a predetermined range;
Method for detecting abnormalities in CPU including.
제7항에 있어서,
상기 (e-1) 단계에서의 소정 개수는,
10개 내지 20개 중 어느 하나이며,
상기 (e-2) 단계에서의 소정 범위는,
-2 내지 2인,
CPU의 이상을 탐지하는 방법.
In clause 7,
The predetermined number in step (e-1) is,
Any one of 10 to 20,
The predetermined range in step (e-2) is,
-2 to 2 people,
How to detect CPU abnormalities.
제1항에 있어서,
상기 인공지능 분류 모델은,
장단기 메모리인 LSTM(Long Short Term Memory) 네트워크 구조를 포함하되,
상기 LSTM 네트워크 구조는,
양 방향 학습이 가능한 Bi-LSTM 네트워크 구조인,
CPU의 이상을 탐지하는 방법.
According to paragraph 1,
The artificial intelligence classification model is,
Includes LSTM (Long Short Term Memory) network structure, which is short-term memory,
The LSTM network structure is,
Bi-LSTM network structure capable of bidirectional learning,
How to detect CPU abnormalities.
하나 이상의 프로세서;
네트워크 인터페이스;
상기 프로세서에 의해 수행되는 컴퓨터 프로그램을 로드(Load)하는 메모리; 및
대용량 네트워크 데이터 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,
상기 컴퓨터 프로그램은 상기 하나 이상의 프로세서에 의해,
(A) 인공지능 분류 모델을 학습시키는 오퍼레이션;
(B) 모니터링할 CPU의 CPU Execution Port 번호 설정을 포함하는 CPU 모니터링 조건을 설정하는 오퍼레이션;
(C) 상기 CPU 모니터링 조건으로 번호를 설정한 CPU Execution Port의 포트 출력값을 모니터링하는 오퍼레이션;
(D) 상기 모니터링한 결과에 따른 CPU Execution Port의 포트 출력값을 데이터셋(DataSet)화하는 오퍼레이션;
(E) 상기 데이터셋화한 데이터셋을 전처리하는 오퍼레이션; 및
(F) 상기 전처리한 데이터셋을 상기 인공지능 분류 모델에 입력하여 이상 탐지 결과를 출력하는 오퍼레이션;
을 실행하는 CPU의 이상을 탐지하는 장치에 있어서,
상기 CPU Execution Port의 포트 출력값은,
상기 CPU Execution Port의 PMC(Performance Monitoring Counter) 값인,
CPU의 이상을 탐지하는 장치.
One or more processors;
network interface;
a memory that loads a computer program executed by the processor; and
Including storage for storing large-capacity network data and the computer program,
The computer program is operated by the one or more processors,
(A) Operation to learn artificial intelligence classification model;
(B) An operation to set CPU monitoring conditions including setting the CPU Execution Port number of the CPU to be monitored;
(C) An operation to monitor the port output value of the CPU Execution Port whose number is set as the CPU monitoring condition;
(D) An operation to convert the port output value of the CPU Execution Port according to the monitoring results into a DataSet;
(E) an operation to preprocess the data set; and
(F) an operation to input the preprocessed dataset into the artificial intelligence classification model and output an abnormality detection result;
In a device that detects an abnormality in a CPU running,
The port output value of the CPU Execution Port is,
The PMC (Performance Monitoring Counter) value of the CPU Execution Port,
A device that detects CPU abnormalities.
컴퓨팅 장치와 결합하여,
(AA) 인공지능 분류 모델을 학습시키는 단계;
(BB) 모니터링할 CPU의 CPU Execution Port 번호 설정을 포함하는 CPU 모니터링 조건을 설정하는 단계;
(CC) 상기 CPU 모니터링 조건으로 번호를 설정한 CPU Execution Port의 포트 출력값을 모니터링하는 단계;
(DD) 상기 모니터링한 결과에 따른 CPU Execution Port의 포트 출력값을 데이터셋(DataSet)화하는 단계;
(EE) 상기 데이터셋화한 데이터셋을 전처리하는 단계; 및
(FF) 상기 전처리한 데이터셋을 상기 인공지능 분류 모델에 입력하여 이상 탐지 결과를 출력하는 단계;
를 실행하는 CPU의 이상을 탐지하는 장치에 있어서,
상기 CPU Execution Port의 포트 출력값은,
상기 CPU Execution Port의 PMC(Performance Monitoring Counter) 값인,
를 실행하는 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터 프로그램.
In combination with a computing device,
(AA) learning an artificial intelligence classification model;
(BB) setting CPU monitoring conditions including setting the CPU Execution Port number of the CPU to be monitored;
(CC) monitoring the port output value of the CPU Execution Port whose number is set as the CPU monitoring condition;
(DD) converting the port output value of the CPU Execution Port according to the monitoring results into a DataSet;
(EE) preprocessing the data set; and
(FF) inputting the preprocessed dataset into the artificial intelligence classification model and outputting an anomaly detection result;
In a device that detects an abnormality in a CPU running,
The port output value of the CPU Execution Port is,
The PMC (Performance Monitoring Counter) value of the CPU Execution Port,
A computer program stored on a medium readable by a computer running a computer program.
KR1020220154568A 2022-11-17 2022-11-17 Method for detecting cpu anomaly tand apparatus for same Ceased KR20240072682A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220154568A KR20240072682A (en) 2022-11-17 2022-11-17 Method for detecting cpu anomaly tand apparatus for same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220154568A KR20240072682A (en) 2022-11-17 2022-11-17 Method for detecting cpu anomaly tand apparatus for same

Publications (1)

Publication Number Publication Date
KR20240072682A true KR20240072682A (en) 2024-05-24

Family

ID=91321107

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220154568A Ceased KR20240072682A (en) 2022-11-17 2022-11-17 Method for detecting cpu anomaly tand apparatus for same

Country Status (1)

Country Link
KR (1) KR20240072682A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119690779A (en) * 2024-12-04 2025-03-25 北京邮电大学 Hidden PMU reverse engineering universal framework based on differential analysis and simulation verification

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120105049A (en) 2010-01-11 2012-09-24 퀄컴 인코포레이티드 System and method of monitoring a central processing unit in real time

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120105049A (en) 2010-01-11 2012-09-24 퀄컴 인코포레이티드 System and method of monitoring a central processing unit in real time

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119690779A (en) * 2024-12-04 2025-03-25 北京邮电大学 Hidden PMU reverse engineering universal framework based on differential analysis and simulation verification

Similar Documents

Publication Publication Date Title
US10459815B2 (en) Method and system for predicting storage device failures
US11226858B1 (en) Root cause analysis of logs generated by execution of a system
US10997052B2 (en) Methods to associate workloads to optimal system settings based upon statistical models
US20190243743A1 (en) Unsupervised anomaly detection
WO2022089202A1 (en) Fault identification model training method, fault identification method, apparatus and electronic device
WO2018113521A1 (en) Generating knowledge base to assist with the modeling of large datasets
US9842139B1 (en) Metadata-driven program code generation for clinical data analysis
WO2021223215A1 (en) Automated decision platform
CN104077218A (en) Test method and device of MapReduce distributed system
KR20230059607A (en) Method for Automating failure prediction of virtual machines and servers through log message analysis, apparatus and system thereof
CN109344017A (en) A method, device and readable storage medium for predicting memory failure based on machine learning
KR20240072682A (en) Method for detecting cpu anomaly tand apparatus for same
US8762781B2 (en) Method and apparatus useful in manufacturing test case operations
US9645873B2 (en) Integrated configuration management and monitoring for computer systems
CA2811617A1 (en) Commit sensitive tests
CN116629435A (en) Risk prediction method, risk prediction device, computer equipment and storage medium
US20150169292A1 (en) Computer-readable recording medium storing program for managing scripts, script management device, and script management method
US10353803B2 (en) Dynamic device clustering
JP2019133470A (en) Behavior discrimination method, behavior discrimination device and program
EP3163463A1 (en) A correlation estimating device and the related method
US10102109B2 (en) Exception resolution in a software development session
US11487462B2 (en) Method and device of predicting inter-volume copy time based on inter-pool copy speed
KR20230092723A (en) Method and apparatus for analysus of single-cell rna sequencing data
CN113094220A (en) Memory configuration method and device, computer equipment and readable storage medium
US20250077781A1 (en) Classification method, device and storage medium

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

R15-X000 Change to inventor requested

St.27 status event code: A-3-3-R10-R15-oth-X000

R16-X000 Change to inventor recorded

St.27 status event code: A-3-3-R10-R16-oth-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E13 Pre-grant limitation requested

Free format text: ST27 STATUS EVENT CODE: A-2-3-E10-E13-LIM-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11 Amendment of application requested

Free format text: ST27 STATUS EVENT CODE: A-2-2-P10-P11-NAP-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

B15 Application refused following examination

Free format text: ST27 STATUS EVENT CODE: N-2-6-B10-B15-EXM-PE0601 (AS PROVIDED BY THE NATIONAL OFFICE)

PE0601 Decision on rejection of patent

St.27 status event code: N-2-6-B10-B15-exm-PE0601

P11 Amendment of application requested

Free format text: ST27 STATUS EVENT CODE: A-2-2-P10-P11-NAP-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000