KR20210068832A - Access control system and method using SQL tool based on web - Google Patents
Access control system and method using SQL tool based on web Download PDFInfo
- Publication number
- KR20210068832A KR20210068832A KR1020190158348A KR20190158348A KR20210068832A KR 20210068832 A KR20210068832 A KR 20210068832A KR 1020190158348 A KR1020190158348 A KR 1020190158348A KR 20190158348 A KR20190158348 A KR 20190158348A KR 20210068832 A KR20210068832 A KR 20210068832A
- Authority
- KR
- South Korea
- Prior art keywords
- user terminal
- user
- web
- information
- security
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Automation & Control Theory (AREA)
- Power Engineering (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
Description
본 발명은 웹 기반 SQL 툴을 이용한 접근 제어 시스템 및 방법에 관헌 것으로서, 더욱 상세히는 기존 웹 기반으로 제공되는 SQL 툴에 접속하는 사용자 단말에 대해 생성한 웹 세션에서 추출하지 못하는 사용자 단말의 특정을 위한 보안 속성을 용이하게 추출할 수 있도록 지원하여 데이터베이스에 대한 접근 권한을 정확하게 감시하여 데이터베이스 접근에 대한 보안성을 높일 수 있도록 한 웹 기반 SQL 툴을 이용한 접근 제어 시스템 및 방법에 관한 것이다.The present invention relates to an access control system and method using a web-based SQL tool, and more particularly, for specifying a user terminal that cannot be extracted from a web session created for a user terminal accessing an existing web-based SQL tool. It relates to an access control system and method using a web-based SQL tool that supports the easy extraction of security attributes to increase the security of database access by accurately monitoring access rights to the database.
기존의 데이터베이스 시스템에서는 도 1에 도시된 바와 같이, 데이터베이스의 보안을 위해 데이터베이스를 관리하는 보안 서버에서 전용 SQL 툴을 사용자 단말에 배포하고, 이러한 전용 SQL 툴을 설치하여 상기 SQL 툴을 이용해 접속하는 사용자 단말의 데이터베이스에 대한 접속권한 및 쿼리에 대한 감시를 수행하여 접근 통제를 하도록 구성되었다.In the existing database system, as shown in FIG. 1 , a dedicated SQL tool is distributed to a user terminal in a security server that manages a database for database security, and a user who installs such a dedicated SQL tool and connects using the SQL tool It is configured to control access by monitoring the access rights and queries to the database of the terminal.
그러나, 기존의 데이터베이스 시스템은 이러한 전용 SQL 툴을 사용자마다 직접 관리하여 설치하고 이를 통해 데이터베이스에 접근하기 때문에 전용 SQL 툴의 업데이트에 따른 버젼(version) 변경시 보안 서버에서 데이터 베이스의 DB 세션을 통해 기존 버젼의 전용 SQL 툴을 사용하는 사용자 단말의 접속 트랜잭션을 감시하는 과정에서 버젼 차이에 따라 오류가 발생하여 데이터베이스가 오동작하는 상황이 빈번히 발생하는 문제가 있으며, 이러한 전용 SQL 툴을 사용자가 개별적으로 사용자 단말에 설치하여 관리하기 때문에 이러한 SQL 툴에 대한 배포 관리가 어려운 문제점이 있다.However, since the existing database system directly manages and installs these dedicated SQL tools for each user and accesses the database through them, when the version is changed according to the update of the dedicated SQL tool, the security server uses the DB session of the database to In the process of monitoring the connection transaction of the user terminal using the version of the dedicated SQL tool, an error occurs depending on the version difference and the database malfunctions frequently. Because it is installed and managed in the , there is a problem in that it is difficult to manage the distribution of these SQL tools.
또한, 이러한 전용 SQL 툴 이외의 다른 툴을 이용하여 보안 서버를 우회하여 접속하는 경우 데이터베이스의 보안에 허점이 생기는 경우가 발생할 뿐만 아니라 사용자 단말이 해킹되어 전용 SQL 툴을 통해 데이터베이스에 대한 DDOS 공격과 같은 해킹 피해가 발생하는 우려가 있어 보안상 취약점이 상당한 문제가 있다.In addition, when accessing the security server by bypassing the security server using tools other than these dedicated SQL tools, there may be a gap in the security of the database, as well as the user terminal being hacked, such as DDOS attacks on the database through the dedicated SQL tool. There is a risk of hacking damage, so there is a significant security vulnerability.
본 발명은 상술한 문제를 해결하기 위해, 사용자 단말이 웹 기반의 SQL 툴을 통해 데이터베이스에 접속하도록 하여 기존 전용 SQL 툴 사용시 버젼 차이로 인한 오류 발생과 해킹 위험을 방지함과 아울러, 상기 사용자 단말의 사용자의 상기 데이터베이스에 대한 접속 권한 및 쿼리 수행 권한을 판단하기 위해 필요한 웹 세션에서 추출할 수 없는 사용자 식별정보를 상기 사용자 단말에 배포하여 실행되는 보안 에이전트를 통해 획득하여 사용자의 권한 여부를 용이하게 판단할 수 있도록 지원함으로써, 데이터베이스 운영에 대한 보안성 및 안정성을 보장하는데 그 목적이 있다.In order to solve the above problem, the present invention allows a user terminal to access a database through a web-based SQL tool to prevent errors and hacking risks due to version differences when using an existing dedicated SQL tool, and User identification information that cannot be extracted from the web session necessary to determine the user's access right to the database and the query execution right is obtained through a security agent that is executed by distributing to the user terminal to easily determine the user's authority The purpose is to ensure the security and stability of database operation by supporting
본 발명의 실시예에 따른 웹 기반 SQL 툴을 이용한 접근 제어 시스템은, 데이터베이스가 포함된 DB 서버와 통신망을 통해 통신하며, 상기 데이터베이스에 접속하는 사용자 단말과 상기 DB 서버 사이에 송수신되는 패킷을 중계하는 SQL 툴을 웹 기반으로 제공하는 서비스 서버 및 상기 서비스 서버로부터 수신한 보안 에이전트를 상기 사용자 단말에 설치 및 실행한 상태의 모듈인 보안 모듈을 포함하고, 상기 서비스 서버는 웹 브라우저를 통해 접속한 상기 사용자 단말의 상기 웹 브라우저에 상기 SQL 툴의 이용을 위한 웹 페이지를 제공하고, 상기 웹 페이지를 통해 상기 사용자 단말로부터 수신한 상기 로그인 정보를 기초로 상기 사용자 단말의 사용자 인증 성공시 상기 웹 페이지를 통해 상기 SQL 툴에 접속하는 상기 사용자 단말의 웹 브라우저와 상기 SQL 툴 사이의 상기 패킷 송수신을 위해 생성한 웹 세션에서 추출할 수 없는 상기 사용자 단말의 미리 설정된 하나 이상의 보안 속성 관련 사용자 식별정보를 요청하기 위한 요청 정보를 전송하고, 상기 보안 모듈은 상기 요청 정보 수신시 상기 보안 속성별 파라미터를 추출하여 사용자 식별정보를 생성한 후 상기 서비스 서버에 전송하는 것을 특징으로 할 수 있다.An access control system using a web-based SQL tool according to an embodiment of the present invention communicates with a DB server including a database through a communication network, and relays packets transmitted and received between a user terminal accessing the database and the DB server. A service server that provides a web-based SQL tool and a security module that is a module in which a security agent received from the service server is installed and executed in the user terminal, wherein the service server includes the user accessing through a web browser A web page for use of the SQL tool is provided to the web browser of the terminal, and when user authentication of the user terminal is successful based on the login information received from the user terminal through the web page, the web page A request for requesting user identification information related to one or more preset security attributes of the user terminal that cannot be extracted from the web session created for transmitting and receiving the packet between the web browser of the user terminal accessing the SQL tool and the SQL tool The information is transmitted, and the security module extracts the parameters for each security attribute when receiving the request information, generates user identification information, and then transmits the generated user identification information to the service server.
본 발명과 관련된 일 예로서, 상기 서비스 서버는 상기 보안 모듈로부터 상기 사용자 식별정보를 수신하여 인증정보로 저장하고, 상기 인증 정보 저장 이후 상기 사용자 단말의 보안 모듈로부터 수신되는 사용자 식별정보가 상기 인증 정보와 일치하지 않는 경우 상기 사용자 단말의 상기 서비스 서버에 대한 접속을 차단하는 것을 특징으로 할 수 있다.As an example related to the present invention, the service server receives the user identification information from the security module and stores it as authentication information, and after storing the authentication information, the user identification information received from the security module of the user terminal is the authentication information If it does not match, it may be characterized in that the access of the user terminal to the service server is blocked.
본 발명과 관련된 일 예로서, 상기 하나 이상의 보안 속성은 상기 사용자 단말의 MAC 주소, 호스트명, 상기 사용자 단말의 운영 체제에 설정된 사용자 계정, 로그인 시간 중 적어도 하나를 포함하는 것을 특징으로 할 수 있다.As an example related to the present invention, the one or more security attributes may include at least one of a MAC address of the user terminal, a host name, a user account set in an operating system of the user terminal, and a login time.
본 발명과 관련된 일 예로서, 상기 사용자 단말이 상기 SQL 툴을 통해 상기 DB 서버에 접속시 상기 서비스 서버로부터 수신한 상기 사용자 단말이 접속한 상기 DB 서버의 접속 대상 DB에 대한 접속 대상 DB 정보 및 수행 쿼리 정보 중 적어도 하나와 사용자 식별 정보를 기초로 사용자의 접속 권한 및 쿼리 수행 권한 중 적어도 하나를 검사하고, 상기 검사에 따른 검사 결과 접속 권한이 없는 상기 사용자 단말의 접속이나 쿼리 수행 권한이 없는 사용자 단말의 쿼리를 차단하기 위한 제어 정보를 상기 서비스 서버에 전송하는 보안 서버를 더 포함하는 것을 특징으로 할 수 있다.As an example related to the present invention, when the user terminal accesses the DB server through the SQL tool, the connection target DB information and execution for the connection target DB of the DB server accessed by the user terminal received from the service server At least one of the user's access right and the query execution right is checked based on at least one of the query information and the user identification information, and as a result of the inspection, the user terminal without the access right or the query execution right of the user terminal without the access right It may further include a security server for transmitting control information for blocking the query of the service server.
본 발명과 관련된 일 예로서, 상기 보안 모듈은 상기 웹 기반의 SQL 툴이 아닌 상기 사용자 단말에서 실행되는 상용 SQL 툴을 통해 상기 DB 서버에 접속하는 경우를 연결 소켓 이벤트를 기초로 식별하고, 상기 연결 소켓 이벤트에 대응되어 상기 상용 SQL 툴을 통해 생성된 패킷의 목적지 IP 및 접속 포트를 미리 저장된 우회 정보에 따라 변경하여 상기 패킷이 상기 보안 서버를 경유하도록 하는 것을 특징으로 할 수 있다.As an example related to the present invention, the security module identifies a case of accessing the DB server through a commercial SQL tool executed in the user terminal rather than the web-based SQL tool based on a connection socket event, and the connection It may be characterized in that the packet passes through the security server by changing the destination IP and the access port of the packet generated through the commercial SQL tool in response to a socket event according to pre-stored detour information.
본 발명과 관련된 일 예로서, 상기 서비스 서버는 상기 인증 정보 생성 이전에 상기 사용자 단말에 설치된 상기 보안 에이전트에 대응되어 할당된 접속 포트와 상기 사용자 단말의 IP 및 사용자의 로그인 정보가 상호 매칭되어 포함된 상기 보안 에이전트의 배포 현황 정보를 생성하여 저장하고, 상기 서비스 서버로 접속하는 상기 사용자 단말의 웹 브라우저로부터 수신된 상기 로그인 정보를 상기 배포 현황 정보와 비교하여 사용자 인증 성공시 상기 배포 현황 정보에 따른 IP 및 접속 포트를 기초로 상기 요청 정보를 상기 사용자 단말의 보안 모듈에 전송하는 것을 특징으로 할 수 있다.As an example related to the present invention, the service server includes an access port assigned to correspond to the security agent installed in the user terminal before generating the authentication information, the IP of the user terminal, and the user's login information to match each other. Creates and stores the distribution status information of the security agent, compares the login information received from the web browser of the user terminal accessing the service server with the distribution status information, and when user authentication succeeds, the IP according to the distribution status information and transmitting the request information to the security module of the user terminal based on the access port.
본 발명과 관련된 일 예로서, 상기 보안 모듈은 미리 설정된 시간 동안 미리 설정된 기준치 이상의 소켓 이벤트 발생시 상기 소켓 이벤트의 목적지 IP와 접속 포트를 기초로 서비스 서버 또는 DB 서버로 전송되는 패킷이 차단되도록 상기 소켓 이벤트에 대응되는 소켓을 강제 종료시키는 것을 특징으로 할 수 있다.As an example related to the present invention, when a socket event greater than or equal to a preset reference value occurs for a preset time, the security module blocks the packet transmitted to the service server or DB server based on the destination IP and connection port of the socket event. It may be characterized by forcibly closing the socket corresponding to .
본 발명과 관련된 일 예로서, 상기 보안 모듈은 상기 서비스 서버로부터 웹 브라우저를 통해 수신한 상기 DB 서버의 패킷에 포함된 데이터를 상기 사용자 단말의 저장부에 저장하기 위한 사용자 입력 발생시 상기 데이터를 미리 설정된 개인 정보의 패턴과 비교하여 상기 패턴을 만족하는 경우 상기 데이터를 마스킹 또는 공백 처리하여 저장하는 것을 특징으로 할 수 있다.As an example related to the present invention, the security module sets the data in advance when a user input for storing the data included in the packet of the DB server received from the service server through a web browser in the storage unit of the user terminal occurs. Compared with the pattern of personal information, when the pattern is satisfied, the data may be masked or blanked and stored.
본 발명의 실시예에 따른 데이터베이스가 포함된 DB 서버와 통신망을 통해 통신하며, 상기 데이터베이스에 접속하는 사용자 단말과 상기 DB 서버 사이에 송수신되는 패킷을 중계하는 SQL 툴을 웹 기반으로 제공하는 서비스 서버 및 상기 사용자 단말에 구성된 보안 모듈의 웹 기반 SQL 툴을 이용한 접근 제어 방법은, 상기 서비스 서버가 상기 사용자 단말의 웹 브라우저로부터 로그인 정보를 수신하는 단계와, 상기 서비스 서버가 상기 사용자 단말로부터 수신된 상기 로그인 정보를 기초로 상기 사용자 단말의 사용자 인증 성공시 상기 SQL 툴에서 상기 패킷 송수신을 위해 상기 사용자 단말에 대응되어 생성한 웹 세션에서 추출할 수 없는 상기 사용자 단말의 미리 설정된 하나 이상의 보안 속성 관련 사용자 식별정보를 요청하기 위한 요청 정보를 전송하는 단계와, 상기 보안 모듈이 상기 요청 정보 수신시 상기 보안 속성별 파라미터를 추출하여 사용자 식별정보를 생성한 후 상기 서비스 서버에 전송하는 단계 및 상기 서비스 서버가 상기 사용자 식별정보를 기저장된 인증 정보와 비교하여 인증 성공 여부에 따라 상기 사용자 단말의 접속을 선택적으로 차단하는 단계를 포함할 수 있다.A service server that communicates with a DB server including a database according to an embodiment of the present invention through a communication network, and provides a web-based SQL tool for relaying packets transmitted and received between a user terminal accessing the database and the DB server, and The access control method using a web-based SQL tool of a security module configured in the user terminal includes: the service server receiving login information from a web browser of the user terminal; User identification information related to one or more preset security attributes of the user terminal that cannot be extracted from a web session created corresponding to the user terminal for transmitting and receiving the packet from the SQL tool when the user authentication of the user terminal is successful based on the information transmitting request information for requesting, the security module extracting the parameters for each security attribute upon receiving the request information, generating user identification information, and transmitting the generated user identification information to the service server, and the service server is the user The method may include comparing the identification information with pre-stored authentication information and selectively blocking the access of the user terminal according to whether the authentication succeeds.
본 발명은 DB 접속 및 쿼리 수행을 위한 웹 기반의 SQL 툴을 사용자 단말에 제공하여 상기 SQL 툴에 웹 브라우저를 통해 접속한 사용자 단말이 DB에 접속하여 쿼리를 수행할 수 있도록 중계함으로써, 기존 전용 SQL 툴 사용시 버젼 차이로 인한 오류 발생과 해킹 위험을 방지함과 아울러, 상기 사용자 단말을 이용하여 현재 서비스 서버의 SQL 툴에 접속 중인 사용자에 대한 DB 접속 권한 및 쿼리 수행 권한을 판단하기 위해 필요하지만 상기 SQL 툴에 사용자 단말이 접속시 생성되는 웹 세션에서는 추출할 수 없는 사용자 식별 정보를 상기 사용자 단말에 배포한 보안 에이전트의 실행에 따라 상기 사용자 단말에서 동작하는 보안 모듈을 통해 용이하게 획득함으로써, 사용자 식별 정보를 기초로 사용자 단말 및 사용자를 특정하여 인증하고 이를 기반으로 인증되지 않은 사용자가 인증된 사용자를 가장하여 DB에 접근하는 경우를 용이하게 차단하여 DB 운영에 대한 보안성 및 안정성을 보장하는 효과가 있다.The present invention provides a web-based SQL tool for DB access and query execution to a user terminal and relays the SQL tool so that a user terminal accessing the SQL tool through a web browser can access the DB and perform a query. In addition to preventing the occurrence of errors and hacking risks due to version differences when using the tool, it is necessary to determine the DB access right and query execution authority for the user who is currently accessing the SQL tool of the service server using the user terminal. By easily acquiring user identification information that cannot be extracted from the web session created when the user terminal is connected to the tool through the security module operating in the user terminal according to the execution of the security agent distributed to the user terminal, user identification information It has the effect of ensuring security and stability of DB operation by specifying and authenticating user terminals and users based on this, and easily blocking the case where unauthorized users pretend to be authenticated users to access the DB. .
또한, 본 발명의 실시예에 따른 보안 모듈은 사용자 단말의 해킹에 따른 DDOS 공격을 차단하거나 웹 기반의 SQL 툴이 아닌 다른 툴을 이용한 DB 서버에 대한 우회 접속에 따른 보안 위협을 방지하거나 DB 서버에서 획득한 개인 정보에 대한 보호가 이루어지도록 지원하는 등의 다양한 기능을 제공하는 효과가 있다.In addition, the security module according to an embodiment of the present invention blocks DDOS attacks caused by hacking of user terminals, or prevents security threats due to bypass access to DB servers using tools other than web-based SQL tools, or It has the effect of providing various functions, such as supporting the protection of the acquired personal information.
도 1은 기존 데이터베이스 시스템의 구성도.
도 2는 본 발명의 실시예에 따른 웹 기반 SQL 툴을 이용한 접근 제어 시스템의 구성 환경도.
도 3은 본 발명의 실시예에 따른 웹 기반 SQL 툴을 이용한 접근 제어 시스템의 상세 구성도.
도 4 및 도 5는 본 발명의 실시예에 따른 웹 기반 SQL 툴을 이용한 접근 제어 시스템의 접근 제어 방법에 대한 순서도.
도 6은 본 발명의 실시예에 따른 웹 기반 SQL 툴을 이용한 접근 제어 시스템의 DB 접속 권한 및 쿼리 수행 권한 관련 감시에 대한 동작 예시도.
도 7 내지 도 9는 본 발명의 실시예에 따른 웹 기반 SQL 툴을 이용한 접근 제어 시스템을 구성하는 보안 모듈의 동작 예시도.1 is a block diagram of an existing database system.
2 is a configuration environment diagram of an access control system using a web-based SQL tool according to an embodiment of the present invention.
3 is a detailed configuration diagram of an access control system using a web-based SQL tool according to an embodiment of the present invention.
4 and 5 are flowcharts of an access control method of an access control system using a web-based SQL tool according to an embodiment of the present invention.
6 is an operation example for monitoring DB access rights and query execution rights of the access control system using a web-based SQL tool according to an embodiment of the present invention.
7 to 9 are diagrams illustrating an operation of a security module constituting an access control system using a web-based SQL tool according to an embodiment of the present invention.
이하, 도면을 참고하여 본 발명의 상세 실시예를 설명한다.Hereinafter, detailed embodiments of the present invention will be described with reference to the drawings.
도 2 및 도 3은 본 발명의 실시예에 따른 웹 기반 SQL 툴을 이용한 접근 제어 시스템(이하, 접근 제어 시스템)의 구성 환경도이다.2 and 3 are configuration environment diagrams of an access control system (hereinafter referred to as an access control system) using a web-based SQL tool according to an embodiment of the present invention.
도시된 바와 같이, 상기 접근 제어 시스템은 통신망을 통해 데이터베이스(이하, DB)에 접속하기 위한 웹(web) 기반의 SQL(structured query language) 툴(tool)(또는 웹 SQL 툴)(이하, SQL 툴)을 사용자 단말(10)의 웹 브라우저(Web Browser)에 제공하는 서비스 서버(100)와, 상기 서비스 서버(100)와 통신망을 통해 통신하며, 상기 서비스 서버(100)를 통해 상기 DB 서버(300)의 DB에 접속하는 상기 사용자 단말(10)의 DB 접속 권한 및 쿼리 수행 권한을 감시하여 권한 여부에 따라 상기 사용자 단말(10)의 상기 DB에 대한 접속이나 쿼리 수행을 선택적으로 차단하는 보안 서버(200)를 포함할 수 있다.As shown, the access control system is a web-based SQL (structured query language) tool (or web SQL tool) for accessing a database (hereinafter, DB) through a communication network (hereinafter, a SQL tool) ) communicates with the
이때, 상기 서비스 서버(100)는 상기 웹 브라우저를 통해 상기 서비스 서버(100)의 SQL 툴에 접속하는 상기 사용자 단말(10)에 대응되어 웹 세션을 생성하고, 상기 웹 세션을 기초로 상기 DB 서버(300)에 접속하여 상기 DB 서버(300)에서 상기 웹 세션에 대응되는 DB 세션이 생성되도록 하여, 상기 웹 세션 및 DB 세션을 통해 상기 사용자 단말(10)로부터 수신된 패킷이 상기 DB 서버(300)로 전송되도록 중계하며, 상기 웹 세션 및 DB 세션을 통해 상기 DB 서버(300)로부터 수신된 패킷이 상기 사용자 단말(10)로 전송되도록 중계할 수 있다.At this time, the
즉, 상기 서비스 서버(100)는 상기 웹 세션 및 DB 세션을 통해 상기 사용자 단말(10)이 전송하는 패킷을 상기 DB 서버(300)로 전송하고, 상기 DB 서버(300)로부터 수신된 패킷을 상기 사용자 단말(10)에 전송할 수 있다.That is, the
또한, 상기 서비스 서버(100)는 상기 사용자 단말(10)로부터 상기 웹 세션을 통해 수신된 로그인 정보를 기초로 사용자를 인증하여 인증된 사용자만이 상기 DB 서버(300)의 DB에 접속할 수 있도록 동작할 수 있다.In addition, the
또한, 상기 보안 서버(200)는 상기 서비스 서버(100)로부터 상기 패킷을 수신하여 미리 설정된 프로토콜에 따라 상기 패킷에 대한 사용자의 접속 권한 및 쿼리 수행 권한을 검사하고, 상기 검사에 따른 검사 결과 접속 권한이 없는 상기 사용자 단말(10)의 접속이나 쿼리 수행 권한이 없는 사용자 단말(10)의 쿼리를 차단하기 위한 제어 정보를 상기 서비스 서버(100)에 전송하여 상기 제어 정보에 따라 상기 사용자 단말(10)의 접속 차단 또는 패킷이 차단되도록 할 수 있다.In addition, the
상술한 구성을 통해, 서비스 서버(100)는 웹 기반으로 버젼이 항상 최신화된 상태이며 단일 SQL 툴을 통해 사용자 단말(10)이 DB 서버(300)에 접속하도록 웹 기반의 SQL 툴을 사용자 단말(10)의 웹 브라우저를 통해 제공하여, 기존의 웹 기반이 아닌 전용 SQL 툴이 설치된 사용자 단말(10)이 직접 DB 서버(300)에 접속하는 경우 상기 전용 SQL 툴과 상기 DB 서버(300) 사이의 버젼 차이에 따라 발생하는 DB 서버(300)의 오작동을 용이하게 방지할 수 있을 뿐만 아니라, 전용 SQL 툴이 아닌 다른 SQL 툴을 이용해 보안 서버(200)의 감시를 벗어나 DB에 우회 접속 가능한 경우를 방지할 수 있다.Through the above configuration, the
그러나, 웹 기반의 SQL 툴을 제공하는 서비스 서버(100)와 보안 서버(200)만의 구성으로는 웹 세션에서 사용자 단말(10)에 대해 얻을 수 있는 정보가 IP 만으로 한정되며, 이로 인해 사용자 단말(10) 및 사용자를 특정하기가 어려워, SQL 툴에 접속하는 사용자 단말(10)의 정상 사용자(인증된 사용자)에 대한 로그인 정보가 유출된 경우 타인이 상기 정상 사용자를 가장하여 상기 사용자 단말(10)을 통해 용이하게 DB에 접속할 수 있으므로, 보안상 취약점이 드러난다.However, with the configuration of only the
따라서, 웹 기반의 SQL 툴을 통한 DB 서버(300) 접속시 보안을 유지하기 위해서는 사용자 단말(10) 및 사용자를 특정하기 위한 추가적인 정보가 필요하다.Therefore, in order to maintain security when accessing the
이와 같은 사용자 단말(10) 및 사용자의 특정 어려움으로 인해 발생하는 보안상 취약점을 해결하기 위한 본 발명의 실시예에 따른 접근 제어 시스템의 구성을 상술한 도 2 및 도 3의 구성을 토대로 도 4 및 도 5를 참고하여 상세히 설명한다.Based on the configuration of FIGS. 2 and 3 described above, the configuration of the access control system according to the embodiment of the present invention for solving the security vulnerability caused by the
도 4 및 도 5는 본 발명의 실시예에 따른 접근 제어 시스템의 접근 제어 방법에 대한 순서도이다.4 and 5 are flowcharts of an access control method of an access control system according to an embodiment of the present invention.
도시된 바와 같이, 본 발명의 실시예에 따른 접근 제어 시스템은, DB가 포함된 DB 서버(300)와 통신망을 통해 통신하며, 상기 DB에 접속하는 사용자 단말(10)과 상기 DB 서버(300) 사이에 송수신되는 패킷을 중계하는 SQL 툴을 웹 기반으로 제공하는 서비스 서버(100)와, 상기 보안 서버(200)와, 상기 사용자 단말(10)에 구성되는 보안 모듈(11)을 포함할 수 있다.As shown, the access control system according to an embodiment of the present invention communicates with a
이때, 상기 서비스 서버(100)는 상술한 바와 같이 웹 기반의 SQL 툴을 통한 데이터 베이스 접속시 보안을 위해 사용자 단말(10) 및 사용자를 특정하기 위해 필요한 사용자 식별정보를 획득하기 위한 보안 에이전트를 상기 사용자 단말(10)로 배포할 수 있다.At this time, as described above, the
또한, 상기 사용자 단말(10)은 사용자 입력을 수신하는 사용자 입력부와, 상기 서비스 서버(100), 보안 서버(200), DB 서버(300) 등과 같은 외부 서버와의 통신을 위한 통신부와, 각종 정보를 표시하는 표시부 및 각종 정보를 저장하는 저장부를 포함하는 복수의 구성부를 포함할 수 있으며, 상기 사용자 단말(10)에는 상기 복수의 구성부를 제어하는 제어부가 구성될 수 있다.In addition, the
이에 따라, 상기 제어부는 상기 통신부를 통해 상기 서비스 서버(100)에 접속하여 상기 서비스 서버(100)가 배포하는 상기 보안 에이전트(agent) 관련 데이터를 다운로드하여 상기 저장부에 저장할 수 있으며, 상기 제어부는 상기 보안 에이전트 관련 데이터를 설치 및 실행하여 보안 모듈(11)로서 동작할 수 있다.Accordingly, the control unit may access the
이때, 상기 보안 모듈(11)은 상기 사용자 단말(10)의 제어부에 의해 설치 및 실행되는 보안 에이전트를 의미할 수도 있다.In this case, the
또한, 이하에서 설명하는 서비스 서버(100), 보안 서버(200), DB 서버(300)를 포함하는 외부 서버와 상기 사용자 단말(10) 사이의 통신은 상기 사용자 단말(10)의 통신부를 통해 이루어질 수 있다.In addition, communication between the
상술한 구성을 토대로, 도 4 및 도 5의 순서도를 통해 상기 접근 제어 시스템의 접근 제어 방법을 설명하면, 도시된 바와 같이, 상기 사용자 단말(10)의 제어부는 웹 브라우저를 통해 상기 서비스 서버(100)가 제공하는 상기 SQL 툴의 이용을 위한 웹 서비스 관련 웹 페이지에 접속할 수 있으며, 상기 서비스 서버(100)는 상기 웹 페이지에 접속한 사용자 단말(10)로부터 ID와 PASSWORD를 포함하는 로그인 정보가 포함된 사용자 정보를 수신하여 저장할 수 있다(S1).Based on the above-described configuration, the access control method of the access control system will be described with reference to the flowcharts of FIGS. 4 and 5 . As shown, the control unit of the
이때, 상기 서비스 서버(100)는 상기 사용자 정보를 저장하기 위한 회원 DB를 포함할 수 있다.In this case, the
또한, 상기 서비스 서버(100)는 상기 웹 서비스를 통해 상기 보안 에이전트를 상기 사용자 단말(10)에 배포할 수 있으며, 상기 사용자 단말(10)의 제어부는 상기 웹 서비스를 통해 상기 보안 에이전트 관련 데이터를 다운로드하여 상기 사용자 단말(10)에 저장할 수 있다(S2, S3).In addition, the
또한, 상기 사용자 단말(10)의 제어부는 상기 저장부에 저장된 상기 보안 에이전트 관련 데이터를 설치 및 실행할 수 있으며, 상기 보안 에이전트 실행시 상기 제어부는 상기 보안 에이전트가 백그라운드 상태로 항시 실행 중인 상태의 보안 모듈(11)로서 동작할 수 있다(S4, S5).In addition, the control unit of the
상술한 구성에서, 상기 서비스 서버(100)는 상기 사용자 단말(10)에 설치된 상기 보안 에이전트의 접속 포트(agent port)를 할당하여 상기 사용자 정보(또는 로그인 정보)와 매칭할 수 있으며, 상기 사용자 단말(10)의 IP를 확인하여 상기 사용자 정보와 매칭하고, 상기 사용자 정보와 매칭된 IP 및 접속 포트와 상기 사용자 정보를 포함하는 상기 보안 에이전트의 배포 현황 정보를 생성하여 상기 회원 DB에 저장할 수 있다.In the above configuration, the
한편, 상기 사용자 단말(10)의 제어부는 상기 웹 브라우저를 통해 상기 웹 서비스의 웹 페이지에 접속하고, 상기 웹 페이지에 입력되는 상기 사용자 단말(10)의 사용자 입력부를 통한 사용자 입력을 기초로 로그인 정보를 생성한 후 상기 서비스 서버(100)에 전송할 수 있다(S6, S7).On the other hand, the control unit of the
또한, 상기 서비스 서버(100)는 상기 사용자 단말(10)의 웹 브라우저로부터 상기 웹 페이지를 통해 수신한 상기 로그인 정보를 상기 사용자 단말(10)에 대응되는 배포 현황 정보에 포함된 사용자 정보와 비교하여 사용자 인증을 수행하고(S8), 사용자 인증 성공시 상기 웹 페이지를 통해 제공되는 상기 SQL 툴에 접속하는 상기 사용자 단말(10)의 웹 브라우저와 상기 SQL 툴 사이의 상기 패킷 송수신을 위해 생성한 웹 세션에서 추출할 수 없는 상기 사용자 단말(10)의 미리 설정된 하나 이상의 보안 속성 관련 사용자 식별정보를 요청하기 위한 요청 정보를 전송할 수 있다(S9).In addition, the
다시 말해, 상기 서비스 서버(100)는 사용자 단말(10)의 제어부가 웹 브라우저를 실행하여 상기 웹 브라우저를 통해 상기 SQL 툴에 접속시, 상기 SQL 툴과 상기 사용자 단말(10)의 웹 브라우저 사이에 웹 세션을 생성하고, 상기 사용자 단말(10)의 웹 브라우저에 대응되어 상기 웹 세션 생성시, 상기 웹 세션에 대응되는 회원 DB에 저장된 상기 배포 현황 정보를 기초로 사용자 단말(10)의 보안 모듈(11)을 식별할 수 있다.In other words, when the control unit of the
일례로, 상기 서비스 서버(100)는 상기 웹 세션에 따른 사용자 단말(10)의 IP와 일치하는 상기 회원 DB의 배포 현황 정보를 식별하고, 상기 웹 세션에 대응되어 식별된 배포 현황 정보를 기초로 상기 사용자 단말(10)의 보안 모듈(11)을 식별할 수 있다.For example, the
또한, 상기 서비스 서버(100)는 상기 웹 세션에 대응되어 식별된 상기 배포 현황 정보에 따른 IP 및 접속 포트를 기초로 식별된 상기 사용자 단말(10)의 보안 모듈(11)로 상기 요청 정보를 전송할 수 있다.In addition, the
이에 따라, 상기 보안 모듈(11)은 상기 요청 정보 수신시 상기 사용자 단말(10)의 상기 보안 속성별 파라미터를 추출하여 사용자 식별정보를 생성한 후 상기 서비스 서버(100)에 전송할 수 있다(S10).Accordingly, the
이때, 상기 하나 이상의 보안 속성은 상기 사용자 단말(10)의 MAC 주소(client_mac_addr), 호스트명(client_mac_addr), 상기 사용자 단말(10)의 운영 체제에 설정된 사용자 계정(client_os_user), 로그인 시간 중 적어도 하나를 포함할 수 있다.In this case, the one or more security attributes include at least one of a MAC address (client_mac_addr) of the
또한, 상기 보안 모듈(11)은 상기 사용자 식별정보를 미리 설정된 암호화 방식에 따라 암호화하여 상기 서비스 서버(100)에 전송할 수 있으며, 상기 서비스 서버(100)는 상기 암호화 방식에 대응되는 복호화 방식에 따라 상기 암호화된 사용자 식별정보를 복호화할 수 있다.In addition, the
또한, 상기 서비스 서버(100)는 상기 보안 모듈(11)로부터 상기 사용자 식별정보의 최초 수신시 상기 사용자 식별 정보를 인증정보로 상기 회원 DB에 저장할 수 있다(S11).Also, the
이때, 상기 서비스 서버(100)는 상기 사용자 단말(10)의 보안 모듈(11)로부터 상기 요청 정보에 대응되어 수신되는 사용자 식별 정보와 매칭되는 배포 현황 정보를 상기 회원 DB에서 식별할 수 있으며, 상기 배포 현황 정보를 상기 인증 정보에 포함시켜 저장할 수 있다.In this case, the
또한, 상기 서비스 서버(100)는 인증 정보가 저장된 경우 상기 사용자 단말(10)의 인증에 성공하여 로그인이 완료된 것으로 판단하고(S12), 로그인이 완료된 상기 사용자 단말(10)이 웹 브라우저 기반으로 상기 SQL 툴을 통해 상기 DB 서버(300)에 접속할 수 있도록 중계하며, 상기 사용자 단말(10)의 웹 브라우저와 상기 DB 서버(300) 사이에 송수신되는 패킷을 중계할 수 있다(S13).In addition, when the authentication information is stored, the
또한, 상술한 구성에 따라, 상기 서비스 서버(100)는 상기 인증 정보 저장 이후 상기 사용자 단말(10)의 제어부가 상기 웹 브라우저를 통해 상기 서비스 서버(100)의 SQL 툴에 재접속하는 경우 상기 사용자 단말(10)의 웹 브라우저로부터 수신된 로그인 정보를 기초로 사용자 인증 성공시 상기 요청 정보를 생성하여 상기 보안 모듈(11)에 전송하고, 상기 요청 정보에 대응되어 사용자 단말(10)의 보안 모듈(11)로부터 상기 사용자 식별 정보를 수신할 수 있다.In addition, according to the above configuration, the
일례로, 상기 서비스 서버(100)는 상기 사용자 단말(10)이 웹 브라우저를 통해 상기 서비스 서버(100)의 웹 페이지에 접속할 때 상기 웹 브라우저를 통해 상기 사용자 단말(10)의 제어부로부터 수신한 로그인 정보를 상기 사용자 단말(10)에 대응되는 상기 인증 정보와 비교하여 사용자 인증 성공시 상기 인증 정보에 포함된 배포 현황 정보를 기초로 상기 사용자 단말(10)의 IP 및 접속 포트 중 적어도 하나를 확인하여 상기 사용자 단말(10)의 보안 모듈(11)을 식별할 수 있으며, 사용자 인증 성공시 상기 사용자 단말(10)의 인증을 위해 상기 사용자 식별 정보를 요청하기 위한 상기 요청 정보를 생성하여 상기 인증 정보를 기초로 식별된 상기 사용자 단말(10)의 보안 모듈(11)에 전송할 수 있다.For example, when the
이때, 상기 서비스 서버(100)는 상기 로그인 정보가 상기 인증 정보에 포함된 배포 현황 정보와 일치하지 않는 경우 상기 사용자 단말(10)의 상기 서비스 서버(100)에 대한 접속을 차단할 수 있다.In this case, when the login information does not match the distribution status information included in the authentication information, the
또한, 상기 서비스 서버(100)는 상기 요청 정보에 대응되어 상기 사용자 단말(10)의 보안 모듈(11)로부터 수신된 사용자 식별 정보와 상기 회원 DB에서 상기 로그인 정보에 대응되어 식별된 상기 사용자 단말(10)의 인증 정보를 미리 설정된 상기 보안 속성별로 비교하여 상호 일치하는 경우에만 상기 사용자 단말(10)의 상기 서비스 서버(100)에 대한 접속을 허용하고, 일치하지 않는 경우 상기 사용자 단말(10)의 상기 서비스 서버(100)에 대한 접속을 차단하여 인증되지 않은 사용자 단말(10)의 상기 DB 서버(300) 및 상기 서비스 서버(100)에 대한 접속을 차단할 수 있다.In addition, the
한편, 도 6에 도시된 바와 같이, 상기 서비스 서버(100)는 보안 처리부를 포함하여 구성되며, 상기 보안 처리부는 상기 서비스 서버(100)에서 제공하는 웹 기반의 SQL 툴에 접속하여 로그인 정보를 기초로 한 사용자 인증 및 사용자 식별 정보를 기초로 한 사용자 단말(10)에 대한 인증이 완료되어 로그인이 완료된 사용자 단말(10)에 대응되어 생성한 웹 세션을 기초로 상기 DB 서버(300)에 접속하여 상기 DB 서버(300)에서 사용자 단말(10)에 대응되는 DB 세션이 생성되도록 할 수 있으며, 상기 웹 세션 및 DB 세션을 기초로 상기 사용자 단말(10)이 DB 서버(300)에 SQL 툴을 통해 접속할 수 있도록 제어할 수 있다.Meanwhile, as shown in FIG. 6 , the
또한, 상기 서비스 서버(100)의 보안 처리부는 상기 웹 기반 SQL 툴을 통한 사용자 단말(10)의 DB 서버(300) 접속시 미리 설정된 로그인 접근 통제 관련 API(Application Program Interface)에 따라 상기 서비스 서버(100)와 통신망을 통해 통신하는 보안 서버(200)로 사용자 식별 정보와 사용자 단말(10)이 현재 접속한 DB 서버(300)의 접속 대상 DB(데이터베이스)에 대한 접속 대상 DB 정보를 전송할 수 있다.In addition, when the security processing unit of the
이때, 상기 접속 대상 DB 정보는 DB명, DB USER, 접속 시간 등을 포함할 수 있다.In this case, the access target DB information may include a DB name, DB USER, access time, and the like.
이에 따라, 상기 보안 서버(200)는 상기 사용자 단말(10)의 사용자 식별 정보 및 접속 대상 DB 정보를 미리 저장된 사용자 관련 권한 정보와 비교하고, 상기 접속 대상 DB에 대한 상기 사용자 단말(10)의 사용자의 접속 권한을 검사할 수 있으며, 상기 사용자 단말(10)의 DB 접속에 따른 DB 접속 이력에 대한 이력 정보를 상기 사용자 식별 정보 및 접속 대상 DB 정보를 기초로 생성하여 저장할 수 있다.Accordingly, the
또한, 상기 보안 서버(200)는 상기 접속 권한에 대한 검사 결과 접속 권한이 없는 사용자 단말(10)의 접속을 차단하기 위한 제어 정보를 생성하여 상기 서비스 서버(100)에 전송할 수 있으며, 상기 서비스 서버(100)의 보안 처리부는 상기 제어 정보를 기초로 상기 접속 대상 DB에 대한 접속 권한이 없는 사용자 단말(10)의 접속을 차단할 수 있다.In addition, the
또한, 상기 서비스 서버(100)의 보안 처리부는 상기 웹 기반 SQL 툴을 통한 사용자 단말(10)의 DB 접속시 미리 설정된 쿼리 수행 접근 통제 관련 API에 따라 상기 보안 서버(200)로 상기 사용자 식별 정보와 상기 접속 대상 DB 정보 및 수행 쿼리 정보를 전송할 수 있다.In addition, the security processing unit of the
이때, 상기 보안 처리부는 상기 사용자 단말(10)로부터 수신된 패킷을 미리 설정된 프로토콜에 따라 분석하여 상기 수행 쿼리 정보를 추출할 수 있으며, 상기 수행 쿼리 정보는 SQL 텍스트(TEXT), Bind변수, 수행시간 등을 포함할 수 있다.In this case, the security processing unit may extract the execution query information by analyzing the packet received from the
이에 따라, 상기 보안 서버(200)는 상기 서비스 서버(100)로부터 수신된 상기 사용자 단말(10)의 사용자 식별 정보와 접속 대상 DB 정보 및 수행 쿼리 정보를 미리 저장된 사용자 관련 권한 정보와 비교하여 상기 접속 대상 DB에 대한 상기 사용자 단말(10)의 쿼리 수행 권한을 검사할 수 있으며, 상기 사용자 단말(10)의 DB 접속에 따른 쿼리 수행 이력에 대한 이력 정보(또는 쿼리 수행 이력 정보)를 상기 사용자 식별 정보와 접속 대상 DB 정보 및 쿼리 수행 정보를 기초로 생성하여 저장할 수 있다.Accordingly, the
또한, 상기 보안 서버(200)는 상기 쿼리 수행 권한에 대한 검사 결과 쿼리 수행 권한이 없는 사용자 단말(10)의 쿼리를 차단하기 위한 제어 정보를 생성하여 상기 서비스 서버(100)에 전송할 수 있으며, 상기 서비스 서버(100)의 보안 처리부는 상기 제어 정보를 기초로 상기 접속 대상 DB에 대한 쿼리 수행 권한이 없는 사용자 단말(10)로부터 수신한 쿼리에 대응되는 패킷을 차단할 수 있다.In addition, the
즉, 상기 사용자 단말(10)이 상기 SQL 툴을 통해 상기 DB 서버(300)의 DB에 접속시 상기 서비스 서버(100)로부터 수신한 상기 사용자 단말(10)이 접속한 상기 DB 서버(300)의 접속 대상 DB에 대한 접속 대상 DB 정보 및 수행 쿼리 정보 중 적어도 하나와 사용자 식별 정보를 기초로 사용자의 접속 권한 및 쿼리 수행 권한 중 적어도 하나를 검사하고, 상기 검사에 따른 검사 결과 접속 권한이 없는 상기 사용자 단말(10)의 접속이나 쿼리 수행 권한이 없는 사용자 단말(10)의 쿼리를 차단하기 위한 제어 정보를 상기 서비스 서버(100)에 전송할 수 있다.That is, when the
상술한 바와 같이, 본 발명은 DB 접속 및 쿼리 수행을 위한 웹 기반의 SQL 툴을 사용자 단말(10)에 제공하여 상기 SQL 툴에 웹 브라우저를 통해 접속한 사용자 단말(10)이 DB에 접속하여 쿼리를 수행할 수 있도록 중계함으로써, 기존 전용 SQL 툴 사용시 버젼 차이로 인한 오류 발생과 해킹 위험을 방지함과 아울러, 상기 사용자 단말(10)을 이용하여 현재 서비스 서버(100)의 SQL 툴에 접속 중인 사용자에 대한 DB 접속 권한 및 쿼리 수행 권한을 판단하기 위해 필요하지만 상기 SQL 툴에 사용자 단말(10)이 접속시 생성되는 웹 세션에서는 추출할 수 없는 사용자 식별 정보를 상기 사용자 단말(10)에 배포한 보안 에이전트의 실행에 따라 상기 사용자 단말(10)에서 동작하는 보안 모듈(11)을 통해 용이하게 획득함으로써, 사용자 식별 정보를 기초로 사용자 단말(10) 및 사용자를 특정하여 인증하고 이를 기반으로 인증되지 않은 사용자가 인증된 사용자를 가장하여 DB에 접근하는 경우를 용이하게 차단하여 DB 운영에 대한 보안성 및 안정성을 보장할 수 있다.As described above, the present invention provides a web-based SQL tool for DB access and query execution to the
한편, 상기 사용자 단말(10)의 보안 모듈(11)은 상술한 구성 이외에도 상기 사용자 단말(10)의 해킹에 따른 DDOS 공격을 차단하거나 상기 웹 기반의 SQL 툴이 아닌 다른 툴을 이용한 DB 서버(300)에 대한 우회 접속에 따른 보안 위협을 방지하거나 DB 서버(300)에서 획득한 개인 정보에 대한 보호가 이루어지도록 지원하는 등의 다양한 기능을 제공할 수 있는데, 이를 도 7 내지 도 9를 참고하여 상세히 설명한다.On the other hand, the
우선, 도 7은 본 발명의 실시예에 따른 보안 모듈(11)의 DDOS 공격 차단 동작에 대한 예시도로서, 도시된 바와 같이, DDOS(Distributed Denial of Service) 공격이 발생하면 사용자 단말(10)에서는 짧은 시간 대량의 소켓(Socket Event)가 발생한다.First, FIG. 7 is an exemplary diagram of a DDOS attack blocking operation of the
이에 따라, 상기 사용자 단말(10)의 보안 모듈(11)은 대량의 http request 소켓 이벤트 발생 시, 커널 레이어(kernel layer)에서 해당 소켓 이벤트의 목적지 IP 및 접속 포트(destination ip/port)를 기초로 서비스 서버(100) 또는 DB 서버(300)로 전송되는 패킷이 차단되도록 상기 소켓 이벤트에 대응되는 소켓(Socket)을 강제 종료 시킬 수 있다.Accordingly, when a large number of http request socket events occur, the
또한, 상기 보안 모듈(11)은 해당 소켓 이벤트를 발생 시킨 프로세스의 PID를 추출하여, 웹 브라우저나, 악성 프로그램을 강제로 종료할 수 있다.In addition, the
즉, 상기 보안 모듈(11)은 미리 설정된 시간 동안 미리 설정된 기준치 이상의 소켓 이벤트 발생시 상기 소켓 이벤트의 목적지 IP와 접속 포트를 기초로 서비스 서버(100) 또는 DB 서버(300)로 전송되는 패킷이 차단되도록 상기 소켓 이벤트에 대응되는 소켓을 강제 종료시킬 수 있다.That is, the
이를 통해, 본 발명은 사용자 단말(10)에서 서비스 서버(100) 또는 DB 서버(300)에 대한 DDOS 공격이 발생하는 경우 이를 감지하여 서비스 서버(100) 또는 DB 서버(300)로 전송되는 패킷을 차단함으로써 사용자 단말(10)의 해킹에 따른 서비스 서버(100) 또는 DB 서버(300)의 보안 위험을 용이하게 방지할 수 있다.Through this, the present invention detects the occurrence of a DDOS attack on the
또한, 도 8은 본 발명의 실시예에 따른 보안 모듈(11)의 우회 접속 차단에 대한 동작 예시도로서, 도시된 바와 같이 사용자가 사용자 단말(10)에 설치된 상용 SQL 툴로 DB 서버(300)에 직접 접근(로그인) 시, 연결 소켓 이벤트(Connection Socket Event)가 발생하는데, 보안 모듈(11)은 연결 소켓 이벤트가 발생할 시, 목적지 IP 및 접속 포트(destination ip/port)를 통해 DB에 직접 접속하는 것이 확인 되면, 해당 패킷의 목적지 IP 및 접속 포트(destination ip/port)를 보안 서버(200)로부터 미리 수신하여 미리 저장한 우회 정보인 DB 보안 중계 리스너 정보로 변경한다.In addition, FIG. 8 is an operation example for blocking the bypass connection of the
즉, 상기 보안 모듈(11)은 보안 서버(200)로부터 상기 우회 정보를 미리 수신하여 저장하며, 상기 웹 기반의 SQL 툴이 아닌 상기 사용자 단말(10)에서 실행되는 상용 SQL 툴을 통해 상기 DB 서버(300)에 접속하는 경우를 연결 소켓 이벤트를 기초로 식별할 수 있다.That is, the
이에 따라, 상기 보안 모듈(11)은 상기 연결 소켓 이벤트에 대응되어 상기 상용 SQL 툴을 통해 생성된 패킷의 목적지 IP 및 접속 포트를 미리 저장된 상기 우회 정보에 따라 변경하여 상기 패킷이 상기 보안 서버(200)를 경유하도록 할 수 있다.Accordingly, the
이를 통해, 본 발명은 인증되지 않은 사용자가 웹 기반의 SQL 툴이 아닌 사용자 단말(10)에 설치된 상용 SQL 툴을 이용하여 DB 서버(300)에 직접 접속시 이를 사용자 단말(10)의 보안 모듈(11)에서 감지하여 상기 상용 SQL 툴에서 생성한 패킷의 전송 목적지를 상기 보안 서버(200)로 변경함으로써, 상기 패킷이 상기 보안 서버(200)에 전달되어 접속 권한 및 쿼리 수행 권한에 대한 검사가 이루어지도록 하여 인증되지 않은 사용자의 패킷이 DB 서버(300)에 전송되는 것을 방지함으로써 보안성을 높일 수 있다.Through this, in the present invention, when an unauthorized user directly accesses the
또한, 도 9는 본 발명의 실시예에 따른 보안 모듈(11)의 DB로부터 획득한 개인 정보에 대한 보호 동작에 대한 예시도로서, 도시된 바와 같이, 상기 보안 모듈(11)은 사용자가 서비스 서버(100)의 웹 기반 SQL 툴을 통해 개인 정보 조회 후, 웹 브라우저에서 보여지는 개인정보 데이터 저장 시, 비식별 처리 기능을 제공한다.In addition, FIG. 9 is an exemplary diagram of a protection operation for personal information acquired from the DB of the
일례로, 상기 보안 모듈(11)은 사용자가 웹 브라우저에서 보여지는 DB에서 획득한 데이터를 선택한 후 상기 데이터의 저장과 관련된 입력이 발생하면, 상기 데이터를 HTML 포맷으로 저장이 가능하다.For example, the
이에 따라, 상기 보안 모듈(11)은 상기 데이터 관련 파일 저장이 발생할 때, 입출력 요청 신호(I/O Request)가 발생하는데 웹 브라우저가 발생한 입출력 요청 신호를 체크하여 HTML의 데이터 부분만 추출한다.Accordingly, when the data-related file storage occurs, the
또한, 상기 보안 모듈(11)은 상기 추출된 데이터를 미리 저장된 개인정보 패턴과 부합되는지 패턴 매칭을 통해 확인하고, 상기 추출된 데이터가 상기 개인정보 패턴과 부합되면, 해당 추출된 데이터 부분을 마스킹 또는 공백 처리하여 저장할 수 있다.In addition, the
즉, 상기 보안 모듈(11)은 상기 서비스 서버(100)로부터 웹 브라우저를 통해 수신한 상기 DB 서버(300)의 패킷에 포함된 데이터를 상기 사용자 단말(10)의 저장부에 저장하기 위한 사용자 입력 발생시 상기 데이터를 미리 설정된 개인 정보의 패턴과 비교하여 상기 패턴을 만족하는 경우 상기 데이터를 마스킹 또는 공백 처리하여 저장할 수 있다.That is, the
이를 통해, 본 발명은 DB 서버(300)로부터 획득한 데이터 중 보안이 필요한 데이터를 미리 설정된 보안 패턴과 비교하여 상기 보안 패턴을 만족하는 데이터를 공백 처리하거나 마스킹 처리하여 저장함으로써 데이터 보안성을 높일 수 있다.Through this, the present invention compares data that requires security among data acquired from the
본 명세서에 기술된 다양한 장치 및 구성부는 하드웨어 회로(예를 들어, CMOS 기반 로직 회로), 펌웨어, 소프트웨어 또는 이들의 조합에 의해 구현될 수 있다. 예를 들어, 다양한 전기적 구조의 형태로 트랜지스터, 로직게이트 및 전자회로를 활용하여 구현될 수 있다.The various devices and components described herein may be implemented by hardware circuitry (eg, CMOS-based logic circuitry), firmware, software, or a combination thereof. For example, it may be implemented using transistors, logic gates, and electronic circuits in the form of various electrical structures.
전술된 내용은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Those of ordinary skill in the art to which the present invention pertains may modify and modify the above-described contents without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical spirit of the present invention, but to explain, and the scope of the technical spirit of the present invention is not limited by these embodiments. The protection scope of the present invention should be construed by the following claims, and all technical ideas within the equivalent range should be construed as being included in the scope of the present invention.
10: 사용자 단말
11: 보안 모듈
100: 서비스 서버
200: 보안 서버
300: DB 서버10: user terminal 11: security module
100: service server 200: security server
300: DB server
Claims (9)
상기 서비스 서버로부터 수신한 보안 에이전트를 상기 사용자 단말에 설치 및 실행한 상태의 모듈인 보안 모듈을 포함하고,
상기 서비스 서버는 웹 브라우저를 통해 접속한 상기 사용자 단말의 상기 웹 브라우저에 상기 SQL 툴의 이용을 위한 웹 페이지를 제공하고, 상기 웹 페이지를 통해 상기 사용자 단말로부터 수신한 상기 로그인 정보를 기초로 상기 사용자 단말의 사용자 인증 성공시 상기 웹 페이지를 통해 상기 SQL 툴에 접속하는 상기 사용자 단말의 웹 브라우저와 상기 SQL 툴 사이의 상기 패킷 송수신을 위해 생성한 웹 세션에서 추출할 수 없는 상기 사용자 단말의 미리 설정된 하나 이상의 보안 속성 관련 사용자 식별정보를 요청하기 위한 요청 정보를 전송하고,
상기 보안 모듈은 상기 요청 정보 수신시 상기 보안 속성별 파라미터를 추출하여 사용자 식별정보를 생성한 후 상기 서비스 서버에 전송하는 것을 특징으로 하는 웹 기반 SQL 툴을 이용한 접근 제어 시스템.
a service server that communicates with a DB server including a database through a communication network, and provides a web-based SQL tool for relaying packets transmitted and received between a user terminal accessing the database and the DB server; and
A security module that is a module in a state in which the security agent received from the service server is installed and executed in the user terminal,
The service server provides a web page for using the SQL tool to the web browser of the user terminal accessed through a web browser, and based on the login information received from the user terminal through the web page, the user A preset one of the user terminal that cannot be extracted from the web session created for the packet transmission/reception between the SQL tool and the web browser of the user terminal accessing the SQL tool through the web page when the user authentication of the terminal is successful Transmitting request information for requesting user identification information related to the above security attributes,
The security module extracts the parameters for each security attribute when the request information is received, generates user identification information, and then transmits the generated user identification information to the service server.
상기 서비스 서버는 상기 보안 모듈로부터 상기 사용자 식별정보를 수신하여 인증정보로 저장하고, 상기 인증 정보 저장 이후 상기 사용자 단말의 보안 모듈로부터 수신되는 사용자 식별정보가 상기 인증 정보와 일치하지 않는 경우 상기 사용자 단말의 상기 서비스 서버에 대한 접속을 차단하는 것을 특징으로 하는 웹 기반 SQL 툴을 이용한 접근 제어 시스템.
The method according to claim 1,
The service server receives the user identification information from the security module and stores it as authentication information, and when the user identification information received from the security module of the user terminal after storing the authentication information does not match the authentication information, the user terminal An access control system using a web-based SQL tool, characterized in that it blocks access to the service server.
상기 하나 이상의 보안 속성은 상기 사용자 단말의 MAC 주소, 호스트명, 상기 사용자 단말의 운영 체제에 설정된 사용자 계정, 로그인 시간 중 적어도 하나를 포함하는 것을 특징으로 하는 웹 기반 SQL 툴을 이용한 접근 제어 시스템.
The method according to claim 1,
The one or more security attributes include at least one of a MAC address of the user terminal, a host name, a user account set in the operating system of the user terminal, and a login time.
상기 사용자 단말이 상기 SQL 툴을 통해 상기 DB 서버에 접속시 상기 서비스 서버로부터 수신한 상기 사용자 단말이 접속한 상기 DB 서버의 접속 대상 DB에 대한 접속 대상 DB 정보 및 수행 쿼리 정보 중 적어도 하나와 사용자 식별 정보를 기초로 사용자의 접속 권한 및 쿼리 수행 권한 중 적어도 하나를 검사하고, 상기 검사에 따른 검사 결과 접속 권한이 없는 상기 사용자 단말의 접속이나 쿼리 수행 권한이 없는 사용자 단말의 쿼리를 차단하기 위한 제어 정보를 상기 서비스 서버에 전송하는 보안 서버를 더 포함하는 것을 특징으로 하는 웹 기반 SQL 툴을 이용한 접근 제어 시스템.
The method according to claim 1,
When the user terminal accesses the DB server through the SQL tool, at least one of connection target DB information and execution query information for the connection target DB of the DB server accessed by the user terminal received from the service server and user identification Control information for inspecting at least one of the user's access right and query execution right based on the information, and blocking the access of the user terminal without the access right or the query of the user terminal without the query execution right as a result of the inspection according to the inspection Access control system using a web-based SQL tool, characterized in that it further comprises a security server for transmitting the to the service server.
상기 보안 모듈은 상기 웹 기반의 SQL 툴이 아닌 상기 사용자 단말에서 실행되는 상용 SQL 툴을 통해 상기 DB 서버에 접속하는 경우를 연결 소켓 이벤트를 기초로 식별하고, 상기 연결 소켓 이벤트에 대응되어 상기 상용 SQL 툴을 통해 생성된 패킷의 목적지 IP 및 접속 포트를 미리 저장된 우회 정보에 따라 변경하여 상기 패킷이 상기 보안 서버를 경유하도록 하는 것을 특징으로 하는 웹 기반 SQL 툴을 이용한 접근 제어 시스템.
5. The method according to claim 4,
The security module identifies a case of accessing the DB server through a commercial SQL tool executed in the user terminal rather than the web-based SQL tool, based on a connection socket event, and responds to the connection socket event in response to the commercial SQL tool. An access control system using a web-based SQL tool, characterized in that the packet passes through the security server by changing the destination IP and access port of the packet generated through the tool according to the pre-stored detour information.
상기 서비스 서버는 상기 인증 정보 생성 이전에 상기 사용자 단말에 설치된 상기 보안 에이전트에 대응되어 할당된 접속 포트와 상기 사용자 단말의 IP 및 사용자의 로그인 정보가 상호 매칭되어 포함된 상기 보안 에이전트의 배포 현황 정보를 생성하여 저장하고, 상기 서비스 서버로 접속하는 상기 사용자 단말의 웹 브라우저로부터 수신된 상기 로그인 정보를 상기 배포 현황 정보와 비교하여 사용자 인증 성공시 상기 배포 현황 정보에 따른 IP 및 접속 포트를 기초로 상기 요청 정보를 상기 사용자 단말의 보안 모듈에 전송하는 것을 특징으로 하는 웹 기반 SQL 툴을 이용한 접근 제어 시스템.
The method according to claim 1,
The service server provides the distribution status information of the security agent including the access port assigned to correspond to the security agent installed in the user terminal, the IP of the user terminal, and the login information of the user before generating the authentication information. Generated and stored, the login information received from the web browser of the user terminal accessing the service server is compared with the distribution status information, and upon successful user authentication, the request is based on the IP and access port according to the distribution status information An access control system using a web-based SQL tool, characterized in that the information is transmitted to the security module of the user terminal.
상기 보안 모듈은 미리 설정된 시간 동안 미리 설정된 기준치 이상의 소켓 이벤트 발생시 상기 소켓 이벤트의 목적지 IP와 접속 포트를 기초로 서비스 서버 또는 DB 서버로 전송되는 패킷이 차단되도록 상기 소켓 이벤트에 대응되는 소켓을 강제 종료시키는 것을 특징으로 하는 웹 기반 SQL 툴을 이용한 접근 제어 시스템.
The method according to claim 1,
The security module forcibly terminates the socket corresponding to the socket event so that packets transmitted to the service server or DB server are blocked based on the destination IP and connection port of the socket event when a socket event greater than or equal to a preset reference value occurs for a preset time. Access control system using a web-based SQL tool, characterized in that.
상기 보안 모듈은 상기 서비스 서버로부터 웹 브라우저를 통해 수신한 상기 DB 서버의 패킷에 포함된 데이터를 상기 사용자 단말의 저장부에 저장하기 위한 사용자 입력 발생시 상기 데이터를 미리 설정된 개인 정보의 패턴과 비교하여 상기 패턴을 만족하는 경우 상기 데이터를 마스킹 또는 공백 처리하여 저장하는 것을 특징으로 하는 웹 기반 SQL 툴을 이용한 접근 제어 시스템.
The method according to claim 1,
The security module compares the data with a preset pattern of personal information when a user input for storing the data included in the packet of the DB server received from the service server through a web browser in the storage unit of the user terminal occurs. When the pattern is satisfied, the access control system using a web-based SQL tool, characterized in that the data is masked or blanked and stored.
상기 서비스 서버가 상기 사용자 단말의 웹 브라우저로부터 로그인 정보를 수신하는 단계;
상기 서비스 서버가 상기 사용자 단말로부터 수신된 상기 로그인 정보를 기초로 상기 사용자 단말의 사용자 인증 성공시 상기 SQL 툴에서 상기 패킷 송수신을 위해 상기 사용자 단말에 대응되어 생성한 웹 세션에서 추출할 수 없는 상기 사용자 단말의 미리 설정된 하나 이상의 보안 속성 관련 사용자 식별정보를 요청하기 위한 요청 정보를 전송하는 단계;
상기 보안 모듈이 상기 요청 정보 수신시 상기 보안 속성별 파라미터를 추출하여 사용자 식별정보를 생성한 후 상기 서비스 서버에 전송하는 단계; 및
상기 서비스 서버가 상기 사용자 식별정보를 기저장된 인증 정보와 비교하여 인증 성공 여부에 따라 상기 사용자 단말의 접속을 선택적으로 차단하는 단계
를 포함하는 웹 기반 SQL 툴을 이용한 접근 제어 방법.A service server that communicates with a DB server including a database through a communication network, and provides a web-based SQL tool for relaying packets transmitted and received between a user terminal accessing the database and the DB server, and a security module configured in the user terminal In the access control method using the web-based SQL tool of
receiving, by the service server, login information from a web browser of the user terminal;
When the service server succeeds in user authentication of the user terminal based on the login information received from the user terminal, the SQL tool cannot extract the user from the web session generated corresponding to the user terminal for transmitting and receiving the packet. transmitting request information for requesting user identification information related to one or more preset security attributes of the terminal;
when the security module receives the request information, extracting the parameters for each security attribute, generating user identification information, and transmitting the generated user identification information to the service server; and
Comparing, by the service server, the user identification information with pre-stored authentication information, selectively blocking access to the user terminal according to whether authentication succeeds
Access control method using a web-based SQL tool including
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190158348A KR102284183B1 (en) | 2019-12-02 | 2019-12-02 | Access control system and method using SQL tool based on web |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190158348A KR102284183B1 (en) | 2019-12-02 | 2019-12-02 | Access control system and method using SQL tool based on web |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210068832A true KR20210068832A (en) | 2021-06-10 |
KR102284183B1 KR102284183B1 (en) | 2021-07-30 |
Family
ID=76378079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190158348A KR102284183B1 (en) | 2019-12-02 | 2019-12-02 | Access control system and method using SQL tool based on web |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102284183B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102521784B1 (en) * | 2021-10-26 | 2023-04-17 | 주식회사 신시웨이 | Access management apparatus and method for managing database access based on web application server |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100673137B1 (en) * | 2005-09-23 | 2007-01-22 | 삼성에스디에스 주식회사 | Security system and method in electronic document repository |
JP2008177714A (en) * | 2007-01-17 | 2008-07-31 | Alaxala Networks Corp | Network system, server, ddns server, and packet relay device |
KR100906449B1 (en) * | 2009-03-11 | 2009-07-08 | 주식회사 신시웨이 | Database tool identifying apparatus and method thereof |
KR100921255B1 (en) * | 2009-05-14 | 2009-10-13 | 주식회사 신시웨이 | Sql masking apparatus and method thereof |
KR101104300B1 (en) * | 2011-05-11 | 2012-01-11 | 주식회사 신시웨이 | System of access management comprising exclusive tool for accessing of personal information database and method thereof |
KR101963153B1 (en) | 2017-07-12 | 2019-03-29 | 주식회사 넷앤드 | A DB access control system based on banned-word by using the parser, for enhancing security of personal information |
-
2019
- 2019-12-02 KR KR1020190158348A patent/KR102284183B1/en active IP Right Grant
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100673137B1 (en) * | 2005-09-23 | 2007-01-22 | 삼성에스디에스 주식회사 | Security system and method in electronic document repository |
JP2008177714A (en) * | 2007-01-17 | 2008-07-31 | Alaxala Networks Corp | Network system, server, ddns server, and packet relay device |
KR100906449B1 (en) * | 2009-03-11 | 2009-07-08 | 주식회사 신시웨이 | Database tool identifying apparatus and method thereof |
KR100921255B1 (en) * | 2009-05-14 | 2009-10-13 | 주식회사 신시웨이 | Sql masking apparatus and method thereof |
KR101104300B1 (en) * | 2011-05-11 | 2012-01-11 | 주식회사 신시웨이 | System of access management comprising exclusive tool for accessing of personal information database and method thereof |
KR101963153B1 (en) | 2017-07-12 | 2019-03-29 | 주식회사 넷앤드 | A DB access control system based on banned-word by using the parser, for enhancing security of personal information |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102521784B1 (en) * | 2021-10-26 | 2023-04-17 | 주식회사 신시웨이 | Access management apparatus and method for managing database access based on web application server |
Also Published As
Publication number | Publication date |
---|---|
KR102284183B1 (en) | 2021-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10757094B2 (en) | Trusted container | |
US11245687B2 (en) | Hardware-based device authentication | |
US10083290B2 (en) | Hardware-based device authentication | |
US7353533B2 (en) | Administration of protection of data accessible by a mobile device | |
US10356612B2 (en) | Method of authenticating a terminal by a gateway of an internal network protected by an access security entity providing secure access | |
US20140223178A1 (en) | Securing Communication over a Network Using User Identity Verification | |
CN107122674B (en) | Access method of oracle database applied to operation and maintenance auditing system | |
US20080148046A1 (en) | Real-Time Checking of Online Digital Certificates | |
CN106059802B (en) | Terminal access authentication method and device | |
RU2713604C1 (en) | Registration and authentication of users without passwords | |
CN110781465B (en) | BMC remote identity verification method and system based on trusted computing | |
EP2795522B1 (en) | Techniques to store secret information for global data centers | |
KR102284183B1 (en) | Access control system and method using SQL tool based on web | |
CN109587134B (en) | Method, apparatus, device and medium for secure authentication of interface bus | |
KR101619928B1 (en) | Remote control system of mobile | |
KR102150484B1 (en) | An access authentication system using onetime password for enhancing security | |
KR102584579B1 (en) | Database access control gateway service system based on software as a service and method thereof | |
KR101175667B1 (en) | Network access management method for user terminal using firewall | |
CN107925653B (en) | Telecommunication system for secure transmission of data therein and device associated with the telecommunication system | |
CN117319080A (en) | Mobile terminal for isolating secret communication and communication method | |
WO2016192765A1 (en) | Authentication and authorization based on credentials and ticket |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |