KR102003450B1 - 웹 서버 사용자의 모니터링 방법 및 장치 - Google Patents

웹 서버 사용자의 모니터링 방법 및 장치 Download PDF

Info

Publication number
KR102003450B1
KR102003450B1 KR1020190037057A KR20190037057A KR102003450B1 KR 102003450 B1 KR102003450 B1 KR 102003450B1 KR 1020190037057 A KR1020190037057 A KR 1020190037057A KR 20190037057 A KR20190037057 A KR 20190037057A KR 102003450 B1 KR102003450 B1 KR 102003450B1
Authority
KR
South Korea
Prior art keywords
user
information
web server
movement
detailed
Prior art date
Application number
KR1020190037057A
Other languages
English (en)
Other versions
KR20190038524A (ko
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 KR1020190037057A priority Critical patent/KR102003450B1/ko
Publication of KR20190038524A publication Critical patent/KR20190038524A/ko
Application granted granted Critical
Publication of KR102003450B1 publication Critical patent/KR102003450B1/ko

Links

Images

Classifications

    • 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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • 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/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 일 실시예에 따른 웹 서버의 모니터링 방법은 제1 사용자가 웹 서버에 접속하면, 상기 제1 사용자가 접속할 때 입력한 고유한 식별수단에 기초하여, 상기 제1 사용자를 식별하는 단계; 사용자DB에 저장된 IP주소, 시간 및 요일 중 적어도 하나의 세부접속정보를 포함하는 복수의 접속정보 및 상기 웹 서버 내부 페이지 간의 이동에 대한 확률정보 중 적어도 하나에 기초하여, 상기 식별된 제1 사용자와 상기 식별수단의 진정사용자인 제2 사용자가 상호 일치하는지 판단하는 단계; 및 상기 판단 결과 상기 제1 사용자와 상기 제2 사용자가 불일치하면, 미리 설정된 담당자 또는 상기 제2 사용자에게 상기 판단 결과를 포함하는 사용자불일치정보를 전송하는 단계를 포함한다.

Description

웹 서버 사용자의 모니터링 방법 및 장치{METHOD AND APPARATUS FOR MONITORING USERS OF WEB SERVER}
본 발명은 웹 서버 사용자의 행위를 모니터링하여 이상 징후를 탐지하는 방법 및 장치에 관한 것이다.
회원제로 운영되는 웹사이트의 회원정보(주로, 사용자 아이디 및 패스워드)가 악의의 제3자에게 누출되면, 그 악의의 제3자는 정상 회원의 정보를 도용하여, 웹사이트에 접속하고, 불법적인 행위를 할 수 있다. 또한, 적법한 정상 사용자가 때때로 금지된 행위(예, 대량의 데이터베이스 내용 탈취)를 할 수도 있다.
이러한 문제로 인하여, 웹사이트의 관리자는 사용자들에 대하여 아이디와 패스워드 외에도 더 많은 방법으로 정상 사용자인지를 확인하곤 한다. 그러나, 이로 인하여 정상적인 사용자가 해당 웹사이트의 접속에 어려움(예, 지정된 질문에 대한 정답을 버리는 경우)을 겪는 경우도 발생하여, 관리자가 이를 쉽게 적용을 할 수 없는 문제가 있다.
따라서, 정상적으로 사용하는 각 사용자의 평상 시의 웹페이지 접속 패턴에 대하여, 통계적인 방법과 기계학습적인 방법을 적용하여 각각의 사용자의 프로파일을 생성하고, 그 생성된 프로파일을 이용하여 웹 서버 상의 사용자 행위를 모니터링하여 이상 징후를 탐지하는 방법 및 장치의 필요성이 대두되고 있다.
관련 선행기술로는 대한민국 등록특허공보 제10-1456603호(발명의 명칭: 네트워크 트래픽 모니터링 시스템, 공개일자: 2014년 10월 24일)가 이 있다.
본 발명의 목적은 네트워크를 통한 웹 서버 사용자의 행위를 실시간으로 모니터링하여 이상 징후를 탐지하는 방법 및 장치를 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 웹 서버의 모니터링 방법은 제1 사용자가 웹 서버에 접속하면, 상기 제1 사용자가 접속할 때 입력한 고유한 식별수단에 기초하여, 상기 제1 사용자를 식별하는 단계; 사용자DB에 저장된 IP주소, 시간 및 요일 중 적어도 하나의 세부접속정보를 포함하는 복수의 접속정보 및 상기 웹 서버 내부 페이지 간의 이동 순서를 나타내는 복수의 이동정보 중 적어도 하나에 기초하여, 상기 식별된 제1 사용자와 상기 식별수단의 진정사용자인 제2 사용자가 상호 일치하는지 판단하는 단계; 및 상기 판단 결과 상기 제1 사용자와 상기 제2 사용자가 불일치하면, 미리 설정된 담당자 또는 상기 제2 사용자에게 상기 판단 결과를 포함하는 사용자불일치정보를 전송하는 단계를 포함한다.
바람직하게는, 상기 웹 서버에 연동된 시스템DB에게 전송된 적어도 하나의 질의의 횟수인 질의횟수 및 상기 적어도 하나의 질의에 대응하여 전송된 결과 데이터 중 적어도 하나의 세부DB정보를 포함하는 복수의 DB이용정보가 상기 사용자DB에 더 저장되어 있을 때, 상기 제2 사용자가 일치하는지 판단하는 단계는 상기 DB이용정보에 더 기초하여, 상기 제1 사용자와 상기 제2 사용자가 일치하는지 판단할 수 있다.
바람직하게는, 상기 DB이용정보가 각각의 세션(session) 단위로 상기 질의횟수 및 상기 결과 데이터 중 적어도 하나의 세부DB정보를 포함하고, 상기 DB이용정보에 더 기초하여 판단할 때, 상기 제2 사용자가 일치하는지 판단하는 단계는 상기 DB이용정보에 포함된 적어도 하나의 세부DB정보 각각의 평균 및 표준편차에 기초하는 정규분포에 대하여, 상기 제1 사용자의 접속 세션 동안의 상기 질의횟수 및 상기 결과 데이터 중 적어도 하나가 상기 정규분포에 포함될 확률이 임계확률 이상인지 여부에 따라 판단할 수 있다.
바람직하게는, 상기 복수의 접속정보에 기초하여 판단할 때, 상기 제2 사용자가 상호 일치하는지 판단하는 단계는 상기 복수의 접속정보에 포함된 적어도 하나의 세부접속정보 각각의 빈도를 산출하는 단계; 상기 적어도 하나의 세부접속정보 각각의 빈도에 기초하여, 상기 세부접속정보 각각에 대응되는 멤버쉽 함수(membership function)의 값인 멤버쉽값(membership value)을 산출하는 단계; 및 상기 제1 사용자의 접속에 대한 상기 접속정보에 포함된 적어도 하나의 세부접속정보 각각에 대응되는 멤버쉽값을 이용하여, 상기 제1 사용자와 상기 제2 사용자가 상호 일치하는지 판단하는 단계를 포함할 수 있다.
바람직하게는, 상기 멤버쉽값을 이용하여, 상기 제1 사용자와 상기 제2 사용자가 상호 일치하는지 판단하는 단계는 상기 적어도 하나의 세부접속정보 각각에 대한 멤버쉽값을 모두 곱하여 접속정보결과값을 산출하는 단계; 및 상기 접속정보결과값이 소정의 제1 임계치 이상인지 여부에 따라, 상기 제1 사용자와 상기 제2 사용자가 상호 일치하는지 판단하는 단계를 포함할 수 있다.
바람직하게는, 상기 적어도 하나의 세부접속정보 각각의 빈도를 산출하는 단계가 소정의 기간별로 나누어 상기 적어도 하나의 세부접속정보 각각의 빈도를 산출할 때, 상기 멤버쉽값을 산출하는 단계는 상기 소정의 기간별로 차등적인 가중치를 부여하여, 상기 멤버쉽값을 산출할 수 있다.
바람직하게는, 상기 복수의 이동정보에 기초하여 판단할 때, 상기 제2 사용자가 상호 일치하는지 판단하는 단계는 상기 복수의 이동정보에 포함된 적어도 하나의 이동 각각의 빈도를 산출하는 단계; 상기 적어도 하나의 이동 각각의 빈도에 기초하여, 상기 제2 사용자가 상기 웹 서버 내부 페이지 간의 이동 확률을 나타내는 상태천이테이블을 생성하는 단계; 및 마르코프 체인(Markov chain), 상기 상태천이테이블 및 상기 제1 사용자의 접속 동안의 상기 웹 서버 내부 간의 이동에 기초하여, 상기 제1 사용자와 상기 제2 사용자가 상호 일치하는지 판단하는 단계를 포함할 수 있다.
바람직하게는, 상기 웹 서버 내부 간의 이동에 기초하여, 상기 제1 사용자와 상기 제2 사용자가 상호 일치하는지 판단하는 단계는 상기 상태천이테이블을 이용하여, 상기 웹 서버 내부 페이지 간의 이동 각각에 대응되는 확률값을 모두 곱하여 이동정보결과값을 산출하는 단계; 및 상기 이동정보결과값이 소정의 제2 임계치 이상인지 여부에 따라, 상기 제1 사용자와 상기 제2 사용자가 상호 일치하는지 판단하는 단계를 포함할 수 있다.
바람직하게는, 상기 복수의 접속정보 및 상기 복수의 이동정보는 소정의 기간 동안, 상기 웹 서버에 접속한 로그인 데이터 및 상기 웹 서버 내부 페이지 간을 이동한 로그 데이터를 수집하여 생성될 수 있다.
또한, 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 웹 서버의 모니터링 장치는 제1 사용자가 웹 서버에 접속하면, 상기 제1 사용자가 접속할 때 입력한 고유한 식별수단에 기초하여, 상기 제1 사용자를 식별하는 식별부; 사용자DB에 저장된 IP주소, 시간 및 요일 중 적어도 하나의 세부접속정보를 포함하는 복수의 접속정보 및 상기 웹 서버 내부 페이지 간의 이동한 순서를 나타내는 복수의 이동정보 중 적어도 하나에 기초하여, 상기 식별된 제1 사용자와 상기 식별수단의 진정사용자인 제2 사용자가 상호 일치하는지 판단하는 판단부; 및 상기 판단 결과 상기 제1 사용자와 상기 제2 사용자가 불일치하면, 미리 설정된 담당자 또는 상기 제2 사용자에게 상기 판단 결과를 포함하는 사용자불일치정보를 전송하는 전송부를 포함한다.
본 발명은 웹 서버에서 사용자 행위를 모니터링함으로써, 이상 징후를 나타내는 사용자를 검출할 수 있는 효과가 있다.
또한, 본 발명은 웹 서버 상의 사용자 행위를 접속 분석 단계, 이용 패턴 분석 단계 및 데이터베이스 접속 패턴 분석 단계로 나누어 각각의 단계에서의 이상 징후를 개별적으로 검출할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 웹 서버의 모니터링 방법을 설명하기 위하여 도시한 흐름도이다.
도 2는 본 발명의 다른 실시예에 따른 웹 서버의 모니터링 방법을 설명하기 위하여 도시한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 제1 사용자와 제2 사용자가 상호 일치하는지 판단하는 방법을 설명하기 위하여 도시한 흐름도이다.
도 4는 본 발명의 다른 실시예에 따른 제1 사용자와 제2 사용자가 상호 일치하는지 판단하는 방법을 설명하기 위하여 도시한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 웹 서버의 모니터링 장치를 설명하기 위하여 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 웹 서버 및 웹 서버의 모니터링 장치의 연결관계를 설명하기 위하여 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 제1 사용자와 제2 사용자의 일치 여부를 판단하는 기준이 되는 임계치를 설명하기 위하여 도시한 도면이다.
도 8a 및 8b는 본 발명의 일 실시예에 따른 사용자의 URL 이동 및 상태천이테이블을 설명하기 위하여 도시한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 웹 서버의 모니터링 방법을 설명하기 위하여 도시한 흐름도이다.
단계 S110에서는, 모니터링 장치가 제1 사용자가 웹 서버에 접속하면, 그 제1 사용자가 접속할 때 입력한 고유한 식별수단에 기초하여, 그 제1 사용자를 식별한다.
여기서, 웹 서버는 유선 또는 무선의 네트워크를 통해 컴퓨터, 스마트폰 및 태블릿PC 등과 연결되는 시스템이다. 예를 들어, 웹 서버의 기능을 포함하는 WAS(web application server)서버 또는 애플리케이션 서버가 웹 서버에 해당된다.
또한, 고유한 식별수단은 그 웹 서버에서 각 사용자를 식별하기 위하여 고유하게 정해진 것일 수 있다. 예를 들어, 사용자 아이디 및 패스워드가 각 사용자를 식별하기 위한 식별수단에 해당할 수 있다.
예컨대, 모니터링 장치는, 사용자DB에 각 사용자의 이름 및 아이디의 사용자 정보가 저장되어 있을 때, 제1 사용자가 A라는 아이디를 이용하여 로그인하면, 그 제1 사용자를 사용자DB에 저장된 복수의 사용자 중에서 그 A 아이디의 사용자로 식별할 수 있다.
단계 S120에서는, 모니터링 장치가 사용자DB에 저장된 IP주소, 시간 및 요일 중 적어도 하나의 세부접속정보를 포함하는 복수의 접속정보 및 그 웹 서버의 페이지 사이를 이동한 순서를 나타내는 복수의 이동정보 중 적어도 하나에 기초하여, 식별된 제1 사용자와 그 식별수단의 진정사용자인 제2 사용자가 상호 일치하는지 판단한다.
예컨대, 접속정보는, 사용자DB에 저장된 각 사용자의 아이디에 대하여, 접속이 진행된 IPv4 또는 IPv6 등의 IP(internet protocol)주소, 접속이 진행된 시간 또는 시간구간 및 접속이 진행된 요일 중 적어도 하나의 세부접속정보를 포함할 수 있다. 또한, 접속정보는 IP주소를 이용하여 획득한 접속이 진행된 국가, 접속이 진행된 기기(PC, 스마트폰, 태블릿PC 등)의 세부접속정보를 더 포함할 수 있다.
또한, 이동정보는, 사용자DB에 저장된 각 사용자의 아이디에 대하여, 접속 후 웹 서버의 페이지 사이를 이동한 순서에 대한 정보를 포함할 수 있다. 즉, 웹 서버가 A, B 및 C의 웹 페이지를 포함하는 웹 서버인 경우, 그 3개의 웹 페이지 간의 이동 순서에 대한 정보(예, A에서 B, A에서 C, B에서 C, B에서 A, C에서 A, C에서 B의 이동 횟수)를 포함할 수 있다.
이때, 사용자DB에 저장된 복수의 접속정보 및 복수의 이동정보는 제1 사용자가 입력한 식별수단(예, A 아이디)의 진정사용자인 제2 사용자의 웹 서버에 대한 접속 및 웹 서버의 페이지 사이의 이동에 대한 데이터를 이용하여 생성된 것으로 가정할 수 있다.
그리고, 모니터링 장치가 그 제1 사용자의 웹 서버에 대한 접속 및 웹 서버 페이지 사이의 이동에 대한 데이터 중 적어도 하나를 사용자DB에 저장된 복수의 접속정보 및 복수의 이동정보 중 적어도 하나와 비교하여, 제1 사용자가 제2 사용자와 일치하는지 판단할 수 있다.
한편, 모니터링 장치가 제1 사용자가 제2 사용자와 일치하는지 판단하는 자세한 방법에 대하여는 도 3 및 도 4에 대한 설명에서 구체적으로 후술한다.
다른 실시예에서는, 복수의 접속정보 및 복수의 이동정보는 소정의 기간 동안, 그 웹 서버에 접속한 로그인 데이터 및 그 웹 서버의 페이지 사이를 이동한 로그 데이터를 수집하여 생성될 수 있다.
예컨대, 복수의 접속정보는, 4주로 설정된 학습 주기 동안 그 웹 서버에 접속한 로그인 데이터를 수집하여 생성될 수 있다. 이때, 복수의 접속정보는 사용자DB에 저장된 사용자의 전부 또는 일부에 대하여 생성될 수 있다. 구체적으로는, HTTP protocol의 IP주소, 접속 시간, 접속 요일 값으로부터 로그인 데이터가 수집될 수 있다.
마찬가지로, 복수의 이동정보는, 4주로 설정된 학습 주기 동안 그 웹 서버의 페이지 사이를 이동한 로그 데이터를 수집하여 생성될 수 있다. 즉, 웹 서버가 A, B 및 C의 웹페이지를 포함하는 웹 서버인 경우, 그 3개의 웹페이지 간을 이동한 로그 데이터(예, A에서 B, A에서 C, B에서 C, B에서 A, C에서 A, C에서 B의 이동)를 모두 수집하여 생성될 수 있다. 구체적으로는, HTTP protocol의 requestURL, bodyparameter로부터 로그 데이터가 수집될 수 있다.
단계 S130에서는, 모니터링 장치가, 판단 결과 제1 사용자와 제2 사용자가 불일치하면, 미리 설정된 담당자 또는 제2 사용자에게 그 판단 결과를 포함하는 사용자불일치정보를 전송한다.
즉, 모니터링 장치가, 제1 사용자와 제2 사용자가 일치하지 않는 것으로 판단되면, 그 사용자불일치정보를 담당자 또는 제2 사용자에게 전송할 수 있다.
이때, 사용자불일치정보는 제1 사용자와 제2 사용자가 일치하지 않는다는 판단 결과를 포함하며, 또한 그 제1 사용자가 그 웹 서버에 접속한 로그인 데이터(예, IP주소, 시간, 요일) 및 그 웹 서버의 페이지 사이를 이동한 로그 데이터(예, 이동 이력)를 더 포함할 수 있다.
한편, 미리 설정된 담당자는 그 웹 서버의 관리자일 수 있으며, 그 사용자불일치정보가 전송되면, 그 담당자는 그에 대응되는 적절한 조치(예, 제1 사용자의 IP주소를 웹 서버에 접속하지 못하도록 차단, 제2 사용자에게 비밀번호를 바꾸도록 요청)를 취할 수 있다. 또한, 제2 사용자도 사용자불일치정보가 전송되면, 비밀번호를 바꾸는 등의 필요한 조치를 취할 수 있다.
이와 같이, 본 발명의 일 실시예에 따른 웹 서버의 모니터링 방법은 웹 서버 상의 사용자 행위를 모니터링함으로써, 이상 징후를 나타내는 사용자를 검출할 수 있는 효과가 있다.
도 2는 본 발명의 다른 실시예에 따른 웹 서버의 모니터링 방법을 설명하기 위하여 도시한 흐름도이다.
단계 S210에서는, 모니터링 장치가 제1 사용자가 웹 서버에 접속하면, 그 제1 사용자가 접속할 때 입력한 고유한 식별수단에 기초하여, 그 제1 사용자를 식별한다.
단계 S220에서는, 모니터링 장치가 사용자DB에 저장된 복수의 접속정보, 복수의 이동정보 및 그 웹 서버에 연동된 시스템DB에게 전송된 적어도 하나의 질의의 횟수인 질의횟수 및 그 적어도 하나의 질의에 대응하여 전송된 결과 데이터 중 적어도 하나의 세부DB정보를 포함하는 복수의 DB이용정보 중 적어도 하나에 기초하여, 식별된 제1 사용자와 그 식별수단의 진정사용자인 제2 사용자가 상호 일치하는지 판단한다.
즉, 모니터링 장치가 웹 서버에 연동된 시스템DB의 질의횟수 및 결과 데이터 중 적어도 하나에 대한 세부DB정보를 포함하는 복수의 DB이용정보에 더 기초하여, 제1 사용자와 제2 사용자가 상호 일치하는지 판단할 수 있다.
보다 구체적으로는, 모니터링 장치가 사용자DB에 저장된 복수의 DB이용정보에 나타나 있는 평상 시의 시스템DB 사용 패턴과 제1 사용자의 시스템DB 사용 패턴을 비교 및 분석하여, 제1 사용자가 제2 사용자와 일치하는지 판단할 수 있다.
예컨대, 제2 사용자는 평상 시에 시스템DB에 질의횟수가 어느 수치 이하였는데, 제1 사용자가 갑자기 평상 시보다 훨씬 더 많은 질의를 시스템DB에 요청하는 경우, 모니터링 장치는 제1 사용자에 대하여 제2 사용자가 아닌 것으로 판단할 수 있다. 이에 대한 자세한 방법은 아래의 다른 실시예에 대한 설명에서 구체적으로 후술한다.
바람직하게는, 복수의 DB이용정보에 포함되는 세부DB정보는 사전에 등록된 특정한 데이터에 대한 질의횟수 및 결과 데이터에 대한 정보일 수 있다. 즉, 모니터링 장치는, 사용자DB에 저장된 데이터별 중요도에 따라서, 사용자DB에 대한 DB사용 패턴을 선택적으로 모니터링할 수 있다.
한편, 시스템DB의 질의횟수 및 결과 데이터는 시스템DB에 대한 질의가 수행될 때, 그 질의에 대응되는 SQL query에 대하여 executeSql, resultCount함수를 이용하여 획득될 수 있다.
또한, 모니터링 장치가 제1 사용자와 제2 사용자가 상호 일치하는지 판단하기 위하여, 복수의 DB이용정보에 포함된 세부DB정보에 대한 제2 사용자의 기준 프로파일을 생성하고, 그 기준 프로파일과 제1 사용자의 세부DB정보를 비교할 수 있다.
예컨대, 모니터링 장치가 최근의 n주에 대하여 각 주별로 가중치를 달리하여 기준 질의횟수 및 결과 데이터의 기준 프로파일을 생성할 수 있다. 보다 구체적으로는, 현재의 주의 가중치를 가장 높게 설정하여 기준 프로파일을 생성할 수 있다. 즉, t가 현재의 주라고 할 때, wt-n < wt-n-1 < … < wt-1 < wt으로 각 주별 가중치를 결정할 수 있다. 이때, 각 주별 가중치의 총 합은 1이 된다.
다른 실시예에서는, 모니터링 장치가 그 적어도 하나의 세부DB정보의 평균 및 표준편차에 기초하는 정규분포를 이용하여, 제1 사용자가 제2 사용자와 상호 일치하는지 판단할 수 있다.
이때, 정규분포는 평균(m)과 표준편차(σ)인 변량 X(예, 질의횟수 또는 결과 데이터)가 아래의 수학식 1의 확률밀도함수를 가지는 경우를 말한다. 보다 구체적으로는, 모니터링 장치가 복수의 DB이용정보를 이용하여 질의횟수 및 결과 데이터 각각의 평균과 표준편차를 산출하고, 그 평균과 표준편차를 이용하여 제1 사용자가 제2 사용자와 상호 일치하는지 판단할 수 있다. 이때, 동일한 사용자에 대한 질의횟수 및 결과 데이터는 정규분포를 따르는 것으로 가정한다.
[수학식 1]
Figure 112019032650224-pat00001
여기서, f(x)는 변량 X의 확률밀도함수이고, m은 변량 X의 평균값이고, σ는 변량 X의 표준편차이다.
예컨대, 모니터링 장치가, 정규분포에서 변량 X가 평균 m의 ±1.96σ 이내인 값일 확률은 95.0%이므로, 임계확률을 95.0%라고 한다면, m±1.96σ 범위 이내인 변량 X에 대하여 제1 사용자가 제2 사용자와 상호 일치한다고 판단할 수 있다.
또 다른 실시예에서는, 모니터링 장치가 세부DB정보의 평균 및 표준편차를 이용하여 가우시안 혼합 모델(Gaussian mixed model)을 생성하고, 그 생성된 가우시안 혼합 모델을 이용하여 제1 사용자가 제2 사용자와 상호 일치하는지 판단할 수 있다.
이때, 가우시안 혼합 모델은 세부DB정보의 평균 및 표준편차에 기초하는 복수개의 가우시안 분포(정규분포)를 포함할 수 있다. 그리고, 세부DB정보는 특정 SQL함수(예, resultCount)의 질의횟수 및 결과 데이터에 대한 정보일 수 있다.
보다 구체적으로는, 모니터링 장치가 일정한 시간 동안 resultCount함수의 질의횟수의 평균값의 분포를 산출하여, 확률분포가 2개 이상으로 나올 경우, 비교대상이 되는 질의횟수(n개의 질의횟수)의 평균값이 복수개의 가우시안 분포 중 하나에 대하여 아래의 수학식 2를 충족하는지를 판단함으로써, 제1 사용자가 제2 사용자와 상호 일치하는지 판단할 수 있다.
[수학식 2]
Figure 112019032650224-pat00002
여기서, μi는 복수개의 가우시안 분포 중 i번째 분포의 평균이고, Zα/2는 α유의수준의 정규 가우시안값이고, σi는 복수개의 가우시안 분포 중 i번째 분포의 표준편차이고, n은 질의횟수(샘플)의 개수이고,
Figure 112019032650224-pat00003
는 일정한 시간 동안 resultCount함수의 질의횟수의 평균값이다.
한편, 각각의 DB이용정보는 각각의 세션 단위로 질의횟수 및 결과 데이터 중 적어도 하나의 세부DB정보를 수집하여 생성될 수 있다. 이때, 세션은 네트워크 상에서 컴퓨터와 컴퓨터가 논리적으로 연결된 상태를 말하며, 물리적인 또는 논리적인 연결 종료가 발생하는 경우 해당 세션은 종료될 수 있다.
단계 S230에서는, 모니터링 장치가, 판단 결과 제1 사용자와 제2 사용자가 불일치하면, 미리 설정된 담당자 또는 제2 사용자에게 그 판단 결과를 포함하는 사용자불일치정보를 전송한다.
도 3은 본 발명의 일 실시예에 따른 제1 사용자와 제2 사용자가 상호 일치하는지 판단하는 방법을 설명하기 위하여 도시한 흐름도이다.
단계 S310에서는, 모니터링 장치가 복수의 접속정보에 포함된 적어도 하나의 세부접속정보 각각의 빈도를 산출한다.
예컨대, 모니터링 장치가 IP주소의 세부접속정보에 대하여 빈도를 산출할 수 있다. 즉, 총 20회의 접속이 있었고, 그 접속이 총 3개의 IP주소를 통해서 수행되었다면, 모니터링 장치가 표 1과 같이 세부접속정보의 빈도를 산출할 수 있다.
IP 주소 128.125.103.3 128.125.323.8 128.125.333.5
빈도 1 14 5
또한, 총 20회의 접속이 있었고, 그 접속을 요일 단위로 나누면, 모니터링 장치가 표 2와 같이 세부접속정보의 빈도를 산출할 수 있다.
접속 요일
빈도 0 4 3 10 2 1 0
또한, 총 20회의 접속이 있었고, 그 접속의 시간을 2시간 단위로 나누면, 모니터링 장치가 표 3과 같이 세부접속정보의 빈도를 산출할 수 있다.
접속 시간 0 2 4 6 8 10
빈도 0 0 0 0 5 2
접속 시간 12 14 16 18 20 22
빈도 2 4 5 2 0 0
단계 S320에서는, 모니터링 장치가 그 적어도 하나의 세부접속정보 각각의 빈도에 기초하여, 세부접속정보 각각에 대응되는 멤버쉽 함수(membership function)의 값인 멤버쉽값(membership value)을 산출한다.
멤버쉽 함수는 퍼지(fuzzy)이론 등에서 사용되는 함수로, 어느 요소의 성질(degree of truth)을 0에서 1사이의 값으로 나타낸다. 또한, 멤버쉽값은 그 세부접속정보에 대한 해당 집합에 어느 정도로 속하는가를 값으로 나타낸다.
즉, 모니터링 장치가 적어도 하나의 세부접속정보 각각의 빈도를 이용하여 멤버쉽 함수를 생성하고, 그 함수로부터 각각의 세부접속정보에 대응되는 멤버쉽값을 산출할 수 있다.
이때, 이 발명 명세서에서 사용되는 멤버쉽값은 수학식 3으로 나타낼 수 있다.
[수학식 3]
Figure 112019032650224-pat00004
여기서, mij는 멤버쉽값이고, i는 적어도 하나의 세부접속정보의 인덱스이고, Imax는 세부접속정보의 종류의 총 개수이고, ij는 i번째 세부접속 정보내의 j 번째 카테고리를 지칭하는 인덱스이고, Ni max는 i번째 세부접속정보에 포함된 값들의 총합이고, αi는 i번째 세부접속정보에서 특정 정보(j)번째 의 빈도가 0일 때 할당되는 멤버쉽값이고, βi min은 i번째 세부접속정보에 포함된 값 중 빈도가 최소인 인덱스에 할당되는 멤버쉽값이고, βi max는 i번째 세부접속정보에 포함된 값 중 빈도가 최대인 인덱스에 할당되는 멤버쉽값(여기서는 1)이고 이다.
예컨대, 표 1 내지 표 3을 참조하면, Imax는 IP주소, 요일 및 시간을 포함하는 3이고, 표 1에 대응되는 N1 max는 3이고, 표 2에 대응되는 N2 max는 7이고, 표 3에 대응되는 N3 max는 12이고, α는 0.1이고, βmin은 0.5이고, βmax는 1이다. 또한, 각 멤버쉽값은 수학식 3에 의해 산출된다.
또한, 이때, α 및 βmin는 Imax에 따라서 표 4와 같이 결정된다.
I max 2 3 4 5
α 0.1 0.1 0.1 0.05
βmin 0.4 0.5 0.6 0.65
따라서, 수학식 3과 표 4(Imax = 3)의 α와 βmin에 의해 세부접속정보(표 1, 2, 3) 각 빈도에 해당하는 멤버쉽값은 표 5, 6, 7과 같이 산출된다.
IP 주소 128.125.103.3 128.125.323.8 128.125.333.5
빈도 1 14 5
멤버쉽값 0.5 1 0.75
접속 요일
빈도 0 4 3 10 2 1 0
멤버쉽값 0.1 0.875 0.75 1 0.625 0.5 0.1
접속 시간 0 2 4 6 8 10
빈도 0 0 0 0 5 2
멤버쉽값 0.1 0.1 0.1 0.1 1 0.5
접속 시간 12 14 16 18 20 22
빈도 2 4 5 2 0 0
멤버쉽값 0.5 0.75 1 0.5 0.1 0.1
다른 실시예에서는, 모니터링 장치가 소정의 기간별로 차등적인 가중치를 부여하여, 멤버쉽값을 산출할 수 있다.
예컨대, 모니터링 장치가 지난 2주간을 1주일 단위의 기간별로 차등적인 가중치를 부여하여 멤버쉽값을 산출할 수 있다. 이때, 표 8는 지난 주의 멤버쉽값을 나타내고, 표 9은 이번 주의 멤버쉽값을 나타낸다
IP 주소 a b c
빈도(x t-1 ) 1 14 5
멤버쉽값 0.5 1 0.75
IP 주소 a b c
빈도(x t ) 3 8 9
멤버쉽값 0.5 0.75 1
이때, 모니터링 장치가 지난 주와 이번 주의 빈도에 대하여 각각 0.3과 0.7의 가중치를 부여하여 표 10과 같이 멤버쉽값을 산출할 수 있다. 한편, 이번 주의 빈도에 더 큰 가중치가 부여되는 것은, 현재와 가까운 데이터일수록 사용자의 성향을 보다 정확하게 반영하기 때문일 수 있다. 이 계산 방법은 수학식 4를 이용한다.
IP 주소 a b c
빈도(0.7*x t +0.3*x t-1 ) 2.4 9.8 7.8
멤버쉽값 0.5 1 0.75
[수학식 4]
Figure 112019032650224-pat00005
여기서, pt는 차등적인 가중치가 부여된 결과를 나타내는 빈도이고, T는 차등적인 가중치가 부여되는 기간의 총 개수이고, t-i는 오늘부터 i번째 전 기간이고, wi는 i번째 기간에 대한 차등적인 가중치이고, xi는 i번째 기간에 대한 빈도이고, i 및 j는 i > j 인 관계이다.
단계 S330에서는, 모니터링 장치가 그 제1 사용자의 접속에 대한 접속정보에 포함된 적어도 하나의 세부접속정보 각각에 대응되는 멤버쉽값을 이용하여, 제1 사용자와 제2 사용자가 상호 일치하는지 판단한다.
예컨대, 수학식 3을 참조하면, 세부접속정보 각각의 값들에 대한 멤버쉽값은 그 빈도에 비례한다. 따라서, 그 세부접속정보의 각각의 멤버쉽값이 커질수록 제1 사용자와 제2 사용자가 상호 일치할 가능성도 커질 수 있다. 이는, 제1 사용자의 웹 서버에 대한 접속 패턴이, 제2 사용자의 웹 서버에 대한 접속 패턴에 가까워지는 것을 의미하기 때문이다.
다른 실시예에서는, 모니터링 장치가 접속정보결과값을 산출하여, 제1 사용자와 제2 사용자가 상호 일치하는지 판단할 수 있다.
접속정보결과값은 수학식 5에 의해 산출될 수 있다. 즉, 제1 사용자의 접속에 대한 각각의 세부접속정보가 주어지면, 이 정보를 사용하여, 각 세부정보 인덱스별로 멤버쉽값을 구하고(mi) 이들을 곱하여 산출될 수 있다.
[수학식 5]
Figure 112019032650224-pat00006
여기서, Rc는 접속정보결과값이고, k는 세부접속정보의 개수이고, mi는 제1 사용자의 접속에 대한 i번째 세부접속정보의 멤버쉽값이다.
그리고, 모니터링 장치가 그 산출된 접속정보결과값을 소정의 제1 임계치와 비교하여, 제1 사용자와 제2 사용자가 상호 일치하는지 판단할 수 있다. 예컨대, 그 접속정보결과값이 제1 임계치 이상인 경우, 제1 사용자가 제2 사용자와 일치하고, 그 접속정보결과값이 제1 임계치 미만인 경우, 제1 사용자가 제2 사용자가 아닌 이상 징후가 있는 사용자인 것으로 판단할 수 있다.
한편, 제1 임계치는 아래의 수학식 6의 범위에서 결정될 수 있다.
[수학식 6]
Figure 112019032650224-pat00007
여기서, θ는 제1 임계치이고, α는 세부접속정보에 포함된 값에 대응되는 빈도가 0일 때 할당되는 멤버쉽값이고, βmin은 세부접속정보에 포함된 값 중 빈도가 최소일 때 할당되는 멤버쉽값이고, βmax는 세부접속정보에 포함된 값 중 빈도가 최대일 때 할당되는 멤버쉽값(여기서는 1)이고 이다.
즉, 제1 임계치는 α와 γ의 사이에서 결정될 수 있으며, 바람직하게는, 그 평균값인 (α+γ)/2로 결정될 수 있다.
예컨대, 제1 임계치 결정 수식 (α+γ)/2과 수학식 6의 γ는 앞서 결정된 표 4의 Imax, α, βmin 에 적용한다면 다음 표 11과 같이 산출된다.
I max 2 3 4 5
α 0.1 0.1 0.1 0.05
θ 0.13 0.113 0.115 0.083
γ 0.16 0.125 0.1296 0.117
βmin 0.4 0.5 0.6 0.65
도 4는 본 발명의 다른 실시예에 따른 제1 사용자와 제2 사용자가 상호 일치하는지 판단하는 방법을 설명하기 위하여 도시한 흐름도이다.
단계 S410에서는, 모니터링 장치가 복수의 이동정보에 포함된 적어도 하나의 이동 각각의 빈도를 산출한다.
예컨대, 모니터링 장치가, 도 8a를 참조하면, 특정한 웹페이지 (news.naver.com)로부터 다른 웹페이지 각각으로 이동하는 빈도를 산출할 수 있다. 즉, 모니터링 장치가 그 특정한 웹페이지로부터 그 웹페이지를 통해 이동할 수 있는 다른 웹페이지로 이동하는 빈도를 모두 산출할 수 있다. 웹 페이지 간의 이동은 사용자가 웹 브라우저에 표현된 화면에서 하나의 링크를 마우스를 이용하여 클릭함으로써 발생할 수 있다.
단계 S420에서는, 모니터링 장치가 그 적어도 하나의 이동 각각의 빈도에 기초하여, 제2 사용자가 그 웹 서버의 페이지 간의 이동 확률을 나타내는 상태천이테이블을 생성한다.
예컨대, 모니터링 장치가, 도 8b를 참조하면, 그 적어도 하나의 이동 각각의 빈도를 이용하여, 그 각 이동에 대한 상태천이테이블을 생성할 수 있다. 즉, www.naver.com에서 news.naver.com으로 이동하는 확률이 0.2153이고, new.naver.com에서 sports.news.naver.com/main/index.nhn으로 이동할 확률이 0.0508이다.
이때, 상태천이테이블에 포함된 각각의 확률은 특정한 웹페이지 A로부터 그와 연결되는 다른 웹페이지인 A1, A2, A3, A4로 이동한 빈도를 모두 합한 값을 분모로 하고, A로부터 A1, A2, A3, A4로 이동한 빈도를 각각 분자로 하여 산출할 수 있다. 예를 들어, A로부터 A1, A2, A3, A4로 이동한 빈도가 각각 50, 50, 200, 100이라고 가정하면, A로부터 A1, A2, A3, A4로 이동할 확률은 50/400, 50/400, 200/400, 100/400으로 산출된다.
이때, 모니터링 장치가 웹페이지 A로부터 연결되는 웹페이지 A5가 존재하지만, A에서 A5로 이동한 빈도가 0인 경우, 향후에 곱셈에 의해 산출될 확률값이 0이 되지 않도록 하기 위하여 임의의 작은 수를 상수로 지정한다.
단계 S430에서는, 모니터링 장치가 마르코프 체인(Markov chain), 상태천이테이블 및 제1 사용자의 접속 동안의 그 웹 서버 페이지 간의 이동에 기초하여, 제1 사용자와 제2 사용자가 상호 일치하는지 판단한다.
마르코프 체인은 하나의 상태에서 또 다른 상태로 천이하는 무작위의 과정을 확률로 나타낼 수 있다. 이때, 각각의 천이 과정은 서로 영향을 미치지 않아 독립적이다. 특히, 마르코프 체인은 연속적인 이동을 확률의 곱으로 표현한다.
이때, 마르코프 체인을 이용하여, 제1 사용자에 의한 웹 서버 페이지 간의 이동(x1, x2,… , xt-1)이 시간 T=1,2,…,t에서 발생할 확률을 계산하면, 아래의 수학식 7과 같다.
[수학식 7]
Figure 112019032650224-pat00008
여기서, P는 제1 사용자에 의한 웹 서버 페이지 간의 전체 이동이 발생할 확률이고, T는 제1 사용자에 의한 웹 서버 내부 간의 이동 횟수이고, P(x1)은 초기 페이지 상태(T=1)의 확률이고, P(xi+1|xi)는 xi사건(웹페이지)이 발생하였을 때 xi+1사건(웹페이지)이 발생할 확률이다.
예컨대, 제1 사용자가 웹페이지를 T회에 걸쳐 이동하는 경우에, P(x1)은 초기 화면이 나타날 확률이고, P(xi+1|xi)은 T=i+1일 때, 그전 xi 웹페이지에서 xi+1웹페이지로 이동할 확률이다. 즉, 웹페이지를 이동하는 것은 이전의 이동이 다음번의 이동에 영향을 미치지 않으므로, 마르코프 체인이 적용될 수 있다.
그리고, 모니터링 장치가 상태천이테이블에서 각각의 xi웹페이지에서 xi+1웹페이지로 이동할 확률에 대한 정보를 획득하여, 제1 사용자에 의한 웹 서버 페이지 간의 이동이 발생할 확률을 산출할 수 있다. 또한, 초기 화면 P(x1)이 나타날 확률은 1일 수 있다. 모니터링 장치가 그 산출된 확률을 이용하여 제1 사용자와 제2 사용자가 상호 일치하는지 판단할 수 있다.
다른 실시예에서는, 모니터링 장치가 이동정보결과값을 산출하여, 제1 사용자와 제2 사용자가 상호 일치하는지 판단할 수 있다.
예컨대, 모니터링 장치가 제1 사용자가 웹페이지를 T회에 걸쳐 이동하였을 때, 그 각각의 이동에 대응되는 확률을 상태천이테이블로부터 획득하고, 그 획득한 확률을 모두 곱하여 이동정보결과값을 산출할 수 있다.
그리고, 그 이동정보결과값이 소정의 제2 임계치 이상인지 여부에 따라, 이용하여 제1 사용자와 제2 사용자가 상호 일치하는지 판단할 수 있다. 예컨대, 그 이동정보결과값이 제2 임계치 이상인 경우, 제1 사용자가 제2 사용자와 일치하고, 그 이동정보결과값이 제2 임계치 미만인 경우, 제1 사용자가 제2 사용자가 아닌 이상 징후가 있는 사용자인 것으로 판단할 수 있다.
한편, 제2 임계치는 아래의 수학식 8의 범위에서 결정될 수 있다.
[수학식 8]
Figure 112019032650224-pat00009
여기서, θ는 제2 임계치이고, αj는 상태천이테이블에서 해당 이동에 대응되는 확률이 존재하지 않을 경우에 부여되는 값으로, 모든 αj = α로 하나의 값으로 하고, πmin i는 i번째 이동에 대응되는 상태천이테이블에서 가장 작은 확률의 값이고, πmax i는 i번째 이동에 대응되는 상태천이테이블에서 가장 큰 확률의 값이고, N은 제1 사용자의 웹 서버 페이지 간의 이동 횟수이다.
제2 임계치는 아래의 수학식 9의 범위에서 결정될 수 있다. 이때, 수학식 8에 따라 α는
Figure 112019032650224-pat00010
을 만족해야 하기 때문에,
Figure 112019032650224-pat00011
의 형태로 지정하는 것이 바람직하다. 따라서, 아래 수학식 9를 얻을 수 있다.
[수학식 9]
Figure 112019032650224-pat00012
한편, 도 7을 참조하면, 모니터링 장치가 산출한 이동정보결과값과 제2 임계치를 서로 비교하여, 5단계의 경고 레벨로 판별결과를 산출할 수 있다.
1단계(정상)는 올바른 사용자로 판단할 수 있는 결과 값 중에서 가장 작은 값보다 큰 경우로, 탐지 결과 및 행위 로그데이터를 DB에 저장할 수 있다.
2단계(관심)는 각 모델별 탐지 결과 값이 제2 임계치로부터 67 ~ 100% 이내 값을 갖는 경우로, 탐지 결과 및 행위 로그데이터를 관리자에게 알리고, DB에 저장할 수 있다.
3단계(주의)는 각 모델별 탐지 결과 값이 제2 임계치로부터 34 ~ 66% 이내에 값을 갖는 경우로, 탐지 결과 및 행위 로그데이터를 관리자에게 알리고, DB에 저장할 수 있다.
4단계(경계)는 각 모델별 탐지 결과 값이 제2 임계치로부터 0 ~ 33% 이내에 값을 갖는 경우로, 탐지 결과 및 행위 로그데이터를 관리자에게 알리고, DB에 저장할 수 있다.
5단계(심각)는 각 모델별 탐지 결과 값이 제2 임계치 범위보다 작은 값을 갖는 경우로, 탐지 결과 및 행위 로그데이터를 관리자에게 알리고, DB에 저장할 수 있다.
도 5는 본 발명의 일 실시예에 따른 웹 서버의 모니터링 장치를 설명하기 위하여 도시한 도면이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 웹 서버의 모니터링 장치(500)는 식별부(510), 판단부(520) 및 전송부(530)를 포함할 수 있다.
한편, 웹 서버의 모니터링 장치(500)는 웹 서버에 직접 연동되거나, 또는 웹 서버와 유선 또는 무선으로 연결된 서버, PC, 스마트폰 및 태블릿PC 등에 탑재될 수 있다.
보다 구체적으로는, 도 6을 참조하면, 제1 사용자(603) 및 제2 사용자(606)가 웹 서버(609)(예, WAS서버)에 접속할 때, 에이전트(612)가 제1 사용자(603) 및 제2 사용자(606)의 웹 서버(609)에 대한 접속 로그인 데이터 및 웹 서버(609) 내부의 이동 로그 데이터를 사용자DB(615)에 저장할 수 있다. 그리고, 웹 서버의 모니터링 장치(500)가 탑재된 서버(618)가 그 사용자DB(615)에 저장된 데이터를 이용하여, 제1 사용자(603)와 제2 사용자(606)가 상호 일치하는지 판단할 수 있다. 그리고, 그 결과를 담당자(621)에게 전송할 수 있다.
식별부(510)는 제1 사용자(603)가 웹 서버(609)에 접속하면, 그 제1 사용자(603)가 접속할 때 입력한 고유한 식별수단에 기초하여, 그 제1 사용자(603)를 식별한다.
판단부(520)는 사용자DB(615)에 저장된 IP주소, 시간 및 요일 중 적어도 하나의 세부접속정보를 포함하는 복수의 접속정보 및 그 웹 서버(609)의 내부의 페이지 간을 이동한 순서를 나타내는 복수의 이동정보 중 적어도 하나에 기초하여, 그 식별된 제1 사용자(603)와 그 식별수단의 진정사용자인 제2 사용자(606)가 상호 일치하는지 판단한다.
마지막으로 전송부(530)는 그 판단 결과, 제1 사용자(603)와 제2 사용자(606)가 불일치하면, 미리 설정된 담당자(621) 또는 제2 사용자(606)에게 그 판단 결과를 포함하는 사용자불일치정보를 전송한다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다.
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (9)

  1. 제1 사용자가 웹 서버에 접속하면, 상기 제1 사용자가 접속할 때 입력한 고유한 식별수단에 기초하여, 상기 제1 사용자를 식별하는 단계;
    사용자DB에 저장된 IP주소, 시간 및 요일 중 적어도 하나의 세부접속정보를 포함하는 복수의 접속정보 및 상기 웹 서버 내부 페이지 간의 이동에 대한 확률정보 중 적어도 하나에 기초하여, 상기 식별된 제1 사용자와 상기 식별수단의 진정사용자인 제2 사용자가 상호 일치하는지 판단하는 단계; 및
    상기 판단 결과 상기 제1 사용자와 상기 제2 사용자가 불일치하면, 미리 설정된 담당자 또는 상기 제2 사용자에게 상기 판단 결과를 포함하는 사용자불일치정보를 전송하는 단계
    를 포함하고,
    상기 복수의 접속정보에 기초하여 판단할 때,
    상기 제2 사용자가 상호 일치하는지 판단하는 단계는
    상기 복수의 접속정보에 포함된 적어도 하나의 세부접속정보 각각의 빈도를 산출하는 단계;
    상기 적어도 하나의 세부접속정보 각각의 빈도에 기초하여, 상기 세부접속정보 각각에 대응되는 멤버쉽 함수(membership function)의 값인 멤버쉽값(membership value)을 산출하는 단계; 및
    상기 제1 사용자의 접속에 대한 상기 접속정보에 포함된 적어도 하나의 세부접속정보 각각에 대응되는 멤버쉽값을 이용하여, 상기 제1 사용자와 상기 제2 사용자가 상호 일치하는지 판단하는 단계
    를 포함하는 것을 특징으로 하는 웹 서버의 모니터링 방법.
  2. 제1항에 있어서,
    상기 웹 서버에 연동된 시스템DB에게 전송된 적어도 하나의 질의의 횟수인 질의횟수 및 상기 적어도 하나의 질의에 대응하여 전송된 결과 데이터 중 적어도 하나의 세부DB정보를 포함하는 복수의 DB이용정보가 상기 사용자DB에 더 저장되어 있을 때,
    상기 제2 사용자가 일치하는지 판단하는 단계는
    상기 DB이용정보에 더 기초하여, 상기 제1 사용자와 상기 제2 사용자가 일치하는지 판단하는 것을 특징으로 하는 웹 서버의 모니터링 방법.
  3. 제2항에 있어서,
    상기 DB이용정보가 각각의 세션(session) 단위로 상기 질의횟수 및 상기 결과 데이터 중 적어도 하나의 세부DB정보를 포함하고, 상기 DB이용정보에 더 기초하여 판단할 때,
    상기 제2 사용자가 일치하는지 판단하는 단계는
    상기 DB이용정보에 포함된 적어도 하나의 세부DB정보 각각의 평균 및 표준편차에 기초하는 정규분포에 대하여, 상기 제1 사용자의 접속 세션 동안의 상기 질의횟수 및 상기 결과 데이터 중 적어도 하나가 상기 정규분포에 포함될 확률이 임계확률 이상인지 여부에 따라 판단하는 것을 특징으로 하는 웹 서버의 모니터링 방법.
  4. 제1항에 있어서,
    상기 멤버쉽값을 이용하여, 상기 제1 사용자와 상기 제2 사용자가 상호 일치하는지 판단하는 단계는
    상기 적어도 하나의 세부접속정보 각각에 대한 멤버쉽값을 모두 곱하여 접속정보결과값을 산출하는 단계; 및
    상기 접속정보결과값이 소정의 제1 임계치 이상인지 여부에 따라, 상기 제1 사용자와 상기 제2 사용자가 상호 일치하는지 판단하는 단계
    를 포함하는 것을 특징으로 하는 웹 서버의 모니터링 방법.
  5. 제1항에 있어서,
    상기 적어도 하나의 세부접속정보 각각의 빈도를 산출하는 단계가 소정의 기간별로 나누어 상기 적어도 하나의 세부접속정보 각각의 빈도를 산출할 때,
    상기 멤버쉽값을 산출하는 단계는
    상기 소정의 기간별로 차등적인 가중치를 부여하여, 상기 멤버쉽값을 산출하는 것을 특징으로 하는 웹 서버의 모니터링 방법.
  6. 제1 사용자가 웹 서버에 접속하면, 상기 제1 사용자가 접속할 때 입력한 고유한 식별수단에 기초하여, 상기 제1 사용자를 식별하는 단계;
    사용자DB에 저장된 IP주소, 시간 및 요일 중 적어도 하나의 세부접속정보를 포함하는 복수의 접속정보 및 상기 웹 서버 내부 페이지 간의 이동에 대한 확률정보 중 적어도 하나에 기초하여, 상기 식별된 제1 사용자와 상기 식별수단의 진정사용자인 제2 사용자가 상호 일치하는지 판단하는 단계; 및
    상기 판단 결과 상기 제1 사용자와 상기 제2 사용자가 불일치하면, 미리 설정된 담당자 또는 상기 제2 사용자에게 상기 판단 결과를 포함하는 사용자불일치정보를 전송하는 단계
    를 포함하고,
    상기 확률정보에 기초하여 판단할 때,
    상기 제2 사용자가 상호 일치하는지 판단하는 단계는
    상기 웹 서버 내부 페이지 간의 이동에 관한 정보에 포함된 적어도 하나의 이동 각각의 빈도를 산출하는 단계;
    상기 적어도 하나의 이동 각각의 빈도에 기초하여, 상기 제2 사용자가 상기 웹 서버의 내부 페이지 간을 이동할 확률을 나타내는 상태천이테이블을 생성하는 단계; 및
    마르코프 체인(Markov chain), 상기 상태천이테이블 및 상기 제1 사용자의 접속 동안의 상기 웹 서버의 내부 페이지 간의 이동에 기초하여, 상기 제1 사용자와 상기 제2 사용자가 상호 일치하는지 판단하는 단계
    를 포함하는 것을 특징으로 하는 웹 서버의 모니터링 방법.
  7. 제6항에 있어서,
    상기 웹 서버 내부 페이지 간의 이동에 기초하여, 상기 제1 사용자와 상기 제2 사용자가 상호 일치하는지 판단하는 단계는
    상기 상태천이테이블을 이용하여, 상기 웹 서버 내부 페이지 간의 이동 각각에 대응되는 확률값을 모두 곱하여 이동정보결과값을 산출하는 단계; 및
    상기 이동정보결과값이 소정의 제2 임계치 이상인지 여부에 따라, 상기 제1 사용자와 상기 제2 사용자가 상호 일치하는지 판단하는 단계
    를 포함하는 것을 특징으로 하는 웹 서버의 모니터링 방법.
  8. 제1항에 있어서,
    상기 복수의 접속정보 및 상기 확률정보는
    소정의 기간 동안, 상기 웹 서버에 접속한 로그인 데이터 및 상기 웹 서버 내부 페이지 간을 이동한 로그 데이터를 수집하여 생성되는 것을 특징으로 하는 웹 서버의 모니터링 방법.
  9. 제1 사용자가 웹 서버에 접속하면, 상기 제1 사용자가 접속할 때 입력한 고유한 식별수단에 기초하여, 상기 제1 사용자를 식별하는 식별부;
    사용자DB에 저장된 IP주소, 시간 및 요일 중 적어도 하나의 세부접속정보를 포함하는 복수의 접속정보 및 상기 웹 서버의 내부 페이지 간의 이동에 대한 확률정보 중 적어도 하나에 기초하여, 상기 식별된 제1 사용자와 상기 식별수단의 진정사용자인 제2 사용자가 상호 일치하는지 판단하는 판단부; 및 상기 판단부의 판단결과 상기 제1 사용자와 상기 제2 사용자가 불일치하면, 미리 설정된 담당자 또는 상기 제2 사용자에게 상기 판단 결과를 포함하는 사용자불일치정보를 전송하는 전송부
    를 포함하고,
    상기 판단부가 상기 확률정보에 기초하여 상기 제2 사용자가 상호 일치하는지 판단할 때,
    상기 웹 서버 내부 페이지 간의 이동에 관한 정보에 포함된 적어도 하나의 이동 각각의 빈도를 산출하고,
    상기 적어도 하나의 이동 각각의 빈도에 기초하여, 상기 제2 사용자가 상기 웹 서버의 내부 페이지 간을 이동할 확률을 나타내는 상태천이테이블을 생성하고,
    마르코프 체인(Markov chain), 상기 상태천이테이블 및 상기 제1 사용자의 접속 동안의 상기 웹 서버의 내부 페이지 간의 이동에 기초하여, 상기 제1 사용자와 상기 제2 사용자가 상호 일치하는지 판단하는 것을 특징으로 하는 웹 서버의 모니터링 장치.

KR1020190037057A 2019-03-29 2019-03-29 웹 서버 사용자의 모니터링 방법 및 장치 KR102003450B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190037057A KR102003450B1 (ko) 2019-03-29 2019-03-29 웹 서버 사용자의 모니터링 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190037057A KR102003450B1 (ko) 2019-03-29 2019-03-29 웹 서버 사용자의 모니터링 방법 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020160154169A Division KR20180056208A (ko) 2016-11-18 2016-11-18 웹 서버 사용자의 모니터링 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20190038524A KR20190038524A (ko) 2019-04-08
KR102003450B1 true KR102003450B1 (ko) 2019-10-17

Family

ID=66164892

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190037057A KR102003450B1 (ko) 2019-03-29 2019-03-29 웹 서버 사용자의 모니터링 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102003450B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102124189B1 (ko) 2020-03-02 2020-06-17 주식회사 솔텍크 서버 다운 모니터링 시스템 및 그 시스템의 구동방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101619414B1 (ko) 2015-01-06 2016-05-10 한국인터넷진흥원 개인화된 초기 이용행위 패턴분석을 이용한 비정상 행위 탐지시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100320119B1 (ko) * 1999-09-30 2002-01-10 김형태 아이디 도용 감지 시스템 및 방법, 그 프로그램 소스를기록한 기록매체

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101619414B1 (ko) 2015-01-06 2016-05-10 한국인터넷진흥원 개인화된 초기 이용행위 패턴분석을 이용한 비정상 행위 탐지시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102124189B1 (ko) 2020-03-02 2020-06-17 주식회사 솔텍크 서버 다운 모니터링 시스템 및 그 시스템의 구동방법

Also Published As

Publication number Publication date
KR20190038524A (ko) 2019-04-08

Similar Documents

Publication Publication Date Title
US11037083B2 (en) Non-intrusive techniques for discovering and using organizational relationships
Shariff et al. On the credibility perception of news on Twitter: Readers, topics and features
US9699042B2 (en) Systems and methods of classifying sessions
Alrubaian et al. Reputation‐based credibility analysis of Twitter social network users
CN103297435B (zh) 一种基于web日志的异常访问行为检测方法与系统
US8732104B2 (en) Method, system, and apparatus for determining a predicted rating
US20160241587A1 (en) Monitoring and Managing User Privacy Levels
US20190058719A1 (en) System and a method for detecting anomalous activities in a blockchain network
US8694374B1 (en) Detecting click spam
US20210288928A1 (en) Determining engagement scores for sub-categories in a digital domain by a computing system
JP2014157623A (ja) ニュース記事のランク付けを向上させるためのシステムおよび方法
CN110830445B (zh) 一种异常访问对象的识别方法及设备
CN105930727A (zh) 基于Web的爬虫识别算法
CN113098887A (zh) 一种基于网站联合特征的钓鱼网站检测方法
Kaur et al. A comparative analysis of structural graph metrics to identify anomalies in online social networks
CN108366012B (zh) 一种社交关系建立方法、装置及电子设备
Parapar et al. Using score distributions to compare statistical significance tests for information retrieval evaluation
US10333964B1 (en) Fake account identification
CN112839014B (zh) 建立识别异常访问者模型的方法、系统、设备及介质
US11847177B2 (en) Relationship and credibility based experience rating and skill discovery system
TWI691929B (zh) 互動式服務平台及其運作方法
Qiu et al. Crowdeval: A cost-efficient strategy to evaluate crowdsourced worker's reliability
KR102003450B1 (ko) 웹 서버 사용자의 모니터링 방법 및 장치
CN116701772B (zh) 数据推荐方法和装置、计算机可读存储介质、电子设备
CN110858368A (zh) 一种数据评估服务价值确定系统和方法

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant