KR102338998B1 - System and method for checking log integrity and proving forgery and alteration activity of log through the same - Google Patents

System and method for checking log integrity and proving forgery and alteration activity of log through the same Download PDF

Info

Publication number
KR102338998B1
KR102338998B1 KR1020200060249A KR20200060249A KR102338998B1 KR 102338998 B1 KR102338998 B1 KR 102338998B1 KR 1020200060249 A KR1020200060249 A KR 1020200060249A KR 20200060249 A KR20200060249 A KR 20200060249A KR 102338998 B1 KR102338998 B1 KR 102338998B1
Authority
KR
South Korea
Prior art keywords
log
forgery
specific
combination
integrity
Prior art date
Application number
KR1020200060249A
Other languages
Korean (ko)
Other versions
KR20210143459A (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 KR1020200060249A priority Critical patent/KR102338998B1/en
Publication of KR20210143459A publication Critical patent/KR20210143459A/en
Application granted granted Critical
Publication of KR102338998B1 publication Critical patent/KR102338998B1/en

Links

Images

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/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Bioethics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법에 관한 것으로, 특정 시스템으로부터 시스템 로그가 생성될 때마다 이를 수집하여 상기 시스템 로그에 대한 무결성을 검사하기 위한 데이터를 확보하고, 일정 시간이 지난 다음 상기 특정 시스템으로부터 상기 특정 시스템에서 그동안 생성된 모든 로그를 수신하여, 먼저 수집한 시스템 로그와 나중에 수신한 상기 시스템 로그의 내용을 비교하여, 상기 시스템 로그에 대한 무결성을 검사하고, 상기 검사한 결과에 따라 악성코드의 은닉활동을 증빙함으로써, 해커 등과 같은 악성 사용자에 의해 발생한 상기 시스템 로그의 위변조 행위를 증빙하는 시스템 및 그 방법에 관한 것이다.The present invention relates to a log integrity check and a log forgery verification system and method therefor. Whenever a system log is generated from a specific system, it is collected to secure data for checking the integrity of the system log, and a schedule After a time has elapsed, all logs generated in the specific system are received from the specific system, and the integrity of the system log is checked by comparing the contents of the system log collected earlier and the system log received later, The present invention relates to a system and method for proving the forgery and falsification of the system log generated by a malicious user such as a hacker by proving the hidden activity of the malicious code according to the inspection result.

Description

로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법{SYSTEM AND METHOD FOR CHECKING LOG INTEGRITY AND PROVING FORGERY AND ALTERATION ACTIVITY OF LOG THROUGH THE SAME}Log integrity check and log forgery proof system and method therefor

본 발명은 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법에 관한 것으로, 더욱 상세하게는 특정 시스템으로부터 시스템 로그가 생성될 때마다 이를 수집하여 상기 시스템 로그에 대한 무결성을 검사하기 위한 데이터를 확보하고, 일정 시간이 지난 다음 상기 특정 시스템으로부터 상기 특정 시스템에서 그동안 생성된 모든 로그를 수신하여, 먼저 수집한 시스템 로그와 나중에 수신한 상기 시스템 로그의 내용을 비교하여, 상기 시스템 로그에 대한 무결성을 검사하고, 상기 검사한 결과에 따라 악성코드의 은닉활동을 증빙함으로써, 해커 등과 같은 악성 사용자에 의해 발생한 상기 시스템 로그의 위변조 행위를 증빙하는 시스템 및 그 방법에 관한 것이다.The present invention relates to a log integrity check and a log forgery verification system and method therefor, and more particularly, whenever a system log is generated from a specific system, it is collected and data for checking the integrity of the system log. After a certain period of time has elapsed, all logs generated from the specific system are received from the specific system, and the contents of the system log collected first and the system log received later are compared to ensure the integrity of the system log. The present invention relates to a system and method for proving forgery and falsification of the system log generated by a malicious user such as a hacker by inspecting and proving the hidden activity of malicious code according to the result of the inspection.

직접 커널 객체 조작(DKOM, Direct Kernel Object Manipulation)은, 루트 킷(Root kit)을 이용하여 상기 운영체제의 커널에서 생성한 커널의 객체(예: 프로세스)에 직접 접근하여, 상기 커널의 특정 객체에 대한 권한을 상승시키거나, 상기 커널의 특정 객체를 상기 운영체제의 객체관리자로부터 은닉시키는 일반적인 조작 기법을 의미한다.Direct Kernel Object Manipulation (DKOM) uses a root kit to directly access an object (eg, a process) of the kernel created in the kernel of the operating system, and It refers to a general manipulation technique that elevates authority or hides a specific object of the kernel from the object manager of the operating system.

일반적으로 상기 운영체제의 커널은, 해당 커널에서 활성화된 모든 프로세스를 관리하기 위해 상기 각 프로세스에 대한 객체(윈도우의 경우 EPROCESS 구조체)를 생성하고, 상기 생성한 각 객체를 이중 연결 리스트로 각각 연결함으로서, 관리한다.In general, the kernel of the operating system creates an object (EPROCESS structure in the case of a window) for each process to manage all processes activated in the kernel, and connects each created object with a doubly linked list, manage

이때, 상기 루트 킷을 이용하여 직접 커널 조작을 통해 특정 프로세스를 상기 커널에서 은닉시키고자 하는 경우, 상기 특정 프로세스에 대한 PID 값을 찾은 다음, 해당 프로세스에 대해 생성된 EPROCESS 구조체의 이중 연결 리스트의 연결 방향을 수정한다.At this time, if a specific process is to be hidden in the kernel through direct kernel manipulation using the root kit, the PID value for the specific process is found, and then the doubly linked list of the EPROCESS structure created for the process is linked. correct the direction

즉, 상기 특정 프로세스의 앞에 위치하는 프로세스에 대한 EPROCESS 구조체의 FLINK(Front Link)의 방향을 상기 특정 프로세스의 뒤에 위치하는 프로세스에 대한 EPROCESS 구조체의 FLINK로 변경하고, 상기 특정 프로세의 뒤에 위치하는 프로세스에 대한 EPROCESS 구조체의 BLINK(Back Link)의 방향을 상기 특정 프로세스 앞에 위치하는 프로세스에 대한 EPROCESS 구조체의 BLINK로 변경하여, 상기 특정 프로세스의 EPROCESS 구조체의 이중 연결 리스트를 은닉함으로써, 상기 특정 프로세스를 은닉하여 상기 객체관리자의 추적으로부터 은닉하는 것이 가능하게 되는 것이다.That is, the direction of the FLINK (Front Link) of the EPROCESS structure for the process located in front of the specific process is changed to the FLINK of the EPROCESS structure for the process located after the specific process, and the process located after the specific process By changing the direction of the BLINK (Back Link) of the EPROCESS structure for the EPROCESS structure to the BLINK of the EPROCESS structure for the process located in front of the specific process, by hiding the doubly linked list of the EPROCESS structure of the specific process, by hiding the specific process It becomes possible to hide from the tracking of the object manager.

이렇게 루트 킷을 이용한 직접 커널 객체 조작을 통해 해커와 같은 악의적인 사용자는 정당한 사용자가 운영하는 특정 시스템으로부터 특정 프로세스, 드라이버, 포트 등을 간편하게 은닉할 수 있으며, 이를 통해 상기 특정 시스템에 대한 완전한 제어를 획득하여, 필요한 정보나 데이터를 수집하거나, 위변조하는 것이 가능하게 된다. 따라서 상기 특정 시스템에 대한 보안을 유지하기 위해서는 상기 루트 킷을 탐지하는 것이 매우 중요하다.Through direct kernel object manipulation using this root kit, a malicious user such as a hacker can easily hide a specific process, driver, port, etc. from a specific system operated by a legitimate user, thereby gaining complete control over the specific system. By acquiring it, it becomes possible to collect or forge necessary information or data. Therefore, it is very important to detect the root kit in order to maintain security for the specific system.

그러나 커널 형태의 루트 킷은, 상기 객체관리자의 상기 루트 킷에 대한 탐지로부터 특정 프로세스가 은닉하도록 구현되므로, 상기 은닉한 프로세스와 정상적으로 동작하는 프로세스들에 의해 후킹된 함수들을 일일이 찾아서 분석해야하기 때문에 그 탐지가 매우 어려운 문제점이 있다.However, the kernel-type root kit is implemented so that a specific process is hidden from detection of the root kit by the object manager. There is a problem that is very difficult to detect.

한편, 시스템 로그는, 특정 프로세스에 의해 상기 시스템의 모든 사용내역을 시간에 따라 기록하여 저장되는 정보를 의미하며, 위변조가 되지 않은 무결성이 보장되는 경우에는, 해킹이나, 상기 시스템의 결함 등과 같은 문제 발생시, 그 원인을 파악하고 대처할 수 있는 근거를 제공한다.On the other hand, the system log means information stored by recording all usage details of the system over time by a specific process. In the event of an outbreak, the cause is identified and the basis for action is provided.

따라서 상기 시스템 로그에 대한 무결성을 검사하여, 악성코드에 의해 해당 시스템 로그에 대한 위변조 행위를 증빙할 수 있다면, 상기 시스템에 대한 악성코드의 활동으로 인한 시스템의 피해를 차단할 수 있을 것이다.Therefore, if the integrity of the system log can be checked and the forgery and falsification of the system log can be proved by the malicious code, damage to the system due to the activity of the malicious code on the system can be blocked.

이에 따라 본 발명에서는, 정당한 사용자에 의해 운영되는 특정 시스템으로부터 시스템 로그가 생성될 때 마다 이를 수집하고, 사전에 설정한 주기에 따라 상기 특정 시스템으로부터 상기 특정 시스템에서 그 동안 생성된 모든 시스템 로그를 수신하여, 이전에 수집한 시스템 로그와 이후에 수신한 시스템 로그의 내용을 비교하여, 상기 시스템 로그의 내용이 동일한지 여부에 따라 로그의 무결성을 검사하고, 상기 로그의 내용이 동일한 경우, 루트(Root)권한으로 실행된 프로세스에 대한 시스템 로그에 대해서는, 상기 특정 시스템의 운영체제의 커널에서 후킹된 데이터를 분석하여, 악성코드의 은닉활동을 증빙함으로써, 상기 시스템 로그에 대한 위변조 행위를 증빙할 수 있도록 하는 방안을 제안하고자 한다.Accordingly, in the present invention, whenever a system log is generated from a specific system operated by a legitimate user, it is collected, and all system logs generated in the specific system are received from the specific system according to a preset period. Thus, by comparing the contents of the system log collected before and the system log received thereafter, the integrity of the log is checked according to whether the contents of the system log are the same, and if the contents of the log are the same, the root (Root) ) for the system log of the process executed with the privilege, by analyzing the data hooked in the kernel of the operating system of the specific system to prove the hidden activity of the malicious code, it is possible to prove the forgery and falsification of the system log. I would like to suggest a way.

다음으로 본 발명의 기술분야에 존재하는 선행기술에 대하여 간단하게 설명하고, 이어서 본 발명이 상기 선행기술에 비해서 차별적으로 이루고자 하는 기술적 사항에 대해서 기술하고자 한다.Next, the prior art existing in the technical field of the present invention will be briefly described, and then the technical matters that the present invention intends to achieve differently from the prior art will be described.

먼저 한국등록특허 제1346809호(2013.12.24.)는 로그파일의 무결성을 보호하기 위한 방법 및 장치에 관한 것으로, 로그파일에 기록되는 로그 데이터가 고정길이 혹은 가변길이의 데이터를 갖는지에 대한 여부를 판단하고, 상기 로그파일이 고정 길이의 데이터를 가지는 경우, 상기 로그파일의 크기를 상기 고정 길이로 나누어 나머지 값을 생성하여, 상기 생성한 나머지 값에 따라 상기 로그파일의 무결성 훼손 여부를 판단하여, 시스템의 비정상 종료로 인해 무결성이 훼손된 로그파일에 대한 무결성을 보호하는 로그파일의 무결성을 보호하기 위한 방법 및 장치에 관한 것이다.First, Korean Patent Registration No. 1346809 (2013.12.24.) relates to a method and apparatus for protecting the integrity of a log file, and determines whether log data recorded in a log file has fixed-length or variable-length data. determining, if the log file has data of a fixed length, dividing the size of the log file by the fixed length to generate a residual value, and determining whether the integrity of the log file is damaged according to the generated residual value; To a method and apparatus for protecting the integrity of a log file that protects the integrity of a log file whose integrity is compromised due to an abnormal system shutdown.

즉, 상기 선행기술은, 로그파일에 로그 데이터가 기록될 때, 시스템이 비정상적으로 종료된 경우에, 상기 로그파일의 신규 로그 데이터에 대한 기록 위치를 조정함으로써, 상기 비정상적인 종료에 의한 상기 로그파일의 무결성을 보호할 수 있도록 하는 것이다.That is, in the prior art, when the log data is recorded in the log file, when the system is abnormally terminated, by adjusting the recording position of the new log data of the log file, the log file due to the abnormal termination to protect its integrity.

반면에 본 발명은, 특정 시스템으로부터 시스템 로그가 생성될 때마다 이를 수집하고, 상기 수집한 이후 일정한 시간이 지난 다음 상기 특정 시스템에서 그동안 생성된 모든 시스템 로그를 수신한 후, 이전에 수집한 시스템 로그와 나중에 수신한 시스템 로그의 내용을 비교하여, 상기 시스템 로그의 내용이 동일한지 여부에 따라 시스템 로그의 무결성을 판단하고, 상기 판단한 결과에 따라 루트(Root)권한으로 프로세스에 대한 시스템 로그에 대해서는, 상기 특정 시스템에 대한 운영체제의 커널에서 후킹된 데이터를 분석하여, 악의의 사용자에 의한 악성코드의 은닉활동을 증빙함으로써, 상기 시스템 로그에 대한 위변조 행위를 증빙할 수 있도록 하는 것으로, 상기 선행기술은 이러한 본 발명의 기술적 특징을 기재하거나 시사 혹은 암시도 없다.On the other hand, according to the present invention, whenever a system log is generated from a specific system, it is collected, and after a certain period of time has elapsed after the collection, all the system logs generated in the meantime are received in the specific system, and then the previously collected system log By comparing the contents of the system log received later with the system log, the integrity of the system log is determined depending on whether the contents of the system log are the same, and as for the system log for the process with root authority, By analyzing the data hooked in the kernel of the operating system for the specific system, and proving the hiding activity of the malicious code by the malicious user, it is possible to prove the forgery and falsification of the system log. There is no description or suggestion or suggestion of the technical features of the present invention.

또한 한국등록특허 제1256461호(2013.04.15.)는 프로세스 실행 시점 판단장치 및 방법에 관한 것으로, 휴대용 단말기에서 발생되는 모든 로그로부터 애플리케이션의 프로세스 실행 정보를 검출하여, 특정 애플리케이션의 프로세스 실행 시점을 검출한 후, 악성코드 판단을 위한 시그니처 정보에 따라 상기 애플리케이션에 대한 악성코드 여부를 검사하는 프로세스 실행 시점 판단장치 및 그 방법에 관한 것이다.In addition, Korea Patent No. 1256461 (2013.04.15.) relates to a process execution time determination apparatus and method, and detects the process execution time of a specific application by detecting the process execution information of the application from all logs generated in the portable terminal. Then, the present invention relates to a process execution time determination apparatus and method for checking whether the application is malicious code according to signature information for malicious code determination.

즉, 상기 선행기술은, 단순히 휴대용 단말기에서 특정 프로세스가 실행될 때, 악성코드를 검사하기 위한 것일 뿐, 본 발명에서 제안하고 있는 로그의 내용에 대한 비교를 토대로 로그의 무결성을 검사하는 것도 아니며, 상기 무결성 검사결과에 따라 루트 권한으로 실행된 특정 프로세스에 대한 시스템 로그에 대해서는, 상기 특정 프로세스의 활동 내역을 후킹한 데이터를 분석하여, 악성코드의 은닉활동을 증빙하여, 시스템 로그의 위변조 행위를 증빙하는 방법 또한 전혀 기재되어 있지 않아, 상기 선행기술과 본 발명은 현저한 차이점이 있다.That is, the prior art is merely for checking malicious code when a specific process is executed in the portable terminal, and does not check the integrity of the log based on the comparison of the contents of the log proposed in the present invention. As for the system log for a specific process executed with root authority according to the integrity check result, it analyzes the data hooking the activity details of the specific process to prove the hidden activity of the malicious code to prove the forgery and falsification of the system log. The method is also not described at all, so there is a significant difference between the prior art and the present invention.

본 발명은 상기와 같은 문제점을 해결하기 위해 창작된 것으로서, 특정 시스템으로부터 시스템 로그를 수집하고, 상기 수집한 시스템 로그의 무결성을 검사하여, 상기 무결성을 검사한 결과에 따라 악성코드의 은닉활동을 증빙하여 상기 시스템 로그에 대한 위변조 행위가 있었는지 여부를 증빙하는 것이 가능한 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법을 제공하는 것을 그 목적으로 한다.The present invention was created to solve the above problems, collects system logs from a specific system, inspects the integrity of the collected system logs, and proves the hiding activity of malicious codes according to the result of checking the integrity Accordingly, an object of the present invention is to provide a log integrity check capable of proving whether there has been a forgery or falsification of the system log, and a log forgery proof system and method therefor.

또한 본 발명은 상기 특정 시스템으로부터, 상기 특정 시스템에 대한 운영체제의 커널에서 시스템 로그가 생성될 때마다 해당 시스템 로그를 수집하고, 또한 주기적으로 상기 특정 시스템의 운영체제의 커널에서 발생한 모든 로그를 수신한 다음, 이전에 수집한 상기 시스템 로그의 내용과 상기 이전에 수집한 시스템 로그에 대응하는 상기 주기적으로 수신한 시스템 로그의 내용을 각각 비교하여, 상기 비교한 결과 상기 시스템 로그의 내용이 서로 다르면, 상기 주기적으로 수신한 시스템 로그가 악성코드에 의해 위변조된 것으로 판단하는 시스템 및 그 방법을 제공하는 것을 또 다른 목적으로 한다.In addition, the present invention collects the system log whenever a system log is generated in the kernel of the operating system for the specific system from the specific system, and also receives all logs generated in the kernel of the operating system of the specific system periodically. , by comparing the contents of the previously collected system log with the contents of the periodically received system log corresponding to the previously collected system log, and if the contents of the system log are different from each other as a result of the comparison, the periodic Another purpose is to provide a system and method for determining that the system log received by the malicious code is forged or forged by malicious code.

또한 본 발명은, 상기 비교한 결과 시스템 로그의 내용이 동일한 경우, 정상적인 로그로 판단하되, 프로세스가 루트 권한으로 실행되어 생성된 시스템 로그에 대해서는, 상기 특정 시스템의 운영체제의 커널에서 후킹된 데이터를 수집하여 이를 분석함으로써, 상기 악성코드의 은닉활동을 증빙하여 상기 수신한 시스템 로그에 대한 위변조를 증빙하는 시스템 및 그 방법을 제공하는 것을 또 다른 목적으로 한다.In the present invention, if the contents of the system log are the same as a result of the comparison, it is determined as a normal log, but for the system log generated by executing the process with root authority, data hooked in the kernel of the operating system of the specific system is collected Another object of the present invention is to provide a system and method for proving forgery and falsification of the received system log by verifying the hidden activity of the malicious code by analyzing it.

이때, 상기 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법은, 사전에 등록한 악성코드에 의한 은닉 시그니처를 참조하여, 상기 커널에서 후킹한 데이터를 분석함으로써, 상기 악성코드의 은닉활동을 증빙한다.In this case, the log integrity check and the log forgery verification system and method therefor prove the hidden activity of the malicious code by analyzing the data hooked in the kernel with reference to the hidden signature by the previously registered malicious code do.

또한 본 발명은, 상기 수집한 후킹된 데이터를 분석할 때, 특정 프로세스에 호출되어 실행된 명령, 함수, 프로세스 또는 이들의 조합이 사전에 설정한 임계값 이상으로 상기 특정 시스템에 대한 부하를 발생시키거나, 상기 명령, 함수, 프로세스 또는 이들의 조합이 특정 프로세스에 의해 사전에 설정한 횟수 이상으로 반복적으로 호출되어 실행되는 경우, 상기 악성코드에 의한 은닉활동이 발생한 것으로 판단하여, 이에 대한 경고메시지를 제공하는 시스템 및 그 방법을 제공하는 것을 또 다른 목적으로 한다. In addition, the present invention, when analyzing the collected hooked data, a command, function, process or a combination thereof that is called and executed in a specific process generates a load on the specific system above a preset threshold value. Or, when the command, function, process, or a combination thereof is repeatedly called and executed by a specific process more than a preset number of times, it is determined that the hidden activity by the malicious code has occurred, and a warning message is issued It is another object to provide a system and a method for providing the same.

본 발명의 일 실시예에 따른 로그 위변조 행위 증빙 시스템은, 특정 시스템의 운영체제의 커널에서 생성한 제1 시스템 로그를 수신하여 저장하는 로그 수집부 및 상기 제1 시스템 로그를 수신하여 저장한 후, 일정 시간이 지난 다음 상기 특정 시스템으로부터 상기 제1 시스템 로그를 포함하는 제2 시스템 로그를 수신하여 상기 제1 및 제2 시스템 로그의 내용을 비교하며, 상기 제1 및 제2 시스템 로그의 내용이 서로 다른 경우, 시스템 로그의 위변조로 판단하고, 서로 동일한 경우, 정상 시스템 로그로 판단하여 무결성을 검사하는 무결성 검사부를 포함하며, 상기 특정 시스템은, 하드웨어 혹은 소프트웨어적으로 독립된 별도의 운영체제에 의해 동작하는 시스템인 것을 특징으로 한다.A log forgery and falsification act proof system according to an embodiment of the present invention includes a log collection unit that receives and stores a first system log generated by a kernel of an operating system of a specific system, and a log collection unit that receives and stores the first system log, then performs a schedule After a time has elapsed, a second system log including the first system log is received from the specific system, the contents of the first and second system logs are compared, and the contents of the first and second system logs are different from each other. In this case, it is determined that the system log is forged, and if they are identical to each other, it is determined as a normal system log and includes an integrity checker to check the integrity, and the specific system is a system operated by a separate operating system independent of hardware or software. characterized in that

또한 상기 로그 위변조 행위 증빙 시스템은, 상기 정상 시스템 로그로 판단되는 경우, 상기 무결성 검사를 통해서 상기 시스템 로그에서 악성코드에 의해 위변조 행위가 발생하였는지 여부를 증빙하는 위변조 증빙부를 더 포함하는 것을 특징으로 한다.In addition, the log forgery verification system, when it is determined that the normal system log, through the integrity check further comprises a forgery verification unit to prove whether the forgery or forgery has occurred by malicious code in the system log characterized in that it further comprises .

또한 상기 위변조 증빙부는, 상기 제1 및 제2 시스템 로그가 동일한 경우, 상기 특정 시스템으로부터 루트 권한으로 실행된 이후에 생성된 시스템 로그에 대해서 커널에서 후킹된 데이터를 수집하는 후킹 데이터 수집부를 더 포함하며, 상기 수집한 후킹된 데이터를 분석하여, 상기 악성코드에 의한 악성행위가 있었는지 또는 은닉행위가 있었는지 여부를 증빙하는 것을 더 포함하는 것을 특징으로 한다.In addition, the forgery proof unit, when the first and second system logs are the same, a hooking data collection unit that collects data hooked in the kernel for the system log generated after being executed with root authority from the specific system, further comprising , Analyzing the collected hooked data, it characterized in that it further comprises proving whether there was a malicious action or a hidden action by the malicious code.

또한 상기 후킹된 데이터는, 상기 특정 시스템의 운영체제의 커널에서, 상기 시스템 로그가 생성될 때, 루트 권한으로 실행된 특정 프로세스에 의한 적어도 하나 이상의 명령, 함수, 프로세스 또는 이들의 조합에 대한 호출 내역, 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 및 수정 내역, 특정 디바이스에 대한 드라이버의 실행 내역, 입출력 포트에 대한 선택 내역 또는 이들의 조합을 포함하여 상기 루트 권한으로 실행된 특정 프로세스의 활동 내역을 후킹한 데이터인 것을 특징으로 한다.In addition, the hooked data may include, in the kernel of the operating system of the specific system, when the system log is generated, a call history of at least one command, function, process, or a combination thereof by a specific process executed with root authority; Activity history of a specific process executed with root authority, including access and modification history to directories, files, system tables, or a combination thereof, driver execution history for a specific device, selection history for input/output ports, or a combination thereof It is characterized in that the data is hooked.

또한 상기 위변조 증빙부는, 상기 후킹된 데이터를 분석할 때, 사전에 등록한 복수의 악성코드에 대한 은닉 시그니처를 참조하여, 상기 참조한 은닉 시그니처에 따라 상기 특정 프로세스에 대한 이중 연결 리스트의 포인트가 수정되었는지 여부, 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대해 사전에 등록한 액세스 권한이 수정되었는지 여부, 파일, 프로세스, 드라이브, 입출력 포트 또는 이들의 조합이 수정되었는지 여부를 분석함으로써, 상기 악성코드의 악성행위 또는 은닉행위가 있었는지 여부를 증빙하며, 상기 특정 프로세스에 의해 호출된 상기 명령, 함수, 프로세스 또는 이들의 조합이 사전에 설정한 임계값 이상으로 상기 특정 시스템에 대한 부하를 발생시키는 것으로 평가되거나, 사전에 설정한 횟수 이상으로 반복적으로 호출되어 실행된 경우, 상기 악성코드의 악성행위 또는 은닉행위가 있었던 것으로 판단하는 것을 특징으로 한다.In addition, the forgery proof unit, when analyzing the hooked data, refers to the hidden signatures for a plurality of previously registered malicious codes, and whether the points of the doubly linked list for the specific process have been modified according to the referenced hidden signatures , by analyzing whether access rights registered in advance for directories, files, system tables, or a combination thereof are modified, files, processes, drives, input/output ports, or a combination thereof, by analyzing whether the malicious behavior of the malicious code or It proves whether there has been a concealment action, and the command, function, process, or a combination thereof called by the specific process is evaluated to generate a load on the specific system above a preset threshold, or When it is repeatedly called and executed more than the number of times set in , it is determined that there has been a malicious act or concealment of the malicious code.

또한 상기 로그 위변조 행위 증빙 시스템은, 상기 특정 시스템으로부터, 상기 특정 시스템의 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 권한에 대한 정책을 수신하여 데이터베이스에 등록 및 관리하는 액세스 정책 관리부, 상기 특정 시스템에서 전송할 로그의 종류를 추가 혹은 삭제하거나, 루트 권한으로 실행된 프로세스에 대해 생성된 로그만 전송하도록 하거나, 또는 이들의 조합을 설정하여, 상기 데이터베이스에 등록 및 관리하는 로그 정책 관리부, 프로세스에 대한 이중 연결 리스트의 포인트에 대한 수정 패턴, 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 및 수정 패턴, 프로세스, 드라이브, 입출력 포트 또는 이들의 조합에 대한 수정 패턴을 포함하여, 상기 악성코드에 대한 은닉 시그니처를 데이터베이스에 등록하여 관리하는 은닉 시그니처 관리부 및 상기 무결성을 검사한 결과와, 상기 위변조 행위를 증빙한 결과 또는 상기 판단한 결과를 사용자 단말로 제공하는 알림부를 더 포함하는 것을 특징으로 한다.In addition, the log forgery and forgery proof system includes, from the specific system, an access policy management unit that receives a policy for access rights to a directory, file, system table, or a combination thereof of the specific system, registers and manages it in a database, and the specific Log policy management unit that registers and manages in the database by adding or deleting types of logs to be transmitted from the system, sending only logs created for processes executed with root privileges, or setting a combination thereof, For the malicious code, including modification patterns for points in the doubly linked list, access and modification patterns for directories, files, system tables, or combinations thereof, and modification patterns for processes, drives, input/output ports, or a combination thereof It characterized in that it further comprises a hidden signature management unit for registering and managing the hidden signature in the database, and a notification unit for providing a result of checking the integrity and a result of proving the forgery or falsification or the determined result to the user terminal.

아울러 본 발명의 일 실시예에 따른 로그 위변조 행위 증빙 방법은, 특정 시스템의 운영체제의 커널에서 생성한 제1 시스템 로그를 수신하여 저장하는 로그 수집 단계 및 상기 제1 시스템 로그를 수신하여 저장한 후, 일정 시간이 지난 다음 상기 특정 시스템으로부터 상기 제1 시스템 로그를 포함하는 제2 시스템 로그를 수신하여 상기 제1 및 제2 시스템 로그의 내용을 비교하며, 상기 제1 및 제2 시스템 로그의 내용이 서로 다른 경우, 시스템 로그의 위변조로 판단하고, 서로 동일한 경우, 정상 시스템 로그로 판단하여 무결성을 검사하는 무결성 검사 단계를 포함하는 것을 특징으로 한다.In addition, the log forgery verification method according to an embodiment of the present invention includes a log collection step of receiving and storing a first system log generated by the kernel of an operating system of a specific system, and receiving and storing the first system log, After a certain period of time has elapsed, a second system log including the first system log is received from the specific system, the contents of the first and second system logs are compared, and the contents of the first and second system logs are mutually exclusive. In other cases, it is determined that the system log is forged, and if they are identical to each other, it is determined that the system log is normal and the integrity is checked.

또한 상기 로그 위변조 행위 증빙 방법은, 상기 정상 시스템 로그로 판단되는 경우, 상기 무결성 검사를 통해서 상기 시스템 로그에서 악성코드에 의해 위변조 행위가 발생하였는지 여부를 증빙하는 위변조 증빙 단계를 더 포함하는 것을 특징으로 한다.In addition, the log forgery verification method, when it is determined that the normal system log, through the integrity check, the forgery verification step of proving whether the forgery or forgery has occurred by malicious code in the system log characterized in that it further comprises a do.

또한 상기 위변조 증빙 단계는, 상기 제1 및 제2 시스템 로그가 동일한 경우, 상기 특정 시스템으로부터 루트 권한으로 실행된 이후에 생성된 시스템 로그에 대해서 커널에서 후킹된 데이터를 수집하는 후킹 데이터 수집 단계를 더 포함하며, 상기 수집한 후킹된 데이터를 분석하여, 상기 악성코드에 의한 악성행위가 있었는지 또는 은닉행위가 있었는지 여부를 증빙하는 것을 더 포함하는 것을 특징으로 한다.In addition, in the forgery proof step, if the first and second system logs are the same, a hooking data collection step of collecting data hooked in the kernel for a system log generated after being executed with root authority from the specific system is further added. Including, analyzing the collected hooked data, characterized in that it further comprises proving whether there was a malicious action or a hidden action by the malicious code.

또한 상기 위변조 증빙 단계는, 상기 후킹된 데이터를 분석할 때, 사전에 등록한 복수의 악성코드에 대한 은닉 시그니처를 참조하여, 상기 참조한 은닉 시그니처에 따라 상기 특정 프로세스에 대한 이중 연결 리스트의 포인트가 수정되었는지 여부, 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대해 사전에 등록한 액세스 권한이 수정되었는지 여부, 파일, 프로세스, 드라이브, 입출력 포트 또는 이들의 조합이 수정되었는지 여부를 분석함으로써, 상기 악성코드의 악성행위 또는 은닉행위가 있었는지 여부를 증빙하며, 상기 특정 프로세스에 의해 호출된 상기 명령, 함수, 프로세스 또는 이들의 조합이 사전에 설정한 임계값 이상으로 상기 특정 시스템에 대한 부하를 발생시키는 것으로 평가되거나, 사전에 설정한 횟수 이상으로 반복적으로 호출되어 실행된 경우, 상기 악성코드의 악성행위 또는 은닉행위가 있었던 것으로 판단하는 것을 특징으로 한다.Also, in the forgery proof step, when analyzing the hooked data, by referring to the hidden signatures for a plurality of previously registered malicious codes, according to the referenced hidden signature, whether the point of the doubly linked list for the specific process has been modified Malicious behavior of the malicious code by analyzing whether access rights registered in advance for directories, files, system tables, or a combination thereof have been modified, files, processes, drives, input/output ports, or a combination thereof Or, it proves whether there has been a concealment action, and the command, function, process, or a combination thereof called by the specific process is evaluated to generate a load on the specific system above a preset threshold, or When it is repeatedly called and executed more than a preset number of times, it is characterized in that it is determined that there has been a malicious action or a hidden action of the malicious code.

또한 상기 로그 위변조 행위 증빙 방법은, 상기 특정 시스템으로부터, 상기 특정 시스템의 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 권한에 대한 정책을 수신하여 데이터베이스에 등록 및 관리하는 액세스 정책 관리 단계, 상기 특정 시스템에서 전송할 로그의 종류를 추가 혹은 삭제하거나, 루트 권한으로 실행된 프로세스에 대해 생성된 로그만 전송하도록 하거나, 또는 이들의 조합을 설정하여, 상기 데이터베이스에 등록 및 관리하는 로그 정책 관리 단계, 프로세스에 대한 이중 연결 리스트의 포인트에 대한 수정 패턴, 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 및 수정 패턴, 프로세스, 드라이브, 입출력 포트 또는 이들의 조합에 대한 수정 패턴을 포함하여, 상기 악성코드에 대한 은닉 시그니처를 데이터베이스에 등록하여 관리하는 은닉 시그니처 관리 단계 및 상기 무결성을 검사한 결과와, 상기 위변조 행위를 증빙한 결과 또는 상기 판단한 결과를 사용자 단말로 제공하는 알림 단계를 더 포함하는 것을 특징으로 한다.In addition, the log forgery verification method includes an access policy management step of receiving, from the specific system, a policy for access rights to the directory, file, system table, or a combination thereof of the specific system, registering and managing the policy in the database, the Log policy management step, process of adding or deleting types of logs to be transmitted from a specific system, sending only logs created for processes executed with root privileges, or setting a combination thereof to register and manage the database The malicious code, including modification patterns for points of the doubly linked list for A hidden signature management step of registering and managing a hidden signature for a database, and a notification step of providing a result of checking the integrity and a result of proving the forgery or falsification act or the determined result to the user terminal, characterized by further comprising: do.

이상에서와 같이 본 발명의 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법은, 적어도 하나 이상의 특정 시스템으로부터 실시간으로 생성되는 시스템 로그를 수집하여 저장함으로써, 시스템 로그의 무결성을 검사하기 위한 데이터를 확보하고, 상기 특정 시스템으로부터 사전에 설정한 주기에 따라 상기 특정 시스템에 생성된 모든 시스템 로그를 주기적으로 수신하여, 상기 실시간으로 수집하여 저장한 시스템 로그의 내용과 상기 실시간으로 수집한 시스템 로그에 대응하는 상기 주기적으로 수신한 시스템 로그의 내용을 비교하여, 상기 비교한 결과에 따라 악의적인 사용자에 의해 발생한 상기 시스템 로그의 위변조 행위를 증빙함으로써, 상기 특정 시스템에 대한 상기 악성 사용자의 은닉활동에 의한 피해를 차단할 수 있도록 하는 효과가 있다.As described above, in the log integrity check and log forgery verification system and method thereof of the present invention, data for checking the integrity of the system log by collecting and storing the system log generated in real time from at least one specific system , and periodically receives all system logs generated in the specific system according to a preset period from the specific system, and records the contents of the system log collected and stored in real time and the system log collected in real time. By comparing the contents of the corresponding periodically received system log and proving the forgery and falsification of the system log caused by the malicious user according to the comparison result, It has the effect of blocking damage.

도 1은 본 발명의 일 실시예에 따른 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법을 설명하기 위해 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 로그 무결성 검사를 통한 로그 위변조 행위 증빙 시스템과 특정 시스템의 동작을 설명하기 위해 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 특정 시스템의 구성을 나타낸 블록도이다.
도 4는 본 발명의 일 실시예에 따른 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템의 구성을 나타낸 블록도이다.
도 5는 본 발명의 일 실시예에 따른 로그 무결성 검사 및 이를 통한 로그 위변조 행위를 증빙하는 절차를 나타낸 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 로그 무결성 검사를 통한 로그 위변조 행위 증빙 시스템의 하드웨어 구조를 나타낸 도면이다.
1 is a diagram illustrating a log integrity check and a log forgery verification system and method therefor according to an embodiment of the present invention.
2 is a diagram illustrating the operation of the log forgery and falsification verification system and the specific system through the log integrity check according to an embodiment of the present invention.
3 is a block diagram showing the configuration of a specific system according to an embodiment of the present invention.
4 is a block diagram showing the configuration of a log integrity check and a log forgery verification system through the log integrity check according to an embodiment of the present invention.
5 is a flowchart illustrating a log integrity check and a procedure for proving log forgery and falsification through the log integrity check according to an embodiment of the present invention.
6 is a diagram illustrating a hardware structure of a system for verifying log forgery and falsification through log integrity check according to an embodiment of the present invention.

이하, 첨부한 도면을 참조하여 본 발명의 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법에 대한 바람직한 실시예를 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다. 또한 본 발명의 실시예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명에 따른 실시예를 설명하기 위한 목적으로 예시된 것으로, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는 것이 바람직하다. 본 발명에서는 데이터는 디지털 정보로 해석할 수 있다.Hereinafter, with reference to the accompanying drawings, a preferred embodiment of the log integrity check and log forgery verification system and method thereof according to the present invention will be described in detail. Like reference numerals in each figure indicate like elements. In addition, specific structural or functional descriptions of the embodiments of the present invention are only exemplified for the purpose of describing the embodiments according to the present invention, and unless otherwise defined, all used herein, including technical or scientific terms, are Terms have the same meanings as commonly understood by those of ordinary skill in the art to which the present invention pertains. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present specification. It is preferable not to In the present invention, data can be interpreted as digital information.

도 1은 본 발명의 일 실시예에 따른 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법을 설명하기 위해 나타낸 도면이다.1 is a diagram illustrating a log integrity check and a log forgery verification system and method therefor according to an embodiment of the present invention.

도 1에 도시한 바와 같이, 본 발명의 일 실시예에 따른 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법(100)(이하 로그 위변조 행위 증빙 시스템이라 칭함)은, 상기 로그 위변조 행위 증빙 시스템(100)과 유무선 네트워크로 연결된 적어도 하나 이상의 특정 시스템(200)에서 각각 생성된 시스템 로그에 대한 무결성을 검사하여, 상기 검사한 결과를 토대로 상기 각 특정 시스템(200)에 대한 악성코드에 의한 악성행위, 은닉행위 또는 이들의 조합을 포함하는 은닉활동이 있었는지 여부를 증빙함으로써, 상기 시스템 로그에 대한 위변조 행위를 증빙하여, 이에 대한 결과를 사용자에게 알려주는 기능을 수행한다.As shown in FIG. 1, the log integrity check and log forgery proof system and method 100 (hereinafter referred to as log forgery proof system) according to an embodiment of the present invention, the log forgery proof The system 100 and at least one specific system 200 connected through a wired/wireless network check the integrity of each generated system log, and based on the inspection result, malicious code for each specific system 200 is performed. By proving whether there has been a concealment activity including an act, a concealment act, or a combination thereof, the forgery act on the system log is proved, and a function of informing the user of the result is performed.

여기서, 상기 특정 시스템(200)은, 기업이나 사용자의 특정 업무를 수행하거나, 특정 서비스를 제공하기 위해 하드웨어나 소프트웨어적으로 독립된 별도의 운영체제에 의해 동작하는 시스템을 의미하여, 상기 사용자는 상기 특정 시스템(200)을 관리하는 관리자 혹은 상기 로그 위변조 행위 증빙 시스템(100)을 이용하는 이용자를 의미한다.Here, the specific system 200 means a system operated by a separate operating system independent of hardware or software in order to perform a specific task of a company or user or to provide a specific service, and the user is the specific system It means an administrator who manages 200 or a user who uses the log forgery and falsification evidence system 100 .

또한 상기 시스템 로그는, 상기 특정 시스템(200)의 운영체제의 커널에서 동작하는 프로세스에 의해 상기 특정 시스템(100)의 모든 사용내역을 시간에 따라 로깅(기록)한 것을 의미한다.In addition, the system log means that all usage details of the specific system 100 are logged (recorded) over time by a process operating in the kernel of the operating system of the specific system 200 .

또한 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 특정 시스템(200)에 대한 시스템 로그의 위변조와 상기 악성코드의 은닉활동을 증빙하기 위해, 상기 특정 시스템(200)로부터 상기 특정 시스템(200)의 운영체제의 커널에서 상기 시스템 로그가 생성될 때마다, 상기 생성한 시스템 로그를 수신하여 수집한다. 또한 상기 로그 위변조 행위 증빙 시스템(100)은, 사전에 설정한 주기에 따라 상기 시스템 로그가 생성될 때마다, 이를 수집한 이후 일정 시간이 지난 다음 상기 특정 시스템(100)에서 그동안 생성된 모든 시스템 로그를 수신한다. In addition, the log forgery behavior proof system 100, in order to prove the forgery of the system log for the specific system 200 and the hiding activity of the malicious code, the specific system 200 from the specific system 200 Whenever the system log is generated in the kernel of the operating system, the generated system log is received and collected. In addition, the log forgery behavior proof system 100, whenever the system log is generated according to a preset period, after a certain period of time after collecting it, all the system logs generated in the meantime in the specific system 100 receive

즉, 상기 특정 시스템(100)은, 상기 특정 시스템(200)의 운영체제의 커널에서, 시스템 로그가 생성될 때마다, 상기 생성한 시스템 로그를 상기 로그 위변조 행위 증빙 시스템(100)로 전송하여, 관리하도록 함으로써, 상기 생성한 시스템 로그에 대한 무결성을 검사하기 위한 데이터를 확보할 수 있도록 하고, 상기 특정 시스템(100)은, 사전에 설정한 주기에 따라 상기 특정 시스템(200)의 운영체제에서 생성한 모든 시스템 로그를 상기 로그 위변조 행위 증빙 시스템(100)로 전송하여, 상기 각 시스템 로그에 대한 위변조 행위를 검사할 수 있도록 하는 것이다.That is, the specific system 100 transmits the generated system log to the log forgery activity proof system 100 whenever a system log is generated in the kernel of the operating system of the specific system 200, and is managed By doing so, it is possible to secure data for checking the integrity of the generated system log, and the specific system 100 generates all The system log is transmitted to the log forgery activity proof system 100 so that the forgery activity for each system log can be checked.

이하에서는 상기 특정 시스템(200)의 운영체제 커널에서 상기 시스템 로그가 생성될 때마다 상기 로그 위변조 행위 증빙 시스템(100)에서 수집되는 시스템 로그들에 대해서는 제1 시스템 로그로 지칭하고, 상기 로그 위변조 행위 증빙 시스템(100)에 일정 시간이 지난 다음(즉 주기적)에 수신되는 모든 시스템 로그들에 대해서는 제2 시스템 로그로 지칭하도록 한다. 이때, 상기 제2 시스템 로그는 상기 제1 시스템 로그를 포함한다.Hereinafter, whenever the system log is generated in the operating system kernel of the specific system 200, the system logs collected by the log forgery verification system 100 will be referred to as a first system log, and the log forgery activity proof All system logs received after a predetermined time elapses (ie, periodically) in the system 100 are referred to as a second system log. In this case, the second system log includes the first system log.

또한 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 특정 시스템(100)으로부터 상기 특정 시스템(100)의 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 권한에 대하여 설정한 정책을 수신하여, 등록하여 관리한다.In addition, the log forgery activity proof system 100 receives from the specific system 100 a policy set for access rights to the directory, file, system table, or a combination thereof of the specific system 100, and registers to manage

또한 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 각 특정 시스템(100)에서 전송할 시스템 로그의 종류를 추가 혹은 삭제하거나, 루트 권한으로 실행된 프로세스에 대해 생성된 시스템 로그만을 전송하도록 하거나 또는 이들의 조합을 포함하는 로그 정책을 설정하여, 상기 각 특정 시스템(100)에서 상기 설정한 로그 정책에 따라 상기 시스템 로그를 각각 전송할 수 있도록 한다.In addition, the log forgery verification system 100 adds or deletes the type of system log to be transmitted in each specific system 100, transmits only the system log generated for a process executed with root authority, or any of these By setting a log policy including a combination, each specific system 100 can transmit the system log according to the set log policy.

또한 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 특정 시스템(100)으로부터 상기 제2 시스템 로그를 수신하면, 상기 제2 시스템 로그와 이전에 수집한 상기 제1 시스템 로그를 비교하여, 상기 시스템 로그에 대한 무결성을 검사하고, 상기 무결성을 검사한 결과에 따라 시스템 로그에서 악성코드에 의한 위변조 행위가 발생하였는지 여부를 증빙한다.In addition, the log forgery activity proof system 100, upon receiving the second system log from the specific system 100, compares the second system log with the previously collected first system log, the system log Integrity is checked, and according to the result of the integrity check, it is proved whether a forgery or forgery by malicious code has occurred in the system log.

이때, 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 수집한 제1 시스템 로그의 내용과, 상기 제1 시스템 로그에 각각 대응하는 상기 제2 시스템 로그의 내용을 각각 비교하여, 상기 시스템 로그에 대한 무결성을 검사하고, 상기 무결성을 검사한 결과에 따라 상기 특정 시스템(200)으로부터 루트 권한으로 실행된 이후에 생성된 시스템 로그에 대해서, 상기 특정 시스템(200)의 운영체제의 커널에서 후킹된 데이터를 수집하여, 상기 수집한 후킹된 데이터를 토대로 악성코드에 의한 은닉활동에 대한 여부를 증빙함으로써, 상기 시스템 로그에 대한 위변조 행위가 발생하였는지 여부를 증빙한다.At this time, the log forgery activity proof system 100 compares the contents of the collected first system log and the contents of the second system log respectively corresponding to the first system log, Integrity is checked, and data hooked in the kernel of the operating system of the specific system 200 is collected for a system log generated after being executed with root authority from the specific system 200 according to the integrity check result Thus, by proving whether there is a hidden activity by a malicious code based on the collected hooked data, it proves whether a forgery or falsification of the system log has occurred.

상기 후킹된 데이터는, 상기 시스템 로그가 생성될 때, 상기 특정 시스템(200)의 운영체제의 커널에서, 루트 권한으로 실행된 특정 프로세스의 활동 내역을 후킹한 데이터로써, 상기 실행된 특정 프로세스에 의한 적어도 하나 이상의 함수, 명령, 프로세스(즉, 또 다른 프로세스) 또는 이들의 조합에 대한 호출 내역, 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 및 수정 내역, 특정 디바이스에 대한 드라이버의 실행 내역, 입출력 포트의 선택 내역 또는 이들의 조합을 포함한다. 한편, 상기 무결성을 검사하는 것과, 상기 시스템 로그에 대한 위변조 행위가 발생하였는지 여부를 증빙하는 것은 본 발명의 핵심적인 기술적 특징으로, 도 2 내지 도 4를 참조하여 상세히 설명하도록 한다.The hooked data is data obtained by hooking the activity details of a specific process executed with root authority in the kernel of the operating system of the specific system 200 when the system log is generated. History of calls to one or more functions, commands, processes (ie, another process) or any combination thereof; history of accesses and modifications to directories, files, system tables, or combinations thereof; history of execution of drivers for a particular device; Includes port selection details or a combination thereof. Meanwhile, checking the integrity and proving whether a forgery or falsification of the system log has occurred is a key technical feature of the present invention, which will be described in detail with reference to FIGS. 2 to 4 .

또한 상기 로그 위변조 행위 증빙 시스템(100)은, 사전에 설정한 기간(예: 하루)동안 상기 무결성 검사에 대한 수행횟수를 설정할 수 있으며, 이는 상기 제2 시스템 로그를 수집하기 위한 주기를 상기 설정한 기간 및 상기 수행횟수에 따라 설정함으로써, 수행된다.In addition, the log forgery verification system 100 may set the number of times to perform the integrity check during a preset period (eg, one day), which sets the cycle for collecting the second system log. It is performed by setting it according to the period and the number of executions.

또한 상기 로그 위변조 행위 증빙 시스템(100)은, 악성코드의 은닉활동에 의해 시스템 로그에 대한 위변조 행위가 발생한 것으로 증빙된 경우, 해당 시스템 로그에 기록된 프로세스의 프로세스 식별자(PID)를 상기 특정 시스템(200)으로 제공하여, 상기 특정 시스템(200)에서 해당 프로세스의 동작을 정지할 수 있도록 한다. 이를 통해 상기 악성코드에 의해 상기 특정 시스템(200)에서 발생될 수 있는 피해를 차단한다.In addition, the log forgery activity proof system 100, when it is proved that a forgery act on the system log has occurred due to the concealment activity of the malicious code, the process identifier (PID) of the process recorded in the system log to the specific system ( 200), so that the operation of the corresponding process in the specific system 200 can be stopped. Through this, damage that may occur in the specific system 200 by the malicious code is blocked.

도 2는 본 발명의 일 실시예에 따른 로그 무결성 검사를 통한 로그 위변조 행위 증빙 시스템과 특정 시스템의 동작을 설명하기 위해 나타낸 도면이다.2 is a diagram illustrating the operation of the log forgery and falsification verification system and the specific system through the log integrity check according to an embodiment of the present invention.

도 2에 도시한 바와 같이, 본 발명의 일 실시예에 따른 로그 위변조 행위 증빙 시스템(100)은, 상기 특정 시스템(200)으로부터, 상기 특정 시스템(200)의 운영체제의 커널에서 제1 시스템 로그가 생성될 때마다, 상기 생성한 제1 시스템 로그를 수신하여 로그 데이터베이스(410)에 저장함으로써, 상기 제1 시스템 로그를 수집한다(①).As shown in FIG. 2 , in the log forgery activity proof system 100 according to an embodiment of the present invention, the first system log is generated from the specific system 200 in the kernel of the operating system of the specific system 200 . Whenever the generated first system log is received and stored in the log database 410, the first system log is collected (①).

이때, 상기 제1 시스템 로그는, 상기 특정 시스템(200)별로 상기 로그 데이터베이스(410)에 저장된다. 즉, 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 특정 시스템(200)에서 시스템 로그를 생성할 때 마다, 상기 생성한 시스템 로그를 실시간으로 수신하여 상기 로그 데이터베이스(410)에 저장 및 관리함으로써, 시스템 로그에 대한 무결성을 검사하기 위한 데이터를 확보한다.In this case, the first system log is stored in the log database 410 for each specific system 200 . That is, the log forgery activity proof system 100, whenever a system log is generated in the specific system 200, receives the generated system log in real time, stores and manages it in the log database 410, Secures data for checking the integrity of the system log.

또한 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 특정 시스템(200)으로부터 사전에 설정한 주기에 따라, 상기 제1 시스템 로그를 포함하는 제2 시스템 로그를 주기적으로 수신하여 수집한다(②).In addition, the log forgery activity proof system 100 periodically receives and collects a second system log including the first system log from the specific system 200 according to a preset period (②).

즉, 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 시스템 로그에 대한 무결성을 검사하기 위한 데이터를 확보한 후, 일정 시간이 지난 다음 상기 특정 시스템(200)으로부터 그 동안 생성된 모든 시스템 로그를 수신하여, 시스템 로그에 대한 무결성을 검사하는 것이다.That is, the log forgery verification system 100 secures data for checking the integrity of the system log, and after a certain time elapses, receives all the system logs generated during the period from the specific system 200 . Thus, the integrity of the system log is checked.

또한 상기 제1 시스템 로그 및 상기 제2 시스템 로그는, 파일 형태 또는 메시지 형태로 수집되며, 상기 제1 시스템 로그와 제2 시스템 로그에 대한 개념은 도 1을 참조하여 설명하였으므로, 더 이상의 상세한 설명은 생략하도록 한다.In addition, the first system log and the second system log are collected in the form of a file or a message, and since the concepts of the first system log and the second system log have been described with reference to FIG. 1 , further detailed description is provided to be omitted.

또한 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 수집한 제1 시스템 로그의 내용과 상기 수집한 제2 시스템 로그의 내용을 비교하여, 상기 시스템 로그에 대한 무결성을 검사한다(③).In addition, the log forgery verification system 100 compares the contents of the collected first system log with the contents of the collected second system log, and checks the integrity of the system log (③).

상기 무결성을 검사하는 것은, 상기 수집한 제1 시스템 로그의 내용과 상기 제1 시스템 로그와 대응하는 제2 시스템 로그의 내용을 비교함으로써, 수행된다. 이때, 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 비교한 결과 상기 로그의 내용이 서로 다른 경우, 상기 시스템 로그에서, 악성코드에 의해 상기 시스템 로그가 수정, 삭제, 변경 등과 같이 위변조 행위가 발생한 것으로 판단하고, 상기 로그의 내용이 동일한 경우, 정상적인 시스템 로그로 판단하여, 상기 무결성을 검사한다.The integrity check is performed by comparing the collected contents of the first system log with the contents of the second system log corresponding to the first system log. At this time, when the log contents are different from each other as a result of the comparison, the log forgery verification system 100 detects a forgery behavior such as modification, deletion, or change of the system log by malicious code in the system log. , and if the contents of the log are the same, it is determined as a normal system log, and the integrity is checked.

또한 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 무결성을 검사한 결과와 상기 위변조 행위를 증빙한 결과를 사용자 단말(300)로 제공한다. 이때, 증빙한 결과는, 상기 악성코드의 은닉활동이 증빙된 특정 프로세서에 대한 PID(Process ID)를 포함한다.In addition, the log forgery verification system 100 provides a result of checking the integrity and a result of proving the forgery activity to the user terminal 300 . In this case, the evidenced result includes the PID (Process ID) of the specific processor in which the concealment activity of the malicious code is evidenced.

한편 특정 프로세스의 활동에 의해 상기 시스템 로그가 생성될 때, 상기 커널에서 특정 프로세스가 루트 권한으로 실행되는 경우, 상기 루트 권한으로 실행되는 상기 특정 프로세스는, 악성코드에 감염되어 있는 경우, 상기 악성코드에 의해 해당 특정 프로세스를 상기 특정 시스템(200)으로 은닉하거나, 호출 함수나 프로세스에 대한 수정, 디렉토리, 파일, 시스템 테이블에 대한 액세스 권한 등을 직접적으로 수정할 수 있는 위험성이 존재한다. 따라서 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 비교한 결과 시스템 로그의 내용이 동일한 경우에는, 루트 권한으로 실행된 이후에 생성된 시스템 로그에 대해서, 상기 특정 시스템(200)의 운영체제의 커널에서 후킹된 데이터를 수집하여, 상기 수집한 후킹된 데이터를 분석함으로써, 상기 악성코드에 의한 은닉활동이 있었는지 여부를 증빙한다(④).Meanwhile, when the system log is generated by the activity of a specific process, when a specific process is executed with root authority in the kernel, when the specific process executed with root authority is infected with a malicious code, the malicious code Accordingly, there is a risk that the specific process may be hidden as the specific system 200, or that the calling function or process may be modified, and the access right to the directory, file, or system table may be directly modified. Accordingly, when the contents of the system log are the same as a result of the comparison, the log forgery and falsification proof system 100, for the system log generated after being executed with root authority, in the kernel of the operating system of the specific system 200 By collecting hooked data and analyzing the collected hooked data, it is proved whether there was a hidden activity by the malicious code (④).

또한 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 후킹된 데이터를 분석할 때, 사전에 등록한 복수의 악성코드에 대한 은닉 시그니처를 참조하여, 상기 참조한 은닉 시그니처에 따라 상기 루트 권한으로 실행된 상기 특정 프로세스에 대한 이중 연결 리스트의 포인트가 수정되어 상기 악성코드에 의해 상기 특정 프로세스에 대한 은닉행위가 있었는지 여부와, 상기 특정 시스템(200)의 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대해 사전에 등록한 액세스 권한이 수정되었는지 여부, 프로세스, 드라이브, 입출력 포트 또는 이들의 조합이 수정되었는지 여부를 포함하여 상기 악성코드에 의한 악성행위가 있었는지 여부를 분석함으로써, 상기 악성코드의 은닉활동에 대한 여부를 증빙하여, 상기 시스템 로그에 대한 위변조가 발생하였는지 여부를 증빙한다.In addition, when analyzing the hooked data, the log forgery verification system 100 refers to the secret signatures for a plurality of previously registered malicious codes, and according to the referenced hidden signatures, the specific execution with the root authority The point of the doubly linked list for the process is modified to determine whether there was a hidden action for the specific process by the malicious code, and the directory, file, system table, or a combination thereof of the specific system 200 in advance. By analyzing whether there has been a malicious action by the malicious code, including whether the registered access right has been modified, whether the process, drive, input/output port, or a combination thereof has been modified, whether the hidden activity of the malicious code is By verifying, it is verified whether forgery has occurred in the system log.

한편, 상기 악성코드의 은닉활동은, 상기 디렉토리, 파일, 시스템 테이블, 또는 이들의 조합에 대한 수정, 또는 프로세스, 드라이브, 입출력 포트 또는 이들의 조합을 수정하는 것뿐만 아니라, CPU, 메모리 등에 대한 사용을 포함하여 상기 특정 시스템(200)에 대한 부하를 급격하게 과중시켜, 상기 특정 시스템(200)을 마비시킴으로써, 상기 특정 시스템(200)의 정상적인 운영이 불가능하도록 구현될 수 있다.On the other hand, the hiding activity of the malicious code is not only modifying the directory, file, system table, or a combination thereof, or modifying a process, drive, input/output port, or a combination thereof, but also uses CPU, memory, etc. By abruptly overloading the load on the specific system 200, including the, to paralyze the specific system 200, the normal operation of the specific system 200 may be impossible.

예를 들어, 데이터베이스나 디스크를 전체적으로 검색하는 find나 scan 등과 같이 CPU에 대한 점유율이 높은 특정 명령이나, 함수 또는 프로세스가 반복적으로 실행되는 경우, 상기 특정 시스템(200)은, 상기 특정 명령, 함수 또는 프로세스를 실행하느라 또 다른 명령, 함수 또는 프로세스를 실행할 수 없는 문제점이 발생할 수 있고, 이로 인해 상기 시스템(200)의 부하가 급격하게 증가하게 된다.For example, when a specific command, function, or process with a high CPU occupancy, such as find or scan that searches a database or disk as a whole, is repeatedly executed, the specific system 200 performs the specific command, function or There may be a problem in that another command, function, or process cannot be executed while executing the process, which causes the load of the system 200 to rapidly increase.

따라서 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 후킹된 데이터를 분석할 때, 상기 특정 프로세스에 의해 명령, 함수, 프로세스 또는 이들의 조합이 사전에 설정한 횟수 이상으로 반복적으로 호출되어 실행되었는지 여부, 또는 상기 호출된 명령, 함수, 새로운 프로세스 또는 이들의 조합이 상기 특정 시스템(200)의 부하를 급격히 가중시키는지 여부를 확인하여 해당 시스템의 부하에 미치는 영향을 파악하고, 사전에 설정한 임계값 이상의 부하를 발생시켰는지 여부를 평가함으로써, 상기 악성코드의 은닉활동에 대한 여부를 증빙하여, 이에 대한 경고메시지를 상기 사용자 단말(300)로 제공하는 것을 더 포함한다.Therefore, the log forgery behavior proof system 100, when analyzing the hooked data, whether a command, function, process, or a combination thereof is repeatedly called and executed by the specific process more than a preset number of times , or whether the called command, function, new process, or a combination thereof sharply increases the load of the specific system 200 to determine the effect on the load of the system, and a preset threshold value The method further includes providing a warning message about the hidden activity of the malicious code to the user terminal 300 by evaluating whether or not the above load has been generated.

즉, 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 후킹된 데이터를 분석하여, 상기 특정 프로세스에 의해 명령, 함수, 프로세스 또는 이들의 조합이 사전에 설정한 횟수 이상으로 반복적으로 호출되어 실행되었거나, 상기 명령, 함수, 프로세스 또는 이들의 조합이 사전에 설정한 임계값 이상으로 상기 특정 시스템(200)에 대한 부하를 발생시킨 것으로 평가되는 경우에는, 상기 악성코드의 은닉활동이 있었던 것으로 판단하여, 이에 대한 경고메시지를 포함하는 판단결과를 상기 사용자 단말(300)로 제공하는 것이다.That is, the log forgery behavior proof system 100 analyzes the hooked data, and a command, function, process, or a combination thereof is repeatedly called and executed by the specific process more than a preset number of times, or When it is evaluated that the command, function, process, or a combination thereof causes a load on the specific system 200 to exceed a preset threshold, it is determined that there has been a hidden activity of the malicious code, A determination result including a warning message is provided to the user terminal 300 .

이때, 상기 로그 위변조 행위 증빙 시스템(100)은, 명령, 함수 및 프로세스별로 부하 수치를 각각 매핑한 매핑테이블을 구비하고 있으면서, 상기 후킹된 데이터를 분석할 때, 상기 매핑테이블을 참조하여 특정 프로세스에 의해 호출되어 실행된 상기 명령, 함수, 프로세스 또는 이들의 조합이 사전에 설정한 임계값 이상의 값을 가지는 부하 수치와 매핑되어 있거나, 또는 상기 명령, 함수, 프로세스 또는 이들의 조합이 사전에 설정한 횟수 이상으로 반복되어 호출되어 실행된 경우에, 상기 악성코드에 의한 은닉활동이 있는 것으로 판단한다.At this time, the log forgery behavior proof system 100 has a mapping table that maps load values for each command, function, and process, respectively, and when analyzing the hooked data, referring to the mapping table to a specific process The command, function, process, or combination thereof that is called and executed is mapped with a load value having a value greater than or equal to a preset threshold, or the number of times the command, function, process, or combination thereof is preset In the case where it is repeatedly called and executed as described above, it is determined that there is a hidden activity by the malicious code.

이후, 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 무결성 검사 및 시스템 로그에 대한 위변조 행위가 발생하였는지 여부를 증빙한 결과, 또는 상기 판단한 결과를 상기 사용자가 구비한 사용자 단말(300)로 제공함으로써, 상기 악성코드의 은닉활동에 대한 피해를 차단할 수 있도록 한다. 한편, 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 악성코드의 은닉활동이 증빙된 경우, 해당 프로세스의 PID를 상기 특정 시스템(200)으로 전송하여, 해당 프로세스가 동작을 정지할 수 있도록 하는 것도 가능하다.Thereafter, the log forgery and forgery verification system 100 provides a result of verifying whether the integrity check and forgery for the system log have occurred, or the determined result to the user terminal 300 provided by the user. , to block damage to the hidden activity of the malicious code. On the other hand, the log forgery activity proof system 100 transmits the PID of the corresponding process to the specific system 200 when the concealment activity of the malicious code is proved, so that the corresponding process can be stopped It is possible.

또한 상기 도 2에 도시한 데이터베이스(400)는, 상기 수집한 제1 시스템 및 제2 시스템 로그를 저장하여 관리하는 로그 데이터베이스(410), 상기 복수의 악성코드에 대한 은닉 시그니처를 등록하여 관리하는 은닉 시그니처 데이터베이스(420) 및 상기 액세스 권한에 대한 액세스 정책과, 상기 특정 시스템에서 전송할 로그파일의 종류, 루트 권한으로 실행된 프로세스에 대해 생성한 로그파일만 전송하도록 하거나 또는 이들의 조합에 대한 로그 정책을 등록하여 관리하는 정책 데이터베이스(430)를 포함하여 구성된다.In addition, the database 400 shown in FIG. 2 includes a log database 410 that stores and manages the collected first and second system logs, and a hidden signature that registers and manages hidden signatures for the plurality of malicious codes. The access policy for the signature database 420 and the access authority, the type of log file to be transmitted from the specific system, and the log file created for the process executed with root authority are transmitted, or a log policy for a combination thereof It is configured to include a policy database 430 that is registered and managed.

또한 상기 은닉 시그니처는, 상기 특정 시스템(200)의 운영체제의 커널에 따라 프로세스에 대한 이중 연결 리스트의 포인트를 수정하는 수정 패턴, 디렉토리, 파일, 시스템 테이블 또는 이들이 조합에 대한 액세스 및 수정 패턴, 프로세스, 드라이브, 입출력 포트 또는 이들의 조합에 대한 수정 패턴을 포함한다.In addition, the secret signature includes a modification pattern for modifying a point of a doubly linked list for a process according to the kernel of the operating system of the specific system 200, an access and modification pattern for a directory, a file, a system table, or a combination thereof, a process, Include a modification pattern for drives, input/output ports, or a combination thereof.

도 3은 본 발명의 일 실시예에 따른 특정 시스템의 구성을 나타낸 블록도이다.3 is a block diagram showing the configuration of a specific system according to an embodiment of the present invention.

도 3에 도시한 바와 같이, 본 발명의 일 실시예에 따른 특정 시스템(200)은 상기 로그 위변조 행위 증빙 시스템(100)과 연결된다.As shown in FIG. 3 , a specific system 200 according to an embodiment of the present invention is connected to the log forgery verification system 100 .

이때, 상기 로그 위변조 행위 증빙 시스템(100)은, 네트워크를 통해 적어도 하나 이상의 특정 시스템(200)과 연결되어 상기 적어도 하나 이상의 특정 시스템(200)의 시스템 로그에 대한 위변조 행위가 발생하였는지 여부를 증빙하도록 구현되거나, 상기 적어도 하나 이상의 특정 시스템(200)의 로컬에 각각 구현될 수 있다.At this time, the log forgery verification system 100 is connected to at least one or more specific systems 200 through a network to prove whether a forgery or falsification of the system log of the at least one or more specific systems 200 has occurred. or may be implemented locally in the at least one or more specific systems 200 .

또한 상기 특정 시스템(200)은, 시스템 로그를 생성하여 커널 메모리(240)에 저장하는 로그 생성부(210), 상기 생성한 시스템 로그를 상기 로그 위변조 행위 증빙 시스템(100)으로 전송하는 로그 제공부(220), 특정 프로세스가 루트 권한으로 실행된 이후에 생성된 시스템 로그에 대해, 상기 특정 프로세스의 활동 내역을 후킹하는 후킹부(230) 및 커널 메모리(240)를 포함하여 구성된다.In addition, the specific system 200 includes a log generating unit 210 that generates and stores a system log in the kernel memory 240 , and a log providing unit that transmits the generated system log to the log forgery and falsification evidence system 100 . (220), for the system log generated after the specific process is executed with root authority, it is configured to include a hooking unit 230 and a kernel memory 240 for hooking the activity details of the specific process.

또한 상기 로그 생성부(210), 상기 로그 제공부(220) 및 상기 후킹부(230)는 상기 특정 시스템(200)의 운영체제의 커널에 구현된다.In addition, the log generating unit 210 , the log providing unit 220 , and the hooking unit 230 are implemented in the kernel of the operating system of the specific system 200 .

또한 상기 로그 생성부(210)는, 상기 특정 시스템(200)의 운영제체의 커널에서 실행되는 프로세스의 대한 시스템 로그를 생성하여, 상기 커널 메모리(240)에 저장하는 기능을 수행한다.In addition, the log generator 210 generates a system log for a process executed in the kernel of the operating system of the specific system 200 and stores it in the kernel memory 240 .

또한 상기 로그 제공부(220)는, 상기 로그 생성부(210)에 의해 상기 시스템 로그가 생성될 때 마다 상기 로그 위변조 행위 증빙 시스템(100)로 상기 생성한 로그(즉, 제1 시스템 로그)를 전송하고, 사전에 설정한 주기에 따라 상기 제1 시스템 로그를 포함하여 상기 커널 메모리(240)에 저장된 모든 시스템 로그(즉, 제2 시스템 로그)를 전송하는 기능을 수행한다.In addition, the log providing unit 220, whenever the system log is generated by the log generating unit 210, the generated log (that is, the first system log) to the log forgery and forgery proof system 100 and performs a function of transmitting all system logs (ie, second system logs) stored in the kernel memory 240 including the first system log according to a preset period.

또한 상기 후킹부(230)는, 상기 시스템 로그가 생성될 때, 상기 시스템 로그의 생성 원인이 되는 상기 특정 프로세스가 루트 권한으로 실행된 경우, 상기 특정 시스템(200)의 운영체제의 커널에서 해당 프로세스 활동 내역을 후킹하여, 상기 후킹한 데이터를 상기 로그 위변조 행위 증빙 시스템(100)으로 제공하는 기능을 수행한다. 상기 후킹한 데이터는, 상기 제1 시스템 로그가 상기 로그 위변조 행위 증빙 시스템(100)으로 전송될 때, 같이 전송되거나, 상기 로그 위변조 행위 증빙 시스템(100)에서 요청이 있는 경우에 전송된다.In addition, when the system log is generated, the hooking unit 230 is configured to activate the corresponding process in the kernel of the operating system of the specific system 200 when the specific process that causes the system log is executed with root authority. By hooking the details, it performs a function of providing the hooked data to the log forgery activity proof system 100 . The hooked data is transmitted when the first system log is transmitted to the log forgery verification system 100 , or is transmitted when there is a request from the log forgery verification system 100 .

또한 상기 커널 메모리(240)는, 상기 생성한 시스템 로그와 상기 후킹한 후킹 데이터를 저장하는 기능을 수행한다.In addition, the kernel memory 240 performs a function of storing the generated system log and the hooking data.

한편, 상기 도 3에 도시한 사용자 계층은, 상기 특정 시스템(200)의 운영체제의 사용자 영역을 의미하는 것으로, 상기 특정 시스템(200)에 설치된 다양한 사용자의 응용프로그램이 실행되는 영역이다.Meanwhile, the user layer shown in FIG. 3 means a user area of the operating system of the specific system 200 , and is an area in which various user application programs installed in the specific system 200 are executed.

도 4는 본 발명의 일 실시예에 따른 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템의 구성을 나타낸 블록도이다.4 is a block diagram showing the configuration of a log integrity check and a log forgery verification system through the log integrity check according to an embodiment of the present invention.

도 4에 도시한 바와 같이, 본 발명의 일 실시예에 따른 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템(100)은, 특정 시스템(200)의 운영체제 커널에서 생성한 제1 시스템 로그를 수신하여 데이터베이스(400)에 저장하는 로그 수집부(110), 상기 제1 시스템 로그를 저장한 후, 일정 시간이 지난 다음 상기 특정 시스템(200)으로부터 제2 시스템 로그를 수신하여, 시스템 로그에 대한 무결성을 검사하는 무결성 검사부(120), 상기 무결성 검사 결과에 따라 상기 시스템 로그에서 악성코드에 의한 위변조 행위가 발생하였는지 여부를 증빙하는 위변조 증빙부(130), 상기 특정 시스템(200)의 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 정책을 등록하여 관리하는 액세스 정책 관리부(140), 상기 특정 시스템(200)에서 전송할 시스템 로그에 대한 정책을 등록하여 관리하는 로그 정책 관리부(150), 상기 악성코드에 대한 은닉 시그니처를 등록하여 관리하는 은닉 시그니처 관리부(160) 및 알림부(170)를 포함하여 구성된다.As shown in FIG. 4 , the log integrity check and log forgery verification system 100 according to an embodiment of the present invention receives the first system log generated by the operating system kernel of the specific system 200 and The log collection unit 110 to store the database 400, after storing the first system log, receives the second system log from the specific system 200 after a certain period of time has elapsed, to ensure the integrity of the system log. Integrity check unit 120 to check, forgery proof unit 130 to prove whether a forgery or forgery by malicious code has occurred in the system log according to the integrity check result, directory, file, system of the specific system 200 The access policy management unit 140 that registers and manages access policies for tables or combinations thereof, the log policy management unit 150 that registers and manages policies for system logs to be transmitted from the specific system 200, and the malicious code It is configured to include a hidden signature management unit 160 and a notification unit 170 that registers and manages a hidden signature for the .

상기 로그 수집부(110)는, 상기 특정 시스템(200)의 운영체제의 커널에서 생성한 제1 시스템 로그를 수신하여 로그 데이터베이스(410)에 저장하고 이를 관리하는 기능을 수행한다. 여기서 상기 제1 시스템 로그는, 상기 특정 시스템(200)의 운영체제의 커널에서 시스템 로그가 생성될 때 마다 전송되어 수집되는 시스템 로그를 의미한다.The log collection unit 110 receives the first system log generated by the kernel of the operating system of the specific system 200 , stores it in the log database 410 , and manages it. Here, the first system log means a system log that is transmitted and collected whenever a system log is generated in the kernel of the operating system of the specific system 200 .

또한 상기 무결성 검사부(120)는, 상기 제1 시스템 로그가 저장된 후, 일정 시간이 지난 다음(즉, 사전에 설정한 주기)에 상기 특정 시스템(200)으로부터 상기 제1 시스템 로그를 포함하는 제2 시스템 로그를 수신하여, 상기 저장한 제1 시스템 로그의 내용과 상기 수신한 제2 시스템 로그의 내용을 비교함으로써, 상기 시스템 로그에 대한 무결성을 검사하는 기능을 수행한다.In addition, the integrity checker 120, after a predetermined time has elapsed (ie, a preset period) after the first system log is stored, a second The system log is received, and the integrity of the system log is checked by comparing the stored contents of the first system log with the contents of the received second system log.

이때, 상기 무결성 검사부(120)는, 상기 저장한 제1 시스템 로그의 내용과 상기 저장한 제1 시스템 로그에 대응하는 상기 수신한 제2 시스템 로그의 내용을 비교함으로써, 상기 무결성을 검사한다.In this case, the integrity checker 120 checks the integrity by comparing the stored contents of the first system log with the contents of the received second system log corresponding to the stored first system log.

또한 상기 무결성 검사부(120)는, 상기 비교한 결과 상기 제1 시스템 로그의 내용과 상기 제2 시스템 로그의 내용이 동일한 경우, 정상 시스템 로그로 판단하며, 상기 제1 시스템 로그의 내용과 상기 제2 시스템 로그의 내용이 서로 다른 경우, 상기 시스템 로그에서 악성코드에 의한 위변조 행위가 발생한 것으로 판단함으로써, 상기 각 시스템 로그에 대한 무결성을 검사한다.In addition, the integrity checker 120 determines that the contents of the first system log and the contents of the second system log are the same as the result of the comparison, and determines that the contents of the first system log and the second system log are the same. When the contents of the system log are different from each other, the integrity of each system log is checked by determining that a forgery or falsification by malicious code has occurred in the system log.

또한 위변조 증빙부(130)는, 상기 무결성 검사부(120)를 통해 상기 무결성 검사를 수행한 결과, 정상 로그로 판단되는 경우, 상기 시스템 로그에서 악성코드에 의해 위변조 행위가 발생하였는지를 증빙하는 기능을 수행하는 것으로, 상기 특정 시스템(200)으로부터 상기 특정 시스템(200)의 운영체제의 커널에서 후킹된 데이터를 수집하는 후킹 데이터 수집부(131) 및 상기 수집한 후킹된 데이터를 분석하여, 악성코드에 의한 은닉활동이 있었는지 여부를 증빙하는 후킹 데이터 분석부(132)를 포함하여 구성된다.In addition, when it is determined that the log is normal as a result of performing the integrity check through the integrity checker 120, the forgery proof unit 130 performs a function of proving whether a forgery or forgery has occurred by malicious code in the system log. In doing so, the hooking data collection unit 131 that collects data hooked from the kernel of the operating system of the specific system 200 from the specific system 200, and analyzes the collected hooked data to hide it by malicious code It is configured to include a hooking data analysis unit 132 that proves whether there was an activity.

상기 후킹 데이터 수집부(131)는, 상기 무결성 검사를 통해 상기 제1 시스템 로그의 내용과 제2 시스템 로그의 내용이 동일한 경우(즉, 정상로그로 판단된 경우)에, 상기 특정 시스템(200)으로부터 루트 권한으로 실행된 이후에 생성된 시스템 로그에 대해서, 상기 특정 시스템(200)의 운영체제의 커널에서 후킹된 데이터를 수집하는 기능을 수행한다.The hooking data collection unit 131, when the contents of the first system log and the contents of the second system log are the same through the integrity check (that is, when it is determined as a normal log), the specific system 200 With respect to the system log generated after being executed with root authority, the function of collecting data hooked in the kernel of the operating system of the specific system 200 is performed.

상기 후킹된 데이터는, 루트 권한(일시적인 권한 상승으로 인한 루트 권한도 포함)으로 특정 프로세스가 실행되고, 상기 루트 권한으로 실행된 특정 프로세스에 대해 시스템 로그가 생성 될 때, 상기 특정 시스템(200)의 운영체제의 커널에서 상기 특정 프로세스의 활동 내역을 후킹한 데이터임은 상술한 바와 같다.The hooked data is, when a specific process is executed with root authority (including root authority due to temporary elevation of authority), and a system log is generated for the specific process executed with the root authority, of the specific system 200 The data obtained by hooking the activity details of the specific process in the kernel of the operating system is as described above.

또한 상기 후킹 데이터 분석부(132)는, 상기 후킹된 데이터를 분석하여, 상기 악성코드의 은닉활동이 있었는지 여부를 증빙함으로써, 상기 시스템 로그에서 악성코드에 의한 위변조 행위가 발생하였는지 여부를 증빙하는 기능을 수행한다.In addition, the hooking data analysis unit 132 analyzes the hooked data and proves whether there was a hidden activity of the malicious code, thereby proving whether a forgery or falsification by the malicious code occurred in the system log. perform the function

또한 상기 후킹 데이터 분석부(132)는, 상기 후킹된 데이터를 분석할 때, 특정 프로세스에 의해 호출되어 실행된 특정 명령, 함수, 프로세스 또는 이들의 조합이 상기 특정 시스템(200)의 부하를 급격히 가중시키는지, 또는 상기 특정 명령, 함수, 프로세스 또는 이들의 조합이 반복적으로 호출되어 실행되었는지 여부를 확인함으로써, 상기 특정 시스템(200)에서 악성코드에 의한 은닉활동이 있었는지 여부를 판단하여, 이에 대한 경고메시지를 상기 알림부(170)를 통해서 상기 사용자 단말(300)로 제공하도록 하는 것을 더 포함함은 상술한 바와 같다.In addition, the hooking data analysis unit 132, when analyzing the hooked data, a specific command, function, process, or a combination thereof called and executed by a specific process sharply increases the load of the specific system 200 By checking whether or not the specific command, function, process, or combination thereof has been repeatedly called and executed, it is determined whether there has been a hidden activity by malicious code in the specific system 200, As described above, the method further includes providing a warning message to the user terminal 300 through the notification unit 170 .

이후, 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 알림부(170)를 통해 상기 무결성 검사결과와 상기 증빙한 결과를 상기 특정 시스템(200)을 관리하는 사용자 단말(300)로 제공할 수 있도록 한다. 한편, 상기 후킹된 데이터를 분석하는 것은, 도 2를 참조하여 설명하였으므로, 더 이상의 상세한 설명은 생략하도록 한다.Thereafter, the log forgery and forgery verification system 100 provides the integrity check result and the evidenced result through the notification unit 170 to the user terminal 300 managing the specific system 200 . do. Meanwhile, since the analysis of the hooked data has been described with reference to FIG. 2 , further detailed description will be omitted.

또한 상기 액세스 정책 관리부(140)는, 상기 특정 시스템(200)의 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 권한을 상기 정책 데이터베이스(430)에 등록하여 관리하는 기능을 수행한다. 상기 액세스 권한은 상기 특정 시스템(200)으로부터 수신되거나, 상기 사용자에 의해 설정되어 등록된다.Also, the access policy management unit 140 registers and manages access rights to the directory, file, system table, or a combination thereof of the specific system 200 in the policy database 430 . The access right is received from the specific system 200 or set and registered by the user.

또한 상기 로그 정책 관리부(150)는, 상기 특정 시스템(200)에서 전송할 로그의 종류를 설정(추가 또는 삭제를 포함)하거나, 루트 권한으로 실행된 프로세스에 대해 생성한 로그만을 전송하도록 하거나 또는 이들이 조합을 설정하여, 상기 정책 데이터베이스(430)에 등록하여 관리하는 기능을 수행한다.In addition, the log policy management unit 150 sets the type of log to be transmitted in the specific system 200 (including addition or deletion), transmits only the log generated for a process executed with root authority, or a combination thereof. , registers it in the policy database 430 and performs a management function.

또한 상기 은닉 시그니처 관리부(160)는, 복수의 악성코드에 대한 시그니처를 등록하여 관리하는 것으로, 상기 은닉 시그니처에 대해서는 도 1 및 도 2를 참조하여 설명하였으므로 더 이상의 상세한 설명은 생략하도록 한다.Also, the hidden signature management unit 160 registers and manages signatures for a plurality of malicious codes, and since the hidden signatures have been described with reference to FIGS. 1 and 2 , further detailed descriptions will be omitted.

또한 상기 알림부(170)는, 상기 무결성을 검사한 결과와 상기 시스템 로그에 대한 위변조 행위에 대해 증빙한 결과를 상기 사용자 단말(300)로 제공하며, 상기 증빙한 결과에는 악성코드의 은닉활동이 증빙된 상기 특정 프로세스의 PID를 포함한다.In addition, the notification unit 170 provides the result of checking the integrity and evidence of forgery and falsification of the system log to the user terminal 300. It contains the PID of the specific process as evidenced.

도 5는 본 발명의 일 실시예에 따른 로그 무결성 검사 및 이를 통한 로그 위변조 행위를 증빙하는 절차를 나타낸 흐름도이다.5 is a flowchart illustrating a log integrity check and a procedure for proving log forgery and falsification through the log integrity check according to an embodiment of the present invention.

도 5에 도시한 바와 같이, 본 발명의 일 실시예에 따른 로그 위변조 행위 증빙 시스템(100)을 통해 로그 위변조 행위를 증빙하는 절차는 우선, 상기 로그 위변조 행위 증빙 시스템(100)은, 해당 로그 위변조 행위 증빙 시스템(100)과 연결된 특정 시스템(200)으로부터 제1 시스템 로그를 수신하여 로그 데이터베이스(410)에 저장함으로서, 수집하는 로그 수집 단계를 수행한다(S110).As shown in FIG. 5 , the procedure for proving log forgery and forgery through the log forgery and forgery verification system 100 according to an embodiment of the present invention is first, the log forgery and forgery proof system 100 is the log forgery By receiving the first system log from the specific system 200 connected to the behavior proof system 100 and storing it in the log database 410, a log collection step is performed (S110).

상기 로그 수집 단계는, 상기 특정 시스템(200)으로부터 특정 시스템(200)의 운영체제의 커널에서 시스템 로그가 생성될 때 마다 수집하여, 상기 시스템 로그에 대한 무결성을 검사하기 위한 데이터를 확보하는 기능을 수행한다.In the log collection step, whenever a system log is generated from the specific system 200 in the kernel of the operating system of the specific system 200, a function of securing data for checking the integrity of the system log is performed. do.

다음으로, 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 제1 시스템 로그를 수집한 후, 사전에 설정한 주기(즉, 일정 시간)에 따라 상기 특정 시스템(200)의 운영체제의 커널에서 생성한 모든 시스템 로그(즉, 제2 시스템 로그)를 수신(S120)하여, 상기 수집한 제1 시스템 로그의 내용과 상기 수신한 제2 시스템 로그의 내용을 비교함으로써, 상기 시스템 로그의 무결성을 검사하는 무결성 검사 단계를 수행한다(S130).Next, the log forgery and falsification evidence system 100 collects the first system log and then generates it in the kernel of the operating system of the specific system 200 according to a preset period (ie, a predetermined time). Integrity checking the integrity of the system log by receiving all system logs (that is, the second system log) (S120) and comparing the collected contents of the first system log with the contents of the received second system log A test step is performed (S130).

이때, 상기 무결성 검사 단계는, 상기 비교한 결과, 상기 제1 및 제2 시스템 로그의 내용이 동일한 경우에는 정상적인 시스템 로그로 판단하며, 상기 제1 및 제2 시스템 로그의 내용이 동일하지 않는 경우에는, 악성코드의 은닉활동에 의해 상기 시스템 로그에서 위변조 행위가 발생한 것으로 판단한다.In this case, in the integrity check step, as a result of the comparison, if the contents of the first and second system logs are the same, it is determined as a normal system log, and when the contents of the first and second system logs are not the same, , it is determined that forgery or forgery has occurred in the system log due to the concealment activity of the malicious code.

또한 상기 무결성 검사 단계를 통해 상기 비교한 결과 제1 및 제2 시스템 로그의 내용이 동일한 경우(즉, 정상적인 시스템 로그로 판단한 경우), 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 특정 시스템(100)으로부터 상기 특정 시스템(200)의 운영체제의 커널에서 후킹된 데이터를 수집하는 후킹 데이터 수집 단계를 수행한다(S150).In addition, when the contents of the first and second system logs are the same as a result of the comparison through the integrity check step (that is, when it is determined that the log is a normal system log), the log forgery and falsification act proof system 100, the specific system 100 ), a hooking data collection step of collecting hooked data in the kernel of the operating system of the specific system 200 is performed (S150).

상기 후킹된 데이터는, 루트 권한으로 실행된 이후에 생성된 시스템 로그에 대해서 상기 커널에서 후킹된 데이터를 의미하는 것으로 더욱 자세하게는, 상기 시스템 로그가 생성될 때, 루트 권한으로 실행된 특정 프로세스의 상기 커널에 대한 활동 내역을 후킹한 데이터이다.The hooked data refers to data hooked in the kernel with respect to the system log generated after being executed with root authority. More specifically, when the system log is generated, the This is the data hooked on the activity history for the kernel.

다음으로 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 수집한 후킹된 데이터를 분석하여, 악성코드에 의한 은닉활동이 있었는지 여부를 증빙함으로써, 정상 시스템 로그로 판단된 경우에도 상기 시스템 로그에서 악성코드에 의해 위변조 행위가 발생하였는지 여부를 증빙하는 후킹 데이터 분석 단계를 수행한다(S160).Next, the log forgery and falsification evidence system 100 analyzes the collected hooked data and proves whether there was a hidden activity by a malicious code, so that even if it is determined as a normal system log, it is malicious in the system log. A hooking data analysis step that proves whether a forgery or forgery has occurred by the code is performed (S160).

상기 후킹 데이터 분석 단계는, 상기 후킹된 데이터를 분석할 때, 사전에 등록한 복수의 악성코드에 대한 은닉 시그니처를 참조하여, 상기 참조한 은닉 시그니처에 따라 상기 악성코드에 의한 은닉활동이 있었는지 여부를 분석하여, 상기 악성코드에 의해 위변조 행위가 발생하였는지 여부를 증빙함은 상술한 바와 같다.In the analyzing the hooking data, when analyzing the hooked data, it is analyzed whether there has been a hidden activity by the malicious code according to the referenced hidden signature by referring to the hidden signatures for a plurality of previously registered malicious codes. Thus, the proof of whether a forgery or forgery has occurred by the malicious code is as described above.

또한 도 5에는 도시되어 있지 않으나, 상기 후킹 데이터 분석 단계는, 상기 후킹된 데이터를 분석할 때, 특정 프로세스에 의해 호출되어 실행된 특정 명령, 함수, 프로세스 또는 이들의 조합이 사전에 설정한 임계값 이상으로 상기 특정 시스템(200)에 대한 부하를 발생시키는 것으로 평가되거나, 상기 특정 명령, 함수, 프로세스 또는 이들의 조합이 반복적으로 호출되어 실행된 경우, 상기 악성코드에 의한 은닉활동이 있었던 것으로 판단하여, 이에 대한 경고메시지를 사용자 단말(300)로 제공하도록 하는 것을 더 포함함은 상술한 바와 같다. In addition, although not shown in FIG. 5 , in the analyzing the hooking data, when analyzing the hooked data, a specific command, function, process, or combination thereof that is called and executed by a specific process is a threshold value set in advance When it is evaluated that it causes a load on the specific system 200 as described above, or when the specific command, function, process, or a combination thereof is repeatedly called and executed, it is determined that there has been a hidden activity by the malicious code. , further including providing a warning message for this to the user terminal 300 is as described above.

다음으로 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 무결성을 검사한 결과와, 상기 증빙한 결과를 상기 특정 시스템(200)을 관리하는 사용자 단말(300)로 제공하는 알림 단계를 수행한다(S170).Next, the log forgery activity proof system 100 performs a notification step of providing the integrity check result and the evidenced result to the user terminal 300 managing the specific system 200 (S170) ).

또한 상기 알림 단계는, 상기 후킹 데이터 분석 단계에서 상기 특정 시스템(200)에서 악성코드에 의한 은닉활동이 있었던 것으로 판단한 경우, 이에 대한 경고메시지를 포함하는 판단결과를 생성하여 제공하는 것을 더 포함한다.In addition, the notification step further includes generating and providing a determination result including a warning message for this when it is determined that there has been a hidden activity by a malicious code in the specific system 200 in the hooking data analysis step.

한편, 도 5에는 도시되어 있지 않으나, 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 시스템 로그에 대한 위변조 행위를 증빙하기 위해, 상기 특정 시스템(200)의 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 권한에 대한 정책을 등록하여 관리하는 액세스 정책 관리 단계, 상기 특정 시스템(200)에서 전송할 로그의 종류, 루트 권한으로 실행된 프로세스에 대해 생성된 로그만을 전송하도록 하거나 또는 이들의 조합을 설정하여 등록 및 관리하는 로그 정책 관리 단계 및 상기 운영체제의 종류에 따라 상기 운영체제의 커널에 대한 복수의 악성코드의 은닉 시그니처를 등록하여 관리하는 은닉 시그니처 관리 단계를 더 포함한다.On the other hand, although not shown in FIG. 5 , the log forgery activity proof system 100 provides a directory, file, system table, or a combination thereof of the specific system 200 to prove the forgery activity with respect to the system log. An access policy management step of registering and managing a policy for access rights, the type of log to be transmitted in the specific system 200, only the logs generated for a process executed with root authority, or a combination thereof The method further includes: a log policy management step of registering and managing the log policy; and a secret signature management step of registering and managing a plurality of hidden signatures for a kernel of the operating system according to the type of the operating system.

도 6은 본 발명의 일 실시예에 따른 로그 무결성 검사를 통한 로그 위변조 행위 증빙 시스템의 하드웨어 구조를 나타낸 도면이다.6 is a diagram illustrating a hardware structure of a system for verifying log forgery and falsification through log integrity check according to an embodiment of the present invention.

도 6에 도시한 것과 같이, 본 발명의 일 실시예에 따른 로그 위변조 행위 증빙 시스템(100)의 하드웨어 구조는, 중앙처리장치(1000), 메모리(2000), 사용자 인터페이스(3000), 데이터베이스 인터페이스(4000), 네트워크 인터페이스(5000), 웹서버(6000) 등을 포함하여 구성된다.As shown in FIG. 6, the hardware structure of the log forgery activity proof system 100 according to an embodiment of the present invention includes a central processing unit 1000, a memory 2000, a user interface 3000, a database interface ( 4000), a network interface 5000, a web server 6000, and the like.

상기 사용자 인터페이스(3000)는, 그래픽 사용자 인터페이스(GUI, graphical user interface)를 사용함으로써, 사용자에게 입력과 출력 인터페이스를 제공한다.The user interface 3000 provides an input and output interface to a user by using a graphical user interface (GUI).

상기 데이터베이스 인터페이스(4000)는, 데이터베이스와 하드웨어 구조 사이의 인터페이스를 제공하며, 상기 네트워크 인터페이스(5000)는, 사용자가 보유한 장치간의 네트워크 연결을 제공한다. 상기 웹 서버(6000)는, 사용자가 네트워크를 통해 상기 로그 위변조 행위 증빙 시스템(100)으로 액세스하기 위한 수단을 제공한다. 대부분의 사용자들은 원격에서 상기 웹 서버로 접속하여 상기 로그 위변조 행위 증빙 시스템(100)을 이용할 수 있다.The database interface 4000 provides an interface between a database and a hardware structure, and the network interface 5000 provides a network connection between devices owned by a user. The web server 6000 provides a means for a user to access the log forgery activity proof system 100 through a network. Most users can remotely access the web server and use the log forgery and falsification evidence system 100 .

상술한 구성 또는 방법의 각 단계는, 컴퓨터 판독 가능한 기록매체 상의 컴퓨터 판독 가능 코드로 구현되거나 전송 매체를 통해 전송될 수 있다. 컴퓨터 판독 가능한 기록매체는, 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터를 저장할 수 있는 데이터 저장 디바이스이다. 컴퓨터 판독 가능한 기록매체의 예로는 데이터베이스, ROM, RAM, CD-ROM, DVD, 자기 테이프, 플로피 디스크 및 광학 데이터 저장 디바이스가 있으나 이에 한정되는 것은 아니다. 전송매체는 인터넷 또는 다양한 유형의 통신 채널을 통해 전송되는 반송파를 포함할 수 있다. 또한 컴퓨터 판독 가능한 기록매체는, 컴퓨터 판독 가능 코드가 분산 방식으로 저장되고, 실행되도록 네트워크 결합 컴퓨터 시스템을 통해 분배될 수 있다.Each step of the above-described configuration or method may be implemented as computer-readable code on a computer-readable recording medium or transmitted through a transmission medium. The computer-readable recording medium is a data storage device capable of storing data that can be read by a computer system. Examples of computer-readable recording media include, but are not limited to, databases, ROMs, RAMs, CD-ROMs, DVDs, magnetic tapes, floppy disks, and optical data storage devices. The transmission medium may include a carrier wave transmitted through the Internet or various types of communication channels. In addition, the computer readable recording medium may be distributed through a network coupled computer system so that the computer readable code is stored and executed in a distributed manner.

또한 본 발명에 적용된 적어도 하나 이상의 구성요소는, 각각의 기능을 수행하는 중앙처리장치(CPU), 마이크로프로세서 등과 같은 프로세서를 포함하거나 이에 의해 구현될 수 있으며, 상기 구성요소 중 둘 이상은 하나의 단일 구성요소로 결합되어 결합된 둘 이상의 구성요소에 대한 모든 동작 또는 기능을 수행할 수 있다.In addition, at least one or more components applied to the present invention may include or be implemented by a processor such as a central processing unit (CPU), a microprocessor, etc. that perform each function, and two or more of the components are one single It may be combined as a component to perform any operation or function for two or more combined components.

또한 본 발명에 적용된 적어도 하나 이상의 구성요소의 일부는, 이들 구성요소 중 다른 구성요소에 의해 수행될 수 있다. 또한 상기 구성요소들 사이의 통신은 버스(미도시)를 통해 수행될 수 있다.In addition, a part of at least one or more components applied to the present invention may be performed by other components among these components. In addition, communication between the components may be performed through a bus (not shown).

이상에서 설명한 바와 같이, 본 발명은 로그 무결성 검사를 통한 로그 위변조 행위 증빙 시스템 및 그 방법에 관한 것으로, 특정 시스템으로부터 시스템 로그가 생성될 때마다 수집하여 시스템 로그의 무결성을 검사하기 위한 데이터를 확보하고, 사전에 설정한 시간이 지난 다음, 상기 특정 시스템에서 생성된 모든 시스템 로그를 수신하여, 상기 이전에 수집한 시스템 로그와 상기 사전에 설정한 시간이 지난 다음 수신한 시스템 로그의 비교를 통해 상기 시스템 로그의 무결성을 검사하고, 상기 검사한 결과에 따라 악성코드에 의한 은닉활동이 있었는지를 증빙함으로써, 상기 시스템 로그의 위변조를 증빙하여, 상기 악성코드에 의한 피해를 차단할 수 있도록 하는 효과가 있다.As described above, the present invention relates to a log forgery and falsification proof system and method through log integrity check, and collects data every time a system log is generated from a specific system to check the integrity of the system log, and , after a preset time has elapsed, all system logs generated by the specific system are received, and the system log is compared with the previously collected system log and the system log received after the preset time has elapsed. By checking the integrity of the log and proving whether there was a hidden activity by the malicious code according to the result of the check, there is an effect of proving forgery and falsification of the system log, thereby blocking damage caused by the malicious code.

상기에서는 본 발명에 따른 바람직한 실시예를 위주로 상술하였으나, 본 발명의 기술적 사상은 이에 한정되는 것은 아니며 본 발명의 각 구성요소는 동일한 목적 및 효과의 달성을 위하여 본 발명의 기술적 범위 내에서 변경 또는 수정될 수 있을 것이다.In the above, the preferred embodiment according to the present invention has been mainly described above, but the technical spirit of the present invention is not limited thereto, and each component of the present invention is changed or modified within the technical scope of the present invention to achieve the same purpose and effect. it could be

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.In addition, although preferred embodiments of the present invention have been illustrated and described above, the present invention is not limited to the specific embodiments described above, and the technical field to which the present invention belongs without departing from the gist of the present invention as claimed in the claims In addition, various modifications may be made by those of ordinary skill in the art, and these modifications should not be individually understood from the technical spirit or perspective of the present invention.

100: 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템
110: 로그 수집부 120: 무결성 검사부
130: 위변조 증빙부 131: 후킹 데이터 수집부
132: 후킹 데이터 분석부 140: 액세스 정책 관리부
150: 로그 정책 관리부 160: 은닉 시그니처 관리부
170: 알림부 200: 시스템
210: 로그 생성부 220: 로그 제공부
230: 후킹부 240: 커널 메모리
300: 사용자 단말 400: 데이터베이스
100: Log integrity check and log forgery behavior proof system
110: log collection unit 120: integrity check unit
130: forgery proof unit 131: hooking data collection unit
132: hooking data analysis unit 140: access policy management unit
150: log policy management unit 160: hidden signature management unit
170: notification unit 200: system
210: log generating unit 220: log providing unit
230: hooking unit 240: kernel memory
300: user terminal 400: database

Claims (12)

특정 시스템의 운영체제의 커널에서 생성한 제1 시스템 로그를 수신하여 저장하는 로그 수집부; 및
상기 특정 시스템의 커널에서 제2 시스템 로그를 주기적으로 수신하여, 상기 제1 및 제2 시스템 로그의 내용을 비교하며, 상기 제1 및 제2 시스템 로그의 내용이 서로 다른 경우, 시스템 로그가 위변조 되었다고 판단하고, 상기 제1 및 제2 시스템 로그의 내용이 동일한 경우, 상기 시스템 로그가 정상인 것으로 판단하는 것을 포함하는 상기 시스템 로그의 무결성을 검사하는 무결성 검사부;를 포함하며,
상기 시스템 로그가 정상인 것으로 판단한 경우, 루트 권한으로 실행된 프로세스에 의해 생성된 시스템 로그와 관련하여 상기 프로세스의 활동 내역을 후킹한 후킹 데이터를 분석하여, 악성코드에 의해 위변조 행위가 발생하였는지 여부를 증빙하는 것을 포함하는 것을 특징으로 하는 로그 위변조 행위 증빙 시스템.
a log collection unit for receiving and storing a first system log generated by a kernel of an operating system of a specific system; and
The second system log is periodically received from the kernel of the specific system, the contents of the first and second system logs are compared, and when the contents of the first and second system logs are different from each other, it is determined that the system log is forged. and an integrity checker that determines the integrity of the system log, including determining that the system log is normal when the contents of the first and second system logs are the same; and
When it is determined that the system log is normal, the hooking data obtained by hooking the activity details of the process in relation to the system log generated by the process executed with root authority is analyzed to prove whether a forgery or forgery has occurred by malicious code Log forgery behavior proof system, characterized in that it comprises.
삭제delete 삭제delete 청구항 1에 있어서,
상기 후킹한 데이터는,
상기 특정 시스템의 운영체제의 커널에서, 상기 시스템 로그가 생성될 때, 상기 프로세스에 의한 적어도 하나 이상의 명령, 함수, 프로세스 또는 이들의 조합에 대한 호출 내역; 상기 프로세스에 의한 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 및 수정 내역; 상기 프로세스에 의한 특정 디바이스의 드라이버 실행 내역; 상기 프로세스에 의한 입출력 포트에 대한 선택 내역; 또는 이들의 조합을 포함한 상기 프로세스의 활동 내역인 것을 특징으로 하는 로그 위변조 행위 증빙 시스템.
The method according to claim 1,
The hooked data is
In the kernel of the operating system of the specific system, when the system log is generated, a call history of at least one command, function, process, or a combination thereof by the process; history of access and modification of directories, files, system tables, or a combination thereof by the process; driver execution history of a specific device by the process; selection details for input/output ports by the process; Or log forgery behavior proof system, characterized in that the activity details of the process including a combination thereof.
청구항 1에 있어서,
상기 로그 위변조 행위 증빙 시스템은,
상기 후킹한 데이터를 분석할 때, 사전에 등록한 복수의 악성코드에 대한 은닉 시그니처를 참조하여 상기 프로세스에 대한 이중 연결 리스트의 포인트가 수정되었는지 여부; 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대해 사전에 등록한 액세스 권한이 수정되었는지 여부; 파일, 프로세스, 드라이브, 입출력 포트 또는 이들의 조합이 수정되었는지 여부; 또는 이들의 조합을 분석함으로써, 상기 악성코드에 의한 위변조 행위가 발생하였는지를 증빙하며,
상기 프로세스에 의해 호출된 명령, 함수, 프로세스 또는 이들의 조합이 사전에 설정한 임계값 이상으로 상기 특정 시스템에 대한 부하를 발생시키는 것으로 평가되거나, 사전에 설정한 횟수 이상으로 반복적으로 호출되어 실행된 경우, 상기 악성코드에 의한 위변조 행위가 발생한 것으로 판단하는 것을 더 포함하는 것을 특징으로 하는 로그 위변조 행위 증빙 시스템.
The method according to claim 1,
The log forgery act proof system,
When analyzing the hooked data, whether the point of the doubly linked list for the process is modified by referring to the hidden signatures for a plurality of previously registered malicious codes; Whether pre-registered access rights to directories, files, system tables, or a combination thereof have been modified; whether a file, process, drive, input/output port, or any combination thereof has been modified; Or by analyzing a combination thereof, it proves whether the forgery or falsification by the malicious code has occurred,
A command, function, process, or a combination thereof called by the process is evaluated to cause a load on the specific system above a preset threshold, or is repeatedly called and executed more than a preset number of times. case, the log forgery and falsification evidence system, characterized in that it further comprises determining that the forgery act by the malicious code has occurred.
청구항 1에 있어서,
상기 로그 위변조 행위 증빙 시스템은,
상기 특정 시스템으로부터, 상기 특정 시스템의 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 권한에 대한 정책을 수신하여 등록 및 관리하는 액세스 정책 관리부;
상기 특정 시스템에서 전송할 로그의 종류를 추가 혹은 삭제하거나, 루트 권한으로 실행된 프로세스에 의해 생성된 로그만 전송하도록 하거나, 또는 이들의 조합을 설정하여 등록 및 관리하는 로그 정책 관리부;
프로세스에 대한 이중 연결 리스트의 포인트에 대한 수정 패턴; 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 및 수정 패턴; 프로세스, 드라이브, 입출력 포트 또는 이들의 조합에 대한 수정 패턴; 또는 이들의 조합을 포함한 상기 악성코드에 대한 은닉 시그니처를 등록하여 관리하는 은닉 시그니처 관리부; 및
상기 무결성을 검사한 결과와 상기 위변조 행위를 증빙한 결과를 사용자 단말로 제공하는 알림부;를 더 포함하는 것을 특징으로 하는 로그 위변조 행위 증빙 시스템.
The method according to claim 1,
The log forgery act proof system,
an access policy management unit for receiving, registering and managing a policy for access rights to a directory, file, system table, or a combination thereof of the specific system from the specific system;
a log policy management unit that adds or deletes types of logs to be transmitted in the specific system, transmits only logs generated by processes executed with root authority, or sets and registers and manages a combination thereof;
Modification patterns for points in a doubly linked list for a process; access and modification patterns to directories, files, system tables, or any combination thereof; Modification patterns for processes, drives, I/O ports, or a combination thereof; or a hidden signature management unit that registers and manages a hidden signature for the malicious code including a combination thereof; and
The log forgery verification system, characterized in that it further comprises; a notification unit for providing the result of checking the integrity and the result of proving the forgery and forgery to the user terminal.
특정 시스템의 운영체제의 커널에서 생성한 제1 시스템 로그를 수신하여 저장하는 로그 수집 단계; 및
상기 특정 시스템의 커널에서 제2 시스템 로그를 주기적으로 수신하여, 상기 제1 및 제2 시스템 로그의 내용을 비교하며, 상기 제1 및 제2 시스템 로그의 내용이 서로 다른 경우, 시스템 로그가 위변조 되었다고 판단하고, 상기 제1 및 제2 시스템 로그의 내용이 동일한 경우, 상기 시스템 로그가 정상인 것으로 판단하는 것을 포함하는 상기 시스템 로그의 무결성을 검사하는 무결성 검사 단계;를 포함하며,
상기 시스템 로그가 정상인 것으로 판단한 경우, 루트 권한으로 실행된 프로세스에 의해 생성된 시스템 로그와 관련하여 상기 프로세스의 활동 내역을 후킹한 후킹 데이터를 분석하여, 악성코드에 의해 위변조 행위가 발생하였는지 여부를 증빙하는 것을 포함하는 것을 특징으로 하는 로그 위변조 행위 증빙 방법.
a log collecting step of receiving and storing a first system log generated by a kernel of an operating system of a specific system; and
The second system log is periodically received from the kernel of the specific system, the contents of the first and second system logs are compared, and when the contents of the first and second system logs are different from each other, it is determined that the system log is forged. and an integrity checking step of determining the integrity of the system log, which includes determining that the system log is normal when the contents of the first and second system logs are the same; and
When it is determined that the system log is normal, the hooking data obtained by hooking the activity details of the process in relation to the system log generated by the process executed with root authority is analyzed to prove whether a forgery or forgery has occurred by malicious code Log forgery behavior proof method comprising the.
삭제delete 삭제delete 청구항 7에 있어서,
상기 후킹한 데이터는,
상기 특정 시스템의 운영체제의 커널에서, 상기 시스템 로그가 생성될 때, 상기 프로세스에 의한 적어도 하나 이상의 명령, 함수, 프로세스 또는 이들의 조합에 대한 호출 내역; 상기 프로세스에 의한 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 및 수정 내역; 상기 프로세스에 의한 특정 디바이스의 드라이버 실행 내역; 상기 프로세스에 의한 입출력 포트에 대한 선택 내역; 또는 이들의 조합을 포함한 상기 프로세스의 활동 내역인 것을 특징으로 하는 로그 위변조 행위 증빙 방법.
8. The method of claim 7,
The hooked data is
In the kernel of the operating system of the specific system, when the system log is generated, a call history of at least one command, function, process, or a combination thereof by the process; history of access and modification of directories, files, system tables, or a combination thereof by the process; driver execution history of a specific device by the process; selection details for input/output ports by the process; Or log forgery behavior proof method, characterized in that the activity details of the process including a combination thereof.
청구항 7에 있어서,
상기 로그 위변조 행위 증빙 방법은,
상기 후킹한 데이터를 분석할 때, 사전에 등록한 복수의 악성코드에 대한 은닉 시그니처를 참조하여 상기 프로세스에 대한 이중 연결 리스트의 포인트가 수정되었는지 여부; 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대해 사전에 등록한 액세스 권한이 수정되었는지 여부; 파일, 프로세스, 드라이브, 입출력 포트 또는 이들의 조합이 수정되었는지 여부; 또는 이들의 조합을 분석함으로써, 상기 악성코드에 의한 위변조 행위가 발생하였는지를 증빙하며,
상기 프로세스에 의해 호출된 명령, 함수, 프로세스 또는 이들의 조합이 사전에 설정한 임계값 이상으로 상기 특정 시스템에 대한 부하를 발생시키는 것으로 평가되거나, 사전에 설정한 횟수 이상으로 반복적으로 호출되어 실행된 경우, 상기 악성코드에 의한 위변조 행위가 발생한 것으로 판단하는 것을 더 포함하는 것을 특징으로 하는 로그 위변조 행위 증빙 방법.
8. The method of claim 7,
The log forgery proof method is,
When analyzing the hooked data, whether the point of the doubly linked list for the process is modified by referring to the hidden signatures for a plurality of previously registered malicious codes; Whether pre-registered access rights to directories, files, system tables, or a combination thereof have been modified; whether a file, process, drive, input/output port, or any combination thereof has been modified; Or by analyzing a combination thereof, it proves whether the forgery or falsification by the malicious code has occurred,
A command, function, process, or a combination thereof called by the process is evaluated to cause a load on the specific system above a preset threshold, or is repeatedly called and executed more than a preset number of times. case, the log forgery verification method, characterized in that it further comprises determining that the forgery act by the malicious code has occurred.
청구항 7에 있어서,
상기 로그 위변조 행위 증빙 방법은,
상기 특정 시스템으로부터, 상기 특정 시스템의 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 권한에 대한 정책을 수신하여 등록 및 관리하는 액세스 정책 관리 단계;
상기 특정 시스템에서 전송할 로그의 종류를 추가 혹은 삭제하거나, 루트 권한으로 실행된 프로세스에 의해 생성된 로그만 전송하도록 하거나, 또는 이들의 조합을 설정하여 등록 및 관리하는 로그 정책 관리 단계;
프로세스에 대한 이중 연결 리스트의 포인트에 대한 수정 패턴; 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 및 수정 패턴; 프로세스, 드라이브, 입출력 포트 또는 이들의 조합에 대한 수정 패턴; 또는 이들의 조합을 포함한 상기 악성코드에 대한 은닉 시그니처를 등록하여 관리하는 은닉 시그니처 관리 단계; 및
상기 무결성을 검사한 결과와 상기 위변조 행위를 증빙한 결과를 사용자 단말로 제공하는 알림 단계;를 더 포함하는 것을 특징으로 하는 로그 위변조 행위 증빙 방법.
8. The method of claim 7,
The log forgery proof method is,
an access policy management step of receiving, registering and managing a policy for access rights to a directory, file, system table, or a combination thereof of the specific system from the specific system;
a log policy management step of adding or deleting types of logs to be transmitted in the specific system, transmitting only logs generated by a process executed with root authority, or registering and managing a combination of these;
Modification patterns for points in a doubly linked list for a process; access and modification patterns to directories, files, system tables, or any combination thereof; Modification patterns for processes, drives, I/O ports, or a combination thereof; or a secret signature management step of registering and managing a secret signature for the malicious code including a combination thereof; and
The log forgery verification method further comprising; a notification step of providing a result of checking the integrity and a result of proving the forgery and forgery to the user terminal.
KR1020200060249A 2020-05-20 2020-05-20 System and method for checking log integrity and proving forgery and alteration activity of log through the same KR102338998B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200060249A KR102338998B1 (en) 2020-05-20 2020-05-20 System and method for checking log integrity and proving forgery and alteration activity of log through the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200060249A KR102338998B1 (en) 2020-05-20 2020-05-20 System and method for checking log integrity and proving forgery and alteration activity of log through the same

Publications (2)

Publication Number Publication Date
KR20210143459A KR20210143459A (en) 2021-11-29
KR102338998B1 true KR102338998B1 (en) 2021-12-14

Family

ID=78698128

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200060249A KR102338998B1 (en) 2020-05-20 2020-05-20 System and method for checking log integrity and proving forgery and alteration activity of log through the same

Country Status (1)

Country Link
KR (1) KR102338998B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230059366A (en) 2021-10-26 2023-05-03 에스케이하이닉스 주식회사 Controller of memory system and operating method thereof
KR102656871B1 (en) * 2023-07-04 2024-04-12 인스피언 주식회사 Data management device, data management method and a computer-readable storage medium for storing data management program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100957195B1 (en) * 2007-03-30 2010-05-11 주식회사 디지캡 Method and system for license audit and management in DRM environment
US8572050B2 (en) * 2009-12-01 2013-10-29 International Business Machines Corporation Method and system for real time system log integrity protection
KR20170098348A (en) * 2016-02-19 2017-08-30 (주)소만사 Integrity assurance system for mass log data of cyber blackbox
KR102013415B1 (en) * 2017-09-06 2019-08-22 충남대학교산학협력단 System and method for verifying integrity of personal information

Also Published As

Publication number Publication date
KR20210143459A (en) 2021-11-29

Similar Documents

Publication Publication Date Title
Hofmeyr et al. Intrusion detection using sequences of system calls
US8065728B2 (en) Malware prevention system monitoring kernel events
US8806629B1 (en) Automatic generation of policy-driven anti-malware signatures and mitigation of DoS (denial-of-service) attacks
US9143509B2 (en) Granular assessment of device state
US7748042B2 (en) Security vulnerability determination in a computer system
CN105408911A (en) Hardware and software execution profiling
US20070044151A1 (en) System integrity manager
KR101620601B1 (en) Method for conducting security check, Computer program for the same, and Recording medium storing computer program for the same
KR102338998B1 (en) System and method for checking log integrity and proving forgery and alteration activity of log through the same
US11349855B1 (en) System and method for detecting encrypted ransom-type attacks
CN110912855A (en) Block chain architecture security assessment method and system based on permeability test case set
RU2610395C1 (en) Method of computer security distributed events investigation
CN114297708A (en) Access control method, device, equipment and storage medium
WO2022077013A1 (en) System for detecting and preventing unauthorized software activity
JP4843546B2 (en) Information leakage monitoring system and information leakage monitoring method
CN117240628A (en) Penetration test system for network security
CN110086812B (en) Safe and controllable internal network safety patrol system and method
CN115618324A (en) Management method, device, equipment and medium for static application security testing tool
CN115374430A (en) Information leakage detection method and device, storage medium and electronic equipment
CN111125701B (en) File detection method, equipment, storage medium and device
Fonseca et al. Integrated intrusion detection in databases
KR100611679B1 (en) A system for early prevention of computer virus and a method therefor
KR100961438B1 (en) System and method for real-time intrusion detection, and record media recoded program for implement thereof
Basin et al. Logging and log analysis
CN110677483A (en) Information processing system and trusted security management system

Legal Events

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