KR20040083409A - method for computer protection with real-time monitoring and thereby computer and thereby system - Google Patents

method for computer protection with real-time monitoring and thereby computer and thereby system Download PDF

Info

Publication number
KR20040083409A
KR20040083409A KR1020040072633A KR20040072633A KR20040083409A KR 20040083409 A KR20040083409 A KR 20040083409A KR 1020040072633 A KR1020040072633 A KR 1020040072633A KR 20040072633 A KR20040072633 A KR 20040072633A KR 20040083409 A KR20040083409 A KR 20040083409A
Authority
KR
South Korea
Prior art keywords
file
computer
interrupt
event
change
Prior art date
Application number
KR1020040072633A
Other languages
Korean (ko)
Other versions
KR100704721B1 (en
Inventor
안무경
Original Assignee
(주) 세이프아이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주) 세이프아이 filed Critical (주) 세이프아이
Priority to KR1020040072633A priority Critical patent/KR100704721B1/en
Publication of KR20040083409A publication Critical patent/KR20040083409A/en
Application granted granted Critical
Publication of KR100704721B1 publication Critical patent/KR100704721B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

PURPOSE: A method for protecting a computer through real-time monitoring, and the computer and a system protected by the same are provided to safely protect the computer by monitoring an interrupt or an event related to file handling and enable a user to perform setting conveniently. CONSTITUTION: A setting list(50) stores permission for changing an executable file. A detecting module(10) detects/intercepts occurrence of the interrupt or the event related to the file handling. An analysis module(20) checks the permission by comparing the interrupt or the event detected from the detecting module with the setting list after checking that the interrupt or the event is a request for changing the executable file by analyzing the interrupt or the event. A processing module(30) disuses or returns the interrupt or the event depending on an analysis result of the analysis module.

Description

실시간 감시를 통한 컴퓨터 보호 방법 및 이에 따라 보호되는 컴퓨터와 그 시스템{method for computer protection with real-time monitoring and thereby computer and thereby system}Method for computer protection with real-time monitoring and thereby computer and thereby system

본 발명은 실시간 감시를 통한 컴퓨터 보호 방법 및 이에 따라 보호되는 컴퓨터와 그 시스템에 관한 것으로, 보다 상세하게는 파일 핸들링에 관련된 인터럽트 또는 이벤트를 가로챈 후 분석하여 허용되지 않은 실행 가능한 파일에 대한 변경요청은 폐기하도록 구성하여 바이러스등으로부터 컴퓨터를 보호할 수 있는 실시간 감시를 통한 컴퓨터 보호 방법 및 이에 따라 보호되는 컴퓨터와 그 시스템에 관한 것이다.The present invention relates to a method of protecting a computer through real-time monitoring, and to a computer and a system protected therein. More particularly, the present invention relates to a request for a change to an executable file that is not allowed by intercepting and analyzing an interrupt or event related to file handling. The present invention relates to a method of protecting a computer through real-time monitoring, which can be configured to be discarded to protect a computer from viruses, and a computer and a system protected accordingly.

컴퓨터의 사용 증가와 함께 인터넷의 기하 급수적 사용증가로 인해 컴퓨터의데이터와 프로그램을 파괴하는 바이러스, 웜 및 기타 악성코드 등이 증가하는 추세이다. 상기 바이러스 등은 디스켓, 운영체계, 기억장치 등에 숨어 있다가 특정한 조건(예를 들면 컴퓨터의 부팅, 특정한 일자, 특정 프로그램의 실행 등)이 만족되면 실행되어 컴퓨터 내부의 데이터와 프로그램을 삭제하거나 변경하여 시스템을 파괴하게 된다.As the use of computers increases, exponential use of the Internet increases the number of viruses, worms, and other malware that destroy computer data and programs. The virus is hidden in a diskette, operating system, storage device, etc., and is executed when certain conditions (eg, booting of a computer, a specific date, execution of a specific program, etc.) are satisfied to delete or change data and programs in the computer. It will destroy the system.

상기 바이러스는 다른 프로그램 등에 감염되어 해당 프로그램의 일부를 삭제하거나 변경한 후 자신의 코드를 그 내부에 저장하게 된다. 상기 바이러스는 이와 같은 과정을 통해 다수개의 파일에 계속 복제되면서 감염되어 시스템의 성능을 저하시키고 저장공간을 차지하거나 심지어 하드웨어에 손상을 발생시키기도 한다.The virus infects other programs, deletes or changes a part of the corresponding program, and stores its code therein. Through this process, the virus continuously infects a large number of files, infecting the system, degrading system performance, occupying storage space, or even causing damage to hardware.

상기 웜은 바이러스와는 달리 다른 파일을 감염시키지는 않지만 복제를 통해 컴퓨터의 공간을 차지하게 되며 동시에 실행되어 시스템에 부하를 발생시켜 성능을 저하시키게 된다. 그리고, 최근에 발생하는 웜은 해킹 툴과의 결합으로 개인 PC에 대한 해킹은 물론 네트워크에 대한 공격까지도 수행하는 형태로 나날이 발전하고 있는 추세에 있다.Unlike a virus, the worm does not infect other files but takes up space on the computer through replication, and simultaneously executes, causing a load on the system, thereby degrading performance. In recent years, worms occurring in recent years are being developed in combination with hacking tools to hack not only personal PCs but also attacks on networks.

상기와 같은 바이러스와 웜 외에도 외부의 해커가 컴퓨터에 임의로 접속할 수 있도록 상기 컴퓨터에 사전에 설치하게 되는 트로이 프로그램 등의 악성코드도 있다. 상기와 같은 트로이 프로그램의 경우, 인터넷을 통한 메일로 인해 감염이 되는 경우가 많으며, 감염으로 인해 사용자 PC로 외부 해커에 의해 해킹되는 경우가 허다하다. 특히, 전자 상거래 등 인터넷을 이용한 금융거래가 활발해지면서 사용자 PC에는 주민등록 번호, 공인 인증서, 신용카드 번호 등이 남아 있는 경우가많다. 이런 경우에 해커에 의해 해킹된 PC에서 상기 주민등록번호, 공인 인증서, 신용카드 번호 등을 유출 시키는 것은 간단한 해킹 프로그램으로도 가능하며, 이는 초등학생 정도의 수준에서도 충분히 할 수 있을 만큼 간단한 프로그램이 많으며, 실제로 이를 이용한 사고가 갈수록 증가하는 추세에 있다. 또한, 상기와 같은 방법으로 해킹을 하는 기술은 프로그램에 대한 간단한 지식만 있고, 네트워크에 대한 기본적인 개념만으로도 쉽게 습득할 수 있는 기술에 해당한다고 할 수 있다.In addition to the viruses and worms described above, there are also malicious codes such as Trojan programs that are installed in advance on the computer so that external hackers can randomly access the computer. In the case of the Trojan program described above, infections are often caused by mail through the Internet, and many cases are hacked by external hackers to the user's PC due to the infection. In particular, as financial transactions using the Internet, such as electronic commerce, have become more active, social security numbers, public certificates, credit card numbers, etc. are often left on user PCs. In this case, leaking the social security number, official certificate, credit card number, etc. from the hacked PC by a hacker can be a simple hacking program, which is simple enough to be sufficient even at the level of elementary school students. The number of accidents used is increasing. In addition, the technique of hacking in the above manner can be said to be a technology that can be easily acquired only by the basic concept of the network, only a simple knowledge of the program.

종래의 바이러스나 웜 등은 사용자가 감염된 디스켓 등을 사용하는 경우 컴퓨터로 유입되어 그 확산속도가 빠르지 않았으나 최근 네트워크의 사용이 늘어나면서 확산속도가 기하급수적으로 증가하고 있다. 특히 종래에는 감염된 프로그램 또는 디스켓의 실행에 의해서 감염되었으나 최근에는 이메일, 웹페이지 등을 통해서도 감염되고있다. 이에 따라 몇 일 사이에 전 세계가 동일한 바이러스에 감염되어 피해를 입는 경우도 종종 발생하고 있다.Conventional viruses or worms are introduced into computers when the user uses infected diskettes, and the spreading speed of the virus or worm has not increased fast. However, as the use of networks increases, the spreading speed increases exponentially. In particular, in the past, it was infected by the execution of an infected program or diskette, but recently, it is also infected through e-mails and web pages. As a result, the world is often infected with the same virus within a few days.

상기와 같이 바이러스 등에 감염된 시스템은 복구하기 위해서는 다양한 방법이 있다.As described above, there are various methods for recovering a system infected with a virus or the like.

먼저, 상기 컴퓨터 내의 저장공간을 포맷하여 내부에 저장되어 있는 오퍼레이팅 시스템(Operating System)을 포함하여 모든 프로그램/데이터 및 모든 바이러스들을 제거한 후 프로그램을 재 설치하는 방법이 있다. 상기와 같이 포맷을 하게 되면 저장공간 내에 저장된 모든 바이러스가 제거되나 사용자가 애써 설치한 설치되어 있는 프로그램과 데이터도 함께 삭제되므로 사용자가 이전의 상태로 다시 컴퓨터를 복원하기 위해서는 상당한 시간을 필요로 한다는 문제점이 있다.First, there is a method of removing all programs / data and all viruses including an operating system stored therein by formatting a storage space in the computer and then reinstalling the programs. Formatting as above removes all the viruses stored in the storage space, but also deletes the programs and data installed by the user. Therefore, the user needs considerable time to restore the computer to the previous state. There is this.

다음으로 백신 프로그램을 사용하는 방법이다. 상기 백신프로그램은 알려진 바이러스의 패턴을 구비하여 컴퓨터의 저장공간 등에서 상기 패턴과 일치하는 코드가 존재하는 지 확인하여 바이러스를 진단하고 진단된 바이러스에 따라 치료하거나 감염된 파일을 삭제하게 된다. 상기와 같이 백신프로그램을 사용하게 되면 포맷을 하는 방법에 비해 비교적 간단하지만 바이러스에 따라서는 설치된 프로그램을 복구할 수 없도록 변경시키는 경우도 있어 완전한 복구가 이루어지지 못한다. 또한 상기 백신프로그램은 바이러스의 패턴에 따라 진단을 하게 되므로 이미 알려진 바이러스에 대해서만 진단과 치료가 가능하다. 알려지지 않은 바이러스가 발견되는 경우 상기 바이러스를 진단하고 치료하는 기능을 추가하기 위해서는 일정한 시간이 소요된다. 그러나 최근의 바이러스는 수일 내에 전세계로 확산되어 백신프로그램이 구비되기 전에 이미 상당한 피해를 입히게 된다는 문제점이 있다. 또한, 백신으로 치료한 컴퓨터라 하더라도, 감염의 정도가 과다한 경우 또는 시스템 파일이 감염된 경우에는 시스템을 포맷해야 하는 경우가 허다하다. 따라서, 상기에서 지적한 포맷 등의 방법으로 시스템을 재 설치해야 하는 경우가 많다. 바이러스 기술의 발달로 알려진 바이러스에 감염되어 치료하는 경우보다 알려지지 않은 바이러스로 인한 피해가 훨씬 더 규모가 크다. 또한, 알려지지 않는 바이러스의 경우에는 어떠한 백신에도 검출되지 않으므로, 사용자가 이를 알기 위해서는 일정 정도의 시간이 지나야 하므로, 이미 피해를 본 이후에 사용자는 자신의 컴퓨터에 바이러스 등 악성코드에 감염되었다는 것을 알 수 있다는 또 다른 문제점이 있다.Next, the vaccine program is used. The vaccine program includes a pattern of known viruses to check whether there is a code matching the pattern in a storage space of a computer, to diagnose the virus and to treat or delete the infected file according to the diagnosed virus. Using the antivirus program as described above is relatively simple compared to the method of formatting, but depending on the virus may not be able to recover the installed program can not be completely recovered. In addition, the vaccine program is diagnosed according to the pattern of the virus, it is possible to diagnose and treat only known viruses. If an unknown virus is found, it takes a certain time to add the function of diagnosing and treating the virus. However, there is a problem that the recent virus spreads around the world within a few days and causes considerable damage before the vaccine program is installed. In addition, even in a computer treated with a vaccine, it is often necessary to format the system when the degree of infection is excessive or when a system file is infected. Therefore, it is often necessary to reinstall the system by a method such as the above-mentioned format. The damage from unknown viruses is much greater than if they were infected with a virus known for their advancement in viral technology. In addition, the unknown virus is not detected by any vaccine, so a certain amount of time must pass before the user can be aware of it. There is another problem.

다음으로 바이러스 등에 감염되기 전의 저장공간에 대한 이미지를 시디형태등과 같이 별도로 구비한 후 감염시 상기 이미지로 저장공간을 복구하는 방법이 있다. 상기 방법은 상기 포맷을 한 후 재 설치하는 방법과 유사하나 프로그램들을 별도로 설치할 필요가 없으며 프로그램의 설치시 설정을 수행하지 않아도 되므로 편리하다. 그러나 이러한 방법은 저장공간의 크기가 증가하면서 이미지가 저장된 시디의 수가 증가하여 관리가 곤란하다는 문제점이 있다. 또한, 사용자가 생성한 데이터 파일 등을 별도로 관리해야 하는 또 다른 문제점이 있다.Next, there is a method of separately storing an image of a storage space before being infected with a virus, such as a CD form, and then recovering the storage space with the image when infected. The method is similar to the method of re-installation after formatting, but it is not necessary to install the programs separately, and it is convenient because the setup does not have to be performed when the program is installed. However, this method has a problem in that it is difficult to manage as the size of the storage space increases and the number of CDs storing images is increased. In addition, there is another problem of separately managing a data file generated by a user.

또 다른 방법으로는 현재 시중에서 판매중인 시스템복구수단을 사용하는 방법이 있다. 상기 시스템복구수단은 다수의 사용자가 사용하는 컴퓨터를 관리하기 위한 것으로 컴퓨터의 저장공간인 하드디스크를 사전에 지정된 시점의 상태로 유지하도록 하기 위한 것이다. 이를 위해 상기 시스템복구수단은 컴퓨터의 특정공간에 대해 쓰기 작업등을 할 수는 있으나, 다음의 부팅 시에 이를 쓰기 작업 이전의 상태로 되돌리는 역할을 하기 때문에 사용자가 프로그램을 설치하더라도 다음 번 부팅시에 이를 사용할 수 없도록 하는 것이다. 즉, 하드 디스크를 두 개의 영역으로 나누어, 하나는 복구 영역으로 또 하나는 비복구 영역으로 설정하여, 복구 영역에 저장된 프로그램 등은 관리자가 지정한 시점으로 계속적으로 복구되며, 비복구 영역에는 어떠한 프로그램설치/데이터 저장도 가능한 시스템인 것이다. 이때 데이터의 저장을 위해 별도의 쓰기 가능한 공간이 구비되므로 상기 공간은 관리자가 수시로 삭제하도록 구성되어 보호되는 공간에 이미 설치된 프로그램에 바이러스가 감염되는 것을 방지하게 된다.Another method is to use a commercial system repair means. The system recovery means is for managing a computer used by a plurality of users so as to maintain a hard disk, which is a storage space of the computer, in a state at a predetermined time point. To this end, the system recovery means may write to a specific space of the computer, but at the next boot, the system recovery means returns it to the state before the write operation. This is to disable it. That is, the hard disk is divided into two areas, one to the recovery area and one to the non-recovery area, and the programs stored in the recovery area are continuously restored to the point designated by the administrator, and any program is installed in the non-recovered area. It is a system that can store data. In this case, since a separate writable space is provided for storing data, the space is configured to be deleted by the administrator at any time, thereby preventing a virus from infecting a program already installed in the protected space.

상기와 같이 이미지를 이용하거나 시스템복구수단을 사용하는 방법은 다수개의 컴퓨터를 소수의 관리자가 관리하는 경우 사용자가 상기 컴퓨터에 유해한 프로그램 또는 허가받지 않은 프로그램을 설치한 경우에도 일정한 상태로 복구할 수 있어 관리가 편리하여 많이 사용되고 있다. 그러나 이미지 생성시 이미 바이러스에 감염되어 있는 경우 보호가 불가능하다는 문제점이 있다. 또한 시스템복구수단을 사용하는 경우 복구 영역은 바이러스의 감염을 방지할 수 있으나 비복구 영역은 바이러스가 감염될 수 있다는 문제점이 있다. 그리고, 상기와 같은 시스템복굿단과 같이 복구/비복구 영역으로 구분하여 관리하는 경우, 사용자는 복구 영역에서는 어떠한 데이터 파일도 저장할 수 없으며, 이에 따라 초보자의 경우에는 자신의 데이터를 날려 버리는 경우를 당하게 되는 경우가 허다하다고 할 수 있으며, 상기에서 지적한 것 처럼 비복구 영역에 각종 데이터 및 프로그램을 저장하므로 이에 따라 비복구 영역에는 상당한 바이러스가 감염되는 경우가 많다는 또 다른 문제점이 있다.As described above, the method of using an image or using a system recovery means can recover a certain state even if a user installs a harmful program or an unauthorized program on a computer when a few administrators manage a plurality of computers. It is easy to manage and is used a lot. However, there is a problem that protection is impossible if the virus is already infected when the image is generated. In addition, when the system recovery means is used, the recovery area can prevent the infection of the virus, but the non-recovery area has a problem that the virus can be infected. In addition, when the system is divided into a recovery / non-recovery area and managed as in the system recovery group, the user may not store any data file in the recovery area. Accordingly, a beginner may be forced to blow his data. In many cases, as noted above, since various data and programs are stored in the non-recovered region, there is another problem that a significant virus is often infected in the non-recovered region.

그리고, 마이크로 소프트의 오퍼레이팅 시스템에서 제공하는 파일 속성에 관련된 기능이 있다. 상기 기능은 파일의 속성을 제어할 수 있도록 하며, 특히 종래 도스 모드에서는 attrib -h aaa.exe 등의 명령어를 통해서 aaa.exe 파일의 속성을 감추기(hidden)속성을 부여할 수 있는 기능을 제공하였다. 그러나, 상기와 같은 방식의 경우에는 사용자가 직접 해당 실행 파일을 사용하고자 하는 경우에도 불편한 점이 있다. 특히, 해당 실행 파일이 브라우저 또는 도스모드에서 조차 보이지 않는 관계로 사용자가 직접 해당 파일에 대한 사용을 하는데 있어 많은 제약이 따른다는 문제점이 있으며, 사용자가 보호하고자 하는 모든 파일을 일일이 속성을 부여해야 하는 또 다른 문제점이 있다. 또한, 어떤 파일의 경우 감추기(hidden)속성이 주어진 경우, 실행이 되지 않는 경우도 있는 또 다른 문제점이 있다.In addition, there are functions related to file attributes provided by Microsoft's operating system. The above function can control the properties of the file, and in the conventional DOS mode, the function of giving the hidden property of the aaa.exe file is provided through a command such as attrib -h aaa.exe. . However, in the case of the above-described method, there is an inconvenience even when the user wants to directly use the executable file. In particular, since the executable file is invisible even in the browser or DOS mode, there are a lot of restrictions in the user's use of the file directly. There is another problem. In addition, there is another problem that some files may not be executed when a hidden attribute is given.

상기와 같은 문제점을 해결할 수 있는 방법으로 한국 특허출원 제10-2001-13994호에서는 악성코드의 쓰기 동작을 파악하여 이를 금지하거나 사용자에게 통지함으로써 컴퓨터바이러스에 의한 감염을 방지할 수 있는 방법을 개시하고 있다. 그러나 상기와 같은 방법은 실행파일의 앞이나 뒤에 바이러스프로그램의 코드가 삽입되는 경우에만 탐지하도록 구성되어 있어 제한된 형태의 행위를 수행하는 바이러스만을 차단할 수 있다는 문제점이 있다.As a way to solve the above problems, Korean Patent Application No. 10-2001-13994 discloses a method for preventing infection by a computer virus by identifying the writing operation of malicious code and prohibiting it or notifying the user. have. However, the above method is configured to detect only when a code of a virus program is inserted before or after an executable file, thereby preventing only a virus performing a limited form of action.

또한 한국 특허출원 제10-2002-0083749호에서는 다운로드받은 실행코드를 악성실행코드에 대한 데이터베이스로 검색하여 알려진 악성실행코드가 있는지 확인한 후 알려진 악성실행코드가 없는 경우 수행하도록하며 특정한 파일 또는 디렉토리에 대한 접근이나 파일의 생성 또는 재작성 행위등 금지행위를 하는 경우 프로세스를 정지시키도록 구성하고 있다. 이에따라 일반적인 바이러스등의 악성실행코드가 자주 감염시키는 시스템파일, 시스템 디렉토리등을 설정하여 바이러스의 접근을 방지할 수 있다.In addition, Korean Patent Application No. 10-2002-0083749 searches the downloaded executable code as a database for malicious executable code and checks if there is a known malicious executable code, and then executes it if there is no known malicious executable code. It is designed to stop the process in case of prohibition such as access, file creation or rewriting. Accordingly, access to the virus can be prevented by setting system files, system directories, etc. frequently infected by malicious executable codes such as general viruses.

그러나 상기의 방법은 웹서버를 통해 다운로드되어 웹브라우저에서 실행되는 실행코드만을 대상으로 하여 3단계의 과정을 걸쳐 탐지하도록 구성되어 있어 사전에 컴퓨터 내부에 설치되어 있거나 사용자가 다운받은 후 설치한 프로그램의 경우 바이러스 또는 웜등을 탐지하거나 방지하는 것이 곤란하다는 문제점이 있다.However, the above method is configured to detect only the executable code downloaded through the web server and executed in the web browser in three steps. Therefore, the method installed in the computer or downloaded by the user beforehand is installed. In this case, it is difficult to detect or prevent viruses or worms.

또한 특정파일 또는 디렉토리에 대한 접근을 요청하는 프로세스를 차단하게되므로 프로세스들이 자주 접근하게되는 시스템 디렉토리(예를 들면 windows, 또는 system 등과 같은 윈도우즈 시스템의 특정 디렉토리)를 접근 금지시키는 경우 수시로 경고문이 떠 불편하다는 문제점이 있다.In addition, it blocks the process of requesting access to a specific file or directory, so if a user disallows access to a system directory (for example, a specific directory of a Windows system such as windows or system) that the process frequently accesses, a warning sometimes appears. There is a problem.

또한 프로세스의 각 행위에 점수를 부여하도록 구성되어 있어 설정이 복잡하며 오작동할 우려가 높다는 문제점이 있다. 또한 상기 설정이 데이터베이스내에 추가되어 있으므로 상기 데이터베이스가 삭제되거나 오류가 발생하는 경우 탐지 또는 방지가 불가능하다는 문제점이 있다.In addition, there is a problem that the configuration is complicated and malfunctioning is high because it is configured to give a score to each action of the process. In addition, since the setting is added in the database, there is a problem that detection or prevention is impossible when the database is deleted or an error occurs.

본 발명은 상기의 문제점을 해결하기 위해 안출된 것으로 파일 핸들링에 관련된 인터럽트 또는 이벤트를 감지하여 컴퓨터를 안전하게 보호할 수 있으며 설정이 간편한 실시간 감시를 통한 컴퓨터 보호 방법 및 이에 따라 보호되는 컴퓨터와 그 시스템을 제공하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and can detect an interrupt or event related to file handling to secure a computer, and provides a computer protection method and a system and a system protected according to the real-time monitoring that are easy to set up. It aims to provide.

그리고, 웹 메일로 전송되는 실행 가능한 파일이 하드디스크로 복사되는 것을 방지함으로써 바이러스, 해킹 툴 등을 감염을 원천 차단하여 컴퓨터 오퍼레이팅 시스템 및 응용 프로그램의 동작을 보호하는 실시간 감시를 통한 컴퓨터 보호 방법 및 이에 따라 보호되는 컴퓨터와 그 시스템을 제공하는 것을 또 다른 목적으로 한다.In addition, a computer protection method through real-time monitoring that protects the operation of computer operating systems and applications by preventing infection of viruses, hacking tools, etc. by preventing the copy of executable files transmitted by web mail to the hard disk, and thereby Another object is to provide a computer and its system which are protected accordingly.

도1 : 본 발명의 일실시예에 따른 실시간 감시를 통한 컴퓨터 보호 시스템의 구성도1 is a block diagram of a computer protection system through real-time monitoring according to an embodiment of the present invention

도2 : 본 발명의 일실시예에 따른 실시간 감시를 통한 컴퓨터 보호방법의 간략한 흐름도.2 is a simplified flowchart of a computer protection method through real-time monitoring according to an embodiment of the present invention.

본 발명은 상기의 목적을 달성하기 위해 실행 가능한 파일의 변경에 대해 허용여부를 설정하게 되는 설정단계와; 컴퓨터 내부에서 발생하는 파일 핸들링에 관련된 인터럽트 또는 이벤트를 감지하고 이를 가로채는 감지단계와; 상기 감지단계에서 가로챈 상기 인터럽트 또는 이벤트를 분석하여 실행 가능한 파일의 변경에 관한 요청인지를 파악하고 상기 실행 가능한 파일의 변경에 대한 요청이 상기 설정단계에서 허용 여부를 확인하게되는 분석단계와; 상기 분석단계에서 실행 가능한 파일의 변경요청에 해당하는 경우, 상기 설정단계에서 설정된 허용 여부에 따라 상기 인터럽트 또는 이벤트를 폐기 또는 복귀를 결정지어 처리하는 처리단계;로 구성되어 저장장치에 저장된 실행 가능한 파일의 변경을 방지하게되는 것을 특징으로 하는 실시간 감시를 통한 컴퓨터 보호 방법을 기술적 요지로 한다.The present invention comprises a setting step of setting whether to allow the change of the executable file to achieve the above object; Detecting and intercepting an interrupt or an event related to file handling occurring inside a computer; Analyzing the interrupt or event intercepted in the detecting step to determine whether the request is related to an executable file change and to determine whether the request for the executable file change is permitted in the setting step; A processing step of determining whether to discard or return an interrupt or an event according to whether or not to allow the change of the executable file in the analysis step; Technical protection method of the computer through a real-time monitoring, characterized in that to prevent the change of.

바람직하게는 상기 설정단계는 상기 감지단계, 분석단계, 처리단계 중 적어도 하나의 기능에 대해 수행 또는 정지 여부를 설정하는 것을 특징으로 한다.Preferably, the setting step is to set whether to perform or stop at least one function of the sensing step, analysis step, processing step.

바람직하게는 상기 실행 가능한 파일의 변경은, 실행 가능한 파일의 생성, 복사, 이동, 퍼미션의 변경, 파일명 또는 확장자의 변경, 파일내용의 수정, 파일병합, 파일분할 중 적어도 하나 이상을 포함하는 것을 특징으로 한다.Preferably, the change of the executable file includes at least one of creating, copying, moving, changing a permission, changing a file name or extension, modifying file contents, merging a file, and splitting an executable file. It is done.

바람직하게는 상기 설정단계는 상기 실행 가능한 파일의 변경을 요청하는 프로그램 또는 프로세스별로 허용여부를 별도로 설정하게 되는 것을 특징으로 한다.Preferably, the setting step is to set whether to allow separately for each program or process requesting the change of the executable file.

바람직하게는 상기 감지단계는 커널과 파일시스템드라이버에 포함 또는 연동되어 동작하는 것을 특징으로 한다.Preferably the detecting step is characterized in that the operating in the kernel or the file system driver included or linked.

바람직하게는 상기 분석단계는 대상 파일의 확장자 또는 파일의 퍼미션을 확인하여 실행 가능한 파일에 대한 요청인지 확인하게 되는 것을 특징으로 한다.Preferably, the analyzing step is to check the extension of the target file or the permission of the file to determine whether the request for the executable file.

바람직하게는 상기 인터럽트 또는 이벤트를 폐기한 후 에러 메시지를 전달하여 사용자에게 요청이 거부되었음을 표시하게 되는 것을 특징으로 한다.Preferably, the interrupt or event is discarded and an error message is delivered to indicate to the user that the request is denied.

바람직하게는 상기 인터럽트 또는 이벤트를 폐기한 후 에러 메시지를 발생시키지 않아 사용자에게 어떠한 알림도 하지 않도록 하는 것을 특징으로 한다.Preferably, after discarding the interrupt or event, an error message is not generated, so that no notification is given to the user.

그리고 실행 가능한 파일의 변경에 대한 허용여부가 저장되는 설정목록과; 인터럽트 또는 이벤트의 발생을 감지하여 가로채게 되는 감지모듈과; 상기 감지모듈이 감지한 인터럽트 또는 이벤트를 분석하여 실행 가능한 파일에 대한 변경요청인가 파악한 후 상기 설정목록과 비교하여 허용여부를 파악하게되는 분석모듈과; 상기 분석모듈의 분석결과에 따라 상기 인터럽트 또는 이벤트를 폐기하거나 복귀시키는 처리모듈;이 구비되어 실시간 감시를 통한 컴퓨터 보호 방법에 따라 내부에 저장된 실행 가능한 파일에 대한 보호가 이루어지는 것을 특징으로 하는 실시간 감시를 통한 컴퓨터 보호 시스템를 또 다른 기술적 요지로 한다.A setting list for allowing permission to change an executable file; A detection module for detecting the occurrence of an interrupt or an event and intercepting it; An analysis module which analyzes the interrupt or event detected by the detection module to determine whether a change request is made to an executable file, and compares the setting list with the setting list to determine whether to allow the change; A processing module for discarding or returning the interrupt or an event according to an analysis result of the analysis module; protection for executable files stored therein according to a computer protection method through real-time monitoring is provided. Computer protection system through another technical point.

바람직하게는 상기 설정목록은 컴퓨터의 저장공간 또는 컴퓨터 내에 부설되는 플래시 메모리에 저장되는 것을 특징으로 한다.Preferably, the setting list is stored in a storage space of a computer or a flash memory installed in the computer.

바람직하게는 상기 플래시 메모리는 네트워크 인터페이스 카드에 설치되는 것을 특징으로 한다.Preferably, the flash memory is installed in the network interface card.

바람직하게는 상기 설정목록은 각 프로그램 또는 프로세스별로 실행 가능한 파일의 변경에 대한 허용여부를 저장하게 되는 것을 특징으로 한다.Preferably, the configuration list is characterized in that whether to allow the change of the executable file for each program or process.

바람직하게는 실행 가능한 파일의 보호 방법의 수행여부와 실행 가능한 파일의 변경을 허용하는 프로그램의 목록을 입력받아 상기 설정목록에 저장하게 되는 설정모듈;을 더 포함하여 구성되는 것을 특징으로 한다.Preferably, the configuration module further includes a configuration module configured to receive a list of programs allowing the execution of a method of protecting an executable file and a change of the executable file, and to store the list in a configuration list.

실시간 감시를 통한 컴퓨터 보호 시스템이 설치되어 있으며 네트워크에 연결되어 있는 클라이언트와; 상기 클라이언트와 네트워크를 통해 연결되며 상기 클라이언트에 접속하여 상기 클라이언트의 설정목록을 변경하게 되는 서버;로 구성되는 실행 가능한 파일이 보호되는 시스템을 또 다른 특징으로 한다.A client installed with a computer protection system through real-time monitoring and connected to a network; And a server connected to the client through a network and connected to the client to change the configuration list of the client.

바람직하게는 상기 클라이언트는 접속을 허용할 서버에 대한 정보를 구비하게되며 상기 서버측의 접속요청시 상기 서버로부터 인증정보를 전달받은 후 비교하여 접속을 허용하게 되는 것을 특징으로 한다.Preferably, the client is provided with information on the server to allow access, characterized in that to allow access by comparing after receiving the authentication information from the server when the connection request from the server side.

이하에서는 본 발명의 일실시예에 따른 실시간 감시를 통한 컴퓨터 보호 방법에 대해 상세히 설명하기로 한다.Hereinafter, a computer protection method through real-time monitoring according to an embodiment of the present invention will be described in detail.

본 발명은 바이러스 등으로부터의 감염 및 확산을 방지하는 것을 주목적으로 한다. 이를 위해 본 발명에서는 컴퓨터 내부에서 발생하는 파일 핸들링에 관련된 인터럽트 또는 이벤트를 감지하고 상기 인터럽트 또는 이벤트를 가로챈 후 분석하여 허용되지 않는 행위를 요청하는 경우 폐기하여 감염 및 확산을 방지하도록 구성한다. 이에 따라 바이러스 등이 내부 저장장치에 저장되는 것을 방지할 수 있으며, 이전에 저장된 바이러스 등이 실행되어 다른 파일을 감염시키는 것도 예방할 수 있어 바이러스 등에 의한 피해를 감소시킬 수 있게 된다.The present invention primarily aims at preventing infection and spread from viruses and the like. To this end, the present invention detects an interrupt or an event related to file handling occurring inside a computer, intercepts and analyzes the interrupt or event, and discards it when requesting an unacceptable action to prevent infection and spread. Accordingly, it is possible to prevent viruses and the like from being stored in the internal storage device, and to prevent other viruses from being executed by previously executing viruses and the like, thereby reducing damage caused by viruses.

일반적으로 외부로부터 유입된 바이러스 등은 먼저 자신을 복제하여 컴퓨터의 저장공간 일정한 위치 또는 특정한 파일의 내용을 변경한 후 자신의 코드를 포함시키거나 임의의 파일을 생성하여 저장하고 레지스트리 등을 수정하여 컴퓨터의 실행시등에 상기 바이러스 등이 실행되도록 구성된다. 상기와 같이 바이러스 등은저장된 후 실행되어 다른 파일을 감염시키게 되며 웜의 경우에는 자신을 복제하게 된다. 이때 상기 바이러스 또는 웜이 실행되기 위해서는 바이러스가 감염된 파일 또는 웜이 실행 가능한 파일이어야 한다. 따라서 상기 바이러스 등은 실행 가능한 파일(예를 들면 확장자가 EXE, COM인 실행파일, SYS인 시스템파일, DLL, ocx 등)의 형태를 가지거나 실행 가능한 파일에 감염된다. 따라서, 본 발명에서는 상기 실행 가능한 파일들에 관한 생성, 변경, 삭제 등을 방지하여 바이러스 등이 저장공간에 저장되는 것과 이미 저장된 바이러스가 실행되어 다른 파일을 감염시키거나 복제되는 것을 방지할 수 있도록 구성하게 된다.In general, viruses introduced from the outside first copy themselves to change a certain location of a computer's storage space or contents of a specific file, and then include its own code or generate and save a random file, and modify a computer to modify the computer. The virus and the like are configured to be executed at the time of execution. As described above, the virus is stored and then executed to infect other files, and in the case of a worm, it copies itself. At this time, in order for the virus or worm to be executed, the virus infected file or the worm must be an executable file. Therefore, the virus or the like is infected with an executable file having a form of an executable file (for example, EXE, COM executable file, SYS system file, DLL, ocx, etc.). Therefore, the present invention is configured to prevent the creation, modification, deletion, etc. of the executable files to prevent the virus or the like is stored in the storage space and the already stored virus is executed to infect or replicate other files. Done.

이하에서는 본 발명의 일실시예에 따른 실시간 감시를 통한 컴퓨터 보호 방법에 대해 상세히 설명하기로 한다. 본 발명의 실시간 감시를 통한 컴퓨터 보호 방법은 크게 설정단계, 감지단계, 분석단계, 처리단계로 나눌 수 있다.Hereinafter, a computer protection method through real-time monitoring according to an embodiment of the present invention will be described in detail. The computer protection method through real-time monitoring of the present invention can be largely divided into a setting step, a detection step, an analysis step, and a processing step.

먼저, 설정단계에 대해 설명하기로 한다. 상기 설정단계는 실행 가능한 파일의 변경에 대해 허용여부를 설정하게 되는 단계이다. 즉, 상기 설정단계를 통해 바이러스 등의 방지 기능을 수행할 것인지 정지할 것인지를 설정할 수 있다. 상기 설정단계에서 기능의 정지를 설정하게 되면 후술하게 되는 감지단계에서 인터럽트 또는 이벤트의 가로채기를 중지하게 된다. 이에 따라 상기 인터럽트 또는 이벤트는 원래의 해당 부분으로 전달되어 정상적으로 수행된다. 이때 상기 감지단계의 실행을 중지시키는 대신 모든 인터럽트 또는 이벤트를 복귀시키도록 구성하는 것도 무방하나 이 경우 시간이 소요되므로 컴퓨터의 속도를 보다 향상시키기 위해 감지단계를 정지시키는 것이 가장 바람직하다.First, the setting step will be described. The setting step is to set whether to allow the change of the executable file. That is, it is possible to set whether to stop or perform a virus or the like function through the setting step. If the stop of the function is set in the setting step, the interruption or the interception of the event is stopped in the detection step described later. Accordingly, the interrupt or event is delivered to the corresponding original part and normally performed. In this case, instead of stopping the execution of the sensing step, it may be configured to return all interrupts or events, but in this case, since it takes time, it is most preferable to stop the sensing step to improve the speed of the computer.

또한 상기 설정단계는 차단할 인터럽트 또는 이벤트를 세부적으로 설정하여 보다 세밀한 제어가 가능하도록 구성할 수 있다. 즉, 모든 실행파일에 대한 변경을 차단할 것인지 또는 특정한 프로그램 또는 프로세스에 의한 변경만은 허용할 것인지, 모든 변경을 허용할 것인지 등을 설정할 수 있다. 이는 컴퓨터의 사용 중 새로운 프로그램을 설치하거나 업데이트를 하는 경우 실행파일의 변경이 필요하게 되므로 상기 기능을 잠시 정지시키거나 일부를 허용하여 설치 또는 업데이트가 가능하도록 하기 위함이다.In addition, the setting step may be configured to enable finer control by setting interrupts or events to be blocked in detail. That is, it is possible to set whether to block changes to all executable files, to allow only changes by specific programs or processes, to allow all changes, and the like. This is to change the executable file when installing or updating a new program while the computer is in use, so that the function can be temporarily suspended or allowed to be installed or updated.

특히 프로그래머의 경우 프로그램 랭귀지(Language) 프로그램을 통해 프로그램의 작성 중 계속 실행파일을 생성하거나 변경하게된다. 또한 시스템프로그램 또는 응용프로그램중 일부는 실행 중 특정한 DLL 파일등을 변경하는 경우가 있으므로 이러한 프로그램들은 사전에 변경하게되는 DLL파일들을 설정하여 사용중 상기 프로그램들에 의해 발생하는 사용자의 불편을 최소화 할 수 있도록 하는 것이 바람직하다.Programmers, in particular, use program language programs to create or modify executables while the program is being written. In addition, some system programs or applications may change certain DLL files during execution, so these programs set DLL files to be changed in advance so that user inconvenience caused by the programs during use can be minimized. It is desirable to.

상기와 같이 설정된 정보는 설정목록에 저장되며 상기 설정목록은 후술하게될 분석단계에서 실행 가능한 파일의 변경에 대한 허용여부를 파악할 때 참조된다.The information set as described above is stored in a setting list, and the setting list is referred to when determining whether to allow the change of the executable file in the analysis step to be described later.

다음으로, 감지단계에 대해 설명하기로 한다. 상기 감지단계는 상기 컴퓨터 내부에서 일어나는 파일 핸들링에 관련된 인터럽트 또는 이벤트의 발생여부를 감지하게 된다. 상기 인터럽트 또는 이벤트는 컴퓨터가 주변장치를 제어하기 위해 발생시키거나 주변장치로부터 입력이 있는 경우 발생하게 되는 것으로 컴퓨터는 상기인터럽트 또는 이벤트에 따라 정해진 동작을 수행하도록 사전에 프로그램 되어있다.Next, the sensing step will be described. The detecting step detects whether an interrupt or an event related to file handling occurring in the computer occurs. The interrupt or event is generated when the computer controls the peripheral device or when there is an input from the peripheral device. The computer is pre-programmed to perform a predetermined operation according to the interrupt or event.

상기에서 정의된 인터럽트는 컴퓨터에 장착된 장치나 컴퓨터 내의 프로그램으로부터 오는 신호로서 운영체계가 하던 일을 멈추고 다음에 무엇을 할 것인지를 결정하게 한다. 오늘날 거의 모든 PC나 대형 컴퓨터들이 인터럽트 기반의 시스템인데, 즉 일단 프로그램 내의 컴퓨터 명령문을 시작되면, 더 이상 작업을 진행할 수 없거나, 또는 인터럽트 신호가 감지될 때까지 명령문들을 실행한다. 인터럽트 신호가 감지되면, 컴퓨터는 실행되고 있던 프로그램을 재개하거나, 또는 다른 프로그램의 실행을 시작한다. 기본적으로 단일 컴퓨터는 오직 한번에 한 개의 컴퓨터 명령어만을 수행할 수 있다. 그러나, 인터럽트 신호가 있기 때문에, 다른 프로그램이나 명령문을 수행할 수 있는 순서를 가질 수 있다. 이렇게 하는 것을 멀티태스킹(Multi Tasking)이라고 하는데, 이것은 사용자로 하여금 동시에 여러 개의 작업을 할 수 있도록 해준다. 컴퓨터는 사용자가 효과적으로 일할 수 있게 끔, 단순히 그 프로그램들이 수행될 순서를 관리한다. 물론, 컴퓨터는 사용자의 모든 작업들이 동시에 수행되는 것처럼 보이게 빠른 속도로 동작한다. 운영체계는 대개 인터럽트 관리기능을 가지고 있다. 인터럽트 관리장치는 만약 하나이상의 인터럽트가 처리되어야 하는 경우라면, 인터럽트들 간의 우선 순위를 정하고 그들을 큐에 저장한다. 운영체계는 스케줄러라고 불리는 또 다른 작은 프로그램을 가지고 있는데, 이는 다음 번에 수행되어야할 프로그램에게 제어권을 넘겨준다. 즉, 본 발명에서의 감지단계는 상기 인터럽트 중 파일 핸들링에 관련된 인터럽트를 대상으로한정하여 감지하는 역할을 수행한다. 기본적인 오퍼레이팅 시스템(Operating System)이 동작하는 도중에 파일 복사 등 사용자가 지정 또는 외부에서 임의로 파일 복사, 삭제 등에 대한 파일 핸들링 이벤트가 발생하게 되면, 상기 감지단계에서 감지하는 역할을 하는 것이다.Interrupts as defined above are signals from a computer-mounted device or a program in a computer that allow the operating system to stop doing what it is supposed to do next. Today almost every PC or large computer is an interrupt-based system, that is, once a computer statement in a program has started, it can execute the statement until it can no longer work or until an interrupt signal is detected. When an interrupt signal is detected, the computer resumes the program that was running or starts executing another program. Basically, a single computer can only execute one computer instruction at a time. However, because of the interrupt signal, it can have an order in which other programs or statements can be executed. This is called multitasking, which allows the user to do multiple tasks at the same time. The computer simply manages the order in which the programs will be executed so that the user can work effectively. Of course, the computer runs at a high speed so that all of the user's tasks appear to be performed at the same time. The operating system usually has interrupt management. If more than one interrupt needs to be processed, the interrupt manager prioritizes the interrupts and queues them. The operating system has another small program called the scheduler, which gives control to the next program to be run. That is, the sensing step of the present invention serves to detect only the interrupt related to file handling among the interrupts. If a file handling event for a file copy or deletion, such as a file copy or a user arbitrarily occurs while the basic operating system is operating, it plays a role of detecting in the detecting step.

그리고, 상기에서 정의된 이벤트란 프로그램에 의해 감지되는 어떤 행동이나 발생된 사건 등을 가리킨다. 예를 들어 마우스 단추나 키보드의 키를 누르는 등과 같이 사용자에 의해 발생하는 행위뿐 아니라, 메모리가 모두 소진되어 버리는 것과 같이 시스템에서 발생한 일들도 이벤트로 간주된다. 특히 매킨토시나 윈도우 환경에서 동작하는 대부분의 최신 응용프로그램들은, 발생한 이벤트에 반응하도록 설계되어 있기 때문에, 이벤트 기반의 프로그램이라고 부른다. 본 발명에서의 감지단계는 상기 이벤트 중 파일 핸들링에 관련된 이벤트를 대상으로 한정하여 감지하는 역할을 수행한다.The event defined above refers to any action or event that is detected by the program. Events that occur in the system, such as when a user presses a mouse button or a key on the keyboard, as well as when memory is exhausted, are considered events. In particular, most modern applications that run on Macintosh or Windows environments are called event-based programs because they are designed to respond to events that occur. The sensing step in the present invention serves to detect and limit an event related to file handling among the events.

또한, 본 발명의 감지단계는 상기 인터럽트 또는 이벤트 중 파일 핸들링에 관련된 인터럽트 또는 이벤트가 발생하는 즉시 가로채 컴퓨터가 상기 인터럽트 또는 이벤트에 대한 반응을 하지 못하도록 한다. 상기와 같이 인터럽트 또는 이벤트를 사전에 가로채는 것 자체는 당 업계에서는 주지관용의 기술이므로 상세한 설명은 생략하기로 한다.In addition, the detecting step of the present invention prevents the computer from responding to the interrupt or event as soon as an interrupt or event related to file handling occurs. Intercepting an interrupt or an event in advance as described above is a technique known to the art in the art, so a detailed description thereof will be omitted.

다음으로 분석단계에 대해 설명하기로 한다. 상기 분석단계는 상기 감지단계에서 가로챈 파일 핸들링에 관련된 인터럽트 또는 이벤트를 전달받아 분석하여 어떤 행위를 요청하는 것인지 파악하는 과정이다. 그리고, 상기에서 언급된 파일핸들링은 크게 두 가지로 나눌 수 있다. 하나는 일반적인 데이터 파일의 형태이고, 또 다른 하나는 실행 가능한 파일로 나눌 수 잇다. 일반적인 데이터 파일의 경우에는 파일의 생성, 복사, 이동, 퍼미션의 변경, 파일명 또는 확장자의 변경, 파일내용의 수정, 파일 병합, 파일 분할 등을 아무런 제약 없이 수행해야 사용자에게 불편함이 없을 것이다. 그리고, 일반적으로 바이러스 등은 실행 가능한 파일의 형태로 저장공간에 저장되므로 본 발명에서는 실행 가능한 파일의 생성, 복사, 이동, 퍼미션의 변경, 파일명 또는 확장자의 변경, 파일내용의 수정, 파일병합, 파일분할 등을 요청하는 경우 바이러스 등의 실행으로 의심할 수 있다. 또한, 사용자가 오퍼레이팅 시스템에 대해 충분히 업데이트를 수행했다면, 더 이상의 실행 가능한 파일의 변경은 없는 경우가 많다. 다만, 바이러스 등 악성코드에 의해 수행되는 실행 가능한 파일의 변경일 경우가 많다.Next, the analysis step will be described. The analyzing step is a process of identifying an action request by receiving and analyzing an interrupt or an event related to file handling intercepted in the detecting step. In addition, the file handling mentioned above can be roughly divided into two types. One is in the form of a regular data file, and the other can be divided into executable files. In the case of a general data file, there should be no inconvenience for users to create, copy, move files, change permissions, change file names or extensions, modify file contents, merge files, and divide files without any restrictions. In general, viruses and the like are stored in a storage space in the form of executable files. In the present invention, executable files can be created, copied, moved, changed permissions, changed file names or extensions, modified file contents, file merges, files, and the like. If you request a split, you can suspect that a virus or the like is running. Also, if the user has fully updated the operating system, there are often no changes to the executable file. However, it is often a change of an executable file performed by a malicious code such as a virus.

물론, 정상적인 마이크로소프트의 업데이트 등의 행위일 수는 있으나, 그와 같은 행위인 경우에는 사용자가 알 수 있는 메시지가 발생하므로, 사용자의 입장에서 이해할 수 있는 것이지만, 일반적인 바이러스 등에 의한 파일 복사, 파일 삭제 및 외부 해커에 의한 첨부메일 등에 의한 실행 파일의 전송에 따라 사용자 컴퓨터에 복사하는 행위 등은 사용자가 모르는 경우가 대부분이기 때문이다. 그리고, 본 발명의 요지는 실행 가능한 파일 생성, 복사, 이동, 퍼미션의 변경, 파일명 또는 확장자의 변경, 파일내용의 수정, 파일병합, 파일분할 등을 하지 못하도록 하는 데 있다. 상기 감지단계에서 감지된 파일 핸들링에 관련된 인터럽트 또는 이벤트를 분석하여 상기와 같은 실행 가능한 파일 생성, 복사, 이동, 퍼미션의 변경, 파일명또는 확장자의 변경, 파일내용의 수정, 파일병합, 파일분할 등에 대한 요청인지 아닌지를 파악하게 된다. 상기 파일 핸들링에 관련된 인터럽트 또는 이벤트가 파일의 저장, 변경 등에 관한 것인지 파악한 후 대상 파일이 실행 가능한 파일인지 확인하게 된다. 여기서 상기 파일이 실행 가능한 파일인지 아닌지를 확인하기 위해서는 마이크로스프트 도스 또는 윈도우 계열의 운영체계에서는 파일의 확장자를 확인하게 되며 유닉스 등에서는 파일의 퍼미션을 확인하도록 구성된다. 인터럽트의 경우 대상의 파일이름이 포함되지 않는 경우 상기 인터럽트가 지정하는 저장공간의 주소에 할당된 파일의 이름을 FAT등에서 확인하게 된다. 그리고, 상기에서 언급된 확장자의 변경은 대상 파일이 실행 가능한 파일로의 변환 여부를 분석하여 데이터 파일에서 실행 가능한 파일로의 확장자 변경 여부를 확인하게 된다.Of course, this may be a normal Microsoft update or the like, but in such a case, a message known to the user is generated, which is understandable from the user's point of view, but the file is copied or deleted by a general virus. This is because the copying to the user's computer in accordance with the transmission of the executable file by an external hacker or the like by an external hacker is mostly because the user does not know. The gist of the present invention is to prevent executable file creation, copying, moving, changing permission, changing file name or extension, modifying file contents, file merging, file division, and the like. By analyzing the interrupts or events related to file handling detected in the detection step, the executable file can be created, copied, moved, changed permissions, changed file name or extension, modified file contents, file merge, file division, etc. It will determine if the request is or not. After determining whether the interrupt or event related to the file handling is related to storing or changing the file, it is checked whether the target file is an executable file. In this case, in order to check whether the file is an executable file or not, the extension of the file is checked in a Microsoft DOS or Windows-based operating system, and in Unix, the file is configured to check a file's permission. In the case of an interrupt, when the file name of the target is not included, the name of the file allocated to the address of the storage space designated by the interrupt is checked in the FAT or the like. In addition, the change of the above-mentioned extension analyzes whether the target file is converted into an executable file and confirms whether the extension of the extension is changed from the data file to the executable file.

다음으로 처리단계에 대해 설명하기로 한다. 상기 처리단계는 상기 분석단계에서 실행 가능한 파일의 변경요청에 해당하는 경우, 상기 설정단계에서 설정된 허용 여부에 따라 상기 인터럽트 또는 이벤트를 폐기 또는 복귀를 결정지어 처리하는 단계이다. 상기에서 기술된 인터럽트 또는 이벤트를 폐기하는 경우에는 두 가지 방식으로 구현 가능하다. 상기 인터럽트 또는 이벤트를 폐기한 후 에러 메시지를 전달하여 사용자에게 요청이 거부되었음을 표시하게 되는 것이 그 하나이고, 상기 인터럽트 또는 이벤트를 폐기한 후 에러 메시지를 발생시키지 않아 사용자에게 어떠한 알림도 하지 않도록 하는 것이다.Next, the processing steps will be described. In the processing step, when the change request corresponds to a file change request executable in the analyzing step, the interrupt or event is determined and discarded according to the permission set in the setting step. In the case of discarding the interrupt or event described above, it can be implemented in two ways. After discarding the interrupt or event, an error message is transmitted to indicate to the user that the request has been rejected. After discarding the interrupt or event, the user does not generate an error message so as not to notify the user. .

상기에서 설명한 바와 같이, 상기 파일 핸들링에 관련된 인터럽트 또는 이벤트의 폐기 후 에러 메시지를 전달하여 사용자에게 통지하도록 하여 사용자에게 실행 가능한 파일의 변경요청이 있었음을 확인시키게 되며 사용자가 컴퓨터의 보호기능을 작동 중인 상태에서 변경요청을 한 경우 상기 기능을 정지시킨 후 변경할 수 있도록 하기 위함이다.As described above, after discarding the interrupt or event related to the file handling, an error message is transmitted to notify the user to confirm that the user has requested an executable file change, and the user is operating the protection function of the computer. When a change request is made in the state, the function is to be changed after stopping the function.

또한, 상기 파일 핸들링에 관련된 인터럽트 또는 이벤트의 폐기 후 에러메시지를 발생시키지 않아 사용자에게 어떠한 알림도 하지 않도록 하는 것은, 다수의 사용자가 컴퓨터를 사용하는 경우에 있어서 상기 에러메시지를 발생시켜 발생할 수 있는 혼란을 줄이기 위해 어떠한 메시지도 사용자에게 전달되지 않도록 하기 위함이다.In addition, disabling an error message after discarding an interrupt or an event related to file handling does not cause any notification to a user, which may cause confusion that may occur due to generating the error message when a plurality of users use a computer. This is to ensure that no message is delivered to the user to reduce the problem.

그리고, 상기 처리단계에서의 인터럽트 또는 이벤트의 폐기는 발생한 인터럽트 또는 이벤트를 오퍼레이팅 시스템(Operating System)이나 커널(Kernel)에 전달하지 않고, 상기 분석단계에서 허용되지 않은 요청인 경우에 한해 해당 인터럽트 또는 이벤트를 삭제하는 방법으로 구현할 수 있다.In addition, the interruption or event discard in the processing step does not deliver the interrupt or event that occurred to the operating system or the kernel, and the interrupt or event only when the request is not allowed in the analysis step. It can be implemented by deleting.

상기에서 언급된 파일 핸들링에 관련된 인터럽트 또는 이벤트를 복귀시키는 처리단계의 경우에는 분석단계에서 허용되는 요청을 한 인터럽트 또는 이벤트에 대해 원래 전달되어야 할 해당 부분으로 전달하여 실행되도록 하는 단계이다. 따라서, 해당 인터럽트 또는 이벤트는 사용자가 요청한 그대로의 형태로 전달될 수 있도록 하는 것이다.In the case of the processing step for returning the interrupt or event related to the file handling mentioned above, the request allowed in the analysis step is delivered to the corresponding part to be originally delivered for the interrupt or event to be executed. Therefore, the interrupt or event can be delivered in the form requested by the user.

이하에서는 실시간 감시를 통한 컴퓨터 보호 시스템에 대해 설명하기로 한다. 상기 컴퓨터(100)는 설정목록(50)과 감지모듈(10)과 분석모듈(20)과 처리모듈(30) 그리고 설정모듈을 포함하게 된다.Hereinafter, a computer protection system through real time monitoring will be described. The computer 100 includes a setting list 50, a sensing module 10, an analysis module 20, a processing module 30, and a setting module.

상기 설정목록(50)은 인터럽트 또는 이벤트의 분석시 사용되는 설정이 저장된다. 이를 위해 상기 설정목록(50)에는 실행 가능한 파일의 변경에 대한 허용여부가 저장되어 있다. 본 발명에서는 상기 설정목록(50)은 플래시메모리 상에 저장된다. 상기와 같이 플래시메모리에 저장하는 이유는 사전에 감염된 바이러스 등에 의해 설정목록(50) 등이 손상될 우려가 있으므로 컴퓨터의 하드디스크 등 저장공간에 저장하는 대신 하드웨어인 플래시메모리를 사용하여 손상을 방지하기 위함이다.The configuration list 50 stores the configuration used for the analysis of interrupts or events. To this end, the setting list 50 stores whether to allow the change of the executable file. In the present invention, the configuration list 50 is stored on the flash memory. The reason for storing in the flash memory as described above is that the settings list 50, etc. may be damaged by a virus that has been previously infected. For sake.

그리고 본 발명에서는 상기 플래시메모리를 네트워크인터페이스카드에 설치하도록 구성하게 된다. 이는 네트워크를 통해 상기 플래시메모리에 접근하여 상기 설정목록(50)을 변경하도록 하여 다수개의 컴퓨터를 소수의 관리자가 관리할 때 용이하게 할 수 있도록 하기 위함이다.In the present invention, the flash memory is installed in a network interface card. This is to access the flash memory through a network so that the configuration list 50 can be changed to facilitate the management of a plurality of computers by a few administrators.

그러나 상기와 같이 플래시메모리에 설치하는 대신 하드디스크에 저장하는 것도 무방하며, 상기 플래시메모리를 네트워크인터페이스카드가 아닌 다른 장치에 부설하는 것도 무방하다.However, instead of installing the flash memory as described above, it may be stored in a hard disk, and the flash memory may be installed in a device other than a network interface card.

다음으로, 상기 감지모듈(10)은 상기 컴퓨터의 상기 컴퓨터의 커널(40) 또는 파일시스템드라이버에 연동되어 설치되고 컴퓨터에서 발생하는 파일 핸들링에 관련된 인터럽트 또는 이벤트를 감지한 후 이를 가로채어 후술하게 되는 분석모듈(20)로 전달하게 된다. 상기 인터럽트 또는 이벤트는 컴퓨터가 주변장치를 제어하기 위해 발생시키거나 주변장치로부터 입력이 있는 경우 발생하게 되는 것으로 컴퓨터는 상기 인터럽트 또는 이벤트에 따라 정해진 동작을 수행하도록 사전에 프로그램되어있다. 상기와 같이 인터럽트 또는 이벤트를 감지하여 가로채는 기술은 당업자에게는 주지관용의 기술이므로 상세한 설명은 생략하기로 한다.Next, the detection module 10 is installed in conjunction with the kernel 40 of the computer or the file system driver of the computer and detects an interrupt or an event related to file handling occurring in the computer and intercepts it and will be described later. It is delivered to the analysis module 20. The interrupt or event is generated when the computer controls the peripheral device or when there is input from the peripheral device. The computer is pre-programmed to perform a predetermined operation according to the interrupt or event. As described above, a technique for detecting and intercepting an interrupt or an event is well known to those skilled in the art, so a detailed description thereof will be omitted.

다음, 상기 분석모듈(20)을 설명하기로 한다. 상기 분석모듈(20)은 상기 감지모듈(10)에서 가로챈 상기 인터럽트 또는 이벤트를 설정목록(50)에 저장된 설정내용을 참조로 하여 상기 인터럽트 또는 이벤트가 허용된 것인지 허용되지 않은 것인지 파악하게 된다. 이를 위해 상기 분석모듈(20)은 먼저 인터럽트 또는 이벤트를 분석하여 파일에 대한 변경을 요청하는 것인지 파악하게 된다. 파일에 대한 변경을 요청하는 것일 경우 상기 분석모듈(20)은 대상파일이 실행 가능한 파일인지 확인하게 된다. 이때 인터럽트 또는 이벤트에 상기 파일의 이름이 표시되지 않을 경우에는 해당 파일이 저장된 저장공간의 주소를 찾은 후 상기 주소의 파일에 대해 FAT등을 검색하여 파일의 이름을 파악하게 된다. 상기와 같이 이름을 파악하게 되면 상기 파일의 확장자에 의해 상기 파일이 실행 가능한 파일인지 아닌지 확인 가능하게 된다. 이때 유닉스 계열에서는 상기와 같이 확장자를 통해 실행 가능한 파일인지 확인 할 수 없으므로 상기 파일의 퍼미션을 확인하여 실행 가능한 파일인지 확인하도록 구성된다.Next, the analysis module 20 will be described. The analysis module 20 determines whether the interrupt or event is allowed or disallowed by referring to the setting contents stored in the setting list 50 for the interrupt or event intercepted by the sensing module 10. To this end, the analysis module 20 first analyzes the interrupt or event to determine whether to request a change to the file. When requesting a change to a file, the analysis module 20 checks whether the target file is an executable file. In this case, when the name of the file is not displayed in the interrupt or event, the address of the storage space in which the file is stored is searched for, and the file name is searched by searching the FAT for the file of the address. If the name is identified as described above, it is possible to confirm whether the file is an executable file by the extension of the file. In this case, since the UNIX-based system cannot verify whether the executable file is executable through the extension as described above, the file is configured to verify the executable file by checking the permission of the file.

상기와 같이 대상파일이 실행 가능한 파일일 경우 상기 분석모듈(20)은 설정목록(50)에 저장된 목록과 비교하여 허용되는 변경요청인지를 확인하게 된다. 상기 인터럽트 또는 이벤트를 호출한 프로그램이 상기 설정목록(50)에 저장된 허용프로그램의 목록에 있으면 상기 변경은 허용되며 저장되지 않은 경우 허용되지 않은 요청으로 판단하게 된다.When the target file is an executable file as described above, the analysis module 20 checks whether the change request is allowed by comparing with the list stored in the setting list 50. If the program calling the interrupt or event is in the list of allowed programs stored in the setting list 50, the change is allowed and if it is not stored, it is determined as an unauthorized request.

다음으로, 처리모듈(30)에 대해 설명하기로 한다. 상기 처리모듈(30)은 상기 분석모듈(20)에서 분석한 결과를 전달받은 후 상기 파일 핸들링에 관련된 인터럽트 또는 이벤트를 상기 결과에 따라 처리한다. 상기에서 설명한 바와 같이, 상기 파일 핸들링에 관련된 인터럽트 또는 이벤트의 폐기는 두 가지 방법을 구성 가능하다. 하나는 상기 파일 핸들링에 관련된 인터럽트 또는 이벤트의 폐기 후 에러 메시지를 전달하여 사용자에게 통지하도록 하여 사용자에게 실행 가능한 파일의 변경요청이 있었음을 확인시키게 되도록 구성하는 것이며, 이는 사용자가 컴퓨터의 보호기능을 작동 중인 상태에서 변경요청을 한 경우 상기 기능을 정지시킨 후 변경할 수 있도록 하기 위함이다.Next, the processing module 30 will be described. The processing module 30 processes the interrupt or event related to the file handling according to the result after receiving the result analyzed by the analysis module 20. As described above, discarding interrupts or events related to file handling can be configured in two ways. One is to send an error message after discarding the interrupt or event related to file handling to notify the user to confirm that the user has requested a change in the executable file, which activates the computer's protection function. This is to change the function after stopping the function when a change request is made in the state of being in progress.

그리고, 또 하나는 상기 파일 핸들링에 관련된 인터럽트 또는 이벤트의 폐기 후 에러메시지를 발생시키지 않아 사용자에게 어떠한 알림도 하지 않도록 하는 것이며, 이는 다수의 사용자가 컴퓨터를 사용하는 경우에 있어서 상기 에러메시지를 발생시켜 발생할 수 있는 혼란을 줄이기 위해 어떠한 메시지도 사용자에게 전달되지 않도록 하기 위함이다. 그리고 허용된 인터럽트 또는 이벤트는 복귀시켜 정상적으로 수행되도록 구성된다.In addition, an error message is not generated after the interruption or an event related to file handling is discarded, so that the user is not notified of any error. This causes the error message when a plurality of users use a computer. This is to ensure that no messages are delivered to the user to reduce any confusion that may occur. The allowed interrupt or event is then configured to return to normal execution.

다음으로 설정모듈에 대해 설명하기로 한다. 상기 설정모듈은 사용자 또는 관리자가 입력하는 설정(예를 들면 실행 가능한 파일의 변경을 허용할 파일의 목록)들을 상기 설정목록(50)에 추가하거나 삭제하여 갱신하게된다. 상기 설정모듈은 네트워크를 통한 접속을 허용하여 사용자 또는 관리자가 원격으로 상기 설정목록(50)을 변경할 수 있도록 구성하는 것도 무방하다. 그리고, 상기 설정모듈에서기능의 정지를 설정하게 되면 상기 후술하게 되는 감지단계에서 인터럽트 또는 이벤트의 가로채기를 중지하게 된다. 이에 따라 상기 인터럽트 또는 이벤트는 원래의 해당 부분으로 전달되어 정상적으로 수행된다. 또한 상기 설정모듈은 차단할 인터럽트 또는 이벤트를 세부적으로 설정하여 보다 세밀한 제어가 가능하도록 구성할 수 있다. 즉, 모든 실행파일에 대한 변경을 차단할 것인지 또는 특정한 프로그램 또는 프로세스에 의한 변경만은 허용할 것인지, 모든 변경을 허용할 것인지 등을 설정할 수 있다. 이는 컴퓨터의 사용 중 새로운 프로그램을 설치하거나 업데이트를 하는 경우 실행파일의 변경이 필요하게 되므로 상기 기능을 잠시 정지시키거나 일부를 허용하여 설치 또는 업데이트가 가능하도록 하기 위함이다. 또한 프로그래머의 경우 프로그램 랭귀지(Language) 프로그램을 통해 프로그램의 작성중 계속 실행파일을 생성하게 되므로 상기 프로그램 랭귀지 프로그램에 의한 실행 가능한 파일의 변경은 허용하도록 설정하는 것도 무방하다. 상기와 같이 설정된 정보는 설정목록(50)에 저장되며 상기 설정목록(50)은 상기 분석단계에서 실행 가능한 파일의 변경에 대한 허용여부를 파악할 때 참조된다.Next, the setting module will be described. The configuration module updates or updates the configuration list 50 by adding or deleting settings (for example, a list of files to be allowed to change executable files) input by a user or an administrator. The setting module may be configured to allow a user or an administrator to remotely change the setting list 50 by allowing access through a network. If the setting module stops the function, the interruption of the interrupt or event is stopped in the detection step described later. Accordingly, the interrupt or event is delivered to the corresponding original part and normally performed. In addition, the setting module may be configured to enable finer control by setting an interrupt or an event to be blocked in detail. That is, it is possible to set whether to block changes to all executable files, to allow only changes by specific programs or processes, to allow all changes, and the like. This is to change the executable file when installing or updating a new program while the computer is in use, so that the function can be temporarily suspended or allowed to be installed or updated. In addition, the programmer may continue to generate an executable file during the writing of the program through a program language program, so that the executable file may be changed by the program language program. The information set as described above is stored in the setting list 50 and the setting list 50 is referred to when determining whether to allow the change of the executable file in the analyzing step.

이하에서는 실행 가능한 파일이 보호되는 시스템에 대해 설명하기로 한다. 상기 실행 가능한 파일이 보호되는 시스템은 클라이언트(100)와 서버(60)로 구성된다.Hereinafter, a description will be given of a system in which an executable file is protected. The system in which the executable file is protected is composed of a client 100 and a server 60.

상기 클라이언트(100)는 상기 감지모듈(10)과 분석모듈(20)과 처리모듈(30) 그리고 설정목록(50)이 구비되어 바이러스 등을 방지할 수 있는 컴퓨터로 네트워크에 연결되어 있다. 상기 클라이언트(100)에는 상기 설정목록(50)을 변경할 수 있는 설정모듈이 더 구비되어 사용자 또는 관리자가 상기 설정목록(50)을 변경할 수 있도록 구성하게된다. 상기 설정모듈은 클라이언트(100)에서 직접 설정목록(50)을 변경하거나 네트워크를 통해 외부에서 접속하여 변경할 수 있도록 구성된다. 여기서 네트워크를 통해 변경하는 경우 상기 클라이언트(100)의 설정목록(50) 또는 임의의 저장공간에는 상기 클라이언트(100)에 접속하여 상기 설정목록(50)을 변경할 수 있는 서버(60)에 관한 인증정보가 저장된다. 상기 인증정보는 서버(60)의 아이피주소(IP Address), 맥어드레스(MAC Address), 암호와 같이 상기 서버(60) 만의 고유한 내용으로 구성된다. 상기와 같이 서버(60)의 인증 정보를 저장하는 이유는 외부로부터 해커가 접근하여 상기 설정목록(50)을 변경하는 것을 방지하기 위함이다.The client 100 is provided with the detection module 10, the analysis module 20, the processing module 30, and the setting list 50, which is connected to a network with a computer that can prevent viruses. The client 100 is further provided with a setting module for changing the setting list 50 so that a user or an administrator can change the setting list 50. The setting module is configured to change the setting list 50 directly on the client 100 or to access and change from the outside through a network. In this case, the authentication information regarding the server 60 that can change the setting list 50 by accessing the client 100 in the setting list 50 or any storage space of the client 100 when changing through the network. Is stored. The authentication information includes unique contents of the server 60 such as an IP address, a MAC address, and a password of the server 60. The reason for storing the authentication information of the server 60 as described above is to prevent the hacker from accessing to change the configuration list 50 from the outside.

상기 서버(60)는 상기 클라이언트(100)와 네트워크로 연결되어 있으며 관리자가 관리하게 된다. 상기 서버(60)에는 상기 클라이언트(100)의 설정모듈에 접속할 수 있는 프로그램이 설치되어 있다. 이때 상기 설정모듈에 접속할 수 있는 프로그램은 인증정보를 전달하게 된다. 상기 인증정보는 서버(60)의 아이피주소(IP Address), 맥어드레스(MAC Address), 암호 기타 특정한 단어 등 서버(60)를 확인할 수 있는 정보가 된다. 상기 인증정보는 상기 클라이언트(100)로 전송되고 상기 클라이언트(100)에 저장된 인증정보와 비교 후 일치되면 상기 클라이언트(100)의 설정목록(50)을 변경할 수 있는 권한을 얻을 수 있다. 이후 상기 설정모듈을 통해 상기 컴퓨터의 설정목록(50)을 변경하여 바이러스등 방지기능을 수행하거나 정지시키거나 특정 프로그램의 허용여부를 변경할 수 있다. 여기서 상기 서버(60)는 클라이언트(100)를 하나 하나 별도로 설정하도록 구성하는 대신 상기 서버(60)에 연결된 다수개의 클라이언트(100)의 설정목록(50)을 동시에 변경할 수 있도록 구성하는 것도 무방하다.The server 60 is connected to the client 100 through a network and managed by an administrator. The server 60 is provided with a program that can be connected to the setting module of the client 100. At this time, a program that can access the setting module delivers authentication information. The authentication information is information for identifying the server 60 such as an IP address, a MAC address, a password, and a specific word of the server 60. When the authentication information is transmitted to the client 100 and compared with the authentication information stored in the client 100, the authentication information may be obtained to change the setting list 50 of the client 100. Thereafter, the setting module 50 of the computer may be changed through the setting module to perform or stop a virus or the like, or to allow or disable a specific program. Here, the server 60 may be configured to change the setting list 50 of the plurality of clients 100 connected to the server 60 at the same time instead of configuring the client 100 one by one.

이하에서는 첨부된 도면을 참조로 하여 본 발명의 실시간 감시를 통한 컴퓨터 보호 방법 및 컴퓨터와 시스템의 작용과 효과에 대해 설명하기로 한다.Hereinafter, with reference to the accompanying drawings will be described the operation and effect of the computer protection method and computer and system through real-time monitoring of the present invention.

먼저, 본 발명의 실시간 감시를 통한 컴퓨터 보호 방법이 저장된 플래시메모리가 부설된 네트워크 인터페이스카드를 컴퓨터에 장착하게 된다. 상기 네트워크인터페이스카드의 네트워크 디바이스 드라이버(Network Device Driver)를 설치하게 되면 상기 장치 드라이버(Device Driver)에 포함된 코드가 상기 컴퓨터에서 발생하는 인터럽트 또는 이벤트를 커널(40)에서 처리하기 전에 가로채도록 구성된다.First, a network interface card equipped with a flash memory storing a computer protection method through real-time monitoring of the present invention is mounted on a computer. When the network device driver of the network interface card is installed, the code included in the device driver is configured to intercept an interrupt or an event generated by the computer before the kernel 40 processes it. do.

장치 드라이버 설치 후 서버(60) 측에서 상기 컴퓨터에 접속요청을 하면서 인증정보를 전달하게 되고 상기 컴퓨터에서 상기 인증정보를 확인한 후 상기 서버(60)에 설정목록(50)에 접근할 수 있도록 허용하게 된다. 이에 따라 상기 설정목록(50)을 수정하여 바이러스 등 방지 기능이 수행되도록 설정하게 된다.After installing the device driver, the server 60 transmits the authentication information while making a connection request to the computer and allows the server 60 to access the setting list 50 after checking the authentication information on the computer. do. Accordingly, the setting list 50 is modified to set a protection function such as a virus.

이후 상기 컴퓨터 측으로 이메일 등을 통해 바이러스와 같은 바이러스 등이 유입되면 상기 바이러스 등은 하드디스크의 일측에 저장되거나 임의의 실행파일 또는 매크로가 있는 파일(예를 들면 엠에스워드파일)을 생성하거나 기존의 실행파일 또는 매크로가 있는 파일을 감염시키고자 시도하게 된다. 상기 바이러스 등이 상기 컴퓨터의 프로세스에 하드디스크에 저장되어 있는 기존의 실행파일을 감염시키고자 자신의 코드를 상기 실행파일에 삽입하고자 실행파일의 내용을 변경하도록 명령하게 되면 이벤트가 발생하게 된다.Afterwards, when a virus such as a virus flows into the computer, the virus is stored on one side of the hard disk, or a file (for example, an MS Word file) containing arbitrary executable files or macros is executed. Attempts to infect files or files with macros. When the virus or the like instructs a process of the computer to infect an existing executable file stored on a hard disk, an instruction is made to change the contents of the executable file to insert its code into the executable file.

상기 이벤트는 커널(40)로 전달되고 상기 커널(40)에서 상기 이벤트에 대응하기 전 상기 감지모듈(10)에서 감지단계가 수행되어 상기 이벤트를 가로채게 된다.The event is delivered to the kernel 40 and a sensing step is performed in the sensing module 10 before the kernel 40 corresponds to the event to intercept the event.

이후 상기 분석모듈(20)은 분석단계를 진행하여 가로챈 이벤트를 분석하게 된다. 상기와 같이 바이러스에 의해 발생한 이벤트는 파일의 변경을 요청하고 있으며 대상 파일의 확장자가 "exe"인 실행파일이므로 상기 분석모듈(20)은 허용되지 않은 요청으로 판단하게 된다.The analysis module 20 then proceeds with the analysis step to analyze the intercepted event. As described above, the event generated by the virus requests a change of the file and the analysis module 20 determines that the request is not allowed because the executable file has an extension of the target file "exe".

상기 분석모듈(20)이 상기 분석결과와 이벤트를 처리모듈(30)측으로 전달하게 되면 상기 처리모듈(30)은 처리단계를 수행하여 상기 이벤트를 폐기하여 상기 파일의 변경이 수행되지 못하도록 한다. 따라서 상기 하드디스크 내부에 저장되어 있는 기존의 실행파일에 바이러스가 감염되는 것을 방지하게 된다.When the analysis module 20 transmits the analysis result and the event to the processing module 30, the processing module 30 performs a processing step so that the change of the file cannot be performed by discarding the event. Therefore, it is possible to prevent the virus from infecting existing executable files stored in the hard disk.

만약 웜과 같이 다른 파일에 감염되는 대신 자신을 복제한 새로운 파일을 만드는 경우에도 상기 웜이 실행가능한 파일의 형태를 하여야 하므로 실행파일의 저장에 관련된 이벤트가 발생하게 된다. 그러나 상기 이벤트가 허용되지 않으므로 상기 이벤트는 폐기되어 파일을 보호할 수 있다.If a new file is copied to itself instead of being infected with another file, such as a worm, an event related to the execution of the executable file occurs because the worm must be in the form of an executable file. However, since the event is not allowed, the event can be discarded to protect the file.

상기와 같이 바이러스 등 방지 기능이 수행중일 경우에는 실행파일의 변경이 불가능하므로 새로운 프로그램의 설치 또는 기존 프로그램의 삭제, 업데이트 시에는 상기 설정모듈을 통해 상기 기능을 일시 정지시켜야 한다.When a virus or the like is being executed, the execution file cannot be changed. Therefore, when installing a new program or deleting or updating an existing program, the function must be paused through the setting module.

상술한 바와 같이 본 발명의 실시간 감시를 통한 컴퓨터 보호 방법 및 바이러스 등 방지 기능을 가진 컴퓨터와 그 시스템에 의하면 바이러스 등의 저장을 방지할 수 있어 바이러스 등이 감염되는 것을 방지할 수 있다는 효과가 있다. 또한 이전에 감염된 바이러스 등은 추가적인 감염을 방지할 수 있어 바이러스 등의 확산을 방지할 수 있다는 효과가 있다.As described above, a computer and a system having a computer protection method and a virus protection function through real-time monitoring of the present invention can prevent the storage of viruses and the like, thereby preventing the infection of viruses and the like. In addition, previously infected viruses and the like can prevent additional infections, thereby preventing the spread of viruses.

Claims (15)

컴퓨터의 오퍼레이팅 시스템 및 응용 프로그램을 바이러스 등 악성코드로부터 보호하는 방법에 있어서,In a method of protecting the operating system and applications of the computer from malicious code, such as viruses, 실행 가능한 파일의 변경에 대해 허용여부를 설정하게 되는 설정단계와;A setting step of setting whether to allow the change of the executable file; 컴퓨터 내부에서 발생하는 파일 핸들링에 관련된 인터럽트 또는 이벤트를 감지하고 이를 가로채는 감지단계와;Detecting and intercepting an interrupt or an event related to file handling occurring inside a computer; 상기 감지단계에서 가로챈 상기 인터럽트 또는 이벤트를 분석하여 실행 가능한 파일의 변경에 관한 요청인지를 파악하고 상기 실행 가능한 파일의 변경에 대한 요청이 상기 설정단계에서 허용 여부를 확인하게되는 분석단계와;Analyzing the interrupt or event intercepted in the detecting step to determine whether the request is related to an executable file change and to determine whether the request for the executable file change is permitted in the setting step; 상기 분석단계에서 실행 가능한 파일의 변경요청에 해당하는 경우, 상기 설정단계에서 설정된 허용 여부에 따라 상기 인터럽트 또는 이벤트를 폐기 또는 복귀를 결정지어 처리하는 처리단계;로 구성되어 실행 가능한 파일의 변경을 방지하게 되는 것을 특징으로 하는 실시간 감시를 통한 컴퓨터 보호 방법.A processing step of determining whether to discard or return the interrupt or event according to whether or not to allow the change of the executable file in the analysis step; Computer protection method through the real-time monitoring, characterized in that the. 제1항에 있어서, 상기 설정단계는,The method of claim 1, wherein the setting step, 상기 감지단계, 분석단계, 처리단계 중 적어도 하나의 기능에 대해 수행 또는 정지 여부를 설정하는 것을 특징으로 하는 실시간 감시를 통한 컴퓨터 보호 방법.Method for protecting the computer through the real-time monitoring, characterized in that for setting whether to perform or stop at least one function of the detection step, analysis step, processing step. 상기 제1항 또는 제2항에 있어서 상기 실행 가능한 파일의 변경은,The change of the executable file of claim 1 or 2, 실행 가능한 파일의 생성, 복사, 이동, 퍼미션의 변경, 파일명 또는 확장자의 변경, 파일내용의 수정, 파일병합, 파일분할 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 실시간 감시를 통한 컴퓨터 보호 방법.A method for protecting a computer through real-time monitoring, comprising at least one of: creating, copying, moving, changing an executable file, changing a file name or extension, modifying a file content, merging a file, and dividing a file. 제1항에 있어서 상기 설정단계는,The method of claim 1, wherein the setting step, 상기 실행 가능한 파일의 변경을 요청하는 프로그램 또는 프로세스별로 허용여부를 별도로 설정하게 되는 것을 특징으로 하는 실시간 감시를 통한 컴퓨터 보호 방법.Method for protecting the computer through the real-time monitoring, characterized in that separately set whether to allow per program or process requesting the change of the executable file. 제 1항에 있어서, 상기 감지단계는,The method of claim 1, wherein the detecting step, 커널과 파일시스템드라이버에 포함 또는 연동되어 동작하는 것을 특징으로 하는 실시간 감시를 통한 컴퓨터 보호 방법.Computer protection method through real-time monitoring, characterized in that included in the kernel and file system driver or linked to operate. 제1항에 있어서 상기 분석단계는,The method of claim 1, wherein the analyzing step, 대상 파일의 확장자 또는 파일의 퍼미션을 확인하여 실행 가능한 파일에 대한 요청인지 확인하게 되는 것을 특징으로 하는 실시간 감시를 통한 컴퓨터 보호 방법.A method of protecting a computer through real-time monitoring, wherein the extension of the target file or the permission of the file is checked to determine whether the request is for an executable file. 제1항에 있어서 상기 처리단계는,The method of claim 1, wherein the processing step, 상기 인터럽트 또는 이벤트를 폐기한 후 에러 메시지를 전달하여 사용자에게 요청이 거부되었음을 표시하게 되는 것을 특징으로 하는 실행 가능한 파일의 보호 방법.And discarding the interrupt or event to deliver an error message to indicate to the user that the request was denied. 제1항에 있어서 상기 처리단계는,The method of claim 1, wherein the processing step, 상기 인터럽트 또는 이벤트를 폐기한 후 에러 메시지를 발생시키지 않아 사용자에게 어떠한 알림도 하지 않도록 하는 것을 특징으로 하는 실행 가능한 파일의 보호 방법.And not generating any error message after discarding the interrupt or event to prevent any notification to the user. 실행 가능한 파일의 변경에 대한 허용여부가 저장되는 설정목록과; 파일 핸들링에 관련된 인터럽트 또는 이벤트의 발생을 감지하여 가로채게 되는 감지모듈과; 상기 감지모듈이 감지한 인터럽트 또는 이벤트를 분석하여 실행 가능한 파일에 대한 변경요청인가 파악한 후 상기 설정목록과 비교하여 허용여부를 파악하게되는 분석모듈과; 상기 분석모듈의 분석결과에 따라 상기 인터럽트 또는 이벤트를 폐기하거나 복귀시키는 처리모듈;이 구비되어 실시간 감시를 통한 컴퓨터 보호 방법에 따라 내부에 저장된 실행 가능한 파일에 대한 보호가 이루어지는 것을 특징으로 하는 실시간 감시를 통한 컴퓨터 보호 시스템.A setting list in which permission to change an executable file is stored; A detection module that detects and intercepts the occurrence of an interrupt or event related to file handling; An analysis module which analyzes the interrupt or event detected by the detection module to determine whether a change request is made to an executable file, and compares the setting list with the setting list to determine whether to allow the change; A processing module for discarding or returning the interrupt or an event according to an analysis result of the analysis module; protection for executable files stored therein according to a computer protection method through real-time monitoring is provided. Computer protection system. 제9항에 있어서 상기 설정목록은,The method of claim 9, wherein the setting list, 컴퓨터의 저장공간 또는 컴퓨터 내에 부설되는 플래시 메모리에 저장되는 것을 특징으로 하는 실시간 감시를 통한 컴퓨터 보호 시스템.Computer protection system through real-time monitoring, characterized in that the storage is stored in the computer storage space or flash memory attached to the computer. 제10항에 있어서 상기 플래시 메모리는,The method of claim 10, wherein the flash memory, 네트워크 인터페이스 카드에 설치되는 것을 특징으로 하는 실시간 감시를 통한 컴퓨터 보호 시스템.Computer protection system through real-time monitoring, characterized in that installed in the network interface card. 제9항에 있어서 상기 설정목록은,The method of claim 9, wherein the setting list, 각 프로그램별로 실행 가능한 파일의 변경에 대한 허용여부를 저장하게 되는 것을 특징으로 하는 실시간 감시를 통한 컴퓨터 보호 시스템.Computer protection system through the real-time monitoring, characterized in that for storing the permission of the change of the executable file for each program. 제9항에 있어서The method of claim 9 실행 가능한 파일의 보호 방법의 수행여부와 실행 가능한 파일의 변경을 허용하는 프로그램의 목록을 입력받아 상기 설정목록에 저장하게 되는 설정모듈;을 더 포함하여 구성되는 것을 특징으로 하는 실시간 감시를 통한 컴퓨터 보호 시스템.Computer protection through real-time monitoring, characterized in that it further comprises; a configuration module that receives whether the execution of the method of protecting the executable file and the list of programs that allow the change of the executable file is stored in the setting list; system. 실시간 감시를 통한 컴퓨터 보호 시스템이 설치되어 있으며 네트워크에 연결되어 있는 클라이언트와;A client installed with a computer protection system through real-time monitoring and connected to a network; 상기 클라이언트와 네트워크를 통해 연결되며 상기 클라이언트에 접속하여 상기 클라이언트의 설정목록을 변경하게 되는 서버;로 구성되는 것을 특징으로하는실행 가능한 파일이 보호되는 시스템.And a server connected to the client through a network and accessing the client to change the configuration list of the client. 2. 제14항에 있어서 상기 클라이언트는,The method of claim 14, wherein the client, 접속을 허용할 서버에 대한 정보를 구비하게되며 상기 서버측의 접속요청시 상기 서버로부터 인증정보를 전달받은 후 비교하여 접속을 허용하게 되는 것을 특징으로 하는 실행 가능한 파일이 보호되는 시스템.And a server to allow access, and when the server-side connection request is received, the executable file is protected by comparing the authentication information received from the server and allowing the access.
KR1020040072633A 2004-09-10 2004-09-10 method for computer protection with real-time monitoring and thereby computer and thereby system KR100704721B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040072633A KR100704721B1 (en) 2004-09-10 2004-09-10 method for computer protection with real-time monitoring and thereby computer and thereby system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040072633A KR100704721B1 (en) 2004-09-10 2004-09-10 method for computer protection with real-time monitoring and thereby computer and thereby system

Publications (2)

Publication Number Publication Date
KR20040083409A true KR20040083409A (en) 2004-10-01
KR100704721B1 KR100704721B1 (en) 2007-04-06

Family

ID=37367237

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040072633A KR100704721B1 (en) 2004-09-10 2004-09-10 method for computer protection with real-time monitoring and thereby computer and thereby system

Country Status (1)

Country Link
KR (1) KR100704721B1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100613126B1 (en) * 2005-07-29 2006-08-17 (주)해피바이러스 Method and apparatus for deleting virus code, and information storage medium storing a program thereof
WO2007103192A3 (en) * 2006-03-01 2007-11-01 Microsoft Corp Prevention of executable code modification
WO2007142715A1 (en) * 2006-06-02 2007-12-13 Microsoft Corporation Combining virus checking and replication filtration
KR100853721B1 (en) * 2006-12-21 2008-08-25 주식회사 레드게이트 Method for real-time integrity check and audit trail connected with the security kernel
CN101110836B (en) * 2007-08-23 2010-05-19 上海交通大学 Real-time monitoring system authorization management method based on PE document
WO2011002146A2 (en) * 2009-06-30 2011-01-06 (주)잉카인터넷 System and method for detecting malicious code
KR101044651B1 (en) * 2010-12-21 2011-06-29 주식회사 미라지웍스 System for file security and providing method thereof
US8359645B2 (en) 2005-03-25 2013-01-22 Microsoft Corporation Dynamic protection of unpatched machines

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101710928B1 (en) 2015-09-04 2017-03-13 숭실대학교산학협력단 Method for protecting malignant code in mobile platform, recording medium and device for performing the system
KR102004505B1 (en) 2017-04-13 2019-07-26 양보륜 System for real-time protection of computer storage devices using user behavior analysis and control method thereof
KR102114542B1 (en) * 2018-03-14 2020-05-25 (주)나무소프트 Program execution control method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067210A (en) 2001-08-22 2003-03-07 Just Syst Corp Program execution prevention device, program execution prevention method, program for computer to execute the method, and computer readable recording medium stored with the program

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8359645B2 (en) 2005-03-25 2013-01-22 Microsoft Corporation Dynamic protection of unpatched machines
KR100613126B1 (en) * 2005-07-29 2006-08-17 (주)해피바이러스 Method and apparatus for deleting virus code, and information storage medium storing a program thereof
WO2007103192A3 (en) * 2006-03-01 2007-11-01 Microsoft Corp Prevention of executable code modification
WO2007142715A1 (en) * 2006-06-02 2007-12-13 Microsoft Corporation Combining virus checking and replication filtration
US7730538B2 (en) 2006-06-02 2010-06-01 Microsoft Corporation Combining virus checking and replication filtration
KR100853721B1 (en) * 2006-12-21 2008-08-25 주식회사 레드게이트 Method for real-time integrity check and audit trail connected with the security kernel
CN101110836B (en) * 2007-08-23 2010-05-19 上海交通大学 Real-time monitoring system authorization management method based on PE document
WO2011002146A2 (en) * 2009-06-30 2011-01-06 (주)잉카인터넷 System and method for detecting malicious code
WO2011002146A3 (en) * 2009-06-30 2011-02-17 (주)잉카인터넷 System and method for detecting malicious code
KR101044651B1 (en) * 2010-12-21 2011-06-29 주식회사 미라지웍스 System for file security and providing method thereof

Also Published As

Publication number Publication date
KR100704721B1 (en) 2007-04-06

Similar Documents

Publication Publication Date Title
US10691792B2 (en) System and method for process hollowing detection
US9230098B2 (en) Real time lockdown
JP6370747B2 (en) System and method for virtual machine monitor based anti-malware security
JP6829718B2 (en) Systems and methods for tracking malicious behavior across multiple software entities
EP3123311B1 (en) Malicious code protection for computer systems based on process modification
US7836504B2 (en) On-access scan of memory for malware
JP4828199B2 (en) System and method for integrating knowledge base of anti-virus software applications
US20060230454A1 (en) Fast protection of a computer's base system from malicious software using system-wide skins with OS-level sandboxing
US9396329B2 (en) Methods and apparatus for a safe and secure software update solution against attacks from malicious or unauthorized programs to update protected secondary storage
US20070050369A1 (en) Accessing file under confinement
KR100704721B1 (en) method for computer protection with real-time monitoring and thereby computer and thereby system
RU2460133C1 (en) System and method of protecting computer applications
US20240152610A1 (en) Methods and systems for detecting and blocking malicious actions in operating system
JP4627266B2 (en) Information leakage prevention system due to unknown malware
KR20200122014A (en) Data security method based on program protection
US20240111860A1 (en) Systems and methods for preventing hollowing attack
EP1225512A1 (en) Method for protecting computer programs and data from hostile code
US20240126882A1 (en) Instructions to process files in virtual machines
RU85249U1 (en) HARDWARE ANTI-VIRUS
WO2002084939A1 (en) System and method for securely executing a executable to preserve the integrity of files from unauthorized access for network security
Li et al. Rootkits

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: 20120418

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee