KR101755427B1 - 데이터마이닝을 이용한 웹-데이터베이스 사용자 추적 방법 및 시스템 - Google Patents

데이터마이닝을 이용한 웹-데이터베이스 사용자 추적 방법 및 시스템 Download PDF

Info

Publication number
KR101755427B1
KR101755427B1 KR1020160016231A KR20160016231A KR101755427B1 KR 101755427 B1 KR101755427 B1 KR 101755427B1 KR 1020160016231 A KR1020160016231 A KR 1020160016231A KR 20160016231 A KR20160016231 A KR 20160016231A KR 101755427 B1 KR101755427 B1 KR 101755427B1
Authority
KR
South Korea
Prior art keywords
url
query
collected
web
candidate
Prior art date
Application number
KR1020160016231A
Other languages
English (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 KR1020160016231A priority Critical patent/KR101755427B1/ko
Application granted granted Critical
Publication of KR101755427B1 publication Critical patent/KR101755427B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3471Address tracing
    • G06F17/30289
    • G06F17/30539
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/306Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information intercepting packet switched data communications, e.g. Web, Internet or IMS communications

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Technology Law (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 데이터마이닝을 이용한 웹-데이터베이스 사용자 추적 방법 및 시스템에 관한 것으로, 본 발명에 따른 방법은 웹 서버로 전달되는 웹 서비스 요청에 포함된 URL을 수집하는 단계, 웹 서버로부터 데이터베이스 서버로 전달되는 쿼리를 수집하는 단계, 수집된 쿼리의 수집 시점을 기준으로 미리 정해진 시간 이전에 수집된 URL을 쿼리를 발생시킨 후보 URL로 정하는 단계, 그리고 수집된 쿼리별로 수집된 URL 각각이 후보 URL로 정해진 횟수를 이용하여 수집된 쿼리와 수집된 URL 사이의 연관도를 계산하는 단계를 포함한다. 본 발명에 의하면, 웹 데이터베이스 사용자가 웹 서버 또는 WAS를 통해 유발시킨 SQL을 기록할 수 있고, 실제 SQL을 유발시킨 사용자를 추적할 수 있는 장점이 있다. 이로 인해 특정 IP에서 발생하는 웹 서비스 요청을 차단하는 방식으로 DB 공격을 차단할 수 있는 장점이 있다.

Description

데이터마이닝을 이용한 웹-데이터베이스 사용자 추적 방법 및 시스템{METHOD AND SYSTEM FOR TRACKING WEB-DATABASE USER USING DATA MINING}
본 발명은 웹-데이터베이스 사용자 추적 방법 및 시스템에 관한 것으로, 보다 상세하게는 웹 서비스 요청과 쿼리 상의 시간적 연관도를 기초로 비정상적 쿼리를 발생시킨 사용자를 추적할 수 있는 데이터마이닝을 이용한 웹-데이터베이스 사용자 추적 방법 및 시스템에 관한 것이다.
최근 들어 컴퓨터 통신 기술의 발전에 따라 인터넷을 통해서 상품을 구입하거나 은행 업무를 보는 등의 전자상거래 서비스, 각종 증명서 발급 서비스 및 게임서비스 등 다양한 인터넷 서비스 제공이 폭발적으로 증가하고 있다.
그런데 인터넷을 통한 서비스의 급증만큼이나 금전적, 정치적 또는 명예욕 등의 다양한 목적을 가진 해킹 시도가 급증하고 있다. 특히 최근 들어 해킹의 화두는 웹 애플리케이션의 취약성을 이용하는 것이다.
일반적으로 인터넷 서비스를 제공하기 위한 대부분의 웹 사이트는 사용자들에게 인터넷 서비스를 제공하기 위한 창구로 웹 애플리케이션을 제공하고 있으며, 웹 애플리케이션은 데이터베이스에 연동되어 있다. 사용자들이 인터넷 서비스를 이용하기 위해서 웹 브라우저에서 특정 파라미터 값을 입력하여 전송하면 웹 서버는 이를 받아들여 다시 웹 애플리케이션 서버(WAS:Web Application Server)로 전달한다. WAS는 사전에 준비된 질의문(QUERY)과 전달받은 입력 파라미터 값을 조합하여 완전한 질의문을 작성하여 데이터베이스로 전달하고 데이터베이스는 전달된 질의문에 따른 동작을 수행하고 그 결과는 입력 파라미터 값이 전달된 반대 순서로 사용자에게 전달된다.
그런데 사용자가 정상적인 값을 입력한 경우 문제가 없으나 비정상적인 값을 입력하고 입력 값에 대한 검증이 수행되지 않은 경우 WAS에서 질의문으로 조합되는 과정에서 문법에 맞지 않는 잘못 작성된 질의문이 데이터베이스에 전달되어 구문 오류를 발생시킬 수 있으며, 더 나아가서는 부정한 의도를 가지는 공격자가 적절한 입력 값 조작으로 개발 당시 의도하지 않은 결과를 유도시킬 수 있다. 이러한 공격을 SQL 삽입 공격이라고 한다.
위에서 설명한 것과 같은 SQL 삽입 공격 외에도 다양한 형태의 데이터베이스 공격이 시도되고 있으며, 이러한 공격들로부터 데이터베이스를 보호하기 위한 데이터베이스 보안 제품이 출시되고 있다. 또한 웹 서버 자체에 대한 공격을 탐지하여 대응하기 위한 웹 서버 보안 제품도 출시되고 있으며, 일반적으로 데이터베이스 보안 제품과는 별도로 설치되어 운영되고 있다.
도 1은 종래 일반적인 데이터베이스 보안 제품의 구성을 예시한 것이고, 도 2는 종래 WEB/WAS를 포함한 데이터베이스 보안 제품의 구성을 예시한 것이다.
종래 데이터베이스를 보호하기 위해 사용되는 데이터베이스 보안 제품으로 도 1에 예시한 것과 같이 접근 및 권한을 제어하고 모든 SQL에 대한 감사 로그를 남기는 형태의 제품이 주류를 이루고 있다. 하지만 종래의 데이터베이스 보안 제품에서는 DB 클라이언트(Client) 프로그램을 통해 직접 접근하는 사용자에 대해서는 보안 기능을 제공하고 있지만, 도 2에 예시한 것과 같이 일반적으로 많이 사용되는 WAS(Web Application Server, WEB Server)와 같은 미들웨어를 통해 접근되는 데이터베이스 통신에 대해서는 미들웨어의 정보만 추적가능하고, 실제로 누가 데이터베이스에 접근하여 정보를 획득, 수정했는지 확인할 수 없는 문제점을 가지고 있었다.
특히 종래 데이터베이스 보안의 가장 큰 문제점은 WAS와 같은 미들웨어를 통한 공격일 경우, 실제 공격을 유발한 사용자에 대한 정보를 얻을 수 없기 때문에 다양한 우회 공격 등을 시도할 경우, 실제 사용자에 대한 접근을 차단하는 방법을 제공할 수 없었다.
한편 웹 서비스 요청에 포함된 URL의 파라미터와 DB-쿼리(QUERY)의 조건적 동일성 또는 유사성을 기반으로 해당 공격을 시도한 공격자를 추적하는 기술이 알려져있다.
도 3은 종래 웹 서비스 요청에 포함된 URL의 파라미터와 DB-쿼리(QUERY)의 조건적 동일성 또는 유사성을 기반으로 공격자를 추적하는 기술을 설명하기 위해 제공되는 도면이다.
도 3에 예시한 것과 같이 URL1과 Query1은 유사성을 기반으로 추적이 가능하지만, URL2의 파라미터 'free'는 웹서버(또는 WAS)에서 가공되어 '1'로 변형이 이루어지면 추적이 불가능하게 되는 문제점이 있었다.
따라서 본 발명이 이루고자 하는 기술적 과제는 웹 서비스 요청과 쿼리 상의 시간적 연관도를 기초로 비정상적 쿼리를 발생시킨 사용자를 추적할 수 있는 데이터마이닝을 이용한 웹-데이터베이스 사용자 추적 방법 및 시스템을 제공하는 것이다.
이러한 기술적 과제를 해결하기 위한 본 발명의 한 실시예에 따른 웹-데이터베이스 사용자 추적 방법은 웹 서버로 전달되는 웹 서비스 요청에 포함된 URL을 수집하는 단계, 상기 웹 서버로부터 데이터베이스 서버로 전달되는 쿼리를 수집하는 단계, 상기 수집된 쿼리의 수집 시점을 기준으로 미리 정해진 시간 이전에 수집된 URL을 상기 쿼리를 발생시킨 후보 URL로 정하는 단계, 그리고 상기 수집된 쿼리별로 상기 수집된 URL 각각이 후보 URL로 정해진 횟수를 이용하여 상기 수집된 쿼리와 상기 수집된 URL 사이의 연관도를 계산하는 단계를 포함한다.
상기 방법은 상기 수집된 쿼리에 대해서 가장 연관도가 높은 URL을 상기 수집된 쿼리를 발생시킨 URL로 결정하는 단계를 더 포함할 수 있다.
상기 방법은 비정상적 쿼리를 발생시킨 URL에 대응되는 아이피 주소로부터 요청된 웹 서비스 요청을 차단하는 단계를 더 포함할 수 있다.
이러한 기술적 과제를 해결하기 위한 본 발명의 한 실시예에 따른 웹-데이터베이스 사용자 추적 시스템은, 웹 서버로 전달되는 웹 서비스 요청에 포함된 URL을 수집하는 웹 보안부, 그리고 상기 웹 서버로부터 데이터베이스 서버로 전달되는 쿼리를 수집하고, 상기 수집된 쿼리의 수집 시점을 기준으로 미리 정해진 시간 이전에 수집된 URL을 상기 쿼리를 발생시킨 후보 URL로 정하며, 상기 수집된 쿼리별로 상기 수집된 URL 각각이 후보 URL로 정해진 횟수를 이용하여 상기 수집된 쿼리와 상기 수집된 URL 사이의 연관도를 계산하는 데이터베이스 보안부를 포함한다.
상기 데이터베이스 보안부는, 상기 수집된 쿼리에 대해서 가장 연관도가 높은 URL을 상기 수집된 쿼리를 발생시킨 URL로 결정할 수 있다.
상기 웹 보안부는 비정상적 쿼리를 발생시킨 URL에 대응되는 아이피 주소로부터 요청된 웹 서비스 요청을 차단할 수 있다.
상기 수집된 쿼리와 상기 수집된 URL 사이의 연관도는 아래 수학식에 의해 정질 수 있다.
[수학식]
Figure 112016014046084-pat00001
Figure 112016014046084-pat00002
Figure 112016014046084-pat00003
Figure 112016014046084-pat00004
여기서, RNM은 Query-N과 URL-M의 연관도이고, PNM은 Query-N과 URL-M이 동시에 출현할 확률이며, PM은 URL-M이 출현할 확률이고, PN은 Query-N이 출현할 확률을 나타내며, CNM은 URL-M이 Query-N의 후보 URL로 지정된 횟수, Cij는 URL-j가 Query-i의 후보 URL로 지정된 횟수로 정의될 수 있다.
상기 웹 서비스 요청에 포함된 URL은 상기 웹 서비스를 요청한 아이피(IP) 주소와 함께 수집될 수 있다.
본 발명에 의하면, 웹 데이터베이스 사용자가 웹 서버 또는 WAS를 통해 유발시킨 SQL을 기록할 수 있고, 실제 SQL을 유발시킨 사용자를 추적할 수 있는 장점이 있다. 이로 인해 특정 IP에서 발생하는 웹 서비스 요청을 차단하는 방식으로 DB 공격을 차단할 수 있는 장점이 있다.
도 1은 종래 일반적인 데이터베이스 보안 제품의 구성을 예시한 도면이다.
도 2는 종래 WEB/WAS를 포함한 데이터베이스 보안 제품의 구성을 예시한 도면이다.
도 3은 종래 웹 서비스 요청에 포함된 URL의 파라미터와 DB-쿼리(QUERY)의 조건적 동일성 또는 유사성을 기반으로 공격자를 추적하는 기술을 설명하기 위해 제공되는 도면이다.
도 4는 본 발명의 일 실시예에 따른 데이터마이닝을 이용한 웹-데이터베이스 사용자 추적 시스템의 구성을 예시한 블록도이다.
도 5는 본 발명의 일 실시예에 따른 데이터마이닝을 이용한 웹-데이터베이스 사용자 추적 시스템의 동작을 설명하기 위한 흐름도이다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 4는 본 발명의 일 실시예에 따른 데이터마이닝을 이용한 웹-데이터베이스 사용자 추적 시스템의 구성을 예시한 블록도이다.
도 4를 참고하면, 본 발명의 일 실시예에 따른 데이터마이닝을 이용한 웹-데이터베이스 사용자 추적 시스템은 웹 보안부(210)와 데이터베이스 보안부(이하 'DB 보안부'라 함)(230)를 포함할 수 있다.
사용자 단말기(100)는 웹 서비스를 이용하기 위해 사용자가 이용하는 통신 단말장치로서, 데스크톱 컴퓨터뿐만 아니라 노트북 컴퓨터, 워크스테이션, 팜톱(palmtop) 컴퓨터, 개인 휴대 정보 단말기(personal digital assistant:PDA), 웹 패드 등과 같은 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 통신 단말기로 이루어질 수 있다.
사용자 단말기(100)는 웹 서버(20)에 통신망(10)을 통해 웹 서비스 요청 메시지를 TCP/IP 기반의 HTTP 메시지 형태로 전송할 수 있으며, 그에 따른 응답 데이터를 제공받아 사용자에 제공할 수 있다. 사용자는 사용자 단말기(100)의 웹 브라우저 상에서 특정 입력 파라미터 값을 입력하고 웹 요청 메시지에 포함시켜 웹 서버(220)로 전달할 수 있다. 예컨대, 사용자는 웹 브라우저의 주소창(URL 입력창)에서 URL 뒤에 '?'를 붙이고 그 뒤에 입력 파라미터 이름과 입력 파라미터에 대한 값을 입력하면, 소정의 입력 파라미터 값이 포함된 웹 요청 메시지를 GET 방식으로 웹 서버(220)에 전송할 수 있다. 물론 사용자는 웹 페이지의 HTTP 폼에 입력 파라미터 값을 입력하여 POST 방식으로 웹 요청 메시지를 전송할 수도 있다.
통신망(10)은 구내 정보 통신망(local area network:LAN), 도시권 통신망(metropolitan area network:MAN), 광역 통신망(wide area network:WAN), 인터넷 등을 가리지 않고, 통신 방식도 유선, 무선을 가리지 않으며 어떠한 통신 방식이라도 상관없다.
사용자 단말기(100)에서 웹 서버(220)로 전송되는 웹 서비스 요청은, 웹 서버(220)로 전달되기 전에, 웹 서버(220)의 앞 단에 위치한 웹 방화벽에 해당하는 웹 보안부(210)에 의해 미리 정해진 정책에 따라 검사될 수 있다.
보다 자세하게는 웹 보안부(210)는 통신망(10)을 통해 연결된 복수의 사용자 단말기(100)로부터 웹 서버(220)로 전달되는 웹 서비스 요청을 수신하여 정상적인지 또는 비정상적인지 여부를 판단하고, 비정상적 웹 서비스 요청이 웹 서버(220)로 전달되는 것을 차단하는 기능을 수행할 수 있다.
웹 보안부(210)는 사용자 단말기(100)로부터 전달되는 웹 서비스 요청에 포함된 URL(Uniform Resource Locator)과 사용자 단말기(100)의 아이피(IP) 주소 등을 수집하여 DB 보안부(230)로 전달하는 기능을 수행한다. 이하에서는 URL과 함께 수집되는 IP를 포함하여 URL 정보라고 한다.
웹 보안부(210)는 URL 정보를 수집할 때마다 웹 보안부(210)에서 해당 URL 정보를 수집한 시간(또는 해당 웹 서비스 요청을 웹 보안부(210)에서 수신한 시간) 정보를 URL 정보와 함께 전달하는 것이 바람직하다. 물론 실시예에 따라서 웹 보안부(210)는 주기적으로 일정 시간 동안 수집된 URL 정보를 URL 수집 시간 정보와 함께 전달하도록 구현하는 것도 가능하다. 한편 여기서 URL 수집 시간은 URL 정보가 웹 보안부(210)에서 수집된 순서를 구분할 수 있는 정보로 대체되는 것도 가능하다.
웹 서버(220)는 사용자 단말기(100)로부터 전송되는 웹 서비스 요청에 따른 응답 데이터를 사용자 단말기(100)에 제공하는 기능을 수행한다. 웹 서버(220)는 웹 서비스 요청에 따라 필요한 경우 DB 서버(240)에 데이터베이스 서비스 요청을 위한 DB 질의문(QUERY)(이하 'DB 쿼리'라 함)을 생성하여 전달하고, 그에 따른 데이터베이스 응답 데이터를 제공받아 사용자 단말기(100)에 제공할 수 있다.
도 4의 실시예에서는 웹 서버(220)에서 DB 쿼리를 생성하는 것으로 예시하였으나, WAS 서버(도시하지 않음)를 웹 서버(220)와 별도로 구비하여 WAS 서버에서 DB 쿼리를 생성하여 DB 서버(240)로 전달하도록 구현하는 것도 가능하다.
WAS 서버를 웹 서버(220)와 별도로 구비한 경우, WAS 서버는 사전에 준비된 질의문(QUERY)과 전달받은 입력 파라미터 값을 조합하여 완전한 SQL 질의문을 작성하여 DB 서버(240)로 데이터베이스 서비스 요청을 전달하고, 그에 따른 데이터베이스 응답 데이터를 제공받아 다시 웹 서버(220)로 전달할 수 있다.
이하에서 웹 서버(220)는 WAS 서버의 기능도 포함하는 것으로 이해될 수 있으며, 앞에서 설명한 것과 같이 WAS 서버와 별도로 구현되는 것고 가능하다.
DB 보안부(230)는 웹 서버(220)로부터 DB 서버(240)로 전달되는 DB 쿼리를 수신하여 정상적인지 또는 비정상적인지 여부를 판단하고, 비정상적 DB 쿼리가 DB 서버(240)로 전달되는 것을 차단하는 기능을 수행할 수 있다.
DB 보안부(230)는 DB 쿼리를 수집하고 웹 보안부(210)에서 수집된 URL 정보를 이용하여 DB 쿼리와 URL 사이의 연관도를 계산할 수 있다. 또한 DB 보안부(230)는 수집된 DB 쿼리에 대해서 가장 연관도가 높은 URL을 해당 쿼리를 발생시킨 URL로 결정할 수 있다. 또한 DB 보안부(230)는 비정상적 쿼리를 발생시킨 URL에 대응되는 아이피 주소를 웹 보안부(210)에 전달하여 해당 아이피로부터 요청된 웹 서비스 요청을 차단하도록 할 수도 있다.
DB 쿼리와 URL 사이의 연관도를 계산하는 방법에 대해 아래 표를 참조하여 보다 자세하게 설명한다.
시간(TIME) URL IP
Time1 URL-1 10.0.0.101
Time2 URL-2 10.0.0.102
Time3 URL-3 10.0.0.103
Time4 URL-4 10.0.0.104
DB 보안부(230)는 웹 보안부(210)에서 수집된 URL 정보를 기록한 표 1과 같은 URL 정보 수집 테이블을 가지고 있을 수 있다. 표 1에서 시간(TIME)은 URL 정보가 웹 보안부(210)에서 수집된 시간을 나타낸다. URL 정보 수집 테이블에는 URL이 웹 보안부(210)에서 수집된 시간 순서대로 정렬되어 있을 수 있다.
DB 보안부(230)는 URL 정보 수집 테이블을 참조하여 해당 DB 쿼리를 수집한 시간을 기준으로 미리 정해진 시간 이전에 수집된 URL을 후보 URL로 지정할 수 있다.
예컨대 특정 DB 쿼리(Query-1)의 수집 시점이 13시 00분이고, DB 쿼리 수집 시점으로부터 3초 이전에 수집된 URL을 후보 URL로 지정하도록 설정되어 있다고 가정하면, Time3가 12시 59분 58초이고, Time4가 12시 59분 59초인 경우, DB 보안부(230)는 URL-3와 URL-4를 DB 쿼리(Query-1)를 발생시킨 후보 URL로 지정할 수 있다.
DB 보안부(230)는 아래 표 2에 예시한 것과 같이 DB 쿼리별로 각각의 URL이 해당 DB 쿼리의 후보 URL로 지정된 횟수를 계수하여 아래 표 2에 예시한 것과 같은 쿼리-URL 연관표를 작성할 수 있다.
URL-1 URL-2 URL-3 URL-M
Query-1 C11 C12 C13 C1M
Query-2 C21 C22 C23 C2M
Query-3 C31 C32 C33 C3M
Query-N CN1 CN2 CN3 CNM
표 2에서 CNM은 Query-N에 대해서 URL-M이 후보 URL로 지정된 횟수를 나타낸다. DB 보안부(230)는 웹 서버(220)에서 DB 서버(240)로 전달되는 DB 쿼리를 수집할 때마다 앞서 표 1에 예시한 것과 같은 URL 정보 수집 테이블을 참조하여 해당 DB 쿼리에 대한 후보 URL을 지정하고 표 2를 업데이트 할 수 있다.
DB 보안부(230)는 표 2의 연관표를 이용하여 아래 수학식 1에 의해 DB 쿼리와 URL의 연관도를 계산할 수 있다.
Figure 112016014046084-pat00005
Figure 112016014046084-pat00006
Figure 112016014046084-pat00007
Figure 112016014046084-pat00008
여기서, RNM은 Query-N과 URL-M의 연관도이고, PNM은 Query-N과 URL-M이 동시에 출현할 확률이며, PM은 URL-M이 출현할 확률이고, PN은 Query-N이 출현할 확률을 나타낸다. CNM은 URL-M이 Query-N의 후보 URL로 지정된 횟수, Cij는 URL-j가 Query-i의 후보 URL로 지정된 횟수로 정의될 수 있다.
DB 보안부(230)는 특정 DB 쿼리에 대해서 연관도가 가장 높은 URL을 해당 DB 쿼리를 발생시킨 URL로 판정할 수 있다. 그리고 DB 보안부(230)는 특정 DB 쿼리가 비정상적 쿼리로 판정된 경우 해당 쿼리를 발생시킨 것으로 판정된 URL에 대응되는 아이피(IP)를 표 1에서 확인할 수 있다.
DB 보안부(230)는 비정상적인 것으로 판정된 DB 쿼리를 발생시킨 URL에 대응되는 아이피를 웹 보안부(210)에 전달하여 해당 아이피로부터 전송되는 웹 서비스 요청을 차단하도록 할 수도 있다.
도 5는 본 발명의 일 실시예에 따른 데이터마이닝을 이용한 웹-데이터베이스 사용자 추적 시스템의 동작을 설명하기 위한 흐름도이다.
도 5를 참고하면, 먼저 웹 보안부(210)는 통신망(10)을 통해 연결된 복수의 사용자 단말기(100)로부터 웹 서버(220)로 전달되는 웹 서비스 요청에 포함된 URL(Uniform Resource Locator)과 사용자 단말기(100)의 아이피(IP) 주소 등을 수집한다(S510). 단계(S510)에서 수집된 URL 정보는 DB 보안부(230)로 전달되어 앞에서 설명한 표 1에 예시한 것과 같은 URL 정보 수집 테이블에 기록될 수 있다.
한편 DB 보안부(230)는 웹 서버(220)로부터 DB 서버(240)로 DB 쿼리가 전달될 때마다 수집한다(S520). 단계(S510)와 단계(S520)는 본 발명에 따른 웹-데이터베이스 사용자 추적 시스템이 동작하는 동안 웹 서비스 요청을 수신하거나 DB 쿼리를 수신할 때마다 계속적으로 수행된다.
다음으로 DB 보안부(230)는 수집된 DB 쿼리에 대해서 표 1을 참조하여 후보 URL을 지정한다(S530). 단계(S530)에서 DB 보안부(230)는 URL 정보 수집 테이블을 참조하여 해당 DB 쿼리를 수집한 시간을 기준으로 미리 정해진 시간 이전에 수집된 URL을 후보 URL로 지정할 수 있다. 여기서 미리 정해진 시간은 즉 URL 수집 시간과 DB 쿼리 수집 시간의 시간차는 관리자의 설정에 따라 달라질 수 있으며, 웹 서버(220)와 DB 서버(240)가 연결된 네트워크 환경에 따라 조절될 수 있다.
DB 보안부(230)는 수집된 DB 쿼리에 대해서 후보 URL이 지정될 때마다, 해당 DB 쿼리의 후보 URL로 지정된 횟수를 계수하여 앞서 표 2에 예시한 것과 같은 쿼리-URL 연관표를 작성할 수 있다.
이후 DB 보안부(230)는 쿼리-URL 연관표를 이용하여 수집된 DB 쿼리와 URL 사이의 연관도를 계산할 수 있다(S540). DB 쿼리와 URL 사이의 연관도는 앞서 설명한 수학식 1에 의해 계산될 수 있다.
다음으로 DB 보안부(230)는 수집된 DB 쿼리에 대해서 가장 연관도가 높은 URL을 해당 쿼리를 발생시킨 URL로 결정할 수 있다(S550).
그리고 DB 보안부(230)는 비정상적 쿼리를 발생시킨 URL에 대응되는 아이피 주소를 웹 보안부(210)에 전달하여 해당 아이피로부터 요청된 웹 서비스 요청을 차단하도록 할 수도 있다(S560).
본 발명의 실시예는 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터로 읽을 수 있는 매체를 포함한다. 이 매체는 지금까지 설명한 데이터마이닝을 이용한 웹-데이터베이스 사용자 추적 방법을 실행시키기 위한 프로그램을 기록한다. 이 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 이러한 매체의 예에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 자기 매체, CD 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 자기-광 매체, 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 구성된 하드웨어 장치 등이 있다. 또는 이러한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (8)

  1. 삭제
  2. 웹 서버로 전달되는 웹 서비스 요청에 포함된 URL을 수집하는 단계,
    상기 웹 서버로부터 데이터베이스 서버로 전달되는 쿼리를 수집하는 단계,
    상기 수집된 쿼리의 수집 시점을 기준으로 미리 정해진 시간 이전에 수집된 URL을 상기 쿼리를 발생시킨 후보 URL로 정하는 단계, 그리고
    상기 수집된 쿼리별로 상기 수집된 URL 각각이 후보 URL로 정해진 횟수를 이용하여 상기 수집된 쿼리와 상기 수집된 URL 사이의 연관도를 계산하는 단계
    를 포함하고,
    상기 수집된 쿼리와 상기 수집된 URL 사이의 연관도는 아래 수학식에 의해 정해지는 웹-데이터베이스 사용자 추적 방법:
    Figure 112017025706507-pat00009

    Figure 112017025706507-pat00010

    Figure 112017025706507-pat00011

    Figure 112017025706507-pat00012

    여기서, RNM은 Query-N과 URL-M의 연관도이고, PNM은 Query-N과 URL-M이 동시에 출현할 확률이며, PM은 URL-M이 출현할 확률이고, PN은 Query-N이 출현할 확률을 나타내며, CNM은 URL-M이 Query-N의 후보 URL로 지정된 횟수, Cij는 URL-j가 Query-i의 후보 URL로 지정된 횟수로 정의된다.
  3. 제 2 항에서,
    상기 수집된 쿼리에 대해서 가장 연관도가 높은 URL을 상기 수집된 쿼리를 발생시킨 URL로 결정하는 단계
    를 더 포함하는 웹-데이터베이스 사용자 추적 방법.
  4. 웹 서버로 전달되는 웹 서비스 요청에 포함된 URL을 수집하는 단계,
    상기 웹 서버로부터 데이터베이스 서버로 전달되는 쿼리를 수집하는 단계,
    상기 수집된 쿼리의 수집 시점을 기준으로 미리 정해진 시간 이전에 수집된 URL을 상기 쿼리를 발생시킨 후보 URL로 정하는 단계,
    상기 수집된 쿼리별로 상기 수집된 URL 각각이 후보 URL로 정해진 횟수를 이용하여 상기 수집된 쿼리와 상기 수집된 URL 사이의 연관도를 계산하는 단계,
    상기 수집된 쿼리에 대해서 가장 연관도가 높은 URL을 상기 수집된 쿼리를 발생시킨 URL로 결정하는 단계, 그리고
    비정상적 쿼리를 발생시킨 URL에 대응되는 아이피(IP) 주소로부터 요청된 웹 서비스 요청을 차단하는 단계
    를 포함하고,
    상기 웹 서비스 요청에 포함된 URL은 상기 웹 서비스를 요청한 아이피(IP) 주소와 함께 수집되는 웹-데이터베이스 사용자 추적 방법.
  5. 삭제
  6. 웹 서버로 전달되는 웹 서비스 요청에 포함된 URL을 수집하는 웹 보안부, 그리고
    상기 웹 서버로부터 데이터베이스 서버로 전달되는 쿼리를 수집하고, 상기 수집된 쿼리의 수집 시점을 기준으로 미리 정해진 시간 이전에 수집된 URL을 상기 쿼리를 발생시킨 후보 URL로 정하며, 상기 수집된 쿼리별로 상기 수집된 URL 각각이 후보 URL로 정해진 횟수를 이용하여 상기 수집된 쿼리와 상기 수집된 URL 사이의 연관도를 계산하는 데이터베이스 보안부
    를 포함하고,
    상기 수집된 쿼리와 상기 수집된 URL 사이의 연관도는 아래 수학식에 의해 정해지는 웹-데이터베이스 사용자 추적 시스템:
    Figure 112017025706507-pat00013

    Figure 112017025706507-pat00014

    Figure 112017025706507-pat00015

    Figure 112017025706507-pat00016

    여기서, RNM은 Query-N과 URL-M의 연관도이고, PNM은 Query-N과 URL-M이 동시에 출현할 확률이며, PM은 URL-M이 출현할 확률이고, PN은 Query-N이 출현할 확률을 나타내며, CNM은 URL-M이 Query-N의 후보 URL로 지정된 횟수, Cij는 URL-j가 Query-i의 후보 URL로 지정된 횟수로 정의된다.
  7. 제 6 항에서,
    상기 데이터베이스 보안부는,
    상기 수집된 쿼리에 대해서 가장 연관도가 높은 URL을 상기 수집된 쿼리를 발생시킨 URL로 결정하는 웹-데이터베이스 사용자 추적 시스템.
  8. 웹 서버로 전달되는 웹 서비스 요청에 포함된 URL을 수집하는 웹 보안부, 그리고
    상기 웹 서버로부터 데이터베이스 서버로 전달되는 쿼리를 수집하고, 상기 수집된 쿼리의 수집 시점을 기준으로 미리 정해진 시간 이전에 수집된 URL을 상기 쿼리를 발생시킨 후보 URL로 정하며, 상기 수집된 쿼리별로 상기 수집된 URL 각각이 후보 URL로 정해진 횟수를 이용하여 상기 수집된 쿼리와 상기 수집된 URL 사이의 연관도를 계산하는 데이터베이스 보안부
    를 포함하고,
    상기 데이터베이스 보안부는,
    상기 수집된 쿼리에 대해서 가장 연관도가 높은 URL을 상기 수집된 쿼리를 발생시킨 URL로 결정하며,
    상기 웹 서비스 요청에 포함된 URL은 상기 웹 서비스를 요청한 아이피(IP) 주소와 함께 수집되고,
    상기 웹 보안부는 비정상적 쿼리를 발생시킨 URL에 대응되는 아이피 주소로부터 요청된 웹 서비스 요청을 차단하는 웹-데이터베이스 사용자 추적 시스템.
KR1020160016231A 2016-02-12 2016-02-12 데이터마이닝을 이용한 웹-데이터베이스 사용자 추적 방법 및 시스템 KR101755427B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160016231A KR101755427B1 (ko) 2016-02-12 2016-02-12 데이터마이닝을 이용한 웹-데이터베이스 사용자 추적 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160016231A KR101755427B1 (ko) 2016-02-12 2016-02-12 데이터마이닝을 이용한 웹-데이터베이스 사용자 추적 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR101755427B1 true KR101755427B1 (ko) 2017-07-10

Family

ID=59355661

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160016231A KR101755427B1 (ko) 2016-02-12 2016-02-12 데이터마이닝을 이용한 웹-데이터베이스 사용자 추적 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101755427B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102070607B1 (ko) * 2019-07-01 2020-01-29 주식회사 엘리바이저 웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102070607B1 (ko) * 2019-07-01 2020-01-29 주식회사 엘리바이저 웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안장치
WO2021002485A1 (ko) * 2019-07-01 2021-01-07 (주)엘리바이저 웹 애플리케이션 서버를 통한 사용자 식별 기반의 데이터베이스 보안장치

Similar Documents

Publication Publication Date Title
AU2019219712B9 (en) System and methods for identifying compromised personally identifiable information on the internet
US10496994B2 (en) Enhanced authentication with dark web analytics
JP4358188B2 (ja) インターネット検索エンジンにおける無効クリック検出装置
US7444680B2 (en) Webcrawl internet security analysis and process
US20170118241A1 (en) Multi-Layer Computer Security Countermeasures
US8850567B1 (en) Unauthorized URL requests detection
CN113542279B (zh) 一种网络安全风险评估方法、系统及装置
US9489526B1 (en) Pre-analyzing served content
JP2012527691A (ja) アプリケーションレベルセキュリティのためのシステムおよび方法
US20210021637A1 (en) Method and system for detecting and mitigating network breaches
KR101755427B1 (ko) 데이터마이닝을 이용한 웹-데이터베이스 사용자 추적 방법 및 시스템
Fletcher et al. Practical web traffic analysis: standards, privacy, techniques, and results
CN114500122B (zh) 一种基于多源数据融合的特定网络行为分析方法和系统
AlSalamah Security risk management in online system
KR100992069B1 (ko) 인터넷상의 개인정보 노출대응 시스템 및 방법
WO2020086024A2 (en) A system for enabling device identification
KR102520329B1 (ko) 블록체인 기반 어뷰징 탐지 서비스 제공 시스템
US11647036B1 (en) Advanced interstitial techniques for web security
Saric et al. Hyperlink Hijacking: Exploiting Erroneous URL Links to Phantom Domains
WO2017138673A1 (ko) 데이터마이닝을 이용한 웹-데이터베이스 사용자 추적 방법 및 시스템
Fletcher et al. Analytics Techniques

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant