KR20090088687A - System for detecting webshell and method thereof - Google Patents
System for detecting webshell and method thereof Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access 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
Description
본 발명은 웹쉘 탐지 시스템 및 웹쉘 탐지 방법에 관한 것으로, 특히 웹쉘 시그니쳐를 설정하고 이를 포함한 웹쉘을 자동으로 탐지하는 것이 가능한 웹셀 탐지 시스템 및 웹쉘 탐지 방법에 관한 것이다.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
웹쉘이 수행하는 가장 기본적인 기능은 시스템 명령어의 실행이다. 시스템 명령어 실행은 웹 서버 내에 존재하는 쉘의 기능을 사용하는 것으로, 윈도우 시스템의 경우 시스템 폴더 내의 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
이와 같이 사용자에게 막대한 피해를 입히는 웹쉘에 대한 대응책으로 게시판의 업로드 기능을 완전히 제거하거나 스크립트 확장자 파일을 제한하는 방법이 있지만, 이는 파일 첨부가 불가피한 게시판이나 자료실에서는 효과적이지 못하는 문제가 있다. 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
웹쉘 시그니쳐 저장모듈(100)은 웹쉘과 정상 스크립트 파일을 구분하기 위해 웹쉘에 포함되는 웹쉘 시그니쳐를 저장하는 기능을 수행한다. 웹쉘 시그니쳐 저장모듈(100)은 수집된 수많은 웹쉘 분석을 통해 웹쉘이라고 정의할 수 있는 고유의 시그니쳐를 웹쉘 시그니쳐로 정의하고 저장한다. The web shell
피검사 파일 추출모듈(200)은 컴퓨터 단말기에 저장된 스크립트 파일을 추출하는 기능을 수행한다. 보다 바람직하게는 피검사 파일 추출모듈(200)은 웹쉘 시그니쳐가 포함되었는지를 판단하기 위해 피검사 디렉터리를 지정하거나, 스크립트 확장자 파일을 지정한다. The inspected
웹쉘 시그니쳐 비교모듈(300)은 피검사 스크립트 파일에 웹쉘 시그니쳐가 포 함되었는지를 판단하는 기능을 수행한다. 웹쉘 시그니쳐 비교모듈(300)은 사용자가 지정한 모든 하위 디렉터리의 스크립트 파일을 대상으로 웹쉘 시그니쳐 저장모듈(100)에 저장된 웹쉘 시그니쳐와 시그니쳐 매칭을 통해 웹쉘을 탐지한다. The web shell
웹쉘 시그니쳐 업데이트모듈(400)은 웹쉘 시그니쳐 저장모듈에 저장되지 않았던 웹쉘 시그니쳐 발생시 사용자가 입력부(410)를 통하여 웹쉘 시그니쳐를 추가로 저장하여 이를 웹쉘 시그니쳐 저장모듈(100)에 저장하거나, 웹쉘 탐지 서버 (420)가 네트워크 상에서 웹쉘을 검색하여 웹쉘 시그니쳐 저장모듈(100)에 저장되지 않은 웹쉘 시그니쳐를 발견한 경우 사용자 단말기에 제공하여 새로운 웹쉘 시그니쳐를 웹쉘 시그니쳐 저장모듈(100)에 저장하도록 하는 기능을 수행한다. When the web shell
공격자 정보 제공모듈(500)은 웹로그 분석을 통해 웹쉘에 접근한 공격자에 대한 정보를 사용자에게 제공하는 기능을 수행한다. The attacker
웹쉘 웹로그 검색부(510)는 탐지된 웹쉘 정보를 통해 웹서버에서 웹쉘 웹로그를 검색하는 기능을 수행한다. 웹로그(weblog)는 웹사이트 방문자가 웹사이트를 이용할 때 남는 이용 형태에 대한 기록을 말한다. 사용자는 웹쉘 웹로그 검색부(510)를 이용하여 웹쉘이 업로드되거나, 웹쉘이 시스템 명령어를 통해 실행되었는지를 검색한다.The web shell web
공격자 IP 추출부(520)는 웹쉘 웹로그 검색결과로부터 공격자 IP를 추출하는 기능을 수행한다. The attacker
웹쉘 웹로그 재검색부(530)는 공격자 IP 추출부(520)로부터 추출된 공격자 IP를 통해 웹로그를 재검색하는 기능을 수행한다. 웹쉘 웹로그 재검색부(530)는 공 격자 IP를 통해 웹로그를 재검색함으로써, 본 발명에 의해 탐지된 웹쉘이 아닌 공격자가 업로드한 또 다른 웹쉘을 탐지할 수 있다. The web shell web log
웹쉘 탐지결과 리포팅모듈(600)은 탐지된 웹쉘에 대한 정보를 사용자에게 제공하는 기능을 수행한다. 웹쉘 탐지결과 리포팅모듈(600)은 예컨대 파일 전체 경로(Path), 파일 크기(Size), 파일 수정된 시간(Time) 또는 매칭된 시그니쳐 정보(MatchingSignitureInfo) 등을 포함하여 사용자에게 제공할 수 있다. The web shell detection
웹쉘 코드 뷰어모듈(610)은 탐지된 웹쉘에 대한 소스코드를 사용자에게 제공하는 기능을 수행한다. 웹쉘 코드 뷰어모듈(610)은 웹쉘 시그니쳐라고 판단된 소스코드에 대해서는 예컨대 굵은 글씨 등으로 부각하여 보여줌으로써 웹 서버 운영상 필요한 정상 스크립트가 사용자에 의해 잘못하여 삭제되는 것을 방지하는 효과를 제공한다. The web shell
웹쉘 삭제모듈(620)은 탐지된 웹쉘을 사용자의 입력에 의해 삭제하는 기능을 수행한다. The web
도 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
도 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
도 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
도 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
도 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)
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)
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)
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)
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 |
-
2008
- 2008-02-15 KR KR1020080014107A patent/KR100968126B1/en not_active IP Right Cessation
Cited By (13)
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 |