KR101585968B1 - 웹 쉘 탐지 장치와 이를 이용한 함수 실행 제어 방법 - Google Patents

웹 쉘 탐지 장치와 이를 이용한 함수 실행 제어 방법 Download PDF

Info

Publication number
KR101585968B1
KR101585968B1 KR1020140072654A KR20140072654A KR101585968B1 KR 101585968 B1 KR101585968 B1 KR 101585968B1 KR 1020140072654 A KR1020140072654 A KR 1020140072654A KR 20140072654 A KR20140072654 A KR 20140072654A KR 101585968 B1 KR101585968 B1 KR 101585968B1
Authority
KR
South Korea
Prior art keywords
file
function
called
allowable
web shell
Prior art date
Application number
KR1020140072654A
Other languages
English (en)
Other versions
KR20150144046A (ko
Inventor
이재영
김이구
박종진
이창영
Original Assignee
주식회사 예티소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 예티소프트 filed Critical 주식회사 예티소프트
Priority to KR1020140072654A priority Critical patent/KR101585968B1/ko
Publication of KR20150144046A publication Critical patent/KR20150144046A/ko
Application granted granted Critical
Publication of KR101585968B1 publication Critical patent/KR101585968B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

웹 쉘 탐지 장치 및 이를 이용한 함수 실행 제어 방법이 개시된다. 본 발명은 함수를 호출하는 웹 쉘을 탐지하기 위한 장치로서, 상기 함수를 호출한 웹 쉘과 기 정의된 허용 파일 정보간의 비교를 통해 상기 호출한 웹 쉘이 허용 파일인지를 판단하고, 상기 허용 파일인 경우 상기 웹 쉘에 입력된 명령어에 따라 상기 함수가 전달받은 인자 값과 기 정의된 허용 인자 값간의 비교를 통해 상기 인자 값이 허용 인자 값인지를 판단하는 판단부; 및 상기 허용 인자 값이 아니거나, 상기 웹 쉘이 허용 파일이 아닐 경우 상기 웹 쉘에 의해 호출된 함수의 실행을 차단시키는 차단부를 포함할 수 있다.

Description

웹 쉘 탐지 장치와 이를 이용한 함수 실행 제어 방법{APPARATUS FOR DETECTING A WEB SHELL AND METHOD FOR CONTROLLING FUNCTION EXECUTION USING THE SAME}
본 발명은 웹 쉘의 탐지와 이를 통한 함수 실행 제어에 관한 것이다.
일반적으로, 웹을 이용한 IT 인프라가 대부분의 온라인 네트워크 환경을 지배하게 되면서, 사회적 환경 하에서 생활하는 사람들에게 없어서는 안될 중요한 요소로서 자리잡게 되었는 바, 이러한 상황에서 불법적인 해킹을 수행하는 해커들이 웹 인프라의 허점을 이용하여 다양한 방법으로 공격을 시도하고 있다.
일반적으로, 해커들은 웹 인프라의 필수 구성인 웹 서버의 해킹을 위해 대부분 웹쉘을 이용하는 경향이 있는데, 이러한 해킹에 대한 피해를 최소화하기 위해 종래에는, 웹 방화벽이나 서버 백신 등의 보안 제품에 웹쉘 탐지 기능을 추가하거나 웹쉘 탐지 시스템으로 웹쉘의 공격을 방어하도록 하고 있다.
그럼에도 불구하고, 최근의 해커들은 공격 수단으로서 이용하는 웹쉘을 스크립트 난독화를 이용하여 공격함으로써, 기존 웹 쉘 탐지 기능을 우회하고 있다.
대한민국 공개특허 2012-0070021호(2012. 06. 29)
본 발명의 실시예들은 함수를 호출한 파일과 허용 파일 리스트간의 비교를 통해 파일이 웹 쉘인지를 판단하고, 허용 파일에 의해 호출될 경우 허용 파일로부터 전달받은 인자 값에 대한 허용 유무를 기반으로 악의적인 함수 접근 차단시킴으로써, 웹 쉘에 의한 함수의 실행을 원천적으로 차단할 수 있는 웹 쉘 탐지 장치와 이를 이용한 함수 실행 제어 방법을 제공한다.
또한, 본 발명의 실시예들은 호출한 파일과 허용 파일 리스트간의 비교만을 통해 호출한 파일이 웹 쉘인지를 판단함으로써, 함수가 실행되는 서버의 리소스 사용을 최소화시킬 수 있는 웹 쉘 탐지 장치와 이를 이용한 함수 실행 제어 방법을 제공한다.
본 발명의 예시적인 실시예에 따르면, 함수를 호출하는 파일이 웹 쉘인지를 탐지하기 위한 장치로서, 상기 함수를 호출한 파일과 기 정의된 허용 파일 리스트간의 비교를 통해 상기 호출한 파일이 웹 쉘인지를 판단하고, 상기 호출한 파일이 웹 쉘이 아닐 경우 상기 호출한 파일로부터 전달받은 인자 값과 기 정의된 허용 인자 리스트간의 비교를 통해 상기 인자 값이 허용 인자 값인지를 판단하는 판단부; 및 상기 호출한 파일이 웹 쉘이거나 상기 전달받은 인자 값이 허용 인자 값이 아닐 경우 상기 파일에 의해 호출된 함수의 실행을 차단시키는 차단부를 포함하는 웹 쉘 탐지 장치가 제공된다.
상기 웹 쉘 탐지 장치는 상기 허용 파일이거나 상기 전달받은 인자 값이 허용 인자인 경우 상기 파일에 의해 호출된 함수를 실행시켜 상기 호출한 파일에 의한 상기 함수의 사용 이력을 기록하는 실행부를 더 포함할 수 있다.
상기 웹 쉘 탐지 장치에서 상기 파일에 의해 호출되는 함수는 자바 계열의 실행함수, PHP 계열의 실행 함수 또는 ASP 계열의 오브젝트 생성 함수이며, 상기 웹 쉘 탐지 장치는 상기 함수 내에 포함되어 동작할 수 있다.
본 발명의 다른 예시적인 실시예에 따르면, 임의의 파일에 의해 서버에 기 정의된 함수가 호출되는지를 감지하는 감지부; 상기 임의의 파일과 기 정의된 허용 파일 리스트간의 비교를 통해 상기 임의의 파일이 웹 쉘인지를 판단하고, 상기 호출한 파일이 웹 쉘이 아닐 경우 상기 임의의 파일로부터 전달받은 인자 값과 기 정의된 허용 인자 리스트간의 비교를 통해 상기 인자 값이 허용 인자 값인지를 판단하는 판단부; 및 상기 임의의 파일이 웹 쉘이거나 상기 전달받은 인자 값이 허용 인자 값이 아닐 경우 상기 파일에 의해 호출된 함수의 실행을 차단시키는 차단부를 포함하는 웹 쉘 탐지 장치가 제공된다.
상기 웹 쉘 탐지 장치는 상기 임의의 파일이 허용 파일이거나 상기 전달받은 인자 값이 허용 인자인 경우 상기 임의의 파일에 의해 호출된 함수를 실행시켜, 상기 임의의 파일에 의한 의한 상기 함수의 사용 이력을 기록하는 실행부를 더 포함할 수 있다.
상기 웹 쉘 탐지 장치에서 상기 기 정의된 함수는 자바 계열의 실행함수, PHP 계열의 실행 함수 또는 ASP 계열의 오브젝트 생성 함수일 수 있다.
본 발명의 또 다른 예시적인 실시예에 따르면, 파일에 의해 호출되는 함수의 실행을 제어하는 장치를 이용한 상기 함수의 실행을 제어하는 방법으로서, 상기 함수를 호출한 파일과 기 정의된 허용 파일 리스트간의 비교를 통해 상기 호출한 파일이 웹 쉘인지를 판단하는 단계; 상기 호출한 파일이 웹 쉘이 아닐 경우 상기 호출한 파일로부터 전달받은 인자 값과 기 정의된 허용 인자 리스트간의 비교를 통해 상기 인자 값이 허용 인자 값인지를 판단하는 단계; 및 상기 허용 인자 값이 아니거나, 상기 호출한 파일이 웹 쉘일 경우 상기 호출한 파일에 의한 함수의 실행을 차단시키는 단계를 포함하는 웹 쉘 탐지 장치를 이용한 함수 실행 제어 방법이 제공된다.
상기 함수 실행 제어 방법은 상기 호출한 파일이 허용 파일이거나 상기 전달받은 인자 값이 허용 인자인 경우 상기 호출한 파일에 의한 상기 함수의 사용 이력을 기록하는 단계; 및 상기 호출한 파일에 의해 호출된 함수를 실행시키는 단계를 더 포함할 수 있다.
상기 함수 실행 제어 방법은 기 정의된 함수가 임의의 파일에 의해 호출되는지를 감지하는 단계를 더 포함하며, 상기 기 정의된 함수가 호출되는 것이 감지되면 상기 판단하는 단계를 수행할 수 있다.
상기 함수 실행 제어 방법에서 상기 함수는 자바 계열의 실행함수, PHP 계열의 실행 함수 또는 ASP 계열의 오브젝트 생성 함수일 수 있다.
본 발명의 실시예에 따르면, 함수를 호출한 파일과 허용 파일 리스트간의 비교를 통해 파일이 웹 쉘인지를 판단하고, 허용 파일에 의해 호출될 경우 허용 파일로부터 전달받은 인자 값에 대한 허용 유무를 기반으로 악의적인 함수 접근 차단시킴으로써, 웹 쉘에 의한 함수의 실행을 원천적으로 차단할 수 있는다.
웹 쉘을 탐지하여 호출한 파일과 허용 파일 리스트간의 비교만을 통해 호출한 파일이 웹 쉘인지를 판단함으로써, 함수가 실행되는 서버의 리소스 사용을 최소화시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 웹 쉘 탐지 장치를 도시한 블록도
도 2는 본 발명의 일 실시예에 따른 웹 쉘 탐지 장치를 이용한 함수 실행 제어 방법을 도시한 순서도
도 3은 본 발명의 다른 실시예에 따른 웹 쉘 탐지 장치를 도시한 블록도
도 4는 본 발명의 다른 실시예에 따른 웹 쉘 탐지 장치를 이용한 함수 실행 제어 방법을 도시한 순서도.
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 본 발명의 일 실시예에 따른 웹 쉘 탐지 장치(100)를 도시한 블록도이다.
본 발명의 실시예에 대한 설명에 앞서, 웹 쉘에 대해 설명하면 아래와 같다.
웹 쉘은 공격자가 악의적인 목적으로 가지고 만든 프로그램으로, SSS(Server Side Script) 언어, 예컨대 ASP, PHP, JSP 등을 사용하여 구현된다. 이러한 웹 쉘은 취약점이 존재하는 서버에 업로드되며, 공격자에 의해 입력된 명령어를 서버에 전송하여, 명령어를 서버에서 실행시킨다. 즉, 공격자는 해당 서버의 모든 제어권을 장악하고, 정보탈취, 변조, 악성스크립트 삽입 등과 각종 악성행위를 웹 쉘을 이용하여 수행할 수 있다.
한편, 웹 쉘은 공격자를 통해 입력된 명령어를 서버 내의 API 함수를 이용하여 실행시킬 수 있다.
API 함수는 자바 계열, PHP 계열, 및 ASP 계열의 실행 함수 또는 서버 내에 임의의 오브젝트, 예컨대 시스템에 접근할 수 있는 매체, 메일 생성을 위한 매체 등을 생성할 수 있는 생성 함수일 수 있다.
자바 계열의 API 함수는 Runtime.getRuntime(), exec() 등을 들 수 있으며, PHP 계열의 API 함수는 exec(), passthru(), proc_open(), shell_exec(), system() 등을 들 수 있다. 또한, ASP 계열의 API 함수는 Server.createObject ("scripting.filesystemobject"), Server.createObject ("CDONTS.NewMail") 등을 들 수 있다.
본 발명의 실시예에 따른 웹 쉘 탐지 장치(100)는 상술한 바와 같이 웹 쉘이 서버 내에서 실행되는 것을 탐지하여 차단할 수 있다. 구체적으로, 웹 쉘 탐지 장치(100)는 서버 내 API 함수와 연동 또는 API 함수 내부에 코드 형태로 추가되어 웹 쉘에 의해 API 함수가 호출될 때 동작할 수 있다.
먼저, 웹 쉘 탐지 장치(100)가 API 함수 내부에 코드 형태로 추가되어 동작하는 경우에 대해 도 1을 참조하여 설명하기로 한다.
이러한 웹 쉘 탐지 장치(100)는, 도 1에 도시된 바와 같이, 판단부(110), 차단부(120) 및 실행부(130)를 포함할 수 있다.
판단부(110)는 허용 파일 리스트 및 허용 인자 리스트를 구비하며, API 함수를 호출한 파일이 허용 파일 리스트에 포함된 파일인지를 판단하며, 허용 파일 리스트에 포함된 경우 호출한 함수로부터 전달받은 명령어에 대응하는 인자 값이 허용 인자 리스트에 포함되는지를 판단할 수 있다.
한편, 판단부(110)는 API 함수를 호출한 파일이 허용 파일 리스트에 포함되지 않을 경우 또는 인자 값이 허용 인자 리스트에 포함되지 않을 경우 호출한 파일을 웹 쉘로 판단하여 차단부(120)를 동작시킬 수 있다.
또한, 판단부(110)는 API 함수를 호출한 파일이 허용 파일 리스트에 포함되고 인자 값이 허용 인자 리스트에 포함되면 실행부(130)를 통해 API 함수의 원래 기능을 실행시킬 수 있다.
차단부(120)는 판단부(110)의 판단 결과 호출한 파일이 웹 쉘일 경우 또는 허용 인자 리스트에 포함되지 않은 인자 값이 전달받은 경우 판단부(110)에 의해 요청에 따라 동작하여 API 함수 실행을 차단시킬 수 있다.
실행부(130)는 판단부(110)의 판단 결과에 의거하여 API 함수의 기능을 실행시킬 수 있다.
또한, 실행부(130)는 API 함수의 실행 전에 웹 쉘에 의한 API 함수 호출에 따른 이력 정보를 소정의 파일에 기록할 수 있다.
상기와 같은 구성을 갖는 웹 쉘 탐지 장치(100)가 자바 계열의 API 함수에 포함될 수 있다. 구체적으로, JVMTI(Java Virtual Machine Tool Interface)를 이용하여 웹 쉘 탐지 장치(100)가 포함되도록 자바 계열의 API 함수가 재정의(overriding)될 수 있다.
또한, 웹 쉘 탐지 장치(100)가 PHP 계열의 API 함수에 포함될 수 있다. 구체적으로, API 함수 내 PHP 소스의 재컴파일을 통해 웹 쉘 탐지 장치(100)가 포함되도록 PHP 계열의 API 함수가 재정의(overriding)될 수 있다.
한편, 웹 쉘 탐지 장치(100)가 ASP 계열의 API 함수에 포함될 수 있다. 구체적으로, 윈도우 함수의 후킹(hooking)을 통해 웹 쉘 탐지 장치(100)가 포함되도록 ASP 계열의 API 함수가 재정의(overriding)될 수 있다.
상기와 같은 구성을 갖는 웹 쉘 탐지 장치(100)를 이용한 함수 실행 제어 방법(200)에 대해 도 2를 참조하여 설명한다.
도 2는 본 발명의 실시예에 따른 웹 쉘 탐지 장치(100)를 이용한 함수 실행 제어 방법(200)을 도시한 순서도이다.
도 2에 도시된 방법은 예를 들어, 전술한 웹 쉘 탐지 장치(100)에 의해 수행될 수 있다. 도시된 순서도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다. 또한 실시예에 따라 도 2에 도시되지 않은 하나 이상의 단계들이 도 2에 도시된 방법과 함께 수행될 수도 있다.
도 2에 도시된 바와 같이, 임의의 파일에 의해 호출된 API 함수 내 웹 쉘 탐지 장치(100)는 호출한 임의의 파일과 허용 파일 리스트간의 비교를 통해 임의의 파일이 허용 파일인지를 판단할 수 있다.
단계 202의 판단 결과, 허용 파일인 경우 웹 쉘 탐지 장치(100)는 임의의 파일로부터 전달받은 인자 값, 예컨대 임의의 파일에 입력된 명령어에 대응하는 인자 값을 전달받으며(단계 204), 전달받은 인자 값과 허용 인자 리스트간의 비교를 통해 전달받은 인자 값이 허용 인자 값인지를 판단할 수 있다.
단계 206의 판단 결과, 허용 인자 값인 경우 웹 쉘 탐지 장치(100)는 임의의 파일에 의한 API 함수의 호출에 따른 이력 정보를 소정의 파일에 기록(단계 208)한 후 API 함수를 실행시킨다(단계 210).
한편, 단계 202 또는 단계 206의 판단 결과 허용 파일이 아니거나 허용 인자 값이 아닌 경우 웹 쉘 탐지 장치(100)는 임의의 파일을 웹 쉘로 판단하여 API 함수의 실행을 차단시킨다(단계 212).
본 발명의 일 실시예에서는 웹 쉘 탐지 장치(100)가 API 함수 내부에 코드 형태로 추가되어 동작하는 경우에 대해 설명하였지만, 웹 쉘 탐지 장치(100)가 서버 내에서 API 함수의 호출을 감지하여 동작할 수도 있다. 이 경우에 대해서 도 3 내지 도 4를 참조하여 설명한다.
도 3은 본 발명의 다른 실시예에 따른 웹 쉘 탐지 장치(300)의 내부 구성을 도시한 블록도이다. 도 1을 참조하여 설명하였던 본 발명의 일 실시예에서의 구성요소와 대응되는 구성요소는, 일 실시예에서 설명한 바와 동일 또는 유사한 기능을 수행하므로, 이에 대한 보다 구체적인 설명은 생략하도록 한다.
도 3에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 웹 쉘 탐지 장치(300)는 감지부(310), 판단부(110), 차단부(120) 및 실행부(130)를 포함할 수 있다.
감지부(310)는 서버 내의 특정 API 함수, 예컨대 기 정의된 시스템 함수가 임의의 파일에 의해 호출되는지를 감지할 수 있다.
또한, 감지부(310)는 임의의 파일에 의해 특정 API 함수가 호출되는 것이 감지됨에 따라 특정 API 함수의 실행을 보류시킨 후 판단부(110)를 구동시킬 수 있다.
판단부(110)는 도 1에서 설명한 바와 같이 API 함수를 호출한 파일과 허용 파일 리스트간의 비교를 통해 호출한 파일이 허용 파일인지를 판단하고, 허용 파일일 경우 호출한 파일로부터 전달받은 인자 값과 허용 인자 리스트간의 비교를 통해 인자 값이 허용 인자 값인지를 판단할 수 있다. 또한, 판단부(110)는 판단 결과에 의거하여 차단부(120)를 동작시켜 API 함수의 실행을 차단하거나 또는 실행부(130)를 통해 API 함수를 실행시킬 수 있다.
상기와 같은 구성을 갖는 본 발명의 다른 실시예에 따른 웹 쉘 탐지 장치(300)를 이용한 함수 실행 제어 방법(400)에 대해 도 4를 참조하여 설명한다.
도 4는 본 발명의 다른 실시예에 따른 웹 쉘 탐지 장치(300)를 이용한 함수 실행 제어 방법(400)을 도시한 순서도이다.
도 4에 도시된 방법은 예를 들어, 전술한 도 3의 웹 쉘 탐지 장치(300)에 의해 수행될 수 있다. 도시된 순서도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다. 또한 실시예에 따라 도 4에 도시되지 않은 하나 이상의 단계들이 도 4에 도시된 방법과 함께 수행될 수도 있다.
도 4에 도시된 바와 같이, 웹 쉘 탐지 장치(300)는 웹 쉘 탐지 장치(300)를 포함한 서버(미도시됨) 내에 정의된 API 함수가 임의의 파일에 의해 호출되는지를 판단한다(단계 402).
단계 402의 판단 결과, API 함수가 호출되는 경우 웹 쉘 탐지 장치(300)는 호출한 파일이 허용 파일인지를 판단한다(단계 404). 구체적으로, 웹 쉘 탐지 장치(300)는 호출한 파일의 정보와 허용 파일 리스트간의 비교하여 웹 쉘이 허용 파일인지를 판단할 수 있다.
단계 404의 판단 결과, 허용 파일인 경우 웹 쉘 탐지 장치(300)는 호출한 파일로부터 전달받은 인자 값, 예컨대 호출한 파일 상에 입력된 명령어에 대응하는 인자 값을 전달받으며(단계 406), 전달받은 인자 값과 이 허용 인자 값인지를 판단한다(단계 408). 구체적으로, 웹 쉘 탐지 장치(300)는 전달받은 인자 값과 허용 인자 리스트간의 비교를 통해 전달받은 인자 값이 허용 인자 값인지를 판단할 수 있다.
단계 408의 판단 결과, 허용 인자 값인 경우 웹 쉘 탐지 장치(300)는 웹 쉘에 의한 API 함수의 호출에 따른 이력 정보를 소정의 파일에 기록(단계 410)한 후 API 함수를 실행시킨다(단계 412).
한편, 단계 404 또는 단계 408의 판단 결과 허용 파일이 아니거나 허용 인자 값이 아닌 경우 웹 쉘 탐지 장치(300)는 호출한 파일을 웹 쉘로 탐지하여 호출한 파일에 의한 API 함수의 실행을 차단시킨다(단계 414).
상술한 본 발명의 실시예들은 본 명세서에서 기술한 일 실시예 및 다른 실시예에 따른 웹 쉘 탐지 장치를 이용한 함수 실행 제어 방법(200, 400)을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100, 300 : 웹 쉘 탐지 장치
110 : 판단부
120 : 차단부
130 : 실행부
310 : 감지부

Claims (10)

  1. 함수를 호출하는 파일이 웹 쉘인지를 탐지하기 위한 장치로서,
    상기 함수를 호출한 파일과 기 정의된 허용 파일 리스트간의 비교를 통해 상기 호출한 파일이 웹 쉘인지를 판단하고, 상기 호출한 파일이 웹 쉘이 아닐 경우 상기 호출한 파일로부터 전달받은 인자 값과 기 정의된 허용 인자 리스트간의 비교를 통해 상기 인자 값이 허용 인자 값인지를 판단하는 판단부;
    상기 호출한 파일이 웹 쉘이거나 상기 전달받은 인자 값이 허용 인자 값이 아닐 경우 상기 파일에 의해 호출된 함수의 실행을 차단시키는 차단부; 및
    상기 호출한 파일이 허용 파일이거나 상기 전달받은 인자 값이 허용 인자 값인 경우 상기 파일에 의해 호출된 함수를 실행시켜 상기 호출한 파일에 의한 상기 함수의 사용 이력을 기록하는 실행부를 포함하는, 웹 쉘 탐지 장치.
  2. 삭제
  3. 제1항에 있어서,
    상기 파일에 의해 호출되는 함수는 자바 계열의 실행함수, PHP 계열의 실행 함수 또는 ASP 계열의 오브젝트 생성 함수이며,
    상기 웹 쉘 탐지 장치는 상기 함수 내에 포함되어 동작하는, 웹 쉘 탐지 장치.
  4. 임의의 파일에 의해 서버에 기 정의된 함수가 호출되는지를 감지하는 감지부;
    상기 임의의 파일과 기 정의된 허용 파일 리스트간의 비교를 통해 상기 임의의 파일이 웹 쉘인지를 판단하고, 상기 호출한 파일이 웹 쉘이 아닐 경우 상기 임의의 파일로부터 전달받은 인자 값과 기 정의된 허용 인자 리스트간의 비교를 통해 상기 인자 값이 허용 인자 값인지를 판단하는 판단부;
    상기 임의의 파일이 웹 쉘이거나 상기 전달받은 인자 값이 허용 인자 값이 아닐 경우 상기 파일에 의해 호출된 함수의 실행을 차단시키는 차단부; 및
    상기 임의의 파일이 허용 파일이거나 상기 전달받은 인자 값이 허용 인자 값인 경우 상기 임의의 파일에 의해 호출된 함수를 실행시켜, 상기 임의의 파일에 의한 상기 함수의 사용 이력을 기록하는 실행부를 포함하는, 웹 쉘 탐지 장치.
  5. 삭제
  6. 제4항에 있어서,
    상기 기 정의된 함수는 자바 계열의 실행함수, PHP 계열의 실행 함수 또는 ASP 계열의 오브젝트 생성 함수인, 웹 쉘 탐지 장치.
  7. 파일에 의해 호출되는 함수의 실행을 제어하는 장치를 이용한 상기 함수의 실행을 제어하는 방법으로서,
    상기 함수를 호출한 파일과 기 정의된 허용 파일 리스트간의 비교를 통해 상기 호출한 파일이 웹 쉘인지를 판단하는 단계;
    상기 호출한 파일이 웹 쉘이 아닐 경우 상기 호출한 파일로부터 전달받은 인자 값과 기 정의된 허용 인자 리스트간의 비교를 통해 상기 인자 값이 허용 인자 값인지를 판단하는 단계;
    상기 인자 값이 상기 허용 인자 값이 아니거나, 상기 호출한 파일이 웹 쉘일 경우 상기 호출한 파일에 의한 함수의 실행을 차단시키는 단계;
    상기 호출한 파일이 허용 파일이거나 상기 인자 값이 허용 인자 값인 경우 상기 호출한 파일에 의한 상기 함수의 사용 이력을 기록하는 단계; 및
    상기 호출한 파일에 의해 호출된 함수를 실행시키는 단계를 포함하는, 웹 쉘 탐지 장치를 이용한 함수 실행 제어 방법.
  8. 삭제
  9. 제7항에 있어서,
    상기 함수 실행 제어 방법은
    기 정의된 함수가 임의의 파일에 의해 호출되는지를 감지하는 단계를 더 포함하며,
    상기 기 정의된 함수가 호출되는 것이 감지되면 상기 판단하는 단계를 수행하는, 웹 쉘 탐지 장치를 이용한 함수 실행 제어 방법.
  10. 제7항 및 제9항 중 어느 한 항에 있어서,
    상기 함수는 자바 계열의 실행함수, PHP 계열의 실행 함수 또는 ASP 계열의 오브젝트 생성 함수인, 웹 쉘 탐지 장치를 이용한 함수 실행 제어 방법.
KR1020140072654A 2014-06-16 2014-06-16 웹 쉘 탐지 장치와 이를 이용한 함수 실행 제어 방법 KR101585968B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140072654A KR101585968B1 (ko) 2014-06-16 2014-06-16 웹 쉘 탐지 장치와 이를 이용한 함수 실행 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140072654A KR101585968B1 (ko) 2014-06-16 2014-06-16 웹 쉘 탐지 장치와 이를 이용한 함수 실행 제어 방법

Publications (2)

Publication Number Publication Date
KR20150144046A KR20150144046A (ko) 2015-12-24
KR101585968B1 true KR101585968B1 (ko) 2016-01-15

Family

ID=55084117

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140072654A KR101585968B1 (ko) 2014-06-16 2014-06-16 웹 쉘 탐지 장치와 이를 이용한 함수 실행 제어 방법

Country Status (1)

Country Link
KR (1) KR101585968B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160154449A1 (en) 2014-11-27 2016-06-02 Eui Choel LIM System on chips for controlling power using workloads, methods of operating the same, and computing devices including the same

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101080953B1 (ko) 2011-05-13 2011-11-08 (주)유엠브이기술 실시간 웹쉘 탐지 및 방어 시스템 및 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050268112A1 (en) * 2004-05-28 2005-12-01 Microsoft Corporation Managing spyware and unwanted software through auto-start extensibility points
KR100968126B1 (ko) * 2008-02-15 2010-07-06 한국인터넷진흥원 웹쉘 탐지 시스템 및 웹쉘 탐지 방법
KR100951379B1 (ko) * 2008-04-29 2010-04-08 주식회사 안철수연구소 메모리 조작 방지 장치
KR101234063B1 (ko) 2010-12-21 2013-02-15 한국인터넷진흥원 악성코드 자동 수집 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101080953B1 (ko) 2011-05-13 2011-11-08 (주)유엠브이기술 실시간 웹쉘 탐지 및 방어 시스템 및 방법

Also Published As

Publication number Publication date
KR20150144046A (ko) 2015-12-24

Similar Documents

Publication Publication Date Title
US9836608B2 (en) System, method and apparatus for simultaneous definition and enforcement of access-control and integrity policies
US9183377B1 (en) Unauthorized account monitoring system and method
EP2946330B1 (en) Method and system for protecting computerized systems from malicious code
KR102307534B1 (ko) 다수 소프트웨어 개체들에 걸쳐서 악성 행동을 트래킹하기 위한 시스템들 및 방법들
US9094451B2 (en) System and method for reducing load on an operating system when executing antivirus operations
US8904537B2 (en) Malware detection
US8099596B1 (en) System and method for malware protection using virtualization
US9104870B1 (en) Detecting malware
US7665139B1 (en) Method and apparatus to detect and prevent malicious changes to tokens
US7607173B1 (en) Method and apparatus for preventing rootkit installation
JP2015141718A (ja) プログラムの脆弱点を用いた攻撃の探知装置および方法
Yu et al. Access control to prevent attacks exploiting vulnerabilities of webview in android OS
US20230297676A1 (en) Systems and methods for code injection detection
CN110717181B (zh) 基于新型程序依赖图的非控制数据攻击检测方法及装置
Huang et al. A11y and Privacy don't have to be mutually exclusive: Constraining Accessibility Service Misuse on Android
KR101429131B1 (ko) 시스템 보호를 위한 파일 보안용 관리장치와 관리방법
KR101723623B1 (ko) 악성 코드 탐지 시스템 및 방법
US11170103B2 (en) Method of detecting malicious files resisting analysis in an isolated environment
KR101585968B1 (ko) 웹 쉘 탐지 장치와 이를 이용한 함수 실행 제어 방법
EP2881883B1 (en) System and method for reducing load on an operating system when executing antivirus operations
Jain Android security: Permission based attacks
KR102463814B1 (ko) 서버 모니터링 방법 및 장치
US10552626B2 (en) System and method for selecting a data entry mechanism for an application based on security requirements
Shuang et al. Using inputs and context to verify user intentions in internet services
Venelle et al. Security enhanced java: Mandatory access control for the java virtual machine

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181206

Year of fee payment: 4