KR102284183B1 - 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 PDF

Info

Publication number
KR102284183B1
KR102284183B1 KR1020190158348A KR20190158348A KR102284183B1 KR 102284183 B1 KR102284183 B1 KR 102284183B1 KR 1020190158348 A KR1020190158348 A KR 1020190158348A KR 20190158348 A KR20190158348 A KR 20190158348A KR 102284183 B1 KR102284183 B1 KR 102284183B1
Authority
KR
South Korea
Prior art keywords
user terminal
user
information
web
security
Prior art date
Application number
KR1020190158348A
Other languages
Korean (ko)
Other versions
KR20210068832A (en
Inventor
박종한
Original Assignee
주식회사 신시웨이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 신시웨이 filed Critical 주식회사 신시웨이
Priority to KR1020190158348A priority Critical patent/KR102284183B1/en
Publication of KR20210068832A publication Critical patent/KR20210068832A/en
Application granted granted Critical
Publication of KR102284183B1 publication Critical patent/KR102284183B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers 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

본 발명은 웹 기반 SQL 툴을 이용한 접근 제어 시스템 및 방법에 관헌 것으로서, 더욱 상세히는 기존 웹 기반으로 제공되는 SQL 툴에 접속하는 사용자 단말에 대해 생성한 웹 세션에서 추출하지 못하는 사용자 단말의 특정을 위한 보안 속성을 용이하게 추출할 수 있도록 지원하여 데이터베이스에 대한 접근 권한을 정확하게 감시하여 데이터베이스 접근에 대한 보안성을 높일 수 있도록 한 웹 기반 SQL 툴을 이용한 접근 제어 시스템 및 방법에 관한 것이다. 본 발명은 DB 접속 및 쿼리 수행을 위한 웹 기반의 SQL 툴을 사용자 단말에 제공하여 상기 SQL 툴에 웹 브라우저를 통해 접속한 사용자 단말이 DB에 접속하여 쿼리를 수행할 수 있도록 중계함으로써, 기존 전용 SQL 툴 사용시 버젼 차이로 인한 오류 발생과 해킹 위험을 방지함과 아울러, 상기 사용자 단말을 이용하여 현재 서비스 서버의 SQL 툴에 접속 중인 사용자에 대한 DB 접속 권한 및 쿼리 수행 권한을 판단하기 위해 필요하지만 상기 SQL 툴에 사용자 단말이 접속시 생성되는 웹 세션에서는 추출할 수 없는 사용자 식별 정보를 상기 사용자 단말에 배포한 보안 에이전트의 실행에 따라 상기 사용자 단말에서 동작하는 보안 모듈을 통해 용이하게 획득함으로써, 사용자 식별 정보를 기초로 사용자 단말 및 사용자를 특정하여 인증하고 이를 기반으로 인증되지 않은 사용자가 인증된 사용자를 가장하여 DB에 접근하는 경우를 용이하게 차단하여 DB 운영에 대한 보안성 및 안정성을 보장하는 효과가 있다.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. 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. .

Description

웹 기반 SQL 툴을 이용한 접근 제어 시스템 및 방법{Access control system and method using SQL tool based on web}Access control system and method using SQL tool based on web}

본 발명은 웹 기반 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 access the existing database. 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.

한국등록특허 제10-1963153호Korean Patent No. 10-1963153

본 발명은 상술한 문제를 해결하기 위해, 사용자 단말이 웹 기반의 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 service server 100 providing a web browser of the user terminal 10 and the service server 100 through a communication network, and the DB server 300 through the service server 100 ), a security server that selectively blocks access to the DB or execution of a query of the user terminal 10 according to the authority by monitoring the DB access authority and query execution authority of the user terminal 10 accessing the DB of ( 200) may be included.

이때, 상기 서비스 서버(100)는 상기 웹 브라우저를 통해 상기 서비스 서버(100)의 SQL 툴에 접속하는 상기 사용자 단말(10)에 대응되어 웹 세션을 생성하고, 상기 웹 세션을 기초로 상기 DB 서버(300)에 접속하여 상기 DB 서버(300)에서 상기 웹 세션에 대응되는 DB 세션이 생성되도록 하여, 상기 웹 세션 및 DB 세션을 통해 상기 사용자 단말(10)로부터 수신된 패킷이 상기 DB 서버(300)로 전송되도록 중계하며, 상기 웹 세션 및 DB 세션을 통해 상기 DB 서버(300)로부터 수신된 패킷이 상기 사용자 단말(10)로 전송되도록 중계할 수 있다.At this time, the service server 100 generates a web session corresponding to the user terminal 10 accessing the SQL tool of the service server 100 through the web browser, and based on the web session, the DB server By accessing 300, the DB server 300 creates a DB session corresponding to the web session, so that the packet received from the user terminal 10 through the web session and the DB session is transmitted to the DB server 300 ), and a packet received from the DB server 300 through the web session and the DB session may be relayed to be transmitted to the user terminal 10 .

즉, 상기 서비스 서버(100)는 상기 웹 세션 및 DB 세션을 통해 상기 사용자 단말(10)이 전송하는 패킷을 상기 DB 서버(300)로 전송하고, 상기 DB 서버(300)로부터 수신된 패킷을 상기 사용자 단말(10)에 전송할 수 있다.That is, the service server 100 transmits a packet transmitted by the user terminal 10 to the DB server 300 through the web session and the DB session, and transmits the packet received from the DB server 300 to the It can be transmitted to the user terminal 10 .

또한, 상기 서비스 서버(100)는 상기 사용자 단말(10)로부터 상기 웹 세션을 통해 수신된 로그인 정보를 기초로 사용자를 인증하여 인증된 사용자만이 상기 DB 서버(300)의 DB에 접속할 수 있도록 동작할 수 있다.In addition, the service server 100 authenticates the user based on the login information received from the user terminal 10 through the web session so that only the authenticated user can access the DB of the DB server 300 . can do.

또한, 상기 보안 서버(200)는 상기 서비스 서버(100)로부터 상기 패킷을 수신하여 미리 설정된 프로토콜에 따라 상기 패킷에 대한 사용자의 접속 권한 및 쿼리 수행 권한을 검사하고, 상기 검사에 따른 검사 결과 접속 권한이 없는 상기 사용자 단말(10)의 접속이나 쿼리 수행 권한이 없는 사용자 단말(10)의 쿼리를 차단하기 위한 제어 정보를 상기 서비스 서버(100)에 전송하여 상기 제어 정보에 따라 상기 사용자 단말(10)의 접속 차단 또는 패킷이 차단되도록 할 수 있다.In addition, the security server 200 receives the packet from the service server 100 and checks the user's access right to the packet and the query execution right according to a preset protocol, and the check result access right according to the check By transmitting control information for blocking the access of the user terminal 10 without the access or the query of the user terminal 10 without the right to perform a query to the service server 100, the user terminal 10 according to the control information can block access or block packets.

상술한 구성을 통해, 서비스 서버(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 service server 100 is web-based and the version is always up-to-date, and the web-based SQL tool is installed to the user terminal so that the user terminal 10 accesses the DB server 300 through a single SQL tool. Provided through the web browser of (10), when the user terminal 10 installed with a dedicated SQL tool that is not based on the existing web directly connects to the DB server 300, between the dedicated SQL tool and the DB server 300 In addition to easily preventing malfunction of the DB server 300 that occurs due to the version difference of can be prevented

그러나, 웹 기반의 SQL 툴을 제공하는 서비스 서버(100)와 보안 서버(200)만의 구성으로는 웹 세션에서 사용자 단말(10)에 대해 얻을 수 있는 정보가 IP 만으로 한정되며, 이로 인해 사용자 단말(10) 및 사용자를 특정하기가 어려워, SQL 툴에 접속하는 사용자 단말(10)의 정상 사용자(인증된 사용자)에 대한 로그인 정보가 유출된 경우 타인이 상기 정상 사용자를 가장하여 상기 사용자 단말(10)을 통해 용이하게 DB에 접속할 수 있으므로, 보안상 취약점이 드러난다.However, with the configuration of only the service server 100 and the security server 200 that provide a web-based SQL tool, information that can be obtained about the user terminal 10 in a web session is limited to only IP, and thus the user terminal ( 10) and it is difficult to specify a user, and when login information for a normal user (authenticated user) of the user terminal 10 accessing the SQL tool is leaked, another person impersonates the normal user and the user terminal 10 can easily access the DB, revealing security vulnerabilities.

따라서, 웹 기반의 SQL 툴을 통한 DB 서버(300) 접속시 보안을 유지하기 위해서는 사용자 단말(10) 및 사용자를 특정하기 위한 추가적인 정보가 필요하다.Therefore, in order to maintain security when accessing the DB server 300 through the web-based SQL tool, additional information for specifying the user terminal 10 and the user is required.

이와 같은 사용자 단말(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 user terminal 10 and the specific difficulty of the user is shown in FIGS. 4 and It will be described in detail with reference to FIG. 5 .

도 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 DB server 300 including a DB through a communication network, and a user terminal 10 and the DB server 300 accessing the DB. It may include a service server 100 that provides a web-based SQL tool for relaying packets transmitted and received therebetween, the security server 200 , and a security module 11 configured in the user terminal 10 . .

이때, 상기 서비스 서버(100)는 상술한 바와 같이 웹 기반의 SQL 툴을 통한 데이터 베이스 접속시 보안을 위해 사용자 단말(10) 및 사용자를 특정하기 위해 필요한 사용자 식별정보를 획득하기 위한 보안 에이전트를 상기 사용자 단말(10)로 배포할 수 있다.At this time, as described above, the service server 100 provides a security agent for obtaining the user terminal 10 and user identification information necessary for specifying the user for security when accessing the database through the web-based SQL tool. It can be distributed to the user terminal 10 .

또한, 상기 사용자 단말(10)은 사용자 입력을 수신하는 사용자 입력부와, 상기 서비스 서버(100), 보안 서버(200), DB 서버(300) 등과 같은 외부 서버와의 통신을 위한 통신부와, 각종 정보를 표시하는 표시부 및 각종 정보를 저장하는 저장부를 포함하는 복수의 구성부를 포함할 수 있으며, 상기 사용자 단말(10)에는 상기 복수의 구성부를 제어하는 제어부가 구성될 수 있다.In addition, the user terminal 10 includes a user input unit for receiving a user input, a communication unit for communication with an external server such as the service server 100 , the security server 200 , the DB server 300 , and various information. It may include a plurality of components including a display unit for displaying and a storage unit for storing various information, the user terminal 10 may be configured with a control unit for controlling the plurality of components.

이에 따라, 상기 제어부는 상기 통신부를 통해 상기 서비스 서버(100)에 접속하여 상기 서비스 서버(100)가 배포하는 상기 보안 에이전트(agent) 관련 데이터를 다운로드하여 상기 저장부에 저장할 수 있으며, 상기 제어부는 상기 보안 에이전트 관련 데이터를 설치 및 실행하여 보안 모듈(11)로서 동작할 수 있다.Accordingly, the control unit may access the service server 100 through the communication unit, download the security agent related data distributed by the service server 100 and store it in the storage unit, and the control unit may It can operate as the security module 11 by installing and executing the security agent-related data.

이때, 상기 보안 모듈(11)은 상기 사용자 단말(10)의 제어부에 의해 설치 및 실행되는 보안 에이전트를 의미할 수도 있다.In this case, the security module 11 may refer to a security agent installed and executed by the control unit of the user terminal 10 .

또한, 이하에서 설명하는 서비스 서버(100), 보안 서버(200), DB 서버(300)를 포함하는 외부 서버와 상기 사용자 단말(10) 사이의 통신은 상기 사용자 단말(10)의 통신부를 통해 이루어질 수 있다.In addition, communication between the user terminal 10 and an external server including the service server 100 , the security server 200 , and the DB server 300 to be described below is performed through the communication unit of the user terminal 10 . can

상술한 구성을 토대로, 도 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 user terminal 10 is configured to control the service server 100 through a web browser. ) provided by a web service related web page for use of the SQL tool, and the service server 100 includes login information including ID and PASSWORD from the user terminal 10 accessing the web page. The received user information may be received and stored (S1).

이때, 상기 서비스 서버(100)는 상기 사용자 정보를 저장하기 위한 회원 DB를 포함할 수 있다.In this case, the service server 100 may include a member DB for storing the user information.

또한, 상기 서비스 서버(100)는 상기 웹 서비스를 통해 상기 보안 에이전트를 상기 사용자 단말(10)에 배포할 수 있으며, 상기 사용자 단말(10)의 제어부는 상기 웹 서비스를 통해 상기 보안 에이전트 관련 데이터를 다운로드하여 상기 사용자 단말(10)에 저장할 수 있다(S2, S3).In addition, the service server 100 may distribute the security agent to the user terminal 10 through the web service, and the control unit of the user terminal 10 transmits the security agent related data through the web service. It can be downloaded and stored in the user terminal 10 (S2, S3).

또한, 상기 사용자 단말(10)의 제어부는 상기 저장부에 저장된 상기 보안 에이전트 관련 데이터를 설치 및 실행할 수 있으며, 상기 보안 에이전트 실행시 상기 제어부는 상기 보안 에이전트가 백그라운드 상태로 항시 실행 중인 상태의 보안 모듈(11)로서 동작할 수 있다(S4, S5).In addition, the control unit of the user terminal 10 may install and execute the security agent-related data stored in the storage unit, and when the security agent is executed, the control unit is a security module in a state in which the security agent is always running in a background state It can operate as (11) (S4, S5).

상술한 구성에서, 상기 서비스 서버(100)는 상기 사용자 단말(10)에 설치된 상기 보안 에이전트의 접속 포트(agent port)를 할당하여 상기 사용자 정보(또는 로그인 정보)와 매칭할 수 있으며, 상기 사용자 단말(10)의 IP를 확인하여 상기 사용자 정보와 매칭하고, 상기 사용자 정보와 매칭된 IP 및 접속 포트와 상기 사용자 정보를 포함하는 상기 보안 에이전트의 배포 현황 정보를 생성하여 상기 회원 DB에 저장할 수 있다.In the above configuration, the service server 100 may allocate an access port of the security agent installed in the user terminal 10 to match the user information (or login information), and the user terminal By checking the IP of (10) and matching the user information, the distribution status information of the security agent including the IP matched with the user information and the access port and the user information can be generated and stored in the member DB.

한편, 상기 사용자 단말(10)의 제어부는 상기 웹 브라우저를 통해 상기 웹 서비스의 웹 페이지에 접속하고, 상기 웹 페이지에 입력되는 상기 사용자 단말(10)의 사용자 입력부를 통한 사용자 입력을 기초로 로그인 정보를 생성한 후 상기 서비스 서버(100)에 전송할 수 있다(S6, S7).On the other hand, the control unit of the user terminal 10 accesses the web page of the web service through the web browser, and login information based on a user input through the user input unit of the user terminal 10 is input to the web page. may be generated and then transmitted to the service server 100 (S6, S7).

또한, 상기 서비스 서버(100)는 상기 사용자 단말(10)의 웹 브라우저로부터 상기 웹 페이지를 통해 수신한 상기 로그인 정보를 상기 사용자 단말(10)에 대응되는 배포 현황 정보에 포함된 사용자 정보와 비교하여 사용자 인증을 수행하고(S8), 사용자 인증 성공시 상기 웹 페이지를 통해 제공되는 상기 SQL 툴에 접속하는 상기 사용자 단말(10)의 웹 브라우저와 상기 SQL 툴 사이의 상기 패킷 송수신을 위해 생성한 웹 세션에서 추출할 수 없는 상기 사용자 단말(10)의 미리 설정된 하나 이상의 보안 속성 관련 사용자 식별정보를 요청하기 위한 요청 정보를 전송할 수 있다(S9).In addition, the service server 100 compares the login information received through the web page from the web browser of the user terminal 10 with the user information included in the distribution status information corresponding to the user terminal 10, A web session generated for transmitting and receiving the packet between the SQL tool and the web browser of the user terminal 10 that performs user authentication (S8) and accesses the SQL tool provided through the web page upon successful user authentication It is possible to transmit request information for requesting user identification information related to one or more preset security attributes of the user terminal 10 that cannot be extracted in (S9).

다시 말해, 상기 서비스 서버(100)는 사용자 단말(10)의 제어부가 웹 브라우저를 실행하여 상기 웹 브라우저를 통해 상기 SQL 툴에 접속시, 상기 SQL 툴과 상기 사용자 단말(10)의 웹 브라우저 사이에 웹 세션을 생성하고, 상기 사용자 단말(10)의 웹 브라우저에 대응되어 상기 웹 세션 생성시, 상기 웹 세션에 대응되는 회원 DB에 저장된 상기 배포 현황 정보를 기초로 사용자 단말(10)의 보안 모듈(11)을 식별할 수 있다.In other words, when the control unit of the user terminal 10 executes a web browser and accesses the SQL tool through the web browser, the service server 100 is configured between the SQL tool and the web browser of the user terminal 10 . When creating a web session and corresponding to the web browser of the user terminal 10, the security module ( 11) can be identified.

일례로, 상기 서비스 서버(100)는 상기 웹 세션에 따른 사용자 단말(10)의 IP와 일치하는 상기 회원 DB의 배포 현황 정보를 식별하고, 상기 웹 세션에 대응되어 식별된 배포 현황 정보를 기초로 상기 사용자 단말(10)의 보안 모듈(11)을 식별할 수 있다.For example, the service server 100 identifies the distribution status information of the member DB that matches the IP of the user terminal 10 according to the web session, and based on the identified distribution status information corresponding to the web session The security module 11 of the user terminal 10 may be identified.

또한, 상기 서비스 서버(100)는 상기 웹 세션에 대응되어 식별된 상기 배포 현황 정보에 따른 IP 및 접속 포트를 기초로 식별된 상기 사용자 단말(10)의 보안 모듈(11)로 상기 요청 정보를 전송할 수 있다.In addition, the service server 100 transmits the request information to the security module 11 of the user terminal 10 identified based on the IP and the access port according to the distribution status information identified corresponding to the web session. can

이에 따라, 상기 보안 모듈(11)은 상기 요청 정보 수신시 상기 사용자 단말(10)의 상기 보안 속성별 파라미터를 추출하여 사용자 식별정보를 생성한 후 상기 서비스 서버(100)에 전송할 수 있다(S10).Accordingly, the security module 11 may extract the parameters for each security attribute of the user terminal 10 upon receiving the request information, generate user identification information, and then transmit it to the service server 100 (S10) .

이때, 상기 하나 이상의 보안 속성은 상기 사용자 단말(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 user terminal 10, a host name (client_mac_addr), a user account set in the operating system of the user terminal 10 (client_os_user), and a login time. may include

또한, 상기 보안 모듈(11)은 상기 사용자 식별정보를 미리 설정된 암호화 방식에 따라 암호화하여 상기 서비스 서버(100)에 전송할 수 있으며, 상기 서비스 서버(100)는 상기 암호화 방식에 대응되는 복호화 방식에 따라 상기 암호화된 사용자 식별정보를 복호화할 수 있다.In addition, the security module 11 may encrypt the user identification information according to a preset encryption method and transmit it to the service server 100, and the service server 100 may transmit the user identification information to the service server 100 according to a decryption method corresponding to the encryption method. The encrypted user identification information may be decrypted.

또한, 상기 서비스 서버(100)는 상기 보안 모듈(11)로부터 상기 사용자 식별정보의 최초 수신시 상기 사용자 식별 정보를 인증정보로 상기 회원 DB에 저장할 수 있다(S11).Also, the service server 100 may store the user identification information as authentication information in the member DB when the user identification information is initially received from the security module 11 (S11).

이때, 상기 서비스 서버(100)는 상기 사용자 단말(10)의 보안 모듈(11)로부터 상기 요청 정보에 대응되어 수신되는 사용자 식별 정보와 매칭되는 배포 현황 정보를 상기 회원 DB에서 식별할 수 있으며, 상기 배포 현황 정보를 상기 인증 정보에 포함시켜 저장할 수 있다.In this case, the service server 100 may identify, in the member DB, distribution status information matching the user identification information received in response to the request information from the security module 11 of the user terminal 10, Distribution status information may be included in the authentication information and stored.

또한, 상기 서비스 서버(100)는 인증 정보가 저장된 경우 상기 사용자 단말(10)의 인증에 성공하여 로그인이 완료된 것으로 판단하고(S12), 로그인이 완료된 상기 사용자 단말(10)이 웹 브라우저 기반으로 상기 SQL 툴을 통해 상기 DB 서버(300)에 접속할 수 있도록 중계하며, 상기 사용자 단말(10)의 웹 브라우저와 상기 DB 서버(300) 사이에 송수신되는 패킷을 중계할 수 있다(S13).In addition, when the authentication information is stored, the service server 100 determines that the login is completed by successfully authenticating the user terminal 10 ( S12 ), and the user terminal 10 on which the login is completed is based on a web browser. It relays so that it can access the DB server 300 through the SQL tool, and can relay packets transmitted and received between the web browser of the user terminal 10 and the DB server 300 (S13).

또한, 상술한 구성에 따라, 상기 서비스 서버(100)는 상기 인증 정보 저장 이후 상기 사용자 단말(10)의 제어부가 상기 웹 브라우저를 통해 상기 서비스 서버(100)의 SQL 툴에 재접속하는 경우 상기 사용자 단말(10)의 웹 브라우저로부터 수신된 로그인 정보를 기초로 사용자 인증 성공시 상기 요청 정보를 생성하여 상기 보안 모듈(11)에 전송하고, 상기 요청 정보에 대응되어 사용자 단말(10)의 보안 모듈(11)로부터 상기 사용자 식별 정보를 수신할 수 있다.In addition, according to the above configuration, the service server 100 is the user terminal when the control unit of the user terminal 10 reconnects to the SQL tool of the service server 100 through the web browser after storing the authentication information. Upon successful user authentication based on the login information received from the web browser of (10), the request information is generated and transmitted to the security module 11, and the security module 11 of the user terminal 10 corresponds to the request information ) may receive the user identification information from.

일례로, 상기 서비스 서버(100)는 상기 사용자 단말(10)이 웹 브라우저를 통해 상기 서비스 서버(100)의 웹 페이지에 접속할 때 상기 웹 브라우저를 통해 상기 사용자 단말(10)의 제어부로부터 수신한 로그인 정보를 상기 사용자 단말(10)에 대응되는 상기 인증 정보와 비교하여 사용자 인증 성공시 상기 인증 정보에 포함된 배포 현황 정보를 기초로 상기 사용자 단말(10)의 IP 및 접속 포트 중 적어도 하나를 확인하여 상기 사용자 단말(10)의 보안 모듈(11)을 식별할 수 있으며, 사용자 인증 성공시 상기 사용자 단말(10)의 인증을 위해 상기 사용자 식별 정보를 요청하기 위한 상기 요청 정보를 생성하여 상기 인증 정보를 기초로 식별된 상기 사용자 단말(10)의 보안 모듈(11)에 전송할 수 있다.For example, when the user terminal 10 accesses a web page of the service server 100 through a web browser, the service server 100 may log in received from the control unit of the user terminal 10 through the web browser. By comparing the information with the authentication information corresponding to the user terminal 10 and confirming at least one of the IP and the access port of the user terminal 10 based on the distribution status information included in the authentication information when the user authentication is successful, The security module 11 of the user terminal 10 can be identified, and when the user authentication is successful, the request information is generated for requesting the user identification information for the authentication of the user terminal 10 to obtain the authentication information. It can be transmitted to the security module 11 of the user terminal 10 identified as the basis.

이때, 상기 서비스 서버(100)는 상기 로그인 정보가 상기 인증 정보에 포함된 배포 현황 정보와 일치하지 않는 경우 상기 사용자 단말(10)의 상기 서비스 서버(100)에 대한 접속을 차단할 수 있다.In this case, when the login information does not match the distribution status information included in the authentication information, the service server 100 may block the user terminal 10 from accessing the service server 100 .

또한, 상기 서비스 서버(100)는 상기 요청 정보에 대응되어 상기 사용자 단말(10)의 보안 모듈(11)로부터 수신된 사용자 식별 정보와 상기 회원 DB에서 상기 로그인 정보에 대응되어 식별된 상기 사용자 단말(10)의 인증 정보를 미리 설정된 상기 보안 속성별로 비교하여 상호 일치하는 경우에만 상기 사용자 단말(10)의 상기 서비스 서버(100)에 대한 접속을 허용하고, 일치하지 않는 경우 상기 사용자 단말(10)의 상기 서비스 서버(100)에 대한 접속을 차단하여 인증되지 않은 사용자 단말(10)의 상기 DB 서버(300) 및 상기 서비스 서버(100)에 대한 접속을 차단할 수 있다.In addition, the service server 100 corresponds to the request information and the user identification information received from the security module 11 of the user terminal 10 and the user terminal ( The authentication information of 10) is compared for each of the preset security attributes, and only when they match each other, the user terminal 10 allows access to the service server 100, and when they do not match, the user terminal 10 By blocking access to the service server 100 , an unauthorized user terminal 10 may block access to the DB server 300 and the service server 100 .

한편, 도 6에 도시된 바와 같이, 상기 서비스 서버(100)는 보안 처리부를 포함하여 구성되며, 상기 보안 처리부는 상기 서비스 서버(100)에서 제공하는 웹 기반의 SQL 툴에 접속하여 로그인 정보를 기초로 한 사용자 인증 및 사용자 식별 정보를 기초로 한 사용자 단말(10)에 대한 인증이 완료되어 로그인이 완료된 사용자 단말(10)에 대응되어 생성한 웹 세션을 기초로 상기 DB 서버(300)에 접속하여 상기 DB 서버(300)에서 사용자 단말(10)에 대응되는 DB 세션이 생성되도록 할 수 있으며, 상기 웹 세션 및 DB 세션을 기초로 상기 사용자 단말(10)이 DB 서버(300)에 SQL 툴을 통해 접속할 수 있도록 제어할 수 있다.Meanwhile, as shown in FIG. 6 , the service server 100 is configured to include a security processing unit, and the security processing unit accesses a web-based SQL tool provided by the service server 100 and based on login information. By accessing the DB server 300 based on the web session generated in response to the user terminal 10, the authentication of which is completed based on the user authentication and user identification information, and the login is completed. A DB session corresponding to the user terminal 10 may be created in the DB server 300 , and the user terminal 10 is connected to the DB server 300 based on the web session and the DB session through an SQL tool. You can control access.

또한, 상기 서비스 서버(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 service server 100 accesses the DB server 300 of the user terminal 10 through the web-based SQL tool, the service server ( 100) and the security server 200 communicating through a communication network, it is possible to transmit the user identification information and the connection target DB information for the connection target DB (database) of the DB server 300 to which the user terminal 10 is currently connected.

이때, 상기 접속 대상 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 security server 200 compares the user identification information and the access target DB information of the user terminal 10 with user-related authority information stored in advance, and the user of the user terminal 10 for the access target DB. can check the access right of the user terminal 10, and generate and store history information on the DB access history according to the DB access of the user terminal 10 based on the user identification information and the access target DB information.

또한, 상기 보안 서버(200)는 상기 접속 권한에 대한 검사 결과 접속 권한이 없는 사용자 단말(10)의 접속을 차단하기 위한 제어 정보를 생성하여 상기 서비스 서버(100)에 전송할 수 있으며, 상기 서비스 서버(100)의 보안 처리부는 상기 제어 정보를 기초로 상기 접속 대상 DB에 대한 접속 권한이 없는 사용자 단말(10)의 접속을 차단할 수 있다.In addition, the security server 200 may generate and transmit control information for blocking access to the user terminal 10 without the access right as a result of the check on the access right to the service server 100, and the service server The security processing unit of ( 100 ) may block the access of the user terminal 10 , which does not have access to the access target DB, based on the control information.

또한, 상기 서비스 서버(100)의 보안 처리부는 상기 웹 기반 SQL 툴을 통한 사용자 단말(10)의 DB 접속시 미리 설정된 쿼리 수행 접근 통제 관련 API에 따라 상기 보안 서버(200)로 상기 사용자 식별 정보와 상기 접속 대상 DB 정보 및 수행 쿼리 정보를 전송할 수 있다.In addition, the security processing unit of the service server 100 when accessing the DB of the user terminal 10 through the web-based SQL tool, according to a preset query execution access control related API, the user identification information and The connection target DB information and execution query information may be transmitted.

이때, 상기 보안 처리부는 상기 사용자 단말(10)로부터 수신된 패킷을 미리 설정된 프로토콜에 따라 분석하여 상기 수행 쿼리 정보를 추출할 수 있으며, 상기 수행 쿼리 정보는 SQL 텍스트(TEXT), Bind변수, 수행시간 등을 포함할 수 있다.In this case, the security processing unit may extract the execution query information by analyzing the packet received from the user terminal 10 according to a preset protocol, and the execution query information includes SQL text (TEXT), Bind variable, and execution time. and the like.

이에 따라, 상기 보안 서버(200)는 상기 서비스 서버(100)로부터 수신된 상기 사용자 단말(10)의 사용자 식별 정보와 접속 대상 DB 정보 및 수행 쿼리 정보를 미리 저장된 사용자 관련 권한 정보와 비교하여 상기 접속 대상 DB에 대한 상기 사용자 단말(10)의 쿼리 수행 권한을 검사할 수 있으며, 상기 사용자 단말(10)의 DB 접속에 따른 쿼리 수행 이력에 대한 이력 정보(또는 쿼리 수행 이력 정보)를 상기 사용자 식별 정보와 접속 대상 DB 정보 및 쿼리 수행 정보를 기초로 생성하여 저장할 수 있다.Accordingly, the security server 200 compares the user identification information of the user terminal 10 received from the service server 100, the access target DB information, and the query information to be performed with the pre-stored user-related authorization information to access the access. It is possible to check the query execution authority of the user terminal 10 with respect to the target DB, and the user identification information It can be created and saved based on the database and connection target DB information and query execution information.

또한, 상기 보안 서버(200)는 상기 쿼리 수행 권한에 대한 검사 결과 쿼리 수행 권한이 없는 사용자 단말(10)의 쿼리를 차단하기 위한 제어 정보를 생성하여 상기 서비스 서버(100)에 전송할 수 있으며, 상기 서비스 서버(100)의 보안 처리부는 상기 제어 정보를 기초로 상기 접속 대상 DB에 대한 쿼리 수행 권한이 없는 사용자 단말(10)로부터 수신한 쿼리에 대응되는 패킷을 차단할 수 있다.In addition, the security server 200 may generate and transmit control information for blocking a query of the user terminal 10 without the query execution right to the service server 100 as a result of the inspection on the query execution right, The security processing unit of the service server 100 may block a packet corresponding to a query received from the user terminal 10 that does not have the right to perform a query on the access target DB based on the control information.

즉, 상기 사용자 단말(10)이 상기 SQL 툴을 통해 상기 DB 서버(300)의 DB에 접속시 상기 서비스 서버(100)로부터 수신한 상기 사용자 단말(10)이 접속한 상기 DB 서버(300)의 접속 대상 DB에 대한 접속 대상 DB 정보 및 수행 쿼리 정보 중 적어도 하나와 사용자 식별 정보를 기초로 사용자의 접속 권한 및 쿼리 수행 권한 중 적어도 하나를 검사하고, 상기 검사에 따른 검사 결과 접속 권한이 없는 상기 사용자 단말(10)의 접속이나 쿼리 수행 권한이 없는 사용자 단말(10)의 쿼리를 차단하기 위한 제어 정보를 상기 서비스 서버(100)에 전송할 수 있다.That is, when the user terminal 10 accesses the DB of the DB server 300 through the SQL tool, the user terminal 10 received from the service server 100 is connected to the DB server 300 . Based on at least one of access target DB information and execution query information and user identification information for the connection target DB, at least one of the user's access right and query execution authority is checked, and the user does not have access right as a result of the check according to the check Control information for blocking a query of the user terminal 10 without access to the terminal 10 or the query execution authority may be transmitted to the service server 100 .

상술한 바와 같이, 본 발명은 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 user terminal 10 so that the user terminal 10 accessing the SQL tool through a web browser accesses the DB and queries the database. By relaying so as to perform , it prevents the occurrence of errors and hacking risks due to version differences when using the existing dedicated SQL tool, and a user who is currently accessing the SQL tool of the service server 100 using the user terminal 10 . Security that distributes user identification information to the user terminal 10, which is necessary to determine the DB access right and query execution authority for By easily acquiring through the security module 11 operating in the user terminal 10 according to the execution of the agent, the user terminal 10 and the user are specifically authenticated based on the user identification information and based on this Security and stability of DB operation can be ensured by easily blocking the case where a user masquerades as an authenticated user to access the DB.

한편, 상기 사용자 단말(10)의 보안 모듈(11)은 상술한 구성 이외에도 상기 사용자 단말(10)의 해킹에 따른 DDOS 공격을 차단하거나 상기 웹 기반의 SQL 툴이 아닌 다른 툴을 이용한 DB 서버(300)에 대한 우회 접속에 따른 보안 위협을 방지하거나 DB 서버(300)에서 획득한 개인 정보에 대한 보호가 이루어지도록 지원하는 등의 다양한 기능을 제공할 수 있는데, 이를 도 7 내지 도 9를 참고하여 상세히 설명한다.On the other hand, the security module 11 of the user terminal 10 blocks DDOS attacks caused by hacking of the user terminal 10 in addition to the above-described configuration, or the DB server 300 using a tool other than the web-based SQL tool. ) can provide various functions such as preventing security threats due to bypass access to the DB server 300 or supporting protection of personal information obtained from the DB server 300, which will be described in detail with reference to FIGS. 7 to 9 . Explain.

우선, 도 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 security module 11 according to an embodiment of the present invention. As shown, when a DDOS (Distributed Denial of Service) attack occurs, the user terminal 10 A large number of socket events occur in a short time.

이에 따라, 상기 사용자 단말(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 security module 11 of the user terminal 10 is based on the destination IP and access port (destination ip/port) of the corresponding socket event in the kernel layer. A socket corresponding to the socket event may be forcibly closed so that a packet transmitted to the service server 100 or the DB server 300 is blocked.

또한, 상기 보안 모듈(11)은 해당 소켓 이벤트를 발생 시킨 프로세스의 PID를 추출하여, 웹 브라우저나, 악성 프로그램을 강제로 종료할 수 있다.In addition, the security module 11 may extract the PID of the process that generated the corresponding socket event and forcibly terminate the web browser or the malicious program.

즉, 상기 보안 모듈(11)은 미리 설정된 시간 동안 미리 설정된 기준치 이상의 소켓 이벤트 발생시 상기 소켓 이벤트의 목적지 IP와 접속 포트를 기초로 서비스 서버(100) 또는 DB 서버(300)로 전송되는 패킷이 차단되도록 상기 소켓 이벤트에 대응되는 소켓을 강제 종료시킬 수 있다.That is, the security module 11 blocks packets transmitted to the service server 100 or DB server 300 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. The socket corresponding to the socket event may be forcibly terminated.

이를 통해, 본 발명은 사용자 단말(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 service server 100 or the DB server 300 in the user terminal 10 and sends a packet transmitted to the service server 100 or the DB server 300 . By blocking, it is possible to easily prevent a security risk of the service server 100 or the DB server 300 according to hacking of the user terminal 10 .

또한, 도 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 security module 11 according to an embodiment of the present invention, and as shown in the figure, the user is connected to the DB server 300 with a commercial SQL tool installed in the user terminal 10 . Upon direct access (login), a Connection Socket Event occurs. When a connection socket event occurs, the security module 11 directly accesses the DB through the destination IP and connection port (destination ip/port). If it is confirmed, the destination IP and access port (destination ip/port) of the corresponding packet are received in advance from the security server 200 and are changed to DB security relay listener information, which is pre-stored detour information.

즉, 상기 보안 모듈(11)은 보안 서버(200)로부터 상기 우회 정보를 미리 수신하여 저장하며, 상기 웹 기반의 SQL 툴이 아닌 상기 사용자 단말(10)에서 실행되는 상용 SQL 툴을 통해 상기 DB 서버(300)에 접속하는 경우를 연결 소켓 이벤트를 기초로 식별할 수 있다.That is, the security module 11 receives and stores the bypass information from the security server 200 in advance, and the DB server through a commercial SQL tool executed in the user terminal 10 rather than the web-based SQL tool. A case of accessing 300 may be identified based on a connection socket event.

이에 따라, 상기 보안 모듈(11)은 상기 연결 소켓 이벤트에 대응되어 상기 상용 SQL 툴을 통해 생성된 패킷의 목적지 IP 및 접속 포트를 미리 저장된 상기 우회 정보에 따라 변경하여 상기 패킷이 상기 보안 서버(200)를 경유하도록 할 수 있다.Accordingly, the security module 11 changes the destination IP and access port of the packet generated through the commercial SQL tool in response to the connection socket event according to the pre-stored detour information, so that the packet is transmitted to the security server 200 ) can be passed through.

이를 통해, 본 발명은 인증되지 않은 사용자가 웹 기반의 SQL 툴이 아닌 사용자 단말(10)에 설치된 상용 SQL 툴을 이용하여 DB 서버(300)에 직접 접속시 이를 사용자 단말(10)의 보안 모듈(11)에서 감지하여 상기 상용 SQL 툴에서 생성한 패킷의 전송 목적지를 상기 보안 서버(200)로 변경함으로써, 상기 패킷이 상기 보안 서버(200)에 전달되어 접속 권한 및 쿼리 수행 권한에 대한 검사가 이루어지도록 하여 인증되지 않은 사용자의 패킷이 DB 서버(300)에 전송되는 것을 방지함으로써 보안성을 높일 수 있다.Through this, the present invention provides a security module ( ( 11) and changing the transmission destination of the packet generated by the commercial SQL tool to the security server 200, the packet is delivered to the security server 200, and access rights and query execution rights are checked. It is possible to increase security by preventing an unauthorized user's packet from being transmitted to the DB server 300 .

또한, 도 9는 본 발명의 실시예에 따른 보안 모듈(11)의 DB로부터 획득한 개인 정보에 대한 보호 동작에 대한 예시도로서, 도시된 바와 같이, 상기 보안 모듈(11)은 사용자가 서비스 서버(100)의 웹 기반 SQL 툴을 통해 개인 정보 조회 후, 웹 브라우저에서 보여지는 개인정보 데이터 저장 시, 비식별 처리 기능을 제공한다.In addition, FIG. 9 is an exemplary view of a protection operation for personal information obtained from the DB of the security module 11 according to an embodiment of the present invention, and as shown, the security module 11 is a service server (100) provides a de-identification processing function when storing personal information data displayed in a web browser after personal information inquiry through the web-based SQL tool of (100).

일례로, 상기 보안 모듈(11)은 사용자가 웹 브라우저에서 보여지는 DB에서 획득한 데이터를 선택한 후 상기 데이터의 저장과 관련된 입력이 발생하면, 상기 데이터를 HTML 포맷으로 저장이 가능하다.For example, the security module 11 may store the data in HTML format when an input related to the storage of the data occurs after the user selects data obtained from the DB displayed in the web browser.

이에 따라, 상기 보안 모듈(11)은 상기 데이터 관련 파일 저장이 발생할 때, 입출력 요청 신호(I/O Request)가 발생하는데 웹 브라우저가 발생한 입출력 요청 신호를 체크하여 HTML의 데이터 부분만 추출한다.Accordingly, when the data-related file storage occurs, the security module 11 generates an input/output request signal (I/O Request), and checks the input/output request signal generated by the web browser to extract only the data part of HTML.

또한, 상기 보안 모듈(11)은 상기 추출된 데이터를 미리 저장된 개인정보 패턴과 부합되는지 패턴 매칭을 통해 확인하고, 상기 추출된 데이터가 상기 개인정보 패턴과 부합되면, 해당 추출된 데이터 부분을 마스킹 또는 공백 처리하여 저장할 수 있다.In addition, the security module 11 checks whether the extracted data matches the pre-stored personal information pattern through pattern matching, and when the extracted data matches the personal information pattern, the extracted data part is masked or You can save it with blank space.

즉, 상기 보안 모듈(11)은 상기 서비스 서버(100)로부터 웹 브라우저를 통해 수신한 상기 DB 서버(300)의 패킷에 포함된 데이터를 상기 사용자 단말(10)의 저장부에 저장하기 위한 사용자 입력 발생시 상기 데이터를 미리 설정된 개인 정보의 패턴과 비교하여 상기 패턴을 만족하는 경우 상기 데이터를 마스킹 또는 공백 처리하여 저장할 수 있다.That is, the security module 11 receives a user input for storing the data included in the packet of the DB server 300 received from the service server 100 through a web browser in the storage unit of the user terminal 10 . Upon occurrence, the data may be compared with a preset pattern of personal information, and if the pattern is satisfied, the data may be masked or blanked and stored.

이를 통해, 본 발명은 DB 서버(300)로부터 획득한 데이터 중 보안이 필요한 데이터를 미리 설정된 보안 패턴과 비교하여 상기 보안 패턴을 만족하는 데이터를 공백 처리하거나 마스킹 처리하여 저장함으로써 데이터 보안성을 높일 수 있다.Through this, the present invention compares data that requires security among data acquired from the DB server 300 with a preset security pattern, and blanks or masks data satisfying the security pattern, thereby increasing data security. there is.

본 명세서에 기술된 다양한 장치 및 구성부는 하드웨어 회로(예를 들어, 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)

데이터베이스가 포함된 DB 서버와 통신망을 통해 통신하며, 상기 데이터베이스에 접속하는 사용자 단말과 상기 DB 서버 사이에 송수신되는 패킷을 중계하는 SQL 툴을 웹 기반으로 제공하는 서비스 서버; 및
상기 서비스 서버로부터 수신한 보안 에이전트를 상기 사용자 단말에 설치 및 실행한 상태의 모듈인 보안 모듈을 포함하고,
상기 서비스 서버는 웹 브라우저를 통해 접속한 상기 사용자 단말의 상기 웹 브라우저에 상기 SQL 툴의 이용을 위한 웹 페이지를 제공하며, 상기 웹 페이지를 통해 상기 사용자 단말로부터 수신한 로그인 정보를 기초로 상기 사용자 단말의 사용자 인증 성공시 상기 웹 페이지를 통해 상기 SQL 툴에 접속하는 상기 사용자 단말의 웹 브라우저와 상기 SQL 툴 사이의 상기 패킷 송수신을 위해 생성한 웹 세션에서 추출할 수 없는 상기 사용자 단말의 미리 설정된 하나 이상의 보안 속성 관련 사용자 식별정보를 요청하기 위한 요청 정보를 전송하고,
상기 보안 모듈은 상기 요청 정보 수신시 보안 속성별 파라미터를 추출하여 사용자 식별정보를 생성한 후 상기 서비스 서버에 전송하며,
상기 서비스 서버는 상기 보안 모듈로부터 상기 사용자 식별정보를 수신하여 인증정보로 저장하고, 상기 인증 정보 저장 이후 상기 사용자 단말의 보안 모듈로부터 수신되는 사용자 식별정보가 상기 인증 정보와 일치하지 않는 경우 상기 사용자 단말의 상기 서비스 서버에 대한 접속을 차단하되,
상기 하나 이상의 보안 속성은 상기 사용자 단말의 MAC 주소, 호스트명, 상기 사용자 단말의 운영 체제에 설정된 사용자 계정, 로그인 시간 중 적어도 하나를 포함하는 것을 특징으로 하는 웹 기반 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 the web browser, and based on the login information received from the user terminal through the web page, the user terminal At least one preset of the user terminal that cannot be extracted from the web session created for transmitting and receiving the packet between the SQL tool and the web browser of the user terminal accessing the SQL tool through the web page upon successful user authentication of Sending request information for requesting user identification information related to security attributes;
The security module extracts parameters for each security attribute upon receiving the request information, generates user identification information, and transmits it to the service server,
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 block access to the service server of
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.
삭제delete 삭제delete 청구항 1에 있어서,
상기 사용자 단말이 상기 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.
청구항 4에 있어서,
상기 보안 모듈은 상기 웹 기반의 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.
청구항 1에 있어서,
상기 서비스 서버는 상기 인증 정보 생성 이전에 상기 사용자 단말에 설치된 상기 보안 에이전트에 대응되어 할당된 접속 포트와 상기 사용자 단말의 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.
청구항 1에 있어서,
상기 보안 모듈은 미리 설정된 시간 동안 미리 설정된 기준치 이상의 소켓 이벤트 발생시 상기 소켓 이벤트의 목적지 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.
청구항 1에 있어서,
상기 보안 모듈은 상기 서비스 서버로부터 웹 브라우저를 통해 수신한 상기 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.
데이터베이스가 포함된 DB 서버와 통신망을 통해 통신하며, 상기 데이터베이스에 접속하는 사용자 단말과 상기 DB 서버 사이에 송수신되는 패킷을 중계하는 SQL 툴을 웹 기반으로 제공하는 서비스 서버 및 상기 사용자 단말에 구성된 보안 모듈의 웹 기반 SQL 툴을 이용한 접근 제어 방법에 있어서,
상기 서비스 서버가 상기 사용자 단말의 웹 브라우저로부터 로그인 정보를 수신하는 단계;
상기 서비스 서버가 상기 사용자 단말로부터 수신된 상기 로그인 정보를 기초로 상기 사용자 단말의 사용자 인증 성공시 상기 SQL 툴에서 상기 패킷 송수신을 위해 상기 사용자 단말에 대응되어 생성한 웹 세션에서 추출할 수 없는 상기 사용자 단말의 미리 설정된 하나 이상의 보안 속성 관련 사용자 식별정보를 요청하기 위한 요청 정보를 전송하는 단계;
상기 보안 모듈이 상기 요청 정보 수신시 보안 속성별 파라미터를 추출하여 사용자 식별정보를 생성한 후 상기 서비스 서버에 전송하는 단계; 및
상기 서비스 서버가 상기 보안 모듈로부터 상기 사용자 식별정보를 수신하여 인증정보로 저장하고, 상기 인증 정보 저장 이후 상기 사용자 단말의 보안 모듈로부터 수신되는 사용자 식별정보가 상기 인증 정보와 일치하지 않는 경우 상기 사용자 단말의 상기 서비스 서버에 대한 접속을 차단하는 단계를 포함하되,
상기 하나 이상의 보안 속성은 상기 사용자 단말의 MAC 주소, 호스트명, 상기 사용자 단말의 운영 체제에 설정된 사용자 계정, 로그인 시간 중 적어도 하나를 포함하는 것을 특징으로 하는 웹 기반 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 parameters for each security attribute, generating user identification information, and transmitting the generated user identification information to the service server; and
When the service server receives the user identification information from the security module and stores it as authentication information, and 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 Including the step of blocking access to the service server of
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 an operating system of the user terminal, and a login time.
KR1020190158348A 2019-12-02 2019-12-02 Access control system and method using SQL tool based on web KR102284183B1 (en)

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 KR20210068832A (en) 2021-06-10
KR102284183B1 true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
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 (5)

* Cited by examiner, † Cited by third party
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

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
KR20210068832A (en) 2021-06-10

Similar Documents

Publication Publication Date Title
US10757094B2 (en) Trusted container
US10083290B2 (en) Hardware-based device authentication
US20200045039A1 (en) Hardware-based device authentication
US9027086B2 (en) Securing organizational computing assets over a network using virtual domains
US10356612B2 (en) Method of authenticating a terminal by a gateway of an internal network protected by an access security entity providing secure access
US8370905B2 (en) Domain access system
CN107122674B (en) Access method of oracle database applied to operation and maintenance auditing system
JP2016530814A (en) Gateway device to block a large number of VPN connections
CN103944890A (en) Virtual interaction system and method based on client/server mode
CN106059802B (en) Terminal access authentication method and device
CN110781465B (en) BMC remote identity verification method and system based on trusted computing
US11855993B2 (en) Data shield system with multi-factor authentication
JP2017097542A (en) Authentication control program, authentication control device, and authentication control method
JP2006260027A (en) Quarantine system, and quarantine method using vpn and firewall
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
KR20150074128A (en) Method for downloading at least one software component onto a computing device, and associated computer program product, computing device and computer system
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