KR100593661B1 - Method and system for monitoring and securing a database - Google Patents
Method and system for monitoring and securing a database Download PDFInfo
- Publication number
- KR100593661B1 KR100593661B1 KR1020040023207A KR20040023207A KR100593661B1 KR 100593661 B1 KR100593661 B1 KR 100593661B1 KR 1020040023207 A KR1020040023207 A KR 1020040023207A KR 20040023207 A KR20040023207 A KR 20040023207A KR 100593661 B1 KR100593661 B1 KR 100593661B1
- Authority
- KR
- South Korea
- Prior art keywords
- database
- security
- condition
- access
- unit
- Prior art date
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A41—WEARING APPAREL
- A41D—OUTERWEAR; PROTECTIVE GARMENTS; ACCESSORIES
- A41D27/00—Details of garments or of their making
- A41D27/22—Loops or hooks for hanging-up
-
- A—HUMAN NECESSITIES
- A41—WEARING APPAREL
- A41B—SHIRTS; UNDERWEAR; BABY LINEN; HANDKERCHIEFS
- A41B13/00—Baby linen
- A41B13/06—Slip-in bags; Swaddling clothes
-
- A—HUMAN NECESSITIES
- A41—WEARING APPAREL
- A41F—GARMENT FASTENINGS; SUSPENDERS
- A41F1/00—Fastening devices specially adapted for garments
Landscapes
- Engineering & Computer Science (AREA)
- Textile Engineering (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 데이터베이스의 감시 및 보안 방법 및 장치에 관한 것으로서, 보다 상세하게는 데이터베이스 모니터링을 통하여 내부자가 정상적인 권한으로 데이터베이스에 액세스하는 부분에 대한 데이터베이스 감시 및 감사와 데이터베이스에 저장된 데이터의 삭제 및 변경의 경우 삭제되거나 변경된 내용까지 관리할 수 있는 데이터베이스 보호 그리고 기존의 데이터베이스에서 제공하지 못하던 IP나 사용하는 애, Query명령 등에 따라서 접속제어를 제공하는 데이터베이스 보안 등의 역할을 수행하는 장치에 관한 것이다. 본 발명에 따른 데이터베이스 감시 및 보안 및 장치는 데이터베이스 감시 및 보안 장치에 결합한 적어도 하나의 단말기가 데이터베이스에 직접 접속하는 것을 방지하며, 데이터베이스에 접속을 시도하는 단말기에 상응하여 데이터베이스에 액세스할 수 있는 적어도 하나의 단말기로부터 수신하는 신호를 분석하여, 사용자 ID, 접속 IP, 시간대, 단말기 이름, 네트워크, 쿼리, 명령어, 애플리케이션 종류, 접속하고자 하는 데이터 중 적어도 하나를 포함하는 검색 기준에 해당하는 로깅 정보를 생성, 분석 및 저장하기 위한 로깅 서버부; 검색 기준에 따라 로깅 정보, 데이터베이스 접속 내역, 접속 내역에 따른 동작 내역을 제공하기 위한 검색부 및 로깅 정보가 미리 설정된 백업 조건, 차단 조건 및 종료 조건 중 적어도 하나를 포함하는 보안 조건에 해당하는지 여부를 판단하고, 보안 조건에 해당하는 경우, 보안 조건의 종류에 상응하여 데이터베이스에 저장된 데이터에 대한 백업 및 복구, 데이터에 대한 접속 차단 및 접속에 대한 강제 종료 중 적어도 하나를 수행하기 위한 보안 관리부를 포함하는 엔진 서버부; 및 보안 조건에 상응하여 로깅 서버부 및 엔진 서버부가 동작을 수행하도록 유기적으로 제어하기 위한 제어부를 포함할 수 있다.The present invention relates to a method and apparatus for monitoring and securing a database. More particularly, the present invention relates to a case of monitoring and auditing a part where an insider accesses a database with normal authority, and deleting and changing data stored in the database. It is related to the device that plays a role of database protection that can manage deleted or changed contents and database security that provides access control according to IP, user error, Query command, etc. The database monitoring and security and the device according to the present invention prevents at least one terminal coupled to the database monitoring and security device from directly accessing the database, and at least one that can access the database corresponding to the terminal attempting to access the database. Analyzing the signal received from the terminal of the to generate logging information corresponding to the search criteria including at least one of a user ID, access IP, time zone, terminal name, network, query, command, application type, data to be connected, A logging server unit for analyzing and storing; Whether the search unit and the logging information for providing the logging information, the database access history, the operation history according to the access history according to the search criteria correspond to a security condition including at least one of a preset backup condition, a blocking condition, and an end condition. And a security management unit configured to determine at least one of backup and recovery of data stored in the database, blocking access to data, and forced termination of access according to the type of security condition. An engine server unit; And a controller for organically controlling the logging server unit and the engine server unit to perform an operation according to the security condition.
데이터베이스, 오라클, 감시, 보안, 감사, 해킹Database, Oracle, Surveillance, Security, Audit, Hack
Description
도 1a 및 도 1b는 본 발명의 바람직한 실시예에 따른 데이터베이스 감시 및 보안 시스템의 구성을 나타낸 도면.1A and 1B are views showing the configuration of a database monitoring and security system according to a preferred embodiment of the present invention.
도 2는 본 발명의 바람직한 실시예에 따른 데이터베이스 보안 서버의 구성을 나타낸 도면.2 is a diagram showing the configuration of a database security server according to a preferred embodiment of the present invention.
도 3은 본 발명의 바람직한 실시예에 따른 엔진 서버부의 구성을 나타낸 도면.3 is a view showing the configuration of the engine server unit according to a preferred embodiment of the present invention.
도 4는 본 발명의 바람직한 실시예에 따른 데이터 구조를 도시한 도면.4 illustrates a data structure according to a preferred embodiment of the present invention.
도 5는 본 발명의 실시예에 따른 모니터링부의 구성을 도시한 도면.5 is a view showing the configuration of a monitoring unit according to an embodiment of the present invention.
도 6은 본 발명의 실시예에 따른 백업 및 복구부의 구성을 도시한 도면.6 is a diagram illustrating a configuration of a backup and recovery unit according to an embodiment of the present invention.
도 7은 본 발명의 실시예에 따른 보안 관리부의 동작을 나타낸 순서도.7 is a flow chart showing the operation of the security management unit according to an embodiment of the present invention.
도 8은 본 발명의 실시예에 따른 백업 및 복구부의 구성을 도시한 도면.8 is a diagram illustrating a configuration of a backup and recovery unit according to an embodiment of the present invention.
도 9a 내지 도 9c는 본 발명의 바람직한 실시예에 따른 유저 인터페이스 화면을 나타낸 도면이다.9A to 9C are views illustrating a user interface screen according to a preferred embodiment of the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
100 : 외부 단말기 200 : 내부 단말기100: external terminal 200: internal terminal
300 : 애플리케이션부 400 : 데이터베이스 보안 서버300: application unit 400: database security server
500 : 데이터베이스 450 : 검색부500: database 450: search unit
460 : 보안 관리부 470 : 지원부460: security management 470: support
610 : 모니터링부 620 : 조회부610: monitoring unit 620: inquiry unit
630 : 리포팅부 640 : 백업 및 복구부630: reporting unit 640: backup and recovery unit
650 : 보안 차단부 660 : 강제 종료부650: security block 660: forced termination
670 : 로드 밸런싱부 680 : 다중 서버 지원부670: load balancing unit 680: multi-server support unit
690 : 조건 설정부690: condition setting unit
본 발명은 데이터베이스의 감시 및 보안에 관한 방법 및 장치에 관한 것으로서, 보다 상세하게는 데이터베이스 모니터링을 통하여 내부자가 정상적인 권한으로 데이터베이스에 액세스하는 경우까지 관리할 수 있는 데이터베이스 감시 및 보안 장치에 관한 것이다.The present invention relates to a method and apparatus for monitoring and securing a database. More particularly, the present invention relates to a database monitoring and security apparatus that can manage a case where an insider accesses a database with normal authority through database monitoring.
종래 기술에 따른 감시 및 보안 방법에 대하여 설명하면 다음과 같다. 초기의 보안은 외부로부터의 침입을 방지하는 부분에 초점이 맞추어져 발전되어 왔으 나, 이러한 외부로부터의 보안뿐만 아니라 내부자로부터의 보안에 대한 관심도 증가되고 있다. 그러나 종래 기술에 의할 때, 내부자에 의한 보안에 있어 정당한 권한을 지닌 사용자에 대하여 적절한 감시 및 보안을 수행할 수 없는 문제점이 있다.Referring to the monitoring and security method according to the prior art as follows. Early security has been developed with a focus on preventing intrusion from the outside, but interest in security from insiders as well as security from outside is increasing. However, according to the related art, there is a problem in that proper monitoring and security cannot be performed for a user having a right in security by an insider.
실질적으로 대부분의 정보 유출은 자료에 접근할 수 있는 정당한 사용자에 의하여 발생하고 있으며, 이러한 정당한 사용자에 대한 정보 유출은 외부로부터 발생한 해킹사건보다 심각하고 치명적인 피해를 발생할 수 있다. 데이터베이스에서 관리하는 정보 중 핵심 기밀 사항에 대한 고급 정보는 내부자만이 접근할 수 있으므로, 이와 같은 정보에 대하여는 정당한 권한이 가진 사용자에 의하여 정보 유출의 문제점을 야기할 수 있다.In practice, most information leaks are caused by legitimate users who can access the data, and such leaks can cause more serious and fatal damage than hacking incidents from outside. Since only the insider can access the high-level information on the key confidentiality of the information managed in the database, such information may cause a problem of information leakage by a user with proper authority.
특히, 종래 기술에 의할 때, 데이터베이스에 접속하려는 애플리케이션의 종류를 이용하여 보안을 관리할 수 있는 방법은 존재하지 아니한다. 종래 기술에 의할 때, ODBC 설정을 이용하거나 기타 방법으로 간단히 오라클(Oracle) 계정을 습득한 후, Toad나 SQL Plus와 같은 애플리케이션을 이용하여 다시 접속하여, 4GL Client 프로그램의 모든 사용자 제한과 보안설정을 우회하는 문제점이 있다.In particular, according to the prior art, there is no way to manage security by using the type of application to connect to the database. According to the prior art, by using an ODBC configuration or simply by acquiring an Oracle account, and reconnecting using an application such as Toad or SQL Plus, all user restrictions and security settings of the 4GL Client program There is a problem bypassing it.
즉, 종래 기술에 의할 때, 정당한 사용자에 대한 정상적인 활동에 대한 감시, 보안 및 감사를 수행할 수 있는 효율적인 방법 및 장치가 존재하지 아니하는 문제점이 있다.That is, according to the prior art, there is a problem that there is no efficient method and apparatus capable of performing monitoring, security and auditing of normal activities for legitimate users.
본 발명은 상술한 문제점을 해결하고자 안출한 것으로서, 데이터베이스 모니 터링을 통하여 내부자가 정상적인 권한으로 데이터베이스에 액세스하는 경우까지 관리할 수 있는 데이터베이스 감시 및 보안 장치를 제공함에 있다. 즉, 본 발명은 데이터베이스 모니터링을 통하여 내부자가 정상적인 권한으로 데이터베이스에 액세스하는 부분에 대한 데이터베이스 감시 및 감사와 데이터베이스에 저장된 데이터의 삭제 및 변경의 경우 삭제되거나 변경된 내용까지 관리할 수 있는 데이터베이스 보호 그리고 기존의 데이터베이스에서 제공하지 못하던 IP나 사용하는 애, Query명령 등에 따라서 접속제어를 제공하는 데이터베이스 보안 등의 역할을 수행할 수 있다. 또한, 본 발명은 이 모든 작업들이 데이터베이스 서버와 별도의 장비에서 동작하면서 데이터베이스에 부하를 부가하지 않도록 구성될 수 있다.The present invention has been made to solve the above-described problems, and to provide a database monitoring and security device that can manage even when the insider accesses the database with normal authority through the database monitoring. That is, the present invention provides database monitoring and audit for the part where the insider accesses the database with normal authority through database monitoring, and database protection for managing deleted or changed contents in case of deletion or change of data stored in the database. It can play the role of database security that provides access control according to IP, user error, Query command, etc. that could not be provided in database. In addition, the present invention may be configured such that all these tasks operate on a separate device from the database server and do not place a load on the database.
또한, 본 발명의 다른 목적은 정보의 오용을 방지하기 위하여, 데이터베이스의 감시 및 보안뿐만 아니라, 이러한 데이터베이스에 대한 조회여부까지 모니터링하여, 정당한 사용자에 대한 감사 및 통제를 수행할 수 있는 방법 및 장치를 제공함에 있다.In addition, another object of the present invention is to provide a method and apparatus for monitoring and security of the database, as well as monitoring whether or not to query the database, in order to prevent misuse of information, to perform the audit and control of legitimate users In providing.
또한, 본 발명의 또 다른 목적은 관리자에 보안 정책에 따라 편리하게 보안 조건을 설정할 수 있을 뿐 아니라, 이러한 보안 조건에 따라 실시간으로 데이터베이스의 보안을 수행할 수 있는 장치 및 방법을 제공함에 있다.In addition, another object of the present invention is to provide a device and method that can not only conveniently set the security conditions in accordance with the security policy to the administrator, but also to secure the database in real time according to the security conditions.
또한, 본 발명의 또 다른 목적은 기존의 보안 프로그램으로는 할 수 없었던 애플리케이션의 종류를 이용하여 보안을 관리할 수 있는 방법 및 장치를 제공함에 있다.
In addition, another object of the present invention is to provide a method and apparatus for managing security by using a type of application that cannot be achieved by the existing security program.
상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 일측면에 따르면 데이터베이스 모니터링을 통하여 내부자가 정상적인 권한으로 데이터베이스에 액세스하는 경우까지 관리할 수 있는 데이터베이스 감시 및 보안 장치를 제공함에 있다.In order to achieve the above object, according to an aspect of the present invention to provide a database monitoring and security device that can be managed even when the insider accesses the database with normal authority through the database monitoring.
바람직한 실시예에 의할 때, 상기 데이터베이스의 감시 및 보안 장치는 상기 데이터베이스 감시 및 보안 장치에 결합한 적어도 하나의 단말기가 상기 데이터베이스에 직접 접속하는 것을 방지하며, 상기 데이터베이스에 접속을 시도하는 단말기에 상응하여 데이터베이스에 액세스할 수 있는 적어도 하나의 단말기로부터 수신하는 신호를 분석하여, 사용자 ID, 접속 IP, 시간대, 단말기 이름, 네트워크, 쿼리, 명령어, 애플리케이션 종류, 접속하고자 하는 데이터 중 적어도 하나를 포함하는 검색 기준에 해당하는 로깅 정보를 생성, 분석 및 저장하기 위한 로깅 서버부; 상기 검색 기준에 따라 로깅 정보, 데이터베이스 접속 내역, 상기 접속 내역에 따른 동작 내역을 제공하기 위한 검색부 및 상기 로깅 정보가 미리 설정된 백업 조건, 차단 조건 및 종료 조건 중 적어도 하나를 포함하는 보안 조건에 해당하는지 여부를 판단하고, 상기 보안 조건에 해당하는 경우, 상기 보안 조건의 종류에 상응하여 상기 데이터베이스에 저장된 데이터에 대한 백업 및 복구, 상기 데이터에 대한 접속 차단 및 상기 접속에 대한 강제 종료 중 적어도 하나를 수행하기 위한 보안 관리부를 포함하는 엔진 서버부; 및 상기 보안 조건에 상응하여 상기 로깅 서버부 및 엔진 서버부가 동작을 수행하도록 유기적으로 제어하기 위한 제어부를 포함할 수 있다.According to a preferred embodiment, the monitoring and security device for the database prevents at least one terminal coupled to the database monitoring and security device from directly accessing the database, corresponding to the terminal attempting to access the database. Search criteria including at least one of a user ID, an access IP, a time zone, a terminal name, a network, a query, a command, an application type, and data to be connected by analyzing a signal received from at least one terminal that can access a database. Logging server unit for generating, analyzing and storing the logging information corresponding to the; A search unit for providing logging information, a database access history, an operation history according to the access history, and a security condition including at least one of a preset backup condition, a blocking condition, and an end condition according to the search criteria; Determining whether the data is stored in the database; and if the security condition corresponds to the security condition, at least one of backup and recovery of data stored in the database, disconnection of the data, and forced termination of the connection according to the security condition. An engine server unit including a security manager for performing the operation; And a controller for organically controlling the logging server unit and the engine server unit to perform an operation according to the security condition.
여기서, 상기 데이터베이스 감시 및 보안 장치는 상기 단말기를 상기 데이터베이스에 접속하기 위한 NAT 모듈을 포함하는 클라이언트 모듈부를 더 포함할 수 있다.Here, the database monitoring and security device may further include a client module unit including a NAT module for connecting the terminal to the database.
그리고 상기 검색부는 현재 상기 데이터베이스 보안 서버에 접속한 단말기에 대하여, 상기 신호에 포함된 문장 및 명령어를 상기 검색 기준에 상응하여 분석 및 검색하여 로깅 정보를 생성한 후, 상기 로깅 정보를 실시간으로 제공하기 위한 모니터링부; 및 기존에 데이터베이스 보안 서버에 접속한 단말기에 대한 로깅 정보를 제공하기 위한 조회부를 포함할 수 있다.The search unit analyzes and searches the sentences and commands included in the signal according to the search criteria to generate the logging information for the terminal currently connected to the database security server, and provides the logging information in real time. Monitoring unit for; And an inquiry unit for providing logging information about a terminal that is previously connected to a database security server.
그리고 상기 검색부는 상기 로깅 정보를 분석한 정보를 미리 설정된 유저 인터페이스를 이용하여 제공하기 위한 리포팅부를 더 포함할 수 있고, 상기 보안 관리부는 상기 데이터베이스에 요청하는 명령어가 미리 설정된 명령어에 해당하는 경우, 상기 명령어의 객체에 해당하는 데이터를 상기 데이터베이스 보안 서버의 저장부에 저장한 후, 상기 명령어에 해당하는 명령을 수행하기 위한 백업 및 복구부를 더 포함할 수 있다.The search unit may further include a reporting unit for providing the analyzed information of the logging information using a preset user interface, and the security manager may include a command for requesting the database corresponding to a preset command. After storing the data corresponding to the object of the command in the storage unit of the database security server, and may further include a backup and recovery unit for performing the command corresponding to the command.
그리고 상기 보안 관리부는 상기 명령에 상응하는 결과 데이터의 크기가 미리 설정된 크기 이상인 경우; 상기 로깅 정보에 포함된 애플리케이션 종류가 미리 설정된 애플리케이션을 이용하지 아니한 경우; 및 미리 설정된 데이터테이블에 접속을 시도하는 경우, 상기 데이터에 대한 접속을 차단을 하기 위한 보안 차단부 및 강제 종료부 중 적어도 하나를 더 포함할 수 있다.And if the size of the result data corresponding to the command is greater than or equal to a preset size; When the application type included in the logging information does not use a preset application; And at least one of a security blocking unit and a forced termination unit for blocking access to the data when attempting to access a preset data table.
또한, 상기 엔진 검색부는 상기 데이터베이스를 관리하는 위한 데이터베이스 서버가 복수개인 경우, 상기 복수개의 데이터베이스 서버에 대한 로드 밸런싱을 수행하기 위한 로드 밸런싱부; 및 상이한 네트워크 프로토콜을 사용하는 데이터베이스 서버에 대한 감시 및 보안을 수행하기 위한 다중 서버 지원부 중 적어도 하나를 포함할 수 있다.The engine search unit may further include: a load balancer configured to perform load balancing of the plurality of database servers when there are a plurality of database servers for managing the database; And a multi-server support unit for performing monitoring and security for database servers using different network protocols.
상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 다른 측면에 따르면 데이터베이스 모니터링을 통하여 내부자가 정상적인 권한으로 데이터베이스에 액세스하는 경우까지 관리할 수 있는 데이터베이스 감시 및 보안 방법을 제공함에 있다.In order to achieve the above object, according to another aspect of the present invention to provide a database monitoring and security method that can be managed even when the insider accesses the database with normal authority through the database monitoring.
바람직한 실시예에 의할 때, 데이터베이스 보안 서버에서 상기 데이터베이스 보안 서버에 연결된 데이터베이스의 감시 및 보안을 수행하는 방법은 (a) 상기 데이터베이스 보안 서버를 경유하여 상기 데이터베이스에 액세스할 수 있는 적어도 하나의 단말기로부터 수신하는 신호를 분석하여, 사용자 ID, 접속 IP, 시간대, 단말기 이름, 네트워크, 쿼리, 명령어, 애플리케이션 종류, 접속하고자 하는 데이터 중 적어도 하나를 포함하는 검색 기준에 해당하는 로깅 정보를 생성하고, 상기 로깅 정보를 상기 검색 기준에 상응하여 상기 데이터베이스 보안 서버에 결합한 디스플레이 장치에 표시하는 단계; (b) 상기 로깅 정보가 미리 설정된 백업 조건, 차단 조건 및 종료 조건 중 적어도 하나를 포함하는 보안 조건에 해당하는지 여부를 판단하고, 상기 보안 조건에 해당하는 경우, 상기 보안 조건의 종류를 판단하는 단계; (c) 상기 보안 조건이 상기 백업 조건인 경우, 접속하고자 하는 데이터를 상기 데이터베이스 보안 서버에 결합한 저장부에 저장하고, 미리 설정된 복구 메뉴를 통하여 복구할 수 있도록 상기 복구 메뉴에 등록한 후, 상기 신호에 따라 동작을 수행한 후, 상기 동작에 따른 결과 정보를 생성하는 단계; (d) 상기 보안 조건이 상기 차단 조건인 경우, 상기 데이터에 접속을 차단하고, 상기 접속 및 접속 차단에 따른 정보를 포함하는 결과 정보를 생성하는 단계; (e) 상기 보안 조건이 상기 종료 조건인 경우, 상기 단말기의 상기 데이터베이스 보안 서버의 접속을 종료하고, 상기 접속 시도 및 종료에 따른 정보를 포함하는 결과 정보를 생성하는 단계; (f) 상기 결과 정보를 미리 설정된 유저 인터페이스를 통하여 제공하는 단계를 포함할 수 있다.According to a preferred embodiment, a method of monitoring and securing a database connected to said database security server at a database security server comprises: (a) from at least one terminal capable of accessing said database via said database security server; Analyze the received signal to generate logging information corresponding to a search criterion including at least one of a user ID, an access IP, a time zone, a terminal name, a network, a query, a command, an application type, and data to be accessed, and the logging. Displaying information on a display device coupled to the database security server in accordance with the search criteria; (b) determining whether the logging information corresponds to a security condition including at least one of a preset backup condition, a blocking condition, and an end condition; and if the security condition corresponds to the security condition, determining a type of the security condition. ; (c) If the security condition is the backup condition, the data to be accessed is stored in a storage unit coupled to the database security server, and registered in the recovery menu to be restored through a preset recovery menu. Generating the result information according to the operation after performing the operation according to the operation; (d) if the security condition is the blocking condition, disconnecting access to the data and generating result information including information according to the access and disconnection; (e) if the security condition is the termination condition, terminating the connection of the database security server of the terminal and generating result information including information according to the connection attempt and termination; (f) providing the result information through a preset user interface.
여기서, 상기 백업 조건은 상기 명령어의 종류가 상기 데이터베이스에 포함한 데이터의 삭제를 포함하는 명령을 포함하는 명령일 수 있고, 상기 차단 조건은 상기 명령에 상응하는 결과 데이터의 크기가 미리 설정된 크기 이상인 경우; 상기 로깅 정보에 포함된 애플리케이션 종류가 미리 설정된 애플리케이션을 이용하지 아니한 경우; 및 미리 설정된 데이터테이블에 접속을 시도하는 경우 중 적어도 하나일 수 있다. 그리고 상기 종료 조건은 미리 설정된 횟수 이상 차단 조건에 해당하는 경우로 구성할 수 있다. 여기서, 상기 로깅 정보 및 상기 결과 정보는 상기 검색 기준에 상응하는 트리 구조를 이용하여 표시될 수 있다.Here, the backup condition may be a command including a command including a type of the command including deletion of data included in the database, and the blocking condition is when a size of the result data corresponding to the command is equal to or larger than a preset size; When the application type included in the logging information does not use a preset application; And a case of attempting to access a preset data table. The termination condition may be configured to correspond to a blocking condition more than a preset number of times. Here, the logging information and the result information may be displayed using a tree structure corresponding to the search criteria.
이하 본 발명에 따른 데이터베이스 감시 및 보안 방법 및 장치의 구성을 첨부 도면을 참조하여 상세하게 설명하기로 하며, 이하, 첨부 도면을 참조하여 설명 함에 있어 도면 부호에 상관없이 동일하거나 대응하는 구성 요소는 동일한 참조번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. Hereinafter, the configuration of a method and apparatus for monitoring and securing a database according to the present invention will be described in detail with reference to the accompanying drawings. Hereinafter, the same or corresponding components are the same regardless of the reference numerals in the following description. Reference numerals will be given and duplicate description thereof will be omitted.
전체적인 시스템 및 구성Overall system and configuration
본 발명에 따른 데이터베이스 감시 및 보안 방법 및 장치는 정당한 사용자에 대한 접근에 대하여도 보안 서비스를 제공할 수 있다. 이하, 첨부 도면을 참조하여 본 발명에 따른 데이터베이스 감시 및 보안 시스템을 상세히 설명하기로 한다. 도 1a에서는 전체 시스템에 대하여 설명하고, 도 1b는 본 발명의 바람직한 실시예에 따른 그룹지정 방식을 설명하기로 한다. The method and apparatus for monitoring and securing a database according to the present invention can provide a security service even for access to a legitimate user. Hereinafter, a database monitoring and security system according to the present invention will be described in detail with reference to the accompanying drawings. In FIG. 1A, an entire system will be described, and FIG. 1B will be described in a group designation method according to a preferred embodiment of the present invention.
도 1a는 본 발명의 바람직한 실시예에 따른 데이터베이스 감시 및 보안 시스템의 전체 구성을 나타낸 도면이다.Figure 1a is a diagram showing the overall configuration of a database monitoring and security system according to a preferred embodiment of the present invention.
도 1a를 참조하면, 본 발명에 따른 데이터베이스 감시 및 보안 시스템은 외부 단말기(100) 및 내부 단말기(200), 소정의 애플리케이션부(300), 데이터베이스 보안 서버(400) 및 데이터베이스(500)를 포함하며, 상기 구성 요소는 인터넷(110), 방화벽(120), 허브부(130)를 통하여 결합되어 있다.Referring to FIG. 1A, the database monitoring and security system according to the present invention includes an
본 발명에 따른 단말기는 네트워크를 통하여 본 발명에 따른 데이터베이스 보안 서버(400)에 접속할 수 있는 모든 단말기를 지칭하며, 외부 단말기(100) 및 내부 단말기(200)를 포함할 수 있다. 여기서, 상기 외부 단말기(100)는 인터넷(110), 방화벽(120) 및 허브부(130)를 통하여 데이터베이스 보안 서버(400) 에 접속할 수 있으며, 내부 단말기(200)는 내부 네트워크를 통하여 데이터베이스 보안 서버(400)에 접속할 수 있다. 여기서, 상기 내부 단말기(200)는 제1 내부 단말기(230) 및 제2 내부 단말기(270)를 포함하여 구성된다.The terminal according to the present invention refers to all terminals that can access the
여기서, 제1 내부 단말기(230) 는 특정 그룹으로 지정된 단말기 또는 특정 단말기를 지칭하며, 이러한 제1 내부 단말기(230)는 미리 설정된 소정의 애플리케이션부(300)를 경유하여야만 데이터베이스 보안 서버(400)에 접속할 수 있도록 구성된다. 그리고 제2 내부 단말기(270)는 이러한 제한없이 데이터베이스 보안 서버(400)에 접속할 수 있도록 구성될 수 있다.Here, the first
데이터베이스 보안 서버(400)는 정당한 사용자에 대한 감시, 보안, 감사 기능을 제공할 수 있다. 본 발명에 따른 데이터베이스 보안 서버(400)는 네트워크 상에서 데이터베이스에 액세스하는 모든 동작에 대한 감시 및 조회 기능을 수행하도록 구성된다. 본 발명에 따른 데이터베이스 보안 서버(400)는 모든 쿼리(QUERY) 문장에 대한 데이터를 저장 및 검색하며, 데이터베이스 액세스에 대한 다양한 검색 기능을 제공할 수 있다. 또한 데이터베이스 보안 서버(400)는 상기 데이터베이스에 액세스한 내역에 대하여 사용자 ID, 접속 IP, 시간대, 단말기 이름, 네트워크, 쿼리, 명령어 별로 실시간으로 조회할 수 있으며, 현재 접속한 사용자에 대한 세션 정보를 제공할 수 있고, 특정한 사용자의 접속을 강제 종료할 수 있다.The
또한, 데이터베이스 보안 서버(400)는 보안이 중요시 되는 데이터베이스 테이블에 대하여 미리 설정된 명령(예를 들면, DELETE, DROP, ALTER 명령 등)에 대하여 검색, 백업, 알람 등의 부가 서비스를 제공할 수 있도록 구성된다. 또한 본 발 명은 HTTP 서비스뿐만 아니라 Telnet , FTP 서비스에 대하여도 동일한 모니터링 기능을 수행할 수 있도록 구성된다.In addition, the
상기 데이터베이스(500)는 도면에 도시되지 아니한 데이터베이스 관리 프로그램(DBMS)이 구비된 데이터베이스 서버에 의하여 제어되며, 상기 데이터베이스 관리 프로그램은 축적된 자료구조의 정의, 자료구조에 따른 자료의 축적, 데이터베이스 언어에 의한 자료 검색 및 갱신, 복수 사용자로부터 자료처리의 동시실행제어, 갱신 중에 이상이 발생했을 때 갱신 이전의 상태로 복귀, 정보의 기밀보호(security) 등을 수행할 수 있다. 여기서, 일반적 형태의 DBMS는 관계형 데이터베이스 관리시스템(RDBMS)인데, RDBMS의 표준화된 사용자 및 프로그램 인터페이스를 SQL(Structured Query Language)이라고 한다. 관계형 DBMS로는 오러클(Oracle), 사이베이스(Sybase), 인포믹스(Infomix) 등이 널리 쓰인다. 이하, 설명의 편의를 위하여 오라클을 기준으로 설명하며, 인터페이스도 SQL을 기준으로 설명하기로 한다.The
도 1b는 본 발명의 바람직한 실시예에 따른 구체적인 그룹 지정 방식을 도시한 도면이다.1B is a diagram illustrating a specific group designation method according to a preferred embodiment of the present invention.
본 발명의 바람직한 실시예에 따른 그룹 지정 방식을 도시한 도 1b를 참조하면, 내부 단말기 중 소정의 그룹을 설정하고 상기 그룹을 미리 설정된 방법으로 접속하도록 구성할 수 있다. 예를 들면, 내부 단말기를 두개의 그룹인 제1 내부 단말기 및 제2 내부 단말기로 설정하고, 상기 제1 내부 단말기는 미리 설정한 애플리케 이션(예를 들면, 미들웨어 또는 4GL Client)을 이용하여 접속하도록 설정할 수 있다. 이렇게 설정된 경우, 상기 제1 내부 단말기에서 SQL Plus나 Toad 등의 애플리케이션으로 데이터베이스에 접속을 시도하는 경우, 접속이 거부되며, 상기 접속 시도 및 거부에 대한 로깅 정보를 생성하도록 구성될 수 있다. 그리고 제2 내부 단말기는 별도의 제한없이 SQL Plus나 Toad을 사용하더라도 접속이 가능하도록 구성될 수 있다. 여기서, 상기 그룹을 제1 내부 단말기 및 제2 내부 단말기로 구분한 경우를 기준으로 설명하였으나, 3개 이상의 그룹을 지정하여 구분할 수 있음이 당연함은 물론이다.Referring to FIG. 1B illustrating a group designation method according to an exemplary embodiment of the present invention, a predetermined group of internal terminals may be set and the group may be connected in a preset method. For example, an internal terminal may be set as two groups, a first internal terminal and a second internal terminal, and the first internal terminal may be connected using a preset application (for example, middleware or 4GL client). Can be set. In this case, when the first internal terminal attempts to access a database by using an application such as SQL Plus or Toad, the access is denied and may be configured to generate logging information on the access attempt and rejection. The second internal terminal may be configured to be accessible even when using SQL Plus or Toad without any limitation. Here, although the description is made based on the case where the group is divided into a first internal terminal and a second internal terminal, it is a matter of course that three or more groups can be designated and divided.
종래 기술에 의할 때, 데이터베이스에 접속하려는 애플리케이션의 종류를 이용하여 보안을 관리할 수 있는 방법은 존재하지 아니한다. 본 발명은 기존의 보안 프로그램으로는 할 수 없었던 애플리케이션의 종류를 이용하여 보안을 관리할 수 있으므로 보안성이 획기적으로 향상할 수 있다. 특히, 본 발명은 오라클과 같은 데이터베이스에 접속하는 SQL 클라이언트를 제어 할 수 있으므로, ODBC설정을 필요로 하는 모든 4GL Client 프로그램의 위협으로부터 데이터베이스를 보호할 수 있는 장점이 있다.According to the prior art, there is no way to manage security by using the type of application to connect to the database. According to the present invention, security can be dramatically improved by using a type of application that cannot be achieved with a conventional security program. In particular, the present invention can control the SQL client connecting to the database, such as Oracle, there is an advantage that can protect the database from the threat of all 4GL Client program that requires ODBC configuration.
여기서, 그룹을 기준으로 구분하는 경우를 설명하였으나, 그룹과 유사한 방법을 사용하여 특정 사용자, 단말기, IP 또는 특정 쿼리에 대하여 데이터베이스 접속을 제한할 수 있다. Here, although the case of dividing based on the group is described, it is possible to limit the database access to a specific user, a terminal, an IP, or a specific query using a method similar to the group.
예를 들어, 제1 내부 단말기 중 소정의 단말기(231)에 대해서 DDL, DML, DCL를 포함하는 특정 SQL 쿼리(Query)나 데이터베이스의 테이블 접근을 통제하도록 구 성될 수 있다. 마찬가지로 제2 내부 단말기 중 소정의 단말기(271)에 대하여는 주민등록이 저장된 테이블의 삭제가 변경이 불가능하도록 설정할 수 있다.For example, it may be configured to control access to a table of a specific SQL query or database including DDL, DML, and DCL with respect to a
이와 같은 제한은 각 명령어에 따라 보다 세부적으로 설정될 수 있다. 예를 들어, 동일한 계정을 사용하는 사용자 중에서 소정의 사용자는 고객 정보를 동시에 10개 이상 선택(Select)할 경우, 명령의 실행을 제한하거나, "DROP" 명령과 같은 다른 명령의 사용을 불가능하도록 보안 정책을 설정할 수 있다. 이와 같은 보안 정책 설정은 미리 설정된 유저 인터페이스 화면을 통하여 편리하게 보안 조건을 입력함으로써 설정될 수 있다.Such a restriction may be set in more detail according to each command. For example, if a user using the same account selects more than 10 customer information at the same time, security may be limited to restrict the execution of the command or disable other commands such as the "DROP" command. You can set the policy. Such a security policy setting may be set by conveniently inputting a security condition through a preset user interface screen.
상술한 구성을 통하여, 특정한 SQL 쿼리(예를 들면, DELETE, DROP , 미리 설정된 개수 이상의 SELECT)로부터 중요한 테이블을 보호할 수 있고, 관리자 계정을 가지고 로그온하더라도 아이피가 상이한 경우, 특정 명령의 실행을 제한하도록 구성될 수 있다.Through the above configuration, it is possible to protect important tables from certain SQL queries (e.g., DELETE, DROP, preset number of SELECTs), and restrict execution of a specific command when the IP is different even when logging on with an administrator account. It can be configured to.
데이터베이스 보안 관리 서버의 구성 및 데이터 구조Configuration and data structure of the database security management server
본 발명에 따른 보안 관리 서버(400)는 데이터베이스 감시 및 보안 서비스를 제공함에 있어, 정당한 사용자에 대한 접근에 대하여도 보안 서비스를 제공할 수 있다. 이하, 첨부 도면을 참조하여 .도 2에서는 상기 데이터베이스 감시 및 보안 장치의 구성에 대하여 설명하며, 도 3에서는 데이터베이스 감시 및 보안 장치의 제어부의 구성을 설명하기로 한다. 그리고 도 4에서는 데이터 구조를 설명하기로 한다.
도 2는 본 발명의 바람직한 실시예에 따른 데이터베이스 보안 서버의 구성을 나타낸 도면이다. 2 is a diagram showing the configuration of a database security server according to a preferred embodiment of the present invention.
먼저, 데이터베이스 감시 및 보안 장치의 하드웨어적인 구성을 도시한 도 2를 참조하여 설명하면, 본 발명에 따른 데이터베이스 보안 서버(400)는 제어부(410), 서버부(420) 및 클라이언트 모듈부(490)를 포함하여 구성되며, 서버부(420)는 로깅 서버부(430) 및 엔진 서버부(440)를 포함할 수 있다.First, referring to FIG. 2 illustrating a hardware configuration of a database monitoring and security device, the
제어부(410)는 감사 정책 설정과 감사 및 조회 기능을 수행하고, 미리 설정되거나 입력된 보안 조건에 상응하여 서버부(420) 및 클라이언트 모듈부(430)를 통합 관리하는 기능을 수행한다.The
서버부(420)는 제어부(410)의 제어에 상응하여 실질적인 데이터베이스의 보안을 수행하는 기능을 수행한다. 로깅 서버부(420)는 인증을 수행하고, 로깅 정보를 저장하며, 데이터베이스에 액세스는 하는 사용자 또는 단말기의 로깅 정보를 분석하여 저장 및 관리하는 기능을 수행한다. The
그리고 엔진 서버부(430)는 미리 설정된 보안 정책에 따라 구체적인 보안 동작을 수행하며, 요청받은 쿼리 및 명령을 파악하여, 결과값 및 수행 중지 등 데이터베이스의 접근 및 참조를 통제하도록 구성된다.In addition, the
클라이언트 모듈부(490)는 NAT(Network Address Transaction) 모듈로 접속할 데이터베이스와 단말기의 구성을 변경하지 아니하고, 데이터베이스 보안 서버에 단말기를 결합하여 본 발명에 따른 데이터베이스의 감시 및 보안을 수행하기 위하여 사용된다. 상기 클라이언트 모듈부(430)는 NAT(Network Address Translation) 모듈을 포함하며, 사내의 개별 주소와 정식 IP 주소를 상호 변환하며, 임시 개별 주소를 할당하여 개별 주소가 할당되지 않은 노드에서도 인터넷에 접속할 수 있도록 구성된다. 여기서, 상기 NAT 모듈은 TCP/IP의 전송 계층(transport layer)이나 응용 계층의 통신 규약에 대한 변환을 하여 특정 TCP/IP 응용을 가능하도록 하는 기능을 수행한다.The
도 3은 본 발명의 바람직한 실시예에 따른 엔진 서버부의 구성을 도시한 도면이다.3 is a diagram illustrating a configuration of an engine server unit according to an exemplary embodiment of the present invention.
도 3을 참조하여 설명하면, 본 발명에 따른 엔진 서버부(440)는 검색부(450), 보안 관리부(460) 및 지원부(470)를 포함한다.Referring to FIG. 3, the
여기서, 검색부(450)는 모니터링부(610), 조회부(620) 및 리포팅부(630)를 포함할 수 있다. Here, the
모니터링부(610)는 각 명령에 따른 문장을 분석 및 검색한 후, 각 명령에 따른 단말기의 쿼리 또는 명령에 대한 정보를 실시간으로 분석하여 제공하는 기능을 수행한다. 일반적으로 명령어는 다음과 같이 구분할 수 있다. 쿼리(Query)는 데이터를 조회하는 데 사용되는 언어로 레코드가 가진 값을 획득하는 구문을 지칭한다. DML(Data Manipulation Language)는 데이터를 처리하는 부분으로 레코드에 새로운 행을 추가(insert),변경(update),삭제(delete)j에 사용된다. 그리고 DDL(Data Definition Language)은 데이터를 정의하는 데 사용되는 언어로 테이블이나 유저를 생성(create문) 하거나 삭제(drop문)하는 구문이다. 그리고 DCL(Data Control Language)은 데이터를 제어하는 데 사용되는 언어로 DDL로 유저를 생성하고 난 뒤 권한 부여(grant) 등이 여기에 속한다. 바람직한 실시예에 의할 때, 모니터링부(310)는 미리 설정된 명령어(예를 들면, SELECT , DROP , DELETE , INSERT , ALTER 등)에 대한 DML에 따른 문장별 검색을 수행하고, 미리 설정된 보안 동작을 수행할 수 있다. 예를 들어, 네트워크 상에서 SQL 문장을 수집하고 저장하며, 필요시 SQL 명령에 따른 동작을 통제하며, 한다. 또한, SQL 쿼리의 결과값에 대한 통제할 수 있으며, 바람직한 실시예에 의할 때, 특정 테이블을 선택하는 경우, 결과가 5줄 이상인 경우 결과를 리턴하지 않도록 구성할 수 있다.The
조회부(620)는 데이터베이스 액세스 내역을 쿼리, 명령어, 사용자, 시간대, IP 별로 조회할 수 있도록 구성된다. 모니터링부(610)가 액세스 정보를 실시간으로 제공하는 반면, 조회부(620)는 과거의 액세스 정보를 추출하여 제공하도록 구성된다. The
리포팅부(630)는 상기 모니터링부(610) 또는 상기 조회부(340)에서 생성한 정보를 미리 설정된 유저 인터페이스 화면을 통하여 도표 등을 이용하여 통계적으로 제공할 수 있도록 구성될 수 있다. 그리고 리포팅부(630)는 리포팅 조건에 따라 미리 설정된 사용자의 사용 내역을 추출하고, 이를 분석 및 통계 처리하여 사용자에게 제공할 수 있다. 예를 들면, 리포팅부(630)에 포함된 사용자별 통계 모듈을 사용자를 기준으로 사용 내역 출력할 수 있고, DML 별 통계모듈을 DML을 기준으로 내역 출력을 출력하도록 구성될 수 있다.The
그리고 보안 관리부(460)는 백업 및 복구부(640), 보안 차단부(650) 및 강제 종료부(660)를 포함하여 구성된다.The
백업 및 복구부(640)는 정당한 사용자인지 여부에 관계없이, 데이터베이스에 요청하는 명령어가 미리 설정된 명령어(예를 들면, 특정 테이블에 대한 DELETE 명령)에 해당하는 경우, 해당 데이터를 데이터베이스 보안 서버(400)의 저장부에 저장한 후, 상기 특정 명령을 수행하도록 구성된다. 이후, 상기 데이터베이스 보안 서버(400)에 복사된 데이터는 미리 설정된 복구 메뉴를 통하여 편리하게 복구할 수 있다.The backup and
보안 차단부(650)는 미리 설정된 특정 명령에 대하여 데이터를 백업하는 것이 아니라, 특정 데이터에 대한 접근을 차단하도록 구성된다. 본 발명에 따른 보안 차단부(650)는 특정 IP대역에서 중요 테이블에 대한 접근을 제어하거나, 특정 애플리케이션 (예를 들면, MiddleWare, SQLplus ,Toad 등)으로만 접속이 가능하도록 설정할 수 수 있다. 그리고 쿼리, 명령어, 사용자, 시간대, IP 별로 각각 조건을 정하여 특정 테이블에 대한 접속을 제어하도록 구성된다.The
강제 종료부(660)는 미리 설정된 특정 명령에 대하여 상기 사용자의 접속을 강제적으로 종료하는 기능을 수행한다. 보안 차단부(680)는 단순히 액세스만을 차단하도록 구성되나, 강제 종료부(660)는 실시간 접속 세션을 강제 종료하는 기능을 수행할 수 있다. 여기서, 기능, 실시간 접속중인 Oracle 세션에 대해서 강제로 접속 해제하며, 이와 같은 경우 좀비 프로세스가 발생하기 아니하도록 구성된다.The forced
지원부(470)는 로드 밸런싱부(670), 다중 서버 지원부(680) 및 조건 설정부(690)를 포함할 수 있다. 로드 밸런싱부(473)는 데이터베이스의 관리 서버가 2대 이상으로 구성된 경우, 2대 이상의 서버에 대해서 로드 밸런싱을 수행할 수 있다.The
그리고 다중서버 지원부(680)는 물리적으로 서로 다른 Network 상에 존재하는 데이터베이스 서버를 지원하도록 구성되며, 서버 및 프로토콜의 종류에 상관없이 모니터링, 데이터 복구, 로그 조회 검색 등을 동일하게 지원하도록 구성된다. 이하, HTTP 프로토콜을 기준으로 설명하였으나, Telnet 사용자 및 FTP 사용자에 대한 모든 Command 및 결과값에 대한 보안 관리가 가능함은 물론이다.In addition, the
그리고 조건 설정부(690)는 보안 정책에 따라 입력받은 보안 조건을 미리 설정된 테이블에 저장하며, 모니터링부를 통하여 모니터링하여 분석한 접속 정보가 상기 보안 조건에 해당하는지 여부를 판단하며, 해당하는 경우, 이에 따른 보안 관리를 수행하도록 구성된다.The
그리고 도면에 도시하지 아니한 알람 발생부를 포함하며, 상기 보안 조건 중 미리 설정된 보안 조건이 발생된 경우, 상기 보안 조건에 따라 보안 관리를 수행함과 동시에 관리자에게 알람을 발생시키도록 구성될 수 있다. 여기서, 상기 알람 정보는 단말기의 디스플레이화면에 표시할 수 도 있고, 그 외 네트워크를 이용하여 메시지 등의 수단을 이용하여 제공할 수 있음은 물론이다.An alarm generating unit (not shown) may be included, and when a preset security condition is generated among the security conditions, an alarm may be generated to the administrator while performing security management according to the security condition. Here, the alarm information may be displayed on the display screen of the terminal, or may be provided by means of a message or the like using a network.
도 4는 본 발명의 바람직한 실시예에 따른 데이터 구조를 나타낸 도면이다. 4 is a diagram illustrating a data structure according to a preferred embodiment of the present invention.
본 발명은 데이터베이스에 접속하기 위하여 송수신하는 데이터에서 각 프로 토콜에 상응하여 미리 설정된 정보를 추출하도록 구성된다. 이하, 도 4를 참조하면, 본 발명에 따른 데이터 구조는 다음과 같은 기본 정보를 포함하도록 구성된다. 즉, 추출하는 정보는 IP 정보(710), 사용자 ID 정보(720), 단말기 정보(730), 애플리케이션 정보(740) 및 쿼리 정보(750) 등을 포함할 수 있다.The present invention is configured to extract preset information corresponding to each protocol from data transmitted and received to access a database. 4, the data structure according to the present invention is configured to include the following basic information. That is, the extracted information may include
각 네트워크 환경이나, 프로토콜에 상응하여 데이터 구조는 상이하나, 본 발명에 따른 데이터베이스 보안 서버는 상기 프로토콜에서 상술한 정보를 추출하여 본 발명에 따른 보안 관리를 수행할 수 있다. 하기의 표 1을 참조하면, 본 발명에 따라 추출하는 정보가 정리되어 있다.Although the data structure is different according to each network environment or protocol, the database security server according to the present invention can extract the above-mentioned information from the protocol and perform security management according to the present invention. Referring to Table 1 below, information extracted according to the present invention is summarized.
검색부Search
이하, 첨부 도면을 참조하여, 본 발명의 구성에 따른 세부 구성을 상세히 설명하기로 한다. 본 발명에 따른 모니터링부 및 조회부는 상술한 프로토콜에 따라 세부 정보를 추출하고, 상기 세부 정보를 미리 설정된 포맷에 따라 분류하여 사용자에게 제공할 수 있다. 본 발명에 의할 때, 상기 프로토콜 분석 정보를 이용하여 실시간으로 모니터링하여 제공 및 저장하며, 상기 저장된 정보를 이용하여 사용자 에게 제공할 수 있도록 구성된다. 이하, 도 5에서는 모니터링부에 대하여 설명하고, 도 6에서는 조회부에 대하여 설명하기로 한다.Hereinafter, with reference to the accompanying drawings, a detailed configuration according to the configuration of the present invention will be described in detail. The monitoring unit and the inquiry unit according to the present invention may extract detailed information according to the above-described protocol, classify the detailed information according to a preset format, and provide the same to a user. According to the present invention, it is configured to monitor and provide in real time using the protocol analysis information, and to provide to the user using the stored information. Hereinafter, the monitoring unit will be described in FIG. 5, and the inquiry unit will be described in FIG. 6.
도 5는 본 발명의 바람직한 실시예에 따른 모니터링부에 대하여 설명한 도면이다.5 is a view illustrating a monitoring unit according to a preferred embodiment of the present invention.
도 5를 참조하면, 모니터링부(610)는 검색종류에 따라 다음과 같이 구분된다, 명령어 모니터링부(611), 아이피 모니터링부(612), 사용자 모니터링부(613), 단말기 모니터링부(614), 애플리케이션 모니터링부(615), 시간대역 모니터링부(616)를 포함한다.Referring to FIG. 5, the
명령어 모니터링부(611)는 SELECT , DROP , DELETE , INSERT , ALTER 등의 주요 DML에 따른 문장별 검색을 수행한다. 아이피 모니터링부(612)는 접속 IP 별 QUERY 검색 및 상세정보 제공하고, 사용자 모니터링부(613)는 사용자 ID 별 QUERY 검색 및 상세정보 제공한다. 단말기 모니터링부(614)는 컴퓨터 이름 별 QUERY 검색 및 상세정보 제공하고, 애플리케이션 모니터링부(615)는 사용 애플리케이션 별 QUERY 검색한다. 그리고 시간 대역 모니터링부(616)는 시간대별 IP 현황 , 시간대별 사용자 현황 등의 정보제공 및 상세 검색기능을 제공한다. The command monitoring unit 611 performs a sentence-by-statement search based on main DML such as SELECT, DROP, DELETE, INSERT, ALTER, and the like. The IP monitoring unit 612 provides QUERY search and detailed information for each access IP, and the
그리고 도면에 도시되지 아니하였으나, 평균 응답시간 및 응답시간 등의 기타 정보 제공 및 검색부를 포함할 수 있다. 하기의 표 2를 참조하면, 본 발명에 따른 모니터링부의 기능이 정리되어 있다.Although not shown in the figure, it may include other information providing and searching unit such as average response time and response time. Referring to Table 2 below, the functions of the monitoring unit according to the present invention are summarized.
도 6은 본 발명의 바람직한 실시예에 따른 조회부에 대하여 설명한 도면이다.6 is a diagram illustrating an inquiry unit according to a preferred embodiment of the present invention.
본 발명에 따른 조회부(620)는 과거 사용자의 데이터베이스 접근 및 사용 내용을 다양한 조회 기준에 따라 제공하도록 구성된다.The
도 6을 참조하면, 조회부(620)는 검색종류에 따라 다음과 같이 구분된다, 명령어 조회부(611), 아이피 조회부(612), 사용자 조회부(616), 단말기 조회부(614), 애플리케이션 조회부(615), 시간 조회부(616)를 포함한다. 모니터링부(610)는 현재 실시간으로 접속한 사용자에 대한 로깅 정보를 분석하여 제공하는 반면, 조회부(620)는 데이터베이스에 저장된 과거에 사용자의 로깅 정보를 분석하여 제공하도록 구성된다.Referring to FIG. 6, the
명령어 조회부(611)는 SELECT , DROP , DELETE , INSERT , ALTER 등의 주요 DML에 따른 문장별 검색을 수행한다. 아이피 조회부(612)는 접속IP 별 QUERY 검색 및 상세정보 제공하고, 사용자 조회부(616)는 사용자 ID 별 QUERY 검색 및 상세정 보 제공한다. 단말기 조회부(614)는 컴퓨터 이름 별 QUERY 검색 및 상세정보 제공하고, 애플리케이션 조회부(615)는 사용 애플리케이션 별 QUERY 검색한다. 그리고 시간 조회부(616)는 시간대별 IP 현황 , 시간대별 사용자 현황 등의 정보제공 및 상세 검색기능을 제공한다. 그 외의 설명은 모니터링부(610)의 구성과 유사하므로 설명을 생략하기로 한다. 하기의 표 2를 참조하면, 본 발명에 따른 조회부의 기능이 정리되어 있다.The command inquiry unit 611 performs a sentence-by-statement search based on main DML such as SELECT, DROP, DELETE, INSERT, ALTER, and the like. The IP inquiry unit 612 provides QUERY search and detailed information for each access IP, and the
보안 관리부Security management department
본 발명에 따른 보안 관리부(460)는 백업 및 복구부(640), 보안 차단부(650) 및 강제 종료부(660)를 포함하여 구성된다. 이하, 도 7에서는 보안 관리부의 전체적인 동작 절차를 설명하고, 도 8에서는 백업 및 복구부의 구성을 설명하기로 한다.The
도 7은 본 발명의 바람직한 실시예에 따른 보안 관리의 동작 절차를 도시한 도면이다.7 is a diagram illustrating an operation procedure of security management according to a preferred embodiment of the present invention.
먼저, 단계 S710에서 보안 조건을 추출하고, 데이터베이스 접속을 시도하는 모든 사용자에 대하여 실시간으로 모니터링한다. 단계 S720에서 모니터링 결과, 상기 보안 조건에 해당하면, 보안 조건의 종류를 판단한다. 본 발명에 따른 보안 조건은 백업 조건, 차단 조건 및 종료 조건을 포함할 수 있다. 여기서, 상술한 바와 같이 사용자가 미리 설정된 유저 인터페이스 화면을 이용하여 편리하게 보안 조건을 설정할 수 있으며, 상기 보안 조건에 따라 실시간으로 데이터베이스의 접속 및 사용을 제어할 수 있도록 구성된다.First, in step S710, the security condition is extracted and monitored in real time for all users attempting to access the database. As a result of the monitoring in step S720, if the security condition corresponds, the type of security condition is determined. The security condition according to the present invention may include a backup condition, a blocking condition and a termination condition. Here, as described above, the user may conveniently set a security condition using a preset user interface screen, and may be configured to control access and use of a database in real time according to the security condition.
판단 결과 백업 조건에 해당하는 경우, 단계 S730에서 백업 및 복구부(640)는 상기 명령의 객체에 해당하는 데이터를 백업하고, 단계 S732에서 복구 요청이 있는 경우, 상기 백업한 데이터를 복구하도록 구성된다.If it is determined that the backup condition is met, the backup and
판단 결과 차단 조건에 해당하는 경우, 단계 S730에서 보안 차단부(650)는 미리 설정된 차단 조건에 따라 상기 명령 또는 접속하는 데이터에의 접근을 차단할 수 있다. 여기서, 미리 설정된 차단 정보에 따라 액세스를 차단하기 위한 보안 차단부(380)의 차단 조건은 IP 대역, 시간, 애플리케이션, 사용자, 단말기, 특정 패턴 공격 등의 세부 조건을 각각 설정할 수 있으며, 상기 설정된 차단 조건에 해당하는 사용자가 접속을 시도하는 경우, 이를 감지하고 접속을 차단하도록 구성된다. 예를 들어, 차단 조건이 IP 대역 및 테이블로 설정된 경우, 상기 IP대역에서 접속한 단말기가 상기 테이블에 접근을 시도하는 경우, 상기 접근을 차단하는 기능을 수행하도록 구성된다.If the determination result corresponds to a blocking condition, in step S730, the
본 발명의 실시예에 의할 때, 단계 S742에서 보안 차단부에 의해 설정된 차단 조건에 해당하는 사용자가 복수 횟수 이상 접속을 시도하는 경우에는 단계 S750에서 상기 사용자의 접속을 강제 종료하도록 구성될 수 있다.According to an embodiment of the present invention, when the user corresponding to the blocking condition set by the security blocker in step S742 attempts to connect more than a plurality of times, it may be configured to forcibly terminate the connection of the user in step S750. .
판단 결과 종료 조건에 해당하는 경우, 단계 S750에서 데이터베이스와의 접속을 강제 종료하도록 구성된다.If it is determined that the termination condition is met, the connection with the database is forcibly terminated in step S750.
도 8은 본 발명의 바람직한 실시예에 따른 백업 및 복구부의 구성을 도시한 도면이다.8 is a diagram illustrating a configuration of a backup and recovery unit according to a preferred embodiment of the present invention.
백업 및 복구부(640)는 미리 설정된 특정 테이블에 대하여 미리 설정된 명령을 수행하는 경우, 상기 명령의 객체에 해당하는 데이터를 백업하는 기능을 수행한다. 여기서, 상기 명령은 데이터의 삭제를 포함하는 명령을 지칭하며, 백업 동작은 데이터베이스 내에서 이루어지는 것이 아니라, 데이터베이스의 데이터를 데이터베이스 보안 서버의 저장부로 가져오도록 구성된다.The backup and
도 8을 참조하면, 본 발명에 따른 백업 및 복구부(640)는 테이블 식별부(641), 추출 및 저장부(643) 및 관리자 메뉴 등록부(645) 및 복구 작업부(647)를 포함한다. 발명의 실시예에 의할 때, 테이블 식별부(641)가 특정 데이터에 대한 삭제, 변경, 수정 등 데이터의 삭제를 동반하는 명령을 요청하는 경우, 이를 감지하면, 추출 및 저장부(643)는 상기 테이블 또는 테이블 중 삭제 명령에 해당하는 데이터를 추출하여, 데이터베이스 보안 서버의 저장부로 저장한다. 그 리고 관리자 메뉴 등록부(645)는 상기 백업 정보를 저장하면, 이후 관리자는 상기 관리자 메뉴를 이용하여 편리하고 복구 명령을 요청할 수 있고, 복구 명령을 요청한 경우, 복구 작업부(647)는 상기 저장부에 저장된 데이터를 복구하는 기능을 수행할 수 있다.Referring to FIG. 8, the backup and
하기의 표 4를 참조하면, 본 발명의 실시예에 따른 백업 조건에 해당하는 명령 및 상기 명령에 대한 동작이 정리되어 있다.Referring to Table 4 below, commands corresponding to backup conditions and operations on the commands are summarized.
사용자 인터페이스User interface
본 발명에 따르면 보안 조건 설정 및 보안 관리의 결과는 미리 설정된 유저 인터페이스를 통하여 사용자에게 제공될 수 있다. 이하, 첨부 도면을 참조하여 본 발명의 바람직한 실시예에 따른 유저 인터페이스 화면을 설명하기로 한다.According to the present invention, the result of the security condition setting and the security management may be provided to the user through a preset user interface. Hereinafter, a user interface screen according to a preferred embodiment of the present invention will be described with reference to the accompanying drawings.
도 9a 내지 도 9c는 본 발명의 바람직한 실시예에 따른 유저 인터페이스 화면을 나타낸 도면이다.9A to 9C are views illustrating a user interface screen according to a preferred embodiment of the present invention.
단계 S910에서, 본 발명의 실시예에 따른 모니터링 결과 제공 화면은 모니터 링 조건을 설정하는 창(911), 모니터링 결과를 제공하는 창(912) 및 사용자에 대한 쿼리 정보를 제공하는 창(913)을 포함하며, 상기 메뉴를 편리하게 제어하기 위한 단축 메뉴바(914)를 더 포함할 수 있다.In step S910, the monitoring result providing screen according to an embodiment of the present invention includes a
여기서, 상기 단축 메뉴바(914) 또는 메뉴를 조작하여 조회 메뉴를 클릭하면, 단계 S920에서, 본 발명의 실시예에 따른 조회 결과 제공 화면이 도시된다. 상기 화면의 좌측창(921)은 미리 설정된 검색 기준에 따라 구분된 디렉터리 구조를 구성되며, 우측창(922)은 선택된 검색 기준에 따른 간략 정보를 제공하도록 구성된다. Here, when the inquiry menu is clicked by operating the
여기서, 상기 간략 정보를 클릭하면, S930에서, 상기 간략 정보에 대한 상세 정보가 제공되도록 구성될 수 있다. 여기서, 상기 사용자의 IP를 기준으로 제공되는 상세 정보의 바람직한 실시예가 도시되어 있어, 상기 IP에 대한 기본적인 정보와 함께, 상기 IP에 상응하여 요청한 쿼리 정보를 제공하는 창(931)을 별도로 제공하도록 구성될 수 있다.In this case, when the short information is clicked on, in S930, detailed information on the short information may be provided. Here, a preferred embodiment of detailed information provided on the basis of the user's IP is shown, and configured to separately provide a
단계 S940의 화면은 보안 차단부에 의해 동작을 설명하기 위한 유저 인터페이스이다. 데이터베이스 보안 서버는 실시간으로 보안 조건을 참조하며, 접속 및 명령에 대한 동작을 제어할 수 있다. 그리고 특정사용자(IP, 컴퓨터, 애플리케이션)에 대해서 DELETE나 UPDATE명령 사용 시, DELETE된 레코드와 UPDATE되기 전 상태의 레코드 보관기능을 제공할 수 있다. 여기서, 좌측창(941)을 이용하여 특정 IP를 선택하면, 상기 선택에 대한 간략 정보가 우측창(942)에 표시되며, 상기 간략 정보 중 미리 설정된 명령어가 포함된 정보에 대한 상세 정보를 제공하는 창(943) 을 제공할 수 있도록 구성된다.The screen of step S940 is a user interface for explaining the operation by the security blocker. The database security server refers to the security condition in real time and can control the operation of the connection and the command. In addition, when using DELETE or UPDATE command for a specific user (IP, computer, application), it is possible to provide the record keeping function of the deleted record and the state before the UPDATE. In this case, when a specific IP is selected using the
이상에서는 일반적인 HTTP 프로토콜을 기준으로 설명하였으나, 프로토콜의 종류에 상관없이 데이터베이스에 접속하는 모든 사용자에 대하여 동일한 보안 관리를 수행할 수 있다. 예를 들어, 텔넷에 의한 데이터베이스에 접속하는 경우, 단계 S950과 같이 텔넷으로 접속하여 사용하는 사용자에 대한 모니터링 정보를 실시간으로 제공하도록 구성된다. 즉, 텔넷으로 접속한 사용 로그 조회나 기타 OS 명령 실행을 모니터링하고, FTP로 송수신 되는 모든 파일을 조회할 수 있으므로, 오라클뿐만 아니라, 기타 데이터베이스에 대한 보안 관리를 수행할 수 있다.Although the above has been described based on the general HTTP protocol, the same security management can be performed for all users accessing the database regardless of the protocol type. For example, when accessing the database by telnet, as shown in step S950, it is configured to provide in real time the monitoring information for the user who accesses and uses the telnet. In other words, it can monitor the usage log and other OS command execution connected to telnet and search all files sent and received by FTP, so that security management for not only Oracle but also other databases can be performed.
상술한 구성을 지닌 본 발명은 사용자나 관리자의 오남용에 의한 데이터 회손 및 변조에 대해서 완벽한 복구가 가능하다With the above-described configuration, the present invention can completely recover data corruption and tampering caused by misuse of a user or an administrator.
이상에서 설명한 바와 같이, 본 발명은 데이터베이스 모니터링을 통하여 내부자가 정상적인 권한으로 데이터베이스에 액세스하는 경우까지 관리할 수 있는 데이터베이스 감시 및 보안 방법 및 장치를 제공할 수 있는 효과가 있다.As described above, the present invention has the effect of providing a database monitoring and security method and apparatus that can be managed even when the insider accesses the database with normal authority through database monitoring.
또한, 본 발명은 정보의 오용을 방지하기 위하여, 데이터베이스의 감시 및 보안뿐만 아니라, 이러한 데이터베이스에 대한 조회여부까지 모니터링하여, 정당한 사용자에 대한 감사 및 통제를 수행할 수 있는 효과도 있다.In addition, in order to prevent the misuse of information, the present invention has the effect of monitoring and controlling the database as well as monitoring whether the database is inquired, and performing audit and control on a legitimate user.
또한, 본 발명은 관리자에 보안 정책에 따라 편리하게 보안 조건을 설정할 수 있을 뿐 아니라, 이러한 보안 조건에 따라 실시간으로 데이터베이스의 보안을 수행할 수 있는 효과도 있다.In addition, the present invention can not only conveniently set the security conditions according to the security policy to the administrator, but also has the effect of performing the security of the database in real time according to these security conditions.
또한, 본 발명은 기존의 보안 프로그램으로는 할 수 없었던 애플리케이션의 종류를 이용하여 보안을 관리할 수 있는 효과도 있다.In addition, the present invention also has the effect that it is possible to manage the security by using a kind of application that cannot be done by the existing security program.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야에서 통상의 지식을 가진 자라면 하기의 특허 청구 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to a preferred embodiment of the present invention, those skilled in the art that various modifications of the present invention without departing from the spirit and scope of the invention described in the claims below And can be changed.
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040023207A KR100593661B1 (en) | 2004-04-03 | 2004-04-03 | Method and system for monitoring and securing a database |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040023207A KR100593661B1 (en) | 2004-04-03 | 2004-04-03 | Method and system for monitoring and securing a database |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040052569A KR20040052569A (en) | 2004-06-23 |
KR100593661B1 true KR100593661B1 (en) | 2006-06-26 |
Family
ID=37346155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040023207A KR100593661B1 (en) | 2004-04-03 | 2004-04-03 | Method and system for monitoring and securing a database |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100593661B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240100779A (en) | 2022-12-23 | 2024-07-02 | (주)비아이매트릭스 | Method for generating statements for databases |
KR20240102597A (en) | 2022-12-26 | 2024-07-03 | (주)비아이매트릭스 | Method for loading datasets into form |
KR20240102493A (en) | 2022-12-26 | 2024-07-03 | (주)비아이매트릭스 | Method for indexing to improve database statment performance |
KR20240104652A (en) | 2022-12-28 | 2024-07-05 | (주)비아이매트릭스 | Method for loading datasets containing images |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101143847B1 (en) * | 2005-04-14 | 2012-05-10 | (주) 모두스원 | Network security apparatus and method thereof |
KR100834715B1 (en) * | 2006-09-08 | 2008-06-02 | 엔에이치엔(주) | Security system and method |
KR100803357B1 (en) * | 2006-09-28 | 2008-02-13 | 알투웨어 주식회사 | Method and apparatus for enhancing the security of database |
KR100868037B1 (en) * | 2006-10-18 | 2008-11-10 | 주식회사 케이티프리텔 | Method and System for Controlling the Access to the Database |
KR100913190B1 (en) * | 2007-09-13 | 2009-08-20 | 에스티지 시큐리티(주) | Method for database preservation web-based 3 tier environment and apparatus thereof |
KR100937020B1 (en) * | 2007-12-04 | 2010-01-15 | (주)모니터랩 | Integration security system and method by tracking web-database attack detection log data |
KR101039698B1 (en) * | 2009-06-12 | 2011-06-08 | (주)소만사 | Database Security System, Server and Method which can protect user's Access to Database through Application |
KR101278970B1 (en) * | 2011-04-04 | 2013-07-30 | 주식회사 위즈디엔에스코리아 | Interception system for preventing dishonestly using information and Method thereof |
KR101278971B1 (en) * | 2011-04-12 | 2013-07-30 | 주식회사 위즈디엔에스코리아 | Interception system for preventing dishonestly using information and Method thereof |
KR101235042B1 (en) * | 2012-02-20 | 2013-02-21 | 주식회사 솔리데오시스템즈 | Method for providing data included in building information modeling data file, recording medium thereof, and system using the method |
KR101444250B1 (en) * | 2013-01-03 | 2014-09-26 | (주)엔소프테크놀러지 | System for monitoring access to personal information and method therefor |
KR101905771B1 (en) * | 2016-01-29 | 2018-10-11 | 주식회사 엔오디비즈웨어 | Self defense security server with behavior and environment analysis and operating method thereof |
KR102137309B1 (en) * | 2018-05-29 | 2020-07-23 | 이점한 | Intergrated Monitoring System |
CN110868428A (en) * | 2019-12-06 | 2020-03-06 | 吉林建筑大学 | Computer network safety early warning device |
KR102185555B1 (en) * | 2020-05-18 | 2020-12-02 | 주식회사 지에스리테일 | Method of secure access and query execution of database and server implementing thereof |
CN112818029A (en) * | 2021-01-13 | 2021-05-18 | 远景智能国际私人投资有限公司 | Method, device and equipment for querying time sequence data and readable storage medium |
KR102408676B1 (en) * | 2021-10-06 | 2022-06-15 | 유춘열 | Data security video surveillance method using distributed self-replication technology |
-
2004
- 2004-04-03 KR KR1020040023207A patent/KR100593661B1/en active IP Right Grant
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240100779A (en) | 2022-12-23 | 2024-07-02 | (주)비아이매트릭스 | Method for generating statements for databases |
KR20240102597A (en) | 2022-12-26 | 2024-07-03 | (주)비아이매트릭스 | Method for loading datasets into form |
KR20240102493A (en) | 2022-12-26 | 2024-07-03 | (주)비아이매트릭스 | Method for indexing to improve database statment performance |
KR20240104652A (en) | 2022-12-28 | 2024-07-05 | (주)비아이매트릭스 | Method for loading datasets containing images |
Also Published As
Publication number | Publication date |
---|---|
KR20040052569A (en) | 2004-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100593661B1 (en) | Method and system for monitoring and securing a database | |
US11030335B2 (en) | Effectively validating dynamic database queries through database activity monitoring | |
US11949676B2 (en) | Query analysis using a protective layer at the data source | |
US10104095B2 (en) | Automatic stability determination and deployment of discrete parts of a profile representing normal behavior to provide fast protection of web applications | |
US10122575B2 (en) | Log collection, structuring and processing | |
US6347374B1 (en) | Event detection | |
US7805419B2 (en) | System for tracking and analyzing the integrity of an application | |
US9009139B2 (en) | Query pipeline | |
US10110632B2 (en) | Methods and systems for managing security policies | |
US20110314148A1 (en) | Log collection, structuring and processing | |
US20070005665A1 (en) | Separation of duties in a data audit system | |
US20040049693A1 (en) | Modular system for detecting, filtering and providing notice about attack events associated with network security | |
US20120246303A1 (en) | Log collection, structuring and processing | |
JP2000035949A (en) | System and method for supplying database access control in secure distributed network | |
US11178160B2 (en) | Detecting and mitigating leaked cloud authorization keys | |
WO2017171188A1 (en) | Security device using transaction information collected from web application server or web server | |
US20170181054A1 (en) | Managed access graphical user interface | |
KR100481130B1 (en) | Database System Monitoring Method Without Connecting The Database System | |
KR100868037B1 (en) | Method and System for Controlling the Access to the Database | |
KR101658456B1 (en) | Security device using transaction information obtained from web application server | |
US20240039914A1 (en) | Non-in line data monitoring and security services | |
KR20020012855A (en) | Integrated log analysis and management system and method thereof | |
WO2007096890A2 (en) | Device, system and method of database security | |
KR101025029B1 (en) | Implementation method for integration database security system using electronic authentication | |
KR101612893B1 (en) | Privacy information scanning system and scanning method |
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: 20130620 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140530 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20150529 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20180403 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20190329 Year of fee payment: 14 |