KR101626243B1 - 모바일 디바이스 거동의 적응적 관찰을 위한 시스템, 장치, 및 방법 - Google Patents

모바일 디바이스 거동의 적응적 관찰을 위한 시스템, 장치, 및 방법 Download PDF

Info

Publication number
KR101626243B1
KR101626243B1 KR1020147035054A KR20147035054A KR101626243B1 KR 101626243 B1 KR101626243 B1 KR 101626243B1 KR 1020147035054 A KR1020147035054 A KR 1020147035054A KR 20147035054 A KR20147035054 A KR 20147035054A KR 101626243 B1 KR101626243 B1 KR 101626243B1
Authority
KR
South Korea
Prior art keywords
mobile device
behavior
behaviors
processor
operations
Prior art date
Application number
KR1020147035054A
Other languages
English (en)
Other versions
KR20150013298A (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 퀄컴 인코포레이티드
Publication of KR20150013298A publication Critical patent/KR20150013298A/ko
Application granted granted Critical
Publication of KR101626243B1 publication Critical patent/KR101626243B1/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • G06F11/3082Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved by aggregating or compressing the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/128Anti-malware arrangements, e.g. protection against SMS fraud or mobile malware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0251Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0251Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
    • H04W52/0258Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity controlling an operation mode according to history or models of usage information, e.g. activity schedule or time of day
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Debugging And Monitoring (AREA)
  • Retry When Errors Occur (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Testing Or Calibration Of Command Recording Devices (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Indicating Or Recording The Presence, Absence, Or Direction Of Movement (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

의심스러운 또는 성능을 열화시키는 모바일 디바이스 거동들을 검출하기 위한 방법들, 디바이스들 및 시스템들은, 관찰될 컴퓨팅 디바이스 거동들, 관찰될 거동들의 수, 및 모바일 디바이스 거동들이 관찰될 상세함의 레벨 또는 입도를 지능적으로, 동적으로, 및/또는 적응적으로 결정한다. 다양한 양태들은 과도한 양의 프로세싱, 메모리, 또는 에너지 자원을 요구함이 없이 의심스러운 또는 성능을 열화시키는 모바일 디바이스 거동들을 효율적으로 식별한다. 다양한 양태들은 의심스러운 또는 성능을 열화시키는 모바일 디바이스 거동들을 정정할 수도 있다. 다양한 양태들은 식별된 의심스러운 또는 성능을 열화시키는 모바일 디바이스 거동들이 시간에 걸쳐 모바일 디바이스의 성능 및 전력 이용 레벨들을 열화시키는 것을 방지할 수도 있다. 다양한 양태들은 노화하는 모바일 디바이스를 그것의 원래의 성능 및 전력 이용 레벨들로 복원시킬 수도 있다.

Description

모바일 디바이스 거동의 적응적 관찰을 위한 시스템, 장치, 및 방법{SYSTEM, APPARATUS, AND METHOD FOR ADAPTIVE OBSERVATION OF MOBILE DEVICE BEHAVIOR}
이 출원은, 2012년 5월 14일 출원된 "System, Apparatus and Method for Adaptive Observation of Mobile Device Behavior" 라는 제목의 미국 가특허출원 제 61/646,590 호; 및 2012년 8월 15일 출원된 "System, Apparatus and Method for Adaptive Observation of Mobile Device Behavior" 라는 제목의 미국 가출원 제 61/683,274 호에 대해 우선권의 이익을 주장하고, 이 양자의 전체 내용들은 모든 목적들을 위해 참조에 의해 본원에 통합된다.
셀룰러 및 무선 통신 기술들은 과거 수년에 걸쳐 폭발적인 성장을 보여왔다. 이러한 성장은 보다 나은 통신, 하드웨어, 보다 큰 네트워크들, 및 보다 신뢰성 있는 프로토콜들에 의해 뒷받침되었다. 무선 서비스 프로바이더들은 이제 그들의 고객들에게 항상 확장하는 어레이의 피처들 및 서비스들을 제공하고, 사용자들에게 정보, 자원, 및 통신에 대한 미증유의 레벨들의 액세스를 제공할 수 있게 되었다. 이들 서비스 강화들과 보조를 맞추기 위해, 모바일 전자 디바이스들 (예를 들어, 셀룰러 폰들, 태블릿들, 랩톱들 등) 은 한층 더 강력하고 복잡하게 되었다. 이러한 복잡성은 악성 소프트웨어, 소프트웨어 충돌들, 하드웨어 결함들, 및 다른 유사한 에러들 또는 현상들이 모바일 디바이스의 장기 및 계속적인 성능 및 전력 이용 레벨들에 부정적으로 영향을 미치는 새로운 기회들을 형성하였다. 따라서, 모바일 디바이스의 장기 및 계속적인 성능 및 전력 이용 레벨들에 부정적으로 영향을 미칠 수도 있는 조건들 및/또는 모바일 디바이스 거동들을 식별 및 정정하는 것이 소비자들에게 유익하다.
다양한 양태들은, 정규 동작 패턴들 (normal operation patterns) 과 불일치하는 모바일 디바이스 거동들 (behaviors) 을 인식하기 위해 일정 기간 (a period of time) 에 걸쳐 모바일 디바이스 거동들을 관찰하는 방법들을 포함할 수도 있고, 이 방법은, 어느 모바일 디바이스 거동들이 관찰될지를 프로세서에서 동적으로 결정하는 단계, 및 제한된 셋트의 관찰들 (observations) 로부터 의심스러운 (suspicious) 모바일 디바이스 거동을 식별하기 위해, 결정된 모바일 디바이스 거동들을 적응적으로 (adaptively) 관찰하는 단계를 포함한다. 일 양태에서, 방법은 적응적 관찰의 관찰 입도 (granularity) 를 제어하는 단계를 포함할 수도 있다. 추가적인 양태에서, 어느 모바일 디바이스 거동들이 관찰될지를 동적으로 결정하는 단계는, 정규 동작 패턴들과 불일치하는 모바일 디바이스 거동들을 인식하기 위해 일정 기간에 걸쳐 모바일 디바이스 거동들을 관찰하는 단계, 및 불일치하는 동작들과 연관된 제한된 셋트의 거동들을 관찰될 모바일 디바이스 거동들로서 식별하는 단계를 포함할 수도 있다.
추가적인 양태에서, 어느 모바일 디바이스 거동들이 관찰될지를 동적으로 결정하는 동작 및 적응적 관찰의 관찰 입도를 제어하는 동작은, 시스템 커널 (kernel) 내에서 동작하는 관찰자 데몬 (observer daemon) 내에서 달성된다. 추가적인 양태에서, 불일치하는 동작들과 연관된 제한된 셋트의 거동들을 관찰될 모바일 디바이스 거동들로서 식별하는 단계는, 적응형 필터에 의한 필터링 후에 하이-레벨 애플리케이션, 시스템 커널, 및 드라이버 API 중 하나 이상으로부터 거동 입력들을 수신하는 단계, 모바일 디바이스의 동작들에 관한 컨텍스트 (context) 입력을 수신하는 단계, 수신된 거동들 및 수신된 컨텍스트의 공간적 상관들 (spatial correlations) 을 수행하는 단계, 및 거동 벡터 (behavior vector) 를 생성하는 단계를 포함할 수도 있다. 추가적인 양태에서, 불일치하는 동작들과 연관된 제한된 셋트의 거동들을 관찰될 모바일 디바이스 거동들로서 식별하는 단계는, 수신된 거동들 및 수신된 컨텍스트 입력의 시간적 상관들을 수행하는 단계를 더 포함할 수도 있고, 거동 벡터를 생성하는 단계는, 공간적 및 시간적 상관들의 결과에 기초하여 거동 벡터를 생성하는 단계를 포함할 수도 있다. 추가적인 양태에서, 불일치하는 동작들과 연관된 제한된 셋트의 거동들을 관찰될 거동들로서 식별하는 단계는, 생성된 상기 거동 벡터를 보안 메모리에 저장하는 단계를 포함할 수도 있다.
추가적인 양태들은, 프로세서, 정규 동작 패턴들과 불일치하는 거동들을 식별하기 위해, 어느 모바일 디바이스 거동들이 관찰될지를 동적으로 결정하는 수단, 및 제한된 셋트의 관찰들로부터 의심스러운 모바일 디바이스 거동을 식별하기 위해, 결정된 모바일 디바이스 거동들을 적응적으로 관찰하는 수단을 포함하는 컴퓨팅 디바이스를 포함한다. 일 양태에서, 컴퓨팅 디바이스는, 적응적 관찰의 관찰 입도를 제어하는 수단을 포함할 수도 있다. 추가적인 양태에서, 어느 모바일 디바이스 거동들이 관찰될지를 동적으로 결정하는 수단은, 정규 동작 패턴들과 불일치하는 모바일 디바이스 거동들을 인식하기 위해, 일정 기간에 걸쳐 모바일 디바이스 거동들을 관찰하는 수단, 및 불일치하는 동작들과 연관된 제한된 셋트의 거동들을 관찰될 모바일 디바이스 거동들로서 식별하는 수단을 포함할 수도 있다.
추가적인 양태에서, 컴퓨팅 디바이스는, 관찰자 데몬 수단을 포함할 수도 있고, 관찰자 데몬 수단은, 어느 모바일 디바이스 거동들이 관찰될지를 동적으로 결정하는 수단 및 시스템 커널 내에서 동작하는 관찰자 데몬 내에서 적응적 관찰의 관찰 입도를 제어하는 수단을 포함할 수도 있다. 추가적인 양태에서, 불일치하는 동작들과 연관된 제한된 셋트의 거동들을 관찰될 모바일 디바이스 거동들로서 식별하는 수단은, 적응형 필터에 의한 필터링 후에 하이-레벨 애플리케이션, 시스템 커널, 및 드라이버 API 중 하나 이상으로부터 거동 입력들을 수신하는 수단, 모바일 디바이스의 동작들에 관한 컨텍스트 입력을 수신하는 수단, 수신된 거동들 및 수신된 컨텍스트의 공간적 상관들을 수행하는 수단, 및 거동 벡터를 생성하는 수단을 포함할 수도 있다. 추가적인 양태에서, 불일치하는 동작들과 연관된 제한된 셋트의 거동들을 관찰될 모바일 디바이스 거동들로서 식별하는 수단은, 수신된 거동들 및 수신된 컨텍스트 입력의 시간적 상관들을 수행하는 수단을 더 포함할 수도 있고, 거동 벡터를 생성하는 수단은, 공간적 및 시간적 상관들의 결과에 기초하여 거동 벡터를 생성하는 수단을 포함할 수도 있다. 추가적인 양태에서, 불일치하는 동작들과 연관된 제한된 셋트의 거동들을 관찰될 거동들로서 식별하는 수단은, 생성된 거동 벡터를 보안 메모리에 저장하는 수단을 더 포함할 수도 있다.
추가적인 양태들은, 정규 동작 패턴들과 불일치하는 거동들을 식별하기 위해, 어느 모바일 디바이스 거동들이 관찰될지를 동적으로 결정하는 동작, 및 제한된 셋트의 관찰들로부터 의심스러운 모바일 디바이스 거동을 식별하기 위해, 결정된 모바일 디바이스 거동들을 적응적으로 관찰하는 동작을 포함하는 동작들을 수행하도록 프로세서-실행가능 명령들로 구성되는 프로세서를 포함하는 컴퓨팅 디바이스를 포함한다. 일 양태에서, 프로세서는, 적응적 관찰의 관찰 입도를 제어하는 동작을 더 포함하는 동작들을 수행하도록 프로세서-실행가능 명령들로 구성된다.
추가적인 양태에서, 프로세서는, 어느 모바일 디바이스 거동들이 관찰될지를 동적으로 결정하는 동작이, 정규 동작 패턴들과 불일치하는 모바일 디바이스 거동들을 인식하기 위해 일정 기간에 걸쳐 모바일 디바이스 거동들을 관찰하는 동작, 및 불일치하는 동작들과 연관된 제한된 셋트의 거동들을 관찰될 모바일 디바이스 거동들로서 식별하는 동작을 포함할 수도 있도록 프로세서-실행가능 명령들로 구성된다. 추가적인 양태에서, 프로세서는, 어느 모바일 디바이스 거동들이 관찰될지를 동적으로 결정하는 동작 및 적응적 관찰의 관찰 입도를 제어하는 동작들이, 시스템 커널 내에서 동작하는 관찰자 데몬 내에서 달성되도록 프로세서-실행가능 명령들로 구성된다. 추가적인 양태에서, 프로세서는, 불일치하는 동작들과 연관된 제한된 셋트의 거동들을 관찰될 모바일 디바이스 거동들로서 식별하는 동작이, 적응형 필터에 의한 필터링 후에 하이-레벨 애플리케이션, 시스템 커널, 및 드라이버 API 중 하나 이상으로부터 거동 입력들을 수신하는 동작, 모바일 디바이스의 동작들에 관한 컨텍스트 입력을 수신하는 동작, 수신된 거동들 및 수신된 컨텍스트의 공간적 상관들을 수행하는 동작, 및 거동 벡터를 생성하는 동작을 포함하도록 프로세서-실행가능 명령들로 구성된다.
추가적인 양태에서, 프로세서는, 불일치하는 동작들과 연관된 제한된 셋트의 거동들을 관찰될 모바일 디바이스 거동들로서 식별하는 동작이, 수신된 거동들 및 수신된 컨텍스트 입력의 시간적 상관들을 수행하는 동작을 더 포함할 수도 있도록 프로세서-실행가능 명령들로 구성되고, 프로세서는, 거동 벡터를 생성하는 동작이, 공간적 및 시간적 상관들의 결과에 기초하여 거동 벡터를 생성하는 동작을 포함할 수도 있도록 프로세서-실행가능 명령들로 구성된다. 추가적인 양태에서, 프로세서는, 불일치하는 동작들과 연관된 제한된 셋트의 거동들을 관찰될 거동들로서 식별하는 동작이, 생성된 거동 벡터를 보안 메모리에 저장하는 동작을 더 포함할 수도 있도록 프로세서-실행가능 명령들로 구성된다.
추가적인 양태들은, 컴퓨팅 디바이스로 하여금, 정규 동작 패턴들과 불일치하는 모바일 디바이스 거동들을 인식하기 위해, 어느 모바일 디바이스 거동들이 관찰될지를 동적으로 결정하는 동작, 및 제한된 셋트의 관찰들로부터 의심스러운 모바일 디바이스 거동을 식별하기 위해, 결정된 모바일 디바이스 거동들을 적응적으로 관찰하는 동작을 포함할 수도 있는 동작들을 수행하게 하도록 구성된 프로세서-실행가능 명령들을 저장한 비-일시적 (non-transitory) 서버 판독가능 저장 매체를 포함한다. 일 양태에서, 저장된 프로세서-실행가능 명령들은 모바일 디바이스의 프로세서로 하여금, 적응적 관찰의 관찰 입도를 제어하는 동작을 더 포함하는 동작들을 수행하게 하도록 구성될 수도 있다.
추가적인 양태에서, 어느 모바일 디바이스 거동들이 관찰될지를 동적으로 결정하는 동작은, 정규 동작 패턴들과 불일치하는 모바일 디바이스 거동들을 인식하기 위해, 일정 기간에 걸쳐 모바일 디바이스 거동들을 관찰하는 동작, 및 불일치하는 동작들과 연관된 제한된 셋트의 거동들을 관찰될 모바일 디바이스 거동들로서 식별하는 동작을 포함할 수도 있다. 추가적인 양태에서, 어느 모바일 디바이스 거동들이 관찰될지를 동적으로 결정하는 동작 및 적응적 관찰의 관찰 입도를 제어하는 동작은, 시스템 커널 내에서 동작하는 관찰자 데몬 내에서 달성된다. 추가적인 양태에서, 불일치하는 동작들과 연관된 제한된 셋트의 거동들을 관찰될 모바일 디바이스 거동들로서 식별하는 동작은, 적응형 필터에 의한 필터링 후에 하이-레벨 애플리케이션, 시스템 커널, 및 드라이버 API 중 하나 이상으로부터 거동 입력들을 수신하는 동작, 모바일 디바이스의 동작들에 관한 컨텍스트 입력을 수신하는 동작, 수신된 거동들 및 수신된 컨텍스트의 공간적 상관들을 수행하는 동작, 및 거동 벡터를 생성하는 동작을 포함할 수도 있다.
추가적인 양태에서, 불일치하는 동작들과 연관된 제한된 셋트의 거동들을 관찰될 모바일 디바이스 거동들로서 식별하는 동작은, 수신된 거동들 및 수신된 컨텍스트 입력의 시간적 상관들을 수행하는 동작을 더 포함할 수도 있고, 거동 벡터를 생성하는 동작은, 공간적 및 시간적 상관들의 결과에 기초하여 거동 벡터를 생성하는 동작을 포함할 수도 있다. 추가적인 양태에서, 불일치하는 동작들과 연관된 제한된 셋트의 거동들을 관찰될 거동들로서 식별하는 동작은, 생성된 거동 벡터를 보안 메모리에 저장하는 동작을 더 포함할 수도 있다.
추가적인 양태들은 또한, 조대한 (coarse) 관찰들을 생성하기 위해 모바일 디바이스 거동들의 실시간 거동 분석을 모바일 디바이스 프로세서 상에서 수행하는 단계, 조대한 관찰들로부터 의심스러운 거동을 식별하는 단계, 보다 상세하게 추가의 관찰을 필요로하는 모바일 디바이스 거동들을 동적으로 결정하는 단계, 추가의 관찰을 위해 필요한 상세함의 레벨 (level of detail) 을 동적으로 결정하는 단계, 추가의 관찰을 위해 필요한 상세함의 결정된 레벨에 기초하여 보다 정밀한 (finer) 관찰들을 수행하는 단계, 및 보다 정밀한 관찰들로부터 의심스러운 거동을 식별하는 단계의 방법들을 포함한다. 일 양태에서, 방법은, 식별된 의심스러운 거동을 정정 (correct) 하기 위한 동작들을 모바일 디바이스들에 대해 수행시키는 단계를 포함할 수도 있다. 추가적인 양태에서, 방법은, 하이-레벨 모바일 디바이스 거동들을 검출하기 위해 관찰된 모바일 디바이스 거동들의 공간적 및 시간적 상관들을 수행하는 단계를 포함할 수도 있다.
추가적인 양태들은, 프로세서, 조대한 관찰들을 생성하기 위해 모바일 디바이스 거동들의 실시간 거동 분석을 수행하는 수단, 조대한 관찰들로부터 의심스러운 거동을 식별하는 수단, 보다 상세하게 추가의 관찰을 필요로하는 모바일 디바이스 거동들을 동적으로 결정하는 수단, 추가의 관찰을 위해 필요한 상세함의 레벨을 동적으로 결정하는 수단, 추가의 관찰을 위해 필요한 상세함의 결정된 레벨에 기초하여 보다 정밀한 관찰들을 수행하는 수단, 및 보다 정밀한 관찰들로부터 의심스러운 거동을 식별하는 수단을 포함할 수도 있는 컴퓨팅 디바이스를 포함한다. 일 양태에서, 컴퓨팅 디바이스는, 식별된 의심스러운 거동을 정정하기 위한 동작들을 모바일 디바이스들에 대해 수행시키는 수단을 포함할 수도 있다. 추가적인 양태에서, 컴퓨팅 디바이스는, 하이-레벨 모바일 디바이스 거동들을 검출하기 위해 관찰된 모바일 디바이스 거동들의 공간적 및 시간적 상관들을 수행하는 수단을 포함할 수도 있다.
추가적인 양태들은, 조대한 관찰들을 생성하기 위해 모바일 디바이스 거동들의 실시간 거동 분석을 수행하는 동작, 조대한 관찰들로부터 의심스러운 거동을 식별하는 동작, 보다 상세하게 추가의 관찰을 필요로하는 상기 모바일 디바이스 거동들을 동적으로 결정하는 동작, 추가의 관찰을 위해 필요한 상세함의 레벨을 동적으로 결정하는 동작, 추가의 관찰을 위해 필요한 상세함의 결정된 레벨에 기초하여 보다 정밀한 관찰들을 수행하는 동작, 및 보다 정밀한 관찰들로부터 의심스러운 거동을 식별하는 동작을 포함하는 동작들을 수행하도록 프로세서-실행가능 명령들로 구성되는 프로세서를 포함하는 컴퓨팅 디바이스를 포함한다. 일 양태에서, 프로세서는, 식별된 의심스러운 거동을 정정하기 위한 동작들을 모바일 디바이스들에 대해 수행시키는 동작을 더 포함하는 동작들을 수행하도록 프로세서-실행가능 명령들로 구성된다. 추가적인 양태에서, 프로세서는, 하이-레벨 모바일 디바이스 거동들을 검출하기 위해 관찰된 모바일 디바이스 거동들의 공간적 및 시간적 상관들을 수행하는 동작을 더 포함하는 동작들을 수행하도록 프로세서-실행가능 명령들로 구성된다.
추가적인 양태들은, 조대한 관찰들을 생성하기 위해 모바일 디바이스 거동들의 실시간 거동 분석을 수행하는 동작, 조대한 관찰들로부터 의심스러운 거동을 식별하는 동작, 보다 상세하게 추가의 관찰을 필요로하는 모바일 디바이스 거동들을 동적으로 결정하는 동작, 추가의 관찰을 위해 필요한 상세함의 레벨을 동적으로 결정하는 동작, 추가의 관찰을 위해 필요한 상세함의 결정된 레벨에 기초하여 보다 정밀한 관찰들을 수행하는 동작, 및 보다 정밀한 관찰들로부터 의심스러운 거동을 식별하는 동작을 포함할 수도 있는 동작들을 컴퓨팅 디바이스로 하여금 수행하게 하도록 구성된 프로세서-실행가능 명령들을 저장한 비-일시적 서버 판독가능 저장 매체를 포함한다. 일 양태에서, 저장된 프로세서-실행가능 소프트웨어 명령들은 프로세서로 하여금, 식별된 의심스러운 거동을 정정하기 위한 동작들을 모바일 디바이스들에 대해 수행시키는 동작을 포함하는 동작들을 수행하게 하도록 구성된다. 추가적인 양태에서, 저장된 프로세서-실행가능 소프트웨어 명령들은 프로세서로 하여금, 하이-레벨 모바일 디바이스 거동들을 검출하기 위해 관찰된 모바일 디바이스 거동들의 공간적 및 시간적 상관들을 수행하는 동작을 포함하는 동작들을 수행하게 하도록 구성된다.
본 명세서에 통합되고 이 명세서의 일부를 구성하는 첨부 도면들은, 상기 주어진 일반적인 설명 및 이하 주어진 상세한 설명과 함께 본 발명의 예시적인 양태들을 나타내고, 본 발명의 특징들을 설명하는 기능을 한다.
도 1 은 다양한 양태들을 구현하기에 적합한 칩 상의 예시적인 시스템의 구조도이다.
도 2 는 다양한 양태들에 따라 동적 및 적응적 관찰들을 수행하도록 구성된 컴퓨팅 시스템에서의 예시적인 논리적 컴포넌트들 및 정보 흐름들을 나타내는 블록도이다.
도 3 은 일 양태에 따라 동적 및 적응적 관찰들을 수행하도록 구성된 관찰자 모듈에서의 예시적인 논리적 컴포넌트들 및 정보 흐름들을 나타내는 블록도이다.
도 4 는 일 양태에 따라 관찰자 모듈들을 구현하는 컴퓨팅 시스템에서의 논리적 컴포넌트들 및 정보 흐름들을 나타내는 블록도이다.
도 5a 는 다른 양태에 따라 관찰자 모듈들을 구현하는 컴퓨팅 시스템에서의 논리적 컴포넌트들 및 정보 흐름들을 나타내는 블록도이다.
도 5b 는 다른 양태에 따라 관찰자 모듈들을 구현하는 컴퓨팅 시스템에서의 논리적 컴포넌트들 및 정보 흐름들을 나타내는 블록도이다.
도 6a 는 다른 양태에 따라 관찰자 모듈들을 구현하는 컴퓨팅 시스템에서의 논리적 컴포넌트들 및 정보 흐름들을 나타내는 블록도이다.
도 6b 는 다른 양태에 따라 관찰자 모듈들을 구현하는 컴퓨팅 시스템에서의 논리적 컴포넌트들 및 정보 흐름들을 나타내는 블록도이다.
도 7a 는 일 양태에 따라 관찰자 데몬들을 구현하는 컴퓨팅 시스템에서의 논리적 컴포넌트들 및 정보 흐름들을 나타내는 블록도이다.
도 7b 는 다른 양태에 따라 관찰자 데몬들을 구현하는 컴퓨팅 시스템에서의 논리적 컴포넌트들 및 정보 흐름들을 나타내는 블록도이다.
도 8a 는 다른 양태에 따라 관찰자 데몬들을 구현하는 컴퓨팅 시스템에서의 논리적 컴포넌트들 및 정보 흐름들을 나타내는 블록도이다.
도 8b 는 다른 양태에 따라 관찰자 데몬들을 구현하는 컴퓨팅 시스템에서의 논리적 컴포넌트들 및 정보 흐름들을 나타내는 블록도이다.
도 9 는 모바일 디바이스들 상에서 적응적 관찰들을 수행하는 일 양태의 방법을 나타내는 프로세스 흐름도이다.
도 10 은 모바일 디바이스들 상에서 적응적 관찰들을 수행하는 다른 양태의 방법을 나타내는 프로세스 흐름도이다.
도 11 은 모바일 디바이스들 상에서 적응적 관찰들을 수행하는 다른 양태의 방법을 나타내는 프로세스 흐름도이다.
도 12 는 일 양태에서 사용하기에 적합한 모바일 디바이스의 컴포넌트 블록도이다.
도 13 은 일 양태에서 사용하기에 적합한 서버 디바이스의 컴포넌트 블록도이다.
다양한 양태들이 첨부 도면들을 참조하여 상세하게 설명될 것이다. 어느 곳에서든지, 동일한 참조 부호들은 동일 또는 유사한 부분들을 지칭하기 위해 도면들 전체에 걸쳐 사용될 것이다. 특정 예들 및 구현들에 대해 이루어진 언급들은 예시적인 목적들을 위한 것이고, 본 발명 또는 청구항들의 범위를 제한하려는 의도가 아니다.
"예시적인" 이라는 단어는 본 명세서에서 "예, 경우, 또는 예시로서 기능하는" 것을 의미하기 위해 사용된다. "예시적" 으로 본 명세서에서 설명된 임의의 구현은 다른 구현들에 대해 선호되거나 유리한 것으로서 반드시 해석될 필요는 없다.
"모바일 컴퓨팅 디바이스" 및 "모바일 디바이스" 라는 용어들은, 셀룰러 전화기들, 스마트폰들, 퍼스널 또는 모바일 멀티-미디어 플레이어들, 개인 휴대 정보 단말기 (PDA) 들, 랩톱 컴퓨터들, 태블릿 컴퓨터들, 스마트북들, 울트라북들, 팜-톱 컴퓨터들, 무선 전자 메일 수신기들, 멀티미디어 인터넷 가능 셀룰러 전화기들, 무선 게이밍 컨트롤러들, 및 성능이 중요한 프로그래머블 프로세서, 메모리를 포함하고 전력 보존 방법들이 유익하도록 배터리 전원 하에서 동작하는 유사한 퍼스널 전자 디바이스들 중 임의의 것 또는 전부를 지칭하기 위해 본 명세서에서 상호교환가능하게 사용된다. 다양한 양태들은 배터리 상의 제한된 자원 및 실행을 갖는 스마트폰들과 같은 모바일 컴퓨팅 디바이스들에 특히 유용하지만, 양태들은 일반적으로 프로세서를 포함하고 애플리케이션 프로그램들을 실행하는 임의의 전자 디바이스에서 유용하다.
다양한 양태들의 동작들을 수행하기 위해 프로그래머블 프로세서 상에서 실행하기 위한 컴퓨터 프로그램 코드 또는 "프로그램 코드" 는 C, C++, C#, Smalltalk, Java, JavaScript, Visual Basic, 구조화된 쿼리 언어 (예를 들어, Transact-SQL), Perl 과 같은 하이 레벨 프로그래밍 언어에서, 또는 다양한 다른 프로그래밍 언어들에서 쓰여질 수도 있다. 컴퓨터 판독가능 저장 매체 상에 저장된 프로그램 코드 또는 프로그램들은 형식이 프로세서에 의해 이해가능한 (오브젝트 코드와 같은) 기계 언어를 지칭하기 위해 본 명세서에서 사용된다.
"성능 열화 (performance degradation)" 라는 말은, 더 긴 프로세싱 시간들, 더 낮은 배터리 수명, 개인 데이터의 손실, 해로운 경제적 활동 (예를 들어, 허가되지 않은 프리미엄 SMS 메시지를 전송하는 것), 스파이 또는 봇네트 활동들 등을 위해 모바일 디바이스를 징발하는 것 또는 전화기를 이용하는 것에 관련된 동작들과 같은 아주 다양한 바람직하지 않은 모바일 디바이스 동작들 및 특징들을 지칭하기 위해 본 명세서에서 사용된다.
많은 모바일 컴퓨팅 디바이스들 오퍼레이팅 시스템 커널들은 (비특권 (non-privileged) 코드가 실행되는) 사용자 스페이스 및 (특권 (privileged) 코드가 실행되는) 커널 스페이스 내로 조직화된다. 이러한 분리는, 커널 공간의 일부인 코드는 GPL 허가되어야 하는 한편 사용자-공간에서 실행되는 코드는 GPL 허가되지 않을 수도 있는 Android® 및 다른 GPL (general public license) 환경들에서 특히 중요하다. 여기에서 논의된 다양한 소프트웨어 컴포넌트들/모듈들은 다르게 명시적으로 진술되지 않는 한 커널 공간 또는 사용자 공간 중 어느 일방에서 구현될 수도 있다는 것을 이해하여야 한다.
"시스템 온 칩 (system on chip)" (SOC) 이라는 용어는, 단일 기판 상에 집적된 다수의 리소스들 및/또는 프로세서들을 포함하는 단일 집적 회로 (IC) 칩을 지칭하기 위해 본 명세서에서 사용된다. 단일 SOC 는 디지털, 아날로그, 혼합된 신호, 및 라디오-주파수 기능들을 위한 회로를 포함할 수도 있다. 단일 SOC 는 또한, 임의의 수의 범용 및/또는 특수 프로세서들 (디지털 신호 프로세서들, 모뎀 프로세서들, 비디오 프로세서들 등), 메모리 블록들 (예를 들어, ROM, RAM, Flash 등), 및 리소스들 (resources) (예를 들어, 타이머들, 전압 조정기들, 오실레이터들 등) 을 포함할 수도 있다. SOC 들은 또한, 집적된 리소스들 및 프로세서들을 제어하기 위한, 및 주변 디바이스들을 제어하기 위한 소프트웨어를 포함할 수도 있다.
"멀티코어 프로세서" 라는 용어는, 단일 집적 회로 (IC) 칩 또는 프로그램 명령들을 판독 및 실행하도록 구성된 2 이상의 독립적 프로세싱 코어들 (예를 들어, CPU 코어들) 을 포함하는 칩 패키지를 지칭하기 위해 본 명세서에서 사용된다. SOC 는 다수의 멀티코어 프로세서들을 포함할 수도 있고, SOC 내의 각각의 프로세서는 코어로서 지칭될 수도 있다. "멀티프로세서" 라는 용어는, 프로그램 명령들을 판독 및 실행하도록 구성된 2 이상의 프로세싱 유닛들을 포함하는 시스템 또는 디바이스를 지칭하기 위해 본 명세서에서 사용된다.
일반적으로, 모바일 디바이스의 성능 및 전력 효율은 시간에 걸쳐 열화한다. 최근, 안티-바이러스 회사들 (예를 들어, McAfee, Symantec 등) 은 이러한 열화를 늦추는 것을 목적으로 하는 모바일 안티-바이러스, 파이어월, 및 암호화 제품들을 마케팅하기 시작하였다. 하지만, 이들 솔루션들 (solutions) 의 많은 것들은 모바일 디바이스 상에서의 계산 집약적인 스캐닝 엔진의 주기적 실행에 의존하고, 이는 모바일 디바이스의 프로세싱 및 배터리 자원을 많이 소모할 수도 있고, 연장된 기간 동안 모바일 디바이스를 느리게 하거나 쓸모 없게 할 수도 있고, 및/또는 그 외에 사용자 경험을 열화시킬 수도 있다. 또한, 이들 솔루션들은 통상적으로 알려진 바이러스들 및 악성 소프트웨어를 검출하는 것에 한정되고, (예를 들어, 성능 열화가 바이러스들 또는 악성 소프트웨어에 의해 야기될 때) 시간에 걸쳐 모바일 디바이스의 열화에 기여하는데 종종 결합되는 다수의 복잡한 인자들 및/또는 상호작용을 해결하지 못한다. 이들 및 다른 이유들로 인해, 기존의 안티-바이러스, 파이어월, 및 암호화 제품들은, 시간에 걸친 모바일 디바이스의 열화에 기여할 수도 있는 수많은 인자들을 식별하기 위한, 모바일 디바이스의 열화를 방지하기 위한, 또는 노화하는 모바일 디바이스를 그것의 원래 상태로 효율적으로 복원하기 위한 적당한 솔루션들을 제공하지 못한다.
컴퓨팅 디바이스 상에서 실행되는 애플리케이션 프로그램들 또는 프로세스들의 거동을 모델링하기 위해 다양한 다른 솔루션들이 존재하고, 이러한 거동 모델들은 컴퓨팅 디바이스들 상에서 악성과 양성 (benign) 프로세스/프로그램들 사이를 차별화하기 위해 이용될 수도 있다. 하지만, 이들 기존의 모델링 솔루션들은, 이러한 솔루션들은 일반적으로, 모바일 디바이스들 상에서 드물 수도 있는, 상당한 양의 프로세싱, 메모리, 및 에너지 자원을 소모하는 계산 집약적 프로세스들의 실행을 필요로하기 때문에 모바일 디바이스 상에서의 사용에 적합하지 않다. 또한, 이들 솔루션들은 일반적으로 개별 애플리케이션 프로그램들 또는 프로세스들의 거동을 평가하는 것에 한정되고, 성능-열화하는 모바일 디바이스 거동들의 정확한 또는 완전한 모델을 제공하지 못한다. 이들 및 다른 이유들로 인해, 기존의 모델링 솔루션들은 시간에 걸친 모바일 디바이스의 열화에 기여할 수도 있는 수많은 인자들을 식별하기 위해, 모바일 디바이스 열화를 방지하기 위해, 또는 노화하는 모바일 디바이스를 그것의 원래 상태로 효율적으로 복원하기 위해 적당하지 않다.
열악하게 설계된 소프트웨어 애플리케이션들, 악성 소프트웨어, 바이러스들, 부서진 메모리, 백그라운드 프로세스들 등을 포함하는, 시간에 걸쳐 모바일 디바이스의 성능 및 전력 이용 레벨들에서의 열화에 기여할 수도 있는 다양한 인자들이 존재한다. 하지만, 현대의 모바일 디바이스들의 복잡성으로 인해, 사용자들, 오퍼레이팅 시스템들, 및/또는 애플리케이션 프로그램들 (예를 들어, 안티-바이러스 소프트웨어 등) 이 이러한 문제들의 소스들을 정확하고 효율적으로 식별하는 것 및/또는 식별된 문제들에 대해 적당한 처리방안들을 제공하는 것이 점점 어려워지고 있다. 그 결과로서, 모바일 디바이스 사용자들은, 시간에 걸친 모바일 디바이스의 성능 및 전력 이용 레벨들에서의 열화를 방지하기 위해, 또는 노화하는 모바일 디바이스를 그것의 원래 성능 및 전력 이용 레벨들로 복원하기 위해 현재 적은 처리방안들을 갖는다.
다양한 양태들은, 모바일 디바이스의 성능 및/또는 전력 이용 레벨들을 시간에 걸쳐 종종 열화시키는 조건들 및/또는 모바일 디바이스 거동들을 효율적으로 식별, 방지, 및/또는 정정하기 위한 디바이스들, 시스템들, 및 방법들을 제공한다.
상기 언급된 바와 같이, 모바일 디바이스들은 상대적으로 제한된 프로세싱, 메모리, 및 에너지 자원을 갖는 자원 제약된 시스템들이다. 또한 상기 언급된 바와 같이, 현대의 모바일 디바이스들은 복잡한 시스템들이고, 모바일 디바이스의 시간에 걸친 열화에 기여할 수도 있는 아주 많은 (즉, 수천개의) 인자들이 존재한다. 이들 제약들로 인해, 현대의 모바일 디바이스의 복잡하지만 자원 제약된 시스템들의 성능 및 전력 이용 레벨들을 열화시킬 수도 있는 모든 다양한 프로세스들, 거동들, 또는 인자들 (또는 이들의 조합들) 을 모니터링/관찰하는 것은 종종 실현가능하지 않다.
상기 언급된 솔루션들의 제한들을 극복하기 위해, 다양한 양태들은, 관찰될 모바일 디바이스 거동들, 관찰될 거동들의 수, 및 모바일 디바이스 거동들이 관찰되어야 하는 상세함의 레벨 (즉, 입도) 을 지능적으로, 동적으로, 및/또는 적응적으로 결정한다. 다양한 양태들은, 과도한 양의 프로세싱, 메모리, 또는 에너지 자원을 소모하지 않고서도 의심스러운 또는 성능을 열화시키는 모바일 디바이스 거동들을 효율적으로 식별한다. 다양한 양태들은 의심스러운 또는 성능을 열화시키는 모바일 디바이스 거동들을 정정할 수도 있다. 다양한 양태들은, 식별된 의심스러운 또는 성능을 열화시키는 모바일 디바이스 거동들이 시간에 걸쳐 모바일 디바이스의 성능 및 전력 이용 레벨들을 열화시키는 것을 방지할 수도 있다. 다양한 양태들은, 노화하는 모바일 디바이스를 그것의 원래 성능 및 전력 이용 레벨들로 복원할 수도 있다.
일 양태에서, 모바일 디바이스 프로세서는, 라이브러리 애플리케이션 프로그래밍 인터페이스 (application programming interface; API) 호들, 시스템 호 API 들, 파일-시스템 동작들, 네트워크 서브-시스템 동작들, 수많은 센서들에 대한 드라이버 API 호들, 상태 변화들 및 다른 유사한 하이 레벨에서의 이벤트들/동작들 중 임의의 것 또는 전부를 관찰하도록 구성될 수도 있고, 모바일 디바이스의 시간에 걸친 열화에 기여할 수도 있는 프로그램들/프로세스들 (예를 들어, 활성적으로 악성, 열악하게 쓰여진 등의 프로그램들) 을 식별하기 위해 이들 하이 레벨 관찰들에 기초하여 실시간 거동 분석 동작들을 수행할 수도 있다. 모바일 디바이스 프로세서는, 의심스러운 또는 성능을 열화시키는 모바일 디바이스 거동들의 원인을 식별 및/또는 정정하기 위해 충분한 정보가 이용가능하게 될 때까지, 모바일 디바이스 거동들이 관찰될 상세함의 레벨 (즉, 입도) 을 지능적으로 증가시키도록 구성될 수도 있다.
일 양태에서, 모바일 디바이스 프로세서는, 온라인 실시간 분석 동작들의 결과들 및/또는 시스템 자원의 가용성에 기초하여 (예를 들어, 관찰할 새로운 거동들을 선택하는 것, 보다 적은 거동들을 관찰하는 것 등에 의해) 관찰되는 거동들의 셋트를 동적으로 변화시키도록 구성될 수도 있다.
다양한 양태들에서, 모바일 디바이스 프로세서는, 실시간 분석 동작들의 결과들에 기초하여 및/또는 시스템 자원의 가용성에 기초하여 관찰 입도 (즉, 모바일 디바이스 거동들이 관찰되는 상세함의 레벨) 을 동적으로 조정하도록 구성될 수도 있다. 예를 들어, 다양한 양태들에서, 모바일 디바이스 프로세서는, 의심스러운 또는 성능을 열화시키는 모바일 디바이스 거동의 소스가 식별될 때까지, 프로세싱 임계에 도달할 때까지, 또는, 의심스러운 또는 성능을 열화시키는 모바일 디바이스 거동의 소스가 관찰 입도에서의 추가적인 증가들로부터 식별될 수 없다고 모바일 디바이스 프로세서가 결정할 때까지, 하나 이상의 관찰들의 입도를 반복적으로 증가시키도록 (즉, 보다 정밀한 또는 보다 상세한 관찰들을 하도록) 구성될 수도 있다.
일 양태에서, 모바일 디바이스 프로세서는, 시스템 자원의 가용성에 기초하여 관찰 입도를 동적으로 조정하도록 구성될 수도 있다. 예를 들어, 모바일 디바이스 프로세서는, 모바일 디바이스 자원이 이용가능하거나 이용중에 있다고 결정하는 것, 또는, 모바일이 현재 전원에 연결되어 있다고 결정하는 것에 응답하여 관찰 입도를 증가시키도록, 및/또는, 컴퓨팅 디바이스가 중부하 하에 있거나 낮은 배터리에 있다고 결정하는 것에 응답하여 관찰 입도를 감소시키도록 구성될 수도 있다.
일 양태에서, 모바일 디바이스의 관찰자 프로세스/데몬/모듈/서브-시스템 (본 명세서에서는 "모듈" 로서 총칭됨) 은 모바일 디바이스 시스템의 다양한 레벨들에서 다양한 애플리케이션 프로그래밍 인터페이스들 (API들) 을 장치하고, 장치된 API 들로부터 정보를 수집하며, 수집된 정보에 기초하여 거동 벡터를 생성할 수도 있다. 관찰자 모듈은 생성된 거동 벡터를 (예를 들어, 메모리 기입 동작 등을 통해) 모바일 디바이스의 분석기 모듈에 전송할 수도 있고, 이 분석기 모듈은, 다양한 다른 모바일 디바이스 서브-시스템들로부터 수집된 정보 및/또는 거동 벡터에 포함된 정보에 기초하여 공간적 및/또는 시간적 상관들을 생성할 수도 있다. 생성된 공간적 및/또는 시간적 상관들은, 모바일 디바이스의 성능 또는 배터리 소모 레벨들에 부정적으로 영향을 미칠 가능성이 매우 높다고 결정되는 거동들에 대해 반응 및/또는 식별하기 위해 모바일 디바이스의 다양한 모듈들에 의해 (예를 들어, 구동 모듈 등에 의해) 이용될 수도 있다.
다양한 양태들은, 시스템-온-칩 (SOC) 을 포함하는, 다수의 단일 프로세서 및 멀티프로세서 시스템들 상에서 구현될 수도 있다. 도 1 은 다양한 양태들을 구현하는 컴퓨팅 디바이스에서 사용될 수도 있는 예시적인 시스템-온-칩 (SOC) (100) 아키텍처를 나타내는 구조도이다. SOC (100) 는, 디지털 신호 프로세서 (DSP) (102), 모뎀 프로세서 (104), 그래픽 프로세서 (106), 및 애플리케이션 프로세서 (108) 와 같은, 다수의 이종 프로세서들을 포함할 수도 있다. SOC (100) 는 또한, 이종 프로세서들 (102, 104, 106, 108) 중 하나 이상에 연결된 하나 이상의 코프로세서들 (110) (예를 들어, 벡터 코-프로세서) 을 포함할 수도 있다. 각각의 프로세서 (102, 104, 106, 108, 110) 는 하나 이상의 코어들을 포함할 수도 있고, 각각의 프로세서/코어는 다른 프로세서들/코어들과 독립적인 동작들을 수행할 수도 있다. 예를 들어, SOC (100) 는 제 1 유형의 오퍼레이팅 시스템 (예를 들어, FreeBSD, LINIX. OS X 등) 을 실행하는 프로세서, 및 제 2 유형의 오퍼레이팅 시스템 (예를 들어, Microsoft Windows 8) 을 실행하는 프로세서를 포함할 수도 있다.
SOC (100) 는 또한, 센서 데이터, 아날로그-대-디지털 변환들, 무선 데이터 송신들을 관리하기 위한, 그리고 게임들 및 무비들을 위한, 프로세싱 인코딩된 오디오 신호들과 같은, 다른 특수한 동작들을 수행하기 위한 아날로그 회로 및 커스텀 회로 (custom circuitry; 114) 를 포함할 수도 있다. SOC (100) 는 전압 조정기들, 오실레이터들, 위상 고정 루프들, 주변 브릿지들, 데이터 컨트롤러들, 메모리 컨트롤러들, 시스템 컨트롤러들, 액세스 포트들, 타이머들과 같은 시스템 컴포넌트들 및 리소스들 (116), 및 컴퓨팅 디바이스 상에서 실행하는 프로세서들 및 클라이언트들을 지원하기 위해 사용되는 다른 유사한 컴포넌트들을 더 포함할 수도 있다.
시스템 컴포넌트들 (116) 및 커스텀 회로 (114) 는, 카메라들, 전자적 디스플레이들, 무선 통신 디바이스들, 외부 메모리 칩들 등과 같은 주변 디바이스들과 인터페이스하는 회로를 포함할 수도 있다. 프로세서들 (102, 104, 106, 108) 은, 재구성가능 로직 게이트들의 어레이를 포함할 수도 있고, 및/또는, 버스 아키텍처 (예를 들어, CoreConnect, AMBA 등) 를 구현할 수도 있는, 상호연결/버스 모듈 (124) 을 통해 하나 이상의 메모리 엘리먼트들 (112), 시스템 컴포넌트들, 및 리소스들 (116) 및 커스텀 회로 (114) 에 상호연결될 수도 있다. 통신들은 고성능 네트워크-온 칩 (NoC) 들과 같은, 진보된 상호연결들에 의해 제공될 수도 있다.
SOC (100) 는, 클럭 (118) 및 전압 조정기 (120) 와 같은, SOC 외부의 리소스들과 통신하기 위한 (미도시의) 입력/출력 모듈을 더 포함할 수도 있다. SOC 외부 리소스들 (예를 들어, 클럭 (118), 전압 조정기 (120)) 은 내부 SOC 프로세서들/코어들 (예를 들어, DSP (102), 모뎀 프로세서 (104), 그래픽 프로세서 (106), 애플리케이션 프로세서 (108) 등) 중 2 개 이상에 의해 공유될 수도 있다.
상기 논의된 SOC (100) 에 추가하여, 다양한 양태들은, 단일 프로세서, 다수의 프로세서들, 멀티코어 프로세서들, 또는 이들의 임의의 조합을 포함할 수도 있는, 아주 다양한 컴퓨팅 시스템들에서 구현될 수도 있다.
도 2 는 다양한 양태들에 따라 동적 및 적응적 관찰들을 수행하도록 구성된 컴퓨팅 시스템 (200) 에서의 예시적인 논리적 컴포넌트들 및 정보 흐름들을 나타낸다. 도 2 에 도시된 예에서, 컴퓨팅 시스템 (200) 은 조대 (coarse) 관찰자 모듈 (202), 분석기 모듈 (204), 외부 컨텍스트 정보 모듈 (206), 및 구동 (actuation) 모듈 (208) 을 포함한다. 다양한 양태들에서, 이러한 모듈들은 소프트웨어, 하드웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 다양한 양태들에서, 모듈들은, 오퍼레이팅 시스템의 부분들 내에서 (예를 들어, 커널 내에서, 커널 공간에서, 사용자 공간에서 등), 별개의 프로그램들 또는 애플리케이션들 내에서, 특수 하드웨어 버퍼들 또는 프로세서들에서, 또는 이들의 임의의 조합으로 구현될 수도 있다. 일 양태에서, 모듈들 중 하나 이상은 모바일 디바이스의 하나 이상의 프로세서들 상에서 실행되는 소프트웨어 명령들로서 구현될 수도 있다.
관찰자 모듈 (202) 은, 모바일 디바이스의 다양한 레벨들/모듈들에서 애플리케이션 프로그래밍 인터페이스들 (API들) 을 장치/통합조정하도록, 그리고 장치된 API 들을 통해 다양한 레벨들/모듈들에서 모바일 디바이스 동작들 및 이벤트들 (예를 들어, 시스템 이벤트들, 상태 변화들 등) 을 모니터링/관찰하도록 구성될 수도 있고, 관찰된 동작들/이벤트들에 관한 정보를 수집하고, 수집된 정보를 지능적으로 필터링하고, 필터링된 정보에 기초하여 하나 이상의 관찰들을 생성하며, 생성된 관찰들을 메모리에 효율적으로 저장하고, 생성된 관찰들을 (예를 들어, 메모리 기입들, 함수 호출들 등을 통해) 분석기 모듈 (204) 에 전송하도록 구성될 수도 있다.
분석기 모듈 (204) 은, 디바이스의 시간에 걸친 열화에 기여하는 (또는 기여할 가능성이 있는), 또는 그렇지않으면 디바이스 상에서 문제들을 야기할 수도 있는 거동들, 프로세스들, 또는 프로그램들을 식별하기 위해 제한된 셋트의 정보 (즉, 조대한 관찰들) 을 이용하기 위한 지능을 포함할 수도 있다. 예를 들어, 분석기 모듈 (204) 은 다양한 모듈들 (예를 들어, 관찰자 모듈 (202), 외부 컨텍스트 정보 모듈 (206) 등) 로부터 수집된 (예를 들어, 관찰들의 형태의) 정보를 분석하고, 모바일 디바이스의 정규 동작 거동들을 익히고, 모바일 디바이스의 거동들의 거동 모델들을 생성하며, 그 생성된 모델들을 관찰자 모듈 (202) 로부터 수신된 정보/관찰들에 대해 비교하여, 의심스러운 모바일 디바이스 거동들을 식별하도록 구성될 수도 있다.
상기 언급된 바와 같이, 관찰자 모듈 (202) 은 모바일 디바이스 동작들 및 이벤트들을 모니터링/관찰할 수도 있다. 다양한 양태들에서, 모바일 디바이스 동작들 및 이벤트들을 관찰하는 것은, 애플리케이션 프레임워크 또는 런-타임 라이브러리들에서의 라이브러리 API 호들, 시스템 호 API 들, 파일-시스템 및 네트워킹 서브-시스템 동작들, (센서 디바이스들을 포함하는) 디바이스 상태 변화들, 및 다른 유사한 이벤트들 중 어느 것 또는 전부에 관한 정보를 수집하는 것을 포함할 수도 있다. 일 양태에서, 관찰자 모듈 (202) 은 파일 명칭들, 파일 액세스들의 카테고리들 (개인용 정보 또는 정규 데이터 파일들) 을 검색하는 것, 파일들 (예를 들어, exe, zip 타입 등) 을 생성 또는 삭제하는 것, 파일 읽기/쓰기/탐색 동작들, 파일 허가들을 변경하는 것 등을 포함할 수도 있는, 파일 시스템 활동을 모니터링할 수도 있다. 일 양태에서, 관찰자 모듈 (202) 은, 연결들의 유형들, 프로토콜들, 포트 넘버들, 디바이스가 접속되는 서버/클라이언트, 연결들의 수, 통신의 용량 또는 주파수 등을 포함할 수도 있는 데이터 네트워크 활동을 모니터링할 수도 있다. 일 양태에서, 관찰자 모듈 (202) 은, 전송되어 나간, 수신된, 또는 차단된 호들 또는 메시지들 (예를 들어, SMS 등) 의 유형 및 수 (예를 들어, 배치된 프리미엄 호들의 수) 를 모니터링하는 것을 포함할 수도 있는, 전화 네트워크 활동을 모니터링할 수도 있다. 일 양태에서, 관찰자 모듈 (202) 은 사용되는 시스템 리소스들을 모니터링할 수도 있고, 이는 포크들 (forks) 의 수, 메모리 사용, 파일 오픈 수 등을 모니터링하는 것을 포함할 수도 있다. 일 양태에서, 관찰자 모듈 (202) 은 디바이스 상태를 모니터링할 수도 있고, 이는 디스플레이가 온 또는 오프에 있는지 여부, 디바이스가 잠겨 있는지 또는 잠금해제되어 있는지 여부, 잔여 배터리 양, 카메라의 상태 등과 같은 다양한 인자들을 모니터링하는 것을 포함할 수도 있다. 일 양태에서, 관찰자 모듈 (202) 은 또한, 예를 들어, 중대한 서비스들 (브라우저, 계약 제공자 등) 에 대한 의도들, 인터-프로세스 통신들의 정도, 팝업 윈도우 등을 모니터링함으로써, 인터-프로세스 통신 (inter-process communications; IPC) 을 모니터링할 수도 있다.
모니터링되는 인자들의 수를 관리가능한 레벨로 감소시키기 위해, 도 2 에 예시된 동작 1 에서, 관찰자 모듈 (202) 은, 모바일 디바이스의 열화에 기여할 수 있는 인자들의 작은 서브셋트를 모니터링/관찰함으로써 조대한 관찰들을 수행할 수도 있고, 그 조대한 관찰을 분석기 모듈 (204) 에 전송할 수도 있다. 일 실시형태에서, 거동들의 초기 셋트 및/또는 인자들의 서브셋트는 모바일 디바이스들 상의 양성의 및 문제있는 애플리케이션들의 분석에 의해 선택될 수도 있다.
동작 2 에서, 분석기 모듈 (204) 은 관찰자 모듈 (202) 로부터 조대한 관찰을 수신하고, 모바일 디바이스의 열화에 잠재적으로 기여할 수도 있는 수신된 조대한 관찰들과 연관된 서브시스템들, 프로세스들, 및/또는 애플리케이션들을 식별할 수도 있다. 이것은, 예를 들어, 분석기 모듈 (204) 이, 외부 컨텍스트 정보 모듈 (206) 로부터 수신된 컨텍스트 정보와 수신된 정보를 비교함으로써 달성될 수도 있다.
동작 3 에서, 분석기 모듈 (204) 은, 관찰자 모듈 (202) 에게, 식별된 시스템들, 프로세스들 또는 애플리케이션들에 대한 더 깊은 로깅/관찰들 또는 최종 로깅을 수행 또는 가능하게 하도록 지시할 수도 있다. 동작 4 에서, 관찰자 모듈 (202) 은 식별된 시스템들, 프로세스들 또는 애플리케이션들에 대해 더 깊은 관찰들을 수행할 수도 있다. 동작 5 에서, 관찰자 모듈 (202) 은, 추가적인 (및 더 깊은) 분석을 위해 분석기 모듈 (204) 에 더 깊은 관찰들의 결과들을 전송할 수도 있다. 동작들 1-5 는, 문제의 소스가 식별될 때까지 또는 식별된 서브시스템들, 프로세스들 또는 애플리케이션들이 문제들 또는 열화들을 야기할 것 같지 않을 때까지 반복될 수도 있다. 동작 6 에서, 분석기 모듈 (204) 은 분석의 결과들을 구동 모듈 (208) 에 전송할 수도 있고, 구동 모듈은 결과들을 수신하고 식별된 문제들을 치유, 치료, 격리, 또는 그 외에 고치기 위한 동작들을 수행할 수도 있다.
일 양태에서, 관찰자 모듈 (202) 및 분석기 모듈 (204) 은, 제한된 그리고 조대한 관찰들로부터 의심스러운 거동을 식별하기 위해, 더 자세하게 관찰할 거동들을 동적으로 결정하기 위해, 그리고, 관찰들에 필요한 상세함의 레벨을 동적으로 결정하기 위해, 컴퓨팅 시스템의 거동들의 실시간 거동 분석을, 개별적으로 또는 집합적으로 중 어느 일방으로, 제공할 수도 있다. 이러한 방식으로, 관찰자 모듈 (202) 은, 컴퓨팅 시스템 (200) 이, 디바이스 상의 대량의 프로세서, 메모리, 또는 배터리 자원을 필요로함이 없이 모바일 디바이스들에서 발생하는 문제들을 효율적으로 식별하고 방지할 수 있게 한다.
일 양태에서, 관찰자 모듈 (202) 은, 양성 애플리케이션들에 대한 성능-영향을 감소시키기 위해, 공간 효율적 및 쿼리-서비스-시간 효율적 방식으로 관찰들을 저장할 수도 있다. 관찰자 모듈 (202) 은 멀티-레벨 로깅 (예를 들어, 정밀 입도의 및 조대한 입도의 로깅) 을 가능하게 하기 위해 시스템에 다양한 관찰자 모드들을 제공할 수도 있다. 관찰자 모듈 (202) 은 상이한 관찰자 모드들 사이에 자동적으로 및 동적으로 스위칭하는 능력을 제공할 수도 있다. 관찰자 모듈 (202) 은 시스템 리소스들을 고갈시킬 수도 있는 프로세스/애플리케이션을 모니터링 및 제한할 수도 있다. 관찰자 모듈 (202) 은, 오버헤드가 최소가 되고 플로우 제어가 유효하게 유지/수행되도록, (예를 들어, 비보안 세상에서 보안 세상으로의) 통신 오버헤드를 관리할 수도 있다.
일 양태에서, 분석기 모듈 (204) 은, 다양한 컨텍스트들 및 조건들 하에서의 모바일 디바이스의 정규 동작 거동들을 익히기 위해 다양한 모바일 디바이스 서브-시스템들에 의해 및/또는 다양한 기간들에 걸쳐 수집된 정보를 수신 및 분석하고, 다양한 컨텍스트들/조건들 하에서의 정규 모바일 디바이스 거동들을 생성하도록 구성될 수도 있다. 일 양태에서, 분석기 모듈 (204) 은, 생성된 거동 모델들에 대해 수신된 관찰들을 상관시키고, 수신된 관찰들이 학습된 정규 동작 거동들과 충돌하는지 (또는 매칭하지 않는지) 여부를 결정하기 위해 그 상관들에 기초하여 거동 분석 동작들을 수행하도록 구성될 수도 있다.
도 3 은 일 양태에 따라 동적 및 적응적 관찰들을 수행하도록 구성된 컴퓨팅 시스템의 관찰자 모듈 (202) 에서의 예시적인 논리적 컴포넌트들 및 정보 흐름들을 나타낸다. 관찰자 모듈 (202) 은 적응형 필터 모듈 (302), 스로틀 (throttle) 모듈 (304), 관찰자 모드 모듈 (306), 하이-레벨 거동 검출 모듈 (308), 거동 벡터 발생기 (310), 및 보안 버퍼 (312) 를 포함할 수도 있다. 하이-레벨 거동 검출 모듈 (308) 은 공간적 상관 모듈 (314) 및 시간적 상관 모듈 (316) 을 포함할 수도 있다.
관찰자 모드 모듈 (306) 은, 분석기 유닛 (예를 들어, 도 2 를 참조하여 전술한 분석기 모듈 (204)) 및/또는 애플리케이션 API 를 포함할 수도 있는, 다양한 소스들로부터 제어 정보를 수신할 수도 있다. 관찰자 모드 모듈 (306) 은 다양한 관찰자 모드들에 관한 제어 정보를 적응형 필터 모듈 (302) 및 하이-레벨 거동 검출 모듈 (308) 에 전송할 수도 있다.
적응형 필터 모듈 (302) 은 다수의 소스들로부터 데이터/정보를 수신하고, 수신된 필터를 지능적으로 필터링하여 수신된 정보로부터 선택된 정보의 보다 작은 서브셋트를 생성할 수도 있다. 이 필터는, API 를 통해 통신하는 상위-레벨 프로세스, 또는 분석기 모듈로부터 수신된 정보 또는 제어에 기초하여 적응될 수도 있다. 필터링된 정보는 스로틀 모듈 (304) 에 전송될 수도 있고, 이 스로틀 모듈은, 하이-레벨 거동 검출 모듈 (308) 이 요청들 또는 정보로 넘치거나 과부하되지 않도록 보장하기 위해 필터로부터 흐르는 정보의 양을 제어하는 것을 담당할 수도 있다.
하이-레벨 거동 검출 모듈 (308) 은, 스로틀 모듈 (304) 로부터의 데이터/정보, 관찰자 모드 모듈 (306) 로부터의 제어 정보, 및 모바일 디바이스의 다른 컴포넌트들로부터의 컨텍스트 정보를 수신할 수도 있다. 하이-레벨 거동 검출 모듈 (308) 은, 디바이스로 하여금 차선의 레벨들에서 수행하게 할 수도 있는 하이 레벨 거동들을 검출 또는 식별하기 위해 공간적 및 시간적 상관들을 수행하기 위해 수신된 정보를 이용할 수도 있다. 공간적 및 시간적 상관들의 결과들은 거동 벡터 발생기 (310) 에 전송될 수도 있고, 이 거동 벡터 발생기는, 상관 정보를 수신하고, 특정 프로세스, 애플리케이션, 또는 서브-시스템의 거동들을 기술하는 거동 벡터를 생성할 수도 있다. 일 양태에서, 거동 벡터 발생기 (310) 는, 특정 프로세스, 애플리케이션, 또는 서브-시스템의 각각의 하이-레벨 거동이 거동 벡터의 요소이도록 하는 거동 벡터를 생성할 수도 있다. 일 양태에서, 생성된 거동 벡터는 보안 버퍼 (312) 에 저장될 수도 있다. 하이-리벨 거동 검출의 예들은, 특정 이벤트의 존재, 다른 이벤트의 양 또는 빈도, 다수의 이벤트들 사이의 관계, 이벤트들이 발생하는 순서, 어떤 이벤트들의 발생 사이의 시간 차이들 등의 검출을 포함할 수도 있다.
다양한 양태들에서, 관찰자 모듈 (202) 은 적응적 관찰들을 수행하고 관찰 입도를 제어할 수도 있다. 즉, 관찰자 모듈 (202) 은 관찰될 관련 거동들을 동적으로 식별하고, 식별된 거동들이 관찰되어야 하는 상세함의 레벨을 동적으로 결정할 수도 있다. 이러한 방식으로, 관찰자 모듈 (202) 은 시스템이 다양한 레벨들 (예를 들어, 다수의 조대 및 정밀 레벨들) 에서 모바일 디바이스의 거동들을 모니터링하는 것을 가능하게 한다. 관찰자 모듈 (202) 은 시스템이 관찰되고 있는 것에 적응하는 것을 가능하게 할 수도 있다. 관찰자 모듈 (202) 은 시스템이, 매우 다양한 소스들로부터 획득될 수도 있는 정보의 포커싱된 서브셋트에 기초하여 관찰되고 있는 인자들/거동들을 동적으로 변화하게 하는 것을 가능하게 할 수도 있다.
상기 논의된 바와 같이, 관찰자 모듈 (202) 은 적응적 관찰 기법들을 수행하고 다양한 소스들로부터 수신된 정보에 기초하여 관찰 입도를 제어할 수도 있다. 예를 들어, 하이-레벨 거동 검출 모듈 (308) 은 스로틀 모듈 (304), 관찰자 모드 모듈 (306) 로부터의 정보, 및 모바일 디바이스의 다른 컴포넌트들 (예를 들어, 센서들) 로부터 수신된 컨텍스트 정보를 수신할 수도 있다. 일 예로서, 시간적 상관들을 수행하는 하이-레벨 거동 검출 모듈 (308) 은, 카메라가 사용되었고 모바일 디바이스가 화상을 서버에 업로드하기를 시도하고 있다는 것을 검출할 수도 있을 것이다. 하이-레벨 거동 검출 모듈 (308) 은 또한, 모바일 디바이스가 집에 넣어져서 사용자의 벨트에 부착되어 있는 동안 모바일 디바이스 상의 애플리케이션이 사진을 찍었는지 여부를 결정하기 위해 공간적 상관들을 수행할 수도 있다. 하이-레벨 거동 검출 모듈 (308) 은, 이 검출된 하이-레벨 거동 (예를 들어, 집에 넣어져 있는 동안의 카메라의 사용) 이 수용가능한 또는 통상적인 거동인지 여부를 결정할 수도 있고, 이는 복수의 디바이스들로부터 수집된 액세스 정보 (크라우드-소싱 (crowd-sourcing) 서버로부터 수신된 정보) 및/또는 모바일 디바이스의 과거 거동과 현재 거동을 비교함으로써 달성될 수도 있다. 집에 넣어져 있는 동안 화상들을 찍는 것 및 그것들을 서버에 업로드하는 것은 (집에 넣어져 있는 상황에서 관찰된 정규 거동들로부터 결정될 수도 있는 바와 같이) 통상적이지 않은 거동이기 때문에, 이러한 상황에서, 하이-레벨 거동 검출 모듈 (308) 은 이것을 잠재적으로 위협적인 거동으로서 인식하고 적절한 반응 (예를 들어, 카메라를 끄는 것, 경고음을 내는 것 등) 을 개시할 수도 있다.
일 양태에서, 관찰자 모듈 (202) 은 다수의 부분들에서 구현될 수도 있다.
도 4 는, 일 양태에 따라 관찰자 모듈을 구현하는 예시적인 컴퓨팅 시스템 (400) 에서의 논리적 컴포넌트들 및 정보 흐름들을 나타낸다. 도시된 컴퓨팅 시스템 (400) 은 사용자 공간에서 애플리케이션 프레임워크 (402), 런 타임 라이브러리 (404), 사용자 로그 API (406), 로거 (logger) 라이브러리 (408) 를 포함한다. 컴퓨팅 시스템 (400) 은 커널 공간에서 커널 코어 (410), 커널 드라이버들 (412), 커널 로그 API (414), 관찰자 로거 (424), 필터 규칙 모듈 (416), 스로틀링 규칙 모듈 (418), 링 버퍼 (422), 및 관찰자 데몬 (420) 을 포함할 수도 있다. 일 양태에서, 링 버퍼 (422) 는 고정 사이즈 및 환상 버퍼일 수도 있다. 일 양태에서, 사용자 로그 API (406) 및 커널 로그 API (414) 의 결합은 관찰자 로거 (424)를 구성할 수도 있다. 일 양태에서, 관찰자 데몬 (420) 및 관찰자 로거 (424) 의 결합은 관찰자 모듈 (202) 을 구성할 수도 있다.
애플리케이션 프레임워크 (402) 및 런 타임 라이브러리 (404) 는 모바일 디바이스의 기존의 소프트웨어 코드/컴포넌트들일 수도 있고, 이들의 각각은 활동들을 모니터링하고 사용자 공간에서 사용자 로그 API (406) 에 정보를 전송하기 위한 로직 (logic) 으로 장치될 수도 있다. 사용자 로그 API (406) 는 사용자 공간 애플리케이션들이 커널 로그 API (414) 를 통해 통신하는 것을 가능하게 하는 API 를 제공할 수도 있다.
일 양태에서, 관찰자 로거 (424) 는, 특정 이벤트, 액션, 또는 API (특별히 중요한 것으로서 API 들의 리스트에서 식별된 API) 가 유발될 때마다 자동적으로 호출될 수도 있고, 대응하는 정보가 링 버퍼 (422) 에 저장될 수도 있다. 링 버퍼 (422) 에 저장된 정보는, 예를 들어, 호출자를 식별하기 위한 정보, 정확한 호출되는 함수를 식별하기 위한 정보, 함수 호출에 패스되었던 파라미터들, 및 다른 유사한 정보를 포함할 수도 있다. 일 양태에서, 이 정보는 링 버퍼 (422) 에 미가공 포맷으로 저장될 수도 있다. 대안적으로, 링 버퍼 (422) 는 로그가 프로세싱된 후에 정보를 저장하기 위해 이용될 수도 있다.
관찰자 로거 (424) 는 필터 및 스로틀링 규칙들 (416, 418) 의 셋트에 의해 제어될 수도 있다. 필터 규칙 (416) 은 특정 API 가 로깅되어야 하는지 아닌지 여부를 명시할 수도 있다. 스로틀링 규칙 (418) 은 시스템이 과부하를 방지하기 위해 특정 API 의 로깅/모니터링을 종결하여야 할 조건들을 명시할 수도 있다.
필터 및 스로틀링 규칙 (416, 418) 은 관찰자 데몬 (420) 에 의해 형성, 업데이트, 및/또는 유지될 수도 있다. 예를 들어, 10분 동안 모바일 디바이스를 관찰한 후에, 관찰자 데몬 (428) 이, 특정 API 가 더 이상 관심 대상이 아니라고 (예를 들어, 그것이 시스템에 유용한 정보를 제공하고 있지 않다고) 결정하는 경우, 관찰자 데몬 (420) 은, 그 특정 API 에 관련된 이벤트들이 더 이상 모니터링/로깅되지 않도록 필터 규칙 (416) 을 업데이트할 수도 있다.
도 5a 는, 일 양태에 따라 관찰자 모듈 (202) 을 구현하는 컴퓨팅 시스템 (500) 에서의 논리적 컴포넌트들 및 정보 흐름들을 나타낸다. 도 5a 에 도시된 컴퓨팅 시스템 (500) 은, 디바이스 상의 사용자 공간 및/또는 커널 공간에서 사용자 로그 API (406) 에 대해 필터 규칙 (416) 이 강제된다는 점을 제외하고는, 도 4 를 참조하여 전술된 모든 컴포넌트들을 포함한다. 따라서, (도 4 를 참조하여 설명된 바와 같이) 각각의 호가 관찰자 로거 (424) 에 착신되고 관찰자 로거 (424) 는 그 호가 로깅되어야 하는지 아닌지 여부를 결정하는 대신에, 필터 규칙 (416) 은, 호 자체가 필터 규칙 (416) 에 기초하여 로거에 도달하지 않도록 장치들 (예를 들어, 사용자 로그 API 등) 내에서 구현될 수도 있다. 도 5a 에 도시된 구성을 구현하는 것은, 함수 호출들이 커널 내부에서 로거에 대해 이루어질 필요가 없기 때문에, 모바일 디바이스 효율을 더 향상시킬 수도 있다.
도 5b 는, 또 다른 양태에 따라 관찰자 모듈을 구현하는 컴퓨팅 시스템 (550) 에서의 논리적 컴포넌트들 및 정보 흐름들을 나타낸다. 도 5b 에 도시된 컴퓨팅 시스템 (550) 은, 관찰자 데몬 (420) 이 사용자 공간 내에 있다는 점을 제외하고는, 도 5a 를 참조하여 전술된 모든 컴포넌트들을 포함한다. 일 양태에서, 관찰자 데몬 (420), 필터 규칙 (416), 스로틀링 규칙 (418), 및 관찰자 로거 (424) 는 동일 컴포넌트의 일부일 수도 있다. 도 5b 에 도시된 구성을 구현하는 것은, 관찰자 데몬 (420) 이 커널 공간 내로의 함수 호출들 없이도 필터 규칙을 업데이트할 수도 있기 때문에, 모바일 디바이스 효율을 더 향상시킬 수도 있다.
임의의 주어진 시간에서, 수개의 애플리케이션들 및 수개의 커널 스레드들이 링 버퍼에 정보를 저장/기입하기를 시도하고 있을 수도 있고, 이는 확장성 (scalability) 을 저해하는 경쟁 이슈들을 야기할 수도 있다. 일 양태에서, 시스템의 확장성은 도 6a 내지 도 6b 에서 도시된 바와 같이, 다수의 링 버퍼들의 포함을 통해 향상될 수도 있다. 도 6a 에 도시된 컴퓨팅 시스템 (600) 은 도 5a 를 참조하여 전술된 모든 컴포넌트들을 포함하지만, 다수의 링 버퍼들 (430) 을 포함한다. 컴퓨팅 시스템 (600) 은 시스템에 의해 모니터링되고 있는 각각의 애플리케이션, 스로틀, 및 커널 스레드에 대해 링 버퍼를 포함할 수도 있다. 예를 들어, 컴퓨팅 시스템 (600) 은, 시스템에 의해 모니터링되고 있는 커널 스레드에 대해 링 버퍼를 포함할 수도 있고, 시스템에 의해 모니터링되고 있는 각각의 애플리케이션 및/또는 스로틀에 대해 하나 이상의 링 버퍼들을 포함할 수도 있다. 대안적으로, 컴퓨팅 시스템 (600) 은 시스템에 의해 모니터링되고 있는 애플리케이션들의 그룹들, 스로틀들의 그룹들, 및/또는 커널 스레드들의 그룹들에 대해 링 버퍼를 포함할 수도 있다. 다수의 링 버퍼들의 포함은 컴퓨팅 시스템 (600) 이 경쟁 이슈들이 발생하는 것을 회피하는 것을 가능하게 하고, 병목 현상을 감소시킨다.
도 6b 에 도시된 컴퓨팅 시스템 (650) 은, 관찰자 데몬 (420) 이 사용자 공간에 있는 점을 제외하고는, 도 6a 를 참조하여 전술된 모든 컴포넌트들을 포함한다. 도 6b 에 도시된 구성을 구현하는 것은, 관찰자 데몬 (420) 이 커널 공간 내로의 함수 호출들 없이도 필터 규칙을 업데이트할 수도 있기 때문에, 모바일 디바이스 효율을 더 향상시킬 수도 있다.
도 7a 는 일 양태의 관찰자 데몬 (420) 을 구현하는 컴퓨팅 시스템 (700) 에서의 논리적 컴포넌트들 및 정보 흐름들을 나타낸다. 컴퓨팅 시스템 (700) 은, 분석기 컴포넌트 (예를 들어, 도 2 에 도시된 분석기 모듈 (204)), 필터 규칙 (416) 컴포넌트, 스로틀링 규칙 (418) 컴포넌트, 다수의 링 버퍼들 (430), 데이터베이스 (702), 보안 버퍼 (704), 및 관찰자 데몬 (420) 을 포함할 수도 있다. 관찰자 데몬 (420) 은, 링 버퍼 API (706), 시스템 건강 (health) 모니터 (708), 거동 검출기 (712), 데이터베이스 엔진 (714), 규칙 관리자 (710), 보안 버퍼 관리자 (716), 쿼리 (query) 프로세서 (720), 쿼리 API (718), 데이터베이스 API (722) 를 포함할 수도 있다. 로거 (미도시) 는 링 버퍼들 (430) 에 정보를 저장할 수도 있다. 관찰자 데몬 (420) 은 링 버퍼 API (706) 를 통해 링 버퍼들 (430) 로부터 정보를 추출할 수도 있다. 거동 검출기 (712) 는 링 버퍼 API (706) 로부터 정보를 수신하고, 수신된 데이터에 대해 상관 및 포맷팅을 수행하여 거동 벡터를 생성할 수도 있다.
생성된 거동 벡터는 데이터베이스 (702) 에의 저장을 위해 데이터베이스 엔진 (714) 에 전송될 수도 있다. 데이터베이스 엔진 (714) 은 데이터베이스 구현의 특수성들 (구현되는 데이터 구조의 종류, 데이터 구조 내에 포함되는 정보의 유형들 등) 을 모두 관리할 수도 있다.
규칙 관리자 (710) 는, 상이한 컴포넌트 (예를 들어, 시스템 건강 모니터, 거동 검출 유닛, 분석기 등) 로부터 입력들을 수신하고, 그 수신된 입력들에 기초하여 필터 및 스로틀 규칙들 (416, 418) 을 업데이트하도록 구성될 수도 있다. 예를 들어, 규칙 관리자 (710) 는 거동 검출기 (712) 로부터 로그 통계를 수신하고 그 로그 통계에 기초하여 필터 및 스로틀 규칙들 (416, 418) 을 업데이트할 수도 있다.
시스템 건강 모니터 (708) 는 시스템 리소스들을 모니터링하고, 규칙 관리자 (710) 에 시스템 건강을 알리도록 구성될 수도 있다. 예를 들어, 시스템 건강 모니터 (708) 는 규칙 관리자 (710) 에게, 배터리에 남은 에너지의 양, 얼마나 많은 메모리가 이용가능한지, 상세한 관찰을 수행하기에 충분한 리소스들이 있는지 등에 관해 알릴 수도 있다. 규칙 관리자 (710) 는 규칙을 업데이트하기 위해 시스템 건강 모니터 (708) 로부터 수신된 정보를 이용할 수도 있다. 예를 들어, 시스템 건강 모니터 (708) 가, 디바이스 배터리 상태가 어떤 임계치 미만이라고 나타내는 경우에, 규칙 관리자 (710) 는, 시스템이 전력 소모를 감소시키기 위해 보다 조대한 관찰들을 수행하도록 필터 규칙 (416) 을 업데이트할 수도 있다.
쿼리 프로세서 (720) 는 다양한 API 들 사이의 변환들, 예컨대, 쿼리 API (718) 로부터 데이터베이스-특정 API (722) 로의 변환을 수행하도록 구성될 수도 있다.
보안 버퍼 (704) 는 (예를 들어, 신뢰되지 않은 구역에서의) 커널 공간 컴포넌트들이 (예를 들어, 신뢰된 구역에서의) 사용자 공간 컴포넌트들과 통신하는 것을 가능하게 할 수도 있다.
보안 버퍼 관리자 (716) 는 보안 버퍼 (704) 를 통해 발생하는 통신들을 제어하도록 구성될 수도 있다.
데이터베이스 엔진 (714) 은 데이터베이스 응답을 보안 버퍼 관리자 (716) 에 저장하도록 구성될 수도 있고, 이 보안 버퍼 관리자는 플로우 제어 동작들을 수행하고 그 정보를 보안 버퍼 (704) 에 저장할 수도 있다.
관찰자 데몬 (420) 에 의해 생성된 정보는 분석기 (204) 에 의해 이용될 수도 있고, 이는 커널 공간, 사용자 공간에서, 또는 시스템-온-칩 (SOC) 의 신뢰된 컴퓨팅 베이스에서 구현될 수도 있다.
도 7b 는 다른 양태의 관찰자 데몬 (420) 을 구현하는 컴퓨팅 시스템 (750) 에서의 논리적 컴포넌트들 및 정보 흐름들을 나타낸다. 컴퓨팅 시스템 (750) 은, 분석기 (204) 컴포넌트, 필터 규칙 (416) 컴포넌트, 스로틀링 규칙 (418) 컴포넌트, 다수의 링 버퍼들 (430), 보안 버퍼 (704), 보안 버퍼 관리자 (716), 및 관찰자 데몬 (420) 을 포함할 수도 있다. 관찰자 데몬 (420) 은, 링 버퍼 API (706), 시스템 건강 모니터 (708), 거동 검출기 (712), 데이터베이스 엔진 (714), 및 규칙 관리자 (710) 를 포함할 수도 있다. 로거 (미도시) 는 링 버퍼들 (430) 에 정보를 저장할 수도 있다. 컴퓨팅 시스템 (750) 은, 보안 버퍼 관리자 (716) 가 커널 공간 내에 있고 사용자 공간 내의 분석기 (204) 로 전송되는 데이터를 제어할 수도 있다는 점을 제외하고는, 도 7a 에 도시된 컴퓨팅 시스템 (700) 과 동일한 동작들을 수행할 수도 있다.
도 8a 는 다른 양태의 관찰자 데몬을 구현하는 컴퓨팅 시스템 (800) 에서의 논리적 컴포넌트들 및 정보 흐름들을 나타낸다. 도 8a 에 도시된 컴퓨팅 시스템 (800) 은, 이 양태에서의 데이터베이스가 보안 버퍼의 일부로서 포함되기 때문에 쿼리 프로세서에 대한 점을 제외하고는, 도 7a 를 참조하여 전술된 모든 컴포넌트들을 포함한다. 이 구성에서, 분석기가 쿼리를 발행할 때마다, 쿼리는 데이터베이스 엔진으로부터 바로 올 수도 있다. 유사하게, 쿼리에 대한 응답들은 보안 버퍼로부터 분석기로 바로 전송될 수도 있다.
도 8b 는 또 다른 양태의 관찰자 데몬을 구현하는 컴퓨팅 시스템 (800) 에서의 논리적 컴포넌트들 및 정보 흐름들을 나타낸다. 도 8b 에 도시된 예에서, 관찰자 데몬은 사용자 공간에서 거동 검출기 (712) 및 데이터베이스 엔진 (714) 을 포함하고, 커널 공간에서 보안 버퍼 관리자 (716), 규칙 관리자 (710), 및 시스템 건강 모니터 (708) 를 포함할 수도 있다.
다양한 양태들은, 시스템 거동을 특성화하기 위해 웹킷트, SDK, NDK, 커널, 드라이버들, 및 하드웨어를 포함하는 모바일 디바이스들 상의 크로스-레이어 관찰들을 제공한다. 거동 관찰들은 실시간으로 이루어질 수도 있다.
다양한 양태들에서의 중요한 특징은, 관찰자 모듈이 적응적 관찰 기법들을 수행하고 관찰 입도를 제어할 수도 있다는 것이다. 상기 논의된 바와 같이, 모바일 디바이스의 열화에 기여할 수 있는 많은 수의 (즉, 수천개의) 인자들이 존재하고, 디바이스의 성능의 열화에 기여할 수도 있는 상이한 인자들의 전부를 모니터링/관찰하는 것은 실현가능하지 않을 수도 있다. 이를 극복하기 위해, 다양한 양태들은, 관찰될 관련 거동들을 동적으로 식별하고, 식별된 거동들이 관찰될 상세함의 레벨을 동적으로 결정한다.
도 9 는 일 양태에 따라 동적 및 적응적 관찰들을 수행하는 예시적인 방법 (900) 을 나타낸다. 블록 902 에서, 모바일 디바이스 프로세서는 모바일 디바이스의 열화에 기여할 수 있는 많은 수의 인자들/거동들의 서브셋트를 모니터링/관찰함으로써 조대한 관찰들을 수행할 수도 있다. 블록 903 에서, 모바일 디바이스 프로세서는 조대한 관찰들에 기초하여 조대한 관찰들 및/또는 모바일 디바이스 거동을 특성화하는 거동 벡터를 생성할 수도 있다. 블록 904 에서, 모바일 디바이스 프로세서는, 모바일 디바이스의 열화에 잠재적으로 기여할 수도 있는 조대한 관찰들과 연관된 서브시스템들, 프로세스들, 및/또는 애플리케이션들을 식별할 수도 있다. 이는 예를 들어 다중 소스들로부터 수신된 정보를 모바일 디바이스의 센서들로부터 수신된 상황적 정보와 비교함으로써 달성될 수도 있다. 블록 906 에서, 모바일 디바이스 프로세서는 조대한 관찰들에 기초하여 거동 분석 동작들을 수행할 수도 있다. 결정 블록 908 에서, 모바일 디바이스 프로세서는, 의심스러운 거동들 또는 잠재적인 문제들이 거동 분석의 결과들에 기초하여 식별되고 정정될 수 있는지 여부를 결정할 수도 있다. 모바일 디바이스 프로세서가, 의심스러운 거동들 또는 잠재적인 문제들이 거동 분석의 결과들에 기초하여 식별되고 정정될 수 있다고 결정하는 경우 (즉, 결정 블록 908 = "예"), 블록 918 에서, 프로세서는 거동을 정정하기 위한 프로세스를 개시하고 블록 902 로 돌아가 추가적인 조대한 관찰들을 수행할 수도 있다.
모바일 디바이스 프로세서가, 의심스러운 거동들 또는 잠재적인 문제들이 거동 분석의 결과들에 기초하여 식별 및/또는 정정될 수 없다고 결정하는 경우 (즉, 결정 블록 908 = "아니오"), 결정 블록 909 에서, 모바일 디바이스 프로세서는 문제의 가능성이 존재하는지 여부를 결정할 수도 있다. 일 실시형태에서, 모바일 디바이스 프로세서는, 모바일 디바이스가 잠재적인 문제들에 맞닥뜨리는 것 및/또는 의심스러운 거동들에 연루될 가능성을 계산하고, 그 계산된 가능성이 미리결정된 임계치보다 큰지 여부를 결정함으로써, 문제의 가능성이 존재한다고 결정할 수도 있다. 모바일 디바이스 프로세서가, 계산된 가능성이 미리결정된 임계치보다 크지 않고, 및/또는, 의심스러운 거동들 또는 잠재적인 문제들이 존재 및/또는 검출가능할 가능성이 없다고 결정하는 경우 (즉, 결정 블록 909 = "아니오"), 프로세서는 추가적인 조대한 관찰들을 수행하기 위해 블록 902 로 되돌아갈 수도 있다.
모바일 디바이스 프로세서가, 의심스러운 거동들 또는 잠재적인 문제들이 존재 및/또는 검출가능할 가능성이 있다고 결정하는 경우 (즉, 결정 블록 909 = "예"), 블록 910 에서, 모바일 디바이스 프로세서는 식별된 서브시스템들, 프로세스들 또는 애플리케이션들에 대해 보다 깊은 로깅/관찰들 또는 최종 로깅을 수행할 수도 있다. 블록 912 에서, 모바일 디바이스 프로세서는 식별된 서브시스템들, 프로세스들 또는 애플리케이션들에 대해 보다 깊고 보다 상세한 관찰들을 수행할 수도 있다. 블록 914 에서, 모바일 디바이스 프로세서는 더 깊고 보다 상세한 관찰들에 기초하여 추가의 및/또는 더 깊은 거동 분석을 수행할 수도 있다. 결정 블록 908 에서, 모바일 디바이스 프로세서는, 의심스러운 거동들 또는 잠재적인 문제들이 더 깊은 거동 분석의 결과들에 기초하여 식별되고 정정될 수 있는지 여부를 다시 결정할 수도 있다. 모바일 디바이스 프로세서가, 의심스러운 거동들 또는 잠재적인 문제들이 더 깊은 거동 분석의 결과들에 기초하여 식별 및 정정될 수 없다고 결정하는 경우 (즉, 결정 블록 908 = "아니오"), 프로세서는, 상세함의 레벨이 문제를 식별하기에 충분하게 정밀하게 될 때까지 또는 문제들이 추가적인 상세함으로 식별될 수 없다고 또는 아무런 문제도 존재하지 않는다고 결정될 때까지, 블록들 910-914 에서의 동작들을 반복할 수도 있다.
모바일 디바이스 프로세서가, 의심스러운 거동들 또는 잠재적인 문제들이 더 깊은 거동 분석의 결과들에 기초하여 식별 및 정정될 수 있다고 결정하는 경우 (즉, 결정 블록 908 = "예"), 블록 918 에서, 모바일 디바이스 프로세서는 문제/거동을 정정하기 위한 동작들을 수행할 수도 있고, 프로세서는 추가적인 동작들을 수행하기 위해 블록 902 로 되돌아갈 수도 있다.
일 양태에서, 방법 (900) 의 블록들 (902-918) 의 일부로서, 모바일 디바이스 프로세서는 제한된 및 조대한 관찰들로부터 의심스러운 거동을 식별하기 위해, 더 자세하게 관찰할 거동들을 동적으로 결정하기 위해, 및 관찰들에 필요한 정확한 상세함의 레벨을 동적으로 결정하기 위해, 시스템의 거동들의 실시간 거동 분석을 수행할 수도 있다. 이는 모바일 디바이스가, 디바이스 상의 대량의 프로세서, 메모리, 또는 배터리 자원을 사용할 필요 없이, 문제들을 효율적으로 식별 및 발생 방지하는 것을 가능하게 한다.
도 10 은 일 양태에 따라 모바일 디바이스 프로세서 상에서 동적 및 적응적 관찰들을 수행하는 예시적인 관찰자 방법 (1000) 을 나타낸다. 관찰자 방법 (1000) 은 모바일 디바이스의 커널 공간, 사용자 공간, 또는 이들의 조합에서 관찰자 모듈의 일부로서 구현될 수도 있다. 블록 1002 에서, 프로세서 상에서 동작하는 관찰자 모듈은, 분석기 유닛 (예를 들어, 도 2 에 기술된 분석기 모듈 (204)), 애플리케이션 API 들, 드라이버 API 들, 커널 스레드들, 사용자 스레드들, 프로세스들, 프로그램들, 모바일 디바이스 센서들 등을 포함할 수도 있는, 다양한 소스들로부터 데이터, 제어, 및/또는 컨텍스트 정보를 수신할 수도 있다. 블록 1004 에서, 프로세서 상에서 동작하는 관찰자 모듈은 수신된 정보의 더 작은 서브셋트를 생성하기 위해 수신된 정보를 적응적으로 및 지능적으로 필터링할 수도 있다. 블록 1006 에서, 프로세서 상에서 동작하는 관찰자 모듈은 필터링된 정보를 스로틀 제어하여 플러딩 (flooding) 또는 과부하를 제어/방지할 수도 있다. 블록 1008 에서, 프로세서 상에서 동작하는 관찰자 모듈은, 디바이스로 하여금 차선의 레벨에서 수행하게 할 수도 있는 하이 레벨 거동들을 검출/식별하기 위해 공간적 및 시간적 상관들을 수행할 수도 있다. 블록 1010 에서, 프로세서 상에서 동작하는 관찰자 모듈은, 특별한 프로세스들, 애플리케이션, 또는 서브-시스템의 거동들을 기술하는 거동 벡터를 생성할 수도 있다. 블록 1012 에서, 프로세서 상에서 동작하는 관찰자 모듈은 생성된 거동 벡터를 보안 버퍼에 저장할 수도 있다.
도 11 은 다른 양태에 따라 모바일 디바이스 프로세서에 의해 동적 및 적응적 관찰들을 수행하는 다른 예시적인 방법 (1100) 을 나타낸다. 블록 1102 에서, 모바일 디바이스 프로세서는 모바일 디바이스 상에서 관찰될 관련 거동들을 동적으로 식별할 수도 있다. 블록 1104 에서, 모바일 디바이스 프로세서는 식별된 거동들이 관찰되어야 하는 상세함의 레벨을 동적으로 결정할 수도 있다. 선택적 블록 1106 에서, 모바일 디바이스 프로세서는 관찰되고 있는 것에 동적으로 적응할 수도 있다. 선택적 블록 1108 에서, 모바일 디바이스 프로세서는 관찰되어야 하는 파라미터들, 인자들, 거동들, 프로세스들, 애플리케이션들, 및/또는 서브시스템들을 동적으로 변경 또는 업데이트할 수도 있다. 블록들 1102-1108 의 동작들은 모바일 디바이스 성능 (예를 들어, 배터리 전력 소모, 프로세싱 속도, 네트워크 통신 속도들 등) 을 향상시키기 위해 계속 또는 필요에 따라 반복될 수도 있다.
다양한 양태들은 다양한 모바일 컴퓨팅 디바이스들 상에서 구현될 수도 있고, 그 일예가 스마트폰의 형태로 도 12 에서 도시된다. 스마트폰 (1200) 은 내부 메모리 (1202), 디스플레이 (1203) 에, 그리고 스피커에 커플링된 프로세서 (1201) 를 포함할 수도 있다. 추가적으로, 스마트폰 (1200) 은 프로세서 (1201) 에 커플링된 무선 데이터 링크 및/또는 셀룰러 전화 트랜시버 (1205) 에 연결될 수도 있는, 전자기적 방사를 전송 및 수신하는 안테나 (1204) 를 포함할 수도 있다. 스마트폰 (1200) 은 통상적으로 사용자 입력들을 수신하기 위한 메뉴 선택 버튼들 또는 로커 (rocker) 스위치들 (1206) 을 또한 포함한다.
통상적인 스마트폰 (1200) 은 또한, 마이크로폰으로부터 수신된 사운드를 무선 송신에 적합한 데이터 패킷들로 디지털화하고, 사운드를 생성하기 위해 스피커에 제공되는 아날로그 신호들을 생성하기 위해 수신된 사운드 데이터 패킷들을 디코딩하는, 사운드 인코딩/디코딩 (CODEC) 회로 (1212) 를 포함한다. 또한, 프로세서 (1201), 무선 트랜시버 (1205) 및 CODEC (1212) 중 하나 이상은 디지털 신호 프로세서 (DSP) 회로를 포함할 수도 있다 (개별적으로 도시되지 않음).
양태 방법들의 부분들은, 그 양태 방법들을 수행하는 동안 모바일 디바이스 프로세서에 의해 액세스될 수도 있는, 정규 동작 거동들의 데이터베이스들을 유지하는 것과 같은, 서버에서 일어나는 프로세싱의 일부로 클라이언트-서버 아키텍처에서 달성될 수도 있다. 이러한 양태들은 도 13 에서 도시된 서버 (1300) 와 같은 다양한 상업적으로 이용가능한 서버 디바이스들 중 임의의 것 상에서 구현될 수도 있다. 이러한 서버 (1300) 는 통상적으로, 휘발성 메모리 (1302), 및 디스크 드라이브 (1303) 와 같은 대용량의 비휘발성 메모리에 커플링된 프로세서 (1301) 를 포함한다. 서버 (1300) 는 또한, 프로세서 (1301) 에 커플링된 플로피 디스크 드라이브, 컴팩트 디스크 (CD) 또는 DVD 디스크 드라이브 (13011) 를 포함할 수도 있다. 서버 (1300) 는 또한, 다른 브로드캐스트 시스템 컴퓨터들 및 서버들에 커플링된 로컬 영역 네트워크와 같은 네트워크 (1305) 와 데이터 접속들을 확립하기 위한, 프로세서 (1301) 에 커플링된 네트워크 액세스 포트들 (1304) 을 포함할 수도 있다.
프로세서 (1201, 1301) 는, 이하 설명되는 다양한 양태들의 기능들을 포함하는 다양한 기능들을 수행하도록 소프트웨어 명령들 (애플리케이션들) 에 의해 구성될 수 있는 임의의 프로그래머블 마이크로프로세서, 마이크로컴퓨터 또는 다중 프로세서 칩 또는 칩들일 수도 있다. 일부 모바일 디바이스들에서, 무선 통신 기능들에 전용되는 하나의 프로세서 및 다른 애플리케이션들을 실행하는데 전용되는 하나의 프로세서와 같이 다중 프로세서들 (1201) 이 제공될 수도 있다. 통상적으로, 소프트웨어 애플리케이션들은, 그들이 액세스되고 프로세서 (1201, 1301) 내로 로딩되기 전에 내부 메모리 (1202, 1302, 1303) 에 저장될 수도 있다. 프로세서 (1201, 1301) 는 애플리케이션 소프트웨어 명령들을 저장하기에 충분한 내부 메모리를 포함할 수도 있다.
전술한 방법 설명들 및 프로세스 흐름도들은 단지 예시를 위한 예들로서 제공되었고, 다양한 양태들의 단계들이 제시된 순서로 수행되어야 하는 것을 의미하거나 요구하는 것을 의도하는 것이 아니다. 당해 분야에서 통상의 지식을 가진 자 (이하, '통상의 기술자' 라 함) 에 의해 이해되는 바와 같이, 전술한 양태들의 단계들의 순서는 임의의 순서로 수행될 수도 있다. "그 후", "그 다음", "다음으로" 와 같은 단어들은 단계들의 순서를 제한하려는 의도가 아니며, 이들 단어들은 단순히 방법들의 설명을 통해 독자를 안내하기 위해 사용된다. 또한, 예를 들어 관사들 "a", "an", 또는 "the" 을 이용하는 단수의 청구항 엘리먼트들에 대한 어떤 언급은 엘리먼트를 단수로 제한하는 것으로 해석되어서는 아니된다.
본 명세서에서 개시된 양태들과 함께 설명된 다양한 예시적인 논리적 블록들, 모듈들, 회로들, 및 알고리즘 단계들은 전자적 하드웨어, 컴퓨터 소프트웨어, 또는 양자의 조합으로서 구현될 수도 있다. 하드웨어와 소프트웨어의 이러한 상호교환가능성을 명확하게 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들이 그들의 기능성 면에서 일반적으로 상기 설명되었다. 이러한 기능성이 하드웨어로 또는 소프트웨어로 구현되는지 여부는 전체 시스템에 부과된 특정 애플리케이션 및 설계 제약들에 의존한다. 통상의 기술자는 설명된 기능성을 각각의 특정 애플리케이션에 대해 다양한 방식들로 구현할 수도 있지만, 이러한 구현 결정들은 본 발명의 범위로부터 벗어나는 것을 야기하는 것으로 해석되어서는 아니된다.
본 명세서에서 개시된 양태들과 관련하여 기술된 다양한 예시적인 로직들, 논리적 블록들, 모듈들, 및 회로들은 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그래머블 게이트 어레이 (FPGA) 또는 다른 프로그래머블 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본 명세서에 기술된 기능들을 수행하도록 설계된 이들의 임의의 조합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예를 들어, DSP 와 멀티프로세서, 복수의 멀티프로세서들, DSP 코어와 결합된 하나 이상의 멀티프로세서들의 조합, 또는 임의의 기타 다른 구성으로서 구현될 수도 있다. 대안적으로, 일부 단계들 또는 방법들은 주어진 기능에 대해 특정적인 회로에 의해 수행될 수도 있다.
하나 이상의 예시적인 양태들에서, 기술된 기능들은 하드웨어, 소프트웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 기능들은 비-일시적 컴퓨터-판독가능 매체 또는 비-일시적 프로세서-판독가능 매체 상에 하나 이상의 명령들 또는 코드로서 저장될 수도 있다. 본 명세서에서 개시된 방법 또는 알고리즘의 단계들은 비-일시적 컴퓨터-판독가능 또는 프로세서-판독가능 저장 매체 상에 상주할 수도 있는 프로세서-실행가능 소프트웨어 모듈로서 구현될 수도 있다. 비-일시적 컴퓨터-판독가능 또는 프로세서-판독가능 저장 매체는 컴퓨터 또는 프로세서에 의해 액세스될 수도 있는 임의의 저장 매체일 수도 있다. 제한적이 아닌 예시로서, 이러한 비-일시적 컴퓨터-판독가능 또는 프로세서-판독가능 매체는 RAM, ROM, EEPROM, 플래시 메모리, CD-ROM 또는 다른 광학적 디스크 스토리지, 자기적 디스크 스토리지 또는 다른 자기적 저장 디바이스들, 또는, 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 저장하기 위해 이용될 수도 있고 컴퓨터에 의해 액세스될 수도 있는 임의의 다른 매체를 포함할 수도 있다. 본 명세서에서 사용된, 디스크 (disk) 및 디스크 (disc) 는, 컴팩트 디스크 (CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크, 블루-레이 디스크를 포함하고, 여기서, 디스크 (disk) 들은 통상적으로 데이터를 자기적으로 재생하는 한편, 디스크 (disc) 들은 데이터를 레이저들을 이용하여 광학적으로 재생한다. 상기한 것들의 조합들 또한 비-일시적 컴퓨터-판독가능 및 프로세서-판독가능 매체의 범위 내에 포함된다. 또한, 방법 또는 알고리즘의 동작들은, 컴퓨터 프로그램 제품에 통합될 수도 있는, 비-일시적 프로세서-판독가능 매체 및/또는 컴퓨터-판독가능 매체 상에 코드들 및/또는 명령들의 하나 또는 임의의 조합 또는 셋트로서 상주할 수도 있다.
개시된 양태들의 이전의 설명은 통상의 기술자가 본 발명을 실시 또는 이용하는 것을 가능하게 하기 위해 제공되었다. 이들 양태들의 다양한 변형들이 통상의 기술자에게 자명할 것이고, 본 명세서에서 정의된 일반적인 원리들은 본 발명의 사상 또는 범위로부터 벗어남이 없이 다른 양태들에 적용될 수도 있다. 따라서, 본 발명은 본 명세서에 나타난 양태들에 제한되는 것으로 의도되지 아니하고, 이하의 청구항들 및 본 명세서에서 개시된 원리들 및 창의적 특징들과 일치하는 가장 넓은 범위에 부합될 것이다.

Claims (40)

  1. 정규 동작 패턴들과 불일치하는 모바일 디바이스 거동들을 인식하기 위해 일정 기간에 걸쳐 모바일 디바이스 거동들을 관찰하는 방법으로서,
    상기 기간에 걸쳐 모바일 디바이스 거동들을 관찰하는 것; 및
    적응형 필터에 의한 필터링 후에 하이-레벨 애플리케이션, 시스템 커널 및 드라이버 애플리케이션 프로그래밍 인터페이스 (API) 중 하나 이상으로부터 거동 입력들을 수신하는 것;
    모바일 디바이스의 동작들에 관한 컨텍스트 입력을 수신하는 것;
    수신된 상기 거동 입력들 및 수신된 상기 컨텍스트 입력의 공간적 상관들을 수행하는 것; 및
    거동 벡터를 생성하는 것
    에 의해, 관찰될 상기 모바일 디바이스 거동들로서 불일치하는 동작들과 연관된 제한된 셋트의 거동들을 식별하는 것
    에 의해, 관찰될 모바일 디바이스 거동들을, 상기 모바일 디바이스의 프로세서에서 동적으로 결정하는 단계;
    제한된 셋트의 관찰들로부터 의심스러운 모바일 디바이스 거동을 식별하기 위해, 결정된 상기 모바일 디바이스 거동들을 적응적으로 관찰하는 단계; 및
    적응적 관찰의 관찰 입도 (granularity) 를 제어하는 단계
    를 포함하는, 모바일 디바이스 거동들을 관찰하는 방법.
  2. 제 1 항에 있어서,
    관찰될 모바일 디바이스 거동들을 동적으로 결정하는 동작 및 상기 적응적 관찰의 관찰 입도를 제어하는 동작은, 상기 시스템 커널 내에서 동작하는 관찰자 데몬을 통해 달성되는, 모바일 디바이스 거동들을 관찰하는 방법.
  3. 제 1 항에 있어서,
    상기 관찰될 모바일 디바이스 거동들로서 불일치하는 동작들과 연관된 상기 제한된 셋트의 거동들을 식별하는 것은, 수신된 상기 거동 입력들 및 수신된 상기 컨텍스트 입력의 시간적 상관들을 수행하는 것을 포함하고,
    상기 거동 벡터를 생성하는 것은, 상기 공간적 및 시간적 상관들의 결과에 기초하여 상기 거동 벡터를 생성하는 것을 포함하는, 모바일 디바이스 거동들을 관찰하는 방법.
  4. 제 1 항에 있어서,
    상기 관찰될 모바일 디바이스 거동들로서 불일치하는 동작들과 연관된 상기 제한된 셋트의 거동들을 식별하는 것은, 생성된 상기 거동 벡터를 보안 메모리에 저장하는 것을 포함하는, 모바일 디바이스 거동들을 관찰하는 방법.
  5. 모바일 컴퓨팅 디바이스로서,
    일정 기간에 걸쳐 모바일 디바이스 거동들을 관찰하는 것; 및
    적응형 필터에 의한 필터링 후에 하이-레벨 애플리케이션, 시스템 커널 및 드라이버 애플리케이션 프로그래밍 인터페이스 (API) 중 하나 이상으로부터 거동 입력들을 수신하는 것;
    모바일 디바이스의 동작들에 관한 컨텍스트 입력을 수신하는 것;
    수신된 상기 거동 입력들 및 수신된 상기 컨텍스트 입력의 공간적 상관들을 수행하는 것; 및
    거동 벡터를 생성하는 것
    에 의해, 관찰될 상기 모바일 디바이스 거동들로서 불일치하는 동작들과 연관된 제한된 셋트의 거동들을 식별하는 것
    에 의해, 관찰될 모바일 디바이스 거동들을 동적으로 결정하는 동작;
    제한된 셋트의 관찰들로부터 의심스러운 모바일 디바이스 거동을 식별하기 위해, 결정된 상기 모바일 디바이스 거동들을 적응적으로 관찰하는 동작; 및
    적응적 관찰의 관찰 입도 (granularity) 를 제어하는 동작
    을 포함하는 동작들을 수행하도록 프로세서-실행가능 명령들로 구성되는 프로세서를 포함하는, 모바일 컴퓨팅 디바이스.
  6. 제 5 항에 있어서,
    상기 프로세서는,
    상기 관찰될 모바일 디바이스 거동들을 동적으로 결정하는 동작 및 상기 적응적 관찰의 관찰 입도를 제어하는 동작이, 상기 시스템 커널 내에서 동작하는 관찰자 데몬을 통해 달성되도록 하는 동작들을 수행하도록 프로세서-실행가능 명령들로 구성되는, 모바일 컴퓨팅 디바이스.
  7. 제 5 항에 있어서,
    상기 프로세서는,
    상기 관찰될 모바일 디바이스 거동들로서 불일치하는 동작들과 연관된 상기 제한된 셋트의 거동들을 식별하는 것은, 수신된 상기 거동 입력들 및 수신된 상기 컨텍스트 입력의 시간적 상관들을 수행하는 것을 포함하고,
    상기 거동 벡터를 생성하는 것은, 상기 공간적 및 시간적 상관들의 결과에 기초하여 상기 거동 벡터를 생성하는 것을 포함하도록 하는 동작들을 수행하도록 프로세서-실행가능 명령들로 구성되는, 모바일 컴퓨팅 디바이스.
  8. 제 5 항에 있어서,
    상기 프로세서는,
    상기 관찰될 모바일 디바이스 거동들로서 불일치하는 동작들과 연관된 상기 제한된 셋트의 거동들을 식별하는 것은, 생성된 상기 거동 벡터를 보안 메모리에 저장하는 것을 포함하도록 하는 동작들을 수행하도록 프로세서-실행가능 명령들로 구성되는, 모바일 컴퓨팅 디바이스.
  9. 프로세서-실행가능 소프트웨어 명령들이 저장된 비-일시적 컴퓨터 판독가능 저장 매체로서,
    상기 프로세서-실행가능 소프트웨어 명령들은 모바일 디바이스의 프로세서로 하여금,
    일정 기간에 걸쳐 모바일 디바이스 거동들을 관찰하는 것; 및
    적응형 필터에 의한 필터링 후에 하이-레벨 애플리케이션, 시스템 커널 및 드라이버 애플리케이션 프로그래밍 인터페이스 (API) 중 하나 이상으로부터 거동 입력들을 수신하는 것;
    상기 모바일 디바이스의 동작들에 관한 컨텍스트 입력을 수신하는 것;
    수신된 상기 거동 입력들 및 수신된 상기 컨텍스트 입력의 공간적 상관들을 수행하는 것; 및
    거동 벡터를 생성하는 것
    에 의해, 관찰될 상기 모바일 디바이스 거동들로서 불일치하는 동작들과 연관된 제한된 셋트의 거동들을 식별하는 것
    에 의해, 관찰될 모바일 디바이스 거동들을 동적으로 결정하는 동작;
    제한된 셋트의 관찰들로부터 의심스러운 모바일 디바이스 거동을 식별하기 위해, 결정된 상기 모바일 디바이스 거동들을 적응적으로 관찰하는 동작; 및
    적응적 관찰의 관찰 입도 (granularity) 를 제어하는 동작
    을 포함하는 동작들을 수행하게 하도록 구성되는, 비-일시적 컴퓨터 판독가능 저장 매체.
  10. 제 9 항에 있어서,
    저장된 상기 프로세서-실행가능 소프트웨어 명령들은, 프로세서로 하여금,
    상기 관찰될 모바일 디바이스 거동들을 동적으로 결정하는 동작 및 상기 적응적 관찰의 관찰 입도를 제어하는 동작이, 상기 시스템 커널 내에서 동작하는 관찰자 데몬을 통해 달성되도록 하는 동작들을 수행하게 하도록 구성되는, 비-일시적 컴퓨터 판독가능 저장 매체.
  11. 제 9 항에 있어서,
    저장된 상기 프로세서-실행가능 소프트웨어 명령들은, 프로세서로 하여금,
    상기 관찰될 모바일 디바이스 거동들로서 불일치하는 동작들과 연관된 상기 제한된 셋트의 거동들을 식별하는 것은, 수신된 상기 거동 입력들 및 수신된 상기 컨텍스트 입력의 시간적 상관들을 수행하는 것을 포함하고,
    상기 거동 벡터를 생성하는 것은, 상기 공간적 및 시간적 상관들의 결과에 기초하여 상기 거동 벡터를 생성하는 것을 포함하도록 하는 동작들을 수행하게 하도록 구성되는, 비-일시적 컴퓨터 판독가능 저장 매체.
  12. 제 9 항에 있어서,
    저장된 상기 프로세서-실행가능 소프트웨어 명령들은, 프로세서로 하여금,
    상기 관찰될 모바일 디바이스 거동들로서 불일치하는 동작들과 연관된 상기 제한된 셋트의 거동들을 식별하는 것은, 생성된 상기 거동 벡터를 보안 메모리에 저장하는 것을 포함하도록 하는 동작들을 수행하게 하도록 구성되는, 비-일시적 컴퓨터 판독가능 저장 매체.
  13. 모바일 디바이스에 대해 성능을 향상시키는 방법으로서,
    조대한 (coarse) 관찰들을 생성하기 위해 모바일 디바이스 거동들의 실시간 거동 분석을 모바일 디바이스 프로세서 상에서 수행하는 단계;
    상기 조대한 관찰들로부터 의심스러운 거동을 식별하는 단계;
    적응형 필터에 의한 필터링 후에 하이-레벨 애플리케이션, 시스템 커널 및 드라이버 애플리케이션 프로그래밍 인터페이스 (API) 중 하나 이상으로부터 거동 입력들을 수신하는 것;
    상기 모바일 디바이스의 동작들에 관한 컨텍스트 입력을 수신하는 것;
    수신된 상기 거동 입력들 및 수신된 상기 컨텍스트 입력의 공간적 상관들을 수행하는 것; 및
    거동 벡터를 생성하는 것
    에 의해, 보다 상세하게 추가의 관찰을 필요로하는 상기 모바일 디바이스 거동들을 동적으로 결정하는 단계;
    상기 추가의 관찰을 위해 필요한 상세함의 레벨을 동적으로 결정하는 단계;
    상기 추가의 관찰을 위해 필요한 상세함의 결정된 상기 레벨에 기초하여 보다 정밀한 관찰들을 수행하는 단계; 및
    상기 보다 정밀한 관찰들로부터 의심스러운 거동을 식별하는 단계를 포함하는, 모바일 디바이스에 대해 성능을 향상시키는 방법.
  14. 제 13 항에 있어서,
    식별된 상기 의심스러운 거동을 정정하기 위한 모바일 디바이스들 동작들을 수행하는 단계를 더 포함하는, 모바일 디바이스에 대해 성능을 향상시키는 방법.
  15. 제 13 항에 있어서,
    상기 수신된 거동 입력들 및 상기 수신된 컨텍스트 입력의 공간적 상관들을 수행하는 것은, 하이-레벨 모바일 디바이스 거동들을 검출하기 위해, 관찰된 모바일 디바이스 거동들의 공간적 및 시간적 상관들을 수행하는 것을 포함하는, 모바일 디바이스에 대해 성능을 향상시키는 방법.
  16. 모바일 컴퓨팅 디바이스로서,
    프로세서를 포함하고,
    상기 프로세서는,
    조대한 (coarse) 관찰들을 생성하기 위해 모바일 디바이스 거동들의 실시간 거동 분석을 수행하는 동작;
    상기 조대한 관찰들로부터 의심스러운 거동을 식별하는 동작;
    적응형 필터에 의한 필터링 후에 하이-레벨 애플리케이션, 시스템 커널 및 드라이버 애플리케이션 프로그래밍 인터페이스 (API) 중 하나 이상으로부터 거동 입력들을 수신하는 것;
    상기 모바일 컴퓨팅 디바이스의 동작들에 관한 컨텍스트 입력을 수신하는 것;
    수신된 상기 거동 입력들 및 수신된 상기 컨텍스트 입력의 공간적 상관들을 수행하는 것; 및
    거동 벡터를 생성하는 것
    에 의해, 보다 상세하게 추가의 관찰을 필요로하는 상기 모바일 디바이스 거동들을 동적으로 결정하는 동작;
    상기 추가의 관찰을 위해 필요한 상세함의 레벨을 동적으로 결정하는 동작;
    상기 추가의 관찰을 위해 필요한 상세함의 결정된 상기 레벨에 기초하여 보다 정밀한 관찰들을 수행하는 동작; 및
    상기 보다 정밀한 관찰들로부터 의심스러운 거동을 식별하는 동작
    을 포함하는 동작들을 수행하도록 프로세서-실행가능 명령들로 구성되는, 모바일 컴퓨팅 디바이스.
  17. 제 16 항에 있어서,
    상기 프로세서는, 식별된 상기 의심스러운 거동을 정정하기 위한 모바일 디바이스들 동작들을 수행하는 동작을 더 포함하는 동작들을 수행하도록 프로세서-실행가능 명령들로 구성되는, 모바일 컴퓨팅 디바이스.
  18. 제 16 항에 있어서,
    상기 프로세서는, 상기 수신된 거동 입력들 및 상기 수신된 컨텍스트 입력의 공간적 상관들을 수행하는 것은, 하이-레벨 모바일 디바이스 거동들을 검출하기 위해, 관찰된 모바일 디바이스 거동들의 공간적 및 시간적 상관들을 수행하는 것을 포함하도록 하는 동작들을 수행하도록 프로세서-실행가능 명령들로 구성되는, 모바일 컴퓨팅 디바이스.
  19. 프로세서-실행가능 소프트웨어 명령들이 저장된 비-일시적 컴퓨터 판독가능 저장 매체로서,
    상기 프로세서-실행가능 소프트웨어 명령들은 모바일 디바이스의 프로세서로 하여금,
    조대한 (coarse) 관찰들을 생성하기 위해 모바일 디바이스 거동들의 실시간 거동 분석을 수행하는 동작;
    상기 조대한 관찰들로부터 의심스러운 거동을 식별하는 동작;
    적응형 필터에 의한 필터링 후에 하이-레벨 애플리케이션, 시스템 커널 및 드라이버 애플리케이션 프로그래밍 인터페이스 (API) 중 하나 이상으로부터 거동 입력들을 수신하는 것;
    상기 모바일 디바이스의 동작들에 관한 컨텍스트 입력을 수신하는 것;
    수신된 상기 거동 입력들 및 수신된 상기 컨텍스트 입력의 공간적 상관들을 수행하는 것; 및
    거동 벡터를 생성하는 것
    에 의해, 보다 상세하게 추가의 관찰을 필요로하는 상기 모바일 디바이스 거동들을 동적으로 결정하는 동작;
    상기 추가의 관찰을 위해 필요한 상세함의 레벨을 동적으로 결정하는 동작;
    상기 추가의 관찰을 위해 필요한 상세함의 결정된 상기 레벨에 기초하여 보다 정밀한 관찰들을 수행하는 동작; 및
    상기 보다 정밀한 관찰들로부터 의심스러운 거동을 식별하는 동작
    을 포함하는 동작들을 수행하게 하도록 구성되는, 비-일시적 컴퓨터 판독가능 저장 매체.
  20. 제 19 항에 있어서,
    저장된 상기 프로세서-실행가능 소프트웨어 명령들은, 프로세서로 하여금,
    식별된 상기 의심스러운 거동을 정정하기 위한 모바일 디바이스들 동작들을 수행하는 동작을 포함하는 동작들을 수행하게 하도록 구성되는, 비-일시적 컴퓨터 판독가능 저장 매체.
  21. 제 19 항에 있어서,
    저장된 상기 프로세서-실행가능 소프트웨어 명령들은, 프로세서로 하여금,
    상기 수신된 거동 입력들 및 상기 수신된 컨텍스트 입력의 공간적 상관들을 수행하는 것은, 하이-레벨 모바일 디바이스 거동들을 검출하기 위해, 관찰된 모바일 디바이스 거동들의 공간적 및 시간적 상관들을 수행하는 것을 포함하도록 하는 동작들을 수행하게 하도록 구성되는, 비-일시적 컴퓨터 판독가능 저장 매체.
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
KR1020147035054A 2012-05-14 2012-12-04 모바일 디바이스 거동의 적응적 관찰을 위한 시스템, 장치, 및 방법 KR101626243B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201261646590P 2012-05-14 2012-05-14
US61/646,590 2012-05-14
US201261683274P 2012-08-15 2012-08-15
US61/683,274 2012-08-15
US13/627,401 2012-09-26
US13/627,401 US9202047B2 (en) 2012-05-14 2012-09-26 System, apparatus, and method for adaptive observation of mobile device behavior
PCT/US2012/067726 WO2013172865A1 (en) 2012-05-14 2012-12-04 System, apparatus, and method for adaptive observation of mobile device behavior

Publications (2)

Publication Number Publication Date
KR20150013298A KR20150013298A (ko) 2015-02-04
KR101626243B1 true KR101626243B1 (ko) 2016-05-31

Family

ID=49548974

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020147035054A KR101626243B1 (ko) 2012-05-14 2012-12-04 모바일 디바이스 거동의 적응적 관찰을 위한 시스템, 장치, 및 방법
KR1020147035051A KR102103613B1 (ko) 2012-05-14 2013-01-25 거동 체크포인트들로의 자율적 복귀를 위한 기술들

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020147035051A KR102103613B1 (ko) 2012-05-14 2013-01-25 거동 체크포인트들로의 자율적 복귀를 위한 기술들

Country Status (8)

Country Link
US (6) US9202047B2 (ko)
EP (3) EP2850864B1 (ko)
JP (1) JP6110482B2 (ko)
KR (2) KR101626243B1 (ko)
CN (4) CN104272786B (ko)
IN (2) IN2014MN02172A (ko)
TW (1) TW201407406A (ko)
WO (4) WO2013172865A1 (ko)

Families Citing this family (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2727042B1 (en) * 2011-07-01 2016-04-06 Fiberlink Communications Corporation Rules based actions for mobile device management
US9916192B2 (en) * 2012-01-12 2018-03-13 International Business Machines Corporation Thread based dynamic data collection
US8973137B1 (en) * 2012-02-29 2015-03-03 Symantec Corporation Systems and methods for detecting illegitimate out-of-band authentication attempts
US9202047B2 (en) 2012-05-14 2015-12-01 Qualcomm Incorporated System, apparatus, and method for adaptive observation of mobile device behavior
US9609456B2 (en) 2012-05-14 2017-03-28 Qualcomm Incorporated Methods, devices, and systems for communicating behavioral analysis information
US9298494B2 (en) 2012-05-14 2016-03-29 Qualcomm Incorporated Collaborative learning for efficient behavioral analysis in networked mobile device
US9324034B2 (en) 2012-05-14 2016-04-26 Qualcomm Incorporated On-device real-time behavior analyzer
US9690635B2 (en) 2012-05-14 2017-06-27 Qualcomm Incorporated Communicating behavior information in a mobile computing device
US9407443B2 (en) 2012-06-05 2016-08-02 Lookout, Inc. Component analysis of software applications on computing devices
US9589129B2 (en) 2012-06-05 2017-03-07 Lookout, Inc. Determining source of side-loaded software
US9495537B2 (en) 2012-08-15 2016-11-15 Qualcomm Incorporated Adaptive observation of behavioral features on a mobile device
US9319897B2 (en) 2012-08-15 2016-04-19 Qualcomm Incorporated Secure behavior analysis over trusted execution environment
US9747440B2 (en) 2012-08-15 2017-08-29 Qualcomm Incorporated On-line behavioral analysis engine in mobile device with multiple analyzer model providers
US9330257B2 (en) 2012-08-15 2016-05-03 Qualcomm Incorporated Adaptive observation of behavioral features on a mobile device
US10162693B1 (en) * 2012-10-18 2018-12-25 Sprint Communications Company L.P. Evaluation of mobile device state and performance metrics for diagnosis and troubleshooting of performance issues
WO2014063124A1 (en) * 2012-10-19 2014-04-24 Mcafee, Inc. Mobile application management
US9208215B2 (en) 2012-12-27 2015-12-08 Lookout, Inc. User classification based on data gathered from a computing device
US9659085B2 (en) * 2012-12-28 2017-05-23 Microsoft Technology Licensing, Llc Detecting anomalies in behavioral network with contextual side information
US9684870B2 (en) 2013-01-02 2017-06-20 Qualcomm Incorporated Methods and systems of using boosted decision stumps and joint feature selection and culling algorithms for the efficient classification of mobile device behaviors
US9686023B2 (en) 2013-01-02 2017-06-20 Qualcomm Incorporated Methods and systems of dynamically generating and using device-specific and device-state-specific classifier models for the efficient classification of mobile device behaviors
US10089582B2 (en) 2013-01-02 2018-10-02 Qualcomm Incorporated Using normalized confidence values for classifying mobile device behaviors
US9742559B2 (en) 2013-01-22 2017-08-22 Qualcomm Incorporated Inter-module authentication for securing application execution integrity within a computing device
EP2949144B1 (en) * 2013-01-25 2020-09-16 Qualcomm Incorporated Adaptive observation of behavioral features on a mobile device
US20160110551A1 (en) * 2013-02-14 2016-04-21 The United States Of America As Represented By The Secretary Of The Navy Computer System Anomaly Detection Using Human Responses to Ambient Representations of Hidden Computing System and Process Metadata
US9491187B2 (en) 2013-02-15 2016-11-08 Qualcomm Incorporated APIs for obtaining device-specific behavior classifier models from the cloud
US20140250052A1 (en) 2013-03-01 2014-09-04 RedOwl Analytics, Inc. Analyzing social behavior
WO2014134630A1 (en) 2013-03-01 2014-09-04 RedOwl Analytics, Inc. Modeling social behavior
US20140292998A1 (en) * 2013-04-02 2014-10-02 James Toga Managing Use of Resources in Mobile Devices
US9307374B2 (en) * 2013-06-19 2016-04-05 Globalfoundries Inc. Transferring information on a first mobile computing device to a peer mobile computing device
US9231921B2 (en) 2013-08-20 2016-01-05 Janus Technologies, Inc. System and architecture for secure computer devices
US9838536B2 (en) 2013-09-30 2017-12-05 Elwha, Llc Mobile device sharing facilitation methods and systems
US20150095477A1 (en) * 2013-09-30 2015-04-02 Elwha LLC, a limited liability company of the State of Delaware Mobile device sharing facilitation methods and systems featuring party identifier inclusions that are conditional
US9774728B2 (en) 2013-09-30 2017-09-26 Elwha Llc Mobile device sharing facilitation methods and systems in a context of plural communication records
US9805208B2 (en) * 2013-09-30 2017-10-31 Elwha Llc Mobile device sharing facilitation methods and systems with recipient-dependent inclusion of a data selection
US9826439B2 (en) 2013-09-30 2017-11-21 Elwha Llc Mobile device sharing facilitation methods and systems operable in network equipment
US9740875B2 (en) * 2013-09-30 2017-08-22 Elwha Llc Mobile device sharing facilitation methods and systems featuring exclusive data presentation
TWI533159B (zh) * 2013-10-18 2016-05-11 國立臺灣科技大學 用於電腦的持續性身分驗證方法
DE102013224702A1 (de) * 2013-12-03 2015-06-03 Robert Bosch Gmbh Steuergerät für ein Kraftfahrzeug
US9813992B2 (en) 2013-12-06 2017-11-07 Mcp Llc Tracking systems and methods for remotely tracking a location of a person on a map of a monitored premise
US9652362B2 (en) 2013-12-06 2017-05-16 Qualcomm Incorporated Methods and systems of using application-specific and application-type-specific models for the efficient classification of mobile device behaviors
CN105745663B (zh) 2013-12-19 2018-11-16 英特尔公司 包括机器学习快照评估的保护系统
CN103699208B (zh) * 2013-12-31 2016-11-23 贝壳网际(北京)安全技术有限公司 一种移动终端的硬件设置方法、移动终端及服务器
US9501346B2 (en) * 2014-01-21 2016-11-22 Oracle International Corporation Fine and coarse granularity logging handler
WO2015110494A1 (en) * 2014-01-23 2015-07-30 Koninklijke Kpn N.V. Crash recovery for smart objects
WO2015112760A1 (en) * 2014-01-23 2015-07-30 Qualcomm Incorporated Adaptive observation of determined behavioral features on a mobile device
US10176428B2 (en) 2014-03-13 2019-01-08 Qualcomm Incorporated Behavioral analysis for securing peripheral devices
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
US9559918B2 (en) * 2014-05-15 2017-01-31 Cisco Technology, Inc. Ground truth evaluation for voting optimization
US9672263B1 (en) 2014-06-23 2017-06-06 The United States Of America As Represented By The Secretary Of The Navy Reliability engineering data integration
US9357397B2 (en) 2014-07-23 2016-05-31 Qualcomm Incorporated Methods and systems for detecting malware and attacks that target behavioral security mechanisms of a mobile device
US10228751B2 (en) 2014-08-06 2019-03-12 Apple Inc. Low power mode
US9647489B2 (en) 2014-08-26 2017-05-09 Apple Inc. Brownout avoidance
US20170285722A1 (en) * 2014-08-27 2017-10-05 Samsung Electronics Co., Ltd. Method for reducing battery consumption in electronic device
FR3025627B1 (fr) * 2014-09-10 2018-03-23 Bull Sas Mecanisme haute performance pour generation d'informations de journalisation d'un processus informatique
US9710752B2 (en) * 2014-09-11 2017-07-18 Qualcomm Incorporated Methods and systems for aggregated multi-application behavioral analysis of mobile device behaviors
US20160078362A1 (en) * 2014-09-15 2016-03-17 Qualcomm Incorporated Methods and Systems of Dynamically Determining Feature Sets for the Efficient Classification of Mobile Device Behaviors
US20160125094A1 (en) * 2014-11-05 2016-05-05 Nec Laboratories America, Inc. Method and system for behavior query construction in temporal graphs using discriminative sub-trace mining
US9411363B2 (en) * 2014-12-10 2016-08-09 Intel Corporation Synchronization in a computing device
US10200866B1 (en) 2014-12-12 2019-02-05 Aeris Communications, Inc. Method and system for detecting and minimizing harmful network device and application behavior on cellular networks
US10275341B2 (en) * 2015-01-21 2019-04-30 Somo Innovations Ltd Mobile application usability testing
WO2016126668A1 (en) * 2015-02-02 2016-08-11 Indiana University Research And Technology Corporation External resource control of mobile devices
US20160232353A1 (en) * 2015-02-09 2016-08-11 Qualcomm Incorporated Determining Model Protection Level On-Device based on Malware Detection in Similar Devices
US9910984B2 (en) 2015-02-27 2018-03-06 Qualcomm Incorporated Methods and systems for on-device high-granularity classification of device behaviors using multi-label models
US9787695B2 (en) * 2015-03-24 2017-10-10 Qualcomm Incorporated Methods and systems for identifying malware through differences in cloud vs. client behavior
US10659479B2 (en) * 2015-03-27 2020-05-19 Mcafee, Llc Determination of sensor usage
WO2016178816A1 (en) 2015-05-01 2016-11-10 Lookout, Inc. Determining source of side-loaded software
US10104107B2 (en) * 2015-05-11 2018-10-16 Qualcomm Incorporated Methods and systems for behavior-specific actuation for real-time whitelisting
CN105049592B (zh) * 2015-05-27 2020-02-14 中国科学院信息工程研究所 移动智能终端语音安全防护方法及系统
KR102446325B1 (ko) 2015-06-24 2022-09-22 삼성전자주식회사 어플리케이션 프로그램 운용 방법 및 이를 지원하는 전자 장치
US9954873B2 (en) 2015-09-30 2018-04-24 The Mitre Corporation Mobile device-based intrusion prevention system
CN105426296B (zh) * 2015-11-24 2018-04-10 无锡江南计算技术研究所 基于插装标签的核间协同多线程pmu事件监测方法
CN105653903B (zh) * 2015-12-18 2019-10-08 小米科技有限责任公司 应用程序权限的管理方法及装置
US10064139B2 (en) * 2015-12-26 2018-08-28 Intel IP Corporation Context-assisted thermal management scheme in a portable device
US10133639B2 (en) 2016-02-10 2018-11-20 International Business Machines Corporation Privacy protection of media files for automatic cloud backup systems
US10552615B2 (en) 2016-02-18 2020-02-04 Swimlane Llc Threat response systems and methods
US10893059B1 (en) 2016-03-31 2021-01-12 Fireeye, Inc. Verification and enhancement using detection systems located at the network periphery and endpoint devices
US10826933B1 (en) * 2016-03-31 2020-11-03 Fireeye, Inc. Technique for verifying exploit/malware at malware detection appliance through correlation with endpoints
US10157134B2 (en) * 2016-04-11 2018-12-18 International Business Machines Corporation Decreasing the data handoff interval for a reserved cache line based on an early indication of a systemwide coherence response
CN106095593B (zh) 2016-05-31 2019-04-16 Oppo广东移动通信有限公司 一种前、后景应用程序行为同步方法及装置
CN106709342B (zh) * 2016-07-01 2018-11-09 腾讯科技(深圳)有限公司 恶意程序检测方法及装置
US10678921B2 (en) 2016-09-30 2020-06-09 AVAST Software s.r.o. Detecting malware with hash-based fingerprints
US10318723B1 (en) 2016-11-29 2019-06-11 Sprint Communications Company L.P. Hardware-trusted network-on-chip (NOC) and system-on-chip (SOC) network function virtualization (NFV) data communications
US10708282B2 (en) * 2017-03-27 2020-07-07 International Business Machines Corporation Unauthorized data access detection based on cyber security images
CA3062634A1 (en) 2017-05-10 2018-11-15 Embee Mobile, Inc. System and method for the capture of mobile behavior, usage, or content exposure
US9882918B1 (en) 2017-05-15 2018-01-30 Forcepoint, LLC User behavior profile in a blockchain
US10999297B2 (en) 2017-05-15 2021-05-04 Forcepoint, LLC Using expected behavior of an entity when prepopulating an adaptive trust profile
US10917423B2 (en) 2017-05-15 2021-02-09 Forcepoint, LLC Intelligently differentiating between different types of states and attributes when using an adaptive trust profile
US10447718B2 (en) 2017-05-15 2019-10-15 Forcepoint Llc User profile definition and management
US10999296B2 (en) 2017-05-15 2021-05-04 Forcepoint, LLC Generating adaptive trust profiles using information derived from similarly situated organizations
US10129269B1 (en) 2017-05-15 2018-11-13 Forcepoint, LLC Managing blockchain access to user profile information
US10943019B2 (en) 2017-05-15 2021-03-09 Forcepoint, LLC Adaptive trust profile endpoint
US11888859B2 (en) 2017-05-15 2024-01-30 Forcepoint Llc Associating a security risk persona with a phase of a cyber kill chain
US10862927B2 (en) 2017-05-15 2020-12-08 Forcepoint, LLC Dividing events into sessions during adaptive trust profile operations
JP6767924B2 (ja) 2017-05-19 2020-10-14 東芝映像ソリューション株式会社 システム、方法及びプログラム
JP6767926B2 (ja) 2017-05-23 2020-10-14 東芝映像ソリューション株式会社 電子装置、方法及びプログラム
US10218697B2 (en) 2017-06-09 2019-02-26 Lookout, Inc. Use of device risk evaluation to manage access to services
US10305923B2 (en) 2017-06-30 2019-05-28 SparkCognition, Inc. Server-supported malware detection and protection
US10318729B2 (en) 2017-07-26 2019-06-11 Forcepoint, LLC Privacy protection during insider threat monitoring
US20190141068A1 (en) * 2017-09-21 2019-05-09 Camp Mobile Corporation Online service abuser detection
US20190102543A1 (en) 2017-09-29 2019-04-04 AVAST Software s.r.o. Observation and classification of device events
US20190104141A1 (en) * 2017-10-02 2019-04-04 Zuk Avraham System and Method for Providing and Facilitating an Information Security Marketplace
US10803178B2 (en) 2017-10-31 2020-10-13 Forcepoint Llc Genericized data model to perform a security analytics operation
US10817307B1 (en) * 2017-12-20 2020-10-27 Apple Inc. API behavior modification based on power source health
US10599199B1 (en) 2017-12-20 2020-03-24 Apple Inc. Systems and methods for power management at device shutdown
US11363133B1 (en) 2017-12-20 2022-06-14 Apple Inc. Battery health-based power management
CN109471655B (zh) * 2017-12-25 2021-08-13 北京安天网络安全技术有限公司 一种基于封闭式壁垒模型的业务应用更新方法及系统
US10311404B1 (en) 2018-01-05 2019-06-04 Accenture Global Solutions Limited Software product development defect and issue prediction and diagnosis
US11314787B2 (en) 2018-04-18 2022-04-26 Forcepoint, LLC Temporal resolution of an entity
US10949428B2 (en) 2018-07-12 2021-03-16 Forcepoint, LLC Constructing event distributions via a streaming scoring operation
US11810012B2 (en) 2018-07-12 2023-11-07 Forcepoint Llc Identifying event distributions using interrelated events
US11755584B2 (en) 2018-07-12 2023-09-12 Forcepoint Llc Constructing distributions of interrelated event features
US11436512B2 (en) 2018-07-12 2022-09-06 Forcepoint, LLC Generating extracted features from an event
US10776208B2 (en) * 2018-07-18 2020-09-15 EMC IP Holding Company LLC Distributed memory checkpointing using storage class memory systems
US11025638B2 (en) 2018-07-19 2021-06-01 Forcepoint, LLC System and method providing security friction for atypical resource access requests
US11811799B2 (en) 2018-08-31 2023-11-07 Forcepoint Llc Identifying security risks using distributions of characteristic features extracted from a plurality of events
US10740656B2 (en) * 2018-09-19 2020-08-11 Hughes Network Systems, Llc Machine learning clustering models for determining the condition of a communication system
US10248527B1 (en) * 2018-09-19 2019-04-02 Amplero, Inc Automated device-specific dynamic operation modifications
US11916953B2 (en) * 2018-09-24 2024-02-27 Cybereason, Inc. Method and mechanism for detection of pass-the-hash attacks
US11025659B2 (en) 2018-10-23 2021-06-01 Forcepoint, LLC Security system using pseudonyms to anonymously identify entities and corresponding security risk related behaviors
CN109302402A (zh) * 2018-10-26 2019-02-01 北京芯盾时代科技有限公司 一种行为检测方法及装置
US11171980B2 (en) 2018-11-02 2021-11-09 Forcepoint Llc Contagion risk detection, analysis and protection
CN111309402B (zh) * 2018-12-11 2023-06-27 阿里巴巴集团控股有限公司 数据监测及针对应用程序的处理方法、装置及设备
US10853496B2 (en) 2019-04-26 2020-12-01 Forcepoint, LLC Adaptive trust profile behavioral fingerprint
US11256802B1 (en) * 2019-05-10 2022-02-22 Ca, Inc. Application behavioral fingerprints
CN110287023B (zh) * 2019-06-11 2021-12-10 广州海格通信集团股份有限公司 消息处理方法、装置、计算机设备和可读存储介质
CN110990829B (zh) * 2019-11-21 2021-09-28 支付宝(杭州)信息技术有限公司 在可信执行环境中训练gbdt模型的方法、装置及设备
CN111258824B (zh) * 2020-01-18 2024-02-27 重庆宏帆动能科技有限公司 一种云计算中基于人工势场的增量检查点容错方法
US11223646B2 (en) 2020-01-22 2022-01-11 Forcepoint, LLC Using concerning behaviors when performing entity-based risk calculations
US11630901B2 (en) 2020-02-03 2023-04-18 Forcepoint Llc External trigger induced behavioral analyses
US11080109B1 (en) 2020-02-27 2021-08-03 Forcepoint Llc Dynamically reweighting distributions of event observations
US11836265B2 (en) 2020-03-02 2023-12-05 Forcepoint Llc Type-dependent event deduplication
US11429697B2 (en) 2020-03-02 2022-08-30 Forcepoint, LLC Eventually consistent entity resolution
JP7280849B2 (ja) * 2020-03-19 2023-05-24 株式会社日立製作所 ログ統合装置、ログ統合システムおよびログ統合方法
US11080032B1 (en) 2020-03-31 2021-08-03 Forcepoint Llc Containerized infrastructure for deployment of microservices
US11568136B2 (en) 2020-04-15 2023-01-31 Forcepoint Llc Automatically constructing lexicons from unlabeled datasets
US20210329441A1 (en) * 2020-04-15 2021-10-21 Randy Alan Andrews Covert spying device detector
US11516206B2 (en) 2020-05-01 2022-11-29 Forcepoint Llc Cybersecurity system having digital certificate reputation system
US11544390B2 (en) 2020-05-05 2023-01-03 Forcepoint Llc Method, system, and apparatus for probabilistic identification of encrypted files
US11895158B2 (en) 2020-05-19 2024-02-06 Forcepoint Llc Cybersecurity system having security policy visualization
US11704387B2 (en) 2020-08-28 2023-07-18 Forcepoint Llc Method and system for fuzzy matching and alias matching for streaming data sets
US11190589B1 (en) 2020-10-27 2021-11-30 Forcepoint, LLC System and method for efficient fingerprinting in cloud multitenant data loss prevention

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1983686A1 (en) 2007-04-19 2008-10-22 NTT DoCoMo, Inc. Mobile terminal apparatus and diagnosis method for mobile terminal apparatus
US20110060948A1 (en) 2009-09-09 2011-03-10 Beebe Simon Diagnostics methods for a communications device

Family Cites Families (207)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870735A (en) 1996-05-01 1999-02-09 International Business Machines Corporation Method and system for generating a decision-tree classifier in parallel in a multi-processor system
US9195784B2 (en) 1998-08-31 2015-11-24 Cadence Design Systems, Inc. Common shared memory in a verification system
US6532541B1 (en) 1999-01-22 2003-03-11 The Trustees Of Columbia University In The City Of New York Method and apparatus for image authentication
US6647260B2 (en) 1999-04-09 2003-11-11 Openwave Systems Inc. Method and system facilitating web based provisioning of two-way mobile communications devices
US6681331B1 (en) 1999-05-11 2004-01-20 Cylant, Inc. Dynamic software system intrusion detection
US6643802B1 (en) 2000-04-27 2003-11-04 Ncr Corporation Coordinated multinode dump collection in response to a fault
JP2002033798A (ja) * 2000-07-14 2002-01-31 Shinji Aoyama 携帯型電話機のデータバックアップシステム及び携帯型電話機のデータバックアップ方法
EP1182552A3 (en) 2000-08-21 2003-10-01 Texas Instruments France Dynamic hardware configuration for energy management systems using task attributes
US7234126B2 (en) 2000-08-23 2007-06-19 Interuniversitair Microelektronica Centrum Task concurrency management design method
US7600014B2 (en) 2000-11-16 2009-10-06 Symantec Corporation Method and system for monitoring the performance of a distributed application
US20040068721A1 (en) 2000-11-17 2004-04-08 O'neill Patrick Network for updating firmware and / or software in wireless communication devices
US20030037237A1 (en) 2001-04-09 2003-02-20 Jean-Paul Abgrall Systems and methods for computer device authentication
US7051327B1 (en) 2001-05-08 2006-05-23 Gateway Inc. System for providing data backup and restore with updated version by creating data package based upon configuration data application data and user response to suggestion
US7849360B2 (en) 2001-05-21 2010-12-07 Vir2Us, Inc. Computer system and method of controlling communication port to prevent computer contamination by virus or malicious code
US7401359B2 (en) 2001-12-21 2008-07-15 Mcafee, Inc. Generating malware definition data for mobile computing devices
US7290282B1 (en) 2002-04-08 2007-10-30 Symantec Corporation Reducing false positive computer virus detections
US7694139B2 (en) 2002-10-24 2010-04-06 Symantec Corporation Securing executable content using a trusted computing platform
US7103772B2 (en) 2003-05-02 2006-09-05 Giritech A/S Pervasive, user-centric network security enabled by dynamic datagram switch and an on-demand authentication and encryption scheme through mobile intelligent data carriers
US8201249B2 (en) 2003-05-14 2012-06-12 Northrop Grumman Systems Corporation Steady state computer intrusion and misuse detection
US8458805B2 (en) 2003-06-23 2013-06-04 Architecture Technology Corporation Digital forensic analysis using empirical privilege profiling (EPP) for filtering collected data
US8097456B2 (en) 2003-08-18 2012-01-17 The Charles Stark Draper Laboratory Nanotopographic compositions and methods for cellular organization in tissue engineered structures
KR100623552B1 (ko) 2003-12-29 2006-09-18 한국정보보호진흥원 자동침입대응시스템에서의 위험수준 분석 방법
US7694150B1 (en) 2004-06-22 2010-04-06 Cisco Technology, Inc System and methods for integration of behavioral and signature based security
TW200618610A (en) 2004-07-20 2006-06-01 Qualcomm Inc Method and apparatus for motion vector processing
US7793262B2 (en) 2004-07-29 2010-09-07 International Business Machines Corporation Method and apparatus for facilitating software testing and report generation with interactive graphical user interface
US7559053B2 (en) 2004-08-24 2009-07-07 Microsoft Corporation Program and system performance data correlation
WO2006028558A1 (en) 2004-09-03 2006-03-16 Virgina Tech Intellectual Properties, Inc. Detecting software attacks by monitoring electric power consumption patterns
KR100645735B1 (ko) 2004-10-14 2006-11-15 주식회사 팬택 모바일 플랫폼의 컨텐츠 오동작 통신 검출 장치 및 방법
US8108929B2 (en) 2004-10-19 2012-01-31 Reflex Systems, LLC Method and system for detecting intrusive anomalous use of a software system using multiple detection algorithms
US7561877B2 (en) 2005-03-18 2009-07-14 Qualcomm Incorporated Apparatus and methods for managing malfunctions on a wireless device
US7881291B2 (en) 2005-05-26 2011-02-01 Alcatel Lucent Packet classification acceleration using spectral analysis
US20060288209A1 (en) 2005-06-20 2006-12-21 Vogler Dean H Method and apparatus for secure inter-processor communications
US20070006304A1 (en) 2005-06-30 2007-01-04 Microsoft Corporation Optimizing malware recovery
US8161548B1 (en) 2005-08-15 2012-04-17 Trend Micro, Inc. Malware detection using pattern classification
US8045958B2 (en) 2005-11-21 2011-10-25 Research In Motion Limited System and method for application program operation on a wireless device
US7809670B2 (en) 2005-12-09 2010-10-05 Microsoft Corporation Classification of malware using clustering that orders events in accordance with the time of occurance
US8381297B2 (en) 2005-12-13 2013-02-19 Yoggie Security Systems Ltd. System and method for providing network security to mobile devices
EP1977334A4 (en) 2006-01-25 2011-01-12 Greystripe Inc SYSTEM AND METHOD FOR MANAGING CONTENT IN PRE-EXISTING MOBILE APPLICATIONS
US8490194B2 (en) 2006-01-31 2013-07-16 Robert Moskovitch Method and system for detecting malicious behavioral patterns in a computer, using machine learning
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
US7831237B2 (en) * 2006-02-03 2010-11-09 Broadcom Corporation Authenticating mobile network provider equipment
KR100791290B1 (ko) 2006-02-10 2008-01-04 삼성전자주식회사 디바이스 간에 악성 어플리케이션의 행위 정보를 사용하는장치 및 방법
US20070220327A1 (en) 2006-02-23 2007-09-20 Evergrid, Inc., A Delaware Corporation Dynamically Controlled Checkpoint Timing
US8443446B2 (en) 2006-03-27 2013-05-14 Telecom Italia S.P.A. Method and system for identifying malicious messages in mobile communication networks, related network and computer program product therefor
EP2011099A4 (en) 2006-04-06 2013-08-21 Juniper Networks Inc SYSTEM AND METHOD FOR DETECTING MALICIELS FOR LIMIT ACCESS MOBILE PLATFORMS
US20070283170A1 (en) 2006-06-05 2007-12-06 Kabushiki Kaisha Toshiba System and method for secure inter-process data communication
KR101225374B1 (ko) 2006-06-09 2013-01-22 삼성전자주식회사 이동 통신 단말에 대한 디바이스 관리 장치 및 방법
US20080016339A1 (en) 2006-06-29 2008-01-17 Jayant Shukla Application Sandbox to Detect, Remove, and Prevent Malware
US20080047009A1 (en) 2006-07-20 2008-02-21 Kevin Overcash System and method of securing networks against applications threats
US8788829B2 (en) 2006-08-17 2014-07-22 Aol Inc. System and method for interapplication communications
US7774599B2 (en) 2006-09-15 2010-08-10 Panasonic Corporation Methodologies to secure inter-process communication based on trust
US8201244B2 (en) 2006-09-19 2012-06-12 Microsoft Corporation Automated malware signature generation
US9069957B2 (en) 2006-10-06 2015-06-30 Juniper Networks, Inc. System and method of reporting and visualizing malware on mobile networks
US7747575B2 (en) 2006-11-07 2010-06-29 Magix Ag Application-specific intelligent backup and restore system
US8087085B2 (en) 2006-11-27 2011-12-27 Juniper Networks, Inc. Wireless intrusion prevention system and method
US8225093B2 (en) 2006-12-05 2012-07-17 Qualcomm Incorporated Providing secure inter-application communication for a mobile operating environment
US7650317B2 (en) 2006-12-06 2010-01-19 Microsoft Corporation Active learning framework for automatic field extraction from network traffic
US7778792B2 (en) 2006-12-08 2010-08-17 Chumby Industries, Inc. Systems and methods for location, motion, and contact detection and tracking in a networked audiovisual device
JP4805116B2 (ja) 2006-12-11 2011-11-02 株式会社日立製作所 情報処理システム、情報処理システムの制御方法、サービス利用装置及びサービス提供装置
US7945955B2 (en) 2006-12-18 2011-05-17 Quick Heal Technologies Private Limited Virus detection in mobile devices having insufficient resources to execute virus detection software
US8769099B2 (en) 2006-12-28 2014-07-01 Yahoo! Inc. Methods and systems for pre-caching information on a mobile computing device
US9021605B2 (en) 2007-01-03 2015-04-28 International Business Machines Corporation Method and system for protecting sensitive data in a program
US7996005B2 (en) * 2007-01-17 2011-08-09 Eagency, Inc. Mobile communication device monitoring systems and methods
WO2009061523A1 (en) 2007-03-05 2009-05-14 Yoggie Security Systems Ltd. System and method for providing data and device security between external and host devices
JP4618263B2 (ja) 2007-03-23 2011-01-26 株式会社豊田中央研究所 ソフトウェア挙動監視装置及びソフトウェア挙動監視システム
US8331987B2 (en) * 2007-04-19 2012-12-11 Apple Inc. Personal area network systems and devices and methods for use thereof
US20080301796A1 (en) 2007-05-31 2008-12-04 Microsoft Corporation Adjusting the Levels of Anti-Malware Protection
JP4956292B2 (ja) 2007-06-25 2012-06-20 パナソニック株式会社 情報セキュリティ装置およびカウンタ制御方法
US8239505B2 (en) 2007-06-29 2012-08-07 Microsoft Corporation Progressively implementing declarative models in distributed systems
US8713680B2 (en) 2007-07-10 2014-04-29 Samsung Electronics Co., Ltd. Method and apparatus for modeling computer program behaviour for behavioural detection of malicious program
US8245295B2 (en) 2007-07-10 2012-08-14 Samsung Electronics Co., Ltd. Apparatus and method for detection of malicious program using program behavior
US7890443B2 (en) 2007-07-13 2011-02-15 Microsoft Corporation Learning classifiers using combined boosting and weight trimming
US20100199264A1 (en) * 2007-08-02 2010-08-05 Naoto Maeda Pattern inspection system, pattern inspection device, method and pattern inspection program
CN101350054B (zh) 2007-10-15 2011-05-25 北京瑞星信息技术有限公司 计算机有害程序自动防护方法及装置
KR20100106609A (ko) 2008-01-02 2010-10-01 샌디스크 아이엘 엘티디 직접적인 사용자 액세스를 갖는 저장 장치
US8160975B2 (en) 2008-01-25 2012-04-17 Mcafee, Inc. Granular support vector machine with random granularity
US8719936B2 (en) 2008-02-01 2014-05-06 Northeastern University VMM-based intrusion detection system
US8595834B2 (en) 2008-02-04 2013-11-26 Samsung Electronics Co., Ltd Detecting unauthorized use of computing devices based on behavioral patterns
US7676573B2 (en) 2008-02-08 2010-03-09 Microsoft Corporation Node monitor client cache synchronization for mobile device management
US8320329B2 (en) 2008-03-24 2012-11-27 Cisco Technology, Inc. Policy for a roaming terminal based on a home internet protocol (IP) address
US20090288080A1 (en) 2008-05-13 2009-11-19 Partridge Lucas W Method of Delivering Software Over a Network
US8108323B2 (en) 2008-05-19 2012-01-31 Yahoo! Inc. Distributed spam filtering utilizing a plurality of global classifiers and a local classifier
US20090293121A1 (en) 2008-05-21 2009-11-26 Bigus Joseph P Deviation detection of usage patterns of computer resources
IL191744A0 (en) 2008-05-27 2009-02-11 Yuval Elovici Unknown malcode detection using classifiers with optimal training sets
US20090327168A1 (en) 2008-06-26 2009-12-31 Yahoo! Inc. Playful incentive for labeling content
JP2010016443A (ja) 2008-07-01 2010-01-21 Toshiba Corp 状況認識装置、状況認識方法、及び無線端末装置
JP4710933B2 (ja) 2008-07-09 2011-06-29 ソニー株式会社 学習装置、学習方法、およびプログラム
GB2461870B (en) 2008-07-14 2012-02-29 F Secure Oyj Malware detection
US8069128B2 (en) 2008-08-08 2011-11-29 Yahoo! Inc. Real-time ad-hoc spam filtering of email
US8775333B1 (en) 2008-08-20 2014-07-08 Symantec Corporation Systems and methods for generating a threat classifier to determine a malicious process
US8095964B1 (en) 2008-08-29 2012-01-10 Symantec Corporation Peer computer based threat detection
US8245315B2 (en) 2008-09-10 2012-08-14 Qualcomm Incorporated Remote diagnosis of unauthorized hardware change
US8504504B2 (en) 2008-09-26 2013-08-06 Oracle America, Inc. System and method for distributed denial of service identification and prevention
US8490188B2 (en) 2008-10-16 2013-07-16 Qualys, Inc. Systems and methods for assessing the compliance of a computer across a network
US8533844B2 (en) 2008-10-21 2013-09-10 Lookout, Inc. System and method for security data collection and analysis
US8087067B2 (en) 2008-10-21 2011-12-27 Lookout, Inc. Secure mobile platform system
US9235704B2 (en) 2008-10-21 2016-01-12 Lookout, Inc. System and method for a scanning API
US8984628B2 (en) 2008-10-21 2015-03-17 Lookout, Inc. System and method for adverse mobile application identification
US8347386B2 (en) 2008-10-21 2013-01-01 Lookout, Inc. System and method for server-coupled malware prevention
US9537613B2 (en) 2008-10-24 2017-01-03 Qualcomm Incorporated Acknowledgment based on short cell radio network temporary identifier
US20100107257A1 (en) 2008-10-29 2010-04-29 International Business Machines Corporation System, method and program product for detecting presence of malicious software running on a computer system
IL195081A0 (en) 2008-11-03 2011-08-01 Deutche Telekom Ag Acquisition of malicious code using active learning
JP4576452B2 (ja) * 2008-11-06 2010-11-10 イーソル株式会社 オペレーティングシステムおよび情報処理装置
DE102008043954A1 (de) 2008-11-21 2010-05-27 Robert Bosch Gmbh Sensornetzwerksystem, Übertragunsprotokoll, Verfahren zum Wiedererkennen eines Objekts sowie Computerprogramm
US8549625B2 (en) 2008-12-12 2013-10-01 International Business Machines Corporation Classification of unwanted or malicious software through the identification of encrypted data communication
US20100153371A1 (en) 2008-12-16 2010-06-17 Yahoo! Inc. Method and apparatus for blending search results
CN101770453A (zh) 2008-12-31 2010-07-07 华建机器翻译有限公司 基于领域本体结合机器学习模型的汉语文本共指消解方法
US20100192222A1 (en) 2009-01-23 2010-07-29 Microsoft Corporation Malware detection using multiple classifiers
US8793758B2 (en) 2009-01-28 2014-07-29 Headwater Partners I Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US20100192201A1 (en) 2009-01-29 2010-07-29 Breach Security, Inc. Method and Apparatus for Excessive Access Rate Detection
EP2222048A1 (en) * 2009-02-24 2010-08-25 BRITISH TELECOMMUNICATIONS public limited company Detecting malicious behaviour on a computer network
US8266698B1 (en) 2009-03-09 2012-09-11 Symantec Corporation Using machine infection characteristics for behavior-based detection of malware
WO2010105249A1 (en) 2009-03-13 2010-09-16 Rutgers, The State University Of New Jersey Systems and methods for the detection of malware
US8490187B2 (en) 2009-03-20 2013-07-16 Microsoft Corporation Controlling malicious activity detection using behavioral models
US8683554B2 (en) 2009-03-27 2014-03-25 Wavemarket, Inc. System and method for managing third party application program access to user information via a native application program interface (API)
US8161130B2 (en) 2009-04-10 2012-04-17 Microsoft Corporation Bottom-up analysis of network sites
JP5244686B2 (ja) 2009-04-24 2013-07-24 株式会社東芝 監視装置およびサーバー
US8918876B2 (en) 2009-04-30 2014-12-23 Telefonaktiebolaget L M Ericsson (Publ) Deviating behaviour of a user terminal
US8356001B2 (en) 2009-05-19 2013-01-15 Xybersecure, Inc. Systems and methods for application-level security
US8694624B2 (en) 2009-05-19 2014-04-08 Symbol Technologies, Inc. Systems and methods for concurrent wireless local area network access and sensing
US8332945B2 (en) 2009-06-05 2012-12-11 The Regents Of The University Of Michigan System and method for detecting energy consumption anomalies and mobile malware variants
US9074897B2 (en) 2009-06-15 2015-07-07 Qualcomm Incorporated Real-time data with post-processing
US8701192B1 (en) 2009-06-30 2014-04-15 Symantec Corporation Behavior based signatures
US20110013528A1 (en) 2009-07-16 2011-01-20 Chen Byron H Method for providing presence and location information of mobiles in a wireless network
US8776218B2 (en) * 2009-07-21 2014-07-08 Sophos Limited Behavioral-based host intrusion prevention system
US8311956B2 (en) 2009-08-11 2012-11-13 At&T Intellectual Property I, L.P. Scalable traffic classifier and classifier training system
EP2474130B1 (en) * 2009-09-01 2017-01-25 NEC Corporation Method for monitoring a network and network including a monitoring functionality
US8509755B2 (en) 2009-10-30 2013-08-13 Research In Motion Limited System and method for activating a component on an electronic device
US8397301B2 (en) 2009-11-18 2013-03-12 Lookout, Inc. System and method for identifying and assessing vulnerabilities on a mobile communication device
EP2326057A1 (en) 2009-11-20 2011-05-25 British Telecommunications public limited company Detecting malicious behaviour on a network
US20110161452A1 (en) 2009-12-24 2011-06-30 Rajesh Poornachandran Collaborative malware detection and prevention on mobile devices
JP2011138219A (ja) * 2009-12-25 2011-07-14 Toshiba Corp 並列プログラム解析結果表示装置および並列プログラム解析結果表示方法
US8806620B2 (en) 2009-12-26 2014-08-12 Intel Corporation Method and device for managing security events
US20120254333A1 (en) 2010-01-07 2012-10-04 Rajarathnam Chandramouli Automated detection of deception in short and multilingual electronic messages
US8458809B2 (en) 2010-01-20 2013-06-04 Research In Motion Limited Apparatus, and an associated method, for facilitating secure operations of a wireless device
CN102859967A (zh) 2010-03-01 2013-01-02 诺基亚公司 用于基于用户交互数据来估计用户特征的方法和设备
US20110219449A1 (en) * 2010-03-04 2011-09-08 St Neitzel Michael Malware detection method, system and computer program product
KR101051641B1 (ko) 2010-03-30 2011-07-26 주식회사 안철수연구소 이동통신 단말 및 이를 이용한 행위기반 악성 코드 진단 방법
US8694744B1 (en) 2010-03-31 2014-04-08 Emc Corporation Mobile device snapshot backup
US9043254B2 (en) 2010-04-12 2015-05-26 Siemens Aktiengesellschaft Method for computer-aided closed-loop and/or open-loop control of a technical system
EP3242465B1 (en) 2010-04-26 2020-01-01 BlackBerry Limited Mobile wireless communications device providing enhanced file transfer management features and related methods
US8570993B2 (en) 2010-05-20 2013-10-29 At&T Mobility Ii Llc Wi-Fi intelligent selection engine
DE102010021825A1 (de) 2010-05-28 2011-12-01 Christmann Informationstechnik + Medien Gmbh & Co. Kg Mehrprozessor-Computersystem
US9449175B2 (en) 2010-06-03 2016-09-20 Nokia Technologies Oy Method and apparatus for analyzing and detecting malicious software
CN101882000B (zh) 2010-06-18 2012-08-22 华南理工大学 一种基于加速度传感器的手势识别方法
US20120180126A1 (en) 2010-07-13 2012-07-12 Lei Liu Probable Computing Attack Detector
US20120016633A1 (en) 2010-07-16 2012-01-19 Andreas Wittenstein System and method for automatic detection of anomalous recurrent behavior
US9294946B2 (en) 2010-08-27 2016-03-22 Qualcomm Incorporated Adaptive automatic detail diagnostic log collection in a wireless communication system
US8424093B2 (en) 2010-11-01 2013-04-16 Kaspersky Lab Zao System and method for updating antivirus cache
US8683591B2 (en) 2010-11-18 2014-03-25 Nant Holdings Ip, Llc Vector-based anomaly detection
US8875286B2 (en) 2010-12-01 2014-10-28 Cisco Technology, Inc. Method and apparatus for detecting malicious software using machine learning techniques
US20120151479A1 (en) 2010-12-10 2012-06-14 Salesforce.Com, Inc. Horizontal splitting of tasks within a homogenous pool of virtual machines
US9710645B2 (en) 2010-12-23 2017-07-18 Ebay Inc. Systems and methods to detect and neutralize malware infected electronic communications
US20120167218A1 (en) 2010-12-23 2012-06-28 Rajesh Poornachandran Signature-independent, system behavior-based malware detection
US8640245B2 (en) 2010-12-24 2014-01-28 Kaspersky Lab, Zao Optimization of anti-malware processing by automated correction of detection rules
US8762298B1 (en) 2011-01-05 2014-06-24 Narus, Inc. Machine learning based botnet detection using real-time connectivity graph based traffic features
CN102591696A (zh) 2011-01-14 2012-07-18 中国科学院软件研究所 一种手机软件行为数据提取方法及系统
US9326698B2 (en) 2011-02-18 2016-05-03 The Trustees Of The University Of Pennsylvania Method for automatic, unsupervised classification of high-frequency oscillations in physiological recordings
US8695095B2 (en) 2011-03-11 2014-04-08 At&T Intellectual Property I, L.P. Mobile malicious software mitigation
US8554912B1 (en) * 2011-03-14 2013-10-08 Sprint Communications Company L.P. Access management for wireless communication devices failing authentication for a communication network
JP5665188B2 (ja) * 2011-03-31 2015-02-04 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソフトウエア更新を適用した情報処理装置を検査するシステム
US8533857B2 (en) 2011-04-12 2013-09-10 Teletech Holdings, Inc. Methods for providing cross-vendor support services
KR101906834B1 (ko) 2011-04-19 2018-10-11 삼성전자주식회사 휴대단말기의 어플리케이션 리소스 선택장치 및 방법
RU2454705C1 (ru) 2011-04-19 2012-06-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ защиты компьютерного устройства от вредоносных объектов, использующих сложные схемы заражения
CN102790758B (zh) 2011-05-18 2017-08-18 海尔集团公司 防火墙系统及其处理方法
US9323928B2 (en) 2011-06-01 2016-04-26 Mcafee, Inc. System and method for non-signature based detection of malicious processes
US8819471B2 (en) 2011-06-03 2014-08-26 Apple Inc. Methods and apparatus for power state based backup
US20120317306A1 (en) 2011-06-10 2012-12-13 Microsoft Corporation Statistical Network Traffic Signature Analyzer
US9152882B2 (en) 2011-06-17 2015-10-06 Microsoft Technology Licensing, Llc. Location-aided recognition
US9286182B2 (en) 2011-06-17 2016-03-15 Microsoft Technology Licensing, Llc Virtual machine snapshotting and analysis
CN102202102B (zh) * 2011-07-05 2014-08-13 施昊 基于云计算架构的网络服务聚合系统及其聚合方法
US20130203440A1 (en) 2011-07-27 2013-08-08 Qualcomm Labs, Inc. Selectively performing a positioning procedure at an access terminal based on a behavior model
WO2013015995A1 (en) 2011-07-27 2013-01-31 Seven Networks, Inc. Automatic generation and distribution of policy information regarding malicious mobile traffic in a wireless network
US8782412B2 (en) 2011-08-31 2014-07-15 AstherPal Inc. Secured privileged access to an embedded client on a mobile device
CN102369514B (zh) * 2011-08-31 2013-09-11 华为技术有限公司 一种建立检查点的方法和系统
US20130066815A1 (en) 2011-09-13 2013-03-14 Research In Motion Limited System and method for mobile context determination
ES2755780T3 (es) 2011-09-16 2020-04-23 Veracode Inc Análisis estático y de comportamiento automatizado mediante la utilización de un espacio aislado instrumentado y clasificación de aprendizaje automático para seguridad móvil
US8793593B2 (en) 2011-09-21 2014-07-29 Facebook, Inc. Integrating structured objects and actions generated on external systems into a social networking system
US9137262B2 (en) 2011-10-11 2015-09-15 Citrix Systems, Inc. Providing secure mobile device access to enterprise resources using application tunnels
WO2013080096A1 (en) 2011-11-29 2013-06-06 Sony Mobile Communications Ab System and method for providing secure inter-process communications
US9413538B2 (en) 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
US9071636B2 (en) 2011-12-21 2015-06-30 Verizon Patent And Licensing Inc. Predictive scoring management system for application behavior
AU2013207269A1 (en) 2012-01-06 2014-07-24 Optio Labs, LLC Systems and methods for enforcing security in mobile computing
US8943204B2 (en) 2012-01-23 2015-01-27 Cellco Partnership Method and system for conserving network resources when sending information to mobile devices
US9832211B2 (en) 2012-03-19 2017-11-28 Qualcomm, Incorporated Computing device to detect malware
US9439077B2 (en) 2012-04-10 2016-09-06 Qualcomm Incorporated Method for malicious activity detection in a mobile station
US9324034B2 (en) 2012-05-14 2016-04-26 Qualcomm Incorporated On-device real-time behavior analyzer
US9609456B2 (en) 2012-05-14 2017-03-28 Qualcomm Incorporated Methods, devices, and systems for communicating behavioral analysis information
US9202047B2 (en) 2012-05-14 2015-12-01 Qualcomm Incorporated System, apparatus, and method for adaptive observation of mobile device behavior
US9298494B2 (en) 2012-05-14 2016-03-29 Qualcomm Incorporated Collaborative learning for efficient behavioral analysis in networked mobile device
US20130304677A1 (en) 2012-05-14 2013-11-14 Qualcomm Incorporated Architecture for Client-Cloud Behavior Analyzer
US9690635B2 (en) 2012-05-14 2017-06-27 Qualcomm Incorporated Communicating behavior information in a mobile computing device
EP2680182B1 (en) 2012-06-29 2016-03-16 GSMK Gesellschaft für sichere Mobile Kommunikation mbH Mobile device and method to monitor a baseband processor in relation to the actions on an application processor
US20140031060A1 (en) 2012-07-25 2014-01-30 Aro, Inc. Creating Context Slices of a Storyline from Mobile Device Data
US9495537B2 (en) 2012-08-15 2016-11-15 Qualcomm Incorporated Adaptive observation of behavioral features on a mobile device
US9319897B2 (en) 2012-08-15 2016-04-19 Qualcomm Incorporated Secure behavior analysis over trusted execution environment
US20140150100A1 (en) 2012-08-15 2014-05-29 Qualcomm Incorporated Adaptive Observation of Driver and Hardware Level Behavioral Features on a Mobile Device
US9747440B2 (en) 2012-08-15 2017-08-29 Qualcomm Incorporated On-line behavioral analysis engine in mobile device with multiple analyzer model providers
US9330257B2 (en) * 2012-08-15 2016-05-03 Qualcomm Incorporated Adaptive observation of behavioral features on a mobile device
US20140096246A1 (en) 2012-10-01 2014-04-03 Google Inc. Protecting users from undesirable content
US9686023B2 (en) 2013-01-02 2017-06-20 Qualcomm Incorporated Methods and systems of dynamically generating and using device-specific and device-state-specific classifier models for the efficient classification of mobile device behaviors
US9684870B2 (en) 2013-01-02 2017-06-20 Qualcomm Incorporated Methods and systems of using boosted decision stumps and joint feature selection and culling algorithms for the efficient classification of mobile device behaviors
US10089582B2 (en) 2013-01-02 2018-10-02 Qualcomm Incorporated Using normalized confidence values for classifying mobile device behaviors
US9742559B2 (en) 2013-01-22 2017-08-22 Qualcomm Incorporated Inter-module authentication for securing application execution integrity within a computing device
US9491187B2 (en) 2013-02-15 2016-11-08 Qualcomm Incorporated APIs for obtaining device-specific behavior classifier models from the cloud
WO2014165230A1 (en) 2013-03-13 2014-10-09 Lookout, Inc. System and method for changing security behavior of a device based on proximity to another device
US20140279745A1 (en) 2013-03-14 2014-09-18 Sm4rt Predictive Systems Classification based on prediction of accuracy of multiple data models

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1983686A1 (en) 2007-04-19 2008-10-22 NTT DoCoMo, Inc. Mobile terminal apparatus and diagnosis method for mobile terminal apparatus
US20110060948A1 (en) 2009-09-09 2011-03-10 Beebe Simon Diagnostics methods for a communications device

Also Published As

Publication number Publication date
US20130305101A1 (en) 2013-11-14
US20130305359A1 (en) 2013-11-14
US20130303154A1 (en) 2013-11-14
US20150148109A1 (en) 2015-05-28
US9189624B2 (en) 2015-11-17
CN104272786B (zh) 2018-06-12
CN104303156B (zh) 2017-03-01
CN104303156A (zh) 2015-01-21
EP2850864A1 (en) 2015-03-25
US9202047B2 (en) 2015-12-01
EP2850865B1 (en) 2018-09-19
WO2013172865A1 (en) 2013-11-21
JP2015520452A (ja) 2015-07-16
KR20150008493A (ko) 2015-01-22
US9292685B2 (en) 2016-03-22
EP2850524B1 (en) 2019-10-02
CN104272787A (zh) 2015-01-07
WO2013173001A1 (en) 2013-11-21
KR102103613B1 (ko) 2020-04-22
US9152787B2 (en) 2015-10-06
CN104303538A (zh) 2015-01-21
IN2014MN02026A (ko) 2015-08-14
TW201407406A (zh) 2014-02-16
CN104272787B (zh) 2018-08-24
KR20150013298A (ko) 2015-02-04
IN2014MN02172A (ko) 2015-08-28
WO2013172881A1 (en) 2013-11-21
EP2850865A1 (en) 2015-03-25
JP6110482B2 (ja) 2017-04-05
WO2013172877A1 (en) 2013-11-21
EP2850864B1 (en) 2017-09-13
EP2850524A1 (en) 2015-03-25
US9898602B2 (en) 2018-02-20
CN104272786A (zh) 2015-01-07
US20140245306A1 (en) 2014-08-28
CN104303538B (zh) 2018-06-15
US9349001B2 (en) 2016-05-24
US20130305358A1 (en) 2013-11-14

Similar Documents

Publication Publication Date Title
KR101626243B1 (ko) 모바일 디바이스 거동의 적응적 관찰을 위한 시스템, 장치, 및 방법
US9495537B2 (en) Adaptive observation of behavioral features on a mobile device
EP2949144B1 (en) Adaptive observation of behavioral features on a mobile device
US9607146B2 (en) Data flow based behavioral analysis on mobile devices
EP3191960B1 (en) Methods and systems for aggregated multi-application behavioral analysis of mobile device behaviors
US9448859B2 (en) Exploiting hot application programming interfaces (APIs) and action patterns for efficient storage of API logs on mobile devices for behavioral analysis
KR101789962B1 (ko) 이동 디바이스에서 거동 분석 동작들을 수행함으로써 애플리케이션 상태들을 추론하기 위한 방법 및 시스템
US9158604B1 (en) Lightweight data-flow tracker for realtime behavioral analysis using control flow
US9147072B2 (en) Method and system for performing behavioral analysis operations in a mobile device based on application state
US20170024660A1 (en) Methods and Systems for Using an Expectation-Maximization (EM) Machine Learning Framework for Behavior-Based Analysis of Device Behaviors
WO2014028304A1 (en) Secure behavior analysis over trusted execution environment

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee