KR20090088687A - System for detecting webshell and method thereof - Google Patents

System for detecting webshell and method thereof Download PDF

Info

Publication number
KR20090088687A
KR20090088687A KR1020080014107A KR20080014107A KR20090088687A KR 20090088687 A KR20090088687 A KR 20090088687A KR 1020080014107 A KR1020080014107 A KR 1020080014107A KR 20080014107 A KR20080014107 A KR 20080014107A KR 20090088687 A KR20090088687 A KR 20090088687A
Authority
KR
South Korea
Prior art keywords
signature
web shell
web
webshell
shell
Prior art date
Application number
KR1020080014107A
Other languages
Korean (ko)
Other versions
KR100968126B1 (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 KR1020080014107A priority Critical patent/KR100968126B1/en
Publication of KR20090088687A publication Critical patent/KR20090088687A/en
Application granted granted Critical
Publication of KR100968126B1 publication Critical patent/KR100968126B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)

Abstract

A system for detecting a webshell and a method thereof are provided to automatically determine whether a webshell signature is included in a script file to be tested. A webshell signature storing module(100) stores at least one webshell signature included in a webshell to divide the webshell from a normal script file. A tested file extracting module(200) extracts a script file stored in a computer terminal as a tested script file. A webshell signature comparing module(300) determines whether the webshell signature stored in the webshell signature storing module is included in the tested script file.

Description

웹쉘 탐지 시스템 및 웹쉘 탐지 방법{System for Detecting Webshell and Method Thereof}Webshell Detection System and Webshell Detection Method {System for Detecting Webshell and Method Thereof}

본 발명은 웹쉘 탐지 시스템 및 웹쉘 탐지 방법에 관한 것으로, 특히 웹쉘 시그니쳐를 설정하고 이를 포함한 웹쉘을 자동으로 탐지하는 것이 가능한 웹셀 탐지 시스템 및 웹쉘 탐지 방법에 관한 것이다.The present invention relates to a web shell detection system and a web shell detection method, and more particularly, to a web shell detection system and a web shell detection method capable of automatically setting a web shell signature and automatically detecting a web shell including the same.

일반적으로 웹 서비스에는 게시판이나 자료실과 같이 파일을 첨부하는 기능을 포함된다. 이때 txt, jpg, doc와 같은 데이터 파일 종류 이외에 웹쉘(Webshell)을 업로드하여 웹 서버(WebServer)를 해킹하는 사고가 빈번히 발생하고 있다.Web services typically include the ability to attach files, such as bulletin boards or archives. At this time, in addition to data file types such as txt, jpg, and doc, accidents of hacking a web server by uploading a webshell frequently occur.

웹쉘(Webshell)이란 공격자(Hacker)가 원격에서 대상 웹 서버(WebServer)에 명령을 수행할 수 있도록 작성한 웹 스크립트 파일이다. 공격자는 웹쉘을 대상 서버에 업로드한 후 웹을 통해 명령어를 수행하므로 네트워크 방화벽의 영향을 받지 않고 서버를 제어할 수 있다. Webshell is a web script file written by an attacker to remotely execute a command on a target web server. The attacker uploads the webshell to the target server and executes the command through the web, so the attacker can control the server without being affected by the network firewall.

웹쉘 프로그램은 인터넷을 통해 쉽게 구할 수 있고, 홈페이지의 업로드 취약점 확인 방법도 간단하기 때문에 해커들에 의해 쉽게 사용된다. 최근 국내에서 발 생하고 있는 웹 서버 피해 사례의 대부분은 윈도우 서버가 차지하고 있고, 윈도우 웹 서버 피해시스템들 중 90% 이상에 웹쉘이 탐지되고 있다. Webshell programs are easily available from the Internet and are easily used by hackers because of the simple way to check the upload vulnerability of the homepage. Most of the recent web server damage cases in Korea are accounted for by Windows server, and more than 90% of the Windows web server damage systems are detected with web shells.

도 1 및 도 2는 웹쉘 파일을 업로드 하는 일례를 도시한다. 도 1과 같이 파일첨부가 가능한 게시판(10)에 글쓰기를 이용하면 공격자는 쉽게 웹쉘 파일을 업로드할 수 있고(12), 사용자가 게시판을 통해 업로드 된 파일을 열면 쉘 명령어가 실행되어 도 2와 같이 디렉터리에 대한 결과(20)가 보여지는 것을 알 수 있다. 1 and 2 illustrate an example of uploading a web shell file. Using writing on the bulletin board 10 capable of attaching a file as shown in FIG. 1, an attacker can easily upload a web shell file 12, and when a user opens a file uploaded through the bulletin board, a shell command is executed as shown in FIG. 2. It can be seen that the results 20 for the directory are shown.

웹쉘이 수행하는 가장 기본적인 기능은 시스템 명령어의 실행이다. 시스템 명령어 실행은 웹 서버 내에 존재하는 쉘의 기능을 사용하는 것으로, 윈도우 시스템의 경우 시스템 폴더 내의 cmd.exe(또는 command.exe)를 이용한다. 만약 cmd.exe를 사용할 수 없다고 하더라도, 웹쉘을 통하여 자신의 cmd.exe를 업로드 한 후 시스템을 사용할 수 있다.The most basic function a webshell performs is the execution of system commands. System command execution uses the functions of the shell in the web server. In the case of the Windows system, cmd.exe (or command.exe) in the system folder is used. Even if you can't use cmd.exe, you can use your system after uploading your own cmd.exe through webshell.

공격자가 시스템 명령어를 실행시키면, 웹서버 자체의 정보 수집뿐만이 아니라 네트워크 정보 수집 등을 통하여 웹 서버와 같이 네트워크를 이용하고 있는 모든 시스템에 대한 정보 수집이 가능하다. When an attacker executes a system command, not only the information of the web server itself but also network information can be collected to collect information about all systems using the network such as the web server.

또한, 공격자는 웹서버의 기본정보를 열람할 수 있고, 윈도우 내 특정 오브젝트에 대한 사용 여부를 점검할 수도 있는데, 이 기능을 이용할 경우 취약한 오브젝트를 이용하여 웹서버를 통한 시스템 공격이 가능하다. In addition, the attacker can read the basic information of the web server, and can also check whether or not to use a specific object in the window, if you use this feature it is possible to attack the system through the web server using the vulnerable object.

도 3은 최근 발견된 웹쉘의 초기 화면을 도시한다. 이처럼 최근 발견되는 웹쉘은 소스코드를 암호화(30)하고, 패스워드를 입력(40)하도록 하여 해당 웹쉘을 업로드 한 공격자만이 접근할 수 있도록 한다. 패스워드를 입력하면 디렉터리 전체가 열람 가능한 화면으로 수행되어 이를 통하여 공격자는 웹서버 내의 모든 파일에 접근이 가능하다. 열람화면에는 파일 또는 폴더마다 다운로드, 삭제, 변경 등이 가능하도록 지원되고 있어 이를 이용할 경우, 웹 서버 내의 모든 홈페이지 소스코드는 물론, DB 연결정보 및 각종 설정파일의 유출이 가능하다. 만일 웹서버 내에 중요자료를 저장하였을 경우에는 문제가 더욱 심각하다. 3 shows an initial screen of a recently discovered web shell. The recently discovered web shell encrypts the source code 30 and inputs a password 40 so that only an attacker who uploads the web shell can access it. If a password is entered, the entire directory is displayed in a viewable screen, which allows an attacker to access all files in the web server. The reading screen supports downloading, deleting, and changing of each file or folder. When using this, all homepage source codes in the web server, as well as DB connection information and various configuration files can be leaked. The problem is even worse if you store important data in a web server.

이와 같이 사용자에게 막대한 피해를 입히는 웹쉘에 대한 대응책으로 게시판의 업로드 기능을 완전히 제거하거나 스크립트 확장자 파일을 제한하는 방법이 있지만, 이는 파일 첨부가 불가피한 게시판이나 자료실에서는 효과적이지 못하는 문제가 있다. As a countermeasure against web shells that cause great damage to users, there is a method of completely removing the upload function of the bulletin board or limiting the script extension file, but this is not effective in bulletin boards or archives where file attachment is inevitable.

웹쉘을 사후적으로 삭제할 수 있지만, 웹쉘을 탐지하기 위해서는 사용자가 하나씩 수동으로 웹쉘 문자열을 검사하고 파일 확장자를 수시로 변경하며 탐지하여야 하므로 많은 비용, 시간, 노력이 필요하다. 뿐만 아니라, 최근 발견되는 웹쉘과 같이 패스워드 기능이 설정되어 해당 웹쉘을 업로드한 공격자만이 접근할 수 있도록 되어 있다면 웹쉘 탐지에도 제한을 받아 사용자에게 웹 서버 관리에 따른 부담을 가중시키는 문제가 있다.Webshells can be deleted afterwards, but in order to detect webshells, users need to manually inspect webshell strings one by one, change file extensions frequently, and detect them. In addition, if the password function is set to be accessible only to an attacker who uploads the webshell, as in the recently discovered webshell, the webshell detection is restricted, thereby increasing the burden on the web server management.

한편, 일반적으로 바이러스를 유발하는 파일 등에는 해킹(hacking)을 위한 악성 코드 등이 포함되어 있고, 사용자가 이러한 악성코드를 포함한 파일 등을 컴퓨터 단말기 등에 다운로드 하는 경우, 자동적으로 바이러스가 작동되도록 한다. On the other hand, files that cause viruses generally include malicious code for hacking and the like, and when a user downloads a file containing such malicious code to a computer terminal or the like, the virus is automatically activated.

이에 반해, 최근 급격하게 문제되고 있는 웹쉘에 있어서는 웹쉘 자체에는 악성 코드가 포함되지 않고, 자체적으로 동작되지 않으며, 공격자가 원격지에서 통신 망을 통해 웹쉘을 이용하여 웹서버를 제어하므로 기존의 바이러스 유무만을 판단하는 바이러스 탐지 시스템과는 구별되는 웹쉘 전용 탐지 시스템의 개발이 필요한 실정이다. On the other hand, in the webshell, which is rapidly becoming a problem recently, the webshell itself does not contain malicious code and does not operate on its own, and only an existing virus exists because an attacker controls the web server using a webshell through a remote communication network. It is necessary to develop a webshell detection system that is distinct from the virus detection system that is determined.

본 발명은 상기의 문제를 해결하기 위한 것으로, 수집된 수많은 웹쉘 분석을 통해 다양한 형태의 웹쉘과 정상 스크립트를 구분할 수 있도록 고유의 웹쉘 시그니쳐를 정의하고 저장하여 피검사 스크립트 파일에 웹쉘 시그니쳐가 포함되었는지를 자동적으로 판단함으로써, 사용자가 수동적, 개별적으로 웹쉘 문자열을 검사하거나 파일 확장자를 수시로 변경하면서 웹쉘을 탐지할 필요가 없어 웹쉘 탐지에 소요되는 시간을 현저하게 경감시키고, 웹 서버를 효율적으로 관리할 수 있는 웹쉘 탐지 시스템 및 탐지 방법을 제공하는 것을 목적으로 한다. The present invention is to solve the above problems, by defining and storing a unique web shell signature to distinguish between various types of web shell and normal script through the analysis of a number of web shell collected collected whether the web shell signature is included in the script file to be inspected. By making automatic judgments, users do not have to manually check the webshell strings manually or change the file extension frequently and detect the webshell, thereby significantly reducing the time required for webshell detection and effectively managing the web server. An object of the present invention is to provide a webshell detection system and a detection method.

본 발명의 실시예에 따르면, 웹쉘 시그니쳐를 정규표현식으로 정의함으로써, 공격자가 웹쉘 탐지를 우회하기 위해 특정 오브젝트, 함수, 문자열을 분할하는 경우에도 웹쉘을 탐지할 수 있고, 웹쉘 시그니쳐를 데이터 베이스(DB) 접속 웹쉘 시그니쳐 또는 파일 업로드 전용 웹쉘 시그니쳐로 정의함으로써, 정상 홈페이지 스크립트와 구분하기 어려운 DB, 파일 업로드 전용 웹쉘을 탐지할 수 있는 웹쉘 탐지 시스템 및 탐지 방법을 제공하는 것을 다른 목적으로 한다. According to an embodiment of the present invention, by defining a web shell signature as a regular expression, even if an attacker splits a specific object, function, or string to bypass the web shell detection, the web shell can be detected, and the web shell signature is stored in a database (DB). It is another object to provide a web shell detection system and a detection method that can detect a DB, file upload-only webshell, which is difficult to distinguish from a normal homepage script, by defining it as an access webshell signature or a file upload-only webshell signature.

본 발명의 다른 실시예에 따르면, 웹쉘 시그니쳐 저장모듈에 저장된 웹쉘 시그니쳐의 리스트를 사용자에게 제공하고 사용자는 활성 및 비활성 웹쉘 시그니쳐를 설정할 수 있도록 함으로써, 사용자가 특정한 웹쉘 시그니쳐만을 선택적으로 탐지하여 웹쉘을 탐지하는데 소요되는 시간을 현저하게 경감시키며, 웹쉘 시그니쳐의 오탐지를 방지할 수 있어 웹쉘에 효율적으로 대응할 수 있는 웹쉘 탐지 시스템 및 탐지 방법을 제공하는 것을 다른 목적으로 한다. According to another embodiment of the present invention, by providing a list of web shell signatures stored in the web shell signature storage module to the user and allowing the user to set active and inactive web shell signatures, the user selectively detects a specific web shell signature to detect the web shell. It is another object of the present invention to provide a webshell detection system and a method for significantly reducing the time required for the webshell signature and preventing the false detection of the webshell signature to effectively cope with the webshell.

본 발명의 다른 실시예에 따르면, 웹쉘 시그니쳐 저장모듈에 웹쉘 시그니쳐로 저장되지 않았던 웹쉘 시그니쳐가 발생한 경우 사용자의 입력에 의해 웹쉘 시그니쳐를 추가로 저장하거나, 웹쉘 탐지 서버가 웹쉘 시그니쳐로 저장되지 않았던 웹쉘 시그니쳐를 네트워크 상에서 발견한 경우 이를 사용자 단말기에 제공하여 웹쉘 시그니쳐를 업데이트 할 수 있도록 함으로써, 추가로 발생한 웹쉘에 대해서도 사용자가 프로그램을 재설치한다거나 추가로 비용을 지불하지 않고 웹쉘에 효율적으로 대응할 수 있는 웹쉘 탐지 시스템 및 탐지 방법을 제공하는 것을 다른 목적으로 한다. According to another embodiment of the present invention, when a web shell signature that is not stored as a web shell signature occurs in the web shell signature storage module, additionally store the web shell signature by a user's input, or the web shell signature that the web shell detection server is not stored as the web shell signature. Web shell detection system that can be provided to the user's terminal to update the web shell signature if found on the network, so that the user can efficiently respond to the web shell without re-installing the program or paying additional costs for the additional web shell. And providing a detection method for another purpose.

본 발명의 다른 실시예에 따르면, 사용자가 웹쉘 시그니쳐 포함여부를 탐지할 디렉터리를 선택할 수 있도록 함으로써, 모든 디렉터리에 대해 웹쉘 시그니쳐를 탐지하는데 소요되는 시간을 현저하게 경감시키고, 웹쉘에 효율적으로 대응할 수 있는 웹쉘 탐지 시스템 및 탐지 방법을 제공하는 것을 다른 목적으로 한다. According to another embodiment of the present invention, by allowing a user to select a directory to detect whether the web shell signature is included, it is possible to significantly reduce the time required to detect the web shell signature for all directories, and to efficiently respond to the web shell. It is another object to provide a webshell detection system and detection method.

본 발명의 다른 실시예에 따르면, 웹쉘 시그니쳐 포함여부를 탐지할 피검사 파일을 asp, aspx 확장자뿐만 아니라 cer, cdx, asa, hta 확장자 중에서도 선택할 수 있도록 함으로써, 공격자가 웹 서버에 확장자명을 변경하여 업로드하는 경우에도 ASP 환경에서 실행될 수 있는 모든 스크립트를 검사하여 웹쉘 탐지를 우회하는 것을 방지할 수 있는 웹쉘 탐지 시스템 및 탐지 방법을 제공하는 것을 다른 목적으로 한다. According to another embodiment of the present invention, an attacker can change the extension name on the web server by allowing the user to select a file to be detected whether the web shell signature is included, as well as the cer, cdx, asa, and hta extensions as well as the asp and aspx extensions. Another objective is to provide a webshell detection system and a detection method that can prevent all web scripts from being bypassed by checking all scripts that can be executed in the ASP environment when uploading.

본 발명의 다른 실시예에 따르면, 탐지된 웹쉘에 대해 파일 전체 경로, 파일 크기, 파일 수정된 시간 또는 매칭된 시그니쳐 정보를 포함한 웹쉘 정보를 사용자에게 제공하고, 탐지된 웹쉘에 대한 소스코드를 부각해서 제공하거나, 탐지된 웹쉘을 삭제할 수 있도록 함으로써, 웹 서버 운영상 필요한 정상 스크립트가 잘못하여 삭제되는 것을 방지하고 웹쉘에 효율적으로 대응할 수 있는 웹쉘 탐지 시스템 및 탐지 방법을 제공하는 것을 다른 목적으로 한다. According to another embodiment of the present invention, by providing the user with web shell information including the file full path, file size, file modification time or matched signature information for the detected web shell, and highlighting the source code for the detected web shell Another object of the present invention is to provide a webshell detection system and a method for detecting a webshell, which can prevent a normal script necessary for operating a web server from being accidentally deleted and efficiently cope with the webshell.

본 발명의 다른 실시예에 따르면, 웹로그 분석을 통해 웹쉘에 접근한 공격자에 대한 정보를 사용자에게 제공함으로써, 사용자는 공격자의 공격방법, 공격형태 등을 분석하여 웹쉘에 효율적으로 대응할 수 있는 웹쉘 탐지 시스템 및 탐지 방법을 제공하는 것을 다른 목적으로 한다. According to another embodiment of the present invention, by providing the user with information about an attacker who has accessed the web shell through web analytics, the user can analyze the attack method, attack type, etc. of the attacker to detect the web shell that can efficiently respond to the web shell It is another object to provide a system and a detection method.

마지막으로, 본 발명의 다른 실시예에 따르면, 그래픽 사용자 인터페이스 (Graphic User Interface)를 제공하여 웹쉘 포함 여부를 탐지할 디렉터리, 웹쉘 시그니쳐 리스트, 스크립트 확장자 파일 리스트를 보여주고 마우스를 사용해 클릭으로 간단하게 활성 및 비활성으로 지정하는 것이 가능하게 함으로써, 스크립트에 관한 전문 지식이 없는 관리자들도 쉽게 사용할 수 있도록 사용자에게 편의성을 제공하는 웹쉘 탐지 시스템 및 탐지 방법을 제공하는 것을 다른 목적으로 한다. Finally, according to another embodiment of the present invention, a graphical user interface is provided to display a directory, a web shell signature list, a list of script extension files to detect whether a web shell is included, and to simply activate by clicking with a mouse. And by making it inactive, another object of the present invention is to provide a webshell detection system and a detection method that provide convenience for a user to easily use even administrators who do not have expertise in scripting.

상기의 목적을 달성하기 위해 본 발명의 실시예에 따른 웹쉘 탐지 시스템은, 컴퓨터 단말기에 설치되어 웹쉘을 탐지하는 웹쉘 탐지 시스템에 있어서, 웹쉘과 정상 스크립트 파일을 구분하기 위해 웹쉘에 포함되는 적어도 하나의 웹쉘 시그니쳐 를 저장하는 웹쉘 시그니쳐 저장모듈; 상기 컴퓨터 단말기에 저장된 스크립트 파일을 피검사 스크립트 파일로써 추출하는 피검사 파일 추출모듈; 및 상기 피검사 스크립트 파일에 상기 웹쉘 시그니쳐 저장모듈에 저장된 상기 웹쉘 시그니쳐가 포함되었는지를 판단하는 웹쉘 시그니쳐 비교모듈;을 포함하여 구성되는 것을 특징으로 한다.Web shell detection system according to an embodiment of the present invention to achieve the above object, in a web shell detection system installed on a computer terminal to detect a web shell, at least one included in the web shell to distinguish between the web shell and the normal script file A web shell signature storage module for storing a web shell signature; An inspected file extraction module for extracting a script file stored in the computer terminal as an inspected script file; And a web shell signature comparison module configured to determine whether the web shell signature stored in the web shell signature storage module is included in the inspected script file.

마지막으로, 본 발명의 실시예에 따른 웹쉘 탐지 방법은, 컴퓨터 단말기에 설치되어 웹쉘을 탐지하는 웹쉘 탐지 방법에 있어서, 웹쉘과 정상 스크립트 파일을 구분하기 위해 웹쉘에 포함되는 적어도 하나의 웹쉘 시그니쳐를 저장하는 제 1 단계; 상기 컴퓨터 단말기에 저장된 스크립트 파일을 피검사 스크립트 파일로써 추출하는 제 2 단계; 및 상기 추출된 스크립트 파일에 상기 웹쉘 시그니쳐 저장단계에서 저장된 상기 웹쉘 시그니쳐가 포함되었는지를 판단하는 제 3 단계를 포함하여 구성되는 것을 특징으로 한다.Finally, the web shell detection method according to an embodiment of the present invention, in the web shell detection method installed on the computer terminal to detect the web shell, storing at least one web shell signature included in the web shell to distinguish between the web shell and the normal script file A first step of making; Extracting a script file stored in the computer terminal as a script file to be inspected; And a third step of determining whether the extracted web file includes the web shell signature stored in the web shell signature storing step.

본 발명에 따른 웹쉘 탐지 시스템 및 탐지 방법은, 수집된 수많은 웹쉘 분석을 통해 다양한 형태의 웹쉘과 정상 스크립트를 구분할 수 있도록 고유의 웹쉘 시그니쳐를 정의하고 저장하여 피검사 스크립트 파일에 웹쉘 시그니쳐가 포함되었는지를 자동적으로 판단함으로써, 사용자가 수동적, 개별적으로 웹쉘 문자열을 검사하거나 파일 확장자를 수시로 변경하면서 웹쉘을 탐지할 필요가 없어 웹쉘 탐지에 소요되는 시간을 현저하게 경감시키고, 웹 서버를 효율적으로 관리할 수 있는 효과 를 제공한다. Web shell detection system and method according to the present invention, by defining and storing a unique web shell signature to distinguish between various types of web shell and the normal script through the analysis of a number of collected web shell whether the web shell signature is included in the script file to be inspected. By making automatic judgments, users do not have to manually check the webshell strings manually or change the file extension frequently and detect the webshell, thereby significantly reducing the time required for webshell detection and effectively managing the web server. Provide effect.

본 발명의 다른 실시예에 따른 웹쉘 탐지 시스템 및 탐지 방법은, 웹쉘 시그니쳐를 정규표현식으로 정의함으로써, 공격자가 웹쉘 탐지를 우회하기 위해 특정 오브젝트, 함수 또는 문자열을 분할하는 경우에도 웹쉘을 탐지할 수 있고, 웹쉘 시그니쳐를 데이터 베이스(DB) 접속 또는 파일 업로드 전용 웹쉘 시그니쳐로 정의함으로써, 정상 홈페이지 스크립트와 구분하기 어려운 DB, 파일 업로드 전용 웹쉘을 탐지할 수 있는 효과를 제공한다. Webshell detection system and detection method according to another embodiment of the present invention, by defining a webshell signature as a regular expression, even if an attacker breaks a specific object, function or string to bypass the webshell detection can detect the webshell By defining the web shell signature as a database (DB) connection or file upload only web shell signature, it can detect DB and file upload only web shell which are difficult to distinguish from normal homepage script.

본 발명의 다른 실시예에 따른 웹쉘 탐지 시스템 및 탐지 방법은, 웹쉘 시그니쳐 저장모듈에 저장된 웹쉘 시그니쳐의 리스트를 사용자에게 제공하고 사용자는 활성 및 비활성 웹쉘 시그니쳐를 설정할 수 있도록 함으로써, 사용자가 특정한 웹쉘 시그니쳐만을 선택적으로 탐지하여 웹쉘을 탐지하는데 소요되는 시간을 현저하게 경감시키며, 웹쉘 시그니쳐의 오탐지를 방지할 수 있어 웹쉘에 효율적으로 대응할 수 있는 효과를 제공한다.Web shell detection system and detection method according to another embodiment of the present invention, by providing a list of web shell signatures stored in the web shell signature storage module to the user and allows the user to set the active and inactive web shell signatures, so that the user only the specific web shell signature By selectively detecting, the time required to detect the web shell is remarkably reduced, and the false detection of the web shell signature can be prevented, thereby effectively responding to the web shell.

본 발명의 다른 실시예에 따른 웹쉘 탐지 시스템 및 탐지 방법은, 웹쉘 시그니쳐 저장모듈에 웹쉘 시그니쳐로 저장되지 않았던 웹쉘 시그니쳐가 발생한 경우 사용자의 입력에 의해 웹쉘 시그니쳐를 추가로 저장하거나, 웹쉘 탐지 서버가 웹쉘 시그니쳐로 저장되지 않았던 웹쉘 시그니쳐를 네트워크 상에서 발견한 경우 이를 사용자 단말기에 제공하여 웹쉘 시그니쳐를 업데이트 할 수 있도록 함으로써, 추가로 발생한 웹쉘에 대해서도 사용자가 프로그램을 재설치한다거나 추가로 비용을 지불하지 않고 웹쉘에 효율적으로 대응할 수 있는 효과를 제공한다. Web shell detection system and method according to another embodiment of the present invention, when a web shell signature that is not stored as a web shell signature occurs in the web shell signature storage module additionally stores the web shell signature by the user's input, or the web shell detection server is a web shell If a web shell signature is found on the network that was not stored as a signature, it can be provided to the user's device so that the web shell signature can be updated so that the user can reinstall the program or pay no additional cost. It provides the effect that can respond.

본 발명의 다른 실시예에 따른 웹쉘 탐지 시스템 및 탐지 방법은, 사용자가 웹쉘 시그니쳐 포함여부를 탐지할 디렉터리를 선택할 수 있도록 함으로써, 모든 디렉터리에 대해 웹쉘 시그니쳐를 탐지하는데 소요되는 시간을 현저하게 경감시키고, 웹쉘에 효율적으로 대응할 수 있는 효과를 제공한다. Web shell detection system and method according to another embodiment of the present invention, by allowing the user to select a directory to detect whether the web shell signature included, significantly reducing the time required to detect the web shell signature for all directories, It provides an effect that can effectively respond to the web shell.

본 발명의 다른 실시예에 따른 웹쉘 탐지 시스템 및 탐지 방법은, 웹쉘 시그니쳐 포함여부를 탐지할 피검사 파일을 asp, aspx 확장자뿐만 아니라 cer, cdx, asa, hta 확장자 중에서도 선택할 수 있도록 함으로써, 공격자가 웹 서버에 확장자명을 변경하여 업로드하는 경우에도 ASP 환경에서 실행될 수 있는 모든 스크립트를 검사하여 웹쉘 탐지를 우회하는 것을 방지하는 효과를 제공한다.Web shell detection system and method according to another embodiment of the present invention, the attacker can select the file to be detected whether to include the web shell signature from the cer, cdx, asa, hta extension, as well as asp, aspx extension, the attacker web Even if you upload the file with extension extension to the server, all scripts that can be executed in the ASP environment are checked to prevent the bypass of webshell detection.

본 발명의 다른 실시예에 따른 웹쉘 탐지 시스템 및 탐지 방법은, 탐지된 웹쉘에 대해 파일 전체 경로, 파일 크기, 파일 수정된 시간 또는 매칭된 시그니쳐 정보를 포함한 웹쉘 정보를 사용자에게 제공하고, 탐지된 웹쉘에 대한 소스코드를 부각해서 제공하거나, 탐지된 웹쉘을 삭제할 수 있도록 함으로써, 웹 서버 운영상 필요한 정상 스크립트가 잘못하여 삭제되는 것을 방지하고 웹쉘에 효율적으로 대응할 수 있는 효과를 제공한다. Web shell detection system and detection method according to another embodiment of the present invention, provides the user with web shell information including the file full path, file size, file modification time or matched signature information for the detected web shell, the detected web shell By providing the source code for or highlighting the detected webshell, it is possible to prevent the normal script necessary for operating the web server from being accidentally deleted and to effectively respond to the webshell.

본 발명의 다른 실시예에 따른 웹쉘 탐지 시스템 및 탐지 방법은, 웹로그 분석을 통해 웹쉘에 접근한 공격자에 대한 정보를 사용자에게 제공함으로써, 사용자는 공격자의 공격방법, 공격형태 등을 분석하여 웹쉘에 효율적으로 대응할 수 있는 효과를 제공한다.Web shell detection system and method according to another embodiment of the present invention, by providing the user with information about the attacker to access the web shell through the web analytics, the user analyzes the attack method, attack type, etc. of the attacker to the web shell It provides an effect that can be effectively responded.

마지막으로, 본 발명의 다른 실시예에 따른 웹쉘 탐지 시스템 및 탐지 방법 은, 그래픽 사용자 인터페이스 (Graphic User Interface)를 제공하여 웹쉘 포함 여부를 탐지할 디렉터리, 웹쉘 시그니쳐 리스트, 스크립트 확장자 파일 리스트를 보여주고 마우스를 사용해 클릭으로 간단하게 활성 및 비활성으로 지정하는 것이 가능하게 함으로써, 스크립트에 관한 전문 지식이 없는 관리자들도 쉽게 사용할 수 있도록 사용자에게 편의성을 제공하는 효과를 제공한다. Finally, the web shell detection system and detection method according to another embodiment of the present invention, by providing a graphical user interface (Graphic User Interface) to display a directory, web shell signature list, script extension file list to detect whether or not the web shell, mouse By making it simple to enable and disable with a click, it provides the convenience to the user so that even administrators who don't have script expertise can easily use it.

첨부한 도면을 참조하여 본 발명의 실시예를 상세히 설명하면 다음과 같다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 4에 도시된 바와 같이, 본 발명의 실시예에 따른 웹쉘 탐지 시스템은, 컴퓨터 단말기에 설치되어, 웹쉘 시그니쳐 저장모듈(100), 피검사 파일 추출모듈 (200), 및 웹쉘 시그니쳐 비교모듈(300)을 포함하여 구성된다.As shown in Figure 4, the web shell detection system according to an embodiment of the present invention, is installed in a computer terminal, the web shell signature storage module 100, the file to be inspected file extraction module 200, and the web shell signature comparison module 300 It is configured to include).

웹쉘 시그니쳐 저장모듈(100)은 웹쉘과 정상 스크립트 파일을 구분하기 위해 웹쉘에 포함되는 웹쉘 시그니쳐를 저장하는 기능을 수행한다. 웹쉘 시그니쳐 저장모듈(100)은 수집된 수많은 웹쉘 분석을 통해 웹쉘이라고 정의할 수 있는 고유의 시그니쳐를 웹쉘 시그니쳐로 정의하고 저장한다. The web shell signature storage module 100 stores a web shell signature included in the web shell to distinguish the web shell from the normal script file. The web shell signature storage module 100 defines and stores a unique signature that can be defined as a web shell through a collected web shell analysis as a web shell signature.

피검사 파일 추출모듈(200)은 컴퓨터 단말기에 저장된 스크립트 파일을 추출하는 기능을 수행한다. 보다 바람직하게는 피검사 파일 추출모듈(200)은 웹쉘 시그니쳐가 포함되었는지를 판단하기 위해 피검사 디렉터리를 지정하거나, 스크립트 확장자 파일을 지정한다. The inspected file extraction module 200 performs a function of extracting a script file stored in the computer terminal. More preferably, the inspected file extraction module 200 designates a inspected directory or a script extension file to determine whether a web shell signature is included.

웹쉘 시그니쳐 비교모듈(300)은 피검사 스크립트 파일에 웹쉘 시그니쳐가 포 함되었는지를 판단하는 기능을 수행한다. 웹쉘 시그니쳐 비교모듈(300)은 사용자가 지정한 모든 하위 디렉터리의 스크립트 파일을 대상으로 웹쉘 시그니쳐 저장모듈(100)에 저장된 웹쉘 시그니쳐와 시그니쳐 매칭을 통해 웹쉘을 탐지한다. The web shell signature comparison module 300 performs a function of determining whether a web shell signature is included in the script file to be inspected. The web shell signature comparison module 300 detects a web shell through signature matching with a web shell signature stored in the web shell signature storage module 100 for a script file of all sub directories designated by a user.

웹쉘 시그니쳐 업데이트모듈(400)은 웹쉘 시그니쳐 저장모듈에 저장되지 않았던 웹쉘 시그니쳐 발생시 사용자가 입력부(410)를 통하여 웹쉘 시그니쳐를 추가로 저장하여 이를 웹쉘 시그니쳐 저장모듈(100)에 저장하거나, 웹쉘 탐지 서버 (420)가 네트워크 상에서 웹쉘을 검색하여 웹쉘 시그니쳐 저장모듈(100)에 저장되지 않은 웹쉘 시그니쳐를 발견한 경우 사용자 단말기에 제공하여 새로운 웹쉘 시그니쳐를 웹쉘 시그니쳐 저장모듈(100)에 저장하도록 하는 기능을 수행한다. When the web shell signature update module 400 generates a web shell signature that is not stored in the web shell signature storage module, the user additionally stores the web shell signature through the input unit 410 and stores the web shell signature in the web shell signature storage module 100, or the web shell detection server ( If the 420 searches for a web shell on the network and finds a web shell signature that is not stored in the web shell signature storage module 100, the 420 provides the user terminal to store a new web shell signature in the web shell signature storage module 100. .

공격자 정보 제공모듈(500)은 웹로그 분석을 통해 웹쉘에 접근한 공격자에 대한 정보를 사용자에게 제공하는 기능을 수행한다. The attacker information providing module 500 performs a function of providing a user with information about an attacker accessing a web shell through web analytics.

웹쉘 웹로그 검색부(510)는 탐지된 웹쉘 정보를 통해 웹서버에서 웹쉘 웹로그를 검색하는 기능을 수행한다. 웹로그(weblog)는 웹사이트 방문자가 웹사이트를 이용할 때 남는 이용 형태에 대한 기록을 말한다. 사용자는 웹쉘 웹로그 검색부(510)를 이용하여 웹쉘이 업로드되거나, 웹쉘이 시스템 명령어를 통해 실행되었는지를 검색한다.The web shell web log search unit 510 performs a function of searching a web shell web log from a web server through the detected web shell information. A weblog is a record of the type of usage that visitors leave when they use a website. The user searches whether the web shell is uploaded or the web shell is executed through a system command using the web shell web log search unit 510.

공격자 IP 추출부(520)는 웹쉘 웹로그 검색결과로부터 공격자 IP를 추출하는 기능을 수행한다. The attacker IP extracting unit 520 extracts the attacker IP from the web shell web log search results.

웹쉘 웹로그 재검색부(530)는 공격자 IP 추출부(520)로부터 추출된 공격자 IP를 통해 웹로그를 재검색하는 기능을 수행한다. 웹쉘 웹로그 재검색부(530)는 공 격자 IP를 통해 웹로그를 재검색함으로써, 본 발명에 의해 탐지된 웹쉘이 아닌 공격자가 업로드한 또 다른 웹쉘을 탐지할 수 있다. The web shell web log re-search unit 530 performs a function of re-searching the web log through the attacker IP extracted from the attacker IP extracting unit 520. The web shell web log re-search unit 530 may detect another web shell uploaded by an attacker, not the web shell detected by the present invention, by re-searching the web log through the grid IP.

웹쉘 탐지결과 리포팅모듈(600)은 탐지된 웹쉘에 대한 정보를 사용자에게 제공하는 기능을 수행한다. 웹쉘 탐지결과 리포팅모듈(600)은 예컨대 파일 전체 경로(Path), 파일 크기(Size), 파일 수정된 시간(Time) 또는 매칭된 시그니쳐 정보(MatchingSignitureInfo) 등을 포함하여 사용자에게 제공할 수 있다. The web shell detection result reporting module 600 performs a function of providing a user with information about the detected web shell. The webshell detection result reporting module 600 may provide the user with, for example, a file full path, a file size, a file modified time, or a matching signature information MatchingSignitureInfo.

웹쉘 코드 뷰어모듈(610)은 탐지된 웹쉘에 대한 소스코드를 사용자에게 제공하는 기능을 수행한다. 웹쉘 코드 뷰어모듈(610)은 웹쉘 시그니쳐라고 판단된 소스코드에 대해서는 예컨대 굵은 글씨 등으로 부각하여 보여줌으로써 웹 서버 운영상 필요한 정상 스크립트가 사용자에 의해 잘못하여 삭제되는 것을 방지하는 효과를 제공한다. The web shell code viewer module 610 serves to provide a user with source code for the detected web shell. The web shell code viewer module 610 shows the source code determined as the web shell signature by emphasizing, for example, in bold text, so as to prevent the normal script necessary for operating the web server from being accidentally deleted by the user.

웹쉘 삭제모듈(620)은 탐지된 웹쉘을 사용자의 입력에 의해 삭제하는 기능을 수행한다. The web shell deletion module 620 deletes the detected web shell by a user's input.

도 5는 본 발명의 실시예에 따른 오브젝트 시그니쳐(Signiture_Object)를 도시한다. 도시된 바와 같이 오브젝트 시그니쳐(Signiture_Object)에는, Wscript.Shell, Shell.Application 또는 vbscript.encode가 있다. Wscript.Shell, Shell.Application는 시스템 명령어를 사용하기 위해 사용하는 오브젝트 명이고 vbscript.encode는 웹쉘 인코딩 기법에서 사용하는 오브젝트 명이다. 5 illustrates an object signature (Signiture_Object) according to an embodiment of the present invention. As shown, the object signature (Signiture_Object) includes Wscript.Shell, Shell.Application, or vbscript.encode. Wscript.Shell and Shell.Application are the object names used to use system commands, and vbscript.encode is the object name used in the webshell encoding scheme.

도 6은 본 발명의 실시예에 따른 함수 시그니쳐(Signiture_Function)를 도시한다. 도시된 바와 같이 함수 시그니쳐(Signiture_Function)에는, CreateObject(Wscript.Shell), CreateObject(Shell.Application), execute session, execute request 또는 eval request가 있다. CreateObject(Wscript.Shell), CreateObject(Shell.Application)는 쉘 명령어 관련 오브젝트를 생성하기 위한 함수명이고, execute session, execute request 또는 eval request는 원격에서 공격자가 보내는 코드는 실행하는 함수명들이다. 6 illustrates a function signature (Signiture_Function) according to an embodiment of the present invention. As shown, the function signature (Signiture_Function) includes CreateObject (Wscript.Shell), CreateObject (Shell.Application), execute session, execute request, or eval request. CreateObject (Wscript.Shell) and CreateObject (Shell.Application) are the names of functions for creating shell command-related objects, and execute session, execute request, or eval request are the names of functions that are executed by remotely sent code.

도 7은 본 발명의 실시예에 따른 문자열 시그니쳐(Signiture_Word)를 도시한다. 도시된 바와 같이 문자열 시그니쳐(Signiture_Word)에는 cmd.exe, lcxMarcos, Marcos, hack520, lake2 또는 gb2312가 있다. cmd.exe는 쉘 명령어를 사용하기 위해 사용하는 시스템 명령어이고, lcxMarcos, Marcos, hack520, lake2는 웹쉘 제작자 닉네임으로 많은 웹쉘에 기록되어 있다. 최근에는 중국으로부터 발생하는 웹쉘에 의한 피해 사례가 늙어나고 있다. 한편 중국에서 생성된 웹쉘 코드에 중국어간체 gb2312가 들어가 있는 경우가 많은데, gb2312는 중국어를 제공하지 않는 홈페이지에서 웹쉘을 찾을 수 있는 키워드가 될 수 있다. 7 illustrates a string signature (Signiture_Word) according to an embodiment of the present invention. As shown, the string signature (Signiture_Word) includes cmd.exe, lcxMarcos, Marcos, hack520, lake2, or gb2312. cmd.exe is a system command used to use shell commands, and lcxMarcos, Marcos, hack520, and lake2 are web shell creator nicknames and are recorded in many web shells. In recent years, the damage caused by web shells from China is growing. Simplified Chinese gb2312 is often included in web shell codes generated in China, and gb2312 can be a keyword to find a web shell on a website that does not provide Chinese.

도 8은 본 발명의 실시예에 따른 정규표현식 시그니쳐 (Signiture_Regular_Expression)를 도시한다. 도시된 바와 같이 정규표현식 시그니쳐(Signiture_Regular_Expression)에는 [" ]+cmd.exe, wscr.*\&.*ipt\.shell, CreateObject.*(.*wsc.*ell), language.*=.*(vbscript|jscript|javascript)\.encode, execute[ (]+session 또는 execute[ (]+request가 있다. 웹쉘 시그니쳐를 정규표현식으로 정의함으로써, 공격자가 웹쉘 탐지를 우회하기 위해 특정 오브젝트, 함수, 문자열을 분할하는 경우에도 웹쉘을 탐지할 수 있다.8 illustrates a regular expression signature (Signiture_Regular_Expression) according to an embodiment of the present invention. As shown, the regular expression signature (Signiture_Regular_Expression) contains ["] + cmd.exe, wscr. * \ &. * Ipt \ .shell, CreateObject. * (. * Wsc. * Ell), language. * =. * ( vbscript | jscript | javascript) \.encode, execute [(] + session or execute [(] + request) By defining webshell signatures as regular expressions, an attacker can use certain objects, functions, and strings to bypass webshell detection. If you split, you can still detect the webshell.

도 9는 본 발명의 실시예에 따른 데이터 베이스 접속(ConnectDataBase) 웹쉘 시그니쳐 또는 파일 업로드(UploadFile) 전용 웹쉘 시그니쳐를 도시한다. 도시된 바와 같이 데이터 베이스 접속(ConnectDataBase) 또는 파일 업로드(UploadFile) 전용 시그니쳐에는 CreateObject.*(.*ADO.*\..*ection, .SaveToFile, CreateObject.*(.*Script.*Object), .(Open|Create)TextFile 또는 Scripting.FileSystemObject가 있다. 웹쉘 시그니쳐를 데이터 베이스(DB) 접속 웹쉘 시그니쳐 또는 파일 업로드 전용 웹쉘 시그니쳐로 정의함으로써, 정상 홈페이지 스크립트와 구분하기 어려운 DB, 파일 업로드 전용 웹쉘을 탐지할 수 있다. FIG. 9 illustrates a ConnectDataBase webshell signature or a UploadFile dedicated webshell signature according to an embodiment of the present invention. As shown, the only signatures for ConnectDataBase or UploadFile include CreateObject. * (. * ADO. * \ .. * ection, .SaveToFile, CreateObject. * (. * Script. * Object),. There is (Open | Create) TextFile or Scripting.FileSystemObject that defines webshell signatures as database-connected webshell signatures or file upload-only webshell signatures to detect DB and file upload-only webshells that are difficult to distinguish from normal homepage scripts. Can be.

도 10은 본 발명의 실시예에 따른 웹쉘 시그니쳐 업데이트모듈(400)에 사용자 입력에 의해 웹셀 시그니처를 추가하는 방법을 도시한다. 추가할 웹쉘 시그니쳐를 사용자 입력부(52)에 입력하면, 입력된 웹쉘 시그니쳐는 웹쉘 시그니쳐 저장모듈(100)에 저장되고, 웹쉘 시그니쳐 리스트(110)에 포함되어 사용자에게 제공된다. 10 illustrates a method of adding a web cell signature to a web shell signature update module 400 by a user input according to an embodiment of the present invention. When the web shell signature to be added is input to the user input unit 52, the input web shell signature is stored in the web shell signature storage module 100 and included in the web shell signature list 110 and provided to the user.

도 11은 본 발명의 실시예에 따른 웹쉘 시그니쳐 저장모듈에 저장된 웹쉘 시그니쳐 리스트 제공 방법 및 활성 웹쉘 시그니쳐 설정 방법을 도시한다. 웹쉘 시그니쳐 리스트 제공모듈(110)은 웹쉘 시그니쳐 저장모듈(100)에 저장된 웹쉘 시그니쳐의 리스트(64)를 사용자에게 제공한다. 웹쉘 시그니쳐 설정모듈(112)은 웹쉘 시그니쳐 리스트 제공모듈(110)에서 제공한 웹쉘 시그니쳐 리스트(64)에 포함된 웹쉘 시그니쳐를 사용자의 입력에 의해 활성 웹쉘 시그니쳐 및 비활성 웹쉘 시그니쳐로 구분하는 기능을 수행한다. 사용자는 웹쉘 시그니쳐 리스트(64) 중 포함여부를 탐지할 웹쉘 시그니쳐를 클릭함으로써 활성화(66)시킨다. 이때 웹쉘 시그니쳐 비교모 듈(300)은, 피검사 스크립트 파일에 웹쉘 시그니쳐 설정모듈에서 지정한 활성 웹쉘 시그니쳐가 포함되었는지를 판단한다. 웹쉘 시그니쳐 설정모듈(112)에 의해 특정한 웹쉘 시그니쳐만을 선택적으로 탐지하는 것이 가능하므로 웹쉘을 탐지하는데 소요되는 시간을 현저하게 경감시키는 효과를 제공한다.11 illustrates a method for providing a web shell signature list and a method for setting an active web shell signature stored in a web shell signature storage module according to an embodiment of the present invention. The web shell signature list providing module 110 provides a user with a list 64 of web shell signatures stored in the web shell signature storage module 100. The web shell signature configuration module 112 divides the web shell signature included in the web shell signature list 64 provided by the web shell signature list providing module 110 into an active web shell signature and an inactive web shell signature by a user's input. . The user activates 66 by clicking on the webshell signature to detect inclusion in the webshell signature list 64. At this time, the web shell signature comparison module 300 determines whether the script file under test includes the active web shell signature specified by the web shell signature configuration module. It is possible to selectively detect only a specific web shell signature by the web shell signature configuration module 112, thereby providing an effect of significantly reducing the time required to detect the web shell.

도 12는 본 발명의 실시예에 따른 홈페이지 홈 디렉터리 또는 윈도우 내 디렉터리 지정방법을 도시한다. 피검사 디렉터리 지정모듈(210)은, 홈페이지 홈 디렉터리 또는 윈도우 내 디렉터리(70) 중 적어도 하나를 지정한다. 공격자는 홈페이지 홈 디렉터리가 아닌 다른 폴더나 파티션에 웹쉘을 업로드하는 경우가 많다. 이러한 우회 기법을 탐지하기 위해 사용자는 한 파티션(C:\ 또는 D:\)(72)의 모든 윈도우 디렉터리를 지정할 수 있다. 웹쉘 시그니쳐 비교모듈 (300)은 피검사 디렉터리 지정모듈(210)에서 지정한 디렉터리 및 하위 디렉터리의 스크립트 파일들을 순차적으로 웹쉘 시그니쳐 저장모듈(100)에 저장된 웹쉘 시그니쳐와 비교하여 웹쉘 시그니쳐 저장모듈에 저장된 웹쉘 시그니처가 포함되었는지를 판단한다. 피검사 디렉터리 지정모듈(210)에 의해 웹쉘 시그니쳐 포함여부를 탐지할 디렉터리를 선택할 수 있도록 함으로써, 모든 디렉터리에 대해 웹쉘 시그니쳐를 탐지하는데 소요되는 시간을 현저하게 경감시키는 효과를 제공한다. 12 illustrates a method of designating a home page home directory or a directory within a window according to an embodiment of the present invention. The inspected directory designation module 210 designates at least one of a homepage home directory or a directory 70 in a window. Attackers often upload webshells to folders or partitions other than the home directory. To detect this bypass technique, the user can specify all Windows directories in one partition (C: \ or D: \) 72. The web shell signature comparison module 300 compares the script files of the directory and subdirectory specified by the inspected directory designation module 210 with the web shell signature stored in the web shell signature storage module 100 in sequence, and stores the web shell signature stored in the web shell signature storage module. Determine if is included. By allowing the directory to be inspected to be selected by the directory designation module 210 to select whether or not to include the web shell signature, the time required to detect the web shell signature for all directories is remarkably reduced.

도 13은 본 발명의 실시예에 따른 스크립트 확장자 파일 설정방법을 도시한다. 스크립트 확장자 파일 리스트 제공모듈(220)은 웹쉘 시그니쳐 포함 여부를 피검사 파일에 대한 스크립트 확장자 파일 리스트(62)를 제공하는 기능을 수행한다. 도 12에서 지정된 디렉터리에서 모든 파일을 대상으로 웹쉘을 탐지할 경우 많은 시 간이 소요될 수 있다. 그러나 윈도우 웹 서버는 실행되는 스크립트 확장자가 지정되어 있으므로 관련된 확장자 파일만을 검사하면 웹쉘을 단시간에 탐지할 수 있다. 스크립트 확장자 파일 리스트 제공모듈(220)은 사용자에게 asp, aspx 확장자뿐만 아니라 cer, cdx, asa, hta 중에서 선택할 수 있도록 하였다. 웹 서버에 업로드 되는 웹쉘을 일반적으로 잘 사용하지 않는 cer이나 asa 확장자로 이름을 변경하는 경우가 있는데, 이와 같이 확장자명을 변경하여 업로드하는 경우에도 ASP 환경에서 실행될 수 있는 모든 스크립트를 검사하여 웹쉘 탐지를 우회하는 것을 방지한다. 또한 관리자의 설정 부주의로 htm 파일도 스크립트를 실행할 수 있는 권한이 주어지는 경우가 있는데, 이 경우에도 웹쉘을 탐지할 수 있도록 htm, html 또는 shtml에 대한 파일도 스크립트 확장자 파일 리스트에 제공한다. 스크립트 확장자 파일 설정모듈(222)은 스크립트 확장자 파일 리스트 제공모듈(110)에서 제공한 스크립트 확장자 파일 리스트에 포함된 스크립트 파일을 사용자의 입력에 의해 활성 스크립트 확장자 파일(67) 및 비활성 스크립트 확장자 파일(68)로 구분하는 기능을 수행한다. 이때 웹쉘 시그니쳐 비교모듈(300)은, 스크립트 확장자 파일 설정모듈(222)에서 설정한 활성 스크립트 확장자 파일에 대해 웹쉘 시그니쳐 저장모듈(100)에 저장된 웹쉘 시그니쳐가 포함되었는지를 판단한다. 13 illustrates a script extension file setting method according to an embodiment of the present invention. The script extension file list providing module 220 provides a script extension file list 62 for a file to be inspected whether or not a web shell signature is included. If a web shell is detected for all files in the directory specified in FIG. 12, a large amount of time may be taken. However, because Windows Web Server has a script extension to be executed, it can be detected in a short time by checking only the extension file. The script extension file list providing module 220 allows a user to select from cer, cdx, asa, and hta as well as asp and aspx extensions. In some cases, a web shell uploaded to a web server is renamed with a cer or asa extension that is not commonly used. Even when uploading with an extension, the web shell is detected by checking all scripts that can be executed in the ASP environment. To avoid bypassing it. In addition, htm files may be given permission to execute scripts due to the administrator's careless setting. In this case, files for htm, html, or shtml are also provided in the script extension file list so that the webshell can be detected. The script extension file setting module 222 inputs the script file included in the script extension file list provided by the script extension file list providing module 110 by the user's input to the active script extension file 67 and the inactive script extension file 68. Performs a function separated by). At this time, the web shell signature comparison module 300 determines whether the web shell signature stored in the web shell signature storage module 100 is included in the active script extension file set by the script extension file setting module 222.

도 14는 본 발명의 실시예에 따른 웹쉘 탐지 결과를 사용자에게 제공하는 예를 도시한다. 파일 전체 경로(Path)(82), 파일 크기(Size)(84), 파일 수정된 시간(Time)(86), 매칭된 시그니쳐 정보(MatchingSignitureInfo)(88)를 제공하여 사용자가 웹쉘 시그니쳐를 포함한 파일에 대한 볼 수 있도록 하거나 탐지된 파일이 웹 쉘이라고 판단될 경우 웹쉘을 삭제할 수 있도록 한다.14 illustrates an example of providing a web shell detection result to a user according to an embodiment of the present invention. File Full Path (82), File Size (84), File Modified Time (86), and Matched Signature Information (MatchingSignitureInfo) (88) to provide the user with a file containing the webshell signature. Allows you to view or delete the webshell if the detected file is determined to be a webshell.

도 15는 본 발명의 실시예에 따른 탐지된 웹쉘정보를 삭제하거나 보여주는 방법을 도시한다. 15 illustrates a method of deleting or showing detected web shell information according to an embodiment of the present invention.

도 16은 본 발명의 실시예에 따른 탐지된 웹쉘 소스코드의 예를 도시한다. 웹쉘 시그니쳐라고 판단된 소스코드를 굵은 글씨 등으로 부각(92)해서 사용자에게 제공하고 탐지된 웹쉘을 삭제할 수 있도록 함으로써, 웹 서버 운영상 필요한 정상 스크립트가 잘못하여 삭제되는 것을 방지한다. 16 shows an example of detected web shell source code according to an embodiment of the present invention. The source code determined as the web shell signature is embossed (92) in bold letters and provided to the user so that the detected web shell can be deleted, thereby preventing the normal script necessary for operating the web server from being accidentally deleted.

도 17은 본 발명의 실시예에 따른 웹쉘 탐지 방법을 도시한다. 17 illustrates a web shell detection method according to an embodiment of the present invention.

먼저, 웹쉘과 정상 스크립트 파일을 구분하기 위해 웹쉘에 포함되는 적어도 하나의 웹쉘 시그니쳐를 저장하는 제 1 단계(S10) 및 컴퓨터 단말기에 저장된 스크립트 파일을 피검사 스크립트 파일로써 추출하는 제 2 단계(S20)를 순차적으로 수행한다. First, a first step (S10) of storing at least one web shell signature included in a web shell to distinguish a web shell from a normal script file, and a second step (S20) of extracting a script file stored in a computer terminal as a script file to be inspected. Are performed sequentially.

다음으로 추출된 스크립트 파일에 상기 웹쉘 시그니쳐 저장단계에서 저장된 상기 웹쉘 시그니쳐가 포함되었는지를 판단하는 제 3 단계 (S30)를 수행한다.Next, a third step S30 of determining whether the extracted web file includes the web shell signature stored in the web shell signature storing step is performed.

이때 제 1 단계(S10)는 저장된 웹쉘 시그니쳐에 대한 리스트를 사용자에게 제공하고, 사용자는 웹쉘 시그니쳐 리스트에 포함된 웹쉘 시그니쳐를 활성 시그니쳐 및 비활성 시그니쳐로 구분하여 설정하는 제 1 부단계(S12)를 더 포함하고, 제 3 단계(S30)는, 추출된 스크립트 파일에 지정한 활성 웹쉘 시그니쳐가 포함되었는지를 판단하는 것이 바람직하다. In this case, the first step S10 provides the user with a list of stored web shell signatures, and the user further adds a first sub step S12 of dividing the web shell signature included in the web shell signature list into an active signature and an inactive signature. In the third step (S30), it is preferable to determine whether the extracted script file includes the designated active web shell signature.

제 2 단계(S20)는 홈페이지 홈 디렉터리 또는 윈도우 내 디렉터리 중 적어도 하나를 지정하고, 지정된 디렉터리 및 하위 디렉터리의 스크립트 파일들을 순차적으로 웹쉘 시그니쳐와 비교하는 제 2 부단계(S22) 및 asp, aspx, cer, cdx, asa, hta, htm, html 또는 shtml의 스크립트 확장자 파일 중 적어도 하나를 추출하여 웹쉘 시그니쳐 포함여부를 판단하고, 스크립트 확장자 파일에 관한 리스트를 사용자에게 제공하며, 사용자는 스크립트 확장자 파일 리스트에 포함된 스크립트 파일을 활성 스크립트 확장자 파일 및 비활성 스크립트 확장자 파일로 구분하여 설정하는 제 3 부단계(S24)를 더 포함하는 것이 바람직하다. 이때 제 3 단계(S30)는 활성 스크립트 확장자 파일에 대해 웹쉘 시그니쳐가 포함되었는지를 판단하는 것이 바람직하다. The second step (S20) designates at least one of a homepage home directory or a directory in a window, and a second substep (S22) of sequentially comparing the script files of the specified directory and subdirectories with the web shell signature and asp, aspx, cer Extract at least one of the script extension files of cdx, asa, hta, htm, html or shtml to determine whether to include the webshell signature, and provide the user with a list of script extension files. It is preferable to further include a third sub-step (S24) for dividing the set script file into an active script extension file and an inactive script extension file. In this case, the third step S30 may determine whether a web shell signature is included in the active script extension file.

다음으로, 웹쉘 시그니쳐로 저장되지 않았던 웹쉘 시그니쳐 발생시 사용자가 웹쉘 시그니쳐를 추가로 저장하도록 입력하거나 또는 네트워크 상에서 웹쉘을 검색하여 웹쉘의 시그니쳐를 수집하고, 웹쉘 시그니쳐로 저장되지 않았던 웹쉘 시그니쳐 발생시 추가로 저장하도록 사용자 단말에 제공하는 제 4 단계(S40)를 더 수행할 수 있다.Next, when a webshell signature that is not stored as a webshell signature occurs, the user may enter to save additional webshell signatures or search for a webshell on the network to collect webshell signatures, and to save additional webshell signatures when a webshell signature is not stored as a webshell signature. The fourth step S40 provided to the user terminal may be further performed.

다음으로, 웹쉘에 접근한 공격자에 대한 정보를 사용자에게 제공하는 제 5 단계(S50)를 더 수행할 수 있다. 제 5 단계는, 웹서버에서 웹쉘 웹로그를 검색하는 제 1 부단계, 상기 웹쉘 웹로그 검색결과로부터 공격자 IP를 추출하는 제 2 부단계 및 상기 추출된 공격자 IP를 통해 웹로그를 재검색하는 제 3 부단계를 더 수행할 수 있다.Next, a fifth step S50 of providing the user with information about the attacker who accesses the web shell may be further performed. The fifth step may include a first sub step of retrieving a web shell web log from a web server, a second sub step of extracting an attacker IP from the web shell web log search result, and a third re searching of the web log through the extracted attacker IP You can perform further substeps.

다음으로, 파일 전체 경로(Path), 파일 크기(Size), 파일 수정된 시간(Time) 또는 매칭된 시그니쳐 정보(MatchingSignitureInfo) 중 적어도 하나를 포함하는 탐지된 웹쉘 정보를 사용자에게 보여주는 제 6 단계(S60) 및 탐지된 웹쉘에 대한 소스코드를 사용자에게 제공하고, 웹쉘 시그니쳐라고 판단된 소스코드에 대해서는 부각하여 사용자에게 보여주는 제 7 단계(S70)를 더 수행할 수 있다. Next, a sixth step (S60) showing the detected webshell information to the user including at least one of a file full path, a file size, a file modification time, or a matching signature information MatchingSignitureInfo. ) And provide the source code for the detected web shell to the user, and further perform the seventh step S70 of showing the user with the source code determined to be the web shell signature.

마지막으로 제 7 단계(S70) 이후에도 탐지된 웹쉘을 삭제하는 제 8 단계(S80)를 더 수행할 수 있다.Finally, an eighth step S80 of deleting the detected web shell may be further performed after the seventh step S70.

아울러 본 발명의 바람직한 실시예들은 예시의 목적을 위해 개시된 것이며, 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가 등이 가능할 것이며, 이러한 수정, 변경 등은 이하의 특허청구의 범위에 속하는 것으로 보아야 할 것이다. In addition, preferred embodiments of the present invention are disclosed for the purpose of illustration, those skilled in the art will be able to various modifications, changes, additions, etc. within the spirit and scope of the present invention, such modifications, changes, etc. fall within the scope of the claims Should be seen.

도 1은 게시판을 통해 웹쉘 파일을 업로드하는 예를 도시하는 예시도.1 is an exemplary diagram illustrating an example of uploading a web shell file through a bulletin board.

도 2는 쉘 명령어가 실행된 결과의 예를 도시하는 예시도.2 is an exemplary diagram showing an example of a result of executing a shell command.

도 3은 암호화된 웹쉘 코드와 패스워드를 설정한 웹쉘의 예를 도시하는 예시도.3 is an exemplary diagram showing an example of a web shell in which an encrypted web shell code and a password are set.

도 4는 웹쉘 탐지 시스템에서의 웹쉘 탐지 과정을 도시하는 구성도.4 is a block diagram illustrating a web shell detection process in a web shell detection system.

도 5는 본 발명의 실시예에 따른 오브젝트 시그니쳐의 구성예.5 is a structural example of an object signature according to an embodiment of the present invention.

도 6은 본 발명의 실시예에 따른 함수 시그니쳐의 구성예.6 is a configuration example of a function signature according to an embodiment of the present invention.

도 7은 본 발명의 실시예에 따른 문자열 시그니쳐의 구성예.7 is a configuration example of a character string signature according to an embodiment of the present invention.

도 8은 본 발명의 실시예에 따른 정규표현식 시그니쳐의 구성예. 8 is a configuration example of a regular expression signature according to an embodiment of the present invention.

도 9는 본 발명의 실시예에 따른 데이터 베이스 접속 및 파일 업로드 전용 시그니쳐의 구성예.9 is a configuration example of a signature for database access and file upload according to an embodiment of the present invention.

도 10은 본 발명의 실시예에 따른 웹쉘 시그니쳐 업데이트모듈에 사용자 입력에 의해 웹쉘 시그니쳐를 추가하는 방법을 도시한 예시도.10 is an exemplary diagram illustrating a method for adding a web shell signature by user input to a web shell signature update module according to an embodiment of the present invention.

도 11은 본 발명의 실시예에 따른 웹쉘 시그니쳐 저장모듈에 저장된 웹쉘 시그니쳐 리스트 제공 방법 및 활성 웹쉘 시그니쳐 설정 방법을 도시한 예시도.11 is an exemplary diagram illustrating a web shell signature list providing method and an active web shell signature setting method stored in a web shell signature storage module according to an exemplary embodiment of the present invention.

도 12는 본 발명의 실시예에 따른 홈페이지 홈 디렉터리 및 윈도우 내 디렉터리 지정방법을 도시한 예시도.12 is an exemplary diagram showing a home page home directory and a directory designation method within a window according to an embodiment of the present invention.

도 13은 본 발명의 실시예에 따른 스크립트 확장자 파일 설정방법을 도시한 예시도.13 is an exemplary view showing a script extension file setting method according to an embodiment of the present invention.

도 14는 본 발명의 실시예에 따른 웹쉘 탐지 결과의 예를 도시하는 예시도.14 is an exemplary diagram showing an example of a web shell detection result according to an embodiment of the present invention.

도 15는 본 발명의 실시예에 따른 탐지된 웹쉘정보를 삭제하거나 보여주는 방법을 도시한 예시도. 15 is an exemplary view showing a method of deleting or showing detected web shell information according to an embodiment of the present invention.

도 16은 본 발명의 실시예에 따른 탐지된 웹쉘 소스코드의 예를 도시하는 예시도. 16 is an exemplary diagram showing an example of detected web shell source code according to an embodiment of the present invention.

도 17은 본 발명의 실시예에 따른 웹쉘 탐지 방법을 도시하는 처리 흐름도. 17 is a process flow diagram illustrating a webshell detection method in accordance with an embodiment of the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

100 : 웹쉘 시그니쳐 저장모듈 110: 웹쉘 시그니쳐 리스트 제공모듈100: web shell signature storage module 110: web shell signature list providing module

200 : 피검사파일 추출모듈 210 : 피검사 디렉터리 지정모듈200: Test file extraction module 210: Test directory designation module

220 : 스크립트 확장자 파일 리스트 제공모듈 300 : 웹쉘 시그니쳐 비교모듈 220: script extension file list providing module 300: Web shell signature comparison module

400: 웹쉘 시그니쳐 업데이트모듈 500 : 공격자 정보 제공모듈400: web shell signature update module 500: attacker information providing module

600 : 웹쉘 탐지결과 리포팅모듈 610 : 웹쉘 코드 뷰어모듈 600: Web shell detection result reporting module 610: Web shell code viewer module

620 : 웹쉘 삭제모듈620: Webshell delete module

Claims (23)

컴퓨터 단말기에 설치되어 웹쉘을 탐지하는 웹쉘 탐지 시스템에 있어서, In a web shell detection system installed on a computer terminal to detect a web shell, 웹쉘과 정상 스크립트 파일을 구분하기 위해 웹쉘에 포함되는 적어도 하나의 웹쉘 시그니쳐를 저장하는 웹쉘 시그니쳐 저장모듈;A web shell signature storage module for storing at least one web shell signature included in the web shell to distinguish the web shell from the normal script file; 상기 컴퓨터 단말기에 저장된 스크립트 파일을 피검사 스크립트 파일로써 추출하는 피검사 파일 추출모듈; 및An inspected file extraction module for extracting a script file stored in the computer terminal as an inspected script file; And 상기 피검사 스크립트 파일에 상기 웹쉘 시그니쳐 저장모듈에 저장된 상기 웹쉘 시그니쳐가 포함되었는지를 판단하는 웹쉘 시그니쳐 비교모듈;을 포함하여 구성되는 것을 특징으로 하는 웹쉘 탐지 시스템.And a web shell signature comparison module for determining whether the web shell signature stored in the web shell signature storage module is included in the inspected script file. 제 1 항에 있어서, 상기 웹쉘 시그니쳐는,The method of claim 1, wherein the web shell signature, 오브젝트, 함수, 문자열 또는 정규표현식 중 어느 하나인 것을 특징으로 하는 웹쉘 탐지 시스템.Webshell detection system, characterized in that any one of an object, function, string or regular expression. 제 2 항에 있어서, The method of claim 2, 상기 오브젝트인 상기 웹쉘 시그니쳐는, Wscript.Shell, Shell.Application 또는 vbscript.encode 중 적어도 하나를 포함하고, The web shell signature, which is the object, includes at least one of Wscript.Shell, Shell.Application, or vbscript.encode, 상기 함수인 상기 웹쉘 시그니쳐는, CreateObject(Wscript.Shell), CreateObject(Shell.Application), execute session, execute request 또는 eval request 중 적어도 하나를 포함하고,The web shell signature, which is the function, includes at least one of CreateObject (Wscript.Shell), CreateObject (Shell.Application), execute session, execute request, or eval request. 상기 문자열인 상기 웹쉘 시그니쳐는, cmd.exe, lcxMarcos, Marcos, hack520, lake2 또는 gb2312 중 적어도 하나를 포함하고, The web shell signature, which is the string, includes at least one of cmd.exe, lcxMarcos, Marcos, hack520, lake2, or gb2312, 상기 정규표현식으로 표현된 상기 웹쉘 시그니쳐는, [" ]+cmd.exe, wscr.*\&.*ipt\.shell, CreateObject.*(.*wsc.*ell), language.*=.*(vbscript|jscript|javascript)\.encode, execute[ (]+session 또는 execute[ (]+request 중 적어도 하나를 포함하는 것을 특징으로 하는 웹쉘 탐지 시스템.The web shell signature represented by the regular expression is ["] + cmd.exe, wscr. * \ &. * Ipt \ .shell, CreateObject. * (. * Wsc. * Ell), language. * =. * ( vbscript | jscript | javascript) \.encode, webshell detection system comprising at least one of execute [(] + session or execute [(] + request). 제 1 항에 있어서, 상기 웹쉘 시그니쳐는,The method of claim 1, wherein the web shell signature, 데이터 베이스 접속 웹쉘 시그니쳐 또는 파일 업로드 전용 웹쉘 시그니쳐인 것을 특징으로 하는 웹쉘 탐지 시스템.Webshell detection system, characterized in that the database connection webshell signature or file upload only webshell signature. 제 4 항에 있어서, 상기 데이터 베이스 접속 웹쉘 시그니쳐 또는 파일 업로드 전용 웹쉘 시그니쳐는,The web shell signature of claim 4, wherein the web shell signature or file upload-only web shell signature comprises: CreateObject.*(.*ADO.*\..*ection, .SaveToFile, CreateObject.*(.*Script.*Object), .(Open|Create)TextFile 또는 Scripting.FileSystemObject 중 적어도 하나를 포함하는 것을 특징으로 하는 웹쉘 탐지 시스템.It includes at least one of CreateObject. * (. * ADO. * \ .. * ection, .SaveToFile, CreateObject. * (. * Script. * Object),. (Open | Create) TextFile, or Scripting.FileSystemObject. Webshell detection system. 제 1 항에 있어서, The method of claim 1, 상기 웹쉘 탐지 시스템은, 상기 웹쉘 시그니쳐 저장모듈에 저장된 웹쉘 시그니쳐의 리스트를 사용자에게 제공하는 웹쉘 시그니쳐 리스트 제공모듈 및 사용자 입력에 의해 상기 웹쉘 시그니쳐 리스트에 포함된 웹쉘 시그니쳐를 활성 웹쉘 시그니쳐 및 비활성 웹쉘 시그니쳐로 구분하는 웹쉘 시그니쳐 설정모듈을 더 포함하고, The web shell detection system may include a web shell signature list providing module that provides a user with a list of web shell signatures stored in the web shell signature storage module and a web shell signature included in the web shell signature list by user input as an active web shell signature and an inactive web shell signature. It further includes a distinguishing web shell signature configuration module, 상기 웹쉘 시그니쳐 비교모듈은, 상기 피검사 스크립트 파일에 상기 웹쉘 시그니쳐 설정모듈에서 지정한 활성 웹쉘 시그니쳐가 포함되었는지를 판단하는 것을 특징으로 하는 웹셀 탐지 시스템. The web shell signature comparison module determines whether the inspected script file includes an active web shell signature specified by the web shell signature configuration module. 제 1 항에 있어서, 상기 웹쉘 탐지 시스템은,The system of claim 1, wherein the webshell detection system comprises: 상기 웹쉘 시그니쳐 저장모듈에 저장되지 않았던 웹쉘 시그니쳐 발생시 상기 웹쉘 시그니쳐를 추가로 저장하도록 입력하는 사용자 입력부를 더 포함하고, Further comprising a user input unit for inputting to further store the web shell signature when a web shell signature is not stored in the web shell signature storage module, 상기 사용자 입력부에 입력된 새로운 웹쉘 시그니쳐를 상기 웹쉘 시그니쳐 저장모듈에 저장하는 사용자 입력에 의한 웹쉘 시그니쳐 업데이트모듈을 더 포함하는 것을 특징으로 하는 웹쉘 탐지 시스템.And a web shell signature update module according to a user input for storing a new web shell signature input to the user input unit in the web shell signature storage module. 제 1 항에 있어서, 상기 웹쉘 탐지 시스템은, 네트워크 상에서 웹쉘을 검색하여 상기 웹쉘의 시그니쳐를 수집하는 웹쉘 탐지 서버를 더 포함하고, The webshell detection system of claim 1, further comprising a webshell detection server configured to search for a webshell on a network and collect signatures of the webshell. 상기 웹쉘 탐지 서버는, 상기 웹쉘 시그니쳐 저장모듈에 저장되지 않은 웹쉘 시그니쳐가 발생된 경우 사용자 단말기에 제공하는 웹쉘 탐지 서버에 의한 웹쉘 시 그니쳐 업데이트모듈을 더 포함하는 것을 특징으로 하는 웹쉘 탐지 시스템.The web shell detection server further comprises a web shell signature update module by a web shell detection server provided to a user terminal when a web shell signature not stored in the web shell signature storage module is generated. 제 1 항에 있어서, 상기 웹쉘 탐지 시스템은, The system of claim 1, wherein the webshell detection system comprises: 홈페이지 홈 디렉터리 또는 윈도우 내 디렉터리 중 적어도 하나를 지정하는 피검사 디렉터리 지정모듈을 더 포함하고, The apparatus further includes a directory to be inspected designation module which designates at least one of a homepage home directory or a directory in a window. 지정된 디렉터리 및 하위 디렉터리의 스크립트 파일들을 순차적으로 상기 웹쉘 시그니쳐와 비교하는 것을 특징으로 하는 웹쉘 탐지 시스템. Webshell detection system, characterized in that the script files of the specified directory and subdirectories are sequentially compared with the webshell signature. 제 1 항에 있어서, 상기 피검사 파일 추출모듈은,The method of claim 1, wherein the file to be examined module is extracted, 상기 피검사 파일을 asp, aspx, cer, cdx, asa 또는 hta의 스크립트 파일 중 적어도 하나를 포함하는 것을 특징으로 하는 웹쉘 탐지 시스템.And the at least one of the script file of asp, aspx, cer, cdx, asa, or hta. 제 1 항에 있어서, The method of claim 1, 상기 웹쉘 탐지 시스템은, 스크립트 확장자 파일에 관한 리스트를 사용자에게 제공하는 스크립트 확장자 파일 리스트 제공모듈 및 사용자의 입력에 의해 상기 스크립트 확장자 파일 리스트에 포함된 스크립트 파일을 활성 스크립트 확장자 파일 및 비활성 스크립트 확장자 파일로 구분하는 스크립트 확장자 파일 설정모듈을 더 포함하고, The web shell detection system includes a script extension file list providing module for providing a list of script extension files to a user and a script file included in the script extension file list by a user input as an active script extension file and an inactive script extension file. It further includes a script extension file configuration module for identifying, 상기 웹쉘 시그니쳐 비교모듈은, 상기 스크립트 파일 설정모듈에서 설정한 상기 활성 스크립트 확장자 파일에 대해 웹쉘 시그니쳐가 포함되었는지를 판단하는 것을 특징으로 하는 웹쉘 탐지 시스템.The web shell signature comparison module determines whether a web shell signature is included in the active script extension file set by the script file setting module. 제 10 항에 있어서, 상기 스크립트 파일은,The method of claim 10, wherein the script file, htm, html 또는 shtml을 더 포함하며, 이 중 적어도 하나를 지정하는 것을 특징으로 하는 웹쉘 탐지 시스템.It further comprises htm, html or shtml, Webshell detection system characterized in that at least one of the designation. 제 1 항에 있어서, 상기 웹쉘 탐지 시스템은,The system of claim 1, wherein the webshell detection system comprises: 파일 전체 경로, 파일 크기, 파일 수정된 시간 또는 매칭된 시그니쳐 정보 중 적어도 하나를 포함하는 탐지된 웹쉘 정보를 사용자에게 제공하는 웹쉘 탐지 결과 리포팅모듈을 더 포함하는 것을 특징으로 하는 웹쉘 탐지 시스템.And a webshell detection result reporting module for providing a user with detected webshell information including at least one of a file full path, a file size, a file modification time, or a matched signature information. 제 1 항에 있어서, 상기 웹쉘 탐지 시스템은, The system of claim 1, wherein the webshell detection system comprises: 웹쉘에 접근한 공격자에 대한 정보를 제공하는 공격자 정보 제공모듈을 더 포함하는 것을 특징으로 하는 웹쉘 탐지 시스템.Webshell detection system further comprises an attacker information providing module for providing information on the attacker accessing the webshell. 제 14 항에 있어서, 상기 공격자 정보 제공모듈은, The method of claim 14, wherein the attacker information providing module, 웹서버에서 웹쉘 웹로그를 검색하는 웹쉘 웹로그 검색부, 상기 웹쉘 웹로그 검색결과로부터 공격자 IP를 추출하는 공격자 IP 추출부 및 상기 추출된 공격자 IP를 통해 웹로그를 재검색하는 웹로그 재검색부를 더 포함하는 것을 특징으로 하는 웹쉘 탐지 시스템.A web shell web log search unit for searching a web shell web log in a web server, an attacker IP extracting unit for extracting an attacker IP from the web shell web log search result, and a web log re-search unit for re-searching the web log through the extracted attacker IP Webshell detection system, characterized in that. 제 14 항에 있어서, 상기 웹쉘 탐지 시스템은, The system of claim 14, wherein the webshell detection system comprises: 상기 탐지된 웹쉘에 대한 소스코드를 사용자에게 제공하는 웹쉘 코드 뷰어모듈을 더 포함하고,Further comprising a web shell code viewer module for providing a user with source code for the detected web shell, 상기 웹쉘 코드 뷰어모듈은 웹쉘 시그니쳐라고 판단된 소스코드에 대해서는 부각하여 보여주는 것을 특징으로 하는 웹쉘 탐지 시스템.The web shell code viewer module is a web shell detection system characterized in that the source code determined to be a web shell signature is highlighted. 제 16 항에 있어서, 상기 웹쉘 탐지 시스템은, The method of claim 16, wherein the web shell detection system, 상기 탐지된 웹쉘을 삭제하는 웹쉘 삭제모듈을 더 포함하는 것을 특징으로 하는 웹쉘 탐지 시스템.And a web shell deletion module for deleting the detected web shell. 컴퓨터 단말기에 설치되어 웹쉘을 탐지하는 웹쉘 탐지 방법에 있어서,In the web shell detection method installed on the computer terminal to detect the web shell, 웹쉘과 정상 스크립트 파일을 구분하기 위해 웹쉘에 포함되는 적어도 하나의 웹쉘 시그니쳐를 저장하는 제 1 단계;Storing at least one web shell signature included in the web shell to distinguish the web shell from the normal script file; 상기 컴퓨터 단말기에 저장된 스크립트 파일을 피검사 스크립트 파일로써 추출하는 제 2 단계; 및Extracting a script file stored in the computer terminal as a script file to be inspected; And 상기 추출된 스크립트 파일에 상기 웹쉘 시그니쳐 저장단계에서 저장된 상기 웹쉘 시그니쳐가 포함되었는지를 판단하는 제 3 단계를 포함하는 것을 특징으로 하는 웹쉘 탐지 방법.And a third step of determining whether the extracted web file includes the web shell signature stored in the web shell signature storing step. 제 18 항에 있어서, 상기 제 1 단계는,The method of claim 18, wherein the first step, 저장된 상기 웹쉘 시그니쳐에 대한 리스트를 사용자에게 제공하고, 사용자는 상기 웹쉘 시그니쳐 리스트에 포함된 웹쉘 시그니쳐를 활성 시그니쳐 및 비활성 시그니쳐로 구분하여 설정하는 제 1 부단계;를 더 포함하고And providing a list of the stored web shell signatures to a user, wherein the user sets a web shell signature included in the web shell signature list into an active signature and an inactive signature. 상기 제 3 단계는, 상기 추출된 스크립트 파일에 상기 지정한 활성 웹쉘 시그니쳐가 포함되었는지를 판단하는 것을 특징으로 하는 웹셀 탐지 방법.In the third step, it is determined whether the extracted script file includes the designated active web shell signature. 제 18 항에 있어서, The method of claim 18, 상기 제 2 단계는, 홈페이지 홈 디렉터리 또는 윈도우 내 디렉터리 중 적어도 하나를 지정하고, 지정된 디렉터리 및 하위 디렉터리의 스크립트 파일들을 순차적으로 상기 웹쉘 시그니쳐와 비교하는 제 2 부단계;The second step may include: a second sub-step of designating at least one of a home page home directory or a directory in a window and sequentially comparing script files of a specified directory and a sub-directory with the web shell signature; asp, aspx, cer, cdx, asa, hta, htm, html 또는 shtml의 스크립트 확장자 파일 중 적어도 하나를 추출하여 웹쉘 시그니쳐 포함여부를 판단하고,Extract at least one of script extension files of asp, aspx, cer, cdx, asa, hta, htm, html or shtml to determine whether to include the webshell signature, 상기 스크립트 확장자 파일에 관한 리스트를 사용자에게 제공하고, 사용자는 상기 스크립트 확장자 파일 리스트에 포함된 스크립트 파일을 활성 스크립트 확장자 파일 및 비활성 스크립트 확장자 파일로 구분하여 설정하는 제 3 부단계;를 포함하고And a third substep of providing a list of the script extension file to the user and setting the script file included in the script extension file list into an active script extension file and an inactive script extension file. 상기 제 3 단계는, 상기 활성 스크립트 확장자 파일에 대해 상기 웹쉘 시그니쳐가 포함되었는지를 판단하는 것을 특징으로 하는 웹셀 탐지 방법.In the third step, it is determined whether the web shell signature is included in the active script extension file. 제 18 항에 있어서, 상기 웹쉘 탐지 방법은,The method of claim 18, wherein the webshell detection method, 상기 웹쉘 시그니쳐로 저장되지 않았던 웹쉘 시그니쳐 발생시 사용자가 상기 웹쉘 시그니쳐를 추가로 저장하도록 입력하거나 When a web shell signature occurs that is not stored as the web shell signature, the user may input to further save the web shell signature or 또는 네트워크 상에서 웹쉘을 검색하여 상기 웹쉘의 시그니쳐를 수집하고, 웹쉘 시그니쳐로 저장되지 않았던 웹쉘 시그니쳐 발생시 추가로 저장하도록 사용자 단말에 제공하는 제 4 단계를 더 포함하는 것을 특징으로 하는 웹쉘 탐지 방법.Or a fourth step of searching for a webshell on a network to collect signatures of the webshell and providing the user terminal with additional storage when a webshell signature is generated, which is not stored as a webshell signature. 제 18 항에 있어서, 상기 웹쉘 탐지 방법은, The method of claim 18, wherein the webshell detection method, 웹쉘에 접근한 공격자에 대한 정보를 사용자에게 제공하는 제 5 단계를 더 포함하고, A fifth step of providing the user with information about the attacker who has accessed the webshell; 상기 제 5 단계는, 웹서버에서 웹쉘 웹로그를 검색하는 제 1 부단계, 상기 웹쉘 웹로그 검색결과로부터 공격자 IP를 추출하는 제 2 부단계 및 상기 추출된 공격자 IP를 통해 웹로그를 재검색하는 제 3 부단계를 더 포함하는 것을 특징으로 하는 웹쉘 탐지 시스템.The fifth step may include a first sub step of searching a web shell web log in a web server, a second sub step of extracting an attacker IP from the web shell web log search result, and a second step of re-searching the web log through the extracted attacker IP. Webshell detection system further comprises three substeps. 제 18 항에 있어서, 상기 웹쉘 탐지 방법은,The method of claim 18, wherein the webshell detection method, 파일 전체 경로, 파일 크기, 파일 수정된 시간 또는 매칭된 시그니쳐 정보 중 적어도 하나를 포함하는 탐지된 웹쉘 정보를 사용자에게 보여주는 제 6 단계;A sixth step of showing the detected webshell information to the user including at least one of a file full path, file size, file modification time or matched signature information; 상기 탐지된 웹쉘에 대한 소스코드를 사용자에게 제공하고, 웹쉘 시그니쳐라고 판단된 소스코드에 대해서는 부각하여 사용자에게 보여주는 제 7 단계; 및A seventh step of providing the source code for the detected web shell to the user and highlighting the source code determined to be the web shell signature to the user; And 상기 탐지된 웹쉘을 삭제하는 제 8 단계를 더 포함하여 구성되는 것을 특징으로 하는 웹쉘 탐지 방법.And detecting the detected web shell further comprising an eighth step.
KR1020080014107A 2008-02-15 2008-02-15 System for Detecting Webshell and Method Thereof KR100968126B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080014107A KR100968126B1 (en) 2008-02-15 2008-02-15 System for Detecting Webshell and Method Thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080014107A KR100968126B1 (en) 2008-02-15 2008-02-15 System for Detecting Webshell and Method Thereof

Publications (2)

Publication Number Publication Date
KR20090088687A true KR20090088687A (en) 2009-08-20
KR100968126B1 KR100968126B1 (en) 2010-07-06

Family

ID=41207247

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080014107A KR100968126B1 (en) 2008-02-15 2008-02-15 System for Detecting Webshell and Method Thereof

Country Status (1)

Country Link
KR (1) KR100968126B1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5410626B1 (en) * 2013-01-28 2014-02-05 インフォセク カンパニー リミテッド Web shell detection / support system
KR101461051B1 (en) * 2013-06-11 2014-11-13 (주) 에스에스알 Method for detecting malignant code through web function analysis, and recording medium thereof
US8978069B2 (en) 2012-12-14 2015-03-10 N-Commerce. Inc. E-commerce system using content platform independent product broadcasting
KR20150144046A (en) * 2014-06-16 2015-12-24 주식회사 예티소프트 Apparatus for detecting a web shell and method for controlling function execution using the same
KR20160003584A (en) * 2015-12-11 2016-01-11 주식회사 윈스 Apparatus and method for detecting webshell in real time using kernel-based file event notification function
CN107770133A (en) * 2016-08-19 2018-03-06 北京升鑫网络科技有限公司 A kind of adaptability webshell detection methods and system
CN110210225A (en) * 2019-05-27 2019-09-06 四川大学 A kind of intelligentized Docker container malicious file detection method and device
CN111353154A (en) * 2018-12-24 2020-06-30 中移(杭州)信息技术有限公司 Application program shelling method and device, terminal equipment and medium
CN113162761A (en) * 2020-09-18 2021-07-23 广州锦行网络科技有限公司 Webshell monitoring system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101348590B1 (en) 2012-12-12 2014-01-09 (주)론스텍 Method for breaking webshell using network in-line filtering

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100614931B1 (en) * 2004-04-13 2006-08-25 한국전자통신연구원 Vulnerability analysis apparatus and method of web application
KR100639568B1 (en) * 2005-01-26 2006-10-30 학교법인 대전기독학원 한남대학교 An apparatus for a performance test of information security system using network processor and a method thereof
KR100732689B1 (en) * 2005-05-13 2007-06-27 (주)트리니티소프트 Web Security Method and apparatus therefor

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8978069B2 (en) 2012-12-14 2015-03-10 N-Commerce. Inc. E-commerce system using content platform independent product broadcasting
JP5410626B1 (en) * 2013-01-28 2014-02-05 インフォセク カンパニー リミテッド Web shell detection / support system
CN103973664A (en) * 2013-01-28 2014-08-06 信息安全有限公司 Webshell detection and response system
US8832834B2 (en) 2013-01-28 2014-09-09 Infosec Co., Ltd. Webshell detection and response system
KR101461051B1 (en) * 2013-06-11 2014-11-13 (주) 에스에스알 Method for detecting malignant code through web function analysis, and recording medium thereof
KR20150144046A (en) * 2014-06-16 2015-12-24 주식회사 예티소프트 Apparatus for detecting a web shell and method for controlling function execution using the same
KR20160003584A (en) * 2015-12-11 2016-01-11 주식회사 윈스 Apparatus and method for detecting webshell in real time using kernel-based file event notification function
CN107770133A (en) * 2016-08-19 2018-03-06 北京升鑫网络科技有限公司 A kind of adaptability webshell detection methods and system
CN107770133B (en) * 2016-08-19 2020-08-14 北京升鑫网络科技有限公司 Adaptive webshell detection method and system
CN111353154A (en) * 2018-12-24 2020-06-30 中移(杭州)信息技术有限公司 Application program shelling method and device, terminal equipment and medium
CN110210225A (en) * 2019-05-27 2019-09-06 四川大学 A kind of intelligentized Docker container malicious file detection method and device
CN113162761A (en) * 2020-09-18 2021-07-23 广州锦行网络科技有限公司 Webshell monitoring system
CN113162761B (en) * 2020-09-18 2022-02-18 广州锦行网络科技有限公司 Webshell monitoring system

Also Published As

Publication number Publication date
KR100968126B1 (en) 2010-07-06

Similar Documents

Publication Publication Date Title
KR100968126B1 (en) System for Detecting Webshell and Method Thereof
US20220043912A1 (en) Systems, Methods and Devices for Memory Analysis and Visualization
CN103279710B (en) Method and system for detecting malicious codes of Internet information system
US9015844B1 (en) Techniques for web application vulnerability scanning
US20120311709A1 (en) Automatic management system for group and mutant information of malicious codes
EP3783846B1 (en) Determination method, determination device and determination program
JP5752642B2 (en) Monitoring device and monitoring method
CN104252447A (en) File behavior analysis method and device
CN114003794A (en) Asset collection method, device, electronic equipment and medium
CN103716394A (en) Downloaded file management method and device
JP5656266B2 (en) Blacklist extraction apparatus, extraction method and extraction program
Fu et al. Data correlation‐based analysis methods for automatic memory forensic
KR101481910B1 (en) Apparatus and method for monitoring suspicious information in web page
WO2019123757A1 (en) Classification device, classification method, and classification program
US9239907B1 (en) Techniques for identifying misleading applications
CN112733157B (en) File uploading method, system and medium based on non-executable directory
Park et al. An enhanced security framework for reliable Android operating system
Wee Analysis of hidden data in NTFS file system
Bouyer et al. Digital forensics in private Seafile cloud storage from both client and server side
Kävrestad et al. Collecting Data
Bo et al. Tom: A threat operating model for early warning of cyber security threats
Esposito Analysis of forensic super timelines
Chen et al. Design of web vulnerability scanner based on go language
Lyu et al. NEEX: An Automated and Efficient Tool for Detecting Browser Extension Fingerprint
Dian et al. Efficient Sensitive Data Gathering with Forensic Analysis of Android Operating System

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130614

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150617

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee