KR101285729B1 - 데이터베이스 보안 시스템 및 방법 - Google Patents
데이터베이스 보안 시스템 및 방법 Download PDFInfo
- Publication number
- KR101285729B1 KR101285729B1 KR1020110111552A KR20110111552A KR101285729B1 KR 101285729 B1 KR101285729 B1 KR 101285729B1 KR 1020110111552 A KR1020110111552 A KR 1020110111552A KR 20110111552 A KR20110111552 A KR 20110111552A KR 101285729 B1 KR101285729 B1 KR 101285729B1
- Authority
- KR
- South Korea
- Prior art keywords
- query
- server
- white list
- security
- list
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
Abstract
데이터베이스 보안 시스템은 클라이언트로부터 서비스 요청을 받아 서비스의 제공을 위해 질의문을 생성하는 애플리케이션 서버 및 질의문을 미리 지정된 조건에 따라 화이트 리스트 또는 블락 리스트에 등록하고, 상기 화이트 리스트 및 상기 블락 리스트를 포함하는 정책 정보를 생성하는 보안 서버를 포함하되, 상기 애플리케이션 서버는 상기 정책 정보에 따라 질의문을 데이터베이스 서버로 전송하거나 질의문에 따른 질의를 차단한다.
Description
본 발명은 데이터베이스 보안 기술에 관련된 것으로서, 상세하게는 애플리케이션 서버와 연동되어 동작하는 보안 기술에 관한 것이다.
본 발명의 배경 기술로서는 한국 공개특허공보 10-2010-0133713호가 있다.
본 발명은 애플리케이션 서버 내부에서 데이터베이스에 대한 질의를 모니터링하는 데이터베이스 보안 시스템을 제공하고자 한다.
본 발명의 일 측면에 따르면, 클라이언트로부터 서비스 요청을 받아 서비스의 제공을 위해 질의문을 생성하는 애플리케이션 서버; 및 상기 질의문을 미리 지정된 조건에 따라 화이트 리스트 또는 블락 리스트에 등록하고, 상기 화이트 리스트 및 상기 블락 리스트를 포함하는 정책 정보를 생성하는 보안 서버를 포함하되, 상기 애플리케이션 서버는 상기 정책 정보에 따라 상기 질의문을 데이터베이스 서버로 전송하거나 상기 질의문에 따른 질의를 차단하는 것을 특징으로 하는 데이터베이스 보안 시스템이 제공된다.
데이터베이스 보안 시스템을 구성하는 애플리케이션 서버에 있어서, 클라이언트의 서비스 요청에 따라 애플리케이션을 실행하는 애플리케이션 수행부; 보안 서버로부터 수신한 정책 정보를 참조하여 애플리케이션의 실행에 따라 발생한 질의문을 데이터베이스 서버로 전송할 지 판단하는 판단부; 및 상기 판단부의 판단 결과에 따라 상기 질의문을 상기 데이터베이스 서버로 전송하거나 상기 질의문에 따른 질의를 차단하는 차단부를 포함하는 애플리케이션 서버가 제공된다.
상기 정책 정보는 화이트 리스트 및 블락 리스트를 포함하고, 상기 판단부는 상기 질의문이 상기 화이트 리스트에 포함되는 경우, 상기 질의문을 상기 데이터베이스 서버로 전송하는 것으로 판단하고, 상기 판단부는 상기 질의문이 상기 블락 리스트에 포함되어 있는 경우, 상기 질의문을 상기 데이터 서버로 전송하지 않는 것으로 판단할 수 있다.
상기 판단부는 상기 데이터베이스 서버로부터 상기 질의문에 상응하는 결과값을 수신하는 경우, 상기 질의어의 결과값에 지정된 수 이상의 개인정보가 포함되어 있는 여부에 따라 상기 결과값을 상기 애플리케이션 수행부로 제공하거나 상기 질의문에 대한 질의를 차단할 수 있다.
본 발명의 또 다른 측면에 따르면, 데이터베이스 보안 시스템을 구성하는 보안 서버에 있어서, 애플리케이션 서버로부터 질의문의 등록을 요청 받고, 상기 질의문이 미리 지정된 조건에 만족하는 여부에 따라 상기 질의문을 화이트 리스트 또는 블락 리스트에 등록하는 제어부; 및 상기 화이트 리스트 또는 블락 리스트를 포함하는 정책 정보를 저장하는 저장부를 포함하되, 상기 제어부는 상기 정책 정보를 상기 애플리케이션 서버로 전송하는 것을 특징으로 하는 보안 서버가 제공된다.
상기 제어부는 상기 질의문이 접근정책에 위배되는 여부, 상기 질의문에 해킹패턴이 존재하는 여부, 상기 질의문에 상응하는 결과값에 개인정보가 포함되어 있는 여부 중 하나 이상에 따라 상기 질의문을 화이트 리스트 후보로 등록하거나 상기 질의문을 상기 화이트 리스트에 등록하고, 상기 화이트 리스트 후보로 등록된 상기 질의문에 대한 관리자의 승인 또는 거부를 입력에 따라 상기 질의문을 상기 화이트 리스트 또는 상기 블락 리스트에 등록할 수 있다.
본 발명의 또 다른 측면에 따르면, 데이터베이스 보안 시스템을 구성하는 애플리케이션 서버가 데이터베이스 보안 서비스를 제공하는 방법에 있어서, 클라이언트의 서비스 요청에 따라 애플리케이션을 실행하는 단계; 보안 서버로부터 수신한 정책 정보를 참조하여 애플리케이션의 실행에 따라 발생한 질의문을 데이터베이스 서버로 전송할 지 판단하는 단계; 및 상기 판단부의 판단 결과에 따라 상기 질의문을 상기 데이터베이스 서버로 전송하거나 상기 질의문에 따른 질의를 차단하는 단계를 포함하는 데이터베이스 보안 방법이 제공된다.
상기 정책 정보는 화이트 리스트 및 블락 리스트를 포함하고, 상기 질의문을 데이터베이스 서버로 전송할 지 판단하는 단계는, 상기 질의문이 상기 화이트 리스트에 포함되는 경우, 상기 질의문을 상기 데이터베이스 서버로 전송하는 것으로 판단하고, 상기 질의문이 상기 블락 리스트에 포함되어 있는 경우, 상기 질의문을 상기 데이터 서버로 전송하지 않는 것으로 판단하는 단계일 수 있다.
상기 데이터베이스 보안 방법은 상기 데이터베이스 서버로부터 상기 질의문에 상응하는 결과값을 수신하는 경우, 상기 질의어의 결과값에 지정된 수 이상의 개인정보가 포함되어 있는 여부에 따라 상기 결과값을 상기 애플리케이션 수행부로 제공하거나 상기 질의문에 대한 질의를 차단하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 측면에 따르면, 데이터베이스 보안 시스템을 구성하는 보안 서버가 데이터베이스의 보안 서비스를 제공하는 방법에 있어서, 애플리케이션 서버로부터 질의문의 등록을 요청 받는 단계; 상기 질의문이 미리 지정된 조건에 만족하는 여부에 따라 상기 질의문을 화이트 리스트 또는 블락 리스트에 등록하는 단계; 상기 화이트 리스트 또는 블락 리스트를 포함하는 정책 정보를 저장하는 단계; 및 상기 정책 정보를 상기 애플리케이션 서버로 전송하는 단계를 포함하는 데이터베이스 보안 방법이 제공된다.
상기 질의문을 화이트리스트 또는 블락 리스트에 등록하는 단계는 상기 질의문이 접근정책에 위배되는 여부, 상기 질의문에 해킹패턴이 존재하는 여부, 상기 질의문에 상응하는 결과값에 개인정보가 포함되어 있는 여부 중 하나 이상에 따라 상기 질의문을 화이트 리스트 후보로 등록하거나 상기 질의문을 상기 화이트 리스트에 등록하는 단계; 및 상기 화이트 리스트 후보로 등록된 상기 질의문에 대한 관리자의 승인 또는 거부를 입력에 따라 상기 질의문을 상기 화이트 리스트 또는 상기 블락 리스트에 등록하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 애플리케이션 서버 자체가 데이터베이스 서버로 질의하는 것을 모두 차단하지 않고, 사용자별로 데이터베이스 서버로 질의하는 것을 차단할 수 있다.
본 발명의 일 실시예에 따르면, 질의문을 사용하고자 하는 사용자를 식별할 수 있다.
도 1은 데이터베이스 보안 시스템을 예시한 블록도.
도 2는 데이터베이스 보안 시스템의 애플리케이션 서버를 예시한 블록도.
도 3은 데이터베이스 보안 시스템의 보안 서버를 예시한 블록도.
도 4는 데이터베이스 보안 시스템의 애플리케이션 서버가 질의문에 대한 질의 허여 여부를 판단하는 과정을 예시한 순서도.
도 5는 데이터베이스 보안 시스템의 애플리케이션 서버가 질의문을 수신함에 따라 해당 질의어에 대한 등록 요청을 하는 과정을 예시한 순서도.
도 6은 데이터베이스 보안 시스템의 보안 서버에서 질의어의 등록을 수행하는 과정을 예시한 순서도.
도 2는 데이터베이스 보안 시스템의 애플리케이션 서버를 예시한 블록도.
도 3은 데이터베이스 보안 시스템의 보안 서버를 예시한 블록도.
도 4는 데이터베이스 보안 시스템의 애플리케이션 서버가 질의문에 대한 질의 허여 여부를 판단하는 과정을 예시한 순서도.
도 5는 데이터베이스 보안 시스템의 애플리케이션 서버가 질의문을 수신함에 따라 해당 질의어에 대한 등록 요청을 하는 과정을 예시한 순서도.
도 6은 데이터베이스 보안 시스템의 보안 서버에서 질의어의 등록을 수행하는 과정을 예시한 순서도.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 본 발명의 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다.
도 1은 데이터베이스 보안 시스템을 예시한 블록도이다.
도 1을 참조하면, 데이터베이스 보안 시스템은 클라이언트(100), 애플리케이션 서버(200), 데이터베이스 서버(300), 보안 서버(400) 및 관리자 클라이언트(500)를 포함한다.
클라이언트(100)는 사용자로부터 애플리케이션 서버(200)에서 제공하는 서비스(웹 애플리케이션 등을 수행하는 서비스)의 수행을 요청하는 입력을 받아, 애플리케이션 서버(200)로 서비스의 수행을 요청한다. 클라이언트(100)는 애플리케이션 서버(200)로 서비스의 요청 및 해당 서비스의 결과를 수신할 수 있는 PC, 노트북, 스마트폰 등의 단말일 수 있다.
애플리케이션 서버(200)는 클라이언트(100)의 요청에 따라 서비스를 수행한다. 애플리케이션 서버(200)는 서비스의 수행 과정 중 데이터베이스 서버(300)로 질의문을 전송하여 그 결과를 수신할 수 있다. 이 때, 애플리케이션 서버(200)는 서비스의 수행에 따라 데이터베이스 서버(300)로 전송할 질의문을 보안 서버(400)로부터 수신한 정책 정보에 따라 필터링할 수 있다. 또한, 애플리케이션 서버(200)는 질의문에 대한 결과값을 데이터베이스 서버(300)로부터 수신한 경우, 해당 결과값에 포함된 개인정보의 수에 따라 해당 질의문에 대한 질의를 차단할 수 있다. 추후 도 4를 참조하여 애플리케이션 서버가 질의문에 따라 질의를 차단하는 과정을 상세히 설명하도록 한다. 또한, 애플리케이션 서버(200)는 질의문에 상응하는 로그 정보를 생성하여 보안 서버(400)로 전송할 수 있다. 이 때, 로그 정보는 서비스의 수행을 요청한 클라이언트(100)의 IP 주소, 해당 질의문에 상응하는 애플리케이션의 이름 등을 포함할 수 있다.
데이터베이스 서버(300)는 데이터를 저장하고, 애플리케이션 서버(200)로부터 수신한 질의문에 따라 데이터를 검색하고, 그 결과를 애플리케이션 서버(200)로 전송한다.
보안 서버(400)는 애플리케이션 서버(200)로부터 질의문 및 로그 정보 중 하나 이상을 수신하여 저장한다. 보안 서버(400)는 미리 지정된 조건에 따라 질의문을 화이트 리스트 또는 블락 리스트에 등록한다. 이 때, 화이트 리스트는 애플리케이션 서버(200)가 질의를 허용하는 질의문을 포함하는 리스트 정보이고, 블락 리스트는 애플리케이션 서버(200)가 질의를 차단하는 질의문을 포함하는 리스트 정보이다. 보안 서버(400)는 화이트 리스트, 블락 리스트, 차단정책을 포함하는 정책 정보를 애플리케이션 서버(200)로 전송한다. 이 때, 차단정책은 클라이언트의 IP 주소가 특정 IP일 경우 차단하는 정책, 특정 질의문의 사용에 대한 차단 정책 등을 포함할 수 있다. 이 때, 미리 지정된 조건 중 하나는 관리자 클라이언트(500)를 통한 관리자의 화이트 리스트 등록을 수락하는 입력일 수 있다. 추후 도 6을 참조하여 보안 서버(400)가 질의문을 화이트 리스트 또는 블락 리스트에 등록하는 과정을 상세히 설명하도록 한다.
관리자 클라이언트(500)는 관리자의 입력에 따라 보안 서버(400)로 접근하여 차단정책을 설정한다. 또한 관리자 클라이언트(500)는 관리자에게 현재 화이트 리스트 후보가 되는 질의어를 표시하고, 해당 화이트 리스트 후보의 화이트 리스트 등록에 대한 수락 또는 거부하는 입력을 관리자로부터 받는다. 관리자 클라이언트(500)는 관리자의 입력에 따라 보안 서버(400)로 화이트 리스트 등록에 대한 수락 또는 거부 입력을 전송한다. 추후 도 6을 참조하여 관리자 클라이언트(500)의 관리자 입력에 따른 보안 서버(400)의 화이트 리스트 등록 과정을 상세히 설명하도록 한다.
도 2는 데이터베이스 보안 시스템의 애플리케이션 서버를 예시한 블록도이다.
도 2를 참조하면, 애플리케이션 서버(200)는 애플리케이션 수행부(210), 차단부(220), 판단부(230) 및 질의부(240)를 포함한다.
애플리케이션 수행부(210)는 클라이언트(100)로부터 서비스의 수행을 요청 받고, 해당 용청에 상응하는 애플리케이션 서버(200)에 미리 설치된 애플리케이션에 따라 서비스를 수행한다. 애플리케이션 수행부(210)는 애플리케이션의 수행 과정 중 데이터베이스로의 질의를 위해 차단부(220)로 질의문을 전송한다.
차단부(220)는 질의문을 애플리케이션 수행부(210)로부터 수신하는 경우, 해당 질의문을 판단부(230)로 전송한다. 또한 차단부(220)는 판단부(230)로부터 질의를 허여하는 신호(이하 질의 허여 신호라 지칭)를 수신하는 경우, 해당 질의문을 질의부(240)로 전송한다. 또한 차단부(220)는 판단부(230)로부터 질의를 불허하는 신호(이하 질의 불허 신호라 지칭)를 수신하는 경우, 해당 질의문에 대한 질의가 불가능하다는 에러메시지를 애플리케이션 수행부(210)로 전송할 수 있다. 또한, 차단부(220)는 질의 허여 신호를 수신하여 질의문을 질의부(240)로 전송한 이후, 질의부(240)로부터 결과값을 수신할 수 있다. 이 때, 차단부(220)는 결과값을 판단부(230)로 전송한다. 이후, 차단부(220)는 결과값에 대한 질의 허여 신호를 수신하는 경우, 해당 결과값을 애플리케이션 수행부(210)로 전송한다. 또한, 차단부(220)는 결과값에 대한 질의 불허 신호를 수신하는 경우, 질의문에 대한 질의가 불가능하다는 에러메시지를 애플리케이션 수행부(210)로 전송할 수 있다.
판단부(230)는 차단부(220)로부터 수신한 질의문이 질의 가능한 것인지 정책 정보를 참조하여 판단한다. 예를 들어, 판단부(230)는 정책 정보에 포함된 블락 리스트에 해당 질의문이 포함되어 있는 경우, 해당 질의문에 대한 질의 불허 신호를 차단부(220)로 전송한다. 또한 판단부(230)는 정책 정보에 포함된 화이트 리스트에 해당 질의문이 포함되어 있는 경우, 해당 질의문에 대한 질의 허여 신호를 차단부(220)로 전송한다. 또한, 판단부(230)는 정책 정보에 포함된 화이트 리스트 또는 블락 리스트에 해당 질의문이 포함되어 있지 않는 경우, 보안 서버(400)로 질의어 등록을 요청할 수 있다. 또한 판단부(230)는 질의문에 따른 질의를 차단 또는 허여 함에 따른 로그 정보를 보안 서버(400)로 전송할 수 있다. 로그 정보는 질의문을 수신한 시간, 질의문을 요청한 클라이언트(100)의 IP 정보 등을 포함할 수 있다. 또한 판단부(230)는 질의 문에 대한 질의가 허여함에 따라 데이터베이스 서버(300)로부터 수신한 결과값을 차단부(220)로부터 수신할 수 있다. 판단부(230)는 결과값에 포함된 개인 정보가 미리 지정된 수 이상일 경우, 질의 불허 신호를 차단부(220)로 전송할 수 있다. 또한 판단부(230)는 결과값에 포함된 개인 정보가 미리 지정된 수 미만일 경우, 질의 허여 신호를 차단부(220)로 전송할 수 있다.
질의부(240)는 차단부(220)로부터 질의문을 수신하는 경우, 데이터베이스 서버(300)로 질의문을 전송한다. 이후, 질의부(240)는 데이터베이스 서버(300)로부터 질의문에 대한 결과값을 수신하는 경우, 차단부(220)로 전송한다.
상술한 차단부(220) 및 판단부(230)는 애플리케이션 서버(200)의 애플리케이션 수행부(210)가 질의를 요청하는 API(Application Programming Interface)에 연동되어 동작하는 API일 수 있다. 따라서, 상술한 차단부(0 및 판단부(230)는 애플리케이션 수행부(210)의 애플리케이션이 질의를 요청하는 경우, 그 동작을 수행할 수 있다.
도 3은 데이터베이스 보안 시스템의 보안 서버를 예시한 블록도이다.
도 3을 참조하면, 보안 서버(400)는 제어부(420) 및 저장부(430)르라 포함한다.
제어부(420)는 애플리케이션 서버(200)의 판단부(230)로부터 질의문, 로그 정보 및 결과값 중 하나 이상을 수신한다. 제어부(420)는 애플리케이션 서버(200)로부터 질의문을 수신하는 경우, 해당 질의어가 미리 설정된 접근정책에 위배되는지 판단한다. 이 때, 접근정책은 특정 허용된 질의문에 대해서만 접근을 허용하는 정책, 특정 테이블에 대한 접근만을 허용하는 정책 등을 포함할 수 있다. 제어부(420)는 해당 질의어가 접근정책에 위배되는 경우, 화이트 리스트 후보로 해당 질의어를 등록한다. 또한, 제어부(420)는 질의어에 미리 지정된 해킹패턴이 존재하는지 판단한다. 제어부(420)는 해당 질의어에 해킹패턴이 존재하는 경우, 화이트 리스트 후보로 해당 질의어를 등록한다. 또한, 제어부(420)는 결과값에 개인정보가 포함되는지 판단한다. 제어부(420)는 결과값에 개인정보가 포함되어 있는 경우, 화이트 리스트 후보로 해당 질의어를 등록한다. 제어부(420)는 상술한 접근정책의 위배, 해킹패턴의 포함여부, 결과값의 개인정보 포함여부의 판단에 따라 화이트 리스트 후보로 등록하지 않은 질의어는 화이트 리스트에 등록한다. 이후, 제어부(420)는 관리자로부터 화이트 리스트 후보들을 관리자 클라이언트(500)로 전송한다.
관리자 클라이언트(500)는 화이트 리스트 후보에 대한 관리자의 승인 또는 거부를 입력받아, 제어부(420)로 전송한다. 제어부(420)는 관리자의 승인을 수신하는 경우, 해당 질의어를 화이트 리스트에 등록한다. 제어부(420)는 관리자의 거부를 수신하는 경우, 해당 질의어를 블락 리스트에 등록한다. 관리자 클라이언트(500)는 상술한 과정에 따라 화이트 리스트 후보 또는 블락 리스트가 갱신되는 경우, 해당 화이트 리스트 후보 및 블락 리스트를 포함하는 정책 정보를 애플리케이션 서버(200)로 전송할 수 있다.
또한, 제어부(420)는 판단부(230)로부터 수신한 로그 정보를 저장부(430)에 저장한다. 이후, 제어부(420)는 관리자 클라이언트(500)로부터 로그 정보를 요청받는 경우, 해당 로그 정보를 검색하여 관리자 클라이언트(500)로 전송할 수 있다.
저장부(430)는 정책 정보 및 로그 정보를 저장한다. 또한 저장부(430)는 접근정책, 해킹패턴에 대한 정보를 저장할 수 있다. 제어부(420) 저장부(430)에 저장된 접근정책, 해킹패턴을 참조하여 상술한 질의어의 등록 과정을 수행할 수 있다.
또한, 제어부(420)는 관리자 클라이언트(500)로부터 수신한 입력에 따라 접근정책, 해킹패턴을 갱신할 수 있다.
도 4는 데이터베이스 보안 시스템의 애플리케이션 서버가 질의문에 대한 질의 허여 여부를 판단하는 과정을 예시한 순서도이다. 이하, 설명하는 과정은 애플리케이션 서버(200)의 차단부(220), 판단부(230) 및 질의부(240)에 의해 수행되는 과정이나, 발명의 명확한 설명을 위해 주체를 애플리케이션 서버(200)로 통칭하여 설명하도록 한다.
도 4를 참조하면, 단계 410에서 애플리케이션 서버(200)는 질의어를 수신한다.
단계 420에서 애플리케이션 서버(200)는 질의어가 차단정책에 해당하는지 판단한다.
단계 420에서 해당 질의어가 차단정책에 해당하는 경우, 단계 430에서 애플리케이션 서버(200)는 해당 질의문에 따른 질의를 차단하고, 해당 질의문이 악의적인 공격임을 알리는 메시지를 보안 서버(400)로 전송한다.
단계 420에서 해당 질의어가 차단정책에 해당하지 않는 경우, 단계 440에서 애플리케이션 서버(200)는 질의어가 블락 리스트에 포함되는지 판단한다.
단계 440에서 해당 질의어가 블락 리스트에 포함되는 경우, 애플리케이션 서버(200)는 상술한 단계 430을 수행한다.
단계 440에서 해당 질의어가 블락 리스트에 포함되지 않는 경우, 단계 450에서 애플리케이션 서버(200)는 질의어가 화이트 리스트에 포함되는지 판단한다.
단계 450에서 질의어가 화이트 리스트에 포함되지 않는 경우, 애플리케이션 서버(200)는 상술한 단계 430을 수행한다.
단계 450에서 질의어가 화이트 리스트에 포함되는 경우, 단계 460에서 해당 질의문으로 데이터베이스 서버(300)에 질의하고 그 결과값을 수신한다.
단계 470에서 애플리케이션 서버(200)는 해당 질의어에 대한 결과값에 개인정보가 지정된 수 이상 포함되어 있는지 판단한다.
단계 470에서 결과값에 개인정보가 지정된 수 이상 포함되어 있는 경우, 애플리케이션 서버(200)는 상술한 단계 430을 수행한다.
단계 470에서 결과값에 개인정보가 지정된 수 미만만큼 포함되어 있는 경우, 단계 480에서 애플리케이션 서버(200)는 결과값을 애플리케이션 수행부(210)로 전송한다.
단계 490에서 애플리케이션 서버(200)는 로그 정보를 보안 서버(400)로 전송한다.
도 5는 데이터베이스 보안 시스템의 애플리케이션 서버가 질의문을 수신함에 따라 해당 질의어에 대한 등록 요청을 하는 과정을 예시한 순서도이다.
도 5를 참조하면, 단계 510에서 애플리케이션 서버(200)는 질의어를 수신한다.
단계 520에서 애플리케이션 서버(200)는 해당 질의어가 정책 정보에 포함된 화이트 리스트 또는 블락 리스트에 포함된 질의어인지 판단한다.
단계 520에서 해당 질의어가 화이트 리스트 또는 블락 리스트에 포함되어 있지 않은 경우, 단계 530에서 애플리케이션 서버(200)는 보안 서버(400)로 해당 질의어의 등록을 요청한다.
단계 520에서 해당 질의어가 화이트 리스트 또는 블락 리스트에 포함되어 잇는 경우, 단계 540에서 애플리케이션 서버(200)는 해당 질의어에 대한 로그 정보를 보안 서버(400)로 전송한다.
도 6은 데이터베이스 보안 시스템의 보안 서버에서 질의어의 등록을 수행하는 과정을 예시한 순서도이다. 이하, 설명하는 과정은 보안 서버(400)의 제어부(420) 및 저장부(430)가 수행하는 과정이나, 발명의 명확한 설명을 위해 주체를 보안 서버(400)로 통칭하도록 한다.
도 6을 참조하면, 단계 610에서 보안 서버(400)는 애플리케이션 서버(200)로부터 질의어를 포함하는 질의어 등록 요청을 수신한다.
단계 620에서 보안 서버(400)는 질의어가 미리 설정된 접근정책에 위배되는지 판단한다.
단계 620에서 질의어가 접근정책에 위배되는 경우, 단계 630에서 보안 서버(400)는 질의어를 화이트 리스트 후보로 등록한다.
단계 620에서 질의어가 접근정책에 위배되지 않는 경우, 단계 640에서 보안 서버(400)는 질의어에 미리 지정된 해킹패턴이 존재하는지 판단한다.
단계 640에서 질의어에 해킹패턴이 존재하는 경우, 보안 서버(400)는 상술한 단계 630을 수행한다.
단계 640에서 질의어에 해킹패턴이 존재하지 않는 경우, 단계 650에서 보안 서버(400)는 해당 질의어에 대한 결과값에 개인정보가 포함되어 있는지 판단한다.
단계 650에서 결과값에 개인정보가 포함되어 있는 경우, 보안 서버(400)는 상술한 단계 630을 수행한다.
단계 650에서 결과값에 개인정보가 포함되어 있지 않은 경우, 단계 660에서 보안 서버(400)는 질의어를 화이트 리스트에 등록한다.
단계 670에서 보안 서버(400)는 화이트 리스트 후보에 대한 관리자의 승인 또는 거부를 수신한다.
단계 670에서 관리자의 승인을 수신하는 경우, 보안 서버(400)는 상술한 단계 660을 수행한다.
단계 670에서 관리자의 거부를 수신하는 경우, 단계 680에서 보안 서버(400)는 질의어를 블락 리스트에 등록한다.
한편, 본 발명의 실시예에 따른 사용자 단말에서 실행된 응용 프로그램을 인증하는 방법은 다양한 전자적으로 정보를 처리하는 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 저장 매체에 기록될 수 있다. 저장 매체는 프로그램 명령, 데이터 파일, 데이터 구조등을 단독으로 또는 조합하여 포함할 수 있다.
저장 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 저장 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 상술한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Claims (11)
- 클라이언트로부터 서비스 요청을 받아 서비스의 제공을 위해 질의문을 생성하는 어플리케이션 서버; 및
상기 질의문이 화이트 리스트 및 블락 리스트에 포함되어 있지 않은 경우, 상기 질의문을 미리 지정된 조건에 따라 상기 화이트 리스트 또는 상기 블락 리스트에 등록하고, 상기 화이트 리스트 및 상기 블락 리스트를 포함하는 정책 정보를 생성하는 보안 서버
를 포함하되,
상기 어플리케이션 서버는 상기 정책 정보에 따라 상기 질의문을 데이터베이스 서버로 전송하거나 상기 질의문의 전송을 차단하되,
상기 어플리케이션 서버는 상기 질의문이 상기 화이트 리스트에 포함되는 경우, 상기 질의문을 상기 데이터베이스 서버로 전송하는 것으로 판단하고,
상기 어플리케이션 서버는 상기 질의문이 상기 블락 리스트에 포함되어 있는 경우, 상기 질의문을 상기 데이터베이스 서버로 전송하지 않도록 차단하고,
상기 보안 서버는 상기 질의문이 미리 지정된 접근 정책에 위배되지 않고 상기 질의문에 미리 지정된 해킹패턴이 존재하지 않고 상기 질의문에 상응하는 결과값에 개인정보가 포함되어 있지 않은 경우, 상기 질의문을 상기 화이트 리스트에 등록하고,
상기 보안 서버는 상기 질의문이 미리 지정된 접근 정책에 위배되거나 상기 질의문에 미리 지정된 해킹패턴이 존재하거나 상기 질의문에 상응하는 개인정보가 포함되어 있는 경우, 관리자의 입력에 따라 상기 질의문을 상기 화이트 리스트 또는 상기 블락 리스트에 등록하는 것을 특징으로 하는 데이터베이스 보안 시스템.
- 데이터베이스 보안 시스템을 구성하는 어플리케이션 서버에 있어서,
클라이언트의 서비스 요청에 따라 어플리케이션을 실행하는 어플리케이션 수행부;
보안 서버로부터 수신한 정책 정보를 참조하여 어플리케이션의 실행에 따라 발생한 질의문을 데이터베이스 서버로 전송할 지 판단하는 판단부; 및
상기 판단부의 판단 결과에 따라 상기 질의문을 상기 데이터베이스 서버로 전송하거나 상기 질의문의 전송을 차단하는 차단부
를 포함하되,
상기 정책 정보는 화이트 리스트 및 블락 리스트를 포함하고,
상기 판단부는 상기 질의문이 상기 화이트 리스트에 포함되는 경우, 상기 질의문을 상기 데이터베이스 서버로 전송하는 것으로 판단하고,
상기 판단부는 상기 질의문이 상기 블락 리스트에 포함되어 있는 경우, 상기 질의문을 상기 데이터베이스 서버로 전송하지 않도록 차단하고,
상기 판단부는 상기 질의문이 상기 화이트 리스트 또는 상기 블락 리스트에 포함되어 있지 않은 경우, 상기 보안 서버로 질의어 등록을 요청하고,
상기 질의문이 미리 지정된 접근 정책에 위배되지 않고 상기 질의문에 미리 지정된 해킹패턴이 존재하지 않고 상기 질의문에 상응하는 결과값에 개인정보가 포함되어 있지 않은 경우, 상기 질의어 등록의 요청 받은 상기 보안 서버에 의해 상기 질의문은 상기 화이트 리스트에 등록되고,
상기 질의문이 미리 지정된 접근 정책에 위배되거나 상기 질의문에 미리 지정된 해킹패턴이 존재하거나 상기 질의문에 상응하는 결과값에 개인정보가 포함되어 있는 경우, 상기 질의어 등록의 요청 받은 상기 보안 서버에 의해 관리자의 입력에 따라 상기 질의문은 상기 화이트 리스트 또는 상기 블락 리스트에 등록되는 것을 특징으로 하는 어플리케이션 서버.
- 삭제
- 제2 항에 있어서,
상기 판단부는 상기 데이터베이스 서버로부터 상기 질의문에 상응하는 결과값을 수신하는 경우, 상기 질의문에 상응하는 결과값에 지정된 수 이상의 개인정보가 포함되어 있는 여부에 따라 상기 결과값을 상기 어플리케이션 수행부로 제공하거나 상기 질의문의 전송을 차단하는 것을 특징으로 하는 어플리케이션 서버.
- 삭제
- 삭제
- 데이터베이스 보안 시스템을 구성하는 어플리케이션 서버가 데이터베이스 보안 서비스를 제공하는 방법에 있어서,
클라이언트의 서비스 요청에 따라 어플리케이션을 실행하는 단계;
보안 서버로부터 수신한 정책 정보를 참조하여 어플리케이션의 실행에 따라 발생한 질의문을 데이터베이스 서버로 전송할 지 판단하는 단계; 및
판단 결과에 따라 상기 질의문을 상기 데이터베이스 서버로 전송하거나 상기 질의문의 전송을 차단하는 단계
를 포함하되,
상기 정책 정보는 화이트 리스트 및 블락 리스트를 포함하고,
상기 질의문을 데이터베이스 서버로 전송할 지 판단하는 단계는,
상기 질의문이 상기 화이트 리스트에 포함되는 경우, 상기 질의문을 상기 데이터베이스 서버로 전송하는 것으로 판단하고,
상기 질의문이 상기 블락 리스트에 포함되어 있는 경우, 상기 질의문을 상기 데이터베이스 서버로 전송하지 않도록 차단하고,
상기 질의문이 상기 화이트 리스트 또는 상기 블락 리스트에 포함되어 있지 않은 경우, 상기 보안 서버로 질의어 등록을 요청하는 단계이고,
상기 질의문이 미리 지정된 접근 정책에 위배되지 않고 상기 질의문에 미리 지정된 해킹패턴이 존재하지 않고 상기 질의문에 상응하는 결과값에 개인정보가 포함되어 있지 않은 경우, 상기 질의어 등록의 요청 받은 상기 보안 서버에 의해 상기 질의문은 상기 화이트 리스트에 등록되고,
상기 질의문이 미리 지정된 접근 정책에 위배되거나 상기 질의문에 미리 지정된 해킹패턴이 존재하거나 상기 질의문에 상응하는 결과값에 개인정보가 포함되어 있는 경우, 상기 질의어 등록의 요청 받은 상기 보안 서버에 의해 관리자의 입력에 따라 상기 질의문은 상기 화이트 리스트 또는 상기 블락 리스트에 등록되는 것을 특징으로 하는 데이터베이스 보안 방법.
- 삭제
- 제7 항에 있어서,
상기 데이터베이스 서버로부터 상기 질의문에 상응하는 결과값을 수신하는 경우, 상기 질의문에 상응하는 결과값에 지정된 수 이상의 개인정보가 포함되어 있는 여부에 따라 상기 결과값을 이용하여 상기 어플리케이션을 실행하거나 상기 질의문의 전송을 차단하는 단계를 더 포함하는 데이터베이스 보안 방법.
- 삭제
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110111552A KR101285729B1 (ko) | 2011-10-28 | 2011-10-28 | 데이터베이스 보안 시스템 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110111552A KR101285729B1 (ko) | 2011-10-28 | 2011-10-28 | 데이터베이스 보안 시스템 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130046890A KR20130046890A (ko) | 2013-05-08 |
KR101285729B1 true KR101285729B1 (ko) | 2013-08-23 |
Family
ID=48658463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110111552A KR101285729B1 (ko) | 2011-10-28 | 2011-10-28 | 데이터베이스 보안 시스템 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101285729B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108572968B (zh) * | 2017-03-09 | 2022-10-25 | 腾讯科技(深圳)有限公司 | 一种数据查询方法、装置、服务器以及*** |
KR102408346B1 (ko) * | 2020-11-18 | 2022-06-14 | 주식회사 신시웨이 | 데이터베이스에 저장된 데이터에 대한 접근 제어를 위한 서비스 제공 시스템 및 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100133713A (ko) * | 2009-06-12 | 2010-12-22 | (주)소만사 | 애플리케이션을 경유한 db접근을 보호하기 위한 데이터베이스 보안 시스템, 서버 및 방법 |
-
2011
- 2011-10-28 KR KR1020110111552A patent/KR101285729B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100133713A (ko) * | 2009-06-12 | 2010-12-22 | (주)소만사 | 애플리케이션을 경유한 db접근을 보호하기 위한 데이터베이스 보안 시스템, 서버 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20130046890A (ko) | 2013-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8590052B2 (en) | Enabling granular discretionary access control for data stored in a cloud computing environment | |
KR101422859B1 (ko) | 문서의 오디언스-적정 버전을 제공하는 방법, 문서 서버, 및 컴퓨터 판독 가능 매체 | |
US20200125357A1 (en) | Operating system update management for enrolled devices | |
CN108076047B (zh) | 公共授权管理服务 | |
US20090260052A1 (en) | Inter-Process Message Security | |
US9083692B2 (en) | Apparatus and method of providing security to cloud data to prevent unauthorized access | |
US20150067772A1 (en) | Apparatus, method and computer-readable storage medium for providing notification of login from new device | |
US8903360B2 (en) | Mobile device validation | |
US9026456B2 (en) | Business-responsibility-centric identity management | |
WO2021002884A1 (en) | Data breach prevention and remediation | |
US11636184B2 (en) | Method for providing cloud-based service | |
WO2022009015A1 (en) | Identification of invalid requests | |
KR20160018554A (ko) | 신뢰 및 비신뢰 플랫폼에 걸쳐 인터넷 액세스가능 애플리케이션 상태를 로밍하는 기법 | |
EP3513316B1 (en) | Personalized search environment | |
US20140181945A1 (en) | Single-point login system and method | |
KR101285729B1 (ko) | 데이터베이스 보안 시스템 및 방법 | |
JP2023540894A (ja) | クラウドインフラストラクチャシステムにおけるセキュリティゾーンポリシー施行 | |
CN107886008B (zh) | 文件管理方法、***、装置和计算机可读存储介质 | |
US20230224146A1 (en) | Quorum-based authorization | |
JP7445017B2 (ja) | ユーザ識別子および署名収集を利用したモバイルアプリケーション偽造・変造探知方法、コンピュータプログラム、コンピュータ読み取り可能な記録媒体およびコンピュータ装置 | |
JP6288241B2 (ja) | サービス提供方法、サービス提供装置、及び、サービス提供プログラム | |
US20200137059A1 (en) | Method, device and computer program product for service access | |
JP2015146103A (ja) | コンテンツ提供システム、サーバー装置、端末装置、コンテンツ提供方法、及びプログラム | |
US20220207630A1 (en) | System and method for authorizing transfer requests of physical locations | |
US20240119133A1 (en) | Authorization between integrated cloud products using association |
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 | ||
FPAY | Annual fee payment |
Payment date: 20160706 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170707 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190708 Year of fee payment: 7 |