KR100959277B1 - A system for preventing mbr(master boot record) attack of malicious codes using a control list at the kernel level and the computer-readable recording medium having recording the program thereof - Google Patents

A system for preventing mbr(master boot record) attack of malicious codes using a control list at the kernel level and the computer-readable recording medium having recording the program thereof Download PDF

Info

Publication number
KR100959277B1
KR100959277B1 KR1020090101845A KR20090101845A KR100959277B1 KR 100959277 B1 KR100959277 B1 KR 100959277B1 KR 1020090101845 A KR1020090101845 A KR 1020090101845A KR 20090101845 A KR20090101845 A KR 20090101845A KR 100959277 B1 KR100959277 B1 KR 100959277B1
Authority
KR
South Korea
Prior art keywords
mbr
list
system call
change
allow
Prior art date
Application number
KR1020090101845A
Other languages
Korean (ko)
Inventor
김기현
김상철
권진현
Original Assignee
에스지에이 주식회사
주식회사 레드게이트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스지에이 주식회사, 주식회사 레드게이트 filed Critical 에스지에이 주식회사
Priority to KR1020090101845A priority Critical patent/KR100959277B1/en
Application granted granted Critical
Publication of KR100959277B1 publication Critical patent/KR100959277B1/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/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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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
    • 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
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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/604Tools and structures for managing or administering access control systems

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)
  • Automation & Control Theory (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)

Abstract

PURPOSE: A system for preventing MOR(Master Boot Record) attack using a control list in a kernel level and a computer readable recording medium recording the same are provided to virtually record MBR change information even if a suspicious process does not change MBR, thereby accurately analyze whether all suspicious process including hidden process is malicious or not in advance. CONSTITUTION: A system call hooking controller(310) hooks a system call which requests the change of MBR(Master Boot Record) in a OS(Operating System). A control list manager(320) stores a control list including a allowance and denial list. A virtually changing unit(350) record a MBR modification information to a virtually changing storage according to MBR modification information of the system call. A malicious process determiner(340) determines a allowance and denial of the hooking system call based on the control list.

Description

커널계층에서 통제리스트를 이용한 MBR공격차단 시스템 및 그 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체 { A system for preventing MBR(Master Boot Record) attack of malicious codes using a control list at the kernel level and the computer-readable recording medium having recording the program thereof }A system for preventing MBR (Master Boot Record) attack of malicious codes using a control list at the kernel level and the computer- readable recording medium having recording the program clearly}

본 발명은 의심되는 프로세스가 MBR(마스터 부트 레코드) 변경요청을 하면 사용자가 설치를 거부하는 경우에도 변경 요청을 가상으로 처리하여 변경정보를 가상변경 저장소에 기록시키는 MBR 공격차단 시스템 및 그 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.The present invention records the MBR attack blocking system and the program that virtually process the change request and record the change information in the virtual change repository even when the suspect process requests the MBR (master boot record) change request. The present invention relates to a computer-readable recording medium.

또한, 본 발명은 프로세스의 MBR 변경 시스템콜이 허용되면 MBR 정보를 백업하고, 변경된 MBR의 악성코드 여부를 검사하여 존재하면 백업된 MBR로 복구하는 악 성프로세스 설치차단 시스템 및 그 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.In addition, the present invention backs up the MBR information when the MBR change system call of the process is allowed, and checks the malicious code of the changed MBR and restores to the backed up MBR if it exists. The present invention relates to a readable recording medium.

일반적으로 분산서비스거부공격(DDoS)에서 보듯이 악성프로세스는 개인용 컴퓨터(PC) 자원을 이용하여 공격한 후, 공격 증거를 삭제하기 위하여 하드디스크를 손상시키거나 MBR(Master Boot Sector)를 파괴하여 시스템이 부팅될 수 없도록 하고 있다.In general, as shown in the Distributed Denial of Service Attack (DDoS), malicious processes use personal computer (PC) resources to attack and then damage the hard disk or destroy the MBR (Master Boot Sector) to delete the evidence of attack. This prevents it from booting.

마스터 부트 레코드(Master Boot Record, 이하 'MBR'이라 한다)는 운영체계가 어디에, 어떻게 위치해 있는지를 식별하여 컴퓨터의 주기억장치에 적재될 수 있도록 하기 위한 정보로서 하드디스크나 디스켓의 첫 번째 섹터에 저장되어 있다. MBR은 또한 "파티션 섹터" 또는 "마스터 파티션 테이블"이라고도 불리는데, 그 이유는 하드디스크가 포맷될 때 나누어지는 각 파티션의 위치에 관한 정보를 가지고 있기 때문이다. 그 외에도, MBR은 메모리에 적재될 운영체계가 저장되어 있는 파티션의 부트 섹터 레코드를 읽을 수 있는 프로그램을 포함하고 있는데, 부트 섹터 레코드에는 다시 운영체계의 나머지 부분들을 메모리에 적재시키는 프로그램을 담고 있다. 그래서 컴퓨터가 부팅 과정에 접어들면 마스터 부트 레코드(Master Boot Record, 이하 'MBR'이라 한다)에 저장된 데이터를 읽어서 부팅을 시작한다. 따라서 MBR이 파괴되면 시스템이 부팅할 수 없게 된다.The Master Boot Record (hereinafter referred to as the MBR) is information that identifies where and how the operating system is located so that it can be loaded into the main memory of the computer and stored on the first sector of the hard disk or diskette. It is. The MBR is also called the "partition sector" or "master partition table" because it contains information about the location of each partition that is divided when the hard disk is formatted. In addition, the MBR contains a program that can read the boot sector record of the partition where the operating system to be loaded into memory is stored, which in turn contains the program that loads the rest of the operating system into memory. So when the computer enters the boot process, it starts by booting from the data stored in the Master Boot Record (MBR). Therefore, if the MBR is destroyed, the system will not be able to boot.

MBR을 공격하는 악성프로세스들은 이미 알려진 MBR 공격 악성코드와 알려지 지 않은 신종 또는 변종 MBR 공격 악성코드로 구분될 수 있고, 이미 알려진 MBR 공격 악성코드는 백신 등 보안 프로그램에 의해 검출되고 제거될 수 있다.Malicious processes that attack MBR can be divided into known MBR attack malware and unknown new or modified MBR attack malware, and known MBR attack malware can be detected and removed by security programs such as vaccines.

상기와 같이 MBR에 대하여 악성코드 감염여부를 검사하여 치료하는 기술의 일례가 [한국공개특허 제2006-0109520호(2006.10.23 공개), "변경된 위치의 마스터 부트 레코드의 바이러스 감염 여부를 판단하고 치료하는 장치 및 방법"](이하 선행기술 1)에 개시되어 있다. 상기 선행기술 1은 마스터 부트 레코드가 저장된 제 1 저장부 및 상기 제 1 저장부 내에 상기 마스터 부트 레코드의 저장 위치를 검색하며, 상기 마스터 부트 레코드의 바이러스 감염 여부를 판단하고 치료하는 바이러스 검사부를 포함하는 기술을 제시하고 있다.As described above, an example of a technique for inspecting and treating a malicious code infection for MBR is described in Korean Patent Laid-Open Publication No. 2006-0109520 (October 23, 2006), "Determining and treating a virus infection of a master boot record at a changed location. Device and method "] (hereafter Prior Art 1). The prior art 1 includes a first storage unit in which a master boot record is stored and a virus checker for searching a storage location of the master boot record in the first storage unit, and determining and treating a virus infection of the master boot record. The technology is presented.

그러나 알려지지 않은 신종 또는 변종 MBR 공격 악성코드인 경우, 이들 MBR 공격 악성코드가 누군가의 컴퓨터를 감염시켜 피해를 주면, 사용자가 자신의 컴퓨터에 이상 징후를 발견한 후 문제를 유발시킨 해당 프로그램을 찾아 백신 업체에 신고한다. 백신 업체는 신고 접수된 파일을 분석 후 해당 악성코드에 대한 진단 및 차단 백신을 제작하고 배포하여 더 이상의 다른 컴퓨터 사용자의 컴퓨터 시스템에 유입되지 않도록 MBR 공격 악성코드를 차단하고 치료한다.However, in the case of unknown new or variant MBR attack malware, if the MBR attack malware infects someone's computer and damages it, the user finds an abnormal symptom on his computer and finds the program that caused the problem. Report to the business. Vaccine company analyzes the file received and produces and distributes the diagnosis and blocking vaccine for the malicious code, and blocks and cures the MBR attack malware so that it does not flow into the computer system of other computer users.

따라서 신종 또는 변종 MBR 공격 악성코드 감염 시점으로부터 백신 프로그램으로 치료하는 시점까지는 어느 정도 시간이 소요되고, 그 시간 동안 악성코드는 단말기 내의 자원을 파괴하는 것은 물론, 타 단말기로 악성코드가 포함된 파일을 다량 전송하는 등 악성코드를 타 단말기로 확산시키는 문제점이 있다.Therefore, it takes some time from the time of infection of the new or modified MBR attack malware to the time of treatment with the anti-virus program, and during that time, the malware not only destroys resources in the terminal but also downloads the file containing the malware to other terminals. There is a problem in spreading malicious code to other terminals such as transmitting a large amount.

이를 극복하고자, 백신업체들은 사용자 신고에만 의존하지 않고 신종 및 변조 악성코드를 조기에 확보하기 위한 방안이 제시되고 있다. 즉, 시스템 커널에서 발생하는 특정 이벤트들, 예를 들어, 특정 파일의 쓰기, 특정 프로그램의 실행 또는 설치 등이 발생할 때, 프로세스를 검사하는 기술들이 제시되고 있다.To overcome this, vaccine companies have been proposed to secure new and altered malware early rather than relying on user notifications. That is, techniques for inspecting a process when specific events occurring in the system kernel, for example, writing of a specific file, execution or installation of a specific program, etc. occur.

이와 같은 기술의 일례가 [한국특허공개 제2007-0121195호(2007.12.27 공개), "시스템 이벤트 정보를 이용한 은닉 프로세스 탐지 시스템 및 방법"](이하 선행기술 2)에 개시되어 있다. 상기 선행기술 2는 커널 계층에서 실시간 시스템 자원 접근시 제공되는 시스템 이벤트 정보를 이용하여 프로세스 리스트를 추출하여 응용 계층에서 사용자에게 제공되는 프로세스 리스트와의 비교를 통해 커널 계층에만 제공되는 프로세스를 은닉 프로세스로 검출하고 제거하여 실시간으로 시스템에 존재하는 은닉 프로세스를 탐지하는 기술을 제시하고 있다.An example of such a technique is disclosed in Korean Patent Laid-Open Publication No. 2007-0121195 (published on December 27, 2007), "a hidden process detection system and method using system event information" (hereinafter, referred to as Prior Art 2). The prior art 2 extracts a process list using system event information provided when accessing real-time system resources in the kernel layer, and compares the process provided only to the kernel layer as a hidden process through comparison with the process list provided to the user in the application layer. The technology is proposed to detect and eliminate the hidden processes present in the system in real time.

또 다른 일례가 [한국특허공개 제2007-0107840호(2007.11.08 공개), "실시간 유해 프로그램 차단 방법과 익스플로러 초기화방법, 및 그러한 방법을 순차적으로 실행하기 위한 프로그램을 기록한 기록매체"](이하 선행기술 3)에 개시되어 있다. 상기 선행기술 3은 컴퓨터 시스템 내부에서 일어나는 파일 입출력, 특정 프로세스 실행 등과 같은 이벤트 발생시 그 이벤트가 컴퓨터 시스템에 악영향을 주는 유해 프로그램에 기초한 동작일 경우, 유해 프로그램의 동작이 이루어지기 전에 실시간으로 감지한 후 그 실행을 차단하고, 나아가 그 유해 프로그램을 제공한 모체 프로그램까지 추적 검출하여 그 모체 프로그램도 함께 제거함으로써 원천적으로 유해 프로그램의 동작을 차단시키는 방법에 관한 것이다.Another example is Korean Patent Laid-Open Publication No. 2007-0107840 (published on November 08, 2007), "Real-time harmful program blocking method and explorer initialization method, and a recording medium recording a program for sequentially executing such a method."] Technology 3). In the prior art 3, when an event such as file input / output, a specific process execution, etc. occurs inside a computer system, the event is based on a harmful program that adversely affects the computer system. The present invention relates to a method of blocking the execution of the malicious program and further detecting and detecting the parent program that provided the harmful program and removing the parent program as well.

그러나 상기 선행기술 2와 3은 시스템 이벤트가 발생되는 커널 계층에서 프로세스를 검사하므로 시스템에 부하가 가중될 수 있는 문제점이 있다. 즉, 프로세스의 검사 정밀도를 높이면 확인되지 않은 악성프로세스도 찾아낼 수 있으나 그만큼 가중되는 연산에 따라 시스템에 부하가 커지고, 시스템의 부하를 줄이기 위해 검사 정밀도를 낮추면 악성프로세스를 모두 검출할 수 없다.However, the prior arts 2 and 3 have a problem that the load on the system can be increased because the process is checked at the kernel layer where a system event occurs. In other words, if you increase the inspection precision of the process, you can find the unidentified malicious process. However, the weighting of the process increases the load on the system.

한편, 신종 또는 변종 MBR 공격 악성코드에 감염되어 시스템 부팅이 되지 않을 경우 치료 가능한 백신을 이용하여 PC(개인용 컴퓨터)를 켤 때에는 PC를 안전모드로 부팅한 후에 날짜를 하루 이전 등으로 변경하고, PC를 재부팅한 후 최신 백신으로 점검하고 나서 사용할 것을 권장하고 있다. MBR 공격 악성코드에 의해 심하게 공격당하는 경우에는 재부팅이 되지 않는 경우도 발생한다.On the other hand, when the system is not booted due to the infection of new or modified MBR attack malware, when the PC (personal computer) is turned on using a curable vaccine, the date is changed to one day before booting the PC in safe mode, After rebooting, it is recommended to check the latest vaccine before using it. MBR attack In case of being severely attacked by malware, a reboot may not occur.

상기와 같은 문제점을 해결하고자, 컴퓨터 시스템을 백업하고 복원하는 기술의 일례가 [한국등록특허 제10-0545689호(2006.1.24 공개), "컴퓨터 시스템의 백업 및 복원 방법 그리고 그 프로그램을기록한 기록매체"](이하 선행기술 4)에 개시되어 있다. 상기 선행기술 4는 컴퓨터 시스템의 백업 및 복원을 위한 프로그램을 하드디스크의 부팅미디어에 내장시키고, 상기 부팅미디어의 부팅순서를 수정 및 변경하여 상기 컴퓨터 시스템을 부팅하는 과정에서 상기 부팅미디어를 통해 선택적으로 백업 및 복원 프로그램을 실행하여 상기 컴퓨터 시스템을 백업할 때, 부팅에 필요한 마스터 부트 레코드(MBR) 및 각 드라이브의 파티션 테이블을 백업해 두었다가 상기 MBR, 파티션 테이블이 파괴되었을 경우 상기 MBR 및 파티션 테이블만 복원하 는 기술을 개시하고 있다.In order to solve the above problems, an example of a technique for backing up and restoring a computer system is disclosed in Korean Patent No. 10-0545689 (published on January 12, 2006), "Backup and Restoration Method of a Computer System, and a Recording Media Recording the Program. "] (Hereafter Prior Art 4). The prior art 4 has a program for backing up and restoring a computer system embedded in a booting medium of a hard disk, and selectively booting the computer system by modifying and changing the booting order of the booting medium. When backing up the computer system by executing a backup and restore program, back up the master boot record (MBR) and the partition table of each drive necessary for booting, and restore only the MBR and partition table if the MBR and partition table are destroyed. Discloses a technique.

그러나 컴퓨터 시스템을 백업하고 복원하여 재부팅되는 경우에도 컴퓨터 단말은 복구되더라도 MBR 공격 악성코드를 분석할만한 자료가 남아있지 않으므로, 악성코드 분석에 어려움이 있다.However, even when the computer system is backed up, restored, and rebooted, even though the computer terminal is recovered, there is no data to analyze the MBR attack malware, which makes it difficult to analyze the malware.

또한, 악성프로세스가 유포가 되어 각 컴퓨터 단말에서 MBR을 변경하여 파괴하려는 시도를 할 때, 사용자가 변경 허용을 하지 않으면 컴퓨터 시스템의 MBR은 파괴되지 않는다. 그러나 이 경우에도 여전히 악성프로세스에 의해 피해를 받을 가능성이 잠재되어 있다.In addition, when a malicious process spreads and attempts to change and destroy the MBR at each computer terminal, the MBR of the computer system is not destroyed unless the user permits the change. In this case, however, there is still the potential for damage caused by malicious processes.

악성프로세스가 원천적으로 밝혀져서 치료가 되어 삭제되지 않는다면, MBR 변경을 통해 파괴를 다시 시도할 것이다. 이때 사용자는 MBR 변경을 허용할 수도 있고, 특히, 그 컴퓨터 단말이 여러 사람에 의해 이용되면 다른 사용자에 의해 허용될 수도 있다.If the malicious process is found to be inherently untreated and deleted, it will attempt to destroy it again by changing the MBR. In this case, the user may allow the MBR change, and in particular, the computer terminal may be allowed by other users when the computer terminal is used by several people.

더욱 중요한 문제는, 사용자가 MBR 파괴를 허용하지 않으면 잠재적인 악성프로세스가 오랫동안 발견되지 않기 때문에, 나중에 더 큰 문제를 발생할 수도 있다는 점이다.More importantly, if the user does not allow the destruction of the MBR, the potential malicious process will not be discovered for a long time, which may cause further problems later on.

본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 의심되 는 프로세스가 MBR(마스터 부트 레코드) 변경요청을 하면 사용자가 설치를 거부하는 경우에도 변경 요청을 가상으로 처리하여 변경정보를 가상변경 저장소에 기록시키는 MBR 공격차단 시스템 및 그 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 것이다.An object of the present invention is to solve the problems described above, if the suspect process requests the MBR (Master Boot Record) change, even if the user refuses to install the change request to virtually process the change information To provide a computer-readable recording medium that records the MBR attack blocking system that records the change storage and the program.

또, 본 발명의 목적은 프로세스의 MBR 변경 시스템콜이 허용되면 MBR 정보를 백업하고, 변경된 MBR의 악성코드 여부를 검사하여 존재하면 백업된 MBR로 복구하는 악성프로세스 설치차단 시스템 및 그 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 것이다.In addition, the object of the present invention is to back up the MBR information if the MBR change system call of the process is allowed, and to check the malicious code of the changed MBR, and if present, the malicious process installation blocking system and the computer recording the program to restore to the backed MBR To provide a recording medium that can be read by.

상기 목적을 달성하기 위해 본 발명은 컴퓨터 단말에 설치되는 MBR(마스터 부트 레코드) 공격차단 시스템에 관한 것으로서, 상기 컴퓨터 단말의 운영체제에 MBR(마스터 부트 레코드)변경을 요청하는 시스템콜을 후킹하는 시스템콜 후킹통제부; 허용되는 프로세스를 등록한 허용 리스트와, 거부되는 프로세스를 등록한 거부리스트를 포함하는 통제리스트를 미리 저장해두는 통제리스트 관리부; 시스템콜의 MBR 변경 요청에 따라 MBR 변경정보를 가상변경 저장소에 가상으로 기록시키는 가상변경 처리부; 및 후킹한 시스템콜의 요청 프로세스가 상기 통제리스트의 허용 또는 거부 리스트에 속하는 것에 따라 시스템콜의 허용 또는 거부를 판단하고, 허용 또는 거부를 판단할 수 없는 경우 통제리스트의 의심 리스트에 등록하는 악성프로세스 판단부를 포함하고, 상기 악성프로세스 판단부는, 허용 또는 거부를 판단할 수 없으면 사용자에게 시스템콜의 허용여부를 요구하고, 사용자에 의해 거부되면 상기 가상변경 처리부가 MBR 변경요청을 가상으로 처리하도록 하는 것을 특징으로 한다.In order to achieve the above object, the present invention relates to an MBR (Master Boot Record) attack blocking system installed in a computer terminal, and a system call hooking a system call requesting an MBR (Master Boot Record) change to an operating system of the computer terminal. Hooking control unit; A control list manager which stores in advance a control list including an allow list for registering allowed processes and a reject list for registering rejected processes; A virtual change processor for virtually recording MBR change information in a virtual change repository according to an MBR change request of a system call; And a malicious process of determining whether to allow or reject the system call according to the request process of the hooked system call belonging to the allow or deny list of the control list, and registering the suspect list of the control list if the allow or deny cannot be determined. And a determination unit, wherein the malicious process determination unit requests the user to allow the system call if the user cannot determine whether to allow or deny, and causes the virtual change processing unit to virtually process the MBR change request if it is denied by the user. It features.

또, 본 발명은 MBR 공격차단 시스템에 있어서, 상기 통제리스트 관리부는 상기 컴퓨터 단말과 연결된 방역서버로부터 갱신리스트를 전송받아 통제리스트를 저장 또는 갱신하고, 상기 의심리스트와 MBR 변경정보를 상기 방역서버로 전송하는 것을 특징으로 한다.In addition, the present invention MBR attack blocking system, the control list management unit receives the update list from the prevention server connected to the computer terminal to store or update the control list, and the suspicious list and MBR change information to the defense server Characterized in that the transmission.

또, 본 발명은 MBR 공격차단 시스템에 있어서, 상기 시스템은, 상기 시스템콜이 허용되면 MBR에 저장된 정보(이하 변경전 MBR)를 백업하고, 변경된 MBR을 상기 통제리스트의 콘텐츠 시그너쳐 리스트로 검사하고, 상기 변경된 MBR에 악성코드가 포함된 것으로 판단되면 백업된 변경전 MBR로 복구하는 MBR 복구부를 더 포함하는 것을 특징으로 한다.In addition, according to the present invention, in the MBR attack blocking system, if the system call is allowed, the system backs up the information stored in the MBR (hereinafter referred to as MBR), and checks the changed MBR with the content signature list of the control list. If it is determined that the malicious code is included in the changed MBR, characterized in that it further comprises an MBR recovery unit for recovering the backup MBR before the change.

또, 본 발명은 MBR 공격차단 시스템에 있어서, 상기 악성프로세스 판단부는 시스템콜의 요청 프로세스를 의심 리스트에 등록시키면, 사용자에게 시스템콜의 허용여부를 요구하고 사용자의 허용여부에 따라 상기 요청 프로세스를 허용 또는 거부 리스트에 등록시키는 것을 특징으로 한다.In addition, in the MBR attack blocking system, when the malicious process determination unit registers the request process of the system call to the suspicious list, it requests the user to allow the system call and allows the request process according to the user's permission. Or to register in the reject list.

또, 본 발명은 MBR 공격차단 시스템에 있어서, 상기 통제리스트 관리부는 의심리스트에 등록된 프로세스 정보를 방역서버에 전송하되, 상기 프로세스 정보는 상기 시스템콜에 의해 변경된 MBR 변경정보 또는 상기 가상변경 저장소에 기록된 MBR 변경정보와 함께 방역서버에 전송되는 것을 특징으로 한다.In addition, in the MBR attack blocking system, the control list management unit transmits the process information registered in the suspicious list to the anti-virus server, the process information to the MBR change information or the virtual change storage changed by the system call Characterized in that the MBR change information is transmitted to the quarantine server.

또, 본 발명은 MBR 공격차단 시스템에 있어서, 상기 시스템은, 상기 시스템콜이 거부되는 경우 상기 시스템콜의 요청 프로세스를 중지 또는 삭제시키고, 갱신리스트가 수신되면 거부 리스트에 포함된 프로세스를 중지 또는 삭제 시키는 악성프로세스 차단부를 더 포함하는 것을 특징으로 한다.In addition, in the MBR attack blocking system, the system stops or deletes the request process of the system call when the system call is rejected, and stops or deletes the process included in the reject list when an update list is received. It characterized in that it further comprises a malicious process blocking unit.

또한, 본 발명은 컴퓨터 단말에 설치되어 상기 컴퓨터 단말에 가상변경 저장소를 만들어 MBR 공격차단 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로서, (a) 허용되는 프로세스를 등록한 허용 리스트와, 거부되는 프로세스를 등록한 거부리스트를 포함하는 통제리스트를 미리 저장해두는 단계; (b) 상기 컴퓨터 단말의 운영체제에 MBR(마스터 부트 레코드)변경을 요청하는 시스템콜을 후킹하는 단계; (c) 후킹한 시스템콜의 요청 프로세스가 상기 통제리스트의 허용 또는 거부 리스트에 속하는 것에 따라 시스템콜의 허용 또는 거부를 판단하여 허용 또는 거부를 하는 단계; (d) 허용 또는 거부를 판단할 수 없는 경우 상기 요청 프로세스를 통제리스트의 의심 리스트에 등록하는 단계; (e) 허용 또는 거부를 판단할 수 없으면 사용자에게 시스템콜의 허용여부를 요구하고, 사용자에 의해 거부되면 MBR 변경요청을 가상으로 처리해주고, MBR 변경정보를 가상변경 저장소에 기록시키는 단계를 포함하는 것을 특징으로 한다.In addition, the present invention relates to a computer-readable recording medium installed on a computer terminal and recording a program for executing an MBR attack blocking method by creating a virtual change storage on the computer terminal, and (a) an allow list for registering an allowed process. And storing in advance a control list including a reject list for registering the rejected process; (b) hooking a system call requesting an MBR (master boot record) change to an operating system of the computer terminal; (c) allowing or rejecting the system call by determining whether to allow or reject the system call as the request process of the hooked system call belongs to the allow or deny list of the control list; (d) registering the request process on a suspicious list of control lists if it is not possible to determine an allow or deny; (e) requesting the user to allow the system call if it cannot determine whether to allow or deny, processing the MBR change request virtually if rejected by the user, and recording the MBR change information in the virtual change repository. It is characterized by.

또, 본 발명은 MBR 공격차단 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서, 상기 방법은, (g1) 상기 시스템콜이 허용되면 MBR에 저장된 정보(이하 변경전 MBR)를 백업하는 단계; (g2) 상기 시스템콜을 운영체제로 전달하는 단계; (g3) 변경된 MBR을 상기 통제리스트의 콘텐츠 시그너쳐 리스트로 검사하는 단계; 및 (g4) 상기 변경된 MBR에 악성코드가 포함된 것으로 판단되면 백업된 변경전 MBR로 복구하는 단계를 더 포함하는 것을 특징으로 한다.In addition, the present invention is a computer-readable recording medium recording a program for performing the MBR attack blocking method, the method, (g1) if the system call is allowed to back up the information stored in the MBR (hereinafter MBR before change) Making; (g2) delivering the system call to an operating system; (g3) checking the modified MBR with the content signature list of the control list; And (g4) if it is determined that the malicious code is included in the changed MBR, the method further includes recovering the backed up MBR.

또, 본 발명은 MBR 공격차단 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서, 상기 (d)단계는, (d1) 상기 요청 프로세스를 의심 리스트에 등록하는 단계; (d2) 사용자에게 시스템콜의 허용 또는 거부 결정을 요구하는 단계; 및 (d3) 사용자의 허용여부에 따라 상기 요청 프로세스를 허용 또는 거부 리스트에 등록시키는 단계를 포함하는 것을 특징으로 한다.In addition, the present invention provides a computer-readable recording medium recording a program for performing the MBR attack blocking method, wherein step (d) comprises: (d1) registering the request process in a suspicious list; (d2) requesting the user to decide whether to accept or reject the system call; And (d3) registering the request process on the allow or deny list according to the user's permission.

또, 본 발명은 MBR 공격차단 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서, 상기 방법은 (f) 상기 의심리스트에 등록된 프로세스 정보를 상기 컴퓨터 단말과 연결된 방역서버로 전송하는 단계를 더 포함하되, 상기 (f)단계에서, 상기 프로세스 정보는 상기 시스템콜에 의해 변경된 MBR 변경정보 또는 상기 가상변경 저장소에 기록된 MBR 변경정보와 함께 방역서버에 전송되는 것을 특징으로 한다.In addition, the present invention is a computer-readable recording medium recording a program for performing the MBR attack blocking method, the method comprises the steps of (f) transmitting the process information registered in the suspicious list to the quarantine server connected to the computer terminal The method may further include the step, wherein in the step (f), the process information is transmitted to the anti-breathing server together with the MBR change information changed by the system call or the MBR change information recorded in the virtual change repository.

상술한 바와 같이, 본 발명에 따른 MBR 공격차단 시스템 및 그 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 의하면, 의심되는 프로세스가 MBR을 실제 변경하지 않더라도 MBR 변경정보를 가상으로 기록시킴으로써, 은닉 프로세스를 포함하는 모든 의심 프로세스의 악성여부 분석을 조기에 보다 정확하게 수행할 수 있는 효과가 얻어진다.As described above, according to the MBR attack blocking system and a computer-readable recording medium recording the program according to the present invention, even if the suspected process does not actually change the MBR, by virtually recording the MBR change information, The effect of performing more precisely early and more malicious analysis of all suspicious processes is obtained.

또한, 본 발명에 따른 MBR 공격차단 시스템 및 그 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 의하면, MBR이 변경되더라도 이를 백업하고 악성코드가 포함된 것으로 판단되면 복구함으로써, 실수로 악성프로세스의 MBR 공격을 허용하더라도 치명적인 시스템 파괴를 방어할 수 있는 효과가 얻어진다.In addition, according to the MBR attack blocking system and a computer-readable recording medium recording the program according to the present invention, even if the MBR is changed, it is backed up and recovered when it is determined that the malicious code is included, thereby accidentally attacking the MBR Even if it is allowed, the effect of defending against catastrophic system destruction is obtained.

이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the drawings.

또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.In addition, in describing this invention, the same code | symbol is attached | subjected and the repeated description is abbreviate | omitted.

먼저, 본 발명을 실시하기 위한 전체시스템을 도 1을 참조하여 설명한다.First, the entire system for implementing the present invention will be described with reference to FIG.

도 1에서 도시한 바와 같이, 본 발명을 실시하기 위한 전체 시스템은 다수의 컴퓨터 단말(10), 방역서버(30), 네트워크(20)로 구성된다. 방역정보를 저장하기 위한 방역정보DB(40)가 더 포함되어 구성될 수 있다. 한편, MBR 공격차단 시스템(300)은 상기 컴퓨터 단말(10)에 설치되어 실행된다.As shown in Figure 1, the entire system for implementing the present invention is composed of a plurality of computer terminals 10, defense server 30, network 20. Prevention information DB 40 for storing the prevention information may be further included. Meanwhile, the MBR attack blocking system 300 is installed and executed in the computer terminal 10.

컴퓨터 단말(10)은 사용자가 이용하는 통상의 컴퓨팅 단말기이다. 컴퓨터 단말(10)은 개인용 컴퓨터(PC), 노트북, 넷북, PDA 등이 있다. 컴퓨터 단말(10)에는 컴퓨터 시스템을 운영하기 위한 운영체제(OS)가 설치되고, 어플리케이션 프로그램들이 운영체제(OS) 상에 설치될 수 있다.The computer terminal 10 is a conventional computing terminal used by a user. The computer terminal 10 includes a personal computer (PC), a notebook computer, a netbook, a PDA, and the like. The computer terminal 10 may be provided with an operating system (OS) for operating a computer system, and application programs may be installed on the operating system (OS).

컴퓨터 단말(10)은 인터넷 등 네트워크(20)에 연결되고, 컴퓨터 단말(10)에는 네트워크(20)와 연결하기 위하여 네트워크 어댑터(또는 네트워크 인터페이스 카드, NIC)가 설치된다. 컴퓨터 단말의 운영체제(OS)는 파일 쓰기, 레지스트리 쓰기, 프로그램 실행(오픈), 드라이버 실행, 네트워크 데이터 전송, MBR 변경 등을 수행하는 시스템콜 서비스를 제공한다.The computer terminal 10 is connected to a network 20 such as the Internet, and the computer terminal 10 is provided with a network adapter (or network interface card, NIC) for connecting to the network 20. The operating system (OS) of the computer terminal provides a system call service that performs file writing, registry writing, program execution (opening), driver execution, network data transmission, MBR change, and the like.

MBR 공격차단 시스템(300)은 컴퓨터 단말(10)에 설치되며, 운영체제(OS) 상 에서 실행된다. MBR 공격차단 시스템(300)은 프로세스들이 요청하는 시스템콜을 후킹하고, 후킹한 시스템콜의 허용여부 또는 프로세스의 악성여부를 판단하여 시스템콜을 허용 또는 거부한다. 이때, MBR 공격차단 시스템(300)이 후킹하는 시스템콜 서비스는 MBR 변경 요청이다.The MBR attack blocking system 300 is installed in the computer terminal 10 and is executed on an operating system (OS). The MBR attack blocking system 300 hooks a system call requested by the processes, and allows or rejects the system call by determining whether the hooked system call is allowed or not. At this time, the system call service hooked by the MBR attack blocking system 300 is an MBR change request.

