KR102019173B1 - 웹 응용 서버의 클라이언트 세션 차단 방법 및 장치 - Google Patents

웹 응용 서버의 클라이언트 세션 차단 방법 및 장치 Download PDF

Info

Publication number
KR102019173B1
KR102019173B1 KR1020160142765A KR20160142765A KR102019173B1 KR 102019173 B1 KR102019173 B1 KR 102019173B1 KR 1020160142765 A KR1020160142765 A KR 1020160142765A KR 20160142765 A KR20160142765 A KR 20160142765A KR 102019173 B1 KR102019173 B1 KR 102019173B1
Authority
KR
South Korea
Prior art keywords
request
client
service
session
calls
Prior art date
Application number
KR1020160142765A
Other languages
English (en)
Other versions
KR20180047078A (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 KR1020160142765A priority Critical patent/KR102019173B1/ko
Priority to EP17199182.1A priority patent/EP3316551A1/en
Priority to US15/798,639 priority patent/US10701178B2/en
Publication of KR20180047078A publication Critical patent/KR20180047078A/ko
Application granted granted Critical
Publication of KR102019173B1 publication Critical patent/KR102019173B1/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/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • 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/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • 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/141Setup of application sessions
    • 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/535Tracking the activity of the user
    • 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

Abstract

클라이언트 세션 차단 장치에 의해 수행되는 클라이언트 세션 차단 방법이 제공된다. 상기 방법은, 웹 서버로부터, 클라이언트의 서비스에 대한 제1 요청을 수신하는 단계와 상기 서비스에 대한 상기 클라이언트의 세션이 유효한지 제1 판단하는 단계와 상기 제1 판단 결과, 상기 세션이 유효한 경우, 상기 서비스에 대한 호출 횟수가 상기 서비스에 대하여 미리 설정된 임계 호출 횟수 이상인지 제2 판단하는 단계와 상기 제2 판단 결과, 상기 서비스에 대한 호출 횟수가 상기 서비스에 대하여 미리 설정된 임계 호출 횟수 이상인 경우, 상기 서비스에 대한 상기 클라이언트의 세션을 차단하는 단계를 포함할 수 있다.

Description

웹 응용 서버의 클라이언트 세션 차단 방법 및 장치{METHOD AND APPARATUS FOR CUTTING OFF CLIENT SESSION FOR WEB APPLICATION SERVER}
본 발명은 클라이언트의 세션 차단 방법 및 장치에 관한 것이다. 보다 자세하게는, 시스템에 비정상적인 대량 호출을 발생시키는 클라이언트의 세션을 차단하는 방법 및 장치 에 관한 것이다.
인터넷 또는 인트라넷 환경에서 클라이언트에 웹 메일, 웹 메신저, 블로그, 포탈 시스템 등 다양한 웹 애플리케이션 서비스가 제공되고 있다. 이 같은 웹 애플리케이션의 실행 환경에서 클라이언트로부터 비정상적 대량 호출이 발생하면, 웹 응용 서버(Web Application Server, WAS)와 데이터베이스(DB)에 부하가 급증하고, 서비스 장애가 발생할 수 있다.
이와 같은 서비스 장애 발생의 경우에, 종래, 시스템 안정화를 위해 비정상적인 대량 호출을 발생시키는 클라이언트를 개별적으로 확인하여 대량 호출의 원인을 제거하는 방법이 고려될 수 있다. 그러나, 이 같은 방법에 따르면, 해당 클라이언트 측 사용자의 수동적인 조치가 요구되며, 적시에 조치가 취해지지 않는 경우, 서비스 장애 발생의 위험이 지속된다.
시스템 안정화를 위한 다른 방법으로, 웹 서버의 접근 제어 목록(Access Control List, ACL) 정책으로, 대량 호출을 발생시키는 클라이언트의 웹 서버에 대한 접속을 차단하는 방법이 고려될 수도 있다. 그러나, 이와 같은 방법 역시, 접근 제어 목록의 정책이 적용된 웹 서버 외에 대량 호출을 발생시키는 클라어언트가 다른 웹 서버에 재차 접속하는 것을 막을 수는 없으므로, 장애 발생 시간을 늦출 수는 있으나 근본적인 해결책이 되지 못한다.
시스템 안정화를 위한 또 다른 방법으로, 네트워크 장비를 이용하여 시스템의 클라이언트에 대한 대역폭을 감소시킴으로써, 비정상적인 대량 호출을 발생시키는 클라이언트의 호출에 대응하는 방법이 고려될 수 있다. 그러나, 이와 같은 방법 역시, 대량 호출을 발생시키는 클라이언트를 특정할 수 없으므로, 대역폭 감소에 따라, 시스템의 전체 사용자에게 대역폭이 감소되는 문제가 발생한다.
이 같은 문제 상황의 발생을 피하기 위하여, 클라이언트의 ip의 포트를 이용하여 대량 호출을 발생시키는 클라이언트를 식별하고 대역폭을 감소시키는 방법이 고려될 수도 있으나, 이 경우에도, 클라이언트의 포트는 매 호출마다 바뀌므로, 결과적으로 대량 호출을 발생시키는 클라이언트만을 표적으로 한 조치가 불가능하다.
그럼에도, 비정상적인 대량 호출을 발생시키는 클라이언트만을 표적으로 하여 시스템 접근을 차단하는 방법은 제공되지 않고 있다.
한국등록특허 제1206921호
본 발명이 해결하고자 하는 기술적 과제는, 서블릿(Servlet) 필터를 이용하여 비정상적인 대량 호출을 발생시키는 클라이언트의 세션을 차단하는 방법 및 장치를 제공하는 것이다.
구체적으로, 본 발명이 해결하고자 하는 기술적 과제는, 서블릿 필터를 적용하여, 대량 호출의 시간적 연속성을 기초로 대량 호출이 비정상적인지 여부를 판단하고, 비정상적인 대량 호출을 발생시킨 클라이언트의 애플리케이션 세션을 차단하는 방법 및 그 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는 웹 애플리케이션의 서비스 단위로 미리 설정된 임계치 이상의 호출 발생 여부를 판단하고, 해당 서비스에 대한 클라이언트의 세션을 차단하는 방법 및 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는 임계치 미만의 정상 호출 횟수를 판단하여, 비정상적인 대량 호출 여부 판단을 위한 임계치를 변경하는 방법 및 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 방법은, 클라이언트 세션 차단 장치에 의해 수행되는 클라이언트 세션 차단 방법으로서, 웹 서버로부터, 클라이언트의 서비스에 대한 제1 요청을 수신하는 단계와 상기 서비스에 대한 상기 클라이언트의 세션이 유효한지 제1 판단하는 단계와 상기 제1 판단 결과, 상기 세션이 유효한 경우, 상기 서비스에 대한 연속 호출 횟수가 상기 서비스에 대하여 미리 설정된 임계 호출 횟수 이상인지 제2 판단하는 단계와 상기 제2 판단 결과, 상기 연속 호출 횟수가 상기 서비스에 대하여 미리 설정된 임계 호출 횟수 이상인 경우, 상기 서비스에 대한 상기 클라이언트의 세션을 차단하는 단계를 포함할 수 있다.
일 실시예에서, 상기 제2 판단하는 단계는, 상기 제1 요청의 수신에 앞서 수신된 상기 서비스에 대한 제2 요청의 수신 시간을 기준으로, 상기 제1 요청이 미리 설정된 시간 범위 내에 수신된 요청인지 판단하는 단계와 상기 제1 요청이 상기 미리 설정된 시간 범위 내에 수신된 요청인 경우, 상기 서비스에 미리 설정된 임계 호출 횟수를 식별하는 단계와 상기 식별된 임계 호출 횟수를 기초로 상기 제2 판단하는 단계를 포함할 수 있다.
구체적으로, 상기 제1 요청이 미리 설정된 시간 범위 내에 수신된 요청인지 판단하는 단계는, 상기 제1 요청이 상기 미리 설정된 시간 범위 내에 수신된 요청인 경우, 상기 제1 요청이 수신된 시간을 기록하는 단계와 상기 제1 요청을, 상기 제2 요청이 반영된 연속 호출 횟수에 대한 기록에 반영하는 단계를 포함할 수 있으며, 상기 제1 요청이 상기 미리 설정된 시간 범위 내에 수신된 요청이 아닌 경우, 상기 제1 요청이 수신된 시간을 기록하는 단계와 상기 제2 요청이 반영된 연속 호출 횟수에 대한 기록을 초기화하는 단계를 포함할 수 있다.
일 실시예에서, 상기 서비스에 대한 상기 클라이언트의 세션을 차단하는 단계는, 상기 클라이언트에 상기 클라이언트의 상기 서비스에 대한 세션 차단 결과를 알리는 사용자 인터페이스를 제공하는 단계를 포함할 수 있다.
일 실시예에서, 상기 방법은, 상기 제2 판단 결과, 상기 서비스에 대한 연속 호출 횟수가 상기 서비스에 대하여 미리 설정된 임계 호출 횟수 미만인 경우, 상기 연속 호출 횟수와 상기 임계 호출 횟수의 차이를 연산하는 단계와 상기 연산된 차이가 미리 설정된 횟수 범위 내의 차이인 경우, 상기 임계 호출 횟수를 변경하는 단계를 더 포함할 수 있다.
상술한 본 발명에 따르면, 클라이언트 측 사용자의 수동적 조치 없이 자동으로 시스템이 안정화되는 효과가 있다.
또한, 본 발명에 따르면, 별도의 웹 서버의 접근 제어 목록 상의 설정 없이 비정상적인 대량 호출을 차단함으로써 서비스 장애를 예방하는 효과가 있다.
또한, 본 발명에 따르면, 별도의 네트워크 장비 도입 없이 대량 호출이 발생하더라도 시스템을 안정화시킬 수 있는 효과가 있다. 이에 따라, 시스템 안정화를 위하여 별도의 네트워크 장비나 추가 장비의 구매가 필요 없으므로, 시스템 안정화에 비용이 절감되는 효과가 있다.
또한, 본 발명에 따르면, 네트워크 대역폭의 수정으로 인한 정상 사용자의 피해 없이 시스템을 안정적으로 유지할 수 있는 장점이 있다.
또한, 본 발명에 따르면, 대량 호출을 발생시킨 클라이언트의 애플리케이션 세션만 차단함으로써, 클라이언트가 다른 애플리케이션을 통하여 동종의 서비스를 제공받을 수 있도록 하는 장점이 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 대량 호출 발생 시스템의 구성도이다.
도 2는 본 발명의 다른 실시예에 따른 클라이언트 세션 차단 장치의 하드웨어 구성도이다.
도 3은 본 발명의 또 다른 실시예에 따른 클라이언트 세션 차단 장치의 기능을 설명하기 위한 예시도이다.
도 4은 본 발명의 또 다른 실시예에 따른 클라이언트 세션 차단 방법의 순서도이다.
도 5는 본 발명의 몇몇 실시예에서 참조되는, 연속 호출 횟수 카운트 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 또 다른 실시예에 따른, 도 1의 대량 호출 발생 시스템에 클라이언트 세션 차단 장치가 적용된 경우를 설명하기 위한 예시도이다.
도 7은 본 발명의 몇몇 실시예에서 참조되는, 세션 차단에 따라 클라이언트에 제공되는 사용자 인터페이스(User Interface)의 예시이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 발명에 대하여 첨부된 도면에 따라 보다 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 대량 호출 발생 시스템의 구성도이다.
도 1을 참조하면, 대량 호출 발생 시스템은 하나 이상의 서버(10, 20, 30), 복수의 클라이언트(11, 12, 21) 및 상기 하나 이상의 서버에서 제공하는 웹 서비스 및 웹 애플리케이션에 연결되는 데이터베이스(DB)(40)를 포함할 수 있다.
상기 하나 이상의 서버(10, 20, 30)는 클라이언트와 통신할 수 있는 웹 서버(10, 20), 웹 서버(Web server)(10, 20)와 데이터베이스(40)를 연결하는 웹 응용 서버(Web Application Server, WAS)(30)를 포함할 수 있다.
특히, 웹 서버는 네트워크 환경에 따라 웹 서버(10)와 인터넷 웹 서버(20)로 구분될 수 있다. 본 발명의 실시예에 따르면, 웹 서버(10)는 인트라넷 환경(50)에서 웹 서비스를 제공하는 서버일 수 있다. 특히, 웹 서버(10)는 기업의 비즈니스 용 포탈 시스템 서비스를 사내 망을 통해 제공하는 서버일 수 있다.
인터넷 웹 서버(20)는 인터넷 환경(60)에서 웹 서비스를 제공하는 서버이다. 특히, 인터넷 웹 서버(20)는 기업의 비즈니스 용 포탈 시스템 서비스를 외부 공인 망을 통해 제공하는 서버일 수 있다.
웹 응용 서버(30)는 웹 애플리케이션의 실행 환경과 데이터베이스 사이의 접속을 제공하며, 웹 서버(10, 20)를 통해 제공되는 웹 서비스와 관련된 복수의 트랜잭션을 관리할 수 있다. 또한, 웹 응용 서버(30)는 태스크를 처리하는 비즈니스 로직(Business logic)을 수행할 수도 있다.
상기 웹 서버(10), 인터넷 웹 서버(20) 및 웹 응용 서버(30)는 네트워크 통신이 가능한 컴퓨팅 장치로서, 예를 들어 고정식 서버 장치일 수 있다. 상기 웹 서버(10), 인터넷 웹 서버(20) 및 웹 응용 서버(30)의 기능은 상술한 기능으로 한정되지 않으며, 본 발명이 속하는 기술 분야의 웹 서버 및 웹 응용 서버가 수행하는 다양한 기능을 수행할 수 있다.
클라이언트(11, 12, 21)는 웹 서버(10, 20), 웹 응용 서버(30)와 네트워크를 통해 통신할 수 있는 컴퓨팅 장치이다.
특히, 클라이언트(11, 12, 21)은, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 슬레이트 PC(slate PC), 태블릿 PC(tablet PC), 웨어러블 디바이스(wearable device), 워치형 단말기(smart watch) 및 헤드 마운티드 디스플레이(HMD, head mounted display) VR 장치(virtual reality device) 등과 같은 모바일 단말 중 어느 하나일 수 있다. 또한, 클라이언트(11, 12, 21)는, 서버 장치, 디지털 TV, 데스크탑 컴퓨터, 디지털 사이니지 등과 같은 고정식 컴퓨팅 장치 중 어느 하나일 수도 있다.
이하, 본 발명의 실시예에 따른 대량 호출 상황을 설명한다. 클라이언트(11)은 인트라넷 환경(50)에서 비정상적인 대량 호출을 발생시키는 악성 클라이언트이고, 클라이언트 (12)는 정상적인 호출을 발생시키는 정상 클라이언트라고 가정한다. 또한, 클라이언트(21)은 인터넷 환경(60)에서 비정상적인 대량 호출을 발생시키는 악성 클라이언트로 가정한다.
비정상적인 대량 호출은, 클라이언트에서 실행되는 애플리케이션의 버그, 프로그램 오류, 부하측정 프로그램의 임의적 구동, 연계 시스템의 클라이언트 프로그램 코딩 오류, 클라이언트의 입력부에 특정 버튼이 물리적으로 눌린 상태 등 다양한 상황에 의해 발생할 수 있다.
예를 들어, 인트라넷 환경(50)의 악성 클라이언트(11)는 동일 URL 반복 요청하는 대량 호출을 발생시킬 수 있다. 이에 따라, 웹 서버(10)에 부하가 발생하고, 웹 응용 서버(30)의 CPU 사용이 증가할 수 있다. 이에 따라, 데이터베이스(40)의 사용량 증가를 발생시키고, 결과적으로, 정상 클라이언트(12)의 서비스 요청에 대한 응답 속도가 지연 문제 내지 서비스 장애가 발생한다.
또 다른 예에서, 인터넷 환경(60)의 악성 클라이언트(21)가 Dos 형태의 공격을 수행하는 경우, 인터넷 웹 서버(20) 및 웹 응용 서버(30)의 부하가 증가하게 된다. 이에 따라, 상기 예와 마찬가지로, 데이터베이스(40)의 사용량이 급증하게 되고, 인트라넷 환경(50)의 정상 클라이언트(12)에 대한 응답 속도 지연 문제 내지 서비스 장애가 발생한다. 도시되지 않았으나, 이와 같은 경우, 인터넷 환경(60)의 정상 클라이언트에 대한 응답 속도 지연 문제 내지 서비스 장애도 발생할 수 있다.
이에 따라, 상기 예시된 대량 호출 발생 상황에 대비하여 시스템 안정화를 자동으로 수행하는 시스템이 요구된다. 시스템 안정화를 자동으로 수행하는 시스템의 예로써, 본 발명의 실시예에 따른 클라이언트 세션 차단 시스템이 제공될 수 있다. 클라이언트 세션 차단 시스템은, 상술한 대량 호출 발생 시스템에 클라이언트 세션 차단 장치가 설치된 시스템을 의미한다. 이에 대한 설명은 도 6을 참조하여 후술하도록 한다.
다음으로 도 2를 참조하여 클라이언트 세션 차단 시스템을 위한 클라이언트 세션 차단 장치의 세부 구성 및 동작에 대하여 설명한다. 도 2는 본 발명의 다른 실시예에 따른 클라이언트 세션 차단 장치(100)의 하드웨어 구성도이다.
도 2를 참조하면, 클라이언트 세션 차단 장치(100)은 하나 이상의 프로세서(101), 네트워크 인터페이스(102), 프로세서(101)에 의하여 수행되는 컴퓨터 프로그램(105)을 로드(load)하는 메모리(103)와, 상기 컴퓨터 프로그램(105)를 저장하는 스토리지(104)를 포함할 수 있다.
프로세서(101)는 클라이언트 세션 차단 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(101)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(101)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 클라이언트 세션 차단 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.
네트워크 인터페이스(102)는 클라이언트 세션 차단 장치(100)의 유무선 인터넷 통신 또는 인트라넷 통신을 지원한다. 또한, 네트워크 인터페이스(102)는 인터넷 통신 및 인트라넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(102)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
네트워크 인터페이스(102)는 네트워크를 통해 웹 서버(10, 20)의 웹 애플리케이션 실행 환경과 연결될 수 있으며, 데이터베이스(40)와도 연결될 수 있다.
메모리(103)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(103)는 본 발명의 실시예들에 따른 클라이언트 세션 차단 방법을 실행하기 위하여 스토리지(104)로부터 하나 이상의 프로그램(105)을 로드할 수 있다. 도 2에서 메모리(103)의 예시로 RAM이 도시되었다.
스토리지(104)는 상기 하나 이상의 프로그램(105)을 비임시적으로 저장할 수 있다. 도 2에서 상기 하나 이상의 프로그램(105)의 예시로 세션 차단 소프트웨어(105)가 도시되었다. 또한, 도시되지 않았으나, 스토리지(104)는 본 발명의 실시예에 따른 각종 설정, 예를 들어, 임계 호출 횟수에 대한 설정, 시간 범위에 대한 설정을 저장할 수 있다. 또한, 스토리지(104)는 네트워크 별 임계 호출 횟수, 연속된 호출의 카운트 정보를 저장할 수도 있다.
스토리지(104)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
세션 차단 소프트웨어(105)는, 프로세서(101)에 의해 실행됨에 따라, 클라이언트 세션 차단 장치(100)의 기능 및/또는 동작 수행을 위한 하나 이상의 오퍼레이션을 수행할 수 있다. 이에 대한 설명은 도 3 및 도 4에 대한 설명에서 후술한다.
프로세서(101)의 세션 차단 소프트웨어(105)를 실행함에 따라 수행되는 오퍼레이션에 대하여, 도 3 및 도 4에 대한 설명에서 후술한다.
한편, 클라이언트 세션 차단 장치(100)는 도 2에 도시된 구성 요소 외에 본 발명의 실시예와 관련된 다양한 구성 요소를 추가로 포함할 수도 있다. 예를 들어, 클라이언트 세션 차단 장치(100)는 대량 호출 상황의 발생을 시스템 관리자에게 알리기 위한 디스플레이부, 상기 관리자로부터 임계 호출 횟수에 관련된 설정을 입력 받기 위한 입력부를 포함할 수도 있다.
본 발명의 일 실시예에 따르면, 클라이언트 세션 차단 장치(100)는 웹 응용 서버(30)에 설치되는 물리적 장치이거나, 웹 응용 서버(30)와 일부 구성 요소를 공유하는 장치일 수 있다. 본 발명의 다른 실시예에 따르면, 클라이언트 세션 차단 장치(100)는 세션 차단 소프트웨어(105)가 설치된 웹 응용 서버(30)일 수도 있다.
도 3은 본 발명의 또 다른 실시예에 따른 클라이언트 세션 차단 장치(100)의 기능을 설명하기 위한 예시도이다.
특히, 도 3에서, 클라이언트 세션 차단 장치(100)의 예로써 세션 차단 소프트웨어(105)가 설치된 웹 응용 서버(30)가 도시되었다.
웹 응용 서버(30)는 서블릿 필터를 포함할 수 있다. 본 발명의 실시예에 따르면, 서블릿 필터는 특히, 클라이언트가 요청한 서비스에 대하여, 클라이언트의 세션이 유효한지 판단할 수 있다. 또한, 서블릿 필터는 요청된 서비스에 대한 클라이언트의 세션이 생성된 시간, 서비스가 요청된 시간에 대한 정보를 식별할 수도 있다. 이와 같이, 서블릿 필터가 세션에 대한 판단 및 정보 식별을 수행한다는 점에서, 이하, 서블릿 필터를 세션 필터로 칭하기로 한다. 또한, 도 3에서 클라이언트 세션 차단 장치(100)는 웹 응용 서버(30)에 세션 차단 소프트웨어가 설치된 경우이며, 세션 차단 소프트웨어는 웹 응용 서버(30)의 세션 필터에 통합되어 설치될 수도 있다.
도 3을 참조하면, 클라이언트 세션 차단 장치(100)는 웹 서버(10)로부터 클라이언트(11)의 요청을 수신하는 세션 필터부와 세션 차단 소프트웨어(105)의 실행에 따라, 최종적으로 세션의 차단 여부를 결정하는 세션 처리부를 포함할 수 있다.
웹 서버(10)로부터 세션 필터부가 서비스 요청을 수신하면(S301), 클라이언트 세션 차단 장치(100)는 세션 필터를 이용하여, 서비스를 요청한 클라이언트의 세션이 유효한지 판단할 수 있다(S303). 세션이 유효하지 않은 경우, 클라이언트 세션 차단 장치(100)는 서비스 요청을 종료한다.
반면, 세션이 유효한 경우, 클라이언트 세션 차단 장치(100)는 클라이언트로부터 서비스가 요청된 시간, 즉, 서비스에 대한 호출 시간을 판단할 수 있다(S305). 이때, 상술한 세션 필터의 기능에 따르면, 서블릿 필터는 서비스가 요청된 시간에 대한 정보를 식별할 수 있으므로, 클라이언트 세션 차단 장치(100)는 서비스 요청이 얼마나 빈번하게 수신되었는지 판단할 수 있다. 구체적으로, 클라이언트 세션 차단 장치(100)는 서비스 요청이 악성 클라이언트의 연속 호출인지 판단할 수 있다.
일 실시예에 따라, 상기 판단 결과, 서비스 요청이 정상 클라이언트의 비연속적 호출인 경우, 클라이언트 세션 차단 장치(100)는 연속 호출 횟수를 초기화하고, 서비스 요청을 1회의 호출로 카운트한다. 즉, 연속 호출 횟수 산정 결과는 1회가 된다.
다른 실시예에 따라, 상기 판단 결과, 서비스 요청이 악성 클라이언트의 연속 호출인 경우, 클라이언트 세션 차단 장치(100)는 기존의 누적된 연속 호출 횟수에 연속 호출 횟수를 1회 가산하고, 가산된 연속 호출 횟수가 임계 호출 횟수 이상인지 판단할 수 있다.
즉, 클라이언트 세션 차단 장치(100)는 가산된 연속 호출 횟수가 임계 치 이상이어서, 서비스 요청이 대량 호출에 포함된 호출인지 판단할 수 있다(S307). 연속 호출 횟수가 임계 호출 횟수 이상인 경우, 클라이언트 세션 차단 장치(100)는 서비스를 요청한 클라이언트를 비정상적인 대량 호출을 발생시킨 악성 클라이언트로 판단하고, 세션 처리부에서 클라이언트의 세션을 종료한다.
반면, 연속 호출 횟수가 임계 호출 횟수 미만인 경우, 클라이언트 세션 차단 장치(100)는 세션 처리부에서 클라이언트의 세션을 유지시키고, 사용자의 요청을 수락한다(S309). 이에 따라, 웹 응용 서버(30)는 클라이언트의 애플리케이션과 데이터베이스(40)의 연결을 제공한다.
클라이언트 세션 차단 장치(100)의 단계(S301) 내지 단계(S309)와 세션 필터부 및 세션 처리부의 기능은, 클라이언트 세션 차단 장치(100)의 프로세서(101)에 의해 실행되는 소프트웨어(Software)(105) 모듈 단위를 의미할 수 있다. 또는, 상기 각 단계 및 구성 요소는 FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)의 일부 영역 및/또는 단위를 의미할 수도 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.
도 4 및 도 5를 참조하여, 클라이언트 세션 차단차단 장치(100)의 동작에 대하여 더욱 자세히 설명한다. 이하의 각 단계는, 클라이언트 세션 차단 장치(100)에 의해 수행되는 것으로 가정한다.
도 4은 본 발명의 또 다른 실시예에 따른 클라이언트 세션 차단 방법의 순서도이다. 이하, 클라이언트 세션 차단 장치(100)는 세션 필터에 본 발명의 실시예에 따른 세션 차단 소프트웨어가 적용된 응용 웹 서버(30)인 것으로 가정한다.
도 4를 참조하면, 클라이언트(11)가 서비스를 요청하면, 웹 서버(10)는 이를 웹 응용 서버(30)에 전달한다. 이에 따라, 클라이언트 세션 차단차단 장치(100)는 웹 서버(10)로부터, 클라이언트의 서비스에 대한 제1 요청을 수신할 수 있다 (S10)
클라이언트 세션 차단 장치(100) 서비스에 대한 클라이언트의 세션이 유효한지 판단할 수 있다(S20). 여기에서 단계(S20)의 세션이 유효한지 여부에 대한 판단을, 세션이 차단 대상인지 여부에 대한 판단(이하, 제2 판단)과 구별하기 위하여 제1 판단이라 칭한다.
단계(S20)에서, 구체적으로, 클라이언트 세션 차단 장치(100)는 서비스를 제공하는 웹 애플리케이션의 클라이언트 세션이 유효한지 판단할 수 있다. 예를 들어, 서비스 요청이 웹 브라우징인(Web browsing)을 위한 인터넷 연결 요청인 경우, 클라이언트 세션 차단 장치(100)는 웹 브라우징을 수행하는 웹 애플리케이션의 세션이 유효한지 판단할 수 있다. 상기 예에서 웹 애플리케이션은, 예를 들어 인터넷 익스플로러(Internet Explorer) 또는 크롬(Chrome)과 같은 웹 브라우저일 수 있다.
이때, 제1 판단 결과, 세션이 유효하지 않은 경우, 클라이언트 세션 차단 장치(100)는 서비스 요청을 종료한다(S25).
반면, 제1 판단 결과, 세션이 유효한 경우, 클라이언트 세션 차단 장치(100)는 제1 요청의 수신에 앞서 수신된 서비스에 대한 제2 요청으로부터, 제1 요청이 미리 설정된 시간 범위 내에 수신된 요청인지 판단할 수 있다(S30).
즉, 제1 요청이 N번째 요청인 경우, 서비스에 대한 제2 요청은 N-1번째 요청이다. 클라이언트 세션 차단 장치(100)는 N번째 요청이 N-1번째 요청으로부터 미리 설정된 시간 범위 내에 수신된 요청인지 판단할 수 있다.
예를 들어, 미리 설정된 시간 범위가 1초인 경우, 클라이언트 세션 차단 장치(100)는, N-1번째 서비스 요청이 수신된 후, N번째 서비스 요청이 수신된 시간 간격을 식별하고, 식별된 시간 간격이 1초 이내인지 판단할 수 있다.
클라이언트 세션 차단 장치(100)는 제1 요청이 미리 설정된 시간 범위 내에 수신된 요청인 경우, 서비스에 미리 설정된 임계 호출 횟수를 식별할 수 있다. 구체적으로, 클라이언트 세션 차단 장치(100)는 요청된 서비스에 대한 정보를 조회하여(S40), 서비스에 대하여 미리 설정된 임계 호출 횟수를 식별할 수 있다. 여기에서, 임계 호출 횟수란, 미리 설정된 시간 범위 내에서 반복적으로 호출된 서비스 요청이 비정상적인 대량 호출에 해당하는지 판단하는 기준이다.
상기 임계 호출 횟수는, 서비스의 종류마다, 클라이언트가 접속한 네트워크마다 다르게 관리자에 의해, 또는 클라이언트 세션 차단 장치(100)에 의해 자동으로 설정될 수 있다. 예를 들어, 인트라넷을 통한 웹 메일 서비스의 경우 10회, 인터넷을 통한 웹 메일은 5회로 임계 호출 횟수가 설정될 수 있다. 인트라넷을 통해 제공되는 웹 응용 서버의 각종 통계량 분석을 위한 관리자 페이지의 경우 3회, 인터넷을 통한 관리자 페이지의 경우 1회로 임계 호출 횟수가 설정될 수 있다. 경우에 따라, 대량 호출이 발생할 여지가 없는 서비스의 경우, 임계 횟수 설정이 존재하지 않을 수도 있다.
다음으로, 클라이언트 세션 차단 장치(100)는 서비스에 대한 연속 호출 횟수가 서비스에 대하여 미리 설정된 임계 호출 횟수 이상인지 제2 판단할 수 있다(S50).
이때, 제2 판단 결과, 서비스에 대한 연속 호출 횟수가 서비스에 대하여 미리 설정된 임계 호출 횟수 미만인 경우, 클라이언트 세션 차단 장치(100)는 클라이언트의 서비스 요청을 수락한다(S55).
또한, 제2 판단 결과, 상기 서비스에 대한 호출 횟수가 서비스에 대하여 미리 설정된 임계 호출 횟수 미만인 경우, 클라이언트 세션 차단 장치(100)는 연속 호출 횟수와 임계 호출 횟수의 차이를 연산할 수도 있다. 연산된 차이가 미리 설정된 횟수 범위 내의 차이인 경우, 클라이언트 세션 차단 장치(100)는 임계 호출 횟수를 변경할 수도 있다.
예를 들어, 서비스에 대한 연속 호출 횟수가 9회이고, 미리 설정된 임계 호출 횟수가 10회인 경우, 연산된 연속 호출 횟수와 미리 설정된 임계 호출 횟수의 차이는 1이다. 즉, 클라이언트 세션 차단 장치(100)가 9회의 연속적인 서비스 요청에 대하여 비정상적인 대량 호출이 발생한 경우로 판단하지는 않지만, 클라이언트의 세션을 차단시키기 위한 횟수까지 단 1회의 요청이 미만한 경우이다. 경우에 따라, 클라이언트는 정상적인 서비스 요청을 발생시켰으나, 클라이언트 세션 차단 장치(100)는 임계 호출 횟수에 근접한 연속 호출이 발생한 것으로 감지하고 시스템 불안정 상황으로 판단할 수도 있다.
이 같은 경우는, 시스템 사용 환경, 서비스 환경의 변화로 임계 호출 횟수 설정의 변경이 요구되는 경우에 발생할 수 있다. 즉, 서비스를 정상적으로 호출하여도, 8회 내지 9회의 서비스 요청이 호출되는 경우, 10회의 임계 호출 횟수는 너무 엄격한 기준이 될 수 있다. 서비스의 사용 환경에 따라 서비스 요청이 10% 내지 20% 정도 증감할 수 있기 때문이다.
따라서, 이와 같은 경우, 클라이언트 세션 차단 장치(100)는 임계 호출 횟수를 자동으로 변경할 수 있다. 이때, 클라이언트 세션 차단 장치(100)는 임계 호출 횟수에 연속 호출 횟수가 근접하는 케이스가 빈번한 경우, 즉, 미리 설정된 횟수 이상 반복되는 경우, 임계 호출 횟수를 증가시킬 수 있다. 이때, 증가량은 관리자의 설정에 따라 결정될 수 있다.
다시 단계(S50)에서, 클라이언트 세션 차단 장치(100)는 제2 판단 결과, 서비스에 대한 연속 호출 횟수가 서비스에 대하여 미리 설정된 임계 호출 횟수 이상인 경우, 서비스에 대한 클라이언트의 세션을 차단할 수 있다(S60).
예를 들어, 서비스가 웹 메일 서비스인 경우, 미리 설정된 시간 범위가 1초이고, 단계(S40)에서 식별된 임계 호출 횟수는 10회로 미리 설정된 경우를 가정한다. 이와 같은 경우, 1초 이내에 클라이언트가 메일 서비스를 10회 이상 요청하는 경우, 클라이언트 세션 차단 장치(100)는 1초 이내에 10회째 서비스 요청이 호출되면, 비정상적인 대량 호출이 발생한 것으로 판단할 수 있다. 즉, 웹 메일 서비스를 요청하는 클라이언트를 악성 클라이언트로 판단하고, 클라이언트의 웹 메일 서비스에 대한 세션을 차단할 수 있다.
그러나, 1초 이내에 클라이언트가 메일 서비스를 10회 미만인 5회 요청한 경우, 클라이언트 세션 차단 장치(100)는 클라이언트에게 메일 서비스 요청을 수락할 것이다.
한편, 단계(S30)에서, 제1 요청이 미리 설정된 시간 범위 내에 수신된 요청이 아닌 경우, 클라이언트 세션 차단 장치(100)는 제1 요청이 수신된 시간을 기록할 수 있다(S55).
상기 예와 같이, 제1 요청이 N번째 요청이고, 제2 요청이 N-1번째 요청인 경우를 가정한다. N-1번째 요청 이후, N번째 요청이 미리 설정된 시간 범위인 1초를 초과하여 수신된 경우, 클라이언트 세션 차단 장치(100)는 N번째 요청이 수신된 시간을 기록하고, N번째 요청이 N-1번째 요청에 독립된 호출인 것으로 판단할 수 있다. 즉, N번째 요청은 N-1번째 요청에 연속한 호출이 아닌 것으로 판단될 수 있다.
N번째 서비스 요청이 독립된 호출로 판단됨에 따라, 클라이언트 세션 차단 장치(100)는, 제2 요청이 반영된 연속 호출 횟수에 대한 기록을 초기화할 수 있다(S35). 즉, N-1번째 서비스 요청까지 연속 호출로 판단되었더라도, N번째 서비스 요청이 N-1번째 서비스 요청으로부터 미리 설정된 시간 범위를 초과하여 호출된 경우, 클라이언트 세션 차단 장치(100)는 N번째 서비스 요청이, N-1번째 서비스 요청과 무관한 호출로 판단하고, 비정상적인 대량 호출이 발생한 경우로 판단하지 않는다.
상기 예에서, 임계 호출 횟수가 10회인 경우, 9번째 서비스 요청까지 연속된 호출로 판단된 경우, 미리 기록된 연속 호출 횟수는 값 9를 갖는다. 이 경우에 10번째 서비스 요청이 9번째 서비스 요청이 호출된 후, 1초를 초과한 2초 만에 호출된 경우, 클라이언트 세션 차단 장치(100)는 연속 호출 횟수 값 9를 초기화하고, 제1 요청으로 수신된 10번째 서비스 요청을 1번째 서비스 요청으로 결정한다. 즉, 클라이언트 세션 차단 장치(100)는 연속 호출 횟수에 대한 카운트를 새로 시작한다.
단계(S30)에서, 제1 요청이 미리 설정된 시간 범위 내에 수신된 요청이 아닌 경우를 주로 설명하였으나, 클라이언트의 제1 서비스 요청이 미리 설정된 시간 범위 내에 수신된 요청인 경우를 도 5를 참조하여 설명한다.
도 5는 본 발명의 몇몇 실시예에서 참조되는, 연속 호출 횟수 카운트 방법을 설명하기 위한 예시도이다.
도 5를 참조하면, 단계(S30)에서, 제1 요청이 미리 설정된 시간 범위 내에 수신된 요청인 경우, 클라이언트 세션 차단 장치(100)는 제1 요청이 수신된 시간을 기록할 수 있다(S34).
상기 예와 같이, 제1 요청이 N번째 요청이고, 제2 요청이 N-1번째 요청인 경우를 가정한다. N-1번째 요청 이후, N번째 요청이 미리 설정된 시간 범위인 1초 이내에 수신된 경우, 클라이언트 세션 차단 장치(100)는 N번째 요청이 수신된 시간을 기록하고, N번째 요청이 N-1번째 요청에 연속된 호출인 것으로 판단할 수 있다.
클라이언트 세션 차단 장치(100)는 제1 요청을, 제2 요청이 반영된 연속 호출 횟수에 대한 기록에 반영할 수 있다(S36).
상기 예에서, 임계 호출 횟수가 10회인 경우, 9번째 서비스 요청까지 연속된 호출로 판단된 경우, 미리 기록된 연속 호출 횟수는 값 9를 갖는다. 이 경우에 10번째 서비스 요청이 9번째 서비스 요청이 호출된 후, 1초를 이내인 0.5초 만에 호출된 경우, 클라이언트 세션 차단 장치(100)는 연속 호출 횟수 값 9에, 10번째 서비스 요청을 반영하여, 연속 호출 횟수 값을 10으로 증가시킨다. 즉, 클라이언트 세션 차단 장치(100)는 연속 호출 횟수에 대한 카운트를 누적한다.
본 발명의 다른 실시예에 따르면, 단계(S36)에서, 임계 호출 횟수까지 누적된 카운트가 로그로 기록되므로, 클라이언트 세션 차단 장치(100) 및/또는 웹 응용 서버(30)와 연동된 모니터링 시스템을 활용하면, 클라이언트 세션 차단 장치(100)의 관리자는 상기 임계 호출 횟수를 효과적으로 관리할 수 있다. 상기 기록되는 로그는 예를 들어, 카운트 횟수뿐만 아니라, 사용자ID, 회사, 사업장, 서비스 등의 정보를 포함하는 정보일 수 있다.
이 경우, 클라이언트 세션 차단 장치(100)는 기록된 로그를 모니터링 시스템에 제공함으로써, 관리자에게 임계 호출 횟수 조정에 활용 가능한 정보를 제공하고, 서비스 별 위험도에 대한 정보를 제공할 수도 있다.
또한, 클라이언트 세션 차단 장치(100)는 상기 로그에 기록된 사업장 정보를 기초로, 해당 사업장에 배포된 애플리케이션의 버전이 비정상적인 호출을 발생시키는지 여부에 대한 정보를 모니터링 시스템을 통해 관리자에 제공할 수 있다. 또한, 클라이언트 세션 차단 장치(100)는 모니터링 시스템을 통해 해당 사업장에서 특정 클라이언트가 이상 동작하고 있음을 추측하고, 이에 대한 위험도 정보를 제공할 수도 있다.
이어서, 단계(S40)에서, 클라이언트 세션 차단 장치(100)는 서비스에 대한 임계 호출 횟수를 식별하고, 단계(S50)에서 연속 호출 횟수가 임계 호출 횟수 이상인지 판단할 수 있다.
도 6은 본 발명의 또 다른 실시예에 따른, 도 1의 대량 호출 발생 시스템의 웹 응용 서버(30)에 클라이언트 세션 차단 장치(100)가 적용된 경우를 설명하기 위한 예시도이다.
도 6에서 클라이언트(11)은 인트라넷 환경(50)에서 비정상적인 대량 호출을 발생시키는 악성 클라이언트이고, 클라이언트(21)은 인터넷 환경(60)에서 비정상적인 대량 호출을 발생시키는 악성 클라이언트인 경우로 가정한다. 또한, 클라이언트(12)는 인트라넷 환경(50)의 정상 클라이언트이다.
도 6을 참조하면, 클라이언트(11)이 인트라넷 환경(50)에서 비정상적인 대량 호출을 발생시킴에 따라, 웹 서버(10)가 클라이언트(11)로부터 임계 호출 횟수 이상 반복된 서비스 요청을 수신하여 웹 응용 서버(30)에 전달한다.
웹 응용 서버(30)는 클라이언트 세션 차단 장치(100)를 이용하여, 요청된 서비스에 대한 클라이언트(11)의 세션을 차단할 수 있다. 이에 따라, 웹 응용 서버(30) 및 데이터베이스(40)는 클라이언트(11)의 대량 호출로부터 보호되어, 시스템 안정이 유지된다. 따라서, 정상 클라이언트(12)에게 서비스 장애가 발생하지 않게 된다.
또한, 클라이언트(21)이 인터넷 환경(60)에서 비정상적인 대량 호출을 발생시키는 경우, 인터넷 웹 서버(20)가 클라이언트(21)로부터 임계 호출 횟수 이상 반복된 서비스 요청을 수신하여 웹 응용 서버(30)에 전달한다.
이 경우에도 웹 응용 서버(30)는 클라이언트 세션 차단 장치(100)를 이용하여, 요청된 서비스에 대한 클라이언트(21)의 세션을 차단할 수 있다. 이에 따라, 웹 응용 서버(30) 및 데이터베이스(40)는 클라이언트(21)의 대량 호출로부터 보호되어, 시스템 안정이 유지되며, 정상 클라이언트(12)에게 서비스 장애가 발생하지 않는다.
상술한 바와 같이, 비정상적인 대량 호출이 발생한 시스템에, 네트워크 장비 또는 기타 장비를 추가로 도입할 필요 없이, 웹 응용 서버()30)에 클라이언트 세션 차단 장치(100)만을 적용함으로써 시스템을 안정화시킬 수 있다. 즉, 본 발명의 실시예에 따르면, 대량 호출에 대비한 추가 장비의 도입이 불필요하므로, 시스템 안정화에 비용이 절감되는 효과가 있다.
한편, 시스템 안정화를 위하여, 웹 응용 서버(30)에 클라이언트 세션 차단 장치(100)를 적용하는 것 외에 다양한 수단이 시스템에 구비될 수 있다. 예를 들어, 웹 서버(10)는 정책적으로 접근 제어 목록(110)을 통해, 웹 서버(10) 레벨에서 특정 클라이언트의 접근을 제한할 수 있다.
본 발명의 실시예에 따르면, 상기 시스템 안정화 수단은 클라이언트 세션 차단 방법과 선택적 또는 결합적으로 사용될 수 있다.
도 6에 도시된 바와 같이, 클라이언트 세션 차단 시스템의 클라이언트 세션 차단 장치(100)는, 복수의 네트워크를 경유하여 클라이언트와 연결될 수 있다.
특히, 단계(S10)에서, 클라이언트 세션 차단 장치(100)는 제1 요청이 수신된 네트워크를 식별할 수 있다. 즉, 클라이언트 세션 차단 장치(100)는 제1 요청이 수신된 네트워크가 인트라넷 환경(50)인지 인터넷 환경(60)인지 여부를 식별할 수 있다.
단계(S40)에서, 클라이언트 세션 차단 장치(100)는 식별된 네트워크에 매칭된 서비스에 대하여 미리 설정된 임계 호출 횟수를 식별할 수 있다. 즉, 클라이언트 세션 차단 장치(100)는 네트워크에 따라 정책적으로 임계 호출 횟수를 달리 설정할 수 있다. 예를 들어, 인트라넷 환경(50)의 경우, 신뢰도가 상대적으로 높으므로, 임계 호출 횟수가 상대적으로 높게 설정되고, 인터넷 환경(60)의 경우, 신뢰도가 상대적으로 낮으므로, 임계 호출 횟수가 상대적으로 낮게 설정될 수 있다.
단계(S40)에서, 서비스에 대한 임계 호출 횟수로, 제1 네트워크의 경우 제1 임계 호출 횟수가 미리 설정되고, 제2 네트워크의 경우 제2 임계 호출 횟수가 미리 설정된 경우를 가정한다.
이에 따라, 단계(S50)에서, 클라이언트 세션 차단 장치(100)는 식별된 네트워크가 제1 네트워크인 경우, 식별된 제1 임계 호출 횟수를 기초로 제2 판단을 수행하고, 식별된 네트워크가 제2 네트워크인 경우, 식별된 제2 임계 호출 횟수를 기초로 상기 제2 판단할 수 있다.
예를 들어, 서비스가 웹 메일 서비스이고, 제1 네트워크가 인트라넷 환경(50)인 경우, 제1 임계 호출 횟수가 10회로 미리 설정되고, 제2 네트워크가 인터넷 환경(60)인 경우, 제2 임계 호출 횟수가 7회로 미리 설정될 수 있다.
따라서, 클라이언트의 서비스 요청이 9회 연속 호출을 발생시킨 경우, 클라이언트 세션 차단 장치(100)는 서비스 요청이 인트라넷 환경(50)에서 발생한 경우, 단계(S50)에서 미리 설정된 임계 호출 횟수 미만의 연속 호출이 발생한 것으로 판단하고, 클라이언트의 서비스 요청을 수락할 수 있다.
반면, 동일한 9회의 연속된 서비스 요청에 대하여, 클라이언트 세션 차단 장치(100)는 서비스 요청이 인터넷 환경(60)에서 발생한 경우, 단계(S50)에서 미리 설정된 임계 호출 횟수 이상의 연속 호출이 발생한 것으로 판단하고, 클라이언트의 세션을 종료시킬 수 있다.
본 발명의 다른 실시예에 따르면, 클라이언트 세션 차단 장치(100)는 특정 네트워크 상의 서비스 요청에 대한 임계 호출 횟수를 자동으로 생성할 수도 있다.
단계(S10)에서, 클라이언트 세션 차단 장치(100)가 제1 요청이 수신된 네트워크가 인트라넷인지 인터넷인지 여부를 식별한 경우를 가정한다.
이때, 식별된 네트워크가 인터넷 환경(60)인 경우, 단계(S40)에서, 클라이언트 세션 차단 장치(100)는 인트라넷 환경(50)에 매칭된 서비스에 대하여 미리 설정된 제1 임계 호출 횟수를 식별할 수 있다.
상기 예에서, 클라이언트 세션 차단 장치(100)는 웹 메일 서비스에 대한 요청이 인터넷 환경(60)에서 호출된 것을 식별하면, 웹 메일 서비스에 대한 요청이 인트라넷 환경(50)에서 호출된 경우의 미리 설정된 임계 호출 횟수를 식별할 수 있다. 즉, 상기 예에서 클라이언트 세션 차단 장치(100)는 10회의 임계 호출 횟수를 식별할 수 있다.
클라이언트 세션 차단 장치(100)는 식별된 10회의 임계 호출 횟수를 기초로, 10회보다 미리 설정된 수치만큼 작은 제2 임계 호출 횟수를 생성할 수 있다. 예를 들어, 클라이언트 세션 차단 장치(100)는 10회보다 작은 7회의 임계 호출 횟수를 인터넷 환경(60)의 웹 메일 서비스 요청의 임계 호출 횟수로 생성할 수 있다. 이때, 미리 설정된 수치는 클라이언트 세션 차단 장치(100)의 관리자에 의해 결정될 수 있다.
클라이언트 세션 차단 장치(100)는 제2 임계 호출 횟수를 기초로, 단계(S50)에서 연속 호출 횟수가 인터넷 환경(60)에서 임계 호출 횟수 이상 발생했는지 여부를 판단할 수 있다.
도 7은 본 발명의 몇몇 실시예에서 참조되는, 세션 차단에 따라 클라이언트에 제공되는 사용자 인터페이스(User Interface)의 예시이다.
단계(S60)에서, 클라이언트 세션 차단 장치(100)는 웹 서버(10) 및/또는 인터넷 웹 서버(20)를 통해, 클라이언트에 세션 차단 여부를 알리기 위한 사용자 인터페이스를 제공할 수 있다.
도 7에서, 사용자 인터페이스(701, 703)이 예로써 도시되었다.
사용자 인터페이스(701)을 참조하면, 클라이언트 세션 차단 장치(100)는 서비스의 세션 종료 결과에 대한 알림(710)을 서비스를 요청한 클라이언트에 제공할 수 있다. 또한, 클라이언트 세션 차단 장치(100)는 해당 서비스에 대한 요청이 임계 호출 횟수 이상의 대량 호출을 발생시켰음을 알리는 정보(711)를 제공할 수도 있다.
또한, 클라이언트 세션 차단 장치(100)는, 상기 사용자 인터페이스(701)를 통해, 서비스에 대하여 소정의 시간 이후에 세션 접속을 시도할 것을 제안할 수도 있다.
본 발명의 실시예에 따르면, 요청된 서비스는 제1 애플리케이션 및 제2 애플리케이션 중 어느 하나를 실행함에 따라 제공 가능한 서비스일 수 있다. 예를 들어, 요청된 서비스가 웹 브라우징이고, 제1 애플리케이션은 마이크로 소프트(Microsoft) 사의 인터넷 익스플로러, 제2 애플리케이션은 구글(Google) 사의 크롬인 경우를 가정한다.
단계(S60)에서, 서비스에 대한 클라이언트의 세션이 제1 애플리케이션의 세션인 경우, 클라이언트 세션 차단 장치(100)는 제1 애플리케이션의 세션을 차단할 수 있다. 상기 예에서, 클라이언트 세션 차단 장치(100)는 인터넷 익스플로러에 대한 세션을 차단한다.
즉, 클라이언트 세션 차단 장치(100)는 서비스의 제1 애플리케이션에 대한 세션 차단 결과(720)를 사용자 인터페이스(703)를 통해 제공할 수 있다.
또한, 클라이언트 세션 차단 장치(100)는 서비스의 제공을 위해 실행 가능한, 미리 설정된 제2 애플리케이션에 대한 정보를 사용자 인터페이스(703)을 통해 제공할 수 있다.
사용자 인터페이스(703)를 참조하면, 클라이언트 세션 차단 장치(100)는 미리 설정된 제2 애플리케이션인 크롬에 대한 정보(721)를 제공하고, 크롬의 실행을 위한 링크(721)를 제공할 수도 있다. 이를 위해, 클라이언트 세션 차단 장치(100)는 서비스를 제공하기 위한 하나 이상의 애플리케이션에 대한 정보를 미리 저장할 수 있다.
클라이언트로부터, 제2 애플리케이션의 실행 요청이 수신되면, 제2 애플리케이션의 세션이 생성되고, 웹 서버(10)로부터 웹 응용 서버(30)는 이에 대한 정보를 수신할 수 있다. 특히, 클라이언트 세션 차단 장치(100)는 도 3에서 설명된 바와 같이, 세션 유효 여부, 세션의 생성 시간, 서비스 요청 횟수를 판단할 수 있다.
이에 따라, 제2 애플리케이션에 대한 서비스 요청이 미리 설정된 임계 호출 횟수 미만인 경우, 클라이언트 세션 차단 장치(100)는 세션을 유지하고, 서비스 요청을 수락할 수 있다.
본 발명의 일 실시예에 따르면, 미리 설정된 임계 호출 횟수는 서비스에 연동된 애플리케이션마다 다르게 설정될 수도 있다. 예를 들어에서, 인터넷 익스플로러와 크롬에 대한 임계 호출 횟수는 서로 다르게 설정될 수도 있다.
본 발명의 다른 실시예에 따르면, 미리 설정된 임계 호출 횟수는 서비스에 연동된 동일한 애플리케이션의 버전마다 다르게 설정될 수도 있다. 예를 들어, 인터넷 익스플로러의 버전에 따라 임계 호출 횟수가 서로 다르게 설정될 수도 있따.
즉, 본 발명의 실시예에 따르면, 동종의 서비스의 특정 애플리케이션에 대하여 원인 불명의 오류로 세션이 차단되더라도, 클라이언트는 다른 애플리케이션을 이용하여 세션을 생성하고, 동종의 서비스를 제공받을 수 있다.
또한, 본 발명의 다른 실시예에 따르면, 동종의 서비스의 특정 애플리케이션에 대하여 세션이 차단되더라도, 클라이언트에 의해 새로운 세션이 생성되는 경우, 클라이언트는 특정 애플리케이션의 새로운 세션을 통해 동종의 서비스를 제공받을 수도 있다.
예를 들어, 서비스에 대한 클라이언트의 세션이 인터넷 익스플로러에 대한 세션이고, 인터넷 익스플로러에 대한 서비스 요청으로 비정상적인 대량 호출이 발생한 경우를 가정한다.
이 같은 경우, 단계(S60)에서, 클라이언트 세션 차단 장치(100)는 상기 인터넷 익스플로러의 세션을 차단할 수 있다. 이후, 클라이언트가 인터넷 익스플로러를 새롭게 실행하는 경우, 즉, 신규 창을 실행하여 서비스 요청하는 경우, 신규 창의 인터넷 익스플로러에 대한 세션이 신규 생성된다. 웹 응용 서버(30)는 신규 세션에 대한 정보를 웹 서버(10)로부터 수신할 수 있다.
이에 따라, 클라이언트 세션 차단 장치(100)는, 신규 세션의 유효 여부, 신규 세션의 생성 시간, 신규 세션을 통한 서비스 요청 횟수를 판단할 수 있다. 또한. 신규 세션을 통한에 대한 서비스 요청이 미리 설정된 임계 호출 횟수 미만인 경우, 클라이언트 세션 차단 장치(100)는 신규 세션을 유지하고, 서비스 요청을 수락할 수 있다. 즉, 동종의 서비스의 특정 애플리케이션에 대하여 원인 불명의 오류로 세션이 차단되더라도, 클라이언트는 상기 특정 애플리케이션을 이용하여 세션을 신규 생성하고, 동종의 서비스를 제공받을 수 있다.
반면, 상기 예에서 신규 세션을 통한 서비스 요청도 임계 호출 횟수 이상인 경우, 클라이언트 세션 차단 장치(100)는 단계(S60)에서 상기 신규 세션을 차단할 수 있다.
지금까지 클라이언트 세션 차단 장치(100)는 비정상적인 대량 호출을 발생시키는 클라이언트의 세션을 차단시키는 방법에 대하여 주로 설명하였다.
한편, 본 발명의 또 다른 실시예에 따르면, 클라이언트 세션 차단 장치(100)는 서비스에 대한 세션뿐만 아니라, 서비스 자체를 종료시킬 수도 있다.
클라이언트로부터 요청된 서비스가 웹 브라우징 서비스인 경우를 예로 들어 설명한다. 클라이언트 세션 차단 장치(100)는, 상기 웹 브라우징 서비스에 대하여 비정상적인 대량 호출이 발생한 경우, 상기 서비스에 대한 웹 브라우저의 세션뿐만 아니라, 웹 브라우저를 종료시킬 수도 있다. 이를 위해, 클라이언트 세션 장치(100)의 클라이언트 세션 차단 소프트웨어는 SSO(Single Sign On) 모듈을 추가로 포함할 수 있다. SSO 모듈은, 특히 서비스의 ID를 등록할 수 있는 클라이언트용 모듈일 수 있다. 즉, 상기 클라이언트용 모듈은 웹 브라우저에 로그인 시, 웹 브라우저의 ID를 등록할 수 있다. 이 경우, 브라우저에 대한 비정상적인 대량 호출이 발생하면, 클라이언트 세션 차단 장치(100)는, 웹 브라우저의 세션뿐만 아니라, 웹 브라우저 자체를 강제 종료할 수도 있다.
지금까지 도 3 내지 도 7을 참조하여 설명된 본 발명의 실시예들은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록 된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
또한, 도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

