KR100968126B1 - 웹쉘 탐지 시스템 및 웹쉘 탐지 방법 - Google Patents
웹쉘 탐지 시스템 및 웹쉘 탐지 방법 Download PDFInfo
- Publication number
- KR100968126B1 KR100968126B1 KR1020080014107A KR20080014107A KR100968126B1 KR 100968126 B1 KR100968126 B1 KR 100968126B1 KR 1020080014107 A KR1020080014107 A KR 1020080014107A KR 20080014107 A KR20080014107 A KR 20080014107A KR 100968126 B1 KR100968126 B1 KR 100968126B1
- Authority
- KR
- South Korea
- Prior art keywords
- web shell
- signature
- web
- shell
- file
- 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
본 발명은 웹쉘 탐지 시스템 및 웹쉘 탐지 방법에 관한 것으로, 특히 웹쉘 시그니쳐를 설정하고 이를 포함한 웹쉘을 자동으로 탐지하는 것이 가능한 웹셀 탐지 시스템 및 웹쉘 탐지 방법에 관한 것이다.
일반적으로 웹 서비스에는 게시판이나 자료실과 같이 파일을 첨부하는 기능을 포함된다. 이때 txt, jpg, doc와 같은 데이터 파일 종류 이외에 웹쉘(Webshell)을 업로드하여 웹 서버(WebServer)를 해킹하는 사고가 빈번히 발생하고 있다.
웹쉘(Webshell)이란 공격자(Hacker)가 원격에서 대상 웹 서버(WebServer)에 명령을 수행할 수 있도록 작성한 웹 스크립트 파일이다. 공격자는 웹쉘을 대상 서버에 업로드한 후 웹을 통해 명령어를 수행하므로 네트워크 방화벽의 영향을 받지 않고 서버를 제어할 수 있다.
웹쉘 프로그램은 인터넷을 통해 쉽게 구할 수 있고, 홈페이지의 업로드 취약점 확인 방법도 간단하기 때문에 해커들에 의해 쉽게 사용된다. 최근 국내에서 발 생하고 있는 웹 서버 피해 사례의 대부분은 윈도우 서버가 차지하고 있고, 윈도우 웹 서버 피해시스템들 중 90% 이상에 웹쉘이 탐지되고 있다.
도 1 및 도 2는 웹쉘 파일을 업로드 하는 일례를 도시한다. 도 1과 같이 파일첨부가 가능한 게시판(10)에 글쓰기를 이용하면 공격자는 쉽게 웹쉘 파일을 업로드할 수 있고(12), 사용자가 게시판을 통해 업로드 된 파일을 열면 쉘 명령어가 실행되어 도 2와 같이 디렉터리에 대한 결과(20)가 보여지는 것을 알 수 있다.
웹쉘이 수행하는 가장 기본적인 기능은 시스템 명령어의 실행이다. 시스템 명령어 실행은 웹 서버 내에 존재하는 쉘의 기능을 사용하는 것으로, 윈도우 시스템의 경우 시스템 폴더 내의 cmd.exe(또는 command.exe)를 이용한다. 만약 cmd.exe를 사용할 수 없다고 하더라도, 웹쉘을 통하여 자신의 cmd.exe를 업로드 한 후 시스템을 사용할 수 있다.
공격자가 시스템 명령어를 실행시키면, 웹서버 자체의 정보 수집뿐만이 아니라 네트워크 정보 수집 등을 통하여 웹 서버와 같이 네트워크를 이용하고 있는 모든 시스템에 대한 정보 수집이 가능하다.
또한, 공격자는 웹서버의 기본정보를 열람할 수 있고, 윈도우 내 특정 오브젝트에 대한 사용 여부를 점검할 수도 있는데, 이 기능을 이용할 경우 취약한 오브젝트를 이용하여 웹서버를 통한 시스템 공격이 가능하다.
도 3은 최근 발견된 웹쉘의 초기 화면을 도시한다. 이처럼 최근 발견되는 웹쉘은 소스코드를 암호화(30)하고, 패스워드를 입력(40)하도록 하여 해당 웹쉘을 업로드 한 공격자만이 접근할 수 있도록 한다. 패스워드를 입력하면 디렉터리 전체가 열람 가능한 화면으로 수행되어 이를 통하여 공격자는 웹서버 내의 모든 파일에 접근이 가능하다. 열람화면에는 파일 또는 폴더마다 다운로드, 삭제, 변경 등이 가능하도록 지원되고 있어 이를 이용할 경우, 웹 서버 내의 모든 홈페이지 소스코드는 물론, DB 연결정보 및 각종 설정파일의 유출이 가능하다. 만일 웹서버 내에 중요자료를 저장하였을 경우에는 문제가 더욱 심각하다.
이와 같이 사용자에게 막대한 피해를 입히는 웹쉘에 대한 대응책으로 게시판의 업로드 기능을 완전히 제거하거나 스크립트 확장자 파일을 제한하는 방법이 있지만, 이는 파일 첨부가 불가피한 게시판이나 자료실에서는 효과적이지 못하는 문제가 있다.
웹쉘을 사후적으로 삭제할 수 있지만, 웹쉘을 탐지하기 위해서는 사용자가 하나씩 수동으로 웹쉘 문자열을 검사하고 파일 확장자를 수시로 변경하며 탐지하여야 하므로 많은 비용, 시간, 노력이 필요하다. 뿐만 아니라, 최근 발견되는 웹쉘과 같이 패스워드 기능이 설정되어 해당 웹쉘을 업로드한 공격자만이 접근할 수 있도록 되어 있다면 웹쉘 탐지에도 제한을 받아 사용자에게 웹 서버 관리에 따른 부담을 가중시키는 문제가 있다.
한편, 일반적으로 바이러스를 유발하는 파일 등에는 해킹(hacking)을 위한 악성 코드 등이 포함되어 있고, 사용자가 이러한 악성코드를 포함한 파일 등을 컴퓨터 단말기 등에 다운로드 하는 경우, 자동적으로 바이러스가 작동되도록 한다.
이에 반해, 최근 급격하게 문제되고 있는 웹쉘에 있어서는 웹쉘 자체에는 악성 코드가 포함되지 않고, 자체적으로 동작되지 않으며, 공격자가 원격지에서 통신 망을 통해 웹쉘을 이용하여 웹서버를 제어하므로 기존의 바이러스 유무만을 판단하는 바이러스 탐지 시스템과는 구별되는 웹쉘 전용 탐지 시스템의 개발이 필요한 실정이다.
본 발명은 상기의 문제를 해결하기 위한 것으로, 수집된 수많은 웹쉘 분석을 통해 다양한 형태의 웹쉘과 정상 스크립트를 구분할 수 있도록 고유의 웹쉘 시그니쳐를 정의하고 저장하여 피검사 스크립트 파일에 웹쉘 시그니쳐가 포함되었는지를 자동적으로 판단함으로써, 사용자가 수동적, 개별적으로 웹쉘 문자열을 검사하거나 파일 확장자를 수시로 변경하면서 웹쉘을 탐지할 필요가 없어 웹쉘 탐지에 소요되는 시간을 현저하게 경감시키고, 웹 서버를 효율적으로 관리할 수 있는 웹쉘 탐지 시스템 및 탐지 방법을 제공하는 것을 목적으로 한다.
본 발명의 실시예에 따르면, 웹쉘 시그니쳐를 정규표현식으로 정의함으로써, 공격자가 웹쉘 탐지를 우회하기 위해 특정 오브젝트, 함수, 문자열을 분할하는 경우에도 웹쉘을 탐지할 수 있고, 웹쉘 시그니쳐를 데이터 베이스(DB) 접속 웹쉘 시그니쳐 또는 파일 업로드 전용 웹쉘 시그니쳐로 정의함으로써, 정상 홈페이지 스크립트와 구분하기 어려운 DB, 파일 업로드 전용 웹쉘을 탐지할 수 있는 웹쉘 탐지 시스템 및 탐지 방법을 제공하는 것을 다른 목적으로 한다.
본 발명의 다른 실시예에 따르면, 웹쉘 시그니쳐 저장모듈에 저장된 웹쉘 시그니쳐의 리스트를 사용자에게 제공하고 사용자는 활성 및 비활성 웹쉘 시그니쳐를 설정할 수 있도록 함으로써, 사용자가 특정한 웹쉘 시그니쳐만을 선택적으로 탐지하여 웹쉘을 탐지하는데 소요되는 시간을 현저하게 경감시키며, 웹쉘 시그니쳐의 오탐지를 방지할 수 있어 웹쉘에 효율적으로 대응할 수 있는 웹쉘 탐지 시스템 및 탐지 방법을 제공하는 것을 다른 목적으로 한다.
본 발명의 다른 실시예에 따르면, 웹쉘 시그니쳐 저장모듈에 웹쉘 시그니쳐로 저장되지 않았던 웹쉘 시그니쳐가 발생한 경우 사용자의 입력에 의해 웹쉘 시그니쳐를 추가로 저장하거나, 웹쉘 탐지 서버가 웹쉘 시그니쳐로 저장되지 않았던 웹쉘 시그니쳐를 네트워크 상에서 발견한 경우 이를 사용자 단말기에 제공하여 웹쉘 시그니쳐를 업데이트 할 수 있도록 함으로써, 추가로 발생한 웹쉘에 대해서도 사용자가 프로그램을 재설치한다거나 추가로 비용을 지불하지 않고 웹쉘에 효율적으로 대응할 수 있는 웹쉘 탐지 시스템 및 탐지 방법을 제공하는 것을 다른 목적으로 한다.
본 발명의 다른 실시예에 따르면, 사용자가 웹쉘 시그니쳐 포함여부를 탐지할 디렉터리를 선택할 수 있도록 함으로써, 모든 디렉터리에 대해 웹쉘 시그니쳐를 탐지하는데 소요되는 시간을 현저하게 경감시키고, 웹쉘에 효율적으로 대응할 수 있는 웹쉘 탐지 시스템 및 탐지 방법을 제공하는 것을 다른 목적으로 한다.
본 발명의 다른 실시예에 따르면, 웹쉘 시그니쳐 포함여부를 탐지할 피검사 파일을 asp, aspx 확장자뿐만 아니라 cer, cdx, asa, hta 확장자 중에서도 선택할 수 있도록 함으로써, 공격자가 웹 서버에 확장자명을 변경하여 업로드하는 경우에도 ASP 환경에서 실행될 수 있는 모든 스크립트를 검사하여 웹쉘 탐지를 우회하는 것을 방지할 수 있는 웹쉘 탐지 시스템 및 탐지 방법을 제공하는 것을 다른 목적으로 한다.
본 발명의 다른 실시예에 따르면, 탐지된 웹쉘에 대해 파일 전체 경로, 파일 크기, 파일 수정된 시간 또는 매칭된 시그니쳐 정보를 포함한 웹쉘 정보를 사용자에게 제공하고, 탐지된 웹쉘에 대한 소스코드를 부각해서 제공하거나, 탐지된 웹쉘을 삭제할 수 있도록 함으로써, 웹 서버 운영상 필요한 정상 스크립트가 잘못하여 삭제되는 것을 방지하고 웹쉘에 효율적으로 대응할 수 있는 웹쉘 탐지 시스템 및 탐지 방법을 제공하는 것을 다른 목적으로 한다.
본 발명의 다른 실시예에 따르면, 웹로그 분석을 통해 웹쉘에 접근한 공격자에 대한 정보를 사용자에게 제공함으로써, 사용자는 공격자의 공격방법, 공격형태 등을 분석하여 웹쉘에 효율적으로 대응할 수 있는 웹쉘 탐지 시스템 및 탐지 방법을 제공하는 것을 다른 목적으로 한다.
마지막으로, 본 발명의 다른 실시예에 따르면, 그래픽 사용자 인터페이스 (Graphic User Interface)를 제공하여 웹쉘 포함 여부를 탐지할 디렉터리, 웹쉘 시그니쳐 리스트, 스크립트 확장자 파일 리스트를 보여주고 마우스를 사용해 클릭으로 간단하게 활성 및 비활성으로 지정하는 것이 가능하게 함으로써, 스크립트에 관한 전문 지식이 없는 관리자들도 쉽게 사용할 수 있도록 사용자에게 편의성을 제공하는 웹쉘 탐지 시스템 및 탐지 방법을 제공하는 것을 다른 목적으로 한다.
상기의 목적을 달성하기 위해 본 발명의 실시예에 따른 웹쉘 탐지 시스템은, 컴퓨터 단말기에 설치되어 웹쉘을 탐지하는 웹쉘 탐지 시스템에 있어서, 웹쉘과 정상 스크립트 파일을 구분하기 위해 웹쉘에 포함되는 적어도 하나의 웹쉘 시그니쳐를 저장하는 웹쉘 시그니쳐 저장모듈; 상기 컴퓨터 단말기에 저장된 스크립트 파일을 피검사 스크립트 파일로써 추출하는 피검사 파일 추출모듈; 및 상기 피검사 스크립트 파일에 상기 웹쉘 시그니쳐 저장모듈에 저장된 상기 웹쉘 시그니쳐가 포함되었는지를 판단하는 웹쉘 시그니쳐 비교모듈;을 포함하여 구성되고,
상기 웹쉘 탐지 시스템은, 네트워크 상에서 웹쉘을 검색하여 상기 웹쉘의 시그니쳐를 수집하는 웹쉘 탐지 서버;를 더 포함하고, 상기 웹쉘 탐지 서버는, 상기 웹쉘 시그니쳐 저장모듈에 저장되지 않은 웹쉘 시그니쳐가 발생된 경우 상기 컴퓨터 단말기에 제공하는 웹쉘 탐지 서버에 의한 웹쉘 시그니쳐 업데이트모듈;을 더 포함하여 구성되는 것을 특징으로 한다.
상기 웹쉘 탐지 시스템은, 네트워크 상에서 웹쉘을 검색하여 상기 웹쉘의 시그니쳐를 수집하는 웹쉘 탐지 서버;를 더 포함하고, 상기 웹쉘 탐지 서버는, 상기 웹쉘 시그니쳐 저장모듈에 저장되지 않은 웹쉘 시그니쳐가 발생된 경우 상기 컴퓨터 단말기에 제공하는 웹쉘 탐지 서버에 의한 웹쉘 시그니쳐 업데이트모듈;을 더 포함하여 구성되는 것을 특징으로 한다.
마지막으로, 본 발명의 실시예에 따른 웹쉘 탐지 방법은, 컴퓨터 단말기에 설치되어 웹쉘을 탐지하는 웹쉘 탐지 방법에 있어서, 웹쉘과 정상 스크립트 파일을 구분하기 위해 웹쉘에 포함되는 적어도 하나의 웹쉘 시그니쳐를 저장하는 제 1 단계; 상기 컴퓨터 단말기에 저장된 스크립트 파일을 피검사 스크립트 파일로써 추출하는 제 2 단계; 상기 추출된 스크립트 파일에 상기 웹쉘 시그니쳐 저장단계에서 저장된 상기 웹쉘 시그니쳐가 포함되었는지를 판단하는 제 3 단계; 및 상기 웹쉘 시그니쳐로 저장되지 않았던 웹쉘 시그니쳐 발생시 사용자가 상기 웹쉘 시그니쳐를 추가로 저장하도록 입력하거나 또는 네트워크 상에서 웹쉘을 검색하여 상기 웹쉘의 시그니쳐를 수집하고, 웹쉘 시그니쳐로 저장되지 않았던 웹쉘 시그니쳐 발생시 추가로 저장하도록 상기 컴퓨터 단말기로 제공하는 제 4 단계;를 더 포함하는 것을 특징으로 한다.
본 발명에 따른 웹쉘 탐지 시스템 및 탐지 방법은, 수집된 수많은 웹쉘 분석을 통해 다양한 형태의 웹쉘과 정상 스크립트를 구분할 수 있도록 고유의 웹쉘 시그니쳐를 정의하고 저장하여 피검사 스크립트 파일에 웹쉘 시그니쳐가 포함되었는지를 자동적으로 판단함으로써, 사용자가 수동적, 개별적으로 웹쉘 문자열을 검사하거나 파일 확장자를 수시로 변경하면서 웹쉘을 탐지할 필요가 없어 웹쉘 탐지에 소요되는 시간을 현저하게 경감시키고, 웹 서버를 효율적으로 관리할 수 있는 효과 를 제공한다.
본 발명의 다른 실시예에 따른 웹쉘 탐지 시스템 및 탐지 방법은, 웹쉘 시그니쳐를 정규표현식으로 정의함으로써, 공격자가 웹쉘 탐지를 우회하기 위해 특정 오브젝트, 함수 또는 문자열을 분할하는 경우에도 웹쉘을 탐지할 수 있고, 웹쉘 시그니쳐를 데이터 베이스(DB) 접속 또는 파일 업로드 전용 웹쉘 시그니쳐로 정의함으로써, 정상 홈페이지 스크립트와 구분하기 어려운 DB, 파일 업로드 전용 웹쉘을 탐지할 수 있는 효과를 제공한다.
본 발명의 다른 실시예에 따른 웹쉘 탐지 시스템 및 탐지 방법은, 웹쉘 시그니쳐 저장모듈에 저장된 웹쉘 시그니쳐의 리스트를 사용자에게 제공하고 사용자는 활성 및 비활성 웹쉘 시그니쳐를 설정할 수 있도록 함으로써, 사용자가 특정한 웹쉘 시그니쳐만을 선택적으로 탐지하여 웹쉘을 탐지하는데 소요되는 시간을 현저하게 경감시키며, 웹쉘 시그니쳐의 오탐지를 방지할 수 있어 웹쉘에 효율적으로 대응할 수 있는 효과를 제공한다.
본 발명의 다른 실시예에 따른 웹쉘 탐지 시스템 및 탐지 방법은, 웹쉘 시그니쳐 저장모듈에 웹쉘 시그니쳐로 저장되지 않았던 웹쉘 시그니쳐가 발생한 경우 사용자의 입력에 의해 웹쉘 시그니쳐를 추가로 저장하거나, 웹쉘 탐지 서버가 웹쉘 시그니쳐로 저장되지 않았던 웹쉘 시그니쳐를 네트워크 상에서 발견한 경우 이를 사용자 단말기에 제공하여 웹쉘 시그니쳐를 업데이트 할 수 있도록 함으로써, 추가로 발생한 웹쉘에 대해서도 사용자가 프로그램을 재설치한다거나 추가로 비용을 지불하지 않고 웹쉘에 효율적으로 대응할 수 있는 효과를 제공한다.
본 발명의 다른 실시예에 따른 웹쉘 탐지 시스템 및 탐지 방법은, 사용자가 웹쉘 시그니쳐 포함여부를 탐지할 디렉터리를 선택할 수 있도록 함으로써, 모든 디렉터리에 대해 웹쉘 시그니쳐를 탐지하는데 소요되는 시간을 현저하게 경감시키고, 웹쉘에 효율적으로 대응할 수 있는 효과를 제공한다.
본 발명의 다른 실시예에 따른 웹쉘 탐지 시스템 및 탐지 방법은, 웹쉘 시그니쳐 포함여부를 탐지할 피검사 파일을 asp, aspx 확장자뿐만 아니라 cer, cdx, asa, hta 확장자 중에서도 선택할 수 있도록 함으로써, 공격자가 웹 서버에 확장자명을 변경하여 업로드하는 경우에도 ASP 환경에서 실행될 수 있는 모든 스크립트를 검사하여 웹쉘 탐지를 우회하는 것을 방지하는 효과를 제공한다.
본 발명의 다른 실시예에 따른 웹쉘 탐지 시스템 및 탐지 방법은, 탐지된 웹쉘에 대해 파일 전체 경로, 파일 크기, 파일 수정된 시간 또는 매칭된 시그니쳐 정보를 포함한 웹쉘 정보를 사용자에게 제공하고, 탐지된 웹쉘에 대한 소스코드를 부각해서 제공하거나, 탐지된 웹쉘을 삭제할 수 있도록 함으로써, 웹 서버 운영상 필요한 정상 스크립트가 잘못하여 삭제되는 것을 방지하고 웹쉘에 효율적으로 대응할 수 있는 효과를 제공한다.
본 발명의 다른 실시예에 따른 웹쉘 탐지 시스템 및 탐지 방법은, 웹로그 분석을 통해 웹쉘에 접근한 공격자에 대한 정보를 사용자에게 제공함으로써, 사용자는 공격자의 공격방법, 공격형태 등을 분석하여 웹쉘에 효율적으로 대응할 수 있는 효과를 제공한다.
마지막으로, 본 발명의 다른 실시예에 따른 웹쉘 탐지 시스템 및 탐지 방법 은, 그래픽 사용자 인터페이스 (Graphic User Interface)를 제공하여 웹쉘 포함 여부를 탐지할 디렉터리, 웹쉘 시그니쳐 리스트, 스크립트 확장자 파일 리스트를 보여주고 마우스를 사용해 클릭으로 간단하게 활성 및 비활성으로 지정하는 것이 가능하게 함으로써, 스크립트에 관한 전문 지식이 없는 관리자들도 쉽게 사용할 수 있도록 사용자에게 편의성을 제공하는 효과를 제공한다.
첨부한 도면을 참조하여 본 발명의 실시예를 상세히 설명하면 다음과 같다.
도 4에 도시된 바와 같이, 본 발명의 실시예에 따른 웹쉘 탐지 시스템은, 컴퓨터 단말기에 설치되어, 웹쉘 시그니쳐 저장모듈(100), 피검사 파일 추출모듈 (200), 및 웹쉘 시그니쳐 비교모듈(300)을 포함하여 구성된다.
웹쉘 시그니쳐 저장모듈(100)은 웹쉘과 정상 스크립트 파일을 구분하기 위해 웹쉘에 포함되는 웹쉘 시그니쳐를 저장하는 기능을 수행한다. 웹쉘 시그니쳐 저장모듈(100)은 수집된 수많은 웹쉘 분석을 통해 웹쉘이라고 정의할 수 있는 고유의 시그니쳐를 웹쉘 시그니쳐로 정의하고 저장한다.
피검사 파일 추출모듈(200)은 컴퓨터 단말기에 저장된 스크립트 파일을 추출하는 기능을 수행한다. 보다 바람직하게는 피검사 파일 추출모듈(200)은 웹쉘 시그니쳐가 포함되었는지를 판단하기 위해 피검사 디렉터리를 지정하거나, 스크립트 확장자 파일을 지정한다.
웹쉘 시그니쳐 비교모듈(300)은 피검사 스크립트 파일에 웹쉘 시그니쳐가 포 함되었는지를 판단하는 기능을 수행한다. 웹쉘 시그니쳐 비교모듈(300)은 사용자가 지정한 모든 하위 디렉터리의 스크립트 파일을 대상으로 웹쉘 시그니쳐 저장모듈(100)에 저장된 웹쉘 시그니쳐와 시그니쳐 매칭을 통해 웹쉘을 탐지한다.
웹쉘 시그니쳐 업데이트모듈(400)은 웹쉘 시그니쳐 저장모듈에 저장되지 않았던 웹쉘 시그니쳐 발생시 사용자가 입력부(410)를 통하여 웹쉘 시그니쳐를 추가로 저장하여 이를 웹쉘 시그니쳐 저장모듈(100)에 저장하거나, 웹쉘 탐지 서버 (420)가 네트워크 상에서 웹쉘을 검색하여 웹쉘 시그니쳐 저장모듈(100)에 저장되지 않은 웹쉘 시그니쳐를 발견한 경우 사용자 단말기에 제공하여 새로운 웹쉘 시그니쳐를 웹쉘 시그니쳐 저장모듈(100)에 저장하도록 하는 기능을 수행한다.
공격자 정보 제공모듈(500)은 웹로그 분석을 통해 웹쉘에 접근한 공격자에 대한 정보를 사용자에게 제공하는 기능을 수행한다.
웹쉘 웹로그 검색부(510)는 탐지된 웹쉘 정보를 통해 웹서버에서 웹쉘 웹로그를 검색하는 기능을 수행한다. 웹로그(weblog)는 웹사이트 방문자가 웹사이트를 이용할 때 남는 이용 형태에 대한 기록을 말한다. 사용자는 웹쉘 웹로그 검색부(510)를 이용하여 웹쉘이 업로드되거나, 웹쉘이 시스템 명령어를 통해 실행되었는지를 검색한다.
공격자 IP 추출부(520)는 웹쉘 웹로그 검색결과로부터 공격자 IP를 추출하는 기능을 수행한다.
웹쉘 웹로그 재검색부(530)는 공격자 IP 추출부(520)로부터 추출된 공격자 IP를 통해 웹로그를 재검색하는 기능을 수행한다. 웹쉘 웹로그 재검색부(530)는 공 격자 IP를 통해 웹로그를 재검색함으로써, 본 발명에 의해 탐지된 웹쉘이 아닌 공격자가 업로드한 또 다른 웹쉘을 탐지할 수 있다.
웹쉘 탐지결과 리포팅모듈(600)은 탐지된 웹쉘에 대한 정보를 사용자에게 제공하는 기능을 수행한다. 웹쉘 탐지결과 리포팅모듈(600)은 예컨대 파일 전체 경로(Path), 파일 크기(Size), 파일 수정된 시간(Time) 또는 매칭된 시그니쳐 정보(MatchingSignitureInfo) 등을 포함하여 사용자에게 제공할 수 있다.
웹쉘 코드 뷰어모듈(610)은 탐지된 웹쉘에 대한 소스코드를 사용자에게 제공하는 기능을 수행한다. 웹쉘 코드 뷰어모듈(610)은 웹쉘 시그니쳐라고 판단된 소스코드에 대해서는 예컨대 굵은 글씨 등으로 부각하여 보여줌으로써 웹 서버 운영상 필요한 정상 스크립트가 사용자에 의해 잘못하여 삭제되는 것을 방지하는 효과를 제공한다.
웹쉘 삭제모듈(620)은 탐지된 웹쉘을 사용자의 입력에 의해 삭제하는 기능을 수행한다.
도 5는 본 발명의 실시예에 따른 오브젝트 시그니쳐(Signiture_Object)를 도시한다. 도시된 바와 같이 오브젝트 시그니쳐(Signiture_Object)에는, Wscript.Shell, Shell.Application 또는 vbscript.encode가 있다. Wscript.Shell, Shell.Application는 시스템 명령어를 사용하기 위해 사용하는 오브젝트 명이고 vbscript.encode는 웹쉘 인코딩 기법에서 사용하는 오브젝트 명이다.
도 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는 원격에서 공격자가 보내는 코드는 실행하는 함수명들이다.
도 7은 본 발명의 실시예에 따른 문자열 시그니쳐(Signiture_Word)를 도시한다. 도시된 바와 같이 문자열 시그니쳐(Signiture_Word)에는 cmd.exe, lcxMarcos, Marcos, hack520, lake2 또는 gb2312가 있다. cmd.exe는 쉘 명령어를 사용하기 위해 사용하는 시스템 명령어이고, lcxMarcos, Marcos, hack520, lake2는 웹쉘 제작자 닉네임으로 많은 웹쉘에 기록되어 있다. 최근에는 중국으로부터 발생하는 웹쉘에 의한 피해 사례가 늙어나고 있다. 한편 중국에서 생성된 웹쉘 코드에 중국어간체 gb2312가 들어가 있는 경우가 많은데, gb2312는 중국어를 제공하지 않는 홈페이지에서 웹쉘을 찾을 수 있는 키워드가 될 수 있다.
도 8은 본 발명의 실시예에 따른 정규표현식 시그니쳐 (Signiture_Regular_Expression)를 도시한다. 도시된 바와 같이 정규표현식 시그니쳐(Signiture_Regular_Expression)에는 [" ]+cmd.exe, wscr.*\&.*ipt\.shell, CreateObject.*(.*wsc.*ell), language.*=.*(vbscript|jscript|javascript)\.encode, execute[ (]+session 또는 execute[ (]+request가 있다. 웹쉘 시그니쳐를 정규표현식으로 정의함으로써, 공격자가 웹쉘 탐지를 우회하기 위해 특정 오브젝트, 함수, 문자열을 분할하는 경우에도 웹쉘을 탐지할 수 있다.
도 9는 본 발명의 실시예에 따른 데이터 베이스 접속(ConnectDataBase) 웹쉘 시그니쳐 또는 파일 업로드(UploadFile) 전용 웹쉘 시그니쳐를 도시한다. 도시된 바와 같이 데이터 베이스 접속(ConnectDataBase) 또는 파일 업로드(UploadFile) 전용 시그니쳐에는 CreateObject.*(.*ADO.*\..*ection, .SaveToFile, CreateObject.*(.*Script.*Object), .(Open|Create)TextFile 또는 Scripting.FileSystemObject가 있다. 웹쉘 시그니쳐를 데이터 베이스(DB) 접속 웹쉘 시그니쳐 또는 파일 업로드 전용 웹쉘 시그니쳐로 정의함으로써, 정상 홈페이지 스크립트와 구분하기 어려운 DB, 파일 업로드 전용 웹쉘을 탐지할 수 있다.
도 10은 본 발명의 실시예에 따른 웹쉘 시그니쳐 업데이트모듈(400)에 사용자 입력에 의해 웹셀 시그니처를 추가하는 방법을 도시한다. 추가할 웹쉘 시그니쳐를 사용자 입력부(52)에 입력하면, 입력된 웹쉘 시그니쳐는 웹쉘 시그니쳐 저장모듈(100)에 저장되고, 웹쉘 시그니쳐 리스트(110)에 포함되어 사용자에게 제공된다.
도 11은 본 발명의 실시예에 따른 웹쉘 시그니쳐 저장모듈에 저장된 웹쉘 시그니쳐 리스트 제공 방법 및 활성 웹쉘 시그니쳐 설정 방법을 도시한다. 웹쉘 시그니쳐 리스트 제공모듈(110)은 웹쉘 시그니쳐 저장모듈(100)에 저장된 웹쉘 시그니쳐의 리스트(64)를 사용자에게 제공한다. 웹쉘 시그니쳐 설정모듈(112)은 웹쉘 시그니쳐 리스트 제공모듈(110)에서 제공한 웹쉘 시그니쳐 리스트(64)에 포함된 웹쉘 시그니쳐를 사용자의 입력에 의해 활성 웹쉘 시그니쳐 및 비활성 웹쉘 시그니쳐로 구분하는 기능을 수행한다. 사용자는 웹쉘 시그니쳐 리스트(64) 중 포함여부를 탐지할 웹쉘 시그니쳐를 클릭함으로써 활성화(66)시킨다. 이때 웹쉘 시그니쳐 비교모 듈(300)은, 피검사 스크립트 파일에 웹쉘 시그니쳐 설정모듈에서 지정한 활성 웹쉘 시그니쳐가 포함되었는지를 판단한다. 웹쉘 시그니쳐 설정모듈(112)에 의해 특정한 웹쉘 시그니쳐만을 선택적으로 탐지하는 것이 가능하므로 웹쉘을 탐지하는데 소요되는 시간을 현저하게 경감시키는 효과를 제공한다.
도 12는 본 발명의 실시예에 따른 홈페이지 홈 디렉터리 또는 윈도우 내 디렉터리 지정방법을 도시한다. 피검사 디렉터리 지정모듈(210)은, 홈페이지 홈 디렉터리 또는 윈도우 내 디렉터리(70) 중 적어도 하나를 지정한다. 공격자는 홈페이지 홈 디렉터리가 아닌 다른 폴더나 파티션에 웹쉘을 업로드하는 경우가 많다. 이러한 우회 기법을 탐지하기 위해 사용자는 한 파티션(C:\ 또는 D:\)(72)의 모든 윈도우 디렉터리를 지정할 수 있다. 웹쉘 시그니쳐 비교모듈 (300)은 피검사 디렉터리 지정모듈(210)에서 지정한 디렉터리 및 하위 디렉터리의 스크립트 파일들을 순차적으로 웹쉘 시그니쳐 저장모듈(100)에 저장된 웹쉘 시그니쳐와 비교하여 웹쉘 시그니쳐 저장모듈에 저장된 웹쉘 시그니처가 포함되었는지를 판단한다. 피검사 디렉터리 지정모듈(210)에 의해 웹쉘 시그니쳐 포함여부를 탐지할 디렉터리를 선택할 수 있도록 함으로써, 모든 디렉터리에 대해 웹쉘 시그니쳐를 탐지하는데 소요되는 시간을 현저하게 경감시키는 효과를 제공한다.
도 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)에 저장된 웹쉘 시그니쳐가 포함되었는지를 판단한다.
도 14는 본 발명의 실시예에 따른 웹쉘 탐지 결과를 사용자에게 제공하는 예를 도시한다. 파일 전체 경로(Path)(82), 파일 크기(Size)(84), 파일 수정된 시간(Time)(86), 매칭된 시그니쳐 정보(MatchingSignitureInfo)(88)를 제공하여 사용자가 웹쉘 시그니쳐를 포함한 파일에 대한 볼 수 있도록 하거나 탐지된 파일이 웹 쉘이라고 판단될 경우 웹쉘을 삭제할 수 있도록 한다.
도 15는 본 발명의 실시예에 따른 탐지된 웹쉘정보를 삭제하거나 보여주는 방법을 도시한다.
도 16은 본 발명의 실시예에 따른 탐지된 웹쉘 소스코드의 예를 도시한다. 웹쉘 시그니쳐라고 판단된 소스코드를 굵은 글씨 등으로 부각(92)해서 사용자에게 제공하고 탐지된 웹쉘을 삭제할 수 있도록 함으로써, 웹 서버 운영상 필요한 정상 스크립트가 잘못하여 삭제되는 것을 방지한다.
도 17은 본 발명의 실시예에 따른 웹쉘 탐지 방법을 도시한다.
먼저, 웹쉘과 정상 스크립트 파일을 구분하기 위해 웹쉘에 포함되는 적어도 하나의 웹쉘 시그니쳐를 저장하는 제 1 단계(S10) 및 컴퓨터 단말기에 저장된 스크립트 파일을 피검사 스크립트 파일로써 추출하는 제 2 단계(S20)를 순차적으로 수행한다.
다음으로 추출된 스크립트 파일에 상기 웹쉘 시그니쳐 저장단계에서 저장된 상기 웹쉘 시그니쳐가 포함되었는지를 판단하는 제 3 단계 (S30)를 수행한다.
이때 제 1 단계(S10)는 저장된 웹쉘 시그니쳐에 대한 리스트를 사용자에게 제공하고, 사용자는 웹쉘 시그니쳐 리스트에 포함된 웹쉘 시그니쳐를 활성 시그니쳐 및 비활성 시그니쳐로 구분하여 설정하는 제 1 부단계(S12)를 더 포함하고, 제 3 단계(S30)는, 추출된 스크립트 파일에 지정한 활성 웹쉘 시그니쳐가 포함되었는지를 판단하는 것이 바람직하다.
제 2 단계(S20)는 홈페이지 홈 디렉터리 또는 윈도우 내 디렉터리 중 적어도 하나를 지정하고, 지정된 디렉터리 및 하위 디렉터리의 스크립트 파일들을 순차적으로 웹쉘 시그니쳐와 비교하는 제 2 부단계(S22) 및 asp, aspx, cer, cdx, asa, hta, htm, html 또는 shtml의 스크립트 확장자 파일 중 적어도 하나를 추출하여 웹쉘 시그니쳐 포함여부를 판단하고, 스크립트 확장자 파일에 관한 리스트를 사용자에게 제공하며, 사용자는 스크립트 확장자 파일 리스트에 포함된 스크립트 파일을 활성 스크립트 확장자 파일 및 비활성 스크립트 확장자 파일로 구분하여 설정하는 제 3 부단계(S24)를 더 포함하는 것이 바람직하다. 이때 제 3 단계(S30)는 활성 스크립트 확장자 파일에 대해 웹쉘 시그니쳐가 포함되었는지를 판단하는 것이 바람직하다.
다음으로, 웹쉘 시그니쳐로 저장되지 않았던 웹쉘 시그니쳐 발생시 사용자가 웹쉘 시그니쳐를 추가로 저장하도록 입력하거나 또는 네트워크 상에서 웹쉘을 검색하여 웹쉘의 시그니쳐를 수집하고, 웹쉘 시그니쳐로 저장되지 않았던 웹쉘 시그니쳐 발생시 추가로 저장하도록 사용자 단말에 제공하는 제 4 단계(S40)를 더 수행할 수 있다.
다음으로, 웹쉘에 접근한 공격자에 대한 정보를 사용자에게 제공하는 제 5 단계(S50)를 더 수행할 수 있다. 제 5 단계는, 웹서버에서 웹쉘 웹로그를 검색하는 제 1 부단계, 상기 웹쉘 웹로그 검색결과로부터 공격자 IP를 추출하는 제 2 부단계 및 상기 추출된 공격자 IP를 통해 웹로그를 재검색하는 제 3 부단계를 더 수행할 수 있다.
다음으로, 파일 전체 경로(Path), 파일 크기(Size), 파일 수정된 시간(Time) 또는 매칭된 시그니쳐 정보(MatchingSignitureInfo) 중 적어도 하나를 포함하는 탐지된 웹쉘 정보를 사용자에게 보여주는 제 6 단계(S60) 및 탐지된 웹쉘에 대한 소스코드를 사용자에게 제공하고, 웹쉘 시그니쳐라고 판단된 소스코드에 대해서는 부각하여 사용자에게 보여주는 제 7 단계(S70)를 더 수행할 수 있다.
마지막으로 제 7 단계(S70) 이후에도 탐지된 웹쉘을 삭제하는 제 8 단계(S80)를 더 수행할 수 있다.
아울러 본 발명의 바람직한 실시예들은 예시의 목적을 위해 개시된 것이며, 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가 등이 가능할 것이며, 이러한 수정, 변경 등은 이하의 특허청구의 범위에 속하는 것으로 보아야 할 것이다.
도 1은 게시판을 통해 웹쉘 파일을 업로드하는 예를 도시하는 예시도.
도 2는 쉘 명령어가 실행된 결과의 예를 도시하는 예시도.
도 3은 암호화된 웹쉘 코드와 패스워드를 설정한 웹쉘의 예를 도시하는 예시도.
도 4는 웹쉘 탐지 시스템에서의 웹쉘 탐지 과정을 도시하는 구성도.
도 5는 본 발명의 실시예에 따른 오브젝트 시그니쳐의 구성예.
도 6은 본 발명의 실시예에 따른 함수 시그니쳐의 구성예.
도 7은 본 발명의 실시예에 따른 문자열 시그니쳐의 구성예.
도 8은 본 발명의 실시예에 따른 정규표현식 시그니쳐의 구성예.
도 9는 본 발명의 실시예에 따른 데이터 베이스 접속 및 파일 업로드 전용 시그니쳐의 구성예.
도 10은 본 발명의 실시예에 따른 웹쉘 시그니쳐 업데이트모듈에 사용자 입력에 의해 웹쉘 시그니쳐를 추가하는 방법을 도시한 예시도.
도 11은 본 발명의 실시예에 따른 웹쉘 시그니쳐 저장모듈에 저장된 웹쉘 시그니쳐 리스트 제공 방법 및 활성 웹쉘 시그니쳐 설정 방법을 도시한 예시도.
도 12는 본 발명의 실시예에 따른 홈페이지 홈 디렉터리 및 윈도우 내 디렉터리 지정방법을 도시한 예시도.
도 13은 본 발명의 실시예에 따른 스크립트 확장자 파일 설정방법을 도시한 예시도.
도 14는 본 발명의 실시예에 따른 웹쉘 탐지 결과의 예를 도시하는 예시도.
도 15는 본 발명의 실시예에 따른 탐지된 웹쉘정보를 삭제하거나 보여주는 방법을 도시한 예시도.
도 16은 본 발명의 실시예에 따른 탐지된 웹쉘 소스코드의 예를 도시하는 예시도.
도 17은 본 발명의 실시예에 따른 웹쉘 탐지 방법을 도시하는 처리 흐름도.
<도면의 주요부분에 대한 부호의 설명>
100 : 웹쉘 시그니쳐 저장모듈 110: 웹쉘 시그니쳐 리스트 제공모듈
200 : 피검사파일 추출모듈 210 : 피검사 디렉터리 지정모듈
220 : 스크립트 확장자 파일 리스트 제공모듈
300 : 웹쉘 시그니쳐 비교모듈
300 : 웹쉘 시그니쳐 비교모듈
400: 웹쉘 시그니쳐 업데이트모듈 500 : 공격자 정보 제공모듈
600 : 웹쉘 탐지결과 리포팅모듈 610 : 웹쉘 코드 뷰어모듈
620 : 웹쉘 삭제모듈
Claims (23)
- 컴퓨터 단말기에 설치되어 웹쉘을 탐지하는 웹쉘 탐지 시스템에 있어서,웹쉘과 정상 스크립트 파일을 구분하기 위해 웹쉘에 포함되는 적어도 하나의 웹쉘 시그니쳐를 저장하는 웹쉘 시그니쳐 저장모듈;상기 컴퓨터 단말기에 저장된 스크립트 파일을 피검사 스크립트 파일로써 추출하는 피검사 파일 추출모듈; 및상기 피검사 스크립트 파일에 상기 웹쉘 시그니쳐 저장모듈에 저장된 상기 웹쉘 시그니쳐가 포함되었는지를 판단하는 웹쉘 시그니쳐 비교모듈;을 포함하여 구성되고,상기 웹쉘 탐지 시스템은, 네트워크 상에서 웹쉘을 검색하여 상기 웹쉘의 시그니쳐를 수집하는 웹쉘 탐지 서버;를 더 포함하고,상기 웹쉘 탐지 서버는, 상기 웹쉘 시그니쳐 저장모듈에 저장되지 않은 웹쉘 시그니쳐가 발생된 경우 상기 컴퓨터 단말기에 제공하는 웹쉘 탐지 서버에 의한 웹쉘 시그니쳐 업데이트모듈;을 더 포함하는 것을 특징으로 하는 웹쉘 탐지 시스템.
- 제 1 항에 있어서, 상기 웹쉘 시그니쳐는,오브젝트, 함수, 문자열 또는 정규표현식 중 어느 하나인 것을 특징으로 하는 웹쉘 탐지 시스템.
- 제 2 항에 있어서,상기 오브젝트인 상기 웹쉘 시그니쳐는, Wscript.Shell, Shell.Application 또는 vbscript.encode 중 적어도 하나를 포함하고,상기 함수인 상기 웹쉘 시그니쳐는, CreateObject(Wscript.Shell), CreateObject(Shell.Application), execute session, execute request 또는 eval request 중 적어도 하나를 포함하고,상기 문자열인 상기 웹쉘 시그니쳐는, cmd.exe, lcxMarcos, Marcos, hack520, lake2 또는 gb2312 중 적어도 하나를 포함하고,상기 정규표현식으로 표현된 상기 웹쉘 시그니쳐는, [" ]+cmd.exe, wscr.*\&.*ipt\.shell, CreateObject.*(.*wsc.*ell), language.*=.*(vbscript|jscript|javascript)\.encode, execute[ (]+session 또는 execute[ (]+request 중 적어도 하나를 포함하는 것을 특징으로 하는 웹쉘 탐지 시스템.
- 제 1 항에 있어서, 상기 웹쉘 시그니쳐는,데이터 베이스 접속 웹쉘 시그니쳐 또는 파일 업로드 전용 웹쉘 시그니쳐인 것을 특징으로 하는 웹쉘 탐지 시스템.
- 제 4 항에 있어서, 상기 데이터 베이스 접속 웹쉘 시그니쳐 또는 파일 업로드 전용 웹쉘 시그니쳐는,CreateObject.*(.*ADO.*\..*ection, .SaveToFile, CreateObject.*(.*Script.*Object), .(Open|Create)TextFile 또는 Scripting.FileSystemObject 중 적어도 하나를 포함하는 것을 특징으로 하는 웹쉘 탐지 시스템.
- 제 1 항에 있어서,상기 웹쉘 탐지 시스템은, 상기 웹쉘 시그니쳐 저장모듈에 저장된 웹쉘 시그니쳐의 리스트를 사용자에게 제공하는 웹쉘 시그니쳐 리스트 제공모듈 및 사용자 입력에 의해 상기 웹쉘 시그니쳐 리스트에 포함된 웹쉘 시그니쳐를 활성 웹쉘 시그니쳐 및 비활성 웹쉘 시그니쳐로 구분하는 웹쉘 시그니쳐 설정모듈을 더 포함하고,상기 웹쉘 시그니쳐 비교모듈은, 상기 피검사 스크립트 파일에 상기 웹쉘 시그니쳐 설정모듈에서 지정한 활성 웹쉘 시그니쳐가 포함되었는지를 판단하는 것을 특징으로 하는 웹셀 탐지 시스템.
- 제 1 항에 있어서, 상기 웹쉘 탐지 시스템은,상기 웹쉘 시그니쳐 저장모듈에 저장되지 않았던 웹쉘 시그니쳐 발생시 상기 웹쉘 시그니쳐를 추가로 저장하도록 입력하는 사용자 입력부를 더 포함하고,상기 사용자 입력부에 입력된 새로운 웹쉘 시그니쳐를 상기 웹쉘 시그니쳐 저장모듈에 저장하는 사용자 입력에 의한 웹쉘 시그니쳐 업데이트모듈을 더 포함하는 것을 특징으로 하는 웹쉘 탐지 시스템.
- 삭제
- 제 1 항에 있어서, 상기 웹쉘 탐지 시스템은,홈페이지 홈 디렉터리 또는 윈도우 내 디렉터리 중 적어도 하나를 지정하는 피검사 디렉터리 지정모듈을 더 포함하고,지정된 디렉터리 및 하위 디렉터리의 스크립트 파일들을 순차적으로 상기 웹쉘 시그니쳐와 비교하는 것을 특징으로 하는 웹쉘 탐지 시스템.
- 제 1 항에 있어서, 상기 피검사 파일 추출모듈은,상기 피검사 파일을 asp, aspx, cer, cdx, asa 또는 hta의 스크립트 파일 중 적어도 하나를 포함하는 것을 특징으로 하는 웹쉘 탐지 시스템.
- 제 1 항에 있어서,상기 웹쉘 탐지 시스템은, 스크립트 확장자 파일에 관한 리스트를 사용자에게 제공하는 스크립트 확장자 파일 리스트 제공모듈 및 사용자의 입력에 의해 상기 스크립트 확장자 파일 리스트에 포함된 스크립트 파일을 활성 스크립트 확장자 파일 및 비활성 스크립트 확장자 파일로 구분하는 스크립트 확장자 파일 설정모듈을 더 포함하고,상기 웹쉘 시그니쳐 비교모듈은, 상기 스크립트 파일 설정모듈에서 설정한 상기 활성 스크립트 확장자 파일에 대해 웹쉘 시그니쳐가 포함되었는지를 판단하는 것을 특징으로 하는 웹쉘 탐지 시스템.
- 제 10 항에 있어서, 상기 스크립트 파일은,htm, html 또는 shtml을 더 포함하며, 이 중 적어도 하나를 지정하는 것을 특징으로 하는 웹쉘 탐지 시스템.
- 제 1 항에 있어서, 상기 웹쉘 탐지 시스템은,파일 전체 경로, 파일 크기, 파일 수정된 시간 또는 매칭된 시그니쳐 정보 중 적어도 하나를 포함하는 탐지된 웹쉘 정보를 사용자에게 제공하는 웹쉘 탐지 결과 리포팅모듈을 더 포함하는 것을 특징으로 하는 웹쉘 탐지 시스템.
- 제 1 항에 있어서, 상기 웹쉘 탐지 시스템은,웹쉘에 접근한 공격자에 대한 정보를 제공하는 공격자 정보 제공모듈을 더 포함하는 것을 특징으로 하는 웹쉘 탐지 시스템.
- 제 14 항에 있어서, 상기 공격자 정보 제공모듈은,웹서버에서 웹쉘 웹로그를 검색하는 웹쉘 웹로그 검색부, 상기 웹쉘 웹로그 검색결과로부터 공격자 IP를 추출하는 공격자 IP 추출부 및 상기 추출된 공격자 IP를 통해 웹로그를 재검색하는 웹로그 재검색부를 더 포함하는 것을 특징으로 하는 웹쉘 탐지 시스템.
- 제 14 항에 있어서, 상기 웹쉘 탐지 시스템은,상기 탐지된 웹쉘에 대한 소스코드를 사용자에게 제공하는 웹쉘 코드 뷰어모듈을 더 포함하고,상기 웹쉘 코드 뷰어모듈은 웹쉘 시그니쳐라고 판단된 소스코드에 대해서는 부각하여 보여주는 것을 특징으로 하는 웹쉘 탐지 시스템.
- 제 16 항에 있어서, 상기 웹쉘 탐지 시스템은,상기 탐지된 웹쉘을 삭제하는 웹쉘 삭제모듈을 더 포함하는 것을 특징으로 하는 웹쉘 탐지 시스템.
- 컴퓨터 단말기에 설치되어 웹쉘을 탐지하는 웹쉘 탐지 방법에 있어서,웹쉘과 정상 스크립트 파일을 구분하기 위해 웹쉘에 포함되는 적어도 하나의 웹쉘 시그니쳐를 저장하는 제 1 단계;상기 컴퓨터 단말기에 저장된 스크립트 파일을 피검사 스크립트 파일로써 추출하는 제 2 단계;상기 추출된 스크립트 파일에 상기 웹쉘 시그니쳐 저장단계에서 저장된 상기 웹쉘 시그니쳐가 포함되었는지를 판단하는 제 3 단계; 및상기 웹쉘 시그니쳐로 저장되지 않았던 웹쉘 시그니쳐 발생시 사용자가 상기 웹쉘 시그니쳐를 추가로 저장하도록 입력하거나 또는 네트워크 상에서 웹쉘을 검색하여 상기 웹쉘의 시그니쳐를 수집하고, 웹쉘 시그니쳐로 저장되지 않았던 웹쉘 시그니쳐 발생시 추가로 저장하도록 상기 컴퓨터 단말기로 제공하는 제 4 단계;를 더 포함하는 것을 특징으로 하는 웹쉘 탐지 방법.
- 제 18 항에 있어서, 상기 제 1 단계는,저장된 상기 웹쉘 시그니쳐에 대한 리스트를 사용자에게 제공하고, 사용자는 상기 웹쉘 시그니쳐 리스트에 포함된 웹쉘 시그니쳐를 활성 시그니쳐 및 비활성 시그니쳐로 구분하여 설정하는 제 1 부단계;를 더 포함하고상기 제 3 단계는, 상기 추출된 스크립트 파일에 상기 지정한 활성 웹쉘 시그니쳐가 포함되었는지를 판단하는 것을 특징으로 하는 웹셀 탐지 방법.
- 제 18 항에 있어서,상기 제 2 단계는, 홈페이지 홈 디렉터리 또는 윈도우 내 디렉터리 중 적어도 하나를 지정하고, 지정된 디렉터리 및 하위 디렉터리의 스크립트 파일들을 순차적으로 상기 웹쉘 시그니쳐와 비교하는 제 2 부단계;asp, aspx, cer, cdx, asa, hta, htm, html 또는 shtml의 스크립트 확장자 파일 중 적어도 하나를 추출하여 웹쉘 시그니쳐 포함여부를 판단하고,상기 스크립트 확장자 파일에 관한 리스트를 사용자에게 제공하고, 사용자는 상기 스크립트 확장자 파일 리스트에 포함된 스크립트 파일을 활성 스크립트 확장자 파일 및 비활성 스크립트 확장자 파일로 구분하여 설정하는 제 3 부단계;를 포함하고상기 제 3 단계는, 상기 활성 스크립트 확장자 파일에 대해 상기 웹쉘 시그니쳐가 포함되었는지를 판단하는 것을 특징으로 하는 웹셀 탐지 방법.
- 삭제
- 제 18 항에 있어서, 상기 웹쉘 탐지 방법은,웹쉘에 접근한 공격자에 대한 정보를 사용자에게 제공하는 제 5 단계를 더 포함하고,상기 제 5 단계는, 웹서버에서 웹쉘 웹로그를 검색하는 제 1 부단계, 상기 웹쉘 웹로그 검색결과로부터 공격자 IP를 추출하는 제 2 부단계 및 상기 추출된 공격자 IP를 통해 웹로그를 재검색하는 제 3 부단계를 더 포함하는 것을 특징으로 하는 웹쉘 탐지 방법.
- 제 18 항에 있어서, 상기 웹쉘 탐지 방법은,파일 전체 경로, 파일 크기, 파일 수정된 시간 또는 매칭된 시그니쳐 정보 중 적어도 하나를 포함하는 탐지된 웹쉘 정보를 사용자에게 보여주는 제 6 단계;상기 탐지된 웹쉘에 대한 소스코드를 사용자에게 제공하고, 웹쉘 시그니쳐라고 판단된 소스코드에 대해서는 부각하여 사용자에게 보여주는 제 7 단계; 및상기 탐지된 웹쉘을 삭제하는 제 8 단계를 더 포함하여 구성되는 것을 특징으로 하는 웹쉘 탐지 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080014107A KR100968126B1 (ko) | 2008-02-15 | 2008-02-15 | 웹쉘 탐지 시스템 및 웹쉘 탐지 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080014107A KR100968126B1 (ko) | 2008-02-15 | 2008-02-15 | 웹쉘 탐지 시스템 및 웹쉘 탐지 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090088687A KR20090088687A (ko) | 2009-08-20 |
KR100968126B1 true KR100968126B1 (ko) | 2010-07-06 |
Family
ID=41207247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080014107A KR100968126B1 (ko) | 2008-02-15 | 2008-02-15 | 웹쉘 탐지 시스템 및 웹쉘 탐지 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100968126B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101348590B1 (ko) | 2012-12-12 | 2014-01-09 | (주)론스텍 | 네트워크 인라인 필터링을 이용한 웹쉘 차단 방법 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014092285A1 (ko) | 2012-12-14 | 2014-06-19 | 주식회사 엔커머스 | 컨텐츠 플랫폼에 독립적인 상품방송을 이용한 전자상거래 시스템 |
KR101291782B1 (ko) | 2013-01-28 | 2013-07-31 | 인포섹(주) | 웹쉘 탐지/대응 시스템 |
KR101461051B1 (ko) * | 2013-06-11 | 2014-11-13 | (주) 에스에스알 | 웹 기능 분석을 통한 악성 코드 탐지방법 및 그 기록매체 |
KR101585968B1 (ko) * | 2014-06-16 | 2016-01-15 | 주식회사 예티소프트 | 웹 쉘 탐지 장치와 이를 이용한 함수 실행 제어 방법 |
KR101650445B1 (ko) * | 2015-12-11 | 2016-08-23 | 주식회사 윈스 | 커널 기반의 파일이벤트감사 기능을 이용한 실시간 웹셀 탐지 장치 및 방법 |
CN107770133B (zh) * | 2016-08-19 | 2020-08-14 | 北京升鑫网络科技有限公司 | 一种适应性webshell检测方法及*** |
CN111353154A (zh) * | 2018-12-24 | 2020-06-30 | 中移(杭州)信息技术有限公司 | 一种应用程序的脱壳方法、装置、终端设备和介质 |
CN110210225A (zh) * | 2019-05-27 | 2019-09-06 | 四川大学 | 一种智能化的Docker容器恶意文件检测方法和装置 |
CN112118089B (zh) * | 2020-09-18 | 2021-04-30 | 广州锦行网络科技有限公司 | 一种webshell监控方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050100278A (ko) * | 2004-04-13 | 2005-10-18 | 한국전자통신연구원 | 웹 응용프로그램의 취약점 분석 장치 및 방법 |
KR20060086081A (ko) * | 2005-01-26 | 2006-07-31 | 학교법인 대전기독학원 한남대학교 | 네트워크프로세서를 이용한 정보보호시스템의 성능측정 장치 및 그 방법 |
KR20060117693A (ko) * | 2005-05-13 | 2006-11-17 | (주)트리니티소프트 | 웹 보안방법 및 그 장치 |
-
2008
- 2008-02-15 KR KR1020080014107A patent/KR100968126B1/ko not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050100278A (ko) * | 2004-04-13 | 2005-10-18 | 한국전자통신연구원 | 웹 응용프로그램의 취약점 분석 장치 및 방법 |
KR20060086081A (ko) * | 2005-01-26 | 2006-07-31 | 학교법인 대전기독학원 한남대학교 | 네트워크프로세서를 이용한 정보보호시스템의 성능측정 장치 및 그 방법 |
KR20060117693A (ko) * | 2005-05-13 | 2006-11-17 | (주)트리니티소프트 | 웹 보안방법 및 그 장치 |
Non-Patent Citations (1)
Title |
---|
스크립트 파일 기반의 효율적인 웹 공격 탐지 프로파일링, 한국정보과학회 2006년 가을 학술발표논문집 VOL.33, No.2(C), 2006. 10. 20.* |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101348590B1 (ko) | 2012-12-12 | 2014-01-09 | (주)론스텍 | 네트워크 인라인 필터링을 이용한 웹쉘 차단 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20090088687A (ko) | 2009-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100968126B1 (ko) | 웹쉘 탐지 시스템 및 웹쉘 탐지 방법 | |
US11734427B2 (en) | Systems, methods and devices for memory analysis and visualization | |
US9614862B2 (en) | System and method for webpage analysis | |
CN103279710B (zh) | Internet信息***恶意代码的检测方法和*** | |
US20100122313A1 (en) | Method and system for restricting file access in a computer system | |
US20120311709A1 (en) | Automatic management system for group and mutant information of malicious codes | |
JP5752642B2 (ja) | 監視装置および監視方法 | |
WO2014190427A1 (en) | Identifying client states | |
CN104252447A (zh) | 文件行为分析方法及装置 | |
CN114003794A (zh) | 资产收集方法、装置、电子设备和介质 | |
KR101481910B1 (ko) | 웹 페이지의 비정상 정보 탐지 장치 및 방법 | |
WO2019123757A1 (ja) | 分類装置、分類方法、および、分類プログラム | |
US9239907B1 (en) | Techniques for identifying misleading applications | |
CN107566371B (zh) | 一种面向海量日志的WebShell挖掘方法 | |
Kävrestad et al. | Collecting Data | |
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 | |
Lyu et al. | BEFP: an extension recognition system based on behavioral and environmental fingerprinting | |
Muñoz et al. | Methodology for Malware Scripting Analysis in Controlled Environments Based on Open Source Tools | |
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 | |
Pradhan | Browser Analysis and Exploitation | |
Wang et al. | An ELF Recovery Method for Linux Malicious Process Detection | |
Tran | User-driven data portability: A user-driven data portability approach utilizing web scraping techniques to liberate data |
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 |