KR102464390B1 - 행위 분석 기반 이상 감지 방법 및 장치 - Google Patents
행위 분석 기반 이상 감지 방법 및 장치 Download PDFInfo
- Publication number
- KR102464390B1 KR102464390B1 KR1020160138512A KR20160138512A KR102464390B1 KR 102464390 B1 KR102464390 B1 KR 102464390B1 KR 1020160138512 A KR1020160138512 A KR 1020160138512A KR 20160138512 A KR20160138512 A KR 20160138512A KR 102464390 B1 KR102464390 B1 KR 102464390B1
- Authority
- KR
- South Korea
- Prior art keywords
- cluster
- behavior
- pattern
- user
- clusters
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본 발명의 일 태양에 따른 행위 분석 기반 이상 감지 방법은, 이상 감지 장치가, 적어도 하나 이상의 사용자에 대한 과거 행위 카운터들로 각각 구성된 K개의 클러스터를 생성하는 단계와 상기 이상 감지 장치가, 상기 K개의 클러스터에 속한 각각의 클러스터 별로 각 클러스터에 속한 과거 행위 카운터들의 대표 행위를 가리키는 클러스터 패턴을 지정하는 단계와 상기 이상 감지 장치가, 상기 복수의 사용자 중 제1 사용자에 대한 과거 행위 카운터와 상기 K개의 클러스터에 속한 각각의 클러스터로부터 상기 제1 사용자의 과거 행위 패턴을 결정하는 단계와 상기 이상 감지 장치가, 상기 제1 사용자에 대한 현재 행위 카운터와 상기 K개의 클러스터에 속한 각각의 클러스터로부터 상기 제1 사용자의 현재 행위 패턴을 결정하는 단계와 상기 이상 감지 장치가, 상기 제1 사용자의 과거 행위 패턴과 현재 행위 패턴을 비교하여 상기 제1 사용자의 이상 행위를 감지하는 단계를 포함할 수 있다.
Description
본 발명은 사용 행위 분석에 기반을 둔 이상 감지 방법 및 그 장치에 관한 것이다. 보다 자세하게는, 기업 등의 내부 정보 유출 행위를 감지하려는 방법으로, 사용자의 문서 사용 행위를 감시하여 과거의 사용 행위의 패턴과 다른 패턴의 문서 사용 행위를 감지하는 방법 및 그 방법을 수행하는 장치에 관한 것이다.
"A사의 반도체 핵심기술 또 유출시도, 철통 보안 어떻게 뚫렸나" 2016년 09월 25일 자 한 뉴스 기사의 제목에서 일부 발췌한 내용이다. A사의 시스템 반도체(비메모리)의 품질 담당 이 모 전무가, 14 나노 공정의 기술 자료를 문서 형태로 출력해서 검색대를 통과하고 퇴근하려고 하다, 경비원에게 제지 당했다는 기사이다.
A사의 임직원들의 모바일 기기에는 별도의 보안 솔루션이 설치되어 있다. 그래서, 출근 시 검색대를 통과하면 자동으로 사진 촬영 기능, 블루투스 기능, 와이파이 기능이 꺼진다. 또한, 검색대에는 전자 감응기와 X선 검색대가 설치되어 있어, 사전에 허가되지 않은 USB나 외장 하드 디스크 등을 들고 나갈 수 없다.
기사에 따르면, 해당 이 모 전무는 문서 형태로 기밀 자료를 조금씩 반출한 것으로 보인다. 실제로 A사 측에서 이 모 전무의 집을 수색하였더니, 이미 수천 장의 문건을 반출해 가져간 것으로 확인됐다. 출퇴근 시에 검색대에서 스마트폰이나 저장장치와 같은 전자 기기를 중심으로 감시가 이루어진다는 허점을 파고든 것이다.
이 사건의 경우, 만약 이 모 전무의 평소 문서 사용 행위를 패턴화 하여 모니터링을 수행하였다면, 평소와는 다르게 갑자기 증가한 이 모 전무의 "인쇄"라는 행위를 이상으로 감지하고, 문서 반출을 통한 이 모 전무의 기술 유출을 사전에 방비할 수 있었을 것이다.
이에, 기업 등의 내부 정보 유출 행위를 감지하기 위하여, 사용자의 파일 사용에 대한 행동/행위를 분석하여 유출 행위를 감시할 수 있는 방법이 요구된다.
본 발명이 해결하고자 하는 기술적 과제는 사용자별로 문서의 사용 행위를 모니터링(monitoring) 하여, 사용 행위의 변화를 사전에 감지할 방법 및 그 방법을 수행하는 장치를 제공하는 것이다. 이를 통해 기업의 내부 정보 유출 행위 등 보안적 위험 행동으로의 변화를 사전에 감지하여 신속한 조기 대응을 할 수 있다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 태양에 따른 행위 분석 기반 이상 감지 방법은, 이상 감지 장치가, 적어도 하나 이상의 사용자에 대한 과거 행위 카운터들로 각각 구성된 K개의 클러스터를 생성하는 단계와 상기 이상 감지 장치가, 상기 K개의 클러스터에 속한 각각의 클러스터 별로 각 클러스터에 속한 과거 행위 카운터들의 대표 행위를 가리키는 클러스터 패턴을 지정하는 단계와 상기 이상 감지 장치가, 상기 복수의 사용자 중 제1 사용자에 대한 과거 행위 카운터와 상기 K개의 클러스터에 속한 각각의 클러스터로부터 상기 제1 사용자의 과거 행위 패턴을 결정하는 단계와 상기 이상 감지 장치가, 상기 제1 사용자에 대한 현재 행위 카운터와 상기 K개의 클러스터에 속한 각각의 클러스터로부터 상기 제1 사용자의 현재 행위 패턴을 결정하는 단계와 상기 이상 감지 장치가, 상기 제1 사용자의 과거 행위 패턴과 현재 행위 패턴을 비교하여 상기 제1 사용자의 이상 행위를 감지하는 단계를 포함할 수 있다.
일 실시 예에서, 상기 과거 행위 카운터는 특정 사용자가 과거 일정 기간 동안 복수의 행위를 시행한 횟수를 각 행위 별로 카운트(count)한 결과이다.
다른 실시 예에서, 상기 현재 행위 카운터는 상기 특정 사용자가 현재 일정 기간 동안 상기 복수의 행위를 시행한 횟수를 각 행위 별로 카운트(count)한 결과이다.
다른 실시 예에서, 상기 제1사용자의 과거 행위 패턴을 결정하는 단계는, 상기 복수의 사용자 중 제1 사용자에 대한 과거 행위 카운터와 상기 K개의 클러스터에 속한 각각의 클러스터의 유사도를 이용하여 결정하며, 상기 제1사용자의 현재 행위 패턴을 결정하는 단계는, 상기 제1 사용자에 대한 현재 행위 카운터와 상기 K개의 클러스터에 속한 각각의 클러스터의 유사도를 이용하여 결정하는 것이다.
다른 실시 예에서, 상기 복수의 사용자에 대한 과거 행위 카운터들로 각각 구성된 K개의 클러스터를 생성하는 단계는, 상기 복수의 사용자에 대한 과거 행위 카운터와 현재 행위 카운터를 수집하는 단계 및 상기 각 행위 별로 카운트한 결과가 동일한 범위(range)를 가지도록, 상기 복수의 사용자에 대한 과거 행위 카운터와 현재 행위 카운터를 전처리하는 단계를 포함할 수 있다.
다른 실시 예에서, 상기 복수의 사용자에 대한 과거 행위 카운터와 현재 행위 카운터를 전처리하는 단계는, 사전에 설정된 자리 수 이하는 반올림(round)하여, 상기 복수의 사용자에 대한 과거 행위 카운터와 현재 행위 카운터의 노이즈(noise)를 제거하는 단계를 포함할 수 있다.
다른 실시 예에서, 상기 클러스터 패턴을 지정하는 단계는, 상기 지정된 각 클러스터에 속한 과거 행위 카운터들의 대표 행위를 제외한 대표 행위를 클러스터 패턴으로 추가하는 단계를 포함할 수 있다.
다른 실시 예에서, 상기 클러스터 패턴을 지정하는 단계는, 상기 K개의 클러스터에 속한 각각의 클러스터 별로, 각 클러스터에 속한 과거 행위 카운터들의 값을 이용하여, 각 클러스터의 중심 벡터(center vector)를 추출하는 단계와 상기 K개의 클러스터에 속한 각각의 클러스터 별로, 상기 중심 벡터의 좌표값의 평균과 표준편차를 연산하는 단계와 상기 K개의 클러스터에 속한 각각의 클러스터 별로, 상기 평균과 표준편차를 이용하여, 각 클러스터의 임계치(threshold)를 설정하는 단계 및 상기 K개의 클러스터에 속한 각각의 클러스터 별로, 상기 중심 벡터의 좌표값 중에서 상기 임계치를 초과하는 좌표에 대응되는 행위를 각 클러스터의 클러스터 패턴으로 선정하는 단계를 포함할 수 있다.
다른 실시 예에서, 상기 각 클러스터의 중심 벡터(center vector)를 추출하는 단계는, 상기 각 클러스터에 속한 과거 행위 카운터들의 값을 각 행위 별로 평균하고 이를 좌표로 변환하여, 상기 중심 벡터를 생성하는 단계를 포함할 수 있다.
다른 실시 예에서, 상기 임계치(threshold)를 설정하는 단계는, 상기 평균 + 상기 표준편차 * n의 수식을 이용하여, 상기 임계치를 연산하는 단계를 포함할 수 있다.
다른 실시 예에서, 상기 중심 벡터의 좌표값 중에서 상기 임계치를 초과하는 좌표에 대응되는 행위를 각 클러스터의 클러스터 패턴으로 선정하는 단계는, 상기 중심 벡터의 좌표값 중에서 상기 임계치를 초과하는 좌표가 하나도 없는 클러스터를 일반 클러스터로 분류하는 단계 및 상기 일반 클러스터의 수와 전체 클러스터의 수인 K의 비율(ratio)을 연산하는 단계를 포함할 수 있다.
다른 실시 예에서, 상기 일반 클러스터의 수와 전체 클러스터의 수인 K의 비율(ratio)을 연산하는 단계는, 상기 K의 값을 1부터 상기 복수의 사용자의 수까지 변화시켜가면서, 상기 비율을 연산하는 단계를 반복 수행하는 단계 및 Elbow Method를 이용하여, 1부터 상기 복수의 사용자의 수까지의 값 중에서 상기 K의 값을 결정하는 단계를 포함할 수 있다.
다른 실시 예에서, 상기 제1 사용자의 이상 행위를 감지하는 단계는, 상기 제1 사용자의 과거 행위 패턴과 현재 행위 패턴이 다른 경우, 상기 과거 행위 패턴의 위험도와 상기 현재 행위 패턴의 위험도를 이용하여, 상기 제1 사용자의 이상 행위 여부를 판단하는 단계를 포함할 수 있다.
다른 실시 예에서, 상기 제1 사용자의 이상 행위 여부를 판단하는 단계는, 상기 복수의 행위에 대해 사전에 설정된 위험도의 가중치를 이용하여, 상기 클러스터 패턴의 위험도를 연산하는 단계를 포함할 수 있다.
다른 실시 예에서, 상기 제1 사용자의 이상 행위 여부를 판단하는 단계는, 상기 제1 사용자가 속한 조직의 구성원의 패턴 변화를 더 이용하여, 상기 제1 사용자의 이상 행위 여부를 판단하는 단계를 포함할 수 있다.
다른 실시 예에서, 상기 복수의 행위는 개봉, 작성, 첨부, 수정, 삭제, 이동, 복사, 인쇄, 저장, 권한 변경 중에서 둘 이상을 포함하는 사용 행위이고, 상기 제1 사용자의 이상 행위는 정보의 유출 행위이다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 태양에 따른 클러스터링 방법은, 클러스터링 장치가, N(단, N은 1이상의 자연수) 차원을 가지는 표본들로 각각 구성된 K개의 클러스터를 생성하는 단계와 상기 클러스터링 장치가, 상기 K개의 클러스터에 속한 각각의 클러스터 별로, 각 클러스터에 속한 표본들의 대표 차원을 가리키는 클러스터 패턴을 지정하는 단계와 상기 클러스터링 장치가, 상기 K개의 클러스터 중에서 상기 클러스터 패턴이 지정되지 않은 클러스터의 수와 전체 클러스터의 수인 K의 비율(ratio)을 연산하는 단계와 상기 클러스터링 장치가, 상기 K의 값을 1부터 상기 표본의 수까지 변화시켜가면서, 상기 K개의 클러스터를 생성하는 단계와 상기 클러스터 패턴을 지정하는 단계와 상기 비율을 연산하는 단계를 반복 수행하는 단계 및 상기 클러스터링 장치가, Elbow Method를 이용하여, 1부터 상기 표본의 수까지의 값 중에서 상기 K의 값을 결정하는 단계를 포함할 수 있다.
다른 실시 예에서, 상기 클러스터 패턴을 지정하는 단계는, 상기 K개의 클러스터에 속한 각각의 클러스터 별로, 각 클러스터에 속한 표본의 값을 이용하여, 각 클러스터의 중심 벡터(center vector)를 추출하는 단계와 상기 K개의 클러스터에 속한 각각의 클러스터 별로, 상기 중심 벡터의 N차원의 좌표값의 평균과 표준편차를 연산하는 단계와 상기 K개의 클러스터에 속한 각각의 클러스터 별로, 상기 평균과 표준편차를 이용하여, 각 클러스터의 임계치(threshold)를 설정하는 단계 및 상기 K개의 클러스터에 속한 각각의 클러스터 별로, 상기 중심 벡터의 N차원의 좌표값 중에서 상기 임계치를 초과하는 좌표를 각 클러스터의 클러스터 패턴으로 선정하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 효과는 다음과 같다.
종래에는 내부자들이 이메일을 외부로 전송하거나, 본인에게 전송하는 경우를 모니터링 하였다. 또는, 이메일에 특정 키워드 또는 특정 첨부 파일이 포함된 경우를 모니터링 하였다. 하지만, 이러한 이메일 필터링만으로는 정보 유출을 감지하기에 한계가 있었다. 즉, 개인이 악의적으로 문서를 출력해서 외부로 무단 반출하는 등으로 이메일 외의 수단을 사용하는 정보 유출 방법을 모니터링 할 수 없었다. 이에 비해 본 발명을 이용하면, 사용자의 문서 사용 행위를 기반으로 정보 유출을 사전에 모니터링할 수 있다. 이를 통해 내부자, 퇴사예정자 등이 악의적으로 문서를 유출하려는 경우, 해당 유출 행위를 모니터링 하여 사전에 적절할 조치를 취할 수 있다.
그리고 기존의 정보 유출 감지 방법은 과거의 적발된 정보 유출 사고의 건수가 많아야 학습이 가능하고, 사례가 충분하지 못한 경우에는 학습 데이터의 과적합으로 인해, 학습하지 않은 다른 유형의 정보 유출을 감지하지 못하는 문제점이 있었다. 다시 말하면, 정보 유출 사고는 매우 드물게 발생하기 때문에 이를 지도 학습(supervised learning)으로 모델링(modeling) 하는 것은 매우 어려웠다. 특정 패턴을 이상(anomaly)으로 지정하고 이상을 감지하기에는 이상 패턴 자체가 드물었다. 이에 비해 본 발명을 이용하면, 비지도 학습(unsupervised learning)을 통하여 파일 사용 행위의 변화를 감지하고, 이를 이용하여 정보 유출을 모니터링 하기 때문에 그 활용이 매우 쉽고 효과적이다.
그리고 종래에는 사용자의 특정 행동을 룰 기반의 임계치로 설정하여, 이를 초과하는 경우 이상으로 감지하는 방법을 주로 이용하였다. 그러나, 이 경우 적절한 임계치를 설정하기 쉽지 않다는 단점이 있다. 예를 들면, 임계치를 너무 작게 설정하면 과도한 오탐(False Alarm)이 발생할 수 있으며, 임계치를 너무 높게 설정하면 이상을 제대로 감지하지 못하는 단점이 있다. 이에 비해 본 발명을 이용하면, 별도의 임계치 또는 룰을 설정할 필요 없이 과거의 사용 패턴과 다른 사용 패턴을 보이는 경우 이상으로 감지할 수 있다.
그 외에도 종래에는 사용자 컴퓨터(PC)의 사용 행위를 수집하기 위해서 별도의 에이전트(Agent) 프로그램을 설치해야 했다. 이는 한정적인 PC 자원의 일부를 사용하기 때문에 이미 많은 에이전트(PC 보안, DRM, Anti-Virus, 개인정보보호 솔루션 등)가 설치된 기업의 사용자 PC에 많은 부하를 주는 문제점이 있었다. 이에 비해 본 발명을 이용하면, 대부분 기업에서 이미 구축된 에이전트를 이용하기 때문에 문서의 사용 행위에 대한 정보를 수집하기 위해 별도의 에이전트 프로그램을 설치할 필요가 없다. 이를 통해 개인 PC의 자원을 보다 효율적으로 사용할 수 있으며, 별도의 서버나 저장 공간에 대한 투자도 불필요하다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
도 1은 본 발명의 일 실시 예에 따른 행위 분석 기반 이상 감지 방법의 순서도이다.
도 2는 본 발명의 일 실시 예에 따른 행위 분석 기반 이상 감지 장치의 구성도이다.
도 3은 본 발명의 몇몇 실시 예에서 사용될 수 있는 데이터 수집 과정을 설명하기 위한 예시도이다.
도 4는 본 발명의 일 실시 예에 따른 데이터 전처리 과정을 설명하기 위한 순서도이다.
도 5a 내지 도 5c는 본 발명의 일 실시 예에 따른 데이터 전처리 과정을 설명하기 위한 예시도이다.
도 6은 본 발명의 일 실시 예에 따른 패턴 생성 과정을 설명하기 위한 순서도이다.
도 7a 내지 도 7d는 본 발명의 일 실시 예에 따른 클러스터의 패턴 생성 과정을 설명하기 위한 예시도이다.
도 8은 본 발명의 일 실시 예에서 사용될 수 있는 클러스터의 패턴을 그래프로 도시한 것이다.
도 9는 본 발명의 일 실시 예에 따른 클러스터의 수를 결정하는 과정을 설명하기 위한 순서도이다.
도 10a 내지 도 10c는 본 발명의 일 실시 예에 따른 클러스터의 수를 결정하는 과정을 설명하기 위한 예시도이다.
도 11은 본 발명의 일 실시 예에 따른 사용자 프로파일을 생성하는 과정을 설명하기 위한 순서도이다.
도 12은 본 발명의 일 실시 예에 따른 사용자 프로파일을 생성하는 과정을 설명하기 위한 예시도이다.
도 13은 본 발명의 일 실시 예에 따른 행위 분석 기반 이상 감지 장치의 하드웨어 구성도이다.
도 2는 본 발명의 일 실시 예에 따른 행위 분석 기반 이상 감지 장치의 구성도이다.
도 3은 본 발명의 몇몇 실시 예에서 사용될 수 있는 데이터 수집 과정을 설명하기 위한 예시도이다.
도 4는 본 발명의 일 실시 예에 따른 데이터 전처리 과정을 설명하기 위한 순서도이다.
도 5a 내지 도 5c는 본 발명의 일 실시 예에 따른 데이터 전처리 과정을 설명하기 위한 예시도이다.
도 6은 본 발명의 일 실시 예에 따른 패턴 생성 과정을 설명하기 위한 순서도이다.
도 7a 내지 도 7d는 본 발명의 일 실시 예에 따른 클러스터의 패턴 생성 과정을 설명하기 위한 예시도이다.
도 8은 본 발명의 일 실시 예에서 사용될 수 있는 클러스터의 패턴을 그래프로 도시한 것이다.
도 9는 본 발명의 일 실시 예에 따른 클러스터의 수를 결정하는 과정을 설명하기 위한 순서도이다.
도 10a 내지 도 10c는 본 발명의 일 실시 예에 따른 클러스터의 수를 결정하는 과정을 설명하기 위한 예시도이다.
도 11은 본 발명의 일 실시 예에 따른 사용자 프로파일을 생성하는 과정을 설명하기 위한 순서도이다.
도 12은 본 발명의 일 실시 예에 따른 사용자 프로파일을 생성하는 과정을 설명하기 위한 예시도이다.
도 13은 본 발명의 일 실시 예에 따른 행위 분석 기반 이상 감지 장치의 하드웨어 구성도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 발명에 대하여 첨부된 도면에 따라 보다 상세히 설명한다.
도 1은 본 발명의 일 실시 예에 따른 행위 분석 기반 이상 감지 방법의 순서도이다.
도 1을 참고하면, 본 발명의 이상 감지 방법은 사용자의 문서 사용 행위를 바탕으로, 이를 자동으로 패턴화(프로파일링화)하고 시간의 흐름에 따라 패턴의 변화를 분석한다. 이를 통해, 사용자의 유의한 행동 변화를 필터링하는 것에 가장 큰 특징이 있다. 유의한 행동 변화는 다양하게 정의가 가능하다. 일 예로 내부 정보 유출 의심 행동이 유의한 행동 변화가 될 수 있다.
기존에는 전문가 또는 예전 유출 사례를 바탕으로 룰이나 시나리오를 설정하여 내부 정보 유출 행위를 판단하거나, 베이지안 네트워크 등으로 확률을 계산하여 확률값이 임계치를 넘으면 내부 정보 유출 행위로 판단하는 방법 등이 사용되었다.
하지만 종래의 이러한 방법은 초기에 정해 놓은 룰이나 시나리오를 기준으로 이상인지 아닌지를 판별하기 때문에 기준이 변하지 않았다. 이로 인해 시간이 지남에 따라 고도화, 지능화 되는 내부 정보 유출 행위를 판별해 낼 수 없게 되었다. 또한, 룰이나 시나리오의 업데이트가 필요한 경우, 처음에 룰이나 시나리오를 설정하는 수준의 많은 노력과 자원이 필요하게 된다. 또한, 확률값을 사용하는 경우에도 마찬가지로 기존 사례를 통해 확률값을 계산하기 때문에 새롭게 출현하는 내부 정보 유출 행위에 대한 발 빠른 대응이 어렵다.
그리고 종래의 방법은 기준을 세우는 과정에서 임계치를 높게 설정하게 되면 판별 절차에서 유의한 결과를 판별해 내지 못하거나 반대로 임계치를 낮게 설정하면 오탐, 과탐이 과도하게 증가하게 되었다. 이로 인해 실제 사용에 있어서 너무 많은 알람을 관리자에게 주게 되고 관리자는 모든 판별에 대해 검증 절차를 수행할 시간이 부족하기 때문에 기존 시스템을 신뢰하지 못하게 되고 최종적으로는 시스템을 아예 사용 하지 않게 되는 경우가 많았다.
그리고 기존에 방식에서는 기준을 세우기 위해서 내부 정보 유출 사례가 필요하게 되는데 이러한 사례는 매우 드물게 발생하게 되기 때문에 사례를 수집하기 매우 어려웠다. 이 때문에 내부 정보 유출 판별 시스템을 구축하는 상황과 괴리가 있는 아주 오래된 사례가 사용되기도 한다. 이렇게 오래되거나, 매우 드문 데이터로 내부 정보 유출 판별 시스템을 만들 경우 그 시스템은 특정 사례에 과적합(overfitting) 되기 때문에 시스템의 일반성이 현저하게 떨어지게 된다. 또한, 과거에 임계치를 설정하기 위해 분석하는 데이터 내에 내부 정보 유출 행위가 포함되어 있다면 이를 반영하여 임계치를 설정하게 되기 때문에 추후에는 내부 정보 유출 행위가 발생해도 통상적인 행위로 판별하게 된다.
종래 기술의 이러한 문제들을 해결하기 위해서, 본 발명에서는 특정한 기준으로 이상 여부를 탐지하는 대신 사용자의 과거의 문서 사용 행위를 기준으로 사용자의 현재의 문서 사용 행위가 변하였는지를 판별한다. 즉, 종래의 방법이 지도 학습(Supervised Learning)에 기반을 둔 기계 학습을 이용하였다면, 본 발명에서는 비지도 학습(Unsupervised Learning)에 기반을 둔 기계 학습을 이용한다. 다시 말해, 본 발명은 이러한 임계치가 필요하지 않으며 매우 드문 과거의 내부 정보 유출 사례 또한 필요하지 않다. 임계치가 필요하지 않기 때문에 본 발명은 위에 설명한 부적절한 임계치로 인해 발생하는 단점을 극복하는 것이 가능하다.
도 1을 참고하면, 본 발명에서는 사용자의 문서 사용 행위를 수집한다(S1000). 복수의 사용자의 문서 사용 행위를 수집하여 이를 훈련 데이터(Training Data)로 활용한다. 데이터의 수집에 관한 자세한 설명은 도 2 내지 도 3을 통해서 계속하도록 한다.
수집한 사용 행위는 전처리 과정을 거친다(S2000). 전처리 과정은 문서의 사용 행위의 수치를 조정하기 위한 과정이다. 예를 들어, 문서의 사용 행위는 [개봉], [작성], [첨부], [수정], [삭제], [이동], [복사], [인쇄], [저장], [권한 변경] 등과 같은 다양한 사용 행위가 있을 수 있다. 이하 문서의 사용 행위를 표시할 때는 [] 기호로 표시하기로 한다.
이러한 사용 행위를 카운트(count)한 수치를 그대로 사용하기에는 몇 가지 문제점이 있다. 대부분의 경우 [개봉]이 압도적으로 많을 것이며, [인쇄]나 [복사]와 같은 사용 행위는 상대적으로 적을 것이다. [개봉]이 상대적으로 많음에도, 내부 정보의 유출과 관련된 위협적인 행위는 [복사], [인쇄], [이동], [권한 변경] 등과 같은 행위이다. 그러므로 이러한 행위들의 감지를 용이하게 할 수 있도록, 수집한 데이터를 조정하는 과정(rescaling)이 필요하다. 전처리 방법으로 크게 표준화(standardization)나 정규화(normalization) 등을 이용할 수 있다. 전처리 과정에 대한 자세한 설명은 도 4 내지 도 5c를 통해서 계속 하도록 한다.
전처리를 거친 후, 사용 행위를 이용하여 패턴을 생성한다(S3100). 패턴은 복수의 사용자의 문서 사용 행위를 클러스터링 하여 수행할 수 있다. 대부분 사용자는 반복적인 업무를 수행하므로, 사용 행위도 반복적인 양상을 가지게 된다. 이를 패턴화 하면 주로 문서의 개봉만 수행하는 사용자, 주로 문서의 인쇄를 수행하는 사용자, 주로 문서의 편집을 수행하는 사용자와 같이 사용자의 유형을 나눌 수 있다.
사용자의 과거의 사용 행위를 패턴화 하는 한편, 사용자의 당일 사용 행위도 패턴화를 수행한다(S3600). 만약 사용자의 과거 사용 행위의 패턴과 사용자의 당일 사용 행위의 패턴이 같다면, 문제될 것이 없으나 사용 패턴이 변한 경우에는 문제가 될 수 있다.
이를 판단하기 위해 과거의 사용 행위의 패턴과 당일의 사용 행위의 패턴을 비교한다(S4000). 사용 행위의 패턴이 변한 경우에는 이상으로 감지하고 적절한 조치를 취할 수 있다(S5000). 만약 사용 행위의 패턴이 변하기 않은 경우에는 패턴 분석 결과를 저장하고(S6000), 추후 이상을 감지할 때 다시 사용할 수 있다. 패턴화 하는 과정이나 이상을 판단하는 과정에 대해서는 도 6 내지 도 12를 통해서 더욱 자세히 설명하기로 한다.
이상으로 도 1을 통해서 본 발명의 일 실시 예에 따른 행위 분석 기반 이상 감지 방법의 순서도를 살펴보았다. 이와 같은 본 발명에 의해 저장된 패턴을 이용하여 추가적인 분석도 가능하다. 즉 단순히 과거의 사용 패턴과 당일의 사용 패턴의 변화를 감지하는 데서 그치는 것이 아니라, 저장된 패턴을 사용하여 시계열 프로파일을 생성할 수 있고, 이를 통해 패턴 변화, 시계열 분석을 수행할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 행위 분석 기반 이상 감지 장치의 구성도이다.
도 2를 참고하면, 데이터는 복수의 사용자의 컴퓨터(101a, 101b, 101c)에서 수집된다. 데이터의 수집을 위해서 각 사용자의 컴퓨터에 설치된 에이전트 프로그램(agent)를 이용할 수 있다. 에이전트 프로그램은 사용자의 PC에서 문서와 관련된 사용 행위들을 수집한다. 에이전트 프로그램은 기존에 기업에서 사용하고 있던 보안 프로그램, DRM 에이전트와 같은 프로그램을 재사용할 수 있다. 즉 본 발명의 실시를 위해서 별도의 에이전트 프로그램을 따로 설치할 필요는 없다.
각 사용자의 컴퓨터(101a, 101b, 101c)의 에이전트에서 수집한 데이터는 사용자가 문서의 사용 행위 별로 시행한 횟수를 카운트한 값이다. 사용 행위를 카운트한 데이터는 네트워크(network)를 통해서 본 발명의 행위 분석 기반 이상 감지 장치(10)로 전송된다.
이상 감지 장치(10)는 데이터 수집부(110)를 통해서 사용 행위와 관련된 데이터를 수집하여 이를 저장한 후 간단한 통계 데이터를 생성한다. 예를 들어 특정 사용자의 당일 행위 카운터를 수집한 후, 과거 일정 기간 동안의 사용 행위의 평균을 구해서 과거 행위 카운터를 생성한다.
물론 과거 행위 카운터를 생성하는 주체는 행위 분석 기반 이상 감지 장치(10)가 아니라, 각 사용자의 컴퓨터(101a, 101b, 101c)여도 무방하다. 즉 각 사용자의 컴퓨터에 설치된 에이전트가 사용자의 문서 사용 행위를 카운트하여 저장하고, 행위 분석 기반 이상 감지 장치(10)로 당일자의 카운트한 수치와 과거 일정 기간 동안의 수치를 전송하는 것도 가능하다.
전처리부(130)에서는 데이터 수집부(110)에서 생성한 과거 행위 카운터와 당일 행위 카운터를 이용하여 표준화 또는 정규화 등과 같은 전처리 작업을 수행한다. 다음으로 패턴 생성부(150)에서는 과거 행위 카운터를 이용하여 클러스터를 구성한다. 이때, 클러스터의 개수를 결정하는 과정에서 각 클러스터의 특징을 기준으로 클러스터의 패턴이 생성되는지 여부를 고려할 수 있다. 클러스터의 개수를 결정하는 과정에 대해서는 도 10a 내지 도 10c에서 더욱 자세히 설명하기로 한다.
패턴 생성부(150)에서 사용자의 과거 행위 카운터를 이용하여, 패턴을 생성한 후에는 프로파일 생성부(170)에서 사용자의 과거 행위 카운터가 해당하는 과거 행위 패턴과 사용자의 당일 행위 카운터가 해당하는 현재 행위 패턴을 각각 결정한다. 이를 통해 과거의 행위 패턴과 현재의 행위 패턴을 비교할 수 있고, 패턴이 변한 경우 1차적으로 내부 정보 유출 위험이 있는 사용자로 판단할 수 있다.
이상 감지부(190)에서는 과거의 사용 행위의 패턴과 당일의 사용 행위의 패턴을 비교하여 내부 정보 유출이 의심되는지 확인할 수 있다. 뿐만 아니라, 패턴이 변하는 빈도나, 일자별로 저장된 특정 사용자의 사용 행위 패턴을 시계열 데이터로 분석하여, 패턴의 변화 추이를 산출할 수도 있다.
도 3은 본 발명의 몇몇 실시 예에서 사용될 수 있는 데이터 수집 과정을 설명하기 위한 예시도이다.
도 3을 참고하면 사용자 1(user 1)의 문서 사용 행위를 수집하는 과정을 볼 수 있다. 사용자 1의 컴퓨터에 설치된 에이전트를 통해서 일자별로 사용자의 문서 사용 행위의 데이터(111)를 수집한다. 여기서 문서의 사용 행위는 [개봉], [작성], [첨부], [수정], [삭제], [이동], [복사], [인쇄], [저장], [권한 변경] 등과 같은 다양한 행위들이 될 수 있다. 이는 데이터를 수집하는 에이전트에 따라 달라질 수 있으나, 대부분 위에 예시한 행위들이 될 것이다.
사용자의 문서 사용 행위에 대한 구체적인 예를 살펴보면, 사용자 1은 2016년 05월 01일에는 27번 문서를 [개봉]하였고, 3번의 [복사], 2번의 [첨부], 4번의 [이동]을 수행하였다. 마찬가지로 2016년 05월 02일에는 18번 문서를 [개봉]하였고, 1번의 [복사], 1번의 [첨부], 0번의 [인쇄], 0번의 [이동]을 수행하였다.
이렇게 일자별로 에이전트를 통해서 사용 행위를 카운트한 데이터(111)를 수집한 후에 본 발명의 행위 분석 기반 이상 감지 장치(10)의 데이터 수집부(110)에서는 과거의 행위 데이터의 일정 기간 동안의 통계를 이용하여 패턴을 생성하기 위한 과거 행위 카운터를 생성한다.
또는 데이터 수집부(110)에서는 각 에이전트로부터 당일의 행위 데이터와 과거 일정 기간 동안의 행위 데이터를 수집할 수도 있다. 즉 과거 행위 카운터는 일자별 행위 데이터를 누적하여 생성할 수 있는데, 과거 행위 카운터를 생성하는 주체는 행위 분석 기반 이상 감지 장치(10)가 될 수도 또는 각 컴퓨터의 에이전트가 될 수도 있다.
도 3의 예에서는, 2016년 05월 15일이 데이터를 수집한 당일이며, 05월 01일부터 14일까지는 이전에 수집한 데이터이다. 이때 2주간의 데이터의 평균을 구하여 사용자 1의 과거 행위 카운터로 생성한다. 즉, 사용자 1의 컴퓨터(101a)에 설치된 에이전트를 통해서 매일 데이터를 수집하고, 매일 일정 기간의 데이터의 평균을 구해서 과거 행위 카운터를 생성한다.
여기서 2주라는 기간은 일종의 예시이며, 필요에 따라 더 긴 기간을 사용할 수도, 더 짧은 기간을 사용할 수도 있다. 도 3을 참고하면, 2016년 05월 15일 당일 행위 카운터가 수집되었으며, 15일로부터 2주 전동안의 데이터가 과거 행위 카운터로 생성되었다. 과거 행위 카운터를 살펴보면 사용자 1은 지난 2주 동안 12.111 번의 [개봉], 3.111 번의 [복사], 1.000 번의 [첨부], 0.000 번의 [인쇄], 3.003 번의 [이동]을 수행하였다.
또한, 과거 일정 기간동안의 행위를 카운트한 과거 행위 카운터는 굳이 평균을 구하지 않아도 무방하다. 즉, 과거 일정 기간동안 문서의 사용 행위를 카운트한 값을 누적해서 사용해도 무방하다. 누적을 하더라도 전처리 과정을 통해서 값들이 일정한 범위를 가지도록 조정되기 때문이다.
이렇게 데이터 수집부(110)에서 당일 행위 카운터의 수집과 과거 행위 카운터의 통계를 생성한 후에는 데이터 전처리부(130)에서 패턴을 생성하기 위한 전처리 과정을 수행할 수 있다. 도 3의 예시를 참고하면, 05월 15일 사용자 1은 30회의 [개봉], 10회의 [복사], 6회의 [첨부], 2회의 [인쇄], 3회의 [이동]을 수행하였다. 일반적으로 문서를 편집하거나 인쇄하기 위해서는 문서를 여는 작업이 필요하므로 개봉이 압도적으로 많을 수밖에 없다. 05월 15일의 경우에도 [개봉]이 30회로 제일 많다.
그러므로 이와 같은 수치를 직접적으로 비교하기보다는 비교의 편의를 위해서 그 구간을 조정(rescaling)하는 작업이 필요하다. 즉 데이터를 전처리 하는 과정이 필요하다. 수집 데이터(111)의 전처리 과정에 대해서는 도 4 내지 도 5c를 통해서 살펴보도록 하자.
도 4는 본 발명의 일 실시 예에 따른 데이터 전처리 과정을 설명하기 위한 순서도이다.
도 4를 참고하면 각 사용자의 컴퓨터에 설치된 에이전트를 통해서 문서 사용 행위와 관련된 데이터를 수집한 후에(S1000), 수집한 데이터를 정규화 또는 표준화 하는 과정을 수행한다(S1100). 전처리 과정의 예로 정규화 또는 표준화를 예시하였지만, 정규화 또는 표준화 외에도 다양한 구간 조정 방법(rescaling)을 사용할 수 있다.
데이터의 구간을 조정한 후에, 노이즈를 제거하는 작업을 수행할 수 있다(S1200). 여기서 노이즈란 데이터의 구간을 조정한 후의 값이 기준치 이하인 값들을 말한다. 예를 들면, 구간 조정의 방법 중에 표준화를 이용할 경우, 모든 데이터의 분포가 0부터 1사이에 이루어지게 된다. 이때 0.00001 과 같은 극히 작은 값은 패턴과는 무관하므로 그 값을 0으로 수정해도 무방하다.
노이즈를 제거하는 과정은 반올림을 통해서 수행할 수 있다(S1300). 소수점 몇 번째 자리에서 반올림 할지는 데이터의 수치에 따라 다양하게 조정이 가능하다. 추후에 전처리 된 데이터를 이용하여 클러스터를 구성한다. 클러스터의 수가 클수록 반올림도 더 낮은 소수점에서 수행해야 한다. 그래야 각 클러스터간 구분이 보다 용이하기 때문이다. 도 5a 내지 5c에서는 소수점 셋째 자리에서 반올림을 수행하였다.
도 5a 내지 5c는 본 발명의 일 실시예에 따른 데이터 전처리 과정을 설명하기 위한 예시도이다.
도 5a를 참고하면 데이터의 구간을 재조정하는 방법으로 정규화의 수식이 예시되어 있다. 정규화(Normalization)의 수식을 참고하면 구간이 재조정된 값은 특정 사용자의 값(xuseri)에서 행위별 평균값(meanact)을 뺀 값을, 모든 사용자의 값(xuseri)에서 행위별 평균값(meanact)을 뺀 값을 제곱하여 더한 후 제곱근을 취한 값으로 나눈 값이다. 정규화를 수행하게 되면 수집한 데이터들은 0과 1사이의 값을 가지게 된다. 이처럼 정규화는 데이터의 분포를 0과 1사이의 값을 가지도록 변형하고자 할 때 사용할 수 있다.
예를 들면, [개봉]의 경우 사용자에 따라 수십회에서부터 수백회까지의 값을 가질 수 있고, [인쇄]의 경우에는 사용자에 따라 수회에서 수십회까지의 값을 가질 수 있다. 이때 두 사용 행위에 모두 정규화를 수행하면, [개봉] 행위도 0과 1사의 값을, [인쇄] 행위도 0과 1사의 값을 가지게 되어 비교가 보다 용이할 수 있다.
도 5a에 예시한 표준화 외에도 다양한 구간 조정 방법이 있다. 다음의 표는 전처리에 사용할 수 있는 다양한 방법을 간단히 정리한 것이다. 아래의 표에서 (x-mean)/sqrt(sum((x-mean)^2))의 수식이 도 5a에 도시된 수식이다.
명칭 | 수식 |
standardization | (x-mean)/ standard deviation |
positional standardization | (x-median)/ median absolute deviation |
unitization | (x-mean)/range |
unitization with zero minimum | (x-min)/range |
normalization in range <-1,1> | (x-mean)/max(abs(x-mean)) |
quotient transformation | x/ standard deviation |
quotient transformation | x/range |
quotient transformation | x/max |
quotient transformation | x/mean |
quotient transformation | x/sum |
quotient transformation | (x/sqrt(SSQ) |
normalization | (x-mean)/sqrt(sum((x-mean)^2)) |
normalization with zero being the central point | (x-midrange)/(range/2) |
도 5b를 참고하면 2주간의 과거 행위 카운터의 평균에 대해 정규화를 수행한 결과를 볼 수 있다. 예를 들어, 사용자 1의 경우 지난 2주간 평균 12.111회의 [개봉], 3.111회의 [복사], 1.002회의 [첨부], 0.000회의 [인쇄], 3.003회의 [이동]을 수행하였다. 사용자 2의 경우 지난 2주간 평균 41.010회의 [개봉], 5.013회의 [복사], 3.202회의 [첨부], 3.004회의 [인쇄], 0.001회의 [이동]을 수행하였다. 또한, 사용자 N의 경우 지난 2주간 평균 10.003회의 [개봉], 1.083회의 [복사], 4.073회의 [첨부], 0.002회의 [인쇄], 0.002회의 [이동]을 수행하였다.
이 값에 대해 도 5a에 예시한 정규화를 수행하게 되면, [개봉], [복사], [첨부], [인쇄], [이동]의 값들은 0과 1 사이의 값을 가지도록 조정된다. 이를 통해 각 사용자의 특정 행위의 횟수가 어느 정도의 위치에 있는 것인지 파악하기에 용이하다.
실제로 정규화 후의 값을 보면, 사용자 1은 0.027의 [개봉], 0.008의 [복사], 0.004의 [첨부], 0.011의 [인쇄], 0.090의 [이동]과 같은 값을 가진다. 마찬가지로 사용자 2는 0.050의 [개봉], 0.013의 [복사], 0.007의 [첨부], 0.034의 [인쇄], 0.001의 [이동]과 같은 값을 가진다. 마지막으로 사용자 N은 0.023의 [개봉], 0.003의 [복사], 0.013의 [첨부], 0.017의 [인쇄], 0.002의 [이동]과 같은 값을 가진다.
이를 해석해보면, 사용자 1은 0.027에 해당하는 만큼을 개봉하고, 사용자 2는 0.050에 해당하는 만큼을 개봉하고, 사용자 N은 0.023만큼을 개봉하였다. 이처럼 정규화를 통해 데이터의 구간을 0과 1 사이로 변형할 수 있다.
또한, 수집되는 문서의 사용 행위는 에이전트에 따라 그 종류와 수가 다를 수 있으며, 필요에 따라서는 복수의 에이전트에서 수집한 데이터를 종합하여 사용할 수 있다. 예를 들면 보안 관련 에이전트에서 수집한 사용 행위와 DRM 관련 에이전트에서 수집한 사용 행위를 모두 이용할 수도 있다.
다만, 수집된 사용 행위가 너무 많아지면 패턴을 분석할 때 성능 저하가 일어날 수 있으므로, 사용 행위 사이의 상관 관계를 분석하여 여러 개의 사용 행위를 하나의 사용 행위로 병합하여 패턴을 분석할 수도 있다.
도 5b에서는 과거 2주 간, 각 사용자별로 문서의 사용 행위의 평균 횟수에 대해서 정규화를 수행하였고, 도 5c에서는 당일 즉 2016년 05월 15일의 사용 행위의 횟수에 대해서 정규화를 수행하였다. 사용자 1의 30회라는 [개봉] 횟수는 정규화 이후에는 0.013이라는 값으로 변경되었다. 마찬가지로 사용자 2의 10회라는 [개봉] 횟수는 정규화 이후에는 0.002라는 값으로 변경되었다.
또한, 정규화 이후에는 과거 행위 카운터의 사용자 총 인원수와 당일 행위 카운터의 사용자 총 인원수는 차이가 있을 수 있다. 입사자나 퇴사자가 있을 수 있기 때문이다. 인원수의 변화가 있더라도 정규화를 수행하기 때문에 모든 데이터의 구간을 0과 1사이로 바꿀 수 있다.
도 6은 본 발명의 일 실시 예에 따른 패턴 생성 과정을 설명하기 위한 순서도이다.
도 6을 참고하면, 수집한 데이터를 전처리하고, 전처리한 데이터를 이용하여 클러스터를 구성한다(S2100). 클러스터링을 수행하기 위해서는 몇 개의 클러스터를 구성할지 결정해야 한다. 이에 생성할 클러스터의 수를 결정하는 방법에 대해서는 도 9 내지 도 10c에서 보다 자세히 살펴보기로 한다.
과거 행위 카운터를 학습 데이터로 클러스터를 구성한 후에는 각 클러스터의 특징을 이용하여 패턴을 분류한다(S2300). 이와 같은 비지도 학습을 이용하여 과거 행위 카운터를 바탕으로 패턴을 생성할 수 있다. 또한, 추가적으로 전문가(=시스템의 관리자)가 패턴을 추가할 수도 있다(S2500). 일반적인 경우에는 이와 같은 전문가의 패턴 추가가 필요치 않을 것이다. 다만, 기계 학습의 초기라서 과거 행위 카운터가 적은 경우에는 자동 분류된 패턴이 다양하지 않을 수 있기 때문에 전문가가 임의로 패턴을 추가할 수 있다.
전문가가 패턴을 추가할 때에는 필요로 하는 유출 탐지 패턴을 0과 1사의 값 중에서 선택해서 추가할 수 있다. 예를 들면 [복사]를 주로 하는 클러스터나, [인쇄]를 주로 하는 클러스터를 추가할 수 있다. 이를 위해서는 추가하는 클러스터는 다른 대부분 사용 행위의 값은 0의 값을 [복사]나 [인쇄]는 1에 가까운 값을 가지도록 설정하면 된다.
클러스터링 알고리즘을 이용하여 K 개의 패턴이 자동으로 생성되고, 전문가의 패턴 추가로 인해 L 개의 패턴이 추가되면, 최종적으로는 K+L 개의 패턴이 생성된다(S2700). 이렇게 생성된 패턴을 이용하여 특정 사용자의 과거 행위 카운터와 당일 행위 카운터의 패턴을 결정한다(S2900). 이를 통해 과거 행위 카운터의 패턴과 당일 행위 카운터의 패턴을 비교할 수 있다.
도 7a 내지 도 7d는 본 발명의 일 실시 예에 따른 클러스터의 패턴 생성 과정을 설명하기 위한 예시도이다.
도 7a를 참고하면, 사용자 1부터 사용자 N까지 N명의 정규화를 거친 과거 행위 카운터가 예시되어 있다. 정규화를 거쳤기 때문에 0과 1사이의 값을 가지는 것을 볼 수 있다. 도 7a의 예는 정규화만 수행하고 아직 노이즈를 제거하지는 않은 데이터이다. 노이즈를 소수점 셋째 자리에서 반올림을 수행하는 방식을 통해 진행할 수 있다.
예를 들면, 도 7a에서 사용자 1의 [첨부]는 정규화 이후 0.004의 값을 가진다. 그러나 이 값은 매우 작은 값으로 소수점 셋째 자리에서 반올림을 수행하면 0의 값을 가지게 된다. 즉, 이렇게 작은 값들은 아예 0으로 근사하여, 패턴을 생성하기 위한 클러스터를 구성할 때 연산 속도를 더욱 높일 수 있다.
도 7b를 참고하면 사용자 1부터 N까지의 과거 행위 카운터를 이용하여 K개의 클러스터를 구성한 것을 볼 수 있다. 이때 사용할 수 있는 클러스터링 기법은 이미 알려진 K-Means, K-Medoids, Hierarchical Cluster, DBSCAN 등을 사용할 수 있다.
각 기법에 대해서 간단히 소개하자면, K-Means 알고리즘(K-means algorithm)은 주어진 데이터를 K개의 클러스터로 묶는 알고리즘으로, 각 클러스터와 거리 차이의 분산을 최소화하는 방식으로 동작한다. K-Means 알고리즘은 대표적인 비지도 학습의 일종이다.
K-Means 알고리즘은 평균값을 구하는 연산을 수행하기 때문에 이상치에 민감하게 반응한다. 이와 같은 단점을 해결하기 위해 등장한 것이 K-Medoids 알고리즘이다. K-Medoids 알고리즘은 평균을 구하는 대신 군집을 대표하는 실제 객체를 선택한다. 그리고 나머지 객체들은 가장 유사한 대표 객체들로 군집화 된다.
다음으로, DBSCAN 알고리즘(Density-based spatial clustering of applications with noise)은 K-Means 알고리즘처럼 데이터의 분포 즉 평균과의 거리가 얼마나 되는지를 이용한 클러스터링 방법이 아니라, 데이터의 밀도를 이용한 클러스터링 기법이다.
도 7b를 참고하면 0에 가까운 값은 0으로 변경하고 소수점 셋째 자리에서 반올림하는 전처리 과정을 수행하였기 때문에, 1부터 K개까지 생성된 클러스터의 각 사용 행위의 값이 소수점 둘째자리까지 표시된 것을 볼 수 있다. 자동으로 생성된 클러스터이기 때문에 Auto에서 A를 접두어로 붙여서, A-1부터 A-K까지의 클러스터가 생성된 것을 볼 수 있다.
도 7b와 같이 K개의 클러스터를 구성한 후에는 각 클러스터의 특징을 찾아야 한다. 클러스터의 특징을 찾는 방법에 대해서는 도 10a 내지 도 10c에서 더욱 자세히 설명하기로 한다.
도 7b를 참고하면 A-1 클러스터의 경우에는 [개봉]의 값이 0.80의 값을 가진다. 그 외에 [복사]는 0.10, [첨부]는 0.00, [인쇄]는 0.10, [이동]은 0.20으로 A-1 클러스터에 속한 사용자들을 다른 문서 사용 행위에 비해 상대적으로 [개봉]을 많이 수행한 사용자들만 모인 것을 볼 수 있다. 즉 [개봉]이 A-1 클러스터를 대표하는 대표 행위라고 볼 수 있다. 이 경우 A-1 클러스터의 패턴은 [개봉]이 된다.
마찬가지로 A-2 클러스터를 확인해보면 [개봉]은 0.01, [복사]는 0.01, [첨부]는 0.10, [인쇄]는 0.10, [이동]은 0.20의 값을 가진다. A-2 클러스터에서는 [첨부], [인쇄], [이동]의 값이 다른 사용 행위에 비해 큰 값을 가진다. 즉 [첨부], [인쇄], [이동]이 A-2 클러스터를 대표하는 대표 행위라고 볼 수 있다. 이 경우 A-2 클러스터의 패턴은 [첨부], [인쇄, [이동]이 된다.
클러스터의 패턴을 결정하는 과정은 다음과 같이 진행된다. 우선 제1 클러스터에 속한 각 사용자들의 문서 사용 행위의 횟수의 평균을 구하여 제1 클러스터를 대표하는 값으로 정한다. 다음으로 제1 클러스터를 대표하는 각 문서 사용 행위의 평균값의 평균과 표준 편차를 이용하여 제1 클러스터의 임계치를 설정한다. 마지막으로 임계치를 초과하는 문서 사용 행위를 제1 클러스터의 특징을 드러내는 행위로 선별할 수 있다.
예를 들어 총 5명의 사용자의 데이터가 있다고 가정해보자. 해당 사용자의 데이터는 아래와 같고, 이 5명의 사용자를 하나의 클러스터 X로 묶었다고 가정해보자.
사용자 | 개봉 | 복사 | 첨부 | 인쇄 | 이동 |
User1 | 0.027 | 0.008 | 0.004 | 0.011 | 0.000 |
User2 | 0.010 | 0.013 | 0.002 | 0.004 | 0.001 |
User3 | 0.002 | 0.001 | 0.001 | 0.004 | 0.011 |
User4 | 0.013 | 0.007 | 0.033 | 0.147 | 0.027 |
User5 | 0.003 | 0.083 | 0.083 | 0.007 | 0.002 |
평균 | 0.011 | 0.022 | 0.024 | 0.034 | 0.008 |
이 경우 X 클러스터를 대표하는 (개봉, 복사, 첨부, 인쇄, 이동)의 값은 사용자 1부터 5까지의 과거 행위 카운터를 평균한 값인 (0.011, 0.022, 0.024, 0.034, 0.008)이 된다. 다음으로 (개봉, 복사, 첨부, 인쇄, 이동)의 문서 사용 행위 중에서 X 클러스터를 대표하는 행위를 찾기 위해서는 X 클러스터를 대표하는 값 0.011, 0.022, 0.024, 0.034, 0.008의 평균과 표준편차를 구해야 한다.
X 클러스터를 대표하는 값 0.011, 0.022, 0.024, 0.034, 0.008의 평균과 표준편차를 구하면, 평균은 0.020이고 표준편차는 0.010의 값을 가진다. 이렇게 구한 평균과 표준편차를 이용해서 임계치를 정할 수 있다. 구체적인 수식을 살펴보면, 임계치를 정하는 방법은 평균 + 표준편차*n의 수식을 통해서 정할 수 있다.
일반적으로 문서의 사용 행위를 카운트한 횟수와 같은 값은 정규 분포의 형태로 나타나게 된다. 정규 분포에서 평균 ± 표준편차*1의 범위에는 전체 데이터의 68.26%가 포함된다. 또한, 평균 ± 표준편차*2의 범위에는 전체 데이터의 95.46%가 포함된다. 마지막으로, 평균 ± 표준편차*3의 범위에는 전체 데이터의 99.72%가 포함된다.
그러므로 임계치를 평균 + 표준편차*1의 값으로 지정하게 되면 이를 초과하는 값은 66.26%에 포함되지 않는 값들이다. 또는 임계치를 평균 + 표준편차*2의 값으로 지정하게 되면 이를 초과하는 값은 95.46%에 포함되지 않는 값들이다. 또는 임계치를 평균 + 표준편차*3의 값으로 지정하게 되면 이를 초과하는 값은 99.72%에 포함되지 않는 값들이다.
이처럼 평균 + 표준편차*n의 수식을 통해 임계치를 정할 수 있다. 여기서 n은 적절한 값으로 선택하면 된다. 일반적으로는 n은 2를 선택한다. n의 값을 2로 선택하는 경우 그 값을 초과하는 사용 행위는 95%에 포함되지 않는, 즉 5%에 해당하는 특이값(outlier)이므로, 해당 클러스터를 대표하는 사용 행위라고 볼 수 있다. 즉 해당 클러스터의 패턴이라고 볼 수 있다.
앞선 예에서 n을 1로 설정하게 되면 임계치는 평균 0.020 + 표준편차 0.010 = 0.030의 값을 가지게 된다. X 클러스터를 대표하는 (개봉, 복사, 첨부, 인쇄, 이동)의 값은 (0.011, 0.022, 0.024, 0.034, 0.008)이므로, 이중에서 0.030을 초과하는 [인쇄]의 0.034가 X 클러스터를 대표하는 사용 행위가 된다.
만약 X 클러스터에서 [인쇄] 외에 [권한 변경]과 같은 다른 사용 행위의 값이 0.030을 초과한다면 X 클러스터의 패턴은 [인쇄]와 [권한 변경]이 될 수 있다. 클러스터의 패턴은 여러 개의 사용 행위가 될 수 있다.
물론 n을 2로 설정하게 되면 임계치는 0.040이 되어서 X 클러스터의 (개봉, 복사, 첨부, 인쇄, 이동)의 값 중에서 0.40을 초과하는 값이 없으므로 X 클러스터의 특징이라 볼 수 있는 사용 행위는 없게 된다. 이러한 경우 X 클러스터는 특징이 없는 클러스터로 분류한다. 즉 X 클러스터를 패턴이 없는 클러스터로 분류한다.
도 7b에 예시된 A-1 클러스터부터 A-K 클러스터는 이와 같은 과정을 거쳐서 각 클러스터를 대표하는 사용 행위를 선정하였다. A-1 클러스터는 패턴이 [개봉]으로 A-2는 패턴이 [첨부], [인쇄], [이동]으로, A-K 클러스터는 [개봉], [첨부]가 해당 클러스터의 주된 문서 사용 행위로서 해당 클러스터의 패턴으로 선정되었다.
이에 비해 A-3 클러스터의 경우 [개봉]은 0.00, [복사]는 0.01, [첨부]는 0.01, [인쇄]는 0.00, [이동]은 0.00으로 대부분 사용 행위의 값이 비슷한 것을 볼 수 있다. A-3 클러스터는 대부분 사용 행위의 값이 비슷한, 즉 특정 사용 행위에 치우치지 않은 클러스터로 패턴이 없는 클러스터이다. 이 경우 A-3 클러스터는 패턴이 없는 일반 클러스터로 분류할 수 있다.
다음으로 도 7c를 참고하면 전문가가 임의로 추가한 패턴의 형태를 볼 수 있다. 클러스터를 구성하기 위한 사용자가 충분히 많으면 다양한 클러스터가 구성될 수 있다. 즉 다양한 패턴이 등장할 수 있다. 그러나 사용자가 적은 경우나, 훈련 데이터가 충분치 않은 경우에는 일부 패턴의 클러스터만 등장할 수 있다. 이러한 경우 시스템의 관리자가 패턴을 추가할 수 있다. 다만, 관리자가 패턴을 추가하는 과정은 어디까지나 선택적인 과정이다.
도 7c를 참고하면, 관리자가 추가한 클러스터는 Custom의 C를 접두어로 해서 C-1부터 C-L가지 L개의 클러스터가 추가되었다. C-1 클러스터의 경우 [첨부]의 값은 0.90, [인쇄]의 값은 0.80으로, C-1 클러스터는 [첨부]와 [인쇄]를 주로 사용한 사용자들이 모인 클러스터이다. 마찬가지로, C-L 클러스터의 경우 [복사]의 값은 0.80, [첨부]의 값은 0.80, [이동]의 값은 0.80으로 C-L 클러스터는 [복사], [첨부], [이동]을 주로 사용한 사용자들이 모인 클러스터이다.
도 7d는 도 7b의 자동으로 분류된 클러스터와 도 7c의 관리자가 추가한 클러스터를 함께 표시한 도면이다. 이렇게 각 클러스터의 패턴을 결정한 후에는 패턴이 없는 클러스터, 즉 일반 클러스터로 분류한 클러스터 외에 나머지 클러스터들이 패턴을 가지는 클러스터로서 추후에 사용자 프로파일을 생성하는데 이용될 수 있다.
도 8은 본 발명의 일 실시 예에서 사용될 수 있는 클러스터의 패턴을 그래프로 도시한 것이다.
도 8을 참고하면, 1번부터 12번까지 총 12개의 클러스터가 도시된 것을 볼 수 있다. 각 클러스터에는 [개봉], [작성], [첨부], [수정], [삭제], [이동], [복사], [인쇄], [저장], [권한 변경]의 총 10개의 문서 사용 행위의 값들이 x축에 순서대로 도시되어 있다.
각 클러스터는 도 5a의 수식을 이용한 정규화된 데이터를 이용하여 구성되었기 때문에, 도 8의 y축의 값은 0부터 1.0의 값을 가진다. 그리고 각 사용 행위 별로 바차트 (Bar Chart)의 형태로 그래프가 표시되어 있다. 이는 해당 클러스터에 속한 사용자들의 문서 사용 행위의 값의 범위(range)를 표시한 것이며, 바차트의 하한과 상한 사이에 그려진 가로줄은 하한과 상한 사이에 분포한 데이터들의 평균값이다.
도 8을 참고하면, 클러스터 1은 끝에서 세 번째 사용 행위인 [인쇄]를 패턴으로 가지는 클러스터이다. 다음으로 클러스터 2는 특정한 패턴이 없는 클러스터이다. 다음으로 클러스터 3은 두 번째 사용 행위인 [작성]을 패턴으로 가지는 클러스터 이며, 클러스터 4는 세번째 사용 행위인 [첨부]를 패턴으로 가지는 클러스터이다.
이처럼 도 8에 도시된 각 클러스터의 패턴을 정리해보면, 클러스터 5는 패턴이 없는 클러스터이고, 클러스터 6은 [복사]를 패턴으로 가지는 클러스터이고, 클러스터 7은 [삭제]를 패턴으로 가지는 클러스터이고, 클러스터 8 패턴이 없는 클러스터이다.
마찬가지로 클러스터 9는 [저장]과 [인쇄]를 패턴으로 가지는 클러스터이고, 클러스터 10은 [이동]을 패턴으로 가지는 클러스터이며, 클러스터 11은 패턴이 없는 클러스터이고, 클러스터 12는 [수정]을 패턴으로 가지는 클러스터이다.
도 9는 본 발명의 일 실시 예에 따른 클러스터의 수를 결정하는 과정을 설명하기 위한 순서도이다.
도 7a 내지 도 7d를 통해서 설명하였던 클러스터의 패턴을 지정하는 과정을 순서도로 나타내면 도 9와 같다. 도 9을 참고하면, 클러스터를 구성한 후에 클러스터의 중심 벡터(center vector)를 추출한다(S2110). 클러스터의 중심 벡터란 앞서 설명한 클러스터에 속한 각 사용자들의 문서 사용 행위의 값들의 평균값을 말한다. 즉 해당 클러스터를 대표하는 값을 말한다.
앞서 표 2를 이용한 예에서 X 클러스터를 대표하는 (개봉, 복사, 첨부, 인쇄, 이동)의 값은 (0.011, 0.022, 0.024, 0.034, 0.008)인 것을 평균을 이용해서 구했었다. 문서 사용 행위가 하나의 차원이라면 X 클러스터는 (개봉, 복사, 첨부, 인쇄, 이동)의 5개의 차원을 가지는 데이터이며, 그때의 중심 벡터는 (0.011, 0.022, 0.024, 0.034, 0.008)이다.
다음으로 각 클러스터별로 사용 행위(feature)의 평균과 표준편차를 연산한다(S2130). 이는 클러스터의 임계치를 정하기 위한 과정이다. 앞에서 예로 들 X 클러스터에서는 다섯 개의 사용 행위 0.011, 0.022, 0.024, 0.034, 0.008의 평균 0.020과 표준편차 0.010을 구하는 과정이 이에 해당한다.
클러스터의 사용 행위의 평균과 표준편차를 이용하여 임계치를 설정한다(S2150). 임계치는 평균 + 표준편차*n의 형태로 설정할 수 있는데, 일반적으로 n의 값으로 2를 많이 사용한다.
이렇게 임계치를 설정한 후에 클러스터의 각 사용 행위의 값과 임계치의 값을 비교한다(S2170). 만약 클러스터의 특정 사용 행위의 값이 임계치를 초과하는 경우에는 해당 클러스터의 특징을 나타내는 사용 행위로 정할 수 있다. 즉 클러스터의 패턴으로 지정할 수 있다(S2190).
만약 클러스터의 모든 사용 행위의 값이 임계치보다 작을 때는 해당 클러스터는 패턴이 없는 클러스터로 분류한다. 패턴이 없는 클러스터는 일반 클러스터라고 부르기로 한다. 모든 클러스터에 대해 각각 클러스터 별로 임계치를 설정하고, 해당 클러스터에서 두드러진 사용 행위를 선별하여 클러스터의 패턴으로 지정한다.
이때, S2100부터 S2300 사이의 과정들은 반복적으로 수행될 수 있는 과정이다. 즉 클러스터의 패턴을 지정하는 과정을 반복적으로 수행하여 클러스터의 수를 결정할 수 있다. 이에 대해서는 도 10a 내지 10c에서 보다 자세히 설명하기로 한다.
도 10a 내지 도 10c는 본 발명의 일 실시 예에 따른 클러스터의 수를 결정하는 과정을 설명하기 위한 예시도이다.
도 10a를 참고하면, 클러스터의 임계치를 설정하고, 임계치를 초과하는 사용 행위를 해당 클러스터의 패턴으로 지정하는 과정을 볼 수 있다. 도 10a의 예에서는 두 번째 사용 행위인 [작성]이 임계치를 초과하여, 해당 클러스터의 패턴으로 지정되었다.
본 발명은 문서의 사용 행위를 분석하여 내부 정보 유출 행위를 사전에 감지하기 위한 발명이므로, 대개의 경우 특정 행위가 갑자기 증가하는 상황이 내부 정보 유출 행위에 해당하기 때문에 평균값 + 표준편차*2의 값을 임계값으로 설정하고 이를 초과하는 사용 행위를 클러스터의 패턴으로 지정하였다.
그러나 경우에 따라서는, 여러 행위를 모니터링 하여 이상을 감지하고자 할 때, 평균값 - 표준편차*2의 값을 하한 임계값으로 설정하고 이를 미만으로 값을 가지는 경우에 해당 행위를 클러스터의 패턴으로 지정하는 것도 가능하다.
즉, 임계값은 평균값 + 표준편차*n의 상한 임계값 외에도 평균값 - 표준편차*n의 하한 임계값을 정하여, 상한 임계값을 초과하거나 하한 임계값 미만인 경우를 클러스터의 패턴으로 지정할 수 있다. 이렇게 클러스터의 패턴이 지정된 경우는 패턴 클러스터로, 클러스터의 패턴이 지정되지 않은 경우는 일반 클러스터로 정의한다.
즉, 여러 개의 사용 행위 중에서 하나의 사용 행위라도 임계치를 초과하여 패턴을 가지는 클러스터는 패턴 클러스터로, 패턴이 없는 클러스터는 일반 클러스터로 정의하고, 이 둘 사이의 비율을 구한다. 도 10b을 참고하면, 전체 클러스터의 수에서 일반 클러스터의 수를 비율(Ratio)의 값으로 구하는 수식을 볼 수 있다. 이 비율(Ratio)의 값을 이용해서 클러스터의 개수를 결정할 수 있다.
일반적으로 클러스터링을 수행하기 위해서는 몇 개의 클러스터로 나눌지를 결정하여야 한다. 대표적인 클러스터링 알고리즘인 K-Means 알고리즘에서도 K를 파라미터로 사용자가 입력하여야 한다. 물론 K의 값을 결정하기 위한 별도의 알고리즘도 있다.
예를 들면, Calinski-Harabasz index는 클러스터 내의 분산 WSS(total within sum of square)와 클러스터 간의 분산 BSS(between sum of square)를 이용하여 클러스터의 개수를 선택하는 방법이다. 이러한 방법에 의해서 클러스터의 개수 K를 결정할 수도 있으나, 본 발명에서는 패턴을 자동으로 생성/추출하는 것이 목적이므로, 데이터의 분포를 최대화하기 위한 종래의 방법을 그대로 사용하는 것은 적절하지 않다.
이에 본 발명에서는 패턴을 자동으로 생성/추출하는 것에 특화된 클러스터의 개수 결정 방법을 제안한다. 이를 위해서 본 발명에서는 도 10b의 수식에서 구한 비율의 값을 사용한다. K의 값을 변경해가면서 이 비율의 값을 그래프로 그리면 도 10c와 같다.
도 10c를 참고하면, K=1에서부터 K=50까지 점점 증가시켜 가면서 클러스터를 구성하고, 클러스터의 패턴을 지정하고, 일반 클러스터와 패턴 클러스터의 비율(Ratio)을 구해서 그래프로 도시한 것을 볼 수 있다.
도 10c에서 볼 수 있듯이 K의 값이 작을 때는 클러스터에 다양한 성향의 데이터들이 포함되어서 클러스터의 패턴이 두드러지게 나타나지 않을 수 있다. 그러나 점점 K의 값을 키우면 특정한 성향을 가진 데이터들만 묶여서 클러스터의 패턴이 나타나게 된다. 즉 일반 클러스터의 수에 비해서 패턴 클러스터의 수가 증가하게 된다.
이로 인해 K의 값이 점점 커질수록 도 10c와 같이 1에서 점점 0의 값을 향해서 수렴(saturation)하는 형태의 그래프가 나타나게 된다. 이 때 하나의 클러스터를 추가했을 때 이전보다 훨씬 더 나은 결과를 나타내지 않는다면, 그 이전의 K의 값을 클러스터의 개수로 결정할 수 있다.
즉, 도 10c의 그래프에서 기울기가 완만해지는 지점을 Elbow Point라 하며, 이때의 K 값을 적절한 클러스터의 수로 판정하는 것이다. 도 10c의 예에서는 K=20일 때의 일반 클러스터와 패턴 클러스터의 비율의 기울기가 완만해지는 것을 볼 수 있다.
본 발명에서는 이와 같이 패턴이 나타나는 클러스터와 패턴이 나타나지 않는 클러스터의 수의 비율을 이용해서 클러스터의 개수를 결정할 수 있다. 이처럼 클러스터의 개수를 결정하기 위해서는 K=1부터 점차 그 값을 증가시켜가면서 도 9의 S2100 내지 S2300 사이의 과정을 반복해서 수행해야 한다. 그 결과로 도 10c와 같은 그래프를 얻을 수 있고 최적의 K를 결정할 수 있다.
도 11은 본 발명의 일 실시 예에 따른 사용자 프로파일을 생성하는 과정을 설명하기 위한 순서도이다.
도 11을 참고하면, 자동으로 분류된 K개의 클러스터 중에서 패턴을 가진 클러스터와 전문가가 추가한 L개의 패턴을 이용하여 사용자의 패턴을 결정하는 과정을 볼 수 있다. 즉 사용자의 프로파일(profile)을 생성하는 과정을 볼 수 있다.
앞서 사용자의 컴퓨터에서 에이전트를 통해서 문서의 사용 행위를 일자별로 수집하여 당일의 데이터과 과거 일정 기간의 데이터를 데이터 수집부(110)에서 생성하는 것을 살펴보았다. 이제 사용자의 패턴 변화를 감지하기 위해서, 전처리된 과거 2주간의 데이터와 클러스터와의 유사도를 계산한다(S3010). 과거 2주간의 데이터가 특정 클러스터와 가깝다면, 과거 2주간의 데이터는 해당 클러스터의 패턴에 속하게 된다(S3100).
마찬가지로 전처리된 당일의 데이터도 클러스터와의 유사도를 계산한다(S3060). 이를 통해 당일의 데이터가 특정 클러스터와 가깝다면, 당일의 데이터는 해당 클러스터의 패턴에 속하게 된다(S3600). 다음으로 특정 사용자의 과거 행위 카운터의 패턴과 당일 행위 카운터의 패턴을 비교해보면 특정 사용자의 문서 사용 행위에 변화가 있었는지를 감지할 수 있다(S4000).
특정 데이터와 클러스터가 가까운지 여부를 판단할 때는, 다시 말해 특정 데이터와 클러스터의 유사도를 계산할 때는 다양한 방법을 활용할 수 있다. 공간상에서 거리를 측정하는 유클리드 거리 측정법(Euclidean Distance Measure), 두 점의 좌표 간의 절대값의 차이를 구하는 맨하탄 거리 측정법(Manhattan Distance Measure), 두 점 사이의 거리 척도를 구하는 Minkowski 거리 측정법(Minkowski Distance Measure), 두 점의 원점과의 각도를 비교하는 코사인 거리 측정법(Cosine Distance Measure) 등을 이용할 수 있다.
도 12은 본 발명의 일 실시 예에 따른 사용자 프로파일을 생성하는 과정을 설명하기 위한 예시도이다.
도 12를 참고하면 우측에 12개의 클러스터가 도시되어 있다. 다음으로 좌측에는 사용자의 당일 행위 카운터와 과거 2주간의 데이터가 도시되어 있다. 각각을 우측의 클러스터와 비교해서 과거 행위 카운터의 패턴과 당일 행위 카운터의 패턴을 구한 후 이를 비교하여 내부 정보 유출 행위가 일어나고 있는지 감지할 수 있다.
정보 유출 의심자를 판별하는 구체적인 방법을 살펴보면, 과거 프로파일과 당일 프로파일을 비교하여 개별 사용자의 문서 사용 행위가 변화하였다면 유출 의심자의 후보군으로 지정할 수 있다. 특히, 보안 위험이 낮은 프로파일에서 보안 위험이 높은 프로파일로 변한 사용자는 유출 의심자에 해당할 확률이 더욱 높아지게 된다.
보안 위험의 정도는 수집된 행위에 가중치를 두어 프로파일 별로, 다시 말해 클러스터의 패턴 별로 정의할 수 있다. 통상적으로 [읽기], [작성] 등은 위험도가 낮은 사용 행위이며, [인쇄], [첨부], [권한 변경], [일반문서로 저장] 등은 고위험 행위로 정의할 수 있다.
예를 들어 과거 행위 카운터는 [읽기] 패턴의 사용자였는데, 당일 행위 카운터는 [인쇄] 패턴으로 변하였다면, 해당 사용자의 문서 사용 행위의 패턴이 저위험군에서 고위험군으로 변하였으므로 의심자로 판별할 수 있다.
특히 클러스터는 복수의 행위의 조합을 패턴으로 가질 수 있으므로 각 행위 별로 위험도 가중치를 두어 [인쇄] 하나만을 패턴으로 가진 경우보다 [인쇄]와 [첨부]를 패턴으로 가진 클러스터를 더 높은 위험도를 가진 클러스터로 분류할 수 있다.
또, 정보 유출 의심자를 판단하는 기준으로 특정 집단(부서 등)의 행위 프로파일도 이용할 수 있다. 대부분 부서마다 업무의 특색이 있고, 부서마다 일정한 경향을 보이게 마련이다. 그러므로 특정 부서의 소속 구성원들은 대부분 [읽기]의 패턴에 해당되다가, 구성원들이 모두 [인쇄]의 패턴으로 변하였다면, 해당 부서의 업무가 변경된 것으로 보고, 구성원 중 1인이 [읽기]에서 [인쇄]로 패턴이 변경되더라도 유출 의심자로 판단하지 않을 수도 있다.
지금까지 도 1 내지 도 12를 통해서 살펴본 본 발명을 이용하면, 비지도 학습을 이용하여 이상 행위를 사전에 감지할 수 있다. 기존에는 모든 사용자의 데이터를 분석해야 했기 때문에 특정 사용자의 패턴이 변하는 경위를 쉽게 판별하기 어려웠으나, 본 발명을 이용하면 패턴이 유의미하게 변한 사용자만 파악할 수 있기 때문에 종보 유출 모니터링 대상자를 특정 인원으로 한정할 수 있다. 이처럼, 모니터링 대상자를 특정 인원으로 한정하면 모니터링 시간을 효율적으로 단축할 수 있다. 추가로, 모니터링 대상자로 한정된 사용자는 파일 건수, 사용자 출현 빈도수에 따라 우선 순위를 두어, 고위험도 사용자나 저위험도 사용자로 판별할 수 있다.
또한 "개인정보처리시스템" 보유 회사는 개인정보보호법 준수를 위해 "비정상 행위를 탐지"하기 위한 점검 활동이 필수적이다. 이와 관련된 솔루션을 개발할 때 본 발명의 이상 감지 방법이 적용될 수 있다. 구체적으로 살펴보면, "개인정보 보호법" 관련 행자부의 "개인정보의 안정성 확보조치 기준"에 따르면 개인정보 처리 시 안전성을 확보하기 위한 세부 기준이 공개되어 있다. 그 중 "7. 접속기록의 보관 및 점검"을 참고하면, 본 발명에서 목적으로 하는 비인가된 개인정보의 처리, 대량의 개인 정보의 조회, 정정, 다운로드, 삭제 등의 비정상 행위를 탐지하여 적절한 대응조치를 취할 것을 권고하고 있다. 따라서 기업의 정보 보호를 위한 솔루션으로 본 발명의 이상 감지 방법을 활용할 수 있다.
도 13은 본 발명의 일 실시 예에 따른 행위 분석 기반 이상 감지 장치의 하드웨어 구성도이다.
도 13를 참고하면 본 발명에서 제안하는 유사도 분석 기반 이음 동의 항목 관리 장치(10)는 하나 이상의 프로세서(510), 메모리(520), 스토리지(560) 및 인터페이스(570)을 포함할 수 있다. 프로세서(510), 메모리(520), 스토리지(560) 및 인터페이스(570)는 시스템 버스(550)를 통하여 데이터를 송수신한다.
프로세서(510)는 메모리(520)에 로드(load)된 컴퓨터 프로그램을 실행하고, 메모리(520)는 상기 컴퓨터 프로그램을 스토리지(560)에서 로드(load) 한다. 상기 컴퓨터 프로그램은, 사용 행위 수집 오퍼레이션(521), 패턴 분석 오퍼레이션(523) 및 이상 감지 오퍼레이션(535)을 포함할 수 있다.
사용 행위 수집 오퍼레이션(521)은 인터페이스(570)를 통해 사용자 컴퓨터(101a, 101b, 101c)에 설치된 에이전트로부터 문서의 사용 행위와 관련된 데이터를 수집한다. 수집된 데이터는 스토리지(560)에 사용 행위(561)로 저장된다.
사용 행위는 [개봉], [작성], [첨부], [수정], [삭제], [이동], [복사], [인쇄], [저장], [권한 변경] 등과 같은 다양한 사용 행위를 말하며, 사용 행위와 관련된 데이터는 각 사용자별로 일자별로 사용 행위의 수를 카운트한 값을 말한다.
또한 사용 행위 수집 오퍼레이션(521)은 사용자의 일자별 데이터를 취합하여 일정 기간 동안의 사용 행위의 통계 데이터를 생성할 수 있다. 예를 들면, 최근 2주간 사용 행위의 평균값을 [개봉], [작성], [첨부], [수정], [삭제], [이동], [복사], [인쇄], [저장], [권한 변경] 등과 같은 각 행위별로 구할 수 있다. 이 데이터는 과거 행위 카운터로 패턴을 생성할 때 이용된다.
패턴 분석 오퍼레이션(523)이 스토리지(560)에 저장된 사용 행위(561)의 당일 행위 카운터와 과거 행위 카운터를 시스템 버스(550)를 통해 메모리(520)로 읽어 들인다. 그 후, 과거 행위 카운터를 이용하여 클러스터를 구성한다. 클러스터를 구성한 후, 각 클러스터에 속한 사용자의 사용 행위의 값의 평균을 구해서 클러스터를 나타내는 중심 벡터 값으로 정한다.
클러스터의 중심 벡터 값을 구한 후에는, 각 클러스터별로 사용 행위의 평균과 표준편차를 구한다. 평균과 표준편차를 이용하여 클러스터별로 임계치를 설정한다. 임계치를 초과하는 사용 행위는 해당 클러스터의 패턴이 된다. 임계치를 초과하는 사용 행위가 하나도 없는 클러스터의 경우에는 패턴이 없는 클러스터로서 일반 클러스터로 분류한다.
패턴 분석 오퍼레이션(523)은 패턴이 없는 일반 클러스터와 하나의 사용 행위라도 임계값을 초과하여 패턴이 지정된 클러스터의 비율을 이용하여 적절한 클러스터의 개수를 결정한다. 또한, 패턴 분석 오퍼레이션(523)은 필요에 따라 인터페이스(570)를 통해 전문가가 지정한 패턴을 입력 받을 수도 있다.
패턴 분석 오퍼레이션은(523)은 적절한 K를 결정한 후에는 사용자의 과거 행위 카운터를 클러스터를 구성하여 패턴을 지정하고 시스템 버스(550)를 통해 스토리지(560)의 클러스터(563)로 저장한다. 또한, 클러스터에서 자동으로 추출된 패턴과 전문가가 입력한 패턴을 스토리지(550)의 패턴(567)로 저장한다.
이상 감지 오퍼레이션(525)은 스토리지(560)의 사용 행위(561)의 과거 행위 카운터와 당일 행위 카운터를 로드하고, 패턴(567)과 비교한다. 즉 과거 행위 카운터의 패턴과 당일 행위 카운터의 패턴을 결정하고 이를 비교한다. 만약 사용자의 패턴이 변경되었다면, 이를 기준으로 내부 정보 유출 의심자를 감지한다.
이상 감지 오퍼레이션(525)은 내부 정보 유출 의심자를 판단하는 과정에서 사용 행위별로 위험도의 가중치를 할당하여 특정 사용 행위를 패턴으로 가지는 클러스터의 위험도를 연산할 수 있고, 사용자의 패턴이 변한 경우, 위험도의 변화도 함께 고려하여 내부 정보 유출 의심자인기 판단할 수 있다.
또한, 이상 감지 오퍼레이션(525)은 부서 정보를 추가로 더 고려하여 내부 정보 유출 의심자인지 판단할 수 있다. 만약 특정 1인이 저위험군 패턴에서 고위험군 패턴으로 패턴이 변하였다면 내부 정보 유출 의심자로 판단될 수도 있으나, 특정 부서의 소속 구성원 전부가 동일하게 패턴이 변경되었다면, 부서의 업무가 바뀐 것으로 보고 내부 정보 유출 의심자로 판단하지 않을 수도 있다.
도 13의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
Claims (16)
- 이상 감지 장치가, 복수의 사용자에 대한 과거 행위 카운터들로 각각 구성된 K개의 클러스터를 생성하는 단계;
상기 이상 감지 장치가, 상기 K개의 클러스터에 속한 각각의 클러스터 별로 각 클러스터에 속한 과거 행위 카운터들의 대표 행위를 가리키는 클러스터 패턴을 지정하는 단계;
상기 이상 감지 장치가, 상기 복수의 사용자 중 제1 사용자에 대한 과거 행위 카운터와 상기 K개의 클러스터에 속한 각각의 클러스터로부터 상기 제1 사용자의 과거 행위 패턴을 결정하는 단계;
상기 이상 감지 장치가, 상기 제1 사용자에 대한 현재 행위 카운터와 상기 K개의 클러스터에 속한 각각의 클러스터로부터 상기 제1 사용자의 현재 행위 패턴을 결정하는 단계;
상기 이상 감지 장치가, 상기 제1 사용자의 과거 행위 패턴과 현재 행위 패턴을 비교하여 상기 제1 사용자의 이상 행위를 감지하는 단계를 포함하되,
상기 클러스터 패턴을 지정하는 단계는,
상기 K개의 클러스터에 속한 각각의 클러스터 별로, 각 클러스터에 속한 과거 행위 카운터들의 값을 이용하여, 각 클러스터의 중심 벡터(center vector)를 추출하는 단계;
상기 K개의 클러스터에 속한 각각의 클러스터 별로, 상기 중심 벡터의 좌표값의 평균과 표준편차를 연산하는 단계;
상기 K개의 클러스터에 속한 각각의 클러스터 별로, 상기 평균과 표준편차를 이용하여, 각 클러스터의 임계치(threshold)를 설정하는 단계; 및
상기 K개의 클러스터에 속한 각각의 클러스터 별로, 상기 중심 벡터의 좌표값 중에서 상기 임계치를 초과하는 좌표에 대응되는 행위를 각 클러스터의 클러스터 패턴으로 선정하는 단계를 포함하는,
행위 분석 기반 이상 감지 방법. - 제1항에 있어서,
상기 과거 행위 카운터는 특정 사용자가 과거 일정 기간 동안 복수의 행위를 시행한 횟수를 각 행위 별로 카운트(count)한 결과인,
행위 분석 기반 이상 감지 방법. - 제1항에 있어서,
상기 현재 행위 카운터는 특정 사용자가 현재 일정 기간 동안 복수의 행위를 시행한 횟수를 각 행위 별로 카운트(count)한 결과인,
행위 분석 기반 이상 감지 방법. - 제1항 내지 제3항 중 어느 한 항에 있어서
상기 제1사용자의 과거 행위 패턴을 결정하는 단계는,
상기 복수의 사용자 중 제1 사용자에 대한 과거 행위 카운터와 상기 K개의 클러스터에 속한 각각의 클러스터의 유사도를 이용하여 결정하며,
상기 제1사용자의 현재 행위 패턴을 결정하는 단계는,
상기 제1 사용자에 대한 현재 행위 카운터와 상기 K개의 클러스터에 속한 각각의 클러스터의 유사도를 이용하여 결정하는 것인,
행위 분석 기반 이상 감지 방법. - 제4항에 있어서,
상기 복수의 사용자에 대한 과거 행위 카운터들로 각각 구성된 K개의 클러스터를 생성하는 단계는,
상기 복수의 사용자에 대한 과거 행위 카운터와 현재 행위 카운터를 수집하는 단계; 및
상기 각 행위 별로 카운트한 결과가 동일한 범위(range)를 가지도록, 상기 복수의 사용자에 대한 과거 행위 카운터와 현재 행위 카운터를 전처리하는 단계를 포함하는,
행위 분석 기반 이상 감지 방법. - 제5항에 있어서,
상기 복수의 사용자에 대한 과거 행위 카운터와 현재 행위 카운터를 전처리하는 단계는,
사전에 설정된 자리 수 이하는 반올림(round)하여, 상기 복수의 사용자에 대한 과거 행위 카운터와 현재 행위 카운터의 노이즈(noise)를 제거하는 단계를 포함하는,
행위 분석 기반 이상 감지 방법. - 제4항에 있어서,
상기 클러스터 패턴을 지정하는 단계는,
상기 지정된 각 클러스터에 속한 과거 행위 카운터들의 대표 행위를 제외한 대표 행위를 클러스터 패턴으로 추가하는 단계를 포함하는,
행위 분석 기반 이상 감지 방법. - 삭제
- 제1항에 있어서,
상기 각 클러스터의 중심 벡터(center vector)를 추출하는 단계는,
상기 각 클러스터에 속한 과거 행위 카운터들의 값을 각 행위 별로 평균하고 이를 좌표로 변환하여, 상기 중심 벡터를 생성하는 단계를 포함하는,
행위 분석 기반 이상 감지 방법. - 제1항에 있어서,
상기 임계치(threshold)를 설정하는 단계는,
상기 평균 + 상기 표준편차 * n의 수식을 이용하여, 상기 임계치를 연산하는 단계를 포함하는,
행위 분석 기반 이상 감지 방법. - 제1항에 있어서,
상기 중심 벡터의 좌표값 중에서 상기 임계치를 초과하는 좌표에 대응되는 행위를 각 클러스터의 클러스터 패턴으로 선정하는 단계는,
상기 중심 벡터의 좌표값 중에서 상기 임계치를 초과하는 좌표가 하나도 없는 클러스터를 일반 클러스터로 분류하는 단계; 및
상기 일반 클러스터의 수와 전체 클러스터의 수인 K의 비율(ratio)을 연산하는 단계를 포함하는,
행위 분석 기반 이상 감지 방법. - 제11항에 있어서,
상기 일반 클러스터의 수와 전체 클러스터의 수인 K의 비율(ratio)을 연산하는 단계는,
상기 K의 값을 1부터 상기 복수의 사용자의 수까지 변화시켜가면서, 상기 비율을 연산하는 단계를 반복 수행하는 단계; 및
Elbow Method를 이용하여, 1부터 상기 복수의 사용자의 수까지의 값 중에서 상기 K의 값을 결정하는 단계를 포함하는,
행위 분석 기반 이상 감지 방법. - 제4항에 있어서,
상기 제1 사용자의 이상 행위를 감지하는 단계는,
상기 제1 사용자의 과거 행위 패턴과 현재 행위 패턴이 다른 경우, 상기 과거 행위 패턴의 위험도와 상기 현재 행위 패턴의 위험도를 이용하여, 상기 제1 사용자의 이상 행위 여부를 판단하는 단계를 포함하는,
행위 분석 기반 이상 감지 방법. - 제13항에 있어서,
상기 제1 사용자의 이상 행위 여부를 판단하는 단계는,
상기 복수의 행위에 대해 사전에 설정된 위험도의 가중치를 이용하여, 상기 클러스터 패턴의 위험도를 연산하는 단계를 포함하는,
행위 분석 기반 이상 감지 방법. - 제13항에 있어서,
상기 제1 사용자의 이상 행위 여부를 판단하는 단계는,
상기 제1 사용자가 속한 조직의 구성원의 패턴 변화를 더 이용하여, 상기 제1 사용자의 이상 행위 여부를 판단하는 단계를 포함하는,
행위 분석 기반 이상 감지 방법. - 제4항에 있어서,
상기 복수의 행위는 개봉, 작성, 첨부, 수정, 삭제, 이동, 복사, 인쇄, 저장, 권한 변경 중에서 둘 이상을 포함하는 사용 행위이고,
상기 제1 사용자의 이상 행위는 정보의 유출 행위인,
행위 분석 기반 이상 감지 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160138512A KR102464390B1 (ko) | 2016-10-24 | 2016-10-24 | 행위 분석 기반 이상 감지 방법 및 장치 |
US15/791,852 US10657250B2 (en) | 2016-10-24 | 2017-10-24 | Method and apparatus for detecting anomaly based on behavior-analysis |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160138512A KR102464390B1 (ko) | 2016-10-24 | 2016-10-24 | 행위 분석 기반 이상 감지 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180044693A KR20180044693A (ko) | 2018-05-03 |
KR102464390B1 true KR102464390B1 (ko) | 2022-11-04 |
Family
ID=61969749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160138512A KR102464390B1 (ko) | 2016-10-24 | 2016-10-24 | 행위 분석 기반 이상 감지 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10657250B2 (ko) |
KR (1) | KR102464390B1 (ko) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109861953B (zh) | 2018-05-14 | 2020-08-21 | 新华三信息安全技术有限公司 | 一种异常用户识别方法及装置 |
KR102059808B1 (ko) | 2018-06-11 | 2019-12-27 | 주식회사 티맥스오에스 | 컨테이너 기반 통합 관리 시스템 |
US11048807B2 (en) * | 2018-09-12 | 2021-06-29 | International Business Machines Corporation | Protecting data security with hierarchical authorization analysis |
CN111314158B (zh) * | 2018-12-11 | 2022-05-31 | 杭州海康威视数字技术股份有限公司 | 大数据平台监控方法、装置及设备、介质 |
US11277424B2 (en) * | 2019-03-08 | 2022-03-15 | Cisco Technology, Inc. | Anomaly detection for a networking device based on monitoring related sets of counters |
KR102088378B1 (ko) * | 2019-05-21 | 2020-04-22 | 주식회사 제이슨 | 인공지능형 통합 it관제 방법 및 시스템 |
US10992696B2 (en) * | 2019-09-04 | 2021-04-27 | Morgan Stanley Services Group Inc. | Enterprise-level security method and system |
US20210120014A1 (en) * | 2019-10-22 | 2021-04-22 | Microsoft Technology Licensing, Llc | User impact potential for security alert management |
US11483327B2 (en) * | 2019-11-17 | 2022-10-25 | Microsoft Technology Licensing, Llc | Collaborative filtering anomaly detection explainability |
KR102234514B1 (ko) * | 2020-03-06 | 2021-03-31 | 주식회사 제이슨 | 인공지능형 통합 it관제 방법 및 시스템 |
CN112734433A (zh) * | 2020-12-10 | 2021-04-30 | 深圳市欢太科技有限公司 | 异常用户的检测方法、装置、电子设备以及存储介质 |
KR102591276B1 (ko) * | 2021-08-26 | 2023-10-18 | 최현준 | 성격테스트 결과에 기반한 모임 추천 장치 |
CN115296930B (zh) * | 2022-09-29 | 2023-02-17 | 中孚安全技术有限公司 | 一种周期性行为检测方法、***及终端机 |
CN115795335B (zh) * | 2023-02-02 | 2023-07-25 | 国家***邮政业安全中心 | 物流网点异常识别方法、装置及电子设备 |
CN116257892B (zh) * | 2023-05-09 | 2023-08-29 | 广东电网有限责任公司佛山供电局 | 一种数字化档案的数据隐私安全性验证方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080059474A1 (en) * | 2005-12-29 | 2008-03-06 | Blue Jungle | Detecting Behavioral Patterns and Anomalies Using Activity Profiles |
US20090293121A1 (en) * | 2008-05-21 | 2009-11-26 | Bigus Joseph P | Deviation detection of usage patterns of computer resources |
US20100122120A1 (en) * | 2008-11-12 | 2010-05-13 | Lin Yeejang James | System And Method For Detecting Behavior Anomaly In Information Access |
US20160127367A1 (en) * | 2014-10-31 | 2016-05-05 | Proofpoint, Inc. | Systems and methods for privately performing application security analysis |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100980117B1 (ko) | 2010-06-25 | 2010-09-07 | (주)뉴데이소프트 | 내부정보 유출위협 분석방법 |
KR101256507B1 (ko) | 2012-11-13 | 2013-04-19 | 국방과학연구소 | 사용자 행위 분석을 통한 자료유출 탐지 시스템 및 그 방법 |
KR101501669B1 (ko) | 2013-12-24 | 2015-03-12 | 한국인터넷진흥원 | 비정상 행위를 탐지하기 위한 행위 탐지 시스템 |
US9904587B1 (en) * | 2015-12-18 | 2018-02-27 | Amazon Technologies, Inc. | Detecting anomalous behavior in an electronic environment using hardware-based information |
US11042802B2 (en) * | 2016-10-07 | 2021-06-22 | Global Optimal Technology, Inc. | System and method for hierarchically building predictive analytic models on a dataset |
-
2016
- 2016-10-24 KR KR1020160138512A patent/KR102464390B1/ko active IP Right Grant
-
2017
- 2017-10-24 US US15/791,852 patent/US10657250B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080059474A1 (en) * | 2005-12-29 | 2008-03-06 | Blue Jungle | Detecting Behavioral Patterns and Anomalies Using Activity Profiles |
US20090293121A1 (en) * | 2008-05-21 | 2009-11-26 | Bigus Joseph P | Deviation detection of usage patterns of computer resources |
US20100122120A1 (en) * | 2008-11-12 | 2010-05-13 | Lin Yeejang James | System And Method For Detecting Behavior Anomaly In Information Access |
US20160127367A1 (en) * | 2014-10-31 | 2016-05-05 | Proofpoint, Inc. | Systems and methods for privately performing application security analysis |
Non-Patent Citations (2)
Title |
---|
Vaishali R. Patel and Rupa G. Mehta, "Impact of Outlier Removal and Normalization Approach in Modified k-Means Clustering Algorithm"(2011.09.)* |
Wikipedia, "k-means clustering"(2015.09.)* |
Also Published As
Publication number | Publication date |
---|---|
KR20180044693A (ko) | 2018-05-03 |
US10657250B2 (en) | 2020-05-19 |
US20180114016A1 (en) | 2018-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102464390B1 (ko) | 행위 분석 기반 이상 감지 방법 및 장치 | |
US11962597B2 (en) | System and method for outlier and anomaly detection in identity management artificial intelligence systems using cluster based analysis of network identity graphs | |
CN110958220B (zh) | 一种基于异构图嵌入的网络空间安全威胁检测方法及*** | |
CN106789885B (zh) | 一种大数据环境下用户异常行为检测分析方法 | |
US9762603B2 (en) | Assessment type-variable enterprise security impact analysis | |
US8504876B2 (en) | Anomaly detection for database systems | |
EP3888336A1 (en) | System and method for peer group detection, visualization and analysis in identity management artificial intelligence systems using cluster based analysis of network identity graphs | |
US20050086529A1 (en) | Detection of misuse or abuse of data by authorized access to database | |
US20080288330A1 (en) | System and method for user access risk scoring | |
CN109977689A (zh) | 一种数据库安全审计方法、装置及电子设备 | |
TW201629824A (zh) | 使用適應性行爲輪廓之異常檢測技術 | |
Park et al. | Anomaly intrusion detection by clustering transactional audit streams in a host computer | |
KR101444308B1 (ko) | 정보 유출 조기 경보 시스템 | |
CN109446768B (zh) | 应用访问行为异常检测方法及*** | |
CN113392426A (zh) | 用于增强工业***或电功率***的数据隐私的方法及*** | |
US8799287B1 (en) | Method and apparatus for categorizing documents containing sensitive information | |
CN116627707A (zh) | 一种用户异常操作行为的检测方法及*** | |
Gupta et al. | Eagle: User profile-based anomaly detection for securing Hadoop clusters | |
CN110674498B (zh) | 一种基于多维度文件活动的内部威胁检测方法及*** | |
Sallam et al. | Result-based detection of insider threats to relational databases | |
Oh et al. | Anomaly intrusion detection based on clustering a data stream | |
Poh et al. | Physical access log analysis: An unsupervised clustering approach for anomaly detection | |
CN107920067A (zh) | 一种主动对象存储***上的入侵检测方法 | |
CN117370548A (zh) | 用户行为风险识别方法、装置、电子设备及介质 | |
KR101810853B1 (ko) | 신경망 알고리즘을 이용한 내부 정보 유출 방지 방법, 이를 수행하기 위한 기록 매체 및 장치 |
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 | ||
GRNT | Written decision to grant |