KR101331879B1 - 명령어 관리 장치 - Google Patents

명령어 관리 장치 Download PDF

Info

Publication number
KR101331879B1
KR101331879B1 KR1020130060856A KR20130060856A KR101331879B1 KR 101331879 B1 KR101331879 B1 KR 101331879B1 KR 1020130060856 A KR1020130060856 A KR 1020130060856A KR 20130060856 A KR20130060856 A KR 20130060856A KR 101331879 B1 KR101331879 B1 KR 101331879B1
Authority
KR
South Korea
Prior art keywords
command
threat
input
shell script
input syntax
Prior art date
Application number
KR1020130060856A
Other languages
English (en)
Inventor
윤종선
Original Assignee
지코컨설팅 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 지코컨설팅 주식회사 filed Critical 지코컨설팅 주식회사
Priority to KR1020130060856A priority Critical patent/KR101331879B1/ko
Application granted granted Critical
Publication of KR101331879B1 publication Critical patent/KR101331879B1/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)
  • Stored Programmes (AREA)

Abstract

본 발명의 명령어 관리 장치는 위협 명령어를 감지하는 감지부 및 상기 위협 명령어의 실행을 보류하고 설정 환경에 따라 상기 위협 명령어를 처리하는 처리부를 포함함으로써, 위협 명령에 의해 위협받는 정보를 신뢰성 있게 보호할 수 있다.

Description

명령어 관리 장치{APPARATUS FOR MANAGING INSTRUCTION}
본 발명의 위협 명령어를 관리하는 장치에 관한 것이다.
네트워크를 기반으로 하는 컴퓨터 시스템의 사용이 일반화되고, 컴퓨터의 성능이 높아져 감에 따라 점차 컴퓨터 시스템의 다양한 범용성을 효율적으로 활용하기 위한 시스템들이 등장하고 있다.
네트워크를 기반으로 하는 컴퓨터 시스템을 통해 다양한 정보를 공유할 수 있게 된 한편, 보안 문제의 중요성이 부각되고 있다.
네트워크를 통해 다양한 노드로 접속할 수 있는 환경이 마련된 근래 악의의 사용자가 데이터베이스에 저장된 정보들을 파괴하는 등의 행위가 지속적으로 보고되고 있다.
이에 대한 대책으로 접속 권한에 대한 심사의 신뢰성을 개선하는 방안이 지속적으로 연구되고 있으나, 기저장된 정보의 보호에 대한 연구는 미흡한 실정이다.
한국공개특허공보 특2000-0037690호에는 입력된 사용자별 실행명령어 제어 신호에 따라 동작하는 실행명령어 저장수단을 포함함으로써 실행명령어의 관리가 가능한 장치가 개시되고 있다. 그러나, 해당 명령어들로 인해 기저장된 정보들이 파괴되는 것으로부터 기저장된 정보들을 보호하는 기술은 개시되지 않고 있다.
한국공개특허공보 특2000-0037690호
본 발명은 위협 명령어로부터 기저장된 정보를 보호하는 장치를 제공하기 위한 것이다.
본 발명이 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 명령어 관리 장치는 위협 명령어를 감지하는 감지부 및 상기 위협 명령어의 실행을 보류하고 설정 환경에 따라 상기 위협 명령어를 처리하는 처리부를 포함할 수 있다.
본 발명의 명령어 관리 장치는 명령어가 기록된 제1 룩업 테이블이 마련된 감지부를 포함하고, 상기 감지부는 상기 제1 룩업 테이블을 이용하여 입력 구문을 상기 명령어 또는 쉘 스크립트로 구분할 수 있다.
본 발명의 명령어 관리 장치는 하나 이상의 명령어를 실행시키는 쉘 스크립트에 포함된 위협 명령어를 감지하는 감지부를 포함할 수 있다.
본 발명의 명령어 관리 장치는 n 뎁스(depth)의 하위 쉘 스크립트를 포함하는 상위 쉘 스크립트의 입력시 상기 하위 쉘 스크립트를 상기 n 뎁스 단위까지 추적하고, 상기 상위 쉘 스크립트 내지 상기 n 뎁스 단위의 쉘 스크립트에 포함된 모든 명령어를 분석하여 위협 명령어를 감지하는 감지부를 포함할 수 있다.
본 발명의 명령어 관리 장치는 기입력된 제1 입력 구문을 저장하는 저장부 및 상기 제1 입력 구문 중 특정 입력 구문을 선택하는 제2 입력 구문의 입력시 상기 저장부를 참조하여 상기 제2 입력 구문에 의해 선택된 상기 특정 입력 구문을 추출하고, 상기 특정 입력 구문이 위협 명령어인지 감지하는 감지부를 포함할 수 있다.
본 발명의 명령어 관리 장치는 입력 구문이 위협 명령어에 해당하는 경우 설정 환경에 따라 위협 명령어를 처리함으로써 위협 명령에 의해 위협받는 정보를 신뢰성 있게 보호할 수 있다.
도 1은 본 발명의 명령어 관리 장치를 나타낸 블럭도이다.
도 2는 최하위 쉘 스크립트 단위를 설명하기 위한 개략도이다.
도 3은 본 발명의 명령어 관리 장치를 구성하는 감지부의 동작을 나타낸 흐름도이다.
도 4는 단말기와 서버 간의 데이터 교환을 나타낸 순서도이다.
도 5는 본 발명의 다른 명령어 관리 장치의 동작을 나타낸 흐름도이다.
도 6은 도 5의 명령어 관리 장치의 다른 동작을 나타낸 흐름도이다.
도 7은 본 발명의 또다른 명령어 관리 장치의 동작을 나타낸 흐름도이다.
도 8은 본 발명의 또다른 명령어 관리 장치의 동작을 나타낸 흐름도이다.
이하, 첨부된 도면들을 참조하여 본 발명에 따른 실시예를 상세히 설명한다. 이 과정에서 도면에 도시된 구성요소의 크기나 형상 등은 설명의 명료성과 편의상 과장되게 도시될 수 있다. 또한, 본 발명의 구성 및 작용을 고려하여 특별히 정의된 용어들은 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 한다.
도 1은 본 발명의 명령어 관리 장치를 나타낸 블럭도이다.
도 1에 도시된 명령어 관리 장치(130)는 감지부(131) 및 처리부(133)를 포함할 수 있다.
위협 명령어는 서버(120), 데이터베이스 등에 저장된 정보의 내용을 수정할 수 있는 명령어일 수 있다. 기저장된 정보의 내용을 수정시키는 동작에는 기저장된 정보를 소거시키는 삭제, 기저장된 정보를 다른 정보로 대체하는 변경 등이 있을 수 있다.
일예로 유닉스 시스템에서 'rm' 명령어는 파일 또는 디렉토리를 삭제시키는 명령어이다. 'rm' 명령어의 옵션으로 -i(지우기전 확인), -r(하위 디렉토리 포함), -f(강제로 지움)가 있으며, 아래 구문의 경우 abc 디렉토리의 모든 것을 지우게 된다.
rm -rf abc
rm으로 지운 파일 또는 디렉토리는 복구가 불가능하므로 신중하게 처리될 필요가 있다. 이러한 rm 명령어를 악의의 사용자가 사용하게 된다면 중요한 정보가 복구 불가능한 상태로 소거될 수 있다.
이와 같이 정보 유지에 심각한 타격을 줄 수 있는 rm 명령어를 용이하게 사용할 수 있도록 한다면 기저장된 정보들에 대한 보호가 불완전해질 수밖에 없다. 따라서, rm 명령어과 같이 정보의 내용을 수정할 수 있는 위협 명령어를 관리할 필요가 있으며, 이를 위해 먼저 감지부(131)를 통해 위협 명령어의 실행 요청을 감지할 필요가 있다.
감지부(131)는 위협 명령어를 감지할 수 있다.
이를 위해 감지부(131)에는 명령어가 기록된 제1 룩업 테이블이 마련될 수 있다. 감지부(131)는 제1 룩업 테이블을 이용하여 입력 구문을 명령어 또는 쉘 스크립트로 구분할 수 있다. 이때, 제1 룩업 테이블에 기록된 명령어는 명령어 관리 장치의 보호 대상이 되는 각종 서버(120), 데이터베이스 등에서 처리될 수 있는 명령어일 수 있다.
예를 들어 명령어 관리 장치에 의해 보호되는 서버(120)에서 데이터(정보)를 삭제하는 rm, 데이터 리스트를 출력하는 ls 2개의 명령어를 처리할 수 있는 경우를 가정한다. 이때, 감지부(131)에는 rm, ls가 기록된 다음의 표1과 같은 제1 룩업 테이블이 마련될 수 있다.
제1 룩업 테이블
rm
ls
입출력 장치가 마련된 단말기(110)와 보호될 정보가 기록된 서버(120)의 사이에 명령어 관리 장치가 배치된 경우 감지부(131)는 단말기(110)로부터 입력된 입력 구문을 제1 룩업 테이블과 비교할 수 있다.
감지부(131)는 비교 결과, 입력 구문이 제1 룩업 테이블에 기록된 명령어와 일치하면 입력 구문을 명령어로 파악하고, 입력 구문이 제1 룩업 테이블에 기록된 명령어와 다르면 입력 구문을 쉘 스크립트로 파악할 수 있다.
쉘 스크립트는 하나 이상의 내부 구문을 포함하고 명령어와 다른 이름을 가질 수 있다. 이때 내부 구문은 명령어이거나 다른 쉘 스크립트일 수 있다. 쉘 스크립트는 DOS의 배치 파일과 유사한 개념으로 볼 수 있다.
유닉스, 리눅스 시스템에서 쉘 스크립트는 쉘 명령을 수행하도록 작성된 크립트를 의미한다. 단순하게 순차적으로 명령어를 나열할 수도 있고, 조건문과 반복문 등을 이용하는 것도 가능하다. DOS의 배치 파일과 용도가 비슷하지만, 쉘은 여러 명령어의 지원을 받아 뛰어난 수준의 스크립트 작성이 가능하다.
예를 들어 입력 구문이 a.sh인 경우 감지부(131)는 제1 룩업 테이블과의 비교를 통해 해당 입력 구문을 명령어가 아닌 쉘 스크립트로 파악할 수 있다.
정리하면, 감지부(131)는 제1 룩업 테이블을 이용하여 입력 구문이 명령어인지 쉘 스크립트인지 구분할 수 있다.
한편, 감지부(131)는 제1 룩업 테이블에 기록된 명령어를 위협 명령어와 일반 명령어로 구분하기 위한 제2 룩업 테이블을 포함할 수 있다. 표 1에서 ls는 정보의 내용을 변경하는 명령어가 아니므로 일반 명령어로 구분하고, rm은 정보의 내용을 변경하는 명령어이므로 일반 명령어로 구분될 수 있다.
다음의 표 2에 제2 룩업 테이블의 예를 나타내었다.
제2 룩업 테이블
rm
표 2에는 제2 룩업 테이블로 위협 명령어가 기록되고 있다. 이 경우 감지부(131)는 입력 구문과 제2 룩업 테이블에 기록된 명령어가 일치하면 해당 입력 구문을 위협 명령어로 구분할 수 있다. 만약 입력 구문과 제2 룩업 테이블에 기록된 명령어가 다르면 해당 입력 구문을 일반 명령어로 구분할 수 있다.
이와 다르게 제2 룩업 테이블로 일반 명령어가 기록되어도 무방하다. 이 경우 감지부(131)는 입력 구문과 제2 룩업 테이블에 기록된 명령어가 일치하면 해당 입력 구문을 일반 명령어로 구분할 수 있다. 만약 입력 구문과 제2 룩업 테이블에 기록된 명령어가 다르면 해당 입력 구문을 위협 명령어로 구분할 수 있다.
참고로, 표 2의 제2 룩업 테이블에는 명령어만 기록되는 것으로 나타내었으나, 해당 명령어가 처리하는 옵션 등이 함께 기록될 수 있다.
예를 들어 제2 룩업 테이블에는 위협 명령어로 rm -rf abc이 기록될 수 있다. 이 경우 디렉토리 abc를 타겟으로 하위 디렉토리를 포함하여 강제로 지우는 경우에만 위협 명령어로 구분하게 된다.
만약, 입력 구문이 rm -rf tmp인 경우 위 내용과 다르므로 일반 명령어로 구분될 수 있다.
제2 룩업 테이블은 사업 정책에 따라 다양하게 변경될 수 있다.
감지부(131)는 제2 룩업 테이블을 이용하여 입력 구문 또는 쉘 스크립트를 구성하는 내부 구문 중 적어도 하나에 포함된 위협 명령어를 감지할 수 있다.
입력 구문은 명령어와 쉘 스크립트로 구분될 수 있다. 여기서, 쉘 스크립트는 명령어 또는 다른 쉘 스크립트로 구분될 수 있으며, 다른 쉘 스크립트는 명령어 또는 또 다른 쉘 스크립트로 구분될 수 있다. 이런식으로 따라가다 보면 결국엔 입력 구문은 명령어로 귀결된다. 감지부(131)는 이런 명령어를 제2 룩업 테이블과 비교함으로써 위협 명령어와 일반 명령어를 구분할 수 있다.
감지부(131)는 하나 이상의 명령어를 실행시키는 쉘 스크립트에 포함된 위협 명령어를 감지할 수 있다. 이를 위해 감지부(131)는 먼저 쉘 스크립트를 분석할 수 있다.
단말기(110)와 서버(120)가 마련될 때, 쉘 스크립트는 서버(120)에 저장될 수 있다. 이때, 감지부(131)는 단말기(110)에서 호출한 쉘 스크립트를 보내줄 것을 서버(120)로 요청하고, 서버(120)로부터 전송된 쉘 스크립트를 분석할 수 있다. 단말기(110)에서 쉘 스크립트를 호출하는 것은 해당 쉘 스크립트가 갖는 식별자인 a.sh 등의 입력 구문을 통해서 이루어질 수 있다.
분석 결과 쉘 스크립트가 내부 구문으로 하위 쉘 스크립트를 포함할 때, 감지부(131)는 최하위 쉘 스크립트 단위까지 하위 쉘 스크립트를 추적할 수 있다. 이때, 최하위 쉘 스크립트는 실행 가능한 모든 내부 구문이 명령어로 구성된 쉘 스크립트일 수 있다. 다시 말해 최하위 쉘 스크립트에는 다른 쉘 스크립트를 호출하는 내부 구문이 포함되지 않을 수 있다. 이에 따르면 감지부(131)는 결국 입력 구문이 의도한 모든 명령어를 획득할 수 있다. 이후 획득된 명령어를 분석함으로써 위협 명령어를 파악할 수 있다.
도 2는 최하위 쉘 스크립트 단위를 설명하기 위한 개략도이고, 도 3은 본 발명의 명령어 관리 장치를 구성하는 감지부(131)의 동작을 나타낸 흐름도이다.
감지부(131)는 n 뎁스(depth)(여기서, n은 자연수이다)의 하위 쉘 스크립트를 포함하는 상위 쉘 스크립트의 입력시 하위 쉘 스크립트를 n 뎁스 단위까지 추적할 수 있다. 그리고, 상위 쉘 스크립트 내지 n 뎁스 단위의 쉘 스크립트에 포함된 모든 명령어를 분석하여 위협 명령어를 감지할 수 있다.
여기서, 뎁스는 쉘 스크립트의 깊이를 나타낼 수 있으며, 쉘 스크립트의 깊이는 감지부(131)에서 쉘 스크립트를 추적해 가는 단계를 의미할 수 있다.
일예로, 단말기(110)로부터 수신된 입력 구문이 상위 쉘 스크립트로서 쉘 스크립트 a.sh이고 a.sh에 하위 쉘 스크립트가 포함되지 않았다면 감지부(131)는 하위 쉘 스크립트를 추적할 필요없이 a.sh에 포함된 명령어를 분석하고 위협 명령어를 감지할 수 있다.
만약, a.sh에 하위 쉘 스크립트로 b.sh가 포함된다면 감지부(131)는 a.sh가 저장된 서버(120) 또는 다른 서버(120)를 대상으로 한 1단계 추적으로 b.sh를 확보한 후 b.sh를 분석할 수 있다. 이때 1단계 추적의 대상이 된 b.sh가 1 뎁스의 하위 쉘 스크립트일 수 있다.
b.sh의 분석 결과 하위 쉘 스크립트로 z.sh와 c.sh가 포함된다면 감지부(131)는 자신이 관할하는 서버(120)를 대상으로 한 2단계 추적으로 z.sh와 c.sh를 확보한 후 z.sh와 c.sh를 분석할 수 있다. 이때, 2단계 추적의 대상이 된 z.sh와 c.sh가 2 뎁스의 하위 쉘 스크립트일 수 있다.
z.sh의 분석 결과 하위 쉘 스크립트가 포함되지 않는 것으로 확인되면 감지부(131)는 z.sh의 하위 쉘 스크립트에 대한 추적을 중지할 수 있다.
c.sh의 분석 결과 하위 쉘 스크립트로 d.sh가 포함된다면 감지부(131)는 자신이 관할하는 서버(120)를 대상으로 한 3단계 추적으로 d.sh를 확보하고 d.sh를 분석할 수 있다. 이때, 3단계 추적의 대상이 된 d.sh가 3 뎁스의 하위 쉘 스크립트일 수 있다.
감지부(131)는 이런 방식으로 z.sh와 같이 내부 구문으로 하위 쉘 스크립트를 포함하지 않는 n 뎁스의 하위 쉘 스크립트인 n.sh까지 추적을 계속할 수 있다. 이때, n 뎁스가 최하위 쉘 스크립트 단위일 수 있다.
이러한 과정을 통해 감지부(131)는 입력 구문이 호출하는 쉘 스크립트 a.sh로 인해 실행될 수 있는 모든 명령어를 확보할 수 있으며, 이렇게 확보된 모든 명령어를 분석하여 위협 명령어를 감지할 수 있다.
이러한 감지부(131)의 동작에 따르면, 입력 구문이 명령어를 나타내거나 쉘 스크립트를 나타내는지에 상관없이 신뢰성 있게 위협 명령어를 감지할 수 있다. 참고로, 도 2의 실시예에서 모든 내부 구문이 명령어로 구성된 최하위 쉘 스크립트의 단위는 n 뎁스이다.
감지부(131)는 상위 쉘 스크립트 내지 n 뎁스 단위의 쉘 스크립트에 포함된 모든 명령어의 분석 결과 위협 명령어가 감지되지 않으면 서버(120)로 상위 쉘 스크립트 a.sh의 실행을 요청할 수 있다. 만약 위협 명령어가 감지되면 상위 쉘 스크립트 a.sh에 대한 처리를 처리부(133)에 맡길 수 있다.
처리부(133)는 위협 명령어의 실행을 보류하고 설정 환경에 따라 위협 명령어를 처리할 수 있다. 이때의 설정 환경은 사업 정책에 따라 다양할 수 있다. 예를 들어
설정 환경은 위협 명령어의 실행을 중지시키는 제1 모드, 위협 명령어의 실행 여부를 확인하는 확인 메뉴를 출력하고, 확인 메뉴에 대한 응답에 따라 위협 명령어의 실행 여부를 결정하는 제2 모드 중 적어도 하나를 포함할 수 있다.
제1 모드의 경우 단말기(110)의 사용자는 무슨 이유로 자신이 요청한 입력 구문의 실행이 이루어지지 않는지 확인하기가 어려울 수 있다. 이에 대한 대책으로 처리부(133)는 'To be forbidden a command in a shellscript(c.sh)'와 같은 실행 불가 메시지를 생성하고 단말기(110)로 전송하고 있다. 위 메시지는 a.sh의 분석 결과 c.sh에 포함된 위협 명령어로 인해 입력 구문이 실행될 수 없음을 나타낼 수 있다. 이에 따르면 사용자는 c.sh에 위협 명령어가 포함된 상황을 인지하고 적절하게 대처할 수 있다. 이때 위협 명령어의 실행 중지는 단말기(110)에서 요구한 a.sh의 실행 요청을 서버(120)로 전송하지 않는 것일 수 있다.
제2 모드의 경우 처리부(133)는 'There is a forbidden command in a shellscript(c.sh). Do you want to excute it? (Y/N)' 등의 확인 메뉴를 생성하고, 단말기(110) 또는 서버(120)로 전송할 수 있다. 처리부(133)는 단말기(110)로부터 확인 메뉴에 대한 응답으로 'Y'가 수신되면 a.sh의 실행 요청을 서버(120)로 전송하고, 'N'이 수신되면 a.sh의 실행 요청을 서버(120)로 전송하지 않을 수 있다.
a.sh의 실행을 요청한 단말기(110)로만 확인 메뉴를 전송하고, 해당 단말기(110)의 응답으로 a.sh가 실행된다면 정보의 보호에 불합리할 수 있다. 악의의 사용자라면 당연히 'Y'를 선택할 것이기 때문이다. 이러한 불합리를 해소하기 위해 처리부(133)는 위협 명령어의 타겟이 되는 서버(120)로 위협 명령어의 실행 여부를 확인하는 확인 메뉴를 출력할 수 있다. 이때, 처리부(133)는 확인 메뉴에 대한 서버(120)의 응답이 위협 명령어의 실행을 요구할 경우에만 위협 명령어를 실행시킬 수 있다.
도 3를 살펴보면, 본 발명의 명령어 관리 장치는 단말기(110)로부터 입력 구문의 실행이 요청되면, 해당 실행 요청을 바로 서버(120)로 전송하지 않고, 해당 입력 구문에 포함된 모든 명령어를 분석하여 위협 명령어가 존재하는지 분석한다. 분석 결과 위협 명령어가 존재하지 않는 경우에 입력 구문의 실행 요청을 서버(120)로 넘길 수 있다. 이에 따라 입력 구문은 서버(120)에서 실행될 수 있다.
이러한 동작 순서에 따르면 위협 명령어가 포함되지 않는 a.sh의 실행이 위협 명령어의 감지 과정에 소요되는 시간만큼 지연될 수 있다. 이러한 시간 지연을 최소화시키기 위해 감지부(131)는 표 3과 같은 제3 룩업 테이블을 포함할 수 있다.
제3 룩업 테이블
a.sh
감지부(131)는 위협 명령어의 감지 과정을 거쳐 위협 명령어가 미포함된 것으로 판명된 쉘 스크립트를 제3 룩업 테이블에 기록할 수 있다. 이후, 감지부(131)는 제3 룩업 테이블에 기록된 쉘 스크립트에 대해서는 위협 명령어를 감지하는 과정을 생략할 수 있다.
다만, 제3 룩업 테이블에 기록된 쉘 스크립트가 다른 내용으로 변경된다면 해당 쉘 스크립트에 대해서 위협 명령어를 새롭게 감지할 필요가 있다. 이를 위해서 제3 룩업 테이블에는 쉘 스크립트의 이름뿐만 아니라, 쉘 스크립트의 생성 일자가 기록될 수 있다. 또한, 쉘 스크립트의 파일 크기도 기록될 수 있다.
이 경우, 감지부(131)는 입력 구문으로 입력된 a.sh가 제3 룩업 테이블에 기록된 쉘 스크립트와 동일하더라도, 생성 일자, 파일 크기를 비교하고 하나라도 다르면 해당 입력 구문에 대해서 새롭게 위협 명령어를 감지할 수 있다.
이상에서 설명된 명령어 관리 장치에 따르면 명령어 또는 쉘 스크립트가 입력 구문으로 입력된 경우 신뢰성 있게 위협 명령어를 감지하고 처리할 수 있다. 이에 따라 서버(120) 또는 데이터베이스에 저장된 정보를 신뢰성 있게 보호할 수 있다.
단말기(110)로 입력된 입력 구문은 서버(120)에서 처리될 수 있다. 이에 따르면 단말기(110)는 입력 수단과 출력 수단(113)만이 마련된 터미널로 기능할 수 있다. 이 경우 단말기(110)와 서버(120) 간의 데이터 교환은 도 4와 같이 이루어질 수 있다.
도 4는 단말기(110)와 서버(120) 간의 데이터 교환을 나타낸 순서도이다. 도 4에는 디렉토리의 파일 리스트를 볼 수 있는 ls 명령어에 대한 처리 순서가 개시된다.
단말기(110)의 출력 수단(113)(113)에 문자 입력이 가능한 상태임을 나타내는 '#'이 표시되고 있다. 이 상태에서 키보드 등의 입력 수단을 통해 'l'이 입력되면 단말기(110)는 'l'의 코드값 108을 서버(120)로 전송한다.
서버(120)는 코드값 108을 인식, 분석하여 해당되는 문자 'l'을 복구하여 버퍼에 저장한다. 복구된 문자 'l'을 단말기(110)로 전송한다.
단말기(110)의 출력 수단(113)(113)에는 '#'와 함께 서버(120)로부터 전송된 'l'이 표시된다. 입력 수단을 통해 's'가 입력되고 단말기(110)는 's'의 코드값 115를 서버(120)로 전송한다.
서버(120)는 코드값 115에 해당되는 문자 's'를 복구하여 버퍼에 저장한다. 그리고, 복구된 문자 's'를 단말기(110)로 전송한다.
단말기(110)의 출력 수단(113)(113)에는 '#l'과 함께 서버(120)로부터 전송된 's'가 표시된다. 입력 수단을 통해 ENTER키가 입력되고 단말기(110)는 ENTER키의 코드값 13,10를 서버(120)로 전송한다.
서버(120)는 ENTER키를 인식하고 버퍼에 저장된 'ls'를 실행한다. 그리고 결과값을 단말기(110)로 전송한다.
단말기(110)의 출력 수단(113)(113)에는 ls 명령어의 실행 결과로 a.sh 등이 표시된다.
본 발명에 따르면 명령어 감지 장치가 단말기(110)와 서버(120)의 사이에 배치된다. 각 서버(120)에 명령어 감지 장치의 기능을 보조하는 에이전트(agent)가 배치되지 않으므로 에이전트가 배제된 agentless 방식의 시스템이 형성된다.
이러한 구조에 따르면 단말기(110)와 서버(120)의 사이에 배치된 명령어 관리 장치는 단말기(110)로부터 서버(120)로 전송되는 코드값이 수신된다. 따라서, 명령어 관리 장치에도 해당 코드값가 저장되는 버퍼가 마련되면 서버(120)와 마찬가지로 단말기(110)에 입력된 명령어 또는 쉘 스크립트를 파악할 수 있다.
다만, 이러한 구조에서는 단말기(110)에서 히스토리(history) 기능을 사용할 때 문제가 발생할 수 있다. 참고로, 히스토리 기능은 단말기(110) 사용자의 편의를 위해 서버(120)에서 제공되는 기능으로 기입력된 입력 구문을 화살표 키 등의 특수키(히스토리 단축키)를 이용하여 선택할 수 있는 기능이다.
예를 들어 단말기(110) 사용자가 히스토리 단축키에 해당하는 화살표 키를 입력하여 히스토리 기능을 이용할 경우 명령어 감지 장치에서는 해당 화살표 키가 선택한 명령어 또는 쉘 스크립트를 확인할 수 없다. 단지, 화살표 키에 해당하는 코드값만 알 수 있다.
즉, 단말기(110) 사용자가 히스토리를 사용하여 과거에 사용했던 위협 명령어를 화면에 표시되게 한 후 ENTER키를 입력한 경우, 명령어 관리 장치에서는 위협 명령어를 감지하지 못하고 정상 명령어로 인식하게 된다. 이에 따르면 서버(120)에서는 별다른 제재 없이 위협 명령어가 실행될 수 있다.
이를 방지하기 위해 감지부(131)는 기입력된 제1 입력 구문 중 특정 입력 구문을 선택하는 제2 입력 구문의 입력시, 제2 입력 구문에 의해 선택된 특정 입력 구문을 파악할 수 있다. 그리고 특정 입력 구문에 포함된 위협 명령어를 감지할 수 있다. 이때, 제1 입력 구문은 명령어 또는 쉘 스크립트일 수 있으며, 제2 입력 구문은 기입력된 제1 입력 구문을 선택하는 특수키의 입력 코드일 수 있다.
감지부(131)는 다양한 방식을 통하여 제2 입력 구문으로 선택된 특정 입력 구문을 파악할 수 있다. 이하의 예는 감지부(131)가 제2 입력 구문이 입력된 단말기(110)인 제1 노드와 제1 입력 구문이 타겟으로 하는 서버(120) 또는 데이터베이스인 제2 노드의 사이에 위치한 상태를 가정한 것일 수 있다.
또한, 설명의 편의를 위해 제1 입력 구문으로 ls, rm이 순서대로 입력된 후에 화살표 키가 입력된 경우를 가정한다. 화살표 키가 한번 입력되면 가장 최근에 입력된 rm이 선택되어 출력 수단(113)으로 표시되고, 화살표 키가 두번 입력되면 rm 전에 입력된 ls가 선택되어 출력 수단(113)으로 표시되는 것으로 가정한다. 물론, ls와 rm 각각에 대해서는 감지부(131) 및 처리부(133)에 의해 이미 위협 명령어에 대한 처리가 이루어진 상태일 수 있다.
도 5는 본 발명의 다른 명령어 관리 장치의 동작을 나타낸 흐름도이다.
제1 실시예로 감지부(131)는 제1 입력 구문을 저장하고, 제2 입력 구문의 수신시 기저장된 제1 입력 구문 중 제2 입력 구문에 매칭되는 제1 입력 구문을 특정 입력 구문으로 파악할 수 있다.
제1 실시예에서는 서버(120)의 히스토리 기능을 감지부(131)에서 대신하고 있다.
단말기(110)에서 'ls'의 실행과 'rm'의 실행을 순서대로 요청한다. 감지부(131) 및 처리부(133)에 의해 'ls'는 정상적으로 실행되고, 'rm'은 위협 명령어로 처리된 상태이다. 또한, 이 과정에서 감지부(131)는 단말기(110)에서 이용 가능한 히스토리를 제공하기 위해 버퍼 등의 저장부에 'ls'와 'rm'을 저장할 수 있다. 이때, 저장부에 저장된 'ls'와 'rm'은 제1 입력 구문일 수 있다.
이후 단말기(110)에서 히스토리 기능을 이용하기 위해 제1 입력 구문을 선택하기 위한 특수키인 화살표 키가 입력되면 해당 코드값은 감지부(131)로 전송된다.
감지부(131)는 코드값이 히스토리 기능을 요청하는 것임을 인식하고, 가장 최근에 저장된 'rm'을 단말기(110)로 전송한다. 이에 따라 단말기(110)에는 감지부(131)로부터 전송된 'rm'이 표시된다.
이후, 해당 입력 구문의 실행을 요청하는 ENTER 키가 입력되면 ENTER 키에 대한 코드값이 감지부(131)로 전송된다.
ENTER 키를 인식한 감지부(131)는 가장 최근에 단말기(110)로 전송한 히스토리 구문이 'rm'임을 확인하고, 'rm'이 위협 명령어인지 감지하게 된다. 'rm'은 위협 명령어에 해당하므로 감지부(131)는 'rm'에 대한 처리를 처리부(133)에 위임하고, 처리부(133)는 'rm'의 실행 요청을 서버(120)로 전송하지 않을 수 있다.
위 동작에 따르면 명령어 관리 장치는 단말기(110)에서 제2 입력 구문을 사용하여 제1 입력 구문을 실행시키고자 할 경우라도 신뢰성 있게 위협 명령어를 감지할 수 있다.
도 6은 도 5의 명령어 관리 장치의 다른 동작을 나타낸 흐름도이다.
도 6은 도 5의 경우와 비교하여 감지부(131)에서 'rm'을 단말기(110)로 전송하는 것까지 동일하다.
이후, 단말기(110)에서 ENTER 키 입력이 다시 한번 이루어지고, 이에 따라 해당 화살표 키에 대한 코드값이 감지부(131)로 전송된다.
감지부(131)는 히스토리 기능에 따라 저장부에 'rm' 바로 이전에 저장된 'ls'를 추출하여 단말기(110)로 전송한다.
이후 단말기(110)로부터 ENTER 키가 입력되면 ENTER 키에 대한 코드가 감지부(131)로 전송된다. ENTER 키에 대한 코드가 수신된 감지부(131)는 가장 최근에 단말기(110)로 전송된 'ls'를 분석할 수 있다.
분석 결과 'ls'는 위협 명령어가 아니므로 감지부(131)는 'ls' 실행 요청을 서버(120)로 전달할 수 있다. 이후 서버(120)는 'ls'를 실행시키고 그 결과를 단말기(110)로 전송할 수 있다.
도 6의 실시예에 따르면 제2 입력 구문의 입력 회수와 상관없이 실질적으로 서버(120)로 실행이 요청되는 제1 입력 구문에 대한 위협 명령어 검사를 신뢰성 있게 수행됨을 알 수 있다.
도 7은 본 발명의 또다른 명령어 관리 장치의 동작을 나타낸 흐름도이다.
제2 실시예로 감지부(131)는 제2 입력 구문의 수신시 제2 노드에 기저장된 제1 입력 구문을 수신하고, 수신된 제1 입력 구문 중 제2 입력 구문에 매칭되는 제1 입력 구문을 특정 입력 구문으로 파악할 수 있다.
제2 실시예에서 히스토리 기능이 서버(120)와 감지부(131)에서 분담되어 처리되고 있다.
살펴보면, 제1 입력 구문에 대한 저장은 기본적으로 서버(120)에서 이루어지고 있다. 이에 따라 기입력된 제1 입력 구문인 'ls'와 'rm'은 서버(120)에 저장된다. 감지부(131)에서는 단말기(110)로부터 출력된 구문이 제2 입력 구문인지 실행 요청을 의미하는 ENTER 키인지 확인할 필요가 있으므로 단말기(110)로부터 출력되는 모든 구문을 확인할 수 있다.
단말기(110)로부터 제2 입력 구문으로 화살표 키에 해당되는 코드가 수신되면 감지부(131)는 해당 코드를 서버(120)로 전송하는 대신 서버(120)로 히스토리 파일을 요청할 수 있다. 히스토리 파일은 서버(120)에 기저장된 제1 입력 구문을 파악할 수 있는 파일 수 있다.
히스토리 파일이 서버(120)로부터 수신되면 감지부(131)는 히스토리 파일로부터 최근에 입력되었던 'rm'을 추출하고, 단말기(110)로 전송한다.
이후 단말기(110)로부터 다시 한번 화살표 키에 해당하는 코드가 수신되면 감지부(131)는 기수신된 히스토리 파일을 참조하여 'rm' 이전의 'ls'를 추출하여 단말기(110)로 전송한다.
단말기(110)로부터 ENTER 키가 수신되면 감지부(131)는 가장 최근에 단말기(110)로 전송된 'ls'를 분석하여 위협 명령어인지 감지하고, 그 결과에 따라 서버(120)로 'ls'의 전송 여부를 결정할 수 있다.
도 8은 본 발명의 또다른 명령어 관리 장치의 동작을 나타낸 흐름도이다.
제3 실시예로 감지부(131)는 제2 입력 구문의 응답으로 제2 노드로부터 전송된 제1 입력 구문을 특정 입력 구문으로 파악할 수 있다.
제3 실시예에서는 히스토리 기능이 서버(120)에서 처리되고 있다.
히스토리 기능의 제공을 위해 제1 입력 구문인 'ls'와 'rm'이 서버(120)에 저장된다. 물론, 해당 입력 구문이 위협 명령어인지는 명령어 관리 장치에서 확인 및 처리가 이루어진 상태이다. 또한, 해당 과정에서 입력 구문이 제2 입력 구문인지 등이 확인될 수 있다.
단말기(110)로부터 화살표 키에 대한 코드가 출력되면 감지부(131)는 해당 코드를 그대로 서버(120)로 전송한다.
서버(120)에서는 히스토리 기능을 이용하여 'rm'을 감지부(131)로 전송한다.
감지부(131)는 서버(120)로부터 수신된 'rm'을 저장하고, 단말기(110)로 전송한다.
단말기(110)로부터 다시 화살표 키에 대한 코드가 출력되면 감지부(131)는 마찬가지로 해당 코드를 그대로 서버(120)로 전송한다.
서버(120)로부터 'ls'가 전송되면 감지부(131)는 'ls'를 저장하고, 단말기(110)로 전송한다. 이때, 'ls'는 기존에 저장된 'rm'을 대체하여도 무방하다.
단말기(110)로부터 ENTER 키가 수신되면 감지부(131)는 그대로 서버(120)로 전달하지 않고 단말기(110)로 전송된 제1 입력 구문이 저장된 저장부를 참조하여 가장 최근에 전송된 'ls'를 분석한다.
이후 'ls'에 대한 위협 명령어 감지를 수행하고, 일반 명령어로 판별되면 서버(120)로 전송한다.
제3 실시예에 따르면 서버(120)의 히스토리 기능을 그대로 사용하면서도 제2 입력 구문이 나타내는 위협 명령어를 신뢰성 있게 감지할 수 있다.
정리하면, 이상에서 살펴본 본 발명의 명령어 관리 장치는 타이핑 코드가 출력되는 제1 노드, 타이핑 코드가 나타내는 입력 구문이 처리되는 제2 노드의 사이에 위치하는 감지부(131) 및 처리부(133)를 포함할 수 있다. 이때, 감지부(131)는 자체적으로 또는 제2 노드와의 통신을 통해 입력 구문에 포함된 위협 명령어를 감지할 수 있다. 처리부(133)는 위협 명령어의 감지시 제2 노드에서 위협 명령어가 처리되는 것을 보류시킬 수 있다.
타이핑 코드는 제1 입력 구문 또는 제2 입력 구문일 수 있다.
감지부(131)에서 자체적으로 이루어지는 위협 명령어 감지는 타이핑 코드가 명령어인 경우 또는 제2 입력 구문에 대한 히스토리 기능이 전적으로 감지부(131)에 마련된 경우일 수 있다. 감지부(131)에서 제2 노드와의 통신을 통해 이루어지는 위협 명령어 감지는 제2 노드로부터 쉘 스크립트를 가져와야 하는 경우 또는 제2 입력 구문에 대한 히스토리 기능이 제2 노드에 마련된 경우일 수 있다.
제1 노드는 단말기(110)일 수 있으며, 제2 노드는 서버(120) 또는 데이터베이스일 수 있다. 명령어 관리 장치는 제1 노드와 제2 노드의 사이에 마련되는 제3 노드일 수 있다. 이에 따르면 제2 노드에 에이전트 등의 요소를 부가하지 않으면서도 위협 명령어에 대한 감지가 신뢰성 있게 이루어질 수 있다.
이상에서 본 발명에 따른 실시예들이 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 범위의 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 다음의 특허청구범위에 의해서 정해져야 할 것이다.
110...단말기 113...출력 수단
120...서버
130...명령어 관리 장치 131...감지부
133...처리부

Claims (15)

  1. 명령어 또는 상위 쉘 스크립트의 실행을 요청하는 단말기;
    상기 단말기의 요청에 따라 상기 명령어 또는 상기 상위 쉘 스크립트를 실행하는 서버;
    상기 명령어 및 상기 상위 쉘 스크립트를 구분하고, 상기 명령어에 포함된 위협 명령어를 감지하는 감지부;
    상기 감지부에서 상기 위협 명령어가 감지되면 상기 위협 명령어의 실행을 보류하고 설정 환경에 따라 상기 위협 명령어를 처리하는 처리부; 를 포함하고,
    상기 감지부는,
    상기 상위 쉘 스크립트에 n 뎁스(depth) 단위의 하위 쉘 스크립트가 포함될 때 상기 위협 명령어가 상기 상위 쉘 스크립트 또는 상기 하위 쉘 스크립트에 포함되는 경우를 대비하여, 상기 하위 쉘 스크립트를 상기 n 뎁스(depth) 단위까지 추적하고, 상기 상위 쉘 스크립트 또는 상기 하위 쉘 스크립트에 포함된 모든 명령어를 추출하며, 상기 상위 쉘 스크립트 또는 상기 n 뎁스 단위의 하위 쉘 스크립트에 포함된 모든 명령어를 분석하여 상기 위협 명령어를 감지하는 명령어 관리 장치.
  2. 제1항에 있어서,
    상기 감지부는,
    상기 상위 쉘 스크립트를 보내줄 것을 상기 서버에 요청하고,
    상기 서버로부터 전송된 상기 상위 쉘 스크립트에 포함된 상기 하위 쉘 스크립트를 상기 서버 또는 상기 감지부에서 관할하는 다른 서버로부터 확보하는 명령어 관리 장치.
  3. 제1항에 있어서,
    상기 처리부는 상기 위협 명령어의 타겟이 되는 상기 서버로 상기 위협 명령어의 실행 여부를 확인하는 확인 메뉴를 출력하고, 상기 확인 메뉴에 대한 상기 서버의 응답이 상기 위협 명령어의 실행을 요구할 경우에만 상기 위협 명령어를 실행시키는 명령어 관리 장치.
  4. 제1항에 있어서,
    상기 설정 환경은 상기 위협 명령어의 실행을 중지시키는 제1 모드, 상기 위협 명령어의 실행 여부를 확인하는 확인 메뉴를 출력하고 상기 확인 메뉴에 대한 응답에 따라 상기 위협 명령어의 실행 여부를 결정하는 제2 모드 중 적어도 하나를 포함하는 명령어 관리 장치.
  5. 제1항에 있어서,
    상기 감지부에는 상기 명령어가 기록된 제1 룩업 테이블이 마련되고,
    상기 감지부는 상기 제1 룩업 테이블을 이용하여 상기 명령어 및 상기 상위 쉘 스크립트를 구분하는 명령어 관리 장치.
  6. 제5항에 있어서,
    상기 감지부는 상기 제1 룩업 테이블에 기록된 명령어를 상기 위협 명령어와 일반 명령어로 구분하기 위한 제2 룩업 테이블을 포함하고, 상기 제2 룩업 테이블을 이용하여 상기 상위 쉘 스크립트 또는 상기 하위 쉘 스크립트에 포함된 상기 위협 명령어를 감지하는 명령어 관리 장치.
  7. 제1항에 있어서,
    상기 감지부는 상기 위협 명령어가 미포함된 상기 상위 쉘 스크립트 또는 상기 하위 쉘 스크립트가 기록된 제3 룩업 테이블을 포함하고, 상기 제3 룩업 테이블에 기록된 쉘 스크립트에 대해서는 위협 명령어를 미감지하는 명령어 관리 장치.
  8. 삭제
  9. 삭제
  10. 제1항에 있어서,
    상기 감지부는 기입력된 제1 입력 구문 중 특정 입력 구문을 선택하는 제2 입력 구문의 입력시 상기 제2 입력 구문에 의해 선택된 상기 특정 입력 구문을 파악하고, 상기 특정 입력 구문에 포함된 상기 위협 명령어를 감지하는 명령어 감지 장치.
  11. 제10항에 있어서,
    상기 제2 입력 구문은 기입력된 상기 제1 입력 구문을 선택하는 특수키의 입력 코드인 명령어 관리 장치.
  12. 제10항에 있어서,
    상기 감지부는 상기 제2 입력 구문이 입력된 상기 단말기와 상기 제1 입력 구문이 타겟으로 하는 상기 서버의 사이에 위치하고,
    상기 감지부는 상기 제1 입력 구문을 저장하고, 상기 제2 입력 구문의 수신시 기저장된 상기 제1 입력 구문 중 상기 제2 입력 구문에 매칭되는 제1 입력 구문을 상기 특정 입력 구문으로 파악하는 명령어 관리 장치.
  13. 제10항에 있어서,
    상기 감지부는 상기 제2 입력 구문이 입력된 상기 단말기와 상기 제1 입력 구문이 타겟으로 하는 상기 서버의 사이에 위치하고,
    상기 감지부는 상기 제2 입력 구문의 수신시 상기 서버에 기저장된 제1 입력 구문을 수신하고, 수신된 상기 제1 입력 구문 중 상기 제2 입력 구문에 매칭되는 제1 입력 구문을 상기 특정 입력 구문으로 파악하는 명령어 관리 장치.
  14. 제10항에 있어서,
    상기 감지부는 상기 제2 입력 구문이 입력된 상기 단말기와 상기 제1 입력 구문이 타겟으로 하는 상기 서버의 사이에 위치하고,
    상기 감지부는 상기 제2 입력 구문의 응답으로 상기 서버로부터 전송된 상기 제1 입력 구문을 상기 특정 입력 구문으로 파악하는 명령어 관리 장치.
  15. 삭제
KR1020130060856A 2013-05-29 2013-05-29 명령어 관리 장치 KR101331879B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130060856A KR101331879B1 (ko) 2013-05-29 2013-05-29 명령어 관리 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130060856A KR101331879B1 (ko) 2013-05-29 2013-05-29 명령어 관리 장치

Publications (1)

Publication Number Publication Date
KR101331879B1 true KR101331879B1 (ko) 2013-11-21

Family

ID=49858237

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130060856A KR101331879B1 (ko) 2013-05-29 2013-05-29 명령어 관리 장치

Country Status (1)

Country Link
KR (1) KR101331879B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102230443B1 (ko) * 2020-12-14 2021-03-22 주식회사 이글루시큐리티 스크립트를 이용한 보안 취약점 진단 시 위험성 명령어 차단 및 대체 방법
CN117807595A (zh) * 2023-12-28 2024-04-02 北京火山引擎科技有限公司 反弹shell检测方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110068302A (ko) * 2009-12-16 2011-06-22 엘에스웨어(주) 유닉스/리눅스 시스템에서의 셸 기반의 접근제어시스템 및 접근제어방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110068302A (ko) * 2009-12-16 2011-06-22 엘에스웨어(주) 유닉스/리눅스 시스템에서의 셸 기반의 접근제어시스템 및 접근제어방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102230443B1 (ko) * 2020-12-14 2021-03-22 주식회사 이글루시큐리티 스크립트를 이용한 보안 취약점 진단 시 위험성 명령어 차단 및 대체 방법
CN117807595A (zh) * 2023-12-28 2024-04-02 北京火山引擎科技有限公司 反弹shell检测方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
JP6732891B2 (ja) マルウェア警告
CN109376078B (zh) 移动应用的测试方法、终端设备及介质
CN110225029B (zh) 注入攻击检测方法、装置、服务器及存储介质
US11537704B2 (en) Enforcing trusted application settings for shared code libraries
CN103473501B (zh) 一种基于云安全的恶意软件追踪方法
CN102882875B (zh) 主动防御方法及装置
CN108763951B (zh) 一种数据的保护方法及装置
CN112106047A (zh) 在电子设备处使用沉洞的反勒索软件系统和方法
CN110417718B (zh) 处理网站中的风险数据的方法、装置、设备及存储介质
US11636219B2 (en) System, method, and apparatus for enhanced whitelisting
US11487868B2 (en) System, method, and apparatus for computer security
KR20190080446A (ko) 랜섬웨어 탐지 방법, 이를 수행하기 위한 기록매체 및 램섬웨어 탐지 시스템
CN109997138A (zh) 用于检测计算设备上的恶意进程的系统和方法
KR101586048B1 (ko) 불법 어플리케이션 차단 시스템 및 서버, 이를 위한 통신 단말기 및 불법 어플리케이션 차단 방법과 기록매체
US11580248B2 (en) Data loss prevention
KR101429131B1 (ko) 시스템 보호를 위한 파일 보안용 관리장치와 관리방법
JP2010198565A (ja) 不正プログラム検知方法、不正プログラム検知プログラム、および情報処理装置
KR101331879B1 (ko) 명령어 관리 장치
JP6018344B2 (ja) 動的読み込みコード解析装置、動的読み込みコード解析方法及び動的読み込みコード解析プログラム
JP2008226133A (ja) 個人情報管理システム
KR101015515B1 (ko) 메모리의 개인 정보를 검색하는 개인정보 보호 시스템 및 그 개인정보 보호 방법
KR102656453B1 (ko) 개인정보 인쇄물 파기 관리 시스템 및 방법
JP7556477B2 (ja) バックドア検知装置、バックドア検知方法、及びプログラム
KR102473436B1 (ko) 물리 메모리 레이아웃 관리 방법 및 장치, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
US12013932B2 (en) System, method, and apparatus for enhanced blacklisting

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161111

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181113

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191107

Year of fee payment: 7