KR20210143459A - 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법 - Google Patents

로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법 Download PDF

Info

Publication number
KR20210143459A
KR20210143459A KR1020200060249A KR20200060249A KR20210143459A KR 20210143459 A KR20210143459 A KR 20210143459A KR 1020200060249 A KR1020200060249 A KR 1020200060249A KR 20200060249 A KR20200060249 A KR 20200060249A KR 20210143459 A KR20210143459 A KR 20210143459A
Authority
KR
South Korea
Prior art keywords
log
forgery
specific
proof
integrity
Prior art date
Application number
KR1020200060249A
Other languages
English (en)
Other versions
KR102338998B1 (ko
Inventor
김종만
배상일
김유병
김성철
Original Assignee
주식회사 소테리아
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 소테리아 filed Critical 주식회사 소테리아
Priority to KR1020200060249A priority Critical patent/KR102338998B1/ko
Publication of KR20210143459A publication Critical patent/KR20210143459A/ko
Application granted granted Critical
Publication of KR102338998B1 publication Critical patent/KR102338998B1/ko

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

본 발명은 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법에 관한 것으로, 특정 시스템으로부터 시스템 로그가 생성될 때마다 이를 수집하여 상기 시스템 로그에 대한 무결성을 검사하기 위한 데이터를 확보하고, 일정 시간이 지난 다음 상기 특정 시스템으로부터 상기 특정 시스템에서 그동안 생성된 모든 로그를 수신하여, 먼저 수집한 시스템 로그와 나중에 수신한 상기 시스템 로그의 내용을 비교하여, 상기 시스템 로그에 대한 무결성을 검사하고, 상기 검사한 결과에 따라 악성코드의 은닉활동을 증빙함으로써, 해커 등과 같은 악성 사용자에 의해 발생한 상기 시스템 로그의 위변조 행위를 증빙하는 시스템 및 그 방법에 관한 것이다.

Description

로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법{SYSTEM AND METHOD FOR CHECKING LOG INTEGRITY AND PROVING FORGERY AND ALTERATION ACTIVITY OF LOG THROUGH THE SAME}
본 발명은 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법에 관한 것으로, 더욱 상세하게는 특정 시스템으로부터 시스템 로그가 생성될 때마다 이를 수집하여 상기 시스템 로그에 대한 무결성을 검사하기 위한 데이터를 확보하고, 일정 시간이 지난 다음 상기 특정 시스템으로부터 상기 특정 시스템에서 그동안 생성된 모든 로그를 수신하여, 먼저 수집한 시스템 로그와 나중에 수신한 상기 시스템 로그의 내용을 비교하여, 상기 시스템 로그에 대한 무결성을 검사하고, 상기 검사한 결과에 따라 악성코드의 은닉활동을 증빙함으로써, 해커 등과 같은 악성 사용자에 의해 발생한 상기 시스템 로그의 위변조 행위를 증빙하는 시스템 및 그 방법에 관한 것이다.
직접 커널 객체 조작(DKOM, Direct Kernel Object Manipulation)은, 루트 킷(Root kit)을 이용하여 상기 운영체제의 커널에서 생성한 커널의 객체(예: 프로세스)에 직접 접근하여, 상기 커널의 특정 객체에 대한 권한을 상승시키거나, 상기 커널의 특정 객체를 상기 운영체제의 객체관리자로부터 은닉시키는 일반적인 조작 기법을 의미한다.
일반적으로 상기 운영체제의 커널은, 해당 커널에서 활성화된 모든 프로세스를 관리하기 위해 상기 각 프로세스에 대한 객체(윈도우의 경우 EPROCESS 구조체)를 생성하고, 상기 생성한 각 객체를 이중 연결 리스트로 각각 연결함으로서, 관리한다.
이때, 상기 루트 킷을 이용하여 직접 커널 조작을 통해 특정 프로세스를 상기 커널에서 은닉시키고자 하는 경우, 상기 특정 프로세스에 대한 PID 값을 찾은 다음, 해당 프로세스에 대해 생성된 EPROCESS 구조체의 이중 연결 리스트의 연결 방향을 수정한다.
즉, 상기 특정 프로세스의 앞에 위치하는 프로세스에 대한 EPROCESS 구조체의 FLINK(Front Link)의 방향을 상기 특정 프로세스의 뒤에 위치하는 프로세스에 대한 EPROCESS 구조체의 FLINK로 변경하고, 상기 특정 프로세의 뒤에 위치하는 프로세스에 대한 EPROCESS 구조체의 BLINK(Back Link)의 방향을 상기 특정 프로세스 앞에 위치하는 프로세스에 대한 EPROCESS 구조체의 BLINK로 변경하여, 상기 특정 프로세스의 EPROCESS 구조체의 이중 연결 리스트를 은닉함으로써, 상기 특정 프로세스를 은닉하여 상기 객체관리자의 추적으로부터 은닉하는 것이 가능하게 되는 것이다.
이렇게 루트 킷을 이용한 직접 커널 객체 조작을 통해 해커와 같은 악의적인 사용자는 정당한 사용자가 운영하는 특정 시스템으로부터 특정 프로세스, 드라이버, 포트 등을 간편하게 은닉할 수 있으며, 이를 통해 상기 특정 시스템에 대한 완전한 제어를 획득하여, 필요한 정보나 데이터를 수집하거나, 위변조하는 것이 가능하게 된다. 따라서 상기 특정 시스템에 대한 보안을 유지하기 위해서는 상기 루트 킷을 탐지하는 것이 매우 중요하다.
그러나 커널 형태의 루트 킷은, 상기 객체관리자의 상기 루트 킷에 대한 탐지로부터 특정 프로세스가 은닉하도록 구현되므로, 상기 은닉한 프로세스와 정상적으로 동작하는 프로세스들에 의해 후킹된 함수들을 일일이 찾아서 분석해야하기 때문에 그 탐지가 매우 어려운 문제점이 있다.
한편, 시스템 로그는, 특정 프로세스에 의해 상기 시스템의 모든 사용내역을 시간에 따라 기록하여 저장되는 정보를 의미하며, 위변조가 되지 않은 무결성이 보장되는 경우에는, 해킹이나, 상기 시스템의 결함 등과 같은 문제 발생시, 그 원인을 파악하고 대처할 수 있는 근거를 제공한다.
따라서 상기 시스템 로그에 대한 무결성을 검사하여, 악성코드에 의해 해당 시스템 로그에 대한 위변조 행위를 증빙할 수 있다면, 상기 시스템에 대한 악성코드의 활동으로 인한 시스템의 피해를 차단할 수 있을 것이다.
이에 따라 본 발명에서는, 정당한 사용자에 의해 운영되는 특정 시스템으로부터 시스템 로그가 생성될 때 마다 이를 수집하고, 사전에 설정한 주기에 따라 상기 특정 시스템으로부터 상기 특정 시스템에서 그 동안 생성된 모든 시스템 로그를 수신하여, 이전에 수집한 시스템 로그와 이후에 수신한 시스템 로그의 내용을 비교하여, 상기 시스템 로그의 내용이 동일한지 여부에 따라 로그의 무결성을 검사하고, 상기 로그의 내용이 동일한 경우, 루트(Root)권한으로 실행된 프로세스에 대한 시스템 로그에 대해서는, 상기 특정 시스템의 운영체제의 커널에서 후킹된 데이터를 분석하여, 악성코드의 은닉활동을 증빙함으로써, 상기 시스템 로그에 대한 위변조 행위를 증빙할 수 있도록 하는 방안을 제안하고자 한다.
다음으로 본 발명의 기술분야에 존재하는 선행기술에 대하여 간단하게 설명하고, 이어서 본 발명이 상기 선행기술에 비해서 차별적으로 이루고자 하는 기술적 사항에 대해서 기술하고자 한다.
먼저 한국등록특허 제1346809호(2013.12.24.)는 로그파일의 무결성을 보호하기 위한 방법 및 장치에 관한 것으로, 로그파일에 기록되는 로그 데이터가 고정길이 혹은 가변길이의 데이터를 갖는지에 대한 여부를 판단하고, 상기 로그파일이 고정 길이의 데이터를 가지는 경우, 상기 로그파일의 크기를 상기 고정 길이로 나누어 나머지 값을 생성하여, 상기 생성한 나머지 값에 따라 상기 로그파일의 무결성 훼손 여부를 판단하여, 시스템의 비정상 종료로 인해 무결성이 훼손된 로그파일에 대한 무결성을 보호하는 로그파일의 무결성을 보호하기 위한 방법 및 장치에 관한 것이다.
즉, 상기 선행기술은, 로그파일에 로그 데이터가 기록될 때, 시스템이 비정상적으로 종료된 경우에, 상기 로그파일의 신규 로그 데이터에 대한 기록 위치를 조정함으로써, 상기 비정상적인 종료에 의한 상기 로그파일의 무결성을 보호할 수 있도록 하는 것이다.
반면에 본 발명은, 특정 시스템으로부터 시스템 로그가 생성될 때마다 이를 수집하고, 상기 수집한 이후 일정한 시간이 지난 다음 상기 특정 시스템에서 그동안 생성된 모든 시스템 로그를 수신한 후, 이전에 수집한 시스템 로그와 나중에 수신한 시스템 로그의 내용을 비교하여, 상기 시스템 로그의 내용이 동일한지 여부에 따라 시스템 로그의 무결성을 판단하고, 상기 판단한 결과에 따라 루트(Root)권한으로 프로세스에 대한 시스템 로그에 대해서는, 상기 특정 시스템에 대한 운영체제의 커널에서 후킹된 데이터를 분석하여, 악의의 사용자에 의한 악성코드의 은닉활동을 증빙함으로써, 상기 시스템 로그에 대한 위변조 행위를 증빙할 수 있도록 하는 것으로, 상기 선행기술은 이러한 본 발명의 기술적 특징을 기재하거나 시사 혹은 암시도 없다.
또한 한국등록특허 제1256461호(2013.04.15.)는 프로세스 실행 시점 판단장치 및 방법에 관한 것으로, 휴대용 단말기에서 발생되는 모든 로그로부터 애플리케이션의 프로세스 실행 정보를 검출하여, 특정 애플리케이션의 프로세스 실행 시점을 검출한 후, 악성코드 판단을 위한 시그니처 정보에 따라 상기 애플리케이션에 대한 악성코드 여부를 검사하는 프로세스 실행 시점 판단장치 및 그 방법에 관한 것이다.
즉, 상기 선행기술은, 단순히 휴대용 단말기에서 특정 프로세스가 실행될 때, 악성코드를 검사하기 위한 것일 뿐, 본 발명에서 제안하고 있는 로그의 내용에 대한 비교를 토대로 로그의 무결성을 검사하는 것도 아니며, 상기 무결성 검사결과에 따라 루트 권한으로 실행된 특정 프로세스에 대한 시스템 로그에 대해서는, 상기 특정 프로세스의 활동 내역을 후킹한 데이터를 분석하여, 악성코드의 은닉활동을 증빙하여, 시스템 로그의 위변조 행위를 증빙하는 방법 또한 전혀 기재되어 있지 않아, 상기 선행기술과 본 발명은 현저한 차이점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위해 창작된 것으로서, 특정 시스템으로부터 시스템 로그를 수집하고, 상기 수집한 시스템 로그의 무결성을 검사하여, 상기 무결성을 검사한 결과에 따라 악성코드의 은닉활동을 증빙하여 상기 시스템 로그에 대한 위변조 행위가 있었는지 여부를 증빙하는 것이 가능한 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법을 제공하는 것을 그 목적으로 한다.
또한 본 발명은 상기 특정 시스템으로부터, 상기 특정 시스템에 대한 운영체제의 커널에서 시스템 로그가 생성될 때마다 해당 시스템 로그를 수집하고, 또한 주기적으로 상기 특정 시스템의 운영체제의 커널에서 발생한 모든 로그를 수신한 다음, 이전에 수집한 상기 시스템 로그의 내용과 상기 이전에 수집한 시스템 로그에 대응하는 상기 주기적으로 수신한 시스템 로그의 내용을 각각 비교하여, 상기 비교한 결과 상기 시스템 로그의 내용이 서로 다르면, 상기 주기적으로 수신한 시스템 로그가 악성코드에 의해 위변조된 것으로 판단하는 시스템 및 그 방법을 제공하는 것을 또 다른 목적으로 한다.
또한 본 발명은, 상기 비교한 결과 시스템 로그의 내용이 동일한 경우, 정상적인 로그로 판단하되, 프로세스가 루트 권한으로 실행되어 생성된 시스템 로그에 대해서는, 상기 특정 시스템의 운영체제의 커널에서 후킹된 데이터를 수집하여 이를 분석함으로써, 상기 악성코드의 은닉활동을 증빙하여 상기 수신한 시스템 로그에 대한 위변조를 증빙하는 시스템 및 그 방법을 제공하는 것을 또 다른 목적으로 한다.
이때, 상기 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법은, 사전에 등록한 악성코드에 의한 은닉 시그니처를 참조하여, 상기 커널에서 후킹한 데이터를 분석함으로써, 상기 악성코드의 은닉활동을 증빙한다.
또한 본 발명은, 상기 수집한 후킹된 데이터를 분석할 때, 특정 프로세스에 호출되어 실행된 명령, 함수, 프로세스 또는 이들의 조합이 사전에 설정한 임계값 이상으로 상기 특정 시스템에 대한 부하를 발생시키거나, 상기 명령, 함수, 프로세스 또는 이들의 조합이 특정 프로세스에 의해 사전에 설정한 횟수 이상으로 반복적으로 호출되어 실행되는 경우, 상기 악성코드에 의한 은닉활동이 발생한 것으로 판단하여, 이에 대한 경고메시지를 제공하는 시스템 및 그 방법을 제공하는 것을 또 다른 목적으로 한다.
본 발명의 일 실시예에 따른 로그 위변조 행위 증빙 시스템은, 특정 시스템의 운영체제의 커널에서 생성한 제1 시스템 로그를 수신하여 저장하는 로그 수집부 및 상기 제1 시스템 로그를 수신하여 저장한 후, 일정 시간이 지난 다음 상기 특정 시스템으로부터 상기 제1 시스템 로그를 포함하는 제2 시스템 로그를 수신하여 상기 제1 및 제2 시스템 로그의 내용을 비교하며, 상기 제1 및 제2 시스템 로그의 내용이 서로 다른 경우, 시스템 로그의 위변조로 판단하고, 서로 동일한 경우, 정상 시스템 로그로 판단하여 무결성을 검사하는 무결성 검사부를 포함하며, 상기 특정 시스템은, 하드웨어 혹은 소프트웨어적으로 독립된 별도의 운영체제에 의해 동작하는 시스템인 것을 특징으로 한다.
또한 상기 로그 위변조 행위 증빙 시스템은, 상기 정상 시스템 로그로 판단되는 경우, 상기 무결성 검사를 통해서 상기 시스템 로그에서 악성코드에 의해 위변조 행위가 발생하였는지 여부를 증빙하는 위변조 증빙부를 더 포함하는 것을 특징으로 한다.
또한 상기 위변조 증빙부는, 상기 제1 및 제2 시스템 로그가 동일한 경우, 상기 특정 시스템으로부터 루트 권한으로 실행된 이후에 생성된 시스템 로그에 대해서 커널에서 후킹된 데이터를 수집하는 후킹 데이터 수집부를 더 포함하며, 상기 수집한 후킹된 데이터를 분석하여, 상기 악성코드에 의한 악성행위가 있었는지 또는 은닉행위가 있었는지 여부를 증빙하는 것을 더 포함하는 것을 특징으로 한다.
또한 상기 후킹된 데이터는, 상기 특정 시스템의 운영체제의 커널에서, 상기 시스템 로그가 생성될 때, 루트 권한으로 실행된 특정 프로세스에 의한 적어도 하나 이상의 명령, 함수, 프로세스 또는 이들의 조합에 대한 호출 내역, 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 및 수정 내역, 특정 디바이스에 대한 드라이버의 실행 내역, 입출력 포트에 대한 선택 내역 또는 이들의 조합을 포함하여 상기 루트 권한으로 실행된 특정 프로세스의 활동 내역을 후킹한 데이터인 것을 특징으로 한다.
또한 상기 위변조 증빙부는, 상기 후킹된 데이터를 분석할 때, 사전에 등록한 복수의 악성코드에 대한 은닉 시그니처를 참조하여, 상기 참조한 은닉 시그니처에 따라 상기 특정 프로세스에 대한 이중 연결 리스트의 포인트가 수정되었는지 여부, 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대해 사전에 등록한 액세스 권한이 수정되었는지 여부, 파일, 프로세스, 드라이브, 입출력 포트 또는 이들의 조합이 수정되었는지 여부를 분석함으로써, 상기 악성코드의 악성행위 또는 은닉행위가 있었는지 여부를 증빙하며, 상기 특정 프로세스에 의해 호출된 상기 명령, 함수, 프로세스 또는 이들의 조합이 사전에 설정한 임계값 이상으로 상기 특정 시스템에 대한 부하를 발생시키는 것으로 평가되거나, 사전에 설정한 횟수 이상으로 반복적으로 호출되어 실행된 경우, 상기 악성코드의 악성행위 또는 은닉행위가 있었던 것으로 판단하는 것을 특징으로 한다.
또한 상기 로그 위변조 행위 증빙 시스템은, 상기 특정 시스템으로부터, 상기 특정 시스템의 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 권한에 대한 정책을 수신하여 데이터베이스에 등록 및 관리하는 액세스 정책 관리부, 상기 특정 시스템에서 전송할 로그의 종류를 추가 혹은 삭제하거나, 루트 권한으로 실행된 프로세스에 대해 생성된 로그만 전송하도록 하거나, 또는 이들의 조합을 설정하여, 상기 데이터베이스에 등록 및 관리하는 로그 정책 관리부, 프로세스에 대한 이중 연결 리스트의 포인트에 대한 수정 패턴, 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 및 수정 패턴, 프로세스, 드라이브, 입출력 포트 또는 이들의 조합에 대한 수정 패턴을 포함하여, 상기 악성코드에 대한 은닉 시그니처를 데이터베이스에 등록하여 관리하는 은닉 시그니처 관리부 및 상기 무결성을 검사한 결과와, 상기 위변조 행위를 증빙한 결과 또는 상기 판단한 결과를 사용자 단말로 제공하는 알림부를 더 포함하는 것을 특징으로 한다.
아울러 본 발명의 일 실시예에 따른 로그 위변조 행위 증빙 방법은, 특정 시스템의 운영체제의 커널에서 생성한 제1 시스템 로그를 수신하여 저장하는 로그 수집 단계 및 상기 제1 시스템 로그를 수신하여 저장한 후, 일정 시간이 지난 다음 상기 특정 시스템으로부터 상기 제1 시스템 로그를 포함하는 제2 시스템 로그를 수신하여 상기 제1 및 제2 시스템 로그의 내용을 비교하며, 상기 제1 및 제2 시스템 로그의 내용이 서로 다른 경우, 시스템 로그의 위변조로 판단하고, 서로 동일한 경우, 정상 시스템 로그로 판단하여 무결성을 검사하는 무결성 검사 단계를 포함하는 것을 특징으로 한다.
또한 상기 로그 위변조 행위 증빙 방법은, 상기 정상 시스템 로그로 판단되는 경우, 상기 무결성 검사를 통해서 상기 시스템 로그에서 악성코드에 의해 위변조 행위가 발생하였는지 여부를 증빙하는 위변조 증빙 단계를 더 포함하는 것을 특징으로 한다.
또한 상기 위변조 증빙 단계는, 상기 제1 및 제2 시스템 로그가 동일한 경우, 상기 특정 시스템으로부터 루트 권한으로 실행된 이후에 생성된 시스템 로그에 대해서 커널에서 후킹된 데이터를 수집하는 후킹 데이터 수집 단계를 더 포함하며, 상기 수집한 후킹된 데이터를 분석하여, 상기 악성코드에 의한 악성행위가 있었는지 또는 은닉행위가 있었는지 여부를 증빙하는 것을 더 포함하는 것을 특징으로 한다.
또한 상기 위변조 증빙 단계는, 상기 후킹된 데이터를 분석할 때, 사전에 등록한 복수의 악성코드에 대한 은닉 시그니처를 참조하여, 상기 참조한 은닉 시그니처에 따라 상기 특정 프로세스에 대한 이중 연결 리스트의 포인트가 수정되었는지 여부, 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대해 사전에 등록한 액세스 권한이 수정되었는지 여부, 파일, 프로세스, 드라이브, 입출력 포트 또는 이들의 조합이 수정되었는지 여부를 분석함으로써, 상기 악성코드의 악성행위 또는 은닉행위가 있었는지 여부를 증빙하며, 상기 특정 프로세스에 의해 호출된 상기 명령, 함수, 프로세스 또는 이들의 조합이 사전에 설정한 임계값 이상으로 상기 특정 시스템에 대한 부하를 발생시키는 것으로 평가되거나, 사전에 설정한 횟수 이상으로 반복적으로 호출되어 실행된 경우, 상기 악성코드의 악성행위 또는 은닉행위가 있었던 것으로 판단하는 것을 특징으로 한다.
또한 상기 로그 위변조 행위 증빙 방법은, 상기 특정 시스템으로부터, 상기 특정 시스템의 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 권한에 대한 정책을 수신하여 데이터베이스에 등록 및 관리하는 액세스 정책 관리 단계, 상기 특정 시스템에서 전송할 로그의 종류를 추가 혹은 삭제하거나, 루트 권한으로 실행된 프로세스에 대해 생성된 로그만 전송하도록 하거나, 또는 이들의 조합을 설정하여, 상기 데이터베이스에 등록 및 관리하는 로그 정책 관리 단계, 프로세스에 대한 이중 연결 리스트의 포인트에 대한 수정 패턴, 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 및 수정 패턴, 프로세스, 드라이브, 입출력 포트 또는 이들의 조합에 대한 수정 패턴을 포함하여, 상기 악성코드에 대한 은닉 시그니처를 데이터베이스에 등록하여 관리하는 은닉 시그니처 관리 단계 및 상기 무결성을 검사한 결과와, 상기 위변조 행위를 증빙한 결과 또는 상기 판단한 결과를 사용자 단말로 제공하는 알림 단계를 더 포함하는 것을 특징으로 한다.
이상에서와 같이 본 발명의 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법은, 적어도 하나 이상의 특정 시스템으로부터 실시간으로 생성되는 시스템 로그를 수집하여 저장함으로써, 시스템 로그의 무결성을 검사하기 위한 데이터를 확보하고, 상기 특정 시스템으로부터 사전에 설정한 주기에 따라 상기 특정 시스템에 생성된 모든 시스템 로그를 주기적으로 수신하여, 상기 실시간으로 수집하여 저장한 시스템 로그의 내용과 상기 실시간으로 수집한 시스템 로그에 대응하는 상기 주기적으로 수신한 시스템 로그의 내용을 비교하여, 상기 비교한 결과에 따라 악의적인 사용자에 의해 발생한 상기 시스템 로그의 위변조 행위를 증빙함으로써, 상기 특정 시스템에 대한 상기 악성 사용자의 은닉활동에 의한 피해를 차단할 수 있도록 하는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법을 설명하기 위해 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 로그 무결성 검사를 통한 로그 위변조 행위 증빙 시스템과 특정 시스템의 동작을 설명하기 위해 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 특정 시스템의 구성을 나타낸 블록도이다.
도 4는 본 발명의 일 실시예에 따른 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템의 구성을 나타낸 블록도이다.
도 5는 본 발명의 일 실시예에 따른 로그 무결성 검사 및 이를 통한 로그 위변조 행위를 증빙하는 절차를 나타낸 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 로그 무결성 검사를 통한 로그 위변조 행위 증빙 시스템의 하드웨어 구조를 나타낸 도면이다.
이하, 첨부한 도면을 참조하여 본 발명의 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법에 대한 바람직한 실시예를 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다. 또한 본 발명의 실시예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명에 따른 실시예를 설명하기 위한 목적으로 예시된 것으로, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는 것이 바람직하다. 본 발명에서는 데이터는 디지털 정보로 해석할 수 있다.
도 1은 본 발명의 일 실시예에 따른 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법을 설명하기 위해 나타낸 도면이다.
도 1에 도시한 바와 같이, 본 발명의 일 실시예에 따른 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법(100)(이하 로그 위변조 행위 증빙 시스템이라 칭함)은, 상기 로그 위변조 행위 증빙 시스템(100)과 유무선 네트워크로 연결된 적어도 하나 이상의 특정 시스템(200)에서 각각 생성된 시스템 로그에 대한 무결성을 검사하여, 상기 검사한 결과를 토대로 상기 각 특정 시스템(200)에 대한 악성코드에 의한 악성행위, 은닉행위 또는 이들의 조합을 포함하는 은닉활동이 있었는지 여부를 증빙함으로써, 상기 시스템 로그에 대한 위변조 행위를 증빙하여, 이에 대한 결과를 사용자에게 알려주는 기능을 수행한다.
여기서, 상기 특정 시스템(200)은, 기업이나 사용자의 특정 업무를 수행하거나, 특정 서비스를 제공하기 위해 하드웨어나 소프트웨어적으로 독립된 별도의 운영체제에 의해 동작하는 시스템을 의미하여, 상기 사용자는 상기 특정 시스템(200)을 관리하는 관리자 혹은 상기 로그 위변조 행위 증빙 시스템(100)을 이용하는 이용자를 의미한다.
또한 상기 시스템 로그는, 상기 특정 시스템(200)의 운영체제의 커널에서 동작하는 프로세스에 의해 상기 특정 시스템(100)의 모든 사용내역을 시간에 따라 로깅(기록)한 것을 의미한다.
또한 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 특정 시스템(200)에 대한 시스템 로그의 위변조와 상기 악성코드의 은닉활동을 증빙하기 위해, 상기 특정 시스템(200)로부터 상기 특정 시스템(200)의 운영체제의 커널에서 상기 시스템 로그가 생성될 때마다, 상기 생성한 시스템 로그를 수신하여 수집한다. 또한 상기 로그 위변조 행위 증빙 시스템(100)은, 사전에 설정한 주기에 따라 상기 시스템 로그가 생성될 때마다, 이를 수집한 이후 일정 시간이 지난 다음 상기 특정 시스템(100)에서 그동안 생성된 모든 시스템 로그를 수신한다.
즉, 상기 특정 시스템(100)은, 상기 특정 시스템(200)의 운영체제의 커널에서, 시스템 로그가 생성될 때마다, 상기 생성한 시스템 로그를 상기 로그 위변조 행위 증빙 시스템(100)로 전송하여, 관리하도록 함으로써, 상기 생성한 시스템 로그에 대한 무결성을 검사하기 위한 데이터를 확보할 수 있도록 하고, 상기 특정 시스템(100)은, 사전에 설정한 주기에 따라 상기 특정 시스템(200)의 운영체제에서 생성한 모든 시스템 로그를 상기 로그 위변조 행위 증빙 시스템(100)로 전송하여, 상기 각 시스템 로그에 대한 위변조 행위를 검사할 수 있도록 하는 것이다.
이하에서는 상기 특정 시스템(200)의 운영체제 커널에서 상기 시스템 로그가 생성될 때마다 상기 로그 위변조 행위 증빙 시스템(100)에서 수집되는 시스템 로그들에 대해서는 제1 시스템 로그로 지칭하고, 상기 로그 위변조 행위 증빙 시스템(100)에 일정 시간이 지난 다음(즉 주기적)에 수신되는 모든 시스템 로그들에 대해서는 제2 시스템 로그로 지칭하도록 한다. 이때, 상기 제2 시스템 로그는 상기 제1 시스템 로그를 포함한다.
또한 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 특정 시스템(100)으로부터 상기 특정 시스템(100)의 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 권한에 대하여 설정한 정책을 수신하여, 등록하여 관리한다.
또한 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 각 특정 시스템(100)에서 전송할 시스템 로그의 종류를 추가 혹은 삭제하거나, 루트 권한으로 실행된 프로세스에 대해 생성된 시스템 로그만을 전송하도록 하거나 또는 이들의 조합을 포함하는 로그 정책을 설정하여, 상기 각 특정 시스템(100)에서 상기 설정한 로그 정책에 따라 상기 시스템 로그를 각각 전송할 수 있도록 한다.
또한 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 특정 시스템(100)으로부터 상기 제2 시스템 로그를 수신하면, 상기 제2 시스템 로그와 이전에 수집한 상기 제1 시스템 로그를 비교하여, 상기 시스템 로그에 대한 무결성을 검사하고, 상기 무결성을 검사한 결과에 따라 시스템 로그에서 악성코드에 의한 위변조 행위가 발생하였는지 여부를 증빙한다.
이때, 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 수집한 제1 시스템 로그의 내용과, 상기 제1 시스템 로그에 각각 대응하는 상기 제2 시스템 로그의 내용을 각각 비교하여, 상기 시스템 로그에 대한 무결성을 검사하고, 상기 무결성을 검사한 결과에 따라 상기 특정 시스템(200)으로부터 루트 권한으로 실행된 이후에 생성된 시스템 로그에 대해서, 상기 특정 시스템(200)의 운영체제의 커널에서 후킹된 데이터를 수집하여, 상기 수집한 후킹된 데이터를 토대로 악성코드에 의한 은닉활동에 대한 여부를 증빙함으로써, 상기 시스템 로그에 대한 위변조 행위가 발생하였는지 여부를 증빙한다.
상기 후킹된 데이터는, 상기 시스템 로그가 생성될 때, 상기 특정 시스템(200)의 운영체제의 커널에서, 루트 권한으로 실행된 특정 프로세스의 활동 내역을 후킹한 데이터로써, 상기 실행된 특정 프로세스에 의한 적어도 하나 이상의 함수, 명령, 프로세스(즉, 또 다른 프로세스) 또는 이들의 조합에 대한 호출 내역, 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 및 수정 내역, 특정 디바이스에 대한 드라이버의 실행 내역, 입출력 포트의 선택 내역 또는 이들의 조합을 포함한다. 한편, 상기 무결성을 검사하는 것과, 상기 시스템 로그에 대한 위변조 행위가 발생하였는지 여부를 증빙하는 것은 본 발명의 핵심적인 기술적 특징으로, 도 2 내지 도 4를 참조하여 상세히 설명하도록 한다.
또한 상기 로그 위변조 행위 증빙 시스템(100)은, 사전에 설정한 기간(예: 하루)동안 상기 무결성 검사에 대한 수행횟수를 설정할 수 있으며, 이는 상기 제2 시스템 로그를 수집하기 위한 주기를 상기 설정한 기간 및 상기 수행횟수에 따라 설정함으로써, 수행된다.
또한 상기 로그 위변조 행위 증빙 시스템(100)은, 악성코드의 은닉활동에 의해 시스템 로그에 대한 위변조 행위가 발생한 것으로 증빙된 경우, 해당 시스템 로그에 기록된 프로세스의 프로세스 식별자(PID)를 상기 특정 시스템(200)으로 제공하여, 상기 특정 시스템(200)에서 해당 프로세스의 동작을 정지할 수 있도록 한다. 이를 통해 상기 악성코드에 의해 상기 특정 시스템(200)에서 발생될 수 있는 피해를 차단한다.
도 2는 본 발명의 일 실시예에 따른 로그 무결성 검사를 통한 로그 위변조 행위 증빙 시스템과 특정 시스템의 동작을 설명하기 위해 나타낸 도면이다.
도 2에 도시한 바와 같이, 본 발명의 일 실시예에 따른 로그 위변조 행위 증빙 시스템(100)은, 상기 특정 시스템(200)으로부터, 상기 특정 시스템(200)의 운영체제의 커널에서 제1 시스템 로그가 생성될 때마다, 상기 생성한 제1 시스템 로그를 수신하여 로그 데이터베이스(410)에 저장함으로써, 상기 제1 시스템 로그를 수집한다(①).
이때, 상기 제1 시스템 로그는, 상기 특정 시스템(200)별로 상기 로그 데이터베이스(410)에 저장된다. 즉, 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 특정 시스템(200)에서 시스템 로그를 생성할 때 마다, 상기 생성한 시스템 로그를 실시간으로 수신하여 상기 로그 데이터베이스(410)에 저장 및 관리함으로써, 시스템 로그에 대한 무결성을 검사하기 위한 데이터를 확보한다.
또한 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 특정 시스템(200)으로부터 사전에 설정한 주기에 따라, 상기 제1 시스템 로그를 포함하는 제2 시스템 로그를 주기적으로 수신하여 수집한다(②).
즉, 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 시스템 로그에 대한 무결성을 검사하기 위한 데이터를 확보한 후, 일정 시간이 지난 다음 상기 특정 시스템(200)으로부터 그 동안 생성된 모든 시스템 로그를 수신하여, 시스템 로그에 대한 무결성을 검사하는 것이다.
또한 상기 제1 시스템 로그 및 상기 제2 시스템 로그는, 파일 형태 또는 메시지 형태로 수집되며, 상기 제1 시스템 로그와 제2 시스템 로그에 대한 개념은 도 1을 참조하여 설명하였으므로, 더 이상의 상세한 설명은 생략하도록 한다.
또한 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 수집한 제1 시스템 로그의 내용과 상기 수집한 제2 시스템 로그의 내용을 비교하여, 상기 시스템 로그에 대한 무결성을 검사한다(③).
상기 무결성을 검사하는 것은, 상기 수집한 제1 시스템 로그의 내용과 상기 제1 시스템 로그와 대응하는 제2 시스템 로그의 내용을 비교함으로써, 수행된다. 이때, 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 비교한 결과 상기 로그의 내용이 서로 다른 경우, 상기 시스템 로그에서, 악성코드에 의해 상기 시스템 로그가 수정, 삭제, 변경 등과 같이 위변조 행위가 발생한 것으로 판단하고, 상기 로그의 내용이 동일한 경우, 정상적인 시스템 로그로 판단하여, 상기 무결성을 검사한다.
또한 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 무결성을 검사한 결과와 상기 위변조 행위를 증빙한 결과를 사용자 단말(300)로 제공한다. 이때, 증빙한 결과는, 상기 악성코드의 은닉활동이 증빙된 특정 프로세서에 대한 PID(Process ID)를 포함한다.
한편 특정 프로세스의 활동에 의해 상기 시스템 로그가 생성될 때, 상기 커널에서 특정 프로세스가 루트 권한으로 실행되는 경우, 상기 루트 권한으로 실행되는 상기 특정 프로세스는, 악성코드에 감염되어 있는 경우, 상기 악성코드에 의해 해당 특정 프로세스를 상기 특정 시스템(200)으로 은닉하거나, 호출 함수나 프로세스에 대한 수정, 디렉토리, 파일, 시스템 테이블에 대한 액세스 권한 등을 직접적으로 수정할 수 있는 위험성이 존재한다. 따라서 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 비교한 결과 시스템 로그의 내용이 동일한 경우에는, 루트 권한으로 실행된 이후에 생성된 시스템 로그에 대해서, 상기 특정 시스템(200)의 운영체제의 커널에서 후킹된 데이터를 수집하여, 상기 수집한 후킹된 데이터를 분석함으로써, 상기 악성코드에 의한 은닉활동이 있었는지 여부를 증빙한다(④).
또한 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 후킹된 데이터를 분석할 때, 사전에 등록한 복수의 악성코드에 대한 은닉 시그니처를 참조하여, 상기 참조한 은닉 시그니처에 따라 상기 루트 권한으로 실행된 상기 특정 프로세스에 대한 이중 연결 리스트의 포인트가 수정되어 상기 악성코드에 의해 상기 특정 프로세스에 대한 은닉행위가 있었는지 여부와, 상기 특정 시스템(200)의 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대해 사전에 등록한 액세스 권한이 수정되었는지 여부, 프로세스, 드라이브, 입출력 포트 또는 이들의 조합이 수정되었는지 여부를 포함하여 상기 악성코드에 의한 악성행위가 있었는지 여부를 분석함으로써, 상기 악성코드의 은닉활동에 대한 여부를 증빙하여, 상기 시스템 로그에 대한 위변조가 발생하였는지 여부를 증빙한다.
한편, 상기 악성코드의 은닉활동은, 상기 디렉토리, 파일, 시스템 테이블, 또는 이들의 조합에 대한 수정, 또는 프로세스, 드라이브, 입출력 포트 또는 이들의 조합을 수정하는 것뿐만 아니라, CPU, 메모리 등에 대한 사용을 포함하여 상기 특정 시스템(200)에 대한 부하를 급격하게 과중시켜, 상기 특정 시스템(200)을 마비시킴으로써, 상기 특정 시스템(200)의 정상적인 운영이 불가능하도록 구현될 수 있다.
예를 들어, 데이터베이스나 디스크를 전체적으로 검색하는 find나 scan 등과 같이 CPU에 대한 점유율이 높은 특정 명령이나, 함수 또는 프로세스가 반복적으로 실행되는 경우, 상기 특정 시스템(200)은, 상기 특정 명령, 함수 또는 프로세스를 실행하느라 또 다른 명령, 함수 또는 프로세스를 실행할 수 없는 문제점이 발생할 수 있고, 이로 인해 상기 시스템(200)의 부하가 급격하게 증가하게 된다.
따라서 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 후킹된 데이터를 분석할 때, 상기 특정 프로세스에 의해 명령, 함수, 프로세스 또는 이들의 조합이 사전에 설정한 횟수 이상으로 반복적으로 호출되어 실행되었는지 여부, 또는 상기 호출된 명령, 함수, 새로운 프로세스 또는 이들의 조합이 상기 특정 시스템(200)의 부하를 급격히 가중시키는지 여부를 확인하여 해당 시스템의 부하에 미치는 영향을 파악하고, 사전에 설정한 임계값 이상의 부하를 발생시켰는지 여부를 평가함으로써, 상기 악성코드의 은닉활동에 대한 여부를 증빙하여, 이에 대한 경고메시지를 상기 사용자 단말(300)로 제공하는 것을 더 포함한다.
즉, 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 후킹된 데이터를 분석하여, 상기 특정 프로세스에 의해 명령, 함수, 프로세스 또는 이들의 조합이 사전에 설정한 횟수 이상으로 반복적으로 호출되어 실행되었거나, 상기 명령, 함수, 프로세스 또는 이들의 조합이 사전에 설정한 임계값 이상으로 상기 특정 시스템(200)에 대한 부하를 발생시킨 것으로 평가되는 경우에는, 상기 악성코드의 은닉활동이 있었던 것으로 판단하여, 이에 대한 경고메시지를 포함하는 판단결과를 상기 사용자 단말(300)로 제공하는 것이다.
이때, 상기 로그 위변조 행위 증빙 시스템(100)은, 명령, 함수 및 프로세스별로 부하 수치를 각각 매핑한 매핑테이블을 구비하고 있으면서, 상기 후킹된 데이터를 분석할 때, 상기 매핑테이블을 참조하여 특정 프로세스에 의해 호출되어 실행된 상기 명령, 함수, 프로세스 또는 이들의 조합이 사전에 설정한 임계값 이상의 값을 가지는 부하 수치와 매핑되어 있거나, 또는 상기 명령, 함수, 프로세스 또는 이들의 조합이 사전에 설정한 횟수 이상으로 반복되어 호출되어 실행된 경우에, 상기 악성코드에 의한 은닉활동이 있는 것으로 판단한다.
이후, 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 무결성 검사 및 시스템 로그에 대한 위변조 행위가 발생하였는지 여부를 증빙한 결과, 또는 상기 판단한 결과를 상기 사용자가 구비한 사용자 단말(300)로 제공함으로써, 상기 악성코드의 은닉활동에 대한 피해를 차단할 수 있도록 한다. 한편, 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 악성코드의 은닉활동이 증빙된 경우, 해당 프로세스의 PID를 상기 특정 시스템(200)으로 전송하여, 해당 프로세스가 동작을 정지할 수 있도록 하는 것도 가능하다.
또한 상기 도 2에 도시한 데이터베이스(400)는, 상기 수집한 제1 시스템 및 제2 시스템 로그를 저장하여 관리하는 로그 데이터베이스(410), 상기 복수의 악성코드에 대한 은닉 시그니처를 등록하여 관리하는 은닉 시그니처 데이터베이스(420) 및 상기 액세스 권한에 대한 액세스 정책과, 상기 특정 시스템에서 전송할 로그파일의 종류, 루트 권한으로 실행된 프로세스에 대해 생성한 로그파일만 전송하도록 하거나 또는 이들의 조합에 대한 로그 정책을 등록하여 관리하는 정책 데이터베이스(430)를 포함하여 구성된다.
또한 상기 은닉 시그니처는, 상기 특정 시스템(200)의 운영체제의 커널에 따라 프로세스에 대한 이중 연결 리스트의 포인트를 수정하는 수정 패턴, 디렉토리, 파일, 시스템 테이블 또는 이들이 조합에 대한 액세스 및 수정 패턴, 프로세스, 드라이브, 입출력 포트 또는 이들의 조합에 대한 수정 패턴을 포함한다.
도 3은 본 발명의 일 실시예에 따른 특정 시스템의 구성을 나타낸 블록도이다.
도 3에 도시한 바와 같이, 본 발명의 일 실시예에 따른 특정 시스템(200)은 상기 로그 위변조 행위 증빙 시스템(100)과 연결된다.
이때, 상기 로그 위변조 행위 증빙 시스템(100)은, 네트워크를 통해 적어도 하나 이상의 특정 시스템(200)과 연결되어 상기 적어도 하나 이상의 특정 시스템(200)의 시스템 로그에 대한 위변조 행위가 발생하였는지 여부를 증빙하도록 구현되거나, 상기 적어도 하나 이상의 특정 시스템(200)의 로컬에 각각 구현될 수 있다.
또한 상기 특정 시스템(200)은, 시스템 로그를 생성하여 커널 메모리(240)에 저장하는 로그 생성부(210), 상기 생성한 시스템 로그를 상기 로그 위변조 행위 증빙 시스템(100)으로 전송하는 로그 제공부(220), 특정 프로세스가 루트 권한으로 실행된 이후에 생성된 시스템 로그에 대해, 상기 특정 프로세스의 활동 내역을 후킹하는 후킹부(230) 및 커널 메모리(240)를 포함하여 구성된다.
또한 상기 로그 생성부(210), 상기 로그 제공부(220) 및 상기 후킹부(230)는 상기 특정 시스템(200)의 운영체제의 커널에 구현된다.
또한 상기 로그 생성부(210)는, 상기 특정 시스템(200)의 운영제체의 커널에서 실행되는 프로세스의 대한 시스템 로그를 생성하여, 상기 커널 메모리(240)에 저장하는 기능을 수행한다.
또한 상기 로그 제공부(220)는, 상기 로그 생성부(210)에 의해 상기 시스템 로그가 생성될 때 마다 상기 로그 위변조 행위 증빙 시스템(100)로 상기 생성한 로그(즉, 제1 시스템 로그)를 전송하고, 사전에 설정한 주기에 따라 상기 제1 시스템 로그를 포함하여 상기 커널 메모리(240)에 저장된 모든 시스템 로그(즉, 제2 시스템 로그)를 전송하는 기능을 수행한다.
또한 상기 후킹부(230)는, 상기 시스템 로그가 생성될 때, 상기 시스템 로그의 생성 원인이 되는 상기 특정 프로세스가 루트 권한으로 실행된 경우, 상기 특정 시스템(200)의 운영체제의 커널에서 해당 프로세스 활동 내역을 후킹하여, 상기 후킹한 데이터를 상기 로그 위변조 행위 증빙 시스템(100)으로 제공하는 기능을 수행한다. 상기 후킹한 데이터는, 상기 제1 시스템 로그가 상기 로그 위변조 행위 증빙 시스템(100)으로 전송될 때, 같이 전송되거나, 상기 로그 위변조 행위 증빙 시스템(100)에서 요청이 있는 경우에 전송된다.
또한 상기 커널 메모리(240)는, 상기 생성한 시스템 로그와 상기 후킹한 후킹 데이터를 저장하는 기능을 수행한다.
한편, 상기 도 3에 도시한 사용자 계층은, 상기 특정 시스템(200)의 운영체제의 사용자 영역을 의미하는 것으로, 상기 특정 시스템(200)에 설치된 다양한 사용자의 응용프로그램이 실행되는 영역이다.
도 4는 본 발명의 일 실시예에 따른 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템의 구성을 나타낸 블록도이다.
도 4에 도시한 바와 같이, 본 발명의 일 실시예에 따른 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템(100)은, 특정 시스템(200)의 운영체제 커널에서 생성한 제1 시스템 로그를 수신하여 데이터베이스(400)에 저장하는 로그 수집부(110), 상기 제1 시스템 로그를 저장한 후, 일정 시간이 지난 다음 상기 특정 시스템(200)으로부터 제2 시스템 로그를 수신하여, 시스템 로그에 대한 무결성을 검사하는 무결성 검사부(120), 상기 무결성 검사 결과에 따라 상기 시스템 로그에서 악성코드에 의한 위변조 행위가 발생하였는지 여부를 증빙하는 위변조 증빙부(130), 상기 특정 시스템(200)의 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 정책을 등록하여 관리하는 액세스 정책 관리부(140), 상기 특정 시스템(200)에서 전송할 시스템 로그에 대한 정책을 등록하여 관리하는 로그 정책 관리부(150), 상기 악성코드에 대한 은닉 시그니처를 등록하여 관리하는 은닉 시그니처 관리부(160) 및 알림부(170)를 포함하여 구성된다.
상기 로그 수집부(110)는, 상기 특정 시스템(200)의 운영체제의 커널에서 생성한 제1 시스템 로그를 수신하여 로그 데이터베이스(410)에 저장하고 이를 관리하는 기능을 수행한다. 여기서 상기 제1 시스템 로그는, 상기 특정 시스템(200)의 운영체제의 커널에서 시스템 로그가 생성될 때 마다 전송되어 수집되는 시스템 로그를 의미한다.
또한 상기 무결성 검사부(120)는, 상기 제1 시스템 로그가 저장된 후, 일정 시간이 지난 다음(즉, 사전에 설정한 주기)에 상기 특정 시스템(200)으로부터 상기 제1 시스템 로그를 포함하는 제2 시스템 로그를 수신하여, 상기 저장한 제1 시스템 로그의 내용과 상기 수신한 제2 시스템 로그의 내용을 비교함으로써, 상기 시스템 로그에 대한 무결성을 검사하는 기능을 수행한다.
이때, 상기 무결성 검사부(120)는, 상기 저장한 제1 시스템 로그의 내용과 상기 저장한 제1 시스템 로그에 대응하는 상기 수신한 제2 시스템 로그의 내용을 비교함으로써, 상기 무결성을 검사한다.
또한 상기 무결성 검사부(120)는, 상기 비교한 결과 상기 제1 시스템 로그의 내용과 상기 제2 시스템 로그의 내용이 동일한 경우, 정상 시스템 로그로 판단하며, 상기 제1 시스템 로그의 내용과 상기 제2 시스템 로그의 내용이 서로 다른 경우, 상기 시스템 로그에서 악성코드에 의한 위변조 행위가 발생한 것으로 판단함으로써, 상기 각 시스템 로그에 대한 무결성을 검사한다.
또한 위변조 증빙부(130)는, 상기 무결성 검사부(120)를 통해 상기 무결성 검사를 수행한 결과, 정상 로그로 판단되는 경우, 상기 시스템 로그에서 악성코드에 의해 위변조 행위가 발생하였는지를 증빙하는 기능을 수행하는 것으로, 상기 특정 시스템(200)으로부터 상기 특정 시스템(200)의 운영체제의 커널에서 후킹된 데이터를 수집하는 후킹 데이터 수집부(131) 및 상기 수집한 후킹된 데이터를 분석하여, 악성코드에 의한 은닉활동이 있었는지 여부를 증빙하는 후킹 데이터 분석부(132)를 포함하여 구성된다.
상기 후킹 데이터 수집부(131)는, 상기 무결성 검사를 통해 상기 제1 시스템 로그의 내용과 제2 시스템 로그의 내용이 동일한 경우(즉, 정상로그로 판단된 경우)에, 상기 특정 시스템(200)으로부터 루트 권한으로 실행된 이후에 생성된 시스템 로그에 대해서, 상기 특정 시스템(200)의 운영체제의 커널에서 후킹된 데이터를 수집하는 기능을 수행한다.
상기 후킹된 데이터는, 루트 권한(일시적인 권한 상승으로 인한 루트 권한도 포함)으로 특정 프로세스가 실행되고, 상기 루트 권한으로 실행된 특정 프로세스에 대해 시스템 로그가 생성 될 때, 상기 특정 시스템(200)의 운영체제의 커널에서 상기 특정 프로세스의 활동 내역을 후킹한 데이터임은 상술한 바와 같다.
또한 상기 후킹 데이터 분석부(132)는, 상기 후킹된 데이터를 분석하여, 상기 악성코드의 은닉활동이 있었는지 여부를 증빙함으로써, 상기 시스템 로그에서 악성코드에 의한 위변조 행위가 발생하였는지 여부를 증빙하는 기능을 수행한다.
또한 상기 후킹 데이터 분석부(132)는, 상기 후킹된 데이터를 분석할 때, 특정 프로세스에 의해 호출되어 실행된 특정 명령, 함수, 프로세스 또는 이들의 조합이 상기 특정 시스템(200)의 부하를 급격히 가중시키는지, 또는 상기 특정 명령, 함수, 프로세스 또는 이들의 조합이 반복적으로 호출되어 실행되었는지 여부를 확인함으로써, 상기 특정 시스템(200)에서 악성코드에 의한 은닉활동이 있었는지 여부를 판단하여, 이에 대한 경고메시지를 상기 알림부(170)를 통해서 상기 사용자 단말(300)로 제공하도록 하는 것을 더 포함함은 상술한 바와 같다.
이후, 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 알림부(170)를 통해 상기 무결성 검사결과와 상기 증빙한 결과를 상기 특정 시스템(200)을 관리하는 사용자 단말(300)로 제공할 수 있도록 한다. 한편, 상기 후킹된 데이터를 분석하는 것은, 도 2를 참조하여 설명하였으므로, 더 이상의 상세한 설명은 생략하도록 한다.
또한 상기 액세스 정책 관리부(140)는, 상기 특정 시스템(200)의 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 권한을 상기 정책 데이터베이스(430)에 등록하여 관리하는 기능을 수행한다. 상기 액세스 권한은 상기 특정 시스템(200)으로부터 수신되거나, 상기 사용자에 의해 설정되어 등록된다.
또한 상기 로그 정책 관리부(150)는, 상기 특정 시스템(200)에서 전송할 로그의 종류를 설정(추가 또는 삭제를 포함)하거나, 루트 권한으로 실행된 프로세스에 대해 생성한 로그만을 전송하도록 하거나 또는 이들이 조합을 설정하여, 상기 정책 데이터베이스(430)에 등록하여 관리하는 기능을 수행한다.
또한 상기 은닉 시그니처 관리부(160)는, 복수의 악성코드에 대한 시그니처를 등록하여 관리하는 것으로, 상기 은닉 시그니처에 대해서는 도 1 및 도 2를 참조하여 설명하였으므로 더 이상의 상세한 설명은 생략하도록 한다.
또한 상기 알림부(170)는, 상기 무결성을 검사한 결과와 상기 시스템 로그에 대한 위변조 행위에 대해 증빙한 결과를 상기 사용자 단말(300)로 제공하며, 상기 증빙한 결과에는 악성코드의 은닉활동이 증빙된 상기 특정 프로세스의 PID를 포함한다.
도 5는 본 발명의 일 실시예에 따른 로그 무결성 검사 및 이를 통한 로그 위변조 행위를 증빙하는 절차를 나타낸 흐름도이다.
도 5에 도시한 바와 같이, 본 발명의 일 실시예에 따른 로그 위변조 행위 증빙 시스템(100)을 통해 로그 위변조 행위를 증빙하는 절차는 우선, 상기 로그 위변조 행위 증빙 시스템(100)은, 해당 로그 위변조 행위 증빙 시스템(100)과 연결된 특정 시스템(200)으로부터 제1 시스템 로그를 수신하여 로그 데이터베이스(410)에 저장함으로서, 수집하는 로그 수집 단계를 수행한다(S110).
상기 로그 수집 단계는, 상기 특정 시스템(200)으로부터 특정 시스템(200)의 운영체제의 커널에서 시스템 로그가 생성될 때 마다 수집하여, 상기 시스템 로그에 대한 무결성을 검사하기 위한 데이터를 확보하는 기능을 수행한다.
다음으로, 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 제1 시스템 로그를 수집한 후, 사전에 설정한 주기(즉, 일정 시간)에 따라 상기 특정 시스템(200)의 운영체제의 커널에서 생성한 모든 시스템 로그(즉, 제2 시스템 로그)를 수신(S120)하여, 상기 수집한 제1 시스템 로그의 내용과 상기 수신한 제2 시스템 로그의 내용을 비교함으로써, 상기 시스템 로그의 무결성을 검사하는 무결성 검사 단계를 수행한다(S130).
이때, 상기 무결성 검사 단계는, 상기 비교한 결과, 상기 제1 및 제2 시스템 로그의 내용이 동일한 경우에는 정상적인 시스템 로그로 판단하며, 상기 제1 및 제2 시스템 로그의 내용이 동일하지 않는 경우에는, 악성코드의 은닉활동에 의해 상기 시스템 로그에서 위변조 행위가 발생한 것으로 판단한다.
또한 상기 무결성 검사 단계를 통해 상기 비교한 결과 제1 및 제2 시스템 로그의 내용이 동일한 경우(즉, 정상적인 시스템 로그로 판단한 경우), 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 특정 시스템(100)으로부터 상기 특정 시스템(200)의 운영체제의 커널에서 후킹된 데이터를 수집하는 후킹 데이터 수집 단계를 수행한다(S150).
상기 후킹된 데이터는, 루트 권한으로 실행된 이후에 생성된 시스템 로그에 대해서 상기 커널에서 후킹된 데이터를 의미하는 것으로 더욱 자세하게는, 상기 시스템 로그가 생성될 때, 루트 권한으로 실행된 특정 프로세스의 상기 커널에 대한 활동 내역을 후킹한 데이터이다.
다음으로 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 수집한 후킹된 데이터를 분석하여, 악성코드에 의한 은닉활동이 있었는지 여부를 증빙함으로써, 정상 시스템 로그로 판단된 경우에도 상기 시스템 로그에서 악성코드에 의해 위변조 행위가 발생하였는지 여부를 증빙하는 후킹 데이터 분석 단계를 수행한다(S160).
상기 후킹 데이터 분석 단계는, 상기 후킹된 데이터를 분석할 때, 사전에 등록한 복수의 악성코드에 대한 은닉 시그니처를 참조하여, 상기 참조한 은닉 시그니처에 따라 상기 악성코드에 의한 은닉활동이 있었는지 여부를 분석하여, 상기 악성코드에 의해 위변조 행위가 발생하였는지 여부를 증빙함은 상술한 바와 같다.
또한 도 5에는 도시되어 있지 않으나, 상기 후킹 데이터 분석 단계는, 상기 후킹된 데이터를 분석할 때, 특정 프로세스에 의해 호출되어 실행된 특정 명령, 함수, 프로세스 또는 이들의 조합이 사전에 설정한 임계값 이상으로 상기 특정 시스템(200)에 대한 부하를 발생시키는 것으로 평가되거나, 상기 특정 명령, 함수, 프로세스 또는 이들의 조합이 반복적으로 호출되어 실행된 경우, 상기 악성코드에 의한 은닉활동이 있었던 것으로 판단하여, 이에 대한 경고메시지를 사용자 단말(300)로 제공하도록 하는 것을 더 포함함은 상술한 바와 같다.
다음으로 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 무결성을 검사한 결과와, 상기 증빙한 결과를 상기 특정 시스템(200)을 관리하는 사용자 단말(300)로 제공하는 알림 단계를 수행한다(S170).
또한 상기 알림 단계는, 상기 후킹 데이터 분석 단계에서 상기 특정 시스템(200)에서 악성코드에 의한 은닉활동이 있었던 것으로 판단한 경우, 이에 대한 경고메시지를 포함하는 판단결과를 생성하여 제공하는 것을 더 포함한다.
한편, 도 5에는 도시되어 있지 않으나, 상기 로그 위변조 행위 증빙 시스템(100)은, 상기 시스템 로그에 대한 위변조 행위를 증빙하기 위해, 상기 특정 시스템(200)의 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 권한에 대한 정책을 등록하여 관리하는 액세스 정책 관리 단계, 상기 특정 시스템(200)에서 전송할 로그의 종류, 루트 권한으로 실행된 프로세스에 대해 생성된 로그만을 전송하도록 하거나 또는 이들의 조합을 설정하여 등록 및 관리하는 로그 정책 관리 단계 및 상기 운영체제의 종류에 따라 상기 운영체제의 커널에 대한 복수의 악성코드의 은닉 시그니처를 등록하여 관리하는 은닉 시그니처 관리 단계를 더 포함한다.
도 6은 본 발명의 일 실시예에 따른 로그 무결성 검사를 통한 로그 위변조 행위 증빙 시스템의 하드웨어 구조를 나타낸 도면이다.
도 6에 도시한 것과 같이, 본 발명의 일 실시예에 따른 로그 위변조 행위 증빙 시스템(100)의 하드웨어 구조는, 중앙처리장치(1000), 메모리(2000), 사용자 인터페이스(3000), 데이터베이스 인터페이스(4000), 네트워크 인터페이스(5000), 웹서버(6000) 등을 포함하여 구성된다.
상기 사용자 인터페이스(3000)는, 그래픽 사용자 인터페이스(GUI, graphical user interface)를 사용함으로써, 사용자에게 입력과 출력 인터페이스를 제공한다.
상기 데이터베이스 인터페이스(4000)는, 데이터베이스와 하드웨어 구조 사이의 인터페이스를 제공하며, 상기 네트워크 인터페이스(5000)는, 사용자가 보유한 장치간의 네트워크 연결을 제공한다. 상기 웹 서버(6000)는, 사용자가 네트워크를 통해 상기 로그 위변조 행위 증빙 시스템(100)으로 액세스하기 위한 수단을 제공한다. 대부분의 사용자들은 원격에서 상기 웹 서버로 접속하여 상기 로그 위변조 행위 증빙 시스템(100)을 이용할 수 있다.
상술한 구성 또는 방법의 각 단계는, 컴퓨터 판독 가능한 기록매체 상의 컴퓨터 판독 가능 코드로 구현되거나 전송 매체를 통해 전송될 수 있다. 컴퓨터 판독 가능한 기록매체는, 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터를 저장할 수 있는 데이터 저장 디바이스이다. 컴퓨터 판독 가능한 기록매체의 예로는 데이터베이스, ROM, RAM, CD-ROM, DVD, 자기 테이프, 플로피 디스크 및 광학 데이터 저장 디바이스가 있으나 이에 한정되는 것은 아니다. 전송매체는 인터넷 또는 다양한 유형의 통신 채널을 통해 전송되는 반송파를 포함할 수 있다. 또한 컴퓨터 판독 가능한 기록매체는, 컴퓨터 판독 가능 코드가 분산 방식으로 저장되고, 실행되도록 네트워크 결합 컴퓨터 시스템을 통해 분배될 수 있다.
또한 본 발명에 적용된 적어도 하나 이상의 구성요소는, 각각의 기능을 수행하는 중앙처리장치(CPU), 마이크로프로세서 등과 같은 프로세서를 포함하거나 이에 의해 구현될 수 있으며, 상기 구성요소 중 둘 이상은 하나의 단일 구성요소로 결합되어 결합된 둘 이상의 구성요소에 대한 모든 동작 또는 기능을 수행할 수 있다.
또한 본 발명에 적용된 적어도 하나 이상의 구성요소의 일부는, 이들 구성요소 중 다른 구성요소에 의해 수행될 수 있다. 또한 상기 구성요소들 사이의 통신은 버스(미도시)를 통해 수행될 수 있다.
이상에서 설명한 바와 같이, 본 발명은 로그 무결성 검사를 통한 로그 위변조 행위 증빙 시스템 및 그 방법에 관한 것으로, 특정 시스템으로부터 시스템 로그가 생성될 때마다 수집하여 시스템 로그의 무결성을 검사하기 위한 데이터를 확보하고, 사전에 설정한 시간이 지난 다음, 상기 특정 시스템에서 생성된 모든 시스템 로그를 수신하여, 상기 이전에 수집한 시스템 로그와 상기 사전에 설정한 시간이 지난 다음 수신한 시스템 로그의 비교를 통해 상기 시스템 로그의 무결성을 검사하고, 상기 검사한 결과에 따라 악성코드에 의한 은닉활동이 있었는지를 증빙함으로써, 상기 시스템 로그의 위변조를 증빙하여, 상기 악성코드에 의한 피해를 차단할 수 있도록 하는 효과가 있다.
상기에서는 본 발명에 따른 바람직한 실시예를 위주로 상술하였으나, 본 발명의 기술적 사상은 이에 한정되는 것은 아니며 본 발명의 각 구성요소는 동일한 목적 및 효과의 달성을 위하여 본 발명의 기술적 범위 내에서 변경 또는 수정될 수 있을 것이다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.
100: 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템
110: 로그 수집부 120: 무결성 검사부
130: 위변조 증빙부 131: 후킹 데이터 수집부
132: 후킹 데이터 분석부 140: 액세스 정책 관리부
150: 로그 정책 관리부 160: 은닉 시그니처 관리부
170: 알림부 200: 시스템
210: 로그 생성부 220: 로그 제공부
230: 후킹부 240: 커널 메모리
300: 사용자 단말 400: 데이터베이스

Claims (12)

  1. 특정 시스템의 운영체제의 커널에서 생성한 제1 시스템 로그를 수신하여 저장하는 로그 수집부; 및
    상기 제1 시스템 로그를 수신하여 저장한 후, 일정 시간이 지난 다음 상기 특정 시스템으로부터 상기 제1 시스템 로그를 포함하는 제2 시스템 로그를 수신하여 상기 제1 및 제2 시스템 로그의 내용을 비교하며, 상기 제1 및 제2 시스템 로그의 내용이 서로 다른 경우, 시스템 로그의 위변조로 판단하고, 서로 동일한 경우, 정상 시스템 로그로 판단하여 무결성을 검사하는 무결성 검사부;를 포함하며,
    상기 특정 시스템은, 하드웨어 혹은 소프트웨어적으로 독립된 별도의 운영체제에 의해 동작하는 시스템인 것을 특징으로 하는 로그 위변조 행위 증빙 시스템.
  2. 청구항 1에 있어서,
    상기 로그 위변조 행위 증빙 시스템은,
    상기 정상 시스템 로그로 판단되는 경우, 상기 무결성 검사를 통해서 상기 시스템 로그에서 악성코드에 의해 위변조 행위가 발생하였는지 여부를 증빙하는 위변조 증빙부;를 더 포함하는 것을 특징으로 하는 로그 위변조 행위 증빙 시스템.
  3. 청구항 2에 있어서,
    상기 위변조 증빙부는,
    상기 제1 및 제2 시스템 로그가 동일한 경우, 상기 특정 시스템으로부터 루트 권한으로 실행된 이후에 생성된 시스템 로그에 대해서 커널에서 후킹된 데이터를 수집하는 후킹 데이터 수집부;를 더 포함하며,
    상기 수집한 후킹된 데이터를 분석하여, 상기 악성코드에 의한 악성행위가 있었는지 또는 은닉행위가 있었는지 여부를 증빙하는 것을 더 포함하는 것을 특징으로 하는 로그 위변조 행위 증빙 시스템.
  4. 청구항 3에 있어서,
    상기 후킹된 데이터는,
    상기 특정 시스템의 운영체제의 커널에서, 상기 시스템 로그가 생성될 때, 루트 권한으로 실행된 특정 프로세스에 의한 적어도 하나 이상의 명령, 함수, 프로세스 또는 이들의 조합에 대한 호출 내역, 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 및 수정 내역, 특정 디바이스에 대한 드라이버의 실행 내역, 입출력 포트에 대한 선택 내역 또는 이들의 조합을 포함하여 상기 루트 권한으로 실행된 특정 프로세스의 활동 내역을 후킹한 데이터인 것을 특징으로 하는 로그 위변조 행위 증빙 시스템.
  5. 청구항 4에 있어서,
    상기 위변조 증빙부는,
    상기 후킹된 데이터를 분석할 때, 사전에 등록한 복수의 악성코드에 대한 은닉 시그니처를 참조하여, 상기 참조한 은닉 시그니처에 따라 상기 특정 프로세스에 대한 이중 연결 리스트의 포인트가 수정되었는지 여부, 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대해 사전에 등록한 액세스 권한이 수정되었는지 여부, 파일, 프로세스, 드라이브, 입출력 포트 또는 이들의 조합이 수정되었는지 여부를 분석함으로써, 상기 악성코드의 악성행위 또는 은닉행위가 있었는지 여부를 증빙하며,
    상기 특정 프로세스에 의해 호출된 명령, 함수, 프로세스 또는 이들의 조합이 사전에 설정한 임계값 이상으로 상기 특정 시스템에 대한 부하를 발생시키는 것으로 평가되거나, 사전에 설정한 횟수 이상으로 반복적으로 호출되어 실행된 경우, 상기 악성코드의 악성행위 또는 은닉행위가 있었던 것으로 판단하는 것을 더 포함하는 것을 특징으로 하는 로그 위변조 행위 증빙 시스템.
  6. 청구항 5에 있어서,
    상기 로그 위변조 행위 증빙 시스템은,
    상기 특정 시스템으로부터, 상기 특정 시스템의 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 권한에 대한 정책을 수신하여 데이터베이스에 등록 및 관리하는 액세스 정책 관리부;
    상기 특정 시스템에서 전송할 로그의 종류를 추가 혹은 삭제하거나, 루트 권한으로 실행된 프로세스에 대해 생성된 로그만 전송하도록 하거나, 또는 이들의 조합을 설정하여, 상기 데이터베이스에 등록 및 관리하는 로그 정책 관리부;
    프로세스에 대한 이중 연결 리스트의 포인트에 대한 수정 패턴, 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 및 수정 패턴, 프로세스, 드라이브, 입출력 포트 또는 이들의 조합에 대한 수정 패턴을 포함하여, 상기 악성코드에 대한 은닉 시그니처를 데이터베이스에 등록하여 관리하는 은닉 시그니처 관리부; 및
    상기 무결성을 검사한 결과와, 상기 위변조 행위를 증빙한 결과 또는 상기 판단한 결과를 사용자 단말로 제공하는 알림부;를 더 포함하는 것을 특징으로 하는 로그 위변조 행위 증빙 시스템.
  7. 특정 시스템의 운영체제의 커널에서 생성한 제1 시스템 로그를 수신하여 저장하는 로그 수집 단계; 및
    상기 제1 시스템 로그를 수신하여 저장한 후, 일정 시간이 지난 다음 상기 특정 시스템으로부터 상기 제1 시스템 로그를 포함하는 제2 시스템 로그를 수신하여 상기 제1 및 제2 시스템 로그의 내용을 비교하며, 상기 제1 및 제2 시스템 로그의 내용이 서로 다른 경우, 시스템 로그의 위변조로 판단하고, 서로 동일한 경우, 정상 시스템 로그로 판단하여 무결성을 검사하는 무결성 검사 단계;를 포함하며,
    상기 특정 시스템은, 하드웨어 혹은 소프트웨어적으로 독립된 별도의 운영체제에 의해 동작하는 시스템인 것을 특징으로 하는 로그 위변조 행위 증빙 방법.
  8. 청구항 7에 있어서,
    상기 로그 위변조 행위 증빙 방법은,
    상기 정상 시스템 로그로 판단되는 경우, 상기 무결성 검사를 통해서 상기 시스템 로그에서 악성코드에 의해 위변조 행위가 발생하였는지 여부를 증빙하는 위변조 증빙 단계;를 더 포함하는 것을 특징으로 하는 로그 위변조 행위 증빙 방법.
  9. 청구항 8에 있어서,
    상기 위변조 증빙 단계는,
    상기 제1 및 제2 시스템 로그가 동일한 경우, 상기 특정 시스템으로부터 루트 권한으로 실행된 이후에 생성된 시스템 로그에 대해서 커널에서 후킹된 데이터를 수집하는 후킹 데이터 수집 단계;를 더 포함하며,
    상기 수집한 후킹된 데이터를 분석하여, 상기 악성코드에 의한 악성행위가 있었는지 또는 은닉행위가 있었는지 여부를 증빙하는 것을 더 포함하는 것을 특징으로 하는 로그 위변조 행위 증빙 방법.
  10. 청구항 9에 있어서,
    상기 후킹된 데이터는,
    상기 특정 시스템의 운영체제의 커널에서, 상기 시스템 로그가 생성될 때, 루트 권한으로 실행된 특정 프로세스에 의한 적어도 하나 이상의 명령, 함수, 프로세스 또는 이들의 조합에 대한 호출 내역, 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 및 수정 내역, 특정 디바이스에 대한 드라이버의 실행 내역, 입출력 포트에 대한 선택 내역 또는 이들의 조합을 포함하여 상기 루트 권한으로 실행된 특정 프로세스의 활동 내역을 후킹한 데이터인 것을 특징으로 하는 로그 위변조 행위 증빙 방법.
  11. 청구항 10에 있어서,
    상기 위변조 증빙 단계는,
    상기 후킹된 데이터를 분석할 때, 사전에 등록한 복수의 악성코드에 대한 은닉 시그니처를 참조하여, 상기 참조한 은닉 시그니처에 따라 상기 특정 프로세스에 대한 이중 연결 리스트의 포인트가 수정되었는지 여부, 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대해 사전에 등록한 액세스 권한이 수정되었는지 여부, 파일, 프로세스, 드라이브, 입출력 포트 또는 이들의 조합이 수정되었는지 여부를 분석함으로써, 상기 악성코드의 악성행위 또는 은닉행위가 있었는지 여부를 증빙하며,
    상기 특정 프로세스에 의해 호출된 상기 명령, 함수, 프로세스 또는 이들의 조합이 사전에 설정한 임계값 이상으로 상기 특정 시스템에 대한 부하를 발생시키는 것으로 평가되거나, 사전에 설정한 횟수 이상으로 반복적으로 호출되어 실행된 경우, 상기 악성코드의 악성행위 또는 은닉행위가 있었던 것으로 판단하는 것을 더 포함하는 것을 특징으로 하는 로그 위변조 행위 증빙 방법.
  12. 청구항 11에 있어서,
    상기 로그 위변조 행위 증빙 방법은,
    상기 특정 시스템으로부터, 상기 특정 시스템의 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 권한에 대한 정책을 수신하여 데이터베이스에 등록 및 관리하는 액세스 정책 관리 단계;
    상기 특정 시스템에서 전송할 로그의 종류를 추가 혹은 삭제하거나, 루트 권한으로 실행된 프로세스에 대해 생성된 로그만 전송하도록 하거나, 또는 이들의 조합을 설정하여, 상기 데이터베이스에 등록 및 관리하는 로그 정책 관리 단계;
    프로세스에 대한 이중 연결 리스트의 포인트에 대한 수정 패턴, 디렉토리, 파일, 시스템 테이블 또는 이들의 조합에 대한 액세스 및 수정 패턴, 프로세스, 드라이브, 입출력 포트 또는 이들의 조합에 대한 수정 패턴을 포함하여, 상기 악성코드에 대한 은닉 시그니처를 데이터베이스에 등록하여 관리하는 은닉 시그니처 관리 단계; 및
    상기 무결성을 검사한 결과와, 상기 위변조 행위를 증빙한 결과 또는 상기 판단한 결과를 사용자 단말로 제공하는 알림 단계;를 더 포함하는 것을 특징으로 하는 로그 위변조 행위 증빙 방법.
KR1020200060249A 2020-05-20 2020-05-20 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법 KR102338998B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200060249A KR102338998B1 (ko) 2020-05-20 2020-05-20 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200060249A KR102338998B1 (ko) 2020-05-20 2020-05-20 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법

Publications (2)

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

Family

ID=78698128

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200060249A KR102338998B1 (ko) 2020-05-20 2020-05-20 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR102338998B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022211161A1 (de) 2021-10-26 2023-04-27 SK Hynix Inc. Controller eines speichersystems und betriebsverfahren dafür
KR102656871B1 (ko) * 2023-07-04 2024-04-12 인스피언 주식회사 데이터 관리 장치, 데이터 관리 방법 및 데이터 관리 프로그램을 저장하는 컴퓨터로 판독 가능한 저장 매체

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080089143A (ko) * 2007-03-30 2008-10-06 주식회사 디지캡 디알엠 환경에서 라이센스 감사 및 관리 방법 및 시스템
KR20110061503A (ko) * 2009-12-01 2011-06-09 인터내셔널 비지네스 머신즈 코포레이션 실시간 시스템 로그 무결성 보호를 위한 방법 및 시스템
KR20170098348A (ko) * 2016-02-19 2017-08-30 (주)소만사 사이버 블랙박스의 대용량 로그데이터에 대한 무결성 보장 시스템
KR20190027207A (ko) * 2017-09-06 2019-03-14 충남대학교산학협력단 개인정보 접속기록 무결성 검증시스템 및 검증방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080089143A (ko) * 2007-03-30 2008-10-06 주식회사 디지캡 디알엠 환경에서 라이센스 감사 및 관리 방법 및 시스템
KR20110061503A (ko) * 2009-12-01 2011-06-09 인터내셔널 비지네스 머신즈 코포레이션 실시간 시스템 로그 무결성 보호를 위한 방법 및 시스템
KR20170098348A (ko) * 2016-02-19 2017-08-30 (주)소만사 사이버 블랙박스의 대용량 로그데이터에 대한 무결성 보장 시스템
KR20190027207A (ko) * 2017-09-06 2019-03-14 충남대학교산학협력단 개인정보 접속기록 무결성 검증시스템 및 검증방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022211161A1 (de) 2021-10-26 2023-04-27 SK Hynix Inc. Controller eines speichersystems und betriebsverfahren dafür
KR102656871B1 (ko) * 2023-07-04 2024-04-12 인스피언 주식회사 데이터 관리 장치, 데이터 관리 방법 및 데이터 관리 프로그램을 저장하는 컴퓨터로 판독 가능한 저장 매체

Also Published As

Publication number Publication date
KR102338998B1 (ko) 2021-12-14

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
US8930705B1 (en) System and method for authenticating remote execution
US7748042B2 (en) Security vulnerability determination in a computer system
US20030192033A1 (en) Validating computer program installation
CN105408911A (zh) 硬件和软件执行概况分析
WO2007089786B1 (en) Identifying unauthorized privilege escalations
US20070044151A1 (en) System integrity manager
KR102338998B1 (ko) 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법
KR101620601B1 (ko) 보안성 진단 방법 및 이를 위한 컴퓨터 프로그램, 그 기록매체
RU2610395C1 (ru) Способ расследования распределенных событий компьютерной безопасности
CN114297708A (zh) 访问控制方法、装置、设备和存储介质
US11349855B1 (en) System and method for detecting encrypted ransom-type attacks
McIntosh Intercepting ransomware attacks with staged event-driven access control
WO2022077013A1 (en) System for detecting and preventing unauthorized software activity
JP4843546B2 (ja) 情報漏洩監視システムおよび情報漏洩監視方法
CN110086812B (zh) 一种安全可控的内网安全巡警系统及方法
CN115618324A (zh) 静态应用安全测试工具的管理方法、装置、设备及介质
CN115640581A (zh) 一种数据安全风险评估方法、装置、介质及电子设备
Fonseca et al. Integrated intrusion detection in databases
Powers et al. Whitelist malware defense for embedded control system devices
CN113422776A (zh) 一种面向信息网络安全的主动防御方法及系统
KR100611679B1 (ko) 컴퓨터 바이러스의 조기방역 시스템 및 방법

Legal Events

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