KR102399787B1 - 온라인 서비스의 거동 변화의 인식 기법 - Google Patents

온라인 서비스의 거동 변화의 인식 기법 Download PDF

Info

Publication number
KR102399787B1
KR102399787B1 KR1020177001118A KR20177001118A KR102399787B1 KR 102399787 B1 KR102399787 B1 KR 102399787B1 KR 1020177001118 A KR1020177001118 A KR 1020177001118A KR 20177001118 A KR20177001118 A KR 20177001118A KR 102399787 B1 KR102399787 B1 KR 102399787B1
Authority
KR
South Korea
Prior art keywords
data
behavior
operational
usage
change
Prior art date
Application number
KR1020177001118A
Other languages
English (en)
Other versions
KR20170035892A (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 KR1020227016133A priority Critical patent/KR102444615B1/ko
Publication of KR20170035892A publication Critical patent/KR20170035892A/ko
Application granted granted Critical
Publication of KR102399787B1 publication Critical patent/KR102399787B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

다양한 실시예에서는, 거동 변화 검출 혹은 '변동성(volatility)'의 개념에 기초해서 보안 이벤트를 분류하는 방식을 제공한다. 사전-정의된 패턴 방식 대신에 거동 변화 검출을 사용해서, 시스템의 거동을 관찰하고, 정상적인 운영 거동에서 벗어나는 변경을 검출한다. 동작시에, 구현의 확장성을 촉진하는 이벤트 분류 메커니즘으로서 머신 학습 기법이 사용된다. 머신 학습 기법은 지속적으로 반복 학습을 계속한다. 운영 확장성 문제는, 계산된 이벤트의 변동성을 분류기의 입력으로서 시계열적으로 이용함으로써 해결된다. 학습 처리(즉, 머신 학습 처리) 동안에, 시스템은 보안 사건(security incidents)의 영향을 받는 관련 특성을 식별한다. 동작시에, 시스템은 이들 특성을 실시간으로 평가해서, 사건이 발생할 확률을 제공한다.

Description

온라인 서비스의 거동 변화의 인식 기법{RECOGNITION OF BEHAVIOURAL CHANGES OF ONLINE SERVICES}
전형적으로, 다수의 다양한 서비스를 실행하는 컴퓨터를 다수 보유하고 있는 조직은, 보안 위협을 나타낼 수 있는 이상(anomalies)을 하드웨어 이벤트와 소프트웨어 이벤트 모두에 대해 감시한다. 지금까지, 운영(operational) 보안을 보장하는 과정은 일반적으로, 이벤트를 사전 정의된 패턴에 대해서 분석하는 규칙에 기초한 것이었다. 예컨대, 이 규칙은 각각의 컴퓨터의 로그에 대해 실행될 수 있다. 사전 정의된 패턴은 잠재적인 보안 위협을 나타낼 수 있는 것으로, 일단 식별되면 해결될 수 있는 것이다. 이러한 규칙-기반 방식은 적어도 2차원적으로 크기 조정하는 것이 불가능하며, 이 때문에 이 방식은 유연하게 구현되는 것이 용이하지 않다. 먼저, 규칙-기반 구현예와 관련해서, 사전에 규칙을 전문적인 지식에 기초해서 코딩할 필요가 있다. 즉, 규칙 개발자는 어느 것이 취약한지 예상해야 한다는 것이다. 그러나, 규칙 개발자가 모든 잠재적인 취약성을 인지하는 것은 불가능하고, 따라서, 이 방식에는 결함이 남아있다. 두번째로, 동작시에, 규칙 기반 방식에서는, 데이터 혹은 정보에서 불완전한 데이터나 부정확한 데이터를 갖고 있는 패턴을 찾아내기 위해 모든 이벤트를 전체 스캔해야 한다.
이와 같이, 이러한 시스템이 중요한 보안 이벤트를 인식할 수 없을 수도 있고 혹은 거짓 긍정(false positives)을 너무 많이 산출할 수도 있기 때문에, 불필요한 투자를 유발할 수 있어서, 양호한 결과나 만족스러운 결과를 얻기는 어렵다.
본 개요는 이하의 상세한 설명에서 설명되는 개념 중 일부를 선택해서 간략한 형태로 소개하고자 하는 것이다. 본 개요는 청구 대상의 핵심 특성이나 필수적인 특성을 나타내는 것은 아니다.
다양한 실시예에서는, 거동 변화 검출 혹은 '변동성(volatility)'의 개념에 기초해서 보안 이벤트를 분류하는 방식을 제공한다. 사전-정의된 패턴 방식 대신에 거동 변화 검출을 사용해서, 시스템의 거동을 관찰하고, 정상적인 운영 거동에서 벗어나는 변경을 검출한다. 동작시에, 구현의 확장성을 촉진하는 이벤트 분류 메커니즘으로서 머신 학습 기법이 사용된다. 머신 학습 기법은 지속적으로 반복 학습을 계속한다. 운영 확장성 문제는, 계산된 이벤트의 변동성을 분류기의 입력으로서 시계열적으로 이용함으로써 해결된다. 학습 처리(즉, 머신 학습 처리) 동안에, 시스템은 보안 사건(security incidents)의 영향을 받는 관련 특성을 식별한다. 동작시에, 시스템은 이들 특성을 실시간으로 평가해서, 사건이 발생할 확률을 제공한다.
상세한 설명에서는 첨부된 도면을 참조한다. 도면에서, 참조 번호의 가장 큰자리의 숫자는 그 참조 번호가 가장 먼저 나오는 도면을 가리킨다. 상세한 설명 및 도면의 여러 예에서 같은 참조 번호는 유사한 혹은 동일한 아이템을 가리킨다.
도 1은 일 이상의 실시예에 따른, 예시적인 운영 환경을 나타내는 도면,
도 2는 일 이상의 실시예에 따른, 예시적인 시스템을 나타내는 도면,
도 2a는 일 실시예에 따른, xml 데이터로서 메타-도메인 디스크립터를 모델링하는 것을 나타내는 도면,
도 2b는 일 실시예에 따른, xml 데이터로서 매트릭스 실행을 모델링하는 것을 나타내는 도면,
도 3은 일 이상의 실시예에 따른, 예시적인 인식기(recognizer)를 나타내는 도면,
도 3a는 지속적으로 특정한 정황에서 객체의 특성이 수집될 수 있는 방법의 측면을 나타내는 도면,
도 3b는, 도 3a로부터 세트 값을 클러스터링하는 예를 나타내는 도면,
도 3c는 일정 기간 동안 특정한 정황에서 객체의 특성이 수집될 수 있는 방법의 측면을 나타내는 도면,
도 3d는, 도 3c로부터 세트 값을 클러스터링하는 예를 나타내는 도면,
도 3e는, 일 이상의 실시예에 따른, 컴퓨터 편차를 나타내는 도면,
도 4는 반복적인 머신 학습 처리를 행하는 예시적인 시스템을 나타내는 도면,
도 5는 반복적인 머신 학습 처리를 행하는 예시적인 시스템을 나타내는 도면,
도 6은 일 이상의 실시예에 따른, 예시적인 스키마(schema)가 예시적인 시스템에 매핑되는 방법의 측면을 나타내는 도면,
도 7은 일 이상의 실시예에 따른, 예시적인 스키마가 예시적인 시스템에 매핑되는 방법의 측면을 나타내는 도면,
도 8은 일 이상의 실시예에 따른 방법의 단계를 나타내는 흐름도,
도 9는 일 이상의 실시예에 따른 방법의 단계를 나타내는 흐름도,
도 10은 일 이상의 실시예에 따른 예시적인 장치를 나타내고 있다.
(개요)
다양한 실시예에서는, 거동 변화 검출 혹은 '변동성'의 개념에 기초해서 보안 이벤트를 분류하는 방식을 제공한다. 보안 이벤트는 하나 이상의 온라인 서비스의 제공과 관련되어 있다. 사전-정의된 패턴 방식 대신에 거동 변화 검출을 사용해서 시스템의 거동을 관찰하고, 정상적인 운영 거동에서 벗어나는 변경을 검출한다. 동작시에, 구현의 확장성을 촉진하는 이벤트 분류 메커니즘으로서 머신 학습 기법이 사용된다. 머신 학습 기법은 지속적으로 반복 학습을 계속한다. 이는, 시스템이 변경될 때마다 새로운 규칙이 작성되어야 하는 규칙 기반 시스템을 개선시킨다. 머신 학습 기법을 이용함으로써 규칙 기반 시스템과 전형적으로 관련된 수동 처리는 불필요해진다. 운영 확장성 문제는, 계산된 이벤트의 변동성을 분류기의 입력으로서 시계열적으로 이용함으로써 해결된다. 학습 처리(즉, 머신 학습 처리) 동안에, 시스템은 보안 사건의 영향을 받는 관련 특성을 식별한다. 동작시에, 시스템은 이들 특성을 실시간으로 평가해서, 사건이 발생할 확률을 제공한다.
이하의 설명 중 '예시적인 환경'이라는 제목의 섹션에서는, 다양한 실시예가 사용될 수 있는 예시적인 환경에 대해 설명한다. 이어서, '예시적인 스키마'라는 제목의 섹션에서는 다양한 실시예와 관련해서 사용될 수 있는 예시적인 스키마에 대해 설명한다. 후속해서, '인식기 트레이닝'이라는 제목의 섹션에서는, 일 이상의 실시예에 따라, 배포를 위해 인식기가 처음에 트레이닝될 수 있는 실시예에 대해서 설명한다. 다음으로, '온라인 서비스에서의 거동 변화 분석-예'이라는 제목의 섹션에서는, 일 실시예에 따른 거동 변화 분석을 행하는데 사용될 수 있는 한 방식에 대해서 설명한다. 다음으로, '동작시에'이라는 제목의 섹션에서는, 일 이상의 실시예에 따른, 배포되는 인식기 및 반복적인 머신 학습 처리의 운영 측면에 대해서 설명한다. 이어서, '스키마에 대한 시스템의 연관'이라는 제목의 섹션에서는, 이하 설명되는 예시적인 스키마가 설명되는 시스템과 어떻게 연관되는지에 대한 도식적인 표현을 제공한다. 다음으로, '예시적인 방법'이라는 제목의 섹션에서는, 일 이상의 실시예에 따른 예시적인 방법에 대해서 설명한다. 마지막으로, '예시적인 장치'라는 제목의 섹션에서는, 일 이상의 실시예에 따른 예시적인 장치에 대해서 설명한다.
이하, 다양한 실시예가 실시될 수 있는 예시적인 환경에 대해서 검토한다.
(예시적인 환경)
도 1은 본 명세서에서 설명되는 기술을 실시할 수 있는 예시적인 구현예에서의 환경(100)을 나타내는 도면이다. 도시된 환경(100)은 서버(102, 103), 하나 이상의 클라이언트 장치(104), 그리고 서버와 클라이언트 장치를 통신 가능하게 연결하는 네트워크(106)를 포함한다.
클라이언트 장치(104)가 종래의 데스크톱 컴퓨터에 의해 구현되는 것처럼 도시되어 있지만, 클라이언트 장치(104)는 다른 다양한 장치에 의해 구현될 수 있다. 예컨대, 클라이언트 장치(104)는, 데스크톱 컴퓨터, 모바일 스테이션, 엔터테인먼트 기기, 디스플레이 장치에 통신 가능하게 연결된 셋톱 박스, 무선 전화, 게임 콘솔, 테블릿 컴퓨터, 넷북 등과 같이, 네트워크(106)를 통해서 통신할 수 있는 컴퓨터로서 수현될 수 있다. 따라서, 클라이언트 장치(104)의 범위는, 대용량 메모리(substantial memory) 및 프로세서 리소스를 구비한 풀 리소스 장치(예컨대, PC, 게임 콘솔)부터 제한 메모리 및/또는 프로세싱 리소스를 구비한 로우(low)-리소스 장치(예컨대, 종래의 셋톱 박스, 휴대형 게임 콘솔)까지가 될 수 있다. 나아가, 장치는 하나 이상의 장치를 나타낼 수 있으며, 예컨대, 서버(102)가 제공하는 기능은, 서버(103)로 도시되어 있는 것과 같은 서버 팜 내의 복수의 서버에 의해 구현될 수 있다.
네트워크(106)가 인터넷으로 도시되어 있지만, 이 네트워크는 더 다양한 구성을 상정할 수 있다. 예컨대, 네트워크(106)는 WAN, LAN, 무선 네트워크, 공공 전화망, 인트라넷 등을 포함할 수 있다. 또한, 네트워크(106)가 하나만 도시되어 있지만, 네트워크(106)는 다수의 네트워크를 포함해서 구성될 수 있다.
서버(102)는, 온라인으로 소비될 수 있는 임의의 적절한 타입의 서비스(108)를 제공할 수 있는, 임의의 적절한 타입의 서버로 구성될 수 있다. 적어도 일부 실시예에서, 서버는 이른바 '클라우드 컴퓨팅' 환경에서 동작하도록 구성될 수 있다. 클라우드 컴퓨팅이란, 컴퓨팅 성능의 공유되고 가상화된 풀(pool)에 대한 유비쿼터스 네트워크 액세스를 가능하게 하는 컴퓨팅 모델을 가리킨다. 이러한 컴퓨팅 성능으로서 예컨대, 네트워크, 저장, 프로세싱 및 신속하게 제공될 수 있는 메모리 성능을 들 수 있지만 이것으로 한정되는 것은 아니다. 클라우드 컴퓨팅에는, 다양한 클라우드 제공자 및 Iaas(several infrastructure-as-a-service)와 Paas(platform-as-a-service) 솔루션이 포함될 수 있다.
특히, 서버(102)는 예컨대, 특정 소프트웨어 애플리케이션(예컨대, 비지니스 관련 애플리케이션)을 전용으로 실행시키는 애플리케이션 서버, 분산형 네트워크 사이의 정보의 중앙 검색 포인트를 제공할 수 있는 카탈로그 서버, 통신 네트워크의 컴퓨팅 플랫폼을 제공하는 통신 서버, 집중적인 계산을 행하기 위한 계산 서버(예컨대, 과학 기술 계산), 다른 컴퓨터 프로그램이나 컴퓨터에 데이터 서비스를 제공하는 데이터베이스 서버, 클라이언트 장치에 팩스 서비스를 제공하는 팩스 서버, 파일에 대한 원격 액세스를 제공하는 파일 서버, 비디오 게임 클라이언트가 온라인 게임을 하기 위해서 접속하는 것을 가능하게 하는 게임 서버, 이메일 및 다른 통신 서비스의 전송 및 액세스를 취급하는 메일 서버, 네임 분석을 제공하는 네임 서버, 인쇄 서비스를 제공하는 인쇄 서버, 다른 서버의 리소스를 탐지하는(seeking) 클라이언트로부터의 요청의 중개자의 역할을 하는 프록시 서버, 멀티미디어 브로드캐스팅 혹은 스트리밍을 제공하는 사운드 서버, HTTP 클라이언트가 커맨드를 송신하고 데이터 컨텐츠와 함께 응답하는 것을 가능하게 하는 웹 서버 등으로서 구성될 수 있지만, 이것으로 한정되는 것은 아니다. 이와 같이, 서버(102, 103)가 제공하는 다수의 여러 서비스는 매우 다양할 수 있다.
개개의 서버는, 머신 학습 기술을 이용해서 거동 변화 검출 혹은 '변동성'의 개념에 기초해서 보안 이벤트를 분류하는, 이른바 인식기를 포함할 수 있는 시스템을 포함한다. 사전-정의된 패턴 방식 대신에 거동 변화 검출을 사용해서 시스템의 거동을 관찰하고, 정상적인 운영 거동에서 벗어나는 변경을 검출한다. 동작시에, 이벤트 분류 메커니즘으로서 머신 학습 기법이 사용된다. 머신 학습 기법은 지속적으로 반복 학습을 계속한다. 이는, 시스템이 변경될 때마다 새로운 규칙이 작성되어야 하는 규칙 기반 시스템을 개선시킨다. 머신 학습 기법을 이용함으로써 규칙 기반 시스템과 전형적으로 관련된 수동 처리가 불필요해져서, 자동 업데이트 가능한 계속 학습 해법에 바람직하다.
클라이언트 장치(104)의 사용자는 클라이언트 장치(104)에서 네트워크(106)와 인터렉트하는 기능을 나타내는 통신 모듈(110)과 인터렉트할 수 있고, 따라서 서버(102, 103)가 제공하는 다양한 온라인 서비스와 인터렉트할 수 있다.
상술한 그리고 이하 설명하는 다양한 실시예는 명령어를 포함하고 있는 컴퓨터-판독 가능 저장 매체를 이용해서 구현될 수 있으며, 이 명령어는 프로세싱 유닛으로 하여금, 개시된 방법의 하나 이상의 측면 및 개시된 방법의 하나 이상의 측면을 구현하도록 구성된 시스템을 구현하게 한다. '컴퓨터-판독 가능 저장 매체'는 법에서 인정되는 모든 형태의 매체를 의미한다. 따라서, 반송파 및 신호 자체와 같은 법에서 인정되지 않는 형태의 매체는 용어 '컴퓨터-판독 가능 저장 매체'에 커버되지 않는다.
일반적으로, 본 명세서에 개시되는 임의의 기능은 소프트웨어, 펌웨어, 하드웨어(예컨대, 고정 로직 회로), 매뉴얼 프로세싱, 혹은 이들 구현예의 조합을 이용해서 구현될 수 있다. 본 명세서에서 사용되는 용어 '모듈', '기능' 및 '로직은 일반적으로 소프트웨어, 펌웨어, 하드웨어 혹은 이들의 조합을 가리킨다. 소프트웨어 구현예의 경우에, 모듈, 기능 혹은 로직은, 프로세서(예컨대, CPU)에서 실행될 때 특정 태스크를 수행하는 프로그램 코드를 나타낸다. 프로그램 코드는 하나 이상의 컴퓨터 판독 가능 저장 매체에 저장될 수 있다. 변동성-기반 분류기의 특징은 플랫폼-비의존형으로, 이는, 상기 기법이 다양한 프로세서를 구비하고 있는 다양한 상업용 컴퓨팅 플랫폼에서 구현될 수 있다는 것을 의미한다.
이상 다양한 실시예가 사용될 수 있는 예시적인 환경을 검토했으며, 이하에서는 예비적으로, 후술하는 모듈 사이의 데이터 흐름을 규정하는 예시적인 스키마를 검토한다. 그러나, 이하 설명되는 스키마는, 스키마의 일례를 구성하는 청구 대상의 적용을 제한하는 것은 아니라는 것을 이해할 것이다. 본 명세서의 마지막 부분에서, 도 6 및 도 7은 이 스키마를 이하에서 설명되는 시스템에 도식적으로 연관시키고 있다.
(예시적인 스키마)
이하 설명되는 스키마는 변동성-기반 분류기용의 일련의 처리 모듈을 통한 데이터의 흐름에 대해 설명한다. 이 스키마를 먼저 설명하고, 다양한 처리 모듈 및 스키마에 의해 설명되는 데이터가 처리 모듈을 지나서 흘러가는 방법에 대한 설명이 이어진다.
"UsageData"는 사용자가, 예컨대, Bing.com에서의 검색 질의와 같은 특정 웹 사이트에 대한 온라인 서비스 요청와 같은, 특정 서비스와 인터렉트하는 방법을 설명하는 사용 데이터의 오픈 스키마이다.
"UsageDataDescription"는 UsageData에 관한 메타데이터의 스키마이다. 메타데이터는 UsageData를 일부 특정한 방식으로 설명한다.
"OperationalData"는 서비스를 호스팅하는 데이터 센터의 운영 데이터(operational data)의 오픈 스키마이다. OperationalData는 통합(aggregated) CPU 사용, 네트워크 트래픽, 메모리 사용량 등을 포함할 수 있지만, 이것으로 한정되는 것은 아니다.
"OperationalDataDescription"는 운영 데이터에 관한 메타데이터의 스키마이다. 이 메타데이터는 OperationalData를 일부 특정한 방식으로 설명한다.
"UsageVolatility"는 사용 데이터의 변동성을 나타내는 시계열(time series)의 오픈 스키마이다. 이는 예컨대, 수치 특성(요청의 수와 같은)의 도함수(derivative)일 수도 있고, 혹은 예컨대, 최종 기간에 웹 페이지 내에 렌더링 차이가 있다는 것을 캡쳐하는 스트링과 같은, 변화의 종류를 캡쳐하는 오픈 스트링일 수도 있다.
"OperationalVolatility"은 운영 데이터의 변동성을 나타내는 시계열의 오픈 스키마이다. 사용 변동성과 마찬가지로, 운영 데이터의 변동성도 예컨대, 수치 특성(요청의 수와 같은)의 도함수일 수도 있고, 혹은, 예컨대, 카테고리 데이터, 2진 데이터 혹은 데이터가 캡쳐되지 않는 경우의 널(null)과 같은, 목표 기간 동안의 변동성을 개략적으로 나타낼 수 있는 임의의 타입의 데이터일 수도 있다.
"FeatureStream"은 사용 변동성과 운영 변동성 모두의 통일되고 상관된 통합을, 사전 결정된 기간(일(days), 시간, 분, 초, 밀리초 등)으로 한정된 시계열로 캡쳐하는 오픈 스키마이다.
"RecognizedEvents"은 생성되어서 인식된 이벤트에 대해 사용되는 오픈 스키마이다. 이들 이벤트는 사용 변동성과 운영 변동성이 주석이 달려있는 트레이닝 데이터에 기초해서 히스토리 데이터로부터 벗어나는 시점이다.
"RecognitionScoring"는 이른바 "실측 자료(ground truth)"에 대한, 인식된 이벤트의 스코어링 처리의 출력에 대해 사용되는 오픈 스키마이다.
이상으로 일 이상의 실시예에 따른 예시적인 스키마를 검토했으며, 이하에서는, 다양한 이벤트에 대한 이른바 '인식기'를 트레이닝하는 툴 및 프로세스를 검토한다.
(인식기의 트레이닝)
이 섹션에서는 이른바 '인식기'가 처음에 머신 학습 기법을 통해서 어떻게 트레이닝될 수 있는지 나타낸다.
설명되는 실시예에서, 인식기를 트레이닝하는데 사용되는 툴 및 프로세스는 예컨대 이하를 포함하지만, 이것으로 한정되는 것은 아니다.
(1) 인위적 공격(synthetic attack)을 생성하는 서비스,
(2) 사용 데이터와 운영 데이터를 모두 캡쳐하는 데이터 스트림,
(3) 사용 데이터 변동성 및 운영 데이터 변동성을 계산하는 프로세서 모듈,
(4) 사용 변동성 및 운영 변동성으로부터 시계열 스트림의 상관성을 계산하는 상관성 모듈
(5) 데이터 클러스터링, 분류 및 회귀(regression)를 위한 머신 학습 트레이닝 프레임워크,
(6) 머신 학습 런타임 환경.
예컨대, 일 이상의 실시예에 따른 예시적인 시스템을 나타내고 있는 도 2를 참조하며, 이 시스템은 전체적으로 200으로 표시되어 있다. 시스템(200)은 일 이상의 온라인 서비스(202)를 포함하고, 그 예는 앞에서 설명했다. 또한, 시스템(200)은 사용자 트래픽 모듈(204), 인위적 공격 생성기(206), 사용 데이터(208), 운영 데이터(210), 인식기(212) 및 이른바 인식된 불량(bad) 트래픽(214)을 포함한다. 인식된 악성 트래픽은, 사용 변동성 및 운영 변동성이 후술하는 트레이닝 데이터에 기초해서 히스토리 데이터로부터 벗어나는 시점에 인식되는 이벤트가 된다.
사용자 트래픽 모듈(204)은, 특정 온라인 서비스(202)에 대한 사용자 트래픽과 관련된 기능을 나타낸다. 상세하게, 사용자 트래픽은 이른바 '양호(good)' 트래픽이 될 수 있고, 이것이 전형적인 정상 사용자 인터렉션이다. 이들 정상 사용자 액션은 전형적으로, 사용자가 온라인 서비스를 정상적으로 소비하거나 혹은 온라인 서비스와 인터렉트하는 방법과 관련된 것이다. 사용자 트래픽은 이른바 '불량' 사용자 트래픽이 될 수도 있다. 불량 사용자 트래픽은 정상이 아닌 트래픽으로, 공격형 트래픽, 악의적인 트래픽, 및 다른 의심스러운 인터렉션을 포함한다.
인위적 공격 생성기(206)는 온라인 서비스에 인위적 공격을 생성하는데 사용된다. 인위적 공격은 임의의 적절한 형태를 취할 수 있으며, 적어도 일부 실시예에서, 제공되는 온라인 서비스의 타입에 따라서 달라질 수 있다. 인위적 공격 생성기(206)는 예컨대 특수한 공격 스트링, 다양한 URL의 주입(inject) 공격 코드 및 온라인 서비스와 관련된 다양한 로그에서 발견되는 파라미터를 생성하는데 사용될 수 있다. 종종, 이들 공지된 공격은 온라인 서비스(202) 상에 하루에 수백번의 요청을 생성할 수 있다.
사용자 트래픽 모듈(204) 및 인위적 공격 생성기(206)로부터 입력이 벗어나는 것에 응답해서, 온라인 서비스(202)는 사용자 데이터(208)와 운영 데이터(210)의 2종류의 데이터를 산출한다.
사용자 데이터(208)는 온라인 서비스와의 사용자 인터렉션과 관련된 적절한 타입의 데이터를 포함할 수 있다. 따라서, 예컨대 로그는, 사용자가 특정 시점에 웹 페이지로 네비게이트했고, 특정 종류의 휴대 전화에 관해 질의했으며, 그 질의에 대한 결과를 받았고, 다른 웹페이지로 네비게이트했다는 것을 나타낼 수 있다.
운영 데이터(210)는 시스템의 하드웨어와 소프트웨어 운영의 측면을 나타낸다. 이는 예컨대 통합된 CPU 사용, 네트워크 트래픽, 메모리 사용량 등을 포함할 수 있지만 이것으로 한정되는 것은 아니다. 따라서, 예컨대, 운영 데이터는 일정 기간 동안 특정 머신이, 자신의 메모리의 제 1 비율을 비우는(free) 것에서 자신의 메모리의 제 2 비율을 비우는 것으로 바꾸었다는 것을 나타낼 수 있다.
이들 2개의 데이터, 즉 사용 데이터 및 운영 데이터는 상호 연관되어 있고, 이하 상세하게 설명하는 방식으로 시퀀스된다. 상세하게, 사용 데이터 및 운영 데이터는 후술하는 바와 같이, 인식기(212)에 입력되어서 처리된다. 인식기(212)는 상세하게 후술하는 바와 같이 머신 학습 기법을 사용해서, 인식된 불량 트래픽(214) 즉, 히스토리 거동으로부터 벗어나는 것으로서 인식된 이벤트를 산출한다.
도 3은 일 이상의 실시예에 따른 예시적인 인식기(212)를 나타내고 있다. 이 예에서, 인식기가 배포되거나 운영되는 것으로 나타나 있다. 특정 예에서, 인식기(212)는 사용 데이터 변동성 프로세서(300), 운영 데이터 변동성 프로세서(302), 시계열 스트림 상관기(304) 및 트레이닝된 모델 이벤트 인식기(306)를 포함한다.
상술한 사용 데이터는 사용 데이터 변동성 프로세서(300)에 의해 수신되어서 처리된다. 유사하게 운영 데이터는 운영 데이터 변동성 프로세서(302)에 의해 수신되어서 처리된다. 프로세서(300, 302) 각각은 이들 각각의 데이터를 처리해서, 데이터와 관련된 거동을 분석한다. 즉, 이들 프로세서 각각은 수신한 데이터에 대해서 거동 변화 분석을 수행한다. 적절한 타입의 거동 변화 분석이 행해질 수 있다. 따라서, 예컨대, 사용자 데이터 변동성 프로세서는 사용자가 어제 온라인 서비스를 사용해서 몬트리올 여행 티켓을 검색했다는 것을 주목할 수 있다. 이 검색을 통해서, 사용자가 소비했던 웹페이지를 산출한다. 그러나, 오늘 다른 사용자가 유사한 검색을 행하면, 시스템은 상이한 검색 결과를 생성하는 것으로 매우 상이하게 거동했다. 유사하게 이 시간 동안, 운영 데이터 변동성 프로세서(302)는 어제의 운영 데이터가 오늘의 유사한 검색에 비해서, 자신의 메모리 사용량에서 크게 변경되었다는 점을 주목할 수 있다.
프로세서(300, 302)가 행하는 처리에 기초해서, 관찰되는 거동 변화의 편차와 연관된 수 혹은 값을 이용해서, 관찰되는 거동 변화는 정량화된다(quantified). 일 이상의 실시예에 따라서 임의의 적절한 정량화 스키마가 사용될 수 있다. 적어도 일부 실시예에서, 거동 변화는 0과 1 사이의 값을 이용해서 정량화된다. 이러한 방식으로 거동 변화를 정량화함으로써, 거동 변화를 지속적으로 분류할 수 있다. 이러한 처리를 통해서, 사용자 변동성 데이터 및 운영 변동성 데이터의 시계열이 산출된다. 이것이 행해질 수 있는 방법의 일례가 이하의 '온라인 서비스에서의 거동 변화 분석-예'이라는 제목의 섹션에서 제공된다.
정량화된 거동 변화 데이터는 처리를 위해서 시계열 스트림 상관기(304)에 제공된다. 이 상관기는 사용 데이터 변동성 프로세서(300)로부터 수신한 데이터를 분석해서, 운영 데이터 변동성 프로세서(302)로부터 수신한 임의의 데이터가 대응하는 시간에 거동 변화를 나타내는지 여부를 찾아낸다. 따라서, 예컨대, 특정 시점에 사용 거동 편차가 발생했다면, 시계열 스트림 상관기(304)는 운영 데이터 변동성 프로세서(302)로부터 수신한 시점부터 데이터를 검사해서, 운영이 정상이었는지 아니면 유의미한 정도로 변경되었는지, 예컨대, CPU 사용량이 50%에서 100%로 증가했는지 확인한다. 따라서, 사용 데이터와 운영 데이터와의 상관성은, 특정한 거동 편차가 상당히 정상을 벗어난 여부까지도 이를 식별하는데 도움을 준다. 이러한 처리를 통해서, 사용 변동성과 운영 변동성 모두의 통일되고 상관된 통합을 캡쳐하는 특성 스트림이 산출된다.
이 특성 스트림은 트레이닝된 모델 이벤트 인식기(306)에 제공된다. 인식기(306)는 수신한 특성 스트림으로부터, 정상 운영과 비정상 운영을 인식해낸다. 그리고, 예컨대, 주어진 시간에, 운영 데이터는 머신이 턴오프되는 것과 관련된 거동 변화를 나타낼 수 있다. 상관된 시계열 스트림이 검사될 때, 트레이닝된 모델 이벤트 인식기(306)는 그 시간과 관련된 사용 데이터가 정상인지에 주목할 수 있다. 따라서, 이 시간과 같이, 시스템은 정상적으로 운영되고 있었다. 그러나, 시계열 스트림은 정상 운영 범위를 벗어난 사용 데이터와 함께 운영 데이터 변경을 나타낼 수 있다. 이러한 인스턴스에서, 불량 트래픽으로서, 즉, 사용 변동성과 운영 변동성이 히스토리 데이터로부터 벗어나는 것이 인식되는 이벤트로서, 인식되고, 시스템은 통지를 생성해서 추가 조사가 수행되게 할 수 있다.
(온라인 서비스에서의 거동 변화 분석-예)
일 이상의 실시예에서, 온라인 서비스에 대한 거동의 편차를 계산하기 위해서, 메타-도메인 디스크립터 및 매트릭스 실행의 두가지 개념이 사용되며, 이들 각각에 대해서 이하에 설명한다. 청구 대상의 사상 및 범주를 벗어남없이 다른 방식이 사용될 수 있다.
(메타-도메인 디스크립터)
메타-도메인 디스크립터(MDD)는 현재 정황과 관련된 요소를 나타낸다. 예컨대, 이 개념을 간단한 HTML 엔드 포인트인 'http://www.bing.com'에 적용하는 것으로 가정한다. 이 예는 알고리즘 검색 결과(예컨대, 블루 링크)를 추출하는 것에서 찾을 수 있다. 이러한 인스턴스에서, 질의, 시장, 언어, 혹은 알고리즘 결과가 드러나는 정황에 영향을 미칠 수 있는 다른 파라미터와 같은 환경 요소를 고려한다. 메타-도메인 디스크립터는 다른 정황에서는 객체의 집합으로 설명된다.
도시되고 설명되는 실시예에서, MDD 객체는 특성의 집합 및 추출기를 갖고 있다. 특성은 액션의 집합이다. 알고리즘 결과의 액션 예로는, 인스턴스의 수, 인스턴스의 순서(예컨대, 특정 정황이 표시되는 순서), 페이지 위치 등을 들 수 있다.
추출기를 E라고 하고, 특성을 F라고 하며, 액션을 A라고 하면, 객체는 다음과 같이 표현될 수 있다.
Figure 112017004355896-pct00001
메타-도메인 디스크립터는 MDD={O(i) 여기서 i=1..n:O(i) 정황에 관계없이}로 표현될 수 있다.
메타-도메인 디스크립터를 xml 데이터로 모델링하는 것이 도 2a에 나타나 있다(Bing 알고리즘 결과를 나타내는 예를 이용해서).
결론적으로, 메타-도메인 디스크립터는, 편차에 대해서, 도메인 거동의 어떤 부분을 시험해서 분석하고자 하는지 나타내는데 사용될 수 있다.
(매트릭스 실행)
매트릭스 실행은 객체 정황 생성기를 나타낸다. 매트릭스 실행에서는 MDD가 여러 종류의 정황을 거치게 한다. 알고리즘 결과를 사용하는 간단한 예로서, 특정 질의, 시장, 언어에 대해서 렌더링하는 것을 들 수 있다.
정황을 C라고 하면, C={0(i) 여기서 i=1..n: O(i) 정황에 따라서}로 표현된다. 따라서, 매트릭스 실행은 MTX={C(i), 여기서 i=1..n}로 표현될 수 있다. 이어서 MDD는 C의 서브세트이다. MTX는 MDD를 소비하는 메카니즘으로 간주될 수 있다.
매트릭스 실행을 xml 데이터로 모델링하는 것이 도 2b에 나타나 있다(Bing 정황을 생성하는 예를 이용해서).
(거동 수집 초기 구간)
거동 수집 초기 기간에 대해서 설명한다. 상세하게, MTX 및 MDD가 성립되었으며, 이에, 거동이 무엇이고 어떻게 수집되는지가 설명될 수 있다. MTX에 의해 트리거되는 특정한 정황에서 MDD를 찾는다. 특정한 정황에서의 MDD를 MDD(MTX)={0(i,C(j)), 여기서 i=1..n, j=1..m}로 표현할 수 있으며, 여기서 0(i,C(j))={(F(i,C(j)) 여기서 i=1..n, j=1..m}로 치환하면, MDD(MTX)={F(i,C(j)), 여기서 i=1..n, j=1..m}이 얻어진다.
한정된 기간을 T={t(l),...t(k)}로 정의하면, 이 기간 동안 특정한 정황 하나에 대해서 하나의 특성을 수집하고, 이는 F(1,C(1),T)={A(i,C(1),t(j)), 여기서 i=1..n, j=1..k}가 얻어질 것이다.
값(일정 기간 동안 특정 정황에 있는 특성에 대한)의 세트를 얻은 이후에 다음 스텝에서는, 머신 학습 계층 클러스터링 알고리즘(예컨대, 통합 방식(agglomerative approach))을 이용해서 이들을 클러스터링한다.
도 3a를 참조하면, Set1, Set2 및 Set3를 클러스터링한다. 최종적으로, 일정 기간 동안 특정한 정황에서의 객체의 특성에 대한 거동은 클러스터들의 클러스터라고 할 수 있다. 클러스터를 CL={Set(i), 여기서 i=1..n}라고 하고, 클러스터들의 클러스터는 CLCL={CL(i), 여기서 i=1..n}라고 한다.
도 3a를 참조하면, CL1={Set1,Set2}이고 CL2={Set3}라고 하면, CLCL1={CL1,CL2}이다. 예컨대, 도 3a로부터의 값의 세트를 클러스터링하는 예를 나타내는 도 3b를 참조한다.
결론적으로, 거동은 클러스터들의 클러스터로, 일정 기간 동안 특정 정황에서 객체의 특성에 대해 수집된 데이터를 사용해서 계층형 클러스터링 알고리즘(예컨대, 통합 방식)을 이용해 계산된다. 이는 다음과 같이 표현될 수 있다. 거동을 B={CLCL(T)}라고 하고, CLCL은 클러스터들의 클러스터이고, T는 기간이다.
(거동 수집 연습 구간)
일 이상의 실시예에 따른 거동 수집 연습 기간을 설명한다. 이 구간에는 초기 구간과 같은 방식으로(상술한 바와 같이) 실제로 수집 및 계산이 행해진다. 한가지 다른 점은 기간(T)이다. 초기 거동 구간에 T={t(i), 여기서 i=1..n}를 선택했다면, T'={t(j), 여기서 j=n+m,..k이고 m>=1이며, k>m+n}가 얻어진다. 환언하면, 두 구간 사이의 중첩은 없다. 따라서, 연습 구간의 특성은, T가 초기 구간과 중첩되지 않을 것이라는 점뿐이다. 이는 도 3c에 나타나 있다.
연습 구간의 거동이 도 3d에 도시되어 있다. 다른 기간 동안에 세트가 수집되면 클러스터들의 클러스터는 다르게 보일 것이다.
초기 거동 기간과 연습 거동 기간의 T 및 T'는 같다는 점에 주의한다. 각 거동 구간에 대해서 대칭형의 분포 데이터를 얻고자 한다. T 동안 정확하게 균일하게 스프레딩되면, j=i+1이고 k=j+1인 경우에, t(j)-t(i)=t(k)-t(j)이고, 여기서 i,j,k는 1..n이다.
(거동 편차의 계산)
일 실시예에 따른 거동 편차의 계산에 대해 설명한다. 즉, 상술한 거동의 2 구간 동안, 거동 편차를 계산할 수 있다. 동일한 거동의 2 구간 사이의 편차를 계산하기 위해서, 클러스터들 중 2개의 클러스터 사이의 대칭적인 차이를 계산한다. 대칭적인 차이는 다음과 같다.
Figure 112017004355896-pct00002
이는, 동일 거동의 2개의 구간 사이의 실제 편차이다. 이는 도 3e에 나타나 있다.
B(T)ΔB(T')는 0 이상이고 1 이하이다.
편차가 제로라는 것은 거동에 변화가 없다는 것을 의미하고, 결과적으로 값이 1이라는 것은 거동이 완전히 변경되었다는 것을 의미한다. 이 편차가 무엇을 의미하는지, 문제가 되는지 아닌지, 그리고 문제인 경우 어떤 종류의 문제(예컨대, 보안, 규칙적인 회귀, 프라이버시)인지 판단할 수 있다.
거동 편차를 수집하고, 이들을 분류하고, 시스템이 이를 기억하게 함으로써, 보안 문제, 규칙적인 회귀 문제, 프라이버시 문제를 포함한 문제를 발견할 수 있다. 테스팅 범위가 크게 개선되며, 이는 시간이 경과함에 따라서 사람에 대한 의존이 상당히 감소될 것이고, 알지 못했던 문제를 학습하고 식별해 낼 것이다.
지금까지 인식기를 트레이닝해서 사용을 위해 배포하는 방법 및 거동 변화 분석을 수행하는 방법에 대해 설명했으며, 이하에서는, 머신 학습 기법을 사용해서 트레이닝을 계속하는 것을 포함한, 다양한 처리 모듈을 접속시키고 운영 평가를 수행하는 예시적인 처리 전체를 설명한다.
(동작시에)
이하에서는, 보안 이벤트가 인식기에 의해 인식될 수 있고, 머신 학습 기법을 사용해서 인식기가 보안 이벤트를 인식하는 방법을 자동으로 계속해서 학습할 수 있는, 반복 처리에 대해서 설명한다.
이하의 설명에서는 도 4 및 5를 함께 사용한다. 도 4는 인식기의 초기 배포의 관점에서의 반복 처리를 나타내는 것이고, 도 5는 인식기가 더 트레이닝, 즉 '부스팅'될 수 있는 방법을 나타내고 있다. 설명의 목적으로 그리고 공간적인 제한으로 인해서, 개개의 구성 요소 혹은 모듈의 명칭은 생략했다. 그러나, 각 구성 요소에 대응하는 수치는 이전 설명을 그대로 사용한다.
도 4를 참조하면, 트레이닝 데이터를 위한 초기 실측 자료라고 표시된 부분을 사용하는 것부터, 초기 트레이닝이 개시된다. 초기 실측 자료는, 특정한 온라인 서비스에 대해, 정상으로 보여지는 거동과 정상이 아닌 것으로 보여지는 거동을 나타내는 데이터이다. 이 데이터는 이하 설명하는 바와 같이 지속적으로 개발될 수 있으며, 후속하는 머신 학습 기법에 의해서 반복해서 부스팅될 수 있다. 이 데이터는 상술한 바와 같이 사용 데이터 및 운영 데이터 모두의 형태를 취할 수 있다.
초기 실측 자료를 사용해서 인식기(212)를 트레이닝하는 것은 기본적으로 상술한 바와 같이 수행된다. 초기 트레이닝이 행해지면, 인식기는 트레이닝된 모델 이벤트 인식기(306)로부터 우측의 인식기(212)를 향하는 화살표로 도시된 바와 같이 배포될 수 있다.
도 5를 참조하면, 배포된 인식기, 즉 좌측의 인식기(212)는 반복 머신 학습 처리를 준비한다. 동작시에, 인식기(212)가 온라인 상태이면 사용 데이터(208) 및 운영 데이터(210)를 수신하고 이를 상술한 바와 같이 처리한다. 상세하게, 사용 데이터(208) 및 운영 데이터(210)는 처리되어서 인식된 불량 트래픽 혹은 인식된 이벤트를 산출한다.
이후 시스템은 평가 및 스코어링 처리를 이용해서 불량 트래픽을 인식하고, 이 시간 동안, 인식된 불량 트래픽은 시스템의 불량 트래픽을 인식하는 성능을 더 향상시킬 목적으로 평가 및 스코어링된다. 이 예에서, 평가 및 스코어링 처리는, 도면 좌측의 인식된 불량 트래픽(214)로부터 스코어링 테이블(500)로 향하는 화살표로 표시되어 있다. 인식된 불량 트래픽 각각의 인스턴스는 '참 긍정(true positive)', '참 부정(true negative)', '거짓 긍정(false positive)' 혹은 '거짓 부정(false negative)'으로 스코어링된다.
당업자라면, '참 긍정' 및 '참 부정'은 시스템이 의도한 대로 거동하고 있다는 인스턴스이다. 즉, 시스템은 불량 트래픽을 정확하게 식별해서 인식하고 있으며, 불량 트래픽이 아닌 트래픽은 인식하지 않고 있다. 평가 및 스코어링 처리에서 '거짓 긍정' 혹은 '거짓 부정'을 나타내는 인스턴스는, 시스템이 보안 위협을 식별할 수 있는 정확성을 부스팅하기 위해서 반복 학습이 사용될 수 있다는 인스턴스이다.
상세하게, '거짓 긍정'은, 트래픽이 불량으로 식별되고 있지만, 실제로는 불량이 아닌 상황이다. '거짓 부정'은 불량 트래픽으로 식별되어야 하는 것이 불량 트래픽으로 식별되지 않은 상황이다. 두 인스턴스 모두에, 이러한 정보를 추가적인 실측 정보 트레이닝 데이터 - 사용 데이터와 운영 데이터 모두 - 의 형태로 인식기로 돌려보냄으로써, 실측 정보를 부스팅하는 액션이 취해지며, 이 정보는 시스템에 의해서 추가로 처리될 수 있다. 이러한 데이터는 또한 사용자 트래픽 모듈(204)의 검증 데이터로서 사용될 수 있다. 이러한 추가 트레이닝 데이터를 이용한 결과, 배포된 인식기는, 트레이닝된 모델 이벤트 인식기(306)로부터 도면 좌측의 인식기(212)를 향하는 화살표로 도시된 바와 같이 부스팅될 수 있다.
이러한 처리를 자동으로 계속함으로써, 추가 트레이닝 데이터를 개발할 수 있고, 이 추가 트레이닝 데이터가 트레이닝 및 검증을 위해서 시스템으로 피드백되어서 인식기가 동작을 수행할 수 있는 효율을 증가시킨다.
(스키마에 대한 시스템의 연계)
상기에서는, 상술한 바와 같이 시스템에 의해 처리되는 데이터를 설명하기 위해서 스키마의 개념을 도입했었다. 이하에서는, 이러한 스키마를 바로 앞에서 설명한 시스템에 연계시키는 것을 설명한다. 도 4 및 5에 대해 설명한 방식과 유사하게, 도 6 및 7을 설명한다. 스키마 요소에 번호를 매핑시킨 테이블(600)이 제공된다. 이들 번호는 각 도면에서 원 내에 표시되어 있으며, 해당 처리에서 스키마 요소의 데이터가 사용된다는 것을 의미한다.
도 6의 처음에, 사용 데이터 및 운영 데이터 각각과 관련된 메타데이터(O1d, 02d)를 사용해서 사용 데이터(01) 및 운영 데이터(02)를 각각 나타내었다. 사용 데이터 및 운영 데이터는 각각의 변동성 프로세서(300, 302)에 의해 처리되어서, 상술한 바와 같이 사용 변동성(03) 및 운영 변동성(04) 시계열을 산출한다. 이들 시계열은 시계열 스트림 상관기(304)에 의해 처리되어서, 특성 스트림(05)을 산출한다. 특성 스트림은 사용 변동성과 운영 변동성 모두의 통일되고 상관된 통합을, 비한정의 예로서, 일, 시간, 분, 초, 밀리초 등과 같은, 사전 결정된 기간으로 한정된 시계열에서 캡쳐한다. 특성 스트림은 트레이닝된 모델 이벤트 인식기(306)에 의해 처리되어서, 상기 설명에서 '불량 트래픽'이라고 하던 인식된 이벤트(06)를 산출한다.
도 7로 넘어가면, 인식된 이벤트(06)는 평가 및 스코어링 처리를 거쳐서 인식 스코어링 데이터(07)를 산출하고, 여기서 인식된 이벤트는 라벨링된 실측 자료와 비교해서 스코어링된다. 이러한 처리는 상술한 바와 같이 계속된다. 즉, 인식기는, 식별된 거짓 긍정 및 거짓 부정을 이용해서 불량 트래픽 즉 인식된 이벤트를 식별하는 시스템의 성능을 향상시키는 머신 학습 기법을 통해서, 부스팅될 수 있다.
(예시적인 방법)
도 8은 일 이상의 실시예에 따른, 인식기를 트레이닝하는데 사용되는 트레이닝 방법의 단계들을 나타내는 흐름도이다. 이 방법은 임의의 적절한 하드웨어, 소프트웨어, 펌웨어 등과 연계해서 구현될 수 있다. 적어도 일부 실시예에서, 방법 혹은 이 방법의 측면은, 상술한 인식기와 같이, 적절하게 구성된 인식기에 의해서 구현될 수 있다.
단계 800에서는 온라인 서비스와 관련된 사용 데이터가 산출된다. 단계 802에서는 온라인 서비스와 관련된 운영 데이터가 산출된다. 단계 800 및 802는 적절한 방식으로 수행될 수 있다. 예컨대, 적어도 일부 실시예에서, 사용 데이터 및 운영 데이터는 사용자가 어떻게 온라인 서비스와 인터렉트하는지를 관찰함으로써 산출된다. 상술한 바와 같이, 이는 양호한 인터렉션과 불량 인터렉션을 모두 포함할 수 있다. 나아가, 사용 데이터 및 운영 데이터는, 온라인 서비스에 의해 처리되는 인위적 공격 패턴으로부터 산출될 수 있다. 인위적 공격 패턴의 예는 상기 설명했다. 단계 800 및 802에서 산출되는 데이터는 동시에 산출될 수 있다.
단계 804에서는 사용 데이터와 운영 데이터를 처리해서 시간 흐름에 따른 거동 변화의 측정값을 산출한다. 이 단계는 적절한 방식으로 수행될 수 있다. 예컨대, 상술한 실시예에서는, 변동성 프로세서가 사용 데이터 및 운영 데이터를 각각 처리해서, 시간 흐름에 따른 거동 변화의 편차와 연관된, 정량화된 측정값을 산출한다. 단계 806에서는 사용 데이터 및 운영 데이터의 거동 변화를 상관시킨다. 이것이 행해지는 방법의 예는 상기 설명했다. 사용 데이터와 운영 데이터는 동시에 처리될 수 있다.
단계 808에서는, 상관된 거동 변화를 처리해서, 사용 거동 변화와 운영 거동 변화가 히스토리 데이터로부터 추출되는 하나 이상의 이벤트를 인식해낸다.
도 9는, 일 이상의 실시예에 따른, 불량 트래픽 즉 인식된 이벤트를 효율적으로 식별하기 위해서, 트레이닝된 인식기가 머신 학습 기법을 통해서 계속해서 자동으로 부스팅될 수 있는 방법의 단계를 나타내는 흐름도이다. 이 방법은 임의의 적절한 하드웨어, 소프트웨어, 펌웨어 등과 연계해서 구현될 수 있다. 적어도 일부 실시예에서, 방법 혹은 이 방법의 측면은, 상술한 인식기와 같이, 적절하게 구성된 인식기에 의해 구현될 수 있다.
단계 900에서는, 사용 데이터 및 운영 데이터로 트레이닝된 인식기가 제공된다. 이것이 행해지는 예는 상기 설명했다. 단계 902에서는, 수신한 사용 데이터와 운영 데이터를 처리해서, 사용 거동 변화와 운영 거동 변화가 히스토리 데이터로부터 추출되는 하나 이상의 이벤트를 인식해낸다. 이것이 행해지는 예는 상기 설명했다. 상세하게, 도 8에 도시된 방법과 관련해서는, 이 단계가 수행될 수 있는 한 가지 방식은 단계 804, 806, 806의 조합을 통하는 것이다.
단계 904에서는, 인식된 이벤트를 스코어링해서 거짓 긍정 및 거짓 부정을 식별해낸다. 이것이 행해지는 예는 상기 설명했다. 단계 906에서는 거짓 긍정 및 거짓 부정을 이용해서 인식기를 더 트레이닝한다. 이것이 행해지는 예는 상기 설명했다. 이 방법은 단계 902로 돌아가서, 사용 데이터 및 운영 데이터를 상술한 바와 같이 계속해서 수신하고 처리한다.
(예시적인 장치)
도 10은, 본 명세서에서 설명한 실시예를 구현하기 위해서 임의의 타입의 휴대형 장치 및/또는 컴퓨터 장치로 구현될 수 있는 예시적인 장치(1000)의 다양한 구성 요소를 나타내고 있다. 장치(1000)는, 장치 데이터(1004)(예컨대, 수신한 데이터, 수신 중인 데이터, 브로드캐스팅하도록 스케쥴링된 데이터, 데이터의 데이터 패킷 등)의 유선 및/또는 무선 통신을 가능하게 하는 통신 장치(1002)를 포함한다. 장치 데이터(1004) 혹은 다른 장치 컨텐츠는 장치의 구성 세팅, 장치에 저장된 미디어 컨텐츠 및/또는 장치의 사용자와 연관된 정보를 포함할 수 있다. 장치(1000)에 저장된 미디어 컨텐츠는 임의의 타입의 오디오, 비디오 및/또는 이미지 데이터를 포함할 수 있다. 장치(1000)는 하나 이상의 데이터 입력(1006)을 포함하고 있으며, 이를 통해서, 사용자-선택 가능 입력, 메시지, 음악, TV 미디어 컨텐츠, 녹화된 비디오 컨텐츠, 그리고 임의의 컨텐츠 및/또는 데이터 소스로부터 수신한 임의의 타입의 오디오, 비디오 및/또는 이미지 데이터와 같은, 임의의 타입의 데이터, 미디어 컨텐츠 및/또는 입력이 수신될 수 있다.
장치(1000)는 또한 통신 인터페이스(1008)를 포함하고 있으며, 이는 직렬 인터페이스 및/또는 병렬 인터페이스, 무선 인터페이스, 임의의 타입의 네트워크 인터페이스, 모뎀, 및 임의의 다른 타입의 통신 인터페이스 중 하나 이상으로 구현될 수 있다. 통신 인터페이스(1008)는 장치(1000)와 통신 네트워크 사이의 접속 및/또는 통신 링크를 제공하고, 이를 통해서 다른 전자 장치, 컴퓨팅 장치 및 통신 장치는 장치(1000)와 데이터를 통신한다.
장치(1000)는 하나 이상의 프로세서(1010)(예컨대, 임의의 마이크로프로세서, 컨트롤러 등)를 포함하며, 이는 장치(1000)의 동작을 제어하고, 상술한 바와 같이 실시예를 구현하기 위해서, 다양한 컴퓨터-실행 가능 혹은 판독 가능 명령어를 처리하는 것이다. 다른 방안으로, 혹은 이에 더해서, 장치(1000)는, 전체적으로 1012로 나타낸 처리 및 제어 회로와 접속해서 구현되는 하드웨어, 펌웨어 혹은 고정형 논리 회로 중 임의의 하나 혹은 이들의 조합으로 구현될 수 있다. 도시되지는 않았지만, 장치(1000)는 장치 내의 다양한 구성 요소를 연결시키는 시스템 버스 혹은 데이터 전송 시스템을 포함할 수 있다. 시스템 버스는, 메모리 버스나 메모리 컨트롤러, 주변 버스, USB, 및/또는 임의의 다양한 버스 아키텍쳐를 사용하는 프로세서나 로컬 버스와 같은, 다양한 버스 구조 중 하나 혹은 이들의 조합을 포함할 수 있다.
장치(1000)는 또한 하나 이상의 메모리 구성 요소와 같은 컴퓨터-판독 가능 매체(1014)를 포함하며, 그 예로서 RAM, 비휘발성 메모리(예컨대, ROM, 플래시 메모리, EPROM, EEPROM 등) 및 디스크 저장 장치를 들 수 있다. 디스크 저장 장치는, 하드디스크 드라이브, 기록 가능 및/또는 덮어쓰기 가능 CD, 임의의 타입의 DVD 등과 같은 임의의 타입의 자기 저장 장치 혹은 광학 저장 장치로서 구현될 수 있다. 장치(1000)는 또한 대용량 저장 매체 장치(1016)를 포함할 수 있다.
컴퓨터 판독 가능 매체(1014)는 데이터 저장 매커니즘을 제공해서 장치 데이터(1004)는 물론 다양한 장치 애플리케이션(1018), 장치(1000)의 운영 측면과 관련된 임의의 다른 타입의 정보 및/또는 데이터를 저장한다. 예컨대, 운영 체제(1020)는 컴퓨터 판독 가능 매체(1014)에 컴퓨터 애플리케이션으로서 유지될 수 있고, 프로세서(1010)에서 실행될 수 있다. 장치 애플리케이션(1018)은 장치 관리자(예컨대, 제어 애플리케이션, 소프트웨어 애플리케이션, 신호 처리 및 제어 모듈, 특정 장치를 대상으로 한 코드, 특정 장치용 하드웨어 추상 계층 등)를 포함할 수 있으며, 또한 웹 브라우저, 이미지 처리 애플리케이션, 인스턴스 메시징 애플리케이션과 같은 통신 애플리케이션, 워드 프로세싱 애플리케이션 및 다양한 다른 애플리케이션을 포함할 수 있는 다른 애플리케이션을 포함할 수 있다. 장치 애플리케이션(1018)은 또한 본 명세서에서 설명된 기법의 실시예를 구현하는 임의의 시스템 구성 요소 혹은 모뷸을 포함한다. 이 예에서, 장치 애플리케이션(1018)은 상술한 바와 같이 동작하는 인식기(1022)를 포함할 수 있다.
장치(1000)는 또한 오디오 및/또는 비디오 입출력 시스템(1024)을 포함하며, 이는 오디오 데이터를 오디오 시스템(1026)에 제공하고, 및/또는 비디오 데이터를 디스플레이 시스템(1028)에 제공하는 것이다. 오디오 시스템(1026) 및/또는 디스플레이 시스템(1028)은, 오디오 데이터, 비디오 데이터 및 이미지 데이터를 처리, 디스플레이 및/또는 렌더링하는 임의의 장치를 포함할 수 있다. 비디오 신호 및 오디오 신호는, RF(무선 주파수) 링크, S-비디오 링크, 복합 비디오 링크, 성분 비디오 링크, DVI(digital video interface), 아날로그 오디오 접속 혹은 다른 유사한 통신 링크를 통해서, 장치(1000)로부터 오디오 장치 및/또는 비디오 장치로 통신될 수 있다. 일 실시예에서, 오디오 시스템(1026) 및/또는 디스플레이 시스템(1028)은, 장치(1000)의 외부 구성 요소로서 구현된다. 다른 방안으로, 오디오 시스템(1026) 및/또는 디스플레이 시스템(1028)은 예시적인 장치(1000)의 일체형 구성 요소로서 구현된다.
(결론)
다양한 실시예에서는, 거동 변화 검출 혹은 '변동성'의 개념에 기초해서 보안 이벤트를 분류하는 방식을 제공한다. 사전 결정된 패턴 방식 대신에 거동 변화 검출을 사용해서, 시스템의 거동을 관찰해서 정상적인 운영 거동에서 벗어나는 변경을 검출하는 것이다. 동작시에, 구현의 확장성을 촉진하는 이벤트 분류 메커니즘으로서 머신 학습 기법이 사용된다. 머신 학습 기법은 지속적으로 반복 학습을 계속한다. 운영 확장성 문제는, 계산된 이벤트의 변동성을 분류기의 입력으로서 시계열적으로 이용함으로써 해결된다. 학습 처리(즉, 머신 학습 처리) 동안에, 시스템은 보안 사건의 영향을 받는 관련 특성을 식별한다. 동작시에, 시스템은 이들 특성을 실시간으로 평가해서, 사건이 발생할 확률을 제공한다.
구조적인 특성 및/또는 방법적인 액트로 특정된 표현으로서 실시예를 설명했지만, 첨부된 청구항에서 정의된 다양한 실시예는 이러한 특정한 특성이나 액트로 한정되는 것은 아니라는 것을 이해할 것이다. 이러한 특정한 특성 및 액트는 다양한 실시예를 구현하는 예시의 형태로서 설명된 것이다.

Claims (17)

  1. 컴퓨터로 구현되는 방법으로서,
    온라인 서비스와 관련된 사용 데이터(usage data)를 산출하는 단계 - 상기 사용 데이터는 인위적 공격(synthetic attack) 패턴을 포함하는 온라인 서비스 인터렉션과 관련되고 상기 온라인 서비스와의 인터렉션을 설명함 - 와,
    상기 온라인 서비스와 관련된 운영 데이터(operational data)를 산출하는 단계 - 상기 운영 데이터는 상기 온라인 서비스 인터렉션과 관련되어 있고 상기 온라인 서비스를 호스팅하는 데이터 센터의 하드웨어 및 소프트웨어 운영을 설명함 - 와,
    상기 사용 데이터와 상기 운영 데이터를 처리해서 시간 흐름에 따른 거동 변화의 측정값을 산출하는 단계와,
    상기 사용 데이터 및 상기 운영 데이터의 거동 변화를 상관시키는 단계와,
    상기 상관된 거동 변화를 처리해서, 사용 거동 변화 및 운영 거동 변화가 상기 온라인 서비스의 히스토리 데이터로부터 벗어나는 하나 이상의 이벤트를 인식하는 단계를 포함하는
    컴퓨터로 구현되는 방법.
  2. 제 1 항에 있어서,
    상기 온라인 서비스 인터렉션은 사용자 인터렉션을 더 포함하는
    컴퓨터로 구현되는 방법.
  3. 제 1 항에 있어서,
    상기 인위적 공격 패턴은 하나 이상의 URL에 주입되는 공격 코드 및 공격 스트링을 포함하는
    컴퓨터로 구현되는 방법.
  4. 제 1 항에 있어서,
    상기 거동 변화의 측정값은 상기 거동 변화의 편차와 상관된 개별 수치를 포함하는
    컴퓨터로 구현되는 방법.
  5. 제 1 항에 있어서,
    상기 거동 변화를 상관시키는 단계에서는, 사용 거동 변화와 운영 거동 변화 모두의 상관된 통합(aggregation)을 캡쳐하는 스트림을 산출하는
    컴퓨터로 구현되는 방법.
  6. 컴퓨터 판독 가능 명령어를 저장하도록 구성된 컴퓨터 판독가능 저장 매체로서,
    상기 컴퓨터 판독 가능 명령어는, 실행되는 경우,
    하나 이상의 인위적 공격 패턴을 사용하여 트레이닝되어 있는 인식기에, 온라인 서비스와의 인터렉션을 설명하는 사용 데이터, 및 상기 온라인 서비스를 호스팅하는 데이터 센터의 하드웨어 및 소프트웨어 운영을 설명하는 운영 데이터를 제공하는 동작과,
    수신한 사용 데이터 및 운영 데이터를 처리해서, 사용 거동 변화 및 운영 거동 변화가 히스토리 데이터로부터 벗어나는 하나 이상의 이벤트를 인식하는 동작과,
    상기 인식된 하나 이상의 이벤트를 스코어링해서 거짓 긍정(false positive) 및 거짓 부정(false negative) 중 하나를 식별하는 동작과,
    상기 거짓 긍정 및 거짓 부정 중 하나를 이용해서 상기 인식기를 더 트레이닝하는 동작을 수행하는
    컴퓨터 판독가능 저장 매체.
  7. 제 6 항에 있어서,
    상기 수신한 사용 데이터 및 운영 데이터를 처리하는 것은,
    상기 사용 데이터 및 상기 운영 데이터로부터, 시간 흐름에 따른 거동 변화의 측정값을 산출하는 것과,
    상기 사용 데이터 및 상기 운영 데이터의 상기 거동 변화를 상관시키는 것과,
    상기 상관된 거동 변화를 처리해서 상기 하나 이상의 이벤트를 인식하는 것을 포함하는
    컴퓨터 판독가능 저장 매체.
  8. 제 7 항에 있어서,
    상기 거동 변화를 상관시키는 것은, 상기 사용 거동 변화와 운영 거동 변화 모두의 상관된 통합을 캡쳐하는 스트림을 산출하는
    컴퓨터 판독가능 저장 매체.
  9. 제 6 항에 있어서,
    상기 수신한 사용 데이터를 처리하는 것은, 상기 사용 데이터를 사용 데이터 변동성 프로세서를 이용하여 처리해서 사용 데이터 변동성의 시계열을 산출하는 것을 포함하고,
    상기 운영 데이터를 처리하는 것은, 상기 운영 데이터를 운영 데이터 변동성 프로세서를 이용하여 처리해서 운영 데이터 변동성의 시계열을 산출하는 것을 포함하는
    컴퓨터 판독가능 저장 매체.
  10. 제 9 항에 있어서,
    상기 수신한 사용 데이터 및 상기 운영 데이터를 처리하는 것은, 상기 사용 데이터 변동성의 시계열과 운영 데이터 변동성의 시계열을 상관시켜서, 사용 변동성과 운영 변동성 모두의 상관된 통합을 캡쳐하는 스트림을, 사전정의된 간격으로 한정된 시계열로 제공하는 것을 더 포함하는
    컴퓨터 판독가능 저장 매체.
  11. 제 6 항에 있어서,
    상기 인식기는 하나 이상의 인위적 공격 패턴을 사용하여 트레이닝되어 있고, 상기 하나 이상의 인위적 공격 패턴은 하나 이상의 URL에 주입되는 공격 코드 및 공격 스트링을 포함하는
    컴퓨터 판독가능 저장 매체.
  12. 제 6 항에 있어서,
    상기 인식기는 사용자 인터렉션 및 상기 하나 이상의 인위적 공격 패턴 모두를 사용하여 트레이닝되어 있는
    컴퓨터 판독가능 저장 매체.
  13. 컴퓨팅 장치로서,
    하나 이상의 마이크로프로세서와,
    컴퓨터 판독 가능 명령어를 저장하는 하나 이상의 컴퓨터 판독 가능 저장 장치를 포함하되,
    상기 컴퓨터 판독 가능 명령어는, 상기 하나 이상의 마이크로프로세서에 의해 실행될 때,
    하나 이상의 온라인 서비스와,
    상기 하나 이상의 온라인 서비스와의 사용자 인터렉션을 제공하도록 구성된 사용자 트래픽 모듈과,
    상기 하나 이상의 온라인 서비스에 대한 인위적 공격을 생성하도록 구성된 인위적 공격 생성기와,
    인식기를 구현하고,
    상기 인식기는,
    수신한 사용 데이터 및 운영 데이터를 처리해서, 사용 거동 변화 및 운영 거동 변화가 히스토리 데이터로부터 벗어나는 하나 이상의 이벤트를 인식하고,
    상기 인식된 이벤트를 스코어링해서 거짓 긍정 및 거짓 부정을 식별하며,
    상기 거짓 긍정 및 거짓 부정을 이용해서 상기 인식기를 더 트레이닝
    하도록 구성되며,
    상기 하나 이상의 온라인 서비스는, 상기 사용자 트래픽 모듈 및 상기 인위적 공격 생성기와의 상기 사용자 인터렉션으로부터 사용 데이터 및 운영 데이터를 산출하도록 구성되는
    컴퓨팅 장치.
  14. 제 13 항에 있어서,
    상기 인식기는 적어도,
    상기 사용 데이터 및 상기 운영 데이터로부터, 시간 흐름에 따른 거동 변화의 측정값을 산출하고,
    상기 사용 데이터 및 상기 운영 데이터의 상기 거동 변화를 상관시키며,
    상기 상관된 거동 변화를 처리해서 상기 하나 이상의 이벤트를 인식함으로써,
    상기 수신한 사용 데이터 및 운영 데이터를 처리하도록 구성되는,
    컴퓨팅 장치.
  15. 제 14 항에 있어서,
    상기 거동 변화를 상관시키는 것은, 상기 사용 거동 변화와 운영 거동 변화 모두의 상관된 통합을 캡쳐하는 스트림을 산출하는
    컴퓨팅 장치.
  16. 제 13 항에 있어서,
    상기 인식기는 적어도,
    상기 사용 데이터를 사용 데이터 변동성 프로세서를 이용하여 처리해서 사용 데이터의 표시된 변동성의 시계열을 산출하고,
    적어도 상기 운영 데이터를 운영 데이터 변동성 프로세서를 이용하여 처리해서 운영 데이터의 표시된 변동성의 시계열을 산출함으로써,
    상기 수신한 사용 데이터 및 운영 데이터를 처리하도록 구성되는,
    컴퓨팅 장치.
  17. 제 16 항에 있어서,
    상기 인식기는 또한, 적어도 상기 사용 데이터의 표시된 변동성의 시계열과 상기 운영 데이터의 표시된 변동성의 시계열을 상관시킴으로써, 상기 사용 데이터의 표시된 변동성과 상기 운영 데이터의 표시된 변동성의 상관된 통합을 캡쳐하는 스트림을, 사전정의된 간격으로 한정된 시계열로 제공함으로써, 상기 수신한 사용 데이터 및 상기 운영 데이터를 처리하도록 구성되는
    컴퓨팅 장치.
KR1020177001118A 2014-07-16 2015-07-13 온라인 서비스의 거동 변화의 인식 기법 KR102399787B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227016133A KR102444615B1 (ko) 2014-07-16 2015-07-13 온라인 서비스의 거동 변화의 인식 기법

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/333,377 US9485263B2 (en) 2014-07-16 2014-07-16 Volatility-based classifier for security solutions
US14/333,377 2014-07-16
PCT/US2015/040083 WO2016010872A1 (en) 2014-07-16 2015-07-13 Recognition of behavioural changes of online services

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227016133A Division KR102444615B1 (ko) 2014-07-16 2015-07-13 온라인 서비스의 거동 변화의 인식 기법

Publications (2)

Publication Number Publication Date
KR20170035892A KR20170035892A (ko) 2017-03-31
KR102399787B1 true KR102399787B1 (ko) 2022-05-18

Family

ID=53758540

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020177001118A KR102399787B1 (ko) 2014-07-16 2015-07-13 온라인 서비스의 거동 변화의 인식 기법
KR1020227016133A KR102444615B1 (ko) 2014-07-16 2015-07-13 온라인 서비스의 거동 변화의 인식 기법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020227016133A KR102444615B1 (ko) 2014-07-16 2015-07-13 온라인 서비스의 거동 변화의 인식 기법

Country Status (5)

Country Link
US (1) US9485263B2 (ko)
EP (1) EP3170120A1 (ko)
KR (2) KR102399787B1 (ko)
CN (1) CN106663167B (ko)
WO (1) WO2016010872A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9619648B2 (en) 2014-07-16 2017-04-11 Microsoft Technology Licensing, Llc Behavior change detection system for services
US10110622B2 (en) 2015-02-13 2018-10-23 Microsoft Technology Licensing, Llc Security scanner
US9906542B2 (en) * 2015-03-30 2018-02-27 Microsoft Technology Licensing, Llc Testing frequency control using a volatility score
US9699205B2 (en) 2015-08-31 2017-07-04 Splunk Inc. Network security system
US9509710B1 (en) * 2015-11-24 2016-11-29 International Business Machines Corporation Analyzing real-time streams of time-series data
KR101987196B1 (ko) * 2016-06-14 2019-06-11 삼성디스플레이 주식회사 픽셀 구조체, 픽셀 구조체를 포함하는 표시장치 및 그 제조 방법
US10397258B2 (en) 2017-01-30 2019-08-27 Microsoft Technology Licensing, Llc Continuous learning for intrusion detection
US10735258B2 (en) * 2018-07-24 2020-08-04 Avaya Inc. System for self-allocating resources
US20220083320A1 (en) * 2019-01-09 2022-03-17 Hewlett-Packard Development Company, L.P. Maintenance of computing devices
US11720461B2 (en) * 2019-03-12 2023-08-08 Microsoft Technology Licensing, Llc Automated detection of code regressions from time-series data
CN113743542B (zh) * 2021-11-05 2022-03-01 北京广通优云科技股份有限公司 一种基于加密流量的网络资产识别方法与系统
WO2023234712A1 (ko) 2022-05-31 2023-12-07 주식회사 엘지에너지솔루션 고분자 고체 전해질 및 이의 제조방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140149806A1 (en) * 2011-04-13 2014-05-29 BAR-ILAN UNIVERSITY a University Anomaly detection methods, devices and systems
US20140317734A1 (en) * 2012-08-15 2014-10-23 Qualcomm Incorporated Adaptive Observation of Behavioral Features on a Mobile Device

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7159237B2 (en) 2000-03-16 2007-01-02 Counterpane Internet Security, Inc. Method and system for dynamic network intrusion monitoring, detection and response
US7058015B1 (en) 2000-08-04 2006-06-06 Arbor Networks, Inc. Distributed solution for regulating network traffic
WO2002023808A2 (en) 2000-09-15 2002-03-21 Cymtec Systems, Inc. Network management system
US6801503B1 (en) 2000-10-09 2004-10-05 Arbor Networks, Inc. Progressive and distributed regulation of selected network traffic destined for a network node
US7970886B1 (en) 2000-11-02 2011-06-28 Arbor Networks, Inc. Detecting and preventing undesirable network traffic from being sourced out of a network domain
US7444404B2 (en) 2001-02-05 2008-10-28 Arbor Networks, Inc. Network traffic regulation including consistency based detection and filtering of packets with spoof source addresses
US8271678B2 (en) 2001-04-03 2012-09-18 Arbor Networks, Inc. Independent detection and filtering of undesirable packets
US8509086B2 (en) 2001-06-20 2013-08-13 Arbor Networks, Inc. Detecting network misuse
WO2003003210A2 (en) 2001-06-27 2003-01-09 Arbor Networks Method and system for monitoring control signal traffic over a computer network
US7475141B1 (en) 2001-07-31 2009-01-06 Arbor Networks, Inc. Distributed service level management for network traffic
US7424619B1 (en) 2001-10-11 2008-09-09 The Trustees Of Columbia University In The City Of New York System and methods for anomaly detection and adaptive learning
EP1326185A1 (en) 2002-01-08 2003-07-09 Alcatel Offline behaviour analysis for online personalisation of value added services
US7841007B2 (en) 2002-03-29 2010-11-23 Scanalert Method and apparatus for real-time security verification of on-line services
US8103755B2 (en) 2002-07-02 2012-01-24 Arbor Networks, Inc. Apparatus and method for managing a provider network
US7802236B2 (en) 2002-09-09 2010-09-21 The Regents Of The University Of California Method and apparatus for identifying similar regions of a program's execution
US8001271B1 (en) 2002-10-21 2011-08-16 Arbor Networks, Inc. Method and apparatus for locating naming discrepancies
US7359930B2 (en) 2002-11-21 2008-04-15 Arbor Networks System and method for managing computer networks
US20040193918A1 (en) 2003-03-28 2004-09-30 Kenneth Green Apparatus and method for network vulnerability detection and compliance assessment
US7596807B2 (en) 2003-07-03 2009-09-29 Arbor Networks, Inc. Method and system for reducing scope of self-propagating attack code in network
US7529192B2 (en) 2003-07-21 2009-05-05 Arbor Networks System and method for correlating traffic and routing information
US8146160B2 (en) 2004-03-24 2012-03-27 Arbor Networks, Inc. Method and system for authentication event security policy generation
US8171553B2 (en) 2004-04-01 2012-05-01 Fireeye, Inc. Heuristic based capture with replay to virtual machine
US7634812B2 (en) 2004-07-21 2009-12-15 Microsoft Corporation Filter generation
US7634813B2 (en) 2004-07-21 2009-12-15 Microsoft Corporation Self-certifying alert
US7603715B2 (en) 2004-07-21 2009-10-13 Microsoft Corporation Containment of worms
US7730531B2 (en) 2005-04-15 2010-06-01 Microsoft Corporation System and method for detection of artificially generated system load
US7690037B1 (en) 2005-07-13 2010-03-30 Symantec Corporation Filtering training data for machine learning
EP1917778A2 (en) * 2005-08-03 2008-05-07 Calyptix Security Systems and methods for dynamically learning network environments to achieve adaptive security
IL181041A0 (en) * 2007-01-29 2007-07-04 Deutsche Telekom Ag Improved method and system for detecting malicious behavioral patterns in a computer, using machine learning
US7774459B2 (en) 2006-03-01 2010-08-10 Microsoft Corporation Honey monkey network exploration
US20080059544A1 (en) 2006-06-09 2008-03-06 Rick Rahim System and method for providing secure third party website histories
US8311310B2 (en) * 2006-08-11 2012-11-13 Koninklijke Philips Electronics N.V. Methods and apparatus to integrate systematic data scaling into genetic algorithm-based feature subset selection
CN100571276C (zh) * 2006-09-28 2009-12-16 北京理工大学 一种基于行为特征的网页木马检测方法
US8370929B1 (en) 2006-09-28 2013-02-05 Whitehat Security, Inc. Automatic response culling for web application security scan spidering process
US8312536B2 (en) 2006-12-29 2012-11-13 Symantec Corporation Hygiene-based computer security
US8572735B2 (en) 2007-03-29 2013-10-29 George Mason Research Foundation, Inc. Attack resistant continuous network service trustworthiness controller
US7779304B2 (en) 2007-06-15 2010-08-17 International Business Machines Corporation Diagnosing changes in application behavior based on database usage
US20090168648A1 (en) 2007-12-29 2009-07-02 Arbor Networks, Inc. Method and System for Annotating Network Flow Information
US8196204B2 (en) 2008-05-08 2012-06-05 Lawrence Brent Huston Active computer system defense technology
KR100951852B1 (ko) * 2008-06-17 2010-04-12 한국전자통신연구원 응용 프로그램 비정상행위 차단 장치 및 방법
US8136029B2 (en) 2008-07-25 2012-03-13 Hewlett-Packard Development Company, L.P. Method and system for characterising a web site by sampling
US8112546B2 (en) 2009-02-13 2012-02-07 Microsoft Corporation Routing users to receive online services based on online behavior
US8266698B1 (en) 2009-03-09 2012-09-11 Symantec Corporation Using machine infection characteristics for behavior-based detection of malware
US8555391B1 (en) 2009-04-25 2013-10-08 Dasient, Inc. Adaptive scanning
US8365290B2 (en) 2009-05-15 2013-01-29 Frederick Young Web application vulnerability scanner
US8607340B2 (en) * 2009-07-21 2013-12-10 Sophos Limited Host intrusion prevention system using software and user behavior analysis
US8595176B2 (en) 2009-12-16 2013-11-26 The Boeing Company System and method for network security event modeling and prediction
US8826438B2 (en) * 2010-01-19 2014-09-02 Damballa, Inc. Method and system for network-based detecting of malware from behavioral clustering
US8424072B2 (en) 2010-03-09 2013-04-16 Microsoft Corporation Behavior-based security system
US8463901B2 (en) 2010-05-28 2013-06-11 Arbor Networks, Inc. Stateful flow information table method and system for packet inspection system
RU2446459C1 (ru) 2010-07-23 2012-03-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ проверки веб-ресурсов на наличие вредоносных компонент
US9055113B2 (en) 2010-08-20 2015-06-09 Arbor Networks, Inc. Method and system for monitoring flows in network traffic
TW201216106A (en) 2010-10-13 2012-04-16 Univ Nat Taiwan Science Tech Intrusion detecting system and method to establish classifying rules thereof
US8725677B1 (en) 2011-03-31 2014-05-13 Rockwell Collins, Inc. State change detection using multi-dimensional phase space
US8566935B2 (en) 2011-05-12 2013-10-22 At&T Intellectual Property I, L.P. Balancing malware rootkit detection with power consumption on mobile devices
US8661522B2 (en) 2011-07-28 2014-02-25 Arbor Networks, Inc. Method and apparatus for probabilistic matching to authenticate hosts during distributed denial of service attack
US8990938B2 (en) 2011-08-29 2015-03-24 Arbor Networks, Inc. Analyzing response traffic to detect a malicious source
US9432385B2 (en) 2011-08-29 2016-08-30 Arbor Networks, Inc. System and method for denial of service attack mitigation using cloud services
US8595837B2 (en) 2011-08-29 2013-11-26 Novell, Inc. Security event management apparatus, systems, and methods
US8856913B2 (en) 2011-08-29 2014-10-07 Arbor Networks, Inc. Method and protection system for mitigating slow HTTP attacks using rate and time monitoring
CN102360408A (zh) * 2011-09-28 2012-02-22 国家计算机网络与信息安全管理中心 恶意代码的检测方法及其系统
US9529777B2 (en) * 2011-10-28 2016-12-27 Electronic Arts Inc. User behavior analyzer
US9349103B2 (en) 2012-01-09 2016-05-24 DecisionQ Corporation Application of machine learned Bayesian networks to detection of anomalies in complex systems
ES2429425B1 (es) 2012-01-31 2015-03-10 Telefonica Sa Metodo y sistema para detectar software malintencionado
US8832265B2 (en) 2012-05-01 2014-09-09 International Business Machines Corporation Automated analysis system for modeling online business behavior and detecting outliers
US8954579B2 (en) 2012-08-21 2015-02-10 Microsoft Corporation Transaction-level health monitoring of online services
US9292688B2 (en) 2012-09-26 2016-03-22 Northrop Grumman Systems Corporation System and method for automated machine-learning, zero-day malware detection
US9369476B2 (en) 2012-10-18 2016-06-14 Deutsche Telekom Ag System for detection of mobile applications network behavior-netwise
US8478676B1 (en) 2012-11-28 2013-07-02 Td Ameritrade Ip Company, Inc. Systems and methods for determining a quantitative retail sentiment index from client behavior
US9083729B1 (en) * 2013-01-15 2015-07-14 Symantec Corporation Systems and methods for determining that uniform resource locators are malicious
US9319421B2 (en) * 2013-10-14 2016-04-19 Ut-Battelle, Llc Real-time detection and classification of anomalous events in streaming data
US9684787B2 (en) * 2014-04-08 2017-06-20 Qualcomm Incorporated Method and system for inferring application states by performing behavioral analysis operations in a mobile device
US9497206B2 (en) * 2014-04-16 2016-11-15 Cyber-Ark Software Ltd. Anomaly detection in groups of network addresses
US9619648B2 (en) 2014-07-16 2017-04-11 Microsoft Technology Licensing, Llc Behavior change detection system for services

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140149806A1 (en) * 2011-04-13 2014-05-29 BAR-ILAN UNIVERSITY a University Anomaly detection methods, devices and systems
US20140317734A1 (en) * 2012-08-15 2014-10-23 Qualcomm Incorporated Adaptive Observation of Behavioral Features on a Mobile Device

Also Published As

Publication number Publication date
EP3170120A1 (en) 2017-05-24
WO2016010872A1 (en) 2016-01-21
KR20170035892A (ko) 2017-03-31
US20160021124A1 (en) 2016-01-21
CN106663167B (zh) 2020-03-27
CN106663167A (zh) 2017-05-10
KR102444615B1 (ko) 2022-09-16
KR20220066993A (ko) 2022-05-24
US9485263B2 (en) 2016-11-01

Similar Documents

Publication Publication Date Title
KR102399787B1 (ko) 온라인 서비스의 거동 변화의 인식 기법
US11843616B2 (en) Method and system for analyzing cybersecurity threats and improving defensive intelligence
US11252168B2 (en) System and user context in enterprise threat detection
US9619648B2 (en) Behavior change detection system for services
AU2016204068B2 (en) Data acceleration
WO2018235252A1 (ja) 分析装置、ログの分析方法及び記録媒体
US9462313B1 (en) Prediction of media selection consumption using analysis of user behavior
US20180302425A1 (en) Detecting fraud by correlating user behavior biometrics with other data sources
US20170178026A1 (en) Log normalization in enterprise threat detection
US9906542B2 (en) Testing frequency control using a volatility score
US20170178025A1 (en) Knowledge base in enterprise threat detection
WO2020101888A1 (en) System and method to infer investigation steps for security alerts using crowd sourcing
Highnam et al. Beth dataset: Real cybersecurity data for unsupervised anomaly detection research
US11568344B2 (en) Systems and methods for automated pattern detection in service tickets
Chang et al. Microservice fingerprinting and classification using machine learning
Schneider et al. Getting the bugs out of AI: advancing ecological research on arthropods through computer vision
US9720814B2 (en) Template identification for control of testing
US20230344842A1 (en) Detection of user anomalies for software as a service application traffic with high and low variance feature modeling
JP6781956B2 (ja) 学習結果比較装置、学習結果比較方法、及びそのプログラム
EP3970043A1 (en) Apparatuses and methods for detecting malware
US12099599B2 (en) Apparatuses and methods for detecting malware
CN111598159B (zh) 机器学习模型的训练方法、装置、设备及存储介质
Turunen Implementation of an automatic log analysis tool for health care applications
Harshitha et al. Analysis of User Behavior Patterns using Machine Learning Algorithms
Fan Cloud based Intelligent Video Surveillance and Predictive Monitoring Platform

Legal Events

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