KR101965872B1 - 사용자실행명령어 감시방법, 이를 내장한 컴퓨터가 판독 가능한 기록매체 및 이를 수행하기 위한 명령어 감시 시스템 - Google Patents

사용자실행명령어 감시방법, 이를 내장한 컴퓨터가 판독 가능한 기록매체 및 이를 수행하기 위한 명령어 감시 시스템 Download PDF

Info

Publication number
KR101965872B1
KR101965872B1 KR1020120072303A KR20120072303A KR101965872B1 KR 101965872 B1 KR101965872 B1 KR 101965872B1 KR 1020120072303 A KR1020120072303 A KR 1020120072303A KR 20120072303 A KR20120072303 A KR 20120072303A KR 101965872 B1 KR101965872 B1 KR 101965872B1
Authority
KR
South Korea
Prior art keywords
user
log
command
result
user execution
Prior art date
Application number
KR1020120072303A
Other languages
English (en)
Other versions
KR20140011032A (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 KR1020120072303A priority Critical patent/KR101965872B1/ko
Publication of KR20140011032A publication Critical patent/KR20140011032A/ko
Application granted granted Critical
Publication of KR101965872B1 publication Critical patent/KR101965872B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

사용자실행명령어 감시방법, 이를 내장한 컴퓨터가 판독 가능한 기록매체 및 이를 수행하기 위한 명령어 감시 시스템이 개시된다. 서버시스템 기반 사용자실행명령어 감시방법은, (a) 서버시스템의 사용자가 키보드 스트로크를 통해 서버시스템에 사용자실행명령어를 기입하는지의 여부를 모니터링하는 단계; (b) 사용자가 사용자실행명령어를 기입함에 따라, 기입된 사용자실행명령어를 트랩핑하는 단계; (c) 트랩핑된 사용자실행명령어에 대응하는 명령어로그를 생성하는 단계; (d) 생성된 명령어로그를 암호화하는 단계; (e) 암호화된 명령어로그를 중앙 로그서버에 전송하는 단계; (f) 사용자실행명령어에 대응하여 사용자에게 제공되는 결과에 대응하는 결과로그를 선택적으로 생성하는 단계; (g) 생성된 결과로그와 결과로그에 대응하는 명령어로그를 암호화하는 단계; 및 (h) 암호화된 명령어로그와 결과로그를 중앙 로그서버에 전송하는 단계를 포함한다. 이에 따라, 리눅스나 유닉스 등의 서버시스템에서 사용자실행명령어를 로그화하여 중앙 로그서버로 암호화 전송함으로써 시스템의 보안담당자가 사용자의 행동을 지속적으로 감시 및 감사할 수 있다.

Description

사용자실행명령어 감시방법, 이를 내장한 컴퓨터가 판독 가능한 기록매체 및 이를 수행하기 위한 명령어 감시 시스템{METHOD FOR SURVEILLING A USER EXECUTION COMMAND, COMPUTER READABLE MEDIUM FOR STORING PROGRAM THEREIN, AND SYSTEM FOR PERFORMING THE METHOD}
본 발명은 사용자실행명령어 감시방법, 이를 내장한 컴퓨터가 판독 가능한 기록매체 및 이를 수행하기 위한 명령어 감시 시스템에 관한 것으로, 보다 상세하게는 리눅스나 유닉스 등의 서버시스템의 보안담당자가 사용자의 행동을 지속적으로 감시하고 감사할 수 있는 서버시스템 기반 사용자실행명령어 감시방법, 이를 내장한 컴퓨터가 판독 가능한 기록매체 및 이를 수행하기 위한 명령어 감시 시스템을 관한 것이다.
일반적으로, 로그파일(logfile)에는 서버를 통해 이루어지는 모든 작업들에 대한 기록이 저장된다. 사용자가 상기 서버에 접속하면, 접속후의 모든 작업들은 상기 서버의 미리 정해놓은 위치에 로그파일 형태로 남는다. 즉, 상기 로그파일에는 상기 서버가 수행한 작업들에 대한 정보가 포함된다. 이들은 단순히 특정 작업 요청과 성공 여부에 대한 것뿐만 아니라, 해당 특정 작업을 실패했을 경우 그 해결책에 대한 정보도 포함된다.
상기 로그파일에는 복수의 로그라인들이 저장되고, 상기 로그라인에는 방문자의 접속 인터넷 프로토콜(Internet Protocol, IP), 방문 날짜 및 시간, 방문 페이지 정보, 방문 상태 등의 정보들이 저장된다.
웹사이트 운영자나 기업인들은 광고나 운영방식의 변환에 따른 효과를 보다 객관적으로 평가하고, 효율적으로 회사를 운영하기 위해 상기 로그파일을 분석한다. 또한, 상기 로그파일은 효율적인 타겟 광고나 컨설팅을 통해 수익을 창출하기 위해 이용된다.
한편, 현재 기업 등의 조직에서는 내부직원 및 외주업체, 침입자 등의 다양한 IT주체가 정의된 통제 정책에 따라 기밀성, 무결성, 가용성이 보장된 상태로 운영될 수 있도록 여러 보안시스템들을 구축하여 관리하고 있다. 예를 들어, 주요 정보를 관리하는 서버에 접근하기 위한 권한을 관리해주는 접근권한 통제 시스템이나 원격에서의 데이터 전송을 감사하거나 암호화 채널을 사용하는 등의 노력을 하고 있다.
하지만, 권한을 갖는 사용자가 시스템에 접근하여 권한범위 안에서 활동을 하더라도, 그 내용이 보안에 위배되는 행동일 수 있기 때문에, 그에 대한 수행내역을 감사할 필요가 있다. 사용자가 시스템에서 실행한 행동 중 가장 중요한 부분은 사용자가 입력한 명령어이며, 현재는 개별 시스템에 들어가서 히스토리(history) 등을 하나씩 개별 확인을 해야 가능한 형태로, 이에 대한 통합감사가 가능하도록 각 서버시스템에서 각 사용자의 실행 명령어를 로그 형태로 발생시키고, 이를 중앙 로그서버로 전송하여 통합하는 것이 필요하다.
이에 본 발명의 기술적 과제는 이러한 점에 착안한 것으로, 본 발명의 목적은 리눅스나 유닉스 등의 서버시스템에서 사용자실행명령어를 로그화하여 중앙 로그서버로 암호화 전송함으로써 시스템의 보안담당자가 사용자의 행동을 지속적으로 감시하고 감사할 수 있는 서버시스템 기반 사용자실행명령어 감시방법을 제공하는 것이다.
본 발명의 다른 목적은 상기한 사용자실행명령어 감시방법에 대응하는 프로그램을 내장한 컴퓨터가 판독 가능한 기록매체를 제공하는 것이다.
본 발명의 또 다른 목적은 상기한 사용자실행명령어 감시방법을 수행하기 위한 명령어 감시 시스템을 제공하는 것이다.
상기한 본 발명의 목적을 실현하기 위하여 일실시예에 따른 서버시스템 기반 사용자실행명령어 감시방법은, (a) 서버시스템의 사용자가 키보드 스트로크를 통해 상기 서버시스템에 사용자실행명령어를 기입하는지의 여부를 모니터링하는 단계와, (b) 상기 사용자가 사용자실행명령어를 기입함에 따라, 기입된 사용자실행명령어를 트랩핑하는 단계와, (c) 상기 트랩핑된 사용자실행명령어에 대응하는 명령어로그를 생성하는 단계와, (d) 생성된 명령어로그를 암호화하는 단계와, (e) 암호화된 명령어로그를 중앙 로그서버에 전송하는 단계와, (f) 상기 사용자실행명령어에 대응하여 사용자에게 제공되는 결과에 대응하는 결과로그를 선택적으로 생성하는 단계와, (g) 생성된 결과로그와 상기 결과로그에 대응하는 명령어로그를 암호화하는 단계와, (h) 암호화된 명령어로그와 결과로그를 상기 중앙 로그서버에 전송하는 단계를 포함한다.
일실시예에서, 상기 결과로그는 상기 사용자실행명령어에 대응하여 사용자에게 제공되는 텍스트와 사용자 스크린에 표시되는 이미지중 어느 하나일 수 있다.
일실시예에서, 상기 이미지는 스크린 캡쳐된 이미지일 수 있다.
일실시예에서, 상기 명령어로그는 상기 결과로그에 대응하는 결과코드를 더 포함할 수 있다.
일실시예에서, 단계(f)는 (f-11) 상기 사용자실행명령어가 제한된 사용자실행명령어인지의 여부를 체크하는 단계와, (f-12) 상기 사용자실행명령어가 제한된 사용자실행명령어로 체크되면 상기 사용자실행명령어에 대응하여 제공되는 결과로그를 생성하는 단계와, (f-13) 상기 사용자실행명령어가 제한되지 않은 사용자실행명령어로 체크되면 상기 사용자실행명령어에 대응하여 제공되는 결과로그의 생성을 생략하는 단계를 포함할 수 있다.
일실시예에서, 단계(f)는 (f-21) 상기 사용자가 제한된 사용자인지의 여부를 체크하는 단계와, (f-22) 상기 사용자가 제한된 사용자로 체크되면 상기 사용자에 의해 기입되는 사용자실행명령어에 대응하여 제공되는 결과로그를 생성하는 단계와, (f-23) 상기 사용자가 제한되지 않은 사용자로 체크되면 상기 사용자실행명령어에 대응하여 제공되는 결과로그의 생성을 생략하는 단계를 포함할 수 있다.
상기한 본 발명의 다른 목적을 실현하기 위하여 일실시예에 따른 서버시스템 기반 사용자실행명령어 감시 프로그램을 내장한 컴퓨터가 판독 가능한 기록매체는, (a) 서버시스템의 사용자가 키보드 스트로크를 통해 상기 서버시스템에 사용자실행명령어를 기입하는지의 여부를 모니터링하는 과정과, (b) 상기 사용자가 사용자실행명령어를 기입함에 따라, 기입된 사용자실행명령어를 트랩핑하는 과정과, (c) 상기 트랩핑된 사용자실행명령어에 대응하는 명령어로그를 생성하는 과정과, (d) 생성된 명령어로그를 암호화하는 과정과, (e) 암호화된 명령어로그를 중앙 로그서버에 전송하는 과정과, (f) 상기 사용자실행명령어에 대응하여 사용자에게 제공되는 결과에 대응하는 결과로그를 선택적으로 생성하는 과정과, (g) 생성된 결과로그와 상기 결과로그에 대응하는 명령어로그를 암호화하는 과정과, (h) 암호화된 명령어로그와 결과로그를 상기 중앙 로그서버에 전송하는 과정을 포함한다.
일실시예에서, 상기 결과로그는 상기 사용자실행명령어에 대응하여 사용자에게 제공되는 텍스트와 사용자 스크린에 표시되는 이미지중 어느 하나일 수 있다.
일실시예에서, 상기 이미지는 스크린 캡쳐된 이미지일 수 있다.
일실시예에서, 상기 명령어로그는 상기 결과로그에 대응하는 결과코드를 더 포함할 수 있다.
일실시예에서, 과정(f)은 (f-11) 상기 사용자실행명령어가 제한된 사용자실행명령어인지의 여부를 체크하는 과정과, (f-12) 상기 사용자실행명령어가 제한된 사용자실행명령어로 체크되면 상기 사용자실행명령어에 대응하여 제공되는 결과로그를 생성하는 과정과, (f-13) 상기 사용자실행명령어가 제한되지 않은 사용자실행명령어로 체크되면 상기 사용자실행명령어에 대응하여 제공되는 결과로그의 생성을 생략하는 과정을 포함할 수 있다.
일실시예에서, 과정(f)은 (f-21) 상기 사용자가 제한된 사용자인지의 여부를 체크하는 과정과, (f-22) 상기 사용자가 제한된 사용자로 체크되면 상기 사용자에 의해 기입되는 사용자실행명령어에 대응하여 제공되는 결과로그를 생성하는 과정과, (f-23) 상기 사용자가 제한되지 않은 사용자로 체크되면 상기 사용자실행명령어에 대응하여 제공되는 결과로그의 생성을 생략하는 과정을 포함할 수 있다.
상기한 본 발명의 또 다른 목적을 실현하기 위하여 일실시예에 따른 서버시스템 기반 사용자실행명령어 감시 시스템은, 서버시스템의 사용자가 키보드 스트로크를 통해 상기 서버시스템에 사용자실행명령어를 기입하는지의 여부를 모니터링하는 모니터링모듈과, 상기 사용자가 사용자실행명령어를 기입함에 따라, 기입된 사용자실행명령어를 트랩핑하는 트랩핑모듈과, 상기 트랩핑된 사용자실행명령어에 대응하는 명령어로그를 생성하는 명령어로그 생성모듈과, 생성된 명령어로그를 암호화하는 암호화모듈과, 암호화된 명령어로그를 중앙 로그서버에 전송하는 전송모듈과, 상기 사용자실행명령어에 대응하여 사용자에게 제공되는 결과에 대응하는 결과로그를 선택적으로 생성하는 결과로그 생성모듈을 포함한다.
일실시예에서, 상기 암호화모듈은 생성된 결과로그와 상기 결과로그에 대응하는 명령어로그를 더 암호화하고, 상기 전송모듈은 암호화된 명령어로그와 결과로그를 상기 중앙 로그서버에 더 전송할 수 있다.
일실시예에서, 상기 결과로그는 상기 사용자실행명령어에 대응하여 사용자에게 제공되는 텍스트와 사용자 스크린에 표시되는 이미지중 어느 하나일 수 있다.
일실시예에서, 상기 이미지는 스크린 캡쳐된 이미지일 수 있다.
일실시예에서, 상기 명령어로그는 상기 결과로그에 대응하는 결과코드를 더 포함할 수 있다.
일실시예에서, 상기 결과로그 생성모듈은, 상기 사용자실행명령어가 제한된 사용자실행명령어인지의 여부를 체크하여, 상기 사용자실행명령어가 제한된 사용자실행명령어로 체크되면 상기 사용자실행명령어에 대응하여 제공되는 결과로그를 생성하고, 상기 사용자실행명령어가 제한되지 않은 사용자실행명령어로 체크되면 상기 사용자실행명령어에 대응하여 제공되는 결과로그의 생성을 생략할 수 있다.
일실시예에서, 상기 로그결과 생성모듈은, 상기 사용자가 제한된 사용자인지의 여부를 체크하여, 상기 사용자가 제한된 사용자로 체크되면 상기 사용자에 의해 기입되는 사용자실행명령어에 대응하여 제공되는 결과로그를 생성하고, 상기 사용자가 제한되지 않은 사용자로 체크되면 상기 사용자실행명령어에 대응하여 제공되는 결과로그의 생성을 생략할 수 있다.
이러한 사용자실행명령어 감시방법, 이를 내장한 컴퓨터가 판독 가능한 기록매체 및 이를 수행하기 위한 명령어 감시 시스템에 의하면, 리눅스나 유닉스 등의 서버시스템에서 사용자실행명령어를 로그화하여 중앙 로그서버로 암호화 전송함으로써 시스템의 보안담당자가 사용자의 행동을 지속적으로 감시 및 감사할 수 있다.
도 1은 본 발명의 일실시예에 따른 서버시스템 기반 사용자실행명령어 감시 장치를 설명하기 위한 구성도이다.
도 2는 본 발명의 일실시예에 따른 서버시스템 기반 사용자실행명령어 감시 장치를 설명하기 위한 블록도이다.
도 3은 도 2에 도시된 사용자실행명령어 감시 장치를 이용한 사용자실행명령어 감시 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 다른 실시예에 따른 서버시스템 기반 사용자실행명령어 감시 장치를 설명하기 위한 블록도이다.
도 5는 도 4에 도시된 사용자실행명령어 감시 장치를 이용한 사용자실행명령어 감시 방법을 설명하기 위한 흐름도이다.
도 6은 SUN OS 기반의 유닉스 서버시스템에서 사용자실행명령어 감시 에이젼트 프로그램의 동작을 설명하기 위한 흐름도이다.
도 7은 HP-UX OS 기반의 유닉스 서버시스템에서 사용자실행명령어 감시 에이젼트 프로그램의 동작을 설명하기 위한 흐름도이다.
도 8은 AIX OS 기반의 유닉스 서버에서 서버시스템 기반 사용자실행명령어 감시 에이젼트 프로그램의 동작을 설명하기 위한 흐름도이다.
이하, 첨부한 도면들을 참조하여, 본 발명을 보다 상세하게 설명하고자 한다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하여 도시한 것이다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 일실시예에 따른 서버시스템 기반 사용자실행명령어 감시 장치를 설명하기 위한 구성도이다.
도 1을 참조하면, 사용자실행명령어 감시 장치로서 동작하는 사용자실행명령어 감시 에이젼트(210)는 서버시스템(200)에 탑재된다. 상기 사용자실행명령어 감시 에이젼트(210)는 복수의 사용자들(110, 120, , 1n0)(여기서, n은 자연수)이 키보드 스트로크를 통해 상기 서버시스템(200)에 사용자실행명령어를 기입하는 것을 감시하여 해당 명령어로그를 중앙 로그서버(300)에 전송한다. 여기서, 명령어로그는 < 시간, user IP, user명, 명령어, PID, 발생시스템IP>와 같은 구조로 이루어질 수 있다.
이때, 상기 사용자실행명령어 감시 에이젼트(210)는 모든 사용자들이 기입하는 사용자실행명령어에 대응하는 명령어로그를 전송할 수도 있고, 제한된 사용자들이 기입하는 사용자실행명령어에 대응하는 명령어로그를 전송할 수도 있다. 예를들어, 제한된 사용자들은 파일의 불법유출이 의심되어 관리자에 의해 등록된 사용자일 수 있다.
또한, 상기 사용자실행명령어 감시 에이젼트(210)는 특정 사용자들이 기입하는 모든 사용자실행명령어에 대응하는 명령어로그를 전송할 수도 있고, 제한된 실행명령어에 대응하는 명령어로그를 전송할 수도 있다. 예를 들어, 제한된 실행명령어는 파일이나 디렉토리를 삭제하거나 이동하는 명령어, 파일을 복사하는 명령어 등일 수 있다.
또한, 상기 사용자실행명령어 감시 에이젼트(210)는 사용자들이 기입하는 사용자실행명령어에 대응하여 스크린 등에 표시될 수 있는 화면의 이미지 또는 상기 스크린에 표시될 수 있는 텍스트를 결과로그로서 전송할 수 있다.
이때, 결과로그로서 전송되는 경우, 명령어로그는 <시간, user IP, user명, 명령어, PID, 발생시스템IP, 결과코드>와 같은 구조로 이루어지고, 결과로그는 <결과코드.txt> 또는 <결과코드.image >와 같은 구조로 이루어질 수 있다.
상기한 명령어로그에 포함된 결과코드와 상기한 결과로그에 포함된 결과코드는 동일하다. 명령어로그와 결과로그에 결과코드를 부여하므로써 서로 다른 시간에 전송되더라도 어떤 명령어로그에 어떤 결과로그가 매칭되는지를 확인할 수 있다.
또한, 특정 결과코드가 포함된 명령어로그와 특정 결과코드가 포함된 결과로그는 서로 다른 매체에 저장되더라도 해당 특정 결과코드를 통해 불러올 수 있는 인덱스 기능을 부여할 수 있다.
이처럼, 결과로그를 함께 전송하는 것은 향후 서버시스템(200)에서의 불법행위, 예를들어, 불법으로 자료를 복사하거나 메일 전송 등을 통해 외부에 유출하는 행위나 불법으로 파일이나 디렉토리를 삭제하는 등의 행위에 대한 감사를 행하는데 유용하게 사용될 수 있다.
상기한 결과로그를 함께 전송하므로써 서버시스템(200)의 관리자측에게는 보다 명확한 불법 행위에 대한 증거자료로서 활용될 수 있다. 또한, 사용자측에게는 특정 시점에 기입한 사용자명령어에 대응하여 어떠한 결과를 얻지도 못했다는 소명자료로서 활용될 수 있다.
도 2는 본 발명의 일실시예에 따른 서버시스템 기반 사용자실행명령어 감시 장치(400)를 설명하기 위한 블록도이다. 즉, 서버시스템 기반 사용자실행명령어 감시 에이젼트 프로그램이 도시된다.
도 2를 참조하면, 사용자실행명령어 감시 장치(400)는 모니터링모듈(410), 트랩핑모듈(420), 명령어로그 생성모듈(430), 결과로그 생성모듈(440), 암호화모듈(450) 및 전송모듈(460)을 포함한다. 본 실시예에서, 사용자실행명령어 감시 장치(400)를 모니터링모듈(410), 트랩핑모듈(420), 명령어로그 생성모듈(430), 결과로그 생성모듈(440), 암호화모듈(450) 및 전송모듈(460)로 구분하였으나 이는 설명의 편의를 위해 논리적으로 구분하였을 뿐 하드웨어적으로 구분한 것은 아니다.
상기 모니터링모듈(410)은 서버시스템(200)의 사용자가 키보드 스트로크를 통해 상기 서버시스템(200)에 사용자실행명령어를 기입하는지의 여부를 모니터링한다.
상기 트랩핑모듈(420)은 상기 사용자가 사용자실행명령어를 기입함에 따라, 기입된 사용자실행명령어를 트랩핑한다.
상기 명령어로그 생성모듈(430)은 상기 트랩핑된 사용자실행명령어에 대응하는 명령어로그를 생성한다. 상기 명령어로그 생성모듈(430)은 예를들어, 초당 50개 이상의 사용자실행명령어를 로그화하여 상기 암호화모듈(450)에 암호화를 위해 전송한다. 이때, 생성되는 명령어로그는 사용자가 실행한 명령어 1개 당 1개의 로그라인 형태로 생성된다.
상기 결과로그 생성모듈(440)은 상기 사용자실행명령어에 대응하여 사용자에게 제공되는 결과에 대응하는 결과로그를 선택적으로 생성한다.
상기 암호화모듈(450)은 생성된 명령어로그를 암호화하거나 생성된 명령어로그 및 결과로그를 암호화한다.
상기 전송모듈(460)은 상기 암호화모듈(450)에 의해 암호화된 명령어로그 또는 암호화된 결과로그를 중앙 로그서버(300)에 전송한다. 상기한 전송은 실시간으로 이루어질 수도 있고, 일정 주기로 이루어질 수도 있으며, 관리자의 조작에 따라 이루어질 수도 있다.
도 3은 도 2에 도시된 사용자실행명령어 감시 장치를 이용한 사용자실행명령어 감시 방법을 설명하기 위한 흐름도이다.
도 1, 도 2 및 도 3을 참조하면, 상기 모니터링모듈(410)은 사용자실행명령어가 키보드 스트로크 등의 방식으로 기입되는지의 여부를 체크한다(단계 S112).
단계 S112에서 사용자실행명령어가 기입되는 것으로 체크되면, 상기 트랩핑모듈(420)은 사용자실행명령어를 트랩핑한다(단계 S114).
상기 명령어로그 생성모듈(430)은 트랩핑된 사용자실행명령어를 근거로 명령어로그를 생성한다(단계 S116).
상기 결과로그 생성모듈(440)은 결과로그를 생성할 것인지의 여부를 체크한다(단계 S118).
단계 S118에서 결과로그를 생성할 것으로 체크되면, 결과로그를 생성한다(단계 S120).
생성된 명령어로그와 생성된 결과로그를 암호화한다(단계 S122).
한편, 단계 S118에서 결과로그를 생성하지 않을 것으로 체크되면, 생성된 명령어로그를 암호화한다(단계 S124).
단계 S122에서 암호화된 명령어로그와 암호화된 결과로그 또는 단계 S124에서 암호화된 명령어로그를 실시간 또는 일정 주기로 전송한다(단계 S126).
이상에서 설명된 바와 같이, 본 발명의 일실시예에 따르면, 사용자의 키보드 스트로크에 대응하는 사용자실행명령어를 수집하여 이를 로그화시키고, 이를 실시간 또는 일정 주기로 중앙 로그서버에 제공하되, 명령어에 대응하는 결과정보(텍스트 또는 이미지 등)까지 함께 저장하므로써, 사용자의 서버시스템의 불법행위를 감사할 수 있다.
도 4는 본 발명의 다른 실시예에 따른 서버시스템 기반 사용자실행명령어 감시 장치(500)를 설명하기 위한 블록도이다. 즉, 서버시스템 기반 사용자실행명령어 감시 에이젼트 프로그램이 도시된다.
도 1 및 도 4를 참조하면, 사용자실행명령어 감시 장치(500)는 모니터링모듈(510), 트랩핑모듈(520), 명령어로그 생성모듈(530), 명령어 판단모듈(540), 사용자 판단모듈(550), 결과로그 생성모듈(560), 암호화모듈(570) 및 전송모듈(580)을 포함한다. 본 실시예에서, 사용자실행명령어 감시 장치(500)를 모니터링모듈(510), 트랩핑모듈(520), 명령어로그 생성모듈(530), 명령어 판단모듈(540), 사용자 판단모듈(550), 결과로그 생성모듈(560), 암호화모듈(570) 및 전송모듈(580)로 구분하였으나 이는 설명의 편의를 위해 논리적으로 구분하였을 뿐 하드웨어적으로 구분한 것은 아니다.
상기 모니터링모듈(510)은 서버시스템(200)의 사용자가 키보드 스트로크를 통해 상기 서버시스템(200)에 사용자실행명령어를 기입하는지의 여부를 모니터링한다.
상기 트랩핑모듈(520)은 상기 사용자가 사용자실행명령어를 기입함에 따라, 기입된 사용자실행명령어를 트랩핑한다.
상기 명령어로그 생성모듈(530)은 상기 트랩핑된 사용자실행명령어에 대응하는 명령어로그를 생성한다.
상기 명령어 판단모듈(540)은 사용자가 입력하는 사용자실행명령어가 제한된 사용자실행명령어인지의 여부를 체크하고, 제한된 사용자실행명령어인 것으로 체크되면 결과로그 생성모듈(570)에 결과로그 생성을 요청한다.
상기 사용자 판단모듈(550)은 사용자실행명령어에 대응하는 사용자가 제한된 사용자인지의 여부를 체크하고, 제한된 사용자인 것으로 체크되면 결과로그 생성모듈(570)에 결과로그 생성을 요청한다.
상기 결과로그 생성모듈(560)은 상기 명령어 판단모듈(540)의 요청 또는 상기 사용자 판단모듈(550)의 요청에 응답하여 상기 사용자실행명령어에 따라 사용자에게 제공되는 결과에 대응하는 결과로그를 생성한 생성된 결과로그를 상기 암호화모듈(570)에 제공한다.
상기 암호화모듈(570)은 상기 명령어로그 생성모듈(530)에 의해 생성된 명령어로그를 암호화하거나 상기 결과로그 생성모듈(560)에 의해 생성된 결과로그를 암호화한다.
상기 전송모듈(580)은 상기 암호화모듈(560)에 의해 암호화된 명령어로그 또는 암호화된 결과로그를 중앙 로그서버(300)에 전송한다. 상기한 전송은 실시간으로 이루어질 수도 있고, 일정 주기로 이루어질 수도 있으며, 관리자의 조작에 따라 이루어질 수도 있다.
도 5는 도 4에 도시된 사용자실행명령어 감시 장치를 이용한 사용자실행명령어 감시 방법을 설명하기 위한 흐름도이다.
도 1, 도 4 및 도 5를 참조하면, 사용자실행명령어가 키보드 스트로크 등의 방식으로 기입되는지의 여부가 상기 모니터링모듈(510)에 의해 체크된다(단계 S212).
단계 S212에서 사용자실행명령어가 기입되는 것으로 체크되면, 사용자실행명령어가 상기 트랩핑모듈(520)에 의해 트랩핑된다(단계 S214).
트랩핑된 사용자실행명령어를 근거로 명령어로그가 상기 명령어로그 생성모듈(530)에 의해 생성된다(단계 S216).
제한된 사용자명령어인지의 여부가 상기 명령어 판단모듈(540)에 의해 체크된다(단계 S218).
단계 S218에서 제한된 사용자명령어로 체크되면, 사용자명령에 따라 제공되는 결과로그는 상기 결과로그 생성모듈(560)에 의해 생성된다(단계 S220).
단계 S216에서 생성된 명령어로그와 단계 S220에서 생성된 결과로그는 상기 암호화모듈(570)에 의해 암호화된다(단계 S222).
한편, 단계 S218에서 제한된 사용자 명령어가 아닌 것으로 체크되면, 제한된 사용자인지의 여부가 상기 사용자 판단모듈(550)에 의해 체크된다(단계 S224).
단계 S224에서 제한된 사용자로 체크되면 단계 S220을 수행한다.
단계 S224에서 제한된 사용자가 아닌 것으로 체크되면 생성된 명령어로그는 상기 암호화모듈(570)에 의해 암호화된다(단계 S226).
단계 S222에서 암호화된 명령어로그와 암호화된 결과로그 또는 단계 S226에서 암호화된 명령어로그를 실시간 또는 일정 주기로 상기 전송모듈(580)에 의해 중앙 로그서버에 전송한다(단계 S228).
본 발명의 일실시예에서는 무수히 많은 명령어와 이에 대응하는 결과값을 함께 수집하였다. 이러한 결과값 수집은 불필요한 정보까지 수집될 수 있어 데이터 용량이 증가하는 단점이 있다. 하지만, 본 발명의 일실시예에 따르면, 불법행위에 대응하는 명령어(예를들어, 삭제명령어(rmv), 기타 등등), 불법행위의 용의선상에 있는 사용자에 의한 명령어 등으로 구분하여 필터링되어 잔류하는 명령어 또는 사용자에 의한 명령어 등이 입력되면 명령로그와 결과로그를 함께 저장하므로써, 사용자의 서버시스템의 불법행위를 감시하고 감사할 수 있다.
각 서버시스템에서 정상적 또는 비정상적인 사용자의 활동(즉, 명령어 실행)을 로그화하여 중앙 로그서버에서 통합하고, 통합된 명령어로그를 사용자가 감사하는 프로세스를 지원할 수 있다.
명령어로그를 생성하는 단순한 행위에도 실제 고려해야 하는 다양한 기술적인 요소들이 있다.
즉, 각 서버시스템에서는 사용자의 입력 명령어를 쉘마다 정의된 형태로 기록(즉, 히스토리 로그)하지만 여러 사용자의 활동을 통합하여 보기에 어려움이 있다.
리눅스의 경우 다양한 배포판이 존재하고 있으며, 배포판마다 속성이 다르다. 동일한 배포판이 하더라도 커널의 버전마다 속성이 다른 부분이 있으므로, 다양한 커널에서 정상 동작을 할 수 있도록 테스트 및 변경이 요구된다.
리눅스 외의 여러 상용 및 오픈 유닉스 환경의 경우에도 마찬가지로 각 버전마다 적용이 가능한 형태로 개발될 필요가 있다.
리눅스 또는 유닉스의 사용자 계정은 하나의 계정을 각 세션 단위로 구분하여야 하며, 동일한 경로의 접근인 경우에도 su(슈퍼유저, root 유저 권한으로 변경) 등과 같은 명령어를 통하여 다른 챠일드(child) 세션을 생성하는 경우가 있으므로 이를 추적 가능하도록 세션아이디(ID) 등의 값을 사용 가능한 모든 경로에 대하여 정확한 로깅될 수 있도록 해야 한다.
여러 서버시스템의 명령어로그를 중앙 로그서버로 통합하는 단계에 있어서, 전송 경로에 대한 무결성을 위한 암호화 전송을 고려해야 한다.
쉘 상에서 입력되는 명령어 외에 vi(리눅스 파일 텍스트 편집기) 등과 같은 명령어가 서버시스템에서 기본 탑재되어 운영되며, 여러 변경을 발생할 수 있는 어플리케이션에서의 입력 등도 로깅할 수 있는 방법을 고려해야 한다.
이러함 점을 고려하여, 이하에서, 다양한 서버시스템에서 사용자실행명령어 감지 에이젼트 프로그램의 동작을 설명한다.
도 6은 SUN OS 기반의 유닉스 서버시스템에서 사용자실행명령어 감시 에이젼트 프로그램의 동작을 설명하기 위한 흐름도이다.
도 6을 참조하면, SUN OS 기반의 유닉스 서버시스템의 환경 에어리어에서 사용자가 로그인함에 따라(단계 S312), 사용자의 프로파일을 확인하고(단계 S314), 로그인시 명령 수집을 위한 환경을 설정하고, 변수를 설정하며, 트랩 규칙에 명령문을 등록하는 사용자실행명령어 감시 에이젼트 프로그램을 기동한다(단계 S316).
상기 에이젼트 프로그램이 기동된 후, 발생 에어리어에서 사용자가 실행한 명령문 이벤트가 발생되면, 해당 명령문을 트랩핑한다(단계 S318).
단계 S318에서 트랩핑된 명령문에 대응하는 로그라인은 history_to_syslog_Start 데몬과 history_to_syslog 쉘에 의해 명령어로그로 변환된다(단계 S320). 데몬(Deamon)은 시스템에 관련된 작업을 하는 후위 프로세스(background process)를 말한다. 시스템은 부트처리의 연장상에서 데몬을 많이 기동한다. 네트워크에서의 요구를 처리하는 데몬, 하드웨어의 어떤 활동을 처리하는 데몬, 하드웨어의 설정을 취급하는 데몬, 스케쥴된 태스크를 실행하는 데몬 등이 있다. 대부분의 데몬들은 시스템이 부팅되면서 시작되는데, telnetd daemon, ftpd daemon, httpd daemon, inetd daemon, squid daemon, sendmail daemon, bind nameserver daemon, routed daemon, smb daemon 등의 네트워크 데몬과 프린트를 제어하는 lpd daemon, 데이터베이스인 postgresql daemon, crond daemon, atd daemon 등이 있다.
한편, 쉘(shell)은 사용자의 조작에 대해서 주어진 지시를 운영체제시스템(OS)의 중핵부분에 전달하는 소프트웨어이다. 키보드로 입력된 문자나 마우스의 클릭 등을 해석해서 대응하는 기능을 실행하도록 OS에 지시를 전달한다. 윈도우즈에서는 익스플로어나 명령어 프롬프트가, 맥OS에서는 Finder가, 유닉스 계열 OS에서는 bash나 csh 등이 쉘에 해당된다. 유닉스 계열 OS에서는 사용자의 취향에 맞게 쉘을 선택할 수 있다.
본 실시예에서, 명령어로그는 시간, 사용자 IP, 사용자명, 명령어, 프로세스 ID(PID), 발생시스템IP를 포함할 수 있다.
상기 history_to_syslog_Start 데몬의 일례는 아래와 같다.
Figure 112012053202672-pat00001
한편, history_to_syslog 쉘의 일례는 아래와 같다.
Figure 112012053202672-pat00002
이어, 명령어로그를 저장하고(단계 S322), 실시간 또는 설정된 일정 주기로 명령어로그는 중앙 로그서버로 전송된다(단계 S324).
한편, 연결이 종료되었는지의 여부를 체크하여(단계 S326), 연결 종료로 체크되면 종료하고, 연결 미종료로 체크되면 단계 S350으로 피드백한다.
도 6에서는 SUN OS 기반의 유닉스 서버시스템에서 사용자실행명령어 감시 에이젼트 프로그램의 동작을 설명하였으나, 리눅스 서버시스템에서도 유사하게 동작할 수 있다.
도 7은 HP-UX OS 기반의 유닉스 서버시스템에서 사용자실행명령어 감시 에이젼트 프로그램의 동작을 설명하기 위한 흐름도이다.
도 7을 참조하면, HP-UX OS 기반의 유닉스 서버시스템의 환경 에어리어에서 사용자가 루트계정을 통해 로그인함에 따라(단계 S412), 사용자의 프로파일을 확인하고(단계 S414), 로그인시 명령 수집을 위한 환경을 설정하고, 변수를 설정하며, 트랩 규칙에 명령문을 등록하는 사용자실행명령어 감시 에이젼트 프로그램을 기동한다(단계 S416).
상기 에이젼트 프로그램이 기동된 후, 발생 에어리어에서 사용자가 실행한 명령문 이벤트가 발생되면, 해당 명령문을 트랩핑한다(단계 S418).
단계 S418에서 트랩핑된 명령문에 대응하는 로그라인은 history_to_syslog_Start 데몬과 history_to_syslog 쉘에 의해 명령어로그로 변환된다(단계 S420). 이때, 명령어로그는 시간, 사용자 IP, 사용자명, 명령어, 프로세스 ID(PID), 발생시스템IP를 포함할 수 있다.
이어, 단계 S420에서 변환된 명령어로그를 저장하고(단계 S322), 실시간 또는 설정된 일정 주기로 명령어로그는 중앙 로그서버로 전송된다(단계 S324).
한편, 연결이 종료되었는지의 여부를 체크하여(단계 S326), 연결 종료로 체크되면 종료하고, 연결 미종료로 체크되면 단계 S350으로 피드백한다.
도 8은 AIX OS 기반의 유닉스 서버에서 서버시스템 기반 사용자실행명령어 감시 에이젼트 프로그램의 동작을 설명하기 위한 흐름도이다.
도 8을 참조하면, AIX OS 기반의 유닉스 서버시스템의 환경 에어리어에서 사용자가 로그인함에 따라(단계 S512), 사용자의 프로파일을 확인하고(단계 S514), 로그인시 명령 수집을 위한 환경을 설정하고, 변수를 설정하며, 트랩 규칙에 명령문을 등록하는 사용자실행명령어 감시 에이젼트 프로그램을 기동한다(단계 S516).
상기 에이젼트 프로그램이 기동된 후, 발생 에어리어에서 사용자가 실행한 명령문 이벤트가 발생되면, 해당 명령문을 트랩핑한다(단계 S518).
단계 S518에서 트랩핑된 명령문에 대응하는 로그라인은 명령어로그로 변환된다(단계 S520). 이때, 명령어로그는 시간, 사용자 IP, 사용자명, 명령어, 프로세스 ID(PID), 발생시스템IP를 포함할 수 있다.
이어, 명령어로그를 저장하고(단계 S522), 실시간 또는 설정된 일정 주기로 명령어로그는 중앙 로그서버로 전송된다(단계 S524).
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
이상에서 설명한 바와 같이, 본 발명에 따른 사용자실행명령어 감시방법, 이를 내장한 컴퓨터가 판독 가능한 기록매체 및 이를 수행하기 위한 명령어 감시 시스템에 의하면, 서버시스템에 기입되는 사용자실행명령어에 대응하는 명령어로그뿐 아니라, 해당 사용자실행명령에 대응하는 스크린 등에 표시되는 화면의 이미지 또는 텍스트를 결과로그로서 함께 전송하므로써, 향후 서버시스템에서의 불법행위, 예를들어, 불법으로 자료를 복사하거나 메일 전송 등을 통해 외부에 유출하는 행위나 불법으로 파일이나 디렉토리를 삭제하는 등의 행위에 대한 감사를 행하는데 유용하게 사용될 수 있다.
또한, 상기한 결과로그를 명령어로그와 함께 전송하므로써 서버시스템의 관리자측에게는 보다 명확한 불법 행위에 대한 증거자료로서 활용될 수 있다.
또한, 사용자측에게는 특정 시점에 기입한 사용자명령어에 대응하여 어떠한 결과를 얻지도 못했다는 소명자료로서 활용될 수 있다.
200 : 서버시스템 210 : 사용자실행명령어 감시 에이젼트
300 : 중앙 로그서버 400, 500 : 사용자실행명령어 감시 장치
410, 510 : 모니터링모듈 420, 520 : 트랩핑모듈
430, 530 : 명령어로그 생성모듈 440, 560 : 결과로그 생성모듈
450, 570 : 암호화모듈 460, 580 : 전송모듈
540 : 명령어 판단모듈 550 : 사용자 판단모듈

Claims (19)

  1. (a) 사용자가 키보드 스트로크를 통해 서버시스템에 사용자실행명령어를 기입하는지의 여부를 모니터링하는 단계;
    (b) 상기 사용자가 사용자실행명령어를 기입함에 따라, 기입된 사용자실행명령어를 트랩핑하는 단계;
    (c) 상기 트랩핑된 사용자실행명령어에 대응하는 명령어로그를 생성하는 단계;
    (d) 생성된 명령어로그를 암호화하는 단계;
    (e) 암호화된 명령어로그를 중앙 로그서버에 전송하는 단계;
    (f) 상기 사용자실행명령어에 대응하여 사용자에게 제공되는 결과에 대응하는 결과로그를 선택적으로 생성하는 단계;
    (g) 생성된 결과로그와 상기 결과로그에 대응하는 명령어로그를 암호화하는 단계; 및
    (h) 암호화된 명령어로그와 결과로그를 상기 중앙 로그서버에 전송하는 단계를 포함하되, 단계(f)는
    (f-11) 상기 사용자실행명령어가 제한된 사용자실행명령어인지의 여부를 체크하는 단계;
    (f-12) 상기 사용자실행명령어가 제한된 사용자실행명령어로 체크되면 상기 사용자실행명령어에 대응하여 제공되는 결과로그를 생성하는 단계; 및
    (f-13) 상기 사용자실행명령어가 제한되지 않은 사용자실행명령어로 체크되면 상기 사용자실행명령어에 대응하여 제공되는 결과로그의 생성을 생략하는 단계를 포함하는 것을 특징으로 하는 서버시스템 기반 사용자실행명령어 감시방법.
  2. 제1항에 있어서, 상기 결과로그는 상기 사용자실행명령어에 대응하여 사용자에게 제공되는 텍스트와 사용자 스크린에 표시되는 이미지중 어느 하나인 것을 특징으로 하는 서버시스템 기반 사용자실행명령어 감시방법.
  3. 제2항에 있어서, 상기 이미지는 스크린 캡쳐된 이미지인 것을 특징으로 하는 서버시스템 기반 사용자실행명령어 감시방법.
  4. 제1항에 있어서, 상기 명령어로그는 상기 결과로그에 대응하는 결과코드를 더 포함하는 것을 특징으로 하는 서버시스템 기반 사용자실행명령어 감시방법.
  5. 삭제
  6. (a) 사용자가 키보드 스트로크를 통해 서버시스템에 사용자실행명령어를 기입하는지의 여부를 모니터링하는 단계;
    (b) 상기 사용자가 사용자실행명령어를 기입함에 따라, 기입된 사용자실행명령어를 트랩핑하는 단계;
    (c) 상기 트랩핑된 사용자실행명령어에 대응하는 명령어로그를 생성하는 단계;
    (d) 생성된 명령어로그를 암호화하는 단계;
    (e) 암호화된 명령어로그를 중앙 로그서버에 전송하는 단계;
    (f) 상기 사용자실행명령어에 대응하여 사용자에게 제공되는 결과에 대응하는 결과로그를 선택적으로 생성하는 단계;
    (g) 생성된 결과로그와 상기 결과로그에 대응하는 명령어로그를 암호화하는 단계; 및
    (h) 암호화된 명령어로그와 결과로그를 상기 중앙 로그서버에 전송하는 단계를 포함하되, 단계(f)는
    (f-21) 상기 사용자가 제한된 사용자인지의 여부를 체크하는 단계;
    (f-22) 상기 사용자가 제한된 사용자로 체크되면 상기 사용자에 의해 기입되는 사용자실행명령어에 대응하여 제공되는 결과로그를 생성하는 단계; 및
    (f-23) 상기 사용자가 제한되지 않은 사용자로 체크되면 상기 사용자실행명령어에 대응하여 제공되는 결과로그의 생성을 생략하는 단계를 포함하는 것을 특징으로 하는 서버시스템 기반 사용자실행명령어 감시방법.
  7. (a) 사용자가 키보드 스트로크를 통해 서버시스템에 사용자실행명령어를 기입하는지의 여부를 모니터링하는 과정;
    (b) 상기 사용자가 사용자실행명령어를 기입함에 따라, 기입된 사용자실행명령어를 트랩핑하는 과정;
    (c) 상기 트랩핑된 사용자실행명령어에 대응하는 명령어로그를 생성하는 과정;
    (d) 생성된 명령어로그를 암호화하는 과정;
    (e) 암호화된 명령어로그를 중앙 로그서버에 전송하는 과정;
    (f) 상기 사용자실행명령어에 대응하여 사용자에게 제공되는 결과에 대응하는 결과로그를 선택적으로 생성하는 과정;
    (g) 생성된 결과로그와 상기 결과로그에 대응하는 명령어로그를 암호화하는 과정; 및
    (h) 암호화된 명령어로그와 결과로그를 상기 중앙 로그서버에 전송하는 과정을 포함하되, 과정(f)는
    (f-11) 상기 사용자실행명령어가 제한된 사용자실행명령어인지의 여부를 체크하는 과정;
    (f-12) 상기 사용자실행명령어가 제한된 사용자실행명령어로 체크되면 상기 사용자실행명령어에 대응하여 제공되는 결과로그를 생성하는 과정; 및
    (f-13) 상기 사용자실행명령어가 제한되지 않은 사용자실행명령어로 체크되면 상기 사용자실행명령어에 대응하여 제공되는 결과로그의 생성을 생략하는 과정을 포함하는 것을 특징으로 하는 서버시스템 기반 사용자실행명령어 감시 프로그램이 탑재된 컴퓨터가 판독 가능한 기록매체.
  8. 제7항에 있어서, 상기 결과로그는 상기 사용자실행명령어에 대응하여 사용자에게 제공되는 텍스트와 사용자 스크린에 표시되는 이미지중 어느 하나인 것을 특징으로 하는 서버시스템 기반 사용자실행명령어 감시 프로그램이 탑재된 컴퓨터가 판독 가능한 기록매체.
  9. 제8항에 있어서, 상기 이미지는 스크린 캡쳐된 이미지인 것을 특징으로 하는 서버시스템 기반 사용자실행명령어 감시 프로그램이 탑재된 컴퓨터가 판독 가능한 기록매체.
  10. 제7항에 있어서, 상기 명령어로그는 상기 결과로그에 대응하는 결과코드를 더 포함하는 것을 특징으로 하는 서버시스템 기반 사용자실행명령어 감시 프로그램이 탑재된 컴퓨터가 판독 가능한 기록매체.
  11. 삭제
  12. (a) 사용자가 키보드 스트로크를 통해 서버시스템에 사용자실행명령어를 기입하는지의 여부를 모니터링하는 과정;
    (b) 상기 사용자가 사용자실행명령어를 기입함에 따라, 기입된 사용자실행명령어를 트랩핑하는 과정;
    (c) 상기 트랩핑된 사용자실행명령어에 대응하는 명령어로그를 생성하는 과정;
    (d) 생성된 명령어로그를 암호화하는 과정;
    (e) 암호화된 명령어로그를 중앙 로그서버에 전송하는 과정;
    (f) 상기 사용자실행명령어에 대응하여 사용자에게 제공되는 결과에 대응하는 결과로그를 선택적으로 생성하는 과정;
    (g) 생성된 결과로그와 상기 결과로그에 대응하는 명령어로그를 암호화하는 과정; 및
    (h) 암호화된 명령어로그와 결과로그를 상기 중앙 로그서버에 전송하는 과정을 포함하되, 과정(f)은
    (f-21) 상기 사용자가 제한된 사용자인지의 여부를 체크하는 과정;
    (f-22) 상기 사용자가 제한된 사용자로 체크되면 상기 사용자에 의해 기입되는 사용자실행명령어에 대응하여 제공되는 결과로그를 생성하는 과정; 및
    (f-23) 상기 사용자가 제한되지 않은 사용자로 체크되면 상기 사용자실행명령어에 대응하여 제공되는 결과로그의 생성을 생략하는 과정을 포함하는 것을 특징으로 하는 서버시스템 기반 사용자실행명령어 감시 프로그램이 탑재된 컴퓨터가 판독 가능한 기록매체.
  13. 서버시스템의 사용자가 키보드 스트로크를 통해 상기 서버시스템에 사용자실행명령어를 기입하는지의 여부를 모니터링하는 모니터링모듈;
    상기 사용자가 사용자실행명령어를 기입함에 따라, 기입된 사용자실행명령어를 트랩핑하는 트랩핑모듈;
    상기 트랩핑된 사용자실행명령어에 대응하는 명령어로그를 생성하는 명령어로그 생성모듈;
    생성된 명령어로그를 암호화하는 암호화모듈;
    암호화된 명령어로그를 중앙 로그서버에 전송하는 전송모듈; 및
    상기 사용자실행명령어에 대응하여 사용자에게 제공되는 결과에 대응하는 결과로그를 선택적으로 생성하는 결과로그 생성모듈을 포함하되, 상기 결과로그 생성모듈은,
    상기 사용자실행명령어가 제한된 사용자실행명령어인지의 여부를 체크하여, 상기 사용자실행명령어가 제한된 사용자실행명령어로 체크되면 상기 사용자실행명령어에 대응하여 제공되는 결과로그를 생성하고, 상기 사용자실행명령어가 제한되지 않은 사용자실행명령어로 체크되면 상기 사용자실행명령어에 대응하여 제공되는 결과로그의 생성을 생략하는 것을 특징으로 하는 서버시스템 기반 사용자실행명령어 감시장치.
  14. 제13항에 있어서, 상기 암호화모듈은 생성된 결과로그와 상기 결과로그에 대응하는 명령어로그를 더 암호화하고,
    상기 전송모듈은 암호화된 명령어로그와 결과로그를 상기 중앙 로그서버에 더 전송하는 것을 특징으로 하는 서버시스템 기반 사용자실행명령어 감시장치.
  15. 제13항에 있어서, 상기 결과로그는 상기 사용자실행명령어에 대응하여 사용자에게 제공되는 텍스트와 사용자 스크린에 표시되는 이미지중 어느 하나인 것을 특징으로 하는 서버시스템 기반 사용자실행명령어 감시장치.
  16. 제15항에 있어서, 상기 이미지는 스크린 캡쳐된 이미지인 것을 특징으로 하는 서버시스템 기반 사용자실행명령어 감시장치.
  17. 제13항에 있어서, 상기 명령어로그는 상기 결과로그에 대응하는 결과코드를 더 포함하는 것을 특징으로 하는 서버시스템 기반 사용자실행명령어 감시장치.
  18. 삭제
  19. 서버시스템의 사용자가 키보드 스트로크를 통해 상기 서버시스템에 사용자실행명령어를 기입하는지의 여부를 모니터링하는 모니터링모듈;
    상기 사용자가 사용자실행명령어를 기입함에 따라, 기입된 사용자실행명령어를 트랩핑하는 트랩핑모듈;
    상기 트랩핑된 사용자실행명령어에 대응하는 명령어로그를 생성하는 명령어로그 생성모듈;
    생성된 명령어로그를 암호화하는 암호화모듈;
    암호화된 명령어로그를 중앙 로그서버에 전송하는 전송모듈; 및
    상기 사용자실행명령어에 대응하여 사용자에게 제공되는 결과에 대응하는 결과로그를 선택적으로 생성하는 결과로그 생성모듈을 포함하되, 상기 결과로그 생성모듈은,
    상기 사용자가 제한된 사용자인지의 여부를 체크하여, 상기 사용자가 제한된 사용자로 체크되면 상기 사용자에 의해 기입되는 사용자실행명령어에 대응하여 제공되는 결과로그를 생성하고, 상기 사용자가 제한되지 않은 사용자로 체크되면 상기 사용자실행명령어에 대응하여 제공되는 결과로그의 생성을 생략하는 것을 특징으로 하는 서버시스템 기반 사용자실행명령어 감시장치.
KR1020120072303A 2012-07-03 2012-07-03 사용자실행명령어 감시방법, 이를 내장한 컴퓨터가 판독 가능한 기록매체 및 이를 수행하기 위한 명령어 감시 시스템 KR101965872B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120072303A KR101965872B1 (ko) 2012-07-03 2012-07-03 사용자실행명령어 감시방법, 이를 내장한 컴퓨터가 판독 가능한 기록매체 및 이를 수행하기 위한 명령어 감시 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120072303A KR101965872B1 (ko) 2012-07-03 2012-07-03 사용자실행명령어 감시방법, 이를 내장한 컴퓨터가 판독 가능한 기록매체 및 이를 수행하기 위한 명령어 감시 시스템

Publications (2)

Publication Number Publication Date
KR20140011032A KR20140011032A (ko) 2014-01-28
KR101965872B1 true KR101965872B1 (ko) 2019-04-08

Family

ID=50143415

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120072303A KR101965872B1 (ko) 2012-07-03 2012-07-03 사용자실행명령어 감시방법, 이를 내장한 컴퓨터가 판독 가능한 기록매체 및 이를 수행하기 위한 명령어 감시 시스템

Country Status (1)

Country Link
KR (1) KR101965872B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004164517A (ja) * 2002-09-18 2004-06-10 Yokogawa Electric Corp キーボード装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050041211A (ko) * 2003-10-30 2005-05-04 주식회사 훈시큐어 키보드를 이용한 보안 방법 및 시스템
KR101068839B1 (ko) * 2009-04-09 2011-09-29 티에스온넷(주) 사용자 세션 로그와 데이터베이스 쿼리 로그를 추적 연결하는 로그 통합 시스템 및 그 로그 통합 방법
KR101630462B1 (ko) * 2010-04-14 2016-06-14 주식회사 넥슨코리아 키보드 보안 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004164517A (ja) * 2002-09-18 2004-06-10 Yokogawa Electric Corp キーボード装置

Also Published As

Publication number Publication date
KR20140011032A (ko) 2014-01-28

Similar Documents

Publication Publication Date Title
US8732824B2 (en) Method and system for monitoring integrity of running computer system
Pohly et al. Hi-fi: collecting high-fidelity whole-system provenance
KR20210072132A (ko) 클라우드 기반 운영 체제 이벤트 및 데이터 액세스 감시를 위한 시스템 및 방법
Buschle et al. A Tool for automatic Enterprise Architecture modeling
US9104706B2 (en) Meta-directory control and evaluation of events
US20130054680A1 (en) Apparatus and method for collecting log information from a plurality of servers
Patrascu et al. Logging system for cloud computing forensic environments
CN101673215A (zh) 一种计算机和虚拟环境中用户管理方法
RU2638001C1 (ru) Система и способ выделения части резерва производительности антивирусного сервера для выполнения антивирусной проверки веб-страницы
Laranjeiro et al. A robustness testing approach for SOAP Web services
CN116112194A (zh) 用户行为分析方法、装置、电子设备及计算机存储介质
Bezemer et al. Performance optimization of deployed software-as-a-service applications
Pătraşcu et al. Logging framework for cloud computing forensic environments
Katilu et al. Challenges of data provenance for cloud forensic investigations
CN109189652A (zh) 一种封闭网络终端行为数据的采集方法及***
KR101965872B1 (ko) 사용자실행명령어 감시방법, 이를 내장한 컴퓨터가 판독 가능한 기록매체 및 이를 수행하기 위한 명령어 감시 시스템
Jeyaraman et al. An empirical study of automatic event reconstruction systems
Ahlgren et al. Cray System Monitoring: Successes Requirements and Priorities.
KR20110070767A (ko) 네트워크 기반 원격 포렌식 시스템
Huang et al. An application deployment approach based on hybrid cloud
Jiang Automated analysis of load testing results
Ljubuncic Problem-solving in high performance computing: A situational awareness approach with Linux
CN113220417B (zh) 限制Docker容器行为的安全防护方法
Wang et al. Discover and tame long-running idling processes in enterprise systems
Aragon et al. COMMON–Communications System Monitor v. 1.5

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right