KR101796205B1 - 보안 강화를 위해 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템 - Google Patents

보안 강화를 위해 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템 Download PDF

Info

Publication number
KR101796205B1
KR101796205B1 KR1020170049242A KR20170049242A KR101796205B1 KR 101796205 B1 KR101796205 B1 KR 101796205B1 KR 1020170049242 A KR1020170049242 A KR 1020170049242A KR 20170049242 A KR20170049242 A KR 20170049242A KR 101796205 B1 KR101796205 B1 KR 101796205B1
Authority
KR
South Korea
Prior art keywords
user
command
server
probability
instruction
Prior art date
Application number
KR1020170049242A
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 KR1020170049242A priority Critical patent/KR101796205B1/ko
Application granted granted Critical
Publication of KR101796205B1 publication Critical patent/KR101796205B1/ko
Priority to PCT/KR2018/003549 priority patent/WO2018194282A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

사용자가 서버에 원격 접근하여 사용한 명령어들을 학습시키고, 학습을 통해 사용자의 행위 패턴을 추출하고, 사용자의 명령어 입력 이벤트가 발생되면 입력된 명령어를 학습된 행위 패턴과 비교하여, 이상 여부를 판단하여 통제하는, 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템에 관한 것으로서, 상기 사용자 단말로부터 전달되는 패킷으로부터 세션정보와 명령문을 추출하고, 상기 사용자 단말과 상기 서버 사이에서 입력되는 명령문 또는 서버의 결과를 중계하는 중계모듈; 상기 중계모듈로부터 세션정보와 명령문을 수신하여 명령어를 추출하고, 사용자의 명령어 입력 패턴을 나타내는 행위모델을 학습시켜 생성하고, 사용자의 현재 명령어를 상기 행위모델에 적용하여 이상 사용자의 확률을 산출하는 이상탐지부; 및, 상기 이상탐지부로부터 이상 사용자의 확률을 수신하고, 사전에 정해진 정책에 따라 상기 이상 사용자의 확률을 이용하여 관리자에게 경고나 세션 차단, 사용자 차단을 결정하는 이상판단부를 포함하는 구성을 마련한다.
상기와 같은 서버 접근 통제 시스템에 의하여, 접속자의 행위가 사전에 추출한 정당한 사용자의 명령어 사용 패턴과 유사한지를 비교하여 정당한 사용자 여부를 추정함으로써, 해커 또는 악의적 사용자가 계정을 탈취하여 정상 인증을 거쳐 공격하는 행위에 대해서도 방어할 수 있다.

Description

보안 강화를 위해 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템 { A server access control system of detecting abnormal users by using command learning for enhancing security }
본 발명은 기관에서 관리하는 주요 서버의 보안 관리를 위하여, 사용자가 서버에 원격 접근하여 사용한 명령어들을 학습시키고, 학습을 통해 사용자의 행위 패턴을 추출하고, 사용자의 명령어 입력 이벤트가 발생되면 입력된 명령어를 학습된 행위 패턴과 비교하여, 이상 여부를 판단하여 통제하는, 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템에 관한 것이다.
또한, 본 발명은 정상적인 사용자가 아닌 해커 또는 악의적 의도를 가진 사용자들의 침해 행위 수행 시, 기존에 수행했던 정당한 사용자의 작업 패턴과 상이한 작업을 수행하는 것에 착안하여 이를 방지 할 수 있는, 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템에 관한 것이다.
일반적으로, 서버 접근통제 시스템은 접근통제 게이트웨이(Gateway) 서버를 경유하는 패킷을 분석하여 사용자가 입력한 명령어를 추출하고, 추출된 명령어의 허용 여부를 검사하여 통제한다. 예를 들어, 해당 사용자에게 적용된 보안에 위협이 될 수 있는 금지 명령어 리스트와 비교하여, 리스트에 있을 경우 해당 명령어를 서버에 전송하지 않고 파기한다[특허문헌 1]. 이를 통해, 서버에 대한 보안을 강화할 수 있다.
또한, 종래기술에 따른 서버 접근통제 시스템은 먼저 접속하는 사용자에 대하여 사용자 인증을 수행하고, 사용자 인증을 거친 후 부여된 권한 내의 장비에 접근 및 작업을 수행할 수 있도록 하는 보안 기능을 제공한다.
그러나 도 1에서 보는 바와 같이, 해커 또는 악의적인 사용자가 관리자 계정 정보를 탈취한 후, 해당 계정 정보로 사용자 인증을 수행하면 정상적인 인증을 거칠 수 있다. 이 경우, 악의적 사용자는 관리자의 권한 하에서 서버에 접근할 수 있고, 부여된 권한 내에서 악의적인 행위(정보유출, 파괴행위 등)를 수행할 수 있다. 즉, 관리자 계정 정보의 누출로 인하여, 통제할 수 없는 보안 문제가 발생할 수 있다.
따라서 기존의 1차적인 관문형 인증 방식을 뛰어 넘어 사용자의 작업 행위에 기반하여 사용자의 정상적인 행위인지를 판별하여 통제하는 기술이 필요하다.
한국등록특허 제10-1143847호(2012.05.10.공고)
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 기관에서 관리하는 주요 서버의 보안 관리를 위하여, 사용자가 서버에 원격 접근하여 사용한 명령어들을 학습시키고, 학습을 통해 사용자의 행위 패턴을 추출하고, 사용자의 명령어 입력 이벤트가 발생되면 입력된 명령어를 학습된 행위 패턴과 비교하여, 이상 여부를 판단하여 통제하는, 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템을 제공하는 것이다.
특히, 본 발명의 목적은 사용자가 기관의 주요 서버에 접근을 통제하는 서버접근통제 시스템과 연계하여, 사용자가 서버에 접근하고, 이때 사용한 명령어 데이터를 수집하고, 기계학습(Machine Learning) 기법을 활용하여, 사용자별 작업 행위패턴을 추출하는, 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템을 제공하는 것이다.
또한, 본 발명의 목적은 사용자가 실제 접근통제 시스템을 경유하여 서버에 접속하여, 명령어 입력을 수행 시 추출된 작업 행위 패턴 정보를 기반으로 이상 사용자 여부를 판단하고, 이상 사용자로 판단되었을 경우 정책에 의거하여 자동으로 해당 사용자 통제를 수행하는, 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템을 제공하는 것이다.
또한, 본 발명의 목적은 해커에 의한 계정정보 탈취에 의한 침해 행위 및 악의적 사용자의 침해 행위에 대한 방어를 위하여, 접근통제 시스템에서 사용자들의 서버 접속 및 명령어 입력 값을 기반으로 학습 모델을 만들고, 그 모델을 이용하여 현재 접속한 사용자가 해당 사용자가 맞는지 확인할 수 있는, 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템을 제공하는 것이다.
상기 목적을 달성하기 위해 본 발명은 사용자 단말과 서버가 네트워크로 연결되고, 상기 사용자 단말과 상기 서버 사이의 네트워크 상에 게이트웨이로 설치되는, 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템에 관한 것으로서, 상기 사용자 단말로부터 전달되는 패킷으로부터 세션정보와 명령문을 추출하고, 상기 사용자 단말과 상기 서버 사이에서 입력되는 명령문 또는 서버의 결과를 중계하는 중계모듈; 상기 중계모듈로부터 세션정보와 명령문을 수신하여 명령어를 추출하고, 사용자의 명령어 입력 패턴을 나타내는 행위모델을 학습시켜 생성하고, 사용자의 현재 명령어를 상기 행위모델에 적용하여 이상 사용자의 확률을 산출하는 이상탐지부; 및, 상기 이상탐지부로부터 이상 사용자의 확률을 수신하고, 사전에 정해진 정책에 따라 상기 이상 사용자의 확률을 이용하여 관리자에게 경고나 세션 차단, 사용자 차단을 결정하는 이상판단부를 포함하는 것을 특징으로 한다.
또, 본 발명은 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템에 있어서, 상기 이상탐지부는, 상기 중계모듈로부터 명령문을 수신하는 이벤트 채널; 상기 이상판단부에게 이상 사용자의 확률 정보를 제공하는 상태 채널; 상기 명령문으로부터 명령어를 추출하는 행위조정자; 학습을 통해 각 사용자별 행위모델을 생성하는 행위모델 엔진; 상기 행위조정자로부터 명령어를 수신하여, 수신된 해당 명령어에 대하여 각 사용자별 확률을 산출하되, 상기 행위모델을 이용하여 산출하는 연산부를 포함하는 것을 특징으로 한다.
또, 본 발명은 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템에 있어서, 상기 행위조정자는 행위로그 스토리지에 상기 명령어를 기록하여 축적하고, 상기 행위모델 엔진은 축적된 행위로그 스토리지의 명령어 데이터를 이용하여 상기 행위모델을 지속적으로 학습시켜 갱신하는 것을 특징으로 한다.
또, 본 발명은 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템에 있어서, 상기 행위모델은 베이지안 모델과 딥러닝 모델로 구성되고, 상기 연산부는 상기 베이지안 모델로부터 제1 확률을 산출하고, 상기 딥러닝 모델로부터 제2 확률을 산출하여, 상기 제1 확률과 상기 제2 확률에 대하여 가중치를 통해 비율 조정을 하여 최종 확률을 추출하는 것을 특징으로 한다.
또, 본 발명은 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템에 있어서, 상기 중계모듈은 상기 사용자 단말로부터 명령문 문자를 수신하고, 상기 명령문 문자가 엔터 문자가 아니면 상기 명령문 문자를 누적하여 명령문 누적 문자열을 생성하고, 상기 명령문 문자가 엔터 문자이면 상기 누적 문자열에서 실제 실행될 최종 명령문을 추출하되, 상기 명령문 문자가 제어 문자이면, 누적된 명령문 누적 문자열과 상기 제어 문자를 상기 서버에 전송하고, 상기 제어 문자가 반영된 문자열을 수신하고, 상기 반영된 문자열을 누적하여 상기 누적 문자열을 생성하는 것을 특징으로 한다.
또, 본 발명은 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템에 있어서, 상기 중계모듈은 에코(echo) 명령어, 링크된 명령 추출(realpath) 명령어, 명령어 명칭 추출(basename) 명령어 중 어느 하나 이상의 명령어와, 해당 명령어의 인수로서 상기 누적 문자열을 상기 서버에 전송하고, 상기 서버로부터 수신한 해당 명령어의 결과를 이용하여, 상기 최종 명령어를 추출하고, 상기 에코(echo) 명령어는 변수 처리된 명령어, 와일드 문자(Wild Char)가 포함된 명령어, 히스토리(History)가 포함된 명령에 대하여 실제 실행할 명령어로 변환하여 회신하는 명령어이고, 상기 링크된 명령 추출(realpath) 명령어는 링크된 명령 추출(realpath) 명령어는 심볼릭 링크(Symbolic Link)에 의해 링크된 실제 명령어를 회신하는 명령어이고, 상기 명령어 명칭 추출(basename) 명령어는 명령어가 경로(path)를 포함하는 경우 경로를 제외하고 실제 실행 명령어의 이름을 회신하는 명령어인 것을 특징으로 한다.
또, 본 발명은 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템에 있어서, 상기 명령문에서 명령어 명칭과 명령어 옵션만을 구성된 것으로 명령어를 추출하는 것을 특징으로 한다.
또, 본 발명은 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템에 있어서, 상기 행위모델 엔진은 각 명령어의 옵션 및 옵션 문자열의 입력순서의 유사 여부, 명령어별 사용빈도의 유사 여부, 명령어의 사용 순서에 의한 사용 패턴의 유사 여부를 반영하여, 상기 행위모델을 학습시키는 것을 특징으로 한다.
또, 본 발명은 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템에 있어서, 상기 행위모델 엔진은 다음 [수식 1]을 이용하여, 상기 행위모델을 구하는 것을 특징으로 한다.
[수학식 1]
Figure 112017037427735-pat00001
단, Pc,u는 사용자 u에 대하여 명령어 c에서의 확률을 나타내고, Training Count는 학습 데이터의 개수이고, Training Data Length는 학습 명령어의 길이를 나타내고, α는 사전에 정해진 상수로서 슈도우 카운트(pseudocount)이며, A는 서로다른 명령어(distinct command) 개수임.
또, 본 발명은 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템에 있어서, 상기 행위모델은 사용자 수 만큼 N개가 사전에 학습되어 구축되고, 상기 연산부는 특정 사용자의 입력된 명령어를 각 사용자별 행위모델 N개에 모두 적용하여, N개의 사용자별 확률을 구하고, N개의 사용자별 확률을 내림차순으로 정렬하여 각 사용자별 확률의 순위를 부여하고, 상기 이상판단부는 입력된 명령어에 대하여 해당 사용자의 확률의 순위에 따라 이상 사용자 여부를 판단하되, 특정 사용자가 입력한 명령어(command)에 대해 해당 사용자일 확률이 일정 순위 아래에 있을 경우 이상 사용자로 판단하는 것을 특징으로 한다.
상술한 바와 같이, 본 발명에 따른 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템에 의하면, 접속자의 행위가 사전에 추출한 정당한 사용자의 명령어 사용 패턴과 유사한지를 비교하여 정당한 사용자 여부를 추정함으로써, 해커 또는 악의적 사용자가 계정을 탈취하여 정상 인증을 거쳐 공격하는 행위에 대해서도 방어할 수 있는 효과가 얻어진다.
도 1은 종래기술에 따른 접근통제 시스템에서 인증정보가 탈취되는 경우의 보안 취약성을 나타낸 도면.
도 2는 본 발명을 실시하기 위한 전체 시스템에 대한 구성도.
도 3은 본 발명의 일실시예에 따른 보안 강화를 위해 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템의 구성에 대한 블록도.
도 4는 본 발명의 일실시예에 따른 실시간 이상 사용자 탐지를 위한 이상 탐지부의 세부구성에 대한 블록도.
도 5는 본 발명의 일실시예에 따른 기계학습에 의한 이상 사용자 탐지를 위한 행위모델에 대한 구성도.
도 6은 본 발명의 일실시예에 따른 명령문을 추출하는 과정을 설명하는 개략적인 흐름도.
도 7은 본 발명의 일실시예에 따른 명령문을 추출하는 과정을 설명하는 흐름도.
도 8은 본 발명의 일실시예에 따른 명령문 확인 과정의 예시도.
도 9은 본 발명의 일실시예에 따라 명령문에서 명령어를 도출한 결과에 대한 예시도.
도 10은 본 발명의 일실시예에 따른 행위모델 엔진의 입력 데이터에 대한 예시도.
도 11은 본 발명의 일실시예에 따른 행위모델 엔진의 출력 데이터에 대한 예시도.
도 12는 본 발명의 일실시예에 따른 이상 사용자를 판단하는 방법을 설명하는 흐름도.
도 13은 본 발명의 일실시예에 따른 행위모델을 학습시키는 구성도.
이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.
또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.
먼저, 본 발명을 실시하기 위한 전체 시스템의 구성의 예들에 대하여 도 2를 참조하여 설명한다.
도 2에서 보는 바와 같이, 본 발명을 실시하기 위한 전체 시스템은 사용자 단말(10), 서버(40), 및, 사용자 단말(10)과 서버(40) 사이에서 게이트웨이 역할을 하는 접근통제 시스템(30)으로 구성된다. 또한, 사용자 단말(10)과 서버(40)는 네트워크(미도시)를 통해 연결된다.
사용자 단말(10)은 사용자가 사용하는 컴퓨팅 단말로서, PC, 노트북, 스마트폰, 태플릿PC 등이다. 또한, 사용자 단말(10)은 원격접속 프로토콜인 텔넷(TELNET) 또는 SSH(secure shell)를 통해 서버(40)에 접속하고, 서버(40)에 설치된 쉘(Shell)을 통해 작업을 수행한다.
쉘(shell)은 사용자가 입력하는 명령어를 기계어로 번역하여 서버의 커널에 전달하는 역할을 수행하는 명령어 해석기(command interpreter). 즉, 쉘(shell)은 사용자가 입력하는 명령어를 해석하여 서버 커널로 처리할 수 있도록 하는 대화형 명령 인터프린터이다. 쉘(shell)은 문자 사용자 인터페이스(CLI)를 사용한다. 특히, 쉘(shell)은 명령줄 인터페이스(CLI, Command line interface)를 사용하여, 텍스트 터미널을 통해 사용자 단말(10)과 서버(40) 간에 상호 작업을 수행한다. 쉘(shell)은 본(bourne) 쉘, 콘(Korn) 쉘, 배쉬(bash) 쉘, C 쉘, Tcsh 쉘 등 다양한 쉘이 적용될 수 있다.
따라서 사용자는 사용자 단말(10)을 통하여 서버(40)의 서비스를 이용하고, 이를 위해, 쉘(shell) 상에서 일련의 문자, 즉, 명령어 스트링(또는 문자열)을 입력하고, 엔터(enter)를 입력함으로써, 입력된 명령문 또는 문자열을 수행하도록 서버(40)에 전달한다. 또한, 사용자 단말(10)에 설치된 쉘(shell)은 서버(40)로부터 입력된 명령의 결과를 수신하여, 텍스트 형태 또는 문자열(string) 형태로 화면에 그 결과를 표시한다. 이때, 입력된 명령어 스트링(문자열)을 명령문이라 부르기로 한다.
다음으로, 서버(40)는 사용자 단말(10)로부터 네트워크(미도시)를 통해 명령문을 수신하여, 해당 명령문의 명령을 수행하고 그 결과를 사용자 단말(10)에 전송한다. 이때, 명령문은 일련의 문자, 즉, 문자열로 구성된다. 이들 문자, 또는 문자열은 네트워크를 통해 전송된다. 즉, 사용자 단말(10) 또는 쉘(shell)과, 서버(40) 사이에는 세션이 형성되고, 세션 내에서 문자 또는 문자열이 데이터 패킷을 통해 전송된다.
서버(40)는 사용자가 입력된 문자열, 바람직하게는, 엔터(enter) 문자가 입력되면 그 이전까지의 입력된 일련의 문자 또는 문자열을 하나의 명령문(또는 명령 문자열)으로 인식한다. 엔터 문자는 명령문 입력이 완료되는 것을 나타내는 문자를 의미한다. 이하에서 엔터 문자(또는 엔터키 문자, 엔터키) 또는 명령문 입력완료 문자라 부르기로 한다.
바람직하게는, 서버(40)는 엔터(enter)가 입력되기 전까지 입력되는 문자들을 누적하여 문자열(또는 명령문)을 만들고, 중간까지 만들어진 문자열에 대한 구문분석을 하여 그 결과를 회신할 수도 있다. 이때, 회신된 결과는 사용자 단말(10)의 쉘 상에 표시될 수 있다. 즉, 서버(40)는 하나의 문자가 입력될 때마다 입력에 대응되는 명령어 문자열(또는 명령문)을 텍스트 형태로 회신하여, 사용자 단말(10) 또는 쉘 상에 표시하게 한다. 그리고 입력되는 문자가 제어 문자 등 쉘 상에 표시할 수 없는 문자인 경우, 서버(40)는 그에 해당하는 결과의 문자열을 회신하여 표시하게 한다.
더욱 바람직하게는, 서버(40)는 문자나 숫자, 기호 등 일반 문자 키 입력 외에 탭(tab), 방향키, 컨트롤(ctrl, alt) 키와의 조합문자 등 제어 키(또는 제어 문자)가 수신되는 경우, 해당 제어문자를 해석하여 이에 대응되는 일반 문자의 문자열(또는 텍스트 형태의 문자열)로서 변환한다. 여기서, 일반 문자는 글자, 숫자, 기호 등 텍스트로 표시 가능한 문자들을 의미하고, 제어 문자는 탭, 방향키, 컨트롤 키와 조합 문자 등 제어를 위한 문자들을 의미하는 것으로 정의한다.
한편, 바람직하게는, 서버(40)는 리눅스(Linux) 또는 유닉스(Unix) 계열 운영체제(OS)로 운영되며, CLI (Command-Line Interface) 방식의 원격접속 프로토콜 (TELNET, SSH)을 이용한 원격 접근에 대한 서비스를 제공한다. 또한, 접근통제 시스템(30)은 이러한 원격 접근에 대한 서비스에서 입력한 명령문에 대하여 통제를 수행한다.
다음으로, 접근통제 시스템(30)은 사용자 단말(10)과 서버(40) 사이의 네트워크(미도시) 상에 설치되는 게이트웨이로서, 사용자 단말(10)과 서버(40) 사이를 중계하거나 차단한다.
즉, 접근통제 시스템(30)은 사용자 단말(10)로부터 수신되는 명령어 문자 또는 문자열(또는 명령문)을 수신하여 서버(40)에 전달하고, 서버(40)로부터 결과를 수신하여 사용자 단말(10)로 전달한다.
이때, 접근통제 시스템(30)은 사용자 단말(10)로부터 수신되는 명령어 문자 또는 문자열을 분석하여, 해당 명령어 문자열(또는 명령문)에 내포하는 명령어의 차단 여부를 결정한다. 즉, 차단 여부의 결정에 따라, 해당 명령어 문자열(또는 명령문)을 서버(40)에 전송하거나, 차단한다.
다음으로, 본 발명의 일실시예에 따른 보안 강화를 위해 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템에 대하여 도 3을 참조하여 설명한다.
본 발명은 접근통제 시스템을 경유해서 서버에 작업한 이력, 즉, 명령어 정보를 수집하고 학습하여 사용자별 작업 행위패턴을 추출한다. 사용자가 서버에 접근하여 작업을 수행할 때, 접근통제 시스템은 추출한 패턴을 기반으로 사용자가 입력한 명령문들을 실시간으로 패턴과 비교하여, 이상 사용자 여부를 판단한다. 즉, 사용자에 대한 인증 기능을 패턴을 통해 지속적으로 수행한다. 그리고 이상 사용자로 판단되면, 해당 사용자의 세션을 차단하여, 잠재적 위협을 방지할 수 있다.
도 3에서 보는 바와 같이, 본 발명에 따른 서버 접근 통제 시스템(30)은 입력/응답 전송부(31), 명령문 추출부(32), 패킷 중계부(33), 장비 전송부(34), 정책 판단부(35), 이상 탐지부(36)로 구성된다.
사용자는 명령문 추출부의 서버접근 통제시스템(30)을 경유하여 특정 서버(40)에 접근하고 작업을 수행하는 상황을 가정한다.
먼저, 입력응답 전송부(31)는 사용자 또는 사용자 단말(10)로부터 입력을 수신하여 중계모듈(38)로 전달하거나 중계모듈(38)로부터 수신한 응답을 사용자 또는 사용자 단말(10)로 전송한다.
중계모듈(38)은 입력응답 전송부(31)와 장비전송부(34) 사이를 연결하여, 패킷 또는 데이터를 중계하는 모듈이다. 중계모듈(38)은 패킷으로부터 명령문을 추출하는 명령문 추출부(32)와, 패킷 또는 데이터를 중계하는 패킷 중계부(33)로 구성된다.
특히, 명령문 추출부(32)는 사용자 단말(10)로부터 수신한 패킷을 분석하여, 명령문을 추출하거나, 사용자의 세션정보를 추출한다.
세션은 사용자 단말(10)이 원격으로 서버(40)에 접속하기 위해 형성한 TCP/IP 프로토콜의 세션을 말한다. 사용자는 텔넷(TELNET), 시큐어쉘(SSH) 프로토콜 등에 의해 서버(40)에 원격 접속을 수행한다. 하나의 세션 동안에 사용자는 다수의 명령어들을 입력하여 자신이 원하는 작업을 수행한다.
세션정보는 사용자의 장비 접속 세션정보를 포함한다. 즉, 세션정보는 사용자 식별정보(사용자 아이디 등), 접속장비 식별번호(접속장비 아이디 등), 접속 프로토콜, 접속 계정, 접속 시작시간, 접속 종료시간 등으로 구성된다.
만약 명령문 추출부(32)가 패킷으로부터 사용자의 세션정보와 명령문을 추출하면, 세션정보와 명령문에 대한 정보를 이상 탐지부(36)로 전송한다. 그리고 이상 탐지부(36) 또는 이상 판단부(35)로부터 이상이 탐지되지 않는 경우, 패킷을 패킷 중계부(33)를 통해 중계하도록 한다.
다음으로, 이상 탐지부(36)는 명령문으로부터 명령어를 추출하고, 하나의 세션에 해당하는 일련의 명령어들을 수집하고, 일련의 명령어에 대한 패턴을 분석한다. 그리고 기존에 학습된 사용자의 행위 패턴(또는 명령어 패턴)과 비교하여 분석한다. 이때, 분석결과는 학습된 사용자의 행위패턴과 상이도 또는 이상 사용자 확률(이상 사용자일 확률값)로 도출된다.
바람직하게는, 이상 탐지부(36)는 세션 내의 일련의 명령어들을 수집하여, 해당 명령어들로 행위모델을 학습시켜 생성하고, 학습된 행위모델을 이용하여 이상 사용자 확률을 도출한다.
이상 탐지부(36)는 도출된 이상 사용자 확률을 이상 판단부(35)로 전송한다.
이상 판단부(35)는 이상 사용자 확률을 수신하여, 사전에 정의된 정책에 의거하여 이상 사용자의 여부를 판단한다. 즉, 상기 이상 사용자 확률이 소정의 임계치를 벗어나는 경우(예를 들어 확률이 사전에 정해진 임계치를 초과하는 경우), 이상 사용자로 판단한다.
이상 판단부(35)는 이상 사용자로 판단하면, 정의된 정책에 의거하여, 사용자의 사용에 제재를 수행한다. 예를 들어, 관리자에게 알림을 전달하거나 세션을 차단한다. 이를 통해, 보안을 강화할 수 있다.
즉, 사용자가 명령문 입력 시 실시간으로 이상 사용자 여부를 확인하기 위하여, 접근통제 시스템이 실제 접속된 관리 서버에 명령어를 전송하는 것을 보류한다. 그리고 인증을 위하여 이상 탐지부(36) 및 이상 판단부(25)에 의해 사용자 인증을 지속적으로 수행한다.
특히, 이상 판단부(35) 또는 이상 탐지부(36)는 사용자 여부를 참/거짓(True/False)이 아닌 해당 사용자가 맞을 확률에 대해서 결과를 도출하며, "의사 결정 시스템(Decision Support System)" 에서 정책에 의거하여 사용자가 맞을 확률이 일정 임계치를 초과할 경우 정의된 정책에 의거 자동 조치를 취하게 된다.
다음으로, 본 발명의 일실시예에 따른 실시간 이상 사용자 탐지를 위한 이상 탐지부(36)의 세부구성을 도 4를 참조하여 보다 구체적으로 설명한다. 도 4는 이상 탐지부(36)의 세부구성 및, 접근통제 시스템 내부에서 사용자의 실시간 작업행위를 기반으로 사용패턴 기반 이상 사용자를 탐지하는 일련의 과정을 보여준다.
도 4에서 보는 바와 같이, 본 발명의 일실시예에 따른 이상 탐지부(36)의 구성은 크게 데이터 파이프와 행위 엔진으로 구분된다.
먼저, 데이터 파이프 부분을 설명하면, 사용자의 작업 이벤트를 전달하는 이벤트 채널(51)과, 이상 사용자 확률을 전달하는 상태 채널(52)로 구성된다.
이벤트 채널(51)은 사용자의 작업 이벤트(User, Device Session, Command)에 대한 정보를 전달받는다. 즉, 접근통제 시스템의 게이트웨이 중계 모듈(38)은 사용자의 작업 이벤트(User, Device Session, Command)가 발생하면, 해당 이벤트 정보를 이벤트 채널(51)에 전달한다. 이벤트 채널(51)은 이벤트가 전달되면, 행위조정자(61)를 호출하여 해당 정보를 전달한다.
이때, 작업 이벤트는 사용자의 명령문 입력을 말한다. 즉, 사용자가 일련의 문자열을 입력하는데, 하나의 명령문을 완성하는 엔터 문자(엔터키)를 최종적으로 입력한다. 즉, 하나의 명령문이 완성되어 입력되면, 해당 명령문에 대하여 작업 이벤트가 발생된다.
또한, 상태 채널(52)은 계산된 이상 사용자일 확률 정보를 행위 엔진의 연산부(64)로부터 전달받는다. 즉, 행위 엔진의 연산부(Calculator)(64)는 계산된 이상 사용자일 확률 정보를 상태채널(Status Channel)(52)에 전달한다. 상태 채널(52)은 이상 확률(이상 사용자 확률)이 전달되면, 이상판단부(35)를 호출하여 해당 정보를 전달한다.
다음으로, 행위엔진은 행위조정자(61), 데이터 저장부(62), 행위모델 엔진(63), 연산부(64)를 포함한다. 또한, 데이터 저장을 위해, 행위로그 스토리지(71), 행위모델(72), 모델 캐시(73)으로 구성된다.
먼저, 행위조정자(Behavior Coordinator)(61)는 이벤트 채널(51)로부터 사용자의 작업 이벤트(User, Device Session, Command)를 수신받아, 모델 구성을 위해 로그를 저장하도록 지시하고, 이상 사용자를 탐지하는 연산부(64)를 호출하여 해당 작업 이벤트에 대한 분석을 수행하게 한다. 즉, 행위조정자(61)는 전달받은 이벤트 정보를 저장하기 위하여 데이터 저장부(Data Saver)(62)에 정보를 전달하고, 이상 사용자 판단을 위해 연산부(Calculator)(64)를 호출한다.
특히, 행위조정자(61)는 이벤트 채널(51)로부터 명령문을 가져온다. 그리고 가져온 명령문에서 명령어를 추출하고, 추출된 명령어를 행위로그 스토리지(71)에 저장한다.
다음으로, 데이터 저장부(62)는 행위조정자(61)로부터 받은 사용자의 작업 이벤트 정보를 행위로그 스토리지(71)에 저장한다. 즉, 데이터 저장부(Data Saver)(62)가 사용자 작업행위 학습을 위해 이벤트 정보를 행위로그 스토리지(71)에 저장한다.
바람직하게는, 행위로그 스토리지(71)에는 세션정보와, 해당 세션 내의 명령어를 기록하고 축적한다. 또한, 더욱 바람직하게는, 세션정보 및 명령어와 함께, 명령문 전체를 로그로 기록한다.
다음으로, 연산부(Calculator)(64)는 학습된 사용자별 추출된 행위패턴 모델과 비교하여, 전달받은 행위 정보가 저장된 사용자의 행위패턴(또는 행위들)과 어느 정도 차이가 나는지를 확률로 계산한다.
또한, 행위모델 엔진(63)은 행위모델(72)을 생성하는 엔진으로서, 사용자의 행위기반 행위모델을 구축한다. 즉, 행위모델 엔진(63)은 행위로그 스토리지(71)에 저장된 사용자 행위 정보를 이용하여, 행위모델(사용자의 작업행위 기반 행위모델)을 재구축한다. 즉, 행위모델 엔진(63)이 호출됨으로써, 사용자의 작업 행위 기반 행동 모델을 재구축한다.
바람직하게는, 도 5에서 보는 바와 같이, 행위모델은 베이지안 모델과 순환형 신경망(RNN) 모델을 사용한다. 즉, 행위모델 엔진(63)은 사용자 행위 정보, 즉, 입력한 명령어들을 이용하여 베이지안 모델의 변수들을 추출한다. 또한, 입력한 명령어들을 이용하여, 순환형 신경망 모델을 학습시킨다.
또한, 행위모델 엔진(63)은 주기적으로 호출되어, 사용자의 작업 행위 기반 행동 모델을 주기적으로 재구축한다.
다음으로, 연산부(Calculator)(64)는 계산된 이상 사용자일 확률 정보를 산출하고, 산출된 확률정보를 상태채널(Status Channel)에 전달한다. 즉, 연산부(64)는 행위모델(72)과, 사용자의 행위패턴들을 대비하여 이상 사용자의 확률을 연산한다.
바람직하게는, 연산부(64)는 베이지안 모델에 의한 이상 사용자의 제1 확률 정보를 산출하고, 순환형 신경망 모델(또는 딥러닝 모델)에 의한 이상 사용자의 제2 확률 정보를 산출한다. 그리고 연산부(64)는 상기 제1 확률 정보와 제2 확률 정보를 가중치를 주어 비율 조정하여 최종 확률 정보(또는 이상 사용자의 확률정보)를 추출한다.
이때, 바람직하게는, 학습 데이터 또는 각 사용자의 이벤트 또는 명령어들의 개수에 따라 상기 가중치를 결정한다. 즉, 학습 데이터의 크기, 개수가 상대적으로 작은 개수(100 ~ 1000)의 입력 데이터인 경우, 제1 확률정보의 가중치를 제2 확률정보의 가중치 보다 크게 하고, 개수가 상대적으로 큰 경우에는, 제1 확률정보의 가중치를 제2 확률정보의 가중치 보다 작게 한다.
딥러닝(Deep Learning) 모델을 사용하기 위해서는 각 사용자들의 데이터가 충분히 축적되어야 한다. 충분히 축적되기 전까지 팁러닝 모델을 사용하면, 제대로 된 결과가 나오지 않을 수 있다. 즉, 콜드 스타트 문제(Cold Start Problem)가 발생된다. 한편, 베이지안 모델은 상대적으로 작은 입력 데이터 만으로도 이상 사용자를 분별해 낼 수 있다. 따라서 초기 데이터가 부족한 시점에는 베이지안 모델에 가중치를 더 많이 두고, 데이터가 많이 축적될수록 딥러닝 모델의 가중치를 높인다. 즉, 그리고 데이터가 충분히 축적되면, 딥러닝(Deep Learning) 모델과 베이지안 판단 모델의 비율을 조정하여 최적의 판단을 내릴 수 있다.
또한, 모델캐시(73)는 행위모델 및, 사용자의 행위패턴을 대비하기 위해, 이들 데이터를 임시적으로 저장하는 매체(또는 캐시)이다. 특히 대비할 행위모델을 모델캐시에 기록하고, 이를 사용자 행위패턴과 대비한다. 모델 캐시는 실시간으로 이상 사용자 탐지를 위한 일정 용량의 캐시 공간을 할당하여 사용한다. 이를 통해, 자주 쓰이는 모델에 대한 검색 속도를 향상할 수 있다.
한편, 이상판단부(35)는 의사 결정 시스템(Decision Support System)으로서, 정의된 정책에 의거하여, 이상 사용자 여부를 판단한다. 이때, 상태채널(Status Channel)(52)로부터 이상 사용자일 확률 정보를 수신하고, 수신된 확률 정보를 이용하여 이상 사용자 여부를 판단한다.
특히, 이상판단부(35)는 적용된 임계치 초과 시 적절한 제재(경고, 관리자 알림, 세션 차단)를 요청한다.
이상 사용자로 판단되어 적용된 임계치를 초과할 경우 이상판단부(35)는 정의된 정책에 의거하여 게이트웨이 서버(Gateway Server) 또는 중계 모듈(38)에 해당 세션을 차단할 것을 요청한다.
예를 들어, 이상 사용자일 확률 단위의 임계치를 다음과 같이 설정할 수 있다.
이상 사용자의 확률이 70% 이상인 경우, 관리자에게 이상 사용자 의심을 알리는 알림 신호를 발송하고, 80%이상인 경우, 해당 사용자가 작업 수행을 위해 현재 접속한 세션을 차단한다. 또한, 이상 사용자의 확률이 90% 이상인 경우, 해당 사용자에 대한 접근을 차단한다. 상기와 같이 각 임계치를 사전에 설정하고, 이상판단부(35)는 이상 사용자의 확률이 각 임계치를 초과했을 경우, 사전에 정해진 일련의 작업(보안 작업)을 자동으로 수행한다.
다음으로, 본 발명의 일실시예에 따른 중계모듈(38)(또는 명령문 추출부)에서 명령문을 추출하는 방법을 도 6 및 도 7을 참조하여 설명한다.
도 6에서 보는 바와 같이, 중계모듈(38) 또는 명령문 추출부(32)는 사용자 단말(10)과 관리대상 서버(40)와의 사이에서 통신 데이터를 중계하는 환경에서 작업을 수행한다. 실시 예에서는 사용자 또는 사용자 단말(10)이 접근통제 시스템(30)을 경유하여 권한이 부여된 관리대상 서버(40)에 CLI 프로토콜을 이용하여 원격 접속하여 작업을 수행하는 환경을 실시 예로서 설명한다.
사용자 또는 사용자 단말(10)은 서버(40)에 작업을 위하여, 명령문을 입력한다. 이때, 중계모듈(38) 또는 명령문 추출부(32)는 전달받은 명령문을 서버(40)에 전송하고, 서버(40)의 응답을 다시 사용자 단말(10)에게 전달한다. 이때 명령문 추출부(32)는 명령어의 실행을 의미하는 엔터(Enter) 키 입력을 전달 받기 전까지 입력된 문자들을 추출하고, 내부 메모리에 누적한다. 사용자가 엔터(Enter) 키를 입력하면, 명령문 추출부(32) 또는 중계모듈(38)은 해당 키 입력을 서버(40)에 전송을 보류하고, 메모리에 누적된 명령어가 사용자에 할당된 권한 정책에 의거 실행 가능한지 판단하고 서버(40)에 전송 여부를 판단한다.
즉, 사용자의 엔터(Enter) 키가 입력 시, 중계모듈(38)은 바로 인가 여부를 판단하는 것이 아니라 명령어 확인 프로세스를 통해 서버(40)와의 통신 및 응답 데이터의 분석을 통한 최종 명령어 또는 명령문을 추출한다. 예를 들어 누적된 사용자 명령어 문자열이 “/usr/bin/rm” 이란 문자열인 경우, 중계모듈(38)은 해당 명령어 문자열로부터 실제 실행될 최종 명령어 문자열인 “rm” 추출한다. 그리고 추출된 최종 명령어, 옵션, 인수들로 실제 명령문을 추출한다.
결국, 명령문의 실행 여부 판단 시 사용자가 입력한 명령문에 대한 분석이 필요하며, 이를 위하여 서버(40)와의 정의된 통신 및 분석을 통한 명령문 확인 작업(또는 명령어 확인 작업)을 수행하고, 이를 통해, 실제로 실행될 최종 명령문을 추출한다. 실제로 실행될 최종 명령문 문자열 필터링 작업을 수행함으로써, 명령어에 대한 학습을 보다 효과적으로 수행할 수 있다.
구체적으로, 사용자 단말(10)로부터 명령어 문자를 수신하고(S10), 명령문 실행을 의미하는 엔터(Enter)키가 입력되는지를 판단한다(S20).
만약 엔터(Enter)키가 아니면 제어 문자인지를 확인한다(S30). 제어 문자는 탭(tab), 방향키, 컨트롤(ctrl, alt) 키와의 조합문자, 함수키 등 제어를 위한 문자로서, 텍스트 형태의 문자가 아닌 문자를 의미한다.
제어 문자가 아니면, 입력된 명령문 문자를 입력 명령문 누적 문자열에 누적한다(S40). 명령문 누적 문자열은 입력되는 명령문 문자를 누적하여 만든 문자열로서, 엔터키 문자(또는 명령어 입력완료 문자)가 입력되기 전까지 누적되는 문자열이다. 중계모듈(38)은 명령문 누적 문자열을 사용자 단말(10)로 회신하여, 사용자 단말(10)의 쉘(shell) 상에서 해당 문자열을 출력하게 한다. 즉, 사용자는 자신이 입력한 명령문 문자열이 쉘 상에서 표시되는 것을 볼 수 있다.
입력된 명령문 문자가 제어 문자인 경우, 누적된 문자열 및 해당 입력된 제어 문자를 서버(40)에 전송하고(S31), 서버(40)로부터 제어문자가 반영된 명령문 문자열을 수신한다(S32). 반영된 명령문 문자열을 입력 명령문 누적 문자열에 반영한다(S40). 예를 들어, 누적된 문자열이 "ren"이고, 이 상태에서 사용자가 탭(tab) 문자를 입력한다. 이 경우, "ren[Tab]"의 문자열을 서버(40)에 전송하면, 서버(40)로부터 "rename"이라는 문자열을 수신한다. 즉, "rename"은 "ren"에 제어문자 [Tab]이 반영된 문자열이다.
반영된 누적 문자열은 사용자 단말(10)에 회신되어, 반영된 누적 문자열이 쉘 상에 표시된다. 따라서 사용자는 ren+탭을 입력하면, 화면 상(쉘 상)에 "rename"이 표시되는 것을 볼 수 있다.
그리고 앞서 S20단계에서 엔터 문자 또는 명령문 입력완료 문자가 입력되면, 명령문 확인 과정을 수행한다(S50). 명령문 확인 과정(S50)은 입력된 누적 문자열 또는 명령문 문자열이 실제로 실행되는 명령문을 추출하는 과정이다. 즉, 중계모듈(38)이 실제 서버(40)에 명령문 실행을 통한 사용자가 의도한 최종 명령문을 확인하는 과정이다.
명령문 확인 과정(S50)은 에코(echo) 명령어, 링크된 명령 추출(realpath) 명령어, 명령어 명칭 추출(basename) 명령어 등의 시스템 명령어들을 이용하여, 서버(40)에 요청하여 결과를 회신한다. 또한, 성능 향상을 위하여, 실행가능확인(which) 명령어를 추가로 이용할 수 있다. 명령문 확인 과정(S50)의 구체적인 과정이 도 7에 도시되고 있다.
먼저, 에코 명령어를 적용한다(S51). 에코(echo) 명령어는 변수 처리된 명령어, 와일드 문자(Wild Char)가 포함된 명령어, 히스토리(History)가 포함된 명령어 등에 대하여 실제 실행할 명령어로 변환하여 회신한다. 또한, 에코 명령어는 개행문자, 공백문자 등을 치환한다.
즉, 사용자에게 명령문 실행을 의미하는 엔터(Enter)키가 입력되었을 경우 현재까지 메모리에 누적된 명령문 문자를 확인하기 위하여, 문자열 사이에 포함된 공백과 줄 마지막에 개행 문자를 표준 출력으로 출력하는 명령어인 “echo” + [입력 명령어] 를 서버에 전송하고, 서버(40)의 응답을 수신한다. 수신된 메시지를 중계모듈(38)은 분석하여 변수 처리된 명령문 문자를 치환하고, 와일드 문자(Wild Char) 및 히스토리(History) 명령문을 실제 명령문으로 치환한다.
다음으로, 도시되지는 않았으나, 실행가능확인(which) 명령어를 수행할 수 있다. 실행가능확인(which) 명령어는 해당 누적 명령문 문자열이 실행가능한지 여부를 확인하는 명령어이다.
즉, 접근통제 시스템의 성능 향상을 위하여 이렇게 치환된 명령문이 실제 서버에서 실행 가능한 명령어 인지 “which [명령어]” 라는 명령어를 서버에 전송하여 확인한다.
다음으로, 링크된 명령 추출(realpath) 명령어를 적용한다(S52). 링크된 명령 추출(realpath) 명령어는 심볼릭 링크(Symbolic Link)에 의해 링크된 실제 명령어 또는 명령문을 회신한다.
즉, 앞서“which [명령어]”에 대한 응답 메시지를 분석하여 실행 가능한 명령문일 경우 심볼릭 링크 명령문 실행 여부를 판단하기 위하여 실제 실행파일 경로를 반환하는 명령어인 “realpath” 명령어를 서버에 전송하고, 실제 실행 파일 경로를 획득한다.
다음으로, 명령어 명칭 추출(basename) 명령어를 적용한다(S53). 명령어 명칭 추출(basename) 명령어는 명령어가 경로(path)를 포함하는 경우 경로를 제외하고 실제 실행 명령어의 이름을 회신한다.
실행 파일 전체 경로를 포함한 문자열에서 경로를 제외한 명령어 문자를 얻기 위하여 서버에 “basename” 명령어를 전송을 통하여 최종 의도한 명령어를 추출할 수 있다.
마지막으로, 상기와 같은 과정으로 최종 명령문 또는 실제 명령문을 추출한다(S60). 특히, 명령문에서 명령어 명칭을 "basename"으로 구한 명령어 명칭으로 치환하여, 최종 명령문을 획득한다.
다음으로, 본 발명의 일실시예에 따른 명령문 추출 방법의 예시를 도 8을 참조하여 설명한다.
먼저, 사용자가 “ren” + [TAB키] 명령어 입력하는 경우를 설명한다.
이때, 사용자 단말의 화면 상에서 출력은 “rename”로 나타난다.
종래기술에 따른 누적 명령문 문자열은“ren[TAB]”이나, 본 발명에 따른 명령문 누적 문자열은 “rename”이다. 또한, 사용자가 일반 문자가 아닌 제어 문자Control Key)를 이용한 명령문을 입력 시 중계모듈(38)은 이 문자를 누적하지 않고, 서버에 전송하여 응답값을 분석하여 명령문을 누적한다.
다음으로, 에코(echo) 명령을 이용하여 최종 명령문을 확인하는 예이다. 도 8a와 같이, 개행 문자가 입력되는 경우이다. 개행 문자를 치환하거나 제거하여, 원래 실행할 명령문 문자열인 rm -rf 를 회신받는다.
다음으로, 도 8b는 히스토리(histroy) 명령을 사용하는 예이다. 이전에 사용한 명령문 번호를 통해, 실행을 확인한다. 즉, 도 8b의 예시에서, 번호 "546"은 "/usr/bin/ssh"의 명령문을 나타낸다. 서버(40)로부터 "/usr/bin/ssh"의 명령문 문자열을 회신받는다.
다음으로, 도 8c는 와일드 문자(Wild Char)(*,?)를 활용한 명령문 사용 예시이다. 명령문 전체를 입력하지 않고 와일드 문자(Wild Char)를 사용하여 해당 디렉토리에 존재하는 유사한 실행 파일을 실행할 수 있다.
예를 들어, “ss*” 입력하여, “ssh”를 실행할 수 있다. 도 8c와 같이, 이 경우에도 에코 명령문은 "./ssh"를 회신한다.
다음으로, 도 8d는 변수 처리된 명령문 사용에 대한 예시를 나타낸다. 변수 a를 이용하는 경우로서, a가 "rm"이란 명령문을 갖는 것으로 정의하여 이용한다. 에코 명령문을 이용하면, 서버는 "rm -rf"를 회신한다.
다음으로, 링크된 명령 추출(realpath) 명령문을 활용하여 확인하는 경우이다. 도 8e의 굵은 글씨에 보면, "ssf"는 "/usr/bin/ssh"의 명령에 링크시킨 명령이다. 따라서 "ssf"를 실행하면, 링크된 명령문인 "/usr/bin/ssh"가 실행된다. 링크된 명령 추출(realpath) 명령문을 이용하여, 서버에 전달하면, "ssf" 명령문 문자열이 링크된 명령어인 "/usr/bin/ssh"를 회신한다. 이때, 실제 실행파일의 위치와 실행파일의 이름과 함께 회신한다.
다음으로, 명령어 명칭 추출(basename) 명령어를 활용한 최종 명령어 확인에 대한 예시가 도 8f에 도시되고 있다. 명령어 문자열 "usr/bin/ssh"을 명령어 명칭 추출(basename) 명령어로 서버에 요청하면, 명령어 이름인 "ssh"를 회신한다.
다음으로, 본 발명의 일실시예에 따른 행위조정자(61)에서 명령문에서 명령어를 추출하는 방법에 대하여 도 9을 참조하여 설명한다.
먼저, 이상 사용자 탐지 위한 학습 모델을 생성하기 위하여, 사용자가 서버에 접속하여 사용한 작업 명령문에서 명령어만 추출한다. 명령어는 명령어의 옵션 부분을 포함한다. 즉, 명령문은 명령어와, 명령어에 대한 인수값(또는 인수, argument)으로 구성된다. 이때 명령문에서 인수값을 제외하고 명령어만 추출한다.
또한, 명령어에서 경로가 포함된 경우에는 경로를 제외하여, 순수한 명령어만을 추출한다. 즉, 명령문을 입력할 때, 명령어의 명칭만을 기재하지 않고, 해당 명령어가 위치하는 경로(디렉토리 또는 폴더)를 함께 기재하는 경우가 있다. 이때 해당 경로를 명령어 또는 명령문에서 제외한다.
따라서 최종적인 명령어는 명령어(또는 명령어의 명칭)과 명령어 옵션들만으로 구성된다. 이와 같이, 명령문을 명령어로 줄임으로써 학습 노이즈를 줄일 수 있다.
명령문에서 명령어를 도출하는 예시가 도 9에 도시되고 있다.
다음으로, 본 발명의 일실시예에 따른 행위모델 엔진(63)에서 행위모델을 구축하는 방법을 구체적으로 설명한다.
행위모델에 의하면, 사용자가 하나의 세션에서 입력한 일련의 명령어에 대하여 이상 사용자 여부를 다음과 같은 기준에 의하여 판단한다.
먼저, 각 명령어의 옵션 및 옵션 문자열의 입력 순서의 유사 여부로 판단한다. 즉, 각 명령어들이 어떠한 옵션과 함께 사용되는지에 대한 유사 여부를 판단한다. 일반적으로 각 사용자들은 자신들의 습관에 의하여, 명령어 및 그 옵션 문자열을 일정한 순서로 입력한다. 예를 들어, "ls -al" 형식의 명령어를 사용하는 사용자는 "ls -la" 라고 옵션 순서를 변경하여 사용하지 않는다.
다음으로, 각 사용자별 명령어별 사용 빈도의 유사 여부로 판단한다. 일반적으로, 각 사용자는 루틴한 업무를 수행한다. 따라서 사용자는 특정 명령어들을 주로 자주 사용한다. 즉, 자주 사용하는 명령어들이 정해져 있다. 따라서 각 사용자의 명령어별 사용 빈도의 유사 여부로 사용자 사용 패턴의 유사 여부를 판단할 수 있다.
또한, 다음으로, 특정 명령어를 사용하기 위한 사전 명령어의 사용 순서들을 대비하여, 사용 패턴의 유사 여부를 판단한다. 일반적으로, 각 사용자는 특정 작업을 수행하기 위하여, 일정하게 수행하는 일련의 명령어들이 있다. 다른 일련의 명령어들의 수행에 따라 해당 작업이 수행될 수도 있으나, 일반적으로, 사용자는 자신에게 익숙한 형태의 명령어 작업을 통해 해당 작업을 수행한다. 따라서 특정 작업을 수행하기 위해 요청되는 일련의 명령어들을 분석하면, 사용자 유사 여부를 판단할 수 있다.
구체적으로, 행위모델 엔진(63)은 세션정보 및 명령어 데이터를 입력하여 학습을 통해 행위모델을 구축한다. 이때, 행위모델의 입력 데이터는 세션 정보 및, 명령어 데이터로서, 사용자 식별정보(사용자 아이디 등), 세션 식별정보(장비접속 세션의 아이디)으로 구성된다. 바람직하게는, 명령어 입력시간을 더 추가할 수 있다.
행위모델의 입력데이터의 일례가 도 10에 도시되고 있다. 도 10에서, "_id"는 DB에서 오브젝트 고유 값을 나타내고, "user_id" 는 장비 접속한 사용자 아이디를 나타낸다. 또한, "command"는 장비 접속 후 입력한 명령어를 나타내고, "connection_id"는 장비 접속 세션의 아이디를 나타낸다. 장비접속세션 아이드를 통해 장비정보, 접속 프로토콜 정보 등의 데이터를 연결하여 찾을 수 있다. 그리고 "datetime"은 명령문의 입력시간을 나타낸다.
또한, 행위모델의 출력데이터의 일례가 도 11에 도시되고 있다. 행위모델의 출력데이터(또는 결과데이터)는 사용자별 명령어의 사용패턴이 추출된다.
도 11에서, "_id"는 DB에서 오브젝트 고유 값이고, "num_distinct_commands"는 unique_commands(중복되지 않은) 명령어의 개수를 나타낸다. "user_id"는 사용자 아이디로서, 어떤 사용자의 명령어 학습 모델인지를 나타낸다. 그리고 "unique_commands"는 학습 데이터를 통해 모델링한 명령어별 가중치를 나타낸다. 명령어 가중치는 이상 사용자 유무를 판단하기 위한 가중치 값이다.
구체적으로, 명령어들을 다음과 같은 [수학식 1]에 의하여 학습시켜 각 사용자별 모델(또는 패턴)을 구축한다. 이하 수학식은 각 명령어(command)들이 어떠한 옵션(option)과 함께 사용되었는지와, 각 명령어(command)들이 어느 정도의 빈도로 사용되었는지를 나타낸다.
[수학식 1]
Figure 112017037427735-pat00002
즉, 특정 사용자 u에 대해 각각의 명령어(command line) c에서의 확률은 위와 같은 수식으로 계산된다. 여기서, α는 사전에 정해진 상수로서 슈도우 카운트(pseudocount)이며, A는 서로다른 명령어(distinct command) 개수이다.
슈도우 카운트(pseudocount) α는 수학적으로 분자를 0으로 만들지 않는 역할을 한다. 개념적으로는 학습 데이터에 없는 새로은 명령어(command)가 입력되었을 경우 민감도로 볼 수 있다.
나이브 베이지안(Naive Bayesian) 모델인 경우, 모든 명령어(command)들은 독립 시행이라고 가정하며, n번째 명령어(command) 입력 시점에서의 확률은 n번째까지의 모든 확률의 곱으로 계산할 수 있다.
다음으로, 본 발명의 일실시예에 따른 연산부(64) 및 이상판단부(35)가 이상 사용자 확률을 산출하는 방법을 도 12를 참조하여 설명한다.
도 12에서 보는 바와 같이, 먼저 사용자별 행위모델을 참조한다(S11).
행위모델은 앞서 행위모델 엔진(63)에 의해 생성된다. 즉, 행위모델 엔진(63)에 의하여 사용자 N명에 대하여 학습된다. 특정한 명령어(command)가 입력되었을 때, 입력된 명령어(command)가 어떤 사용자일 확률이 가장 높은지를 찾아줄 수 있다.
구체적으로, 먼저, 행위 모델 M은 사용자 수 만큼 N개가 사전에 학습되어 존재하고, 연산부(64)는 행위모델 M을 참조할 수 있도록 데이터베이스 등으로부터 가져온다(S11).
다음으로, 현재 사용자로부터 입력된 명령어를 받아온다(S12). 입력된 명령어는 앞서 명령어 추출부(32) 또는 행위조정자(61)에 의해 추출된 실제 명령어이다. 즉, 입력된 명령어는 명령어 명칭과 옵션들로 구성된다.
다음으로, 연산부(64)는 입력된 명령어를 각 사용자별 행위모델에 적용하여, 각 사용자별 확률 P를 구한다(S13). 즉, 그 결과의 형태는 (사용자 아이디, 확률)의 조합으로 구성된다.
사용자별 확률은 사용자의 수(예를 들어, N개)만큼 산출된다. 여기서, 확률은 절대적인 값이 아닌 현재 사용자가 각 사용자일 상대적인 확률이다.
또한, 사용자별 확률은 연산부(64)에 의해 산출된다.
다음으로, N개의 사용자별 확률을 크기에 따라 순위를 부여한다(S14). 바람직하게는, 사용자별 확률을 내림차순으로 정렬하여 각 사용자별 확률의 순위를 부여한다. 즉, 각 사용자별 확률은 현재 사용자가 해당 사용자일 확률을 나타낸다.
예를 들어, 산출된 각 사용자별 확률은 다음과 같다.
[결과 예시]
- 사용자 : zz_user
- 입력 명령어 : ls ?F ?l -l
- 결과 데이터
1. [ a_user, 90.43 ]
2. [ b_user, 88.34 ]
3. [ c_user, 85.32 ]
4. [ d_user, 82.12 ]
5. [ e_user, 79.14 ]
6. [ f_user, 77.23 ]
....
100. [zz_user, 10.23 ]
앞서 결과 예시에서 보는 바와 같이, 현재 사용자 “zz_user”가 사용한 명령어 “ls ?F ?l ?l”를 전체 사용자의 학습 모델을 기반으로 평가한다. 그 결과의 예시가 앞서 기재한 바와 같다.
상기와 같은 결과 값은 이상판단부(35)로 전달된다.
다음으로, 입력된 명령어에 대하여 해당 사용자의 확률의 순위에 따라 이상 사용자 여부를 판단한다(S15). 바람직하게는, 판단작업은 이상판단부(35)에 의해 수행된다.
내림차순으로 정렬된 사용자의 순서가 입력된 명령어(command) 열에 대해 해당 사용자가 맞을 확률에 대한 예측 값을 나타낸다.
따라서 이상판단부(35)에서는 특정 사용자가 입력한 명령어(command)에 대해 해당 사용자일 확률이 일정 순위 아래에 있을 경우 이상 사용자로 판단한다.
일반적으로 이상판단부(35)는 정책에 따라, 적용된 상위 N 명 안에 명령어를 입력한 사용자(또는 사용자 아이디)가 포함되었을 경우, 명령어를 사용한 사용자가 맞다고 가정한다.
한편, 딥러닝 모델 또는 순환형 신경망 모델을 학습시키는 방법이 도 13에 나타낸 바와 같다. 도 13은 명령어가 입력되었을 경우. 명령어를 입력한 사용자가 맞을 확률을 어떻게 산출하는가에 대한 개념적인 도식이다.
또한, 입력된 명령어는 학습된 전체 사용자의 모델과 수학식 1에 의하여 계산하여 해당 사용자가 맞을 확률이 결과값으로 산출된다.
이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
10 : 사용자 단말 30 : 접근통제 시스템
31 : 입력/응답 전송부 32: 명령문 추출부
33 : 패킷중계부 34 : 장비전송부
35 : 이상판단부 36 : 이상탐지부
38 : 중계모듈 40 : 서버
51 : 이벤트 채널 52 : 상태 채널
61 : 행위조정자 62 : 데이터저장부
63 : 행위모델 엔진 64 : 연산부
71 : 행위로그 스토리지 72 : 행위모델
73 : 모델캐시

Claims (10)

  1. 사용자 단말과 서버가 네트워크로 연결되고, 상기 사용자 단말과 상기 서버 사이의 네트워크 상에 게이트웨이로 설치되는, 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템에 있어서,
    상기 사용자 단말로부터 전달되는 패킷으로부터 세션정보와 명령문을 추출하고, 상기 사용자 단말과 상기 서버 사이에서 입력되는 명령문 또는 서버의 결과를 중계하는 중계모듈;
    상기 중계모듈로부터 세션정보와 명령문을 수신하여 명령어를 추출하고, 사용자의 명령어 입력 패턴을 나타내는 행위모델을 학습시켜 생성하고, 사용자의 현재 명령어를 상기 행위모델에 적용하여 이상 사용자의 확률을 산출하는 이상탐지부; 및,
    상기 이상탐지부로부터 이상 사용자의 확률을 수신하고, 사전에 정해진 정책에 따라 상기 이상 사용자의 확률을 이용하여 관리자에게 경고나 세션 차단, 사용자 차단을 결정하는 이상판단부를 포함하고,
    상기 이상탐지부는,
    상기 중계모듈로부터 명령문을 수신하는 이벤트 채널;
    상기 이상판단부에게 이상 사용자의 확률 정보를 제공하는 상태 채널;
    상기 명령문으로부터 명령어를 추출하는 행위조정자;
    학습을 통해 각 사용자별 행위모델을 생성하는 행위모델 엔진;
    상기 행위조정자로부터 명령어를 수신하여, 수신된 해당 명령어에 대하여 각 사용자별 확률을 산출하되, 상기 행위모델을 이용하여 산출하는 연산부를 포함하고,
    상기 행위모델은 베이지안 모델과 딥러닝 모델로 구성되고,
    상기 연산부는 상기 베이지안 모델로부터 제1 확률을 산출하고, 상기 딥러닝 모델로부터 제2 확률을 산출하여, 상기 제1 확률과 상기 제2 확률에 대하여 가중치를 통해 비율 조정을 하여 최종 확률을 추출하는 것을 특징으로 하는 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템.
  2. 삭제
  3. 제1항에 있어서,
    상기 행위조정자는 행위로그 스토리지에 상기 명령어를 기록하여 축적하고, 상기 행위모델 엔진은 축적된 행위로그 스토리지의 명령어 데이터를 이용하여 상기 행위모델을 지속적으로 학습시켜 갱신하는 것을 특징으로 하는 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템.
  4. 삭제
  5. 제1항에 있어서,
    상기 중계모듈은 상기 사용자 단말로부터 명령문 문자를 수신하고, 상기 명령문 문자가 엔터 문자가 아니면 상기 명령문 문자를 누적하여 명령문 누적 문자열을 생성하고, 상기 명령문 문자가 엔터 문자이면 상기 누적 문자열에서 실제 실행될 최종 명령문을 추출하되, 상기 명령문 문자가 제어 문자이면, 누적된 명령문 누적 문자열과 상기 제어 문자를 상기 서버에 전송하고, 상기 제어 문자가 반영된 문자열을 수신하고, 상기 반영된 문자열을 누적하여 상기 누적 문자열을 생성하는 것을 특징으로 하는 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템.
  6. 제5항에 있어서,
    상기 중계모듈은 에코(echo) 명령어, 링크된 명령 추출(realpath) 명령어, 명령어 명칭 추출(basename) 명령어 중 어느 하나 이상의 명령어와, 해당 명령어의 인수로서 상기 누적 문자열을 상기 서버에 전송하고, 상기 서버로부터 수신한 해당 명령어의 결과를 이용하여, 상기 최종 명령문을 추출하고,
    상기 에코(echo) 명령어는 변수 처리된 명령어, 와일드 문자(Wild Char)가 포함된 명령어, 히스토리(History)가 포함된 명령에 대하여 실제 실행할 명령어로 변환하여 회신하는 명령어이고,
    상기 링크된 명령 추출(realpath) 명령어는 링크된 명령 추출(realpath) 명령어는 심볼릭 링크(Symbolic Link)에 의해 링크된 실제 명령어를 회신하는 명령어이고,
    상기 명령어 명칭 추출(basename) 명령어는 명령어가 경로(path)를 포함하는 경우 경로를 제외하고 실제 실행 명령어의 이름을 회신하는 명령어인 것을 특징으로 하는 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템.
  7. 제1항에 있어서,
    상기 명령문에서 명령어 명칭과 명령어 옵션만을 구성된 것으로 명령어를 추출하는 것을 특징으로 하는 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템.
  8. 제1항에 있어서,
    상기 행위모델 엔진은 각 명령어의 옵션 및 옵션 문자열의 입력순서의 유사 여부, 명령어별 사용빈도의 유사 여부, 명령어의 사용 순서에 의한 사용 패턴의 유사 여부를 반영하여, 상기 행위모델을 학습시키는 것을 특징으로 하는 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템.
  9. 제8항에 있어서,
    상기 행위모델 엔진은 다음 [수식 1]을 이용하여, 상기 행위모델을 구하는 것을 특징으로 하는 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템.
    [수학식 1]
    Figure 112017037427735-pat00003

    단, Pc,u는 사용자 u에 대하여 명령어 c에서의 확률을 나타내고, Training Count는 학습 데이터의 개수이고, Training Data Length는 학습 명령어의 길이를 나타내고, α는 사전에 정해진 상수로서 슈도우 카운트(pseudocount)이며, A는 서로다른 명령어(distinct command) 개수임.
  10. 제1항에 있어서,
    상기 행위모델은 사용자 수 만큼 N개가 사전에 학습되어 구축되고,
    상기 연산부는 특정 사용자의 입력된 명령어를 각 사용자별 행위모델 N개에 모두 적용하여, N개의 사용자별 확률을 구하고, N개의 사용자별 확률을 내림차순으로 정렬하여 각 사용자별 확률의 순위를 부여하고,
    상기 이상판단부는 입력된 명령어에 대하여 해당 사용자의 확률의 순위에 따라 이상 사용자 여부를 판단하되, 특정 사용자가 입력한 명령어(command)에 대해 해당 사용자일 확률이 일정 순위 아래에 있을 경우 이상 사용자로 판단하는 것을 특징으로 하는 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템.

KR1020170049242A 2017-04-17 2017-04-17 보안 강화를 위해 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템 KR101796205B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170049242A KR101796205B1 (ko) 2017-04-17 2017-04-17 보안 강화를 위해 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템
PCT/KR2018/003549 WO2018194282A1 (ko) 2017-04-17 2018-03-26 보안 강화를 위해 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170049242A KR101796205B1 (ko) 2017-04-17 2017-04-17 보안 강화를 위해 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템

Publications (1)

Publication Number Publication Date
KR101796205B1 true KR101796205B1 (ko) 2017-11-13

Family

ID=60386034

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170049242A KR101796205B1 (ko) 2017-04-17 2017-04-17 보안 강화를 위해 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템

Country Status (2)

Country Link
KR (1) KR101796205B1 (ko)
WO (1) WO2018194282A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101992963B1 (ko) * 2018-11-20 2019-06-26 주식회사 넷앤드 머신러닝을 통한 화이트리스트 명령어 정책 자동 생성 시스템
KR102024142B1 (ko) * 2018-06-21 2019-09-23 주식회사 넷앤드 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템
KR102118380B1 (ko) * 2019-11-08 2020-06-04 주식회사 넷앤드 사용자별 서버 작업 통제 기능을 탑재한 접근통제 시스템
CN111259412A (zh) * 2020-01-09 2020-06-09 远景智能国际私人投资有限公司 权限控制方法、装置、计算机设备及存储介质
WO2020235716A1 (ko) * 2019-05-22 2020-11-26 엘지전자 주식회사 지능형 전자 기기 및 지능형 전자 기기에 전송되는 메시지를 이용한 인증 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2606137A (en) * 2021-04-07 2022-11-02 Ssh Communications Security Oyj Controlling command execution in a computer network
CN116809652B (zh) * 2023-03-28 2024-04-26 材谷金带(佛山)金属复合材料有限公司 一种热轧机控制系统的异常分析方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101388090B1 (ko) * 2013-10-15 2014-04-22 펜타시큐리티시스템 주식회사 이벤트 분석에 기반한 사이버 공격 탐지 장치 및 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101213863B1 (ko) * 2010-11-04 2012-12-20 중앙대학교 산학협력단 학습 기반 홈 네트워크 오류 인식 시스템을 위한 로그 데이터 클러스터링 분석 시스템 및 그 방법
KR101410233B1 (ko) * 2012-11-01 2014-06-20 주식회사 윈스 네트워크 세션 행위 패턴 모델링 탐지방법 및 모델링탐지시스템
US9563854B2 (en) * 2014-01-06 2017-02-07 Cisco Technology, Inc. Distributed model training
KR102355973B1 (ko) * 2015-08-26 2022-01-25 주식회사 케이티 스미싱 메시지 판별장치 및 스미싱 메시지 판별방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101388090B1 (ko) * 2013-10-15 2014-04-22 펜타시큐리티시스템 주식회사 이벤트 분석에 기반한 사이버 공격 탐지 장치 및 방법

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102024142B1 (ko) * 2018-06-21 2019-09-23 주식회사 넷앤드 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템
KR101992963B1 (ko) * 2018-11-20 2019-06-26 주식회사 넷앤드 머신러닝을 통한 화이트리스트 명령어 정책 자동 생성 시스템
WO2020235716A1 (ko) * 2019-05-22 2020-11-26 엘지전자 주식회사 지능형 전자 기기 및 지능형 전자 기기에 전송되는 메시지를 이용한 인증 방법
KR20220002757A (ko) * 2019-05-22 2022-01-07 엘지전자 주식회사 지능형 전자 기기 및 지능형 전자 기기에 전송되는 메시지를 이용한 인증 방법
US11315549B2 (en) 2019-05-22 2022-04-26 Lg Electronics Inc. Intelligent electronic device and authentication method using message sent to intelligent electronic device
KR102572864B1 (ko) 2019-05-22 2023-08-30 엘지전자 주식회사 지능형 전자 기기 및 지능형 전자 기기에 전송되는 메시지를 이용한 인증 방법
KR102118380B1 (ko) * 2019-11-08 2020-06-04 주식회사 넷앤드 사용자별 서버 작업 통제 기능을 탑재한 접근통제 시스템
CN111259412A (zh) * 2020-01-09 2020-06-09 远景智能国际私人投资有限公司 权限控制方法、装置、计算机设备及存储介质
CN111259412B (zh) * 2020-01-09 2023-12-05 远景智能国际私人投资有限公司 权限控制方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
WO2018194282A1 (ko) 2018-10-25

Similar Documents

Publication Publication Date Title
KR101796205B1 (ko) 보안 강화를 위해 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템
US10902117B1 (en) Framework for classifying an object as malicious with machine learning for deploying updated predictive models
US11711438B2 (en) Systems and methods for controlling data exposure using artificial-intelligence-based periodic modeling
CN109831465B (zh) 一种基于大数据日志分析的网站入侵检测方法
US20210152555A1 (en) System and method for unauthorized activity detection
EP2955894B1 (en) Deception network system
WO2021171090A1 (en) An artificial intelligence adversary red team
US8793790B2 (en) System and method for insider threat detection
US20200186544A1 (en) Systems And Methods For Behavioral Threat Detection
US11962611B2 (en) Cyber security system and method using intelligent agents
KR102024142B1 (ko) 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템
CN112637220A (zh) 一种工控系统安全防护方法及装置
KR101780764B1 (ko) 서버 보안 강화를 위한 접근통제 시스템의 비인가 명령어 통제 방법
CA3120423C (en) Systems and methods for behavioral threat detection
US20240171615A1 (en) Dynamic, runtime application programming interface parameter labeling, flow parameter tracking and security policy enforcement using api call graph
RU2610395C1 (ru) Способ расследования распределенных событий компьютерной безопасности
CN113190839A (zh) 一种基于SQL注入的web攻击防护方法及系统
KR102654026B1 (ko) Pc 원격 제어, 관리 시스템 및 방법
US20240106857A1 (en) Typosquatting Detection and Notification
KR102296215B1 (ko) 지능형 지속 위협 방어를 위한 온톨로지 지식 베이스 기반 보안 요구사항 추천 방법, 이를 수행하는 장치 및 시스템
US20240236137A1 (en) Vulnerability scoring based on organization-specific metrics
US12034767B2 (en) Artificial intelligence adversary red team
US20220191224A1 (en) Method of threat detection in a threat detection network and threat detection network
CN117134999B (zh) 一种边缘计算网关的安全防护方法、存储介质及网关
US20230328088A1 (en) Multi-level log analysis to detect software use anomalies

Legal Events

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