KR20150106889A - 인지적 행동 인식을 위한 시스템 및 방법 - Google Patents

인지적 행동 인식을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20150106889A
KR20150106889A KR1020157018997A KR20157018997A KR20150106889A KR 20150106889 A KR20150106889 A KR 20150106889A KR 1020157018997 A KR1020157018997 A KR 1020157018997A KR 20157018997 A KR20157018997 A KR 20157018997A KR 20150106889 A KR20150106889 A KR 20150106889A
Authority
KR
South Korea
Prior art keywords
action
application
time
actions
user
Prior art date
Application number
KR1020157018997A
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=51166342&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR20150106889(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 타세라, 아이엔씨. filed Critical 타세라, 아이엔씨.
Publication of KR20150106889A publication Critical patent/KR20150106889A/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/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
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Abstract

애플리케이션 또는 장치에 대한 런타임 리스크를 평가하는 방법에 있어서,
상기 방법은 :
규칙들 데이터베이스에 다수의 규칙들을 저장하는 단계;
정책(policy) 데이터베이스에 다수의 평가 정책들을 저장하는 단계;
적어도 하나의 평가 정책을 사용하여, 애플리케이션 또는 장치에 대한 런타임 리스크를 식별하는 단계; 및
상기 식별된 런타임 리스크에 기초하여, 처리 장치에 의해 상기 애플리케이션 또는 장치에 대한 행동 점수(behavior score)를 식별하는 단계를 포함하며,
상기 규칙들 각각은 액션 시퀀스를 식별하고,
상기 평가 정책들 각각은 상기 다수의 규칙들 중 적어도 하나의 규칙을 포함하고,
상기 식별된 런타임 리스크는 특정 유형의 위협을 식별하고 예측하고,
상기 액션 시퀀스는 적어도 두 개의 수행된 액션들의 시퀀스이고,
각각의 수행된 액션은 사용자 액션, 애플리케이션 액션, 그리고 시스템 액션 중 적어도 하나인, 런타임 리스크 평가 방법.

Description

인지적 행동 인식을 위한 시스템 및 방법 { System for and a method of cognitive behavior recognition }
본 발명은 인지적 행동 인식에 관한 것이며, 구체적으로는, 인지적 행동 인식을 이용하여, 컴퓨터 시스템에서 애플리케이션 또는 장치의 런타임(runtime) 리스크를 평가하는 것에 대한 것이다.
기업 및 개인들 모두의 일상생활에 컴퓨터 및 기타 컴퓨팅 시스템들이 보급되면서, 컴퓨터 및 사이버 보안은 점점 더 중요해지고 있다. 보안을 제공하고, 유해한 위협들로부터 최종 사용자를 보호하기 위해, 다양한 프로그램들 및 처리방법들이 개발되어오고 있다. 이러한 개발된 프로그램들은 백신 프로그램, 방화벽, 그리고 침입 탐지/방지 시스템(IDSs/IPSs)을 포함한다. 이러한 프로그램들은 많은 위협들로부터 컴퓨팅 시스템 및 컴퓨팅 시스템의 최종 사용자를 보호하는데 도움이 될 수 있다.
그러나 컴퓨팅 장치들 내의 기술들이 자체적으로 발전함에 따라, 그러한 컴퓨팅 장치들에 맞선 위협들에 대한 기술들 또한 발전한다. 일반적으로 지능형 지속공격(Advanced Persistent Threat, APT)라 불리는 신흥(emerging) 사이버 위협들은, 기존의 보안 프로그램들 및 처리방법들을 사용해도, 종종 발견되지 않은 채 남아있다. 그 결과, 사용자 및 시스템 운영자가 모르는 사이에, 많은 유해한 위협들 및 감염들이 보안 프로그램들을 포함하는 시스템을 공격할 수 있으며, 이는 엄청나게 타격적인 결과들을 가져올 수 있다. 예를 들어, 회사들을 기밀 정보, 기업 비밀 등과 같은 독점(proprietary) 정보의 도난의 위험에 처하게 할 수 있고, 개인들을 신분 도용의 위험에 처하게 할 수 있다.
따라서 기존의 보안 프로그램들 및 처리방법들로 발견되지 않은, 지능형 지속공격에 의한 공격들을 올바르게 탐지하고 방지하기 위한 기술적 방안이 필요하다.
본 발명은 애플리케이션 또는 장치의 런타임 리스크를 평가하기 위한 시스템 및 방법에 대한 설명을 제공한다.
애플리케이션 또는 장치에 대한 런타임 리스크를 평가하기 위한 방법은 : 규칙들 데이터베이스에 다수의 규칙들을 저장하는 단계로서, 상기 규칙들 각각은 액션 시퀀스를 식별하는(identifying), 규칙 저장 단계; 정책(policy) 데이터베이스에 다수의 평가 정책들을 저장하는 단계로서, 상기 평가 정책들 각각은 상기 다수의 규칙들 중 적어도 하나의 규칙을 포함하는, 정책 저장 단계; 적어도 하나의 평가 정책을 사용하여, 애플리케이션 또는 장치에 대한 런타임 리스크를 식별하는 단계로서, 상기 식별된 런타임 리스크는 특정 유형의 위협을 식별하고 예측하는, 런타임 리스크 식별 단계; 및 상기 식별된 런타임 리스크에 기초하여, 처리 장치에 의해 상기 애플리케이션 또는 장치에 대한 행동 점수(behavior score)를 식별하는 단계를 포함하며, 상기 액션 시퀀스는 적어도 두 개의 수행된 액션들의 시퀀스이며, 각각의 수행된 액션은 사용자 액션, 애플리케이션 액션, 그리고 시스템 액션 중 적어도 하나이다.
애플리케이션 또는 장치들에 대한 런타임 리스크를 평가하기 위한 시스템은 규칙들 데이터베이스, 정책 데이터베이스, 그리고 처리 장치를 포함한다. 상기 규칙들 데이터베이스는 다수의 규칙들을 저장하도록 구성되며, 상기 규칙들 각각은 액션 시퀀스를 식별한다. 상기 정책 데이터베이스는 다수의 평가 정책들을 저장하도록 구성되며, 상기 평가 정책들 각각은 상기 다수의 규칙들 중 적어도 하나의 규칙을 포함한다. 상기 처리 장치는, 적어도 하나의 평가 정책을 사용하여, 상기 애플리케이션 또는 장치에 대한 런타임 리스크를 식별하도록 구성되며, 상기 식별된 런타임 리스크는 특정 유형의 위협을 식별하고 예측한다. 또한 상기 처리 장치는, 상기 식별된 런타임 리스크에 기초하여, 상기 애플리케이션 또는 장치에 대한 행동 점수를 식별하도록 구성된다. 상기 액션 시퀀스는 적어도 두 개의 수행된 액션들의 시퀀스이며, 각각의 수행된 액션은 사용자 액션, 애플리케이션 액션, 그리고 시스템 액션 중 적어도 하나이다.
본 발명의 범위는 다음의 상세한 설명을 첨부된 도면들과 연결하여 읽을 때, 가장 잘 이해된다. 다음의 그림들이 도면에 포함된다.
도 1은 실시 예들에 따른 애플리케이션 또는 장치에 대한 런타임 리스크를 평가하기 위한 시스템을 도시하는 표준 기술 구조(high level architecture : HLA)이다.
도 2는 실시 예들에 따른, 액션 시퀀스를 식별하고 상기 식별된 액션 시퀀스에 기초하여 런타임 리스크 및 차후의 행동 점수를 평가하기 위한 방법을 도시하는 흐름도이다.
도 3a 및 도 3b는 실시 예들에 따른, 도 2의 방법을 사용하여 식별된 수행된 액션들 및 액션 시퀀스들을 도시하는 다이어그램이다.
도 4는 실시 예들에 따른, 트랜잭션 기록(transaction record)을 생성하는 방법을 도시하는 흐름도이다.
본 발명의 적용 가능 분야는 후술하는 상세한 설명으로부터 명백해질 것이다. 실시 예들의 상세한 설명은 단지 예시의 목적으로 의도된 것이며, 따라서 본 발명의 범위를 한정하도록 의도된 것이 아니라는 것이 이해되어야한다.
애플리케이션 또는 장치에 대한 런타임 리스크를 평가하기 위한 시스템
도 1은 애플리케이션 또는 장치의 런타임 리스크를 평가하고, 상기 평가된 런타임 리스크에 기초하여 행동 점수를 식별하도록 구성된 컴퓨팅 시스템(100)을 도시하는 표준 기술 구조(high level architecture : HLA)이다. 본원에 개시된 방법들 및 프로세스들은, 하드웨어, 소프트웨어, 펌웨어, 명령어들이 저장된 비-일시적 컴퓨터 판독 가능 매체, 또는 이들의 조합을 사용하여, 상기 컴퓨팅 시스템(100) 내에서 구현될 수 있다는 것은 관련 기술 분야의 지식을 가진 자에게 자명할 것이다. 또한, 본원에 개시된 방법들 및 프로세스들은, 하나 이상의 컴퓨팅 시스템들 또는 기타 처리 시스템들 내에서 구현될 수 있다는 것은 당업자에게 자명할 것이다. 도 1에 도시된 상기 컴퓨팅 시스템(100)의 구성은 일례로서 제공된 것이며, 개시된 기능들(functions)을 수행하기 위해 다른 구성들 및 시스템들도 적합할 수 있다는 것 또한, 관련 기술 분야의 지식을 가진 자에게 자명할 것이다.
상기 컴퓨팅 시스템(100)은 처리 유닛(102)을 포함할 수 있다. 상기 처리 유닛(102)은 단일 프로세서 또는 다수의 프로세서를 포함할 수 있으며, 각각의 프로세서는 하나 이상의 프로세서 코어들을 포함할 수 있다. 상기 처리 유닛(102)은 범용 처리 유닛 또는 (애플리케이션 또는 프로그램의 런타임 리스크의 식별과 같은 특정 목적을 수행하기 위해 프로그램된 범용 처리 유닛과 같은) 특수 목적 처리 유닛일 수 있다. 상기 처리 유닛(102)은, 상기 컴퓨팅 시스템(100)의 추가 구성요소들과 통신하기 위해, 통신 인프라(110)에 연결되도록 구성될 수 있다.
상기 통신 인프라(110)는 버스, 메시지 큐, 네트워크, 멀티-코어 메시지-전달 기법, 이들의 조합, 또는 관련 기술 분야의 지식을 가진 자에게 자명할 적합한 다른 유형 또는 구성의 통신 인프라일 수 있다. 상기 컴퓨팅 시스템(100)은 디스플레이 유닛(104)을 더 포함할 수 있다. 상기 디스플레이 유닛(104)은 디스플레이 장치(106)를 제어하도록 구성될 수 있으며, 상기 디스플레이 장치(106)는 상기 컴퓨팅 시스템(100)에 물리적으로(예를 들어, VGA, DVI 또는 HDML 케이블과 같은, 케이블을 통해) 또는 무선으로 (예를 들어, 블루투스 등을 통해) 연결될 수 있다. 상기 디스플레이 유닛(104)은 비디오카드, 비디오 어댑터, 그래픽카드, 디스플레이카드, 그래픽보드, 디스플레이 어댑터, 그래픽 어댑터, 비디오 컨트롤러, 그래픽 컨트롤러 등일 수 있다. 또한 상기 디스플레이 유닛(104)은 상기 컴퓨팅 시스템(100)에 통합되거나, 이동 가능(removable)할 수 있다.
상기 디스플레이 장치(106)는 상기 디스플레이 유닛(104)을 통해 상기 디스플레이 장치(106)로 전송된 정보(데이터, 그래픽, 응용 프로그램으로부터의 출력 등)를 디스플레이하도록 구성될 수 있다. 상기 디스플레이 장치(106)로 사용하기 위해 적합한 디스플레이 장치 유형들은, 관련 기술 분야의 지식을 가진 자에게 자명할 것이며, LCD(liquid crystal display), LED(light-emitting diode) 디스플레이, TFT(thin film transistor) LCD, 정전식(capacitive) 터치 디스플레이 등을 포함할 수 있다.
상기 컴퓨팅 시스템(100)은 메모리 유닛(106)을 더 포함할 수 있다. 상기 메모리 유닛(106)은, 하드 디스크 드라이브, 플로피 디스크 드라이브, 자기 테이프 드라이브, 광 디스크 드라이브, SSD(solid state drive), 또는 기타 비-일시적 컴퓨터 판독 가능 매체와 같이, 데이터를 저장하고 본원에 개시된 기능들을 수행하기에 적합한, 임의의 유형의 메모리일 수 있다. 일부 실시 예들에서, 상기 메모리 유닛(106)은 이동식 저장장치(예를 들어, 플래쉬 메모리, CD, DVD, 블루-레이 디스크 등)이거나, 비-이동식(non-removable) 저장장치와 이동식 저장장치의 조합일 수 있다. 일실시 예에서, 상기 메모리 유닛(106)은 상기 컴퓨팅 시스템(100)의 외부에 있을 수 있으며, 클라우드 저장장치(cloud storage)와 같은, 통신 인터페이스(108)에 의해 네트워크를 통해 액세스될 수 있으며, 이는 이하에서 더 자세히 설명될 것이다. 상기 메모리 유닛(106)은 RAM, ROM, 또는 이들의 조합을 포함할 수 있다. 메모리 유닛(106)의 적합한 유형들 및 구성들은 관련 기술 분야의 지식을 가진 자에게 자명할 것이다.
상기 메모리 유닛(106)은 적어도 런타임 모니터(108), 규칙들 데이터베이스(110) 및 정책 데이터베이스(112)를 포함할 수 있다. 상기 메모리 유닛(106)은, 운영체제, 상기 시스템(100)의 구성요소들을 위한 드라이버들 등과 같이 관련 기술 분야의 지식을 가진 자에게 자명할, 추가적 데이터, 애플리케이션들, 프로그램들 등을 포함할 수 있다. 상기 런타임 모니터(108)는 상기 처리 유닛(102)에 의해 실행 가능한 프로그램 코드를 포함하는, 상기 메모리 유닛(106) 상에 저장된 응용프로그램일 수 있다. 상기 처리 유닛(102)은 (예를 들어, 메모리 유닛(106)에 저장되고, 상기 처리 유닛(102)에 의해 실행되는) 애플리케이션 또는 (예를 들어, 상기 컴퓨팅 시스템(100)에 (예를 들어, 상기 통신 인터페이스(108)를 통해) 외부적으로 또는 (예를 들어, 상기 통신 인프라(110)를 통해) 내부적으로 연결되는)장치의 런타임 리스크를 평가하도록 구성되며, 이는 이하에서 보다 자세히 설명된다. 일부 실시 예들에서, 상기 런타임 모니터(108)는 상기 컴퓨팅 시스템(100)에 의해(예를 들어, 상기 컴퓨팅 시스템(100)에 포함된 구성요소들 또는 프로그램들에 의해) 실행된 적어도 두 개의 수행된 액션들의 액션 시퀀스에 대한 행동 점수를 식별하도록 더 구성될 수 있다.
상기 런타임 모니터(108)는 : 2012년 2월 17일자 미국 출원 제13/399,065호, '애플리케이션 증명을 위한 시스템 및 방법(system and method for application attestation)'으로 출원된 미국 특허 제8,372,441 ; 2012년 7월 27자 미국 출원 제13/559,707, '런타임 운영 통합성을 조정하기 위한 시스템 및 방법(systems and methods for orchestrating runtime operational integrity)' ; 2012년 7월 27일자 미국 출원 제13/559,766, '위협 식별 및 교정을 위한 시스템 및 방법(systems and methods for threat identification and remediation)' ; 2012년 7월 27일자 미국 출원 제13/559,665, '동적 인증을 기반으로 하여 모바일 보안을 제공하는 시스템 및 방법(systems methods for providing mobile security based on dynamic attestation)' ; 2012년 7월 27일자 미국 출원 제13/559,692, 'systems and methods for using reputation scores in network services and transactions to calculate security risks to computer systems and platforms' ; 및 2012년 7월 27일자 미국 출원 제13/559,732, '리스크 상관관계에 기초한 네트워크 흐름 개선을 위한 시스템 및 방법(systems and methods for network flow remediation based on risk correlation)' 에 기술된 것들과 같이, 상기 컴퓨팅 시스템(100) 내의 추가적 기능들을 수행하도록 구성될 수 있으며, 상기 미국 출원들의 전체 내용이 본원에 참고로 편입된다. 상기 런타임 모니터(108)에 의해 수행될 수 있는 추가 기능들은 관련 기술 분야의 지식을 가진 자에게 자명할 것이다.
상기 규칙들 데이터베이스(110)는 다수의 규칙들을 저장하도록 구성될 수 있으며, 상기 규칙들 각각은 액션 시퀀스를 식별한다. 액션 시퀀스는 적어도 두 개의 수행된 액션들의 시퀀스를 포함할 수 있고, 상기 수행된 액션들은 사용자 액션, 애플리케이션 액션 및 시스템 액션 중 하나일 수 있으며, 이는 이하에서 보다 상세하게 설명된다. 상기 정책 데이터베이스(112)는 다수의 평가 정책들을 저장하도록 구성될 수 있으며, 상기 평가 정책들 각각은 상기 규칙들 데이터베이스(112)에 저장된 다수의 규칙들 중 적어도 하나의 규칙을 포함한다. 상기 런타임 모니터(108)는, 상기 정책 데이터베이스(112)에 저장된 평가 정책들 중 적어도 하나를 사용하여, 예를 들어 매칭 규칙들, 확률적 가중치들(probabilistic weights) 및 점수들에 기초하여, 상기 애플리케이션 또는 장치의 런타임 리스크를 식별하도록 구성될 수 있다. 하나 이상의 규칙들을 포함하는 평가 정책을 사용하여 런타임 리스크를 식별하기 위한 방법들은, 아래에서 보다 자세히 설명된다.
상기 규칙들 데이터베이스(110) 및 상기 정책 데이터베이스(112)는 관계형 데이터베이스, 구조화질의어(SQL) 데이터베이스, 분산형 데이터베이스, 객체 데이터베이스 등과 같은, 적절한 임의의 유형의 데이터베이스 구성으로 구성될 수 있다. 적절한 구성들 및 데이터베이스 저장장치 유형들은 관련 기술 분야의 지식을 가진 자에게 자명할 것이다. 상기 데이터베이스들은 각각 단일의 데이터베이스일 수 있거나, 또는 함께 접속될 수 있는(interfaced) 다수의 데이터베이스들을 포함할 수 있다. 상기 접속(interfaced)은 예를 들어 물리적으로(예를 들어, 상기 통신 인프라(110)를 통해 내부적으로, 또는 상기 통신 인터페이스(108)를 통해 외부적으로) 또는 무선으로(예를 들어, 블루투스를 통해) 이루어진다. 또한 상기 데이터베이스들은 상기 컴퓨팅 시스템(100) 내에 포함된 하나 이상의 데이터베이스들, 그리고 (외장 하드 디스크 드라이브, 또는 (예를 들어, 클라우드 내의) 네트워크를 통해 액세스되는 저장장치와 같이) 상기 컴퓨팅 시스템(100)의 외부에 있는 하나 이상의 데이터베이스들을 포함할 수 있다.
상기 통신 인터페이스(108)는 소프트웨어 및 데이터가 상기 컴퓨팅 시스템(100)과 외부 네트워크들 및 장치들 사이에서 전송되는 것을 가능하게 하도록 구성될 수 있다. 상기 통신 인터페이스(108)는 모뎀, 네트워크 인터페이스 카드(예를 들어, 이더넷(Ethernet) 카드), 통신 포트, PCMCIA(personal computer memory card international association) 카드, 또는 당업자에게 자명한 본원에 개시된 기능들을 수행하기에 적합한 다른 유형의 통신 인터페이스일 수 있다. 상기 컴퓨팅 시스템(100)으로 또는 상기 컴퓨팅 시스템(100)으로부터 전송된 소프트웨어 및 데이터는 신호들의 형태일 수 있으며, 전자, 전자기, 광 신호 등의 형태일 수 있다. 상기 신호들은 통신 경로(path)(114)를 통해 이동할 수 있으며, 상기 통신 경로는 네트워크를 통해 무선으로 또는 물리적으로 상기 신호들을 전달하도록 구성될 수 있다. 예를 들어, 상기 통신 경로(114)는 상기 통신 인터페이스(108)에서 네트워크로 신호들을 전달한다. 상기 네트워크로는 예를 들어, 근거리통신망(LAN), 광역네트워크(WAN), 무선 네트워크(예를 들어, WiFi), 모바일 통신 네트워크, 위성 네트워크, 인터넷, 광섬유, 동축 케이블, 적외선, 무선주파수(RF), 또는 이들의 임의의 조합이 있다. 기타 적절한 네트워크 유형들 및 구성들은 관련 기술 분야의 지식을 가진 자에게 자명할 것이다.
또한 상기 통신 인터페이스(108)는 상기 컴퓨팅 시스템(100)을 다수의 입력 장치들과 연결하도록 구성될 수 있으며, 상기 입력 장치들은 상기 컴퓨팅 시스템(100)의 사용자가 상기 시스템을 제어하는 것을 가능하게 한다. 경우에 따라서, 상기 통신 인터페이스(108)는, 다양한 외부 장치들 또는 네트워크에 연결하기 위해, 다수의 인터페이스들 또는 연결들(connections)을 포함할 수 있다. 예를 들어, 상기 통신 인터페이스(108)는 다수의 USB 커넥터들, 이더넷 커넥터, 오디오 커넥터들, 비디오 커넥터들 등을 포함할 수 있다. 입력을 제공하기 위해 상기 컴퓨팅 시스템(100)과 사용될 수 있는, 입력 장치들의 적절한 유형은 관련 기술 분야의 지식을 가진 자에게 자명할 것이며, 키보드, 마우스, 터치스크린, 태블릿, 클릭휠(click wheel), 트랙볼(trackball), 마이크로폰, 카메라 등을 포함할 수 있다.
애플리케이션 또는 장치에 대한 런타임 리스크 및 행동 점수를 식별하기 위한 방법
도 2는 상기 컴퓨팅 시스템(100)에서 수행된 액션들의 액션 시퀀스를 식별하고, 상기 액션 시퀀스에 관련된 애플리케이션 또는 장치에 대한 해당 런타임 리스크 및 행동 점수를 식별하기 위한 방법을 도시하는 흐름도이다. 도 2에 도시된 방법을 사용하여 식별된 상기 액션 시퀀스들은 오직 예시로서 제공되며, 상기 컴퓨팅 시스템(100)의 상기 런타임 모니터(108)에 의해 애플리케이션 또는 장치의 런타임 리스크를 식별하는데 사용하기에 적합할 수 있는 액션 시퀀스들에 대해 완전하지 않다는 것은, 관련 기술 분야의 지식을 가진 자에게 자명할 것이다.
참조번호 202 단계에서, 상기 런타임 모니터(108)는 수행된 액션들에 대해 상기 컴퓨팅 시스템(100)을 모니터할 수 있다. 상기 수행된 액션들은 사용자 액션들, 애플리케이션 액션들, 그리고 시스템 액션들을 포함할 수 있으며, 각각의 액션들은 도 3과 함께 보다 상세히 설명된다. 상기 런타임 모니터(108)에 의해 액션이 검출되자마자, 참조번호 204 단계에서, 상기 런타임 모니터는 (예를 들어, 상기 처리 유닛(102)을 통해) 수행된 액션 유형을 식별할 수 있다. 상기 수행된 액션 유형이 시스템 액션이라면, 그 후 참조번호 206 단계에서, 상기 런타임 모니터(108)는 상기 시스템 액션에 선행하는 액션을 식별하는 것을 시도할 수 있다. 그 다음, 상기 프로세스는 참조번호 204 단계로 되돌아와, 상기 선행하는 액션의 액션 유형을 식별할 수 있다. 이로써, 오직 시스템 액션들만을 포함하는 액션 시퀀스는, 수행될 수 있는 상기 애플리케이션 또는 장치에 관련된 액션이 없기 때문에, 애플리케이션 또는 장치의 런타임 리스크를 식별하기 위해 사용되지 않을 수 있다.
상기 식별된 액션이 애플리케이션 액션이라면, 그 후 참조번호 208 단계에서, 상기 런타임 모니터(108)는 상기 처리 유닛(102)에 의해 식별될 수 있는 차후의 시스템 액션에 대해 모니터 할 수 있다. 시스템 액션으로 이어지는 애플리케이션 액션은 액션 시퀀스일 수 있으며, 이는 이하에서 보다 상세히 설명된다. 상기 액션 시퀀스는, 참조번호 218 단계에서, 애플리케이션 또는 장치(예를 들어, 상기 시스템 액션이 발생하도록 야기한 애플리케이션 액션의 장치)의 런타임 리스크를 식별하기 위해 사용될 수 있으며, 이 또한 아래에서 보다 상세히 설명된다. 참조번호 204 단계에서 식별된 상기 액션이 사용자 액션이라면, 그 후 상기 런타임 모니터(108)는 참조번호 210 단계에서 상기 처리 유닛(102)에 의해 식별될 수 있는, 임의의 유형의 차후 액션에 대해 모니터할 수 있다. 참조번호 212 단계에서, 상기 처리 유닛(102)은 상기 차후 수행된 액션이 시스템 액션인지 애플리케이션 액션인지를 식별할 수 있다.
상기 액션이 참조번호 212 단계에서 시스템 액션으로 식별된다면, 그 후, 상기 시스템 액션으로 이어질 상기 사용자 액션은, (예를 들어, 상기 사용자 액션에 의해 트리거될 때, 상기 시스템 액션이 발생하도록 야기하는) 애플리케이션 또는 장치의 런타임 리스크를 식별하기 위해 적합한 액션 시퀀스로 식별될 수 있다. 참조번호 212 단게에서 식별된 액션이 애플리케이션 액션이라면, 그 다음, 참조번호 213 단계에서, 상기 런타임 모니터(108)는 차후 시스템 액션에 대해 모니터하며, 상기 처리 유닛(102)은 차후 시스템 액션을 식별할 수 있다. 식별된 차후 시스템 액션이 없다면, 그 후, 상기 애플리케이션 액션으로 이어질 상기 사용자 액션은 적합한 액션 시퀀스로 식별될 수 있다. 반대로, 차후 시스템 액션이 발생한다면, 그 후, 참조번호 216 단계에서, 상기 처리 유닛(102)은 발생한 상기 시스템 액션을 식별할 수 있으며, 이는 애플리케이션 액션 다음에 시스템 액션으로 이어지는 사용자 액션을 적합한 액션 시퀀스로 식별할 수 있다.
참조번호 218 단계에서, (예를 들어, 상기 런타임 모니터(108)의 응용 프로그램을 실행하는)상기 처리 유닛(102)은, 상기 식별된 액션 시퀀스에 기초하여, 상기 애플리케이션 또는 장치의 런타임 리스크를 식별할 수 있다. 상기 런타임 리스크는 상기 애플리케이션 또는 장치에 의해 야기된 특정 유형의 위협을 식별하고 그리고/또는 예측할 수 있다. 예를 들어, 런타임 리스크는 물리적 손상 위협, 우연한(accidental) 위협, 의도적 위협, 기술적 오류의 위협, 기능 또는 정보의 절충(compromise), 이들의 조합 등을 식별할 수 있다. 경우에 따라서, 다수의 런타임 리스크들은 다수의 유형의 위협들에 따라 식별될 수 있다. 상기 런타임 리스크는 상기 정책 데이터베이스(112) 내에 저장된 평가 정책을 적어도 하나 사용하여 식별될 수 있다. 각각의 평가 정책은 상기 규칙들 데이터베이스(110)에 저장된 하나 이상의 규칙들을 포함할 수 있으며, 매칭 규칙들 및 확률적 가중치들 및 점수들에 기초하여, 상기 런타임 리스크를 식별할 수 있다. 애플리케이션 또는 장치의 런타임 리스크를 식별하기 위해 평가 정책에 의해 사용될 수 있는 확률적 가중치들 및 점수들의 유형들 및 값들은 관련 기술 분야의 지식을 가진 자에게 자명할 것이다.
상기 규칙들 데이터베이스(110)에 저장된 규칙들은 각각 액션 시퀀스를 식별할 수 있다. 예를 들어, 상기 규칙들 데이터베이스(110) 내의 하나 이상의 규칙들은, 시스템 액션으로 이어지는 사용자 액션을 포함하는 액션 시퀀스를 식별할 수 있다. 상기 규칙들 데이터베이스(110) 내의 해당 규칙에 의해 식별될 수 있는 액션 시퀀스들의 추가적 유형들은, 관련 기술 분야의 지식을 가진 자에게 자명할 것이며, 도 3과 함께 아래에서 보다 자세히 설명될 것이다. 또한 액션 시퀀스의 런타임 리스크 식별은 도 3과 함께 아래에서 보다 자세히 설명된다.
참조번호 220 단계에서, 상기 런타임 모니터(108)는 상기 애플리케이션 또는 장치의 행동 점수를 식별할 수 있으며, 이는 상기 애플리케이션 또는 장치의 상기 식별된 런타임 리스크에 기초할 수 있다. 상기 행동 점수는, 상기 애플리케이션 또는 장치의 리스크 또는 위협을 상기 컴퓨팅 시스템(100) 또는 다른 장치(예를 들어, 상기 통신 인터페이스(108)를 통해 상기 컴퓨팅 시스템(100)에 연결된 네트워크 등)에 표시할 수 있는, 숫자(number)이거나 기타 다른 값(예를 들어, 등급(rating))일 수 있다. 일부 실시 예들에서, 상기 행동 점수는, 상기 애플리케이션 또는 장치와 관련된, 상기 특정 식별된 액션 시퀀스의 리스크 또는 위협을 나타낼 수 있다. 다른 실시 예들에서, 상기 행동 점수는 상기 애플리케이션 또는 장치의 리스크 또는 위협 전체를 상기 컴퓨팅 시스템(100) 또는 다른 장치에 나타낼 수 있다.
액션 시퀀스들
도 3은 수행된 액션들 및 상기 컴퓨팅 시스템(100)에 의해 사용될 수 있는 예시적 액션 시퀀스들의 일례이다. 상기 예시적 액션 시퀀스는, 도 2에 도시된 방법에서, 애플리케이션 또는 장치의 런타임 리스크를 평가하기 위해 사용될 수 있다.
상기 컴퓨팅 시스템(100)의 런타임 모니터(108)는 상기 컴퓨팅 시스템(100) 내에서/에 의해 수행된 액션들을 모니터할 수 있다. 상기 런타임 모니터(108)에 의해 모니터되고, 상기 처리 유닛(102)에 의해 식별된, 상기 수행된 액션들은 사용자 액션(302), 애플리케이션 액션(304), 그리고 시스템 액션(306)을 포함할 수 있다. 상기 사용자 액션(302)은 상기 컴퓨팅 시스템(100) 사용자로부터의 임의 형태의 명시적인 입력일 수 있다. 예를 들어, 상기 사용자 액션은 프로그램 시작(launch), 키보드 입력, 마우스 클릭, 터치스크린 상의 터치 입력, 마우스 움직임, 클릭휠을 스크롤하거나 클릭하기, 마이크로폰으로 음성 명령, 사람 제스처들을 판독하도록 구성된 장치로의 제스처들 등을 포함할 수 있다.
상기 애플리케이션 액션(304)은, (예를 들어, 상기 메모리 유닛(106)에 저장되고 상기 처리 유닛(102)에 의해 실행된) 상기 애플리케이션에 의해 수행된 임의의 액티비티일 수 있으며, 상기 애플리케이션은 상기 컴퓨팅 시스템(100)의 실행 중에 태스크에 의해 프로그램에 따라(programmatically) 개시될 수 있다. 실시 예에서, 상기 애플리케이션 액션(304)을 수행하는 애플리케이션은, 런타임 리스크가 식별되는 애플리케이션일 수 있으며, 또는 런타임 리스크가 식별되는 장치에 의해 제어되거나 상기 장치를 제어하도록 구성된 애플리케이션일 수 있다. 예를 들어, 상기 애플리케이션 액션(304)은 스타트 유형(예를 들어, 콘솔(console), 서비스, 부모(parent) 프로세스, 스크립트), 처음 실행(first time execution), 포크(fork) 프로세스(예를 들어, 자식 프로세스(child precess) 생성), 코드 인젝션(injection) 방법들, 키보드 캡처 방법들, 스크린 캡처 방법들, 동적(dynamic) 코드블럭들, 개방 데이터 문서들(open data documents), 자동종료 또는 자기-종료(self-termination), 비정상 종료(예를 들어, 예외 조건들), 다수의 재시작들, 장치(들)(예를 들어, 런타임 리스크가 식별된 장치)의 시작, 프로세스 열거(enumeration), 암호 기법, 통신 프로토콜들, 성능 지표(performance metrics) 등 관련 기술 분야의 지식을 가진 자에게 자명한 것들을 포함할 수 있다.
상기 시스템 액션(306)은, 상기 컴퓨팅 시스템의 상태를 변화시키는 애플리케이션 액션 또는 사용자 액션을 대신하여, 또는 이들의 결과로서, 상기 컴퓨팅 시스템(100)에 의해 (예를 들어, 상기 컴퓨팅 시스템(100)에 포함된 하나 이상의 구성요소들에 의해) 수행되는 임의의 작동(operation)일 수 있다. 예를 들어, 상기 시스템 액션(306)은 시스템 파일 생성, 시스템 폴더 수정, 레지스트리 수정 및 추가, 애플리케이션 세팅 수정, 드라이버 설치 또는 설치 해제(uninstall)(예를 들어, 시스템 파일들), 네트워크 활동, 임시 시스템 폴더들로부터의 실행, 대체 데이터 스트림들(alternate data stream : ADS), 환경 측면들(예를 들어, 디버거 존재, 가상 환경들, 시스템 부팅 시간/순서들) 등을 포함할 수 있다.
상기 런타임 모니터(108)는, 애플리케이션 또는 장치의 런타임 리스크를 식별하도록 사용되는 액션 시퀀스(308)를 (예를 들어, 도 2에 도시되고 위에서 언급된 방법을 사용하여) 식별하도록 구성될 수 있다. 상기 액션 시퀀스(308)는 적어도 두 개의 수행된 액션들을 포함할 수 있으며, 또한 상기 컴퓨팅 시스템(100) 내에서 수행된 액션들의 세트를 나타낼 수 있다. 예를 들어, 상기 액션 시퀀스(308a)는 시스템 액션(306)으로 이어지는 사용자 액션(302)을 포함할 수 있다. 일부 실시 예들에서, 상기 런타임 모니터(108)는 각각의 수행된 액션이 발생하는 시각을 식별할 수 있다. 예를 들어, 상기 액션 시퀀스(308a)에 대해, 상기 런타임 모니터(108)는, 상기 사용자 액션(302)이 시각 Tu에 발생하고, 상기 시스템 액션(306)은 시각 Ts에 발생하며, 이 경우 Ts>Tu 로, 상기 사용자 액션(302)이 먼저 수행되고, 두 번째로 상기 시스템 액션(306)이 수행된다는 것을 식별할 수 있다.
상기 런타임 모니터(108)에 의해 식별될 수 있으며 애플리케이션 또는 장치의 런타임 리스크를 식별하도록 사용될 수 있는 추가 액션 시퀀스들(308)은, 참조번호 308b, 308c 및 308d의 액션 시퀀스들을 포함할 수 있다. 참조번호 308b의 액션 시퀀스는 애플리케이션 액션(304)으로 이어지는 사용자 액션(302)을 포함한다. 참조번호 308c의 액션 시퀀스는 시스템 액션(306)으로 이어지는 애플리케이션 액션(304)을 포함한다. 참조번호 308d의 액션 시퀀스는 세 개의 수행된 액션들을 포함하며, 사용자 액션(302) 다음으로 애플리케이션 액션(304)이 이어지며, 그 다음으로 시스템 액션(306)으로 이어진다. 이러한 액션 시퀀스에서, 상기 런타임 모니터(108)는 상기 사용자 액션(302)은 시각 Tu에서 발생했으며, 상기 애플리케이션 액션(304)은 시각 Ta에서, 상기 시스템 액션(306)은 Ts에서 발생했다는 것을 식별할 수 있으며, 이 경우, Ts>Ta>Tu이다. 상기 런타임 모니터에 의해 식별될 수 있는 추가 액션 시퀀스들은 관련 기술 분야의 지식을 가진 자에게 자명할 것이다.
또한 상기 런타임 모니터(108)는 상기 액션 시퀀스(308)의 진위를 식별하도록 구성될 수 있어서, 정확한(authentic) 액션 시퀀스는 이벤트들의 포렌식(forensic) 체인 또는 상기 수행된 액션들 간의 자연스런 진행이 있음을 나타낼 수 있다. 이러한 경우, 액션 시퀀스들을 인증하는 것은 상기 런타임 모니터(108)가 순전히 정황적인 액션 시퀀스들(예를 들어, 애플리케이션 액션(304) 또는 시스템 액션(306)이 상기 사용자 액션(302)의 결과가 아닌 경우)을 고려하지 않도록 하는 것이 가능할 수 있다. 그 결과 행동들 및 런타임 리스크의 점수를 더 정확하게 매길 수 있으며, 또한 더 적은 프로세싱을 필요로 하기 때문에, 런타임 리스크들 및 행동 점수들을 더 효율적으로 식별할 수 있다. 상기 런타임 모니터(108)는 여러 가지 요인들에 기초하여 액션 시퀀스를 인증할 수 있으며, 상기 요인들은 런타임에 감지된 애플리케이션의 기능에 기초하거나 관련 바이너리들의 통계 및/또는 동적 분석에 기초한 확률적(probable) 액션 추론들, 순서화된 시퀀스들, 순서화되지 않은 시퀀스들, 근접성 분석, 이상점(outlier)들, 확률적 가중치들(probabilistic weights) 및 점수, 그리고 관련 기술 분야에 지식을 가진 자에게 자명할 다른 적합한 요인들 중 적어도 하나를 포함할 수 있다.
상기 런타임 모니터(108)는 액션 시퀀스(308)를 인증할 수 있으며, 상기 다수의 규칙들 중 적어도 하나의 규칙을 포함한 적어도 하나의 평가 정책을 사용하여, (예를 들어, 상기 액션 시퀀스에 포함된) 시각 근접성에 기초하여, 그리고 상기 액션 시퀀스(308)에서의 수행된 액션들 사이에서 논리적으로 추론될 수 있는 자연적 관련성(natural affinity)에 기초하여, 런타임 리스크를 판단할 수 있다. 예를 들어, 어떠한 사용자의 개입 없이, 이메일에 첨부된 문서(예를 들어, PDF, 엑셀, 파워포인트, 워드 등)를 열 때, 상기 컴퓨팅 시스템(100)에 대한 파일 또는 레지스트리 키(registry key) 값의 수정은 액션 시퀀스에 대한 자연스러운 진행일 수 없으며, 따라서 상당한 런타임 리스크를 나타낼 수 있다.
상기 컴퓨팅 시스템(100)에서 수행된 액션들의 액션 시퀀스들은, 예를 들어, 프로세스 체인(예를 들어, 시작(launch) 시퀀스), 실행 프로파일(예를 들어, 성능 매트릭들), 명시적인 사용자 액션(예를 들어, 웹 링크 열기(opening), 이메일 첨부 열기, 장치 삽입), 사용자의 비활동, 시스템 파일 생성, 시스템 파일의 수정, 시스템 API(application program interface) 호출들, 장치 액세스 또는 작동들(예를 들어, 카메라, 마이크로폰, 카드 리더기들, USB 드라이브들 등), 정보 액세스(예를 들어, 컨택트(contact) 목록, GPS 위치, 보안 설정 등), 네트워크 활동 등을 포함할 수 있다. 상기 런타임 모니터(108)는 위에서 언급된 요인들, 정책들, 규칙들에 기초하여, 액션시퀀스(308)를 정상, 비정상, 또는 이상점으로 식별할 수 있다.
예를 들어, 사용자는 애플리케이션을 설치(예를 들어, 사용자 액션(302))할 수 있으며, 설치의 일부로서, 상기 애플리케이션은 상기 처리 유닛(102)이 상기 레지스트리를 수정하도록(예를 들어, 시스템 액션(206)) 유발(예를 들어, 애플리케이션 액션(304))할 수 있다. 이러한 경우, 상기 런타임 모니터(108)는 상기 액션 시퀀스를 정상 시퀀스라고 식별할 수 있으며, 상기 액션 시퀀스 및/또는 상기 애플리케이션이 최소 런타임 리스크를 가지고 있다고 식별하고, 해당 행동 점수를 할당할 수 있다. 또 다른 예에서, 사용자는 이동식 매체를 상기 컴퓨팅 시스템(100)에 삽입(예를 들어, 사용자 액션(302))할 수 있다. 이는 자동적으로, 그리고 사용자에게 명료하게, 상기 처리 유닛(102)이 시스템 파일들 및 레지스트리 키들을 삭제(예를 들어, 시스템 액션(306))하도록 유발(예를 들어, 애플리케이션 액션(304))할 수 있다. 상기 런타임 모니터(108)는 이러한 액션 시퀀스가 비정상이라고 식별하고, 상기 장치(예를 들어, 이동식 매체)가 상당한 런타임 리스크를 가지고 있다고 식별할 수 있다. 정상, 비정상, 또는 이상점으로 고려될 수 있는 액션 시퀀스들은, 컴퓨팅 시스템마다, 그리고 상황에 따라 다를 수 있으며, 이는 관련 기술 분야의 지식을 가진 자에게 자명할 것이다.
애플리케이션 또는 장치에 대한 런타임 리스크를 평가하기 위한 예시적 방법
도 4는 상기 컴퓨팅 시스템(100)에서, 애플리케이션 또는 장치에 대한 런타임 리스크를 평가하기 위한 예시적 방법(400)을 도시한다.
참조번호 402의 단계에서, 다수의 규칙들은 규칙들 데이터베이스(상기 규칙들 데이터베이스(110))에 저장될 수 있으며, 상기 규칙들 각각은 액션 시퀀스를 식별한다. 상기 액션 시퀀스는 적어도 두 개의 수행된 액션들의 시퀀스일 수 있으며, 상기 수행된 액션 각각은, 사용자 액션(예를 들어, 상기 사용자 액션(302)), 애플리케이션 액션(예를 들어, 상기 애플리케이션 액션(304)), 그리고 시스템 액션(예를 들어, 상기 시스템 액션(306)) 중 적어도 하나이다. 참조번호 404의 단계에서, 다수의 평가 정책들은 정책 데이터베이스(예를 들어, 상기 정책 데이터베이스(112))에 저장될 수 있으며, 상기 평가 정책 각각은 다수의 규칙들 중 적어도 하나의 규칙을 포함한다.
참조번호 406의 단계에서, 애플리케이션 또는 장치에 대한 런타임 리스크는 적어도 하나의 평가 정책을 사용하여 식별될 수 있으며, 상기 식별된 런타임 리스크는 특정 유형의 위협을 식별하고 예측한다. 일실시 예에서, 상기 런타임 리스크는 매칭 규칙들, 확률적 가중치들(probabilistic weights) 및 점수들에 기초하여 식별될 수 있다. 일부 실시 예들에서, 상기 런타임 리스크는, 상기 액션 시퀀스의 적어도 두 개의 수행된 액션들의 시각 근접성, 그리고 상기 적어도 두 개의 수행된 액션들 사이에서 추론되는 자연적 관련성에 기초하여 식별될 수 있다. 참조번호 408의 단계에서, 상기 애플리케이션 및 장치에 대한 행동 점수는 상기 식별된 런타임 리스크에 기초하여, 처리 장치(예를 들어, 상기 처리 유닛(102))에 의해 식별될 수 있다.
상기 사용자 액션(302)은 상기 컴퓨팅 시스템(100) 사용자로부터의 임의 형태의 명시적인 입력일 수 있다. 상기 애플리케이션 액션(304)은 애플리케이션에 의해 수행된 임의의 액티비티일 수 있으며, 상기 애플리케이션은 상기 컴퓨팅 시스템(100)의 실행 중에 태스크에 의해 프로그램에 따라(programmatically) 개시된다. 상기 시스템 액션(306)은, 상기 컴퓨팅 시스템(100)의 상태를 변화시키는 애플리케이션 액션(304) 또는 사용자 액션(302)을 대신하여, 또는 이들의 결과로서, 상기 컴퓨팅 시스템(100)에 의해 수행되는 임의의 작동(operation)일 수 있다.
일실시 예에서, 상기 방법(400)은 상기 처리 장치(102)에 의해, 다수의 요인들에 기초하여, 상기 액션 시퀀스 중 적어도 두 개의 수행된 액션들이 이벤트들의 포렌식 체인을 기술하는지를 평가하는 단계를 더 포함할 수 있다. 상기 다수의 요인들은, 애플리케이션의 기능에 기초한 확률적(probable) 액션 추론들, 순서화된 시퀀스들, 순서화되지 않은 시퀀스들, 근접성 분석, 이상점(outlier)들, 그리고 확률적 가중치들(probabilistic weights) 및 점수 중 적어도 하나를 포함할 수 있다.
일부 실시 예들에서, 상기 적어도 두 개의 수행된 액션들은, 제1 시각에 수행되는 제1 액션, 그리고 제2 시각에 수행되는 제2 액션을 포함할 수 있다. 또 다른 실시 예에서, 상기 제2 시각은 제1 시각 후에 발생될 수 있다(예를 들어, 상기 제1 액션은 상기 제2 액션 보다 앞서 수행된다). 또 다른 실시 예에서, 상기 제1 액션은 사용자 액션(302)일 수 있으며, 상기 제2 액션은 시스템 액션(306)일 수 있다. 다른 대안적 실시 예에서, 상기 제1 액션은 사용자 액션(302)일 수 있으며, 상기 제2 액션은 애플리케이션 액션(304)일 수 있다. 또 다른 대안적 실시 예에서, 상기 제1 액션은 애플리케이션 액션(304)일 수 있으며, 상기 제2 액션은 시스템 액션(306)일 수 있다. 일실시 예에서, 상기 액션 시퀀스는 사용자 액션(302), 애플리케이션 액션(304), 그리고 시스템 액션(306)을 포함하는, 세 개의 수행된 액션들을 포함할 수 있다. 이 경우, 상기 애플리케이션 액션(304)은 시간적으로(temporally) 상기 사용자 액션(302) 후에 수행되며, 상기 시스템 액션(306)은 시간적으로 상기 애플리케이션 액션(304) 다음에 수행된다.
본 개시와 일치하는 기술들은, 다른 기능들 중, 애플리케이션 또는 장치의 런타임 리스크를 평가하기 위한 시스템 및 방법을 제공한다. 개시된 시스템 및 방법의 다양한 예시적 실시 예들이 위에서 기술되었지만, 그들은 오직 예시의 목적을 위한 것이며, 한정을 위해 제시된 것이 아님을 이해해야 한다. 예시적 실시 예는 완전하지 않으며, 본 발명을 개시된 상세한 내용들로 한정하지 않는다. 앞서 교시한 것을 고려하여 본 발명의 범위 및 사상을 벗어나지 않으면서 수정 및 변경이 이루어지거나, 본 발명의 실시로부터 수정 및 변경 방법이 얻어질 수 있다.

Claims (24)

  1. 애플리케이션 또는 장치에 대한 런타임 리스크(runtime risk)를 평가하는 방법에 있어서,
    상기 방법은 :
    규칙들 데이터베이스에 다수의 규칙들을 저장하는 단계;
    정책(policy) 데이터베이스에 다수의 평가 정책들을 저장하는 단계;
    적어도 하나의 평가 정책을 사용하여, 애플리케이션 또는 장치에 대한 런타임 리스크를 식별하는(identifying) 단계; 및
    상기 식별된 런타임 리스크에 기초하여, 처리 장치에 의해 상기 애플리케이션 또는 장치에 대한 행동 점수(behavior score)를 식별하는 단계를 포함하며,
    상기 규칙들 각각은 액션 시퀀스를 식별하고,
    상기 평가 정책들 각각은 상기 다수의 규칙들 중 적어도 하나의 규칙을 포함하고,
    상기 식별된 런타임 리스크는 특정 유형의 위협을 식별하고 예측하고,
    상기 액션 시퀀스는 적어도 두 개의 수행된 액션들의 시퀀스이고,
    각각의 수행된 액션은 사용자 액션, 애플리케이션 액션, 그리고 시스템 액션 중 적어도 하나인, 런타임 리스크 평가 방법.
  2. 제1 항에 있어서,
    상기 사용자 액션은 컴퓨팅 시스템 사용자로부터의 임의 형태의 명시적인 입력인, 런타임 리스크 평가 방법.
  3. 제1 항에 있어서,
    상기 애플리케이션 액션은, 컴퓨팅 시스템의 실행 중, 태스크에 의해 프로그램에 따라(programmatically) 개시되는 애플리케이션에 의해 수행된, 임의의 액티비티인, 런타임 리스크 평가 방법.
  4. 제1 항에 있어서,
    상기 시스템 액션은, 컴퓨팅 시스템의 상태를 변화시키는 애플리케이션 액션 또는 사용자 액션을 대신하여, 또는 이들의 결과로서, 상기 컴퓨팅 시스템에 의해 수행되는 임의의 작동(operation)인, 런타임 리스크 평가 방법.
  5. 제1 항에 있어서,
    상기 적어도 두 개의 수행된 액션들 중 제1 액션은, 제1 시각에 수행되며,
    상기 적어도 두 개의 수행된 액션들 중 제2 액션은, 제2 시각에 수행되는, 런타임 리스크 평가 방법.
  6. 제5 항에 있어서,
    상기 제1 액션은 사용자 액션이며,
    상기 제2 액션은 시스템 액션이고,
    상기 제2 시각은 제1 시각 후에 발생되는, 런타임 리스크 평가 방법.
  7. 제5 항에 있어서,
    상기 제1 액션은 사용자 액션이며,
    상기 제2 액션은 애플리케이션 액션이고,
    상기 제2 시각은 제1 시각 후에 발생되는, 런타임 리스크 평가 방법.
  8. 제5 항에 있어서,
    상기 제1 액션은 애플리케이션 액션이며,
    상기 제2 액션은 시스템 액션이고,
    상기 제2 시각은 제1 시각 후에 발생되는, 런타임 리스크 평가 방법.
  9. 제1 항에 있어서,
    상기 액션 시퀀스는 세 개의 수행된 액션들을 포함하며,
    상기 세 개의 수행된 액션들 중 제1 액션은 사용자 액션이며,
    상기 세 개의 수행된 액션들 중 제2 액션은 애플리케이션 액션이며,
    상기 세 개의 수행된 액션들 중 제3 액션은 시스템 액션이며,
    상기 제2 액션은 시간적으로 상기 제1 액션 후에 수행되며,
    상기 제3 액션은 시간적으로 상기 제2 액션 후에 수행되는, 런타임 리스크 평가 방법.
  10. 제1 항에 있어서,
    상기 런타임 리스크는 매칭 규칙들, 확률적 가중치들(probabilistic weights) 및 점수들에 기초하여 식별되는, 런타임 리스크 평가 방법.
  11. 제1 항에 있어서,
    상기 런타임 리스크는, 상기 액션 시퀀스(308)의 적어도 두 개의 수행된 액션들의 시각 근접성에 기초하여, 그리고 상기 적어도 두 개의 수행된 액션들 사이에서 추론되는 자연적 관련성에 기초하여 식별되는, 런타임 리스크 평가 방법.
  12. 제1 항에 있어서,
    상기 방법은 :
    다수의 요인들에 기초하여, 상기 처리 장치에 의해, 상기 액션 시퀀스 중 적어도 두 개의 수행된 액션들이 이벤트들의 포렌식 체인(forensic chain)을 기술하는지를 평가하는 단계를 더 포함하며,
    상기 다수의 요인들은, 애플리케이션의 기능에 기초한 확률적(probable) 액션 추론들, 순서화된 시퀀스들, 순서화되지 않은 시퀀스들, 근접성 분석, 이상점(outlier)들, 그리고 확률적 가중치들(probabilistic weights) 및 점수 중 적어도 하나를 포함하는, 런타임 리스크 평가 방법.
  13. 애플리케이션 또는 장치에 대한 런타임 리스크를 평가하기 위한 시스템에 있어서,
    상기 시스템은 :
    다수의 규칙들을 저장하도록 구성된 규칙들 데이터베이스;
    다수의 평가 정책들을 저장하도록 구성된 정책 데이터베이스; 및
    처리 장치를 포함하며,
    상기 규칙들 각각은 액션 시퀀스를 식별하고,
    상기 평가 정책들 각각은 상기 다수의 규칙들 중 적어도 하나의 규칙을 포함하고,
    상기 처리 장치는, 적어도 하나의 평가 정책을 사용하여, 애플리케이션 또는 장치에 대한 런타임 리스크를 식별하도록 구성되며, 상기 식별된 런타임 리스크는 특정 유형의 위협을 식별하고 예측하고,
    상기 처리 장치는, 상기 식별된 런타임 리스크에 기초하여, 상기 애플리케이션 또는 장치에 대한 행동 점수를 식별하며,
    상기 액션 시퀀스는 적어도 두 개의 수행된 액션들의 시퀀스이고,
    상기 수행된 액션 각각은 사용자 액션, 애플리케이션 액션, 그리고 시스템 액션 중 적어도 하나인, 런타임 리스크 평가 시스템.
  14. 제13 항에 있어서,
    상기 사용자 액션은 컴퓨팅 시스템 사용자로부터의 임의 형태의 명시적인 입력인, 런타임 리스크 평가 시스템.
  15. 제13 항에 있어서,
    상기 애플리케이션 액션은, 컴퓨팅 시스템의 실행 중, 태스크에 의해 프로그램에 따라(programmatically) 개시되는 애플리케이션에 의해 수행된, 임의의 액티비티인, 런타임 리스크 평가 시스템.
  16. 제13 항에 있어서,
    상기 시스템 액션은, 컴퓨팅 시스템의 상태를 변화시키는 애플리케이션 액션 또는 사용자 액션을 대신하여, 또는 이들의 결과로서, 상기 컴퓨팅 시스템에 의해 수행되는 임의의 작동(operation)인, 런타임 리스크 평가 시스템.
  17. 제13 항에 있어서,
    상기 적어도 두 개의 수행된 액션들 중 제1 액션은, 제1 시각에 수행되며,
    상기 적어도 두 개의 수행된 액션들 중 제2 액션은, 제2 시각에 수행되는, 런타임 리스크 평가 시스템.
  18. 제17 항에 있어서,
    상기 제1 액션은 사용자 액션이며,
    상기 제2 액션은 시스템 액션이고,
    상기 제2 시각은 제1 시각 후에 발생되는, 런타임 리스크 평가 시스템.
  19. 제17 항에 있어서,
    상기 제1 액션은 사용자 액션이며,
    상기 제2 액션은 애플리케이션 액션이고,
    상기 제2 시각은 제1 시각 후에 발생되는, 런타임 리스크 평가 시스템.
  20. 제17 항에 있어서,
    상기 제1 액션은 애플리케이션 액션이며,
    상기 제2 액션은 시스템 액션이고,
    상기 제2 시각은 제1 시각 후에 발생되는, 런타임 리스크 평가 시스템.
  21. 제13 항에 있어서,
    상기 액션 시퀀스는 세 개의 수행된 액션들을 포함하며,
    상기 세 개의 수행된 액션들 중 제1 액션은 사용자 액션이며,
    상기 세 개의 수행된 액션들 중 제2 액션은 애플리케이션 액션이며,
    상기 세 개의 수행된 액션들 중 제3 액션은 시스템 액션이며,
    상기 제2 액션은 시간적으로 상기 제1 액션 후에 수행되며,
    상기 제3 액션은 시간적으로 상기 제2 액션 후에 수행되는, 런타임 리스크 평가 시스템.
  22. 제13 항에 있어서,
    상기 런타임 리스크는 매칭 규칙들, 확률적 가중치들(probabilistic weights) 및 점수들에 기초하여 식별되는, 런타임 리스크 평가 시스템.
  23. 제13 항에 있어서,
    상기 런타임 리스크는, 상기 액션 시퀀스의 적어도 두 개의 수행된 액션들의 시각 근접성에 기초하여, 그리고 상기 적어도 두 개의 수행된 액션들 사이에서 추론되는 자연적 관련성에 기초하여 식별되는, 런타임 리스크 평가 시스템.
  24. 제13 항에 있어서,
    상기 처리 장치는 다수의 요인들에 기초하여, 상기 액션 시퀀스 중 적어도 두 개의 수행된 액션들이 이벤트들의 포렌식 체인(forensic chain)을 기술하는지를 평가하도록 더 구성되며,
    상기 다수의 요인들은, 애플리케이션의 기능에 기초한 확률적(probable) 액션 추론들, 순서화된 시퀀스들, 순서화되지 않은 시퀀스들, 근접성 분석, 이상점(outlier)들, 그리고 확률적 가중치들(probabilistic weights) 및 점수 중 적어도 하나를 포함하는, 런타임 리스크 평가 시스템.
KR1020157018997A 2013-01-15 2014-01-14 인지적 행동 인식을 위한 시스템 및 방법 KR20150106889A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/741,878 2013-01-15
US13/741,878 US8850517B2 (en) 2013-01-15 2013-01-15 Runtime risk detection based on user, application, and system action sequence correlation
PCT/US2014/011427 WO2014113367A1 (en) 2013-01-15 2014-01-14 System for and a method of cognitive behavior recognition

Publications (1)

Publication Number Publication Date
KR20150106889A true KR20150106889A (ko) 2015-09-22

Family

ID=51166342

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157018997A KR20150106889A (ko) 2013-01-15 2014-01-14 인지적 행동 인식을 위한 시스템 및 방법

Country Status (6)

Country Link
US (1) US8850517B2 (ko)
EP (1) EP2946328A4 (ko)
JP (1) JP2016503219A (ko)
KR (1) KR20150106889A (ko)
IL (1) IL238324A (ko)
WO (1) WO2014113367A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190032517A (ko) * 2016-07-22 2019-03-27 알리바바 그룹 홀딩 리미티드 위험 식별 방법, 클라이언트 디바이스 및 위험 식별 시스템

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9215245B1 (en) * 2011-11-10 2015-12-15 Google Inc. Exploration system and method for analyzing behavior of binary executable programs
US20150101050A1 (en) * 2013-10-07 2015-04-09 Bank Of America Corporation Detecting and measuring malware threats
WO2015056056A1 (en) * 2013-10-18 2015-04-23 Nokia Technologies Oy Method and system for operating and monitoring permissions for applications in an electronic device
US9355246B1 (en) * 2013-12-05 2016-05-31 Trend Micro Inc. Tuning sandbox behavior based on static characteristics of malware
US9760713B1 (en) * 2014-02-27 2017-09-12 Dell Software Inc. System and method for content-independent determination of file-system-object risk of exposure
US9967283B2 (en) * 2014-09-14 2018-05-08 Sophos Limited Normalized indications of compromise
US10530790B2 (en) * 2014-09-25 2020-01-07 Oracle International Corporation Privileged session analytics
US10735404B2 (en) 2015-02-24 2020-08-04 Avatier Corporation Aggregator technology without usernames and passwords implemented in a service store
US10432615B2 (en) * 2015-02-24 2019-10-01 Avatier Corporation Aggregator technology without usernames and passwords implemented in unified risk scoring
US9686273B2 (en) 2015-02-24 2017-06-20 Avatier Corporation Aggregator technology without usernames and passwords
CN105989155B (zh) 2015-03-02 2019-10-25 阿里巴巴集团控股有限公司 识别风险行为的方法及装置
US10127375B2 (en) 2015-03-07 2018-11-13 Protegrity Corporation Enforcing trusted application settings for shared code libraries
US10135633B2 (en) * 2015-04-21 2018-11-20 Cujo LLC Network security analysis for smart appliances
US10230740B2 (en) * 2015-04-21 2019-03-12 Cujo LLC Network security analysis for smart appliances
US10681060B2 (en) * 2015-05-05 2020-06-09 Balabit S.A. Computer-implemented method for determining computer system security threats, security operations center system and computer program product
US9444928B1 (en) * 2015-06-16 2016-09-13 Motorola Mobility Llc Queueing voice assist messages during microphone use
US9894036B2 (en) 2015-11-17 2018-02-13 Cyber Adapt, Inc. Cyber threat attenuation using multi-source threat data analysis
WO2017106206A1 (en) 2015-12-18 2017-06-22 Cujo LLC Intercepting intra-network communication for smart appliance behavior analysis
US20170346837A1 (en) * 2016-05-31 2017-11-30 Micro Focus Software Inc. Real-time security modification and control
US10176331B2 (en) 2016-06-10 2019-01-08 Microsoft Technology Licensing, Llc Enhanced metadata to authentically report the provenance of a file
US10333965B2 (en) 2016-09-12 2019-06-25 Qualcomm Incorporated Methods and systems for on-device real-time adaptive security based on external threat intelligence inputs
CN106528403B (zh) * 2016-10-08 2018-11-20 西安电子科技大学 基于二进制代码植入技术的软件运行时监控方法
CN112258178B (zh) 2018-01-23 2024-01-26 创新先进技术有限公司 支付卡的绑定方法、信任评估方法、装置和电子设备
US11055417B2 (en) * 2018-04-17 2021-07-06 Oracle International Corporation High granularity application and data security in cloud environments
US11487458B2 (en) 2019-11-26 2022-11-01 International Business Machines Corporation Risk detection of data loss for 5G enabled devices
SG11202010671PA (en) 2019-12-20 2020-11-27 Alipay Hangzhou Inf Tech Co Ltd System and method for evaluating risk
US11736336B2 (en) 2021-04-21 2023-08-22 International Business Machines Corporation Real-time monitoring of machine learning models in service orchestration plane
US11733729B2 (en) 2021-09-27 2023-08-22 International Business Machines Corporation Centralized imposing of multi-cloud clock speeds

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6973577B1 (en) * 2000-05-26 2005-12-06 Mcafee, Inc. System and method for dynamically detecting computer viruses through associative behavioral analysis of runtime state
WO2006071985A2 (en) * 2004-12-29 2006-07-06 Alert Logic, Inc. Threat scoring system and method for intrusion detection security networks
US20110179477A1 (en) * 2005-12-09 2011-07-21 Harris Corporation System including property-based weighted trust score application tokens for access control and related methods
US7877806B2 (en) * 2006-07-28 2011-01-25 Symantec Corporation Real time malicious software detection
US7908660B2 (en) 2007-02-06 2011-03-15 Microsoft Corporation Dynamic risk management
US20080288330A1 (en) 2007-05-14 2008-11-20 Sailpoint Technologies, Inc. System and method for user access risk scoring
US8091065B2 (en) * 2007-09-25 2012-01-03 Microsoft Corporation Threat analysis and modeling during a software development lifecycle of a software application
US8214364B2 (en) 2008-05-21 2012-07-03 International Business Machines Corporation Modeling user access to computer resources
US20100125911A1 (en) 2008-11-17 2010-05-20 Prakash Bhaskaran Risk Scoring Based On Endpoint User Activities
US8635694B2 (en) * 2009-01-10 2014-01-21 Kaspersky Lab Zao Systems and methods for malware classification
US8201255B1 (en) * 2009-06-30 2012-06-12 Symantec Corporation Hygiene-based discovery of exploited portals
US8566956B2 (en) 2010-06-23 2013-10-22 Salesforce.Com, Inc. Monitoring and reporting of data access behavior of authorized database users
WO2012112833A2 (en) * 2011-02-17 2012-08-23 Taasera, Inc. System and method for application attestation
US20130096980A1 (en) * 2011-10-18 2013-04-18 Mcafee, Inc. User-defined countermeasures

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190032517A (ko) * 2016-07-22 2019-03-27 알리바바 그룹 홀딩 리미티드 위험 식별 방법, 클라이언트 디바이스 및 위험 식별 시스템
US11075938B2 (en) 2016-07-22 2021-07-27 Advanced New Technologies Co., Ltd. Identifying high risk computing operations
US11570194B2 (en) 2016-07-22 2023-01-31 Advanced New Technologies Co., Ltd. Identifying high risk computing operations

Also Published As

Publication number Publication date
US8850517B2 (en) 2014-09-30
EP2946328A4 (en) 2016-01-06
WO2014113367A1 (en) 2014-07-24
EP2946328A1 (en) 2015-11-25
JP2016503219A (ja) 2016-02-01
US20140201806A1 (en) 2014-07-17
IL238324A (en) 2016-09-29
IL238324A0 (en) 2015-06-30

Similar Documents

Publication Publication Date Title
US8850517B2 (en) Runtime risk detection based on user, application, and system action sequence correlation
US11687653B2 (en) Methods and apparatus for identifying and removing malicious applications
CN109155774B (zh) 用于检测安全威胁的系统和方法
US9838405B1 (en) Systems and methods for determining types of malware infections on computing devices
US9614867B2 (en) System and method for detection of malware on a user device using corrected antivirus records
EP3039609B1 (en) Systems and methods for identifying private keys that have been compromised
EP3289515B1 (en) Systems and methods for evaluating content provided to users via user interfaces
US9065849B1 (en) Systems and methods for determining trustworthiness of software programs
CN102656593B (zh) 对使用链接文件的恶意软件进行检测和响应
JP6139028B2 (ja) アプリケーションの更新を指示するためのシステム及び方法
US20230171292A1 (en) Holistic external network cybersecurity evaluation and scoring
US9552481B1 (en) Systems and methods for monitoring programs
US9313218B1 (en) Systems and methods for providing information identifying the trustworthiness of applications on application distribution platforms
US10255435B1 (en) Systems and methods for establishing a reputation for related program files
US9734312B1 (en) Systems and methods for detecting when users are uninstalling applications

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid