KR101383664B1 - 단위 파일별 행위 분석 시스템 - Google Patents
단위 파일별 행위 분석 시스템 Download PDFInfo
- Publication number
- KR101383664B1 KR101383664B1 KR1020120103150A KR20120103150A KR101383664B1 KR 101383664 B1 KR101383664 B1 KR 101383664B1 KR 1020120103150 A KR1020120103150 A KR 1020120103150A KR 20120103150 A KR20120103150 A KR 20120103150A KR 101383664 B1 KR101383664 B1 KR 101383664B1
- Authority
- KR
- South Korea
- Prior art keywords
- policy
- module
- file
- information
- unit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 단위 파일별 행위 분석 시스템에 관한 것으로, 특히 사용자 레이어(user layer)의 프로세스나 애드 인(Add-In) 등을 구성하는 하나 또는 복수개의 단위 파일들을 각 단위 파일별로 행위 정보를 수집, 분석 및 분류하고 정규화하여 데이터베이스를 구축할 수 있는 단위 파일별 행위 분석 시스템에 관한 것이다.
Description
본 발명은 단위 파일별 행위 분석 시스템에 관한 것으로, 더욱 상세하게는 사용자 레이어(user layer)의 프로세스나 애드 인(Add-In) 등을 구성하는 하나 또는 복수개의 단위 파일들을 각 단위 파일별로 행위 정보를 수집, 분석 및 분류하고 정규화하여 데이터베이스를 구축할 수 있는 단위 파일별 행위 분석 시스템에 관한 것이다.
안전 운영체제는 컴퓨터 운영 체제상에 내재된 보안상의 결함으로 인하여 발생 가능한 각종 해킹이나 비정상적인 접속으로부터 시스템을 보호하기 위하여 기존의 운영체제 내에 보안기능을 통합시킨 보안 커널(Security Kernel)을 추가로 이식한 운영체제이다.
이와 같이 보안 커널이 이식된 안전한 운영체제는 컴퓨터 사용자에 대한 식별 및 인증, 강제적 접근통제, 임의적 접근통제, 재사용 방지, 침입 탐지 등의 보안 기능 요소를 갖추어야 한다.
그러나 인터넷과 같은 네트워크 환경에서 시스템이 갖는 "개방성"은 중요한 특성이지만 컴퓨터 내의 정보보호를 향상시키기 위한 도구는 현재의 시스템에서는 매우 부족한 실정이다.
이에 따라 기존 시스템의 취약점을 보완하는 패치 버전이나 업그레이드를 통한 임시방편적인 방법보다는 근래에는 원천적으로 새로운 안전한 운영체제의 필요성이 대두되고 있다.
그리고, 이와 같은 안전한 운영체제에 필요한 중요한 구성 요소인 접근제어 방법론은 안전한 운영체제의 핵심을 이루며 많은 이론들이 연구되어 왔다.
이러한, 접근제어 방법론 중 전통적인 접근통제 정책으로는 임의적 접근통제(DAC : Discretionary Access Control) 및 강제적 접근통제(MAC : Mandatory Access Control) 규칙이 적용된다.
그러나, 이상과 같은 접근 통제 정책의 설정은 매우 어려워 보안 담당자조차 올바른 접근 통제 정책을 수립하기가 힘든 문제가 있다. 따라서, 안전한 운영체제의 개발회사나 보안 컨설팅 업체에서 대신 수립해 주고 있는 실정이다.
이에, 한국등록특허 제5773344호 등에서는 도 1a와 같은 컴퓨터 운영체제에 도 1b와 같은 구성을 적용함으로써 제어 모드에 따라 허용되지 않은 행위 및 파일 I/O를 자동으로 허용하거나 차단하여 간편하게 접근 통제 정책을 수립할 수 있도록 한 접근 통제 정책 설정시스템 및 방법을 제공하고 있다.
그러나, 이상과 같은 종래기술에서는 내부 접근 통제 정책 저장소에 저장된 다양한 파일 I/O 항목들 중 객체 항목인 접근 파일로서 C:\Windows\exploler.exe, C:\Windows\notepad.exe 등과 같이 사용자 레이어(user layer)에서의 프로세스에 대해서만 접근 속성인 읽기/쓰기/실행을 보여주고 정책을 설정할 수 있게 하였다.
즉, Windows의 exploler와 같은 경우에는 하나의 파일로 이루어진 것이 아니라 하드웨어에 저장된 복수개의 단위 파일들로 이루어지고 이들이 각각 서로 다른 행위를 함으로써 하나의 프로세스로서 동작을 하는데 종래에는 이들 각각의 단위 파일에 대한 정책을 수립하지는 못하고 단순히 외부에서 보여지는 프로세스 단위로만 정책을 수립할 수 밖에 없는 문제점이 있었다.
본 발명은 전술한 바와 같은 문제점을 해결하기 위해 제안된 것으로, 사용자 레이어(user layer)의 프로세스 또는 애드 인(Add-In)을 구성하는 하나 또는 복수개의 단위 파일들을 각 단위 파일별로 행위 정보를 수집, 분석 및 분류하고 정규화하여 데이터베이스를 구축할 수 있는 단위 파일별 행위 분석 시스템을 제공하고자 한다.
이를 위해, 본 발명에 따른 단위 파일별 행위 분석 시스템은 운영체제(OS)의 커널 레이어(knrnel layer)에서 이루어지는 모든 행위를 후킹하는 후킹 모듈(hooking module)과; 상기 후킹 모듈에서 후킹한 정보들을 수집하여, 하드웨어에 저장된 각각의 단위 파일별로 상기 수집된 정보들을 분석하여 조합한 행위 레코드(behavior record)를 생성하는 분석 모듈(analyzing module)과; 상기 분석 모듈에서 생성된 행위 레코드를 데이터베이스로 전송하는 전송모듈(transfer module)과; 상기 후킹 모듈에서의 후킹 및 상기 분석 모듈에서의 정보 수집 정책을 저장하였다가 제공하는 정책모듈(policy module); 및 상기 정책모듈에 따라 상기 데이터베이스에 저장 및 수집된 정보를 조회하여 확인할 수 있게 하는 감시모듈(watching module);을 포함하는 것을 특징으로 한다.
이때, 상기 분석 모듈은 상기 후킹 모듈에서 제공되는 수집 정보를 이용하여 상기 각 단위 파일이 상기 사용자 레이어의 프로세스 또는 애드 인(add-in)에 의해 사용되는 사용 파일(used file)과 각 단위 파일이 컴퓨터의 메모리에 올라와 프로세스 또는 애드 인으로 동작하는 동작 파일(activated file)로 구분하는 파일 분석부를 포함하는 것이 바람직하다.
또한, 상기 분석 모듈은 상기 사용 파일과 동작 파일에 대해 각각 프로세스 또는 애드 인에 의해 사용된 내역인 사용 정보(used information)와 컴퓨터의 메모리에 올라와 상기 프로세스 또는 애드 인으로 동작하면서 행위한 정보 내역인 행위 정보(behavior information)를 구분하는 동작 분석부를 포함하는 것이 바람직하다.
또한, 상기 정책 모듈에 기록된 정책에 따라 상기 동작 파일이 다른 파일 또는 폴더에 접근하는 것이 차단 또는 허용되거나, 상기 동작 파일이 상기 프로세스 또는 애드 인으로 동작하는 것이 차단 또는 허용되는 것이 바람직하다.
또한, 상기 분석 모듈은 상기 정책 모듈에서 제공되는 정보 수집 정책을 참조하여 상기 후킹 모듈로부터 더 많은 단위 파일의 행위 정보를 수집하거나, 수집된 정보를 상기 데이터베이스로 전송하지 않고 삭제하는 것이 바람직하다.
또한, 상기 감시 모듈은 사용자에 의해 선택된 정책을 설정하는 정책 설정부를 포함하는 것이 바람직하다.
또한, 상기 정책 설정부는 상기 행위 레코드의 항목별 행위를 차단하는 차단 정책과, 상기 행위 레코드의 항목별 감시대상과 비감시대상을 지정하는 감시 정책과, 상기 행위 레코드의 항목별 수집 정보를 얼마나 상세하게 수집할 것인지 지정하는 수집 정책 및 상기 행위 레코드의 항목별 특정행위 발생시 사용자 또는 관리자에게 통지하는 통지 정책 중 어느 하나 이상을 설정하는 것이 바람직하다.
또한, 상기 데이터베이스는 상기 전송 모듈을 통해 전송되는 모든 정보를 저장하는 빅 데이터 플랫폼(bigdata platform)과, 상기 빅 데이터 플랫폼에 저장된 행위 레코드들을 정책에 따라 분류하는 분류 모듈 및 상기 분류 모듈에 의해 분류된 행위 레코드를 입력받아 저장하는 정규화 데이터베이스를 포함하는 것이 바람직하다.
또한, 상기 감시 모듈을 통해 상기 단위 파일에 대한 정보를 편집하면, 상기 단위 파일의 정책이 자동으로 완성되어 상기 정책 모듈에 기록되고 정책이 자동으로 실행되는 것이 바람직하다.
이상과 같은 구성으로 이루어진 본 발명에 따른 단위 파일별 행위 분석 시스템에 의하면, 사용자 레이어(user layer)의 프로세스나 애드 인(Add-In) 등을 구성하는 하나 또는 복수개의 단위 파일들을 각 단위 파일별로 행위 정보를 수집, 분석 및 분류하고 정규화하여 데이터베이스를 구축할 수 있게 한다.
따라서, 사용자에게 하드웨어에 저장된 모든 파일의 행위에 대해 각각 정보를 제공하고 사용자가 정책을 수립할 수 있게 하므로, 사용중인 파일의 버전이나, 종류 혹은 저작권 정보 등과 무관하게 개인이나 기업 고유의 환경에 맞는 파일 접근 정책을 자유롭게 수립할 수 있게 한다.
도 1a는 일반적으로 사용되는 마이크로소프트사의 윈도우즈 운영체제를 나타낸 개략도이다.
도 1b는 종래 기술에 따른 접근 통제 정책 설정 시스템을 나타낸 개략도이다.
도 2는 본 발명에 따른 단위 파일별 행위 분석 시스템을 나타낸 구성도이다.
도 3은 본 발명에 따른 단위 파일별 행위 분석 시스템의 후킹 모듈을 나타낸 도이다.
도 4는 본 발명에 따른 단위 파일별 행위 분석 시스템의 분석 모듈을 나타낸 도이다.
도 5는 본 발명에 따른 단위 파일별 행위 분석 시스템의 정책 모듈을 나타낸 도이다.
도 6은 본 발명에 따른 단위 파일별 행위 분석 시스템의 감시 모듈을 나타낸 도이다.
도 7a 및 도 7b는 일반적인 마이크로소프트사의 WinDbg(Windows Debugger)를 이용해 Windows의 “Notepad.exe”가 “NtReadFile” API를 호출하는 시점에 “Notepad.exe”의 User Memory에 있는 PEB(Process Environment Block)를 추적하는 과정을 보여주는 도이다.
도 8은 본 발명에 따라 “Notepad.exe”가 동작하면서 파일처리를 한 행위정보를 보여주는 도이다.
도 9는 본 발명에 따라“Notepad.exe”가 동작하며 레지스트리에 접근한 행위정보를 보여주는 도이다.
도 10은 본 발명의 분석 모듈에 의해 분석 및 분류하고 정규화된 정보를 이용하는 한 제1 실시예를 나타낸 도이다.
도 11은 본 발명의 분석 모듈에 의해 분석 및 분류하고 정규화된 정보를 이용하는 한 제2 실시예를 나타낸 도이다.
도 1b는 종래 기술에 따른 접근 통제 정책 설정 시스템을 나타낸 개략도이다.
도 2는 본 발명에 따른 단위 파일별 행위 분석 시스템을 나타낸 구성도이다.
도 3은 본 발명에 따른 단위 파일별 행위 분석 시스템의 후킹 모듈을 나타낸 도이다.
도 4는 본 발명에 따른 단위 파일별 행위 분석 시스템의 분석 모듈을 나타낸 도이다.
도 5는 본 발명에 따른 단위 파일별 행위 분석 시스템의 정책 모듈을 나타낸 도이다.
도 6은 본 발명에 따른 단위 파일별 행위 분석 시스템의 감시 모듈을 나타낸 도이다.
도 7a 및 도 7b는 일반적인 마이크로소프트사의 WinDbg(Windows Debugger)를 이용해 Windows의 “Notepad.exe”가 “NtReadFile” API를 호출하는 시점에 “Notepad.exe”의 User Memory에 있는 PEB(Process Environment Block)를 추적하는 과정을 보여주는 도이다.
도 8은 본 발명에 따라 “Notepad.exe”가 동작하면서 파일처리를 한 행위정보를 보여주는 도이다.
도 9는 본 발명에 따라“Notepad.exe”가 동작하며 레지스트리에 접근한 행위정보를 보여주는 도이다.
도 10은 본 발명의 분석 모듈에 의해 분석 및 분류하고 정규화된 정보를 이용하는 한 제1 실시예를 나타낸 도이다.
도 11은 본 발명의 분석 모듈에 의해 분석 및 분류하고 정규화된 정보를 이용하는 한 제2 실시예를 나타낸 도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 따른 단위 파일별 행위 분석 시스템에 대해 상세히 설명한다.
본 발명의 이해를 돕기 위해 먼저 이하에서 사용할 '단위 파일'에 대해 정의하면, '단위 파일'은 하드웨어에 저장된 모든 파일을 의미하는 것으로 각각이 단위의 행위를 할 수 있는 것을 의미한다.
예컨대, 사용자 레이어(user layer)의 프로세스 또는 애드 인(Add-In) 등은 *.exe, *.dll, *.config를 비롯한 복수개의 파일들로 이루어지는데, 이들 각각의 파일이 '단위 파일'이다.
따라서, 종래기술에서 C:\Windows\exploler.exe, C:\Windows\notepad.exe와 같이 사용자 레이어(user layer)의 '프로세스' 그 자체에 대해서만 접근 속성인 읽기/쓰기/실행을 보여주고 정책을 설정할 수 있게 하는 것과 본 발명의 '단위 파일'별 정책 설정은 명확히 구분되어야 할 것이다.
본 발명은 이러한 각각의 '단위 파일'별로 행위를 분석하고 정규화함으로써 최종적으로 이들 '단위 파일'에 관한 정보를 제공하고 정책을 수립할 수 있도록 하는 것에 목적이 있는 것이다.
도 2에 도시된 바와 같이, 본 발명에 따른 단위 파일별 행위 분석 시스템은 후킹 모듈(H)(hooking module), 분석 모듈(110)(analyzing module), 전송 모듈(120)(transfer module), 정책 모듈(130)(policy module), 감시 모듈(140)(watching module) 및 데이터베이스(150)를 포함한다.
데이터베이스(150)는 최초 모든 정보를 수집 및 저장하는 빅 데이터 플랫폼(151)(big data platform)과, 수집된 정보를 분류하는 분류 모듈(classification module) 및 분류된 정보를 저장하는 정규화 데이터베이스(153)(normalization DB)로 이루어진다.
여기서, 후킹 모듈(H)은 도 2와 같은 운영체제(OS)의 커널 레이어(kernel layer)에서 일어나는 모든 동작을 후킹(hooking)하여 프로세스(process)와 애드 인(add-in)의 요청 또는 처리 내역 등을 비롯한 다양한 정보를 각 단위 파일별로 분석 모듈(110)에 제공한다.
이러한 후킹 모듈(H)은 도 3에 도시된 바와 같이 API(Application Program Interface) 후킹부, SSDT(System Service Description Table) 후킹부, IRP(I/O Request Packet) 후킹부 및 IDT(Interrupt Descriptor Table) 후킹부를 포함한다.
SSDT 후킹부는 Native API, 레지스트리 및 방화벽 등을 후킹하고, IRP 후킹부는 파일 시스템(read/write), 네트워크 시스템(패킷 전송), PNP(장치인식) 및 전원 등을 후킹하며, IDT 후킹부는 시스템 오류, 어플리케이션 오류, 메모리 사용 및 하드웨어 동작 등을 후킹한다.
분석 모듈(110)은 상기 후킹 모듈(H)을 통해 수집된 단위 파일에 대한 정보를 분석, 분류 및 정규화하여 저장하는 것으로, 사용자의 정보 수집 정책에 따라 좀더 상세한 정보를 추가로 수집하거나 혹은 수집된 정보를 삭제하기도 한다.
특히, 분석 모듈(110)은 HDD, CD-ROM, 플래쉬 메모리를 비롯한 다양한 하드웨어에 저장된 각각의 단위 파일별로 수집된 정보들을 분석하여 조합한 행위 레코드(behavior record)를 생성한다.
행위 레코드는 일 예로 각 단위 파일과 관련된 호스트의 SID(Security ID), 사용자 계정(User ID), 행위의 명칭(behavior name), 사용 파일(used file) 정보 및 동작 파일(activated file) 정보를 포함한다. 다만, 행위 레코드에 포함된 정보는 실시예에 따라 달라질 수 있다.
이때, 사용 파일은 하드웨어에 저장되어 있던 단위 파일이 사용자 레이어(user layer)의 프로세스(process) 또는 애드 인(Add-In)에 의해 사용되어진 정보를 나타내고, 동작 파일은 하드웨어에 저장되어 있던 단위 파일이 컴퓨터의 메모리에 올라와 직접 프로세스나 애드 인(Add-In) 등으로 동작된 정보를 나타낸다.
컴퓨터는 일반 개인용 PC는 물론, 그 외 회사의 업무용이나 서버용 PC, 자체에 컴퓨팅 기능이 있는 스마트 폰 및 테블릿 PC 등을 포함하는 넓은 의미의 것을 의미한다.
애드 인은 단위 파일이 메모리에 올라와 독립된 프로세스로 동작하지는 않지만 다른 프로세스의 일부분으로 동작하는 것으로, 예를 들면 Adobe의 flash player, MS-Windows의 DLL파일과 OCX(Active-X), 구글이나 네이버와 같은 웹 브라우저의 tool bar 등을 의미한다.
한편, 이상과 같은 분석 모듈(110)은 도 4에 도시된 바와 같이 후킹 모듈(H)로부터 수집된 정보를 이용하는 구성으로 파일 분석부(111), 동작 분석부(112), 행위 레코딩부(113), 질의부(114) 및 정책 실행부(115)를 포함한다.
파일 분석부(111)는 단위 파일의 분류 측면에서 단위 파일이 사용 파일(used file)인지 또는 동작 파일(activated file)인지 분석하고, 동작 분석부(112)는 단위 파일의 행위 측면에서 단위 파일이 사용된 내역인 사용 정보(used information)와 단위 파일이 행위한 내역인 행위 정보(beahvior information)를 분석한다.
동작 파일이라도 다른 파일에 대해서는 사용 파일로 작용할 수 있고, 반대로 다른 파일에 의해 사용된 사용 파일이라도 그 자체로서 동작 파일일 수 있으므로, 파일 분석부(111)와 동작 분석부(112)에서 각각 세밀하게 분석한다.
행위 레코딩부(113)는 파일 분석부(111)와 동작 분석부(112)를 통해 분석된 단위 파일의 정보를 비롯한 각종 ID 정보를 조합하여 행위 레코드를 생성한다. 행위 레코드는 상술한 바와 같이 호스트 SID, 사용자 계정, 행위의 명칭, 사용 파일 정보 및 동작 파일 정보를 포함한다.
질의부(114)는 정책 모듈(130)에 질의(query)를 한다. 정책 모듈(130)에는 해당 단위 파일에 대한 후킹 여부, 단위 파일 접근 권한, 단위 파일 행위 제한이나 차단 및 사용자가 예약한 작업 내용 등과 같은 다양한 정책이 기록되어 있다.
따라서, 질의부(114)에서 단위 파일에 대한 행위 레코드를 전송하여 해당 행위 레코드에 대한 정책을 질의하면, 정책 모듈(130)은 그 행위 레코드에 맞는 정책을 판단하여 분석 모듈(110)에 답변하고, 그에 따라 해당 행위 레코드를 갖는 단위 파일의 실행을 허용 또는 차단하는 등 정책이 자동으로 실행되게 한다.
특히, 그 행위 레코드에 대한 정책이 사용자의 의해 설정된 통지 행위에 해당하면(예: 단위 파일이 실행되어 사용자의 개인 폴더에 접근시 경고) 컴퓨터의 화면을 통해 이 같은 행위가 시도되고 있는 사실을 알릴 수 있게 한다. 물론, 컴퓨터의 화면 이외에 VoIP나 메신저 서버 등을 이용하여 사용자의 이동통신단말기 등으로 내용을 전송할 수도 있다.
또한, 그 행위 레코드에 대한 정책이 불필요 또는 제거 등으로 설정된 경우에는 해당 단위 파일에 대한 더 이상의 후킹은 중단하고 행위 레코드를 삭제함으로써 전송 모듈(120)을 통해 데이터베이스(150)로 전송하는 것을 막는다.
반면, 그 행위 레코드에 대한 정책이 중요 또는 정보수집 추가 등으로 설정된 경우에는 관련된 다른 단위 파일까지 모두 후킹하여 정보를 수집할 수 있게 한다. 예컨대, *.exe나 *.dll 파일은 하나도 예외없이 모두 정보를 수집하게 하는 등 다양한 유연성을 갖고 후킹을 실행하거나, 혹은 사용되어진 파일을 복사하여 그 복사본을 전송 모듈(120)을 통해 전송하기도 한다.
정책 실행부(115)는 정책 모듈(130)의 정책에 따른 정책을 자동으로 실행하는 것으로, 행위 파일의 삭제하거나 혹은 그 행위 파일을 데이터베이스화하는 경우에는 전송 모듈(120)을 통해 데이터베이스(150)로 전송하는 것을 비롯하여 다양한 정책을 실행한다.
다만, 분석 모듈(110)에는 후술할 전송 모듈(120)과 마찬가지로 큐 버퍼(Queue Buffer)를 포함하고 있는 것이 바람직한데, 후킹 모듈(H)로부터 수집된 정보를 전달받은 분석 모듈(110)은 일단 아무런 처리 없이 일단 큐 버퍼에 정보를 저장한다. 이로써 후킹 모듈(H)은 멈춤 없이 지속적으로 정보를 수집한다.
큐 버퍼에 저장된 정보는 하나씩 분석 모듈(110)에 의해 분석 및 분류하고 정규화 된다. 이러한 분석 모듈(110)은 해당 “단위 파일”에 대한 사용자의 정보수집 정책에 따라 수집된 정보를 버리거나 추가적으로 상세한 정보를 수집하는 행위를 한다.
분석 모듈(110)은 큐 버퍼가 너무 커지는 경우 시스템의 하드디스크(HDD)상에 파일을 생성하여 큐 버퍼로 사용한다.
전송 모듈(120)은 분석 모듈(110)에서 생성된 행위 레코드를 데이터 버스 또는 네트워크 등을 통해 데이터베이스(150)로 전송한다.
데이터베이스(150)가 컴퓨터 자체에 탑재된 HDD이거나 외장형 대용량 메모리인 경우에는 데이터 버스를 이용할 것이고, 데이터베이스(150)가 별도로 구비된 서버인 경우에는 네트워크 망을 통해 원격으로 전송할 것이다.
뿐만 아니라 네트워크 망을 사용하지 못하는 경우 일단 탑재된 HDD에 저장하였다가 추후 네트워크 망이 사용 가능해지면 네트워크 망을 통해 원격으로 전송할 것이다.
네트워크를 이용하여 데이터를 전송시 바람직하게는 비동기(Asynchronous) 방식으로 처리하는데, 비동기 전송 방식을 사용하는 이유는 공지된 바와 같이 데이터 전송시 대기 시간이 없도록 하기 위함이다.
후킹 모듈(H)에 의해 후킹되는 IRP 중 일부는 중지되어선 안되는 매우 중요한 것들이 있는데, 이때 처리가 짧은 시간에 완료되지 못하고 길어지면 해당 IRP가 실패하고 시스템은 치명적인 오류를 일으킬 수 있다. 따라서, 데이터 전송은 비동기 방식을 채택한다.
또한, 전송 모듈(120)에도 필요에 따라서는 큐 버퍼(Queue Buffer)를 탑재할 수 있다. 큐 버퍼는 분석 모듈(110)에서 전송을 위해 호출시 당해 큐 버퍼에 우선 저장한 후 호출을 종료하여 데이터 전송이 완료되게 함으로써 분석 모듈(110)이 대기하는 일이 없게 한다. 큐 버퍼의 용량을 위해 컴퓨터 HDD 상의 저장공간을 사용할 수도 있다.
정책 모듈(130)은 후킹 모듈(H)과 분석 모듈(110)은 물론 데이터베이스(150)에 적용될 각종 정책들을 제공하는 것으로, 바람직하게는 정책 메모리(130a)에 각 정책을 저장한다.
예컨대, 정책 모듈(130)에 기록된 정책에 따라 동작 파일이 다른 파일 또는 폴더에 접근하는 것을 차단 또는 허용하거나, 동작 파일이 프로세스 또는 애드 인으로 동작하는 것을 차단 또는 허용한다.
정책 메모리(130a)에 저장되는 각종 정책은 기본적으로 설정되어 있는 것도 있지만 보통은 감시 모듈(140)을 통해 사용자에 의해 설정 및 저장된 것이다. 따라서, 사용자는 다양한 정책을 자유롭게 설정할 수 있게 된다.
이를 위해, 도 5에 도시된 바와 같이 정책 모듈(130)은 정책 유지부(131)와, 정책 검색부(132) 및 정책 동기화부(133)를 포함한다.
정책 유지부(131)는 감시 모듈(140)을 통해 입력되는 사용자의 정책을 입력받아 상기 정책 메모리(130a)에 기록한다.
정책 검색부(132)는 분석 모듈(110)에서 해당 행위 레코드에 대한 정책을 질의시 정책 메모리(130a)를 탐색하여 분석 모듈(110)에 답변한다. 이를 통해 분석 모듈(110)에서 정책이 실행된다.
정책 동기화부(133)는 데이터베이스(150)에 기록되어 있는 정책과 동기화시킨다. 즉, 사용자에 의해 정책 메모리(130a)에 저장된 정책이 바뀌면 데이터베이스(150)의 정책도 업데이트되게 함으로써 이들 정책이 서로 동일하게 한다.
정책 메모리(130a)에 저장될 수 있는 정책의 종류 및 개수에는 어느 정도 한계가 있으므로 모든 정책은 데이터베이스(150)에 저장되고, 그 중 필요한 것만 정책 메모리(130a)에 저장한다. 이를 통해 정책 모듈(130)은 신속하게 정책을 검색하여 분석 모듈(110) 등으로 제공한다.
감시 모듈(140)은 데이터베이스(150)에 저장 및 분류되어 있는 각종 정보를 조회하여 확인할 수 있게 하고, 행위 레코드에 표시될 사용자 코멘트(User Comment)나 정책 메모리(130a)에 저장될 정책을 등록한다. 등록된 사용자 코멘트나 정책은 자동으로 각 모듈로 전달된다.
이를 위해 감시 모듈(140)은 정보 조회부(141), 정책 설정부(142), 유저 코멘트 설정부(143) 및 이벤트 발생 알림부(144)를 포함한다.
정보 조회부(141)는 데이터베이스(150)에 저장된 행위 레코드들을 검색 및 조회할 수 있도록 돕는다. 검색 및 조회시 파일의 확장자별 정렬, 행위 레코드의 기록 시간 순서별 정렬, 검색어 입력창 제공을 통한 정보 조회 등을 비롯한 다양한 방식이 제공된다.
정책 설정부(142)는 사용자에 의해 선택된 정책을 설정한다. 정책 설정부(142)를 통해 설정된 정책은 정책 모듈(130) 즉, 더욱 상세하게는 정책 메모리(130a)에 저장되며, 정책 메모리(130a)에 저장된 정책은 데이터베이스(150)에 저장된 정책과 동기화 과정을 통해 동기화된다.
정책에는 행위 레코드의 항목별 행위를 차단하는 차단 정책과, 행위 레코드의 항목별 감시대상과 비감시대상을 지정하는 감시 정책과, 행위 레코드의 항목별 수집 정보를 얼마나 상세하게 수집할 것인지 지정하는 수집 정책 및 행위 레코드의 항목별 특정행위 발생시 사용자 또는 관리자에게 통지하는 통지 정책 등을 포함한다.
따라서, 상술한 바와 같은 해당 단위 파일에 대한 후킹 여부, 단위 파일 접근 권한, 단위 파일 행위 제한이나 차단 및 사용자가 예약한 작업 내용 등 다양한 정책이 자동으로 수행되게 한다.
예컨대, 질의부(114)에서 단위 파일에 대한 행위 레코드를 전송하여 정책을 질의하면, 정책 모듈(130)은 그 행위 레코드에 맞는 정책을 판단하여 분석 모듈(110)에 답변하고, 그에 따라 해당 행위 레코드를 갖는 단위 파일의 실행을 허용 또는 차단한다.
특히, 그 행위 레코드에 대한 정책이 사용자의 의해 설정된 통지 행위에 해당하면(예: 단위 파일이 실행되어 사용자의 개인 폴더에 접근시 경고) 컴퓨터의 화면을 통해 이 같은 행위가 시도되고 있는 사실을 알릴 수 있게 한다.
또한, 그 행위 레코드에 대한 정책이 불필요 또는 제거 등으로 설정된 경우에는 해당 단위 파일에 대한 더 이상의 후킹은 중단하고 아울러 행위 레코드를 삭제하여 전송 모듈(120)을 통해 데이터베이스(150)로 전송하는 것을 막는다.
반면, 그 행위 레코드에 대한 정책이 중요 또는 정보수집 추가 등으로 설정된 경우에는 관련된 다른 단위 파일까지 모두 후킹하여 정보를 수집할 수 있게 한다. 이를 통해 *.exe이나 *.dll 파일은 하나도 예외 없이 모두 정보를 수집하게 하는 등 다양한 유연성을 갖고 후킹을 실행한다.
특히, 이상과 같이 감시 모듈(140)을 통해 단위 파일에 대한 정보를 편집하면, 그 자체로 단위 파일의 정책이 자동으로 완성되어 정책 모듈(130)에 기록된다. 또한, 사용자는 이 정보를 편집(예: 비활성화, 일부 제한, 접근 허가 등)하는 것만으로 그 단위 파일에 대한 사용 또는 동작 등과 관련한 정책이 완성된다.
따라서, 그 완성된 정책에 따라 프로세스 또는 애드 인이 사용한 API, 사용한 파일 내역, 사용한 자원(Memory, CPU) 내역, 시스템의 설정변경(방화벽 설정 등), 네트워크 패킷 송수신 내역, 사용한 주변장치(USB, CO-ROM 등)에 대한 사용을 차단 또는 허용한다.
뿐만 아니라, 완성된 사용자 정책에 따라 동작 파일(activated file)이 다른 단위 파일 또는 폴더에 접근하는 것을 차단 또는 허용하거나, 동작 파일이 프로세스 또는 애드 인으로서 동작하는 것을 차단 또는 허용한다.
한편, 유저 코멘트 설정부(143)는 저장된 단위 파일에 대한 객관적 또는 주관적 정보를 제공하는데 사용된다.
객관적 정보는 단위 파일이 실행되면 화면에 광고창이 자동으로 띄워지거나, 단위 파일이 실행되면 어느 사이트에 자동으로 접속되는지와 같은 정보를 의미하는 것으로, 사용자가 이러한 정보를 입력하여 언제든 해당 단위 파일의 객관적인 특성을 확인할 수 있게 한다.
주관적 정보는 사용자의 주관적 경험을 나타내는 것으로, 단위 파일의 어플리케이션 실행시 UI(User Interface)가 화려하다 등과 같이 그 프로그램이 불편하거나, 좋거나 혹은 바이러스의 의심이 든다 등과 같은 주관적인 특성을 확인할 수 있게 한다.
이벤트 발생 알림부(144)는 정책 모듈(130)이나 혹은 분석 모듈(110)에서 그 설정된 정책에 해당하는 이벤트가 발생시 화면을 통해 사용자에게 알린다.
예컨대, 평소 해킹의 우려가 의심스럽다고 설정한 단위 파일이나, 사용자가 지정한 폴더에 접근을 시도하는 단위 파일이 있으면 이를 화면에 알린다. 이를 통해 사용자는 편리하게 이벤트 발생 정보를 제공받는다.
데이터베이스(150)는 전송 모듈(120)을 통해 전송되는 모든 정보를 저장하는 빅 데이터 플랫폼(151)(bigdata platform)과, 상기 빅 데이터 플랫폼(151)에 저장된 행위 레코드들을 정책에 따라 분류하는 분류 모듈(152)(classification module) 및 상기 분류 모듈(152)에 의해 분류된 행위 레코들을 입력받아 저장하는 정규화 데이터베이스(153)(normalization DB)를 포함한다.
빅 데이터 플랫폼(151)은 대용량 데이터를 배치성으로 처리하기 위한 분산처리 프레임워크(framework)인 Hadoop 또는 구글, 페이스북, 트위터 등에서 사용하는 NoSql(Not Only SQL) 데이터베이스 시스템인 MongoDB 등이 일 예로 사용될 수 있다.
이러한 빅 데이터 플랫폼(151)은 분석 모듈(110) 및 전송 모듈(120)을 통해 전송된 모든 행위 레코드를 저장하는 것으로, 대용량 저장 공간과 빠른 데이터 처리를 주 목적으로 한다.
분류 모듈(152)은 빅 데이터 플랫폼(151)에 저장된 행위 레코드들을 정책에 따라 분류하는 것으로, 분류 행위를 통해 분류된 행위 레코드들만 선택적으로 정규화 데이터베이스(153)에 저장되게 한다. 분류 정책에는 정규화 데이터베이스(153)에 기 저장되어 있는 행위 레코드 제거, 동일 프로세스 실행시 정기적으로 반복되는 행위 레코드(예: IRP_MJ_Create 등)의 중복 제거 등이 있다.
이하, 이상과 같은 구성으로 이루어진 본 발명에 따른 단위 파일별 행위 분석 시스템의 해결 과제 및 그 효과 방법 측면에 대해 설명한다.
<해결 과제 측면>
이상과 같은 구성으로 이루어진 본 발명은 개인 사용자 또는 기업이 “행위 정보(Behavior Information)”와 “사용 정보(Used Information)”를 데이터베이스(150)로 구축하고 이를 활용할 수 있도록 하여 기존 선행기술들이 갖고 있는 문제점을 해결한다.
기업용 엔터프라이즈 서버뿐만 아니라 개인용 컴퓨터에서 사용되는 O/S도 IT발전 속도와 같은 속도로 그 크기가 거대해 졌다. 예를 들어 마이크로소프트의 Windows 7의 경우 O/S만 설치해도 약 9만개의 파일이 하드웨어(즉, 저장장치)에 저장된다.
또한, O/S의 규모가 커지는 만큼 어플리케이션들의 크기도 거대해 졌다. 예를 들어 MS-Office, 아래아 한글, 곰플레이어, 알집 등 기본적인 어플리케이션을 설치하면 하드웨어(즉, 저장장치)에 저장되는 단위 파일은 쉽게 10만개를 넘게 된다.
2012년 행정안전부와 방송통신위원회 조사결과 국내 200대 사이트 중 74%가 Active-X를 설치하고 있으며 웹 하드 서비스업체의 경우 파일 업로드와 다운로드를 위해 Active-X파일을 사용자 컴퓨터에 설치하고 있다.
이로 인해 IT지식이 없는 일반 사용자는 물론 IT전문가도 자신의 컴퓨터의 저장장치에 있는 모든 파일들의 정체를 파악하는 것은 불가능해졌다. 더욱이 각각 수십 만개의 단위 파일이 들어있는 컴퓨터가 수백대 또는 수천대가 있는 기업의 IT관리자는 더더욱 난관에 봉착하게 되었다.
이 수많은 단위 파일들 속에는 개인정보, 기업의 기밀정보, 바이러스 및 악성코드들이 한곳에 뒤섞여 있다. 꼭 바이러스나 악성코드가 아니라도 사용자의 컴퓨터에는 사용자도 모르는 사이에 수많은 파일들이 사용자의 저장장치에 복사되어 동작하고 있다.
개인 사용자와 기업의 IT관리자는 개인정보와 기밀정보를 보호하기 위해 백신, 방화벽 등 보안 솔루션을 도입하여 사용하고 있다. 이러한 보안 솔루션들은 그 방식에 따라 암호화 기술과, 행위기반(Behavior Base) 기술 및 데이터베이스기반 기술 등으로 나눌 수 있다.
정보보호를 위한 기존 여러 선행기술은 대부분 바이러스 또는 악성코드를 제거 하거나 차단(Blocking)하기 위한 방법을 제시한다. 또는 파일과 폴더에 접근하는 것을 차단하기 위한 방법을 제시하고 있다. 이러한 선행기술 중 대부분이 저장장치의 수많은 파일 중에서 바이러스와 악성코드를 구별하기 위해 데이터베이스를 이용하는 “데이터베이스 기반” 기술을 사용한다.
데이터베이스 기반 선행기술들은 바이러스의 패턴 또는 악성코드의 패턴, 파일의 저작권자(개발사), 제작일자, 버전, 크기, 안전성, 종류, 저작권정보와 같은 “Static Information”만을 수집하여 데이터베이스를 구축하며 수집방법 또한 전문가에 의해 수작업으로 이루어진다.
예를 들어 도 7a 및 도 7b에는 마이크로소프트사의 WinDbg(Windows Debugger)를 이용해 Windows의 “Notepad.exe”가 “NtReadFile” API를 호출하는 시점에 “Notepad.exe”의 User Memory에 있는 PEB(Process Environment Block)를 추적하는 과정의 일부를 나타낸 것이다.
그러나 해당 파일이 바이러스에 감염되었는지 또는 악성코드인지를 판별하기 위해서는 커널 메모리(Kernel Memory)에 있는 PCB(Process Control Block), TCB(Thread Control Block)등 보다 많은 정보를 추적해야 하며 이를 위해 복잡하고 어려운 과정을 거치게 되고 또한 전문가의 판단이 필요하다.
이러한 행위를 자동으로 처리하는 것이 불가능하기 때문에 기존 선행기술들은 이미 구축된 데이터베이스를 사용하여 응용하는 방법을 제시하고 있을 뿐 사용자 혹은 관리자 자신이 직접 데이터베이스를 구축하기 위한 방법은 제시하지 못하고 있다.
또한, 데이터베이스 기반 기존 선행기술들은 실행코드가 들어 있는 파일만을 대상으로 하거나 혹은 파일의 “Static Information”만을 이용해 데이터베이스를 구축하기 때문에, 본 발명과 같이 “행위 정보(Behavior Information)”와 “사용 정보(Used Information)”로 데이터베이스(150)를 구축하는 경우에 비해 제공되는 정보량이 매우 적었다.
또한 본 발명처럼“행위 정보”와, “사용 정보”및“사용자 코멘트(User Comment)”로 구축된 데이터베이스(150)를 제공받지 못한 사용자들은 프로그램과 프로세스에 대한 위험성을 사용자 스스로 판단하여 보안정책을 결정할 수 없었다.
이에, 사용자는 공급자가 제공하는 정책을 사용해야만 할 뿐 자신만의 정책과 데이터베이스(150)를 보유할 수 없었으며, 사용자와 기업은 자신만의 정책과 데이터베이스(150)를 갖지 못하여 보다 효과적인 정보보호행위를 하는데 많은 제약이 있었다.
한편, 암호화 기술을 사용하는 경우 문서의 내용을 암호화하여 기밀정보를 보호하는 DRM(Digital Rights Management) 솔루션 등이 있지만 해당 문서파일을 사용하는 모든 어플리케이션의 버전별로 DRM 솔루션과의 연동 기술을 매번 개발해야 하며 일부 어플리케이션의 경우 완벽하게 연동하는 것이 불가능한 문제로 인해 실용성이 떨어져 시장에서 사라지고 있다.
또한, 행위기반(Behavior Base) 기술을 사용하는 경우 데이터베이스의 이용 없이 어플리케이션에 대한 행위를 모니터링 하여 악의적 행위를 감지하여 바이러스 및 악성코드를 찾아 제거 및 차단한다.
그러나, 이 방식은 오직 악의적 행위를 감지하여 차단하는 것을 목적으로 하고 있으며 모든 행위를 대상으로 하고 있지 않고, 자신과 다른 회사의 보안 솔루션 또는 일반 사용자가 개발한 프로그램을 악성코드로 인식하여 공격하는 경우가 있다.
아울러 금융거래(증권거래)프로그램이 백신소프트웨어의 행위를 해킹행위로 인식하여 충돌이 발생하기도 한다. 이런 경우 둘 중 하나를 컴퓨터에서 제거해야 하는 문제가 발생한다.
<해결 방법 측면>
본 발명은“행위 정보”와 “사용 정보”및 “사용자 코멘트”로 구축된 데이터베이스(150)가 사용자에게 제공되어 사용자는 스스로 보안정책을 결정하고 수립할 수 있게 된다.
따라서, 개인 또는 기업은 중요문서 파일을 집중적으로 추적 모니터링하고 접근제어를 사용자 스스로 결정할 수 있는 길이 열리며 또 자신의 컴퓨터에서 사용자가 원하는 프로그램만 동작하는 것을 허용하거나 특정 프로그램이 사용하는 API를 제한하는 것에 등에 대한 정책을 스스로 수립할 수 있게 된다.
다만,“행위 정보”와 “사용 정보”를 데이터베이스(150)로 구축하고자 하는 경우 데이터를 저장하기 위해 일반 RDBMS(Oracle, MS-SQL) 보다는 빅 데이터(Big Data)를 처리하기 위해 설계된 Hadoop 또는 Google, Facebook, Twitter등에서 사용하는 NoSql(Not Only SQL) 데이터베이스 시스템인 MongoDB 등이 사용된다.
또한, 본 발명은 기존 선행기술과는 달리 데이터베이스(150)구축에 있어 프로그램 또는 프로세스만을 대상으로 하지 않고 모든 저장된 "단위 파일"을 대상으로 하며, “Static Information”뿐만 아니라 그에 더해 “행위 정보”와 “사용 정보” 및 “사용자 코멘트”역시 대상으로 한다.
또한, 정책 설정과 사용자 코멘트(user comment) 등을 통해 사용자가 데이터베이스(150)의 구축에 참여할 수 있는 방법도 제시된다. 이로써 사용자 또는 기업의 IT 관리자는 사용자 또는 기업만의 정책을 수립할 수 있으며, 개인 정보 및 기업의 중요파일에 대한 집중적인 모니터링과 통제가 가능해져 근본적인 해결책이 된다. 나아가, 개인 또는 기업만이 갖고 있는 특유의 파일에 대해서도 정책을 수립하여 보호할 수 있는 길이 열리게 된다.
또한, 본 발명은 저장 장치(즉, 하드웨어)에 저장되어 있는 모든 파일을 각각“단위 파일”이라 하고, 이를 “사용 파일”과 “동작 파일” 두 가지로 나누어 처리한다. “사용 파일”이란 파일이 임의의 프로세스(process) 또는 애드 인(Add-In)에 의해 사용되어 지는 파일을 말하며, “동작 파일”이란 파일 자신이 프로세스 또는 애드 인이 되어 동작하는 파일을 말한다.
“사용 파일”에 대한 정보를 수집하기 위해 후킹 모듈(H)은 파일이 다른 프로세스 또는 애드 인에 의해 사용되어 지는 순간 현재 사용자정보, 접근한 프로세스 또는 애드 인이 사용한 API등의 내용을 수집하여 분석 모듈(110)에 전달한다.
그리고,“동작 파일”에 대한 정보를 수집하기 위해 후킹 모듈(H)은 파일 자신이 컴퓨터의 메모리에 올라와 프로세스 또는 애드 인으로 동작하는 동안 현재 사용자정보, 사용한 API, 사용한 파일내역, 사용한 자원(Memory, CPU)내역, 시스템의 설정변경(방화벽 설정 등) 내역, 네트워크 패킷 내역, 사용한 주변장치(USB, CD-ROM등) 내역과 같은 정보를 수집하여 분석 모듈(110)로 전달한다.
위 “사용 파일”과 “동작 파일”에 대한 "행위 정보"와 “사용 정보”를 수집하기 위해 후킹 모듈(H)은 시스템 내부적으로 처리되는 API(Application Program Interface), IRP(I/O Request Packet), SSDT(System Service Description Table), IDT(Interrupt Descriptor Table) 등을 후킹(Hooking)한다.
그 예로서 SSDT(System Service Description Table)을 후킹하여 얻은 “행위 정보”을 보여주는 도 8은 “Notepad.exe”가 동작하면서 파일처리를 한 행위정보를 보여주고, 도 9는 “Notepad.exe”가 동작하며 레지스트리에 접근한 행위정보를 보여주고 있다
후킹 모듈(H)은 기존 선행기술들이 “프로그램” 또는 “프로세스”별로 수집된 정보를 이용하는 것과는 다르게 “사용 파일”과 “동작 파일”로 구분하여 수집을 하게 된다. 이로 인해 기존 선행기술에서는 불가능한 모든 애드 인에 대한 정보를 각각 별도로 제공하는 것이 가능해 진다.
후킹 모듈(H)은 “Static Information”를 수집하는 것이 아니라 “행위 정보”와 “사용 정보”를 수집하며 수집된 정보는 분석 모듈(110)로 전달된다.
후킹 모듈(H)로부터 수집된 정보를 전달받은 분석 모듈(110)은 아무런 처리 없이 일단 큐 버퍼(Queue Buffer)에 정보를 저장한다. 이로써 후킹 모듈(H)은 멈춤 없이 지속적으로 정보를 수집한다. 분석 모듈(110)은 큐 버퍼가 너무 커지는 경우 시스템의 하드디스크(HDD)상에 파일을 생성하여 큐 버퍼로 사용한다.
큐 버퍼에 저장된 정보는 하나씩 분석 모듈(110)에 의해 분석 및 분류하고 정규화된다. 이러한 분석 모듈(110)은 해당 “단위 파일”에 대한 사용자의 정보수집 정책에 따라 수집된 정보를 버리거나 추가적으로 상세한 정보를 수집하는 행위를 한다.
이때 MS-Windows시스템의 경우 PEB(Process Environment Block)와 PCB(Process Control Block)등의 정보를 추적하며, 최종적으로 완성된 정보는 빅 데이터 플랫폼(151)에 저장된다.
감시 모듈(140)은 정보를 검색하여 사용자에게 제공하거나, 사용자 또는 관리자가 제공한 “사용자 코멘트”를 빅 데이터 플랫폼(151) 혹은 정규화 데이터베이스(153)에 저장한다. 또한 사용자가 지정한 “단위 파일”에 대한 특정 “행위 정보”가 빅 데이터 플랫폼(151) 혹은 정규화 데이터베이스(153)에 저장되는 것을 감지하여 사용자에게 통지를 하여준다.
또 감시 모듈(140)은 특정 “단위 파일”에 대한 “행위 정보”와, “사용 정보”및 “사용자 코멘트”를 제공할 수 있다. 이때 사용자는 제공된 정보를 편집하는 것 만으로 해당 파일에 대한 행위를 제한할 수 있다.
예를 “행위 정보”를 편집하여 특정 행위를 하지 못하도록 할 수 있으며, “사용 정보”를 편집하여 특정 파일이 해당 파일에 접근하거나 사용하지 못하도록 할 수 있다.
사용자는 “단위 파일”이 프로세스 또는 애드 인으로 동작은 하되 해당 프로세스 또는 애드 인이 사용한 API, 사용한 파일 내역, 사용한 자원 내역, 시스템의 설정변경 내역, 네트워크 패킷 송수신 내역, 사용한 주변장치 내역 등을 감시 모듈(140)에서 제공하는 “행위 정보”와, “사용 정보” 및 “사용자 코멘트”를 통해 확인하여 이를 편집하는 것만으로 원하는 API의 사용을 금지하거나 또는 특정 파일의 접근을 차단하거나 또는 주변장치의 사용을 차단할 수 있다.
도 10과 도 11은 분석 모듈(110)에 의해 분석 및 분류하고 정규화된 정보를 이용하는 한 예를 보여 주고 있다. 도 10은 동작 파일 “hh.exe”(Microsoft Help Utility)의 “행위 정보”를 이용하여 사용자가 “IRP_MJ_WRITE”를 거부하도록 정책을 지정하여 파일에 대한 수정을 하지 못하도록 한 것을 나타낸다.
도 11은 반대로 “Inside Windows 2000 2nd Edition.chm”파일이 “사용 정보”를 이용하여 사용자가 “IRP_MJ_WRITE”를 거부하도록 정책을 지정하여 파일에 대한 수정을 하지 못하도록 한 것을 나타낸다.
도 10과 도 11에 도시된 윈도우 중 상측에 있는 윈도우는 종래와 같이 실행된 프로그램 또는 프로세서의 명칭을 보여주지만, 본 발명은 그에 더해 윈도우 중 하측에 있는 윈도우와 같이 상기 각 실행 파일에 대한 행위 정보와 사용 정보를 추가로 보여준다. 따라서, 종래 기술에 비해 충분한 정보를 사용자에게 제공한다.
이상, 본 발명의 특정 실시예에 대하여 설명하였다. 그러나, 본 발명의 사상 및 범위는 이러한 특정 실시예에 한정되는 것이 아니라, 본 발명의 요지를 변경하지 않는 범위 내에서 다양하게 수정 및 변형이 가능하다는 것을 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 것이다.
따라서, 이상에서 기술한 실시예들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이므로, 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 하며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
110: 분석 모듈 111: 파일 분석부
112: 동작 분석부 113: 행위 레코딩부
114: 질의부 115: 정책 실행부
120: 전송 모듈 130: 정책 모듈
131: 정책 유지부 132: 정책 검색부
133: 정책 동기화부 140: 감시 모듈
141: 정보 조회부 142: 정책 설정부
143: 유저 코멘트 설정부 144: 이벤트 발생 알림부
150: 데이터베이스 151: 빅 데이터 플랫폼
152: 분류 모듈 153: 정규화 데이터베이스
H: 후킹 모듈
112: 동작 분석부 113: 행위 레코딩부
114: 질의부 115: 정책 실행부
120: 전송 모듈 130: 정책 모듈
131: 정책 유지부 132: 정책 검색부
133: 정책 동기화부 140: 감시 모듈
141: 정보 조회부 142: 정책 설정부
143: 유저 코멘트 설정부 144: 이벤트 발생 알림부
150: 데이터베이스 151: 빅 데이터 플랫폼
152: 분류 모듈 153: 정규화 데이터베이스
H: 후킹 모듈
Claims (9)
- 운영체제(OS)의 커널 레이어(knrnel layer)에서 이루어지는 모든 행위를 후킹하는 후킹 모듈(H)(hooking module)과;
상기 후킹 모듈(H)에서 후킹한 정보들을 수집하여, 하드웨어에 저장된 각각의 단위 파일별로 상기 수집된 정보들을 분석하여 조합한 행위 레코드(behavior record)를 생성하는 분석 모듈(110)(analyzing module)과;
상기 분석 모듈(110)에서 생성된 행위 레코드를 데이터베이스(150)로 전송하는 전송모듈(transfer module)과;
상기 후킹 모듈(H)에서의 후킹 및 상기 분석 모듈(110)에서의 정보 수집 정책을 저장하였다가 제공하는 정책모듈(policy module); 및
상기 정책모듈에 따라 상기 데이터베이스(150)에 저장 및 수집된 정보를 조회하여 확인할 수 있게 하는 감시모듈(watching module);을 포함하되,
상기 분석 모듈(110)은,
상기 후킹 모듈(H)에서 제공되는 수집 정보를 이용하여 상기 각 단위 파일이 사용자 레이어(user layer)의 프로세스 또는 애드 인(add-in)에 의해 사용되는 사용 파일(used file)과 각 단위 파일이 컴퓨터의 메모리에 올라와 프로세스 또는 애드 인으로 동작하는 동작 파일(activated file)로 구분하는 파일 분석부(111)를 포함하는 것을 특징으로 하는 단위 파일별 행위 분석 시스템. - 삭제
- 제1항에 있어서,
상기 분석 모듈(110)은,
상기 사용 파일과 동작 파일에 대해 각각 프로세스 또는 애드 인에 의해 사용된 내역인 사용 정보(used information)와 컴퓨터의 메모리에 올라와 상기 프로세스 또는 애드 인으로 동작하면서 행위한 정보 내역인 행위 정보(behavior information)를 구분하는 동작 분석부(112)를 포함하는 것을 특징으로 하는 단위 파일별 행위 분석 시스템. - 제1항에 있어서,
상기 정책 모듈(130)에 기록된 정책에 따라 상기 동작 파일이 다른 파일 또는 폴더에 접근하는 것이 차단 또는 허용되거나, 상기 동작 파일이 상기 프로세스 또는 애드 인으로 동작하는 것이 차단 또는 허용되는 것을 특징으로 하는 단위 파일별 행위 분석 시스템. - 제1항에 있어서,
상기 분석 모듈(110)은,
상기 정책 모듈(130)에서 제공되는 정보 수집 정책을 참조하여 상기 후킹 모듈(H)로부터 단위 파일의 행위 정보를 수집하거나, 수집된 정보를 상기 데이터베이스(150)로 전송하지 않고 삭제하는 것을 특징으로 하는 단위 파일별 행위 분석 시스템. - 제1항에 있어서,
상기 감시 모듈(140)은,
사용자에 의해 선택된 정책을 설정하는 정책 설정부(142)를 포함하는 것을 특징으로 하는 단위 파일별 행위 분석 시스템. - 제6항에 있어서,
상기 정책 설정부(142)는,
상기 행위 레코드의 항목별 행위를 차단하는 차단 정책과, 상기 행위 레코드의 항목별 감시대상과 비감시대상을 지정하는 감시 정책과, 상기 행위 레코드의 항목별 수집 정보를 얼마나 상세하게 수집할 것인지 지정하는 수집 정책 및 상기 행위 레코드의 항목별 특정행위 발생시 사용자 또는 관리자에게 통지하는 통지 정책 중 어느 하나 이상을 설정하는 것을 특징으로 하는 단위 파일별 행위 분석 시스템. - 제1항에 있어서,
상기 데이터베이스(150)는,
상기 전송 모듈(120)을 통해 전송되는 모든 정보를 저장하는 빅 데이터 플랫폼(151)(bigdata platform)과, 상기 빅 데이터 플랫폼(151)에 저장된 행위 레코드들을 정책에 따라 분류하는 분류 모듈(152) 및 상기 분류 모듈(152)에 의해 분류된 행위 레코드를 입력받아 저장하는 정규화 데이터베이스(153)를 포함하는 것을 특징으로 하는 단위 파일별 행위 분석 시스템. - 제1항, 제3항 내지 제8항 중 어느 하나의 항에 있어서,
상기 감시 모듈(140)을 통해 상기 단위 파일에 대한 정보를 편집하면, 상기 단위 파일의 정책이 자동으로 완성되어 상기 정책 모듈(130)에 기록되고 정책이 자동으로 실행되는 것을 특징으로 하는 단위 파일별 행위 분석 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120103150A KR101383664B1 (ko) | 2012-09-18 | 2012-09-18 | 단위 파일별 행위 분석 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120103150A KR101383664B1 (ko) | 2012-09-18 | 2012-09-18 | 단위 파일별 행위 분석 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140036714A KR20140036714A (ko) | 2014-03-26 |
KR101383664B1 true KR101383664B1 (ko) | 2014-04-09 |
Family
ID=50645900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120103150A KR101383664B1 (ko) | 2012-09-18 | 2012-09-18 | 단위 파일별 행위 분석 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101383664B1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101684933B1 (ko) | 2015-05-15 | 2016-12-09 | 삼성에스디에스 주식회사 | 파일 송신 차단 방법 및 그 기능이 구비된 컴퓨팅 장치 |
KR101662162B1 (ko) * | 2016-03-18 | 2016-10-10 | 주식회사 블랙포트시큐리티 | 악성 코드의 감염 경로 역추적을 위한 사용자 행위 검출 방법 |
CN106156622A (zh) * | 2016-07-04 | 2016-11-23 | 北京金山安全软件有限公司 | 服务进程注册方法、装置和终端设备 |
CN117828173A (zh) * | 2023-09-08 | 2024-04-05 | 海创汇科技创业发展股份有限公司 | 一种政策的智能匹配和推送系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101057432B1 (ko) | 2010-02-23 | 2011-08-22 | 주식회사 이세정보 | 프로세스의 행위 분석을 통한 유해 프로그램을 실시간으로 탐지하고 차단하는 시스템, 방법, 프로그램 및 기록매체 |
-
2012
- 2012-09-18 KR KR1020120103150A patent/KR101383664B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101057432B1 (ko) | 2010-02-23 | 2011-08-22 | 주식회사 이세정보 | 프로세스의 행위 분석을 통한 유해 프로그램을 실시간으로 탐지하고 차단하는 시스템, 방법, 프로그램 및 기록매체 |
Also Published As
Publication number | Publication date |
---|---|
KR20140036714A (ko) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102495750B1 (ko) | 클라우드 기반 운영 체제 이벤트 및 데이터 액세스 감시를 위한 시스템 및 방법 | |
EP3262815B1 (en) | System and method for securing an enterprise computing environment | |
US8762948B1 (en) | System and method for establishing rules for filtering insignificant events for analysis of software program | |
US10154066B1 (en) | Context-aware compromise assessment | |
AU2023200009A1 (en) | Systems and methods for remote identification of enterprise threats | |
US8607340B2 (en) | Host intrusion prevention system using software and user behavior analysis | |
US9697352B1 (en) | Incident response management system and method | |
US10986117B1 (en) | Systems and methods for providing an integrated cyber threat defense exchange platform | |
US11403389B2 (en) | System and method of detecting unauthorized access to computing resources for cryptomining | |
US20090178142A1 (en) | End user risk management | |
US11775639B2 (en) | File integrity monitoring | |
US11636219B2 (en) | System, method, and apparatus for enhanced whitelisting | |
KR101383664B1 (ko) | 단위 파일별 행위 분석 시스템 | |
Grace et al. | Behaviour analysis of inter-app communication using a lightweight monitoring app for malware detection | |
US20230038774A1 (en) | System, Method, and Apparatus for Smart Whitelisting/Blacklisting | |
Vecchiato et al. | A security configuration assessment for android devices | |
KR101988747B1 (ko) | 하이브리드 분석을 통한 머신러닝 기반의 랜섬웨어 탐지 방법 및 장치 | |
CN116611058A (zh) | 一种勒索病毒检测方法及相关系统 | |
Anand et al. | RTR-Shield: Early Detection of Ransomware Using Registry and Trap Files | |
RU2825973C1 (ru) | Способ формирования запросов к большой языковой модели при мониторинге безопасности и реагировании на инциденты | |
RU2825972C1 (ru) | Способ применения больших языковых моделей при реагировании на инциденты информационной безопасности | |
KR102559482B1 (ko) | It 장비 반출입 관리 시스템 | |
RU2825975C1 (ru) | Способ комбинирования большой языковой модели и агента безопасности | |
Mohana et al. | Survey on Permission Based Android Malware Detection Techniques | |
US20240152612A9 (en) | System and method for cloud-based operating system event and data access monitoring |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170320 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180417 Year of fee payment: 5 |