시스템콜의 허용은 시스템콜을 그대로 운영체제(OS)에 전달하는 것이고, 시스템콜의 거부는 시스템콜을 운영체제(OS)에 전달하지 않고 드롭(Drop)시키는 것을 의미한다. 또한, MBR 공격차단 시스템(300)은 허용여부를 판단할 수 없는 시스템콜의 요청 프로세스(이하 의심 프로세스)에 대한 정보를 수집한다.Allowing the system call is to pass the system call to the OS as it is, and rejection of the system call means to drop the system call without passing it to the OS. In addition, the MBR attack blocking system 300 collects information on the request process (hereinafter suspicious process) of the system call that can not determine whether to allow or not.

또한, 의심프로세스에 대해 수집하는 정보는 프로그램 코드, 프로세스의 시스템콜 요청 내용, 실행 프로세스의 상태, MBR 변경정보 등에 대한 정보이다. 이들 정보는 의심 프로세스가 악성프로세스인지 여부를 판단하기 위한 정보들이다.In addition, the information collected about the suspicious process is information about the program code, the system call request contents of the process, the status of the execution process, MBR change information, and the like. These pieces of information are used to determine whether the suspicious process is a malicious process.

MBR 공격차단 시스템(300)은 네트워크(20)를 통해 방역서버(30)에 접속하여 의심 프로세스 리스트 및 수집된 의심 프로세스에 대한 정보를 방역서버(30)에 전송하고, 악성 또는 정상 프로세스에 대한 갱신된 판단기준을 방역서버(30)로부터 수신한다.The MBR attack blocking system 300 accesses the anti-virus server 30 through the network 20 to transmit a list of suspicious processes and information on the collected suspicious processes to the anti-virus server 30, and updates the malicious or normal processes. The received judgment criteria are received from the prevention server 30.

악성 또는 정상 프로세스에 대한 판단기준은 통제리스트에 저장된다. 구체적으로, 통제리스트는 허용 리스트, 거부 리스트, 의심 리스트를 포함하여 구성되며, 허용 리스트에는 허용되는 프로세스, 거부 리스트에는 거부되는 프로세스를 등록한다. 의심리스트에는 의심 프로세스가 등록된다. 또한, 통제리스트는 콘텐츠 시그너쳐 리스트를 더 포함한다. 콘텐츠 시그너쳐 리스트는 MBR의 내용에 악성코드가 포 함되는지 여부를 판단하는 콘텐츠 시그너쳐를 포함한다. 즉, 특정 패턴(시그너쳐)이 MBR의 내용에 포함되면 악성코드가 포함된 것으로 판단한다.Criteria for malicious or normal processes are stored in a control list. Specifically, the control list includes an allow list, a deny list, and a suspicion list, and registers an allowed process in the allow list and a process denied in the deny list. The suspicious list registers suspicious processes. In addition, the control list further includes a content signature list. The content signature list includes a content signature that determines whether malicious code is included in the contents of the MBR. That is, if a specific pattern (signature) is included in the contents of the MBR, it is determined that malicious code is included.

한편, MBR 공격차단 시스템(300)은 수집된 의심 프로세스의 정보를 방역서버(30)에 전송하면, 방역서버(30)는 이들 정보를 수신하여 의심프로세스에 대해 악성코드인지를 정밀하게 검사한다. 이때, 의심프로세스에 대한 정보는 정밀검사에 매우 유용한 조사 데이터가 된다. 방역서버(30)에서 조사된 결과에 따라 의심 프로세스는 정상 또는 악성으로 판단되고, 허용 또는 거부 프로세스로 분류된다.On the other hand, when the MBR attack blocking system 300 transmits the collected suspicious process information to the anti-breathing server 30, the anti-breathing server 30 receives these information to accurately check whether the malicious code for the suspicious process. At this time, the information about the suspicious process is very useful survey data for overhaul. The suspicious process is determined to be normal or malicious according to the investigation result of the prevention server 30, and classified into a permit or deny process.

방역서버(30)는 다수의 컴퓨터 단말(10)로부터 의심 프로세스 정보들을 수집하여, 프로세스가 악성인지 여부를 판단한다. 만약 프로세스가 악성으로 판단되면, 방역서버(30)는 이 사실을 모든 컴퓨터 단말(10)에게 배포하여 전송한다.The anti-virus server 30 collects suspicious process information from a plurality of computer terminals 10 to determine whether the process is malicious. If the process is determined to be malicious, the anti-virus server 30 distributes this fact to all computer terminals 10 and transmits it.

MBR 공격차단 시스템(300)은 상기와 같이 분류된 프로세스 정보를 방역서버(30)로부터 갱신리스트(또는 통제리스트)로 수신하여, 최신 판단기준으로 통제리스트를 저장하거나 갱신한다. MBR 공격차단 시스템(300)은 갱신된 통제리스트를 참조하여, 시스템콜을 요청하는 프로세스를 감시하여 시스템콜을 차단 또는 허용한다.The MBR attack blocking system 300 receives the process information classified as described above as an update list (or a control list) from the prevention server 30, and stores or updates the control list based on the latest judgment. The MBR attack blocking system 300 blocks or allows the system call by monitoring the process of requesting the system call with reference to the updated control list.

따라서 최초에 하나의 컴퓨터 단말(10)에서 악성 프로세스가 설치된다하더라도, 상기 악성 프로세스에 대한 정보가 방역서버(30)로 전송하게 되고, 방역서버(30)는 상기 프로세스가 악성 프로세스임을 다른 모든 컴퓨터 단말(10)에 전송한다. 이로써 악성코드의 확산이 방지된다.Therefore, even if a malicious process is first installed in one computer terminal 10, the information about the malicious process is transmitted to the anti-virus server 30, the anti-virus server 30 is all other computers that the process is a malicious process Transmission to the terminal 10. This prevents the spread of malware.

"프로세스"의 용어는 "실행되는 프로그램"의 의미를 갖으나, 보다 넓은 의미인 "프로그램"의 의미도 포함하는 개념으로 사용한다. 즉, 이하에서, 프로세스의 용어는 "프로그램"의 의미로서도 사용될 것이다.The term "process" has the meaning of "program to be executed", but the term "program" is used to include the broader meaning. That is, in the following, the term of process will be used as the meaning of "program".

다음으로, 본 발명의 일실시예에 따른 MBR 공격차단 시스템의 구성을 도 2와 도 3을 참조하여 설명한다. 상기 MBR 공격차단 시스템(300)은 컴퓨터 단말(10)에 설치되고, 상기 컴퓨터 단말(10)의 운영체제는 MBR 변경 등의 프로세스 요청을 실행시키는 서비스를 제공한다.Next, the configuration of the MBR attack blocking system according to an embodiment of the present invention will be described with reference to Figs. The MBR attack blocking system 300 is installed in the computer terminal 10, and the operating system of the computer terminal 10 provides a service for executing a process request such as changing an MBR.

도 2와 도 3에서 보는 바와 같이, MBR 공격차단 시스템(300)은 시스템콜 후킹통제부(310), 통제리스트 관리부(320), 악성프로세스 판단부(340), 가상변경 처리부(350)를 포함한다. 추가적으로, 악성프로세스 차단부(330) 또는 MBR 복구부(360)를 더 포함하여 구성할 수 있다. 또, 데이터를 저장하기 위한 데이터 저장소(400)를 포함할 수 있다.2 and 3, the MBR attack blocking system 300 includes a system call hooking control unit 310, control list management unit 320, malicious process determination unit 340, virtual change processing unit 350 do. Additionally, the malicious process blocking unit 330 or the MBR recovery unit 360 may be further included. It may also include a data store 400 for storing data.

시스템콜 후킹통제부(310)는 컴퓨터 단말(10)의 운영체제에 MBR 변경을 요청하는 시스템콜(210)을 후킹한다. 시스템콜 후킹통제부(310)는 쓰기 또는 실행에 대한 시스템콜(210)을 모두 후킹하여 악성 여부를 판단하나, 본 발명은 이중에서 MBR 변경 시스템콜에 관한 것이므로, 설명의 편의를 위해 이하에서 MBR 변경 시스템콜(210)에 한정하여 설명한다.The system call hooking control unit 310 hooks the system call 210 requesting the MBR change to the operating system of the computer terminal 10. The system call hooking control unit 310 determines whether malicious by hooking all the system call 210 for writing or execution, but the present invention relates to the MBR change system call in the double, MBR in the following for convenience of description The following description will be limited to the change system call 210.

시스템콜 후킹통제부(310)는 시스템 호출 후킹 기법을 이용하고 있다. 즉, 상기 시스템콜 후킹통제부(310)는 전체 시스템 호출 루틴에 대한 목록을 가지고 있 는 시스템 호출 테이블(sys_call_table)의 벡터 내용을 직접 수정하여 시스템콜 후킹통제부(310) 내에서 구현된 함수 루틴을 수행한 후, 시스템 호출 루틴을 수행하도록 한다. 즉, 원래의 시스템 호출 루틴은 시스템콜 후킹통제부(310) 내의 함수로 대치되며, 시스템콜 후킹통제부(310) 내의 함수는 후킹통제에 필요한 작업을 수행한 후, 원래의 시스템 호출 루틴을 수행한다.The system call hooking control unit 310 uses a system call hooking technique. That is, the system call hooking control unit 310 directly modifies the vector content of the system call table (sys_call_table) having a list of the entire system call routines, and thus is a function routine implemented in the system call hooking control unit 310. After executing, execute the system call routine. That is, the original system call routine is replaced with a function in the system call hooking control unit 310, and the function in the system call hooking control unit 310 performs an operation required for hooking control and then performs the original system call routine. do.

도 3에서 보는 바와 같이, 컴퓨터 단말(10)에서 프로그램들은 사용자 계층과 커널 계층으로 나뉘어 실행된다. 사용자 계층에서 응용 어플리케이션(또는 프로세스)이 실행되고, 커널 계층에서 운영체제(OS)내의 시스템 프로그램이 실행된다. 운영체제(OS)는 MBR 변경에 관한 시스템콜 서비스(이하 MBR 변경 시스템콜)를 제공한다. As shown in FIG. 3, in the computer terminal 10, programs are divided into a user layer and a kernel layer. Application applications (or processes) are executed in the user layer, and system programs in the operating system (OS) are executed in the kernel layer. The operating system (OS) provides a system call service (hereinafter referred to as MBR change system call) for MBR change.

한편, 시스템콜 후킹통제부(310)는 후킹한 시스템콜(210)을 일단 대기시킨다. 대기된 후킹 시스템콜은 시스템콜의 허용여부 결과에 따라, 운영체제(OS)에 전달되거나, 누락(Drop)된다. 즉, 허용되면 후킹한 시스템콜은 운영체제(OS)에 전달되고, 거부되면 후킹한 시스템콜은 운영체제(OS)에 전달되지 않고 드롭(Drop)된다.On the other hand, the system call hooking control unit 310 waits for the hooked system call 210 once. The waiting hooking system call is delivered to the operating system (OS) or dropped according to the result of the acceptance of the system call. That is, if allowed, the hooked system call is delivered to the operating system (OS), and if rejected, the hooked system call is dropped without being delivered to the operating system (OS).

다음으로, 통제리스트 관리부(320)는 시스템콜의 허용 또는 거부에 관한 판단기준을 정한 통제리스트를 저장하고, 방역서버(30)로부터 갱신리스트를 전송받아 상기 통제리스트를 갱신한다.Next, the control list management unit 320 stores the control list that sets the criteria for determining whether to allow or reject the system call, and receives the update list from the prevention server 30 to update the control list.

도 4에 보는 바와 같이, 통제리스트(410)는 허용 리스트(411), 거부 리스트(412), 의심 리스트(413)를 포함한다. 상기 리스트에 등록되는 것은 프로세스이 다. 즉, 시스템콜의 프로세스가 허용 리스트(411)에 등록되어 있으면 시스템콜이 허용되고, 거부리스트(412)에 등록되어 있으면 시스템콜이 거부된다. 의심 리스트(413)에는 허용 또는 거부 모두에 해당되지 않는 프로세스가 등록된다. 즉, 의심 리스트(412)에 등록된 프로세스는 확인되지 않는 프로세스이다.As shown in FIG. 4, the control list 410 includes an allow list 411, a deny list 412, and a suspicious list 413. It is a process that is registered in the list. That is, if the process of the system call is registered in the allow list 411, the system call is allowed, and if it is registered in the reject list 412, the system call is rejected. The suspicion list 413 registers processes that do not correspond to either allow or deny. That is, a process registered in the suspicion list 412 is a process that is not confirmed.

한편, 통제리스트(410)는 콘텐츠 시그너쳐 리스트(414)를 더 포함한다. 앞서 설명한 바와 같이, 콘텐츠 시그너쳐 리스트는 MBR의 내용에 악성코드가 포함되는지 여부를 판단하는 콘텐츠 시그너쳐를 포함한다.Meanwhile, the control list 410 further includes a content signature list 414. As described above, the content signature list includes a content signature that determines whether malicious code is included in the content of the MBR.

가상변경 처리부(35)는 시스템콜의 MBR 변경 요청을 가상으로 처리해주고, 변경정보를 가상변경 저장소(420)에 기록한다. 즉, 가상변경 처리부(35)는 마치 자신이 운영체제인 것처럼, 운영체제가 MBR 변경을 위한 작업을 수행하듯이 동일하게 수행하고 그 결과를 요청 프로세스에게 응답한다. 다만, 가상변경 처리부(35)는 변경되는 MBR을 실제 시스템 MBR 위치가 아닌 가상변경 저장소(420)에 기록한다.The virtual change processor 35 virtually processes the MBR change request of the system call, and records the change information in the virtual change repository 420. That is, the virtual change processing unit 35 performs the same as if the operating system performs the operation for changing the MBR, as if the operating system itself, and responds to the request process. However, the virtual change processing unit 35 records the changed MBR in the virtual change storage 420 instead of the actual system MBR location.

가상변경 저장소(420)는 별도로 할당된 저장공간으로서, 컴퓨터 단말(10)의 시스템에는 전혀 영향을 주지 않으나, 가상변경 저장소(420)에 기록된 MBR 정보는 실제 시스템의 MBR 형태와 동일하게 기록된다. 또, 가상변경 저장소(420)는 의심프로세스와 상기 의심프로세스가 변경하려는 MBR의 정보를 저장한다. 이로인해, 컴퓨터 단말 시스템에 실제 MBR이 변경되지 않으면서도 변경되었을 때와 동일한 MBR 정보를 얻을 수 있다.The virtual change storage 420 is a separately allocated storage space, which does not affect the system of the computer terminal 10 at all, but the MBR information recorded in the virtual change storage 420 is recorded in the same manner as the MBR form of the actual system. . In addition, the virtual change storage 420 stores the suspicious process and the information of the MBR to be changed by the suspicious process. This allows the computer terminal system to obtain the same MBR information as it did without changing the actual MBR.

악성프로세스 판단부(340)는 통제리스트(410)의 허용 또는 거부 리스트에 속 하는 것에 따라 시스템콜의 허용 또는 거부를 판단하고, 허용 또는 거부를 판단할 수 없는 경우 의심 리스트에 등록한다.The malicious process determination unit 340 determines whether the system call is allowed or denied according to the allow or deny list of the control list 410, and registers it on the suspicious list when the allow or deny cannot be determined.

구체적으로, 악성프로세스 판단부(340)는 시스템콜의 요청 프로세스가 허용 리스트 또는 거부 리스트에 등록되어 있으면 시스템콜을 허용 또는 거부로 판단하고, 요청 프로세스가 허용 리스트(411)와 거부 리스트(412)에 등록되어 있지 않으면 의심 프로세스로 분류하여 의심 리스트에 등록시켜 수집한다.Specifically, the malicious process determination unit 340 determines that the system call is allowed or denied if the request process of the system call is registered in the allow list or the deny list, and the request process allows the allow list 411 and the deny list 412. If it is not registered, it is classified as a suspicious process and registered by collecting it on a suspicious list.

즉, 악성프로세스 판단부(340)는 통제리스트(410)에 등록되어 있는지 여부만을 판단하여 허용 또는 거부를 결정한다. 그리고 허용 또는 거부가 정해지지 않는 것은 모두 의심되는 것으로 처리한다. 악성프로세스 판단부(340)는 매우 간단하게 판단하므로 시스템 부하가 상당히 줄어든다.That is, the malicious process determination unit 340 determines whether to allow or deny only by determining whether it is registered in the control list 410. Anything not allowed or denied is treated as suspect. Malicious process determination unit 340 is very simple, so the system load is significantly reduced.

한편, 악성프로세스 판단부(340)는 상기 요청 프로세스가 허용 리스트(411)와 거부 리스트(412)에 등록되어 있지 않으면, 사용자에게 상기 요청 프로세스에 대한 허용 여부를 요구하고 사용자의 허용여부에 따라 허용 또는 거부로 판단한다. 또, 악성프로세스 판단부(340)는 사용자의 허용여부에 따라 요청 프로세스를 허용 리스트(411) 또는 거부 리스트(412)에 등록시킨다. On the other hand, if the request process is not registered in the allow list 411 and the deny list 412, the malicious process determination unit 340 requests the user to allow or disallow the request process and allows the user according to whether the request is allowed. Or rejected. In addition, the malicious process determination unit 340 registers the request process in the allow list 411 or the deny list 412 according to the user's permission.

즉, 시스템콜의 허용여부가 명확하지 않으면, 그 허용 또는 거부를 사용자에게 요구하고, 사용자가 선택한 결과는 그대로 통제리스트에 반영되어 허용 또는 거부리스트에 등록된다. 따라서 다음에 요청 프로세스와 관련된 동일한 시스템콜이 요청되면, 악성프로세스 판단부(340)는 시스템콜을 통제리스트에 의해 허용 또는 거부될 것이다. 사용자에 의해 명확해졌으므로 두 번째는 의심으로 판단되지 않는 다.That is, if it is not clear whether the system call is allowed or not, the user is requested to allow or deny the call, and the result selected by the user is reflected in the control list and registered in the allow or deny list. Therefore, when the same system call related to the request process is requested next, the malicious process determination unit 340 will allow or reject the system call by the control list. As it is clear by the user, the second is not considered suspicious.

한편, 시스템콜이 사용자에 의해 허용되면, 이와 관련된 MBR 변경은 컴퓨터 단말(10)의 시스템 상에서 실제로 수행된다. 따라서 변경된 MBR 정보는 컴퓨터 시스템의 MBR 정보로부터 구할 수 있다.On the other hand, if the system call is allowed by the user, the MBR change related thereto is actually performed on the system of the computer terminal 10. Therefore, the changed MBR information can be obtained from the MBR information of the computer system.

그런데, 사용자에 의해 거부되는 경우, 악성프로세스 판단부(340)는 MBR 변경요청을 가상으로 처리시킨다. 사용자의 거부에 의해 바로 드롭되면 의심 프로세스가 무엇을 하려하였는지 알 수 없기 때문에 가상으로 MBR을 변경시켜 MBR 변경정보를 가상변경 저장소(420)에 기록시킨다.However, when rejected by the user, the malicious process determination unit 340 virtually processes the MBR change request. If it is dropped immediately by the user's rejection, since the suspicious process cannot know what it is trying to do, the MBR is virtually changed and the MBR change information is recorded in the virtual change repository 420.

즉, 시스템콜이 사용자에 의해 거부되면, 상기 시스템콜의 MBR 변경은 컴퓨터 단말(10)의 시스템 상에서 실제로 변경되지 않는 대신, 가상변경 처리부(350)에 의해 가상변경 저장소(420)에 변경되는 MBR이 기록된다. 따라서 이 경우에도 변경정보는 가상변경 저장소(420)에 기록된 정보로부터 구할 수 있다.That is, when the system call is rejected by the user, the MBR change of the system call is not actually changed on the system of the computer terminal 10, but instead is changed to the virtual change storage unit 420 by the virtual change processing unit 350. This is recorded. Therefore, even in this case, the change information can be obtained from the information recorded in the virtual change storage 420.

결과적으로 이하에서 보듯이, 사용자가 허용 또는 거부하더라도 요청프로세스는 의심리스트에 등록되어 수집되고 MBR 변경정보도 모두 수집되어 방역서버(30)로 전송되어 정밀검사를 받게 된다. 정밀검사 결과는 방역서버(30)와 연결된 모든 컴퓨터 단말(10)에 다시 배포되므로, 다른 컴퓨터 단말(10)들에 MBR이 변경되는 것을 방지할 수 있다. 즉, 요청 프로세스의 MBR 변경 요청이 사용자에 의해 거부되어 실제 변경되지 않더라도, 가상으로 기록된 MBR 변경정보를 바로 수집하여 정밀검사할 수 있다. 따라서 악성프로세스 초기의 MBR 변경 시도를 감지하고 MBR 변경 정보를 수집함으로써, 정밀하고 빠른 검출을 할 수 있다.As a result, as shown below, even if the user permits or rejects, the request process is registered and collected in a suspicious list, and all of the MBR change information is also collected and transmitted to the prevention server 30 for detailed inspection. Since the inspection result is redistributed to all computer terminals 10 connected to the anti-virus server 30, it is possible to prevent the MBR is changed in the other computer terminals (10). That is, even if the MBR change request of the request process is rejected by the user and is not actually changed, the virtually recorded MBR change information may be immediately collected and inspected. Therefore, by detecting the MBR change attempt at the beginning of the malicious process and collecting the MBR change information, precise and fast detection can be performed.

MBR 복구부(360)는 시스템콜이 허용되면 상기 MBR 정보를 백업하고, 변경된 MBR을 상기 통제리스트의 콘텐츠 시그너쳐 리스트로 검사하고, 상기 변경된 MBR에 악성코드가 포함된 것으로 판단되면 상기 백업된 MBR로 복구한다.The MBR recovery unit 360 backs up the MBR information if the system call is allowed, checks the changed MBR with the content signature list of the control list, and if it is determined that the changed MBR contains malicious code, the MBR information is returned to the backed MBR. Restore

즉, 시스템콜이 후킹된 상태에서, 통제리스트에 의해 시스템콜이 허용되거나 사용자에 의해 허용되는 경우에도, MBR 변경 요청이 악성프로세스에 의한 것일 수 있다. 특히, 사용자에 의해 허용되는 경우, 사용자가 악성프로세스인지 모르고 허용하는 경우가 많다.That is, even when the system call is hooked, even if the system call is allowed by the control list or is allowed by the user, the MBR change request may be caused by a malicious process. In particular, when allowed by the user, it is often allowed to know whether the user is a malicious process.

이를 위해, 먼저 MBR 복구부(360)는 시스템콜을 운영체제에 보내기 전에 현재 MBR의 상태를 백업한다. 그리고 MBR 복구부(360)는 시스템콜을 운영체제에게 수행시켜 MBR이 변경되면, 변경된 MBR에 대하여 악성코드 검사를 수행한다. 이때, 통제리스트의 콘텐츠 시그너쳐 리스트를 이용하여, MBR을 검사한다.To this end, first, the MBR recovery unit 360 backs up the state of the current MBR before sending a system call to the operating system. The MBR recovery unit 360 performs a system call to the operating system, and when the MBR is changed, the MBR recovery unit 360 performs a malicious code check on the changed MBR. At this time, the MBR is examined using the content signature list of the control list.

MBR 검사를 통해 변경된 MBR에 악성코드가 포함된 것으로 판단되면, MBR 복구부(360)는 백업된 MBR을 다시 MBR에 복사함으로써 복구한다If it is determined that the changed MBR includes malicious code through the MBR check, the MBR recovery unit 360 recovers the copied MBR by copying the back to the MBR.

한편, 악성프로세스 차단부(330)는 시스템콜이 거부되는 경우 상기 시스템콜의 요청 프로세스를 중지 또는 삭제시킨다. 거부는 통제리스트에 이미 등록되어 있는 경우와 사용자가 거부로 등록시키는 경우 모두 해당된다.Meanwhile, the malicious process blocking unit 330 stops or deletes the request process of the system call when the system call is rejected. Rejection applies both to the case where the control list is already registered and the user registers as rejection.

즉, 악성프로세스(악성프로그램)를 원천적으로 차단하기 위해, 프로세스가 실행중이면 중지시키고 삭제시키고, 실행하려는 경우에는 삭제시킨다. 바람직하게 는, 최종 중지 또는 삭제 전에 사용자에게 이를 알리거나 정지 또는 삭제에 대한 허가를 요청할 수도 있다.In other words, to block malicious processes (malware), stop and delete processes if they are running, and delete them if you want to run them. Preferably, the user may be notified of this prior to the final suspension or deletion or may request permission for the suspension or deletion.

악성프로세스 차단부(330)는 해당 프로세스 이외에도 이 프로세스와 관련된 파일 또는 레지스트리, 다른 프로세스 등도 함께 정지 또는 삭제시킬 수 있다.The malicious process blocking unit 330 may stop or delete a file, registry, and other processes related to the process in addition to the corresponding process.

한편, 통제리스트 관리부(320)가 수신하는 갱신리스트는 방역서버(30)가 의심 프로세스(의심리스트에 속한 프로세스)에 대하여 분석한 판단기준을 포함하되, 의심 프로세스는 허락 리스트 또는 거부 리스트로 분류되어 등록된다.Meanwhile, the update list received by the control list management unit 320 includes a criterion analyzed by the anti-virus server 30 about a suspicious process (process belonging to the suspicious list), but the suspicious process is classified into an allow list or a deny list. It is registered.

통제리스트 관리부(320)는 의심 프로세스 정보들을 수집하여 방역서버(30)로 전송하되, 상기 프로세스 정보는 상기 시스템콜에 의해 변경된 MBR 변경정보 또는 상기 가상변경 저장소(420)에 기록된 MBR 변경정보와 함께 방역서버(30)에 전송된다.The control list manager 320 collects suspicious process information and transmits it to the anti-virus server 30, wherein the process information includes the MBR change information changed by the system call or the MBR change information recorded in the virtual change repository 420. Together with the prevention server 30 is transmitted.

통제리스트 관리부(320)는 방역서버(30)로 전송하는 주기를 일정하게 할 수도 있고 의심 프로세스가 신규 등록되는 등의 이벤트가 발생되는 경우마다 전송할 수도 있다.The control list management unit 320 may schedule the transmission to the quarantine server 30, or may be transmitted whenever an event such as a suspicious process is newly registered.

방역서버(30)는 각 컴퓨터 단말(10)에서 수집된 의심프로세스 정보 및 그 MBR 변경정보들을 취합한다. 방역서버(30)는 취합된 의심프로세스를 모두 정밀검사하여 악성프로세스(악성프로그램)인지를 판단하여 정상이면 허용리스트로, 악성이면 거부리스트로 분류하여 등록시켜 최종 갱신리스트를 생성한다. 이때, 방역서버(30)는 MBR 변경정보를 이용하여 악성여부를 분석한다.The anti-virus server 30 collects suspicious process information collected from each computer terminal 10 and its MBR change information. The anti-virus server 30 examines all of the collected suspicious processes to determine whether it is a malicious process (malicious program), and if it is normal, classifies it as an allow list and registers it as a denied list to generate a final update list. At this time, the prevention server 30 analyzes whether or not malicious using the MBR change information.

방역서버(30)는 생성된 갱신리스트를 연결된 모든 컴퓨터 단말(10)에 배포하고, 각 컴퓨터 단말(10)은 방역서버(30)로부터 갱신리스트를 수신하여 보유한 통제리스트를 갱신한다.The anti-virus server 30 distributes the generated update list to all connected computer terminals 10, and each computer terminal 10 receives the update list from the anti-virus server 30 and updates the control list.

통제리스트 관리부(320)는 통제리스트(410)를 갱신할 때, 사용자의 허용여부에 따라 등록된 프로세스(이하 사용자등록 프로세스)가 갱신리스트에 등록되어 있지 않으면 상기 사용자등록 프로세스를 갱신하지 않는다.When updating the control list 410, the control list manager 320 does not update the user registration process unless a registered process (hereinafter, referred to as a user registration process) is registered in the update list according to the user's permission.

방역서버(30)는 일정한 시간간격을 두고 갱신리스트를 취합하여 배포한다. 따라서 사용자가 의심프로세스 D를 허용하였으나 이 의심프로세스 D에 대해 정밀검사가 이루지기 전에 갱신리스트를 수신하는 경우가 있다. 이 경우, 통제리스트 관리부(320)가 방역서버로부터 수신한 통제리스트(410)에는 의심프로세스 D에 대한 정보가 포함되어 있지 않다. 이때는 프로세스 D는 허용리스트에 사용자등록으로 그대로 유지시키고, 의심리스트에도 등록된 것을 유지하는 것이 바람직하다.The prevention server 30 collects and distributes the update list at regular time intervals. Therefore, the user may allow the suspicious process D, but may receive an update list before the suspicious process D is examined. In this case, the control list 410 received from the prevention server by the control list management unit 320 does not include information on the suspicious process D. At this time, the process D is preferably kept as user registration in the allow list, and it is also desirable to keep registered in the suspect list.

또한, 악성프로세스 차단부(330)는 갱신리스트가 수신되면 거부 리스트에 포함된 프로세스를 중지 또는 삭제 시킨다.In addition, the malicious process blocking unit 330 stops or deletes a process included in the reject list when an update list is received.

다른 실시예로서, 통제리스트 관리부(320)는 갱신리스트 대신 통제리스트 전체를 방역서버(30)로부터 수신한다. 갱신리스트는 컴퓨터 단말(10)에서 가지고 있는 통제리스트 중에서 갱신할 정보만 포함하는데 반해, 전체 통제리스트는 갱신할 전체 정보를 포함한다.In another embodiment, the control list manager 320 receives the entire control list from the anti-virus server 30 instead of the update list. The update list includes only the information to be updated from the control list possessed by the computer terminal 10, while the entire control list includes the entire information to be updated.

이때, 통제리스트 관리부(320)는 방역서버(30)로부터 수신한 통제리스트를 기존의 통제리스트에 대체시킴으로써, 간단하게 통제리스트를 갱신할 수 있다. 다만, 의심리스트에 등록된 프로세스 중 갱신되지 않는 것이 있는 경우, 사용자등록에 의한 허용 또는 거부 리스트의 내용도 갱신되어 사용자에게 재차 허용 또는 거부를 묻게 된다.At this time, the control list management unit 320 can simply update the control list by replacing the control list received from the anti-virus server 30 with the existing control list. However, if any of the processes registered in the suspicion list are not updated, the contents of the allow or deny list by the user registration are also updated to ask the user to allow or deny again.

다음으로, 본 발명의 일실시예에 따른 MBR 공격차단 방법을 도 5를 참조하여 설명한다.Next, the MBR attack blocking method according to an embodiment of the present invention will be described with reference to FIG.

도 5a에서 보는 바와 같이, 상기 MBR 공격차단 방법은 (a) 방역서버(50)로부터 갱신리스트를 전송받아 통제리스트로 저장하거나 저장된 통제리스트를 갱신하되, 상기 통제리스트는 프로세스를 허용 또는 거부 리스트로 분류하는 것인 단계(S10); (b) 상기 컴퓨터 단말의 운영체제에 MBR(마스터 부트 레코드)변경을 요청하는 시스템콜을 후킹하는 단계(S20); (c) 후킹한 시스템콜의 요청 프로세스가 상기 통제리스트의 허용 또는 거부 리스트에 속하는 것에 따라 시스템콜의 허용 또는 거부를 판단하여 허용 또는 거부를 하는 단계(S30); (d) 허용 또는 거부를 판단할 수 없는 경우 상기 요청 프로세스를 의심 리스트에 등록하는 단계(S40); (e) 허용 또는 거부를 판단할 수 없고 사용자에 의해 거부되는 경우, MBR 변경요청을 가상으로 처리해주고, 변경정보를 가상변경 저장소에 기록시키는 단계(S50); 및 (f) 상기 의심리스트와 변경정보를 상기 방역서버(50)로 전송하는 단계(S60)로 구분된다.As shown in Figure 5a, the MBR attack blocking method (a) receives the update list from the anti-virus server 50 to save as a control list or update the stored control list, the control list to allow or deny the process list To classify (S10); (b) hooking a system call requesting an MBR (master boot record) change to an operating system of the computer terminal (S20); (c) determining whether to allow or deny the system call according to the request process of the hooked system call belonging to the allow or deny list of the control list and allowing or denying (S30); (d) registering the request process in a suspicious list when it is not possible to determine whether to allow or deny (S40); (e) virtually processing the MBR change request and recording the change information in the virtual change repository if it cannot be determined or rejected by the user (S50); And (f) transmitting the suspicious list and the change information to the defense server 50 (S60).

또한, 상기 방법은 상기 (c)단계에서 시스템콜이 허용되면, (g) 시스템콜을 허용하여 운영체제로 시스템콜을 전달하는 단계(S70)와, (h) 시스템콜이 허용되지 않으면 시스템콜을 차단하여 시스템콜을 드랍(Drop)하는 단계(S80)을 더 포함하여 구성될 수 있다.In addition, if the system call is permitted in the step (c), the method includes (g) allowing the system call to transfer the system call to the operating system (S70), and (h) if the system call is not permitted, the system call. Blocking may further comprise a step (S80) to drop the system call (Drop).

특히, 도 5c에서 보는 바와 같이, 상기 (g)단계는, (g1) 시스템콜이 허용되면 상기 MBR 정보를 백업하는 단계(S71); (g2) 상기 시스템콜을 운영체제로 전달하는 단계(S72); (g3) 변경된 MBR을 상기 통제리스트의 콘텐츠 시그너쳐 리스트로 검사하는 단계(S73); 및 (g4) 상기 변경된 MBR에 악성코드가 포함된 것으로 판단되면 상기 백업된 MBR로 복구하는 단계(S74)로 구분된다.In particular, as shown in Figure 5c, step (g), (g1) if the system call is allowed to back up the MBR information (S71); (g2) transmitting the system call to an operating system (S72); (g3) checking the modified MBR with the content signature list of the control list (S73); And (g4) if it is determined that the malicious code is included in the changed MBR, the method recovers to the backed up MBR (S74).

또, 도 5b에서 보는 바와 같이, 상기 (d)단계는 (d1) 상기 요청 프로세스를 의심 리스트에 등록하는 단계(S41); (d2) 사용자에게 시스템콜의 허용 또는 거부 결정을 요구하는 단계(S42); 및 (d3) 사용자의 허용여부에 따라 상기 요청 프로세스를 허용 또는 거부 리스트에 등록시키는 단계(S44)로 구분된다.In addition, as shown in Figure 5b, the step (d) comprises the steps of (d1) registering the request process to the suspicious list (S41); (d2) requesting the user to decide whether to allow or reject the system call (S42); And (d3) registering the request process in the allow or deny list according to the user's permission (S44).

또한, 상기 (f)단계에서, 의심리스트에 등록된 프로세스 정보를 방역서버(50)에 전송하되, 상기 프로세스 정보는 상기 시스템콜에 의해 변경된 MBR 변경정보 또는 상기 가상변경 저장소(420)에 기록된 MBR 변경정보와 함께 방역서버(50)에 전송된다.In addition, in step (f), process information registered in the suspicious list is transmitted to the anti-virus server 50, wherein the process information is recorded in the MBR change information or the virtual change storage 420 changed by the system call. The MBR change information is transmitted to the anti-virus server 50.

다음으로, 본 발명의 일실시예에 따라 방역서버(30)가 의심리스트에 등록된 프로세스들을 분류하여 갱신리스트를 생성하는 방법을 도 6을 참조하여 설명한다.Next, a method of generating an update list by classifying the processes registered in the suspicious list by the anti-virus server 30 according to an embodiment of the present invention will be described with reference to FIG. 6.

도 6에서 보는 바와 같이, 컴퓨터 단말(10)로부터 의심 리스트 및 정보를 수신하면 악성 코드 여부를 분석(S91)한다. 이때, 프로세스의 설치정보도 수신하고 이를 이용하여 분석한다. 악성 코드 여부를 판정(S92)하여 정상 코드인 경우 허용 리스트에 추가(S95)하고 의심 리스트에서는 삭제하며, 악성 코드인 경우 거부 리스트에 추가(S93)하며 의심 리스트에서는 삭제한다. 통제 리스트가 업데이트되면(또는 갱신리스트가 생성되면) 모든 컴퓨터 단말(10)에 이를 전송하고 사전 방역을 요청(S96)한다.As shown in FIG. 6, if a suspicious list and information are received from the computer terminal 10, a malicious code is analyzed (S91). At this time, the installation information of the process is also received and analyzed using it. It is determined whether or not malicious code (S92), if the normal code is added to the allow list (S95), and deleted from the suspect list, if the malicious code is added to the reject list (S93) and deleted from the suspect list. When the control list is updated (or an update list is generated), the control list is transmitted to all computer terminals 10 and a request for advance prevention is made (S96).

다음으로, 본 발명의 일실시예에 따라 컴퓨터 단말이 방역서버로부터 갱신리스트를 수신하여 통제리스트를 업데이트하는 방법을 도 7을 참조하여 설명한다.Next, a method of updating a control list by receiving an update list from an anti-virus server according to an embodiment of the present invention will be described with reference to FIG. 7.

도 7에서 보는 바와 같이, 방역서버(30)로부터 업데이트된 통제 리스트(또는 갱신리스트)를 수신하면 기존 통제리스트와 비교한다(S101). MBR 복구요청이 있으면(S108), MBR 공격차단 시스템(300)(또는 컴퓨터 단말)은 MBR을 복구한다(S109).As shown in FIG. 7, when the updated control list (or update list) is received from the anti-virus server 30, it is compared with the existing control list (S101). If there is an MBR recovery request (S108), the MBR attack blocking system 300 (or a computer terminal) recovers the MBR (S109).

거부 리스트의 변경이 있는지 검사(S102)하고 변경이 없을 경우 통제리스트를 업데이트(S106)한다. 거부 리스트의 변경이 있는 경우 거부 리스트에 있는 프로세스 중지(S103), 파일과 레지스트리 삭제(S104), 네트워크 드라이버 삭제(S105) 기능을 수행하고 통제 리스트를 업데이트(S106)한다.If there is no change in the reject list (S102), and if there is no change, the control list is updated (S106). If there is a change in the reject list, the processes in the reject list (S103), the file and registry delete (S104) and the network driver delete (S105) are performed and the control list is updated (S106).

상기 MBR 공격차단에 대한 설명 중 생략된 부분은 앞서 설명된 MBR 공격차단 시스템에 대한 설명을 참고한다.For a omitted part of the description of the MBR attack blocking, refer to the description of the MBR attack blocking system described above.

이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.As mentioned above, although the invention made by this inventor was demonstrated concretely according to the said Example, this invention is not limited to the said Example and can be variously changed in the range which does not deviate from the summary.

본 발명은 의심되는 의심되는 프로세스가 MBR(마스터 부트 레코드) 변경요청을 하면 변경정보를 수집하여 방역서버로 전송하고 방역서버에 의해 분석한 결과를 수신하여 프로세스의 차단 여부를 결정하는 시스템 개발에 적용이 가능하다.The present invention is applied to the development of a system for determining whether to block the process by collecting the change information and sending the analysis information to the anti-breathing server and receiving the analysis results by the anti-virus server when the suspicious process is requested to change the master boot record (MBR) This is possible.

특히, 본 발명은 프로세스의 MBR 변경 시스템콜의 허용 여부가 명확하지 않으면, 사용자에게 시스템콜의 허용여부를 요구하고 사용자가 거부하는 경우에도 시스템콜의 MBR 변경 요청을 가상으로 처리해주면서 변경정보를 기록시키는 시스템 개발에 적용이 가능하다.Particularly, in the present invention, if it is not clear whether the MBR change system call is allowed in the process, the system requests the user to allow the system call and records the change information while virtually handling the MBR change request of the system call even if the user rejects the call. It is applicable to system development.

도 1은 본 발명을 실시하기 위한 전체 시스템의 구성을 도시한 도면이다.1 is a diagram showing the configuration of an entire system for implementing the present invention.

도 2는 본 발명의 일실시예에 따른 MBR 공격차단 시스템의 구성에 대한 블록도이다.2 is a block diagram of the configuration of the MBR attack blocking system according to an embodiment of the present invention.

도 3은 본 발명의 일실시예에 따라 컴퓨터 단말의 운영체제를 후킹하여 악성코드를 판단하고 가상변경을 수행하는 시스템 구성을 도시한 도면이다.3 is a diagram illustrating a system configuration for determining a malicious code and performing a virtual change by hooking an operating system of a computer terminal according to an embodiment of the present invention.

도 4는 본 발명의 일실시예에 따른 통제리스트의 구조를 예시한 도면이다.4 is a diagram illustrating a structure of a control list according to an embodiment of the present invention.

도 5는 본 발명의 일실시예에 따른 MBR 공격차단 방법을 설명한 흐름도이다.5 is a flowchart illustrating an MBR attack blocking method according to an embodiment of the present invention.

도 6은 본 발명의 일실시예에 따라 방역서버가 의심리스트에 등록된 프로세스들을 분류하여 갱신리스트를 생성하는 방법을 설명하는 흐름도이다.6 is a flowchart illustrating a method of generating an update list by classifying processes registered in a suspicious list by an anti-virus server according to an embodiment of the present invention.

도 7은 본 발명의 일실시예에 따라 컴퓨터 단말이 방역서버로부터 갱신리스트를 수신하여 통제리스트를 업데이트하는 방법을 설명하는 흐름도이다.7 is a flowchart illustrating a method in which a computer terminal receives an update list from an anti-virus server and updates a control list according to an embodiment of the present invention.

* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings

10 : 컴퓨터 단말 20 : 네트워크10: computer terminal 20: network

30 : 방역서버 40 : 방역정보DB30: Defense server 40: Defense information DB

110 : 정상 프로세스 120 : 악성 프로세스110: normal process 120: malicious process

210 : 시스템콜 300 : MBR 공격차단 시스템210: System call 300: MBR attack blocking system

310 : 시스템콜 후킹통제부 320 : 통제리스트 관리부310: system call hooking control unit 320: control list management unit

330 : 악성프로세스 차단부 340 : 악성코드 판단부330: malicious process blocking unit 340: malicious code determination unit

350 : 가상변경 처리부 360 : MBR 복구부350: virtual change processing unit 360: MBR recovery unit

400 : 데이터저장소 410 : 통제리스트400: datastore 410: control list

411 : 허용리스트 412 : 거부 리스트411: whitelist 412: whitelist

413 : 의심리스트 414 : 콘텐츠 시그너쳐 리스트413: Doubt List 414: Content Signature List

420 : 가상변경 저장소420: virtual change repository

Claims (10)

컴퓨터 단말에 설치되는 MBR(마스터 부트 레코드) 공격차단 시스템으로서,MBR (Master Boot Record) attack system installed on a computer terminal, 상기 컴퓨터 단말의 운영체제에 MBR(마스터 부트 레코드)변경을 요청하는 시스템콜을 후킹하는 시스템콜 후킹통제부;A system call hooking control unit hooking a system call requesting an MBR (master boot record) change to an operating system of the computer terminal; 허용되는 프로세스를 등록한 허용 리스트와, 거부되는 프로세스를 등록한 거부리스트를 포함하는 통제리스트를 미리 저장해두는 통제리스트 관리부;A control list manager which stores in advance a control list including an allow list for registering allowed processes and a reject list for registering rejected processes; 시스템콜의 MBR 변경 요청에 따라 MBR 변경정보를 가상변경 저장소에 가상으로 기록시키는 가상변경 처리부; 및A virtual change processor for virtually recording MBR change information in a virtual change repository according to an MBR change request of a system call; And 후킹한 시스템콜의 요청 프로세스가 상기 통제리스트의 허용 또는 거부 리스트에 속하는 것에 따라 시스템콜의 허용 또는 거부를 판단하고, 허용 또는 거부를 판단할 수 없는 경우 통제리스트의 의심 리스트에 등록하는 악성프로세스 판단부를 포함하고,Determining whether to allow or reject the system call according to the request process of the hooked system call belongs to the allow or deny list of the control list, and determine the malicious process to register on the suspicious list of the control list if the allow or deny cannot be determined. Including wealth, 상기 악성프로세스 판단부는,The malicious process determination unit, 허용 또는 거부를 판단할 수 없으면 사용자에게 시스템콜의 허용여부를 요구하고, 사용자에 의해 거부되면 상기 가상변경 처리부가 MBR 변경요청을 가상으로 처리하도록 하는 것을 특징으로 하는 MBR 공격차단 시스템.If it is not possible to determine whether to allow or reject the system call to the user, and if rejected by the user, the virtual change processing unit MBR attack blocking system characterized in that to process the MBR change request virtually. 제1항에 있어서,The method of claim 1, 상기 통제리스트 관리부는 상기 컴퓨터 단말과 연결된 방역서버로부터 갱신리스트를 전송받아 통제리스트를 저장 또는 갱신하고, 상기 의심리스트와 MBR 변경정보를 상기 방역서버로 전송하는 것을 특징으로 하는 MBR 공격차단 시스템.The control list management unit receives the update list from the prevention server connected to the computer terminal to store or update the control list, and transmits the suspicious list and MBR change information to the prevention server. 제1항에 있어서, 상기 시스템은,The system of claim 1, wherein the system is 상기 시스템콜이 허용되면 MBR에 저장된 정보(이하 변경전 MBR)를 백업하고, 변경된 MBR을 상기 통제리스트의 콘텐츠 시그너쳐 리스트로 검사하고, 상기 변경된 MBR에 악성코드가 포함된 것으로 판단되면 백업된 변경전 MBR로 복구하는 MBR 복구부를 더 포함하는 것을 특징으로 하는 MBR 공격차단 시스템.If the system call is allowed, the information stored in the MBR (hereinafter referred to as MBR) is backed up, the changed MBR is checked with the content signature list of the control list, and if it is determined that the changed MBR includes malicious code, MBR attack blocking system further comprises an MBR recovery unit for recovering to MBR. 제1항에 있어서,The method of claim 1, 상기 악성프로세스 판단부는 시스템콜의 요청 프로세스를 의심 리스트에 등록시키면, 사용자에게 시스템콜의 허용여부를 요구하고 사용자의 허용여부에 따라 상기 요청 프로세스를 허용 또는 거부 리스트에 등록시키는 것을 특징으로 하는 MBR 공격차단 시스템.The malicious process determination unit registers a system call request process in a suspicious list, requests the user to allow the system call and registers the request process in the allow or deny list according to the user's permission. Blocking system. 제2항에 있어서,The method of claim 2, 상기 통제리스트 관리부는 의심리스트에 등록된 프로세스 정보를 방역서버에 전송하되, 상기 프로세스 정보는 상기 시스템콜에 의해 변경된 MBR 변경정보 또는 상기 가상변경 저장소에 기록된 MBR 변경정보와 함께 방역서버에 전송되는 것을 특징으로 하는 MBR 공격차단 시스템.The control list management unit transmits the process information registered in the suspicious list to the prevention server, wherein the process information is transmitted to the prevention server along with the MBR change information changed by the system call or the MBR change information recorded in the virtual change repository. MBR attack blocking system, characterized in that. 제2항에 있어서, 상기 시스템은,The system of claim 2, wherein the system is 상기 시스템콜이 거부되는 경우 상기 시스템콜의 요청 프로세스를 중지 또는 삭제시키고, 갱신리스트가 수신되면 거부 리스트에 포함된 프로세스를 중지 또는 삭제 시키는 악성프로세스 차단부를 더 포함하는 것을 특징으로 하는 MBR 공격차단 시스템.MBR attack blocking system further comprises a malicious process blocking unit for stopping or deleting the request process of the system call, and stopping or deleting the process included in the reject list when the system call is rejected. . 컴퓨터 단말에 설치되어 상기 컴퓨터 단말에 가상변경 저장소를 만들어 MBR 공격차단 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서,In the computer-readable recording medium installed in the computer terminal and recording a program for performing the MBR attack blocking method by creating a virtual change storage on the computer terminal, (a) 허용되는 프로세스를 등록한 허용 리스트와, 거부되는 프로세스를 등록한 거부리스트를 포함하는 통제리스트를 미리 저장해두는 단계;(a) storing in advance a control list including an allow list for registering allowed processes and a deny list for registering rejected processes; (b) 상기 컴퓨터 단말의 운영체제에 MBR(마스터 부트 레코드)변경을 요청하는 시스템콜을 후킹하는 단계;(b) hooking a system call requesting an MBR (master boot record) change to an operating system of the computer terminal; (c) 후킹한 시스템콜의 요청 프로세스가 상기 통제리스트의 허용 또는 거부 리스트에 속하는 것에 따라 시스템콜의 허용 또는 거부를 판단하여 허용 또는 거부를 하는 단계;(c) allowing or rejecting the system call by determining whether to allow or reject the system call as the request process of the hooked system call belongs to the allow or deny list of the control list; (d) 허용 또는 거부를 판단할 수 없는 경우 상기 요청 프로세스를 통제리스트의 의심 리스트에 등록하는 단계;(d) registering the request process on a suspicious list of control lists if it is not possible to determine an allow or deny; (e) 허용 또는 거부를 판단할 수 없으면 사용자에게 시스템콜의 허용여부를 요구하고, 사용자에 의해 거부되면 MBR 변경요청을 가상으로 처리해주고, MBR 변경정보를 가상변경 저장소에 기록시키는 단계를 포함하는 것을 특징으로 하는 MBR 공격차단 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.(e) requesting the user to allow the system call if it cannot determine whether to allow or deny, processing the MBR change request virtually if rejected by the user, and recording the MBR change information in the virtual change repository. A computer-readable recording medium having recorded thereon a program for executing an MBR attack blocking method. 제7항에 있어서, 상기 방법은,The method of claim 7, wherein the method is (g1) 상기 시스템콜이 허용되면 MBR에 저장된 정보(이하 변경전 MBR)를 백업하는 단계;(g1) if the system call is allowed, backing up information stored in MBR (hereinafter referred to as MBR); (g2) 상기 시스템콜을 운영체제로 전달하는 단계;(g2) delivering the system call to an operating system; (g3) 변경된 MBR을 상기 통제리스트의 콘텐츠 시그너쳐 리스트로 검사하는 단계; 및(g3) checking the modified MBR with the content signature list of the control list; And (g4) 상기 변경된 MBR에 악성코드가 포함된 것으로 판단되면 백업된 변경전 MBR로 복구하는 단계를 더 포함하는 것을 특징으로 하는 MBR 공격차단 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.(g4) If it is determined that the modified MBR contains malicious code, the computer-readable recording medium having recorded the program for performing the MBR attack blocking method further comprising the step of recovering the backup MBR before the change. 제7항에 있어서, 상기 (d)단계는,The method of claim 7, wherein step (d), (d1) 상기 요청 프로세스를 의심 리스트에 등록하는 단계;(d1) registering the request process with a suspicious list; (d2) 사용자에게 시스템콜의 허용 또는 거부 결정을 요구하는 단계; 및(d2) requesting the user to decide whether to accept or reject the system call; And (d3) 사용자의 허용여부에 따라 상기 요청 프로세스를 허용 또는 거부 리스트에 등록시키는 단계를 포함하는 것을 특징으로 하는 MBR 공격차단 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.and (d3) registering the request process on an allow or deny list according to the user's permission. 제7항에 있어서,The method of claim 7, wherein 상기 방법은 (f) 상기 의심리스트에 등록된 프로세스 정보를 상기 컴퓨터 단말과 연결된 방역서버로 전송하는 단계를 더 포함하되,The method further includes the step of transmitting the process information registered in the suspicious list to the quarantine server connected to the computer terminal, 상기 (f)단계에서, 상기 프로세스 정보는 상기 시스템콜에 의해 변경된 MBR 변경정보 또는 상기 가상변경 저장소에 기록된 MBR 변경정보와 함께 방역서버에 전송되는 것을 특징으로 하는 MBR 공격차단 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.In the step (f), the process information is a program for performing the MBR attack blocking method, characterized in that the MBR change information changed by the system call or MBR change information recorded in the virtual change storage is transmitted to the quarantine server. A computer-readable recording medium that records the data.
KR1020090101845A 2009-10-26 2009-10-26 A system for preventing mbr(master boot record) attack of malicious codes using a control list at the kernel level and the computer-readable recording medium having recording the program thereof KR100959277B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090101845A KR100959277B1 (en) 2009-10-26 2009-10-26 A system for preventing mbr(master boot record) attack of malicious codes using a control list at the kernel level and the computer-readable recording medium having recording the program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090101845A KR100959277B1 (en) 2009-10-26 2009-10-26 A system for preventing mbr(master boot record) attack of malicious codes using a control list at the kernel level and the computer-readable recording medium having recording the program thereof

Publications (1)

Publication Number Publication Date
KR100959277B1 true KR100959277B1 (en) 2010-05-26

Family

ID=42281966

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090101845A KR100959277B1 (en) 2009-10-26 2009-10-26 A system for preventing mbr(master boot record) attack of malicious codes using a control list at the kernel level and the computer-readable recording medium having recording the program thereof

Country Status (1)

Country Link
KR (1) KR100959277B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101240307B1 (en) * 2012-09-14 2013-03-11 (주)웨어메이트 MBR Remote Backup System Using Mobile Device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070049514A (en) * 2005-11-08 2007-05-11 한국정보보호진흥원 Malignant code monitor system and monitoring method using thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070049514A (en) * 2005-11-08 2007-05-11 한국정보보호진흥원 Malignant code monitor system and monitoring method using thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101240307B1 (en) * 2012-09-14 2013-03-11 (주)웨어메이트 MBR Remote Backup System Using Mobile Device

Similar Documents

Publication Publication Date Title
US7437764B1 (en) Vulnerability assessment of disk images
US9306956B2 (en) File system level data protection during potential security breach
US8434151B1 (en) Detecting malicious software
KR102307534B1 (en) Systems and methods for tracking malicious behavior across multiple software entities
RU2645268C2 (en) Complex classification for detecting malware
RU2571723C2 (en) System and method of reducing load on operating system when executing antivirus application
US8935791B2 (en) Asynchronous filtering and processing of events for malware detection
US8127412B2 (en) Network context triggers for activating virtualized computer applications
US8479292B1 (en) Disabling malware that infects boot drivers
US20080178290A1 (en) Method of secure data processing on a computer system
US8099785B1 (en) Method and system for treatment of cure-resistant computer malware
US20120124007A1 (en) Disinfection of a file system
US11494491B2 (en) Systems and methods for protecting against malware code injections in trusted processes by a multi-target injector
US9542557B2 (en) Snoop-based kernel integrity monitoring apparatus and method thereof
KR20140033349A (en) System and method for virtual machine monitor based anti-malware security
US10262139B2 (en) System and method for detection and prevention of data breach and ransomware attacks
US11349855B1 (en) System and method for detecting encrypted ransom-type attacks
KR100959276B1 (en) A system for preventing installation of malicious codes using a control list at the kernel level and the computer-readable recording medium having recording the program thereof
EP2306356B1 (en) Asynchronous processing of events for malware detection
KR100745639B1 (en) Method for protecting file system and registry and apparatus thereof
RU2583714C2 (en) Security agent, operating at embedded software level with support of operating system security level
KR100959277B1 (en) A system for preventing mbr(master boot record) attack of malicious codes using a control list at the kernel level and the computer-readable recording medium having recording the program thereof
US20230315855A1 (en) Exact restoration of a computing system to the state prior to infection
RU2468427C1 (en) System and method to protect computer system against activity of harmful objects
RU2363045C1 (en) Method and system for removing malicious software which inhibit treatment

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130503

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140509

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150514

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160512

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170612

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180611

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190509

Year of fee payment: 10