KR101200907B1 - Query에 대한 데이터베이스 응답값 분석 및 이상 징후 탐지를 이용한 개인정보 유출 방지 시스템 및 유출 방지 방법 - Google Patents

Query에 대한 데이터베이스 응답값 분석 및 이상 징후 탐지를 이용한 개인정보 유출 방지 시스템 및 유출 방지 방법 Download PDF

Info

Publication number
KR101200907B1
KR101200907B1 KR1020100068595A KR20100068595A KR101200907B1 KR 101200907 B1 KR101200907 B1 KR 101200907B1 KR 1020100068595 A KR1020100068595 A KR 1020100068595A KR 20100068595 A KR20100068595 A KR 20100068595A KR 101200907 B1 KR101200907 B1 KR 101200907B1
Authority
KR
South Korea
Prior art keywords
personal information
query
information
database
client
Prior art date
Application number
KR1020100068595A
Other languages
English (en)
Other versions
KR20120007841A (ko
Inventor
김대환
김태완
한제희
Original Assignee
(주)소만사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)소만사 filed Critical (주)소만사
Priority to KR1020100068595A priority Critical patent/KR101200907B1/ko
Publication of KR20120007841A publication Critical patent/KR20120007841A/ko
Application granted granted Critical
Publication of KR101200907B1 publication Critical patent/KR101200907B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

개인정보 유출 방지 시스템 및 이를 이용한 개인정보 유출 방지 방법에서는, 데이터베이스에 저장된 고객의 개인정보에 대한 질의어와, 상기 질의어의 결과 값인 응답값 및 클라이언트의 프로파일을 분석한다. 이에 따라 내부자의 개인정보의 오남용에 대한 탐지가 가능하고 이에 대해 신속한 경보과 대응책을 마련할 수 있다.

Description

QUERY에 대한 데이터베이스 응답값 분석 및 이상 징후 탐지를 이용한 개인정보 유출 방지 시스템 및 유출 방지 방법{SYSTEM FOR PRENVENTING INNER USERS FROM LEAKING THE PERSONAL INFORMATION BY RETURNNING RESULTS AND THE DETECTION OF ANOMALY PATTERN}
본 발명은 개인정보 유출 방지 시스템 및 이를 이용한 방지 방법에 관한 것으로서, 질의어에 대한 데이터베이스의 응답값 및 이상징후를 분석하여 데이터베이스에 저장된 개인정보의 유출을 탐지하는 개인정보 유출 방지 시스템 및 이를 이용한 방지 방법에 관한 것이다.
2008년도 한국에서는 1천만 건 이상의 고객의 개인정보가 외부로 유출되는 사고가 발생하여, 수 천억 원의 손해배상액을 다투는 소송이 제기되었다.
개인정보는 하나 혹은 복합적으로 개개인을 식별할 수 있는 정보이다. 이러한 개인정보에는 주민번호, 신용카드 번호, 은행 계좌번호, 핸드폰 번호, 여권번호, IP주소 등이 있다.
이러한 개인정보들은 데이터베이스라고 불리는 정보의 저장고에 보관된다. 따라서, 개인정보의 보안 정책은 데이터베이스의 보안이 우선적으로 고려되어야 한다. 데이터베이스 보안은 통상적으로 DB 방화벽 혹은 DB 접근 통제/감사 솔루션에 의해서 이루어진다.
일반적인 상용 데이터베이스(이하, DB) 방화벽은 주요한 테이블(table), 칼럼에 대한 접근 통제, query tool에 대한 통제, 시간대별, 사용자 인증, 감사로그저장, 기초적인 검색 및 리포팅의 기본적인 구현에 초점을 두고 개발되었다. 그러나 개인 정보의 유출에 대한 정확한 식별능력과 이에 따른 통제 기능을 보유하고 있지 못했다.
몇몇 상용화된 DB 방화벽은 Query의 응답값을 분석하여 응답값의 행수, 응답값의 사이즈에 대한 탐지, 경보, 저장 및 차단기능을 제공하고 있다.
그러나 Query 응답값 내용을 분석하여 주민번호, 카드번호, 계좌번호 등의 민감한 개인정보가 포함되었는지 여부를 정확하게 판단하고, 이에 따라서 보안행동을 취하는 구현되어 있지 않은 것이 대부분이다.
따라서 본 발명 목적은 개인정보의 유출을 방지하기 위하여 내부자의 오용을 탐지하고, 신속한 경보와 함께 차단할 수 있는 개인정보 유출탐지시스템을 제공하는 데 있다.
본 발명의 다른 목적은 상기 개인정보 유출 방지 시스템을 이용한 개인정보 유출탐지 방법을 제공하는 데 있다.
본 발명의 개인정보 유출탐지 방법은 상기와 같은 목적을 달성하기 위해 클라이언트로부터 데이터베이스에 저장된 고객의 개인정보에 대한 질의어를 수신한다. 질의어를 분석한 후 데이터베이스로 전달한다. 이후 데이터베이스로부터 질의어의 결과 값인 응답값을 수신한다. 상기 수신한 응답값을 분석하여, 개인정보의 포함 여부를 판단한다. 수신한 질의어(SQL query)와 질의어에 대한 응답값, 그리고 클라이언트의 프로파일을 분석한 후에 상기 개인정보 유출에 대한 이상징후여부를 결정한다. 이후에 이상징후여부에 대해서 해당 로그에 대한 기록, 관리자에 대한 경보, 세션의 차단 등의 보안대책을 적용한다.
본 발명에 의하면, 고객의 개인정보를 조회하기 위하여, 클라이언트로부터 전달되는 질의어와 상기 질의어에 대한 응답값을 분석함으로써, 개인정보의 유출과 오남용에 대한 탐지와 통제가 가능하다.
도 1은 본 발명의 일실시예에 따른 개인정보 유출 방지 시스템이 사용된 환경을 보여주는 블록도이다.
도 2는 도 1에 도시된 개인정보 유출 방지 시스템을 이용한 개인정보 유출에 대한 이상징후를 탐지하는 방법을 보여주는 순서도이다.
도 3은 프로파일 정보를 이용하여 고객의 개인정보 유출에 대한 이상징후를 탐지하는 방법을 보여주는 순서도이다.
내부자에 의해 개인정보가 유출되는 경우는, 내부 사용자가 주요 데이터베이스에 액세스하여, 다량의 고객 데이터를 내부자 자신의 데스크 탑으로 다운로드 한 후에 외부로 유출하는 경우를 들 수 있다.  최근 고객정보가 외부로 유출된 사례를 살펴보면, 내부 직원이 한번에 1만 건씩, 1달 동안, 1000회에 걸쳐서 데이터베이스에 접근하여 고객정보 1000만 건을 다운로드 받은 후 외부에 유출될 것을 볼 수 있다.
A사의 경우는 해커가 웹 서버를 통해서 새벽2-5시의 심야에, 1주일에 걸쳐서, 다수의 Query를 날려서, 1천만 건의 고객정보를 데이터베이스에 조회한후에 외부 시스템으로 전송해 가져갔다. DB서버에 대한   사용자의 직접 접근은 엄격히 통제하지만, 웹 서버를 통한 Query에 대해서는 일반적으로 통제하지 않는 허점을 노린 것이다.
 내부자든 아니면 웹 어플리케이션이든 한번에 고객정보의 대량 조회요청이 데이터베이스에 요청되는 것은 일반적으로 발생할 수 없는 이상징후이다. 이러한 고객정보에 대한 대용량접근이 한번에 그치지 않고, 단기간 혹은 장기간에 수십/수천 번에 걸쳐서 이루어지는 경우 명백한 이상징후에 해당한다.
 또한, 개인정보에 대한 정보요청이 배타적인 집합에 대해서 계속적으로 이루어지는 경우 또한 이상징후에 해당한다. 예컨대, 21세 남자에 대한 정보 조회가 이루어진 이후, 22세, 23세 남자 순으로 일련적으로 데이터베이스에 대해 정보요청이 계속 이루어진 경우는 부분의 합으로 전체를 재구성하고자 하는 시도가 명백하다고 할 수 있다. 이러한 조회는 정상적인 고객정보 활용 시나리에서는 발생하지 않는 개인정보 조회 행위이다. 
그러나 기존의 DB방화벽을 비롯한 개인정보 보호 솔루션에서는 이러한 징후를 이상 징후로 탐지해내지 못하고 있다.  따라서 효과적인 개인정보 유출 방지를 위해서, 내부자 혹은 어플리케이션이 회사 내부에 구축된 데이터베이스에 대해 어떠한 내용을 조회하는 조회내용의 분석이 필요하다. 또한 조회 내용의 분석을 통해 개인정보의 유출 징후를 판별하고, 신속하게 업무에 필요한 사항인지 여부를 확인해야 한다.
대부분의 보안 사고를 살펴보면, 한번에 대량 개인정보유출이 발생하는 경우는 흔치 않다.  따라서, 이상징후의 추이분석을 통한 탐지가 중요하다.
본 발명의 일 실시 예에 따른 개인정보 유출 방지 시스템에서는 상술한 이상 징후 분석을 위하여, 클라이언트로부터 데이터베이스로 전달되는 질의어(SQL query)뿐만 아니라 질의어의 응답값을 분석한다. 즉, 데이터베이스로부터 클라이언트로 전달되는 응답값을 중심으로 하여 개인정보유출과 오용이 탐지된다.
이상 징후 분석을 위하여, 데이터베이스에 대한 질의어 분석보다는 응답값 분석에 더 중점을 둔 이유는 다음과 같다.
데이터베이스에 대한 접근통제를 담당하는 기존의 DB보안 솔루션에서는, 클라이언트가 데이터베이스에 전달한 질의어의 내용만을 저장하고, 이에 대한 응답값은 저장하지 않았다. 예컨대, "select name, jumin from employe_table"만 저장하고, 응답값인 "홍길동, 850416-1542174, 박문수, 670505-1275411" 등을 저장하지 않았다. 이유는 응답값을 정확하게 분석하는 것은 기술적으로 매우 난이도가 높은 작업이었기에 개발을 보류했던 것과 또한 응답값을 모두 저장하는 경우, 저장공간이 큰 저장매체가 필요하고, 이에 따라 비용적인 측면에서 부담이 되었기 때문이다.
그러나 클라이언트로부터 데이터베이스로 전달되는 질의어만의 분석을 통해 개인정보의 유출에 대한 이상 징후를 분석하는 것은 다음과 같은 문제점이 있다.
첫째, 질의어는 가독성(readability)이 낮다. 예를 들면 프로그램의 가독성은 코드의 읽기 쉬운 정도를 의미하며, 가독성이 높은 프로그램 코드는 사용자가 그 프로그램 코드를 보고 쉽게 이해할 수 없는 프로그램 코드다. 복잡한 질의어는 클라이언트로부터 요청되는 정보의 결과값을 예측하기가 어렵다. 예컨대, 아래와 같은 질의어의 결과값으로 개인정보가 포함되는지를 예측하기 어렵다.
" select alias1, alias2, alias3, alias4 from (select 고객id as alias1, 유효연월 as alias2, 대표카드번호 as alias3, 대표카드유효연월일 as alias4, from cm01. 개인회원기본 where 고객번호 in(1000000000001, 100000002, 1000000010)"
Query에서 사용된 카드번호와 같은 개인정보가 다른 테이블과의 조인을 위해서 사용되는 것인지 아니면 카드번호자체를 조회하려고 하는 query인지 식별하기가 난해하다. 이는 데이터베이스의 전문가인 DBA(데이터베이스 관리자)에게도 마찬가지이다.
질의어에 네스티드(nested)문, 인라인(inline)문, 템프 테이블(temp table)문, 파이프(pipe)문, 유니온(union)문, 서브-스트링(sub-string) 함수 등으로 이루어진 프로그램 코드가 사용되면, 더욱더 예측하기가 어렵다. 데이터베이스만을 전문적으로 다루는 데이터베이스 보안담당자일지라도 예측하기 어렵다.
둘째, 개인정보의 유출통제라는 목적 측면에서 보았을 때는 클라이언트가 데이터베이스에 요청한 값이 무엇인지가 중요한 것이 아니라 데이터베이스의 관리 범위를 벗어난 자료가 무엇인지가 주요한 관리대상이 되는 것이다. 따라서 오히려 Query 결과값이 중심이 되고, SQL Query자체는 부가적인 정보에 해당한다고 할것이다. 또한 데이터베이스를 구성하는 자료들이 지속적으로 갱신되는 경우, 사후 동일한 질의어를 전달하더라도 그 해당 내용이 동일하게 재현되지 않을 수도 있기에 결과값을 반드시 저장해야 한다.
셋째, 개인정보가 포함되어 있는 테이블과 칼럼의 정보를 사전에 정확하게 획득하는 것이 실질적으로 불가능하다. 개인정보 유출방지를 위해 개인정보가 포함되어 있는 Table과 View의 필드(FILED)나 칼럼(COLUMN)을 정확하게 파악하여 Query 내용에 해당 필드나 칼럼이 포함되어 있을 경우에 해당 query에 대해서 차단하거나, 경보, 혹은 Query 내용을 기록해서 보관하면 된다. . 그러나 규모가 큰 엔터프라이즈회사에 구축된 데이터베이스는 기본적으로 수년에서 수 십 년 동안 운영되며, 그 동안 수많은 테이블이 생성되고, 갱신되고, 삭제된다. 또한 기본 Table에서 무수히 많은 데이터베이스 뷰(view)가 생성되고, 갱신되고, 삭제된다. 기본 테이블뿐만 아니라 뷰 테이블을 통해서 원하는 작업(SELECT, DELETE, UPDATE) 등이 수행된다.따라서, 무수히 많이 생성되어 있는 테이블과 뷰에 대해서 하나 하나씩 개인정보포함여부를 확인하는 작업은 현실적으로 불가능하다. 따라서 SQL Query 내용만으로 개인정보가 포함되어 있는 table과 column을 식별한 후에 개인정보에 대한 적절한 접근통제와 감사조치를 취할 수가 없는 것이다.
따라서 질의어에 대응하는 응답값이 주민번호 패턴과 일치하는지를 역으로 분석해서, 주민번호가 포함되어 있는 테이블 또는 칼럼을 발견해내는 것이 오히려 더 자연스럽다.
위에서 기술한 세가지 이유와 기타 이유 때문에 개인정보의 유출방지를 위해서는 데이터베이스에 대한 질의어 보다는 응답값의 내용을 관리하고, 통제할 수 있어야 한다. 한정된 저장공간을 고려한다면, 모든 응답값을 저장하지 않고, 최초 몇 건(예컨대, 10건) 정도 만을 저장하는 옵션을 제공하여, 저장 공간의 제한성은 극복될 수 있다. 예컨대, 동일한 패턴을 갖는 응답값들 중 최초 생성된 10개의 응답값들을 저장한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다.
도 1은 본 발명의 일실시예에 따른 개인정보 유출 방지 시스템이 사용된 환경을 보여주는 블록도이다.
도 1을 참조하면, 클라이언트(100)는 수집하고자 하는 데이터에 대한 질의어(query, 22)를 생성하여 전송하고, 개인정보 유출 방지 시스템(200)은 클라이언트(100)로부터 고객정보 데이터베이스(220)에 저장된 고객의 개인 정보에 대한 질의어를 수신하고, 수신된 질의어를 분석한 후 고객 정보 데이터베이스(220)로 전달한다. 이후, 개인정보 유출 방지 시스템(200)은 고객정보 데이터베이스(220)로부터 질의어의 결과 값인 응답값을 수신하고, 상기 수신한 응답값을 분석하여, 개인정보의 포함 여부를 판단한다. 이러한 개인 정보 유출 방지 시스템(200)은 수신한 질의어(SQL query)와 질의어에 대한 응답값, 그리고 클라이언트(100)의 프로파일을 분석한 후에 상기 개인정보 유출에 대한 이상징후여부를 결정한다. 이후에 이상징후여부에 대해서 해당 로그에 대한 기록, 관리자에 대한 경보, 세션의 차단 등의 보안대책을 적용한다.
구체적으로, 개인정보 유출 방지 시스템(200)은 질의어 분석기, 응답값 분석기 및 프로파일 분석기를 포함하는 이상징후 분석모듈을 구비한다.
상기 이상징후 분석모듈은 클라이언트(100)가 수집하고자 하는 데이터에 대한 질의어(22)을 통신망(150)을 통해 수신하고, 수신된 질의어(22)에 따라 데이베이스(220)를 조작 및 조회하고, 조작 및 조회된 결과치인 상기 응답값(24)을 생성한다.
상기 이상징후 분석모듈에는 데이터베이스(220)를 관리하는 관리 프로그램이 설치되어 있을 수 있으며, 일례로, 유닉스, 리눅스, windows 2000, windows xp home, window xp pro, MSSQL, Msql, Mysql, Sybase 등이 있다.
데이터베이스(220)에는 주민번호, 이름, 전환번호, 주소 등을 포함하는 고객의 개인정보가 저장된다.
질의어 분석기는 클라이언트(100)로부터 고객정보 데이터베이스(220)에 저장된 고객의 개인 정보에 대한 질의어를 수신하고, 수신된 질의어를 분석한 후 고객 정보 데이터베이스(220)로 전달한다.
응답값 분석기는 고객정보 데이터베이스(220)로부터 질의어의 결과 값인 응답값을 수신하고, 상기 수신한 응답값을 분석하여, 개인정보의 포함 여부를 판단한다. 즉, 응답값 분석기는 상기 응답값을 분석하여, 특정치 이상의 개인정보(예컨대, 주민번호)가 포함되어 있는 경우, 클라이언트(100)로부터의 데이터베이스(220)에 대한 액세스를 차단하거나, 또는 이를 보안담당자에게 통보 및 경보를 수행한다. 예컨대, 한번에 대용량의 정보취득과 일련의 연속적인 접근이 관리 범위에 포함될 수 있다.
하나의 세션 중에서 개인정보가 포함되는 질의어가 3건 이상 포함되었을 때 경보 혹은 차단의 대상이 될 수 있다. 즉, 응답값에 개인정보가 기 설정된 개수 이상(예를 들면 100건) 포함된 경우, 경보 혹은 차단의 대상이 될 수 있다.
개인정보의 대량적인 유출을 방지기 하기 위하여, 지정된 사용자 혹은 정해진 시나리오와 정해진 웹 서버를 제외하고는 개인정보가 기 설정된 개수 이상 포함된 자료는 사전에 차단할 수도 있다. 특히 리턴 값이 몇 건 이상 되는 경우는 반드시 필요한 사전 통보 조치 예를 들면, 결제를 사전에 얻어야만 가능하도록 운영할 수 있다.
한편, 도 1에 도시된 클라이언트(100)와는 달리 애플리케이션 서버로부터의 데이터베이스에 대한 액세스가 이루어지는 경우에서의 이상징후에 대한 분석은 다음과 같다.
일 예로 웹 애플리케이션 서버(도시되지 않음)를 통해서 들어온 데이터베이스(220)에 대한 질의어(22)와 이에 대한 응답값(24)은 대부분의 데이터베이스 관리 시스템에서는 저장되지 않는 것이 통상적이다. 이것은 웹 애플리케이션 서버를 통해 전달되는 입력값은 특성상 파라메터만 변화하고, 동일한 질의어가 반복된다. 결과적으로 이러한 질의가 지속적으로 축적되는 경우, 의미 없는 불필요한 질의의 내용이 너무나 많이 저장되기 때문이다.
웹 애플리케이션 서버를 통해서 전달되는 내용 중 갑자기 대용량의 고객 데이터를 요청하는 경우, 경보를 통해서 정당한 요청인지 확인할 수 있어야 한다. 특히 외부의 해커가 침입하는 경우, 대부분 웹 애플리케이션 서버를 경유해서 들어오기 때문에 애플리케이션 서버에 대한 이상징후의 분석과 판단도 중요하다.
웹 애플리케이션 서버에 대한 이상징후의 분석은 정형화된 질의어 이외에 새로운 질의어의 발생을 예로 들 수 있다. 사용자는 매번 새로운 질의어를 전달할 수도 있지만, 웹 애플리케이션 서버의 경우에서는, 한번 지정된 질의에 대해서는 해당 질의어의 구조를 벗어나지 않는다. 여기서, 질의어의 구조가 변경되지 않는다 함은 파라메터만 변경되고, 질의어 자체의 구조(예컨대, 프로그램 코드 또는 명령어 체계)가 변화하지 않는다 라는 것을 의미한다. 따라서, 본 실시예에서는 이상징후 분석모듈이 데이터베이스(220)의 조작 및 조회 기능 이외에 웹 애플리케이션 서버로부터 전달되는 질의어를 분석하는 기능을 더불어 수행할 수 있다. 이를 위하여 이상징후 분석모듈은 질의어를 구성하는 프로그램 코드 또는 명령어 체계를 분석하는 질의어 분석기를 포함한다.
웹 애플리케이션 서버에서 전달되는 질의어 중 지금까지 보지 못했던 것이며, 응답값(22)이 주민번호를 1000 건 이상 포함하고 있다면 이는 결정적인 이상징후에 해당 할 것이다.
내부자 또한 직접 데이터베이스에 액세스하지 않고, 고객 관리 등의 특정 용도로 개발된 애플리케이션 통해서 질의어를 던지는 경우가 종종 발생하고 있으므로, 내부자의 통제 측면에서 애플리케이션 서버의 질의어를 분석하는 것이 중요하다.
이상 설명한 바와 같이, 응답값 분석을 통해 개인정보유출에 대한 이상징후를 탐지하는 본 발명의 일실시예가 기술되었고, 데이터베이스에 액세스를 시도하는 클라이언트가 웹 애플리케이션 서버인 경우, 이상징후 분석모듈에서, 애플리케이션 서버의 질의어를 분석하여 이상징후를 탐지하는 본 발명의 다른 실시예가 기술되었다.
이하에서는 이상징후 분석모듈에서, 데이터베이스(220)에 액세스하는 사용자의 프로파일(profile) 정보를 분석하여 개인정보유출에 대한 이상징후를 탐지하는 본 발명의 또 다른 실시예가 설명된다. 여기서, 프로파일 정보는 사용자 접속 시간, 접속 위치, 접근 내용 정보 및 애플리케이션 정보 등을 포함한다.
응답값 분석기에서 클라이언트로 전달되는 응답값 외에 사용자의 프로파일 정보 또한 이상 징후 탐지에 중요한 정보가 될 수 있다. 즉, 평상시에는 업무시간에 접근하는 사용자(회사 내의 내부 사용자를 포함)가 비 업무시간 예컨대, 밤 시간에 다량의 개인정보에 대한 접근하는 경우를 일 예로 들 수 있다.
프로파일 정보가 접근 시간인 경우, 데이터베이스에 액세스하는 시간대가 평일 정보, 휴일 정보, 업무시간 및 비 업무시간 인지를 분석한다. 예컨대, 비 업무 시간에 개인정보가 포함된 데이터베이스에 대해서 액세스가 발생하고, 대용량으로 다운로드 한 경우, 이상징후 분석모듈이 이를 보안담당자에게 통보한다.
프로파일 정보가 접속 위치 경우, 이상징후 분석모듈은 회사 내의 네트워크 망을 통해 데이터베이스에 접근하는 경우인지 또는 VPN을 통해서 원격지에서 접근하는 것인지를 분석한다.
프로파일 정보가 애플리케이션에 대한 정보인 경우, 일반적으로 사용자는 특정 툴(TOOL)에 익숙해지면 다른 툴(TOOL)을 사용하지 않는 경향이 있다. 예컨대, TOAD를 주로 사용하는 사용자는 다른 TOOL을 잘 쓰지 않을 것이다. 여기서, TOAD란 DBMS와 사용자 간의 인터페이싱을 원활하게 하기 위하여 제작된 툴로서, DBMS와 사용자가 대화할 수 있는 질의어를 원활하게 작성할 수 있게 하는 기능이 포함된다.
만일 사용자가 평상시에 사용하지 않는 다른 TOOL을 사용한다면, 해당 본인 이외에 다른 사람이 도용해서 사용하는 것이라고 의심해 볼 수 있다. 따라서, 이상징후분석 모듈에는 질의어 분석기(212)를 포함하고, 질의어 분석기(212)를 통해 클라이언트(100)로부터 전달되는 질의어의 프로그램 코드(또는 명령어 체계)를 분석하여 어떠한 툴을 사용하는지를 판단할 수 있다.
질의어 분석기는 1H(HOW) 5W(WHERE, WHO, WHAT, WHY, WHEN)에 대한 정보를 지속적으로 축적하고, 표준적인 자료로서 정규화하고, 이에 대한 통계적인 편차를 검출하여, 검출된 통계적인 편차가 일정값 (예컨대, 95%)이상이면 이상징후로 판단하여 보안담당자에게 통보한다.
도 2는 도 1에 도시된 개인정보 유출 방지 시스템을 이용한 개인정보 유출 방지 방법을 보여주는 순서도이다.
도 2를 참조하면, 먼저, 사용자의 프로파일 정보를 수신한다(S210). 개인정보의 유출을 목적으로 수집하고자 하는 데이터에 대한 질의어를 수신한다(S220). 이어, 도 1에 도시된 이상징후 분석모듈이 상기 수신된 질의어의 결과값인 응답값을 수신한다(S230). 이어, 수신된 응답값에 고개정보 데이터베이스에 저장된 개인정보가 포함되었는지 여부를 분석한다(S230). 분석결과, 개인정보에 기 설정된 수치 이상의 개인정보가 포함되어 있으면, 개인정보 유출이 있음을 알리는 메시지를 보안담당자에게 통보한다. 분석 결과가 이상징후 분석모듈에 의해 응답값 중 개인정보가 포함된 내용은 권한에 따라서 열람이 제한되도록 설정된다. 즉 권한이 낮은 사용자는 은닉된 형태로 정보를 확인하게 된다. 또한, 이상징후 분석모듈에 의해 응답값에 일정용량 이상의 개인정보가 포함되면, 사전에 지정된 서버 혹은 사용자 이외에는 전송이 차단될 수도 있다.
한편, 상기 동작(S220)에서, 생성된 응답값은 별도의 저장매체에 저장된다. 이때, 생성된 모든 응답값이 저장될 수도 있으며, 최초 생성된 기 설정된 개수의 응답값만이 저장될 수도 있다. 예컨대, 3건 내지 10건의 응답값이 저장될 수 있다. 이때, 개인정보가 포함된 응답값은 암호화 과정을 거쳐 저장될 수 있다.
도 3은 도 2에서 수신된 프로파일 정보를 이용하여 고객의 개인정보 유출에 대한 이상징후를 탐지하는 방법을 보여주는 순서도이다.
도 3을 참조하면, 먼저, 질의어의 수신에 앞서 전달된 프로파일 정보를 축적한다(S212). 축적된 프로파일을 표준적인 수치로 만들고, 이에 대한 통계적 분포와 모수를 확정(예를 들면, 정규분포, 평균 및 분산 계산)하여 정규화한다(S214). 앞서 설명한 바와 같이, 누가(WHO), 언제(WHEN), 어디서(WHERE), 무엇을(WHAT), 어떻게(HOW)라는 5가지 측면의 접속 정보를 포함하는 프로파일 정보를 이용하여 고객의 개인정보 유출에 대한 이상징후를 탐지할 수 있다. 즉, 장기간에 상술한 5가지의 접속 정보를 축적하고, 축적된 접속 정보를 표준적인 수치로 변환하여 통계적 분포와 모수를 확정한다.
'누가'라는 측면에서의 접속 정보는 최초 컴퓨터 사용 혹은 최소한 DB 접속 시에 사용자 인증을 통해서 확인한다.
'언제'라는 측면에서의 접속 정보는 업무시간, 야근시간, 공휴일, 평일 등의 정보를 포함한다.
'어디서'라는 측면에서의 접속 정보는 한 회사 내에서 작업하는 것과 원격지에서 작업을 구분한 정보이다.
'무엇을'이라는 측면에서의 접속 정보는 개인정보가 포함된 테이블과 컬럼을 포함한다.
'어떻게'라는 측면에서의 접속 정보는 특정한 데이터베이스 접속 애플리케이션을 구분한 정보이다. 특정 애플리케이션 서버로부터의 이상징후는 기존 질의어 패턴을 주기적으로 등록하고, 등록된 기존의 질의어 패턴과 현재 전달되는 질의어의 패턴을 비교한다.
이와 같이, 5가지 측면에서의 프로파일 정보를 정규화하고, 정규화된 표준적인 통계 모델을 통해 사전에 설정된 유의 수준에 벗어나는지의 여부를 판단한다(S216). 정규화된 통계치가 미리 설정된 유의수준(significance level)에서 벗어난 정도에 따라 이상 징후에 대한 평가가 수행된다(S250). 여기서, 유의수준은 통계적인 가설검정에서 사용되는 기준값을 말한다. 예컨대, 95%의 신뢰도를 기준으로 한다면, (1-0.95)인 0.05값이 기준값이 된다.
이상 징후에 대한 평가는 크게 기록, 경보, 차단의 등급으로 설정되고, 유의 수준에서 벗어난 정도(개인정보의 유출 정도)가 커질수록 평가는 기록-> 경보-> 차단으로 등급이 변경된다. 결정된 등급은 보안담당자에게 통보된다. 예컨대, 이러한 등급들 중 경보는 SMS 또는 메일을 통해 경보를 알린다.
이상 설명한 바와 같이, 본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (13)

  1. 이상징후 분석모듈이 클라이언트로부터 데이터베이스에 저장된 고객의 개인정보에 대한 질의어(SQL query)를 수신하는 단계;
    상기 이상징후 분석모듈이 상기 질의어를 분석한 후, 상기 데이터베이스로 전달하는 단계;
    상기 이상징후 분석모듈이 데이터베이스로부터 상기 질의어의 결과값인 응답값을 수신하여, 분석하여 상기 응답값에 개인정보의 포함 여부를 판단하는 단계; 및
    상기 이상징후 분석모듈이 상기 수신한 질의어와, 상기 데이터베이스로부터수신한 상기 질의어에 대한 응답값 및 상기 클라이언트의 프로파일을 분석한 후에 상기 개인 정보의 유출에 대한 이상 징후 여부를 결정하는 단계
    를 포함하되,
    상기 개인정보의 포함 여부를 판단하는 단계는,
    상기 응답값에 기 설정된 개수 이상의 상기 개인정보의 포함 여부를 판단하는 것인 개인정보 유출 방지 방법.
  2. 삭제
  3. 제1항에 있어서, 상기 응답값을 분석하기 위하여, 상기 수신한 응답값을 저장하는 단계를 더 포함하고,
    상기 응답값을 저장하는 단계는 동일한 패턴을 갖는 응답값들 중 기설정된 개수의 응답값들을 저장하는 것인 개인정보 유출 방지 방법.
  4. 제3항에 있어서, 상기 기 설정된 개수는 10인 것을 특징으로 하는 개인정보 유출 방지 방법.
  5. 제1항에 있어서, 상기 이상징후 분석모듈과 상기 클라이언트는 유무선 인터넷 통신망 및 사내 통신망을 포함하는 사설 통신망(Virtual Private Network: VPN)을 통해 연결되는 것인 개인정보 유출 방지 방법.
  6. 제1항에 있어서, 이상징후를 탐지하는 단계는,
    상기 응답값에 기 설정된 개수의 개인정보가 포함된 경우, 개인정보의 유출을 알리는 메시지를 관리자에게 통보하는 것인 개인정보 유출 방지 방법.
  7. 제1항에 있어서,
    상기 클라이언트로부터 프로파일 정보를 수신하는 단계; 및
    상기 수신된 프로파일 정보를 분석하여, 상기 개인정보 유출에 대한 이상징후를 탐지하는 단계
    를 더 포함하는 것을 특징으로 하는 개인정보 유출 방지 방법.
  8. 제7항에 있어서, 상기 프로파일 정보는 상기 데이터베이스에 대한 상기 클라이언트의 접속 시간 정보, 접속 위치 정보 및 상기 클라이언트 측에서 상기 데이터베이스에 액세스하기 위하여 사용되는 애플리케이션 정보를 포함하는 것을 특징으로 하는 개인정보 유출 방지 방법.
  9. 제7항에 있어서, 상기 이상징후여부를 결정하는 단계는,
    상기 수신된 프로파일 정보를 축적하는 단계;
    상기 축적된 프로파일 정보를 표준적인 수치로 변환하여, 정규화하는 단계;
    상기 표준적인 수치와 기 설정된 기준값을 비교하는 단계: 및
    상기 비교 결과에 따라 상기 이상징후에 대한 평가를 수행하는 단계
    를 포함하는 것을 특징으로 하는 개인정보 유출 방지 방법.
  10. 제9항에 있어서, 상기 이상징후에 대한 평가를 수행하는 단계는,
    개인정보의 유출 정도를 기록, 경보 및 차단 등급으로 설정하는 단계; 및
    상기 기 설정된 기준값으로부터 상기 표준적인 수치가 멀어질수록 상기 기록, 상기 경보 및 상기 차단 등급 순으로 등급을 변경하는 단계
    를 포함하는 것을 특징으로 하는 개인정보 유출 방지 방법.
  11. 고객의 개인정보가 저장된 데이터베이스; 및
    클라이언트로부터 수신된 상기 개인정보에 대한 질의어에 응답하여 상기 데이터베이스로부터 응답값을 수신하고, 상기 수신한 질의어와, 상기 이상 징후 분석모듈이 상기 데이터베이스로부터 수신한 상기 질의어, 상기 질의어에 대한 응답값, 및 상기 클라이언트의 프로파일을 분석한 후에 상기 개인정보 유출에 대한 이상징후여부를 탐지하는 이상징후 분석모듈;
    를 포함하되,
    상기 응답값의 분석을 위하여 상기 응답값을 저장하는 저장매체를 더 포함하는 것을 특징으로 하는 개인정보 유출 방지 시스템.
  12. 삭제
  13. 제11항에 있어서, 상기 이상징후 분석모듈은 상기 클라이언트로부터 프로파일 정보를 전달받고, 상기 프로파일 정보를 분석하여, 상기 개인정보의 유출에 따른 이상징후를 탐지하고,
    상기 프로파일 정보는 상기 데이터베이스에 대한 상기 클라이언트의 접속 시간 정보, 접속 위치 정보 및 상기 클라이언트 측에서 상기 데이터베이스에 액세스하기 위하여 사용되는 애플리케이션 정보를 포함하는 것을 특징으로 하는 개인정보 유출 방지 시스템.
KR1020100068595A 2010-07-15 2010-07-15 Query에 대한 데이터베이스 응답값 분석 및 이상 징후 탐지를 이용한 개인정보 유출 방지 시스템 및 유출 방지 방법 KR101200907B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100068595A KR101200907B1 (ko) 2010-07-15 2010-07-15 Query에 대한 데이터베이스 응답값 분석 및 이상 징후 탐지를 이용한 개인정보 유출 방지 시스템 및 유출 방지 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100068595A KR101200907B1 (ko) 2010-07-15 2010-07-15 Query에 대한 데이터베이스 응답값 분석 및 이상 징후 탐지를 이용한 개인정보 유출 방지 시스템 및 유출 방지 방법

Publications (2)

Publication Number Publication Date
KR20120007841A KR20120007841A (ko) 2012-01-25
KR101200907B1 true KR101200907B1 (ko) 2012-11-13

Family

ID=45613037

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100068595A KR101200907B1 (ko) 2010-07-15 2010-07-15 Query에 대한 데이터베이스 응답값 분석 및 이상 징후 탐지를 이용한 개인정보 유출 방지 시스템 및 유출 방지 방법

Country Status (1)

Country Link
KR (1) KR101200907B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101407717B1 (ko) * 2012-08-22 2014-06-13 (주)네오위즈게임즈 데이터베이스 보안 방법, 이를 수행하는 데이터베이스 보안 서버 및 이를 저장한 기록매체
KR102013415B1 (ko) * 2017-09-06 2019-08-22 충남대학교산학협력단 개인정보 접속기록 무결성 검증시스템 및 검증방법
KR102219383B1 (ko) * 2019-01-14 2021-02-23 주식회사 위즈웍스 개인정보 오남용 차단 시스템
KR102178049B1 (ko) * 2020-03-10 2020-11-12 주식회사 피앤피시큐어 개인정보 자산과 사용현황 파악 기반의 데이터 모니터링 방법

Also Published As

Publication number Publication date
KR20120007841A (ko) 2012-01-25

Similar Documents

Publication Publication Date Title
KR101039698B1 (ko) 애플리케이션을 경유한 db접근을 보호하기 위한 데이터베이스 보안 시스템, 서버 및 방법
US10382524B2 (en) Processing data received via a network from multiple client devices
KR100732789B1 (ko) 데이터 베이스 시스템을 모니터링하기 위한 방법 및 장치
US20210209251A1 (en) System and method for sensitive data retirement
US8266701B2 (en) Systems and methods for measuring cyber based risks in an enterprise organization
CN106599713A (zh) 一种基于大数据的数据库脱敏系统及方法
Costante et al. A white-box anomaly-based framework for database leakage detection
Sallam et al. Data and syntax centric anomaly detection for relational databases
Santos et al. Approaches and challenges in database intrusion detection
US20230027733A1 (en) Systems, devices, and methods for observing and/or performing data access compliance to a computer network
CN113516337A (zh) 数据安全运营的监控方法及装置
KR101200907B1 (ko) Query에 대한 데이터베이스 응답값 분석 및 이상 징후 탐지를 이용한 개인정보 유출 방지 시스템 및 유출 방지 방법
CN109684863B (zh) 数据防泄漏方法、装置、设备及存储介质
WO2022150513A1 (en) Systems, devices, and methods for observing and/or securing data access to a computer network
KR101666791B1 (ko) 중요정보 부정사용 예지보안 방법 및 이를 위한 시스템
CN114205118B (zh) 基于数据安全法范畴的数据访问控制分析方法
US20230396640A1 (en) Security event management system and associated method
KR101104300B1 (ko) 개인정보 데이터베이스의 접근을 위한 전용 툴을 포함한 접근 관리 시스템 및 방법
US20200293651A1 (en) Centralized privacy management system for automatic monitoring and handling of personal data across data system platforms
KR101973728B1 (ko) 통합 보안 이상징후 모니터링 시스템
KR20180071699A (ko) 개인 정보 온라인 감시 시스템 및 방법
US11886608B2 (en) Subject logging
Matthew et al. Critical Assessment of Auditing Contributions to Effective and Efficient Security in Database Systems
CN118245989A (zh) 面向信息管理系统的防越权系统、方法、设备及存储介质
Lee et al. PCA in ERP environment using the misuse detection system design and implementation of RBAC permissions

Legal Events

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

Payment date: 20151105

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161103

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170927

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20191031

Year of fee payment: 8