KR20170128300A - 특징화된 디바이스 거동들의 자동화된 익명의 크라우드소싱을 위한 방법들 및 시스템들 - Google Patents

특징화된 디바이스 거동들의 자동화된 익명의 크라우드소싱을 위한 방법들 및 시스템들 Download PDF

Info

Publication number
KR20170128300A
KR20170128300A KR1020177025709A KR20177025709A KR20170128300A KR 20170128300 A KR20170128300 A KR 20170128300A KR 1020177025709 A KR1020177025709 A KR 1020177025709A KR 20177025709 A KR20177025709 A KR 20177025709A KR 20170128300 A KR20170128300 A KR 20170128300A
Authority
KR
South Korea
Prior art keywords
behavior
processor
vector
information
devices
Prior art date
Application number
KR1020177025709A
Other languages
English (en)
Inventor
마스토레 사라제헤
모나 마흐무디
비나이 스리드하라
미하이 크리스토도레스쿠
게오르게 칼린 카스카발
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20170128300A publication Critical patent/KR20170128300A/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • 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
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/10Scheduling measurement reports ; Arrangements for measurement reports

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Telephonic Communication Services (AREA)
  • Selective Calling Equipment (AREA)

Abstract

방법들, 및 그 방법들을 구현하는 디바이스들은 디바이스 거동들의 크라우드-소싱을 위해 프라이버시-보호 거동 모니터링 및 분석 시스템에서 디바이스-특정의 분류자들을 이용한다. 다양한 "스마트" 능력들을 가지는 다양한 디바이스들이 동작 거동들을 모니터링할 수도 있다. 수집된 동작 거동 정보는 개별 수집 디바이스보다 더 큰 프로세싱 능력들을 가지는 인접한 디바이스로 송신될 수도 있거나, 또는 "상시 온 (always on)" 디바이스로 직접 송신될 수도 있다. 거동 정보는 비정상들에 대해 분석될 수도 있는 거동 벡터들을 발생시키기 위해 이용될 수도 있다. 비정상 플래그들을 포함하는 벡터들은 임의의 사용자-식별 정보를 제거하기 위해 익명화되고, 그후 서비스 제공자 또는 디바이스 제조업자와 같은 원격 수신자로 송신될 수도 있다. 이와 같이, 동작 거동 정보는 디바이스 사용자들에 관한 개인 정보를 누설함이 없이, 디바이스들의 특정의 제조원들 및 모델들에 대한 동작 거동의 통계적 분석을 획득하기 위해, 다수의 사용자들로부터 상이한 디바이스들에 대해 수집될 수도 있다.

Description

특징화된 디바이스 거동들의 자동화된 익명의 크라우드소싱을 위한 방법들 및 시스템들{METHODS AND SYSTEMS FOR AUTOMATED ANONYMOUS CROWDSOURCING OF CHARACTERIZED DEVICE BEHAVIORS}
지난 수년 간 통신 기술들에서의 폭발적인 성장은 홈, 오피스, 또는 다른 설비에서 디바이스들을 스마트 오브젝트들로서 접속하는 "사물 인터넷" 의 도래를 초래하였다. 이러한 성장은 더 나은 통신들, 하드웨어, 더 큰 네트워크들, 및 더 신뢰성있는 프로토콜들에 의해 자극받아 왔다. 그 결과, 통신 서비스 제공자들은 지금 그들의 고객들에게 전례 없는 정보, 리소스들, 및 통신들에의 액세스의 레벨들을 제공할 수 있다.
이들 서비스 향상들에 보조를 맞추기 위해, 전자 디바이스들 (예컨대, 셀룰러폰들, 태블릿들, 랩탑들, 텔레비전들, 냉장고들, 스마트 전구들 등) 은 그 어느 때보다 더 강력하고 복잡하게 되었다. 이러한 복잡성은 소프트웨어 충돌들, 하드웨어 결함들, 악성 소프트웨어, 및 다른 유사한 에러들 또는 현상들이 디바이스의 장기 및 지속적인 성능 및 전력 이용 레벨들 뿐만 아니라, 최종 사용자 경험에 악영향을 미칠 새로운 기회들을 야기하였다. 따라서, 각각의 디바이스의 장기 및 연속 성능 및 전력 이용 레벨들에 악영향을 미칠 수도 있는 조건들 및/또는 디바이스 거동들을 식별하여 정정하는 것이 소비자들에게 유익하다.
서비스 제공자들 및 제조업자들에 의한 디바이스 조건들 및 거동들에 관한 정보의 수집과 집합은 악의적인 거동들 및 성능 열화 조건들의 더 빠른 식별 및 수정을 가능하게 할 수도 있다. 거동 정보는 많은 유형들의 "사물 인터넷" 디바이스들에 대해 수집되어, 장기 디바이스 거동 경향들, 에러들, 오작동들 등에 대한 데이터를 분석할 수도 있는 서비스 제공자들 및 제조업자들에게 전달될 수도 있다. 이와 같이, 서비스 제공자들 및 제조업자들은 다양한 동작 조건들에 따라서 디바이스들의 동작 및 기능에 관한 유용한 정보를 얻을 수도 있다. 그러나, 이러한 정보를 수집하는 것은 서비스 제공자들 및 제조업자들에게 민감한 개인 정보를 노출시킬 가능성이 있다.
여러 양태들의 방법들 및 장치들은 특징화된 디바이스 거동들의 자동화된 익명의 크라우드소싱을 위한 회로들 및 방법들을 제공한다. 양태 방법들은 제 1 디바이스의 프로세서에 의해, 비정상적인 거동을 검출하는 것에 응답하여 사용자-식별 정보를 제거하기 위해 디바이스 거동 벡터를 익명화하는 단계; 및 제 1 디바이스의 트랜시버에 의해, 디바이스 익명화된 디바이스 거동 벡터를 네트워크를 통해서 원격 서버로 송신하는 단계를 포함할 수도 있다.
일부 양태들은 제 1 디바이스의 프로세서에 의해, 디바이스 구성요소들로부터 거동 정보를 수집함으로써 소정 기간에 걸쳐 디바이스의 거동을 모니터링하는 단계; 제 1 디바이스의 프로세서에 의해, 디바이스의 수집된 거동 정보를 이용하여 디바이스 거동 벡터를 구축하는 단계; 및 비정상적인 거동을 검출하기 위해 제 1 디바이스의 프로세서에 의해, 디바이스 거동 벡터를 분석하는 단계를 포함할 수도 있다.
일부 양태들은 제 2 디바이스의 프로세서에 의해, 디바이스 구성요소들로부터 거동 정보를 수집함으로써 소정 기간에 걸쳐 제 2 디바이스의 거동을 모니터링하는 단계; 제 2 디바이스의 송신기에 의해, 수집된 거동 정보를 제 1 디바이스로 송신하는 단계; 제 1 디바이스의 프로세서에 의해, 제 2 디바이스의 수집된 거동 정보를 이용하여 디바이스 거동 벡터를 구축하는 단계; 및 비정상적인 거동을 검출하기 위해 제 1 디바이스의 프로세서에 의해, 디바이스 거동 벡터를 분석하는 단계를 포함할 수도 있다.
일부 양태들은 제 2 디바이스의 프로세서에 의해, 디바이스 구성요소들로부터 거동 정보를 수집함으로써 소정 기간에 걸쳐 제 2 디바이스의 거동을 모니터링하는 단계; 제 2 디바이스의 송신기에 의해, 수집된 거동 정보를 제 3 디바이스로 송신하는 단계; 제 3 디바이스의 프로세서에 의해, 제 2 디바이스로부터 수신된 수집된 거동 정보를 이용하여 디바이스 거동 벡터를 구축하는 단계; 제 3 디바이스의 트랜시버에 의해, 디바이스 거동 벡터를 제 1 디바이스로 송신하는 단계; 및 비정상적인 거동을 검출하기 위해 제 1 디바이스의 프로세서에 의해, 디바이스 거동 벡터를 분석하는 단계를 포함할 수도 있다. 이러한 양태들은 제 3 디바이스의 프로세서에 의해, 디바이스 구성요소들로부터 거동 정보를 수집함으로써 소정 기간에 걸쳐 제 3 디바이스의 거동을 모니터링하는 단계; 제 3 디바이스의 프로세서에 의해, 제 3 디바이스의 수집된 거동 정보를 이용하여 제 3 디바이스 거동 벡터를 구축하는 단계; 제 3 디바이스의 트랜시버에 의해, 제 3 디바이스 거동 벡터를 제 1 디바이스로 송신하는 단계; 및 제 1 디바이스의 프로세서에 의해, 비정상적인 거동을 검출하기 위해 제 3 디바이스 거동 벡터를 분석하는 단계를 더 포함할 수도 있다.
일부 양태들은 제 2 디바이스의 프로세서에 의해, 디바이스 구성요소들로부터 거동 정보를 수집함으로써 소정 기간에 걸쳐 제 2 디바이스의 거동을 모니터링하는 단계; 제 2 디바이스의 송신기에 의해, 수집된 거동 정보를 제 3 디바이스로 송신하는 단계; 제 3 디바이스의 프로세서에 의해, 제 2 디바이스로부터 수신된 수집된 거동 정보를 이용하여 디바이스 거동 벡터를 구축하는 단계; 비정상적인 거동을 검출하기 위해 제 3 디바이스의 프로세서에 의해, 디바이스 거동 벡터를 분석하는 단계; 및 비정상적인 거동을 검출하는 것에 응답하여 제 3 디바이스의 트랜시버에 의해, 디바이스 거동 벡터를 제 1 디바이스로 송신하는 단계를 포함할 수도 있다. 이러한 양태들은 제 3 디바이스의 프로세서에 의해, 디바이스 구성요소들로부터 거동 정보를 수집함으로써 소정 기간에 걸쳐 제 3 디바이스의 거동을 모니터링하는 단계; 제 3 디바이스의 프로세서에 의해, 제 3 디바이스의 수집된 거동 정보를 이용하여 제 3 디바이스 거동 벡터를 구축하는 단계; 제 3 디바이스의 프로세서에 의해, 비정상적인 거동을 검출하기 위해 제 3 디바이스 거동 벡터를 분석하는 단계; 및 비정상적인 거동을 검출하는 것에 응답하여 제 3 디바이스의 트랜시버에 의해, 제 3 디바이스 거동 벡터를 제 1 디바이스로 송신하는 단계를 더 포함할 수도 있다.
일부 양태들은 비정상적인 거동을 검출하는 것에 응답하여, 제 1 디바이스의 프로세서에 의해, 피처 벡터를 발생시키는 단계로서, 피처 벡터는 검출된 비정상적인 거동과 연관되는, 상기 발생시키는 단계; 제 1 디바이스의 프로세서에 의해, 피처 벡터를 제 1 디바이스와 로컬 통신하는 하나 이상의 디바이스들로 송신하는 단계; 및 하나 이상의 디바이스들의 프로세서들에 의해, 피처 벡터에 포함된 피처에 관련된 거동을 모니터링하는 단계를 포함할 수도 있다.
일부 양태들은 제 1 디바이스의 트랜시버에 의해, 원격 서버로부터, 제 1 디바이스와 로컬 통신하는 하나 이상의 디바이스들에 관련된 하나 이상의 피처 벡터들을 수신하는 단계; 제 1 디바이스의 프로세서에 의해, 하나 이상의 피처 벡터들을 제 1 디바이스와 로컬 통신하는 하나 이상의 디바이스들로 송신하는 단계; 및 하나 이상의 디바이스들의 프로세서들에 의해, 하나 이상의 피처 벡터에 포함된 피처들에 관련된 거동을 모니터링하는 단계를 포함할 수도 있다.
일부 양태들에서, 디바이스 거동 벡터를 익명화하는 단계는 디바이스에 고유한 익명화기 모델을 디바이스 거동 벡터에 적용하는 단계를 포함할 수도 있다.
양태들은 안테나; 및 안테나에 통신가능하게 접속되며 위에서 설명한 양태 방법들 중 하나 이상의 동작들을 수행하는 프로세서-실행가능한 명령들로 구성된 프로세서를 가지는 멀티-기술 통신 디바이스를 포함한다.
양태들은 위에서 설명한 양태 방법들 중 하나 이상의 기능들을 수행하는 수단을 가지는 멀티-기술 통신 디바이스를 포함한다.
양태들은 프로세서로 하여금, 위에서 설명한 양태 방법들 중 하나 이상의 동작들을 수행하게 하는 프로세서-실행가능한 소프트웨어 명령들을 안에 저장하고 있는 비일시성 프로세서-판독가능 매체를 포함한다.
양태들은 위에서 설명한 양태 방법들 중 하나 이상의 동작들을 수행하는 프로세서-실행가능한 명령들로 구성된 다수의 디바이스들의 통신 시스템을 포함할 수도 있다.
본원에 포함되어 본 명세서의 부분을 구성하는, 첨부 도면들은, 본 발명의 예시적인 양태들을 예시하며, 위에서 주어진 일반적인 설명 및 아래에 주어지는 상세한 설명과 함께, 본 발명의 특징들을 설명하는 것을 돕는다.
도 1a 내지 도 1c 는 여러 양태들과 함께 사용하기에 적합한 예시적인 스마트 디바이스 시스템 및 연관된 네트워킹 프레임워크의 네트워크 구성요소들을 예시하는 통신 시스템 블록도들이다.
도 2 는 여러 양태들과 함께 사용하기에 적합한 스마트 디바이스 네트워킹 프레임워크의 구성요소들을 예시하는 블록도이다.
도 3 은 특정의 스마트 디바이스 거동이 악의적인지, 성능-열화시키는지, 수상한지, 또는 호의적인지 여부를 결정하도록 구성된 일 양태 스마트 디바이스에서 예시적인 논리적 구성요소들 및 정보 흐름들을 예시하는 예시하는 블록도이다.
도 4 는 데이터, 거동 벡터들, 또는 분류자 모델들을 재훈련함이 없이 애플리케이션-기반의 분류자 모델들을 발생시키도록 구성된 스마트 디바이스를 포함하는 양태 시스템에서의 예시적인 구성요소들 및 정보 흐름들을 예시하는 블록도이다.
도 5 는 스마트 디바이스들의 로컬 네트워크에서 디바이스-특정의 거동들을 분석하고 익명화하는 다른 양태 스마트 디바이스 방법을 예시하는 프로세스 흐름도이다.
도 6 은 제한된 능력 스마트 디바이스에서의 디바이스 거동들을 분석하는 다른 양태 스마트 디바이스 방법을 예시하는 프로세스 흐름도이다.
도 7 은 스마트 디바이스에서의 피처 특정의 디바이스 거동들을 분석하는 다른 양태 스마트 디바이스 방법을 예시하는 프로세스 흐름도이다.
도 8 은 다른 양태에 따른, 관측자 데몬들을 구현하는 컴퓨팅 시스템에서의 논리적 구성요소들 및 정보 흐름들을 예시하는 블록도이다.
도 9 는 여러 양태들과 함께 사용하기에 적합한 스마트 디바이스의 구성요소 블록도이다.
도 10 은 여러 양태들과 함께 사용하기에 적합한 스마트 백열 전구의 형태인 예시적인 스마트 디바이스의 구성요소 다이어그램이다.
도 11 은 여러 양태들과 함께 사용하기에 적합한 서버 디바이스의 구성요소 블록도이다.
여러 양태들이 첨부 도면들을 참조하여 자세히 설명된다. 가능한 경우에는 언제나, 동일한 또는 유사한 부재들을 지칭하기 위해서 동일한 참조 번호들이 도면들 전반에 걸쳐서 사용된다. 특정의 예들 및 구현예들에 대한 언급들은 예시적인 목적들을 위한 것이며, 본 발명 또는 청구항들의 범위에 한정하려고 의도되지 않는다.
개관에서, 여러 양태들은 디바이스 거동 정보를 프라이버시-보호 방법으로 크라우드-소싱하는 방법들, 및 그 방법들을 구현하도록 구성된 스마트 디바이스들을 포함한다. 참조의 용이를 위해, 용어 "디바이스-특정의 분류자 모델들" 은 본원에서 그리고 청구항들에서, 아래에서 설명되는 바와 같은 디바이스-특정의 및 피처-유형 특정의 분류자 모델들 중 어느 하나 또는 양쪽을 지칭하기 위해 사용된다.
단어 "예시적인" 은 "일 예, 사례, 또는 예시로서 기능하는 것" 을 의미하도록 본원에서 사용된다. 본원에서 "예시적인" 으로서 설명하는 임의의 구현예는 다른 구현예들보다 바람직하거나 또는 유리한 것으로 반드시 해석해서는 안된다.
본원에서 사용될 때, 용어들 "스마트 디바이스" 또는 "디바이스" 는 스마트 가전제품들 (커피 메이커들, 냉장고들, 자동 온도조절장치들, 블라인드 제어장치들, 오븐들, 세탁기들/건조기들 등), 스마트 백열전구들, 스마트 스피커들, 스마트 개인 디바이스들, 스마트 멀티-미디어 플레이어들, 텔레비전 셋탑 박스들, 통합 디지털 스마트 텔레비전들, 케이블 텔레비전 수신기들, 및 유사한 개인 전자 스마트 디바이스들 뿐만 아니라, 컴퓨팅 디바이스들, 예컨대 스마트폰들, 랩탑 컴퓨터들, 태블릿 컴퓨터들, 팜탑 컴퓨터들, 및 프로그래밍가능 프로세서 및 메모리 및 무선 네트워크 (예컨대, WiFi, Bluetooth (BT), BTLE 등) 를 통해서 정보를 교환하는 회로를 포함하는 개인용 컴퓨터들 중 임의의 하나 또는 모두를 지칭할 수도 있다. 이들 스마트 디바이스들과 관련하여 "스마트" 에 대한 언급은 디바이스 상태 (device status) 와 통신하고 통신 네트워크 또는 네트워킹 프레임워크를 통해서 원격으로 디바이스를 제어 및 조작하는 능력을 지칭할 수도 있다.
용어 "네트워킹 프레임워크" 는 본원에서 사용될 때, 통신 프레임워크, 애플리케이션들 프레임워크, 및 디바이스-대-디바이스 (예컨대, 피어-투-피어 또는 "P2P") 및 애플리케이션-대-애플리케이션 통신들 및 상호작용들을 가능하게 하는 통신 및 애플리케이션-상호작용 프로토콜들 및 지령들의 조직화된 시스템들과 상호교환가능하게 지칭할 수도 있다. 네트워킹 프레임워크는 애플리케이션 프로그래밍 인터페이스들 (APIs), 소프트웨어 개발 키트들 (SDKs), 및 애드혹 네트워크일 수도 있는 통신 네트워크를 통해서 커플링된 제어 스마트 디바이스와 피제어 (controlled) 스마트 디바이스 사이에 인터페이스하는 것을 가능하게 하는 표준 메커니즘들 및 인터페이스 정의들을 일괄하여 제공하여 다른 애플리케이션 또는 시스템 소프트웨어의 컬렉션으로서 구성될 수도 있다. 여러 API들 및 SDK들은 소프트웨어 아키텍처의 하부 계층에서 일반적으로 액세스되거나 또는 제어되는 기능들에의 (예컨대, 애플리케이션 계층으로부터의) 하이 레벨 액세스를 제공할 수도 있다. 이러한 기능들은 애드혹 네트워킹, 보안, 페어링 (pairing), 디바이스 발견, 서비스 발견, 플랫폼 투과성, 무선 액세스 제어, 메시지 포맷팅, 메시지 송신, 메시지 수신 및 디코딩, 및 기타등등을 포함할 수도 있지만, 이에 한정되지 않는다. 피어-투-피어 상호작용에 대한 지원을 제공하는 단체들의 일부 예들은 디지털 리빙 네트워크 연합 (DLNA®), 유니버셜 플러그 앤 플레이 (UPnP) 연합, 및 Bonjour 를 포함한다. 그러나, 이들 기술들은 일반적으로 디바이스-중심이며, 소프트웨어 아키텍처 내 하부 계층들에서 (예컨대, IP 전송 계층에서) 동작하는 경향이 있다. 종합적인 네트워킹 프레임워크의 일 예는 Qualcomm Innovation Center 에서 먼저 개발되어 Allseen 연합에 의해 호스트되는 AllJoynTM 코어 프레임워크이다.
AllJoyn 코어 프레임워크는 간단하고 사용자들로 하여금 인접한 디바이스와 상호작용가능하게 하는 서비스 프레임워크들의 세트를 포함한다. 서비스 프레임워크들의 세트의 일 예는 다음을 포함할 수도 있다: 디바이스 정보 및 구성 (Device Information and Configuration) - 디바이스가 디바이스 유형, 제조업자 및 일련 번호들과 같은 정보를 브로드캐스트하고; 또한 사용자로 하여금 이름 및 패스워드를 디바이스에 할당가능하게 한다; 온보딩 (Onboarding) - 디바이스들이 (예컨대, 액세스 지점과 같은 중재자를 통해서) 사용자의 네트워크에 용이하게 접속될 수 있게 한다; 통지들 (Notifications) - 디바이스들이 기본적인 통신들 (예컨대, 텍스트, 이미지/비디오, 오디오, 제어, 상태) 를 브로드캐스트하고 수신할 수도 있다; 제어 패널 (Control Panel) - 스마트폰 또는 태블릿과 같은 제어 스마트 디바이스가 그래픽 인터페이스 (예컨대, GUI 또는 UI) 를 통해서 다른 디바이스를 제어할 수도 있다; 오디오 (Audio) - 오디오 소스 디바이스들이 선택된 AllJoyn-이용가능 스피커들, 오디오 수신기들 및 다른 오디오 플레이백 스마트 디바이스들로 스트리밍할 수도 있다.
여러 양태들은 에러 보고, 오작동 모니터링, 및 디바이스 성능 분석의 사용을 위해 사용자 프라이버시-보호 방법으로 스마트 디바이스 거동 정보의 크라우드-소싱을 가능하게 하는 방법들을 제공한다. 여러 양태들은 다양한 "스마트" 능력들을 가질 수도 있는 스마트 디바이스들로부터의 거동 정보의 수집을 가능하게 한다. 수집된 정보는 수집하는 스마트 디바이스에 의해 또는 수집기보다 더 큰 프로세싱 능력들을 가진 인접한 스마트 디바이스에 의해 분석될 수도 있다. 수집된 거동 정보는 디바이스 거동 또는 기능 비정상들에 대해 분석될 수도 있다. 비정상들이 검출되면, 분석하는 스마트 디바이스는 수집된 거동 정보를 익명화하고, 임의의 사용자-식별 정보를 제거하고, 그리고 집합 또는 추가적인 분석을 위해 익명화된 거동 정보를 원격 당사자에게 송신할 수도 있다. 이것은 제조업자들, 서비스 제공자들, 디바이스 보안 연구들/조사들에 종사하는 엔터티들 등이, 디바이스들의 소유자들로부터 임의의 개인 정보를 수신함이 없이, 매우 많은 소스들로부터 획득된 익명화된 디바이스-특정의 데이터에 액세스가능하게 할 수도 있다.
일반적으로, 스마트 디바이스의 성능 및 전력 효율은 시간에 따라서 열화할 수도 있다. 이와 유사하게, 스마트 디바이스들은 그들의 수명 전체에 걸쳐서 실행 또는 동작 오작동들에서 매우 많은 에러들을 겪을 수도 있다. 현재, 컴퓨팅 디바이스의 동작들 및 기능들의 거동을 모델링하는 여러 솔루션들이 존재하며, 이들 솔루션들은 컴퓨팅 디바이스 거동이 악의적인지 또는 호의적인지 여부를 결정하기 위해 기계 학습 기법들과 함께 사용될 수도 있다. 그러나, 이들 솔루션들은, 이들이 매우 큰 뭉치의 거동 정보를 평가하는 것을 필요로 하거나, 및/또는 스마트 디바이스에서 계산-집약적인 프로세스들의 실행을 필요로 하기 때문에, 다양한 프로세싱 능력들의 스마트 디바이스들 상에서 사용하기에 적절하지 않다. 또, 이들 솔루션들은, 이들이 원격 제공자들에게 전송하기 전에 거동 정보를 익명화하지도 이들이 송신 전에 스마트 디바이스 상에서의 거동 정보 분석을 허용하지도 않기 때문에, 개인 정보 보호를 하고 있지 않다. 이와 같이, 스마트 디바이스 네트워크에서 이들 기존 솔루션들을 구현하거나 또는 수행하는 것은 네트워크 내 스마트 디바이스의 반응성, 성능, 또는 소비 전력 특성들에 중요하거나, 부정적이거나 및/또는 사용자-감지가능한 영향을 미칠 수도 있다.
현대의 스마트 디바이스들은 기능 및 디바이스 거동들 뿐만 아니라 프로세싱 능력들의 정도가 크게 상이하다. 이와 같이, 특정의 스마트 디바이스 거동이 호의적인지지 또는 호의적이지 않은지 (예컨대, 비정상적인지, 악의적인지 또는 성능-열화적인지) 여부를 결정하는데 가장 중요한 피처들은 스마트 디바이스들의 상이한 유형들 간에 크게 상이할 수도 있다. 또, 상이한 피처들의 조합은 그 스마트 디바이스가 특정의 거동이 호의적인지 또는 호의적이지 않은지 여부를 빠르고 효율적으로 결정하기 위해 각각의 스마트 디바이스에서의 모니터링 및/또는 분석을 필요로 할 수도 있다. 모니터링 및 분석을 필요로 하는 피처들의 정확한 조합, 및 각각의 피처 또는 피처 조합의 상대적인 우선순위 또는 중요성은, 종종 거동이 모니터링되거나 또는 분석될 특정의 스마트 디바이스로부터 획득된 디바이스-특정의 정보를 이용하여 단지 결정될 수도 있다. 이들 및 다른 이유들로, 그들이 사용되는 특정의 디바이스 이외의 임의의 컴퓨팅 디바이스에서 발생되는 거동 모델들은 그 디바이스에서의 소프트웨어 애플리케이션 또는 스마트 디바이스 거동을 분류하는데 가장 중요한 피처들의 정확한 조합을 식별하는 정보를 포함하지 않을 수도 있다.
여러 양태들은 시간 경과에 따라서 또는 공격을 받을 때 스마트 디바이스의 성능 및/또는 전력 이용 레벨들을 열화시킬 수도 있는, 조건들, 인자들, 및/또는 스마트 디바이스 거동들을 지능적이고 효율적으로 식별하기 위한 종합적인 거동 모니터링 및 분석, 및 익명화 시스템을 포함한다. 일 양태에서, 스마트 디바이스의 관측기, 프로세스, 데몬, 모듈, 또는 서브-시스템 (본원에서, 일괄하여 "모듈" 로서 지칭됨) 은 여러 애플리케이션 프로그래밍 인터페이스들 (API들), 레지스터들, 카운터들 또는 다른 스마트 디바이스 구성요소들 (본원에서 일괄하여 "계측된 구성요소들") 을 스마트 디바이스 시스템의 여러 레벨들에서 계측하거나 또는 조정할 수도 있다. 관측자 모듈은 계측된 구성요소로부터 거동 정보를 수집함으로써 스마트 디바이스 거동들을 연속적으로 (또는, 거의 연속적으로) 모니터링할 수도 있다. 스마트 디바이스는 또한 분석기 모듈을 포함할 수도 있으며, 관측자 모듈은 수집된 거동 정보를 (예컨대, 메모리 기록 동작, 기능 콜 등을 통해서) 분석기 모듈로 통신할 수도 있다. 분석기 모듈은 거동 정보를 수신 및 이용하여 피처 또는 거동 벡터들을 발생시키고, 피처/거동 벡터들을 이용하여 공간 및/또는 시간 상관들을 발생시키고, 그리고 이 정보를 이용하여 특정의 스마트 디바이스 거동, 조건, 서브-시스템, 소프트웨어 애플리케이션, 또는 프로세스가 비정상적인지, 호의적인지, 또는 호의적이지 않은지 (즉, 악의적인지 또는 성능-열화시키는지) 여부를 결정할 수도 있다. 스마트 디바이스는 그후 이 분석의 결과들을 이용하여, 식별된 문제들을 치유하거나, 치료하거나, 분리하거나, 또는 아니면 해결하거나 또는 대응할 수도 있다.
여러 양태들에서, 스마트 디바이스는 다른 스마트 디바이스들로부터 거동 정보를 수신하도록 구성될 수도 있다. 특히, 제한된 능력 스마트 디바이스들 (예컨대, 스마트 백열 전구들, 토스터들, 가전 제품들 등) 은 그들 자신의 모니터링된 거동과 연관된 거동 벡터들을 발생시키는 능력들이 부족할 수도 있으며, 수집된 정보를 (예컨대, 무선 데이터 링크를 통해서) 풀 범위의 프로세싱 능력들을 가진 스마트 디바이스 (예컨대, 라우터) 또는 1차 스마트 디바이스의 기능 중 일부를 실행하도록 구성될 수도 있는 중재자 스마트 디바이스 ("관측자 디바이스") 로 직접 송신할 수도 있다. 관측자 디바이스들은 분석 및 익명화를 위해서, 다른 디바이스들로부터 수집된 거동 데이터 뿐만 아니라, 그들 자신의 수집된 거동 정보를, 1차 스마트 디바이스(들) 로 송신할 수도 있다. 따라서, 분석기 모듈은 그의 자신의 거동에 대해서 뿐만 아니라, 많은 다른 로컬 스마트 디바이스들에 대한 거동 벡터들을 발생시키고 분석할 수도 있다.
분석기 모듈은 또한 데이터, 알고리즘들, 분류자들 또는 모델들 (본원에서 일괄하여 "분류자 모델들" 로서 지칭됨) 을 수행하거나, 실행하거나, 및/또는 수집된 거동 정보에 적용하여, 디바이스 거동이 비정상적인지, 호의적인지, 또는 호의적이지 않은지 (예컨대, 악의적인지 또는 성능-열화시키는지) 여부를 결정할 수도 있는, 실시간 거동 분석 동작들을 수행하도록 구성될 수도 있다. 각각의 분류자 모델은 스마트 디바이스 프로세서에 의해 스마트 디바이스의 거동의 특정의 피처 또는 양태를 평가하는데 사용될 수도 있는 데이터 및/또는 정보 구조들 (예컨대, 피처 벡터들, 거동 벡터들, 구성요소 리스트들 등) 을 포함하는 거동 모델일 수도 있다. 각각의 분류자 모델은 또한 스마트 디바이스에서의 다수의 피처들, 인자들, 데이터 지점들, 엔트리들, API들, 상태들, 조건들, 거동들, 애플리케이션들, 프로세스들, 동작들, 구성요소들 등 (본원에서 일괄하여 "피처들") 을 모니터링하는 결정 기준들을 포함할 수도 있다. 분류자 모델들은 스마트 디바이스 상에 사전에 설치되거나, 네트워크 서버로부터 다운로드되거나 또는 수신되거나, 스마트 디바이스에서 발생되거나, 또는 이들의 임의의 조합일 수도 있다. 분류자 모델들은 크라우드 소싱 솔루션들, 거동 모델링 기법들, 기계 학습 알고리즘들 등을 이용하여 발생될 수도 있다.
여러 양태들에서, 익명화기 모듈은 비정상적인 엘리먼트들을 포함하는 것으로 플래그된 거동 벡터들을 수용할 수도 있다. 이들 거동 벡터들은 디바이스 제조원, 모델, 에러 거동, 및 에러의 일자와 같은, 거동 벡터에 오직 필요한 정보만을 남겨두고, 임의의 사용자-식별 정보를 제거하기 위해, 익명화기 모듈을 실행하는 프로세서로부터 "스크럽(scrub)될" 수도 있다. 이 익명화된 거동 벡터는 인터넷과 같은 통신 네트워크를 통해서, 하나 이상의 원격 제공자들 (예컨대, 제조업자들, 안전 연구 관리자들, 서비스 제공자들 등) 로 송신될 수도 있다. 익명화된 거동 벡터들은 사이즈가 단지 몇 비트이므로, 디바이스에서 전송되는 데이터의 양을 감소시키고, 대역폭 리소스들을 절약하며, 네트워크 채터 (chatter) 를 감소시키고, 그리고 전력 리소스들을 절약할 수도 있다.
여러 양태들은 스마트 디바이스 거동이 비정상적인지, 호의적인지 또는 호의적이지 않은지 (예컨대, 악의적인지 또는 성능-열화시키는지) 여부를 결정하는 것에 가장 관련된 피처들, 인자들, 및 데이터 지점들을 지능적으로 식별하기 위해 서로 함께 동작하도록 구성된 네트워크 서버들 및 스마트 디바이스들을 포함한다. 여러 양태들에서, 스마트 디바이스 (또는, 1차 스마트 디바이스) 는 디바이스-특정의 피처들 및/또는 디바이스-상태-특정의 피처들을 이용하는 스마트 디바이스에서 로컬로 피처-타겟팅 분류자 모델들을 발생시킬 수도 있으며, 여러 양태들은 스마트 디바이스 프로세서로 하여금 포커스된 분류자 모델들을 적용하여, 스마트 디바이스의 반응성, 성능, 또는 소비 전력 특성들에서의 상당한 부정적이거나 또는 사용자-감지가능한 변화를 일으킴이 없이, (예컨대, 관측자 및 분석기 모듈들 등을 통해서) 콤플렉스 스마트 디바이스 거동을 빠르고 효율적으로 식별하거나, 분석하거나, 또는 분류가능하게 한다. 피처-타겟팅 분류자 모델들은 디바이스 거동이 비정상적이라고 결정하는 것에 응답하여 발생될 수도 있다. 예를 들어, 스마트 백열 전구가 과열되었다고 결정하자 마자, 1차 스마트 디바이스는 초과한 동작 온도의 경우들을 더 잘 식별하기 위해, 스마트 백열 전구 분류자 모델을 업데이트하거나, 또는 동작 온도의 피처를 타겟팅하는 제 2 모델을 발생시킬 수도 있다.
여러 양태들에서, 스마트 디바이스는 거동 모델링 및 기계 학습 기법들을 이용하여, 피처-타겟팅 분류자 모델들이 스마트 디바이스의 디바이스-특정의 및/또는 디바이스-상태-특정의 피처들 (예컨대, 스마트 디바이스 구성, 기능, 접속된/포함된 하드웨어 등에 관련된 피처들) 을 계산하고 스마트 디바이스의 에러의 원인 또는 소스, 오작동, 시간 경과에 따른 열화를 식별하는데 중요한 것으로 결정되는 피처들의 초점이 된 및 타겟된 서브세트를 포함시키거나, 테스트하거나 또는 평가하고, 및/또는 이들이 사용되는/평가되는 특정의 스마트 디바이스에서의 거동을 성공적으로 분류하는데 있어서 그들의 상대적인 중요성을 식별하는 확률 또는 신뢰도 값들에 기초하여 피처들의 타겟된 서브세트를 우선순위화하도록, 피처-타겟팅 분류자 모델들을 지능적으로 그리고 동적으로 발생시킬 수도 있다. 일부 양태들에서, 로컬 스마트 디바이스 네트워크 내 각각의 스마트 디바이스에 대해 상이한 분류자 모델이 존재할 수도 있다. 그들 자신의 분석을 수행하기에 충분한 프로세싱 전력을 갖는 그들 디바이스들은 그들의 디바이스-특정의 분류자 모델들을 로컬 스토리지에 유지할 수도 있지만, 제한된 능력 디바이스들은 분류자 모델 유지관리 및 분석을 위해 관측자 또는 1차 스마트 디바이스들에 의존할 수도 있다.
여러 양태들에서, 스마트 디바이스는 하나 이상의 분류자 모델들을 이용하여 실시간 거동 모니터링 및 분석 동작들을 수행하도록 구성될 수도 있다. 예를 들어, 스마트 디바이스는 분류자 모델을 이용하여, 스마트 디바이스로부터 거동 정보를 수집하고, 수집된 거동 정보를 이용하여 거동 벡터를 발생시키고, 발생된 거동 벡터를 연관된 분류자 모델에 적용하여 분류자 모델에 포함된 각각의 테스트 조건을 평가하고, 비정상적인 거동을 검출하는 것에 응답하여 거동 벡터를 익명화하고, 그리고 익명화된 데이터를 원격 로케이션으로 송신함으로써, 스마트 디바이스 동작들의 거동을 분류할 수도 있다. 스마트 디바이스는 또한 제한된 능력 및 관측자 유형 스마트 디바이스들의 거동 정보를 분석하고, 익명화하고, 그리고 송신할 수도 있다. 이와 같이, 디바이스 거동 정보의 익명의 크라우드-소싱은 스마트 디바이스 네트워크들에 적용될 수도 있다.
여러 양태들은 도 1a 에 예시된 예시적인 통신 시스템 (100) 과 같은, 다양한 통신 시스템들 내에 구현될 수도 있다. 일 양태에서, 통신 시스템 (100) 은 스마트 통신 디바이스 (예컨대, 스마트폰, 태블릿 등) 또는 라우터와 같은, 제어 스마트 디바이스 (120) 를 포함할 수도 있다. 제어 스마트 디바이스 (120) 는 액세스 지점 (130) (예컨대, 무선 액세스 지점, 무선 라우터 등) 과 확립된 링크들 (111, 121) 을 통해서 하나 이상의 스마트 디바이스들 (110) (예컨대, 스마트 디바이스들) 을 제어할 수도 있다. 링크들 (111, 121) 은 무선일 수도 있거나, 또는 이더넷 접속 또는 전력 라인 통신 (PLC) 접속, 또는 다른 유선 접속에서와 같이 유선일 수도 있다. 대안적인 양태 또는 양태들에서, 제어 스마트 디바이스 (120) 는 다이렉트 링크 (101) 를 통해서 스마트 디바이스 (110) 와 직접 접속할 수도 있다. 또한, 대안적인 양태 또는 양태들에서, 스마트 디바이스들 (110) 은 다이렉트 링크 (예컨대, 링크 (110)) 를 통해서 또는 액세스 지점 (130) 을 통해서 제공되는 링크를 통해서, 서로 접속할 수도 있다. 액세스 지점 (130) 은 서비스 제공자 (131) 를 통해서 인터넷 (102) 에 접속될 수도 있다. 양태들에서, 로컬 네트워크 서버 (140) 는 네트워크에 존재할 수도 있으며 네트워킹 프레임워크에 포함될 수도 있다.
여러 추가 대안적인 양태들에서, 제어 스마트 디바이스 (120) 는 셀룰러 서비스를 제공하는 셀룰러 기반구조 구성요소들을 일괄하여 지칭할 수도 있는 셀룰러 기반구조 (103) 를 통해서 네트워크에 접속할 수도 있다. 셀룰러 기반구조 (103) 는 셀룰러 안테나, 기지국 (예컨대, eNodeB), 및 기타등등 중 일부 또는 모두를 포함할 수도 있는 구성요소 또는 구성요소들의 시리즈를 포함할 수도 있다. 제어 스마트 디바이스 (120) 는 액세스 지점 (130) 과 연관된 URL (Universal Resource Locator) 에 기초하여 인터넷 (102) 과 같은 공중 네트워크, 또는 사설 네트워크를 통해서 셀룰러 기반구조 (103) 에 의해 제공되는 접속을 통해서 액세스 지점 (130) 에 접속할 수도 있다. 보안상의 이유들로 인해, 액세스 지점 (130) 을 통한 네트워크에의 액세스는 패스워드 보호될 수도 있거나, 암호화를 이용할 수도 있거나, 다른 보안 조치들을 이용할 수도 있거나 또는 보안 규정들의 조합을 이용할 수도 있다. 더 자세하게 설명되는 바와 같이, 네트워킹 프레임워크는 애플리케이션 계층에서 보안을 구현하기 위해 API들을 제공할 수도 있다. 보안 API 를 제공함으로써, 제어 스마트 디바이스들 및 스마트 디바이스들에 대한 특정의 하드웨어의 세부 사항들은 상세한 플랫폼-특정의 구현들을 이해할 필요없이 네트워킹 프레임워크 내에서 처리될 수도 있다.
통신 시스템 (100) 은 전화기 네트워크에 그리고 인터넷 (102) 에 접속된 네트워크 서버들 (140) 을 더 포함할 수도 있다. 네트워크 서버들 (140) 과 전화기 네트워크 사이의 접속은 인터넷 (102) 을 통하거나 또는 사설 네트워크를 통할 수도 있다. 네트워크 서버 (140) 는 또한 클라우드 서비스 제공자 네트워크의 네트워크 기반구조 내 서버로서 구현될 수도 있다. 네트워크 서버 (140) 와 스마트 디바이스들 (110) 사이의 통신은 무선 데이터 네트워크들, 전화기 네트워크, 인터넷 (102), 사설 네트워크 (미예시), 또는 이들의 임의의 조합을 통해서 달성될 수도 있다.
네트워크 서버 (140) 는 중앙 데이터베이스 또는 클라우드 서비스 제공자 네트워크로부터 여러 조건들, 피처들, 거동들, 및 교정하는 액션들에 관한 정보를 수신하고, 이 정보를 이용하여, 컴퓨팅 디바이스의 거동의 특정의 양태를 평가하기 위해 스마트 컴퓨팅 디바이스의 프로세서에 의해 사용될 수도 있는 데이터 및/또는 정보 구조들 (예컨대, 피처 벡터들, 거동 벡터들, 구성요소 리스트들 등) 을 포함하는, 데이터, 알고리즘들, 분류자들, 또는 거동 모델들 (본원에서 일괄하여 "분류자 모델들") 을 발생시키도록 구성될 수도 있다.
일 양태에서, 네트워크 서버 (140) 는 분류자 모델을 발생시키도록 구성될 수도 있다. 풀 분류자 모델은 수천 개의 피처들 및 수십억 개의 엔트리들을 포함할 수도 있는, 큰 훈련 (training) 데이터셋의 함수로서 발생되는 강건한 데이터 모델일 수도 있다. 일 양태에서, 네트워크 서버 (116) 는 스마트 디바이스들 (102) 의 다수의 상이한 제조원들, 모델들, 및 구성들 중 임의의 것의 열화에 기여할 수 있는 모든 또는 대부분의 피처들, 데이터 지점들, 및/또는 인자들을 포함시키기 위해 풀 분류자 모델을 발생시키도록 구성될 수도 있다. 여러 양태들에서, 네트워크 서버는 큰 뭉치의 거동 정보를 유한 상태 머신, 결정 노드들, 결정 트리들로서, 또는 더 간결한 분류자 모델들을 빠르고 효율적으로 발생시키기 위해 수정되거나, 추려지거나, 증대되거나, 또는 아니면 사용될 수 있는 임의의 정보 구조로 기술하거나 또는 표현하기 위해 풀 분류자 모델을 발생시키도록 구성될 수도 있다.
게다가, 스마트 디바이스 (102) 는 네트워크 서버 (140) 로부터 하나 이상의 분류자 모델들을 수신하도록 구성될 수도 있다. 스마트 디바이스들은 분류자 모델들을 이용하여 스마트 디바이스들 (110) 의 특정의 피처들 및 기능들을 분석하도록 더 구성될 수도 있다. 스마트 디바이스는 수집된 거동 정보를 이용하여 거동 벡터들을 발생시키고 획득된 분류자 모델들에 대해 벡터들을 비교함으로써 이러한 벡터들을 분석하도록 구성될 수도 있다. 따라서, 비교 동안 검출된 임의의 식별들은 비정상적인 것으로 간주될 수도 있으며, 그후 호의적이거나, 또는 비호의적인 (예컨대, 악의적이거나 또는 열화시키는) 것으로 분류될 수도 있다. 비정상적인 거동 벡터들은 디바이스 사용자들에게 개인적일 수도 있는 정보를 제거하기 위해 익명화될 수도 있으며, 그후 집합 및 추가 분석을 위해 원격 서버들로 송신된다.
여러 양태들에서, 제어 스마트 디바이스 및 스마트 디바이스 상호접속들은 도 1b 에 예시된 바와 같이, 네트워킹 프레임워크 (150) 를 통해서 확립될 수도 있다. DEV 1 (110a), DEV 2 (110b), DEV n (110c) 과 같은, 하나 이상의 스마트 디바이스들은 CTL DEV 1 (120a), CTL DEV 2 (120b), 및 CTL DEV n (120c) 과 같은 하나 이상의 제어 스마트 디바이스들에 커플링될 수도 있다. 도 1b 에서, 실선들은 모든 스마트 디바이스들이 네트워킹 프레임워크 (150) 를 통해서 서로 접속될 수도 있다는 것을 예시한다. 네트워킹 프레임워크 (150) 를 통한 상호접속은 이하에서 더욱더 자세히 설명되는 바와 같이, 스마트 디바이스들이 네트워킹 프레임워크에 등록되도록 요구할 수도 있다. 여러 양태들에서, 점선들은 스마트 디바이스들 중 적어도 일부가 서로 직접 접속될 수도 있다는 것을 예시한다. 직접 접속들은, 애드혹 접속들이 네트워킹 프레임워크 (150) 에 직접, 예컨대, 액세스 지점을 통해서, 액세스불가능한 스마트 디바이스들과 확립될 수도 있기 때문에, 네트워킹 프레임워크 (150) 와 호환가능할 수도 있다. 이러한 예들에서, 하나의 스마트 디바이스는, 스마트 디바이스들 중 적어도 하나가 네트워크 접속에 액세스하면, 다른 스마트 디바이스에 스마트 디바이스들 사이의 직접 접속을 통해 네트워킹 프레임워크에의 액세스를 제공할 수도 있다. 네트워크 액세스는 스마트 디바이스들이 제어 스마트 디바이스들에 의해 제어되도록 허용하는 것이 중요하다.
여러 양태들에서, 제어 스마트 디바이스 및 스마트 디바이스 상호접속들은 도 1c 에 예시된 바와 같이 확립될 수도 있다. 일 양태에서, 제어 또는 1차 스마트 디바이스 (120) 는 스마트 디바이스 거동을 모니터링하고, 수집된 거동 정보로부터 거동 벡터들을 발생시키고, 발생된 거동 벡터를 분석하고, 거동 벡터를 익명화하고, 익명화된 거동 벡터를 송신하고, 그리고 분류자 모델들을 수신/업데이트하여 새로운 피처 우선순위들을 포함시키기에 충분한 풀 범위의 프로세싱 능력들을 가지는 임의의 디바이스일 수도 있다. 제어 스마트 디바이스들 (120) 의 예들은 라우터들, 태블릿들, 홈 서버들, 및 낮과 밤 전체에 걸쳐서 일반적으로 파워온인 다른 디바이스들을 포함하지만 이에 한정되지 않는다.
제어 스마트 디바이스들 (120) 은 디바이스 거동을 모니터링하여 수집된 정보를 다른 스마트 디바이스로 송신하는 능력을 가질 수도 있지만 거동 벡터들을 발생시키고 분석하고 그리고 익명화하는 프로세싱 능력들이 부족할 수도 있는 제한된 능력 스마트 디바이스들 (112, 114) ("제한된 디바이스들") 로부터 거동 정보를 수신할 수도 있다. 예를 들어, 제한된 디바이스들은 스마트 백열 전구들 (도 10), 토스터들, 자동 온도조절 장치들, 연기 탐지기들 등과 같은 가전 제품들을 포함할 수도 있다.
중개자 (Intermediate) 또는 관측자 스마트 디바이스들 (116, 118) ("관측자 디바이스들") 은 제어 스마트 디바이스의 기능들 모두가 아닌 일부를 실행하기에 (즉, 모니터링하고, 벡터 발생시키고, 분석하고, 익명화하고, 송신하기에) 충분한 프로세싱 능력들을 가질 수도 있다. 예를 들어, 관측자 디바이스들은 텔레비전들, 엔터테인먼트 시스템들, 냉장고들 등을 포함할 수도 있다. 이들 디바이스들은 원격 서비스들과 정기적으로 통신할 수도 있으며, 그들 자신의 거동 정보를 발생시키도록 구성될 수도 있다.
여러 양태들에서, 제한된 디바이스들 (112, 114) 은 그들 자신의 동작들 및 기능들을 관측하여, 연속적이거나 또는 미리 결정될 수도 있는 기간 전체에 걸쳐서 이러한 거동 정보를 수집할 수도 있다. 이 거동 정보는 제어 스마트 디바이스 (120), 또는 어떤 디바이스도 통신 거리 이내에 존재하지 않으면, 관측자 디바이스로 송신될 수도 있다. 제어 스마트 디바이스 (120) 또는 관측자 디바이스 (116, 118) 는 보고된 디바이스 동작들 및 기능들에 관한 특정의 정보를 포함하는 거동 벡터들을 발생시키기 위해 거동 정보를 이용할 수도 있는 벡터 발생기 모듈 (122) 에 의해 수신된 것을 이용할 수도 있다. 이와 유사하게, 관측자 디바이스들 (116, 118) 은 그들 자신의 거동 정보를 제어 스마트 디바이스들 (120) 로 전달할 수도 있거나 또는 송신 전에 적합한 거동 벡터들을 발생시킬 수도 있다.
여러 양태들에서, 발생된 거동 벡터들은 분석기 모듈 (124) 로 송신된다. 분석기 모듈은 그 거동 정보가 획득된 디바이스와 연관된 저장된 분류자 모델을 탐색할 수도 있다. 대안적으로, 분석기 모듈 (124) 은 거동이 획득된 디바이스에 의해 그에게 송신된 분류자 모델을 이용할 수도 있다. 거동 벡터는 비정상적인 거동들의 존재를 검출하기 위해 분류자 모델에 대해 비교될 수도 있다. 어떤 거동들도 비정상적인 것으로 발견되지 않으면, 어떤 추가적인 액션도 제어 스마트 디바이스 (120) 에 의해 취해질 필요가 없다.
여러 양태들에서, 분석기 모듈 (124) 에 의한 비정상적인 거동의 검출은 익명의 거동과 연관된, 거동 벡터, 또는 거동 벡터의 특정의 구성요소의 플래깅 (flagging) 을 초래할 수도 있다. 비정상적인 거동의 유형은 호의적이거나 또는 악의적인 것으로 추가로 분류될 수도 있다. 일부 양태들에서, 이 분류는 오작동을 평가하여 사용자가 에러를 인지하는지 여부에 관한 입력을 제공하기 위해 사용자의 질의를 수반할 수도 있다. 비정상적인 거동 벡터들은 에러 및 오작동 레이트들에 관한 정확한 데이터를 제공하기 위해 호의적이거나 또는 악의적인 것으로의 분류에 관계없이 익명화되어 송신될 수도 있다.
거동 벡터는 사용자에게 개인적인 것으로 간주될 수 있는 임의의 정보 또는 디바이스 소유자 또는 사용자의 식별을 제거할 수도 있는 익명화기 모듈 (126) 로 송신될 수도 있다. 일부 양태들에서, 스마트 디바이스의 각각의 유형은 거동 벡터로부터 식별 또는 개인 데이터를 제거하기 위해 연관된 익명화 방식을 가질 수도 있다. 익명화기 분류자 모델은 거동 벡터 내 어느 정보가 개인 또는 식별인지를 결정하기 위해 익명화기 모듈에 의해 이용될 수도 있다. 예를 들어, 텔레비전 익명화기 분류자 모델은 특정의 벡터 엘리먼트가 머신 어드레스에 관련된다는 것을 표시하는 구성요소들 또는 엔트리들을 포함할 수도 있다. 익명화기 분류자 모델을 거동 벡터에 적용함으로써, 익명화기 모듈 (126) 은 송신 전에 제거되어야 하는 정보를 용이하고 빠르게 식별할 수도 있다. 일단 모든 식별 정보가 거동 벡터로부터 제거되면, 거동 벡터는 다른 디바이스 정보와의 집합을 위해 원격 로케이션으로 송신될 수도 있다.
여러 양태들에서, 네트워킹 프레임워크 (150) 에서의 스마트 디바이스 구성들은 도 2a 에 예시된 바와 같이 구현될 수도 있다. 네트워킹 프레임워크 (150) 는 AllJoyn 프레임워크와 같은, 네트워킹 프레임워크의 코어 양태들을 지칭할 수도 있다. 네트워킹 프레임워크 (150) 는 클라이언트 서비스들을 제어 스마트 디바이스 (120) 및 피제어 스마트 디바이스 (110) 에 제공하며, 제어 스마트 디바이스 (120) 로 하여금 프레임워크 접속 (144 및 134), 및 일련의 API들, SDK들, 및 다른 소프트웨어 메커니즘들을 통해서 피제어 스마트 디바이스 (110) 를 제어가능하게 하는 분산 소프트웨어 버스 아키텍처를 나타낸다. 프레임워크 접속들 (124 및 115) 은 분산 소프트웨어 버스의 부분들로서 간주될 수도 있다. 일 양태에서, 네트워킹 프레임워크 (150) 는 애플리케이션들이 일련의 범용 하이 레벨 소프트웨어 메커니즘들을 통해서 상호작용가능하게 한다.
네트워킹 프레임워크 (150) 와 호환가능한 애플리케이션들은 네트워킹 프레임워크 (150) (예컨대, 소프트웨어 버스) 에 접속될 수도 있다. AllJoyn 프레임워크에서, 예를 들어, 이러한 애플리케이션들은 버스 부착으로서 지칭될 수도 있다. 버스 부착 (Bus Attachment) 은 임의 종류의 애플리케이션일 수도 있으며 고유한 이름을 가질 수도 있다. 고유한 이름은 버스 부착이 AllJoyn 버스에 (예컨대, 온보딩 동안) 접속될 때 자동적으로 할당될 수도 있다. 버스 부착은 그들의 존재를 브로드캐스트하도록 광고하는 프로세싱을 이용하여 다른 버스 디바이스들에 대해 그들 자신을 식별할 수도 있는 버스 디바이스들을 생성할 수도 있다. 발견 프로세스는 버스 디바이스로 하여금 다른 버스 디바이스들의 존재를 결정가능하게 한다. 버스 디바이스는 다른 AllJoyn 버스 부착들에 의해 제공되는 서비스들에 액세스할 수도 있다.
여러 양태들에서, 제어 스마트 디바이스 (120) 는 제어 스마트 디바이스 (120) 의 리소스들에의 직접 또는 간접 액세스를 제공하는 네트워킹 프레임워크 표준 클라이언트 (142) 로 구성될 수도 있다. 네트워킹 프레임워크 표준 클라이언트 (142) 에 대한 액세스는 제어 스마트 디바이스 운영 시스템 (125) 및 제어 스마트 디바이스 (120) 의 디바이스 플랫폼 (146) 의 하드웨어 (및 소프트웨어) 리소스들에의 액세스를 통해서 제공될 수도 있다. 리소스들은 프로세서, 메모리, 및 디스플레이 리소스들 및 입력 리소스들 (예컨대, 하드 또는 소프트 키보드, 터치스크린, 마우스, 카메라, 마이크로폰(들), 가속도계 등) 을 포함할 수도 있는 사용자 인터페이스 (148) 에의 액세스를 포함할 수도 있다.
스마트 전구, 스마트 가전제품과 같은, 제어될 수도 있는 스마트 디바이스 (110) 또는 제한된 스마트 디바이스로서 구성된 다른 디바이스는, 일반적으로 제한된 프로세싱 리소스들을 가진다. 여러 양태들에서, 이러한 스마트 디바이스 (110) 는 스마트 디바이스 (110) 의 리소스들에의 직접 또는 간접 액세스를 제공하는 네트워킹 프레임워크 씬 (thin) 클라이언트 (132) 로 구성될 수도 있다. 네트워킹 프레임워크 씬 클라이언트 (132) 에 대한 액세스는 스마트 디바이스 내장 운영 시스템 또는 내장 시스템 (115) 에의 액세스를 통해서 제공될 수도 있다. 그럼에도 불구하고, 스마트 디바이스 (110) 가 막대한 프로세싱 리소스들을 가지는 상황에서, 스마트 디바이스 (110) 에는 네트워킹 프레임워크 씬 클라이언트 (132) 가 탑재될 수도 있다. 씬 클라이언트 (132) 는 스마트 디바이스 (110) 가 피제어 디바이스로 주로 구성될 때 제공될 수도 있다. 그러나, 스마트 디바이스 (110) 가 또한 다른 스마트 디바이스들을 제어하도록 동작할 수 있을 때, 스마트 디바이스 (110) 는 네트워킹 프레임워크 표준 클라이언트 (125) 와 함께 제어 스마트 디바이스 (120) 로서 구성될 수도 있다. 양태들에서, 스마트 디바이스 (110) 는 프로세싱 태스크들을 완료하기에 충분한 리소스들을 갖지 않을 수도 있다. 이러한 상황들에서, 프로세싱 요건들이 제어 스마트 디바이스 (120) 상의 네트워킹 프레임워크 표준 클라이언트 (125) 와 같은 다른 클라이언트들로, 또는 관측자 디바이스들 (116, 118) 과 같은 다른 스마트 디바이스들로 배포될 수도 있다.
스마트 디바이스 (110) 상의 네트워킹 프레임워크 씬 클라이언트 (132) 는 스마트 디바이스 (110) 에 의해 제공되는 기능들 또는 서비스들 (138) 에 추가로 액세스할 수도 있다. 기능들 (138) 은 스마트 전구를 조광 (dimming) 하거나 또는 턴온 및 턴오프하는 것, 스마트 커피 메이커들 상에서 브루잉 (brewing) 사이클을 시작하는 것, 및 기타등등과 같은, 제어 스마트 디바이스 (120) 에 의해 제어될 수 있는 액션들일 수도 있다. 기능 (138) 은 스마트 커피 메이커 상에서의 브루잉 사이클이 완료되는 것과 같은 상태 표시들 또는 통지들을 제어 스마트 디바이스 (120) 에 제공하는 것을 더 포함할 수도 있다. 대안적으로, 또는 추가적으로, 스마트 디바이스 (110) 는 이용가능한 그의 기능들 또는 서비스들 (118) 과 같은, 스마트 디바이스 (110) 의 능력들에 관한 정보를 제공할 수도 있다.
AllJoyn 프레임워크 예에서, AllJoyn 씬 클라이언트 (AJTC) 는 내장 시스템으로서 구성된 스마트 디바이스 (110) 의 일반적으로 제한된 리소스들에 분산 프로그래밍 환경을 제공한다. AJTC 가 동작하는 동작 환경이 매우 제한될 수도 있으므로, 버스 디바이스와 같은, AllJoyn 구성요소는 시스템 제약들 내에서 존재해야 한다. AllJoyn 표준 클라이언트 (AJSC) 는 멀티-쓰레딩 능력들과 같은, 제어 스마트 디바이스들에 일반적으로 탑재되는 고성능 프로세서들의 피처들을 이용하도록 구성될 수도 있다. 그러나, AJTC 를 실행하는 스마트 디바이스들은 일반적으로 이러한 리소스들을 가지지 않는다. 따라서, 일반적으로 AJSC 와 동반하고 멀티-쓰레딩을 필요로 하는 AllJoyn 데몬은, 많은 네트워크 접속들을 처리하며, AJTC 에서 제공되지 않을 수도 있는 상대적으로 많은 양의 메모리를 이용한다. 대체 (alternate) 언어 바인딩들을 포함하는 디바이스-지향 프로그래밍 환경을 실행하는 능력과 같은, AJSC 의 다른 향상된 양태들은 또한 AJTC 에서 이용불가능하다. 따라서, AJTC 는 스마트 디바이스의 인터페이스들, 방법들, 신호들, 특성들에 대응하는 데이터 구조들을 가지는 버스 부착으로서 구성된다. AJTC 에서의 버스 디바이스들은 메모리 공간의 효율적인 사용을 위해 고도로 최적화될 수도 있다. 따라서, AJTC 에서의 API들은 AJSC 에서 제공되는 것들과는 일반적으로 상이하다. API들이 AJTC 에서 상이할 수도 있지만, AJSC 에서 발견되는 AllJoyn 프레임워크의 주요 개념적인 블록들 모두가 AJTC 시스템들에서 컴팩트한 형태로 발견될 수 있다. 일부의 경우, 일부 버스 디바이스들은 다른, 보다 유능한 머신 상에서 원격으로 실행하도록 구성될 수도 있다.
도 3 은 실시간 거동 모니터링 및 분석 동작들 (300) 을 수행하여 특정의 스마트 디바이스 거동, 소프트웨어 애플리케이션, 또는 프로세스가 비정상적인지, 호의적인지 및/또는 악의적인지/성능-열화시키는지 여부를 결정하고, 그리고 추가로 거동에 관한 정보를 익명화하고 그것을 원격 서버로 송신하도록 구성된 양태 제어 스마트 디바이스 (120) 에서의 예시적인 논리적 구성요소들 및 정보 흐름들을 예시한다. 이들 동작들 (300) 은 스마트 디바이스 (102) 에서의 하나 이상의 프로세싱 코어들에 의해, 과도한 양의 스마트 디바이스의 프로세싱, 메모리, 또는 에너지 리소스들을 소비함이 없이, 연속적으로 (또는, 거의 연속적으로) 수행될 수도 있다.
도 3 에 예시된 예에서, 스마트 디바이스 (120) 는 거동 관측자 모듈 (302), 거동 분석기 모듈 (304), 외부 컨텍스트 정보 모듈 (306), 분류자 모듈 (308), 및 익명화기 모듈 (310) 을 포함한다. 일 양태에서, 분류자 유닛 (308) 은 거동 분석기 모듈 (304) 의 부분으로서 구현될 수도 있다. 일 양태에서, 거동 분석기 모듈 (304) 은 하나 이상의 분류자 모듈들 (308) 을 발생시키도록 구성될 수도 있으며, 분류자 모듈들의 각각은 소프트웨어 애플리케이션 또는 스마트 디바이스 거동의 특정의 피처들을 평가하기 위해 스마트 디바이스 프로세서에 의해 사용될 수도 있는 데이터 및/또는 정보 구조들 (예컨대, 결정 노드들 등) 을 포함하는 하나 이상의 분류자 모델들 (예컨대, 데이터/거동 모델들) 을 포함할 수도 있다.
모듈들 (302-210) 의 각각은 소프트웨어, 하드웨어, 또는 이들의 조합으로 구현되는 쓰레드, 프로세스, 데몬, 모듈, 서브-시스템, 또는 구성요소일 수도 있다. 여러 양태들에서, 모듈들 (302-210) 은 운영 시스템의 부분들 내에 (예컨대, 커널 내, 커널 공간에, 사용자 공간에 등), 별개의 프로그램들 또는 애플리케이션들 내에, 특수화된 하드웨어 버퍼들 또는 프로세서들로, 또는 이들의 임의의 조합으로 구현될 수도 있다. 일 양태에서, 모듈들 (302-210) 중 하나 이상은 스마트 디바이스 (102) 의 하나 이상의 프로세서들 상에서 실행하는 소프트웨어 명령들로서 구현될 수도 있다.
거동 관측자 모듈 (302) 은 여러 API들, 레지스터들, 카운터들 또는 다른 구성요소들 (본원에서 일괄하여 "계측된 구성요소들") 을 스마트 디바이스 시스템의 여러 레벨들에서 계측하거나 또는 조정하고, 그리고 그 계측된 구성요소들 뿐만 아니라 다른 구성요소들로부터 거동 정보를 수집함으로써 스마트 디바이스 거동들을 소정 기간에 걸쳐서 그리고 실시간으로 연속적으로 (또는, 거의 연속적으로) 모니터링하도록 구성될 수도 있다. 예를 들어, 거동 관측자 모듈 (302) 은 스마트 디바이스 (102) 의 메모리에 저장된 로그 파일들 (예컨대, API 로그들 등) 로부터 정보를 판독함으로써, 라이브러리 API 콜들, 시스템 콜 API들, 드라이버 API 콜들, 및 다른 계측된 구성요소들을 모니터링할 수도 있다.
거동 관측자 모듈 (302) 은 또한 계측된 구성요소들을 통해서 스마트 디바이스 동작들 및 이벤트들 (예컨대, 시스템 이벤트들, 상태 변화들 등) 을 모니터링/관측하고, 관측된 동작들/이벤트들에 관련된 정보를 수집하고, 수집된 정보를 지능적으로 필터링하고, 필터링된 정보에 기초하여 하나 이상의 관측들 (예컨대, 거동 벡터들 등) 을 발생시키고, 그리고 발생된 관측들을 메모리에 (예컨대, 로그 파일 등에) 저장하고 및/또는 발생된 관측들 또는 수집된 거동 정보를 로컬 디바이스로부터 또는 제한된 디바이스들 및 관측자 디바이스들과 같은 다른 스마트 디바이스들로부터, (예컨대, 메모리 기록들, 기능 콜들 등을 통해서) 거동 분석기 모듈 (304) 로 전송하도록 구성될 수도 있다. 여러 양태들에서, 발생된 관측들은 거동 벡터로서 및/또는 API 로그 파일 또는 구조로 저장될 수도 있다.
거동 관측기 모듈 (302) 은 애플리케이션 프레임워크 또는 런-타임 라이브러리들에서의 라이브러리 API 콜들, 시스템 콜 API들, 파일-시스템, 및 네트워킹 서브-시스템 동작들, (센서 디바이스들을 포함한) 디바이스 상태 변화들, 및 다른 유사한 이벤트들에 관련한 정보를 수집함으로써, 스마트 디바이스 동작들 및 이벤트들을 모니터링/관측할 수도 있다. 거동 관측기 모듈 (302) 은 또한 파일 이름들, 파일 액세스들 (개인 정보 또는 정상 데이터 파일들) 의 카테고리들, 생성하는 또는 삭제하는 파일들 (예컨대, 유형 exe, zip 등), 파일 판독/기록/추적 동작들, 변경하는 파일 허가들 등에 대한 탐색을 포함할 수도 있는, 파일 시스템 활동을 모니터링할 수도 있다. 제한된 디바이스들 및 관측자 디바이스들에 대해, 관측된 애플리케이션 정보는 아주 작을 수도 있다.
거동 관측기 모듈 (302) 은 또한 디바이스가 접속되는 접속들, 프로토콜들, 포트 번호들, 서버/클라이언트의 유형들, 접속들의 수, 통신들의 양 또는 빈도 등을 포함할 수도 있는, 데이터 네트워크 활동을 모니터링할 수도 있다. 거동 관측기 모듈 (302) 은 전송되거나, 수신되거나, 또는 인터셉터된 콜들 또는 메시지들 (예컨대, SMS 등) 의 유형 및 개수 (예컨대, 발해지는 프리미엄 콜들 (premium calls) 의 수) 를 모니터링하는 것을 포함할 수도 있는, 폰 네트워크 활동을 모니터링할 수도 있다.
거동 관측기 모듈 (302) 은 또한 분기들 (forks) 의 개수, 메모리 액세스 동작들, 열린 파일들의 개수 등을 모니터링하는 것을 포함할 수도 있는, 시스템 리소스 사용을 모니터링할 수도 있다. 거동 관측기 모듈 (302) 은 디스플레이가 온 또는 오프인지 여부, 디바이스가 잠겨져 있는지 또는 잠겨지지 않은지 여부, 남은 배터리의 양, 카메라의 상태 등과 같은 여러 인자들을 모니터링하는 것을 포함할 수도 있는, 스마트 디바이스의 상태를 모니터링할 수도 있다.
거동 관측기 모듈 (302) 은 또한 카메라들, 센서들, 전자 디스플레이들, WiFi 통신 구성요소들, 데이터 제어기들, 메모리 제어기들, 시스템 제어기들, 액세스 포트들, 타이머들, 주변장치 디바이스들, 무선 통신 구성요소들, 외부 메모리 칩들, 전압 조정기들, 발진기들, 위상-동기 루프들, 주변장치 브릿지들, 및 프로세서들 및 스마트 디바이스 상에서 실행하는 클라이언트들을 지원하는데 사용되는 다른 유사한 구성요소들을 포함할 수도 있는, 하나 이상의 하드웨어 구성요소들의 드라이버 통계치들 및/또는 상황 (status) 을 모니터링/관측할 수도 있다.
거동 관측기 모듈 (302) 은 또한 스마트 디바이스 및/또는 스마트 디바이스 서브-시스템들의 상태 또는 상황을 표시하는 하나 이상의 하드웨어 카운터들을 모니터링/관측할 수도 있다. 하드웨어 카운터는 스마트 디바이스에서 일어나는 하드웨어-관련된 활동들 또는 이벤트들의 카운트 또는 상태를 저장하도록 구성되는 프로세서들/코어들의 특수-목적 레지스터를 포함할 수도 있다. 예를 들어, 관측자 모듈 (302) 은 열 스파이크들 (thermal spikes), 전력 서지들 (power surges), 구성요소 고장 및 다른 하드웨어 관련 에러들을 모니터링하거나 또는 관측할 수도 있다.
거동 관측기 모듈 (302) 은 또한 소프트웨어 애플리케이션들의 액션들 또는 동작들, 애플리케이션 다운로드 서버 (예컨대, 애플® App 스토어 서버) 로부터의 소프트웨어 다운로드들, 소프트웨어 애플리케이션들에 의해 사용되는 스마트 디바이스 정보, 콜 정보, 텍스트 메시징 정보 (예컨대, SendSMS, BlockSMS, ReadSMS 등), 미디어 메시징 정보 (예컨대, ReceiveMMS), 사용자 계정 정보, 로케이션 정보, 카메라 정보, 가속도계 정보, 브라우저 정보, 브라우저-기반의 통신들의 콘텐츠, 보이스-기반의 통신들의 콘텐츠, 단거리 무선 통신들 (예컨대, Bluetooth®, WiFi 등), 텍스트-기반의 통신들의 콘텐츠, 리코딩된 오디오 파일들의 콘텐츠, 전화번호부 또는 연락처, 연락처 리스트들 등을 모니터링/관측할 수도 있다.
거동 관측기 모듈 (302) 은 음성메일 (VoiceMailComm), 디바이스 식별자들 (DeviceIDComm), 사용자 계정 정보 (UserAccountComm), 캘린더 정보 (CalendarComm), 로케이션 정보 (LocationComm), 리코딩된 오디오 정보 (RecordAudioComm), 가속도계 정보 (AccelerometerComm) 등을 포함하는 통신들을 포함하는, 스마트 디바이스의 송신들 또는 통신들을 모니터링/관측할 수도 있다.
거동 관측기 모듈 (302) 은 나침반 정보, 스마트 디바이스 설정들, 배터리 수명, 자이로스코프 정보, 압력 센서들, 마그넷 센서들, 스크린 활동 등의 사용 및 업데이트들/변화들을 모니터링/관측할 수도 있다. 거동 관측기 모듈 (302) 은 소프트웨어 애플리케이션으로 송신된 및 그로부터 수신된 통지들 (AppNotifications), 애플리케이션 업데이트들 등을 모니터링/관측할 수도 있다. 거동 관측기 모듈 (302) 은 제 2 소프트웨어 애플리케이션의 다운로딩 및/또는 설치를 요청하는 제 1 소프트웨어 애플리케이션에 관련한 조건들 또는 이벤트들을 모니터링/관측할 수도 있다. 거동 관측기 모듈 (302) 은 패스워드의 엔트리 등과 같은, 사용자 검증에 관련한 조건들 또는 이벤트들을 모니터링/관측할 수도 있다.
거동 관측기 모듈 (302) 은 애플리케이션 레벨, 무선 레벨, 및 센서 레벨을 포함한, 스마트 디바이스의 다수의 레벨들에서, 조건들 또는 이벤트들을 모니터링/관측할 수도 있다. 애플리케이션 레벨 관측들은 안면 인식 소프트웨어를 통해서 사용자를 관측하는 것, 소셜 스트림들을 관측하는 것, 사용자에 의해 입력된 메모들을 관측하는 것, PassBook, 구글® 지갑, 및 Paypal 과 같은 금융 애플리케이션들의 사용에 관련된 이벤트들을 관측하는 것, 보호된 정보의 소프트웨어 애플리케이션의 액세스 및 사용을 관측하는 것, 기타등등을 포함할 수도 있다. 애플리케이션 레벨 관측들은 또한 가상 사설 네트워크들 (VPNs) 의 사용에 관련한 이벤트들, 및 동기화, 보이스 탐색들, 보이스 제어 (예컨대, 하나의 단어를 말하여 폰을 잠그거나 해제하는 것), 언어 번역기들, 계산들을 위한 데이터의 오프로딩, 비디오 스트리밍, 사용자 활동 없는 카메라 사용, 사용자 활동 없는 마이크로폰 사용 등에 관련한 이벤트들을 관측하는 것을 포함할 수도 있다. 애플리케이션 레벨 관측은 또한 금융 거래들, 및 생체측정 센서들의 액세스 및 사용에 관련된 조건들을 인증하기 위해 생체측정 센서들 (예컨대, 지문 리더, 보이스 인식 서브시스템, 레티나 스캐너 등) 의 소프트웨어 애플리케이션의 사용을 모니터링하는 것을 포함할 수도 있다.
무선 레벨 관측들은 무선 통신 링크들을 확립하거나 또는 정보를 송신하기 전 스마트 디바이스와의 사용자 상호작용, 이중/다수 가입자 아이덴티티 모듈 (SIM) 카드들, 인터넷 라디오, 스마트 폰 테더링, 계산들을 위한 데이터 오프로딩, 디바이스 상태 통신들, 게임 제어기 또는 홈 제어기로서의 사용, 운송체 통신들, 스마트 디바이스 동기화 등 중 임의의 또는 더 많은 존재함, 실존 또는 양을 결정하는 것을 포함할 수도 있다. 무선 레벨 관측들은 또한 측위, 피어-투-피어 (p2p) 통신들, 동기화, 운송체 대 운송체 통신들, 및/또는 머신-대-머신 (m2m) 을 위한 무선들 (WiFi, WiMax, Bluetooth 등) 의 사용을 모니터링하는 것을 포함할 수도 있다. 무선 레벨 관측들은 네트워크 트래픽 사용, 통계치들, 또는 프로파일들을 모니터링하는 것을 더 포함할 수도 있다.
사용 또는 외부 환경들에 관련된 센서 레벨 관측들의 다른 예들은, 근접 장 통신들 (NFC) 을 검출하는 것, 신용 카드 스캐너, 바코드 스캐너, 또는 스마트 태그 리더로부터 정보를 수집하는 것, 범용 시리얼 버스 (USB) 전력 충전 소스의 존재를 검출하는 것, 키보드 또는 보조 디바이스가 스마트 디바이스에 커플링되어 있다는 것을 검출하는 것, 스마트 디바이스가 컴퓨팅 디바이스에 (예컨대, USB 등을 통해서) 커플링되어 있다는 것을 검출하는 것, LED, 플래시, 플래시라이트, 또는 광원이 수정되거나 또는 사용불능되어 있는지 여부를 결정하는 것 (예컨대, 비상 시그널링 앱을 악의적으로 사용불능시키는 것 등), 스피커 또는 마이크로폰이 턴온되거나 또는 급전되어 있다는 것을 검출하는 것, 충전 또는 급전 이벤트를 검출하는 것, 스마트 디바이스가 게임 제어기로서 사용되고 있다고 검출하는 것 등을 포함할 수도 있다. 센서 레벨 관측들은 또한 의료 또는 건강관리 센서들로부터 또는 사용자의 신체를 스캐닝하는 것으로부터 정보를 수집하는 것, USB/오디오 잭에 플러그인된 외부 센서로부터 정보를 수집하는 것, 촉각 또는 햅틱 센서로부터 (예컨대, 진동기 인터페이스 등을 통해서) 정보를 수집하는 것, 스마트 디바이스의 열적 상태에 관한 정보를 수집하는 것, 지문 리더, 보이스 인식 서브시스템, 레티나 스캐너로부터 정보를 수집하는 것 등을 포함할 수도 있다.
거동 관측자 모듈 (302) 은 관측된 거동들의 간결한 정의를 포함하는 거동 벡터들을 발생시키도록 구성될 수도 있다. 각각의 거동 벡터는 스마트 디바이스, 소프트웨어 애플리케이션, 또는 프로세스의 관측된 거동을 값 또는 벡터 데이터-구조를 (예컨대, 숫자들의 스트링의 형태 등으로) 간결하게 기술할 수도 있다. 거동 벡터는 또한 스마트 디바이스 시스템이 스마트 디바이스 거동들을 빠르게 인식하고, 식별하고, 및/또는 분석가능하게 하는 식별자로서 기능할 수도 있다. 일 양태에서, 거동 관측자 모듈 (302) 은 스마트 디바이스의 피처 또는 거동을 각각 의미하는 일련의 숫자들을 포함하는 거동 벡터를 발생시킬 수도 있다. 예를 들어, 거동 벡터에 포함된 숫자들은 스마트 디바이스의 카메라가 사용중인지 여부 (예컨대, 카메라가 오프되어 있을 때는 0 으로서, 그리고 카메라가 활성화되었을 때에는 1 로서), 스마트 디바이스에 의해 송신되거나 또는 발생되어진 네트워크 트래픽의 양 (예컨대, 20 KB/sec 등), 통신되어진 인터넷 메시지들의 수 (예컨대, SMS 메시지들의 개수 등) 등을 의미할 수도 있다.
잘못 설계된 소프트웨어 애플리케이션들, 악성 소프트웨어, 바이러스들, 단편화된 메모리, 및 백그라운드 프로세스들을 포함하여, 디바이스 오작동들, 실행 에러들, 및 시간 경과에 따른 스마트 디바이스의 성능 및 전력 이용 레벨들의 열화에 기여할 수도 있는 많은 종류의 인자들이 존재할 수도 있다. 이들 인자들의 개수, 변종, 및 복잡성으로 인해, 현대의 스마트 디바이스들의 복잡하지만 여전히 리소스-속박된 시스템들의 성능 및/또는 전력 이용 레벨들을 열화시킬 수도 있는 여러 구성요소들, 거동들, 프로세스들, 동작들, 조건들, 상태들, 또는 피처들 (또는, 이들의 조합들) 의 모두를 동시에 평가하는 것이 종종 실현불가능하다. 모니터링되는 인자들의 개수를 관리가능한 레벨까지 감소시키기 위해, 일 양태에서, 거동 관측기 모듈 (302) 은 스마트 디바이스의 열화에 기여할 수 있는 모든 인자들의 작은 서브세트인 거동들 또는 인자들의 초기 또는 감소된 세트를 모니터링/관측하도록 구성될 수도 있다.
일 양태에서, 거동 관측기 모듈 (302) 은 네트워크 서버 (140) 및/또는 클라우드 서비스 또는 네트워크에서의 구성요소로부터 거동들 및/또는 인자들의 초기 세트를 분류자 모델의 형태로 수신할 수도 있다. 일 양태에서, 거동들/인자들의 초기 세트는 네트워크 서버 (140) 로부터 수신된 풀 분류자 모델에 규정될 수도 있다. 일 양태에서, 거동들/인자들의 초기 세트는 네트워크 서버에 의해 제공되는 거동들 및 인자들에 기초하여 스마트 디바이스에서 발생되는 디바이스-특정의 분류자 모델에 규정될 수도 있다.
거동 관측자 모듈 (302) 은 수집된 거동 정보를 (예컨대, 메모리 기록 동작, 기능 콜 등을 통해서) 거동 분석기 모듈 (304) 로 통신할 수도 있다. 거동 분석기 모듈 (304) 은 거동 정보를 수신 및 이용하여, 거동 벡터들을 발생시키고, 거동 벡터들에 기초하여 공간 및/또는 시간 상관들을 발생시키고, 그리고 이 정보를 이용하여, 스마트 디바이스 거동, 조건, 서브-시스템, 소프트웨어 애플리케이션, 또는 프로세스가 호의적인지, 수상한지, 또는 호의적이지 않은지 (즉, 악의적인지 또는 성능-열화시키는지) 여부를 결정할 수도 있다.
거동 분석기 모듈 (304) 및/또는 분류자 모듈 (308) 은 데이터, 알고리즘들, 분류자들 또는 모델들 (일괄하여 "분류자 모델들" 로서 지칭됨) 을 수행하거나, 실행하거나, 및/또는 수집된 거동 정보에 적용하여, 스마트 디바이스 거동이 비정상적인지 여부를 결정하고, 비정상적인 거동을 호의적이거나, 또는 비호의적인 것으로 (예컨대, 악의적이거나 또는 성능-열화시키는 것으로) 분류할 수도 있는, 실시간 거동 분석 동작들을 수행하도록 구성될 수도 있다. 각각의 분류자 모델은 스마트 디바이스 프로세서에 의해 스마트 디바이스 거동의 특정의 피처 또는 양태를 평가하는데 사용될 수도 있는 데이터 및/또는 정보 구조들 (예컨대, 피처 벡터들, 거동 벡터들, 구성요소 리스트들 등) 을 포함하는 거동 모델일 수도 있다. 각각의 스마트 디바이스는 연관된 디바이스-특정의 분류자 모델을 가질 수도 있으며, 이 연관된 디바이스-특정의 분류자 모델은 (예컨대, 제어 디바이스들 및 관측자 디바이스들용으로) 스마트 디바이스 상에 저장될 수도 있거나 또는 다른 디바이스들 (예컨대, 제한된 디바이스들, 관측자 디바이스들) 의 거동들을 분석할 때에 참조를 위해서 제어 디바이스 상에 저장될 수도 있다. 각각의 분류자 모델은 또한 스마트 디바이스 (102) 에서의 다수의 피처들, 인자들, 데이터 지점들, 엔트리들, API들, 상태들, 조건들, 거동들, 애플리케이션들, 프로세스들, 동작들, 구성요소들 등 ("피처들" 로서 일괄하여 지칭됨) 을 (즉, 거동 관측기 모듈 (302) 을 통해서) 모니터링하는 결정 기준들을 포함할 수도 있다. 분류자 모델들은 제어 스마트 디바이스 (120) 상에 사전 설치되거나, 네트워크 서버 (140) 로부터 다운로드되거나 또는 수신되거나, 제어 스마트 디바이스 (120) 에서 발생되거나, 또는 이들의 임의의 조합일 수도 있다. 분류자 모델들은 또한 크라우드 소싱 솔루션들, 거동 모델링 기법들, 기계 학습 알고리즘들 등을 이용하여 발생될 수도 있다.
거동 분석기 모듈 (304) 및/또는 분류자 모듈 (308) 은 거동 관측자 모듈 (302) 로부터 관측들 또는 거동 정보를 수신할 수도 있거나, 또는 제어 스마트 디바이스 (120) 로의 송신 전에 그들 자신의 거동 벡터들을 발생한 관측자 디바이스들과 같은 다른 스마트 디바이스들로부터 관측을 수신하고, 수신된 정보 (즉, 관측들) 를 외부 컨텍스트 정보 모듈 (306) 로부터 수신된 컨텍스트 정보와 비교하고, 그리고 비정상적이거나, 또는 아니면 정상 디바이스 동작들과 불일치하는 수신된 관측들과 연관된 서브시스템들, 프로세스들, 및/또는 애플리케이션들을 식별할 수도 있다.
일 양태에서, 거동 분석기 모듈 (304) 및/또는 분류자 모듈 (308) 은 제한된 정보의 세트 (즉, 대략 관측들) 를 이용하여 시간 경과에 따른 디바이스의 열화에 기여하고 있거나 또는 기여할 가능성이 있거나, 또는 디바이스 상에 문제들을 일으킬 수도 있는 거동들, 프로세스들, 또는 프로그램들을 식별하는 지능 (intelligence) 을 포함할 수도 있다. 예를 들어, 거동 분석기 모듈 (304) 은 여러 모듈들 (예컨대, 거동 관측기 모듈 (302), 외부 컨텍스트 정보 모듈 (306) 등) 로부터 (예컨대, 관측들의 형태로) 수집된 정보를 분석하고, 스마트 디바이스의 정상 동작 거동들을 학습하고, 그리고 비교들의 결과들에 기초하여 하나 이상의 거동 벡터들을 발생시키도록 구성될 수도 있다. 거동 분석기 모듈 (304) 은 추가적인 분석을 위해, 발생된 거동 벡터들을 분류자 모듈 (308) 로 전송할 수도 있다.
일 양태에서, 분류자 모듈 (308) 은 거동 벡터들을 분류자 모델에 적용하거나 또는 비교하여, 분석기 모듈 (304) 에 의해 비정상적인 것으로 인식된, 특정의 스마트 디바이스 거동, 소프트웨어 애플리케이션, 또는 프로세스가 성능-열화시키는지/악의적인지 또는 호의적인지 여부를 결정하도록 구성될 수도 있다. 분류자 모듈 (308) 이 거동, 소프트웨어 애플리케이션, 또는 프로세스가 악의적이거나 또는 성능-열화시킨다고 결정할 때, 분류자 모듈 (308) 은 익명화기 모듈 (310) 에게 통지할 수도 있으며, 이 익명화기 모듈은 비정상적인 거동을 포함하도록 결정된 거동 벡터들을 익명화하는 여러 액션들 또는 동작들을 수행하고 익명화된 거동 벡터 정보를 송신하는 동작들을 수행할 수도 있다.
거동, 소프트웨어 애플리케이션, 또는 프로세스가 수상하다고 분류자 모듈 (308) 이 결정할 때, 분류자 모듈 (308) 은 거동 관측기 모듈 (302) 에 통지할 수도 있으며, 그 거동 관측기 모듈은 그의 관측들의 세분화도 (즉, 스마트 디바이스 거동들이 관측되는 세부 사항의 레벨) 를 조정하거나 및/또는 분류자 모듈 (308) 로부터 수신된 정보 (예컨대, 실시간 분석 동작들의 결과들) 에 기초하여 관측되는 거동들을 변경하고, 새로운 또는 추가적인 거동 정보를 발생시키거나 또는 수집하고, 그리고 추가적인 분석/분류를 위해 새로운/추가 정보를 거동 분석기 모듈 (304) 및/또는 분류자 모듈 (308) 로 전송할 수도 있다. 거동 관측기 모듈 (302) 과 분류자 모듈 (308) 사이의 이러한 피드백 통신들은 스마트 디바이스 (120) 로 하여금, 수상하거나 또는 성능-열화시키는 스마트 디바이스 거동의 소스가 식별될 때까지, 프로세싱 또는 배터리 소비 임계치에 도달될 때까지, 또는 수상한 또는 성능-열화시키는 스마트 디바이스 거동의 소스가 관측 세분화도에서의 추가적인 증가들로부터 식별될 수 없다고 스마트 디바이스 프로세서가 결정할 때까지, 관측들의 세분화도를 회귀적으로 증가시키거나 (즉, 더 미세하거나 또는 좀더 상세한 관측들을 행하거나) 또는 관측되는 피처들/거동들을 변경가능하게 한다. 이러한 피드백 통신은 또한 스마트 디바이스 (102) 로 하여금, 과도한 양의 스마트 디바이스의 프로세싱, 메모리, 또는 에너지 리소스들을 소비함이 없이, 스마트 디바이스에서, 데이터/거동 모델들을 로컬로 조정하거나 또는 수정가능하게 한다.
일 양태에서, 익명화기 모듈 (310) 은 비정상적인 거동 인스턴스들을 포함하도록 결정된 거동 벡터를, 호의적이거나 또는 악의적인 것으로서의 비정상적인 거동들의 분류와 함께, 수신하도록 구성될 수도 있다. 일부 양태들은 스마트 제어 디바이스 (120) 의 관련된 모듈들 (예컨대, 분석기 모듈 (304) 및/또는 분류자 모듈 (308)) 에 의해 송신된 거동 벡터들을 포함할 수도 있다. 다른 양태들은 관측자 디바이스로부터 송신된 거동 정보를 포함할 수도 있으며, 이 경우, 거동 벡터는 관측자 디바이스 상에서 발생되어 분석되었지만, 익명화를 위해 제어 스마트 디바이스 (120) 로 송신되었다.
익명화기 모듈 (310) 은 거동 벡터 익명화 동작들을 수행하도록 구성될 수도 있으며, 이 거동 벡터 익명화 동작들은 사용자들에게 개인적인 것 또는 사용자-식별 (예컨대, 머신 어드레스들, 사용자 데이터, 로케이션 데이터 등) 일 수도 있는 임의의 디바이스 정보를 제거하기 위해, 데이터, 알고리즘들, 분류자들, 또는 모델들 (일괄하여 "익명화기 분류자 모델들" 로서 지칭됨) 을 수행하는 것, 실행하는 것, 및/또는 데이터, 알고리즘들, 분류자들, 또는 모델들 (일괄하여 "익명화기 분류자 모델들" 로서 지칭됨) 을 식별된 거동 벡터들에 적용하는 것을 포함할 수도 있다. 각각의 익명화기 분류자 모델은 표준 분류자 모델과 같은 거동 모델일 수도 있으며, 스마트 디바이스 거동의 어느 특정 피처들 또는 양태들이 개인적이거나 또는 사용자-식별일 수 있는지를 평가하는데 스마트 디바이스 프로세서에 의해 사용될 수도 있는 데이터 및/또는 정보 구조들 (예컨대, 피처 벡터들, 거동 벡터들, 구성요소 리스트들 등) 을 포함할 수도 있다. 각각의 스마트 디바이스는 연관된 디바이스-특정의 익명화기 분류자 모델을 가질 수도 있으며, 이 연관된 디바이스-특정의 익명화기 분류자 모델은 (예컨대, 제어 디바이스들 및 관측자 디바이스들용으로) 스마트 디바이스 상에 저장될 수도 있거나 또는 다른 디바이스들 (예컨대, 제한된 디바이스들, 관측자 디바이스들) 과 연관된 거동 벡터들을 익명화할 때에 참조를 위해 제어 디바이스 상에 저장될 수도 있다. 익명화기 분류자 모델들은 제어 스마트 디바이스 (120) 상에 사전 설치되거나, 네트워크 서버 (140) 로부터 다운로드되거나 또는 수신되거나, 제어 스마트 디바이스 (120) 에서 발생되거나, 또는 이들의 임의의 조합일 수도 있다. 모델들은 스마트 디바이스 피처들이 수정되거나 또는 업데이트됨에 따라서 업데이트될 수도 있다. 일단 개인 또는 사용자-식별 정보가 거동 벡터 및 첨부된 분류 정보로부터 제거되면, 익명화된 거동 벡터는 네트워크를 통해서 네트워크 서버 (140) 로 송신될 수도 있다.
일 양태에서, 분석기 모듈 (304) 에 의해 비정상적인 것으로 식별된 거동들은 추가적인 관측을 요구하도록 결정될 수도 있다. 일부 양태들은 특정의 피처를 관측해달라는, 네트워크 서버 (140) 로부터 송신된 요청들을 포함할 수도 있다. 특정의 디바이스들의 특정의 피처들에 대한 거동 관측들에 집중하기 위해, 스마트 디바이스 (예컨대, 제어 스마트 디바이스) 는 표준 분류자 모델들에 더해서 또는 대신에 사용될 수도 있는 피처-타겟팅 분류자 모델들을 발생시킬 수도 있다.
거동 관측기 모듈 (302) 및 거동 분석기 모듈 (304) 은, 제한된 그리고 대략적인 관측들로부터 수상한 거동을 식별하고, 더욱더 자세하게 관측할 거동들을 동적으로 결정하고, 그리고 관측들에 요구되는 세부 사항의 레벨을 동적으로 결정하기 위해, 개별적으로 또는 일괄하여, 스마트 디바이스의 거동들의 실시간 거동 분석을 제공할 수도 있다. 이와 같이, 거동 관측기 모듈 (302) 은 제어 스마트 디바이스 (120) 로 하여금, 스마트 디바이스들 상에서 일어나는 문제들을 디바이스 상에 대량의 프로세서, 메모리, 또는 배터리 리소스들을 필요로 함이 없이, 효율적으로 식별가능하게 할 수도 있다.
여러 양태들에서, 거동 관측자 모듈 (302) 및/또는 거동 분석기 모듈 (304) 은 하나 이상의 스마트 디바이스들의 디바이스-특정의 정보를 이용하여, 이전에 관측된 비정상적인 거동들과 같은 스마트 디바이스-특정의 복수의 테스트 조건들을 식별하도록 구성될 수도 있다. 이들 테스트 조건들은 하나 이상의 스마트 디바이스들에 관련되는 관측된 거동들을 보다 면밀히 모니터링하기 위해 사용될 수도 있는 피처-타겟팅 분류자 모델들을 발생시키기 위해 사용될 수도 있다. 일 양태에서, 피처-타겟팅 분류자 모델은 스마트 디바이스의 과거 비정상, 최근 업데이트된 또는 수정된 피처, 현재의 동작 상태 또는 구성에 관련되는 스마트 디바이스 피처를 평가하는 결정 노드들을 포함하거나 또는 우선순위화하도록 발생될 수도 있다. 추가 양태에서, 간결한 (lean) 분류자 모델을 발생시키는 단계는 과도한 양의 스마트 디바이스의 리소스들 (예컨대, 프로세싱, 메모리, 또는 에너지 리소스들) 을 소비함이 없이 거동을 분류하기 위해 평가되어야 하는 고유한 테스트 조건들의 수를 결정하는 단계, 표준 분류자 모델에서 복수의 테스트 조건들을 순차적으로 횡단함으로써 테스트 조건들의 리스트를 발생시키는 단계, 테스트 조건들의 리스트가 결정된 개수의 고유한 테스트 조건들을 포함할 때까지 스마트 디바이스의 타겟 거동을 분류하는데 관련된 그들 테스트 조건들을 테스트 조건들의 리스트에 삽입하는 단계, 및 테스트 조건들의 발생된 리스트에 포함된 조건들 중 하나를 테스트하는 표준 분류자 모델에 포함된 결정 노드들을 포함하도록 피처-타겟팅 분류자 모델을 발생시키는 단계를 포함할 수도 있다. 피처-타겟팅 분류자 모델은 후속 분석들에서의 사용을 위해 저장될 수도 있거나 또는 저장을 위해 스마트 디바이스 (예컨대, 관측자 디바이스) 로 되송신될 수도 있다.
여러 양태들은 다양한 프로세싱 능력들의 스마트 디바이스들에 걸친 스마트 디바이스 거동 관측, 분석, 및 익명화의 배포를 용이하게 하는 방법들 및 시스템들을 포함한다. 예를 들어, 단일 제어 스마트 디바이스 (120) 는 그 자신의 거동을 관측하고, 그 거동을 분석하고, 거동 정보를 익명화하고, 그리고 그 정보를 송신할 수도 있다. 다른 예로서, 토스터와 같은, 제한된 디바이스 (112, 114) 는 그의 정상 동작들을 모니터링하고, 분석 및 익명화를 위해 관측된 거동들의 로그를 제어 스마트 디바이스 (120) 로 송신할 수도 있거나, 또는 어떤 제어 스마트 디바이스 (120) 도 범위 내에 존재하지 않으면, 관측된 거동들의 로그는 관측자 디바이스 (116, 118) 로 송신될 수도 있다. 관측자 디바이스들 (116, 118) 은 거동들의 수신된 제한된 디바이스 (110, 112) 로그에 더해서, 그들 자신의 관측된 거동들을 송신할 수도 있다. 이와 유사하게, 관측자 디바이스들 (116, 118) 은 그들 자신의 거동들 및 제한된 디바이스 거동들에 대한 거동 벡터들을 발생시켜, 오직 거동 벡터들만을 제어 스마트 디바이스 (120) 로 송신할 수도 있다.
일부 양태들에서, 디바이스간 송신들을 감소시키기 위해, 관측자 디바이스들 (116, 118) 은 그들 자신의 관측된 거동들 뿐만 아니라 인접한 제한된 디바이스들 (110, 112) 의 관측된 거동들에 대해 거동 벡터 발생 및 분석을 수행할 수도 있다. 이러한 양태들에서, 거동 벡터들은 오직 비정상이 검출되는 경우에만 제어 스마트 디바이스 (120) 로 송신될 수도 있다. 따라서, 제어 스마트 디바이스 (120) 상의 프로세싱 부하는 일부 발생 및 분석 태스크들을 가동 휴지 기간 동안 상당한 프로세싱 능력들 및 낮은 프로세싱 부하들을 갖는 그들 관측자 디바이스들 (116, 118) (예컨대, 텔레비전들, 냉장고들, 라디오들, 엔터테인먼트 시스템들 등) 로 분산함으로써 감소될 수도 있다. 여러 구성들 및 양태들에서, 거동 정보는 스마트 디바이스 네트워크 사이에 로컬로만 송신될 수도 있으며, 개인 정보를 제거하기 위해 먼저 익명화됨이 없이 인터넷과 같은 임의의 개방된 통신 네트워크를 통해서 송신되지 않을 수도 있다.
도 4 는 제어 스마트 디바이스 (120) 에서 디바이스-특정의 분류자 모델들을 발생시키는 일 양태 방법 (400) 을 예시한다. 방법 (400) 은 제어 스마트 디바이스 (120) 의 프로세싱 코어에 의해 수행될 수도 있다.
블록 402 에서, 프로세싱 코어는 분류자 모델 (452) 에 포함된 정보를 이용하여, 관측된 스마트 디바이스 거동이 호의적인지 또는 시간 경과에 따른, 스마트 디바이스 (120) 의 성능 또는 소비 전력 특성들에서의 열화에 기여하는지 여부를 결정하는 것에 관련된 특징들 및 데이터 지점들 중 모두 또는 다수를 일괄하여 식별하거나, 기술하거나, 테스트하거나, 또는 평가하는 다수의 결정 노드들 (448) 을 발생시킬 수도 있다. 예를 들어, 블록 402 에서, 프로세싱 코어는 사십 (40) 개의 고유한 조건들을 테스트하는 백개 (100) 의 결정 노드들 (448) 을 발생시킬 수도 있다.
일 양태에서, 결정 노드들 (448) 은 결정 스텀프들일 수도 있다. 각각의 결정 스텀프는 하나의 조건 또는 스마트 디바이스 피처를 테스트하는 정확히 하나의 노드를 가지는 하나의 레벨 결정 트리일 수도 있다. 결정 스텀프에 오직 하나의 노드만이 존재하기 때문에, 피처 벡터를 결정 스텀프에 적용하는 것은 2진 응답 (예컨대, 예 또는 아니오, 악의적이거나 또는 호의적인 등) 을 초래한다. 예를 들어, 결정 스텀프 (448b) 에 의해 테스트된 조건이 "SMS 송신들의 빈도가 분당 x 미만인가" 이면, "3" 의 값을 결정 스텀프 (448b) 에 적용하는 것은 ("3 미만" SMS 송신들에 대해) "예" 응답 또는 ("3 이상" SMS 송신들에 대해) "아니오" 응답을 초래할 것이다. 이 2진 "예" 또는 "아니오" 응답은 그후 거동이 비정상적 (A) 또는 정상적 (N) 이라고 표시하는 것으로 그 결과를 분류하기 위해 사용될 수도 있다. 이들 스텀프들이 매우 간단한 평가들 (기본적으로 2진) 이므로, 각각의 스텀프를 수행하는 프로세싱은 매우 간단하며, 더 적은 프로세싱 오버헤드로 빨리 및/또는 병렬로 수행될 수 있다.
일 양태에서, 각각의 결정 노드 (448) 는 얼마나 많은 지식이 테스트 질문에 응답하는 것으로 얻어지는지 및/또는 테스트 조건에 응답하는 것이 프로세싱 코어로 하여금 스마트 디바이스 거동이 비정상적인지 여부를 결정가능하게 할 우도에 기초하거나 또는 반영할 수도 있는 가중 값과 연관될 수도 있다. 결정 노드 (448) 와 연관된 가중치는 스마트 디바이스 거동들, 소프트웨어 애플리케이션들, 또는 스마트 디바이스에서의 프로세스들의 이전 관측들 또는 분석으로부터 수집된 정보에 기초하여 계산될 수도 있다. 일 양태에서, 각각의 결정 노드 (448) 와 연관된 가중치는 또한 얼마나 많은 유닛들의 데이터의 뭉치들 (예컨대, 데이터 또는 거동 벡터들의 클라우드 뭉치들) 이 노드를 구축하는데 사용되는지에 기초하여 계산될 수도 있다. 일 양태에서, 가중 값들은 이전 데이터/거동 모델들 또는 분류자들의 실행/애플리케이션으로부터 수집된 정확도 또는 성능 정보에 기초하여 발생될 수도 있다.
블록 410 에서, 프로세싱 코어는 분류자 모델들 (452) 중 하나 또는 임의의 조합을 이용하여, 실시간 거동 모니터링 및 분석 동작들을 수행하고, 그리고 관측된 스마트 디바이스 거동인지 또는 루틴 디바이스 동작들의 일부인지 예측할 수도 있다. 일 양태에서, 스마트 디바이스는 다수의 분류자 모델들 (452), 예컨대 표준 분류자 모델 및 피처-타겟팅 분류자 모델들을 병렬로 이용하거나 또는 적용하도록 구성될 수도 있다. 일 양태에서, 프로세싱 코어는 특정의 스마트 디바이스 거동을 평가할 때 표준 분류자 모델 (452) 을 적용/이용하는 것으로부터 발생된 결과들보다, 피처-타겟팅 분류자 모델들을 적용하거나 또는 이용하는 것으로부터 발생된 결과들에 우선권 또는 우선순위를 부여할 수도 있다. 프로세싱 코어는 분류자 모델들을 적용하는 결과들을 이용하여, 스마트 디바이스 거동이 정상적인지 (예컨대, 디바이스의 루틴 동작 및 기능과 연관되는지) 또는 비정상적인지 여부를 예측할 수도 있다.
블록 406 에서, 다른 분류자 모델이 비정상적인 거동을 초래하는 임의의 결정 스터브들 (stubs) 에 적용될 수도 있다. 각각의 결정 트리는 비정상적인 거동이 "호의적인 것" 또는 "악의적인 것" 으로 분류되는지 여부를 결정하기 위해 2진 옵션을 포함할 수도 있다. 일부 비정상적인 거동들은 영향을 받은 스마트 디바이스에 해로운 영향을 미치지 않을 수도 있지만, 다른 비정상들은 디바이스의 동작 무결성 또는 사용자 안전에 심각한 위험을 일으키는 디바이스 오작동들일 수도 있다. 비정상적인 거동 분류의 결과들은 원격 수신 엔터티에 검출된 비정상의 성질에 관한 정보를 제공하기 위해 익명화 이전에, 동안에, 이후에 거동 벡터들에 첨부될 수도 있다.
도 5 는 일 양태에 따른, 스마트 디바이스 거동들의 익명의 크라우드-소싱을 수행하는 예시적인 방법 (500) 을 예시한다. 블록 502 에서, 스마트 디바이스 프로세서는 스마트 디바이스의 동작 및 기능에 관련된 다수의 인자들/거동들의 서브세트를 모니터링/관측함으로써 어림 관측들을 수행할 수도 있다. 블록 504 에서, 스마트 디바이스 프로세서는 그 어림 관측들에 기초하여, 어림 관측들 및/또는 스마트 디바이스 거동을 특징화하는 거동 벡터를 발생시킬 수도 있다. 블록 506 에서, 스마트 디바이스 프로세서는 개별 스마트 디바이스와 연관된 하나 이상의 분류자 모델들을 식별할 수도 있다. 예를 들어, 프로세서는 로컬 스토리지 상에서 탐색을 실행할 수도 있거나 또는 적합한 분류자 모델(들) 이 거동 정보와 함께 관측자 디바이스 또는 다른 제어 스마트 디바이스로부터 송신되었다고 결정할 수도 있다. 일 양태에서, 블록 504 및 블록 506 의 부분으로서, 스마트 디바이스 프로세서는 도 2 내지 도 4 를 참조하여 위에서 설명된 동작들 중 하나 이상을 수행할 수도 있다.
블록 508 에서, 스마트 디바이스 프로세서는 어림 관측들에 기초하여, 거동 분석 동작들을 수행할 수도 있다. 이것은 개별 스마트 디바이스와 연관된 하나 이상의 분류자 모델들을 거동 벡터 이벤트들과 비교함으로써 달성될 수도 있다.
결정 블록 510 에서, 스마트 디바이스 프로세서는 비정상적인 거동들 또는 잠재적인 문제들이 거동 분석의 결과들에 기초하여 식별될 수 있는지 여부를 결정할 수도 있다. 거동 분석의 결과들에 기초하여 비정상적인 거동들 또는 잠재적인 문제들이 식별될 수 있다고 스마트 디바이스 프로세서가 결정할 때 (즉, 결정 블록 510 = "예"), 프로세서는 블록 512 에서, 사용자-아이덴티티, 로케이션 등에 관련된 임의의 정보를 제거하기 위해, 거동 벡터 및 임의의 분류 정보를 익명화하는 프로세스를 개시할 수도 있다. 블록 514 에서, 익명화된 거동 벡터 및 임의의 첨부된 분류 정보는 인터넷과 같은 네트워크를 통해서 네트워크 서버로 송신될 수도 있다.
일부 양태들에서, 프로세서는 그 비정상적인 거동이 우선순위화된 모니터링을 보장한다고 결정할 수도 있다. 블록 516 에서, 스마트 디바이스의 프로세서는 추가적인 모니터링을 위해, 비정상적인 거동을 우선순위화하는 피처-타겟팅 분류자 모델을 발생시킬 수도 있다. 블록 518 에서, 피처-타겟팅 분류자 모델은 로컬로 저장되거나 또는 연관된 스마트 디바이스로 송신될 수도 있다. 프로세서는 그후 블록 502 에서 어림 관측들을 속행할 수도 있다.
비정상적인 거동들 또는 잠재적인 문제들이 거동 분석의 결과들에 기초하여 식별될 수 없다고 스마트 디바이스 프로세서가 결정할 때 (즉, 결정 블록 510 = "아니오"), 프로세서는 블록 502 에서 추가적인 어림 관측들을 수행할 수도 있다.
일 양태에서, 방법 (500) 의 블록 502 내지 블록 518 에서의 동작들의 부분으로서, 스마트 디바이스 프로세서는 시스템의 거동들의 실시간 거동 분석을 수행하여, 제한된 및 어림 관측들로부터 비정상적인 거동들을 식별하고, 비정상적인 거동들에 대해 관측된 거동들을 분석하고, 임의의 검출된 비정상적인 거동들의 거동 정보를 익명화하고, 그리고 집합 및 추가 분석을 위해 그 익명화된 거동들을 원격 서버로 송신할 수도 있다. 이것은 제조업자들, 서비스 제공자들, 및 연구 관리자들로 하여금, 사용자들에게 개인적인 임의의 정보 또는 사용자-식별을 드러냄이 없이, 특정의 스마트 디바이스들의 동작 및 기능에 관한 큰 뭉치의 데이터를 수집가능하게 한다.
도 6 은 제한된 또는 관측자 스마트 디바이스의 거동 관측들을 수집하고 송신하는 일 양태 방법 (600) 을 예시한다. 블록 602 에서, 스마트 가전 제품과 같은, 제한된 디바이스의 프로세서는 디바이스 동작들 및 기능들을 모니터링하고 관측할 수도 있다. 관측들은 연속적으로 또는 미리 결정된 간격들로 이루어질 수도 있다. 블록 604 에서, 수집된 거동 로그들이 제어 스마트 디바이스 또는 관측자 디바이스로 송신될 수도 있다. 수신 스마트 디바이스의 프로세서 코어는 거동 벡터를 블록 504 에서의 동작들과 관련하여 위에서 설명된 방법으로 발생시킬 수도 있다. 일부 양태들에서, 송신 디바이스는 거동 정보를 제어 스마트 디바이스로 송신하기 전에 방법 (500) 의 블록 504 내지 블록 508 과 연관된 태스크들 중 임의의 태스크를 수행할 수도 있는 관측자 디바이스일 수도 있다.
도 7 은 피처 정보를 업데이트하거나 또는 제한된 또는 관측자 스마트 디바이스의 피처 관측을 재우선순위화하는 일 양태 방법 (700) 을 예시한다.
방법 (700) 의 블록 702 에서, 프로세싱 코어는 특정의 스마트 디바이스의 하나 이상의 특정의 피처들에 관련된 복수의 테스트 조건들을 식별하는 정보 구조이거나 또는 포함하는 분류자 모델을 수신할 수도 있다. 일 양태에서, 분류자 모델은 복수의 결정 스텀프들을 표현하는데 적합한 정보를 포함할 수도 있거나 및/또는 스마트 디바이스에 의한 복수의 결정 스텀프들로의 변환에 적합한 정보를 포함할 수도 있다. 일 양태에서, 피처 정보는 결정 스텀프들의 순서화된 또는 우선순위화된 리스트를 포함할 수도 있다. 결정 스텀프들의 각각은 테스트 조건 및 가중 값을 포함할 수도 있다. 일 양태에서, 피처 정보는 제어 스마트 디바이스 또는 관측자 디바이스에 의해 수신될 수도 있으며, 네트워크 서버 (예컨대, 서비스 제공자, 디바이스의 제조업자 등) 에 의해 전송될 수도 있다. 피처 정보는 특정의 피처의 모니터링을 우선순위화하기 위한 업데이트된 가중 정보, 모니터링할 거동의 리스트에 추가할 새로운 피처들, 및 기존 분류자 모델들 및 관측 리스트들에 대한 다른 변경들을 포함할 수도 있다.
블록 704 에서, 프로세싱 코어는 업데이트된 피처-타겟팅 분류자 모델을 발생시킬 수도 있다. 피처-타겟팅 분류자 모델은 스마트 디바이스의 과도한 양의 프로세싱, 메모리, 또는 에너지 리소스들을 소비함이 없이, 타겟 피처와 연관된 스마트 디바이스 거동을 비정상적인 것 또는 정상적인 것으로 정확하게 분류하도록 평가되어야 하는 고유한 테스트 조건들의 개수를 포함할 수도 있다. 프로세싱 코어는 디바이스-특정의 또는 디바이스-상태-특정의 정보를 이용하여, 피처-타겟팅 분류자 모델들에 포함되어야 하거나 그로부터 제외되어야 하는 피처들 및/또는 테스트 조건들을 빠르게 식별할 수도 있다. 다른 예로서, 프로세싱 코어는 표준 모델에 포함되는 피처들/노드들/스텀프들, 및 스마트 디바이스에 존재할 수 없거나 및/또는 스마트 디바이스의 타겟 피처에 관련되지 않은 테스트 조건들을 식별하여, 피처-타겟팅 분류자 모델들로부터 제외할 수도 있다.
블록 706 에서, 프로세서 코어는 피처-타겟팅 분류자 모델을 제어 스마트 디바이스와 통신하는 모든 관련된 스마트 디바이스들로 송신할 수도 있다. 예를 들어, 네트워크 서버가 스마트 백열 전구들에서의 동작 지속기간의 안전에 관한 업데이트된 정보를 송신하면, 발생된 동작 시간 피처-타겟팅 분류자 모델은 로그된 스마트 백열 전구 거동을 분석할 때에 이용을 위해 모든 제어 스마트 디바이스들 및 관측자 디바이스들로 송신될 수도 있다. 일부 양태들에서, 피처-타겟팅 분류자 모델은 스마트 백열 전구들로 송신될 수도 있다. 제어 스마트 디바이스는 또한 "동작 지속기간" 의 피처가 이전에 모니터링되지 않은 경우 업데이트된 거동 관측 정보를 모든 스마트 백열 전구들로 송신할 수도 있다. 스마트 디바이스 거동들의 관측들은 그후 위에서 설명한 바와 같은 방법 (500) 의 블록 502 및/또는 방법 (600) 의 블록 602 을 시작할 수도 있다.
도 8 은 양태 관측자 데몬을 구현하는 컴퓨팅 시스템 (800) 에서의 논리적 구성요소들 및 정보 흐름들을 더 자세하게 예시한다. 도 8 에 예시된 예에서, 컴퓨팅 시스템 (800) 은 사용자 공간에서, 거동 검출기 (802) 모듈, 데이터베이스 엔진 (804) 모듈, 및 거동 분석기 모듈 (304) 및 익명화기 모듈 (310) 을, 그리고, 커널 공간에서, 링 버퍼 (814), 필터 규칙들 (816) 모듈, 쓰로틀링 (throttling) 규칙들 (818) 모듈, 및 보안 버퍼 (820) 를 포함한다. 컴퓨팅 시스템 (800) 은 사용자 공간에서 거동 검출기 (802) 및 데이터베이스 엔진 (804) 을, 그리고 커널 공간에서 보안 버퍼 관리기 (806), 규칙들 관리기 (808), 및 시스템 헬스 (health) 모니터 (810) 를 포함하는 관측자 데몬을 더 포함할 수도 있다.
여러 양태들은 시스템 거동을 특징화하기 위해서 웹키트 (webkit), SDK, NDK, 커널, 드라이버들, 및 하드웨어를 포괄하는 스마트 디바이스들에 대한 교차-계층 관측들을 제공할 수도 있다. 거동 관측들은 실시간으로 이루어질 수도 있다.
관측자 모듈은 적응적 관측 기법들을 수행하고 관측 세분화도를 제어할 수도 있다. 위에서 설명한 바와 같이, 스마트 디바이스의 오작동 또는 잘못된 거동에 기여할 수도 있는 다수의 (즉, 수천의) 인자들이 존재하며, 비정상적인 거동 이벤트들의 발생에 기여할 수도 있는 상이한 인자들 모두를 모니터링/관측하는 것은 실현불가능할 수도 있다. 그러나, 피처 관측의 우선순위는 스마트 디바이스들의 특정의 피처의 동작 및 기능에 관한 정보를 원하는 제조업자들, 서비스 제공자들, 및 다른 엔터티들이 원하는 바에 따라, 시스템의 수명주기 전체에 걸쳐서 동적으로 수정될 수도 있다. 피처 정보는 다른 스마트 디바이스들로의 보급을 위해 제어 스마트 디바이스들로 송신될 수도 있다. 이와 같이, 크라우드-소싱중인 익명화된 거동 정보는 데이터를 수집하여 분석하도록 인가된 당사자들에 의해 영향을 받을 수도 있다.
여러 양태들은 다양한 통신 디바이스들 상에서 구현될 수도 있으며, 이의 일 예가 도 9 에 스마트폰의 형태로 예시되어 있다. 스마트폰 (900) 은 내부 메모리 (904), 디스플레이 (912), 및 스피커 (914) 에 커플링된 프로세서 (902) 를 포함할 수도 있다. 게다가, 스마트폰 (900) 은 무선 데이터 링크에 접속될 수도 있는, 전자기 방사선을 전송하고 수신하는 하나 이상의 안테나 및/또는 프로세서 (902) 에 커플링된 셀룰러 전화기 트랜시버 (908) 를 포함할 수도 있다. 스마트폰들 (900) 은 일반적으로 또한 사용자 입력들을 수신하기 위한 메뉴 선택 버튼들 또는 로커 스위치들 (920) 을 포함할 수도 있다.
일반적인 스마트폰 (900) 은 또한 마이크로폰으로부터 수신된 사운드를 무선 송신에 적합한 데이터 패킷들로 디지털화하고 수신된 사운드 데이터 패킷들을 디코딩하여 사운드를 발생시키기 위해 스피커에 제공되는 아날로그 신호들을 발생시키는 사운드 인코딩/디코딩 (코덱) 회로 (906) 를 포함한다. 또한, 프로세서 (902), 무선 트랜시버 (908) 및 코덱 (1206) 중 하나 이상은 디지털 신호 프로세서 (DSP) 회로 (별도로 미도시) 를 포함할 수도 있다.
여러 양태들과 함께 사용하기에 적합한 스마트 디바이스의 다른 예는 도 10 에 예시된 바와 같은 스마트 백열 전구 (1000) 이다. 스마트 백열 전구 (1000) 는 스마트 백열 전구 (1000) 를 소켓 또는 리셉터클 (미도시) 에 삽입하기 위한 베이스 (1032) 를 포함할 수도 있다. 베이스 (1032) 는 당업자들에게 널리 공지된 스크루 유형 전구 베이스들과 같은 매우 다양한 전구 베이스 유형들 중 임의의 유형일 수도 있다. 소켓 또는 리셉터클은 일반적으로 스마트 백열 전구 (1000) 가 능동 엘리먼트 (1039) 를 동작시키기 위해 전력을 얻을 수도 있는 전력의 소스, 일반적으로, 교류 전류 (AC) 전력을 제공한다.
스마트 백열 전구 (1000) 는 제어 유닛 (1010) 을 포함할 수도 있으며, 이 제어 유닛은 프로세서 (1002) 및 메모리 (1006), RF 유닛 (1008), 엘리먼트 제어 유닛 (1022), 및 베이스 (1032) 상의 전기 커넥터들에 커플링된 전력 유닛 (1024) 을 포함할 수도 있다. 제어 유닛 (1010) 내 여러 유닛들은 접속들 (1001) 을 통해서 커플링될 수도 있으며, 시스템온칩 (SOC) 으로서 통합될 수도 있다. 프로세서 (1002) 는 내장된 프로세서 또는 제어기, 범용 프로세서, 또는 유사한 프로세서일 수도 있으며, 메모리 (1006) 가 탑재될 수도 있다. 내부/외부 메모리 (1006) 는 휘발성 또는 비-휘발성 메모리일 수도 있다. 제어 유닛 (1010) 은 통신들을 전송하고 수신하기 위해 프로세서 (1002) 에 커플링된 무선 신호 트랜시버 (1008) (예컨대, Bluetooth, Bluetooth LE, Zigbee, Wi-Fi, RF 무선 등) 및 안테나 (1009) 를 가질 수도 있다. 프로세서 (1002) 는 거동들을 모니터링하는 것, 옵션적으로 거동 벡터를 발생시키는 것, 및 트랜시버 (1008) 를 통해서 거동 데이터 및/또는 거동 벡터를 송신하는 것을 포함하여, 여러 양태들의 일부 동작들을 수행하는 프로세서 실행가능한 명령들로 구성될 수도 있다.
양태 방법들의 부분들은 양태 방법들을 실행하는 동안 스마트 디바이스 프로세서에 의해 액세스될 수도 있는 정상 동작 거동들의 데이터베이스들을 유지하는 것과 같은, 서버에서 일어나는 프로세싱 중 일부를 갖는 클라이언트-서버 아키텍처에서 달성될 수도 있다. 이러한 양태들은 도 11 에 예시된 서버 (1100) 와 같은, 시중에서 입수가능한, 다양한 서버 디바이스들 중 임의의 서버 디바이스 상에서 구현될 수도 있다. 이러한 서버 (1100) 는 일반적으로 휘발성 메모리 (1102) 및 대용량 비휘발성 메모리, 예컨대 디스크 드라이브 (1103) 에 커플링된 프로세서 (1101) 를 포함한다. 서버 (1100) 는 또한 프로세서 (1101) 에 커플링된 플로피 디스크 드라이브, 컴팩트 디스크 (CD) 또는 DVD 디스크 드라이브 (1304) 를 포함할 수도 있다. 서버 (1100) 는 또한 다른 브로드캐스트 시스템 컴퓨터들 및 서버들에 커플링된 근거리 네트워크와 같은, 네트워크 (1105) 와의 데이터 접속들을 확립하기 위한, 프로세서 (1101) 에 커플링된 네트워크 액세스 포트들 (1106) 을 포함할 수도 있다.
프로세서들 (902, 1002, 1101) 은 아래에서 설명하는 양태들의 기능들을 포함한, 다양한 기능들을 수행하는 소프트웨어 명령들 (애플리케이션들) 로 구성될 수도 있는, 임의의 프로그래밍가능 마이크로프로세서, 마이크로컴퓨터 또는 다중 프로세서 칩 또는 칩들일 수 있다. 일부 스마트 디바이스들에서, 다수의 프로세서들 (902, 1002, 1101) 이 하나의 프로세서가 무선 통신 기능들을 담당하고 하나의 프로세서가 다른 애플리케이션들을 실행하는 것을 담당하는 것과 같이, 제공될 수도 있다. 일반적으로, 소프트웨어 애플리케이션들은 프로세서 (902, 1002, 1101) 에 액세스되어 로드되기 전에, 내부 메모리 (904, 1006, 1102, 1103) 에 저장될 수도 있다. 프로세서 (902, 1002, 1101) 는 애플리케이션 소프트웨어 명령들을 저장하기에 충분한 내부 메모리를 포함할 수도 있다.
다수의 상이한 셀룰러 및 스마트 통신 서비스들 및 표준들이 미래에 이용가능하거나 또는 고려되며, 이들 모두는 여러 양태들을 구현하고 이로부터 이점을 취할 수도 있다. 이러한 서비스들 및 표준들은 예컨대, 3GPP (third generation partnership project), 롱텀 에볼류션 (LTE) 시스템들, 3세대 무선 스마트 통신 기술 (3G), 4세대 무선 스마트 통신 기술 (4G), GSM (global system for smart communications), UMTS (universal smart telecommunications system), 3GSM, 일반 패킷 무선 서비스 (GPRS), 코드분할 다중접속 (CDMA) 시스템들 (예컨대, cdmaOne, CDMA1020TM), EDGE (enhanced data rates for GSM evolution), 진보된 스마트 폰 시스템 (AMPS), 디지털 AMPS (IS-136/TDMA), EV-DO (evolution-data optimized), DECT (digital enhanced cordless telecommunications), WiMAX (Worldwide Interoperability for Microwave Access), 무선 로컬 영역 네트워크 (WLAN), Wi-Fi 보호 액세스 I & II (WPA, WPA2), 및 통합 디지털 확장 네트워크 (iden) 를 포함한다. 이들 기술들의 각각은 예를 들어, 보이스, 데이터, 시그널링, 및/또는 콘텐츠 메시지들의 송신 및 수신을 포함한다. 개개의 원격 통신 표준 또는 기술에 관련된 전문용어 및/또는 기술적인 세부 사항들에 대한 임의의 참조들은 단지 예시적인 목적들을 위한 것이며, 청구항 용어로 특별히 언급하지 않는 한, 특정의 통신 시스템 또는 기술에 청구의 범위를 한정하려고 의도되지 않는 것으로 이해되어야 한다.
용어 "성능 열화" 는 본 출원에서, 더 긴 프로세싱 시간들, 더 느린 실시간 반응성, 더 낮은 배터리 수명, 개인 데이터의 손실, 악의적인 경제 활동 (예컨대, 미인가된 프리미엄 SMS 메시지를 전송하는 것), 서비스 거부 공격 (DoS), 스파이 또는 봇넷 활동들을 위해 스마트 디바이스를 조작하거나 또는 폰을 이용하는 것에 관련된 동작들 등과 같은, 매우 다양한 바람직하지 않은 스마트 디바이스 동작들 및 특성들을 지칭하기 위해 사용된다.
여러 양태들의 동작들을 실행하기 위해 프로그래밍가능 프로세서 상에서의 실행을 위한 컴퓨터 프로그램 코드 또는 "프로그램 코드" 는 C, C++, C#, 스몰토크 (Smalltalk), 자바, 자바스크립트, 비주얼 베이직, 구조화 쿼리 언어 (예컨대, 트랜잭트-SQL), 펄 (Perl) 과 같은, 하이 레벨 프로그래밍 언어로 또는 여러 다른 프로그래밍 언어들로 기록될 수도 있다. 본 출원에서 사용되는 바와 같은 컴퓨터-판독가능 저장 매체 상에 저장되는 프로그램 코드 또는 프로그램들은 포맷이 프로세서에 의해 이해가능한 (디바이스 코드와 같은) 기계어 코드를 지칭할 수도 있다.
많은 스마트 컴퓨팅 디바이스들 운영 시스템 커널들은 사용자 공간 (여기서, 비-특권 코드 런들) 및 커널 공간 (여기서, 특권 코드 런들) 으로 편성된다. 이 분리는 안드로이드®, 및 커널 공간의 일부인 코드는 GPL 허가되어야 하지만 사용자-공간에서 실행하는 코드는 GPL 허가되지 않을 수도 있는 다른 일반 공공 라이센스 (GPL) 환경들에 특히 중요하다. 본원에서 설명되는 여러 소프트웨어 구성요소들/모듈들은 달리 명확하게 언급되지 않는 한, 커널 공간 또는 사용자 공간에서 구현될 수도 있는 것으로 이해되어야 한다.
상기 방법 설명들 및 프로세스 흐름도들은 단지 예시적인 예들로서 제공되며, 여러 양태들의 동작들이 제시된 순서로 수행되어야 한다는 것을 요구하거나 또는 암시하려고 의도된 것이 아니다. 당업자가 주지하고 있는 바와 같이 전술한 양태들에서 동작들의 순서는 임의의 순서로 수행될 수도 있다. "그후", "따라서", "다음" 등과 같은 단어들은 동작들의 순서를 제한하려고 의도되지 않으며; 이들 단어들은 방법들의 설명을 통해서 독자를 안내하기 위해서 단지 사용된다. 또, 단수형으로, 예를 들어, 한정사 "한", "하나" 또는 "그" 를 이용한, 청구항 엘리먼트들에 대한 임의의 언급은, 그 엘리먼트를 단수에 한정하는 것으로 해석되어서는 안된다.
본원에서 사용될 때, 용어들 "구성요소", "모듈", "시스템", "엔진", "발생기", "관리기", 및 기타 등등은 특정의 동작들 또는 기능들을 수행하도록 구성된, 하드웨어, 펌웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행 중 소프트웨어와 같은, 그러나 이에 한정되지 않는, 컴퓨터-관련 엔터티를 포함하도록 의도된다. 예를 들어, 구성요소는 프로세서 상에서 실행하는 프로세스, 프로세서, 디바이스, 실행가능한 것, 실행의 쓰레드, 프로그램, 및/또는 컴퓨터일 수도 있지만 이에 한정되지 않는다. 실 예로서, 컴퓨팅 디바이스 상에서 실행하는 애플리케이션 및 컴퓨팅 디바이스 양쪽이 구성요소로서 지칭될 수도 있다. 하나 이상의 구성요소들이 프로세스 및/또는 실행 쓰레드 내에 상주할 수 있으며, 구성요소는 하나의 프로세서 또는 코어 상에 로컬라이즈되거나 및/또는 2개 이상의 프로세서들 또는 코어들 사이에 분산될 수도 있다. 게다가, 이들 구성요소들은 여러 명령들 및/또는 데이터 구조들을 안에 저장하고 있는 여러 비일시성 컴퓨터 판독가능 매체들로부터 실행할 수도 있다. 구성요소들은 로컬 및/또는 원격 프로세스들, 기능 또는 프로시저 콜들, 전자 신호들, 데이터 패킷들, 메모리 판독/기록들, 및 다른 알려진 네트워크, 컴퓨터, 프로세서, 및/또는 프로세스 관련된 통신 방법론들에 의해 통신할 수도 있다.
본원에서 개시한 양태들과 관련하여 설명한 여러가지 예시적인 로직 블록들, 모듈들, 회로들, 및 알고리즘 동작들은 전자적 하드웨어, 컴퓨터 소프트웨어, 또는 양쪽의 조합들로서 구현될 수도 있다. 이러한 하드웨어와 소프트웨어의 상호 교환가능성을 명확히 예시하기 위하여, 여러가지 예시적인 구성요소들, 블록들, 모듈들, 회로들, 및 동작들 일반적으로 그들의 기능의 관점에서 위에서 설명되었다. 이런 기능이 하드웨어 또는 소프트웨어로 구현되는지 여부는 특정의 애플리케이션 및 전체 시스템에 부과되는 설계 제한 사항들에 의존한다. 숙련자들은 각각의 특정의 애플리케이션 마다 설명한 기능을 여러가지 방법으로 구현할 수도 있으며, 그러나 이런 구현 결정들이 본 발명의 범위로부터 일탈을 초래하는 것으로 해석되어서는 안된다.
본원에서 개시한 양태들과 관련하여 설명한 여러 예시적인 로직들, 로직 블록들, 모듈들, 및 회로들을 구현하기 위해 사용되는 하드웨어는 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적회로 (ASIC), 필드 프로그래밍가능 게이트 어레이 (FPGA) 또는 다른 프로그래밍가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 구성요소들, 또는 본원에서 설명한 기능들을 수행하도록 설계된 이들의 임의의 조합으로 구현되거나 또는 수행될 수도 있다. 범용 프로세서는 멀티프로세서일 수도 있으며, 그러나 대안적으로는, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합 (예컨대, DSP 와 멀티프로세서의 조합, 복수의 멀티프로세서들, DSP 코어와 결합된 하나 이상의 멀티프로세서들, 또는 임의의 다른 이러한 구성) 으로서 구현될 수도 있다. 대안적으로, 일부 동작들 또는 방법들은 주어진 기능에 특유한 회로에 의해 수행될 수도 있다.
하나 이상의 예시적인 양태들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 이 기능들은 비일시성 컴퓨터-판독가능 저장 매체 또는 비일시성 프로세서-판독가능 저장 매체에 하나 이상의 프로세서-실행가능한 명령들 또는 코드로서 저장될 수도 있다. 본원에서 개시한 방법 또는 알고리즘의 동작들은 비일시성 컴퓨터-판독가능 또는 프로세서-판독가능 저장 매체 상에 상주할 수도 있는 프로세서-실행가능한 소프트웨어 모듈에 내장될 수도 있다. 비일시성 컴퓨터-판독가능 또는 프로세서-판독가능 저장 매체들은 컴퓨터 또는 프로세서에 의해 액세스될 수도 있는 임의의 저장 매체들일 수도 있다. 비제한적인 예로서, 이런 비일시성 컴퓨터-판독가능 또는 프로세서-판독가능 매체들은 RAM, ROM, EEPROM, 플래시 메모리, CD-ROM 또는 다른 광디스크 스토리지, 자기디스크 스토리지 또는 다른 자기 저장 디바이스들, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 사용될 수도 있고 컴퓨터에 의해 액세스될 수도 있는 임의의 다른 매체를 포함할 수도 있다. 디스크 (disk) 및 디스크 (disc) 는, 본원에서 사용할 때, 컴팩트 디스크 (CD), 레이저 디스크, 광 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크, 및 블루-레이 디스크를 포함하며, 디스크들 (disks) 은 데이터를 자기적으로 보통 재생하지만, 디스크들 (discs) 은 레이저로 데이터를 광학적으로 재생한다. 앞에서 언급한 것들의 조합들이 또한 비일시성 컴퓨터-판독가능 및 프로세서-판독가능 매체들의 범위 내에 포함된다. 게다가, 방법 또는 알고리즘의 동작들은 컴퓨터 프로그램 제품에 포함될 수도 있는 비일시성 프로세서-판독가능 매체 및/또는 컴퓨터-판독가능 매체 상에, 코드들 및/또는 명령들 중 하나 또는 임의의 조합 또는 세트로 상주할 수도 있다.
개시된 양태들의 선행하는 설명은 임의의 당업자가 본 발명을 실시하고 이용할 수 있도록 제공된다. 이들 양태들에 대한 여러 변경들은 당업자들에게 쉽게 알 수 있을 것이며, 본원에서 정의하는 일반 원리들은 본 발명의 정신 또는 범위로부터 일탈함이 없이, 다른 양태들에 적용될 수도 있다. 따라서, 본 발명은 본원에서 나타낸 양태들에 한정시키려는 것이 아니라, 다음 청구범위에 부합하는 최광의의 범위 및 본원에서 개시된 원리들 및 신규한 특징들을 부여받게 하려는 것이다.

Claims (29)

  1. 디바이스 거동 정보를 익명으로 공유하는 방법으로서,
    제 1 디바이스의 프로세서에 의해, 비정상적인 거동을 검출하는 것에 응답하여, 사용자-식별 정보를 제거하여 익명화된 디바이스 거동 벡터를 발생시키기 위해 디바이스 거동 벡터를 익명화하는 단계; 및
    상기 제 1 디바이스의 트랜시버에 의해, 상기 익명화된 디바이스 거동 벡터를 네트워크를 통해서 원격 서버로 송신하는 단계를 포함하는, 디바이스 거동 정보를 익명으로 공유하는 방법.
  2. 제 1 항에 있어서,
    상기 제 1 디바이스의 상기 프로세서에 의해, 디바이스 구성요소들로부터 거동 정보를 수집함으로써 소정 기간에 걸쳐 상기 디바이스의 거동을 모니터링하는 단계;
    상기 제 1 디바이스의 상기 프로세서에 의해, 상기 디바이스의 수집된 거동 정보를 이용하여 디바이스 거동 벡터를 구축하는 단계; 및
    상기 제 1 디바이스의 상기 프로세서에 의해, 상기 비정상적인 거동을 검출하기 위해 디바이스 거동 벡터를 분석하는 단계를 더 포함하는, 디바이스 거동 정보를 익명으로 공유하는 방법.
  3. 제 1 항에 있어서,
    제 2 디바이스의 프로세서에 의해, 디바이스 구성요소들로부터 거동 정보를 수집함으로써 소정 기간에 걸쳐 상기 제 2 디바이스의 거동을 모니터링하는 단계;
    상기 제 2 디바이스의 송신기에 의해, 수집된 거동 정보를 상기 제 1 디바이스로 송신하는 단계;
    상기 제 1 디바이스의 상기 프로세서에 의해, 상기 제 2 디바이스의 수집된 거동 정보를 이용하여 디바이스 거동 벡터를 구축하는 단계; 및
    상기 제 1 디바이스의 상기 프로세서에 의해, 상기 비정상적인 거동을 검출하기 위해 디바이스 거동 벡터를 분석하는 단계를 더 포함하는, 디바이스 거동 정보를 익명으로 공유하는 방법.
  4. 제 1 항에 있어서,
    제 2 디바이스의 프로세서에 의해, 디바이스 구성요소들로부터 거동 정보를 수집함으로써 소정 기간에 걸쳐 상기 제 2 디바이스의 거동을 모니터링하는 단계;
    상기 제 2 디바이스의 송신기에 의해, 수집된 거동 정보를 제 3 디바이스로 송신하는 단계;
    상기 제 3 디바이스의 프로세서에 의해, 상기 제 2 디바이스로부터 수신된 수집된 거동 정보를 이용하여 디바이스 거동 벡터를 구축하는 단계;
    상기 제 3 디바이스의 트랜시버에 의해, 상기 디바이스 거동 벡터를 상기 제 1 디바이스로 송신하는 단계; 및
    상기 제 1 디바이스의 상기 프로세서에 의해, 상기 비정상적인 거동을 검출하기 위해 디바이스 거동 벡터를 분석하는 단계를 더 포함하는, 디바이스 거동 정보를 익명으로 공유하는 방법.
  5. 제 4 항에 있어서,
    제 3 디바이스의 상기 프로세서에 의해, 디바이스 구성요소들로부터 거동 정보를 수집함으로써 소정 기간에 걸쳐 상기 제 3 디바이스의 거동을 모니터링하는 단계;
    상기 제 3 디바이스의 상기 프로세서에 의해, 상기 제 3 디바이스의 수집된 거동 정보를 이용하여 제 3 디바이스 거동 벡터를 구축하는 단계;
    상기 제 3 디바이스의 트랜시버에 의해, 상기 제 3 디바이스 거동 벡터를 상기 제 1 디바이스로 송신하는 단계; 및
    상기 제 1 디바이스의 상기 프로세서에 의해, 비정상적인 거동을 검출하기 위해 상기 제 3 디바이스 거동 벡터를 분석하는 단계를 더 포함하는, 디바이스 거동 정보를 익명으로 공유하는 방법.
  6. 제 1 항에 있어서,
    제 2 디바이스의 프로세서에 의해, 디바이스 구성요소들로부터 거동 정보를 수집함으로써 소정 기간에 걸쳐 상기 제 2 디바이스의 거동을 모니터링하는 단계;
    상기 제 2 디바이스의 송신기에 의해, 수집된 거동 정보를 제 3 디바이스로 송신하는 단계;
    상기 제 3 디바이스의 프로세서에 의해, 상기 제 2 디바이스로부터 수신된 수집된 거동 정보를 이용하여 디바이스 거동 벡터를 구축하는 단계;
    상기 제 3 디바이스의 상기 프로세서에 의해, 비정상적인 거동을 분석하기 위해 상기 디바이스 거동 벡터를 분석하는 단계; 및
    상기 제 3 디바이스의 트랜시버에 의해, 비정상적인 거동을 검출하는 것에 응답하여, 상기 디바이스 거동 벡터를 상기 제 1 디바이스로 송신하는 단계를 더 포함하는, 디바이스 거동 정보를 익명으로 공유하는 방법.
  7. 제 6 항에 있어서,
    제 3 디바이스의 상기 프로세서에 의해, 디바이스 구성요소들로부터 거동 정보를 수집함으로써 소정 기간에 걸쳐 상기 제 3 디바이스의 거동을 모니터링하는 단계;
    상기 제 3 디바이스의 상기 프로세서에 의해, 상기 제 3 디바이스의 수집된 거동 정보를 이용하여 제 3 디바이스 거동 벡터를 구축하는 단계;
    상기 제 3 디바이스의 상기 프로세서에 의해, 비정상적인 거동을 검출하기 위해 상기 제 3 디바이스 거동 벡터를 분석하는 단계; 및
    비정상적인 거동을 검출하는 것에 응답하여, 상기 제 3 디바이스의 트랜시버에 의해, 상기 제 3 디바이스 거동 벡터를 상기 제 1 디바이스로 송신하는 단계를 더 포함하는, 디바이스 거동 정보를 익명으로 공유하는 방법.
  8. 제 1 항에 있어서,
    비정상적인 거동을 검출하는 것에 응답하여, 상기 제 1 디바이스의 상기 프로세서에 의해, 피처 벡터를 발생시키는 단계로서, 상기 피처 벡터는 검출된 비정상적인 거동과 연관되는, 상기 피처 벡터를 발생시키는 단계;
    상기 제 1 디바이스의 상기 프로세서에 의해, 상기 피처 벡터를 제 1 디바이스와 로컬 통신하는 하나 이상의 디바이스들로 송신하는 단계; 및
    상기 하나 이상의 디바이스들의 프로세서들에 의해, 상기 피처 벡터에 포함된 피처에 관련된 거동을 모니터링하는 단계를 더 포함하는, 디바이스 거동 정보를 익명으로 공유하는 방법.
  9. 제 1 항에 있어서,
    상기 제 1 디바이스의 상기 트랜시버에 의해, 원격 서버로부터, 제 1 디바이스와 로컬 통신하는 하나 이상의 디바이스들에 관련된 하나 이상의 피처 벡터들을 수신하는 단계;
    상기 제 1 디바이스의 상기 프로세서에 의해, 상기 하나 이상의 피처 벡터들을 상기 제 1 디바이스와 로컬 통신하는 상기 하나 이상의 디바이스들로 송신하는 단계; 및
    상기 하나 이상의 디바이스들의 프로세서들에 의해, 상기 하나 이상의 피처 벡터에 포함된 피처들에 관련된 거동을 모니터링하는 단계를 더 포함하는, 디바이스 거동 정보를 익명으로 공유하는 방법.
  10. 제 1 항에 있어서,
    상기 디바이스 거동 벡터를 익명화하는 단계는,
    상기 디바이스 거동 벡터에, 상기 제 1 디바이스에 고유한 익명화기 모델을 적용하는 단계를 포함하는, 디바이스 거동 정보를 익명으로 공유하는 방법.
  11. 멀티-기술 통신 디바이스로서,
    안테나; 및
    상기 안테나에 통신가능하게 접속되며 동작들을 수행하는 프로세서-실행가능한 명령들로 구성된 프로세서를 포함하며,
    상기 동작들은,
    비정상적인 거동을 검출하는 것에 응답하여 사용자-식별 정보를 제거하여 익명화된 디바이스 거동 벡터를 발생시키기 위해 디바이스의 디바이스 거동 벡터를 익명화하는 것; 및
    상기 익명화된 디바이스 거동 벡터를 네트워크를 통해서 원격 서버로 송신하는 것을 포함하는, 멀티-기술 통신 디바이스.
  12. 제 11 항에 있어서,
    상기 프로세서는,
    디바이스 구성요소들로부터 거동 정보를 수집함으로써 소정 기간에 걸쳐 상기 디바이스의 거동을 모니터링하는 것,
    상기 디바이스의 수집된 거동 정보를 이용하여 디바이스 거동 벡터를 구축하는 것; 및
    비정상적인 거동을 검출하기 위해 상기 디바이스 거동 벡터를 분석하는 것을 더 포함하는 동작들을 수행하는 프로세서-실행가능한 명령들로 구성되는, 멀티-기술 통신 디바이스.
  13. 제 11 항에 있어서,
    상기 프로세서는,
    비정상적인 거동을 검출하는 것에 응답하여 피처 벡터를 발생시키는 것으로서, 상기 피처 벡터는 검출된 비정상적인 거동과 연관되는, 상기 피처 벡터를 발생시키는 것;
    상기 피처 벡터를 제 1 디바이스와 로컬 통신하는 하나 이상의 디바이스들로 송신하는 것; 및
    상기 피처 벡터에 포함된 피처에 관련된 거동을 모니터링하는 것을 더 포함하는 동작들을 수행하는 프로세서-실행가능한 명령들로 구성되는, 멀티-기술 통신 디바이스.
  14. 제 11 항에 있어서,
    상기 프로세서는,
    원격 서버로부터, 제 1 디바이스와 로컬 통신하는 하나 이상의 디바이스들에 관련된 하나 이상의 피처 벡터들을 수신하는 것;
    상기 하나 이상의 피처 벡터들을 상기 제 1 디바이스와 로컬 통신하는 상기 하나 이상의 디바이스들로 송신하는 것; 및
    상기 하나 이상의 피처 벡터에 포함된 피처들에 관련된 거동을 모니터링하는 것을 더 포함하는 동작들을 수행하는 프로세서-실행가능한 명령들로 구성되는, 멀티-기술 통신 디바이스.
  15. 제 11 항에 있어서,
    상기 프로세서는,
    상기 디바이스 거동 벡터를 익명화하는 것이 상기 디바이스 거동 벡터에 상기 디바이스에 고유한 익명화기 모델을 적용하는 것을 포함하도록 동작들을 수행하는 프로세서-실행가능한 명령들로 구성되는, 멀티-기술 통신 디바이스.
  16. 통신 시스템으로서,
    로컬 무선 네트워크 및 통신 네트워크를 통해서 데이터를 수신하고 송신하도록 구성된 제 1 디바이스;
    로컬 무선 네트워크를 통해서 데이터를 수신하고 송신하도록 구성된 제 2 디바이스; 및
    로컬 무선 네트워크를 통해서 데이터를 송신하도록 구성된 제 3 디바이스를 포함하며,
    상기 제 1 디바이스는,
    비정상적인 거동을 검출하는 것에 응답하여, 사용자-식별 정보를 제거하여 익명화된 디바이스 거동 벡터를 발생시키기 위해 디바이스 거동 벡터를 익명화하는 것; 및
    상기 익명화된 디바이스 거동 벡터를 네트워크를 통해서 원격 서버로 송신하는 것을 더 포함하는 동작들을 수행하는 프로세서-실행가능한 명령들로 구성된 프로세서를 가지는 멀티-기술 통신 디바이스를 포함하며,
    상기 제 2 디바이스는 프로세서-실행가능한 명령들로 구성된 프로세서를 포함하며,
    상기 제 1 디바이스는 프로세서-실행가능한 명령들로 구성된 프로세서를 가지는 디바이스를 포함하는, 통신 시스템.
  17. 제 16 항에 있어서,
    상기 제 1 디바이스의 상기 프로세서는,
    디바이스 구성요소들로부터 거동 정보를 수집함으로써 소정 기간에 걸쳐 상기 디바이스의 거동을 모니터링하는 것;
    상기 디바이스의 수집된 거동 정보를 이용하여 디바이스 거동 벡터를 구축하는 것; 및
    비정상적인 거동을 검출하기 위해 상기 디바이스 거동 벡터를 분석하는 것을 더 포함하는 동작들을 수행하는 프로세서-실행가능한 명령들로 구성되는, 통신 시스템.
  18. 제 16 항에 있어서,
    상기 제 2 디바이스의 상기 프로세서는,
    디바이스 구성요소들로부터 거동 정보를 수집함으로써 소정 기간에 걸쳐 상기 제 2 디바이스의 거동을 모니터링하는 것; 및
    수집된 거동 정보를 상기 제 1 디바이스로 송신하는 것을 더 포함하는 동작들을 수행하는 프로세서-실행가능한 명령들로 구성되며,
    상기 제 1 디바이스의 상기 프로세서는,
    상기 제 2 디바이스의 수집된 거동 정보를 이용하여 디바이스 거동 벡터를 구축하는 것; 및
    비정상적인 거동을 검출하기 위해 상기 디바이스 거동 벡터를 분석하는 것을 더 포함하는 동작들을 수행하는 프로세서-실행가능한 명령들로 구성되는, 통신 시스템.
  19. 제 16 항에 있어서,
    상기 제 2 디바이스의 상기 프로세서는,
    디바이스 구성요소들로부터 거동 정보를 수집함으로써 소정 기간에 걸쳐 상기 제 2 디바이스의 거동을 모니터링하는 것; 및
    수집된 거동 정보를 제 3 디바이스로 송신하는 것을 더 포함하는 동작들을 수행하는 프로세서-실행가능한 명령들로 구성되며,
    상기 제 3 디바이스의 상기 프로세서는,
    상기 제 2 디바이스로부터 수신된 수집된 거동 정보를 이용하여 디바이스 거동 벡터를 구축하는 것; 및
    상기 디바이스 거동 벡터를 상기 제 1 디바이스로 송신하는 것을 더 포함하는 동작들을 수행하는 프로세서-실행가능한 명령들로 더 구성되며,
    상기 제 1 디바이스의 상기 프로세서는,
    상기 제 1 디바이스의 상기 프로세서에 의해, 상기 비정상적인 거동을 검출하기 위해 디바이스 거동 벡터를 분석하는 것을 더 포함하는 동작들을 수행하는 프로세서-실행가능한 명령들로 구성되는, 통신 시스템.
  20. 제 19 항에 있어서,
    상기 제 3 디바이스의 상기 프로세서는,
    디바이스 구성요소들로부터 거동 정보를 수집함으로써 소정 기간에 걸쳐 상기 제 3 디바이스의 거동을 모니터링하는 것;
    상기 제 3 디바이스의 수집된 거동 정보를 이용하여 제 3 디바이스 거동 벡터를 구축하는 것; 및
    상기 제 3 디바이스 거동 벡터를 상기 제 1 디바이스로 송신하는 것을 더 포함하는 동작들을 수행하는 프로세서-실행가능한 명령들로 구성되며,
    상기 제 1 디바이스의 상기 프로세서는,
    비정상적인 거동을 검출하기 위해 상기 제 3 디바이스 거동 벡터를 분석하는 것을 더 포함하는 동작들을 수행하는 프로세서-실행가능한 명령들로 구성되는, 통신 시스템.
  21. 제 16 항에 있어서,
    상기 제 2 디바이스의 상기 프로세서는,
    디바이스 구성요소들로부터 거동 정보를 수집함으로써 소정 기간에 걸쳐 상기 제 2 디바이스의 거동을 모니터링하는 것; 및
    수집된 거동 정보를 상기 제 3 디바이스로 송신하는 것을 더 포함하는 동작들을 수행하는 프로세서-실행가능한 명령들로 구성되며,
    상기 제 3 디바이스의 상기 프로세서는,
    상기 제 2 디바이스로부터 수신된 수집된 거동 정보를 이용하여 디바이스 거동 벡터를 구축하는 것;
    비정상적인 거동을 검출하기 위해 상기 디바이스 거동 벡터를 분석하는 것; 및
    비정상적인 거동을 검출하는 것에 응답하여 상기 디바이스 거동 벡터를 상기 제 1 디바이스로 송신하는 것을 더 포함하는 동작들을 수행하는 프로세서-실행가능한 명령들로 구성되는, 통신 시스템.
  22. 제 21 항에 있어서,
    상기 제 3 디바이스의 상기 프로세서는,
    디바이스 구성요소들로부터 거동 정보를 수집함으로써 소정 기간에 걸쳐 상기 제 3 디바이스의 거동을 모니터링하는 것;
    상기 제 3 디바이스의 수집된 거동 정보를 이용하여 제 3 디바이스 거동 벡터를 구축하는 것;
    비정상적인 거동을 검출하기 위해 상기 제 3 디바이스 거동 벡터를 분석하는 것; 및
    비정상적인 거동을 검출하는 것에 응답하여 상기 제 3 디바이스 거동 벡터를 상기 제 1 디바이스로 송신하는 것을 더 포함하는 동작들을 수행하는 프로세서-실행가능한 명령들로 구성되는, 통신 시스템.
  23. 제 16 항에 있어서,
    상기 제 1 디바이스의 상기 프로세서는,
    비정상적인 거동을 검출하는 것에 응답하여 피처 벡터를 발생시키는 것으로서, 상기 피처 벡터는 검출된 비정상적인 거동과 연관되는, 상기 피처 벡터를 발생시키는 것;
    상기 피처 벡터를 제 1 디바이스와 로컬 통신하는 하나 이상의 디바이스들로 송신하는 것을 더 포함하는 동작들을 수행하는 프로세서-실행가능한 명령들로 구성되며,
    상기 제 1, 제 2, 및 제 3 디바이스들의 상기 프로세서들은,
    상기 피처 벡터에 포함된 피처에 관련된 거동을 모니터링하는 프로세서-실행가능한 명령들로 더 구성되는, 통신 시스템.
  24. 제 16 항에 있어서,
    상기 제 1 디바이스의 상기 프로세서는,
    원격 서버로부터, 제 1 디바이스와 로컬 통신하는 하나 이상의 디바이스들에 관련된 하나 이상의 피처 벡터들을 수신하는 것; 및
    상기 하나 이상의 피처 벡터들을 상기 제 1 디바이스와 로컬 통신하는 상기 하나 이상의 디바이스들로 송신하는 것을 더 포함하는 동작들을 수행하는 프로세서-실행가능한 명령들로 구성되며,
    상기 제 1, 제 2, 및 제 3 디바이스들의 상기 프로세서들은,
    상기 하나 이상의 피처 벡터에 포함된 피처들에 관련된 거동을 모니터링하는 것을 더 포함하는 동작들을 수행하는 프로세서-실행가능한 명령들로 구성되는, 통신 시스템.
  25. 멀티-기술 통신 디바이스의 프로세서로 하여금, 동작들을 수행하게 하는 프로세서-실행가능한 소프트웨어 명령들을 저장하고 있는 비일시성 프로세서-판독가능 매체로서,
    상기 동작들은,
    비정상적인 거동을 검출하는 것에 응답하여 사용자-식별 정보를 제거하여 익명화된 디바이스 거동 벡터를 발생시키기 위해 디바이스의 디바이스 거동 벡터를 익명화하는 것; 및
    상기 익명화된 디바이스 거동 벡터를 네트워크를 통해서 원격 서버로 송신하는 것을 포함하는, 비일시성 프로세서-판독가능 매체.
  26. 제 25 항에 있어서,
    상기 저장된 프로세서-실행가능한 소프트웨어 명령들은, 멀티-기술 통신 디바이스의 프로세서로 하여금,
    디바이스 구성요소들로부터 거동 정보를 수집함으로써 소정 기간에 걸쳐 상기 디바이스의 거동을 모니터링하는 것;
    상기 디바이스의 수집된 거동 정보를 이용하여 디바이스 거동 벡터를 구축하는 것; 및
    비정상적인 거동을 검출하기 위해 상기 디바이스 거동 벡터를 분석하는 것을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비일시성 프로세서-판독가능 매체.
  27. 제 25 항에 있어서,
    상기 저장된 프로세서-실행가능한 소프트웨어 명령들은, 멀티-기술 통신 디바이스의 프로세서로 하여금,
    비정상적인 거동을 검출하는 것에 응답하여 피처 벡터를 발생시키는 것으로서, 상기 피처 벡터는 검출된 비정상적인 거동과 연관되는, 상기 피처 벡터를 발생시키는 것;
    상기 피처 벡터를 제 1 디바이스와 로컬 통신하는 하나 이상의 디바이스들로 송신하는 것; 및
    상기 피처 벡터에 포함된 피처에 관련된 거동을 모니터링하는 것을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비일시성 프로세서-판독가능 매체.
  28. 제 25 항에 있어서,
    상기 저장된 프로세서-실행가능한 소프트웨어 명령들은, 멀티-기술 통신 디바이스의 프로세서로 하여금,
    원격 서버로부터, 제 1 디바이스와 로컬 통신하는 하나 이상의 디바이스들에 관련된 하나 이상의 피처 벡터들을 수신하는 것;
    상기 하나 이상의 피처 벡터들을 상기 제 1 디바이스와 로컬 통신하는 상기 하나 이상의 디바이스들로 송신하는 것; 및
    상기 하나 이상의 피처 벡터에 포함된 피처들에 관련된 거동을 모니터링하는 것을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비일시성 프로세서-판독가능 매체.
  29. 제 25 항에 있어서,
    상기 저장된 프로세서-실행가능한 소프트웨어 명령들은, 멀티-기술 통신 디바이스의 프로세서로 하여금,
    상기 디바이스 거동 벡터를 익명화하는 것이 상기 디바이스 거동 벡터에, 상기 디바이스에 고유한 익명화기 모델을 적용하는 것을 포함하도록, 동작들을 수행하게 하도록 구성되는, 비일시성 프로세서-판독가능 매체.
KR1020177025709A 2015-03-18 2016-02-19 특징화된 디바이스 거동들의 자동화된 익명의 크라우드소싱을 위한 방법들 및 시스템들 KR20170128300A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/661,195 2015-03-18
US14/661,195 US10063585B2 (en) 2015-03-18 2015-03-18 Methods and systems for automated anonymous crowdsourcing of characterized device behaviors
PCT/US2016/018669 WO2016148840A1 (en) 2015-03-18 2016-02-19 Methods and systems for automated anonymous crowdsourcing of characterized device behaviors

Publications (1)

Publication Number Publication Date
KR20170128300A true KR20170128300A (ko) 2017-11-22

Family

ID=55447173

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177025709A KR20170128300A (ko) 2015-03-18 2016-02-19 특징화된 디바이스 거동들의 자동화된 익명의 크라우드소싱을 위한 방법들 및 시스템들

Country Status (6)

Country Link
US (1) US10063585B2 (ko)
EP (1) EP3271860B1 (ko)
JP (1) JP2018513467A (ko)
KR (1) KR20170128300A (ko)
CN (1) CN107430660B (ko)
WO (1) WO2016148840A1 (ko)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2526501A (en) 2013-03-01 2015-11-25 Redowl Analytics Inc Modeling social behavior
US20140249785A1 (en) 2013-03-01 2014-09-04 RedOwl Analytics, Inc. Modeling social behavior
US9774604B2 (en) * 2015-01-16 2017-09-26 Zingbox, Ltd. Private cloud control
US9680646B2 (en) * 2015-02-05 2017-06-13 Apple Inc. Relay service for communication between controllers and accessories
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
WO2016202546A1 (en) * 2015-06-16 2016-12-22 Asml Netherlands B.V. Methods for defect validation
US10863139B2 (en) * 2015-09-07 2020-12-08 Nokia Technologies Oy Privacy preserving monitoring
EP3420700B8 (en) * 2016-02-24 2022-05-18 Mandiant, Inc. Systems and methods for attack simulation on a production network
US10275955B2 (en) * 2016-03-25 2019-04-30 Qualcomm Incorporated Methods and systems for utilizing information collected from multiple sensors to protect a vehicle from malware and attacks
US10341391B1 (en) * 2016-05-16 2019-07-02 EMC IP Holding Company LLC Network session based user behavior pattern analysis and associated anomaly detection and verification
US20180049003A1 (en) * 2016-08-11 2018-02-15 Reid Jonathon Maulsby Passive and active location tracking for mobile devices
US20180069878A1 (en) * 2016-09-02 2018-03-08 Iboss, Inc. Malware detection for proxy server networks
US11228567B2 (en) * 2016-10-20 2022-01-18 Oklahoma Blood Institute System and method for receiver to anonymous donor communication
US11038848B2 (en) * 2016-10-20 2021-06-15 Oklahoma Blood Institute System and method for receiver to anonymous donor communications
US10380348B2 (en) 2016-11-21 2019-08-13 ZingBox, Inc. IoT device risk assessment
EP3343968B1 (en) * 2016-12-30 2021-08-11 u-blox AG Monitoring apparatus, device monitoring system and method of monitoring a plurality of networked devices
US11888859B2 (en) 2017-05-15 2024-01-30 Forcepoint Llc Associating a security risk persona with a phase of a cyber kill chain
US10460115B2 (en) * 2017-05-15 2019-10-29 International Business Machines Corporation Data anonymity
US10129269B1 (en) * 2017-05-15 2018-11-13 Forcepoint, LLC Managing blockchain access to user profile information
US10999296B2 (en) 2017-05-15 2021-05-04 Forcepoint, LLC Generating adaptive trust profiles using information derived from similarly situated organizations
US10740212B2 (en) * 2017-06-01 2020-08-11 Nec Corporation Content-level anomaly detector for systems with limited memory
US20180365197A1 (en) * 2017-06-16 2018-12-20 Microsoft Technology Licensing, Llc Automatic upload and instant preview generation of locally unsupported files
GB2553419B (en) 2017-07-11 2018-12-12 Spatialbuzz Ltd Fault monitoring in a utility supply network
US10318729B2 (en) * 2017-07-26 2019-06-11 Forcepoint, LLC Privacy protection during insider threat monitoring
US11070568B2 (en) 2017-09-27 2021-07-20 Palo Alto Networks, Inc. IoT device management visualization
US20190104141A1 (en) * 2017-10-02 2019-04-04 Zuk Avraham System and Method for Providing and Facilitating an Information Security Marketplace
US11082296B2 (en) 2017-10-27 2021-08-03 Palo Alto Networks, Inc. IoT device grouping and labeling
US10803178B2 (en) 2017-10-31 2020-10-13 Forcepoint Llc Genericized data model to perform a security analytics operation
US10897470B2 (en) * 2018-01-31 2021-01-19 Hewlett Packard Enterprise Development Lp Detecting attacks on computing devices
CN110365468B (zh) 2018-04-11 2021-09-14 华为技术有限公司 匿名化处理方法、装置、设备及存储介质
US11314787B2 (en) 2018-04-18 2022-04-26 Forcepoint, LLC Temporal resolution of an entity
DK3625102T3 (da) 2018-05-15 2020-11-02 Cylus Cyber Security Ltd Jernbanecybersikkerhedssystem
CN108921047B (zh) * 2018-06-12 2021-11-26 江西理工大学 一种基于跨层融合的多模型投票均值动作识别方法
CN112640381B (zh) * 2018-06-18 2024-03-08 帕洛阿尔托网络公司 检测物联网设备的不合期望的行为的方法和系统
US11755584B2 (en) 2018-07-12 2023-09-12 Forcepoint Llc Constructing distributions of interrelated event features
US11810012B2 (en) 2018-07-12 2023-11-07 Forcepoint Llc Identifying event distributions using interrelated events
US10949428B2 (en) 2018-07-12 2021-03-16 Forcepoint, LLC Constructing event distributions via a streaming scoring operation
US11436512B2 (en) 2018-07-12 2022-09-06 Forcepoint, LLC Generating extracted features from an event
US11025638B2 (en) 2018-07-19 2021-06-01 Forcepoint, LLC System and method providing security friction for atypical resource access requests
JP7154884B2 (ja) * 2018-08-28 2022-10-18 株式会社Ye Digital 情報秘匿化方法、情報秘匿化プログラム、情報秘匿化装置および情報提供システム
US11811799B2 (en) 2018-08-31 2023-11-07 Forcepoint Llc Identifying security risks using distributions of characteristic features extracted from a plurality of events
US10951590B2 (en) 2018-09-17 2021-03-16 Ford Global Technologies, Llc User anonymity through data swapping
US11710035B2 (en) 2018-09-28 2023-07-25 Apple Inc. Distributed labeling for supervised learning
US11025659B2 (en) 2018-10-23 2021-06-01 Forcepoint, LLC Security system using pseudonyms to anonymously identify entities and corresponding security risk related behaviors
US20220038892A1 (en) * 2018-10-26 2022-02-03 Eureka Analytics Pte Ltd Mathematical Summaries of Telecommunications Data for Data Analytics
US11171980B2 (en) 2018-11-02 2021-11-09 Forcepoint Llc Contagion risk detection, analysis and protection
US11451571B2 (en) 2018-12-12 2022-09-20 Palo Alto Networks, Inc. IoT device risk assessment and scoring
US11689573B2 (en) 2018-12-31 2023-06-27 Palo Alto Networks, Inc. Multi-layered policy management
US11057409B1 (en) * 2019-01-16 2021-07-06 Akitra, Inc. Apparatus having engine using artificial intelligence for detecting anomalies in a computer network
DE102019205033A1 (de) * 2019-04-09 2020-10-15 Audi Ag Verfahren zum anonymisierten Bereitstellen von Daten eines ersten Fahrzeugs für eine fahrzeugexterne Servereinrichtung sowie Anonymisierungsvorrichtung und Kraftfahrzeug
US12001572B2 (en) * 2019-05-13 2024-06-04 Snap One, Llc Systems and methods for generating artificial automation data to protect actual automation data
LT3799589T (lt) 2019-05-16 2022-09-26 Cylus Cyber Security Ltd. Saviorganizuojantis kibernetinis geležinkelio saugos valdiklis
US11611532B1 (en) * 2019-05-30 2023-03-21 Cable Television Laboratories, Inc. Systems and methods for network security model
US11115289B1 (en) 2019-05-30 2021-09-07 Cable Television Laboratories, Inc. Systems and methods for network security model
US11537985B2 (en) * 2019-09-26 2022-12-27 International Business Machines Corporation Anonymous inventory tracking system
GB2588905A (en) * 2019-11-13 2021-05-19 British Telecomm Device classification based network security
GB201916466D0 (en) * 2019-11-13 2019-12-25 British Telecomm Device communication class based network security
US11463416B1 (en) * 2019-12-13 2022-10-04 Amazon Technologies, Inc. Automatic detection of personal information in cloud-based infrastructure configurations
US11489862B2 (en) 2020-01-22 2022-11-01 Forcepoint Llc Anticipating future behavior using kill chains
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
US11429697B2 (en) 2020-03-02 2022-08-30 Forcepoint, LLC Eventually consistent entity resolution
US11836265B2 (en) 2020-03-02 2023-12-05 Forcepoint Llc Type-dependent event deduplication
WO2021195889A1 (zh) * 2020-03-30 2021-10-07 华为技术有限公司 一种关于定位置信度的控制方法及装置
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
US11816193B2 (en) * 2020-04-20 2023-11-14 Cisco Technology, Inc. Secure automated issue detection
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
US11115799B1 (en) 2020-06-01 2021-09-07 Palo Alto Networks, Inc. IoT device discovery and identification
EP4104084A1 (en) * 2020-07-14 2022-12-21 Google LLC Systems and methods of delegated analytics collection
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
US11627011B1 (en) * 2020-11-04 2023-04-11 T-Mobile Innovations Llc Smart device network provisioning
US11676591B1 (en) 2020-11-20 2023-06-13 T-Mobite Innovations Llc Smart computing device implementing artificial intelligence electronic assistant
US11374781B1 (en) 2020-11-30 2022-06-28 Sprint Communications Company L.P. Smart device spectrum assignment
GB2608592B (en) * 2021-06-29 2024-01-24 British Telecomm Network security
US11552975B1 (en) 2021-10-26 2023-01-10 Palo Alto Networks, Inc. IoT device identification with packet flow behavior machine learning model
CN114863517B (zh) * 2022-04-22 2024-06-07 支付宝(杭州)信息技术有限公司 一种面部识别中的风险控制方法、装置以及设备

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101202652B (zh) * 2006-12-15 2011-05-04 北京大学 网络应用流量分类识别装置及其方法
US10664889B2 (en) * 2008-04-01 2020-05-26 Certona Corporation System and method for combining and optimizing business strategies
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
US8533844B2 (en) * 2008-10-21 2013-09-10 Lookout, Inc. System and method for security data collection and analysis
US8627475B2 (en) 2010-04-08 2014-01-07 Microsoft Corporation Early detection of potential malware
EP2570974B1 (en) 2011-09-13 2018-11-28 ExB Asset Management GmbH Automatic crowd sourcing for machine learning in information extraction
AU2012338372A1 (en) 2011-09-19 2014-03-27 Tata Consultancy Services Limited A computing platform for development and deployment of sensor data based applications and services
US9934229B2 (en) * 2011-10-23 2018-04-03 Microsoft Technology Licensing, Llc Telemetry file hash and conflict detection
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
US20140287723A1 (en) 2012-07-26 2014-09-25 Anonos Inc. Mobile Applications For Dynamic De-Identification And Anonymity
US9747440B2 (en) 2012-08-15 2017-08-29 Qualcomm Incorporated On-line behavioral analysis engine in mobile device with multiple analyzer model providers
US20140196139A1 (en) * 2013-01-07 2014-07-10 Richard A. Ferdinand Privacy protected internet networks, subnetworks and sub-subnetworks
WO2014138115A1 (en) 2013-03-05 2014-09-12 Pierce Global Threat Intelligence, Inc Systems and methods for detecting and preventing cyber-threats

Also Published As

Publication number Publication date
JP2018513467A (ja) 2018-05-24
WO2016148840A1 (en) 2016-09-22
CN107430660A (zh) 2017-12-01
CN107430660B (zh) 2020-06-09
EP3271860B1 (en) 2019-10-23
US20160277435A1 (en) 2016-09-22
EP3271860A1 (en) 2018-01-24
US10063585B2 (en) 2018-08-28

Similar Documents

Publication Publication Date Title
EP3271860B1 (en) Methods and systems for automated anonymous crowdsourcing of characterized device behaviors
KR101840156B1 (ko) 바이탈 애플리케이션들의 타겟화된 보호를 위해 애플리케이션-특정 모델들을 생성하는 방법들 및 시스템들
KR101829114B1 (ko) 모바일 디바이스에 대한 거동 특징들의 적응적 관찰
EP3117361B1 (en) Behavioral analysis for securing peripheral devices
US9690635B2 (en) Communicating behavior information in a mobile computing device
US9609456B2 (en) Methods, devices, and systems for communicating behavioral analysis information
TWI530141B (zh) 動態地產生及使用裝置特定及裝置狀態特定之分類器模型以高效率分類行動裝置行為之方法及系統
JP6235000B2 (ja) クライアントクラウド挙動アナライザのためのアーキテクチャ
JP6258970B2 (ja) モバイルデバイス挙動の効率的分類のために増強決定株ならびに連動した特徴選択および選別アルゴリズムを使用する方法およびシステム
US9357397B2 (en) Methods and systems for detecting malware and attacks that target behavioral security mechanisms of a mobile device
EP2850865B1 (en) Minimizing latency of behavioral analysis using signature caches
US20160232353A1 (en) Determining Model Protection Level On-Device based on Malware Detection in Similar Devices