Claims (9)

  1. 클라이언트 세션 차단 장치의 세션 차단 방법에 있어서,
    웹 서버로부터, 제1 애플리케이션 및 제2 애플리케이션 중 어느 하나를 실행함에 따라 제공 가능한 서비스에 대하여, 클라이언트의 상기 서비스에 대한 제1 요청을 수신하는 단계;
    상기 서비스에 대한 상기 클라이언트의 애플리케이션의 세션이 상기 제1 애플리케이션의 세션인 경우, 상기 제1 애플리케이션의 세션이 유효한지 제1 판단하는 단계;
    상기 제1 판단 결과, 상기 제1 애플리케이션의 세션이 유효한 경우, 상기 제1 애플리케이션의 세션의 호출 횟수가 미리 설정된 임계 호출 횟수 이상인지 제2 판단하는 단계; 및
    상기 제2 판단 결과, 상기 호출 횟수가 상기 미리 설정된 임계 호출 횟수 이상인 경우, 상기 서비스에 대한 상기 제1 애플리케이션의 세션을 차단하고 상기 제2 애플리케이션의 세션은 유지하는 단계를 포함하는,
    클라이언트 세션 차단 방법.
  2. 제 1 항에 있어서,
    상기 제2 판단하는 단계는,
    상기 제1 요청의 수신에 앞서 수신된 상기 서비스에 대한 상기 제1 애플리케이션 세션의 제2 요청의 수신 시간을 기준으로, 상기 제1 요청이 미리 설정된 시간 범위 내에 수신된 요청인지 판단하는 단계;
    상기 제1 요청이 상기 미리 설정된 시간 범위 내에 수신된 요청인 경우, 상기 서비스에 미리 설정된 임계 호출 횟수를 식별하는 단계; 및
    상기 식별된 임계 호출 횟수를 기초로 상기 제1 애플리케이션의 세션의 호출 횟수가 미리 설정된 임계 호출 횟수 이상인지 판단하는 단계를 포함하는,
    클라이언트 세션 차단 방법.
  3. 제 2 항에 있어서,
    상기 제1 요청이 미리 설정된 시간 범위 내에 수신된 요청인지 판단하는 단계는,
    상기 제1 요청이 상기 미리 설정된 시간 범위 내에 수신된 요청인 경우, 상기 제1 요청이 수신된 시간을 기록하는 단계; 및
    상기 제1 요청을, 상기 제2 요청이 반영된 연속 호출 횟수에 대한 기록에 반영하는 단계를 포함하는,
    클라이언트 세션 차단 방법.
  4. 제 2 항에 있어서,
    상기 제1 요청이 미리 설정된 시간 범위 내에 수신된 요청인지 판단하는 단계는,
    상기 제1 요청이 상기 미리 설정된 시간 범위 내에 수신된 요청이 아닌 경우, 상기 제1 요청이 수신된 시간을 기록하는 단계; 및
    상기 제2 요청이 반영된 연속 호출 횟수에 대한 기록을 초기화하는 단계를 포함하는,
    클라이언트 세션 차단 방법.
  5. 제 1 항에 있어서,
    상기 서비스에 대한 상기 제1 애플리케이션의 세션을 차단하고 상기 제2 애플리케이션의 세션은 유지하는 단계는,
    상기 클라이언트의 상기 서비스에 대한 제1 애플리케이션 세션 차단 결과를 상기 클라이언트에 제공하는 단계를 포함하는,
    클라이언트 세션 차단 방법.
  6. 제 5 항에 있어서,
    상기 클라이언트에 제공하는 단계는,
    상기 서비스에 대한 상기 제1 애플리케이션의 세션이 차단된 경우, 상기 클라이언트에 상기 서비스의 제공을 위해 실행 가능한, 미리 설정된 상기 제2 애플리케이션에 대한 정보를 제공하는 단계를 포함하는,
    클라이언트 세션 차단 방법.
  7. 제 1 항에 있어서,
    상기 제2 판단 결과, 상기 서비스에 대한 상기 호출 횟수가 상기 서비스에 대하여 미리 설정된 임계 호출 횟수 미만인 경우, 상기 호출 횟수와 상기 임계 호출 횟수의 차이를 연산하는 단계; 및
    상기 연산된 차이가 미리 설정된 횟수 범위 내의 차이인 경우, 상기 임계 호출 횟수를 변경하는 단계를 더 포함하는,
    클라이언트 세션 차단 방법.
  8. 제 1 항에 있어서,
    상기 제1 요청을 수신하는 단계는,
    상기 제1 요청이 수신된 네트워크를 식별하는 단계를 더 포함하고,
    상기 제2 판단하는 단계는,
    상기 식별된 네트워크에 매칭된 상기 서비스에 대하여 미리 설정된 임계 호출 횟수를 식별하는 단계; 및
    상기 식별된 네트워크가 제1 네트워크인 경우, 상기 식별된 임계 호출 횟수인 제1 임계 호출 횟수를 기초로 상기 제2 판단하고,
    상기 식별된 네트워크가 제2 네트워크인 경우, 상기 식별된 임계 호출 횟수인 제2 임계 호출 횟수를 기초로 상기 제2 판단하는 단계를 포함하는,
    클라이언트 세션 차단 방법.
  9. 제 1 항에 있어서,
    상기 제1 요청을 수신하는 단계는,
    상기 제1 요청이 수신된 네트워크가 인트라넷인지 인터넷인지 여부를 식별하는 단계를 더 포함하고,
    상기 제2 판단하는 단계는,
    상기 식별된 네트워크가 인터넷인 경우, 상기 인트라넷에 매칭된 상기 서비스에 대하여 미리 설정된 제1 임계 호출 횟수를 식별하는 단계;
    상기 식별된 제1 임계 호출 횟수를 기초로, 상기 제1 임계 호출 횟수보다 미리 설정된 수치만큼 작은 제2 임계 호출 횟수를 생성하는 단계; 및
    상기 제2 임계 호출 횟수를 기초로, 상기 제2 판단하는 단계를 포함하는,
    클라이언트 세션 차단 방법.
KR1020160142765A 2016-10-31 2016-10-31 웹 응용 서버의 클라이언트 세션 차단 방법 및 장치 KR102019173B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160142765A KR102019173B1 (ko) 2016-10-31 2016-10-31 웹 응용 서버의 클라이언트 세션 차단 방법 및 장치
EP17199182.1A EP3316551A1 (en) 2016-10-31 2017-10-30 Client session blocking method and apparatus of web application server
US15/798,639 US10701178B2 (en) 2016-10-31 2017-10-31 Method and apparatus of web application server for blocking a client session based on a threshold number of service calls

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160142765A KR102019173B1 (ko) 2016-10-31 2016-10-31 웹 응용 서버의 클라이언트 세션 차단 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20180047078A KR20180047078A (ko) 2018-05-10
KR102019173B1 true KR102019173B1 (ko) 2019-09-09

Family

ID=60244887

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160142765A KR102019173B1 (ko) 2016-10-31 2016-10-31 웹 응용 서버의 클라이언트 세션 차단 방법 및 장치

Country Status (3)

Country Link
US (1) US10701178B2 (ko)
EP (1) EP3316551A1 (ko)
KR (1) KR102019173B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130152153A1 (en) * 2011-12-07 2013-06-13 Reginald Weiser Systems and methods for providing security for sip and pbx communications

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6944167B1 (en) * 2000-10-24 2005-09-13 Sprint Communications Company L.P. Method and apparatus for dynamic allocation of private address space based upon domain name service queries
US20020107953A1 (en) * 2001-01-16 2002-08-08 Mark Ontiveros Method and device for monitoring data traffic and preventing unauthorized access to a network
US7752334B2 (en) * 2002-10-15 2010-07-06 Nomadix, Inc. Intelligent network address translator and methods for network address translation
US7386848B2 (en) * 2003-10-02 2008-06-10 International Business Machines Corporation Method and system to alleviate denial-of-service conditions on a server
US7602748B2 (en) * 2004-08-13 2009-10-13 Verizon Business Global Llc Fixed-mobile communications with mid-session mode switching
KR100608838B1 (ko) * 2004-12-30 2006-08-08 엘지전자 주식회사 이동 통신 단말기의 pdp 컨텍스트 설정 및 해제 방법
JP2006246109A (ja) 2005-03-04 2006-09-14 Matsushita Electric Ind Co Ltd ネットワーク対応型電子機器
US8041824B1 (en) * 2005-04-14 2011-10-18 Strauss Acquisitions, L.L.C. System, device, method and software for providing a visitor access to a public network
KR100656485B1 (ko) * 2006-02-13 2006-12-11 삼성전자주식회사 Pta 서비스 제공 방법 및 그 시스템
JP4961996B2 (ja) 2006-12-22 2012-06-27 Kddi株式会社 通信管理装置監視システム及び方法
US20080298333A1 (en) * 2007-06-01 2008-12-04 Lg Electronics Inc. Scanning procedure in wireless lan, station supporting the same, and frame format therefor
US8631149B2 (en) * 2008-11-25 2014-01-14 Citrix Systems, Inc. Systems and methods for object rate limiting
KR101041997B1 (ko) 2009-09-11 2011-06-16 주식회사 엘림넷 웹 방화벽의 능동적 탐지ㆍ차단을 위한 대응 시스템 및 그 방법
US8452835B2 (en) * 2009-12-23 2013-05-28 Citrix Systems, Inc. Systems and methods for object rate limiting in multi-core system
KR101231966B1 (ko) * 2010-04-19 2013-02-08 에스2정보 주식회사 장애 방지 서버 및 방법
KR101115511B1 (ko) * 2010-05-04 2012-02-27 에스케이씨앤씨 주식회사 스마트 카드 웹서버를 이용한 인증 시스템 및 방법
KR101153115B1 (ko) * 2010-06-14 2012-06-04 (주)네오위즈게임즈 해킹 툴을 탐지하는 방법, 서버 및 단말기
US9313604B1 (en) * 2010-06-22 2016-04-12 Amazon Technologies, Inc. Network service request throttling system
US9209993B2 (en) * 2010-11-16 2015-12-08 Microsoft Technology Licensing, Llc Cooperative session-based filtering
KR101116745B1 (ko) 2010-12-06 2012-02-22 플러스기술주식회사 비연결형 트래픽 차단 방법
US8671385B2 (en) * 2011-01-07 2014-03-11 Mastercard International Incorporated Methods and systems for throttling calls to a service application through an open API
KR101206921B1 (ko) 2011-04-21 2012-11-30 한신권 웹서버보호장치
US8737221B1 (en) 2011-06-14 2014-05-27 Cisco Technology, Inc. Accelerated processing of aggregate data flows in a network environment
US8667056B1 (en) * 2011-06-29 2014-03-04 Amazon Technologies, Inc. Dynamic traffic management
US9002194B2 (en) 2012-04-09 2015-04-07 Telefonaktiebolaget L M Ericsson (Publ) Optical-layer multipath protection for optical network
KR101500678B1 (ko) 2012-05-31 2015-03-09 주식회사 케이티 펨토 기지국의 부하 제어 방법 및 이를 위한 펨토 기지국
JP5828360B2 (ja) * 2012-07-25 2015-12-02 富士通株式会社 無線通信システム、移動局、基地局、及び無線通信方法
US20140047114A1 (en) * 2012-08-13 2014-02-13 Cisco Technology, Inc. Virtual desktop policy control
US9357431B2 (en) 2012-08-31 2016-05-31 Qualcomm Incorporated Selective network parameter configuratons based on network identification of non-IMS multimedia applications
WO2014051552A1 (en) * 2012-09-25 2014-04-03 Empire Technology Development Llc Limiting data usage of a device connected to the internet via tethering
KR101491639B1 (ko) * 2012-11-15 2015-02-09 (주)씨디네트웍스 통신망의 종류를 구분하는 방법 및 이를 이용한 콘텐츠 제공 방법
US9323474B2 (en) * 2013-03-04 2016-04-26 International Business Machines Corporation Selective zone control session termination
US9071576B1 (en) * 2013-03-12 2015-06-30 Sprint Communications Comapny L.P. Application rate limiting without overhead
US9769203B2 (en) * 2014-09-22 2017-09-19 Sap Se Methods, systems, and apparatus for mitigating network-based attacks
JP2016066853A (ja) * 2014-09-24 2016-04-28 富士ゼロックス株式会社 画像形成装置、及びプログラム
EP3101326B1 (en) 2015-06-03 2017-05-03 Axis AB Mounting arrangement for mounting a device, and methods for mounting and dismounting a device
US10044729B1 (en) * 2015-12-01 2018-08-07 Microsoft Technology Licensing, Llc Analyzing requests to an online service

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130152153A1 (en) * 2011-12-07 2013-06-13 Reginald Weiser Systems and methods for providing security for sip and pbx communications

Also Published As

Publication number Publication date
US10701178B2 (en) 2020-06-30
EP3316551A1 (en) 2018-05-02
US20180124204A1 (en) 2018-05-03
KR20180047078A (ko) 2018-05-10

Similar Documents

Publication Publication Date Title
US10797965B2 (en) Dynamically selecting or creating a policy to throttle a portion of telemetry data
US10652331B1 (en) Locally providing highly available cloud-based storage system services
US10104037B2 (en) Method and system for network access request control
US8850517B2 (en) Runtime risk detection based on user, application, and system action sequence correlation
US20180063183A1 (en) Interacting with a remote server over a network to determine whether to allow data exchange with a resource at the remote server
US10785320B2 (en) Managing operation of instances
US10148694B1 (en) Preventing data loss over network channels by dynamically monitoring file system operations of a process
US20160105529A1 (en) Distributed control over client-side requests for server resources
JP7144544B2 (ja) 周辺デバイスへのアクセスを制御するためのシステム及び方法
JP2012521042A (ja) ウェブフロントエンドスロットリング
KR100545794B1 (ko) 단말시스템 사용자를 위한 네트워크 사용 감시 장치 및 그방법
US20170147483A1 (en) Tracking asynchronous entry points for an application
US20230362250A1 (en) Performance-Driven Storage Provisioning
US10027692B2 (en) Modifying evasive code using correlation analysis
US10296436B2 (en) Adjusting trace points based on overhead analysis
US11481258B1 (en) Detecting real-time clock loss
US10432490B2 (en) Monitoring single content page application transitions
US11595420B2 (en) Systems and methods for protecting against misleading clicks on websites
CN113626882A (zh) 一种生成设备标识符的方法、装置、介质
KR102019173B1 (ko) 웹 응용 서버의 클라이언트 세션 차단 방법 및 장치
US10999398B1 (en) Scan protection with rate limiting
US9754109B1 (en) Systems and methods for managing access
US10025937B1 (en) Practical and dynamic approach to enterprise hardening
US10826978B1 (en) Systems and methods for server load control
US20150222505A1 (en) Business transaction resource usage tracking

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant