KR20080015293A - Database security system and method based on profiling - Google Patents
Database security system and method based on profiling Download PDFInfo
- 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
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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting 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
Description
도 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
한편, 도 1에서는 설명의 편의 상 하나의 DB 클라이언트(10)를 도시하였으나 다른 사용자들에 의해 데이터베이스 요청을 위해 사용되는 복수 개의 DB 클라이언트가 네트워크(10)를 통해 DB 보안 시스템(100)과 연결될 수 있는 것은 당연하다.Meanwhile, although FIG. 1 illustrates one
도 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(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
쿼리 프로파일 DB(120)는 쿼리 프로파일(Query Profile)이 데이터베이스화 되어 저장된다. 쿼리 프로파일 DB(120) 또한 데이터베이스 요청 검증 모듈(140)에서 DB 클라이언트(10)의 데이터베이스 요청이 정상적인 요청인지 또는 비정상적인 요청인지를 검증할 때 사용된다.The
여기서, 쿼리 프로파일은 데이터베이스 요청에 사용된 쿼리(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
예를 들어, 쿼리가 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
한편, 쿼리 학습은 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
데이터베이스 요청 처리 모듈(130)은 DB 클라이언트(10)의 데이터베이스 요청을 수신한 후 데이터베이스 요청 검증 모듈(140)로 전달하고, 데이터베이스 요청 검증 모듈(140)에서 정상적인 요청으로 검증을 통과한 데이터베이스 요청에 대해서만 DB 시스템(30)에 전달한다.The database
데이터베이스 요청 검증 모듈(140)은 데이터베이스 요청 처리 모듈(130)에서 전달된 데이터베이스 요청을 알려진 공격 시그너쳐 DB(110)와 쿼리 프로파일 DB(120)를 이용하여 정상적인 데이터베이스 요청인지 또는 비정상적인 데이터베이스 요청인지 여부를 검증한다.The database
보다 자세하게는, 데이터베이스 요청 검증 모듈(140)은 데이터베이스 요청과 알려진 공격 시그너쳐 DB(110)에 저장된 데이터베이스 공격 시그너쳐를 패턴 매칭 하여 DB 클라이언트(10)의 데이터베이스 요청이 알려진 공격 시그너쳐 DB(110)에 존재하면 비정상적인 데이터베이스 요청으로 판단한다.In more detail, the database
또한, 데이터베이스 요청 검증 모듈(140)은 데이터베이스 요청에 사용된 쿼리가 쿼리 프로파일 DB(120)에 존재하는 경우에는 정상적인 데이터베이스 요청으로 간주하고, 존재하지 않는 경우에는 비정상적인 데이터베이스 요청으로 판단한다.In addition, if the query used for the database request exists in the
데이터베이스 요청 검증 모듈(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
데이터베이스 요청 검증 모듈(140)은 데이터베이스 요청이 공격 또는 비정상적인 것으로 판단되면 데이터베이스 요청 차단 모듈(150)로 하여금 DB 클라이언트(10)의 데이터베이스 요청을 차단하도록 하고, 검증 결과 정상적인 데이터베이스 요청이면 데이터베이스 요청 처리 모듈(130)을 통해 DB 시스템(30)에 DB 클라이언 트(10)의 데이터베이스 요청이 전달되도록 한다.If it is determined that the database request is an attack or abnormal, the database
데이터베이스 요청 차단 모듈(150)은 DB 클라이언트(10)의 데이터베이스 요청이 비정상적인 것으로 데이터베이스 요청 검증 모듈(140)에서 판단되면 DB 클라이언트(10)의 접속을 차단하고 DB 클라이언트(10)의 데이터베이스 요청을 DB 시스템(30)에 전달되지 않도록 차단한다.If the database
관리자 보고 모듈(160)은 보안 관리자에게 비정상적인 데이터베이스 요청에 대한 탐지 및 차단 결과 등을 보고한다. 이때, 관리자 보고 모듈(160)은 그래픽 사용자 인터페이스(GUI) 등으로 구현될 수 있으며, 각종 포맷으로 비정상적인 데이터베이스 요청에 대한 탐지 및 차단 결과가 관리자 단말기(미도시) 또는 DB 보안 시스템()에 구비될 수 있는 디스플레이 수단(미도시)에 표시되도록 할 수도 있다.The
데이터베이스 응답 처리 모듈(170)은 DB 시스템(10)으로부터 수신된 데이터베이스 응답을 처리한다. 데이터베이스 응답 처리 모듈(170)은 DB 시스템(10)으로부터 수신된 데이터베이스 응답이 정상일 경우 데이터베이스 요청 처리 모듈(130)을 통해서 DB 클라이언트(10)의 데이터베이스 요청에 사용된 쿼리를 데이터베이스 프로파일링 모듈(180)로 전달되도록 한다. 또한, 데이터베이스 응답 처리 모듈(170)은 DB 시스템(30)으로부터 수신된 응답을 DB 클라이언트(10)에 전달한다.The database
도 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
도 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
다음으로, 데이터베이스 요청 검증 모듈(140)은 데이터베이스 요청을 수신하면 현재 학습 기간인지 여부를 판단한다(S312). 학습기간이 아니면(S312-N), 데이터베이스 요청 검증 모듈(140)은 아래에서 설명하는 프로파일링 기반 데이터베이스 보안 방법에 의해 데이터베이스 요청을 검증한다.Next, upon receiving the database request, the database
한편, 학습기간이면(S312-Y), 데이터베이스 요청 검증 모듈(140)은 데이터베이스 요청이 정상인 것으로 간주하고 데이터베이스 요청 처리 모듈(130)을 통해 데이터베이스 요청을 DB 시스템(30)으로 전달한다(S313).On the other hand, if the learning period (S312-Y), the database
이후, 데이터베이스 응답 처리 모듈(170)은 쿼리 학습 기간 동안 DB 시스템(30)으로부터 수신한 데이터베이스 응답이 정상일 경우(S314-Y), 데이터베이스 요청 처리 모듈(130)을 통해서 DB 클라이언트(10)의 데이터베이스 요청에 사용된 쿼리를 데이터베이스 프로파일링 모듈(180)로 전달한다(S315).Subsequently, when the database response received from the
다음으로, 데이터베이스 프로파일링 모듈(180)은 전달된 쿼리를 분석하여 DML 쿼리인지 여부를 판단한다(S316).Next, the
수신한 쿼리가 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
한편, 데이터베이스 프로파일링 모듈(180)은 수신한 쿼리가 DML 쿼리가 아니면(S316-N), 수신한 쿼리가 데이터베이스 오브젝트를 삭제 또는 변경하는 것인지 여부를 판단한다(S318).Meanwhile, if the received query is not a DML query (S316-N), the
판단 결과, 데이터베이스 오브젝트를 삭제 또는 변경하는 경우(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
이하, 도 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
다음으로, 데이터베이스 요청 검증 모듈(140)은 데이터베이스 요청 처리 모듈(130)에서 전달된 데이터베이스 요청을 알려진 공격 시그너쳐 DB(110)와 쿼리 프로파일 DB(120)를 이용하여 정상적인 데이터베이스 요청인지 또는 비정상적인 데이터베이스 요청인지 여부를 검증한다(S420).Next, the database
도 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
데이터베이스 요청이 알려진 공격 시그너쳐 DB(110)에 존재하면, 즉 알려진 공격 시스너쳐 DB 검증을 통과하지 못하면(S421-N), DB 클라이언트(10)의 데이터베이스 요청이 비정상적인 데이터베이스 요청인 것으로 판단한다(S428).If the database request exists in the known
한편, 데이터베이스 요청이 알려진 공격 시그너쳐 DB(110)에 존재하지 않으면, 즉 알려진 공격 시그너쳐 DB 검증을 통과하면(S421-Y), 데이터베이스 요청 검증 모듈(140)은 쿼리 학습 기간인지 여부를 판단한다(S422).On the other hand, if the database request does not exist in the known
판단 결과 쿼리 학습 기간이면(S422-Y), 데이터베이스 요청 검증 모듈(140)은 DB 클라이언트(10)의 데이터베이스 요청이 정상인 것으로 판단한다(S427).If the determination result is the query learning period (S422-Y), the database
판단 결과 쿼리 학습 기간이 아니면(S422-N), 데이터베이스 요청 검증 모듈(140)은 데이터베이스 요청에 사용된 쿼리를 분석하여 DML 쿼리인지 여부를 판단 한다(S423).If the determination result is not the query learning period (S422-N), the database
판단 결과 DML 쿼리가 아니면(S423-N), 데이터베이스 요청 검증 모듈(140)은 DB 클라이언트(10)의 데이터베이스 요청이 정상인 것으로 판단한다(S427).If the determination result is not a DML query (S423-N), the database
한편, 판단 결과 DML 쿼리이면(S423-Y), 데이터베이스 요청 검증 모듈(140)은 데이터베이스 요청에 사용된 쿼리가 기 학습된 오브젝트에 대한 것인지 여부를 판단한다(S424).On the other hand, if the determination result is a DML query (S423-Y), the database
판단 결과 기 학습된 오브젝트에 대한 것이 아니면(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
한편, 판단 결과 기 학습된 오브젝트에 대한 것이면(S424-Y), 데이터베이스 요청 검증 모듈(140)은 DB 클라이언트(10)의 데이터베이스 요청에 사용된 쿼리가 데이터베이스 요청을 한 사용자에 대한 DML 권한 프로파일에 존재하는지 판단한다(S425).On the other hand, if the determination result is about the learned object (S424-Y), the database
판단 결과 DML 권한 프로파일에 존재하지 않으면(S425-N), 데이터베이스 요청 검증 모듈(140)은 DB 클라이언트(10)의 데이터베이스 요청이 권한 없는 비정상인 것으로 판단한다(S428).If the determination result does not exist in the DML rights profile (S425-N), the database
한편, 판단 결과 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
판단 결과 DML 유형 프로파일에 존재하지 않으면(S426-N), 데이터베이스 요청 검증 모듈(140)은 DB 클라이언트(10)의 데이터베이스 요청이 비정상인 것으로 V판단한다(S428).If the determination result does not exist in the DML type profile (S426-N), the database
한편, 판단 결과 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
다시 도 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
다음으로, 데이터베이스 응답 처리 모듈(170)은 데이터베이스 요청에 대한 DB 시스템(30)의 데이터베이스 응답을 수신하여(S440), DB 클라이언트(10)에 데이터베이스 응답을 전달한다(S450).Next, the database
한편, 데이터베이스 요청이 비정상적인 것으로 판단되면(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
다음으로, 관리자 보고 모듈(160)은 보안 관리자에게 비정상적인 데이터베이스 요청에 대한 탐지 및 차단 결과 등을 보고한다(S470).Next, the
이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발 명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.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)
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)
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)
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)
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 |
-
2006
- 2006-08-14 KR KR1020060076819A patent/KR100832804B1/en active IP Right Grant
Cited By (4)
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 |