KR102565724B1 - 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법과 이를 수행하는 사용자 단말 및 컴퓨터프로그램 - Google Patents

패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법과 이를 수행하는 사용자 단말 및 컴퓨터프로그램 Download PDF

Info

Publication number
KR102565724B1
KR102565724B1 KR1020230045541A KR20230045541A KR102565724B1 KR 102565724 B1 KR102565724 B1 KR 102565724B1 KR 1020230045541 A KR1020230045541 A KR 1020230045541A KR 20230045541 A KR20230045541 A KR 20230045541A KR 102565724 B1 KR102565724 B1 KR 102565724B1
Authority
KR
South Korea
Prior art keywords
service
determining
user terminal
packet
information
Prior art date
Application number
KR1020230045541A
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 KR1020230045541A priority Critical patent/KR102565724B1/ko
Application granted granted Critical
Publication of KR102565724B1 publication Critical patent/KR102565724B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Abstract

패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법과 이를 수행하는 사용자 단말 및 컴퓨터프로그램이 제공된다. 본 발명의 다양한 실시예에 따른 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법은 사용자 단말에 의해 수행되는 방법에 있어서, 상기 사용자 단말을 통해 서비스가 실행됨에 따라 생성되는 패킷 중 분석 대상 패킷을 식별하는 단계 및 상기 식별된 분석 대상 패킷을 분석함에 따라 상기 서비스의 속성을 판단하는 단계를 포함한다.

Description

패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법과 이를 수행하는 사용자 단말 및 컴퓨터프로그램{METHOD, USER DEVICE AND COMPUTER PROGRAM FOR DETERMINING PROPERTY OF A SERVICE EXECUTED IN A USER DEVICE BASED ON PACKET ANALYSIS}
본 발명의 다양한 실시예는 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법과 이를 수행하는 사용자 단말 및 컴퓨터프로그램에 관한 것이다.
최근 스마트폰 등의 사용자 단말을 이용한 다양한 온라인 서비스들이 등장하고 있으며, 이를 통해 결제, 캐시백, 커머스, 광고, 마케팅, 관리 및 일상 공유 등의 다양한 온라인 서비스를 위한 애플리케이션(Application)들이 사용자 단말에 설치 및 공유되고 있다.
모바일 운영체제 기반의 애플리케이션은, 애플리케이션을 통해 실행되는 서비스를 제공하는 서버와의 데이터 송수신을 처리함에 따라, 다양한 온라인 서비스의 처리 및 그 결과의 신속한 확인을 가능하게 하는 바, 현재 다양한 목적 및 환경에 맞게 설계되고, 다양한 사업에서 지원 및 서비스되고 있다.
그러나, 이와 같은 다양한 애플리케이션 서비스들의 등장에 따라, 사용자들은 웹사이트의 이용 및 결제 등의 액션 순간에 많은 혼란과 결정의 기로에 놓여진다. 예를 들어, 결제 등과 같은 서비스의 경우, 여러 간편 결제, 지역화폐, 멤버십 할인, 신용카드의 혜택, 전월 실적, 각종 포인트 조건 등 알아야 할 사항도 많고, 준비하여야 할 사항도 많고, 미리 계산해 보아야 하는 사항도 너무 많은 실정이다. 이러한 불편함을 개선하기 위하여, 일부 종래기술들은 한국등록특허 10-1441288와 같이, 미리 등록된 개인정보를 이용한 서비스 서버에서의 자동화된 추천 서비스 등을 제안하고 있다.
하지만, 상기한 바와 같은 종래 기술들은 결국 외부 서버에서의 별도 개인정보 수집 및 추천 판단 프로세스가 이루어져야 하는 바, 보안 공격에 취약하며, 데이터 처리의 효율성과 신속성이 모두 떨어지는 문제점이 있다.
본 발명이 해결하고자 하는 과제는 상술된 문제점을 해소하기 위한 목적으로, 사용자 단말 내에서, 사용자 단말을 통해 특정 서비스가 실행됨에 따라 생성되는 패킷을 분석함에 따라 사용자 단말 내에서 자체적으로 특정 서비스의 속성(예: 서비스의 종류와 이용 상태)을 판단함으로써, 보다 빠르게 서비스의 종류와 이용 상태를 파악할 수 있을 뿐만 아니라 데이터 유출의 문제를 방지할 수 있는 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법과 이를 수행하는 사용자 단말 및 컴퓨터프로그램을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는 패킷 분석을 기반으로 사용자 단말 내에서 실행되고 있는 서비스의 종류와 서비스의 이용 상태를 판단하고, 이를 기반으로 다양한 가이드 정보(예컨대, 결제 방식 추천 안내, 상품 추천 안내(광고), 서비스 또는 기능 추천 안내 등)를 제공함으로써, 사용자가 보다 효율적이고 편리하게 각종 서비스를 이용할 수 있도록 하는 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법과 이를 수행하는 사용자 단말 및 컴퓨터프로그램을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법은 사용자 단말에 의해 수행되는 방법에 있어서, 상기 사용자 단말을 통해 서비스가 실행됨에 따라 생성되는 패킷 중 분석 대상 패킷을 식별하는 단계 및 상기 식별된 분석 대상 패킷을 분석함에 따라 상기 서비스의 속성을 판단하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 분석 대상 패킷을 식별하는 단계는, 상기 사용자 단말 내에 구비되는 가상사설망(VPN) 모듈을 통해, 상기 서비스가 실행됨에 따라 상기 사용자 단말로부터 상기 서비스를 제공하는 서비스 제공 서버로 제공되는 복수의 패킷 중 적어도 하나의 패킷을 분석 대상 패킷으로 선택하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 분석 대상 패킷을 식별하는 단계는, 상기 사용자 단말을 통해 서비스가 실행됨에 따라 생성되는 복수의 패킷 중 패킷의 목적지 주소가 프라이빗 IP 주소이거나 로컬 호스트 주소인 패킷을 분석 대상 패킷에서 제외시키는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 서비스의 속성을 판단하는 단계는, 상기 식별된 분석 대상 패킷으로부터 도메인 정보를 추출하는 단계 및 상기 추출된 도메인 정보를 이용하여, 상기 서비스의 속성으로서, 상기 서비스의 종류 및 상기 서비스의 이용 상태를 판단하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 도메인 정보를 추출하는 단계는, 상기 사용자 단말 내에 구비되는 로컬 프록시(Local proxy) 모듈 또는 상기 사용자 단말 외부에 구비되는 원격 가상사설망(Remote VPN) 서버를 통해 상기 식별된 분석 대상 패킷으로부터 URL 정보를 획득하고, 상기 획득된 URL 정보를 파싱하여 상기 서비스에 대응하는 도메인 정보를 추출하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 서비스의 종류 및 상기 서비스의 이용 상태를 판단하는 단계는, 사전에 저장된 서비스별 도메인 정보와 상기 추출된 도메인 정보를 매칭함에 따라 상기 추출된 도메인 정보에 대응하는 서비스 종류를 판단하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 서비스의 종류 및 상기 서비스의 이용 상태를 판단하는 단계는, 상기 사용자 단말을 통해 상기 서비스가 실행됨에 따라 생성된 복수의 패킷으로부터 추출된 복수의 도메인 정보와 사전에 저장된 서비스별 도메인 정보를 매칭하여 저장하는 단계 및 기 설정된 이용 상태 판단 기준 - 상기 기 설정된 이용 상태 판단 기준은 서비스의 종류 및 서비스의 현재 이용 상태에 기초하여 결정되는 것임 - 에 기초하여 상기 사전에 저장된 서비스별 도메인 정보와 매칭되어 저장된 복수의 도메인 정보를 분석함에 따라 상기 서비스의 이용 상태를 판단하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 추출된 도메인 정보는, 상기 도메인 정보는 도메인명 정보, 도메인 호출 횟수 정보, 도메인 호출 시간 정보, 도메인 호출 빈도 정보, 도메인 종류 정보 및 접속 플랫폼 정보를 포함하며, 상기 서비스의 종류 및 상기 서비스의 이용 상태를 판단하는 단계는, 상기 서비스의 종류와 판단하고자 하는 이용 상태에 기초하여, 상기 추출된 도메인 정보에 포함된 복수의 정보 - 상기 복수의 정보는, 도메인명, 도메인 호출 횟수, 도메인 호출 시간, 도메인 호출 빈도, 도메인 종류 및 접속 플랫폼 정보를 포함함 - 중 적어도 하나의 정보를 선택하는 단계 및 상기 선택된 적어도 하나의 정보를 이용하여 상기 서비스의 이용 상태를 서비스 실행 상태, 서비스 이용 상태 및 서비스에서 특정 동작을 수행한 상태 중 어느 하나로 판단하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 서비스의 종류 및 상기 서비스의 이용 상태를 판단하는 단계는, 상기 사용자 단말의 운영 체제(OS) 및 상기 서비스의 접속 방법 중 적어도 하나를 고려하여 상기 서비스에 대한 이용 상태 판단 기준을 설정하고, 상기 설정된 이용 상태 판단 기준에 따라 상기 추출된 도메인 정보를 분석함에 따라 상기 서비스의 이용 상태를 판단하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 서비스의 종류 및 상기 서비스의 이용 상태를 판단하는 단계는, 머신러닝 기반의 학습 방법에 따라 기 학습된 인공지능 모델을 통해 상기 추출된 도메인 정보를 분석함에 따라 결과 데이터로서 도메인 정보 패턴을 추출하고, 상기 추출된 도메인 정보 패턴에 기초하여 상기 서비스의 이용 상태를 판단하는 단계를 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법을 수행하는 사용자 단말은 서비스가 실행됨에 따라 생성되는 패킷 중 분석 대상 패킷을 식별하는 가상사설망(VPN) 모듈, 상기 식별된 분석 대상 패킷으로부터 도메인 정보를 추출하는 로컬 프록시(local proxy) 모듈 및 상기 식별된 분석 대상 패킷을 분석함에 따라 상기 서비스의 속성을 판단하는 서비스 속성 판단 모듈을 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터프로그램은 사용자 단말과 결합되어, 상기 사용자 단말을 통해 서비스가 실행됨에 따라 생성되는 패킷 중 분석 대상 패킷을 식별하는 단계 및 상기 식별된 분석 대상 패킷을 분석함에 따라 상기 서비스의 속성을 판단하는 단계를 포함하는 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법을 실행시키기 위하여 컴퓨팅 장치로 판독 가능한 기록매체에 저장될 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 다양한 실시예에 따르면, 사용자 단말 내에서, 사용자 단말을 통해 특정 서비스가 실행됨에 따라 생성되는 패킷을 분석함에 따라 사용자 단말 내에서 자체적으로 특정 서비스의 속성(예: 서비스의 종류와 이용 상태)을 판단함으로써, 보다 빠르게 서비스의 종류와 이용 상태를 파악할 수 있을 뿐만 아니라 데이터 유출의 문제를 방지할 수 있다는 이점이 있다.
또한, 패킷 분석을 기반으로 사용자 단말 내에서 실행되고 있는 서비스의 종류와 서비스의 이용 상태를 판단하고, 이를 기반으로 다양한 가이드 정보(예컨대, 결제 방식 추천 안내, 상품 추천 안내(광고), 서비스 또는 기능 추천 안내 등)를 제공함으로써, 사용자가 보다 효율적이고 편리하게 각종 서비스를 이용할 수 있도록 한다는 이점이 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단 시스템을 도시한 도면이다.
도 2는 본 발명의 다른 실시예에 따른 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법을 수행하는 사용자 단말의 하드웨어 구성을 도시한 도면이다.
도 3은 본 발명의 또 다른 실시예에 따른 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법의 순서도이다.
도 4는 다양한 실시예에서, 로컬 프록시 모듈을 이용하여 서비스의 속성을 판단하는 과정을 도시한 도면이다.
도 5는 다양한 실시예에서, 원격 VPN 서버를 이용하여 서비스의 속성을 판단하는 과정을 도시한 도면이다.
도 6은 다양한 실시예에서, 도메인 정보 매칭을 통해 서비스의 이용 상태를 판단하는 과정을 도시한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.
도 1은 본 발명의 일 실시예에 따른 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단 시스템을 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단 시스템은 사용자 단말(100), 서비스 제공 서버(200), 외부 서버(300) 및 네트워크(400)를 포함할 수 있다.
여기서, 도 1에 도시된 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단 시스템은 일 실시예에 따른 것이고, 그 구성 요소가 도 1에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 부가, 변경 또는 삭제될 수 있다.
일 실시예에서, 사용자 단말(100)은 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법을 수행할 수 있다. 여기서, 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법은 사용자가 사용자 단말(100)을 통해 이용하고 있는 애플리케이션 및/또는 웹 사이트에 따른 다양한 정보를 제공하기 위한 목적으로, 사용자 단말(100)을 통해 실행되는 서비스의 속성으로서, 해당 서비스의 종류와 해당 서비스의 이용 상태를 판단하는 방법을 의미할 수 있다. 예컨대, 사용자 단말(100)은 사용자 단말(100)을 통해 서비스가 실행됨에 따라 생성되는 패킷 중 분석 대상 패킷을 식별할 수 있고, 식별된 분석 대상 패킷을 분석함에 따라 서비스의 속성을 판단할 수 있다.
여기서, 사용자 단말(100)은 컴퓨팅 장치 또는 서버와 통신을 위한 메커니즘을 갖는 시스템에서의 임의의 형태의 엔티티(들)를 의미할 수 있다. 예를 들어, 이러한 사용자 단말(100)은 PC(personal computer), 노트북(note book), 모바일 단말기(mobile terminal), 스마트 폰(smart phone), 태블릿 PC(tablet pc) 및 웨어러블 디바이스(wearable device) 등을 포함할 수 있으며, 유/무선 네트워크에 접속할 수 있는 모든 종류의 단말을 포함할 수 있다. 또한, 사용자 단말(100)은 에이전트, API(Application Programming Interface) 및 플러그-인(Plug-in) 중 적어도 하나에 의해 구현되는 임의의 컴퓨팅 장치를 포함할 수도 있다. 또한, 사용자 단말(100)은 애플리케이션 소스 및/또는 클라이언트 애플리케이션을 포함할 수 있다. 이하, 도 2를 참조하여, 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법을 수행하는 사용자 단말(100)의 하드웨어 구성에 대해 설명하도록 한다.
도 2는 본 발명의 다른 실시예에 따른 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법을 수행하는 사용자 단말의 하드웨어 구성을 도시한 도면이다.
도 2를 참조하면, 다양한 실시예에서, 사용자 단말(100)은 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법을 수행할 수 있다. 이를 위해, 사용자 단말(100)은 가상사설망(VPN) 모듈(110), 로컬 프록시(local proxy) 모듈(120), 서비스 속성 판단 모듈(130), 제어부(140), 통신부(150), 패킷 처리부(160), 애플리케이션 구동부(170), 출력부(180) 및 저장부(190)를 포함할 수 있다. 그러나, 이에 한정되지 않는다.
먼저, 가상사설망 모듈(110)은 사용자 단말(100)을 통해 서비스가 실행됨에 따라 생성되는 패킷 중 분석 대상 패킷을 식별할 수 있다. 예컨대, 사용자 단말(100)을 통해 특정 서비스를 제공하는 애플리케이션이 실행되거나, 특정 서비스를 제공하는 웹 사이트에 접속하는 경우, 사용자 단말(100)로부터 특정 서비스를 제공하는 서비스 제공 서버(200)로 전송하기 위한 복수의 패킷이 생성되며, 가상사설망 모듈(110)은 이러한 복수의 패킷 중 특정 서비스의 속성을 판단하기 위한 적어도 하나의 패킷을 분석 대상 패킷으로 식별할 수 있다.
이때, 가상사설망 모듈(110)은 복수의 패킷 중 적어도 하나의 패킷이 분석 대상 패킷으로 식별되는 경우, 식별된 분석 대상 패킷을 후술되는 로컬 프록시 모듈(120)로 전달함으로써, 로컬 프록시 모듈(120)을 통해 분석 대상 패킷에 대한 도메인 정보 추출 동작이 수행되도록 할 수 있다. 그러나, 이에 한정되지 않고, 도 5에 도시된 바와 같이 사용자 단말(100) 내에 로컬 프록시 모듈(120)이 구비되지 않은 경우, 사용자 단말(100)의 외부에 별도로 구비되는 원격 VPN 서버(300)로 분석 대상 패킷을 전달함으로써, 원격 VPN 서버(300)를 통해 분석 대상 패킷에 대한 도메인 정보 추출 동작이 수행되도록 할 수 있다.
한편, 사용자 단말(100)을 통해 생성되는 모든 패킷을 분석할 경우, 서비스와 관련이 없는 패킷들도 함께 분석하는 것이기 때문에 비효율적이라는 문제가 있다. 이를 고려하여, 가상사설망 모듈(110)은 복수의 패킷 중 분석 대상 패킷을 로컬 프록시 모듈(120)(또는 외부의 원격 VPN 모듈(300))로 전달하되, 분석 대상 패킷이 아닌 나머지 패킷들 즉, 확인이 필요 없는 패킷들은 해당 패킷들의 목적지 주소에 대응하는 서비스 제공 서버(200)로 전달함으로써, 서비스에 대한 속성을 보다 효율적으로 판단함과 동시에, 해당 서비스 제공 서버(200)로부터 제공되는 서비스들이 원활하게 구동되도록 할 수 있다.
다양한 실시예에서, 가상사설망 모듈(110)은 특정 서비스를 제공하는 서비스 제공 서버(200)와의 통신을 위한 패킷 변환과 암호화 처리를 수행할 수 있다. 이를 위해, 가상사설망 모듈(110)은 네트워크 통신 모듈을 포함할 수 있으나, 이에 한정되지 않는다.
다음으로, 로컬 프록시 모듈(120)은 가상사설망 모듈(110)로부터 분석 대상 패킷을 전달받을 수 있으며, 분석 대상 패킷을 분석하여 도메인 정보를 추출할 수 있다. 예컨대, 분석 대상 패킷은 http 버전, http method 종류(예: POST, GET 등) 및 URL 정보를 포함할 수 있으며, 로컬 프록시 모듈(120)은 분석 대상 패킷으로부터 URL 정보를 획득할 수 있고, URL 정보를 파싱하여 서비스에 대응하는 도메인 정보를 추출할 수 있다.
여기서, 로컬 프록시 모듈(120)로부터 추출되는 도메인 정보는 도메인명 정보, 도메인 호출 횟수 정보, 도메인 호출 시간 정보, 도메인 호출 빈도 정보, 도메인 종류 정보 및 접속 플랫폼 정보를 포함할 수 있으나, 이에 한정되지 않는다.
여기서, 로컬 프록시 모듈(120)은 SwiftNIO를 활용하여 작성되는 것일 수 있으며, http request를 처리할 수 있는 형태로 구현된 것일 수 있으나, 이에 한정되지 않는다.
또한, 여기서, 로컬 프록시 모듈(120)은 iOS 운영체제에서 제공하는 네트워크 익스텐션(network extension) 중 하나인 패킷 터널 제공자(Packet Tunnel Provider) 기능을 이용하여 구축될 수 있다.
로컬 프록시 모듈(120)은 패킷 터널 제공자(Packet tunnel provider) 기능을 이용하여 수신되는 패킷들을 서비스 제공 서버(200)로 전달함과 동시에, 도메인 정보를 파싱하여 서비스 속성 판단 모듈(130)로 전달할 수 있으며, 이를 통해, 별도의 비용 등을 부담하지 않고도, 사용자 단말(100)에서 전송되는 패킷의 도메인 정보 분석을 수행할 수 있다.
보다 구체적으로, 패킷 터널 제공자 서비스 기능은 기본적으로는 가상사설망 애플리케이션을 제작하는 도구로서, 별도의 로컬 프록시 서버를 구성하여 사용자 단말(100)에서 발생되는 모든 패킷 트래픽을 구성된 로컬 프록시 서버로 전달하는 기능을 처리할 수 있는 바, 사용자 단말(100)이 접속한 서비스와 이용 상태를 인식하는 데 이용할 수 있으며, 이에 따라, iOS와 같은 운영체제에 따라서는 그 구현을 용이하게 처리할 수 있다.
다만, 패킷 데이터는 바이너리 데이터(binary data)인 점을 고려하며, 로컬 프록시 모듈(120)은 알려진 오픈소스 라이브러리 등을 이용하여 로컬 프록시 서버로 구현되면서, 패킷 파싱 로직이 포함되도록 구성될 수 있으며, 이를 통해, 로컬 프록시 모듈(120)은 바이너리 패킷 데이터로부터 도메인 정보를 추출할 수 있다
다음으로, 서비스 속성 판단 모듈(130)은 로컬 프록시 모듈(120)로부터 도메인 정보를 전달받을 수 있으며, 도메인 정보를 분석하여 서비스의 속성을 판단할 수 있다. 예컨대, 서비스 속성 판단 모듈(130)은 도메인명 정보, 도메인 호출 횟수 정보, 도메인 호출 시간 정보, 도메인 호출 빈도 정보, 도메인 종류 정보 및 접속 플랫폼 정보 중 적어도 하나에 기초하여, 사용자 단말(100) 내에서 실행되고 있는 서비스의 종류와 해당 서비스의 이용 상태를 판단할 수 있다.
여기서, 서비스의 이용 상태는 특정 서비스에 대하여 사용자가 수행하는 행동이나 사용자의 의도를 의미하는 것일 수 있다. 예컨대, 서비스의 이용 상태는 서비스의 실행(예: 서비스를 처음 실행하거나, 백그라운드(background)에서만 작동하고 있던 서비스를 포그라운드(foreground)에서 실행), 서비스의 이용 및 서비스에서의 특정 행동 수행을 포함할 수 있다.
여기서, 사용자는 사용자 단말(100)의 주인일 수 있으나, 이에 한정되지 않고, 모든 사용자 또는 과거 기록에 기초하여 선택되는 특정 사용자(예컨대, 소정의 기간동안 특정 서비스를 이용한 이력이 있는 사용자 등)일 수 있다.
또한, 여기서, 사용자가 수행하는 행동은 접속 결제와 같이 서비스 도메인 내에서 사용자가 직접 수행하는 동작을 의미할 수 있으나, 이에 한정되지 않는다.
또한, 여기서, 사용자의 의도는 "여행을 하려고 서핑 중", "구매하려고 비교 중"과 같이, 여러 시그널의 합(예: “hotels.com”, “expedia.com”등 여행사이트를 1시간내에 기 설정된 횟수 이상 방문 등)을 기반으로 사용자가 수행할 것으로 예측되는 동작을 의미할 수 있다.
다음으로, 제어부(140)는 사용자 단말(100) 내에 구비되는 구성요소들의 동작을 제어할 수 있다. 예컨대, 제어부(140)는 가상사설망 모듈(110)의 동작을 제어하여 분석 대상 패킷이 식별되도록 할 수 있고, 로컬 프록시 모듈(120)의 동작을 제어하여 도메인 정보가 추출되도록 할 수 있으며, 서비스 속성 판단 모듈(130)의 동작을 제어하여 서비스의 속성이 판단되도록 할 수 있다.
다양한 실시예에서, 제어부(140)는 사용자 단말(100)을 통해 실행되는 서비스의 속성에 기초하여, 가이드 정보를 제공할 수 있다. 예컨대, 제어부(140)는 사용자 단말(100)을 통해 실행되는 서비스의 종류와 서비스의 이용 상태에 기초하여, 가이드 정보를 포함하는 알림 메시지를 생성할 수 있고, 이를 출력부(180)를 통해 출력되도록 제어할 수 있다.
이러한 제어부(140)의 처리 동작은 사용자 단말(100)의 백그라운드 구동에 따라 처리될 수 있으며, 인터페이스 구동 정보는 포그라운드 구동에 따라 알림 메시지 출력 방식으로 처리될 수 있다. 나아가, 인터페이스 구동 정보는 음성 또는 문자 정보의 알림 메시지 방식으로 출력부(180)를 통해 출력될 수 있다.
여기서 포그라운드 방식은 제어부(140)의 제어에 의해 저장부(190)의 메모리상에서 애플리케이션이 실행되는 서비스 방식으로서, 실행 중인 애플리케이션의 구동이 출력부(180)의 디스플레이상의 화면 인터페이스를 통해 출력되는 방식을 의미할 수 있다. 포그라운드 실행이 종료된 경우에는 애플리케이션 서비스가 종료되며 화면 상에서도 종료 처리될 수 있다. 반면 백그라운드 방식의 경우 실행 중인 애플리케이션이라 하더라도 화면 상에 출력되지 않은 상태로 실행 및 종료 가능한 방식을 의미할 수 있으며, 사용자가 인지하지 못한 상태로 구동될 수 있다. 여기서, 저장부(190)는 본 발명의 실시 예에 따른 서비스 제공을 위해 필요한 데이터를 저장 및 관리할 수 있다.
다음으로, 통신부(150)는 외부 장치 간의 통신을 수행할 수 있다. 이를 위해, 통신부(150)는 하나 이상의 통신 모듈을 포함할 수 있다. 여기서, 통신부(150)는 근거리 통신망(LAN : Local Area Network) 및 인터넷망을 통해 무선 또는 유선방식으로 접속되는 형태, USB(Universal Serial Bus)포트를 통하여 접속되는 형태, 3G, 4G와 같은 이동 통신망을 통해 접속되는 형태, NFC(Near Field Communication, RFID(Radio Frequency Identification), Wi-Fi 등과 같은 근거리 무선 통신방식을 통해 접속되는 형태의 통신 모듈을 포함할 수 있으나, 이에 한정되지 않는다.
다음으로, 패킷 처리부(160)는 애플리케이션 구동부(170)의 애플리케이션 구동에 따라, 가상사설망 모듈(110)을 통해 서비스 제공 서버(200)와 송수신되는 패킷 데이터의 패킷 변환 및 송수신 처리를 수행할 수 있다. 패킷 처리부(160)에서 처리된 패킷 데이터는 가상사설망 모듈(110)을 거쳐 통신부(150)를 통해, 서비스 제공 서버(200)와 송수신 될 수 있다. 그러나, 이에 한정되지 않는다.
또한, 사전 설정된 조건에 대응하는 패킷은 가상사설망 모듈(110)에서 분석 대상 패킷으로 식별되어 로컬 프록시 모듈(120)로 전달될 수 있고, 로컬 프록시 모듈(120)에서 서비스 제공 서버(200) 및 서비스 속성 판단 모듈(130)로 전달 처리될 수 있다.
여기서, 상기 사전 설정된 조건은, 주소 정보, 시간 정보 등을 포함할 수 있다. 예컨대, 사용자 단말(100)을 통해 서비스가 실행됨에 따라 생성되는 복수의 패킷 중 패킷의 목적지 주소가 프라이빗 IP 주소이거나 로컬 호스트 주소인 패킷을 분석 대상 패킷에서 제외시킬 수 있다.
다음으로, 애플리케이션 구동부(170)는 사용자 입력에 따른 애플리케이션 구동을 수행할 수 있다.
여기서, 상기 애플리케이션은, 웹 애플리케이션, 배달 애플리케이션, 쇼핑 애플리케이션, 커머스 애플리케이션, 캐시백 애플리케이션, 결제 애플리케이션, 광고 애플리케이션, 마케팅 애플리케이션, 자녀보호 애플리케이션, 기업 관리 애플리케이션 및 일상공유 애플리케이션을 포함할 수 있으나, 이에 한정되지 않는다.
또한, 여기서, 사용자 단말(100)을 통해 실행되는 서비스가 사용자 단말(100) 내에 설치된 애플리케이션을 구동함에 따라 실행되는 서비스인 것으로 설명하고 있으나, 이에 한정되지 않고, 해당 서비스는 웹 사이트를 접속함에 따라 실행되는 서비스 등 다양한 방식으로 실행되는 서비스들을 더 포함할 수 있다.
또한, 애플리케이션 구동부(170)는, 사용자의 애플리케이션 처리 데이터를 수집하여 저장 및 관리할 수 있다. 예를 들어, 애플리케이션 구동부(170)는 사용자 위치 정보, 와이파이 접속 정보, 웹 접속 정보, 애플리케이션 실행 정보, 결제 기록 정보, VPN 접속 정보 등을 저장 및 관리할 수 있으며, 저장 정보의 적어도 일부는 서비스 속성 판단 모듈(130)로 전달될 수 있다.
다시, 도 1을 참조하면, 다양한 실시예에서, 사용자 단말(100)은 사용자가 이용 중인 것으로 판단되는 서비스(예: 쇼핑, 숙박, 웹, 커머스, 광고, 마케팅, 자녀 보호, 기업 관리, 일상공유 등)의 다양한 네트워크 구동 환경에 따라, 알림 정보가 실시간으로 출력되는 방식의 유저 인터페이스 구동 제어를 수행할 수 있다.
예컨대, 사용자 단말(100)은 사용자 단말(100)을 통해 이커머스 사이트(예: 쿠팡 사이트)에 접속한 것으로 판단되는 경우, 사용자가 이커머스 사이트를 이용함에 따라 이커머스 서버와 송수신되는 패킷 중 분석 대상 패킷을 식별하고, 분석 대상 패킷으로부터 추출된 도메인 정보를 분석함에 따라 이커머스 사이트의 이용 상태로서, 이커머스 사이트 내에서의 캐시백 서비스 실행 여부, 캐시백 서비스 이용 여부, 캐시백 서비스 액션 처리 여부 중 적어도 하나를 판단할 수 있으며, 판단 결과에 따라 캐시백과 관련된 가이드 정보를 포함하는 알림 메시지를 출력(예: 팝업)할 수 있다.
일례로, 사용자 단말(100)은 분석 대상 패킷으로부터 추출된 도메인 정보를 분석함에 따라 사용자 단말(100)에서 실행된 서비스의 이용 상태로서, 캐시백을 얻고자하는 행동이 인식되는 경우, 캐시백을 받을 수 있도록 가이드하는 정보를 포함하는 알림 메시지(예: "이 링크로 접속하면 3% 캐시백을 받을 수 있어요"와 같은 내용을 포함하는 알림 메시지)를 출력할 수 있다. 이러한 알림 메시지 내에는 캐시백 관련 링크 정보가 제휴 코드의 파라미터 형태로 삽입되어 있을 수 있다. 이러한 제휴 코드 삽입은 종래 기술에서는 외부 서버 확인을 통한 웹 브라우저 기능 동작 등으로 이루어지나, 본 발명의 실시 예에서는 사용자 단말(100)의 자체 프로세스만으로도 사용자의 서비스 이용 상태를 판별하고, 관련 서비스 정보를 신속하고 안전하게 제공할 수 있게 된다.
다른 예로, 사용자 단말(100)은 분석 대상 패킷으로부터 추출된 도메인 정보를 분석함에 따라, 사용자 단말(100)에서 실행된 서비스의 이용 상태로서, 특정 상품을 구매하고자 하는 의도가 인식되는 경우, 사용자가 상품을 실제로 구매할 수 있도록 유도하는 정보를 포함하는 알림 메시지(예: "이벤트를 하고 있어요"와 같은 내용을 포함하는 알림 메시지)를 출력할 수 있다.
또 다른 예로, 사용자 단말(100)은 분석 대상 패킷으로부터 추출된 도메인 정보를 분석함에 따라 사용자 단말(100)에서 실행된 서비스의 이용 상태로서, 특정 상품에 대한 결제를 수행하고자 하는 의도가 인식되는 경우, 결제 수단을 추천 및 가이드하는 정보를 포함하는 알림 메시지(예: "삼성카드로 결제하면 무이자할부"와 같은 내용을 포함하는 알림 메시지)를 출력할 수 있다.
특히, 서비스 이용 상태가 결제 전인 경우, 이러한 알림 메시지는, 결제수단을 갖고 있는 회사(예: 카드사 등)에게 아주 중요한 시그널로서 제공될 수 있다
다양한 실시예에서, 사용자 단말(100)을 통해 광고 서비스 또는 애널리틱스 서비스가 실행된 경우, 사용자 단말(100)은 광고와 연관된 특정 서비스 실행 여부, 특정 서비스 이용 여부, 특정 서비스 액션 처리 여부 중 적어도 하나를 판별하고, 판별 결과에 따른 광고 분석 정보를 분석 서버(미도시)로 전송할 수도 있다.
또한, 사용자 단말(100)을 통해 실시간 비지니스 방문 기반으로 타겟팅된 마케팅 서비스가 실행된 경우, 사용자 단말(100)은 비즈니스 방문 정보와 연관된 특정 서비스 실행 여부, 특정 서비스 이용 여부, 특정 서비스 액션 처리 여부 중 적어도 하나를 판별하고, 판별 결과에 따른 분석 정보를 분석 서버(미도시)로 전송할 수도 있다. 예를 들어, "오늘의집" 사용자들이 인스타그램에 들어갔을때 "오늘의 집에서 상품보세요" 같은 알림이 제공될 수 있다.
또한, 사용자 단말(100)을 통해 자녀 보호 기능 또는 기업 관리 기능을 갖는 서비스가 실행된 경우, 자녀 또는 직원이 들어가는 유해(harmful)한 웹사이트를 차단하거나, 어떤 사이트를 들어갔는지 추적하기 위하여 특정 서비스 실행 여부, 특정 서비스 이용 여부, 특정 서비스 액션 처리 여부 중 적어도 하나를 판별할 수 있다.
또한, 사용자 단말(100)은 사용자의 서비스 이용 상태 판별에 기초하여, 특정 사용자가 들어가는 웹사이트 또는 애플리케이션을 다이어리처럼 트래킹 및 공유할 수도 있다.
일 실시예에서, 서비스 제공 서버(200)는 사용자 단말(100)을 통해 애플리케이션이 구동되거나 웹 사이트에 접속함으로써 실행되는 서비스를 제공하는 서버일 수 있다. 여기서, 서비스는 쇼핑, 배달, 숙박, 광고, 마케팅, 자녀 보호, 기업 관리, 일상 공유 등의 다양한 정보를 제공하는 서비스를 포함할 수 있으나, 이에 한정되지 않는다.
다양한 실시예에서, 서비스 제공 서버(200)는 네트워크(400)를 통해 사용자 단말(100)과 연결될 수 있으며, 사용자 단말(100)을 통해 서비스가 실행됨에 따라 생성되는 데이터 패킷을 수신하여 처리하고, 데이터 패킷의 처리 결과를 사용자 단말(100)로 전송하는 하나 이상의 서버 장치로 구성될 수 있다.
여기서, 네트워크(400)는 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미할 수 있다. 예를 들어, 네트워크(400)는 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷(WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함할 수 있다.
무선 데이터 통신망은 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), 5GPP(5th Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), RF(Radio Frequency), 블루투스(Bluetooth) 네트워크, NFC(Near-Field Communication) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등을 포함할 수 있으나, 이에 한정되지는 않는다.
일 실시예에서, 외부 서버(300)는 네트워크(400)를 통해 사용자 단말(100)과 연결될 수 있으며, 사용자 단말(100)이 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법을 수행하기 위해 필요한 각종 정보 및 데이터를 제공할 수 있다. 예컨대, 외부 서버(300)는 사용자 단말(100)의 외부에 구비되며, 사용자 단말(100)로부터 분석 대상 패킷을 제공받고, 분석 대상 패킷으로부터 추출된 도메인 정보를 사용자 단말(100)로 제공하는 원격 가상사설망(Remote VPN) 서버일 수 있으나, 이에 한정되지 않는다. 이하, 도 3 내지 도 6을 참조하여, 사용자 단말(100)을 통해 수행되는, 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법에 대하여 설명하도록 한다.
도 3은 본 발명의 또 다른 실시예에 따른 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법의 순서도이다.
도 3을 참조하면, S110 단계에서, 사용자 단말(100)을 통해 서비스가 실행됨에 따라 생성되는 패킷 중 분석 대상 패킷이 식별된다. 예컨대, 사용자 단말(100) 내에 구비되는 가상사설망 모듈(110)을 통해 복수의 패킷 중 적어도 하나의 패킷을 분석 대상 패킷으로 선택할 수 있다.
여기서, 복수의 패킷은 사용자 단말(100)을 통해 특정 서비스가 실행됨에 따라 사용자 단말(100)로부터 특정 서비스를 제공하는 서비스 제공 서버(200)로 제공되는 패킷들일 수 있으나, 이에 한정되지 않는다.
다양한 실시예에서, 사용자 단말(100)은 가상사설망 모듈(110)을 통해 분석 대상 패킷을 선택하되, 특정 서비스에 대한 속성을 판단하고자 하는 경우, 복수의 패킷 중 특정 서비스와 관련된 패킷만을 분석 대상 패킷으로 선택할 수 있다.
다양한 실시예에서, 사용자 단말(100)은 가상사설망 모듈(110)을 통해 분석 대상 패킷을 식별하되, 패킷의 목적지 주소가 프라이빗 IP 주소이거나 로컬 호스트 주소인 패킷을 분석 대상 패킷에서 제외시킬 수 있다.
다양한 실시예에서, 사용자 단말(100)은 가상사설망 모듈(110)을 통해 분석 대상 패킷으로 식별된 패킷에 대해서는 로컬 프록시 모듈(120)(또는 원격 VPN 서버(300))로 전달할 수 있다.
이때, 사용자 단말(100)은 가상사설망 모듈(110)을 통해, 분석 대상 패킷으로 식별되지 않은 패킷 즉, 확인이 필요하지 않은 패킷들은 해당 패킷들의 원래 목적지 주소로 전달함으로써, 해당 서비스 제공 서버(200)로부터 제공되는 서비스들이 원활하게 구동되도록 할 수 있다.
S120 단계에서, S110 단계를 거쳐 식별된 분석 대상 패킷으로부터 도메인 정보가 추출된다. 예컨대, 분석 대상 패킷이 http 버전, http method 종류(예: POST, GET 등) 및 URL 정보를 포함하는 바, 사용자 단말(100)은 분석 대상 패킷으로부터 URL 정보를 획득할 수 있고, URL 정보를 파싱하여 서비스에 대응하는 도메인 정보를 추출할 수 있다.
여기서, 사용자 단말(100)은 도 4에 도시된 바와 같이, 가상사설망 모듈(110)을 통해 식별된 분석 대상 패킷을 사용자 단말(100) 내에 구비되는 로컬 프록시 모듈(120)로 전달함으로써, 로컬 프록시 모듈(120)을 통해 분석 대상 패킷으로부터 도메인 정보를 추출할 수 있으나, 이에 한정되지 않고, 도 5에 도시된 바와 같이 가상사설망 모듈(110)을 통해 식별된 분석 대상 패킷을 사용자 단말(100) 외부에 별도로 구비되는 원격 VPN 서버(300)로 전달함으로써, 원격 VPN 서버(300)를 통해 분석 대상 패킷으로부터 도메인 정보를 추출할 수 있다.
한편, 패킷들로부터 추출되는 도메인 정보를 이용하여 서비스의 이용 상태를 판단하기 위해서는 각 서비스를 이용할 때 호출되는 URL 정보가 필요한데, 각 서비스는 각 서비스가 구동되는 운영 체제의 종류(예: Android, iOS), 접속 방식(예: 자체 애플리케이션, 웹 브라우저 등) 및 각 서비스의 현재 이용 상태에 따라 호출되는 URL과 그 빈도수가 달라진다는 특성이 있다.
따라서, 사용자 단말(100)은 서로 다른 서비스 각각에 대한 이용 상태를 보다 정확하게 판단하기 위해, 서비스마다 도메인 정보를 개별적으로 추출 및 수집할 수 있다.
또한, 사용자 단말(100)은 각각의 서비스에 대해 이용상태를 정확히 구분하기 위하여, 서비스마다 도메인 정보와 서비스 이용 상태 정보가 매핑되는 매핑 테이블이 사전에 구축할 수 있고, 사전에 구축된 매핑 테이블에 대해서도 지속적으로 최적화를 수행할 수 있다.
S130 단계에서, S120 단계를 거쳐 추출된 도메인 정보에 기초하여, 사용자 단말(100)에서 실행된 서비스의 속성이 판단된다. 예컨대, 사용자 단말(100)은 서비스 속성 판단 모듈(130)을 통해 도메인 정보를 분석함으로써, 서비스의 종류와 서비스의 이용 상태를 판단할 수 있다.
다양한 실시예에서, 사용자 단말(100)은 매칭 알고리즘에 기초하여 사용자 단말(100)을 통해 실행되는 서비스의 속성을 판단할 수 있다.
일례로, 사용자 단말(100)은 서비스 속성 판단 모듈(130)을 통해, 사전에 저장된 서비스별 도메인 정보와 분석 대상 패킷으로부터 추출된 도메인 정보를 매칭함에 따라 도메인 정보에 대응하는 서비스의 종류를 판단할 수 있다.
여기서, 사전에 저장된 서비스별 도메인 정보는 서비스 종류에 대응하는 도메인 정보를 사전에 리스트업한 데이터 또는 도메인별로 제공 가능한 서비스의 종류에 대한 정보를 사전에 리스트업한 데이터를 의미하는 것으로서, 상술된 바와 같이 사전에 저장된 서비스별 도메인 정보와 분석 대상 패킷으로부터 추출된 도메인 정보를 매칭함으로써, 해당 도메인 정보에 대응하는 서비스의 종류 즉, 사용자 단말(100)을 통해 실행되고 있는 서비스의 종류를 특정할 수 있는 것이다.
다른 예로, 사용자 단말(100)은 복수의 패킷으로부터 추출된 복수의 도메인 정보와 사전에 저장된 서비스별 도메인 정보를 매칭한 결과에 기초하여, 서비스의 이용 상태를 판단할 수 있다.
보다 구체적으로, 먼저, 사용자 단말(100)은 사용자 단말(100)을 통해 서비스가 실행됨에 따라 생성된 복수의 패킷으로부터 추출된 복수의 도메인 정보와 사전에 저장된 서비스별 도메인 정보를 매칭하여 저장할 수 있다.
다양한 실시예에서, 사용자 단말(100)은 사용자 단말(100)을 통해 서비스가 실행됨에 따라 생성된 복수의 패킷으로부터 추출된 복수의 도메인 정보 중 가장 마지막으로 추출된 도메인 정보를 기준으로 기 설정된 개수의 도메인 정보(예컨대, 최대 N개의 도메인 정보)를 사전에 저장된 서비스별 도메인 정보를 매칭하여 저장하거나, 소정의 시간 내에 추출된 복수의 도메인 정보(예컨대, 최근 M 시간 동안 추출된 도메인 정보)를 사전에 저장된 서비스별 도메인 정보를 매칭하여 저장할 수 있다.
즉, 로컬 프록시 모듈(120)을 통해 제공되는 복수의 도메인 정보는 최대 개수와 만료 시간을 기준으로 저장 및 관리될 수 있다. 예컨대, 기 저장된 도메인 정보의 만료 시간이 초과되었거나, 기 저장된 도메인 정보의 개수가 기 설정된 개수를 초과한 경우, 불필요한 메모리 사용을 줄이기 위해 기 저장된 도메인 정보의 적어도 일부(예: 만료 시간이 경과된 도메인 정보 또는 저장된 기간이 가장 오래된 도메인 정보)를 삭제할 수 있다.
또한, 로컬 프록시 모듈(120)을 통해 제공되는 복수의 도메인 정보에는 도메인 정보 각각에 대응하는 서비스의 정보가 부재하기 때문에, 각각의 도메인 정보와 사전에 저장된 서비스별 도메인 정보를 취합하여 저장할 수 있다.
다양한 실시예에서, 사용자 단말(100)은 복수의 패킷 각각으로부터 추출된 복수의 도메인 정보 중 이용 상태를 판별하고자 하는 서비스들의 도메인 정보만을 사전에 저장된 서비스별 도메인 정보를 매칭하여 저장할 수 있다.
다양한 실시예에서, 사용자 단말(100)은 복수의 패킷 각각으로부터 추출된 복수의 도메인 정보 중 서비스 이용과 관련되지 않은 도메인 정보들의 패턴을 인식하여 필터링할 수 있다. 여기서, 서비스 이용과 관련되지 않은 도메인 정보들의 패턴은 서비스 이용과 관련되지 않은 복수의 도메인 정보들을 빅데이터 분석함에 따라 추출되는 공통의 특징 또는 사전에 정의된 패턴일 수 있으나, 이에 한정되지 않는다.
이후, 사용자 단말(100) 사전에 저장된 서비스별 도메인 정보와 매칭되어 저장된 복수의 도메인 정보를 분석함에 따라 서비스의 이용 상태를 판단할 수 있다.
여기서, 다시 도 6을 참조하면, 서비스의 이용 상태를 판단하기 위해서 사용되는 도메인 정보는 도메인, 호출 시간, 호출 횟수, 호출 빈도, 함께 호출되는 도메인의 종류, 플랫폼 정보를 포함하며, 사용자 단말(100)은 서비스 속성 판단 모듈(130)을 통해, 이러한 정보들 중 서비스에 따라 필요한 정보들을 선택적으로 사용할 수 있다. 단순히 하나의 정보만으로는 서비스의 상태를 판별하기 어려운 경우들이 많기 때문에 대부분은 여러가지 정보를 함께 취합해야 한다. 예를 들어 도메인만으로 판별을 한다고 하면 도메인을 호출하는 것은 background task에서도 가능하기 때문에 실제로 유저가 서비스를 사용하고 있지 않은 경우에도 도메인은 호출될 수 있다. 따라서, 각 서비스와 이용 상태, 플랫폼에 따라 사용되는 정보가 달라지기 때문에 인식하고 싶은 서비스와 이용상태마다 최적화가 필요할 수 있다.
예컨대, 서비스의 이용 상태를 판단하는 가장 기본적인 방법은 도메인과 호출 빈도를 사용하는 것으로서, 예를 들어, X라는 도메인이 Y초 이내에 Z번 이상 호출되면 어떤 서비스를 처음 실행한 것으로 판단할 수 있다.
또한, 도메인과 호출빈도만으로는 인식하기 어려운 경우, 다른 정보들이 함께 필요할 수 있다. 예를 들어, 어떤 서비스에서 특정 액션(action)을 인식하기 위해서는 A라는 도메인을 호출한 후, B라는 도메인을 호출할 때에만 특정 액션이 인식될 수 있다.
또한, 각 서비스들은 종류에 따라 하나의 도메인만으로도 인식이 가능한 경우도 있고 여러 개의 도메인을 활용해야만 인식이 가능할 수 있다. 그렇기 때문에 서비스에 따라 서비스를 인식하는 데에 필요한 도메인의 종류와 개수가 달라질 수 있다. 또한, 여러 개의 서비스가 같은 도메인을 호출하는 경우도 있기 때문에 그럴 때에는 다른 방법을 사용해서 구분해야 할 수 있다. 예를 들어, A라는 서비스는 X라는 도메인을 호출하고 B라는 서비스는 X,Y를 호출한다고 가정할 때 X라는 도메인이 Y와 함께 호출될 때에만 B라는 서비스를 인식하고 X만 호출할 때에는 A를 인식해야 할 것이다.
상술된 내용을 고려하여, 사용자 단말(100)은 서비스의 종류와 도메인 분석을 통해 판단하고자 하는 서비스의 이용 상태별로 필요한 정보의 속성(예: 정보의 종류, 개수 등)에 관한 데이터를 사전에 정의할 수 있으며, 서비스의 종류, 판단하고자 하는 이용 상태 및 사전에 정의된 데이터에 기초하여 도메인 정보에 포함된 복수의 정보 중 적어도 하나의 정보 즉, 이용 상태를 판단하기 위해 필요한 정보들을 선택하고, 이를 분석하여 서비스의 이용 상태를 서비스 실행 상태, 서비스 이용 상태 및 서비스에서 특정 동작을 수행한 상태 중 어느 하나로 판단할 수 있다.
또한, 같은 서비스라고 하더라도 OS 또는 접속 방법에 따라 기준이 달라질 수 있다. 예를 들어, X라는 서비스는 사용할 수 있는 방법이 android 애플리케이션, iOS 애플리케이션, 크롬으로 웹페이지를 접속하는 것, 이렇게 3가지 방법이 있다고 할 때 각각 다른 도메인을 호출할 수 있고 호출 빈도 또한 달라질 수 있다. 그렇기 때문에 모든 경우에서 서비스를 인식하기 위해서는 각각의 플랫폼에 따라 서로 다른 최적화가 필요할 수 있다.
이러한 점을 고러하여, 사용자 단말(100)은 사용자 단말(100)의 운영 체제(OS) 및 서비스의 접속 방법 중 적어도 하나를 고려하여 서비스에 대한 이용 상태 판단 기준을 설정하고, 이용 상태 판단 기준에 따라 도메인 정보를 분석함에 따라 서비스의 이용 상태를 판단할 수 있다.
다양한 실시예에서, 사용자 단말(100)은 서비스의 종류와 서비스의 현재 이용 상태에 따라 서비스의 이용 상태를 판단하는 기준이 상이한 바, 사용자 단말(100)은 서비스의 종류 및 서비스의 현재 이용 상태에 기초하여 서비스에 대한 이용 상태 판단 기준을 결정하고, 이용 상태 판단 기준에 따라 사전에 저장된 서비스별 도메인 정보와 매칭되어 저장된 복수의 도메인 정보를 분석함으로써, 서비스의 이용 상태를 판단할 수 있다.
다양한 실시예에서, 사용자 단말(100)은 머신러닝 기반의 학습 방법(예: CNN, RNN, DNN, LSTM 등 다양한 알려진 기계학습 알고리즘)에 따라 기 학습된 인공지능 모델을 통해 도메인 정보를 분석함에 따라 결과 데이터로서 도메인 정보 패턴을 추출하고, 도메인 정보 패턴에 기초하여 서비스의 이용 상태를 판단할 수 있다.
여기서, 도메인 정보 패턴은 사전 설정된 제1 시간 동안, 사전 설정된 제1 개수 이내로 수집되는 분석 대상 패킷들로부터 추출되는 도메인 정보들을 비교하여 추출되는 공통적인 특징을 의미할 수 있다.
전술한 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법은 도면에 도시된 순서도를 참조하여 설명하였다. 간단한 설명을 위해 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법은 일련의 블록들로 도시하여 설명하였으나, 본 발명은 상기 블록들의 순서에 한정되지 않고, 몇몇 블록들은 본 명세서에 도시되고 시술된 것과 상이한 순서로 수행되거나 또는 동시에 수행될 수 있다. 또한, 본 명세서 및 도면에 기재되지 않은 새로운 블록이 추가되거나, 일부 블록이 삭제 또는 변경된 상태로 수행될 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
100 : 사용자 단말
110 : 가상사설망 모듈 120 : 로컬 프록시 모듈
130 : 서비스 속성 판단 모듈
200 : 서비스 제공 서버
300 : 외부 서버(원격 VPN 모듈)
400 : 네트워크

Claims (12)

  1. 사용자 단말에 의해 수행되는 방법에 있어서,
    상기 사용자 단말을 통해 서비스가 실행됨에 따라 생성되는 패킷 중 분석 대상 패킷을 식별하는 단계; 및
    상기 식별된 분석 대상 패킷을 분석함에 따라 상기 서비스의 속성을 판단하는 단계를 포함하며,
    상기 서비스의 속성을 판단하는 단계는,
    상기 식별된 분석 대상 패킷으로부터 도메인 정보를 추출하는 단계; 및
    상기 추출된 도메인 정보를 이용하여, 상기 서비스의 속성으로서, 상기 서비스의 종류 및 상기 서비스의 이용 상태를 판단하는 단계를 포함하고,
    상기 도메인 정보를 추출하는 단계는,
    상기 사용자 단말 내에 구비되는 로컬 프록시(Local proxy) 모듈 또는 상기 사용자 단말 외부에 구비되는 원격 가상사설망(Remote VPN) 서버를 통해 상기 식별된 분석 대상 패킷으로부터 URL 정보를 획득하고, 상기 획득된 URL 정보를 파싱하여 상기 서비스에 대응하는 도메인 정보를 추출하는 단계를 포함하는,
    패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법.
  2. 제1항에 있어서,
    상기 분석 대상 패킷을 식별하는 단계는,
    상기 사용자 단말 내에 구비되는 가상사설망(VPN) 모듈을 통해, 상기 서비스가 실행됨에 따라 상기 사용자 단말로부터 상기 서비스를 제공하는 서비스 제공 서버로 제공되는 복수의 패킷 중 적어도 하나의 패킷을 분석 대상 패킷으로 선택하는 단계를 포함하는,
    패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법.
  3. 제1항에 있어서,
    상기 분석 대상 패킷을 식별하는 단계는,
    상기 사용자 단말을 통해 서비스가 실행됨에 따라 생성되는 복수의 패킷 중 패킷의 목적지 주소가 프라이빗 IP 주소이거나 로컬 호스트 주소인 패킷을 분석 대상 패킷에서 제외시키는 단계를 포함하는,
    패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법.
  4. 삭제
  5. 삭제
  6. 사용자 단말에 의해 수행되는 방법에 있어서,
    상기 사용자 단말을 통해 서비스가 실행됨에 따라 생성되는 패킷 중 분석 대상 패킷을 식별하는 단계; 및
    상기 식별된 분석 대상 패킷을 분석함에 따라 상기 서비스의 속성을 판단하는 단계를 포함하며,
    상기 서비스의 속성을 판단하는 단계는,
    상기 식별된 분석 대상 패킷으로부터 도메인 정보를 추출하는 단계; 및
    상기 추출된 도메인 정보를 이용하여, 상기 서비스의 속성으로서, 상기 서비스의 종류 및 상기 서비스의 이용 상태를 판단하는 단계를 포함하고,
    상기 서비스의 종류 및 상기 서비스의 이용 상태를 판단하는 단계는,
    사전에 저장된 서비스별 도메인 정보와 상기 추출된 도메인 정보를 매칭함에 따라 상기 추출된 도메인 정보에 대응하는 서비스 종류를 판단하는 단계를 포함하는,
    패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법.
  7. 사용자 단말에 의해 수행되는 방법에 있어서,
    상기 사용자 단말을 통해 서비스가 실행됨에 따라 생성되는 패킷 중 분석 대상 패킷을 식별하는 단계; 및
    상기 식별된 분석 대상 패킷을 분석함에 따라 상기 서비스의 속성을 판단하는 단계를 포함하며,
    상기 서비스의 속성을 판단하는 단계는,
    상기 식별된 분석 대상 패킷으로부터 도메인 정보를 추출하는 단계; 및
    상기 추출된 도메인 정보를 이용하여, 상기 서비스의 속성으로서, 상기 서비스의 종류 및 상기 서비스의 이용 상태를 판단하는 단계를 포함하고,
    상기 서비스의 종류 및 상기 서비스의 이용 상태를 판단하는 단계는,
    상기 사용자 단말을 통해 상기 서비스가 실행됨에 따라 생성된 복수의 패킷으로부터 추출된 복수의 도메인 정보와 사전에 저장된 서비스별 도메인 정보를 매칭하여 저장하는 단계; 및
    기 설정된 이용 상태 판단 기준 - 상기 기 설정된 이용 상태 판단 기준은 서비스의 종류 및 서비스의 현재 이용 상태에 기초하여 결정되는 것임 - 에 기초하여 상기 사전에 저장된 서비스별 도메인 정보와 매칭되어 저장된 복수의 도메인 정보를 분석함에 따라 상기 서비스의 이용 상태를 판단하는 단계를 포함하는,
    패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법.
  8. 사용자 단말에 의해 수행되는 방법에 있어서,
    상기 사용자 단말을 통해 서비스가 실행됨에 따라 생성되는 패킷 중 분석 대상 패킷을 식별하는 단계; 및
    상기 식별된 분석 대상 패킷을 분석함에 따라 상기 서비스의 속성을 판단하는 단계를 포함하며,
    상기 서비스의 속성을 판단하는 단계는,
    상기 식별된 분석 대상 패킷으로부터 도메인 정보를 추출하는 단계; 및
    상기 추출된 도메인 정보를 이용하여, 상기 서비스의 속성으로서, 상기 서비스의 종류 및 상기 서비스의 이용 상태를 판단하는 단계를 포함하고,
    상기 추출된 도메인 정보는,
    상기 도메인 정보는 도메인명 정보, 도메인 호출 횟수 정보, 도메인 호출 시간 정보, 도메인 호출 빈도 정보, 도메인 종류 정보 및 접속 플랫폼 정보를 포함하며,
    상기 서비스의 종류 및 상기 서비스의 이용 상태를 판단하는 단계는,
    상기 서비스의 종류와 판단하고자 하는 이용 상태에 기초하여, 상기 추출된 도메인 정보에 포함된 복수의 정보 - 상기 복수의 정보는, 도메인명, 도메인 호출 횟수, 도메인 호출 시간, 도메인 호출 빈도, 도메인 종류 및 접속 플랫폼 정보를 포함함 - 중 적어도 하나의 정보를 선택하는 단계; 및
    상기 선택된 적어도 하나의 정보를 이용하여 상기 서비스의 이용 상태를 서비스 실행 상태, 서비스 이용 상태 및 서비스에서 특정 동작을 수행한 상태 중 어느 하나로 판단하는 단계를 포함하는,
    패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법.
  9. 사용자 단말에 의해 수행되는 방법에 있어서,
    상기 사용자 단말을 통해 서비스가 실행됨에 따라 생성되는 패킷 중 분석 대상 패킷을 식별하는 단계; 및
    상기 식별된 분석 대상 패킷을 분석함에 따라 상기 서비스의 속성을 판단하는 단계를 포함하며,
    상기 서비스의 속성을 판단하는 단계는,
    상기 식별된 분석 대상 패킷으로부터 도메인 정보를 추출하는 단계; 및
    상기 추출된 도메인 정보를 이용하여, 상기 서비스의 속성으로서, 상기 서비스의 종류 및 상기 서비스의 이용 상태를 판단하는 단계를 포함하고,
    상기 서비스의 종류 및 상기 서비스의 이용 상태를 판단하는 단계는,
    상기 사용자 단말의 운영 체제(OS) 및 상기 서비스의 접속 방법 중 적어도 하나를 고려하여 상기 서비스에 대한 이용 상태 판단 기준을 설정하고, 상기 설정된 이용 상태 판단 기준에 따라 상기 추출된 도메인 정보를 분석함에 따라 상기 서비스의 이용 상태를 판단하는 단계를 포함하는,
    패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법.
  10. 사용자 단말에 의해 수행되는 방법에 있어서,
    상기 사용자 단말을 통해 서비스가 실행됨에 따라 생성되는 패킷 중 분석 대상 패킷을 식별하는 단계; 및
    상기 식별된 분석 대상 패킷을 분석함에 따라 상기 서비스의 속성을 판단하는 단계를 포함하며,
    상기 서비스의 속성을 판단하는 단계는,
    상기 식별된 분석 대상 패킷으로부터 도메인 정보를 추출하는 단계; 및
    상기 추출된 도메인 정보를 이용하여, 상기 서비스의 속성으로서, 상기 서비스의 종류 및 상기 서비스의 이용 상태를 판단하는 단계를 포함하고,
    상기 서비스의 종류 및 상기 서비스의 이용 상태를 판단하는 단계는,
    머신러닝 기반의 학습 방법에 따라 기 학습된 인공지능 모델을 통해 상기 추출된 도메인 정보를 분석함에 따라 결과 데이터로서 도메인 호출 패턴을 추출하고, 상기 추출된 도메인 호출 패턴에 기초하여 상기 서비스의 이용 상태를 판단하는 단계를 포함하는,
    패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단 방법.
  11. 서비스가 실행됨에 따라 생성되는 패킷 중 분석 대상 패킷을 식별하는 가상사설망(VPN) 모듈;
    상기 식별된 분석 대상 패킷으로부터 도메인 정보를 추출하는 로컬 프록시(local proxy) 모듈; 및
    상기 식별된 분석 대상 패킷을 분석함에 따라 상기 서비스의 속성을 판단하는 서비스 속성 판단 모듈;을 포함하는 사용자 단말에 있어서,
    상기 사용자 단말은,
    상기 가상사설망 모듈, 상기 로컬 프록시 모듈 및 상기 서비스 속성 판단 모듈을 이용하여 제1항, 제6항 내지 제10항 중 어느 하나의 항의 방법을 수행하는,
    패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법을 수행하는 사용자 단말.
  12. 사용자 단말과 결합되어,
    제1항, 제6항 내지 제10항 중 어느 하나의 항의 방법을 실행시키기 위하여 컴퓨팅 장치로 판독 가능한 기록매체에 저장된, 컴퓨터프로그램.
KR1020230045541A 2023-04-06 2023-04-06 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법과 이를 수행하는 사용자 단말 및 컴퓨터프로그램 KR102565724B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230045541A KR102565724B1 (ko) 2023-04-06 2023-04-06 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법과 이를 수행하는 사용자 단말 및 컴퓨터프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230045541A KR102565724B1 (ko) 2023-04-06 2023-04-06 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법과 이를 수행하는 사용자 단말 및 컴퓨터프로그램

Publications (1)

Publication Number Publication Date
KR102565724B1 true KR102565724B1 (ko) 2023-08-14

Family

ID=87565688

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230045541A KR102565724B1 (ko) 2023-04-06 2023-04-06 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법과 이를 수행하는 사용자 단말 및 컴퓨터프로그램

Country Status (1)

Country Link
KR (1) KR102565724B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011024223A (ja) * 1999-06-30 2011-02-03 Apptitude Acquisition Corp ネットワークにおけるトラフィックを監視する方法および装置
KR20140133917A (ko) * 2012-03-09 2014-11-20 알까뗄 루슨트 Dns 데이터를 이용하여 ip 흐름과 연관된 애플리케이션을 식별하기 위한 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011024223A (ja) * 1999-06-30 2011-02-03 Apptitude Acquisition Corp ネットワークにおけるトラフィックを監視する方法および装置
KR20140133917A (ko) * 2012-03-09 2014-11-20 알까뗄 루슨트 Dns 데이터를 이용하여 ip 흐름과 연관된 애플리케이션을 식별하기 위한 방법 및 장치

Similar Documents

Publication Publication Date Title
US11481199B2 (en) Dynamic code management
CN105530175B (zh) 一种消息处理方法、装置及系统
US8799365B2 (en) Broker-based management of mobile devices
CN103970825B (zh) 在信息提供系统中提供信息的方法及电子装置
US20130246504A1 (en) Method for subscribing to notification, apparatus and system
US20170024763A1 (en) Systems and Methods for MAC Address Tracking for a Mobile Device
US20140214671A1 (en) Server side mobile payment processing and authentication
CN110489626A (zh) 一种信息采集方法和装置
US20190327191A1 (en) Bot response generation with dynamically-changing website or native application
US11277486B2 (en) Access to data source via proxy
CN105051685A (zh) 用于使得网络资产能够访问本地应用的系统和方法
CN104168316A (zh) 一种网页访问控制方法、网关
CN104412565A (zh) 用于涉及承载无关协议的套接字管理的方法
US10757203B2 (en) Method to enrich the browser cookies' attributes by graph propagation
CN107534860A (zh) WiFi热点Portal认证方法和装置
CN105224870A (zh) 可疑病毒应用上传的方法和装置
CN110659006B (zh) 跨屏显示的方法、装置、电子设备及可读存储介质
KR102565724B1 (ko) 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법과 이를 수행하는 사용자 단말 및 컴퓨터프로그램
CN112104571B (zh) 一种业务分流方法、装置、计算机设备和计算机存储介质
KR20200026398A (ko) 정보 공유 서비스의 고도화 방법 및 이를 위한 장치
KR20120016334A (ko) 오프라인 실행을 위한 웹 페이지 사전 캐싱 시스템 및 방법
KR20240049886A (ko) 팔로우 구독 보상 서비스 제공 시스템
KR100784378B1 (ko) 무선인터넷을 통한 주소창이 자동 생성된 폰 페이지제공방법
CN114978695A (zh) 非法网站识别方法、装置、电子设备及存储介质
KR20190098332A (ko) 화상 통신 서비스 제공 장치

Legal Events

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