KR20050121778A - 데이터베이스 시스템의 감사, 통제 방법 및 시스템 - Google Patents

데이터베이스 시스템의 감사, 통제 방법 및 시스템 Download PDF

Info

Publication number
KR20050121778A
KR20050121778A KR1020040046848A KR20040046848A KR20050121778A KR 20050121778 A KR20050121778 A KR 20050121778A KR 1020040046848 A KR1020040046848 A KR 1020040046848A KR 20040046848 A KR20040046848 A KR 20040046848A KR 20050121778 A KR20050121778 A KR 20050121778A
Authority
KR
South Korea
Prior art keywords
database
control system
audit
client
query
Prior art date
Application number
KR1020040046848A
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 KR1020040046848A priority Critical patent/KR20050121778A/ko
Publication of KR20050121778A publication Critical patent/KR20050121778A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 데이터베이스 시스템에 대한 사전, 사후 감사 와 접근 통제 방법 및 시스템에 관한 발명으로 클라이언트에서 데이터베이스 시스템에 대한 접근을 데이터베이스 감사 통제 시스템을 통해서만 데이터베이스 시스템에 접속을 허용 하고 데이터베이스 감사 통제 시스템은 서로 다른 공급자가 제공한 다수의 데이터베이스 시스템을 통합 관리함으로써 다수의 데이터베이스 시스템을 통제 하는 방법에 관한 것이다.
본 발명은 데이터베이스 시스템 자체적으로 관리하고 있는 사용자 계정을 삭제한 후 데이터베이스에 대한 접근 경로를 데이터베이스 감사 통제 시스템에게만 허용한 후 데이터베이스 감사 통제 시스템의 통제를 받는 클라이언트 통제 시스템을 클라이언트에 제공하여 데이터베이스에 대한 접근을 데이터베이스 감사 통제 시스템에 의해서 통제될 수 있도록 하는 발명에 관한 것이다.
데이터베이스 감사 통제 시스템을 통해 다수의 공급자가 제공한 데이터베이스에 동일한 인터페이스(INTERFACE)로 접근하여 데이터베이스의 정보를 조회, 수정, 삭제, 추가 등의 질의를 포함한 DML문의 접근 유효성 통제와 데이터베이스 구조의 변형을 가져오는 DDL문의 실행 권한 통제를 통해 유효한 질의에 대해서만 데이터베이스 시스템에 질의문 실행을 허용하고 실행 권한이 없는 경우 데이터베이스 감사 통제 시스템을 통해 사전 승인을 득한 후 데이터베이스 시스템에서 질의문의 실행을 허용한다.
본 발명은 데이터베이스 시스템의 저장 프로시져(Stored Procedure), 기능(Function), 뷰(View), 테이블(Table) 및 테이블의 컬럼(Column) 단위로 접근 및 실행 통제를 실시 하며 주요 컬럼의 데이터에 대해서는 데이터베이스 시스템의 자료 변형 없이 검색 결과를 암호화하여 클라이언트 시스템에 암호화된 검색결과를 제공하여 정보유출의 위험성을 차단하며 또한, 데이터베이스 시스템에 정보의 추가, 삭제, 수정 등의 질의에 대해서는 데이터베이스 시스템의 SQL문 실행의 사전 이미지, 사후 이미지를 생성을 통해 정보 유출 사고 발생시 사후 감사를 수행할 수 있는 기능을 포함 한다.
본 발명은 다수의 데이터베이스 공급자의 데이터베이스 시스템에 관계 없이 동일한 절차와 방법에 의해 다수의 데이터베이스 시스템의 감사 및 접근 통제, SQL문의 사전 통제, 사후 감사 기능을 포함 한다.

Description

데이터베이스 시스템의 감사, 통제 방법 및 시스템 { method and system for audit and control database system }
본 발명은 데이터베이스 시스템의 접근 통제 및 데이터베이스 SQL문의 사전 감사, 사후 감사를 통해 정보시스템 자원의 유출 및 데이터베이스 시스템의 데이터에 대한 무결성을 통제하는 방법 과 정보 유출에 따른 감사 기능에 관한 것이다. 일반적으로 기업의 정보처리를 위해 데이터베이스 시스템이 오라클(ORACLE), 마이크로소프트(MS), 사이베이스(SYBASE) 등의 다수의 데이터베이스 공급자가 제공한 데이터베이스 시스템에 의해 정보처리시스템을 운영하고 있다. 한편, 데이터베이스 시스템에 대한 접근통제 방법은 각각의 데이터베이스 공급자가 제공하는 사용자 계정관리 기능에 의해 데이터베이스 자원에 대한 접근 관리를 하고 있다. 이러한 사용자의 계정(Login ID)과 비밀번호(password)에 의해 통제 방법은 사용자 계정이나 비밀번호가 노출 되었을 시 치명적인 보안의 문제점을 내포하고 있다. 또한 각각의 데이터베이스 공급자가 제공한 데이터베이스별로 사용자 계정을 관리하여야 하기 때문에 데이터베이스 관리자가 개인별 계정을 관리하고 접근 권한을 주는데 한계가 있다. 이러한 개인별 데이터베이스 계정관리의 어려움으로 인해 한 개의 데이터베이스 계정을 여러 명이 공유에 의한 접근의 허용하였을 시 정보의 유출 및 데이터베이스의 무결성이 회손 되면 발생원인을 추적하는 것이 불가능 하며 데이터베이스의 계정만 있으면 아무런 통제 절차 없이 데이터베이스 시스템에 접근하여 정보를 검색하여 이를 검색자의 개인 저장장치에 별도로 저장하는 것이 가능하게 되어 정보 보호에 문제점이 발생하게 되고 또한 정보 유출 사고 발생시 사후 추적에 의한 정보 유출자를 찾는데 한계가 있다.
상기한 문제점을 해결하기 위해서 본 발명은 기업의 정보처리 시스템내의 모든 데이터베이스 시스템에 대한 접근 통제와 데이터베이스 질의에 대한 사전 감사, 사후 감사를 하는 데이터베이스 감사 통제 시스템을 데이터베이스 시스템과 클라이언트 사이에 설치를 하고 클라이언트에는 데이터베이스 감사 통제 시스템과 통신하는 별도의 클라이언트 통제 시스템을 설치하도록 하여 클라이언트에서 데이터베이스 시스템에 접근 하기 위해 서는 데이터베이스 감사 통제 시스템의 통제를 받는 방법을 제시하는 것을 목적으로 한다.
또한, 클라이언트에 설치되는 클라이언트 통제 시스템에 의한 데이터베이스 자원 검색 및 자원의 수정에 따른 정보 유출의 위험성을 줄이기 위한 클라이언트 통제 시스템에 암호화된 자료를 전송하는 방법을 제공하는 것을 목적으로 한다.
또한, 데이터베이스 시스템에 접근 및 실행에 대한 사전 통제 와 사후 감사를 통해 데이터베이스 자원 보호에 대한 방법을 제공하는 것을 목적으로 한다.
또한, 각각의 데이터베이스 벤더별로 상이한 계정에 대한 데이터베이스 자원의 권한 관리 체계를 데이터베이스 시스템의 벤더 구분 없이 통합 관리 체계를 구현하는 방법을 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위한 수단으로서의 본 발명은 현재 데이베이스 시스템별로 부여된 사용자 계정을 삭제하여 기존의 SQL문 실행 툴을 이용한 접근을 차단한 후 데이터베이스 시스템과 클라이언트의 클라이언트 통제 시스템 사이에 미들웨어(Middleware)인 데이터베이스 감사 통제 시스템을 설치 하여 클라이언트 통제 시스템은 반드시 데이터베이스 감사 통제 시스템을 통해서만 질의를 할 수 있는 구조를 갖게 한다. 데이터베이스 감사 통제 시스템은 상이한 데이터베이스 공급자인 오라클(ORACLE), 마이크로소프트(MS) 등의 RDBMS 데이터베이스 시스템에 대한 접근 통제를 하게 된다. 이를 위해 데이터베이스 감사 통제 시스템은 각각의 데이터베이스 시스템별로 다수의 연결(CONNECTION)을 연결 풀(CONNECTION POOL)을 통한 연결(CONNECTION)을 확보 한 후 클라이언트 통제 시스템의 요청에 의해 클라이언트 통제 시스템에 연결(CONNECTION)을 전달하여 준다. 클라이언트 통제 시스템은 데이터베이스 감사 통제 시스템에서 전달 받은 데이터베이스 연결(CONNECTION)에 의해 해당 데이터 베이스 시스템에 질의를 하는 구조를 갖게 된다.
또한, 상기한 데이터베이스 접근통제 방법은 클라이언트 통제 시스템이 데이터베이스 감사 통제 시스템에 접속하여 데이터베이스 감사 통제 시스템 자체의 사용자 인증을 하는 단계; 데이터베이스 감사 통제 시스템에 의해 사용자의 데이터베이스 자원 사용 권한을 검사하여 사용자가 접속 가능한 데이터베이스 시스템을 제한하는 단계; 클라이언트가 데이터베이스 시스템에 접속하기 위해서 데이터베이스 감사 통제 시스템으로부터 해당 데이터베이스 시스템의 연결(CONNECTION)을 받는 단계; 클라이언트 통제 시스템에서 데이터베이스 감사 통제 시스템으로 전송된 SQL문을 파싱(PARSING)하여 테이블(TABLE), 저장 프로시져(Stored Procedure), 뷰(View), 함수(Function) 등으로 분리한 후 사용자별 권한을 분석한 후 SQL문을 데이터베이스 시스템에 질의가능한지를 판단하는 단계; SQL문이 사용자 권한에 유용하지 않은 경우 데이터베이스 감사 통제 시스템을 통해 승인 절차를 득한 후 데이터베이스 시스템에 질의하는 단계; 데이터베이스 시스템으로부터의 질의 결과 중 미리 보안 등급이 정의된 컬럼의 데이터에 대해서는 암호화 하여 클라이언트 검색 결과 화면에 검색결과를 표시 단계; SQL문이 INSERT, UPDATE, DELETE문인 경우 데이터베이스 질의의 사전 이미지, 사후 이미지를 저장하는 단계를 포함하는 것을 특징으로 한다.
또한 클라이언트 통제 시스템에서 데이터베이스 감사 통제 시스템으로 전송된 SQL문을 파싱(PARSING)하여 권한 검사하는 단계는 SQL문의 유형을 판단하여 DML(Data Manipulation Language)인지 DDL(Data Definition Language)인지를 분류하는 단계; SQL문이 DML인 경우 INSERT, UPDATE, DELETE, SELECT문에 따라 분류 하는 단계; SQL문에서 테이블(Table), 뷰(View), 저장 프로시져(Stored Procedure), 함수(Function) 등을 추출하는 단계; 데이터베이스 감사 통제 시스템이 관리하는 사용자 권한 정보를 이용하여 SQL문의 사용권한을 체크 하는 단계를 추가적으로 포함하는 것을 특징으로 한다.
또한 클라이언트 통제 시스템이 데이터베이스 시스템으로부터 전송 받은 검색 결과를 암호화 하는 단계는 데이터베이스 시스템 관리자에 의해 테이블별 컬럼의 암호화 등급을 부여하는 단계; 클라이언트 통제 시스템으로부터 데이터베이스 감사 통제 시스템에 전달된 SQL문을 파싱(PARSING)하여 컬럼(COLUMN)별 암호화 등급과 비교하는 단계; 등급에 따라 대칭 키에 의한 암호화 하는 방법, 검색된 결과 ROW의 컬럼(COLUMN) 정보를 서로 다른 ROW에 위치시켜 자료의 종속성을 없애는 방법, 컬럼의 특정위치 문자를 암호화 하는 방법등에 의한 암호화 단계를 추가적으로 포함하는 것을 특징으로 한다.
또한, 데이터베이스 감사 통제 시스템은 각각의 데이터베이스의 연결 풀(CONNECTION POOL)을 관리하는 기능, 클라이언트 통제 시스템으로부터 전달 받은 SQL문을 파싱(PARSING)하여 SQL문의 실행 권한을 검증하는 기능, 데이터베이스 시스템에 접속할 사용자 관리 기능, JDBC(JAVA DATABASE CONNECTION)에 의한 서로 다른 데이터베이스 공급자의 데이터베이스 시스템에 접속하는 기능, SQL문 파싱(PARSING) 결과에 의한 승인 절차 기능, INSERT, UPDATE, DELETE SQL문에 대한 사전 이미지, 사후 이미지 저장 기능, 클라이언트 통제 시스템에 의해 질의 된 SQL문에 대한 사후 감사를 위한 로깅(LOGGING) 기능을 포함하는 것을 특징으로 한다.
또한, SQL문이 사용자 권한에 유용하지 않은 경우 승인 절차를 득하는 단계는 데이터베이스 감사 통제 시스템이 SQL문을 분석하여 승인이 필요한 SQL문인 경우 클라이언트 통제 시스템에 승인이 필요하다는 메시지를 보내는 단계; 클라이언트 질의 응용프로그램으로 SQL문을 실행 의뢰한 사용자는 결재 선을 지정하여 결재 문서를 상신 하는 단계; 결재문서의 결재 선에 있는 사용자는 데이터베이스 감사 통제 시스템을 통해 승인처리를 하는 단계; 데이터베이스 감사 통제 시스템은 승인된 결과에 의해 데이터베이스 시스템에 질의를 하여 결과를 클라이언트 통제 시스템에 전달하는 단계를 포함하는 것을 특징으로 한다.
또한, 기존에 운영중인 응용 프로그램에 대한 통제를 위해 기존의 응용 프로그램이 데이터베이스 시스템에 질의한 SQL문의 로깅(LOGGING)을 위해서 별도의 데이터베이스 감사 통제 시스템과 인터페이스(INTERFACE)를 하는 아답터(ADAPTER) 프로그램을 제공하여 기존에 운영되는 응용 프로그램의 데이터베이스 시스템에 연결(CONNECTION) 하는 방법을 변경하게 되면 별도의 응용프로그램의 수정 없이 응용프로그램이 데이터베이스 시스템에 질의한 SQL문에 대한 로깅(LOGGING)을 할 수 있는 방법을 제공하여 기종에 운영중이 응용 프로그램을 사후 감사에 포함시킬 수 있는 것을 특징으로 한다.
또한 본 발명에 적용되는 데이터베이스 시스템은 오라클(ORACLE), 마이크로소프트(MS), 사이베이스(SYBASE)등 상용 RDBMS이며 TCP/IP통신 프로토콜에 의한 통신과 각 데이터베이스 벤더에서 제공하는 JDBC Driver를 이용하는 것을 특징으로 한다.
이하, 본 발명의 가장 바람직한 실시 예를 첨부한 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도1 은 본 발명에 따른 데이터베이스 시스템 감사 통제를 개념적으로 나타낸 구성도로서 데이터베이스 감사 통제는 크게 클라이언트 통제 시스템(110) 과 데이터베이스 감사 통제 시스템(120)으로 구성되어 있다.
클라이언트 통제 시스템(110)은 데이터베이스 시스템(140)에서 기존의 사용자 계정을 삭제 함으로 인해 기존의 사용 질의 툴(QUERY TOOL)을 사용할 수 없는 클라이언트 사용자를 위해 제공되는 클라이언트 통제 시스템으로 기본적으로 기존의 질의 툴(QUERY TOOL)이 갖는 기능에 SQL문에 대한 사전 통제 및 사후 감사 기능을 포함하고 있다.
데이터베이스 감사 통제 시스템(120)은 클라이언트와 데이터베이스(140) 사이에 위치하여 클라이언트 통제 시스템(110)에서 질의한 SQL문을 사전 통제 절차에 의해 통제한 후 통제를 통과한 질의에 대해서 데이터베이스 시스템에 질의를 할 수 있도록 클라이언트 통제 시스템(110a~110n)에 데이터베이스 연결(CONNECTION)을 넘겨주어 데이터베이스 시스템에 대한 질의를 허용한다.
데이터베이스 감사 통제 시스템(100)은 여러 공급자가 제공한 다수의 데이터베이스 시스템(140a~140n)에 대해 동일한 방법으로 데이터베이스 자원(RESOURCE)에 대한 권한 설정 및 통제 절차를 수립하고 각각의 데이터베이스의 연결(CONNECTION)은 데이터베이스 감사 통제 시스템(120)에 연결 풀(CONNECTION POOL)(121a~121n))을 설정하여 관리 하며 데이터베이스 감사 통제 시스템(120)과 데이터베이스 시스템(140a~140n)과의 통신은 JDBC(130) DRIVER를 이용한다.
도 2 는 발명에 따른 클라이언트 통제 시스템(110)과 서버 감사 통제 시스템(120)의 응용 프로그램의 모듈 구성도로서,
클라이언트 통제 시스템(110)의 질의 생성 및 실행의뢰(111) 모듈은 데이터베이스 감사 통제 시스템(100)의 데이터베이스 사전(DICTIONARY)(121b)모듈을 통해 클라이언트 사용자에게 권한이 있는 데이터베이스 자원을 데이터 리소스별 권한관리(121e)를 통해 전달 받은 후 전달 받은 자원에 대해서만 질의를 생성하게 하여 권한이 없는 데이터베이스 자원의 사용을 원천적으로 차단한다. 클라이언트 통제 시스템(110)에서 생성된 질의가 데이터베이스 감사 통제 시스템(120)에 제출되면 데이터베이스 감사 통제 시스템(120)의 질의 파싱(PARSING)(121c)모듈에 의해 SQL문의 종류 및 사용되는 자원을 추출하여 사용되는 자원 중에 사전 통제가 필요한 자원이 있을 경우 클라이언트 통제 시스템(110)에 결재가 필요하다는 메시지를 전달한다. 이후 클라이언트 통제 시스템은 문서 상신 및 결재처리(113)모듈과 질의 및 권한 결재관리(121d)를 이용하여 결재문서를 상신 하고 결재를 득한 후 다시 데이터베이스 감사 통제 시스템(120)에 재 실행의뢰를 하면 데이터베이스 감사 통제 시스템(120)은 클라이언트 통제 시스템에 질의를 허가 하고 데이터베이스 연결관리(121a)를 통해 데이터베이스 연결을 클라이언트 통제 시스템(110)에 사용권한을 부여한다. 클라이언트 통제 시스템(110)은 데이터베이스 접속 관리(115)를 통해 데이터베이스 시스템(140a~140n)에 질의를 하고 결과를 전달 받은 후 검색된 컬럼(COLUMN)의 암호화 등급에 따라 데이터 암호화(112)모듈에 의해 암호화 처리를 하여 데이터베이스 리소스 정보 표시(116)을 통해 사용자에게 결과를 표시한다.
데이터베이스 감사 통제 시스템(120)의 로그, 사전.사후 이미지관리(122a)를 통해 클라이언트 통제 시스템(110) 및 아답터(ADAPTER)를 통해 실행된 SQL문의 로그를 저장하고 INSERT, UPDATE, DELETE문에 대해서는 사전 이미지, 사후 이미지를 저장하여 자료 유출 사고 발생시 사후추적(122b)를 통해 자료 유출에 대한 감사를 수행할 수 있다.
또한 데이터베이스 감사 통제 시스템(120)은 데이터베이스 시스템이 관리하던 사용자를 통합된 형태로 데이터베이스 감사 통제 시스템(120)의 사용자 관리(123a)를 통해 관리를 하게 되며 클라이언트 시스템의 접근 권한을 클라이언트 연결관리(123b)를 통해 IP 어드레스 및 인증 관리를 하게 되고 연결 풀 관리(123c)를 통해 다수의 데이터베이스(140a~140n)의 연결을 관리하며 데이터베이스 감사 통제 시스템(120)에서 사용되는 정보는 별도의 데이터베이스 통제 DBMS(150)을 통해 관리한다.
상기 데이터베이스 감사 통제 시스템의 주요 업무 흐름에 대해 도 3, 도 4, 도 5, 도6을 참조하여 설명한다.
도3 은 데이터베이스 시스템의 사전 감사 통제의 흐름도 이다
클라이언트 통제 시스템(110)에 의해 SQL문을 작성(S100)을 하여 데이터베이스 감사 통제 시스템(120)에 제출(S110)을 하게 되면 데이터베이스 감사 통제 시스템(120)은 SLQ문 파싱(S120)을 하여 SQL문에 사용되는 자원을 테이블(TABLE), 저장 프로세져(STORED PROCEDURE), 함수(FUNCTION), 뷰(VIEW) 등의 자원을 추출하게 된다. 추출된 자원에 대해 자원별 권한 비교(S130)을 통해 사용권한의 유무를 판단하여 사용권한이 없으면 클라이언트 통제 시스템(110)에 결재 문서 작성 통지를 한 후 결재 문서를 작성(S140)을 한 후 결재 선에 따라 결재진행(S150)을 하여 결재완료 여부(S160)를 판단하여 결재가 완료 되면 다시 SQL파싱(S120)하여 SQL문의 유형을 분석하게 된다. SQL문을 분석한 후 SQL문 유형비교(S130)를 하여 SQL문의 종류가 SELECT문이나 DDL(DATA DEFINITION LANGRAGE)인 경우 데이터베이스 시스템에 SQL문을 실행(S140)한 후 SQL문의 로그를 저장(S150)하여 사후 감사에 대비 한다. 반면 SQL문 유형비교(S130)에서 SQL문의 종류가 INSERT, UPDATE, DELETE인 경우 SQL문의 사전이미지 질의를 추출하여 실행한 후 사전 이미지를 저장(S131)한 후 SQL문을 실행(S132)한다. SQL문 실행 후 추출된 사전이미지 질의를 이용하여 동일한 질의를 실행시켜 사후 이미지를 저장(S133)하여 사후 감사에 대비 한다.
도4 는 데이터베이스 시스템의 사후 감사 통제의 흐름도 이다.
데이터베이스 시스템의 정보의 유출 및 자료 변경 사고의 발생시 데이터베이스 감사 통제 시스템에 사고 발생 접수(S200)를 하게 되면 사고의 유형을 비교(S210)을 하여 자료 유출 사고인 경우 유출 컬럼(COLUMN)별 SQL문 로그검색(S220)을 하여 사고 발생 자료의 검색한 사용자 및 시각 등의 정보를 검색(S240)한다. 또한 클라이언트 통제 시스템(110)을 통해 외부 저장매체로 데이터를 EXPORT한 로그를 검색(S230)하여 사고 발생 데이터의 EXPORT한 사용자 및 시각을 검색(S240)한다. 또한 해당 SQL문 실행에 승인을 해준 승인자를 검색(S250) 하여 공모 여부를 감사하는데 사용한다.
반면 사고의 유형을 비교(S210)결과 데이터 변경 사고인 경우 변경된 컬럼(COLUMN)별 로그검색(S211)을 통해 로그를 분석하고 자료변형 SQL에 대한 사전 이미지, 사후이미지 분석(S212)를 통해 해당사고의 SQL문인지 분석하여 자료 변형 사용자를 검색(S213)한다. 또한 해당 SQL문 실행에 승인을 해준 승인자를 검색(S250) 하여 공모 여부를 감사하는데 사용한다.
도5 는 데이터베이스 시스템의 정보 검색 시 중요 컬럼에 대한 암호화 처리에 대한 흐름도 이다.
클라이언트 통제 시스템(110)을 통해 SQL문을 실행(S300) 후 실행결과 컬럼(COLUMN) 중에 보안대상 컬럼이 있는지(S310)를 검사하여 보안대상 컬럼이 있을 경우 데이터베이스 감사 통제 시스템(120)으로 부터 암호화 방법을 전달 받아 암호화 방법을 결정(S320)하여 대칭 키에 의한 암호화(S330)인 경우 데이터베이스 감사 통제 시스템으로부터 대칭 키를 전송 받아 대칭 키에 의한 암호화를 한다. 또한, 암호화 방법이 종속성 제거인 경우 검색 컬럼(COLUMN)의 종속성을 제거(S340)하기 위해 검색된 데이터베이스의 로(ROW)에 종속되어 있는 컬럼(COLUMN)을 로(ROW)간에 자료 교환을 하여 컬럼의 종속성을 제거한다. 또한, 암호화 방법이 문자 치환인 경우 컬럼(COLUMN)별 미리 정의된 위치의 문자를 치환(S350)한다. 이렇게 암호화된 데이터를 클라이언트 화면에 표시(S341)하여 중요자료의 유출 위험성을 제거한다.
도6 은 SQL문 분석하여 데이터베이스 시스템 감사 통제 시스템에 설정된 SQL문의 사용 권한 체크 흐름도이다.
데이터베이스 감사 통제 시스템(120)을 통해 각각의 데이터베이스 사전(DICTIONARY)를 검색하여 사용자별 데이터베이스 자원에 대해 권한을 설정(S400) 한다. 이후 클라이언트 통제 시스템(110)으로부터 SQL문을 접수 받아 SQL문 파싱(PARSING)(S410)을 한 후 SQL문이 사용하는 저장 프로시져(STORED PROCEDURE), 뷰(VIEW)의 사용자에 대한 권한을 체크(S420)하여 권한이 있는 경우 SQL문이 사용하는 테이블(TABLE)의 사용자에 대한 권한 체크(S430)를 하여 권한이 있는 경우 SQL문이 사용하는 컬럼(COLUMN)의 사용자에 대한 권한 체크(S440)을 한다. 상기한 체크 모두 권한이 있는 경우 클라이언트 통제 시스템(110)에 권한 있음을 통지(S450)하고 상기한 체크 중에 권한이 없는 경우 클라이언트 통제 시스템(110)에 권한 없음을 통지(S421) 한다.
본 발명은 다양한 벤더에서 제공하는 상용 데이터베이스 시스템의 종류에 관계없이 클라이언트 사용자의 데이터베이스 자원(Resource)에 대한 권한 설정을 통해 데이터베이스 시스템 자원 사용에 대한 통제 및 자원 사용에 대한 감사가 가능하며, 클라이언트 사용자가 데이터베이스에 질의하는 SQL문을 분석하여 사전에 데이터베이스 시스템의 자원에 대한 통제를 할 수 있다.
또한, 각각의 데이터베이스 시스템에 질의 된 SQL문의 로깅(LOGGING)과 데이터베이스 시스템에 질의한 INSERT, UPDATE, DELETE SQL문에 대해서는 별도의 사전 이미지, 사후 이미지를 저장하여 각각의 데이터베이스 시스템에 대한 사후 감사가 가능해 지는 장점이 있다.
또한, 상기한 데이터베이스 시스템 접근에 대한 사전 통제, 사후 감사를 통해 내부 또는 외부의 데이터베이스 시스템의 운영자 및 응용 프로그램 개발자에 대한 자료유출 및 도용을 예방하고, 자료유출 및 도용사고 발생시 이를 추적하여 사고 발생자를 색출할 수 있는 장점이 있다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지로 치환, 변형 및 변경이 가능하므로 전술한 실시 예 및 첨부된 도면에 한정되는 것이 아니다.
도 1 은 본 발명에 따른 데이터베이스 시스템 감사 통제를 개념적으로 나타낸 구성도
도 2 는 본 발명에 따른 클라이언트 통제 시스템과 서버 감사 통제 시스템의 응용프로그램의 모듈 구성도
도 3 은 본 발명에 따른 데이터베이스 시스템의 사전 감사 통제의 흐름도
도 4 는 본 발명에 따른 데이터베이스 시스템의 사후 감사 통제의 흐름도
도5 는 본 발명에 따른 데이터베이스 시스템의 정보 검색 시 중요 컬럼에 대한 암호화 처리에 대한 흐름도
도 6 은 본 발명에 따른 클라이언트가 질의한 SQL문을 분석하여 데이터베이스 감사 통제 시스템에 설정된 SQL문의 사용 권한 체크 흐름도

Claims (6)

  1. 기존에 운영중인 데이터베이스 시스템에서 클라이언트 사용자를 위해 부여된 사용자 계정을 삭제하여 기존에 클라이언트에서 사용중인 상용 데이터베이스 질의 툴(TOOL)을 사용할 수 없게 하는 방법; 및
    데이터베이스 시스템과 클라이언트 사이에 미들웨어(MIDDLEWARE) 시스템인 데이터베이스 감사 통제 시스템을 설치한 후 데이터베이스 감사 통제 시스템은 데이터베이스 시스템간에 연결을 연결 풀(CONNECTION POOL)에 의한 관리에 의해 모든 데이터베이스의 연결(CONNECTION)을 관리, 배포하고 클라이언트 사용자에게는 데이터베이스 감사 통제 시스템과 통신을 하는 별도의 클라이언트 통제 시스템을 제공하여 데이터베이스로의 접근을 클라이언트 통제 시스템과 데이터베이스 감사 통제 시스템을 통한 접근만을 허용하여 클라이언트 사용자가 데이터베이스 시스템의 자원인 테이블(TABLE), 저장 프로시져(STORED PROCEDURE), 함수(FUNCTION), 뷰(VIEW) 등의 자원에 접근 요구 시 데이터베이스 감사 통제 시스템을 통해 사용자 인증, 자원별 권한, 질의문의 권한, 사전 승인 등의 데이터베이스 시스템 접근에 대한 사전 통제와 SQL문의 로깅(LOGGING), INSERT, UPDATE, DELETE 질의에 대해 사전 이미지, 사후 이미지의 생성 및 관리를 통한 사후 감사 방법
  2. 제 1 항에 있어서, 데이터베이스 시스템의 연결(CONNECTION) 관리 수단은
    각각의 데이터베이스 시스템에 데이터베이스 감사 통제 시스템용 계정을 부여한 후 데이터베이스 감사 통제 시스템이 기동 되면서 데이터베이스 감사 통제 시스템이 관리하는 각각의 데이터베이스와 연결을 미리 설정된 개수 만큼 확보하여 데이터베이스 감사 통제 시스템에서 연결 풀(CONNECTION POOL)에 의한 데이터베이스 연결(CONNECTION)을 관리하는 방법; 및
    이후 클라이언트 통제 시스템이 데이터베이스 감사 통제 시스템에 데이터베이스 질의 요청 발생시 데이터베이스 감사 통제 시스템은 연결 풀(CONNECTION POOL)에서 유휴 연결(CONNECTION)을 클라이언트 통제 시스템에 넘겨주는 방법; 및
    클라이언트 통제 시스템의 데이터베이스 시스템에 대한 질의는 데이터베이스 감사 통제 시스템을 통해 먼저 인증 및 권한 검증을 득한 후 미리 설정된 통제 절차를 통과한 질의에 대해서만 클라이언트 통제 시스템은 데이터베이스 감사 통제 시스템으로부터 받은 연결(CONNECTION)을 통해 데이터베이스 시스템에 질의후 질의 결과에 대해서는 데이터베이스 감사 통제 시스템의 통제절차에 따라 질의 결과 데이터의 암호와 및 SQL문의 로깅(LOGGING) 후 클라이언트 통제 시스템에 결과를 표시하는 방법
  3. 제 1 항에 있어서, 사전 접근 통제는
    클라이언트 통제 시스템의 데이터베이스 시스템에 대한 질의 발생시 데이터베이스 감사 통제 시스템은 SQL문을 파싱(PARSING)하여 질의 유형을 분석한 후 승인이 필요한 질의(QUERY)에 대해서는 승인 처리 절차에 의해 클라이언트 통제 시스템의 사용자가 SQL문과 함께 SQL문의 실행 원인, 사유 등을 기술하여 결재 문서를 상신 하는 단계;
    상신 문서에 지정된 결재 선에 따른 결재 처리 절차에 따른 승인 처리 및 승인 완료 후 데이터베이스 감사 통제 시스템에 의해 질의를 실행하는 단계;
    데이터베이스 감사 통제 시스템에 의해 사전 이미지, 사후 이미지 생성 및 관리하는 사후 감사 방법
  4. 제 1 항에 있어서,사후 감사는
    클라이언트 통제 시스템의 데이터베이스 SQL문을 데이터베이스 감사 통제 시스템에 로깅(LOGGING) 하는 단계;
    관리 대상 테이블(TABLE) 및 컬럼(COLUMN)의 데이터 변경 시 각 데이터 담당자에게 전자메일 및 알림 메시지를 통지하는 단계;
    로깅(LOGGING) 데이터 및 사전 이미지, 사후 이미지를 검색하여 자료의 유출 및 자료의 변경을 역 추적하는 사후 접근 통제 방법
  5. 클라이언트 통제 시스템에서 사용하는 데이터베이스 정보, 테이블(TABLE), 저장 프로시져(STORED PROCEDURE), 함수(FUNCTION) 등의 정보는 데이터베이스 감사 통제 시스템이 각각의 데이터베이스 시스템의 데이터 딕셔너리(DICTIONARY)를 검색하여 클라이언트 통제 시스템에 제공하며 클라이언트 통제 시스템은 이를 근거로 질의를 작성하는 방법
  6. 데이터베이스 시스템을 이용하는 기존의 응용 프로그램이 데이터베이스 시스템에 대한 질의 내용을 로깅(LOGGING)하기 위해 데이터베이스 감사 통제 시스템과 인터페이스(INTERFACE) 할 수 있는 아답터(ADAPTER)를 제공하여 기존의 응용 프로그램이 데이터베이스 시스템에 질의한 SQL문을 로깅(LOGGING) 할 수 있도록 하는 방법
KR1020040046848A 2004-06-23 2004-06-23 데이터베이스 시스템의 감사, 통제 방법 및 시스템 KR20050121778A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040046848A KR20050121778A (ko) 2004-06-23 2004-06-23 데이터베이스 시스템의 감사, 통제 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040046848A KR20050121778A (ko) 2004-06-23 2004-06-23 데이터베이스 시스템의 감사, 통제 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20050121778A true KR20050121778A (ko) 2005-12-28

Family

ID=37293777

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040046848A KR20050121778A (ko) 2004-06-23 2004-06-23 데이터베이스 시스템의 감사, 통제 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR20050121778A (ko)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060058546A (ko) * 2004-11-25 2006-05-30 펜타시큐리티시스템 주식회사 데이터베이스 암호화 및 접근 제어 방법 및 장치
KR100921158B1 (ko) * 2007-12-21 2009-10-12 엔에이치엔(주) 데이터베이스 관리 방법 및 시스템
KR100948873B1 (ko) * 2007-12-27 2010-03-24 주식회사 아이넵 데이터베이스 보안을 위한 데이터베이스 보안관리장치와 그제어방법
KR100976591B1 (ko) * 2007-12-10 2010-08-17 한국전자통신연구원 대용량의 희소 테이블의 접근 권한을 관리하는 컬럼 기반데이터 관리 시스템 및 그 방법.
KR101006413B1 (ko) * 2009-02-02 2011-01-06 주식회사 유섹 컨택센터 고객의 개인정보 보호 방법 및 그 시스템
WO2013024927A1 (ko) * 2011-08-12 2013-02-21 Heo Jun 오픈 데이터베이스 관리 시스템
KR101365464B1 (ko) * 2012-03-05 2014-02-20 네이버비즈니스플랫폼 주식회사 데이터베이스 미들웨어를 이용한 데이터 관리 시스템 및 방법
KR101440751B1 (ko) * 2014-02-13 2014-09-17 그루솔루션(주) Db 네트워크 프로토콜의 dml 암복호화 처리를 통한 db 암호화 장치 및 방법
KR20170052266A (ko) * 2015-11-04 2017-05-12 에스케이텔레콤 주식회사 질의 및 데이터 경로 관리장치 및 컴퓨터 프로그램
US20170293619A1 (en) * 2016-04-11 2017-10-12 Oracle International Corporation Simulating data definition triggers in a database system
CN113468216A (zh) * 2021-06-02 2021-10-01 广东电网有限责任公司电力调度控制中心 一种基于数据自动化信息处理技术的审计检索查询方法
CN114664398A (zh) * 2022-02-28 2022-06-24 上海深至信息科技有限公司 一种医疗数据库系统

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060058546A (ko) * 2004-11-25 2006-05-30 펜타시큐리티시스템 주식회사 데이터베이스 암호화 및 접근 제어 방법 및 장치
KR100976591B1 (ko) * 2007-12-10 2010-08-17 한국전자통신연구원 대용량의 희소 테이블의 접근 권한을 관리하는 컬럼 기반데이터 관리 시스템 및 그 방법.
KR100921158B1 (ko) * 2007-12-21 2009-10-12 엔에이치엔(주) 데이터베이스 관리 방법 및 시스템
KR100948873B1 (ko) * 2007-12-27 2010-03-24 주식회사 아이넵 데이터베이스 보안을 위한 데이터베이스 보안관리장치와 그제어방법
KR101006413B1 (ko) * 2009-02-02 2011-01-06 주식회사 유섹 컨택센터 고객의 개인정보 보호 방법 및 그 시스템
WO2013024927A1 (ko) * 2011-08-12 2013-02-21 Heo Jun 오픈 데이터베이스 관리 시스템
KR101365464B1 (ko) * 2012-03-05 2014-02-20 네이버비즈니스플랫폼 주식회사 데이터베이스 미들웨어를 이용한 데이터 관리 시스템 및 방법
KR101440751B1 (ko) * 2014-02-13 2014-09-17 그루솔루션(주) Db 네트워크 프로토콜의 dml 암복호화 처리를 통한 db 암호화 장치 및 방법
KR20170052266A (ko) * 2015-11-04 2017-05-12 에스케이텔레콤 주식회사 질의 및 데이터 경로 관리장치 및 컴퓨터 프로그램
US20170293619A1 (en) * 2016-04-11 2017-10-12 Oracle International Corporation Simulating data definition triggers in a database system
US11797495B2 (en) * 2016-04-11 2023-10-24 Oracle International Corporation Simulating data definition triggers in a database system
CN113468216A (zh) * 2021-06-02 2021-10-01 广东电网有限责任公司电力调度控制中心 一种基于数据自动化信息处理技术的审计检索查询方法
CN114664398A (zh) * 2022-02-28 2022-06-24 上海深至信息科技有限公司 一种医疗数据库系统

Similar Documents

Publication Publication Date Title
US10108813B2 (en) Query conditions-based security
US7350226B2 (en) System and method for analyzing security policies in a distributed computer network
US7363650B2 (en) System and method for incrementally distributing a security policy in a computer network
JP4398371B2 (ja) リレーショナル・データベースへのアクセスを制御する方法
CA2407628C (en) System and method for determining user identity fraud using similarity searching
US8566908B2 (en) Database application security
US20080263640A1 (en) Translation Engine for Computer Authorizations Between Active Directory and Mainframe System
CN101208702A (zh) 计算机执行的认证和授权体系结构
JPH04310188A (ja) 文書/画像ライブラリのためのライブラリサービス方法
CN109684854B (zh) 一种适用于企业管理信息系统的底层数据加密方法
Roichman et al. Fine-grained access control to web databases
KR20050121778A (ko) 데이터베이스 시스템의 감사, 통제 방법 및 시스템
JP2003280990A (ja) 文書処理装置及び文書を管理するためのコンピュータプログラム
CN113468576B (zh) 一种基于角色的数据安全访问方法及装置
JP2019503021A (ja) システム環境及びユーザ行動分析基盤の自己防御保安装置とその作動方法
US8132261B1 (en) Distributed dynamic security capabilities with access controls
KR100868037B1 (ko) 데이터베이스 접속 통제 방법 및 시스템
CN115757393A (zh) 多租户模式下租户扩展属性合并方法及其多租户系统
KR101025029B1 (ko) 인증서 기반의 데이터베이스 통합 보안시스템 구축방법
JP2020077339A (ja) 情報管理プログラム、情報管理方法、情報管理装置、情報処理プログラム、情報処理方法及び情報処理装置
CN113343257A (zh) 一种计算机软件保护方法
Khan et al. Modernization Framework to Enhance the Security of Legacy Information Systems.
US8266177B1 (en) Empirical database access adjustment
CN110427770A (zh) 一种支持业务安全标记的数据库访问控制方法及系统
US20240161883A1 (en) Healthcare data access system for improving healthcare data usability for clinicians and patients

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
E601 Decision to refuse application