WO2021002485A1 - 웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안장치 - Google Patents

웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안장치 Download PDF

Info

Publication number
WO2021002485A1
WO2021002485A1 PCT/KR2019/007952 KR2019007952W WO2021002485A1 WO 2021002485 A1 WO2021002485 A1 WO 2021002485A1 KR 2019007952 W KR2019007952 W KR 2019007952W WO 2021002485 A1 WO2021002485 A1 WO 2021002485A1
Authority
WO
WIPO (PCT)
Prior art keywords
web
transaction
user
module
information
Prior art date
Application number
PCT/KR2019/007952
Other languages
English (en)
French (fr)
Inventor
이석우
Original Assignee
(주)엘리바이저
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)엘리바이저 filed Critical (주)엘리바이저
Publication of WO2021002485A1 publication Critical patent/WO2021002485A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems

Definitions

  • the present invention relates to a database security device in a web-based environment, and more specifically, web transaction information in a web application server (hereinafter referred to as WAS) and DB transaction information in a database are correlated with a user identifier. It relates to a database security device based on user identification through WAS that can provide a database access control and analysis function for an actual user terminal by making it possible to block web transactions for users who have caused abnormal data access by forming an error.
  • WAS web application server
  • Database security products currently on the market to provide database security can be divided into two broad categories: products that encrypt data and store them in a database, and products that control users who access the database and audit their access history. .
  • security products that have access control and audit as their main functions provide access and audit functions for end users who access the database.
  • FIG. 1 is a schematic configuration diagram of a two-tier database system
  • FIG. 2 is a configuration diagram of a three-tier database system through WAS.
  • a client directly accesses the database 2 from the user terminal 1, and identifies a user who accesses the database 2 using user information. This is possible.
  • the client accesses the WAS 30 from the user terminal 10 through the web server 20 and through the service provided by the WAS 30
  • the database 40 As a method of accessing the database 40 or directly accessing the database 40 through the WAS 30, it is generally difficult to ensure compatibility between the WAS 30 and the database 40, and a user authenticated by the WAS 30 Since information is not provided to the database 40, the database 40 only identifies the WAS 30 as a user, but cannot specifically determine which user used the database, and as a result, the actual user accessing the database 40 There is a problem in that database access control for the terminal 10 is impossible.
  • Patent Document 1 KR10-1658456 B1
  • a database providing security for access to a database (hereinafter referred to as DB) through a web application server (hereinafter referred to as WAS) that processes web transactions in response to a service request input from a user terminal
  • WAS web application server
  • a security device as a WAS security agent responsible for the security of the WAS, it collects web transaction information including DB access information from the WAS, and blocks web transactions for abnormal users including large amounts of data access or data change.
  • a WAS security agent that collects a user identifier capable of identifying a user, stores the user identifier in the WAS memory, and maps the user identifier to a web transaction of the same application session ID when a specific transaction is subsequently executed;
  • a web transaction security management system that manages the WAS security agent, receiving web transaction information from the WAS security agent, generating a first blocking command for blocking web transactions for abnormal users based on the received web transaction information, and The web transaction security management system for transmitting the generated first blocking command to the WAS security agent;
  • a DB security agent responsible for the security of the DB comprising: a DB security agent collecting DB transaction and audit trail information from the DB; And a DB security management system for managing the DB security agent, receiving the DB transaction and audit trace information from the DB security agent, and blocking web transactions for abnormal users based on the received DB transaction and audit trace information.
  • a DB security management system for generating a second blocking command and transmitting the generated second blocking command to the web transaction security
  • the WAS security agent may include a user identifier collection module that collects a user identifier capable of identifying a user upon login; A storage module for mapping the collected user identifiers to the application session IDs and storing them in a mapping table; A mapping module for mapping a user identifier to a web transaction of the same application session ID when the specific transaction is executed; And receiving a first blocking command from the web transaction security management system or a second blocking command from the DB security management system, and performing a web transaction for the abnormal user based on the received first or second blocking command. It characterized in that it comprises a; block web transaction blocking module.
  • the user identifier collection module is characterized in that after logging in, the user identifier is collected from the mapping table.
  • the WAS security agent the environment setting module for setting the user identifier target to be collected; And a setting request module for requesting a setting to map a user identifier to DB session information prior to SQL execution.
  • the configuration module sets the HTTP request parameter name for the user identifier to collect the user identifier when logging in, and the mapping module continuously maps the same user identifier to the same application session ID every time a web page is requested after logging in. Characterized in that.
  • the environment setting module sets the method to collect user identifiers from calling parameters or return values when executing the method, and the user identifier collection module collects user identification information when accessing the session store from the application every time a web page is requested after logging in It is characterized by collecting.
  • the user identifier is characterized in that it includes at least one of user ID, authentication information, user bio information, and user IP.
  • the web transaction information received from the WAS security agent, and the DB transaction and audit trail information received from the DB security agent may be used for interlinkage analysis based on a user identifier.
  • the web transaction security management system includes: a web transaction information analysis module capable of analyzing received web transaction information to block web transactions for abnormal users; A first for detecting the web transaction that caused abnormal data access based on the analysis result of the web transaction information analysis module, identifying the user who caused the web transaction, and blocking the web transaction for the abnormal user when the abnormal user is identified.
  • a web transaction detection module capable of generating a blocking command; And a blocking management module that transmits the first blocking command generated by the web transaction detection module to a web transaction blocking module to cause the web transaction blocking module to block a web transaction for a corresponding user, wherein the DB security agent , A DB transaction information collection module that collects DB transaction information capable of analyzing DB transaction and audit trail information received to block web transactions for abnormal users; And an audit trail information collection module that collects audit trail information, wherein the DB security management system receives from the DB transaction information collection module and the audit trail information collection module to block web transactions for users with abnormal DB access.
  • DB transaction and audit trace information analysis module that can analyze one DB transaction and audit trace information; And a second blocking command to detect whether abnormal DB access exists based on the analysis result of the DB transaction and audit trail information analysis module, and to block web transactions for users of abnormal DB access if abnormal DB access exists. It includes a DB detection module that can be generated, and the second blocking command is characterized in that it can be transmitted to the blocking management module.
  • a big data system for storing web transaction information received from the WAS security agent and DB transaction and audit trail information received from the DB security agent as big data; And a big data analysis system that performs security analysis and tracking on the basis of the web transaction information stored in the big data system and the big data of DB transaction and audit trail information.
  • web transaction information in WAS and DB transaction information in the database form a correlation with the user identifier by mapping user identifiers to web transactions of the same application session ID when a specific transaction is executed in WAS.
  • the user can be identified even at the session level of the database, thus enabling database access control and analysis at the session level of the database.
  • FIGS. 1 and 2 are diagrams schematically showing a database system in a general web-based 2-tier environment and 3-tier environment
  • FIG. 3 is a schematic configuration diagram of a database security device based on user identification through a web application server according to an embodiment of the present invention
  • FIG. 4 is a flowchart illustrating a database security method based on user identification through a web application server according to an embodiment of the present invention.
  • 5 and 6 are diagrams for explaining a method of collecting a user identifier according to an embodiment of the present invention.
  • the application session ID can identify (distinguish) the access web browser, but the user cannot.
  • the user ID can be identified only at the time of login, and cannot be identified at the time of subsequent calls.
  • the web transaction requested by the user can inquire or change the information in the database, but the user identification was not possible even at the session level of the database due to the inability to identify the user.
  • the user identifier is mapped to the web transaction of the same application session ID.
  • web transaction information in WAS and DB transaction information in the database are The main technical feature is to provide a database access control and analysis function for the actual user terminal by making it possible to block web transactions for users who caused abnormal data access by forming a correlation.
  • the user can be identified at the session level of the database, so database access control and analysis at the session level of the database can be performed.
  • FIG. 3 is a schematic configuration diagram of a database security device based on user identification through a web application server according to an embodiment of the present invention.
  • the database security device includes a user PC 100, a web server 110, a WAS 120, a WAS security agent 130, a DB 140, and a web transaction.
  • a security management system 150, a DB security agent 160, a DB security management system 170, a big data system 180, and a big data analysis system 190 may be included.
  • the user PC 100 is a general computing terminal such as a personal computer, a notebook computer, a netbook, a PDA, and a mobile device used by general users.
  • the web server 110 When the web server 110 receives the user's request, it processes a command for the received request and delivers the execution result to the user again.
  • it refers to a server that provides pre-stored hypertext to users who use the World Wide Web.
  • hypertext does not mean only text documents, but includes music files such as pictures, videos, and MP3s.
  • the hypertext provided by these web servers to users is achieved through a protocol called HTTP (hypertext transfer protocol).
  • Examples of the web server 110 include Apache, WebtoB, and IIS.
  • the WAS 120 exists between the web server 110 and the database 140, and carries a web application (not shown).
  • the WAS 120 is mainly constructed for processing web transactions in a distributed environment.
  • the web application processes data in the database 140 according to the user's purpose, and transmits the data to the user through the web server 110.
  • a web application is a generic term for a program designed to handle a certain purpose on the web. For example, a bulletin board, a shopping mall program, and the like can be exemplified.
  • the WAS security agent 130 may be responsible for security of the WAS 120.
  • the WAS security agent 130 may block a web transaction for an abnormal user including a large amount of data access or data change in the WAS 120.
  • the WAS security agent 130 collects a user identifier that can identify a user and stores it in the WAS memory (not shown), and the same application session ID when a specific transaction is executed later. User identifiers can be mapped for web transactions.
  • the web transaction security management system 150 serves to manage the WAS security agent 130.
  • the web transaction security management system 150 receives web transaction information from the WAS security agent 130, and generates a first blocking command for blocking web transactions for abnormal users based on the received web transaction information, The generated first blocking command may be transmitted to the WAS security agent 130.
  • the database 140 may store various data for providing a service.
  • the DB security agent 160 is responsible for the security of the DB 140 and may collect DB transaction and audit trail information.
  • the DB security management system 170 plays a role of managing the DB security agent 160.
  • the DB security management system 170 receives the DB transaction information from the DB security agent 160, and generates a second blocking command for blocking web transactions for abnormal users based on the received DB transaction information, The generated second blocking command may be transmitted to the web transaction security management system 150.
  • the big data system 180 is a big data for performing security analysis and tracking based on user identification of web transaction information received from the WAS security agent 130 and DB transaction information received from the DB security agent 160 Can be saved as.
  • the big data analysis system 190 may separately perform security analysis and tracking based on the big data of web transaction information and DB transaction information stored in the big data system 180.
  • the WAS security agent 130 includes a user identifier collection module 131, a storage module 132, a mapping module 133, a web transaction blocking module 134, an environment setting module 136, and a setting request module. (137), and a web transaction information collection module 138.
  • the user identifier collection module 131 performs a function of collecting a user identifier capable of identifying a user when the user logs in.
  • the user identifier may include at least one of user ID, authentication information, user bio information, and user IP.
  • the storage module 132 performs a function of mapping the user identifier collected by the collection module 131 to an application session ID and storing it in a mapping table.
  • the mapping module 133 performs a function of mapping a user ID to a web transaction of the same application session ID when the specific transaction is executed.
  • the web transaction blocking module 134 receives a first blocking command from the web transaction security management system 150 or a second blocking command from the DB security management system 170, and the received first or second blocking command 2
  • the web transaction for the abnormal user can be blocked based on the blocking command.
  • the environment setting module 135 may set a user identifier target to be collected. That is, in the environment setting module 135, it is possible to preset which user identifiers to be collected. For example, the environment setting module 135 may be set to collect one of a user ID, authentication information, user bio information, and user IP.
  • the environment setting module 135 sets the HTTP request parameter name for the user identifier to collect the user identifier upon login, or sets the method to collect the user identifier from the call parameter or return value when the method is executed. I can.
  • the setting request module 136 performs a function of requesting a setting to map a user identifier to DB session information before SQL execution.
  • V$session which is a DB monitoring table, and is used as it is in Active Session History (ASH) and Audit Trail functions, thereby enabling user identification.
  • ASH Active Session History
  • Examples of DB monitoring tables and columns may include CLIENT_IDENTIFIER of V$session, CLIENT_ID of V$active_session_history, and CLIENTID of AUD$.
  • the web transaction information collection module 137 performs a function of collecting web transaction information including DB access information when a web transaction is executed upon HTTP request.
  • the web transaction security management system 150 includes: a web transaction information analysis module 151 capable of analyzing received web transaction information to block web transactions for abnormal users; Based on the analysis result of the web transaction information analysis module 151, the web transaction that caused the abnormal data access is detected, the user who caused the web transaction is identified, and when the abnormal user is identified, the web transaction for the abnormal user is blocked.
  • a web transaction detection module 152 capable of generating a first blocking command for; And a blocking management in which the first blocking command generated by the web transaction detection module 152 is transmitted to the web transaction blocking module 134 to cause the web transaction blocking module 134 to block the web transaction for the corresponding abnormal user.
  • a module 153 may be included.
  • the web transaction information analysis module 151 may receive web transaction information from the WAS security agent 130 and analyze the received web transaction information to block a web transaction for an abnormal user.
  • the web transaction detection module 152 detects the web transaction that caused abnormal data access based on the analysis result of the web transaction information analysis module 151 and identifies the user who caused the web transaction.
  • user identification may be performed based on a user identifier mapped to a web transaction of the same application session ID.
  • the web transaction detection module 152 may generate a first blocking command to block a web transaction for the abnormal user.
  • the blocking management module 151 of the web transaction security management system 150 sends a first blocking command to block a web transaction for an abnormal user generated by the web transaction detection module 152 of the WAS security agent 130. It may be transmitted to the web transaction blocking module 134, and the web transaction blocking module 134 of the WAS security agent 130 may block a web transaction for a corresponding abnormal user.
  • the DB security agent 160 may include a DB transaction information collection module 161 that collects DB transaction information, and an audit trail information collection module 162 that collects audit trail information.
  • the DB transaction information may include DB session information and active session history (ASH) data
  • the audit trail information may include Audit Trail data.
  • the DB security management system 170 DB transaction and audit trace information received from the DB transaction information collection module 161 and the audit trail information collection module 162 in order to block web transactions for abnormal users.
  • DB transaction and audit trail information analysis module 171 capable of analyzing the data; And a second for detecting whether abnormal DB access exists based on the analysis result of the DB transaction and audit tracking information analysis module 171, and blocking web transactions for users of abnormal DB access when abnormal DB access exists. It may include a DB detection module 172 capable of generating a blocking command.
  • the DB transaction and audit trace information analysis module 171 receives the DB transaction and audit trace information from the DB transaction information collection module 161 and the audit trace information collection module 162 of the DB security agent 160, and , In order to block web transactions for abnormal users, received DB transaction and audit trail information can be analyzed.
  • the DB detection module 172 detects whether abnormal DB access exists based on the analysis result of the DB transaction and the audit trail information analysis module 171.
  • the DB detection module 172 may generate a second blocking command to block a web transaction for a user with an abnormal DB access.
  • a second blocking command for blocking a web transaction for a user with abnormal DB access generated by the DB detection module 172 may be transmitted to the blocking management module 153 of the web transaction security management system 150.
  • the blocking management module 153 of the web transaction security management system 150 sends a second blocking command to block the web transaction for the user of abnormal DB access generated by the DB detection module 172 to the WAS security agent. It may be transmitted to the web transaction blocking module 134 of 130, and the web transaction blocking module 134 may block a web transaction for a corresponding abnormal user.
  • the web transaction information received from the WAS security agent and the DB transaction information received from the DB security agent may be used for correlation analysis based on a user identifier.
  • the web transaction information received from the WAS security agent and the DB transaction information received from the DB security agent may include a user identifier in common
  • the user identifier which is a common element, can be used to apply the correlation analysis. I can.
  • FIG. 4 is a flowchart illustrating a database security method based on user identification through a web application server according to an embodiment of the present invention.
  • the database security method based on user identification through the web application server of FIG. 4 may be performed by the database security device based on user identification through the web application server described with reference to FIG. 3.
  • the WAS security agent 130 collects HTTP request information (S102).
  • the user identifier collection module 131 of the WAS security agent 130 collects a user identifier capable of identifying a user (S103).
  • the collected user ID is mapped with the application session ID by the storage module 132 of the WAS security agent 130 and stored in the mapping table.
  • the setting request module 136 of the WAS security agent 130 requests the setting to map the user identifier to the DB session information before SQL execution (S106).
  • the DB 140 sets the user identifier in the DB session information (S107).
  • the web transaction information collection module 137 of the WAS security agent 130 transmits the collected web transaction information, including HTTP request information and SQL execution information, to the web transaction security management system 150 (S114).
  • the web transaction security management system 150 receives the web transaction information transmitted from the web transaction information collection module 137 (S115), and uses the web transaction information received by the web transaction information analysis module 151. Security analysis and tracking are performed (S116).
  • the web transaction detection module 152 detects a web transaction for an abnormal user based on the analysis result of the web transaction information analysis module 151 and identifies the user who triggers the web transaction (S117a).
  • the web transaction detection module 152 When an abnormal user is identified, the web transaction detection module 152 generates a first blocking command for blocking the web transaction for the abnormal user, and sends a first blocking command to the blocking management module 151 of the web transaction security management system 150. Can be transmitted (S117b).
  • the blocking management module 151 of the web transaction security management system 150 receives a first blocking command for blocking web transactions for abnormal users generated by the web transaction detection module 152 to secure the WAS. It may be transmitted to the web transaction blocking module 134 of the agent 130 (S118), and the web transaction blocking module 134 of the WAS security agent 130 may block a web transaction for a corresponding abnormal user. (S119).
  • the DB transaction information collection module 161 collects DB transaction information
  • the audit trace information collection module 162 collects the audit trace information (S120).
  • the DB transaction information collection module 161 and the audit trail information collection module 162 transmit the collected DB transaction and audit trail information to the DB security management system 170, respectively (S121).
  • the DB transaction and audit trace information analysis module 171 is a DB transaction and audit trace transmitted from the DB transaction information collection module 161 and the audit trace information collection module 162 Information is received (S122), and security analysis and tracking are performed using DB transaction and audit trail information (S123).
  • the DB access detection module 172 detects whether abnormal DB access exists based on the analysis result of the DB transaction and the audit trail information analysis module 171 (124a).
  • the DB access detection module 172 If there is an abnormal DB access, the DB access detection module 172 generates a second blocking command to block web transactions for the user of the abnormal DB access, and the blocking management module of the web transaction security management system 150 It can be transmitted to (151) (S124).
  • the blocking management module 151 of the web transaction security management system 150 receives a second blocking command for blocking a web transaction for a user with abnormal DB access generated by the DB access detection module 172, and the It may be transmitted to the WAS security agent 130 (S117), and the web transaction blocking module 134 of the WAS security agent 130 may block a web transaction for a corresponding abnormal user (S118).
  • FIG. 5 and 6 are diagrams for explaining a method of collecting a user identifier according to an embodiment of the present invention
  • FIG. 5 shows a method of setting a parameter name for a user identifier and extracting it only at login
  • FIG. 6 Represents a method of setting a method that collects user identifiers and injecting a code for information extraction when the method is loaded into the WAS memory to extract the user identifier from the calling parameter or return value when the method is executed.
  • the environment setting module 136 of the WAS security agent 130 may set the HTTP request parameter name for the user ID so as to collect the user ID when logging in.
  • the user identifier collection module 131 may collect the user identifier when logging in by setting an HTTP request parameter name for the user identifier.
  • the mapping module 133 of the WAS security agent 130 may store the application session ID as a key and the collected user ID as a value corresponding to the key in a mapping table.
  • mapping module 133 of the WAS security agent 130 may continuously map the same application session ID to the same user ID whenever another page is requested or a web page is requested.
  • the process of collecting user identifiers when logging in is as follows.
  • the WAS security agent 130 collects the application session ID and accesses the user identifier Map in the WAS memory to continuously map the user identifier.
  • the environment setting module 136 of the WAS security agent 130 may set a method to collect a user identifier from a call parameter or a return value when the method is executed.
  • the user identifier collection module 131 may collect the user identifier when the application accesses the session store.
  • the WAS security agent 130 dynamically creates a code to collect call parameters or return values for the method of the corresponding class. Change.
  • the session store (or session server) within the web application
  • it is a method of collecting the user identifier by collecting the call parameter or return value of the changed method.
  • the user identifier can always be collected because the method can always be executed to check whether the web application has logged in or not.
  • the WAS security agent 130 collects the user identifier
  • the WAS security agent 130 collects user identification information
  • the user identifier may include at least one of user ID, authentication information, user bio information, and user IP.
  • the structure of the user identifier cache is as follows.
  • the user identifier cache structure can store a user identifier (eg, user ID, authentication information, user bio information, user IP, etc.) as a value corresponding to the key with an application session ID as a key in the form of a user identifier map.
  • a user identifier eg, user ID, authentication information, user bio information, user IP, etc.
  • the other user identifier may include the user's web session ID and PIN.
  • the present invention can also be implemented as a computer-readable code on a computer-readable recording medium.
  • the computer-readable recording medium includes all types of recording devices that store data that can be read by a computer system.
  • Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage devices, and are implemented in the form of carrier waves (for example, transmission through the Internet). Also includes.
  • the computer-readable recording medium is distributed over a computer system connected through a network, so that computer-readable codes can be stored and executed in a distributed manner.
  • functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers in the technical field to which the present invention belongs.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 WAS를 통한 사용자 식별 기반의 데이터베이스 보안장치에 관한 것으로, 웹 애플리케이션 서버(Web Application Server : WAS)에서의 웹트랜잭션 정보와 데이터베이스에서의 DB 트랜잭션 정보가 사용자 식별자와 상관관계를 형성하도록 하여 비정상 데이터 액세스를 유발시킨 사용자에 대한 웹트랜잭션을 차단할 수 있도록 함으로써 실제 사용자 단말에 대한 데이터베이스 접근 통제 및 분석 기능을 제공할 수 있다.

Description

웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안장치
본 발명은 웹기반 환경에서의 데이터베이스 보안장치에 관한 것으로서, 보다 구체적으로는 웹 애플리케이션 서버(Web Application Server : 이하 WAS라고 함)에서의 웹트랜잭션 정보와 데이터베이스에서의 DB 트랜잭션 정보가 사용자 식별자와 상관관계를 형성하도록 하여 비정상 데이터 액세스를 유발시킨 사용자에 대한 웹트랜잭션을 차단할 수 있도록 함으로써 실제 사용자 단말에 대한 데이터베이스 접근 통제 및 분석 기능을 제공할 수 있는 WAS를 통한 사용자 식별 기반의 데이터베이스 보안장치에 관한 것이다.
데이터베이스 보안을 제공하기 위하여 현재 시장에 출시되어 있는 데이터베이스 보안 제품은 데이터를 암호화하여 데이터베이스에 저장하는 제품과, 데이터베이스에 접근하는 사용자를 통제하고 접근 이력을 감사하는 제품 등 크게 2가지 종류로 나눌 수 있다. 이 중에서 접근 통제 및 감사를 주기능으로 하는 보안 제품의 경우 데이터베이스에 접속하는 최종 사용자에 대한 접근 및 감사 기능을 제공하고 있다.
도 1은 2-티어(tier) 방식의 데이터베이스 시스템의 개략적인 구성도이고, 도 2는 WAS를 통한 3-티어 방식의 데이터베이스 시스템의 구성도이다.
도 2에 도시된 바와 같이, 2-티어 방식의 경우에는, 클라이언트가 사용자 단말(1)에서 데이터베이스(2)에 직접 접속하는 방식으로서, 사용자 정보를 이용하여 데이터베이스(2)에 접근하는 사용자의 식별이 가능하다.
하지만, 도 2에 도시된 바와 같이, 3-티어 방식의 경우에는, 클라이언트가 사용자 단말(10)에서 웹서버(20)를 통해 WAS(30)에 접속하여 WAS(30)에서 제공하는 서비스를 통해 데이터베이스(40)에 접근하거나, 직접 WAS(30)를 통해 데이터베이스(40)에 접근하는 방식으로서, 일반적으로 WAS(30)와 데이터베이스(40) 사이에는 호환성 확보가 어려우며 WAS(30)에서 인증된 사용자 정보가 데이터베이스(40)에 제공되지 않기 때문에, 데이터베이스(40)에서는 WAS(30)를 사용자로 파악할 뿐 구체적으로 어떠한 사용자가 데이터베이스를 이용했는지 확인할 수 없으며, 결과적으로 데이터베이스(40)에 접근하는 실제 사용자 단말(10)에 대한 데이터베이스 접근 통제가 불가능한 문제점이 있었다.
(특허문헌 1) KR10-1658456 B1
본 발명의 목적은 WAS에서의 웹트랜잭션 정보와 데이터베이스에서의 DB 트랜잭션 정보가 사용자 식별자와 상관관계를 형성하도록 하여 비정상 데이터 액세스를 유발시킨 사용자에 대한 웹트랜잭션을 차단할 수 있도록 함으로써 실제 사용자 단말에 대한 데이터베이스 접근 통제 및 분석 기능을 제공할 수 있는 WAS를 통한 사용자 식별 기반의 데이터베이스 보안장치를 제공하는 것이다.
본 발명의 다른 목적들은 하기의 실시예를 통해 당업자에 의해 도출될 수 있을 것이다.
본 발명의 일측면에 따르면, 사용자 단말로부터 입력되는 서비스요청에 대응하여 웹트랜잭션을 처리하는 웹 애플리케이션 서버(Web Application Server : 이하 WAS)를 통한 데이터베이스(이하, DB) 접근에 대한 보안을 제공하는 데이터베이스 보안장치에 있어서, 상기 WAS의 보안을 담당하는 WAS 보안 에이전트로서, 상기 WAS로부터 DB 접근 정보를 포함한 웹트랜잭션 정보를 수집하고, 대량의 데이터 액세스나 데이터 변경을 포함하는 비정상 사용자에 대한 웹트랜잭션을 차단하고, 사용자를 식별할 수 있는 사용자 식별자를 수집하여 WAS 메모리에 저장하며, 이후에 특정 트랜잭션이 수행될 때 동일한 애플리케이션 세션 ID의 웹트랜잭션에 대하여 사용자 식별자를 매핑하는 WAS 보안 에이전트; 상기 WAS 보안 에이전트를 관리하는 웹트랜잭션 보안관리 시스템으로서, 상기 WAS 보안 에이전트로부터 웹트랜잭션 정보를 수신하고, 수신한 웹트랜잭션 정보에 기초하여 비정상 사용자에 대한 웹트랜잭션을 차단하는 제1 차단명령을 생성하고, 생성한 제1 차단명령을 상기 WAS 보안 에이전트로 전송하는 상기 웹트랜잭션 보안관리 시스템; 상기 DB의 보안을 담당하는 DB 보안 에이전트로서, 상기 DB로부터 DB 트랜잭션 및 감사추적 정보를 수집하는 DB 보안 에이전트; 및 상기 DB 보안 에이전트를 관리하는 DB 보안관리 시스템으로서, 상기 DB 보안 에이전트로부터 상기 DB 트랜잭션 및 감사추적 정보를 수신하고, 수신한 DB 트랜잭션 및 감사추적 정보에 기초하여 비정상 사용자에 대한 웹트랜잭션을 차단하는 제2 차단명령을 생성하고, 생성한 제2 차단명령을 상기 웹트랜잭션 보안관리 시스템으로 전송하는 DB 보안관리 시스템;을 포함하는 것을 특징으로 한다.
또한, 상기 WAS 보안 에이전트는, 로그인시에 사용자를 식별할 수 있는 사용자 식별자를 수집하는 사용자 식별자 수집모듈; 수집한 사용자 식별자를 애플리케이션 세션 ID와 매핑하여 매핑테이블에 저장하는 저장모듈; 상기 특정 트랜잭션이 수행될 때 동일한 애플리케이션 세션 ID의 웹트랜잭션에 대하여 사용자 식별자를 매핑하는 매핑모듈; 및 상기 웹트랜잭션 보안관리 시스템으로부터의 제1 차단명령 또는 상기 DB 보안관리 시스템으로부터의 제2 차단명령을 수신하고, 상기 수신한 제1 또는 제2 차단명령에 기초하여 상기 비정상 사용자에 대한 웹트랜잭션을 차단하는 웹트랜잭션 차단모듈;을 포함하는 것을 특징으로 한다.
또한, 상기 사용자 식별자 수집모듈은 로그인된 후에는 상기 매핑테이블에서 사용자 식별자를 수집하는 것을 특징으로 한다.
또한, 상기 WAS 보안 에이전트는, 수집할 사용자 식별자 타겟을 설정하기 위한 환경설정모듈; 및 SQL실행 전에, 사용자 식별자를 DB 세션 정보에 매핑하도록 설정요청하는 설정요청모듈;을 더 포함하는 것을 특징으로 한다.
또한, 상기 환경설정모듈은 로그인시에 사용자 식별자를 수집하도록 사용자 식별자에 대한 HTTP 요청 파라미터명을 설정하고, 매핑모듈은 로그인된 후에 웹페이지 요청시 마다 동일 애플리케이션 세션 ID에 대하여 동일 사용자 식별자를 연속 매핑하는 것을 특징으로 한다.
또한, 상기 환경설정모듈은 메소드 수행 시 호출 파라미터나 리턴 값에서 사용자 식별자를 수집하도록 메소드를 설정하고, 사용자 식별자 수집모듈은 로그인된 후에 웹페이지 요청시 마다 애플리케이션에서 세션 스토어에 접근시 사용자 식별정보를 수집하는 것을 특징으로 한다.
또한, 상기 사용자 식별자는 사용자 ID, 인증정보, 사용자 바이오정보, 및 사용자 IP 중 하나 이상을 포함하는 것을 특징으로 한다.
또한, 상기 WAS 보안 에이전트로부터 수신한 웹트랜잭션 정보, 및 상기 DB 보안 에이전트로부터 수신한 DB 트랜잭션 및 감사추적 정보는 사용자 식별자를 기준으로 상호연계 분석에 사용가능한 것을 특징으로 한다.
또한, 상기 웹트랜잭션 보안관리 시스템은, 비정상 사용자에 대한 웹트랜잭션을 차단하기 위해 수신한 웹트랜잭션 정보를 분석할 수 있는 웹트랜잭션정보 분석모듈; 상기 웹트랜잭션정보 분석모듈의 분석결과에 기초하여 비정상 데이터 엑세스를 유발 시킨 웹트랜잭션을 탐지하고 해당 웹트랜잭션을 유발시킨 사용자를 식별하며 비정상 사용자가 식별되면 비정상 사용자에 대한 웹트랜잭션을 차단하기 위한 제1 차단명령을 생성할 수 있는 웹트랜잭션 탐지모듈; 및 상기 웹트랜잭션 탐지모듈에서 생성한 제1 차단명령을 웹트랜잭션 차단모듈로 전송하여 상기 웹트랜잭션 차단모듈로 하여금 해당 사용자에 대한 웹트랜잭션을 차단하도록 하는 차단관리모듈을 포함하고, 상기 DB 보안 에이전트는, 비정상 사용자에 대한 웹트랜잭션을 차단하기 위해 수신한 DB 트랜잭션 및 감사추적 정보를 분석할 수 있는 DB 트랜잭션 정보를 수집하는 DB 트랜잭션 정보 수집모듈; 및 감사추적 정보를 수집하는 감사추적 정보 수집모듈을 포함하고, 상기 DB 보안관리 시스템은, 비정상 DB 접근의 사용자에 대한 웹트랜잭션을 차단하기 위해 상기 DB 트랜잭션 정보 수집모듈 및 감사추적 정보 수집모듈로부터 수신한 DB 트랜잭션 및 감사추적 정보를 분석할 수 있는 DB 트랜잭션 및 감사추적 정보 분석모듈; 및 상기 DB 트랜잭션 및 감사추적 정보 분석모듈의 분석결과에 기초하여 비정상 DB 접근이 존재하는지 여부를 탐지하고 비정상 DB 접근이 존재하면 비정상 DB 접근의 사용자에 대한 웹트랜잭션을 차단하기 위한 제2 차단명령을 생성할 수 있는 DB 탐지모듈을 포함하고, 상기 제2 차단명령은 차단관리모듈로 전송될 수 있는 것을 특징으로 한다.
또한, 상기 WAS 보안 에이전트로부터 수신한 웹트랜잭션 정보, 및 상기 DB 보안 에이전트로부터 수신한 DB 트랜잭션 및 감사추적 정보를 빅데이터로서 저장하는 빅데이터 시스템; 및 상기 빅데이터 시스템에 저장된 웹트랜잭션 정보, 및 DB 트랜잭션 및 감사추적 정보의 빅데이터에 기초하여 보안분석 및 추적을 수행하는 빅데이터 분석 시스템을 더 포함하는 것을 특징으로 한다.
본 발명에 따르면, WAS에서 특정 트랜잭션이 수행될 때 동일한 애플리케이션 세션 ID의 웹트랜잭션에 대하여 사용자 식별자를 매핑하는 방식으로 WAS에서의 웹트랜잭션 정보와 데이터베이스에서의 DB 트랜잭션 정보가 사용자 식별자와 상관관계를 형성하도록 하여 비정상 데이터 액세스를 유발시킨 사용자에 대한 웹트랜잭션을 차단할 수 있도록 함으로써 실제 사용자 단말에 대한 데이터베이스 접근 통제 및 분석 기능을 제공할 수 있는 효과가 있다.
또한, SQL실행 전에, 사용자 식별자를 DB 세션 정보에 매핑하도록 설정요청함으로써 데이터베이스의 세션 레벨에서도 사용자 식별이 가능해지므로 데이터베이스의 세션 레벨에서의 데이터베이스 접근 통제 및 분석이 가능한 효과가 있다.
도 1과 도 2는 일반적인 웹기반 2-티어 환경과 3-티어 환경의 데이터베이스 시스템을 개략적으로 나타낸 도면이고,
도 3은 본 발명의 일 실시예에 따른 웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안장치의 개략적인 구성도이고,
도 4는 본 발명의 일 실시예에 따른 웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안방법을 설명하기 위한 흐름도이며,
도 5 및 도 6은 본 발명의 일 실시예에 따른 사용자 식별자를 수집하는 방법을 설명하기 위한 도면이다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 이하의 설명에서 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라 그 중간에 다른 소자를 사이에 두고 전기적으로 연결되어 있는 경우도 포함한다. 또한, 도면에서 본 발명과 관계없는 부분은 본 발명의 설명을 명확하게 하기 위하여 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 동일한 도면 부호를 붙였다.
본 발명의 실시예를 설명하기 이전에, 본 발명이 안출된 배경을 개략적으로 살펴보면 다음과 같다.
기존 웹트랜잭션은 사용자 IP, 애플리케이션 세션 ID 등의 정보로 사용자를 식별한다. 하지만, 사용자 IP, 애플리케이션 세션 ID 등의 정보로는 정확한 사용자 식별이 어렵다(Proxy, NAT, IP 변조 등의 문제).
또한, 애플리케이션 세션 ID는 액세스 웹브라우저를 식별(구분)할 수 있으나, 사용자는 식별할 수 없다.
또한, 동일한 애플리케이션 세션 ID 레벨에서도 사용자가 변경될 수 있기 때문에(예: A사용자 로그인 -> A사용자 로그아웃 -> B사용자 로그인), 사용자는 식별할 수 없다.
또한, 로그인시에만, 사용자 ID를 식별할 수 있으며, 이후의 호출시에는 식별이 불가하다.
이로 인하여, 웹트랜잭션에 대하여 사용자를 정확히 식별할 수 없다.
다시 말해서, 기존에는 웹트랜잭션을 사용자별로 분류할 수 없기 때문에, 각종 보안 분석 및 통계 분석이 어려웠다.
특히, 사용자가 요청한 웹트랜잭션은 데이터베이스의 정보를 조회하거나 변경할 수 있는데, 사용자 식별 불가로 인하여 데이터베이스의 세션 레벨에서도 사용자 식별이 불가능하였다.
이로 인하여, 악의적인 웹트랜잭션은 중요 데이터베이스의 정보를 탈취하거나 변조할 수 있는데, 이를 탐지하거나 방지할 수 없었다.
이러한 문제점을 감안하여, 본 발명에서는 WAS에서 특정 트랜잭션이 수행될 때 동일한 애플리케이션 세션 ID의 웹트랜잭션에 대하여 사용자 식별자를 매핑하는 방식으로 WAS에서의 웹트랜잭션 정보와 데이터베이스에서의 DB 트랜잭션 정보가 사용자 식별자와 상관관계를 형성하도록 하여 비정상 데이터 액세스를 유발시킨 사용자에 대한 웹트랜잭션을 차단할 수 있도록 함으로써 실제 사용자 단말에 대한 데이터베이스 접근 통제 및 분석 기능을 제공하는 데 주된 기술적 특징이 있다.
또한, SQL실행 전에, 사용자 식별자를 DB 세션 정보에 매핑하도록 설정요청함으로써 데이터베이스의 세션 레벨에서도 사용자 식별이 가능해지므로 데이터베이스의 세션 레벨에서의 데이터베이스 접근 통제 및 분석이 가능할 수 있다.
도 3은 본 발명의 일 실시예에 따른 웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안장치의 개략적인 구성도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 데이터베이스 보안장치는, 사용자 PC(100), 웹 서버(110), WAS(120), WAS 보안 에이전트(130), DB(140), 웹트랜잭션 보안관리 시스템(150), DB 보안 에이전트(160), DB 보안관리 시스템(170), 빅데이터 시스템(180), 및 빅데이터 분석 시스템(190)을 포함할 수 있다.
사용자 PC(100)는 일반 사용자가 이용하는 퍼스널 컴퓨터, 노트북, 넷북, PDA, 모바일 등의 통상의 컴퓨팅 단말기이다.
웹 서버(110)는 사용자의 요청을 전달받으면, 전달받은 요청에 대한 명령의 처리를 실행하고, 다시 사용자에게 그 실행 결과를 사용자에게 전달한다. 즉, World Wide Web을 사용하는 사용자에게 미리 저장된 하이퍼텍스트(Hypertext)를 제공하는 서버를 지칭한다. 여기서, 하이퍼텍스트는 텍스트문서만을 의미하는 것이 아니라 그림, 동영상, MP3와 같은 음악파일을 포함한다. 이러한 웹 서버가 사용자에게 제공하는 하이퍼텍스트는 HTTP(hypertext transfer protocol)라는 규약을 통해 이루어진다. 상기 웹 서버(110)로서는, 아파치(Apache), 웹투비(WebtoB), IIS 등이 있다.
WAS(120)는 상기 웹 서버(110)와 데이터베이스(140) 사이에 존재하며, 웹 애플리케이션(Web application)(도시안됨)을 탑재하고 있다. 상기 WAS(120)는 주로 분산환경에서의 웹트랙잭션 처리를 위해 구축된다. 여기서, 웹 애플리케이션은 데이터베이스(140)의 데이터를 사용자의 목적에 따라 가공하여, 상기 웹 서버(110)를 통해 사용자에 전달한다. 즉, 웹 애플리케이션이란 웹 상에서 어떤 목적을 처리할 목적으로 만들어진 프로그램을 총칭한다. 예를 들면, 게시판, 쇼핑몰 프로그램 등을 그 예로 들 수 있다.
WAS 보안 에이전트(130)는 상기 WAS(120)의 보안을 담당할 수 있다.
특히, WAS 보안 에이전트(130)는 WAS(120)에서의 대량의 데이터 액세스나 데이터 변경 등을 포함하는 비정상 사용자에 대한 웹트랜잭션을 차단을 수행할 수 있다.
이를 위해서, 후술하는 바와 같이, 상기 WAS 보안 에이전트(130)는 사용자를 식별할 수 있는 사용자 식별자를 수집하여 WAS 메모리(도시안됨)에 저장하고, 이후에 특정 트랜잭션이 수행될 때 동일한 애플리케이션 세션 ID의 웹트랜잭션에 대하여 사용자 식별자를 매핑할 수 있다.
상기 웹트랜잭션 보안관리 시스템(150)은 상기 WAS 보안 에이전트(130)를 관리하는 역할을 수행한다.
상기 웹트랜잭션 보안관리 시스템(150)은 상기 WAS 보안 에이전트(130)로부터 웹트랜잭션 정보를 수신하고, 수신한 웹트랜잭션 정보에 기초하여 비정상 사용자에 대한 웹트랜잭션을 차단하는 제1 차단명령을 생성하고, 생성한 제1 차단명령을 상기 WAS 보안 에이전트(130)로 전송할 수 있다.
상기 데이터베이스(140)는 서비스 제공을 위한 다양한 데이터를 저장할 수 있다.
상기 DB 보안 에이전트(160)는 상기 DB(140)의 보안을 담당하고, DB 트랜잭션 및 감사추적 정보를 수집할 수 있다.
DB 보안관리 시스템(170)은 상기 DB 보안 에이전트(160)를 관리하는 역할을 수행한다.
상기 DB 보안관리 시스템(170)은 상기 DB 보안 에이전트(160)로부터 상기 DB 트랜잭션 정보를 수신하고, 수신한 DB 트랜잭션 정보에 기초하여 비정상 사용자에 대한 웹트랜잭션을 차단하는 제2 차단명령을 생성하고, 생성한 제2 차단명령을 상기 웹트랜잭션 보안관리 시스템(150)으로 전송할 수 있다.
상기 빅데이터 시스템(180)은 상기 WAS 보안 에이전트(130)로부터 수신한 웹트랜잭션 정보 및 상기 DB 보안 에이전트(160)로부터 수신한 DB 트랜잭션 정보를 사용자 식별 기반의 보안 분석 및 추적을 수행하기 위한 빅데이터로서 저장할 수 있다.
또한, 상기 빅데이터 분석 시스템(190)은 상기 빅데이터 시스템(180)에 저장된 웹트랜잭션 정보 및 DB 트랜잭션 정보의 빅데이터에 기초하여 보안분석 및 추적을 별도로 수행할 수 있다.
구체적으로, 상기 WAS 보안 에이전트(130)는 사용자 식별자 수집모듈(131), 저장모듈(132)과, 매핑모듈(133), 웹트랜잭션 차단모듈(134), 환경설정모듈(136), 설정요청모듈(137), 및 웹트랜잭션정보 수집모듈(138)을 포함할 수 있다.
상기 사용자 식별자 수집모듈(131)은 사용자가 로그인 수행시 사용자를 식별할 수 있는 사용자 식별자를 수집하는 기능을 수행한다. 여기서, 상기 사용자 식별자는 예를 들면 사용자 ID, 인증정보, 사용자 바이오정보, 및 사용자 IP 중 하나 이상을 포함할 수 있다.
상기 저장모듈(132)은 상기 수집모듈(131)에서 수집한 사용자 식별자를 애플리케이션 세션 ID와 매핑하여 매핑테이블에 저장하는 기능을 수행한다.
상기 매핑모듈(133)은 상기 특정 트랜잭션이 수행될 때 동일한 애플리케이션 세션 ID의 웹트랜잭션에 대하여 사용자 식별자를 매핑하는 기능을 수행한다.
상기 웹트랜잭션 차단모듈(134)은 상기 웹트랜잭션 보안관리 시스템(150)으로부터의 제1 차단명령 또는 상기 DB 보안관리 시스템(170)으로부터의 제2 차단명령을 수신하고, 상기 수신한 제1 또는 제2 차단명령에 기초하여 상기 비정상 사용자에 대한 웹트랜잭션을 차단할 수 있다.
상기 환경설정모듈(135)은 수집할 사용자 식별자 타겟을 설정할 수 있다. 즉, 상기 환경설정모듈(135)에서는 어떤 사용자 식별자를 수집할지 미리 설정할 수 있다. 예를 들면, 상기 환경설정모듈(135)은 사용자 ID, 인증정보, 사용자 바이오정보, 및 사용자 IP 중 하나를 수집하도록 설정가능하다.
후술하는 바와 같이, 상기 환경설정모듈(135)은 로그인시에 사용자 식별자를 수집하도록 사용자 식별자에 대한 HTTP 요청 파라미터명을 설정하거나 또는 메소드 수행 시 호출 파라미터나 리턴 값에서 사용자 식별자를 수집하도록 메소드를 설정할 수 있다.
또한, 후술하는 바와 같이, 상기 설정요청모듈(136)은 SQL실행 전에, 사용자 식별자를 DB 세션 정보에 매핑하도록 설정요청하는 기능을 수행한다.
상기 데이터베이스(140)가 오라클 DB인 경우, DB 모니터링 테이블인 V$session에 사용자 식별자가 설정되어, ASH(Active Session History), Audit Trail 기능 등에서도 그대로 사용되어 사용자 식별이 가능해 진다.
DB 모니터링 테이블 및 컬럼 예로는, V$session의 CLIENT_IDENTIFIER, V$active_session_history의 CLIENT_ID, AUD$의 CLIENTID이 있을 수 있다.
상기 웹트랜잭션정보 수집모듈(137)은 HTTP 요청시 웹트랜잭션이 수행될 때 DB 접근정보를 포함한 웹트랜잭션 정보를 수집하는 기능을 수행한다.
구체적으로, 상기 웹트랜잭션 보안관리 시스템(150)은, 비정상 사용자에 대한 웹트랜잭션을 차단하기 위해 수신한 웹트랜잭션 정보를 분석할 수 있는 웹트랜잭션정보 분석모듈(151); 상기 웹트랜잭션정보 분석모듈(151)의 분석결과에 기초하여 비정상 데이터 엑세스를 유발 시킨 웹트랜잭션을 탐지하고 해당 웹트랜잭션을 유발시킨 사용자를 식별하며 비정상 사용자가 식별되면 비정상 사용자에 대한 웹트랜잭션을 차단하기 위한 제1 차단명령을 생성할 수 있는 웹트랜잭션 탐지모듈(152); 및 상기 웹트랜잭션 탐지모듈(152)에서 생성한 제1 차단명령을 웹트랜잭션 차단모듈(134)로 전송하여 상기 웹트랜잭션 차단모듈(134)로 하여금 해당 비정상 사용자에 대한 웹트랜잭션을 차단하도록 하는 차단관리모듈(153)을 포함할 수 있다.
상기 웹트랜잭션정보 분석모듈(151)은 상기 WAS 보안 에이전트(130)로부터 웹트랜잭션 정보를 수신하고, 비정상 사용자에 대한 웹트랜잭션을 차단하기 위해 수신한 웹트랜잭션 정보를 분석할 수 있다.
상기 웹트랜잭션 탐지모듈(152)은 상기 웹트랜잭션정보 분석모듈(151)의 분석결과에 기초하여 비정상 데이터 엑세스를 유발 시킨 웹트랜잭션을 탐지하고 해당 웹트랜잭션을 유발시킨 사용자를 식별한다. 여기서, 사용자 식별은 동일한 애플리케이션 세션 ID의 웹트랜잭션에 대하여 매핑된 사용자 식별자에 기초하여 수행될 수 있다.
비정상 사용자가 식별되면, 상기 웹트랜잭션 탐지모듈(152)은 상기 비정상 사용자에 대한 웹트랜잭션을 차단하는 제1 차단명령을 생성할 수 있다.
상기 웹트랜잭션 보안관리 시스템(150)의 차단관리모듈(151)은 상기 웹트랜잭션 탐지모듈(152)에서 생성한 비정상 사용자에 대한 웹트랜잭션을 차단하는 제1 차단명령을 상기 WAS 보안 에이전트(130)의 웹트랜잭션 차단모듈(134)로 전송할 수 있으며, 상기 WAS 보안 에이전트(130)의 웹트랜잭션 차단모듈(134)로 하여금 해당 비정상 사용자에 대한 웹트랜잭션을 차단하도록 할 수 있다.
구체적으로, 상기 DB 보안 에이전트(160)는 DB 트랜잭션 정보를 수집하는 DB 트랜잭션 정보 수집모듈(161), 및 감사추적 정보를 수집하는 감사추적 정보 수집모듈(162)을 포함할 수 있다. 여기서, DB 트랜잭션 정보는 DB 세션 정보 및 ASH(Active Session History) 데이터를 포함할 수 있으며, 감사추적 정보는 Audit Trail 데이터 등을 포함할 수 있다.
구체적으로, 상기 DB 보안관리 시스템(170)은, 비정상 사용자에 대한 웹트랜잭션을 차단하기 위해 상기 DB 트랜잭션 정보 수집모듈(161) 및 감사추적 정보 수집모듈(162)로부터 수신한 DB 트랜잭션 및 감사추적 정보를 분석할 수 있는 DB 트랜잭션 및 감사추적 정보 분석모듈(171); 및 상기 DB 트랜잭션 및 감사추적 정보 분석모듈(171)의 분석결과에 기초하여 비정상 DB 접근이 존재하는지 여부를 탐지하고 비정상 DB 접근이 존재하면 비정상 DB 접근의 사용자에 대한 웹트랜잭션을 차단하기 위한 제2 차단명령을 생성할 수 있는 DB 탐지모듈(172)을 포함할 수 있다.
상기 DB 트랜잭션 및 감사추적 정보 분석모듈(171)은 상기 DB 보안 에이전트(160)의 DB 트랜잭션 정보 수집모듈(161) 및 감사추적 정보 수집모듈(162)로부터의 상기 DB 트랜잭션 및 감사추적 정보를 수신하고, 비정상 사용자에 대한 웹트랜잭션을 차단하기 위해 수신한 DB 트랜잭션 및 감사추적 정보를 분석할 수 있다.
상기 DB 탐지모듈(172)은 상기 DB 트랜잭션 및 감사추적 정보 분석모듈(171)의 분석결과에 기초하여 비정상 DB 접근이 존재하는지 여부를 탐지한다.
만약 비정상 DB 접근이 존재하면, 상기 DB 탐지모듈(172)은 비정상 DB 접근의 사용자에 대한 웹트랜잭션을 차단하는 제2 차단명령을 생성할 수 있다.
상기 DB 탐지모듈(172)에서 생성한 비정상 DB 접근의 사용자에 대한 웹트랜잭션을 차단하는 제2 차단명령은 상기 웹트랜잭션 보안관리 시스템(150)의 상기 차단관리모듈(153)로 전송될 수 있다.
다시, 상기 웹트랜잭션 보안관리 시스템(150)의 차단관리모듈(153)은 상기 DB 탐지모듈(172)에서 생성한 비정상 DB 접근의 사용자에 대한 웹트랜잭션을 차단하는 제2 차단명령을 상기 WAS 보안 에이전트(130)의 웹트랜잭션 차단모듈(134)로 전송할 수 있으며, 상기 웹트랜잭션 차단모듈(134)로 하여금 해당 비정상 사용자에 대한 웹트랜잭션을 차단하도록 할 수 있다.
특히, 상기 WAS 보안 에이전트로부터 수신한 웹트랜잭션 정보 및 상기 DB 보안 에이전트로부터 수신한 DB 트랜잭션 정보는 사용자 식별자를 기준으로 상호연계 분석에 사용가능할 수 있다.
다시 말하자면, 상기 WAS 보안 에이전트로부터 수신한 웹트랜잭션 정보 및 상기 DB 보안 에이전트로부터 수신한 DB 트랜잭션 정보에는 공통적으로 사용자 식별자가 함께 포함될 수 있으므로, 공통적인 요소인 사용자 식별자를 이용하여 상호연계 분석에 적용할 수 있다.
도 4는 본 발명의 일 실시예에 따른 웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안방법을 설명하기 위한 흐름도이다.
도 4의 웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안방법은 도 3을 참조하여 설명한 웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안장치에 의해 수행될 수 있다.
도 4를 참조하면, WAS(120)에서의 HTTP 요청 처리가 시작되면(S100), WAS 보안 에이전트(130)는 HTTP 요청 정보를 수집한다(S102).
다음에, WAS 보안 에이전트(130)의 사용자 식별자 수집모듈(131)은 사용자를 식별할 수 있는 사용자 식별자를 수집한다(S103). 여기서, 수집된 사용자 식별자는 WAS 보안 에이전트(130)의 저장모듈(132)에 의해 애플리케이션 세션 ID와 매핑하여 매핑테이블에 저장된다.
다음에, WAS(120)에서의 SQL 실행요청이 있다면(S105), WAS 보안 에이전트(130)의 설정요청모듈(136)은 SQL실행 전에, 사용자 식별자를 DB 세션 정보에 매핑하도록 설정요청하고(S106), DB(140)에서는 DB 세션 정보에 사용자 식별자를 설정하게 된다(S107).
다음에, DB(140)에 액세스하여 DB 트랜잭션이 수행되는 과정, 즉 SQL 실행요청(S108), SQL 실행(S109), SQL 실행완료(S110, S111), HTTP 요청처리 완료(S113) 과정이 수행되면, 이때 WAS 보안 에이전트(130)의 웹트랜잭션정보 수집모듈(137)은 SQL 실행정보를 수집한다(S112).
다음에, WAS 보안 에이전트(130)의 웹트랜잭션정보 수집모듈(137)은 HTTP 요청정보와 SQL 실행정보를 포함하여 수집한 웹트랜잭션정보를 웹트랜잭션 보안관리 시스템(150)으로 전송한다(S114).
다음에, 웹트랜잭션 보안관리 시스템(150)은 웹트랜잭션정보 수집모듈(137)에서 전송한 웹트랜잭션정보를 수신하고(S115), 웹트랜잭션정보 분석모듈(151)이 수신한 웹트랜잭션정보를 이용하여 보안분석및 추적을 수행한다(S116).
상기 웹트랜잭션 탐지모듈(152)은 상기 웹트랜잭션정보 분석모듈(151)의 분석결과에 기초하여 비정상 사용자에 대한 웹트랜잭션을 탐지하고 해당 웹트랜잭션을 유발시킨 사용자를 식별한다(S117a).
비정상 사용자가 식별되면, 상기 웹트랜잭션 탐지모듈(152)은 상기 비정상 사용자에 대한 웹트랜잭션을 차단하는 제1 차단명령을 생성하여 상기 웹트랜잭션 보안관리 시스템(150)의 상기 차단관리모듈(151)로 전송할 수 있다(S117b).
다음에, 상기 웹트랜잭션 보안관리 시스템(150)의 차단관리모듈(151)은 상기 웹트랜잭션 탐지모듈(152)에서 생성한 비정상 사용자에 대한 웹트랜잭션을 차단하는 제1 차단명령을 수신하여 상기 WAS 보안 에이전트(130)의 웹트랜잭션 차단모듈(134)로 전송할 수 있으며(S118), 상기 WAS 보안 에이전트(130)의 웹트랜잭션 차단모듈(134)로 하여금 해당 비정상 사용자에 대한 웹트랜잭션을 차단하도록 할 수 있다(S119).
또한, DB 보안 에이전트(160)에 있어서, DB 트랜잭션 정보 수집모듈(161)은 DB 트랜잭션 정보를 수집하고 감사추적 정보 수집모듈(162)은 감사추적 정보를 수집한다(S120).
다음에, DB 트랜잭션 정보 수집모듈(161) 및 감사추적 정보 수집모듈(162)은 각각 수집한 DB 트랜잭션 및 감사추적 정보를 DB 보안관리 시스템(170)으로 전송한다(S121).
다음에, DB 보안관리 시스템(170)에 있어서, DB 트랜잭션 및 감사추적 정보 분석모듈(171)은 DB 트랜잭션 정보 수집모듈(161) 및 감사추적 정보 수집모듈(162)에서 전송한 DB 트랜잭션 및 감사추적 정보를 수신하고(S122), DB 트랜잭션 및 감사추적 정보를 이용하여 보안분석 및 추적을 수행한다(S123).
DB 접근 탐지모듈(172)은 상기 DB 트랜잭션 및 감사추적 정보 분석모듈(171)의 분석결과에 기초하여 비정상 DB 접근이 존재하는지 여부를 탐지한다(124a).
만약 비정상 DB 접근이 존재하면, 상기 DB 접근 탐지모듈(172)은 비정상 DB 접근의 사용자에 대한 웹트랜잭션을 차단하는 제2 차단명령을 생성하여 상기 웹트랜잭션 보안관리 시스템(150)의 상기 차단관리모듈(151)로 전송할 수 있다(S124).
다시, 상기 웹트랜잭션 보안관리 시스템(150)의 차단관리모듈(151)은 상기 DB 접근 탐지모듈(172)에서 생성한 비정상 DB 접근의 사용자에 대한 웹트랜잭션을 차단하는 제2 차단명령을 수신하여 상기 WAS 보안 에이전트(130)로 전송할 수 있으며(S117), 상기 WAS 보안 에이전트(130)의 웹트랜잭션 차단모듈(134)로 하여금 해당 비정상 사용자에 대한 웹트랜잭션을 차단하도록 할 수 있다(S118).
도 5 및 도 6은 본 발명의 일 실시예에 다른 사용자 식별자를 수집하는 방법을 설명하기 위한 도면으로서, 도 5는 사용자 식별자에 대한 파라미터명을 설정하여 로그인시에만 추출하는 방법을 나타내고, 도 6은 사용자 식별자를 수집하는 메소드를 설정하여 해당 메소드가 WAS 메모리에 로드시 정보추출을 위한 코드를 Injection하여 해당 메소드 수행 시 호출 파라미터나 리턴 값에서 사용자 식별자를 추출하는 방법을 나타낸다.
도 5를 참조하면, 상기 WAS 보안 에이전트(130)의 상기 환경설정모듈(136)은 로그인시에 사용자 식별자를 수집하도록 사용자 식별자에 대한 HTTP 요청 파라미터명을 설정할 수 있다.
이 경우, 사용자 식별자 수집모듈(131)은 사용자 식별자에 대한 HTTP 요청 파라미터명을 설정하여 로그인시에 사용자 식별자를 수집할 수 있다.
이때, 상기 WAS 보안 에이전트(130)의 상기 매핑모듈(133)은 애플리케이션 세션 ID를 key로 하고 수집한 사용자 식별자를 상기 key에 대응하는 value로 하여 매핑테이블에 저장할 수 있다.
또한, 상기 WAS 보안 에이전트(130)의 상기 매핑모듈(133)은 로그인된 후에는 다른 페이지를 요청하거나 웹페이지 요청시 마다 동일 애플리케이션 세션 ID에 대하여 동일 사용자 식별자로 연속 매핑할 수 있다.
로그인시에 사용자 식별자를 수집하는 과정은 다음과 같다.
1. WAS 보안 에이전트(130)의 환경설정을 통해 사용자 식별자 수집(로그인 URI 및 키) 설정
2. 로그인 페이지 요청
3. 로그인 페이지 전송
4. 로그인 화면에서 사용자 식별자를 통해 로그인 수행
5. 로그인 요청
6. WAS 보안 에이전트(130)에서 애플리케이션 세션 ID와 사용자 식별자 수집
7. WAS 메모리에 애플리케이션 세션 ID를 Key로 하고 사용자 식별자를 Value로 하는 Map 형태로 저장
8. 로그인 완료 페이지 전송
9. 로그인후 다른 페이지 요청(클릭)
10. 웹페이지 요청
11. WAS 보안 에이전트(130)에서 애플리케이션 세션 ID를 수집하여 WAS 메모리내의 사용자 식별자 Map에 접근하여 사용자 식별자 연속 매핑
도 6을 참조하면, 상기 WAS 보안 에이전트(130)의 환경설정모듈(136)은 메소드 수행 시 호출 파라미터나 리턴 값에서 사용자 식별자를 수집하도록 메소드를 설정할 수 있다.
이 경우, 사용자 식별자 수집모듈(131)은 애플리케이션에서 세션 스토어에 접근시 사용자 식별자를 수집할 수 있다.
구체적으로, 세션스토어(또는 세션서버)에 저장된 객체에 대한 getter 및 setter 메소드를 설정하면, WAS 보안 에이전트(130)는 해당 클래스의 메소드에 대하여 호출 파라미터나 리턴값을 수집할 수 있도록 동적으로 코드를 변경하게 된다.
즉, 웹애플리케이션 내에서 세션스토어(또는 세션서버)에 접근할 때 변경된 메소드의 호출 파라미터나 리턴값을 수집하여 사용자 식별자를 수집하는 방법이다. 로그인 후에 웹트랜잭션을 호출할때 웹애플리케이션에서 로그인 여부를 체크를 위해 해당 메소드가 항상 수행될 수 있기 때문에 사용자 식별자를 항상 수집할 수 있다.
메소드 호출 파라미터 및 리턴값에 기반하여 사용자 식별자를 수집과정은 다음과 같다.
1. WAS 보안 에이전트(130)의 환경설정을 통해 사용자 식별자수집(클래스, 메소드, 파라미터 위치 또는 리턴값 수집) 설정
2. 로그인 페이지 요청
3. 로그인 페이지 전송
4. 로그인 화면에서 사용자 식별자를 통해 로그인 수행
5. 로그인 요청
6. 애플리케이션에서 세션스토어에 접근시 WAS 보안 에이전트(130)에서 사용자 식별자 수집
7. 로그인 완료 페이지 전송
8. 로그인후 다른 페이지 요청(클릭)
9. 웹페이지 요청시 마다
10. 애플리케이션에서 세션스토어에 접근시 WAS 보안 에이전트(130)에서 사용자식별정보수집
상기 사용자 식별자는 사용자 ID, 인증정보, 사용자 바이오정보, 및 사용자 IP 중 하나 이상을 포함할 수 있다.
일례로, 사용자 식별자 캐시 구조는 다음과 같다.
Figure PCTKR2019007952-appb-I000001
즉, 사용자 식별자 캐시 구조는, 애플리케이션 세션 ID를 key로 하고 상기 key에 대응하는 value로서 사용자 식별자(예: 사용자 ID, 인증정보, 사용자 바이오정보, 사용자 IP 등)를 사용자 식별자 맵의 형태로 저장할 수 있다. 여기서, 기타 사용자 식별자는 사용자의 웹 세션 ID, PIN 등을 포함할 수 있다.
참고로, 데이터베이스 내에서 사용자 식별을 위한 관련 DB 모니터링 테이블 및 칼럼 정보는 다음과 같다.
Figure PCTKR2019007952-appb-I000002
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다.
컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
[부호의 설명]
100 사용자 PC
110 웹서버
120 WAS
130 WAS 보안 에이전트
140 데이터베이스
150 웹트랜잭션 보안관리 시스템
160 DB 보안 에이전트
170 DB 보안관리 시스템
180 빅데이터 시스템
190 빅데이터 분석 시스템

Claims (10)

  1. 사용자 단말로부터 입력되는 서비스요청에 대응하여 웹트랜잭션을 처리하는 웹 애플리케이션 서버(Web Application Server : 이하 WAS)를 통한 데이터베이스(이하, DB) 접근에 대한 보안을 제공하는 데이터베이스 보안장치에 있어서,
    상기 WAS의 보안을 담당하는 WAS 보안 에이전트로서, 상기 WAS로부터 DB 접근 정보를 포함한 웹트랜잭션 정보를 수집하고, 대량의 데이터 액세스나 데이터 변경을 포함하는 비정상 사용자에 대한 웹트랜잭션을 차단하고, 사용자를 식별할 수 있는 사용자 식별자를 수집하여 WAS 메모리에 저장하며, 이후에 특정 트랜잭션이 수행될 때 동일한 애플리케이션 세션 ID의 웹트랜잭션에 대하여 사용자 식별자를 매핑하는 WAS 보안 에이전트;
    상기 WAS 보안 에이전트를 관리하는 웹트랜잭션 보안관리 시스템으로서, 상기 WAS 보안 에이전트로부터 웹트랜잭션 정보를 수신하고, 수신한 웹트랜잭션 정보에 기초하여 비정상 사용자에 대한 웹트랜잭션을 차단하는 제1 차단명령을 생성하고, 생성한 제1 차단명령을 상기 WAS 보안 에이전트로 전송하는 상기 웹트랜잭션 보안관리 시스템;
    상기 DB의 보안을 담당하는 DB 보안 에이전트로서, 상기 DB로부터 DB 트랜잭션 및 감사추적 정보를 수집하는 DB 보안 에이전트; 및
    상기 DB 보안 에이전트를 관리하는 DB 보안관리 시스템으로서, 상기 DB 보안 에이전트로부터 상기 DB 트랜잭션 및 감사추적 정보를 수신하고, 수신한 DB 트랜잭션 및 감사추적 정보에 기초하여 비정상 사용자에 대한 웹트랜잭션을 차단하는 제2 차단명령을 생성하고, 생성한 제2 차단명령을 상기 웹트랜잭션 보안관리 시스템으로 전송하는 DB 보안관리 시스템;을 포함하는 것을 특징으로 하는 웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안장치.
  2. 제1항에 있어서,
    상기 WAS 보안 에이전트는,
    로그인시에 사용자를 식별할 수 있는 사용자 식별자를 수집하는 사용자 식별자 수집모듈;
    수집한 사용자 식별자를 애플리케이션 세션 ID와 매핑하여 매핑테이블에 저장하는 저장모듈;
    상기 특정 트랜잭션이 수행될 때 동일한 애플리케이션 세션 ID의 웹트랜잭션에 대하여 사용자 식별자를 매핑하는 매핑모듈; 및
    상기 웹트랜잭션 보안관리 시스템으로부터의 제1 차단명령 또는 상기 DB 보안관리 시스템으로부터의 제2 차단명령을 수신하고, 상기 수신한 제1 또는 제2 차단명령에 기초하여 상기 비정상 사용자에 대한 웹트랜잭션을 차단하는 웹트랜잭션 차단모듈;을 포함하는 것을 특징으로 하는 웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안장치.
  3. 제2항에 있어서,
    상기 사용자 식별자 수집모듈은 로그인된 후에는 상기 매핑테이블에서 사용자 식별자를 수집하는 것을 특징으로 하는 웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안장치.
  4. 제2항에 있어서,
    상기 WAS 보안 에이전트는,
    수집할 사용자 식별자 타겟을 설정하기 위한 환경설정모듈; 및
    SQL실행 전에, 사용자 식별자를 DB 세션 정보에 매핑하도록 설정요청하는 설정요청모듈;을 더 포함하는 것을 특징으로 하는 웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안장치.
  5. 제4항에 있어서,
    상기 환경설정모듈은 로그인시에 사용자 식별자를 수집하도록 사용자 식별자에 대한 HTTP 요청 파라미터명을 설정하고,
    매핑모듈은 로그인된 후에 웹페이지 요청시 마다 동일 애플리케이션 세션 ID에 대하여 동일 사용자 식별자를 연속 매핑하는 것을 특징으로 하는 웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안장치.
  6. 제4항에 있어서,
    상기 환경설정모듈은 메소드 수행 시 호출 파라미터나 리턴 값에서 사용자 식별자를 수집하도록 메소드를 설정하고,
    사용자 식별자 수집모듈은 로그인된 후에 웹페이지 요청시 마다 애플리케이션에서 세션 스토어에 접근시 사용자 식별정보를 수집하는 것을 특징으로 하는 웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안장치.
  7. 제1항에 있어서,
    상기 사용자 식별자는 사용자 ID, 인증정보, 사용자 바이오정보, 및 사용자 IP 중 하나 이상을 포함하는 것을 특징으로 하는 웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안장치.
  8. 제1항에 있어서,
    상기 WAS 보안 에이전트로부터 수신한 웹트랜잭션 정보, 및 상기 DB 보안 에이전트로부터 수신한 DB 트랜잭션 및 감사추적 정보는 사용자 식별자를 기준으로 상호연계 분석에 사용가능한 것을 특징으로 하는 웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안장치.
  9. 제1항 또는 제2항에 있어서,
    상기 웹트랜잭션 보안관리 시스템은,
    비정상 사용자에 대한 웹트랜잭션을 차단하기 위해 수신한 웹트랜잭션 정보를 분석할 수 있는 웹트랜잭션정보 분석모듈;
    상기 웹트랜잭션정보 분석모듈의 분석결과에 기초하여 비정상 데이터 엑세스를 유발 시킨 웹트랜잭션을 탐지하고 해당 웹트랜잭션을 유발시킨 사용자를 식별하며 비정상 사용자가 식별되면 비정상 사용자에 대한 웹트랜잭션을 차단하기 위한 제1 차단명령을 생성할 수 있는 웹트랜잭션 탐지모듈; 및
    상기 웹트랜잭션 탐지모듈에서 생성한 제1 차단명령을 웹트랜잭션 차단모듈로 전송하여 상기 웹트랜잭션 차단모듈로 하여금 해당 사용자에 대한 웹트랜잭션을 차단하도록 하는 차단관리모듈을 포함하고,
    상기 DB 보안 에이전트는,
    비정상 사용자에 대한 웹트랜잭션을 차단하기 위해 수신한 DB 트랜잭션 및 감사추적 정보를 분석할 수 있는 DB 트랜잭션 정보를 수집하는 DB 트랜잭션 정보 수집모듈; 및
    감사추적 정보를 수집하는 감사추적 정보 수집모듈을 포함하고,
    상기 DB 보안관리 시스템은,
    비정상 DB 접근의 사용자에 대한 웹트랜잭션을 차단하기 위해 상기 DB 트랜잭션 정보 수집모듈 및 감사추적 정보 수집모듈로부터 수신한 DB 트랜잭션 및 감사추적 정보를 분석할 수 있는 DB 트랜잭션 및 감사추적 정보 분석모듈; 및
    상기 DB 트랜잭션 및 감사추적 정보 분석모듈의 분석결과에 기초하여 비정상 DB 접근이 존재하는지 여부를 탐지하고 비정상 DB 접근이 존재하면 비정상 DB 접근의 사용자에 대한 웹트랜잭션을 차단하기 위한 제2 차단명령을 생성할 수 있는 DB 탐지모듈을 포함하고,
    상기 제2 차단명령은 차단관리모듈로 전송될 수 있는 것을 특징으로 하는 웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안장치.
  10. 제1항에 있어서,
    상기 WAS 보안 에이전트로부터 수신한 웹트랜잭션 정보, 및 상기 DB 보안 에이전트로부터 수신한 DB 트랜잭션 및 감사추적 정보를 빅데이터로서 저장하는 빅데이터 시스템; 및
    상기 빅데이터 시스템에 저장된 웹트랜잭션 정보, 및 DB 트랜잭션 및 감사추적 정보의 빅데이터에 기초하여 보안분석 및 추적을 수행하는 빅데이터 분석 시스템을 더 포함하는 것을 특징으로 하는 웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안장치.
PCT/KR2019/007952 2019-07-01 2019-07-01 웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안장치 WO2021002485A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190078500A KR102070607B1 (ko) 2019-07-01 2019-07-01 웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안장치
KR10-2019-0078500 2019-07-01

Publications (1)

Publication Number Publication Date
WO2021002485A1 true WO2021002485A1 (ko) 2021-01-07

Family

ID=69322186

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/007952 WO2021002485A1 (ko) 2019-07-01 2019-07-01 웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안장치

Country Status (2)

Country Link
KR (1) KR102070607B1 (ko)
WO (1) WO2021002485A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102654479B1 (ko) * 2021-12-24 2024-04-04 주식회사 아이디알소프트 대량의 사용자 행위 데이터 분석을 통해 검증 쿼리를 생성하고 실행하여, 요청 파라미터 변조의 위험을 탐지 및 모니터링하는 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277756A (ja) * 1994-02-16 2006-10-12 British Telecommun Plc <Bt> データベースへのアクセスを制御するための方法及び装置
JP2009237671A (ja) * 2008-03-26 2009-10-15 Mizuho Information & Research Institute Inc データ開示システム、アクセス制御設定方法、及びアクセス制御設定プログラム
KR101658450B1 (ko) * 2016-04-01 2016-09-21 이석우 웹 애플리케이션 서버로부터 수집된 트랜잭션 정보 및 고유세션 id 통한 사용자 식별을 이용한 보안장치.
KR101755427B1 (ko) * 2016-02-12 2017-07-10 (주)모니터랩 데이터마이닝을 이용한 웹-데이터베이스 사용자 추적 방법 및 시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101658456B1 (ko) 2016-04-01 2016-09-22 주식회사 엘리바이저 웹 애플리케이션 서버로부터 수집된 트랜잭션 정보를 이용한 보안장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277756A (ja) * 1994-02-16 2006-10-12 British Telecommun Plc <Bt> データベースへのアクセスを制御するための方法及び装置
JP2009237671A (ja) * 2008-03-26 2009-10-15 Mizuho Information & Research Institute Inc データ開示システム、アクセス制御設定方法、及びアクセス制御設定プログラム
KR101755427B1 (ko) * 2016-02-12 2017-07-10 (주)모니터랩 데이터마이닝을 이용한 웹-데이터베이스 사용자 추적 방법 및 시스템
KR101658450B1 (ko) * 2016-04-01 2016-09-21 이석우 웹 애플리케이션 서버로부터 수집된 트랜잭션 정보 및 고유세션 id 통한 사용자 식별을 이용한 보안장치.

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Universal User Tracking | DataGuardStore.com", INTERNET ARCHIVE WAYBACK MACHINE, 18 October 2018 (2018-10-18), XP055783903, Retrieved from the Internet <URL:https://web.archive.org/web/20181018173919/http://www.dataguardstore.com/Universal-User-Tracking.asp> [retrieved on 20190829] *

Also Published As

Publication number Publication date
KR102070607B1 (ko) 2020-01-29

Similar Documents

Publication Publication Date Title
WO2021002692A1 (en) Method for providing virtual asset service based on decentralized identifier and virtual asset service providing server using them
WO2017069348A1 (ko) 보안이벤트 자동 검증 방법 및 장치
WO2014054854A1 (ko) 보안 시스템의 로그 분석 시스템 및 방법
WO2020233077A1 (zh) 系统服务的监控方法、装置、设备及存储介质
WO2010062063A2 (ko) 브라우저 기반 어뷰징 방지 방법 및 시스템
WO2014069777A1 (en) Transit control for data
WO2018124495A1 (ko) 불법 콘텐츠 검색 시스템 및 그 방법
WO2018107811A1 (zh) 网络安全联合防御方法、装置、服务器和存储介质
WO2016169410A1 (zh) 登录方法、服务器和登录系统
WO2020186773A1 (zh) 调用请求监控方法、装置、设备及存储介质
WO2021150032A1 (en) Method for providing authentication service by using decentralized identity and server using the same
WO2020077832A1 (zh) 云桌面的访问方法、装置、设备及存储介质
WO2020073494A1 (zh) 网页后门检测方法、设备、存储介质及装置
WO2020062644A1 (zh) Json劫持漏洞的检测方法、装置、设备及存储介质
WO2020258672A1 (zh) 网络访问的异常检测方法和装置
WO2020233060A1 (zh) 事件通知方法、事件通知服务器、存储介质及装置
WO2023128341A1 (ko) 동형 암호화된 데이터를 이용한 부정 거래 탐지 방법 및 시스템
WO2019231089A1 (ko) 보안정책 및 감사로그 양방향 조회, 대조, 추적 시스템 및 그 방법
WO2017026840A1 (ko) 인터넷 연결 장치, 중앙 관리 서버 및 인터넷 연결 방법
WO2021002485A1 (ko) 웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안장치
WO2024144279A1 (ko) 디지털 서비스 기반 진입 관리 대상의 자동 조정을 위한 진입 관리 방법 및 서버
WO2020186780A1 (zh) 用户操作录制还原方法、装置、设备及可读存储介质
WO2013122362A1 (ko) 무선 네트워크 부하 저감 정책 운영 방법 및 시스템과 기록매체
WO2024005490A1 (ko) 행위 스캔 서비스 시스템 및 행위 스캔 서비스의 제공 방법
WO2012068835A1 (zh) 一种在CoAP网络中注册的方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19935750

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19935750

Country of ref document: EP

Kind code of ref document: A1