KR20080015293A - Database security system and method based on profiling - Google Patents

Database security system and method based on profiling Download PDF

Info

Publication number
KR20080015293A
KR20080015293A KR1020060076819A KR20060076819A KR20080015293A KR 20080015293 A KR20080015293 A KR 20080015293A KR 1020060076819 A KR1020060076819 A KR 1020060076819A KR 20060076819 A KR20060076819 A KR 20060076819A KR 20080015293 A KR20080015293 A KR 20080015293A
Authority
KR
South Korea
Prior art keywords
database
query
request
database request
received
Prior art date
Application number
KR1020060076819A
Other languages
Korean (ko)
Other versions
KR100832804B1 (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 KR1020060076819A priority Critical patent/KR100832804B1/en
Publication of KR20080015293A publication Critical patent/KR20080015293A/en
Application granted granted Critical
Publication of KR100832804B1 publication Critical patent/KR100832804B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6227Protecting 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
    • 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
    • G06F16/2365Ensuring data consistency and integrity
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A profiling based database security system and method are provided to secure the database stably though a database security policy like an access authority for each user is not manually established by a security manager by applying an automatically learned query profile to the database security policy. A profiling based database security method comprises the following several steps. A system generates and updates a query profile database by using queries used in a database request for a set learning period. The system receives a database request from a client(S410). The system checks whether the received database request is normal by using the query profile database(S420). If so, the system forwards the database request to a database system, and otherwise, the system intercepts the database request(S430,S460). The system receives a response to the normal database request from the database system, and transmits the received response to the client(S440,S450).

Description

프로파일링 기반 데이터베이스 보안 시스템 및 방법{DATABASE SECURITY SYSTEM AND METHOD BASED ON PROFILING}Profiling-based database security system and method {DATABASE SECURITY SYSTEM AND METHOD BASED ON PROFILING}

도 1은 본 발명의 일 실시예에 따른 프로파일링 기반 데이터베이스 보안 시스템과 데이터베이스 시스템의 위치 관계를 설명하기 위해 제공되는 블록도이다.1 is a block diagram provided to explain a positional relationship between a profiling-based database security system and a database system according to an embodiment of the present invention.

도 2는 도 1의 DB 보안 시스템을 보다 자세히 나타낸 블록도이다.2 is a block diagram illustrating the DB security system of FIG. 1 in more detail.

도 3은 쿼리 프로파일 학습 단계를 상세히 나타낸 흐름도이다.3 is a flowchart showing the query profile learning step in detail.

도 4는 본 발명의 일 실시예에 따른 프로파일링 기반 데이터베이스 보안 방법의 흐름도이다. 4 is a flowchart of a profiling-based database security method according to an embodiment of the present invention.

도 5는 도 4의 데이터베이스 요청 검증 단계를 상세히 나타낸 흐름도이다.FIG. 5 is a detailed flowchart illustrating the database request verification step of FIG. 4.

* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings

10 : 데이터베이스 클라이언트 20 : 네트워크10: database client 20: network

30 : 데이터베이스 시스템 100 : 데이터베이스 보안 시스템30: Database System 100: Database Security System

110 : 알려진 공격 시그너쳐 DB 120 : 쿼리 프로파일 DB110: known attack signature DB 120: query profile DB

130 : 데이터베이스 요청 처리 모듈 140 : 데이터베이스 요청 검증 모듈130: database request processing module 140: database request verification module

150 : 데이터베이스 요청 차단 모듈 160 : 관리자 보고 모듈150: database request blocking module 160: administrator reporting module

170 : 데이터베이스 응답 처리 모듈 180 : 데이터베이스 프로파일링 모듈170: database response processing module 180: database profiling module

본 발명은 프로파일링 기반 데이터베이스 보안 시스템 및 그 방법에 관한 것으로, 특히 비인가자의 데이터베이스 오용, 유출 및 파괴 등의 공격을 탐지하고 차단하는 보안 정책을 프로파일링 기법을 통해 자동화하는 데이터베이스 보안 시스템 및 방법에 관한 것이다.The present invention relates to a profiling-based database security system and method, and more particularly, to a database security system and method for automating a security policy through profiling techniques to detect and block an attack such as database misuse, leakage and destruction by unauthorized persons. will be.

일반적으로, 데이터베이스 시스템에 대한 공격은 데이터베이스에 대한 권한 관리 및 접근 제어의 취약성을 이용해 안정적인 데이터베이스 시스템 운영을 방해하고, 데이터베이스 시스템에 구축되어 있는 주요한 내부 정보를 외부로 유출하거나 훼손하는 등의 악성 행위를 하기 위하여 행해지고 있다. 특히 이러한 악성 행위로 인하여 공격을 당한 데이터베이스 시스템이 전자 상거래 서비스나 개인 정보를 관리하는 경우에는 심각한 경제적 손실 및 개인 정보 유출 등의 문제점을 발생시킬 수 있다. 최근들어, 인터넷을 통한 전자 상거래 서비스가 활성화됨에 따라 데이터베이스 및 데이터베이스 내에 저장된 데이터를 비인가된 변경, 파괴, 노출 및 비일관성을 발생시키는 사건으로부터 보호하는 데이터베이스 보안 시스템이 나날이 중요해지고 있다.In general, an attack on a database system exploits vulnerabilities in permission management and access control on a database to prevent a stable operation of the database system, and to perform malicious actions such as leaking or damaging important internal information built into the database system to the outside. To be done. In particular, when a database system attacked by such malicious behavior manages an e-commerce service or personal information, serious economic loss and personal information leakage may occur. In recent years, with the activation of electronic commerce services over the Internet, database security systems that protect the database and data stored in the database from unauthorized alteration, destruction, disclosure and inconsistency are becoming increasingly important.

한편, 기존의 데이터베이스 보안 시스템은 보안 관리자가 직접 보안 정책의 모든 부분을 하나 하나 정의하는 방식으로 이루어진다. 이러한 기존의 보안 정책 관리 방식에서 보안 관리자는 데이터베이스에 접근하는 사용자 정보들을 취합하고 사용 가능한 명령어와 접근 가능한 테이블과 컬럼에 대한 조사 및 분석을 한다. 분석 결과에 따라 보안 관리자는 데이터베이스 보안을 위한 모든 세부 설정을 직접 입력하여 보안 정책을 수립하게 된다. 이러한, 보안 기법을 이용하는 대표적인 보안 제품으로는 웨어밸리의 샤크라, 피엔피시큐어의 DB SAFER, 신시웨어의 디그리핀 등을 들 수 있다.On the other hand, the existing database security system is made by the security administrator directly defines all parts of the security policy. In the existing security policy management method, the security manager collects user information to access the database and investigates and analyzes available commands and accessible tables and columns. According to the analysis result, the security administrator directly enters all the detailed settings for database security to establish a security policy. Representative security products using such security techniques include Chakra of Wear Valley, DB SAFER of P & P Secure, and Digripin of Synsysware.

기존의 데이터베이스 보안 시스템은 보안 기능 자체에는 큰 문제는 없지만, 보안 정책 관리의 모든 부분이 보안 관리자의 손을 거쳐 이루어져야 하고 새롭게 생성되는 데이터베이스 오브젝트나 테이블에 대해서는 반드시 정책 변경을 수동으로 설정해주어야 하는 문제점을 안고 있다. 또한, 기존의 상당 수 보안 제품들은 비 정상적인 데이터베이스 접근을 차단하지 않고 로그만을 남기는 방식을 채택하고 있는 실정이다.Existing database security system does not have a big problem in the security function itself, but all aspects of security policy management must be done by the security administrator, and the policy change must be set manually for newly created database objects or tables. Holding it. In addition, many existing security products adopt the method of leaving only the log without blocking abnormal database access.

따라서, 전문 보안 인력을 자체적으로 보유할 여력이 없는 업체들의 경우 보안 정책 관리에 어려움을 겪을 수 있으며, 특히, 새롭게 생성되는 데이터베이스 오브젝트나 테이블에 대해서 보안 정책을 적절히 수립 변경하기 어려우므로 데이터베이스 보안 상에 커다란 허점이 생길 문제가 있다.As a result, companies that do not have the expertise to own their own security personnel may have difficulty managing security policies. In particular, it is difficult to properly establish and change security policies for newly created database objects or tables. There is a problem that large loopholes will occur.

따라서 본 발명이 이루고자 하는 기술적 과제는 데이터베이스 보안 정책을 프로파일링 기법을 통해 자동화하는 데이터베이스 보안 시스템 및 방법을 제공하는 것이다.Accordingly, the present invention provides a database security system and method for automating a database security policy through a profiling technique.

이러한 기술적 과제를 이루기 위한 본 발명의 일 실시예에 따른 프로파일링 기반 데이터베이스 보안 방법은, 소정의 학습 기간 동안 데이터베이스 요청에 사용된 쿼리를 이용하여 쿼리 프로파일 데이터베이스를 생성 및 갱신하는 단계와, 데이터베이스 클라이언트로부터 데이터베이스 요청을 수신하는 단계와, 상기 수신된 데이터베이스 요청을 상기 쿼리 프로파일 데이터베이스를 이용하여 정상적인 데이터베이스 요청인지 여부를 검증하는 단계와, 상기 검증 결과 정상적인 데이터베이스 요청이면 상기 수신된 데이터베이스 요청을 데이터베이스 시스템에 전달하고, 비정상적인 데이터베이스 요청이면 상기 수신된 데이터베이스 요청을 차단하는 단계 및 상기 데이터베이스 시스템으로부터 상기 정상적인 데이터베이스 요청에 대한 데이터베이스 응답을 수신하여 상기 데이터베이스 클라이언트에 전달하는 단계를 포함한다.The profiling-based database security method according to an embodiment of the present invention for achieving the technical problem, the step of creating and updating the query profile database using the query used in the database request for a predetermined learning period, and from the database client Receiving a database request, verifying whether the received database request is a normal database request using the query profile database, and if the verification result is a normal database request, forwarding the received database request to a database system; Blocking the received database request if it is an abnormal database request and a database for the normal database request from the database system. Receiving an answer and a step for transmitting to the client database.

또한, 상기 수신된 데이터베이스 요청을 이미 알려진 데이터베이스 공격 시그너쳐와 비교하여 정상적인 데이터베이스 요청인지 여부를 검증하는 단계를 더 포함하고, 상기 이미 알려진 데이터베이스 공격 시그너쳐와 비교하여 정상적인 데이터베이스 요청인 것으로 판단된 경우 상기 쿼리 프로파일 데이터베이스를 이용하여 정상적인 데이터베이스 요청인지 여부를 검증하는 것이 바람직하다.The method may further include verifying whether the received database request is a normal database request by comparing the received database request with a known database attack signature, and when determining that the received database request is a normal database request by comparing with the known database attack signature. It is a good idea to use a database to verify whether it is a normal database request.

또한, 상기 쿼리 프로파일 데이터베이스를 생성 및 갱신하는 단계는, 상기 소정의 학습 기간 동안 수신되는 데이터베이스 요청에 대한 데이터베이스 응답이 정상인지 여부를 판단하는 단계와, 상기 데이터베이스 응답이 정상이면 상기 소정의 학습 기간 동안 수신되는 데이터베이스 요청에 사용된 쿼리가 DML(Data Manipulation Language)쿼리인지 여부를 판단하는 단계 및, 상기 쿼리가 DML 쿼리이면 상기 쿼리에 대한 쿼리 프로파일을 상기 쿼리 프로파일 데이터베이스에 생성 및 갱신하는 단계를 포함하는 것이 바람직하다.The generating and updating of the query profile database may include determining whether a database response to a database request received during the predetermined learning period is normal, and if the database response is normal, during the predetermined learning period. Determining whether the query used in the received database request is a DML (Data Manipulation Language) query, and if the query is a DML query, creating and updating a query profile for the query in the query profile database. It is preferable.

여기서, 상기 쿼리 프로파일은 상기 쿼리의 데이터베이스 오브젝트와 DML 명령으로 이루어지는 DML 권한 프로파일과 상기 쿼리의 실제값을 제외한 나머지 부분으로 이루어지는 DML 유형 프로파일로 이루어지는 것이 바람직하다.Here, the query profile preferably comprises a DML rights profile consisting of a database object and a DML command of the query, and a DML type profile consisting of remaining portions except for the actual value of the query.

또한, 상기 쿼리가 DML 쿼리가 아니면 상기 쿼리가 상기 데이터베이스 시스템의 오브젝트를 삭제 또는 변경하는 것인지 판단하는 단계 및, 상기 쿼리가 데이터베이스 시스템의 오브젝트를 삭제 또는 변경하는 경우 상기 오브젝트에 대한 쿼리 프로파일을 삭제하는 단계를 더 포함하는 것이 바람직하다.The method may further include determining whether the query deletes or changes an object of the database system when the query is not a DML query, and deletes a query profile for the object when the query deletes or changes an object of the database system. It is preferred to further comprise a step.

여기서, 상기 수신된 데이터베이스 요청에 사용된 쿼리가 상기 쿼리 프로파일 데이터베이스에 존재하는 경우 상기 데이터베이스 클라이언트로부터 수신된 데이터베이스 요청이 정상적인 것으로 판단하고, 존재하지 않는 경우 비정상적인 것으로 판단하는 것이 바람직하다.Here, when the query used for the received database request exists in the query profile database, it is preferable to determine that the database request received from the database client is normal, and if it does not exist, determine that it is abnormal.

또한, 상기 수신된 데이터베이스 요청을 상기 쿼리 프로파일 데이터베이스를 이용하여 정상적인 데이터베이스 요청인지 여부를 검증하는 단계는, 상기 수신된 데이터베이스 요청에 사용된 쿼리가 상기 DML 권한 프로파일에 존재하지 않으면 상기 수신된 데이터베이스 요청이 비정상적인 것으로 판단하는 단계 및, 상기 수신된 데이터베이스 요청에 사용된 쿼리가 상기 DML 유형 프로파일에 존재하지 않으면 상기 수신된 데이터베이스 요청이 비정상적인 것으로 판단하는 단계를 포함하는 것이 바람직하다.In addition, verifying whether the received database request is a normal database request using the query profile database, if the query used for the received database request does not exist in the DML rights profile, Determining that it is abnormal and determining that the received database request is abnormal if the query used in the received database request does not exist in the DML type profile.

여기서, 상기 수신된 데이터베이스 요청에 사용된 쿼리가 기 학습된 데이터베이스 오브젝트에 관한 것이 아니면 상기 수신된 데이터베이스 요청이 정상적인 것으로 판단하는 단계를 더 포함하는 것이 바람직하다.The method may further include determining that the received database request is normal if the query used in the received database request is not related to a previously learned database object.

또한, 상기 비정상적인 데이터베이스 요청을 차단한 결과를 관리자에게 보고하는 단계를 더 포함하는 것이 바람직하다.The method may further include reporting a result of blocking the abnormal database request to an administrator.

한편 기술적 과제를 이루기 위한 본 발명의 일 실시예에 따른 프로파일링 기반 데이터베이스 보안 시스템은, 소정의 학습 기간 동안 데이터베이스 요청에 사용된 쿼리를 이용하여 쿼리 프로파일 데이터베이스를 생성 및 갱신하는 데이터베이스 프로파일링 모듈과, 데이터베이스 클라이언트로부터 데이터베이스 요청을 수신하는 데이터베이스 요청 처리 모듈과, 상기 수신된 데이터베이스 요청을 상기 쿼리 프로파일 데이터베이스를 이용하여 정상적인 데이터베이스 요청인지 여부를 검증하고, 정상적인 데이터베이스 요청이면 상기 데이터베이스 요청 처리 모듈이 상기 수신된 데이터베이스 요청을 데이터베이스 시스템에 전달하도록 하는 데이터베이스 요청 검증 모듈과, 상기 수신된 데이터베이스 요청이 상기 데이터베이스 요청 검증 모듈에서 비정상적인 데이터베이스 요청으로 판단되면 상기 수신된 데이터베이스 요청을 차단하는 데이터베이스 요청 차단 모듈 및, 상기 데이터베이스 시스템으로부터 상기 정상적인 데이터베이스 요청에 대한 데이터베이스 응답을 수신하여 상기 데이터베이스 클라이언트에 전달하는 데이터베이스 응답 처리 모듈을 포함하는 것이 바람직하다.On the other hand, a profiling-based database security system according to an embodiment of the present invention for achieving the technical problem, a database profiling module for creating and updating a query profile database using a query used for a database request during a predetermined learning period; A database request processing module that receives a database request from a database client, and verifies whether the received database request is a normal database request using the query profile database, and if the database request is normal, the database request processing module determines the received database. A database request validation module for forwarding the request to a database system, and wherein the received database request is And a database request blocking module for blocking the received database request if determined to be a commercial database request, and a database response processing module for receiving a database response to the normal database request from the database system and transmitting the received database response to the database client. desirable.

여기서, 상기 데이터베이스 요청 검증 모듈은, 상기 수신된 데이터베이스 요청을 이미 알려진 데이터베이스 공격 시그너쳐와 비교하여 정상적인 데이터베이스 요청인지 여부를 검증하고, 정상적인 데이터베이스 요청인 것으로 판단된 경우 상기 쿼리 프로파일 데이터베이스를 이용하여 정상적인 데이터베이스 요청인지 여부를 검증하는 것이 바람직하다.Here, the database request verification module compares the received database request with a known database attack signature and verifies whether it is a normal database request, and if it is determined that the request is a normal database request, the normal database request using the query profile database. It is desirable to verify whether or not.

또한, 상기 데이터베이스 프로파일링 모듈은, 상기 소정의 학습 기간 동안 수신되는 데이터베이스 요청에 대한 데이터베이스 응답이 정상인지 여부를 판단하고, 상기 데이터베이스 응답이 정상이면 상기 소정의 학습 기간 동안 수신되는 데이터베이스 요청에 사용된 쿼리가 DML 쿼리인지 여부를 판단하며, 상기 쿼리가 DML 쿼리이면 상기 쿼리에 대한 쿼리 프로파일을 상기 쿼리 프로파일 데이터베이스에 생성 및 갱신하는 것이 바람직하다.The database profiling module may determine whether a database response to a database request received during the predetermined learning period is normal, and if the database response is normal, the database profiling module is used for a database request received during the predetermined learning period. It is determined whether the query is a DML query, and if the query is a DML query, it is preferable to create and update a query profile for the query in the query profile database.

여기서, 상기 쿼리 프로파일은, 상기 쿼리의 데이터베이스 오브젝트와 DML 명령으로 이루어지는 DML 권한 프로파일과 상기 쿼리의 실제값을 제외한 나머지 부분으로 이루어지는 DML 유형 프로파일로 이루어지는 것이 바람직하다.Here, the query profile is preferably composed of a DML authorization profile consisting of a database object and a DML command of the query, and a DML type profile consisting of remaining portions except the actual value of the query.

또한, 상기 데이터베이스 프로파일링 모듈은, 상기 쿼리가 DML 쿼리가 아니면 상기 쿼리가 상기 데이터베이스 시스템의 오브젝트를 삭제 또는 변경하는 것인지 판단하고, 상기 쿼리가 데이터베이스 시스템의 오브젝트를 삭제 또는 변경하는 경우 상기 오브젝트에 대한 쿼리 프로파일을 삭제하는 것이 바람직하다.In addition, the database profiling module determines whether the query deletes or changes an object of the database system if the query is not a DML query, and if the query deletes or changes an object of the database system, It is desirable to delete the query profile.

여기서, 상기 데이터베이스 요청 검증 모듈은, 상기 수신된 데이터베이스 요청에 사용된 쿼리가 상기 쿼리 프로파일 데이터베이스에 존재하는 경우 상기 데이 터베이스 클라이언트로부터 수신된 데이터베이스 요청이 정상적인 것으로 판단하고, 존재하지 않는 경우 비정상적인 것으로 판단하는 것이 바람직하다.Here, the database request verification module determines that the database request received from the database client is normal when the query used for the received database request exists in the query profile database, and is abnormal when it does not exist. It is desirable to.

또한, 상기 데이터베이스 요청 검증 모듈은, 상기 수신된 데이터베이스 요청에 사용된 쿼리가 상기 DML 권한 프로파일에 존재하지 않거나 상기 DML 유형 프로파일에 존재하지 않으면 상기 수신된 데이터베이스 요청이 비정상적인 것으로 판단하는 것이 바람직하다.In addition, the database request verification module preferably determines that the received database request is abnormal if the query used for the received database request does not exist in the DML rights profile or does not exist in the DML type profile.

또한, 상기 데이터베이스 요청 검증 모듈은, 상기 수신된 데이터베이스 요청에 사용된 쿼리가 기 학습된 데이터베이스 오브젝트에 관한 것이 아니면 상기 수신된 데이터베이스 요청이 정상적인 것으로 판단하는 것이 바람직하다.In addition, the database request verification module preferably determines that the received database request is normal if the query used for the received database request is not related to a previously learned database object.

또한, 상기 비정상적인 데이터베이스 요청을 차단한 결과를 관리자에게 보고하는 관리자 보고 모듈을 더 포함하는 것이 바람직하다.In addition, it is preferable to further include an administrator reporting module for reporting the result of blocking the abnormal database request to the administrator.

이하, 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention.

도 1은 본 발명의 일 실시예에 따른 프로파일링 기반 데이터베이스 보안 시스템과 데이터베이스 시스템의 위치 관계를 설명하기 위해 제공되는 블록도이다.1 is a block diagram provided to explain a positional relationship between a profiling-based database security system and a database system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명에 따른 프로파일링 기반 데이터베이스 보안 시스템(100:이하, 'DB 보안 시스템'이라 함)은 데이터베이스 클라이언트(10:이하, 'DB 클라이언트'라 함)와 데이터베이스 시스템(30:이하 'DB 시스템'이라 함)의 사이에 위치한다. DB 보안 시스템(100)은 DB 클라이언트(10)의 데이터베이스 요청이 정상 적인지 또는 비정상적인지 여부를 검증한다. 검증 결과 정상적인 데이터베이스 요청은 DB 시스템(30)에 전달하며 비정상적인 데이터베이스 요청은 차단한다. 즉, 본 발명에 따른 DB 보안 시스템(100)은 DB 클라이언트(10)의 데이터베이스 요청을 수신하여 감시하고 정상적인 데이터베이스 요청만을 DB 시스템(30)에 전달하기 위해 네트워크(20)와 DB 시스템(30) 사이에 위치하고 있다.Referring to FIG. 1, a profiling-based database security system (hereinafter, referred to as 'DB security system') according to the present invention includes a database client (hereinafter referred to as 'DB client') and a database system 30: Hereinafter referred to as a 'DB system'. The DB security system 100 verifies whether the database request of the DB client 10 is normal or abnormal. As a result of the verification, the normal database request is transmitted to the DB system 30, and abnormal database requests are blocked. That is, the DB security system 100 according to the present invention receives and monitors a database request of the DB client 10, and transmits only a normal database request to the DB system 30 between the network 20 and the DB system 30. Located in

한편, 도 1에서는 설명의 편의 상 하나의 DB 클라이언트(10)를 도시하였으나 다른 사용자들에 의해 데이터베이스 요청을 위해 사용되는 복수 개의 DB 클라이언트가 네트워크(10)를 통해 DB 보안 시스템(100)과 연결될 수 있는 것은 당연하다.Meanwhile, although FIG. 1 illustrates one DB client 10 for convenience of description, a plurality of DB clients used for database requests by other users may be connected to the DB security system 100 through the network 10. It is natural to be.

도 2는 도 1의 DB 보안 시스템을 보다 자세히 나타낸 블록도이다.2 is a block diagram illustrating the DB security system of FIG. 1 in more detail.

도 2를 참조하면, 본 발명에 따른 DB 보안 시스템(100)은 알려진 공격 시그너쳐 데이터베이스(110:이하, '알려진 공격 시그너쳐 DB'라 함), 쿼리 프로파일 데이터베이스(120:이하, '쿼리 프로파일 DB'라 함), 데이터베이스 요청 처리 모듈(130), 데이터베이스 요청 검증 모듈(140), 데이터베이스 요청 차단 모듈(150), 관리자 보고 모듈(160), 데이터베이스 응답 처리 모듈(170) 및 데이터베이스 프로파일링 모듈(180)을 포함한다.2, the DB security system 100 according to the present invention is a known attack signature database 110 (hereinafter referred to as 'known attack signature DB'), query profile database 120 (hereinafter referred to as 'query profile DB') ), The database request processing module 130, the database request verification module 140, the database request blocking module 150, the administrator reporting module 160, the database response processing module 170, and the database profiling module 180. Include.

알려진 공격 시그너쳐 DB(110)는 보안 전문가들에게 데이터베이스를 공격하는 유형(pattern)으로 이미 알려진 데이터베이스 공격 시그너쳐(signature)가 데이터베이스화 되어 저장된다. 알려진 공격 시그너쳐 DB(110)는 데이터베이스 요청 검증 모듈(140)에서 DB 클라이언트(10)의 데이터베이스 요청이 정상적인 요청인지 또는 비정상적인 요청인지를 검증할 때 사용된다.Known attack signature DB (110) is a database attack signature (known) already known as a pattern (attern) to attack the database (security) to the database is stored in the database. The known attack signature DB 110 is used when the database request verification module 140 verifies whether the database request of the DB client 10 is a normal request or an abnormal request.

쿼리 프로파일 DB(120)는 쿼리 프로파일(Query Profile)이 데이터베이스화 되어 저장된다. 쿼리 프로파일 DB(120) 또한 데이터베이스 요청 검증 모듈(140)에서 DB 클라이언트(10)의 데이터베이스 요청이 정상적인 요청인지 또는 비정상적인 요청인지를 검증할 때 사용된다.The query profile DB 120 stores the query profile as a database. The query profile DB 120 is also used by the database request verification module 140 to verify whether the database request of the DB client 10 is a normal request or an abnormal request.

여기서, 쿼리 프로파일은 데이터베이스 요청에 사용된 쿼리(Query) 중에서 정상적인 것으로 학습된 쿼리에 대한 프로파일을 의미하며, DML 권한 프로파일과 DML 유형 프로파일로 구분할 수 있다. DML 권한 프로파일은 사용자(클라이언트)별로 허용되는 데이터베이스 오브젝트와 DML 명령으로 이루어지며, DB 시스템(30)에 대한 사용자별 접근 권한 정책에 대한 것으로 이해할 수 있다. DML 유형 프로파일은 쿼리에서 실제값(Value) 부분을 제외한 나머지 부분으로 이루어지며, 다양한 해킹 시도에 의해 발생되는 특이한 유형의 DML 쿼리를 차단하는데 사용될 수 있다.Here, the query profile means a profile for a query learned as a normal one among queries used for a database request, and can be classified into a DML authority profile and a DML type profile. The DML rights profile is composed of database objects and DML commands allowed for each user (client), and can be understood as a user-specific access right policy for the DB system 30. The DML type profile consists of the rest of the query except for the value part, and can be used to block unusual types of DML queries caused by various hacking attempts.

예를 들어, 쿼리가 SELECT * FROM GUESTBOARD WHERE TITLE='%PHP%' 일 경우 SELECT(DML 명령) + GUESTBOARD(오브젝트)가 DML 권한 프로파일로 프로파일링 될 수 있고, 실제값(%PHP%)을 제외한 SELECT * FROM GUESTBOARD WHERE TITLE= 이 DML 유형 프로파일로 프로파일링 될 수 있다.For example, if the query is SELECT * FROM GUESTBOARD WHERE TITLE = '% PHP%', SELECT (DML command) + GUESTBOARD (Object) can be profiled with a DML rights profile, excluding actual values (% PHP%). SELECT * FROM GUESTBOARD WHERE TITLE = This DML type profile can be profiled.

데이터베이스 프로파일링 모듈(180)은 데이터베이스 요청에 사용된 쿼리 중에서 정상적인 것으로 학습된 쿼리에 대한 프로파일을 쿼리 프로파일 DB(120)에 생성 및 갱신한다. 데이터베이스 프로파일링 모듈(180)은 소정의 학습 기간 동안 데이터베이스 응답이 정상적인 DML(Data Manipulation Language)쿼리에 대해서만 학습을 수행하는 것이 바람직하다. DDL(Data Definition Language) 및 DCL(Data Control Language) 쿼리는 데이터와 그 구조를 정의하거나 데이터베이스 사용자의 권한을 제어하는 것으로 잘 사용되지 않기 때문이다.The database profiling module 180 creates and updates a profile in the query profile DB 120 for a query learned as being normal among the queries used in the database request. The database profiling module 180 preferably performs training only on a data manipulation language (DML) query whose database response is normal for a predetermined learning period. This is because Data Definition Language (DDL) and Data Control Language (DCL) queries are not often used to define data and their structure or to control the privileges of database users.

한편, 쿼리 학습은 DB 시스템(30)의 구축 초기와 데이터베이스 구조가 변경된 경우 일정 기간 동안 이루어지는 것이 바람직하다. DB 시스템(30)이 구축되는 초기에는 DB 시스템(30)이 외부로부터 공격을 받을 개연성이 낮다. 따라서, 시스템 구축 초기에 소정의 학습 기간 동안 DB 클라이언트(10)의 데이터베이스 요청을 정상적인 것으로 간주하여 학습한 쿼리 프로파일을 데이터베이스 요청의 정상 여부를 검증하는데 사용할 수 있다. 또한, 데이터베이스 구조가 변경된 경우 예컨대 오브젝트가 생성, 변경 또는 삭제된 경우, 해당 오브젝트에 대해서 쿼리 프로파일을 반영하여야 하기 때문에 일정 기간 재학습이 이루어져야 한다.On the other hand, query learning is preferably performed for a certain period of time when the initial structure of the DB system 30 and the database structure is changed. In the early stage when the DB system 30 is constructed, the probability that the DB system 30 is attacked from the outside is low. Therefore, the database profile of the DB client 10 may be regarded as normal during a predetermined learning period at the beginning of system construction, and the learned query profile may be used to verify whether the database request is normal. In addition, when the database structure is changed, for example, when an object is created, changed, or deleted, re-learning should be performed for a certain period of time because the query profile should be reflected for the object.

데이터베이스 요청 처리 모듈(130)은 DB 클라이언트(10)의 데이터베이스 요청을 수신한 후 데이터베이스 요청 검증 모듈(140)로 전달하고, 데이터베이스 요청 검증 모듈(140)에서 정상적인 요청으로 검증을 통과한 데이터베이스 요청에 대해서만 DB 시스템(30)에 전달한다.The database request processing module 130 receives the database request from the DB client 10 and then passes it to the database request verification module 140, and only for the database request that has passed the verification as a normal request in the database request verification module 140. Transfer to the DB system 30.

데이터베이스 요청 검증 모듈(140)은 데이터베이스 요청 처리 모듈(130)에서 전달된 데이터베이스 요청을 알려진 공격 시그너쳐 DB(110)와 쿼리 프로파일 DB(120)를 이용하여 정상적인 데이터베이스 요청인지 또는 비정상적인 데이터베이스 요청인지 여부를 검증한다.The database request verification module 140 verifies whether the database request forwarded by the database request processing module 130 is a normal database request or an abnormal database request by using the known attack signature DB 110 and the query profile DB 120. do.

보다 자세하게는, 데이터베이스 요청 검증 모듈(140)은 데이터베이스 요청과 알려진 공격 시그너쳐 DB(110)에 저장된 데이터베이스 공격 시그너쳐를 패턴 매칭 하여 DB 클라이언트(10)의 데이터베이스 요청이 알려진 공격 시그너쳐 DB(110)에 존재하면 비정상적인 데이터베이스 요청으로 판단한다.In more detail, the database request verification module 140 pattern-matches the database request with the database attack signature stored in the known attack signature DB 110 and if the database request of the DB client 10 exists in the known attack signature DB 110. Judging by an abnormal database request.

또한, 데이터베이스 요청 검증 모듈(140)은 데이터베이스 요청에 사용된 쿼리가 쿼리 프로파일 DB(120)에 존재하는 경우에는 정상적인 데이터베이스 요청으로 간주하고, 존재하지 않는 경우에는 비정상적인 데이터베이스 요청으로 판단한다.In addition, if the query used for the database request exists in the query profile DB 120, the database request verification module 140 considers it as a normal database request, and if it does not exist, determines that it is an abnormal database request.

데이터베이스 요청 검증 모듈(140)은 쿼리 프로파일 DB(120)에 의한 데이터베이스 요청 검증 시에는 DML 권한 프로파일과 DML 유형 프로파일에 의해 2 단계로 나누어 검증을 수행할 수 있다. 예컨대, DB 클라이언트(10)의 데이터베이스 요청에 사용된 쿼리의 DML 명령과 오브젝트 객체가 해당 DB 클라이언트(10)에 대한 DML 권한 프로파일에 존재하면 일단 DML 권한 프로파일에 대해서는 정상적인 데이터베이스 요청으로 판단한다. 다음으로, DB 클라이언트(10)의 데이터베이스 요청에 사용된 쿼리에서 실제값을 제외한 나머지 부분이 쿼리 프로파일 DB(120)의 DML 유형 프로파일에 존재하면 최종적으로 정상적인 데이터베이스 요청으로 판단한다. 만일, DB 클라이언트(10)의 데이터베이스 요청에 사용된 쿼리가 DML 권한 프로파일과 DML 유형 프로파일 중 어느 하나에서라도 일치하지 않는 경우 비정상적인 데이터베이스 요청으로 판단한다.When verifying a database request by the query profile DB 120, the database request verification module 140 may perform verification by dividing into two stages by a DML authority profile and a DML type profile. For example, once the DML command and the object object of the query used in the database request of the DB client 10 exist in the DML rights profile for the DB client 10, the DML rights profile is determined to be a normal database request. Next, when the remaining portion except for the actual value in the query used for the database request of the DB client 10 exists in the DML type profile of the query profile DB 120, it is finally determined as a normal database request. If the query used for the database request of the DB client 10 does not match any of the DML rights profile and the DML type profile, it is determined as an abnormal database request.

데이터베이스 요청 검증 모듈(140)은 데이터베이스 요청이 공격 또는 비정상적인 것으로 판단되면 데이터베이스 요청 차단 모듈(150)로 하여금 DB 클라이언트(10)의 데이터베이스 요청을 차단하도록 하고, 검증 결과 정상적인 데이터베이스 요청이면 데이터베이스 요청 처리 모듈(130)을 통해 DB 시스템(30)에 DB 클라이언 트(10)의 데이터베이스 요청이 전달되도록 한다.If it is determined that the database request is an attack or abnormal, the database request verification module 140 causes the database request blocking module 150 to block the database request of the DB client 10. If the verification result is a normal database request, the database request processing module ( 130, the database request of the DB client 10 is delivered to the DB system 30.

데이터베이스 요청 차단 모듈(150)은 DB 클라이언트(10)의 데이터베이스 요청이 비정상적인 것으로 데이터베이스 요청 검증 모듈(140)에서 판단되면 DB 클라이언트(10)의 접속을 차단하고 DB 클라이언트(10)의 데이터베이스 요청을 DB 시스템(30)에 전달되지 않도록 차단한다.If the database request blocking module 150 determines that the database request of the DB client 10 is abnormal, the database request blocking module 150 blocks the connection of the DB client 10 and transmits the database request of the DB client 10 to the DB system. Block so that it does not reach 30.

관리자 보고 모듈(160)은 보안 관리자에게 비정상적인 데이터베이스 요청에 대한 탐지 및 차단 결과 등을 보고한다. 이때, 관리자 보고 모듈(160)은 그래픽 사용자 인터페이스(GUI) 등으로 구현될 수 있으며, 각종 포맷으로 비정상적인 데이터베이스 요청에 대한 탐지 및 차단 결과가 관리자 단말기(미도시) 또는 DB 보안 시스템()에 구비될 수 있는 디스플레이 수단(미도시)에 표시되도록 할 수도 있다.The administrator reporting module 160 reports the detection and blocking results of abnormal database requests to the security administrator. In this case, the manager reporting module 160 may be implemented as a graphical user interface (GUI) or the like, and the detection and blocking result of the abnormal database request in various formats may be provided in the manager terminal (not shown) or the DB security system (). It may also be displayed on the display means (not shown).

데이터베이스 응답 처리 모듈(170)은 DB 시스템(10)으로부터 수신된 데이터베이스 응답을 처리한다. 데이터베이스 응답 처리 모듈(170)은 DB 시스템(10)으로부터 수신된 데이터베이스 응답이 정상일 경우 데이터베이스 요청 처리 모듈(130)을 통해서 DB 클라이언트(10)의 데이터베이스 요청에 사용된 쿼리를 데이터베이스 프로파일링 모듈(180)로 전달되도록 한다. 또한, 데이터베이스 응답 처리 모듈(170)은 DB 시스템(30)으로부터 수신된 응답을 DB 클라이언트(10)에 전달한다.The database response processing module 170 processes the database response received from the DB system 10. The database response processing module 170 may query the query used for the database request of the DB client 10 through the database request processing module 130 when the database response received from the DB system 10 is normal. To be delivered to. In addition, the database response processing module 170 transfers the response received from the DB system 30 to the DB client 10.

도 3은 쿼리 프로파일 학습 단계를 상세히 나타낸 흐름도이고, 도 4는 본 발명의 일 실시예에 따른 프로파일링 기반 데이터베이스 보안 방법의 흐름도이며, 도 5는 도 4의 데이터베이스 요청 검증 단계를 상세히 나타낸 흐름도이다.3 is a flowchart illustrating a query profile learning step in detail, FIG. 4 is a flowchart illustrating a profiling-based database security method according to an embodiment of the present invention, and FIG. 5 is a flowchart illustrating the database request verification step of FIG. 4 in detail.

먼저 본 발명에 따른 프로파일링 기반 데이터베이스 보안 방법은 쿼리 프로 파일 학습 단계가 선행되어야 한다. 물론, DB 시스템(30) 구축 후에도 데이터베이스 구조가 변경된 경우 쿼리 프로파일에 대한 재학습이 이루어질 수 있다.First, the profiling-based database security method according to the present invention should be preceded by a query profile learning step. Of course, if the database structure is changed even after the DB system 30 is constructed, re-learning of the query profile may be performed.

도 3을 참조하여, 본 발명의 일 실시예에 따른 쿼리 프로파일 학습에 대해서 자세히 설명한다.Referring to FIG. 3, query profile learning according to an embodiment of the present invention will be described in detail.

먼저, 데이터베이스 요청 처리 모듈(130)은 DB 클라이언트(10)의 데이터베이스 요청이 수신되면 데이터베이스 요청 검증 모듈(140)에 전달한다(S311).First, when the database request processing module 130 receives the database request from the DB client 10, the database request processing module 130 transmits the data to the database request verification module 140 (S311).

다음으로, 데이터베이스 요청 검증 모듈(140)은 데이터베이스 요청을 수신하면 현재 학습 기간인지 여부를 판단한다(S312). 학습기간이 아니면(S312-N), 데이터베이스 요청 검증 모듈(140)은 아래에서 설명하는 프로파일링 기반 데이터베이스 보안 방법에 의해 데이터베이스 요청을 검증한다.Next, upon receiving the database request, the database request verification module 140 determines whether it is a current learning period (S312). If it is not the learning period (S312-N), the database request verification module 140 verifies the database request by the profiling-based database security method described below.

한편, 학습기간이면(S312-Y), 데이터베이스 요청 검증 모듈(140)은 데이터베이스 요청이 정상인 것으로 간주하고 데이터베이스 요청 처리 모듈(130)을 통해 데이터베이스 요청을 DB 시스템(30)으로 전달한다(S313).On the other hand, if the learning period (S312-Y), the database request verification module 140 considers the database request to be normal and transmits the database request to the DB system 30 through the database request processing module 130 (S313).

이후, 데이터베이스 응답 처리 모듈(170)은 쿼리 학습 기간 동안 DB 시스템(30)으로부터 수신한 데이터베이스 응답이 정상일 경우(S314-Y), 데이터베이스 요청 처리 모듈(130)을 통해서 DB 클라이언트(10)의 데이터베이스 요청에 사용된 쿼리를 데이터베이스 프로파일링 모듈(180)로 전달한다(S315).Subsequently, when the database response received from the DB system 30 during the query learning period is normal (S314 -Y), the database response processing module 170 requests the database of the DB client 10 through the database request processing module 130. The query used in the step is forwarded to the database profiling module 180 (S315).

다음으로, 데이터베이스 프로파일링 모듈(180)은 전달된 쿼리를 분석하여 DML 쿼리인지 여부를 판단한다(S316).Next, the database profiling module 180 analyzes the transferred query and determines whether the query is a DML query (S316).

수신한 쿼리가 DML 쿼리 이면(S316-Y), 데이터베이스 프로파일링 모듈(180) 은 수신한 쿼리에 대한 쿼리 프로파일을 쿼리 프로파일 DB(120)에 생성 및 갱신한다(S317). 본 단계(S317)는 수신된 쿼리의 DML 명령 및 오브젝트를 사용자별로 쿼리 프로파일 DB(120)에 저장하는 DML 권한 프로파일 생성 및 갱신 단계(S317a)와, 수신된 쿼리에서 실제값을 제외한 나머지 부분으로 이루어진 쿼리 유형을 쿼리 프로파일 DB(120)에 저장하는 DML 유형 프로파일 생성 및 갱신 단계(S317b)로 이루어진다. If the received query is a DML query (S316-Y), the database profiling module 180 generates and updates a query profile for the received query in the query profile DB 120 (S317). This step (S317) comprises a DML authority profile generation and update step (S317a) of storing the DML commands and objects of the received query in the query profile DB 120 for each user, and the remaining parts of the received query except for the actual value. DML type profile generation and update step (S317b) for storing the query type in the query profile DB (120).

한편, 데이터베이스 프로파일링 모듈(180)은 수신한 쿼리가 DML 쿼리가 아니면(S316-N), 수신한 쿼리가 데이터베이스 오브젝트를 삭제 또는 변경하는 것인지 여부를 판단한다(S318).Meanwhile, if the received query is not a DML query (S316-N), the database profiling module 180 determines whether the received query deletes or changes the database object (S318).

판단 결과, 데이터베이스 오브젝트를 삭제 또는 변경하는 경우(S318-Y), 삭제 또는 변경된 오브젝트에 대한 DML 권한 프로파일 및 DML 유형 프로파일을 프로파일 DB(120)에서 삭제한다(S319a, S319b). As a result of the determination, when the database object is deleted or changed (S318-Y), the DML authority profile and the DML type profile for the deleted or changed object are deleted from the profile DB 120 (S319a and S319b).

이와 같이, DB 보안 시스템(100)은 쿼리 학습 기간 동안 단계(S311) 내지 단계(S319b)를 반복하여 데이터베이스 요청 검증 시에 사용하는 쿼리 프로파일 데이터베이스(120)를 만들 수 있다.As such, the DB security system 100 may repeat the steps S311 to S319b during the query learning period to create the query profile database 120 used for verifying the database request.

이하, 도 4를 참조하여 상기와 같은 쿼리 프로파일 학습에 의해 만들어진 쿼리 프로파일 데이터베이스를 이용한 본 발명의 일 실시예에 따른 프로파일링 기반 데이터베이스 보안 방법을 자세히 설명한다.Hereinafter, a profiling-based database security method according to an embodiment of the present invention using a query profile database created by the above query profile learning will be described in detail with reference to FIG. 4.

도 4를 참조하면, 먼저, 데이터베이스 요청 처리 모듈(130)은 데이터베이스 요청을 수신하여 데이터베이스 요청 검증 모듈(140)로 전달한다(S410).Referring to FIG. 4, first, the database request processing module 130 receives a database request and transmits it to the database request verification module 140 (S410).

다음으로, 데이터베이스 요청 검증 모듈(140)은 데이터베이스 요청 처리 모듈(130)에서 전달된 데이터베이스 요청을 알려진 공격 시그너쳐 DB(110)와 쿼리 프로파일 DB(120)를 이용하여 정상적인 데이터베이스 요청인지 또는 비정상적인 데이터베이스 요청인지 여부를 검증한다(S420).Next, the database request verification module 140 uses the known attack signature DB 110 and the query profile DB 120 to determine whether the database request passed from the database request processing module 130 is a normal database request or an abnormal database request. Verify whether or not (S420).

도 5를 참조하여, 본 발명의 일 실시예에 따른 데이터베이스 요청 검증에 대해서 자세히 설명한다.Referring to Figure 5, it will be described in detail with respect to the database request verification according to an embodiment of the present invention.

먼저, 데이터베이스 요청 검증 모듈(140)은 데이터베이스 요청과 알려진 공격 시그너쳐 DB(110)에 저장된 데이터베이스 공격 시그너쳐를 비교하여 DB 클라이언트(10)의 데이터베이스 요청이 알려진 공격 시그너쳐 DB(110)에 존재하는지 여부를 판단한다(S421).First, the database request verification module 140 compares a database request with a database attack signature stored in the known attack signature DB 110 to determine whether a database request of the DB client 10 exists in the known attack signature DB 110. (S421).

데이터베이스 요청이 알려진 공격 시그너쳐 DB(110)에 존재하면, 즉 알려진 공격 시스너쳐 DB 검증을 통과하지 못하면(S421-N), DB 클라이언트(10)의 데이터베이스 요청이 비정상적인 데이터베이스 요청인 것으로 판단한다(S428).If the database request exists in the known attack signature DB 110, that is, if the known attack system DB verification does not pass (S421-N), it is determined that the database request of the DB client 10 is an abnormal database request (S428). .

한편, 데이터베이스 요청이 알려진 공격 시그너쳐 DB(110)에 존재하지 않으면, 즉 알려진 공격 시그너쳐 DB 검증을 통과하면(S421-Y), 데이터베이스 요청 검증 모듈(140)은 쿼리 학습 기간인지 여부를 판단한다(S422).On the other hand, if the database request does not exist in the known attack signature DB 110, that is, passes the known attack signature DB verification (S421-Y), the database request verification module 140 determines whether the query learning period (S422). ).

판단 결과 쿼리 학습 기간이면(S422-Y), 데이터베이스 요청 검증 모듈(140)은 DB 클라이언트(10)의 데이터베이스 요청이 정상인 것으로 판단한다(S427).If the determination result is the query learning period (S422-Y), the database request verification module 140 determines that the database request of the DB client 10 is normal (S427).

판단 결과 쿼리 학습 기간이 아니면(S422-N), 데이터베이스 요청 검증 모듈(140)은 데이터베이스 요청에 사용된 쿼리를 분석하여 DML 쿼리인지 여부를 판단 한다(S423).If the determination result is not the query learning period (S422-N), the database request verification module 140 analyzes the query used for the database request and determines whether the query is a DML query (S423).

판단 결과 DML 쿼리가 아니면(S423-N), 데이터베이스 요청 검증 모듈(140)은 DB 클라이언트(10)의 데이터베이스 요청이 정상인 것으로 판단한다(S427).If the determination result is not a DML query (S423-N), the database request verification module 140 determines that the database request of the DB client 10 is normal (S427).

한편, 판단 결과 DML 쿼리이면(S423-Y), 데이터베이스 요청 검증 모듈(140)은 데이터베이스 요청에 사용된 쿼리가 기 학습된 오브젝트에 대한 것인지 여부를 판단한다(S424).On the other hand, if the determination result is a DML query (S423-Y), the database request verification module 140 determines whether the query used for the database request is for a previously learned object (S424).

판단 결과 기 학습된 오브젝트에 대한 것이 아니면(S424-N), 데이터베이스 요청 검증 모듈(140)은 DB 클라이언트(10)의 데이터베이스 요청이 정상인 것으로 판단한다(S427). 실시예에 따라, 데이터베이스 요청 검증 모듈(140)은 기 학습되지 않은 오브젝트에 대해서 데이터베이스 프로파일링 모듈(180)이 쿼리 프로파일 학습을 수행할 수 있도록 DB 보안 시스템(100)을 학습 모드로 변경할 수 있다.If the determination result is not about the previously learned object (S424-N), the database request verification module 140 determines that the database request of the DB client 10 is normal (S427). According to an embodiment, the database request verification module 140 may change the DB security system 100 to a learning mode so that the database profiling module 180 may perform query profile learning on an object that has not been previously learned.

한편, 판단 결과 기 학습된 오브젝트에 대한 것이면(S424-Y), 데이터베이스 요청 검증 모듈(140)은 DB 클라이언트(10)의 데이터베이스 요청에 사용된 쿼리가 데이터베이스 요청을 한 사용자에 대한 DML 권한 프로파일에 존재하는지 판단한다(S425).On the other hand, if the determination result is about the learned object (S424-Y), the database request verification module 140 exists in the DML rights profile for the user who made the database request by the query used for the database request of the DB client 10. It is determined whether (S425).

판단 결과 DML 권한 프로파일에 존재하지 않으면(S425-N), 데이터베이스 요청 검증 모듈(140)은 DB 클라이언트(10)의 데이터베이스 요청이 권한 없는 비정상인 것으로 판단한다(S428).If the determination result does not exist in the DML rights profile (S425-N), the database request verification module 140 determines that the database request of the DB client 10 is abnormal without permission (S428).

한편, 판단 결과 DML 권한 프로파일에 존재하면(S425-Y), 데이터베이스 요청 검증 모듈(140)은 DB 클라이언트(10)의 데이터베이스 요청에 사용된 쿼리가 DML 유 형 프로파일에 존재하는지 판단한다(S426).On the other hand, if the determination result exists in the DML rights profile (S425-Y), the database request verification module 140 determines whether the query used for the database request of the DB client 10 exists in the DML type profile (S426).

판단 결과 DML 유형 프로파일에 존재하지 않으면(S426-N), 데이터베이스 요청 검증 모듈(140)은 DB 클라이언트(10)의 데이터베이스 요청이 비정상인 것으로 V판단한다(S428).If the determination result does not exist in the DML type profile (S426-N), the database request verification module 140 determines that the database request of the DB client 10 is abnormal (S428).

한편, 판단 결과 DML 유형 프로파일에 존재하면(S426-Y), 데이터베이스 요청 검증 모듈(140)은 DB 클라이언트(10)의 데이터베이스 요청이 정상인 것으로 판단한다(S427).On the other hand, if the determination result exists in the DML type profile (S426-Y), the database request verification module 140 determines that the database request of the DB client 10 is normal (S427).

다시 도 4로 돌아가서, 데이터베이스 요청이 정상적인 것으로 판단되면(S420-Y), 데이터베이스 요청 검증 모듈(140)은 데이터베이스 요청 처리 모듈(130)을 통해 DB 시스템(30)에 DB 클라이언트(10)의 데이터베이스 요청이 전달되도록 한다(S430).4 again, if it is determined that the database request is normal (S420-Y), the database request verification module 140 requests the database system of the DB client 10 to the DB system 30 through the database request processing module 130. This is to be delivered (S430).

다음으로, 데이터베이스 응답 처리 모듈(170)은 데이터베이스 요청에 대한 DB 시스템(30)의 데이터베이스 응답을 수신하여(S440), DB 클라이언트(10)에 데이터베이스 응답을 전달한다(S450).Next, the database response processing module 170 receives the database response of the DB system 30 to the database request (S440), and delivers the database response to the DB client 10 (S450).

한편, 데이터베이스 요청이 비정상적인 것으로 판단되면(S420-N), 데이터베이스 요청 검증 모듈(140)은 데이터베이스 요청 차단 모듈(150)로 하여금 DB 클라이언트(10)의 데이터베이스 요청을 차단하도록 한다(S460).On the other hand, if it is determined that the database request is abnormal (S420-N), the database request verification module 140 causes the database request blocking module 150 to block the database request of the DB client 10 (S460).

다음으로, 관리자 보고 모듈(160)은 보안 관리자에게 비정상적인 데이터베이스 요청에 대한 탐지 및 차단 결과 등을 보고한다(S470).Next, the manager reporting module 160 reports the detection and blocking result of the abnormal database request to the security manager (S470).

이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발 명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the preferred embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concepts of the present invention defined in the following claims are also provided. It belongs to the scope of rights.

이상 설명한 바와 같이, 본 발명에 따르면 데이터베이스 보안 시스템이 자동으로 학습한 쿼리 프로파일을 데이터베이스 보안 정책에 사용하는 프로파일링 기법을 적용하여 보안 관리자에 의해 사용자별 접근 권한 등의 데이터베이스 보안 정책이 수동으로 수립되지 않아도 안정적인 데이터베이스 보안이 이루어지는 장점이 있다.As described above, according to the present invention, by applying a profiling technique that uses the query profile learned automatically by the database security system in the database security policy, the database security policy such as user-specific access authority is not manually established by the security administrator. There is an advantage that stable database security is achieved.

또한, 본 발명에 따르면 데이터베이스 보안 시스템은 비정상적인 데이터베이스 요청을 이미 알려진 공격 시그너쳐에만 의존하지 않고 해당 데이터베이스 시스템에 따라 적합하게 설정된 프로파일링 기법에 의해 수립된 데이터베이스 보안 정책을 적용하여 차단할 수 있는 장점이 있다.In addition, according to the present invention, the database security system has an advantage of blocking an abnormal database request by applying a database security policy established by a profiling technique appropriately set according to the database system without relying only on known attack signatures.

또한, 본 발명에 따르면 데이터베이스 보안에 전문 지식을 보유한 인력을 확보하지 않고도 데이터베이스 시스템을 안전하게 보호할 수 있는 장점이 있다.In addition, according to the present invention there is an advantage that can secure the database system without securing a manpower having expertise in database security.

Claims (18)

소정의 학습 기간 동안 데이터베이스 요청에 사용된 쿼리를 이용하여 쿼리 프로파일 데이터베이스를 생성 및 갱신하는 단계;Creating and updating a query profile database using the query used in the database request for a predetermined learning period; 데이터베이스 클라이언트로부터 데이터베이스 요청을 수신하는 단계;Receiving a database request from a database client; 상기 수신된 데이터베이스 요청을 상기 쿼리 프로파일 데이터베이스를 이용하여 정상적인 데이터베이스 요청인지 여부를 검증하는 단계;Verifying whether the received database request is a normal database request using the query profile database; 상기 검증 결과 정상적인 데이터베이스 요청이면 상기 수신된 데이터베이스 요청을 데이터베이스 시스템에 전달하고, 비정상적인 데이터베이스 요청이면 상기 수신된 데이터베이스 요청을 차단하는 단계; 및,If the verification result is a normal database request, forwarding the received database request to a database system, and blocking the received database request if it is an abnormal database request; And, 상기 데이터베이스 시스템으로부터 상기 정상적인 데이터베이스 요청에 대한 데이터베이스 응답을 수신하여 상기 데이터베이스 클라이언트에 전달하는 단계; 를 포함하는 것을 특징으로 하는 프로파일링 기반 데이터베이스 보안 방법.Receiving a database response from the database system to the database client for the normal database request; Profiling-based database security method comprising a. 제 1 항에 있어서,The method of claim 1, 상기 수신된 데이터베이스 요청을 이미 알려진 데이터베이스 공격 시그너쳐와 비교하여 정상적인 데이터베이스 요청인지 여부를 검증하는 단계; 를 더 포함하고,Comparing the received database request with a known database attack signature to verify whether it is a normal database request; More, 상기 이미 알려진 데이터베이스 공격 시그너쳐와 비교하여 정상적인 데이터베이스 요청인 것으로 판단된 경우 상기 쿼리 프로파일 데이터베이스를 이용하여 정상적인 데이터베이스 요청인지 여부를 검증하는 것을 특징으로 하는 프로파일링 기반 데이터베이스 보안 방법.And if it is determined that the request is a normal database compared to the known database attack signature, verifying whether the request is a normal database request using the query profile database. 제 2 항에 있어서,The method of claim 2, 상기 쿼리 프로파일 데이터베이스를 생성 및 갱신하는 단계는,Creating and updating the query profile database, 상기 소정의 학습 기간 동안 수신되는 데이터베이스 요청에 대한 데이터베이스 응답이 정상인지 여부를 판단하는 단계;Determining whether a database response to a database request received during the predetermined learning period is normal; 상기 데이터베이스 응답이 정상이면 상기 소정의 학습 기간 동안 수신되는 데이터베이스 요청에 사용된 쿼리가 DML(Data Manipulation Language)쿼리인지 여부를 판단하는 단계; 및,Determining whether a query used for a database request received during the predetermined learning period is a DML (Data Manipulation Language) query if the database response is normal; And, 상기 쿼리가 DML 쿼리이면 상기 쿼리에 대한 쿼리 프로파일을 상기 쿼리 프로파일 데이터베이스에 생성 및 갱신하는 단계; 를 포함하는 것을 특징으로 하는 프로파일링 기반 데이터베이스 보안 방법.Creating and updating a query profile for the query in the query profile database if the query is a DML query; Profiling-based database security method comprising a. 제 3 항에 있어서,The method of claim 3, wherein 상기 쿼리 프로파일은,The query profile is, 상기 쿼리의 데이터베이스 오브젝트와 DML 명령으로 이루어지는 DML 권한 프로파일과 상기 쿼리의 실제값을 제외한 나머지 부분으로 이루어지는 DML 유형 프로파일로 이루어지는 것을 특징으로 하는 프로파일링 기반 데이터베이스 보안 방법.A profiling-based database security method comprising: a DML rights profile consisting of a database object of the query and a DML command; and a DML type profile consisting of remaining portions except the actual value of the query. 제 4 항에 있어서,The method of claim 4, wherein 상기 쿼리가 DML 쿼리가 아니면 상기 쿼리가 상기 데이터베이스 시스템의 오브젝트를 삭제 또는 변경하는 것인지 판단하는 단계; 및,Determining whether the query deletes or changes an object of the database system if the query is not a DML query; And, 상기 쿼리가 데이터베이스 시스템의 오브젝트를 삭제 또는 변경하는 경우 상기 오브젝트에 대한 쿼리 프로파일을 삭제하는 단계; 를 더 포함하는 것을 특징으로 하는 프로파일링 기반 데이터베이스 보안 방법.Deleting a query profile for the object if the query deletes or changes an object of a database system; Profiling-based database security method characterized in that it further comprises. 제 5 항에 있어서,The method of claim 5, wherein 상기 수신된 데이터베이스 요청에 사용된 쿼리가 상기 쿼리 프로파일 데이터베이스에 존재하는 경우 상기 데이터베이스 클라이언트로부터 수신된 데이터베이스 요청이 정상적인 것으로 판단하고, 존재하지 않는 경우 비정상적인 것으로 판단하는 것을 특징으로 하는 프로파일링 기반 데이터베이스 보안 방법.Profiling-based database security method characterized in that if the query used in the received database request exists in the query profile database, the database request received from the database client is normal, and if it does not exist it is determined to be abnormal . 제 6 항에 있어서,The method of claim 6, 상기 수신된 데이터베이스 요청을 상기 쿼리 프로파일 데이터베이스를 이용하여 정상적인 데이터베이스 요청인지 여부를 검증하는 단계는,Verifying whether the received database request is a normal database request using the query profile database, 상기 수신된 데이터베이스 요청에 사용된 쿼리가 상기 DML 권한 프로파일에 존재하지 않으면 상기 수신된 데이터베이스 요청이 비정상적인 것으로 판단하는 단계; 및,Determining that the received database request is abnormal if the query used in the received database request does not exist in the DML rights profile; And, 상기 수신된 데이터베이스 요청에 사용된 쿼리가 상기 DML 유형 프로파일에 존재하지 않으면 상기 수신된 데이터베이스 요청이 비정상적인 것으로 판단하는 단계; 를 포함하는 것을 특징으로 하는 프로파일링 기반 데이터베이스 보안 방법.Determining that the received database request is abnormal if the query used in the received database request does not exist in the DML type profile; Profiling-based database security method comprising a. 제 7 항에 있어서,The method of claim 7, wherein 상기 수신된 데이터베이스 요청에 사용된 쿼리가 기 학습된 데이터베이스 오브젝트에 관한 것이 아니면 상기 수신된 데이터베이스 요청이 정상적인 것으로 판단하는 단계; 를 더 포함하는 것을 특징으로 하는 프로파일링 기반 데이터베이스 보안 방법.Determining that the received database request is normal if the query used for the received database request is not about a previously learned database object; Profiling-based database security method characterized in that it further comprises. 제 1 항에 있어서,The method of claim 1, 상기 비정상적인 데이터베이스 요청을 차단한 결과를 관리자에게 보고하는 단계; 를 더 포함하는 것을 특징으로 하는 프로파일링 기반 데이터베이스 보안 방법.Reporting a result of blocking the abnormal database request to an administrator; Profiling-based database security method characterized in that it further comprises. 소정의 학습 기간 동안 데이터베이스 요청에 사용된 쿼리를 이용하여 쿼리 프로파일 데이터베이스를 생성 및 갱신하는 데이터베이스 프로파일링 모듈;A database profiling module for creating and updating a query profile database using a query used in a database request for a predetermined learning period; 데이터베이스 클라이언트로부터 데이터베이스 요청을 수신하는 데이터베이스 요청 처리 모듈;A database request processing module for receiving a database request from a database client; 상기 수신된 데이터베이스 요청을 상기 쿼리 프로파일 데이터베이스를 이용하여 정상적인 데이터베이스 요청인지 여부를 검증하고, 정상적인 데이터베이스 요 청이면 상기 데이터베이스 요청 처리 모듈이 상기 수신된 데이터베이스 요청을 데이터베이스 시스템에 전달하도록 하는 데이터베이스 요청 검증 모듈;A database request verification module for verifying whether the received database request is a normal database request using the query profile database, and if the database request is normal, the database request processing module forwarding the received database request to a database system; 상기 수신된 데이터베이스 요청이 상기 데이터베이스 요청 검증 모듈에서 비정상적인 데이터베이스 요청으로 판단되면 상기 수신된 데이터베이스 요청을 차단하는 데이터베이스 요청 차단 모듈; 및,A database request blocking module for blocking the received database request if the received database request is determined to be an abnormal database request in the database request verification module; And, 상기 데이터베이스 시스템으로부터 상기 정상적인 데이터베이스 요청에 대한 데이터베이스 응답을 수신하여 상기 데이터베이스 클라이언트에 전달하는 데이터베이스 응답 처리 모듈; 을 포함하는 것을 특징으로 하는 프로파일링 기반 데이터베이스 보안 시스템.A database response processing module for receiving a database response to the normal database request from the database system and delivering the database response to the database client; Profiling-based database security system comprising a. 제 10 항에 있어서,The method of claim 10, 상기 데이터베이스 요청 검증 모듈은,The database request verification module, 상기 수신된 데이터베이스 요청을 이미 알려진 데이터베이스 공격 시그너쳐와 비교하여 정상적인 데이터베이스 요청인지 여부를 검증하고, 정상적인 데이터베이스 요청인 것으로 판단된 경우 상기 쿼리 프로파일 데이터베이스를 이용하여 정상적인 데이터베이스 요청인지 여부를 검증하는 것을 특징으로 하는 프로파일링 기반 데이터베이스 보안 시스템.Comparing the received database request with a known database attack signature to verify whether it is a normal database request, and if it is determined to be a normal database request, verifying whether the database request is a normal database request using the query profile database. Profiling-based database security system. 제 11 항에 있어서,The method of claim 11, 상기 데이터베이스 프로파일링 모듈은,The database profiling module, 상기 소정의 학습 기간 동안 수신되는 데이터베이스 요청에 대한 데이터베이스 응답이 정상인지 여부를 판단하고, 상기 데이터베이스 응답이 정상이면 상기 소정의 학습 기간 동안 수신되는 데이터베이스 요청에 사용된 쿼리가 DML 쿼리인지 여부를 판단하며, 상기 쿼리가 DML 쿼리이면 상기 쿼리에 대한 쿼리 프로파일을 상기 쿼리 프로파일 데이터베이스에 생성 및 갱신하는 것을 특징으로 하는 프로파일링 기반 데이터베이스 보안 시스템.Determining whether a database response to a database request received during the predetermined learning period is normal; if the database response is normal, determining whether a query used for a database request received during the predetermined learning period is a DML query; And if the query is a DML query, create and update a query profile for the query in the query profile database. 제 12 항에 있어서,The method of claim 12, 상기 쿼리 프로파일은,The query profile is, 상기 쿼리의 데이터베이스 오브젝트와 DML 명령으로 이루어지는 DML 권한 프로파일과 상기 쿼리의 실제값을 제외한 나머지 부분으로 이루어지는 DML 유형 프로파일로 이루어지는 것을 특징으로 하는 프로파일링 기반 데이터베이스 보안 시스템.A profiling-based database security system comprising: a DML rights profile consisting of a database object of the query and a DML command; and a DML type profile consisting of remaining portions except the actual value of the query. 제 13 항에 있어서,The method of claim 13, 상기 데이터베이스 프로파일링 모듈은,The database profiling module, 상기 쿼리가 DML 쿼리가 아니면 상기 쿼리가 상기 데이터베이스 시스템의 오브젝트를 삭제 또는 변경하는 것인지 판단하고, 상기 쿼리가 데이터베이스 시스템의 오브젝트를 삭제 또는 변경하는 경우 상기 오브젝트에 대한 쿼리 프로파일을 삭제하는 것을 특징으로 하는 프로파일링 기반 데이터베이스 보안 시스템.Determining whether the query deletes or changes an object of the database system when the query is not a DML query, and deletes a query profile for the object when the query deletes or changes an object of the database system. Profiling-based database security system. 제 14 항에 있어서,The method of claim 14, 상기 데이터베이스 요청 검증 모듈은,The database request verification module, 상기 수신된 데이터베이스 요청에 사용된 쿼리가 상기 쿼리 프로파일 데이터베이스에 존재하는 경우 상기 데이터베이스 클라이언트로부터 수신된 데이터베이스 요청이 정상적인 것으로 판단하고, 존재하지 않는 경우 비정상적인 것으로 판단하는 것을 특징으로 하는 프로파일링 기반 데이터베이스 보안 시스템.A profiling-based database security system, if the query used for the received database request exists in the query profile database, the database request received from the database client is determined to be normal; . 제 15 항에 있어서,The method of claim 15, 상기 데이터베이스 요청 검증 모듈은,The database request verification module, 상기 수신된 데이터베이스 요청에 사용된 쿼리가 상기 DML 권한 프로파일에 존재하지 않거나 상기 DML 유형 프로파일에 존재하지 않으면 상기 수신된 데이터베이스 요청이 비정상적인 것으로 판단하는 것을 특징으로 하는 프로파일링 기반 데이터베이스 보안 시스템.And if the query used in the received database request does not exist in the DML rights profile or does not exist in the DML type profile, determine that the received database request is abnormal. 제 16 항에 있어서,The method of claim 16, 상기 데이터베이스 요청 검증 모듈은,The database request verification module, 상기 수신된 데이터베이스 요청에 사용된 쿼리가 기 학습된 데이터베이스 오브젝트에 관한 것이 아니면 상기 수신된 데이터베이스 요청이 정상적인 것으로 판단하는 것을 특징으로 하는 프로파일링 기반 데이터베이스 보안 시스템.And determining that the received database request is normal if the query used for the received database request is not about a previously learned database object. 제 10 항에 있어서,The method of claim 10, 상기 비정상적인 데이터베이스 요청을 차단한 결과를 관리자에게 보고하는 관리자 보고 모듈; 을 더 포함하는 것을 특징으로 하는 프로파일링 기반 데이터베이스 보안 시스템.An administrator reporting module for reporting a result of blocking the abnormal database request to an administrator; Profiling-based database security system, characterized in that it further comprises.
KR1020060076819A 2006-08-14 2006-08-14 Database security system and method based on profiling KR100832804B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060076819A KR100832804B1 (en) 2006-08-14 2006-08-14 Database security system and method based on profiling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060076819A KR100832804B1 (en) 2006-08-14 2006-08-14 Database security system and method based on profiling

Publications (2)

Publication Number Publication Date
KR20080015293A true KR20080015293A (en) 2008-02-19
KR100832804B1 KR100832804B1 (en) 2008-05-28

Family

ID=39383871

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060076819A KR100832804B1 (en) 2006-08-14 2006-08-14 Database security system and method based on profiling

Country Status (1)

Country Link
KR (1) KR100832804B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101134091B1 (en) * 2011-01-12 2012-04-13 주식회사 피앤피시큐어 Database secure system preventing the access to the database by detour
KR101442659B1 (en) * 2013-03-27 2014-09-23 (주)티베로 Psm compiler optimization apparatus and method for bulk-dml processing
KR102185555B1 (en) * 2020-05-18 2020-12-02 주식회사 지에스리테일 Method of secure access and query execution of database and server implementing thereof

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101183083B1 (en) * 2009-12-18 2012-09-20 주식회사 안랩 System and method for updating signature database and client terminal database updating apparatus
KR102573726B1 (en) * 2016-11-24 2023-09-04 삼성전자주식회사 Method for protecting information and a device thereof
KR102146526B1 (en) * 2018-08-08 2020-08-20 국방과학연구소 Query classification method for database intrusion detection

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070077517A (en) * 2006-01-24 2007-07-27 박재철 Profile-based web application intrusion detection system and the method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101134091B1 (en) * 2011-01-12 2012-04-13 주식회사 피앤피시큐어 Database secure system preventing the access to the database by detour
KR101442659B1 (en) * 2013-03-27 2014-09-23 (주)티베로 Psm compiler optimization apparatus and method for bulk-dml processing
KR102185555B1 (en) * 2020-05-18 2020-12-02 주식회사 지에스리테일 Method of secure access and query execution of database and server implementing thereof
WO2021235752A1 (en) * 2020-05-18 2021-11-25 주식회사 지에스리테일 Method for secure access and query execution of database, and server implementing same

Also Published As

Publication number Publication date
KR100832804B1 (en) 2008-05-28

Similar Documents

Publication Publication Date Title
US11036836B2 (en) Systems and methods for providing real time security and access monitoring of a removable media device
CN110162936A (en) A kind of use authorization method of software content
CN106027463B (en) A kind of method of data transmission
KR100832804B1 (en) Database security system and method based on profiling
WO2007089786B1 (en) Identifying unauthorized privilege escalations
CN108259502A (en) For obtaining the identification method of interface access rights, server-side and storage medium
CN111526156B (en) Big data based security cloud platform system
CN111917714A (en) Zero trust architecture system and use method thereof
KR100788256B1 (en) System for monitoring web server fablication using network and method thereof
CN104320389A (en) Fusion identify protection system and fusion identify protection method based on cloud computing
CN114003943B (en) Safe double-control management platform for computer room trusteeship management
CN106027466B (en) A kind of identity card cloud Verification System and card-reading system
CN106027467B (en) A kind of identity card reading response system
CN105991647A (en) Data transmission method
US20140337951A1 (en) Security management system including multiple relay servers and security management method
CN102571380A (en) Multi-instance GIS platform unified user management method and system
CN106899561A (en) A kind of TNC authority control methods and system based on ACL
CN106027476A (en) Identity card cloud authentication system and card reading system
CN110943840A (en) Signature verification method and system
KR102611045B1 (en) Various trust factor based access control system
WO2021217449A1 (en) Malicious intrusion detection method, apparatus, and system, computing device, medium, and program
CN101247618B (en) Terminal validity detecting method and system
CN106027477B (en) A kind of identity card reading response method
CN112422527A (en) Safety protection system, method and device of transformer substation electric power monitoring system
CN110958236A (en) Dynamic authorization method of operation and maintenance auditing system based on risk factor insight

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: 20130507

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140508

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150506

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160503

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170508

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190430

Year of fee payment: 12