KR102024142B1 - 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템 - Google Patents

사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템 Download PDF

Info

Publication number
KR102024142B1
KR102024142B1 KR1020180071545A KR20180071545A KR102024142B1 KR 102024142 B1 KR102024142 B1 KR 102024142B1 KR 1020180071545 A KR1020180071545 A KR 1020180071545A KR 20180071545 A KR20180071545 A KR 20180071545A KR 102024142 B1 KR102024142 B1 KR 102024142B1
Authority
KR
South Korea
Prior art keywords
user
server
access
pattern
server access
Prior art date
Application number
KR1020180071545A
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 KR1020180071545A priority Critical patent/KR102024142B1/ko
Application granted granted Critical
Publication of KR102024142B1 publication Critical patent/KR102024142B1/ko

Links

Images

Classifications

    • 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
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

사용자가 서버에 원격 접근하는 행위를 학습하여 사용자별 서버접근 패턴을 추출하고, 사용자의 서버 접근 요청 시 추출된 패턴을 기반으로 이상 사용자 여부를 실시간으로 판단하여 통제하는, 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템에 관한 것으로서, 상기 사용자 단말로부터 서버접근 메시지를 수신하면, 사용자에 대한 서버 접근에 대한 권한을 인증하고, 해당 사용자의 서버 접근에 대한 패턴을 분석하여 이상 사용자 여부를 판단하는 인증모듈; 상기 서버접근 메시지에 대한 패턴을, 사전에 학습된 사용자의 서버접근 패턴과 비교하여 분석하고, 학습된 사용자의 서버접근 패턴과의 이상 사용자의 확률을 산출하는 이상탐지부; 및, 상기 인증모듈에 의하여 서버접근에 대한 인증이 완료되고 정상 사용자로 판단되면, 상기 사용자 단말과 상기 서버 사이의 세션을 중계하는 세션중계부를 포함하는 구성을 마련한다.
상기와 같은 서버 접근 통제 시스템에 의하여, 접근자의 접근 행위가 사전에 추출한 정당한 사용자의 접근 패턴과 유사한지를 비교하여 정당한 사용자 여부를 추정함으로써, 해커 또는 악의적 사용자가 계정을 탈취하여 정상 인증을 거쳐 공격하는 행위에 대해서도 방어할 수 있다.

Description

사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템 { A access control system for detecting and controlling abnormal users by users’ pattern of server access }
본 발명은 기관에서 관리하는 주요 서버의 보안 관리를 위하여, 사용자가 서버에 원격 접근하는 행위를 학습하여 사용자별 서버접근 패턴을 추출하고, 사용자의 서버 접근 요청 시 추출된 패턴을 기반으로 이상 사용자 여부를 실시간으로 판단하여 통제하는, 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템에 관한 것이다.
또한, 본 발명은 정상적인 사용자가 아닌 해커 또는 악의적 의도를 가진 사용자들이 사용자 계정을 탈취하여 정상 인증을 거쳐 공격할 때 기존에 수행했던 정당한 사용자의 접근 패턴과 상이한 접근을 수행하는 것에 착안하여 이를 방지할 수 있는, 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템에 관한 것이다.
일반적으로, 국내외 개인정보 유출 및 기관의 서비스 파괴 공격 등의 방어를 위해 서버 원격접근을 사용자 권한별로 통제하는 접근통제 시스템을 도입하여 운영 중이다. 특히, 종래기술에 의한 서버 접근통제 시스템은 사용자 단말과 서버 사이에서 보안 모니터링을 수행한다[특허문헌 1].
즉, 종래기술에 따른 서버 접근통제 시스템은 먼저 접근하는 사용자에 대하여 사용자 인증을 수행하고, 사용자 인증을 거친 후 부여된 권한 내의 장비에 접근 및 작업을 수행할 수 있도록 하는 보안 기능을 제공한다.
또한, 서버 접근통제 시스템은 접근통제 게이트웨이(Gateway) 서버를 경유하는 패킷을 분석하여 사용자가 입력한 명령을 추출하고, 추출된 명령의 허용 여부를 검사하여 통제한다. 즉, 추출된 명령이 해당 사용자의 권한에 부여된 범위 내인지를 검사하고 권한 범위를 벗어나면 해당 명령을 차단한다. 예를 들어, 해당 사용자에게 적용된 보안에 위협이 될 수 있는 금지 명령 리스트와 비교하여, 리스트에 있을 경우 해당 명령을 서버에 전송하지 않고 파기한다[특허문헌 1]. 이를 통해, 서버에 대한 보안을 강화할 수 있다.
그러나 해커 또는 악의적인 사용자가 관리자 계정 정보를 탈취한 후, 해당 계정 정보로 사용자 인증을 수행하면 정상적인 인증을 거칠 수 있다. 이 경우, 악의적 사용자는 관리자의 권한 하에서 서버에 접근할 수 있고, 부여된 권한 내에서 악의적인 행위(정보유출, 파괴행위 등)를 수행할 수 있다. 즉, 관리자 계정 정보의 누출로 인하여, 통제할 수 없는 보안 문제가 발생할 수 있다.
실제 국내에서 발생한 개인정보유출 보안사고 사례를 보면, 해커가 기관의 내부 관리자의 계정 인증정보(ID/Password)를 이메일(E-Mail)의 악성코드를 첨부하는 방식으로 탈취하여 침입하는 사례가 많다. 이 경우, 침입자는 접근통제 시스템의 정상 인증을 거친 후 기관의 주요 서버에 접근하여 개인정보를 유출한다. 사고 후 분석 결과를 보면, 해커 등 침입자는 주로 관리자가 평소 사용하지 않은 시간 대에 접근하여 침해 행위를 수행한 것으로 밝혀지고 있다. 예를 들어, 침입자는 관리자가 한번도 접근하지 않았던 주말 새벽 시간대에, 권한이 존재하는 대부분의 서버에 집중적으로 접근하여 침해 행위를 수행하였음이 밝혀지고 있다.
따라서 기존의 1차적인 관문형 인증 방식을 뛰어 넘어 사용자의 서버접근 패턴에 기반하여 사용자의 정상적인 접근 행위인지를 판별하여 통제하는 기술이 필요하다.
한국등록특허 제10-1143847호(2012.05.10.공고)
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 사용자가 서버에 접근한 데이터를 수집하고 기계학습(Machine Learning) 방법을 활용하여 사용자별 서버 접근 패턴을 추출하고, 서버 접근 시 추출된 접근 패턴과 비교하여 이상 사용자 여부를 판단하고, 이상 사용자로 판단되면 정책에 의하여 해당 사용자 통제를 자동으로 수행하는, 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템을 제공하는 것이다.
또한, 본 발명의 목적은 정상적인 사용자가 아닌 해커 또는 악의적 의도를 가진 사용자들이 사용자 계정을 탈취하여 정상 인증을 거쳐 공격할 때 기존에 수행했던 정당한 사용자의 접근 패턴과 상이한 접근을 수행하는 것에 착안하여 이를 방지할 수 있는, 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템을 제공하는 것이다.
상기 목적을 달성하기 위해 본 발명은 사용자 단말과 서버가 네트워크로 연결되고, 상기 사용자 단말과 상기 서버 사이의 네트워크 상에 게이트웨이로 설치되는, 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템에 관한 것으로서, 상기 사용자 단말로부터 서버접근 메시지를 수신하면, 사용자에 대한 서버 접근에 대한 권한을 인증하고, 해당 사용자의 서버 접근에 대한 패턴을 분석하여 이상 사용자 여부를 판단하는 인증모듈; 상기 서버접근 메시지에 대한 패턴을, 사전에 학습된 사용자의 서버접근 패턴과 비교하여 분석하고, 학습된 사용자의 서버접근 패턴과의 이상 사용자의 확률을 산출하는 이상탐지부; 및, 상기 인증모듈에 의하여 서버접근에 대한 인증이 완료되고 정상 사용자로 판단되면, 상기 사용자 단말과 상기 서버 사이의 세션을 중계하는 세션중계부를 포함하는 것을 특징으로 한다.
또, 본 발명은 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템에 있어서, 상기 인증모듈은, 상기 사용자의 서버접근에 대한 권한을 인증하는 접근권한 인증부; 및, 상기 이상탐지부로부터 상기 이상사용자의 확률을 전달받고, 상기 이상사용자의 확률이 사전에 설정된 임계치를 초과하는 경우 자동으로 관리자에 알람으로 전송하거나, 상기 사용자의 서버접근에 의한 세션을 차단하는 의사결정부를 포함하는 것을 특징으로 한다.
또, 본 발명은 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템에 있어서, 상기 이상탐지부는, 상기 접근권한 인증부로부터 상기 서버접근 메시지를 전달받고, 전달받은 서버접근 메시지에 의한 서버접근 정보를 저장하는 행위조정자; 학습을 통해 각 사용자별 서버접근 행위에 대한 행위모델을 생성하는 행위모델 엔진; 상기 행위조정자로부터 서버접근 정보를 수신하여, 수신된 해당 서버접근 정보에 대하여 각 사용자별 이상사용자의 확률을 산출하되, 상기 행위모델을 이용하여 산출하는 연산부를 포함하고, 상기 행위조정자는 행위로그 스토리지에 상기 서버접근 정보를 기록하여 축적하고, 상기 행위모델 엔진은 축적된 행위로그 스토리지의 서버접근 데이터를 이용하여 상기 행위모델을 지속적으로 학습시켜 갱신하는 것을 특징으로 한다.
또, 본 발명은 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템에 있어서, 상기 행위모델은 베이지안 모델과 딥러닝 모델로 구성되고, 상기 연산부는 상기 베이지안 모델로부터 제1 확률을 산출하고, 상기 딥러닝 모델로부터 제2 확률을 산출하여, 상기 제1 확률과 상기 제2 확률에 대하여 가중치를 통해 비율 조정을 하여 최종 확률을 추출하는 것을 특징으로 한다.
또, 본 발명은 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템에 있어서, 상기 행위모델 엔진은 접속 요일, 접속 시간대, 서버의 보안 레벨, 접근 프로토콜 중 어느 하나 이상의 요소를 반영하여, 상기 행위모델을 학습시키는 것을특 징으로 한다.
상술한 바와 같이, 본 발명에 따른 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템에 의하면, 접근자의 접근 행위가 사전에 추출한 정당한 사용자의 접근 패턴과 유사한지를 비교하여 정당한 사용자 여부를 추정함으로써, 해커 또는 악의적 사용자가 계정을 탈취하여 정상 인증을 거쳐 공격하는 행위에 대해서도 방어할 수 있는 효과가 얻어진다.
또한, 본 발명에 따른 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템에 의하면, 기계가 스스로 학습하여 사용자 서버 접근 패턴별 이상 사용자를 감지하여 차단함으로써, 기존 정책 기반의 보안 기능의 한계를 벗어나서, 보안 관리자의 계정 인증정보(ID/PASSWOD)가 탈취되더라도 침해 행위를 방지할 수 있고, 이를 통해 강력한 보안 기능을 제공할 수 있는 효과가 얻어진다.
즉, 기존의 국내 유명 기관의 개인정보 유출 침해사고와 같이 해커가 보안관리자의 계정 인증정보(ID/PASSWOD)를 탈취 후 기관의 서버에 접근할 수 있는 접근통제 시스템에 정상 인증을 수행 후 서버에 접근하는 침해 행위를 방지할 수 있다. 종래의 접근통제 시스템은 정책에 기반한 서버 접근 인가 기능을 수행하기 때문에 이를 방어할 수 있는 기능이 존재하지 않으며, 이러한 악의적인 공격에 대한 보안 관리의 한계를 가지고 있다. 이에 반해, 본 발명은 이러한 보안 관리의 한계를 극복할 수 있다.
도 1은 본 발명을 실시하기 위한 전체 시스템에 대한 구성도.
도 2는 본 발명의 일실시예에 따른 접근통제 게이트웨이의 구성에 대한 블록도.
도 3은 본 발명의 일실시예에 따른 실시간 이상 사용자 탐지를 위한 이상 탐지부의 세부구성에 대한 블록도.
도 4는 본 발명의 일실시예에 따른 기계학습에 의한 이상 사용자 탐지를 위한 행위모델에 대한 구성도.
도 5는 본 발명의 일실시예에 따른 행위모델에서 학습되는 서버 접근 행위를 나타낸 표.
이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.
또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.
먼저, 본 발명을 실시하기 위한 전체 시스템의 구성의 예들에 대하여 도 1을 참조하여 설명한다.
도 1에서 보는 바와 같이, 본 발명을 실시하기 위한 전체 시스템은 사용자 단말(10), 서버(40), 및, 사용자 단말(10)과 서버(40) 사이에서 게이트웨이 역할을 하는 접근통제 게이트웨이(30)로 구성된다. 또한, 사용자 단말(10)과 서버(40)는 네트워크(미도시)를 통해 연결된다.
사용자 단말(10)은 사용자가 사용하는 컴퓨팅 단말로서, PC, 노트북, 태플릿PC 등이다. 또한, 사용자 단말(10)은 네트워크(미도시)를 통해 서버(40) 또는 접근통제 게이트웨이(30)에 연결할 수 있는 네트워크 기능을 보유한다. 또한, 사용자 단말(10)은 어플리케이션 등 프로그램 시스템이 설치되어 실행될 수 있다.
또한, 사용자 단말(10)은 서버(40)에 대한 접근을 위한 사용자 인증을 요청하고, 접근통제 게이트웨이(30)의 중계에 따라 서버(40)로부터 접근 권한을 획득한다.
즉, 사용자 단말(10)은 접근통제 게이트웨이(30)에 대한 접근을 위해 사용자 인증(또는 게이트웨이 접근 인증)을 수행하고, 사용자가 접근할 수 있는 서버(40)에 대한 정보를 수신한다. 구체적으로, 사용자는 접근통제 게이트웨이(30)로부터 사용자 인증을 받은 후, 게이트웨이를 통해 접근 가능한 서버 정보(이하 서버주소 리스트)를 접근통제 게이트웨이(30)로부터 전달받는다. 사용자 단말(10)은 서버주소 리스트 중 원하는 서버(40)를 선택하여 서버(40)에 접근할 수 있다. 이때, 사용자 단말(10)은 서버(40)에 서버 접근을 요청하고, 서버(40)에 의해 서버 접근을 위한 사용자 인증(또는 서버 접근 인증)이 수행되고, 접근통제 게이트웨이(30)는 서버(40)에 대한 접근 인증을 중계한다.
특히, 사용자 단말(10)은 단말에 설치되는 통신 어플리케이션 등을 통해 서버(40)에 접근하여 작업을 수행한다. 사용자 단말(10)은 실제로 접근통제 게이트웨이(30)를 통해 서버(40)에 접근한다. 즉, 접근통제 게이트웨이(30)가 사용자 단말(10)과 서버(40) 사이를 중계한다. 예를 들어, 사용자 단말(10)은 통신 어플리케이션 등을 통해, 원격접속 프로토콜인 텔넷(TELNET)을 이용하거나, 파일 전송을 위한 FTP(File Transfer Protocol)의 프로토콜에 의한 쉘(Shell)을 통해 작업을 수행한다.
구체적으로, 사용자 단말(10)은 서버(40)에 자신이 원하는 명령을 전송하고, 그에 대한 결과로서 서버(40)로부터 메시지를 수신한다. 이때, 접근통제 게이트웨이(30)는 사용자 단말(10)과 서버(40) 사이에서, 명령 또는 메시지를 중계한다.
한편, 사용자는 사용자 단말(10)을 통해 서버 접근과 관련된 작업을 수행한다. 따라서 이하에서 사용자가 어떤 작업을 수행하는 설명은 사용자 단말(10)을 통해 수행하는 작업임을 의미한다.
다음으로, 서버(40)는 사용자 단말(10)로부터 네트워크(미도시)를 통해 접근 요청을 받고, 요청에 따라 접근을 허용하여 통신을 수행시켜준다. 이때, 서버(40)는 사용자의 서버 접속 요청에 대하여 사용자 인증(서버 접근 인증)을 수행한다. 바람직하게는, 사용자의 아이디와 패스워드에 의해 서버 접근 인증을 수행한다. 서버 접근 인증을 통과한 경우(성공한 경우), 접근을 허용한다.
이때, 서버(40)는 통신 프로토콜을 통해 사용자 단말(10)과 통신을 수행한다. 즉, 서버(40)는 통신 프로토콜을 이용하여, 사용자 단말(10)로부터 명령문 등 메시지를 수신하고, 해당 메시지의 명령 또는 요청을 수행하고 그 결과(또는 결과 메시지)를 사용자 단말(10)에 전송한다. 이때, 사용자 단말(10)과, 서버(40) 사이에는 세션이 형성되고, 세션 내에서 접근 요청 또는 메시지, 결과내용 등이 통신 프로토콜을 통해 데이터 패킷으로 송수신된다.
한편, 위에서 설명된 서버(40)와 사용자 단말(10)과의 통신은 직접 연결되어 처리되지 않고, 접근통제 게이트웨이(30)를 통해 연결된다. 즉, 사용자 단말(10)의 요청 메시지는 접근통제 게이트웨이(30)를 통해 서버(40)로 전달되고, 또한, 서버(40)의 응답 메시지도 접근통제 게이트웨이(30)를 통해 사용자 단말(10)에 전달된다.
한편, 바람직하게는, 서버(40)는 방화벽(firewall)이 설치되고, 접근통제 게이트(30)로부터 수신되는 데이터(또는 데이터 패킷)만을 통과시키도록, 통제 정책을 설정할 수 있다. 따라서 사용자 단말(10)이 직접 서버(50)에 접근할 수 없고 반드시 접근통제 게이트웨이(30)를 통해서만 서버(40)에 접근할 수 있다. 만약 게이트웨이(30)로 패킷 경로를 변경하지 않고 패킷 그대로 서버(40)로 전송되면, 접근통제 구축 조건인 게이트웨이 이외의 서버 접근 경로는 모두 차단하는 방화벽 정책에 의하여 차단되어 접근을 할 수 없다.
다음으로, 접근통제 게이트웨이(30)는 사용자 단말(10)과 서버(40) 사이의 네트워크(미도시) 상에 설치되는 게이트웨이로서, 사용자 단말(10)과 서버(40) 사이를 모니터링하여 중계하거나 차단한다.
특히, 접근통제 게이트웨이(30)는 사용자 단말(10)로부터 서버 접근 요청(또는 서버 접근 메시지)을 수신하면, 메시지 중계를 보류하고 서버 접근 요청에 대하여 패턴 인증을 수행한다. 그리고 패턴 인증이 성공한 경우에만 상기 서버 접근 요청을 서버(40)에 중계한다.
즉, 접근통제 게이트웨이(30)는 사용자 단말(10)의 서버 접근 요청을 수신하면, 서버 접근 요청에 대한 패턴 인증을 수행한다. 만약, 패턴 인증에 실패하면 관리자에 알람으로 경고하거나, 해당 서버 접근 요청을 차단한다.
또한, 서버 접근에 대한 인증이 성공하면, 접근통제 게이트웨이(30)는 사용자 단말(10)과 서버(40) 간의 메시지 전송을 중계한다. 이 경우, 사용자 단말(10)은 서버(40)와 통신하여 원하는 작업을 수행할 수 있다.
한편, 접근통제 게이트웨이(30)는 사용자 단말(10)로부터 서버(40)로 전송되는 메시지(또는 명령, 명령 메시지 등)를 모니터링하여 분석하고 차단하거나 중계할 수 있다. 즉, 접근통제 게이트웨이(30)는 수신되는 메시지를 분석하고, 해당 메시지에 내포하는 명령 등의 차단 여부를 결정하거나, 통신 내용을 모니터링하고 저장한다. 특히, 사전에 정해진 보안 정책에 따라, 해당 메시지를 서버(40)에 전송하거나 차단하는 등 모니터링하고, 통신 내용을 로그에 기록하고 저장한다.
바람직하게는, 접근통제 게이트웨이(30)는 메시지를 기반으로 사용자 권한별 보안 정책에 따라 인가 여부를 결정하고, 인가된 사용 요청일 경우 실제 서버에 신규로 통신(또는 세션)을 연결하고, 사용자 단말과의 통신을 중계한다. 따라서 접근통제 게이트웨이(30)는 실제 서버(40)에 접근하여 통신을 중계한다.
또한, 접근통제 게이트웨이(30)는 사용자 단말(10)로부터 게이트웨이 접근을 위해 사용자 인증(또는 게이트웨이 접근 인증)을 수행할 수 있다. 즉, 접근통제 게이트웨이(30)는 게이트웨이 접근 인증을 수행하고, 해당 접근 인증이 성공하면 접근 가능한 서버 정보(또는 서버주소 리스트)를 사용자 단말(10)로 전송한다. 사용자 단말(10)은 서버주소 리스트 중 원하는 서버(40)를 선택하여 서버에 대한 접근 요청(또는 서버접근 요청)을 할 수 있다. 게이트웨이 접근 인증이 성공하여 유효한 상태에서는, 서버 접근 요청을 (여러번 또는 다수의 서버에 대하여) 계속할 수 있다.
다음으로, 본 발명의 일실시예에 따른 접근통제 게이트웨이(30)와 서버(40)에 의해 수행되는 인증에 대하여 설명한다.
사용자에 대한 인증은 게이트웨이 접근 인증과 서버 접근 인증으로 구분될 수 있다. 접근통제 게이트웨이(30)는 게이트웨이 접근 인증을 직접 수행하고, 서버(40)는 서버 접근 인증을 직접 수행한다. 게이트웨이 접근 인증이나 서버접근 인증은 아이디/패스워드, 인증서 등에 의한 사용자 인증이다.
이에 반해, 서버접근에 대한 패턴 인증(또는 서버접근 패턴 인증)은 서버 접근에 대하여 학습을 통한 패턴 인증이며, 접근통제 게이트웨이(30)에 의해 수행된다. 즉, 사용자가 서버에 접근하기 위해서, 접근통제 게이트웨이에서 사용자 인증을 수행하고, 권한이 인가된 서버에 접근을 시도할 때 해당 정보에 대한 학습을 수행한다. 예를 들어, 새벽 2시에 게이트웨이 인증을 하고, 02:01에 서버 1에 접근 인증을 하고, 02:20에 서버 2에 접근인증을 하고, 02:55에 서버 3에 접근인증을 한다. 이런 경우, 02:01, 02:20, 02:55 분에 각각 서버에 접근했다면, 3개의 접근에 대한 정보에 대하여 학습한다. 사용자가 접근하는 패턴을 학습하고, 학습된 패턴과 비교하여 현재 서버 접근이 정당한 사용자 또는 이상 사용자의 접근인지를 판단한다.
즉, 서버 접근에 대한 학습기반 패턴 인증은 게이트웨이에서 수행되고, 아이디/패스워드에 의한 사용자 인증(또는 서버접근의 사용자 인증)은 서버에서 수행된다. 후자의 경우, 게이트웨이는 단순한 중계 역할을 수행한다.
다시말하면, 서버 접근 인증만 패턴 학습을 수행한다. 사용자가 권한이 있는 서버에 접근을 위해, 먼저 게이트웨이에 존재하는 인증 서버에 권한 인가를 획득할 경우, 중계 서버를 경유하여 서버에 접근이 가능하다. 따라서 서버에서 수행되는 아이디/패스워드(ID/PWD) 인증 단계까지 수행되기 위해서는 게이트웨이의 인증 서버의 인가를 얻었을 때만 가능하다. 사용자가 서버의 권한이 존재하여 정상적인 접근 요청을 하더라도, 게이트웨이에서 기존 패턴과 비교하여 이상 사용자로 판단될 경우, 게이트웨이에서 차단되어 실제 접속하고자 하는 서버와의 연결은 거부된다.
즉, 게이트웨이(30)에서 게이트웨이에 의한 사용자 인증과, 서버 접근에 대한 패턴 인증이 수행되고, 서버(30)에서 서버의 사용자 인증이 수행된다. 또한, 게이트웨이(30)에서 게이트웨이에 대한 사용자 인증과, 서버 접근의 패턴 인증이 성공해야만, 서버(40)에 대하여 접근할 수 있고 서버에 대한 사용자 인증이 수행될 수 있다.
다음으로, 본 발명의 일실시예에 따른 접근통제 게이트웨이(30)의 세부 구성에 대하여 도 2를 참조하여 설명한다.
본 발명은 접근통제 게이트웨이(30)를 경유해서 서버(40)에 접근한 정보(접근시의 서버 접근 행위)를 수집하고 학습하여, 사용자별 서버 접근 패턴을 추출한다. 사용자 또는 사용자 단말(10)이 서버(40)에 접근할 때, 접근통제 게이트웨이(30)는 추출한 패턴을 기반으로 사용자의 서버 접근 행위를 실시간으로 패턴과 비교하여, 이상 사용자 여부(또는 서버접근 패턴 인증)를 판단한다. 즉, 서버 접근 행위에 대하여 이상 사용자 여부(또는 서버접근 패턴 인증)를 판단하는 인증 기능을 지속적으로 수행한다. 그리고 이상 사용자로 판단되면, 해당 사용자의 세션을 차단하거나 관리자에게 통보하여, 잠재적 위협을 방지할 수 있다.
도 2에서 보는 바와 같이, 본 발명에 따른 접근통제 게이트웨이(30)는 제1 전송부(31), 제2 전송부(32), 접근권한 인증부(34)와 의사결정부(35)로 구성되는 인증모듈(33), 이상탐지부(36), 및, 세션 중계부(37)로 구성된다.
또한, 도 2는 사용자가 접근통제 게이트웨이(30)를 경유하여 특정 서버(40)에 접근을 시도하는 상황을 가정한다. 접근통제 게이트웨이(30)는 사용자의 서버 접근에 대한 보안을 위하여, 접근 요청시마다 사용자의 서버 접근에 대한 인가 여부를 확인한다.
먼저, 제1 전송부(31)는 사용자 또는 사용자 단말(10)로부터 메시지를 수신하여 인증모듈(33) 또는 세션중계부(37)로 전달하거나, 인증모듈(33) 또는 세션중계부(37)로부터 수신한 응답(또는 응답 메시지)을 사용자 또는 사용자 단말(10)로 전송한다.
다음으로, 인증모듈(33)은 사용자 단말(10)로부터 수신되는 메시지(또는 명령, 명령 메시지 등)를 모니터링하여 분석하여 메시지의 차단하거나 중계를 허용한다. 특히, 인증모듈(33)은 사용자 단말(10)이 서버 접근 요청 시, 사용자의 서버접근 패턴을 검사하는 인증을 수행한다.
즉, 인증모듈(33)은 서버 접근 요청(또는 서버접근 요청메시지)을 서버(40)에 전송하는 것을 보류하고, 부정 사용자 여부(서버접근 패턴 인증)를 판단한다. 이때, 인증모듈(33)은 이상탐지부(36)와 연계하여, 서버접근 패턴에 기반하여 사용자를 추가적으로 인증하는 일련의 과정을 수행한다.
또한, 인증모듈(33)은 사용자의 서버 접근에 대한 패턴을 인증하는 접근권한 인증부(34), 및, 패턴 분석에 의한 정상 사용자 여부를 판단하여 결정하는 의사결정부(35)로 구성된다.
즉, 접근권한 인증부(34)는 사용자 단말(10)로부터 서버 접근을 요청하는 메시지(또는 서버 접근 메시지, 서버접근 요청)를 수신하면, 서버접근 패턴 인증을 수행하고, 인증 결과에 따라 서버접근 메시지를 서버(40)에 중계하거나 차단한다. 특히, 접근권한 인증부(34)는 의사결정부(35)로부터 인증결과를 수신받아 해당 결과에 따라 중계 또는 차단 작업을 수행한다.
이를 위해, 접근권한 인증부(34)는 서버에 대한 접근 요청을 이상탐지부(36)에 전달하고, 의사결정부(35)로부터 정상 사용자 또는 이상 사용자 여부의 판단 결과를 수신한다. 즉, 이상탐지부(36)는 해당 정보를 주기적으로 학습된 사용자의 서버 접근 패턴과 비교 분석하여, 정상 사용자일 확률 값(또는 이상 사용자일 확률)을 계산한다. 또한, 의사결정부(35)는 그 결과값(정상 사용자일 확률값 또는 이상 사용자일 확률값)을 이상탐지부(36)로부터 전달받고, 사전에 정의된 정책에 의거하여 해당 확률이 일정 임계치를 초과할 경우 이상 사용자로 판단한다.
다음으로, 의사결정부(35)는 이상 탐지부(36)로부터 이상 사용자 확률을 수신하여, 사전에 정의된 정책에 의거하여 이상 사용자의 여부를 판단한다. 즉, 상기 이상 사용자 확률이 소정의 임계치를 벗어나는 경우(예를 들어 확률이 사전에 정해진 임계치를 초과하는 경우), 이상 사용자로 판단한다.
의사결정부(35)는 이상 사용자로 판단하면, 정의된 정책에 의거하여, 직접 사용자의 사용에 제재를 수행할 수 있다. 예를 들어, 관리자에게 알림을 전달할 수 있다. 또한, 의사결정부(35)는 이상 사용자로 판단되면, 접근권한 인증부(34)에 이상 사용자의 판단결과를 전달하여 서버 접근을 위한 세션을 차단하게 한다. 이를 통해, 보안을 강화할 수 있다.
특히, 의사결정부(35) 또는 이상 탐지부(36)는 사용자 여부를 참/거짓(True/False)이 아닌 해당 사용자가 맞을 확률에 대해서 결과를 도출하며, "의사 결정 시스템(Decision Support System)" 에서 정책에 의거하여 사용자가 맞을 확률이 일정 임계치를 초과할 경우 정의된 정책에 의거 자동 조치를 취하게 된다.
다음으로, 세션중계부(37)는 제1 전송부(34)와 제2 전송부(35) 사이를 연결하여, 패킷 또는 데이터(또는 메시지)를 중계하는 모듈이다.
세션중계부(37)는 사용자 단말(10)로부터 수신한 패킷을 분석하여, 명령 메시지를 추출하거나, 사용자의 세션정보를 추출한다.
세션은 사용자 단말(10)이 원격으로 서버(40)에 접근하기 위해 형성한 TCP/IP 프로토콜의 세션을 말한다. 사용자는 텔넷(TELNET), 시큐어쉘(SSH) 프로토콜 등에 의해 서버(40)에 원격 접근을 수행한다. 하나의 세션 동안에 사용자는 다수의 명령(또는 명령 메시지)들을 입력하여 자신이 원하는 작업을 수행한다.
세션정보는 사용자의 장비 접근 세션정보를 포함한다. 즉, 세션정보는 사용자 식별정보(사용자 아이디 등), 접근장비 식별번호(접근장비 아이디 등), 접근 프로토콜, 접근 계정, 접근 시작시간, 접근 종료시간 등으로 구성된다.
다음으로, 이상 탐지부(36)는 서버 접근 메시지(접근요청 메시지)를 수신하여 서버 접근에 대한 패턴을 분석한다. 특히, 기존에 학습된 사용자의 서버접근 행위 패턴(또는 서버접근 패턴)과 비교하여 분석한다. 이때, 분석결과는 학습된 사용자의 서버접근 패턴과 상이도 또는 이상 사용자 확률(이상 사용자일 확률값)로 도출된다.
또한, 이상 탐지부(36)는 서버접근 메시지들을 수집하여, 해당 메시지들로 행위모델을 학습시켜 생성하고, 학습된 행위모델을 이용하여 이상 사용자 확률을 도출한다.
이상 탐지부(36)는 도출된 이상 사용자 확률을 의사결정부(35)로 전송한다.
다음으로, 본 발명의 일실시예에 따른 실시간 이상 사용자 탐지를 위한 이상 탐지부(36)의 세부구성을 도 3을 참조하여 보다 구체적으로 설명한다. 도 3은 이상 탐지부(36)의 세부구성 및, 접근통제 게이트 내부에서 사용자의 실시간 서버 접근 행위를 기반으로 사용패턴 기반 이상 사용자를 탐지하는 일련의 과정을 보여준다.
즉, 본 발명은 사용자가 서버 접근 요청 시 접근통제 게이트웨이(30)에 정의된 권한 부여 여부를 확인하고, 접근 인가 여부를 전송하는 것을 보류하고, 부정 사용 여부를 판단하기 위하여, 이상 사용자 탐지부(36)와 연계되어 사용자를 추가적으로 인증하는 일련의 과정을 포함한다.
도 3에서 보는 바와 같이, 본 발명의 일실시예에 따른 이상 탐지부(36)는 행위조정자(61), 데이터 저장부(62), 행위모델 엔진(63), 연산부(64)를 포함한다. 또한, 데이터 저장을 위해, 행위로그 스토리지(66), 행위모델(67), 모델 캐시(68)로 구성된다.
즉, 접근통제 시스템(30)을 통해서 서버(40)에 접근하는 정보는 행위로그 스토리지(66)에 적재되며, “행위모델 엔진(63)”은 주기적(일례로서, 일 단위)으로 해당 정보를 학습하여, 사용자별 서버 접속패턴에 대한 행위모델을 갱신한다. 사용자가 서버 접속을 시도할 경우 “접속권한 인증부(34)”는 이상 탐지부(36)의 “행위조정자(61)”에게 접속 요청 정보를 전달한다. 그리고 “연산부(64)”는 접속을 요청한 사용자의 추출된 접근패턴에 대한 행위 모델과 비교 분석하여 해당 사용자일 확률을 추출한다.
이상 사용자 판단 정확도 향상을 위하여, 연산부(64)는 서버 접속 요청 이벤트 발생 시 사용자의 해당일(00:00~23:59)에 발생한 모든 접근 정보를 조회하여, 행위 모델(요일+시간+보안레벨+프로토콜)과 비교 분석하여 해당 사용자일 확률을 계산한다.
각 구성요소를 보다 구체적으로 설명한다.
먼저, 행위조정자(Behavior Coordinator)(61)는 접근권한 인증부(34)에서 서버에 대한 접근 메시지(접근요청 메시지)가 수신되면, 접근권한 인증부(34)로부터 서버접근 메시지를 전달받는다. 즉, 접근권한 인증부(Authentication Server Module)(34)에 서버 접근 요청이 오면, 사용자의 서버 접근 권한을 확인하고, 서버 접근 정보를 행위조정자(61)에 전달한다
구체적으로, 행위조정자(61)는 접근권한 인증부(34)로부터 사용자의 서버접근 이벤트(사용자 아이디, 접속요청 일시, 접속 요일, 보안레벨, 프로토콜 등)를 수신받아, 모델 구성을 위해 로그를 저장하도록 지시하고, 이상 사용자를 탐지하는 연산부(64)를 호출하여 해당 작업 이벤트에 대한 분석을 수행하게 한다. 즉, 행위조정자(61)는 전달받은 이벤트 정보를 저장하기 위하여 데이터 저장부(Data Saver)(62)에 정보를 전달하고, 실시간 이상 사용자 판단을 위해 연산부(Calculator)(64)를 호출한다.
특히, 행위조정자(61)는 접근권한 인증부(34)로부터 접근 명령문을 가져온다. 그리고 가져온 명령문(또는 서버접근 명령문)에서 서버접근 메시지(또는 서버접근 내용)를 추출하고, 추출된 서버접근 내용을 행위로그 스토리지(66)에 저장한다. 이때, 서버접근 내용은 사용자 아이디, 접속요청 일시, 접속 요일, 보안레벨, 프로토콜 등을 포함한다.
다음으로, 데이터 저장부(62)는 행위조정자(61)로부터 받은 사용자의 서버접근 이벤트 정보를 행위로그 스토리지(66)에 저장한다. 즉, 데이터 저장부(Data Saver)(62)가 사용자 서버접근 행위의 학습을 위해 이벤트 정보(또는 서버접근 정보)를 행위로그 스토리지(66)에 저장한다.
바람직하게는, 행위로그 스토리지(66)에는 서버접근 요청을 기록하고 축적한다. 특히, 사용자 아이디, 접속 요일, 접속 시간대, 접속 보안레벨, 접속 프로토콜 등 서버접근 내용을 함께 기록하고 축적한다.
다음으로, 행위모델 엔진(63)은 행위모델(67)을 생성하는 엔진으로서, 사용자의 행위기반 행위모델을 구축한다. 즉, 행위모델 엔진(63)은 행위로그 스토리지(66)에 저장된 사용자의 서버접근 행위 정보를 이용하여, 행위모델(사용자의 서버접근 행위 기반 행위모델)을 재구축한다. 즉, 행위모델 엔진(63)이 호출됨으로써, 사용자의 서버접근 행위 기반 행동 모델을 재구축한다.
바람직하게는, 도 4에서 보는 바와 같이, 행위모델은 베이지안 모델과 순환형 신경망(RNN) 모델을 사용한다. 즉, 행위모델 엔진(63)은 사용자 서버접근 행위 정보, 즉, 입력한 서버접근 메시지들을 이용하여 베이지안 모델의 변수들을 추출한다. 또한, 입력한 서버접근 메시지들을 이용하여, 순환형 신경망 모델을 학습시킨다.
또한, 행위모델 엔진(63)은 주기적으로 호출되어(실행되어), 사용자의 서버접근 행위 기반 행동 모델을 주기적으로 재구축한다.
특히, 사용자에 대한 인증이 게이트웨이 접근 인증과 서버 접근 인증으로 구분될 수 있으나, 학습 대상은 학습 대상은 서버 접근 인증, 즉, 서버에 대한 접근 요청들이다. 즉, 사용자가 서버에 접근하기 위해서, 접근통제 게이트웨이에서 사용자 인증을 수행하고, 권한이 인가된 서버에 접근을 시도할 때 해당 정보에 대한 학습을 수행한다. 예를 들어, 새벽 2시에 게이트웨이 인증을 하고, 02:01에 서버 1에 접근 인증을 하고, 02:20에 서버 2에 접근인증을 하고, 02:55에 서버 3에 접근인증을 한다. 이런 경우, 02:01, 02:20, 02:55 분에 각각 서버에 접근했다면, 3개의 접근에 대한 정보에 대하여 학습한다.
다음으로, 연산부(Calculator)(64)는 학습된 사용자별 추출된 행위패턴 모델과 비교하여, 전달받은 서버접근 행위 정보가 저장된 사용자의 행위패턴(또는 행위들)과 어느 정도 차이가 나는지를 확률로 계산한다.
또한, 연산부(Calculator)(64)는 계산된 이상 사용자일 확률 정보를 산출하고, 산출된 확률정보를 의사결정부(35)에 전달한다. 즉, 연산부(64)는 행위모델(67)과, 사용자의 서버접근 행위 패턴들을 대비하여 이상 사용자의 확률을 연산한다.
연산부(Calculator)(64)는 이상 사용자를 탐지하기 위하여 베이지안 알고리즘과 딥러닝(Deep Learning) 방법인 RNN을 사용한다.
바람직하게는, 연산부(64)는 베이지안 모델에 의한 이상 사용자의 제1 확률 정보를 산출하고, 순환형 신경망 모델(또는 딥러닝 모델)에 의한 이상 사용자의 제2 확률 정보를 산출한다. 그리고 연산부(64)는 상기 제1 확률 정보와 제2 확률 정보를 가중치를 주어 비율 조정하여 최종 확률 정보(또는 이상 사용자의 확률정보)를 추출한다.
이때, 더욱 바람직하게는, 학습 데이터 또는 각 사용자의 이벤트 또는 접근 명령(또는 접근 메시지)들의 개수에 따라 상기 가중치를 결정한다. 즉, 학습 데이터의 크기, 개수가 상대적으로 작은 개수(100 ~ 1000)의 입력 데이터인 경우, 제1 확률정보의 가중치를 제2 확률정보의 가중치 보다 크게 하고, 개수가 상대적으로 큰 경우에는, 제1 확률정보의 가중치를 제2 확률정보의 가중치 보다 작게 한다.
딥러닝(Deep Learning) 모델을 사용하기 위해서는 각 사용자들의 데이터가 충분히 축적되어야 한다. 충분히 축적되기 전까지 딥러닝 모델을 사용하면, 제대로 된 결과가 나오지 않을 수 있다. 즉, 콜드 스타트 문제(Cold Start Problem)가 발생된다. 한편, 베이지안 모델은 상대적으로 작은 입력 데이터 만으로도 이상 사용자를 분별해 낼 수 있다. 따라서 초기 데이터가 부족한 시점에는 베이지안 모델에 가중치를 더 많이 두고, 데이터가 많이 축적될수록 딥러닝 모델의 가중치를 높인다. 즉, 그리고 데이터가 충분히 축적되면, 딥러닝(Deep Learning) 모델과 베이지안 판단 모델의 비율을 조정하여 최적의 판단을 내릴 수 있다.
또한, 모델캐시(68)는 행위모델 및, 사용자의 서버접근 행위패턴을 대비하기 위해, 이들 데이터를 임시적으로 저장하는 매체(또는 캐시)이다. 특히 대비할 행위모델을 모델캐시에 기록하고, 이를 사용자 행위패턴과 대비한다. 모델 캐시는 실시간으로 이상 사용자 탐지를 위한 일정 용량의 캐시 공간을 할당하여 사용한다. 이를 통해, 자주 쓰이는 모델에 대한 검색 속도를 향상할 수 있다.
한편, 의사결정부(35)는 의사 결정 시스템(Decision Support System)으로서, 정의된 정책에 의거하여, 이상 사용자 여부를 판단한다. 이때, 연산부(64)로부터 이상 사용자일 확률 정보를 수신하고, 수신된 확률 정보를 이용하여 이상 사용자 여부를 판단한다.
특히, 의사결정부(35)는 적용된 임계치 초과 시 적절한 제재(경고, 관리자 알림, 세션/중계 차단)를 요청한다.
이상 사용자로 판단되어 적용된 임계치를 초과할 경우 의사결정부(35)는 정의된 정책에 의거하여 게이트웨이 서버(Gateway Server) 또는 세션중계부(37)에 해당 메시지의 전달(또는 세션)을 차단할 것을 요청한다.
예를 들어, 이상 사용자일 확률 단위의 임계치를 다음과 같이 설정할 수 있다.
이상 사용자의 확률이 70% 이상인 경우, 관리자에게 이상 사용자 의심을 알리는 알림 신호를 발송하고, 80%이상인 경우, 해당 사용자가 작업 수행을 위해 현재 서버접근의 요청을 차단한다. 또한, 이상 사용자의 확률이 90% 이상인 경우, 해당 사용자에 대한 접근을 차단한다. 상기와 같이 각 임계치를 사전에 설정하고, 의사결정부(35)는 이상 사용자의 확률이 각 임계치를 초과했을 경우, 사전에 정해진 일련의 작업(보안 작업)을 자동으로 수행한다.
다음으로, 본 발명의 일실시예에 따른 행위모델 엔진(63)에서 행위모델을 구축하는 방법을 구체적으로 설명한다.
도 5에서 보는 바와 같이, 서버접근의 행위모델을 생성하기 위하여, 행위모델 엔진(63)은 사용자를 기준으로 접속 요일, 접속 시간대, 서버에 설정된 보안레벨, 접근(접속) 프로토콜 등의 지표들을 학습할 수 있다. 도 5는 서버접근 행위에 대한 행위모델에서 학습하는 지표(학습 지표)들을 나타낸 표이다.
접속 요일은 서버에 접근하는 때의 요일을 나타낸다. 요일을 월요일, 화요일, ..., 일요일 등 7개의 요일로 구분된다.
또한, 접속 시간대는 서버에 접근하는 시간대를 나타낸다. 하루 24시간을 일정한 구간(시간대)으로 구분한다. 바람직하게는, 1시간 간격으로 구분되어, 1시, 2시, ..., 24시 시간대로 구분된다.
접속 요일과 접속 시간대는 사용자의 근무시간 패턴과 직접적인 연관성이 있다. 따라서 정상 사용자 여부를 확인할 수 있는 매우 중요한 요소이다.
또한, 접속 보안레벨은 접속하는 서버에 설정된 보안레벨을 나타낸다. 보안레벨은 일정한 개수의 레벨들로 구분된다. 서버는 매우 많은 다수로 구성될 수 있다. 또한, 각 사용자는 여러 서버를 접속할 수 있다. 그런데 서버의 보안레벨에 따라 각 사용자가 접근하는 패턴이 다를 수 있다. 즉, 중요한 업무는 자주 발생되지 않으므로, 보안레벨이 높은 서버일수록 중요한 상황에만 접속하여 자주 접근되지 않을 수 있다. 또한, 테스트 서버 등 보안레벨이 낮은 서버에는 개발을 위해 자주 접근할 수 있다. 따라서 서버의 보안레벨에 따라 각 사용자의 접근 패턴이 달라질 수 있다.
또한, 접속 프로토콜은 서버에 접근할 때 접근하는 프로토콜을 나타낸다. 서버에 접근하는 프로토콜은 그 종류(또는 개수)가 한정된다. 즉, 사용자가 서버 접근을 위해 이용하는 프로토콜은 시큐어쉘(SSH), 텔넷(telnet), 파일전송(FTP) 등 다수 중 어느 하나가 이용된다. 이때, 개인정보 등 중요한 정보가 저장된 서버에 대하여, 정상 사용자가 중요한 정보를 대량으로 이동하는 경우가 매우 적다. 반면, 테스트 서버 등 보안레벨이 낮은 서버에서는 개발 작업 등 다양한 작업을 활발하게 이용하므로, FTP를 통해 대량의 전송작업도 많이 수행할 수 있다.
접속 요일, 접속 시간대, 접속되는 서버의 보안레벨, 통신 프로그램의 프로토콜의 조합에 의해 서버 접근이 특정되고, 특정 서버 접근의 빈도에 의해 학습된다. 즉, 서버 접근에 대한 지표(또는 학습 지표)는 사용자별로 구분되어 학습된다. 서버에 접근하여 작업을 하는 패턴은 사용자별로 특정 요일에 시간대 별로 비슷한 작업 패턴을 보인다. 또한, 작업 패턴이 적은 주말 새벽 시간에 중요한 정보가 적재되어 보안레벨이 높은 서버에 개인정보를 대량으로 유출할 수 있는 FTP, SFTP 프로토콜로 집중적인 접근을 보일 경우 이상 사용자로 의심할 수 있다.
구체적으로, 행위모델 엔진(63)은 서버 접근 데이터를 입력하여 학습을 통해 행위모델을 구축한다. 이때, 행위모델의 입력 데이터는 서버접근 요청 데이터로서, 사용자 식별정보(사용자 아이디 등), 접속 요일, 접속 시간대, 접속 보안레벨, 접속 프로토콜 등으로 구성된다.
예를 들어, 사용자에 대한 서버접근 데이터(또는 서버접근 이벤트 데이터)는 다음과 같이 축적된다.
- 사용자 : f_user
- 입력값 ( [week code] [hour] [Security Level] [Protocol] ) :
{
“1 10 1 TELNET”,
“1 10 2 FTP”,
“1 10 3 SSH”,
“1 11 1 SFTP”
...
}
상기와 같은 서버접근 데이터들을 다음과 같은 [수학식 1]에 의하여 학습시켜 각 사용자별 모델(또는 패턴)을 구축한다. 이하 수학식은 각 사용자별 서버접근이 어떤 요일의 어느 시간대에 어느 보안레벨을 가진 서버에 어떤 프로토콜로 접근 빈도를 가졌는지를 나타낸다.
[수학식 1]
Figure 112018061129495-pat00001
즉, 특정 사용자 u에 대해 각각의 서버접근 c에서의 확률은 위와 같은 수식으로 계산된다. 여기서, α는 사전에 정해진 상수로서 슈도우 카운트(pseudocount)이며, A는 서로다른 서버접근(요일×시간대×보안레벨×프로토콜) 개수이다.
서버접근 c는 학습지표(접속요일, 접속시간대, 보안레벨, 프로토콜)의 조합한 정보(사용자의 서버접근의 특징을 조합한 정보)로서, 특정한 {접속 요일, 접속 시간대, 접속 보안레벨, 접속 프로토콜}를 나타낸다. 즉, c = c1, c2, c3, ..., c1512 등 각 경우를 나타내고, 일례로서, c1 = {월요일, 1시(1시 시간대), 보안레벨 1, telnet}으로 나타날 수 있다.
또한, Training data length는 사용자별 서버접근 유형(요일+시간대+보안레벨+프로토콜)의 학습 데이터 전체 개수를 나타내고, Training count는 사용자가 접근을 요청한 특정 유형(요일+시간대+보안레벨+프로토콜)의 개수를 의미한다.
슈도우 카운트(pseudocount) α는 수학적으로 분자를 0으로 만들지 않는 역할을 한다. 개념적으로는 학습 데이터에 없는 새로은 서버접근 패턴이 발생되었을 경우 민감도로 볼 수 있다.
나이브 베이지안(Naive Bayesian) 모델인 경우, 모든 서버접근들은 독립 시행이라고 가정하며, n번째 서버접근 시점에서의 확률은 n번째까지의 모든 확률의 곱으로 계산할 수 있다.
또한, 딥러닝의 행위모델은 학습 데이터에 의해 학습되어 가중치로서 구해져서 형성된다.
사용자별 모델 정보 형식은 사용자의 접속 패턴별 가중치를 구한다.
“user_id” : 10025412,
“connection_patterns” : {
“0 09 3 SSH”: 92,
“0 09 1 SSH”: 15,
“0 10 1 SFTP”:30,
“0 10 2 SSH”:4,
...
}
가중치는 이상 사용자 유무를 판단하기 위한 가중치 값이다.
가중치는 사용자별로 서버 접근 패턴에 대한 정량적 값이다. 즉, 가중치가 높을수록 사용자가 해당 요일, 시간, 보안레벨, 프로토콜을 사용하여 접근하는 행위의 빈도가 높다고 볼 수 있다. 따라서 사용자가 가중치가 높은 패턴과 동일한 접근 패턴을 보일 경우 해당 사용자로 판단하는 최종 확률 값 역시 높게 계산된다.
다음으로, 본 발명의 일실시예에 따른 연산부(64) 및 이상판단부(35)가 이상 사용자 확률을 산출하는 방법을 설명한다.
행위모델은 앞서 행위모델 엔진(63)에 의해 생성된다. 즉, 행위모델 엔진(63)에 의하여 사용자 N명에 대하여 학습된다. 서버접근 이벤트가 입력되었을 때, 입력된 각 서버접근 이벤트가 어떤 사용자일 확률이 가장 높은지를 찾아줄 수 있다.
확률값(Score)은 행위모델엔진(63)에 의해 추출된 사용자별 접근 패턴 모델 수 만큼 산출된다. 또한, 확률값은 절대적인 값이 아닌 현재 사용자가 각 사용자일 상대적인 확률이며, 현재 서버에 접근을 요청한 사용자가 해당 사용자일 확률을 내림차순으로 정렬하여 산출한다.
즉, 접근 이벤트가 발생하면, 해당 접근 이벤트에서 대하여 사용자의 모든 접근 정보를 대상으로 평가한다. 평가 결과는 다음과 같이 얻어진다.
- 결과 데이터
1. [ a_user, 93.43 ]
2. [ b_user, 82.24 ]
3. [ c_user, 80.32 ]
4. [ d_user, 75.22 ]
5. [ e_user, 74.74 ]
6. [ f_user, 72.43 ]
...
100. [zz_user, 2.13 ]
위의 결과는 학습된 사용자의 서버 접근 패턴 모델을 기반으로 신규 접속 요청이 해당 모델과 일치하는 사용자일 확률을 계산한 결과값이다. 예를 들어, 100명의 서버접근 패턴(사용자별 서버접근 패턴)을 학습하여, 각각의 모델을 생성하였다고 가정한다. 이 경우, 신규 접근 요청이 있을 경우 100개의 서버접근패턴 모델(사용자별 서버접근 패턴 모델)과 비교 분석하여, 각 모델별 사용자가 맞을 확률을 계산한다. 이렇게 계산된 확률들이 위와 같이 결과로 출력된다.
서버접근 이벤트 발생 시 사용자의 일 단위의 접근 정보를 행위로그 스토리지에서 조회하여 기 추출된 행위모델과 비교하여 분석을 수행한다. 의사결정부(35)에서 특정 사용자가 당일에 서버에 접근한 모든 정보를 기반으로 판단한 해당 사용자일 확률이 일정 순위 아래에 있을 경우 이상 사용자로 판단한다.
위와 같은 단계를 거쳐 학습된 n명의 사용자의 서버 접근 패턴정보를 기반으로 특정 사용자의 서버 접속 요청 이벤트 발생 시 해당 사용자의 당일의 모든 서버 접근 내역을 조회하여 패턴과 비교 분석하여, 확률이 가장 높은 사용자에 대해 찾아주는 방법이다.
이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
10 : 사용자 단말 30 : 접근통제 게이트웨이
31 : 제1 전송부 32: 제2 전송부
33 : 인증모듈 34 : 접근권한 인증부
35 : 의사결정부 36 : 이상탐지부
38 : 세션중계부 40 : 서버
61 : 행위조정자 62 : 데이터저장부
63 : 행위모델 엔진 64 : 연산부
66 : 행위로그 스토리지 67 : 행위모델
68 : 모델캐시

Claims (5)

  1. 사용자 단말과 서버가 네트워크로 연결되고, 상기 사용자 단말과 상기 서버 사이의 네트워크 상에 게이트웨이로 설치되는, 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템에 있어서,
    상기 사용자 단말로부터 서버접근 메시지를 수신하면, 사용자에 대한 서버 접근에 대한 권한을 인증하고, 해당 사용자의 서버 접근에 대한 패턴을 분석하여 이상 사용자 여부를 판단하는 인증모듈;
    상기 서버접근 메시지에 대한 패턴을, 사전에 학습된 사용자의 서버접근 패턴과 비교하여 분석하고, 학습된 사용자의 서버접근 패턴과의 정상 사용자의 확률을 산출하는 이상탐지부; 및,
    상기 인증모듈에 의하여 서버접근에 대한 인증이 완료되고 정상 사용자로 판단되면, 상기 사용자 단말과 상기 서버 사이의 세션을 중계하는 세션중계부를 포함하고,
    상기 인증모듈은,
    상기 사용자의 서버접근에 대한 권한을 인증하는 접근권한 인증부; 및,
    상기 이상탐지부로부터 상기 정상 사용자의 확률을 전달받고, 상기 정상 사용자의 확률에 따라 자동으로 관리자에 알람으로 전송하거나, 상기 사용자의 서버접근에 의한 세션을 차단하는 의사결정부를 포함하고,
    상기 이상탐지부는,
    상기 접근권한 인증부로부터 상기 서버접근 메시지를 전달받고, 전달받은 서버접근 메시지에 의한 서버접근 정보를 저장하는 행위조정자;
    학습을 통해 각 사용자별 서버접근 행위에 대한 행위모델을 생성하는 행위모델 엔진;
    상기 행위조정자로부터 서버접근 정보를 수신하여, 수신된 해당 서버접근 정보에 대하여 각 사용자별 정상 사용자의 확률을 산출하되, 상기 행위모델을 이용하여 산출하는 연산부를 포함하고,
    상기 행위조정자는 행위로그 스토리지에 상기 서버접근 정보를 기록하여 축적하고, 상기 행위모델 엔진은 축적된 행위로그 스토리지의 서버접근 데이터를 이용하여 상기 행위모델을 지속적으로 학습시켜 갱신하고,
    상기 행위모델 엔진은 접속 요일, 접속 시간대, 접속 보안 레벨, 및, 접속 프로토콜의 조합한 서버접근 정보로 상기 행위모델을 학습시키고,
    상기 접속 요일은 7개의 요일로 구분되고, 상기 접속 시간대는 하루 24시간을 1시간 간격으로 구분되고, 상기 접속 보안레벨은 서버에 설정된 보안레벨이고, 상기 접속 프로토콜은 서버에 접근할 때 접근하는 프로토콜이고,
    상기 접속 프로토콜은 시큐어쉘(SSH), 텔넷(telnet), 또는, 파일전송(FTP) 중 어느 하나이고,
    상기 행위모델 엔진은 학습 데이터에 의한 [수식 1]의 접근 빈도로 사용자의 서버접근 패턴별 가중치를 구하고,
    상기 행위모델은 모든 사용자에 대하여 학습되고,
    특정 서버접근이 상기 행위모델에서 가중치가 높은 특정 사용자의 서버접근 패턴과 동일하면 특정 사용자로 판단되는 확률이 높게 계산되고,
    해당 사용자의 서버접근에 대하여 모든 사용자에 대하여 각 사용자로 판단되는 확률을 구하고, 각 사용자의 확률 크기로 각 사용자의 순위를 정하고,
    해당 사용자의 순위가 사전에 정해진 순위 아래에 있으면, 해당 사용자를 이상 사용자로 판단하는 것을 특징으로 하는 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템.
    [수식 1]
    Figure 112019083720510-pat00007

    단, Pc,u는 사용자 u의 서버접근 c의 접근 빈도를 나타내고, α는 사전에 정해진 상수로서 슈도우 카운트이고, A는 서로다른 서버접근 개수로서 요일 개수×시간대 개수×보안레벨 개수×프로토콜 개수이고, Training count는 사용자가 접근을 요청한 서버접근의 개수이고, Training data length는 사용자별 서버접근 유형의 학습 데이터 전체 개수임.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 행위모델은 베이지안 모델과 딥러닝 모델로 구성되고,
    상기 연산부는 상기 베이지안 모델로부터 제1 확률을 산출하고, 상기 딥러닝 모델로부터 제2 확률을 산출하여, 상기 제1 확률과 상기 제2 확률에 대하여 가중치를 통해 비율 조정을 하여 최종 확률을 추출하는 것을 특징으로 하는 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템.
  5. 삭제
KR1020180071545A 2018-06-21 2018-06-21 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템 KR102024142B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180071545A KR102024142B1 (ko) 2018-06-21 2018-06-21 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180071545A KR102024142B1 (ko) 2018-06-21 2018-06-21 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템

Publications (1)

Publication Number Publication Date
KR102024142B1 true KR102024142B1 (ko) 2019-09-23

Family

ID=68069213

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180071545A KR102024142B1 (ko) 2018-06-21 2018-06-21 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템

Country Status (1)

Country Link
KR (1) KR102024142B1 (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112800413A (zh) * 2021-02-26 2021-05-14 上海派拉软件股份有限公司 一种权限信息推送方法、装置、设备及存储介质
KR102403522B1 (ko) * 2021-06-29 2022-05-31 주식회사 에이텍 컴퓨터의 사전 탐지를 이용한 장애 예방장치 및 방법
KR20220072428A (ko) * 2020-11-25 2022-06-02 숭실대학교산학협력단 인공지능 기반의 스마트홈 네트워크 패턴분석을 이용한 외부 침입 차단 시스템 및 그 방법
CN114884741A (zh) * 2022-06-02 2022-08-09 江苏优集科技有限公司 一种分布式云环境下的安全访问与控制***及方法
KR102508418B1 (ko) * 2022-09-20 2023-03-14 알비소프트 주식회사 사내 보안 관리 솔루션을 제공하는 방법 및 그 시스템
KR102531376B1 (ko) * 2022-08-01 2023-05-12 (주)트라이언아이앤씨 망연계 기반의 정보와 네트워크 보안 관제 시스템 및 그 방법
KR20230080974A (ko) * 2021-11-30 2023-06-07 인하대학교 산학협력단 시그니처 기반 이상 탐지 방법과 행위 기반 이상 탐지 방법을 조합한 하이브리드 이상 탐지 방법
CN116582373A (zh) * 2023-07-14 2023-08-11 北京辰尧科技有限公司 一种用户访问控制方法、***及电子设备
CN117692196A (zh) * 2023-12-11 2024-03-12 国网河南省电力公司经济技术研究院 一种基于随机森林的用户状态画像异常监测方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101143847B1 (ko) 2005-04-14 2012-05-10 (주) 모두스원 네트워크 보안장치 및 그 방법
KR101608221B1 (ko) * 2014-10-27 2016-04-01 주식회사 웨어밸리 과거 db 접근 패턴에 기반한 이상 징후 감지 방법 및 시스템
KR101796205B1 (ko) * 2017-04-17 2017-11-13 주식회사 넷앤드 보안 강화를 위해 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101143847B1 (ko) 2005-04-14 2012-05-10 (주) 모두스원 네트워크 보안장치 및 그 방법
KR101608221B1 (ko) * 2014-10-27 2016-04-01 주식회사 웨어밸리 과거 db 접근 패턴에 기반한 이상 징후 감지 방법 및 시스템
KR101796205B1 (ko) * 2017-04-17 2017-11-13 주식회사 넷앤드 보안 강화를 위해 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220072428A (ko) * 2020-11-25 2022-06-02 숭실대학교산학협력단 인공지능 기반의 스마트홈 네트워크 패턴분석을 이용한 외부 침입 차단 시스템 및 그 방법
KR102450471B1 (ko) * 2020-11-25 2022-10-04 숭실대학교 산학협력단 인공지능 기반의 스마트홈 네트워크 패턴분석을 이용한 외부 침입 차단 시스템 및 그 방법
CN112800413A (zh) * 2021-02-26 2021-05-14 上海派拉软件股份有限公司 一种权限信息推送方法、装置、设备及存储介质
CN112800413B (zh) * 2021-02-26 2024-03-15 上海派拉软件股份有限公司 一种权限信息推送方法、装置、设备及存储介质
KR102403522B1 (ko) * 2021-06-29 2022-05-31 주식회사 에이텍 컴퓨터의 사전 탐지를 이용한 장애 예방장치 및 방법
KR102595383B1 (ko) * 2021-11-30 2023-10-27 인하대학교 산학협력단 시그니처 기반 이상 탐지 방법과 행위 기반 이상 탐지 방법을 조합한 하이브리드 이상 탐지 방법
KR20230080974A (ko) * 2021-11-30 2023-06-07 인하대학교 산학협력단 시그니처 기반 이상 탐지 방법과 행위 기반 이상 탐지 방법을 조합한 하이브리드 이상 탐지 방법
CN114884741A (zh) * 2022-06-02 2022-08-09 江苏优集科技有限公司 一种分布式云环境下的安全访问与控制***及方法
CN114884741B (zh) * 2022-06-02 2024-05-24 上海企源科技股份有限公司 一种分布式云环境下的安全访问与控制***及方法
KR102531376B1 (ko) * 2022-08-01 2023-05-12 (주)트라이언아이앤씨 망연계 기반의 정보와 네트워크 보안 관제 시스템 및 그 방법
KR102508418B1 (ko) * 2022-09-20 2023-03-14 알비소프트 주식회사 사내 보안 관리 솔루션을 제공하는 방법 및 그 시스템
CN116582373B (zh) * 2023-07-14 2023-09-22 北京辰尧科技有限公司 一种用户访问控制方法、***及电子设备
CN116582373A (zh) * 2023-07-14 2023-08-11 北京辰尧科技有限公司 一种用户访问控制方法、***及电子设备
CN117692196A (zh) * 2023-12-11 2024-03-12 国网河南省电力公司经济技术研究院 一种基于随机森林的用户状态画像异常监测方法

Similar Documents

Publication Publication Date Title
KR102024142B1 (ko) 사용자의 서버접근 패턴 기반 이상 사용자를 탐지 및 제어하는 접근통제 시스템
US20160127417A1 (en) Systems, methods, and devices for improved cybersecurity
US10491630B2 (en) System and method for providing data-driven user authentication misuse detection
US20210152555A1 (en) System and method for unauthorized activity detection
EP3101865B1 (en) Detection of anomalous administrative actions
US20210084062A1 (en) Method and Apparatus for Network Fraud Detection and Remediation Through Analytics
EP2545680B1 (en) Behavior-based security system
GB2609828A (en) Network security
US10728279B2 (en) Detection of remote fraudulent activity in a client-server-system
US20080222706A1 (en) Globally aware authentication system
US20160241576A1 (en) Detection of anomalous network activity
JP6290659B2 (ja) アクセス管理方法およびアクセス管理システム
US20110314549A1 (en) Method and apparatus for periodic context-aware authentication
US20210234877A1 (en) Proactively protecting service endpoints based on deep learning of user location and access patterns
WO2011023664A2 (en) Threat detection in a data processing system
US20200233962A1 (en) Detecting obfuscated malware variants
CN112165488A (zh) 一种风险评估方法、装置、设备及可读存储介质
Almutairi et al. Investigation of smart home security and privacy: Consumer perception in saudi arabia
US20240089260A1 (en) System and method for graduated deny list
GB2621237A (en) Traffic scanning with context-aware threat signatures
US12010133B2 (en) Security threat monitoring for network-accessible devices
CN110958236A (zh) 基于风险因子洞察的运维审计***动态授权方法
JP2018142266A (ja) 不正アクセス検出装置、プログラム及び方法
US12021834B2 (en) Cumulative sum model for IP deny lists
US11601435B1 (en) System and method for graduated deny lists

Legal Events

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