TW201738798A - 用於智慧偵測在客戶端計算設備和企業網路上的惡意軟體和攻擊的方法和系統 - Google Patents

用於智慧偵測在客戶端計算設備和企業網路上的惡意軟體和攻擊的方法和系統 Download PDF

Info

Publication number
TW201738798A
TW201738798A TW106110722A TW106110722A TW201738798A TW 201738798 A TW201738798 A TW 201738798A TW 106110722 A TW106110722 A TW 106110722A TW 106110722 A TW106110722 A TW 106110722A TW 201738798 A TW201738798 A TW 201738798A
Authority
TW
Taiwan
Prior art keywords
computing device
software application
client computing
processor
benign
Prior art date
Application number
TW106110722A
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 TW201738798A publication Critical patent/TW201738798A/zh

Links

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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/606Protecting data by securing the transmission between two devices or processes
    • 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
    • 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
    • H04W12/128Anti-malware arrangements, e.g. protection against SMS fraud or mobile malware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • 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
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Virology (AREA)
  • Bioethics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

經由配置伺服器計算設備與網路中的設備結合工作,來保護網路及其設備免受由下載軟體引起的非良性行為、惡意軟體和網路攻擊。伺服器計算設備可以被配置為:從應用下載服務接收軟體應用;建立到網路中的客戶端計算設備的安全通訊鏈路;經由安全通訊鏈路從客戶端計算設備接收執行資訊;使用接收到的執行資訊來在客戶端計算設備模擬器中執行接收到的軟體應用以辨識一或多個行為;及決定辨識出的行為是否是良性的。伺服器計算設備可以回應於決定辨識出的行為是良性的,而將軟體應用發送給客戶端計算設備;及回應於決定辨識出的行為是非良性的,而隔離軟體應用。

Description

用於智慧偵測在客戶端計算設備和企業網路上的惡意軟體和攻擊的方法和系統
本發明係關於用於智慧偵測在客戶端計算設備和企業網路上的惡意軟體和攻擊的方法和系統。
蜂巢和無線通訊技術在過去幾年中得到了爆炸性的增長。無線服務提供者現在提供大量特徵和服務,它們向其使用者提供對資訊、資源和通訊的前所未有的水平的存取。為了與這些改進保持同步,消費者電子設備(例如,蜂巢式電話、手錶、耳機、遠端控制等)比以前更強大且複雜,並且現在通常包括強大的處理器、大型記憶體、以及允許在其設備上執行複雜和強大的軟體應用的其他資源。這些設備亦使得其使用者能夠從應用下載服務(例如,Apple® App Store、Windows® Store、Google® play等)或網際網路下載和執行多種軟體應用。
由於這些和其他改進,越來越多的行動和無線設備使用者現在使用他們的設備來儲存敏感資訊(例如,信用卡資訊、連絡人等)及/或完成安全性重要的任務。例如,行動設備使用者頻繁地使用他們的設備來購買商品、發送和接收敏感通訊、支付帳單、管理銀行帳戶以及進行其他敏感事務。由於這些趨勢,行動設備正變成惡意軟體和網路攻擊的新前線。因此,更好地保護資源有限的計算設備(例如,行動和無線設備)的新的和改善的安全性解決方案對消費者是有益的。
各個實施例包括用於保護計算設備免受非良性軟體應用的方法,該方法可以包括:經由伺服器計算設備中的處理器從應用下載服務接收軟體應用;經由處理器建立到客戶端計算設備的安全通訊鏈路;經由處理器經由安全通訊鏈路從客戶端計算設備接收執行資訊(exercise information);經由處理器使用接收到的執行資訊來在客戶端計算設備模擬器中執行(或執行)接收到的軟體應用以辨識一或多個行為;及經由處理器決定辨識出的行為是否是良性的。
在一些實施例中,經由處理器使用接收到的執行資訊來在客戶端計算設備模擬器中執行接收到的軟體應用以辨識一或多個行為可以包括:在客戶端計算設備模擬器的應用分析器組件中分析軟體應用,以辨識軟體應用批准觀察的態樣;及基於接收到的執行資訊和對軟體應用的分析,選擇軟體應用的目標活動以用於執行。這種實施例亦可以包括:觸發軟體應用的所選目標活動以用於執行;及在觸發活動的執行期間觀察軟體應用的行為,並基於軟體應用的運行時行為來進一步選擇新的目標活動。這種實施例亦可以包括:分析圖形化使用者介面的佈局;及在觸發軟體應用的所選目標活動以用於執行時,使用對圖形化使用者介面的分析的結果。
一些實施例可以包括:回應於決定辨識出的行為是非良性的,經由處理器隔離從應用下載服務接收到的軟體應用;及向客戶端計算設備發送包括將軟體應用辨識為非良性的資訊的通知訊息。一些實施例可以包括:回應於決定辨識出的行為是良性的,將從應用下載服務接收到的軟體應用發送給客戶端計算設備。
一些實施例可以包括:回應於將從應用下載服務接收到的軟體應用發送給客戶端計算設備,經由安全通訊鏈路從客戶端計算設備接收額外的執行資訊。這種實施例可以包括:利用該額外的執行資訊來進一步執行接收到的軟體應用並辨識額外的行為;及決定辨識出的額外行為是否是良性的。在一些實施例中,從客戶端計算設備接收執行資訊可以包括接收以下中的一或多個:辨識軟體應用的置信水平的資訊、在探查的應用中的活動的列表(例如,GUI螢幕等)、探查的圖形化使用者介面(GUI)螢幕的列表、應用的未探查(unexplored)的活動的列表、未探查的GUI螢幕的列表、未探查的行為的列表、硬體設定資訊、或軟體配置資訊。
一些實施例可以包括:對接收到的軟體應用計算風險分數;及經由安全通訊鏈路向客戶端計算設備發送計算出的風險分數。
一些實施例可以包括:在客戶端計算設備中接收軟體應用;在客戶端計算設備上開始執行軟體應用;及監視軟體應用的活動以收集行為資訊。這種實施例可以包括:產生經由複數個數位或符號描述收集到的行為資訊的向量資料結構;將向量資料結構應用到機器學習分類器模型以產生分析結果;及使用產生的分析結果來決定軟體應用是否是良性的。一些實施例可以包括:回應於決定軟體應用是非良性的,將產生的分析結果作為執行資訊從客戶端計算設備發送到伺服器計算設備。
一些實施例可以包括:從客戶端計算設備接收通訊請求訊息。在這種實施例中,建立到客戶端計算設備的安全通訊鏈路可以包括:回應於從客戶端計算設備接收到通訊請求訊息,建立到客戶端計算設備的安全通訊鏈路。
進一步的實施例包括一種伺服器計算設備,其包括:處理器,其配置有處理器可執行指令以執行上述總結的方法的操作。進一步的實施例包括一種其上儲存有處理器可執行軟體指令的非暫時電腦可讀取儲存媒體,該等指令被配置為使得伺服器計算設備中的處理器執行上述總結的方法的操作。進一步的實施例包括一種計算設備,其具有用於執行上述總結的方法的功能的單元。
將結合附圖詳細描述各種實施例。只要有可能,相同的元件符號將貫穿附圖用於代表相同或類似的組件。出於說明的目的參考特定實例和實現方式,而不打算限制本發明或請求項的範疇。
在概述中,各種實施例包括方法和設備(例如,伺服器計算設備、客戶端計算設備等),其被配置為實現用於保護企業網路和行動計算裝置免受惡意軟體和其他非良性應用或行為的方法,這些惡意軟體和其他非良性應用或行為會使得計算設備或企業網路的效能退化。
各種實施例可以包括伺服器計算設備,其被配置有軟體模組或可執行代碼,用於經由多個使用者互動為客戶端設備測試軟體應用,以偵測可能的非良性行為。與本發明所屬領域所使用的術語一致,執行各種實施例的操作的軟體應用被稱作「雷管(detonator)組件」。雷管組件可以被配置為接收或攔截由客戶端計算設備(例如,行動或資源有限計算設備等)從應用下載服務(例如,Apple® App Store、Windows® Store、Google® play等)請求的軟體應用。雷管組件可以模擬客戶端計算設備,並經由多種配置、操作和使用者互動來執行接收到的/攔截的軟體應用或對其進行壓力測試。經由在這種執行期間觀察操作和行為,雷管組件可以執行各種分析操作(例如,靜態分析操作、動態分析操作、基於行為的分析操作等)來決定軟體應用是良性的還是非良性的。雷管組件可以回應於決定軟體應用程式是非良性的而採取各種校正或預防動作。例如,雷管組件可以隔離被決定為非良性的軟體應用,防止客戶端計算設備下載非良性的軟體應用,向企業或資訊技術(IT)安全系統通知客戶端設備試圖下載惡意軟體(並因此可能經歷網路攻擊或另外需要仔細審查或評估),向客戶端計算設備通知所請求的應用應當被阻擋、刪除或不下載,以及執行其他類似操作。
各種實施例可以包括客戶端計算設備,其被配置為執行各種操作來完成客戶端驅動爆炸。例如,客戶端計算設備可以被配置為建立到雷管組件或伺服器計算設備的安全通訊鏈路,並使用安全通訊鏈路來請求雷管組件評估軟體應用的特定態樣或行為(例如,回應於客戶端計算設備決定軟體應用是可疑的、非良性的等)。
在一些實施例中,客戶端計算設備可以裝備有設備上安全系統,其被配置為使用行為分析和機器學習技術來辨識、防止、回應及/或校正非良性行為。作為這些操作的一部分,設備上安全系統可以監視設備行為,產生行為資訊結構(例如,行為向量),將行為資訊結構應用於分類器模型來產生行為分析結果,並使用該行為分析結果來決定軟體應用或設備行為是良性的還是非良性的。
回應於決定軟體應用或設備行為是可疑的(例如,基於比較或分析結果等,在非常高的置信度的情況下不能被分類為良性或非良性),客戶端計算設備可以收集並經由安全通訊鏈路向雷管組件發送執行資訊,並且請求該雷管組件進一步分析軟體應用。執行資訊可以包括:辨識軟體應用的置信水平的資訊、在應用中被探查的活動的列表、被探查的GUI螢幕的列表、應用的未被探查的活動的列表、未被探查的GUI螢幕的列表、未被探查的行為的列表、硬體設定資訊、軟體配置資訊、收集的行為資訊、產生的行為向量、分類器模型、其分析操作的結果、按鈕的位置、本文方塊或顯示在客戶端設備的電子顯示器上的其他電子使用者輸入組件,以及其他類似資訊。伺服器計算設備可以接收並使用執行資訊來更新其客戶端計算設備模擬器及/或將其操作集中於評估特定行為活動、螢幕、使用者介面元件、電子鍵、佈局等。
在一些實施例中,客戶端計算設備可以被配置為從雷管或伺服器計算設備接收資訊(例如,風險分數、置信值、排序等),並使用接收到的資訊來評估(或進一步評估)軟體應用及/或決定軟體應用是良性的還是非良性的。
雷管組件可以被配置為經由安全通訊鏈路從客戶端計算設備安全地接收關於軟體應用的執行資訊(例如,行為資訊、分類器模型、行為向量等)。在一些實施例中,伺服器計算設備可以被配置為使用類比或分析結果(例如,根據執行靜態及/或動態分析操作產生的結果)來產生執行資訊,並將該執行資訊發送給客戶端計算設備。執行資訊可以包括行為資訊、行為向量、分類器模型、其分析操作的結果、置信水平、風險分數、探查的活動或圖形化使用者介面(GUI)螢幕的列表、未探查的GUI螢幕或活動的列表、硬體設定資訊、軟體配置資訊、排序、安全分數,以及其他類似資訊。在實施例中,執行資訊可以包括行為向量(資訊結構),其簡潔地描述或特徵化軟體應用的活動(例如,經由一系列數位或符號等)。
各種實施例經由改善計算設備的安全性、效能和功耗特性來改善計算設備的功能。例如,經由比較從伺服器接收到的資訊與在設備中收集到的資訊來決定軟體應用是否是可疑的,各種實施例允許計算設備快速且智慧地決定是否執行額外的分析操作或請求伺服器執行對軟體應用的更穩健的分析。這經由允許設備卸載處理器或電池密集型操作並(例如,經由經由安全鏈路發送執行資訊)控制雷管組件評估的特徵或因素,來改善設備的效能和功耗特性。根據下文提供的實施例的詳細描述,對計算設備的功能、功能性及/或執行的額外改善將變得明顯。
例如在本說明書中使用的「效能退化」、「效能中的退化」等短語指的是網路或計算設備的多種不期待的操作和特性,例如較長的處理時間、較慢的即時回應、較短的電池壽命、隱私資料的丟失、惡意經濟活動(例如,發送未經授權的溢價簡訊服務(SMS)訊息)、拒絕服務(DoS)、編寫或設計得糟糕的軟體應用、惡意軟體、惡意程式、病毒、分割的記憶體、涉及徵用設備或利用設備進行間諜活動或僵屍網路活動等的操作。另外,出於這些原因中的任一種而使得效能退化的行為、活動和條件在此被稱作「不是良性的」或「非良性的」。
術語「客戶端計算設備」和「行動計算裝置」在該申請中通常且可互換地使用,並指的是以下中的任一個或全部:蜂巢式電話、智慧型電話、個人或移動多媒體播放機、個人資料助理(PDA)、膝上型電腦、平板電腦、智慧型電腦、超級本、掌上電腦、無線電子郵件接收器、支援多媒體網際網路的蜂巢式電話、無線遊戲控制器、以及包括記憶體和可程式設計處理器的類似電子設備,對其而言效能非常重要且在電池電量下操作,從而電力節約方法是有利的。儘管各種實施例對作為資源有限系統的客戶端計算設備非常有用,但是實施例一般在包括處理器並執行軟體應用的任意計算設備中都是有用的。
現代計算設備使得其使用者能夠從應用下載服務(例如,Apple App Store、Windows Store、Google play等)或網際網路下載並執行多種軟體應用。這些應用中的許多易受到惡意軟體、廣告軟體、故障、或其他非良性元件的影響及/或包含這些元件。結果,在計算設備上下載和執行這些應用可能使得企業網路及/或計算設備的效能退化。因此,重要的是確保只有良性應用被下載到計算設備或企業網路中。
最近,Google/Addroid開發了一種稱作「The Monkey」的工具,其允許使用者對軟體應用進行「壓力測試」。該工具可以執行作模擬器來產生使用者事件(例如,點擊、觸摸、手勢等)和系統級別事件(例如,顯示設定改變事件、通信期結束事件等)的假性隨機流,開發者可將其用於對軟體應用進行壓力測試。儘管這種傳統的工具(例如,The Monkey等)在一定程度上是有用的,但是它們不適於具有被設計用於在行動計算裝置或其他資源有限的設備中執行和使用的軟體應用的典型的豐富的圖形化使用者介面的「App」或軟體應用的系統/智慧/智慧型評估。
習知的壓力測試工具存在多個限制,其阻止這種工具在應用被下載並在客戶端計算設備上執行之前智慧地辨識惡意軟體及/或其他非良性應用。首先,大部分習知模擬器被設計為在臺式環境中執行及/或用於模擬被設計為在臺式環境中執行的軟體應用。以比app(亦即,被設計主要用於在行動或資源有限的環境中執行的軟體應用)慢得多的速率開發臺式環境(亦即,被設計為在臺式環境中執行的軟體應用)。出於這個原因,習知的解決方案通常不包括用於快速、高效(亦即,沒有使用大量處理或電池資源)或適應性地(亦即,基於由執行相同或類似應用的其他行動計算裝置在「野外」或「現場」收集到的實際資料)評估應用的特徵和功能。
此外,行動計算裝置是資源有限的系統,其具有相對有限的處理、記憶體和能源,並且這些習知解決方案可能需要在行動計算裝置中執行計算密集型程序。因此,在行動計算裝置中實現或執行這些習知解決方案可能對行動計算裝置的回應性、效能或功耗特性具有明顯的負面及/或使用者可感知的影響。
另外,許多習知的解決方案(例如,「The Monkey」等)產生使得軟體應用執行有限數量的操作的事件的假性隨機流。這些串流僅可以用於評估有限數量的條件、特徵或因素。但是,現代行動計算裝置是高度可配置的且複雜的系統,並且包括可能需要進行分析以辨識非良性行為的大量條件、因素和特徵。結果,習知解決方案(例如,The Monkey)沒有對app或行動計算裝置應用進行完全壓力測試,因為它們不能評估在行動計算裝置中可能需要進行分析的所有的條件、特徵或因素。例如,The Monkey和其他習知工具無法充分辨識在行動計算裝置的電子顯示螢幕上顯示的按鈕、本文方塊、或其他電子使用者輸入組件的呈現、存在或位置。結果,這些解決方案不能對這些特徵進行充分壓力測試或評估(例如,電子使用者輸入組件等)來決定行動計算裝置應用是良性的還是非良性的。
此外,習知工具無法智慧地決定軟體應用或行動計算裝置使用的活動或螢幕的數量、或者各個活動或平面的相對重要性。另外,習知工具使用製造的測試資料(亦即,在程式執行前決定出的資料)來評估軟體應用,這與從在行動計算裝置上的軟體應用的使用收集到的真實的或現場的資料相反。出於所有這些原因,用於對軟體應用進行壓力測試的習知工具無法充分或完全「執行」或對被設計用於在行動計算裝置上執行的軟體應用進行壓力測試,並且另外地不適於在它們被下載到企業網路之前及/或在它們在行動計算裝置上下載、安裝或執行之前辨識非良性應用。
各種實施例包括計算設備,其被配置為克服習知解決方案的上述限制,並且在將應用下載到企業或私有網路之前及/或在應用被下載和安裝到客戶端計算設備之前辨識非良性應用。
各種實施例可以包括具有伺服器處理器的伺服器計算設備,該伺服器處理器被配置為從應用下載服務接收軟體應用,建立到客戶端計算設備的安全通訊鏈路,以及經由安全通訊鏈路從客戶端計算設備接收執行資訊。伺服器接收到的執行資訊的實例可以包括:辨識軟體應用的置信水平、探查的活動的列表、探查的GUI螢幕的列表、未探查的活動的列表、未探查的GUI螢幕的列表、未探查的行為的列表、硬體設定資訊、軟體配置資訊等。伺服器可以使用接收到的執行資訊來在客戶端計算設備模擬器中執行/執行接收到的軟體應用,以辨識一或多個行為。基於對模擬器在這種執行期間的行為的觀察,伺服器可以決定如何觸發將導致期望行為的活動序列,隨後觸發辨識出的行為。當辨識出的行為被觸發時,伺服器可以觀察模擬器的行為,並決定軟體應用及/或辨識出的行為是否是良性的。計算設備可以回應於決定出軟體應用或辨識出的行為中的任意行為不是良性的而隔離軟體應用,或者回應於決定出辨識出的行為是良性的而反射軟體應用到客戶端計算設備。在一些實施例中,伺服器計算設備亦可以為接收到的軟體應用計算風險分數,並將計算出的風險分數經由安全通訊鏈路發送到客戶端計算設備。
客戶端計算設備可以接收和執行軟體應用,並動態選擇供觀察的行為。客戶端計算設備可以適應性地觀察動態選擇的行為來收集行為資訊。基於該觀察,客戶端計算設備可以產生向量資料結構,其經由複數個數位或符號來描述收集到的行為資訊。客戶端計算設備可以將向量資料結構應用於機器學習分類器模型來產生分析結果,並使用產生的分析結果來決定軟體應用是可疑的。客戶端計算設備可以收集額外的執行資訊,並回應於決定軟體應用是可疑的而經由安全通訊鏈路發送額外的執行資訊到伺服器計算設備。
伺服器計算設備可以經由安全通訊鏈路從客戶端計算設備接收額外的執行資訊。伺服器計算設備可以使用額外的執行資訊來進一步執行接收到的軟體應用並辨識額外的行為。經由觀察辨識出的額外行為,伺服器計算設備可以決定辨識出的額外行為是良性的或不是良性的。
在一些實施例中,伺服器計算設備可以被配置為在應用被下載到企業網路之前及/或在應用在客戶端計算設備上被下載、安裝或執行之前,智慧地辨識惡意軟體及/或其他非良性應用。
在一些實施例中,伺服器計算設備可以被配置為對被設計用於在行動站或其他資源有限的計算設備中執行和使用的「App」或軟體應用進行執行、評估或壓力測試。
在一些實施例中,伺服器計算設備可以被配置為評估軟體應用及/或客戶端計算設備的多種條件、因素和特徵,以決定行為或軟體應用是否是非良性的。
在一些實施例中,伺服器計算設備可以被配置為快速、高效且適應性地評估app,而對客戶端計算設備的回應性、效能或功耗特性不具有明顯的負面及/或使用者可感知到的影響。
在一些實施例中,伺服器計算設備可以被配置為辨識在客戶端計算設備的電子顯示螢幕上顯示的按鈕、本文方塊、或其他電子使用者輸入組件的呈現、存在或位置,並評估任意或所有這些辨識出的條件、特徵或因素來決定行為或軟體應用是否是非良性的。
在一些實施例中,伺服器計算設備可以被配置為決定軟體應用使用的活動或螢幕的數量,決定各個活動或螢幕的相對重要性,並使用該資訊來決定行為或軟體應用是否是非良性的。
在一些實施例中,伺服器計算設備可以被配置為使用在客戶端計算設備上從軟體應用的使用而收集的真實或現場資料來對被設計為在客戶端計算設備上執行的軟體應用進行更完全地執行或壓力測試。
各種實施例可以實現在多個通訊系統中,例如圖1示出的實例通訊系統100。典型的細胞電話網路104包括耦合到網路操作中心108的複數個細胞基地台106,其操作以例如經由電話陸地線(例如,普通老式電話服務(POTS)網路,未圖示)和網際網路110,連接在客戶端計算設備102(例如,手機、膝上型電腦、平板電腦等)和其他網路目的地之間的撥叫(例如,語音撥叫或視訊撥叫)和資料。可以經由雙向無線通訊鏈路112完成在客戶端計算設備102和電話網路104之間的通訊,該鏈路112例如是第四代(4G)、第三代(3G)、分碼多工存取(CDMA)、分時多工存取(TDMA)、長期進化(LTE)及/或其他行動通訊技術。電話網路104亦可以包括一或多個伺服器114,其耦合到提供到網際網路110的連接的網路操作中心108上或在網路操作中心108內部。
通訊系統100亦可以包括網路服務器116,其連接到電話網路104和網際網路110。在網路服務器116和電話網路104之間的連接可以經由網際網路110或經由私有網路(如虛箭頭示出的)。網路服務器116亦可以實現為雲端服務提供者網路118的網路基礎設施內的伺服器。可以經由電話網路104、網際網路110、私有網路(未圖示)或其任意組合來實現在網路服務器116和客戶端計算設備102之間的通訊。在實施例中,網路服務器116可以被配置為建立到客戶端計算設備102的安全通訊鏈路,並經由安全通訊鏈路安全地傳送資訊(例如,行為資訊、分類器模型、行為向量等)。
客戶端計算設備102可以請求從私有網路、應用下載伺服器、或雲端服務提供者網路118下載軟體應用。網路服務器116可以裝備有模擬器、執行器、及/或被配置為接收或攔截客戶端計算設備102所請求的軟體應用的雷管組件。模擬器、執行器、及/或雷管組件亦可以被配置為類比客戶端計算設備102,對接收到的/攔截的軟體應用進行執行或壓力測試,以及執行各種分析操作來決定軟體應用是良性的還是非良性的。
因此,網路服務器116可以被配置為在軟體應用被下載到客戶端計算設備102之前攔截軟體應用,類比客戶端計算設備102,對攔截的軟體應用進行執行或壓力測試,並決定攔截的軟體應用的任一個是良性的還是非良性的。在一些實施例中,網路服務器116可以裝備有基於行為的安全系統,該系統被配置為決定軟體應用是良性的還是非良性的。在實施例中,基於行為的安全性系統可以被配置為產生機器學習分類器模型(例如,包括組件列表、決策節點等的資訊結構),產生行為向量(例如,以設備行為為特徵及/或經由複數個數位或符號表示收集到的行為資訊的資訊結構),將產生的行為向量應用到產生的機器學習分類器模型以產生分析結果,並使用產生的分析結果來將軟體應用分類為良性的還是非良性的。
圖2根據各種實施例圖示包括雷管組件202的實例系統200,該雷管組件被配置為攔截和評估軟體應用。在圖2所示的實例中,安全通訊鏈路204建立在雷管組件202和客戶端計算設備102之間。在一些實施例中,客戶端計算設備102可以建立到雷管組件202的安全通訊鏈路204。在其他實施例中,雷管組件202可以建立到客戶端計算設備102的安全通訊鏈路204。
在各種實施例中,雷管組件202可以回應於接收到從客戶端計算設備102下載應用的請求、回應於決定已經接收到由客戶端計算設備102請求的軟體應用等,來建立到客戶端計算設備102的安全通訊鏈路204。在各種實施例中,客戶端計算設備102可以回應於決定將從應用下載服務下載軟體應用、回應於接收到軟體應用、回應於決定接收到的軟體應用是可疑的或是非良性的等,建立到雷管組件202的安全通訊鏈路204。
雷管組件202可以被配置為經由安全通訊鏈路204從客戶端計算設備102接收執行資訊(例如,置信水平、探查的活動的列表、探查的GUI螢幕的列表、未探查的活動的列表、未探查的GUI螢幕的列表、未探查的行為的列表、硬體設定資訊、軟體配置資訊、行為向量等)。雷管組件202亦可以經由安全通訊鏈路204將資訊(例如,風險分數、安全性排序、行為向量、分類器模型等)發送給客戶端計算設備102。
雷管組件202可以被配置為從應用下載服務或經由網際網路110接收軟體應用(或應用封裝、應用資料等)。雷管組件202可以被配置為在客戶端計算設備模擬器中對接收到的軟體應用進行執行或壓力測試。雷管組件202可以被配置為辨識軟體應用及/或客戶端計算設備102的一或多個活動或行為,並根據其重要性水平對活動或行為排序。雷管組件202可以被配置為基於其排序來對活動或行為進行優先順序排序,並根據其優先順序來分析活動或行為。雷管組件202可以被配置為產生分析結果,並使用該分析結果來決定辨識出的行為是良性的還是非良性的。
雷管組件202可以將接收到的軟體應用(或應用封裝、應用資料等)發送給企業網路206,或者以其他方式允許在企業網路206中接收軟體應用。企業網路206可以包括被配置為將軟體應用發送給客戶端計算設備102的組件。
回應於決定軟體應用或任意辨識出的行為是非良性的,雷管組件202可以隔離軟體應用,並將安全警告或通知訊息發送到企業或IT/安全系統206。作為回應,企業或IT/安全系統206可以向客戶端計算設備102發送包括將軟體應用辨識為非良性的資訊的通知訊息,及/或採取其他校正或預防措施。
圖3圖示包括雷管組件202的系統300內的各種組件和資訊流,該雷管組件202在根據各種實施例配置的伺服器和客戶端計算設備102中執行。在圖3所示的實例中,雷管組件202包括應用分析器組件322、目標選擇組件324、活動觸發器組件326、佈局分析組件328以及擷取組件330。客戶端計算設備102包括安全性系統300,其包括行為觀察器組件302、行為提取器組件304、行為分析器組件306、以及致動器組件308。
如前述,雷管組件202可以被配置為執行軟體應用(例如,在客戶端計算設備模擬器中)以辨識軟體應用及/或客戶端計算設備102的一或多個行為,並且決定辨識出的行為是良性的還是非良性的。作為這些操作的一部分,雷管組件202可以執行靜態及/或動態分析操作。靜態分析操作可以包括分析位元組代碼(例如,上傳到應用下載服務的軟體應用的代碼)以辨識代碼路徑,評估軟體應用的意圖(例如,決定其是否是惡意的等),以及執行其他類似操作來辨識軟體應用的所有或許多可能的操作或行為。動態分析操作可以包括經由模擬器(例如,在雲端中等)執行位元組代碼,以決定所有或許多其行為及/或辨識非良性行為。在實施例中,雷管組件202可以被配置為使用根據靜態和動態分析操作產生的資訊的組合(例如,靜態和動態分析結果的組合),來決定軟體應用或行為是良性的還是非良性的。例如,雷管組件202可以被配置為使用靜態分析來基於應用程式設計介面(API)使用及/或代碼路徑用期望的行為填充行為資訊結構,並使用動態分析基於類比行為及其相關聯的統計(例如,激勵或使用特徵的頻率)來填充行為資訊結構。隨後,雷管組件202可以將行為資訊結構應用於機器學習分類器以產生分析結果,並使用分析結果來決定應用是良性的還是非良性的。
應用分析器組件322可以被配置為執行靜態及/或動態分析操作來辨識一或多個行為,並決定辨識出的行為是良性的還是非良性的。例如,對於每個活動(亦即,GUI螢幕),應用分析器組件322可以執行多個操作中的任一個,例如,對代碼行進行計數,對敏感/感興趣的API調用進行計數,檢查其對應的原始程式碼,用於展開原始程式碼或操作/活動的調用方法,檢查得到的原始程式碼,遞迴地對代碼行進行計數,遞迴地對敏感/感興趣的API調用進行計數,輸出從活動可獲得的代碼行的總數,輸出從活動可獲得的敏感/感興趣的API調用總數等。應用分析器組件322亦可以用於針對捕捉不同活動(亦即,GUI螢幕)如何彼此連結的給定應用來產生活動轉移圖。
目標選擇組件324可以被配置為辨識並選擇高值目標活動(例如,根據使用情況,基於啟發法,基於應用分析器組件322執行的分析的結果,以及從客戶端計算設備接收到的執行資訊等)。目標選擇組件324亦可以根據代碼行的累積數量、在原始程式碼中進行敏感或感興趣的API調用的數量等對活動或活動類別排序。針對惡意軟體偵測的敏感API的例子係包括takePicture、getDevicedId等。對能量錯誤偵測感興趣的API的實例可以包括Wakelock.acquire、Wakelock.release等。目標選擇組件324亦可以根據排序對活動的存取進行優先順序排序,並基於排序及/或優先順序來選擇目標。
一旦達到和探查了當前目標活動,目標選擇組件324就可以選擇新的目標。在實施例中,這可以經由比較在運行時期間實際進行的敏感/感興趣的API調用的數量和app分析器組件322決定出的敏感/感興趣的API調用的數量來實現。此外,基於應用展示的觀察到的運行時行為,可以對一些活動(包括已經探查過的那些活動)重新排序,並在模擬器上再次探查/執行。
基於在應用分析器組件322中決定出的活動轉移圖,活動觸發器組件326決定如何觸發將導致所選目標活動的活動序列,從應用的列表檔辨識進入點活動,例如,及/或利用Monkey工具來模擬、觸發或執行決定的活動序列。
佈局分析組件328可以被配置為分析原始程式碼及/或評估顯示或輸出螢幕的佈局,來辨識在GUI螢幕上可見的不同GUI控制項(按鈕、本文方塊等)、其位置、以及例如按鈕是否可點擊的其他屬性。
擷取組件330可以被配置為擷取或引起目標行為。在一些實施例中,這可以包括監視軟體應用的活動以收集行為資訊,使用收集到的行為資訊來產生行為向量,將行為向量應用於分類器模型以產生分析結果,並使用分析結果來決定軟體應用或設備行為是良性的還是非良性的。
每個行為向量可以是封裝一或多個「行為特徵」的行為資訊結構。每個行為特徵可以是抽象數,其表示觀察到的行為的所有或一部分。另外,每個行為特徵可以與資料類型相關聯,該資料類型標識可能值的範圍、對這些值可能執行的操作、值的含義等。資料類型可以包括用於決定應該如何量測、分析、加權或使用特徵(或特徵值)的資訊。作為實例,擷取組件330可以產生行為向量,其包括「location_background」資料欄位,該欄位的值標識軟體應用在後臺狀態下操作時存取的位置資訊的數位元或速率。這允許擷取組件330獨立於及/或並行於軟體應用的其他觀察到的/監視的活動來分析該執行狀態資訊。以這種方式產生行為向量亦允許系統隨著時間聚合資訊(例如,頻率或速率)。
分類器模型可以是包括資料及/或資訊結構(例如,特徵向量、行為向量、組件列表、決策樹、決策節點等)的行為模型,其可以由計算設備處理器用於評估設備行為的特定特徵或實施例。分類器模型亦可以包括決策標準,用於監視及/或分析計算設備內的多個特徵、因素、資料點、條目、API、狀態、條件、行為、軟體應用、程序、操作、組件等(這裡統稱為「特徵」)。
在客戶端計算設備102中,行為觀察器組件302可以被配置為在客戶端計算設備102的各級別處儀器化或協調各種應用程式介面(API)、暫存器、計數器或其他組件(這裡統稱為「儀器化組件」)。行為觀察器組件302可以經由從儀器化組件收集行為資訊而重複地或連續地(或接近連續地)監視客戶端計算設備102的活動。在實施例中,這可以經由從儲存於客戶端計算設備102的記憶體中的API日誌檔讀取資訊來實現。
行為觀察器組件302可以將收集到的行為資訊傳送(例如,經由記憶體寫入操作、功能調用等)到行為提取器組件304,其可以使用收集到的行為資訊來產生行為資訊結構,該等行為資訊結構中的每一個表示或特徵化與客戶端計算設備的特定軟體應用、模組、組件、任務或程序相關聯的許多或全部觀察到的行為。每個行為資訊結構可以是封裝一或多個「行為特徵」的行為向量。每個行為特徵可以是表示觀察到的行為的所有或部分的提取數。另外,每個行為特徵可以與資料類型相關聯,該資料類型標識可能值的範圍、在該值上執行的操作、值的含義等。資料類型可以包括用於決定應該如何量測、分析、加權或使用特徵(或特徵值)的資訊。
行為提取器組件304可以(例如,經由記憶體寫入操作、功能調用等)將產生的行為資訊結構傳送到行為分析器組件306。行為分析器組件306可以將行為資訊結構應用到分類器模型以產生分析結果,並使用分析結果來決定軟體應用或設備行為是良性的還是非良性的(例如,惡意的、編寫糟糕的、效能退化等)。
行為分析器組件306可以被配置為向致動器組件308通知活動或行為不是良性的。作為回應,致動器組件308可以執行各種動作或操作來解決、克服、隔離或以其他方式修復辨識出的問題。例如,致動器組件308可以被配置為在(例如,經由分析器模組)將行為資訊結構應用到分類器模型的結果表示軟體應用或程序不是良性的時終止軟體應用或程序。
行為分析器組件306亦可以被配置為回應於決定設備行為是可疑的(亦即,回應於決定分析操作的結果不足以將行為分類為良性的或非良性 的)而通知行為觀察器組件302。作為回應,行為觀察器組件302可以調整觀察的細微性(亦即,監視客戶端計算設備特徵的細節級別)及/或改變基於從行為分析器組件306接收到的資訊(例如,即時分析操作的結果)觀察到的因素/行為,產生或收集新的或額外的行為資訊,並將新的/額外的資訊發送到行為分析器組件306以供進一步分析。在行為觀察器和行為分析器組件302、306之間的這種回饋通訊使得客戶端計算設備處理器能夠遞迴地增加觀察的細微性(亦即,進行更精細或更詳細的觀察)或改變所觀察的特徵/行為直到將行為分類為良性的或非良性的,直到達到處理或電池消耗閾值,或者直到客戶端計算設備處理器決定可疑的源或效能退化行為不能根據進一步增加觀察細微性而辨識出。這種回饋通訊亦使得客戶端計算設備102能夠調整或修改客戶端計算設備102本端的分類器模型,而無需消耗過量的客戶端計算設備102的處理、記憶體或能量資源。
圖4A根據各種實施例圖示用於保護企業網路及/或計算設備的伺服器方法400和客戶端計算設備方法450。方法400可以由在伺服器計算設備中實現雷管組件的所有或一部分的伺服器處理器執行。方法450可以由客戶端計算設備(例如,行動計算裝置、資源有限的計算設備等)中的客戶端計算設備處理器執行。
在方法400的方塊402中,伺服器處理器可以從應用下載服務接收軟體應用。在方塊404中,伺服器處理器可以建立到客戶端計算設備的安全通訊鏈路。在一些實施例中,回應於從客戶端計算設備接收到請求訊息(例如,對建立安全通訊的請求),伺服器處理器可以建立到客戶端計算設備的安全通訊鏈路。在一些實施例中,伺服器處理器可以在接收軟體應用之前建立到客戶端計算設備的安全通訊鏈路。在一些實施例中,回應於接收到軟體應用,伺服器處理器可以建立到客戶端計算設備的安全通訊鏈路。
在方塊406處,伺服器處理器可以經由安全通訊鏈路從客戶端計算設備接收執行資訊(例如,若使用者已經使用了行動設備上的應用並希望在雷管伺服器上進一步對其進行評估等)。執行資訊可以包括:辨識軟體應用的置信水平的資訊、探查的活動的列表、探查的GUI螢幕的列表、未探查的活動的列表、未探查的GUI螢幕的列表、未探查的行為的列表、硬體設定資訊、軟體配置資訊等。
在方塊408處,伺服器處理器可以執行接收到的軟體應用(例如,在客戶端計算設備模擬器上等)以辨識一或多個行為。例如,伺服器處理器可以在模擬器上執行應用以測試軟體應用的可以基於接收到的執行資訊選擇或決定的各種特徵、活動、行為等。
在方塊410處,伺服器處理器可以評估辨識出的行為(例如,代碼行的計數、API調用等),並決定軟體應用是否可以被分類為良性的或非良性的。
在決定方塊412中,伺服器處理器可以決定軟體應用是否是良性的。
回應於決定軟體應用是良性的(亦即,決定方塊412=「是」),則在方塊414中伺服器處理器可以將軟體應用發送到企業網路中的伺服器及/或發送到客戶端計算設備。
回應於決定軟體應用不是良性的(亦即,決定方塊412=「否」),在方塊416中伺服器處理器可以隔離軟體應用,並且在方塊418中,伺服器處理器可以將安全警告或通知訊息發送到企業或IT安全系統及/或發送到客戶端計算設備。
在方法450的方塊452中,客戶端計算設備處理器可以從應用下載服務接收軟體應用。在實施例中,客戶端計算設備處理器可以在伺服器處理器執行了方塊414的操作之後接收軟體應用。
在方塊454中,客戶端計算設備處理器可以建立到雷管組件的安全通訊鏈路(若安全鏈路尚不存在)。
在方塊456中,設備處理器可以執行或執行軟體應用並觀察使用者互動、行為和設備的配置(例如,經由設備上的安全系統等)以收集執行資訊(例如,探查/未探查的GUI螢幕的列表等)。在方塊458中,設備處理器可以經由安全通訊鏈路將收集到的執行資訊發送或傳輸到伺服器。設備處理器可以持續或重複地執行方塊456和458中的操作,直到在方塊460中接收到安全通知訊息為止。
在方塊462中,設備處理器可以回應於接收到安全通知訊息而採取校正動作。例如,在方塊462中,設備處理器可以終止或隔離軟體應用。
在方法400的方塊408中在行動設備模擬器中對接收到的軟體應用進行執行時,伺服器處理器可以智慧地執行軟體應用以試圖抽出非良性的行為。換句話說,經由利用從客戶端設備接收到的執行資訊,以及對軟體應用本身的分析,伺服器處理器可以為執行特定活動而選擇GUI介面進行觸發,以及選擇分析指示其具有涉及或觸發非良性行為的增加的概率的操作模式。圖4B圖示可以在方法400的方塊408中執行用於完成軟體應用的這種智慧執行的操作的實例方法。
在方塊420中,伺服器處理器可以在應用分析器組件(例如,圖3的應用分析器組件322)中分析軟體應用,以辨識應用中保證執行和觀察的態樣。該分析可能涉及辨識針對非良性探查具有增加的潛在性的可疑的API調用、操作模式、資料轉移等。
在方塊422中,伺服器處理器可以基於接收到的執行資訊以及應用的分析,來選擇目標活動(例如,GUI互動)進行執行。在一些實施例中,可以經由目標選擇組件324實現目標活動的選擇,如結合圖3描述的。
在方塊424中,伺服器處理器可以觸發軟體應用的所選目標活動用於執行。例如,伺服器處理器可以使用程序或應用來啟動所選的GUI圖示或互動來使得執行相關聯的操作或活動。
作為方塊424中觸發對所選目標活動的執行的一部分,伺服器處理器可以在方塊426中分析GUI螢幕的佈局,以辨識用於啟動的特定圖示,以及辨識表示非良性行為的螢幕元件。例如,伺服器處理器可以在方塊426中分析GUI螢幕的佈局以辨識與軟體應用的目標活動相關聯的用於觸發的圖示的座標。作為另一實例,伺服器處理器可以在方塊426中分析GUI螢幕的佈局以辨識螢幕的與不關聯與可見圖示的活動觸發器相關聯的部分。作為另一實例,伺服器處理器可以在方塊426中分析GUI螢幕的佈局以辨識將觸發與圖示上的標記或指示不一致的活動(例如,在圖示標記為「取消」時觸發活動)的所顯示的圖示。
在方塊428中,伺服器處理器可以觀察在執行觸發的活動期間軟體應用的行為。例如,伺服器處理器可以基於在執行觸發活動期間觀察到的行為來產生行為向量,並將行為向量應用到本文描述的行為分析模型。
基於觀察到的應用的運行時行為,可在模擬器上選擇新目標活動進行執行。此外,基於應用展示出的運行時行為,可以重新排序以及在模擬器上再次探查/執行一些活動(包括已經探查了的那些活動)。
可以繼續以下操作,直到已經執行並觀察到所有所選目標活動為止:觸發所選目標活動進行執行以及在執行觸發活動期間觀察軟體應用的行為。
如以上結合圖4A所描述的,在方塊410中經由伺服器處理器評估對軟體應用的所選目標活動的行為的執行和觀察的結果。
各種實施例可以實現在多種行動服務客戶端計算設備上,其實例如圖5所示。特別地,圖5是適於與任意實施例一起使用的智慧型電話/手機500形式的客戶端計算設備的系統方塊圖。手機500可以包括處理器502,其耦合到內部記憶體504、顯示器506和揚聲器508。另外,手機500可以包括天線510,用於發送和接收電磁輻射,其可以連接到無線資料連結;及/或蜂巢式電話(或無線)收發器512,其耦合到處理器502。手機500通常亦可以包括功能表選擇按鈕或搖桿式開關514用於接收使用者輸入。
典型的手機500亦包括聲音編碼/解碼(CODEC)電路516,其將從麥克風接收到的聲音數位化為適於無線傳輸的資料封包,並對接收到的聲音資料封包進行解碼以產生被提供給揚聲器508的類比信號從而產生聲音。另外,處理器502、無線收發器512和CODEC 516中的一或多個可以包括數位訊號處理器(DSP)電路(未單獨示出)。手機500亦可以包括Zigbee收發器(亦即,電子和電氣工程師協會(IEEE)802.15.4收發器)用於無線設備之間的低功率短程通訊,或者其他類似通訊電路(例如,實現Bluetooth®或WiFi協定等的電路)。
上述實施例和網路服務器可以實現於多種商業上可獲得的伺服器設備中,例如,圖6所示的伺服器600。這種伺服器600通常包括處理器601,其耦合到揮發性記憶體602和大容量非揮發性記憶體(例如,磁碟驅動603)。伺服器600亦可以包括耦合到處理器601的軟碟驅動、壓縮磁碟(CD)或DVD磁碟機604。伺服器600亦可以包括網路存取埠606,其耦合到處理器601用於建立與網路605(例如耦合到其他通訊系統電腦和伺服器的區域網路)的資料連接。
處理器502、601可以是任意的可程式設計微處理器、微電腦或多個處理器晶片或多個晶片,其可以由軟體指令(應用)配置為執行多個功能,包括下述各種實施例的功能。在一些客戶端計算設備中,可以提供多個處理器502,例如一個處理器專用於無線通訊功能以及一個處理器專用於執行其他應用。通常,軟體應用可以在它們被存取且載入到處理器502、601之前儲存於內部記憶體504、602中。處理器502可以包括內部記憶體,其足以儲存應用軟體指令。在一些伺服器中,處理器601可以包括內部記憶體,其足以儲存應用軟體指令。在一些接收器設備中,安全記憶體可以在耦合到處理器601的單獨記憶體晶片中。內部記憶體504、602可以是揮發性或非揮發性記憶體(例如快閃記憶體)或兩者的混合。出於本說明書的目的,一般談及記憶體指的是處理器502、601能夠存取的所有記憶體,包括內部記憶體504、602,插入到設備內的可移除記憶體,以及在處理器502、601本身內的記憶體。
許多當代計算是資源有限系統,其具有相對有限的處理、記憶體和能量資源。例如,客戶端計算設備是複雜且資源有限的計算設備,其包括會隨著時間過去導致效能和功率使用水平的退化的許多特徵或因素。導致效能退化的因素的實例係包括設計糟糕的軟體應用、惡意軟體、病毒、分段記憶體以及後臺程序。由於這些因素的數量、種類和複雜性,評估使得這些複雜但資源有限的系統的效能及/或功率使用級別退化的所有的各種組件、行為、程序、操作、條件、狀態或特徵(或其組合)通常是不可行的。因此,使用者、作業系統或應用程式(例如,抗病毒軟體等)難以準確且有效地辨識這些問題的源。結果,客戶端計算設備使用者當前具有幾種補救,用於防止隨著時間過去導致客戶端計算設備的效能和功率使用級別退化,或者用於將老化的客戶端計算設備恢復到其原始效能和功率使用級別。
在本案中論述的各種實施例尤其良好地適於在資源有限的計算設備(例如,客戶端計算設備)中使用,因為智慧偵測惡意軟體的任務主要委託給雷管伺服器,這是由於它們不需要評估客戶端計算設備上行為資訊的非常大的語料庫,動態地產生分類器/行為模型以說明計算設備的設備特定或應用特定特徵,對由分類器/行為模型所測試/評估的特徵智慧地進行優先順序排序,並不限於評估個體應用程式或程序,智慧地辨識將要由計算設備監視的因素或行為,準確且高效地分類所監視的行為,及/或不需要執行計算密集的程序。出於所有這些原因,可以在資源有限的計算設備上實現或執行各種實施例,而不會對設備的回應性、效能或功耗特性具有明顯負面的及/或使用者可感知到的影響。
例如,當代客戶端計算設備是高度可配置的且複雜的系統。這樣,對於決定特定設備行為是良性還是非良性(例如,惡意的或效能退化)最重要的因素或特徵在每個客戶端計算設備中可以是不同的。此外,因素/特徵的不同組合可能需要監視及/或分析每個客戶端計算設備,以便該設備快速且高效地決定特定行為是良性的還是非良性的。但是,通常僅利用從在其中要監視或分析行為的特定計算設備獲得的設備特定資訊,可以決定對需要監視和分析的因素/特徵的精確組合以及每個特徵或特徵組合的相對優先順序或重要性。出於這些和其他原因,在不同於使用分類器模型的特定設備的任意計算設備中產生的分類器模型不能包括辨識對在該特定設備內對軟體應用或設備行為分類最重要的因素/特徵的精確組合的資訊。亦即,經由在使用分類器模型的特定計算設備中產生分類器模型,各種實施例可以產生改善的模型,其能更好地辨識對決定軟體應用、程序、活動或設備行為是良性的還是非良性的而言最重要的因素/特徵並對這些因素/特徵進行優先順序排序。
如在本案中使用的,術語「組件」、「模組」、「系統」等意圖包括電腦相關實體,例如但不限於,硬體、韌體、硬體和軟體的組合、軟體、或執行中的軟體,其被配置為執行特定操作或功能。例如,組件可以是但不限於在處理器上執行的程序、處理器、物件、可執行檔、執行執行緒、程式及/或電腦。經由例示,在計算設備上執行的應用以及計算設備皆可以被稱作組件。一或多個組件可以常駐在程序及/或執行執行緒內,並且組件可以位於一個處理器或核心上及/或分佈在兩個或更多處理器或核心之間。另外,這些組件可以從其上儲存有各種指令及/或資料結構的各種非暫時電腦可讀取媒體執行。可以經由本端及/或遠端程序、功能或程序調用、電子信號、資料封包、記憶體讀/寫以及其他已知網路、電腦、處理器及/或程序相關通訊方法來傳送組件。
上述方法描述和程序流程圖僅作為說明性的實例提供,並不意圖要求或暗示各種實施例的步驟必須以所呈現的次序執行。如本發明所屬領域中具有通常知識者可以理解的,在上述實施例中步驟的次序可以以任意次序執行。例如「之後」、「隨後」、「接下來」等的詞語並不意圖限制步驟的次序;這些詞語只簡單地用於引導讀者經由方法的描述。此外,例如利用冠詞「一(a)」、「一(an)」或「該(the)」以單數形式提及任何請求項元素並不解釋為將該元素限制為單數的。
結合本文揭示的實施例描述的各種說明性的邏輯方塊、模組、電路和演算法步驟可以實現為電子硬體、電腦軟體或兩者的組合。為了清楚地示出硬體和軟體的可互換性,上文通常根據功能描述各種說明性的組件、方塊、模組、電路和步驟。將這種功能實現為硬體還是軟體取決於特定的應用和施加在整體系統上的設計約束。具有通常知識者可以針對每個特定應用以變化的方式實現所描述的功能,但是這種實現決策不應該解釋為引起背離本發明的範疇。
用於實現結合本文揭示的實施例描述的各種說明性的邏輯、邏輯方塊、模組和電路的硬體可以經由以下各項實現或執行:通用處理器、數位訊號處理器(DPC)、特殊應用積體電路(ASIC)、現場可程式設計閘陣列(FPGA)或其他可程式設計邏輯裝置、個別閘門或電晶體邏輯、個別的硬體組件、或被設計為執行本文描述的功能的其任意組合。通用處理器可以是微處理器,但是在替代例中,處理器可以是任何習知的處理器、控制器、微控制器或狀態機。處理器亦可以實現為計算設備的組合,例如,DSP和微處理器的組合、複數個微處理器、一或多個微處理器與DSP核心的結合,或者任何其他此種配置。替代地,一些步驟或方法可以由特定於給定功能的電路執行。
在一或多個示例性實施例中,所描述的功能可以用硬體、軟體、韌體或其任意組合來實現。若使用軟體實現,則可以將這些功能作為一或多個指令或代碼儲存在非暫時電腦可讀取媒體或非暫時處理器可讀取媒體中。本文揭示的方法或演算法的步驟可以體現於處理器可執行軟體模組中,該模組可以常駐在非暫時電腦可讀或處理器可讀儲存媒體上。非暫時電腦可讀或處理器可讀儲存媒體可以是電腦或處理器存取的任何儲存媒體。經由實例的方式而不是限制的方式,這種非暫時電腦可讀或處理器可讀取媒體可以包括RAM、ROM、EEPROM、FLASH記憶體、CD-ROM或其他光碟儲存、磁碟儲存或其他磁存放裝置、或者能夠用於儲存具有指令或資料結構形式的期望的程式碼並能夠由電腦存取的任何其他媒體。如本文所使用的,磁碟(disk)和光碟(disc)包括壓縮光碟(CD)、鐳射光碟、光碟、數位多功能光碟(DVD)、軟碟和藍光光碟,其中磁碟通常磁性地複製資料,而光碟則用鐳射來光學地複製資料。上面的組合亦應當包括在非暫時電腦可讀和處理器可讀取媒體的保護範疇之內。另外,方法或演算法的操作可以作為代碼及/或指令的一個或任意組合或集合常駐在非暫時處理器可讀取媒體及/或電腦可讀取媒體中,其可以併入到電腦程式產品中。
為使本發明所屬領域中任何具有通常知識者能夠實現或者使用本發明,提供了揭示實施例的前述描述。對於本發明所屬領域中具有通常知識者來說,對這些實施例的各種修改是顯而易見的,並且,本案定義的整體原理亦可以在不脫離本發明的精神或保護範疇的基礎上適用於其他實施例。因此,本發明並不限於本文所示出的實施例,而是被給予與後續請求項以及本文揭示的原理和新穎性特徵相一致的最廣範疇。
100‧‧‧通訊系統 102‧‧‧客戶端計算設備 104‧‧‧電話網路 106‧‧‧細胞基地台 108‧‧‧網路操作中心 110‧‧‧網際網路 112‧‧‧無線通訊鏈路 114‧‧‧伺服器 116‧‧‧網路服務器 118‧‧‧雲端服務提供者網路 200‧‧‧系統 202‧‧‧雷管組件 204‧‧‧安全通訊鏈路 206‧‧‧企業網路 300‧‧‧系統 302‧‧‧行為觀察器組件 304‧‧‧行為提取器組件 306‧‧‧行為分析器組件 308‧‧‧致動器組件 322‧‧‧應用分析器組件 324‧‧‧目標選擇組件 326‧‧‧活動觸發器組件 328‧‧‧佈局分析組件 330‧‧‧擷取組件 400‧‧‧方法 402‧‧‧方塊 404‧‧‧方塊 406‧‧‧方塊 408‧‧‧方塊 410‧‧‧方塊 412‧‧‧方塊 414‧‧‧方塊 416‧‧‧方塊 418‧‧‧方塊 420‧‧‧方塊 422‧‧‧方塊 424‧‧‧方塊 426‧‧‧方塊 428‧‧‧方塊 450‧‧‧方法 452‧‧‧方塊 454‧‧‧方塊 456‧‧‧方塊 458‧‧‧方塊 460‧‧‧方塊 462‧‧‧方塊 500‧‧‧手機 502‧‧‧處理器 504‧‧‧內部記憶體 506‧‧‧顯示器 508‧‧‧揚聲器 510‧‧‧天線 512‧‧‧蜂巢式電話(或無線)收發器 514‧‧‧功能表選擇按鈕或搖桿式開關 516‧‧‧聲音編碼/解碼(CODEC)電路 600‧‧‧伺服器 601‧‧‧處理器 602‧‧‧內部記憶體 603‧‧‧磁碟驅動 604‧‧‧軟碟驅動、壓縮磁碟(CD)或DVD磁碟機 605‧‧‧網路 606‧‧‧網路存取埠
附圖併入本文中並構成該說明書的一部分,它們圖示本發明的示例性實施例,並且與上面提供的概要說明和下面提供的詳細說明一起用於解釋本發明的特徵。
圖1是示出適於與各種實施例一起使用的實例電信系統的網路組件的通訊系統方塊圖。
圖2是示出在根據各種實施例配置的實施例系統中的實例邏輯組件和資訊流的方塊圖。
圖3是示出根據各種實施例在被配置為保護企業網路及其設備的實施例系統中的額外組件和資訊流的方塊圖。
圖4A是根據各種實施例示出用於保護企業網路和客戶端設備的方法的程序流程圖。
圖4B是根據各種實施例的在模擬器中執行軟體應用的方法的程序流程圖。
圖5是適於與各種實施例一起使用的客戶端計算設備的組件方塊圖。
圖6是適於與各種實施例一起使用的伺服器設備的組件方塊圖。
國內寄存資訊 (請依寄存機構、日期、號碼順序註記) 無
國外寄存資訊 (請依寄存國家、機構、日期、號碼順序註記) 無
400‧‧‧方法
402‧‧‧方塊
404‧‧‧方塊
406‧‧‧方塊
408‧‧‧方塊
410‧‧‧方塊
412‧‧‧方塊
414‧‧‧方塊
416‧‧‧方塊
418‧‧‧方塊
450‧‧‧方法
452‧‧‧方塊
454‧‧‧方塊
456‧‧‧方塊
458‧‧‧方塊
460‧‧‧方塊
462‧‧‧方塊

Claims (30)

  1. 一種保護計算設備免受非良性軟體應用的方法,包括以下步驟: 經由一伺服器計算設備中的一處理器從一應用下載服務接收一軟體應用; 經由該處理器建立到一客戶端計算設備的一安全通訊鏈路; 經由該處理器經由該安全通訊鏈路從該客戶端計算設備接收執行資訊; 經由該處理器使用該接收到的執行資訊來在一客戶端計算設備模擬器中執行該接收到的軟體應用以辨識一或多個行為;及 經由該處理器決定該辨識出的一或多個行為是否是良性的。
  2. 根據請求項1之方法,其中經由該處理器使用該接收到的執行資訊來在該客戶端計算設備模擬器中執行該接收到的軟體應用以辨識一或多個行為包括以下步驟: 在該客戶端計算設備模擬器的一應用分析器組件中分析該軟體應用,以辨識該軟體應用保證觀察的態樣; 基於該接收到的執行資訊和對該軟體應用的分析,選擇該軟體應用的目標活動用於執行; 觸發該軟體應用的該等所選目標活動用於執行;及 在被觸發活動的執行期間觀察該軟體應用的行為,並基於該軟體應用的運行時行為進一步選擇新的目標活動。
  3. 根據請求項2之方法,亦包括以下步驟: 分析一圖形化使用者介面的一佈局;及 在觸發該軟體應用的該等所選目標活動用於執行時,使用該圖形化使用者介面的分析結果。
  4. 根據請求項1之方法,亦包括以下步驟: 回應於決定該等辨識出的一或多個行為是非良性的,經由該處理器隔離從該應用下載服務接收到的該軟體應用;及 向該客戶端計算設備發送包括將該軟體應用辨識為非良性的資訊的一通知訊息。
  5. 根據請求項1之方法,亦包括以下步驟: 回應於決定該等辨識出的一或多個行為是良性的,將從該應用下載服務接收到的該軟體應用發送給該客戶端計算設備。
  6. 根據請求項5之方法,亦包括以下步驟: 回應於將從該應用下載服務接收到的軟體應用發送給該客戶端計算設備,經由該安全通訊鏈路從該客戶端計算設備接收額外的執行資訊; 利用該額外的執行資訊來進一步執行該接收到的軟體應用並辨識一額外的行為;及 決定該辨識出的額外行為是否是良性的。
  7. 根據請求項1之方法,其中從該客戶端計算設備接收執行資訊包括接收以下中的一或多個: 辨識該軟體應用的一置信水平的資訊; 探查的活動的一列表; 探查的圖形化使用者介面(GUI)螢幕的一列表; 未探查的活動的一列表; 未探查的GUI螢幕的一列表; 未探查的行為的一列表; 硬體設定信息;或 軟體配置資訊。
  8. 根據請求項1之方法,亦包括以下步驟: 計算該接收到的軟體應用的一風險分數;及 經由該安全通訊鏈路向該客戶端計算設備發送該計算出的風險分數。
  9. 根據請求項1之方法,亦包括以下步驟: 在該客戶端計算設備中接收該軟體應用; 在該客戶端計算設備上開始執行該軟體應用; 監視該軟體應用的活動以收集行為資訊; 產生描述該收集到的行為資訊的一向量資料結構; 將該向量資料結構應用到一機器學習分類器模型以產生一分析結果;及 使用該分析結果來決定該軟體應用是否是良性的。
  10. 根據請求項9之方法,亦包括以下步驟: 回應於決定該軟體應用是非良性的,將該分析結果作為執行資訊從該客戶端計算設備發送給該伺服器計算設備。
  11. 根據請求項1之方法,亦包括以下步驟: 從該客戶端計算設備接收一通訊請求訊息;及 回應於從該客戶端計算設備接收到該通訊請求訊息,建立到該客戶端計算設備的該安全通訊鏈路。
  12. 一種伺服器計算設備,包括: 一處理器,其配置有處理器可執行指令以執行包括以下各項的操作: 從一應用下載服務接收一軟體應用; 建立到一客戶端計算設備的一安全通訊鏈路; 經由該安全通訊鏈路從該客戶端計算設備接收執行資訊; 使用該接收到的執行資訊來在一客戶端計算設備模擬器中執行該接收到的軟體應用以辨識一或多個行為;及 決定該等辨識出的一或多個行為是否是良性的。
  13. 根據請求項12之伺服器計算設備,其中該處理器配置有處理器可執行指令以執行操作,從而經由該處理器使用該接收到的執行資訊來在該客戶端計算設備模擬器中執行該接收到的軟體應用以辨識一或多個行為包括: 在該客戶端計算設備模擬器的一應用分析器組件中分析該軟體應用,以辨識該軟體應用保證觀察的態樣; 基於該接收到的執行資訊和對該軟體應用的分析,選擇該軟體應用的目標活動用於執行; 觸發該軟體應用的該等所選目標活動用於執行;及 在被觸發活動的執行期間觀察該軟體應用的行為,並基於該軟體應用的運行時行為進一步選擇新的目標活動。
  14. 根據請求項13之伺服器計算設備,其中該處理器配置有處理器可執行指令以執行亦包括以下各項的操作: 分析一圖形化使用者介面的一佈局;及 在觸發該軟體應用的該等所選目標活動用於執行時,使用該圖形化使用者介面的分析結果。
  15. 根據請求項12之伺服器計算設備,其中該處理器配置有處理器可執行指令以執行亦包括以下各項的操作: 回應於決定該等辨識出的一或多個行為是非良性的,隔離從該應用下載服務接收的該軟體應用;及 向該客戶端計算設備發送包括將該軟體應用辨識為非良性的資訊的一通知訊息。
  16. 根據請求項15之伺服器計算設備,其中該處理器配置有處理器可執行指令以執行亦包括以下各項的操作: 回應於決定該等辨識出的一或多個行為是良性的,將從該應用下載服務接收到的該軟體應用發送給該客戶端計算設備。
  17. 根據請求項16之伺服器計算設備,其中該處理器配置有處理器可執行指令以執行亦包括以下各項的操作: 回應於將從該應用下載服務接收到的軟體應用發送給該客戶端計算設備,經由該安全通訊鏈路從該客戶端計算設備接收額外的執行資訊; 利用該額外的執行資訊來進一步執行該接收到的軟體應用並辨識一額外的行為;及 決定該辨識出的額外行為是否是良性的。
  18. 根據請求項12之伺服器計算設備,其中該處理器配置有處理器可執行指令以執行操作,從而從該客戶端計算設備接收執行資訊包括接收以下中的一或多個: 辨識該軟體應用的一置信水平的資訊; 探查的活動的一列表; 探查的圖形化使用者介面(GUI)螢幕的一列表; 未探查的活動的一列表; 未探查的GUI螢幕的一列表; 未探查的行為的一列表; 硬體設定信息;或 軟體配置資訊。
  19. 根據請求項12之伺服器計算設備,其中該處理器配置有處理器可執行指令以執行亦包括以下各項的操作: 計算該接收到的軟體應用的一風險分數;及 經由該安全通訊鏈路向該客戶端計算設備發送該計算出的風險分數。
  20. 根據請求項12之伺服器計算設備,其中該處理器配置有處理器可執行指令以執行亦包括以下各項的操作: 從該客戶端計算設備接收一通訊請求訊息;及 回應於從該客戶端計算設備接收到該通訊請求訊息,建立到該客戶端計算設備的該安全通訊鏈路。
  21. 一種其上儲存有處理器可執行軟體指令的非暫時電腦可讀取儲存媒體,該軟體指令被配置為使得一伺服器計算設備中的一處理器執行包括以下各項的操作: 從一應用下載服務接收一軟體應用; 建立到一客戶端計算設備的一安全通訊鏈路; 經由該安全通訊鏈路從該客戶端計算設備接收執行資訊; 使用該接收到的執行資訊來在一客戶端計算設備模擬器中執行該接收到的軟體應用以辨識一或多個行為;及 決定該等辨識出的一或多個行為是否是良性的。
  22. 根據請求項21之非暫時電腦可讀取儲存媒體,其中該等所儲存的處理器可執行指令被配置為使得一處理器執行操作,從而經由該處理器使用該接收到的執行資訊來在該客戶端計算設備模擬器中執行該接收到的軟體應用以辨識一或多個行為包括: 在該客戶端計算設備模擬器的一應用分析器組件中分析該軟體應用,以辨識該軟體應用保證觀察的態樣; 基於該接收到的執行資訊和對該軟體應用的分析,選擇該軟體應用的目標活動用於執行; 觸發該軟體應用的該等所選目標活動用於執行;及 在被觸發活動的執行期間觀察該軟體應用的行為,並基於該軟體應用的運行時行為進一步選擇新的目標活動。
  23. 根據請求項22之非暫時電腦可讀取儲存媒體,其中該等所儲存的處理器可執行指令被配置為使得一處理器執行亦包括以下各項的操作: 分析一圖形化使用者介面的一佈局;及 在觸發該軟體應用的該等所選目標活動用於執行時,使用該圖形化使用者介面的分析結果。
  24. 根據請求項21之非暫時電腦可讀取儲存媒體,其中該等所儲存的處理器可執行指令被配置為使得一處理器執行亦包括以下各項的操作: 回應於決定該等辨識出的一或多個行為是非良性的,隔離從該應用下載服務接收的該軟體應用;及 向該客戶端計算設備發送包括將該軟體應用辨識為非良性的資訊的一通知訊息。
  25. 根據請求項21之非暫時電腦可讀取儲存媒體,其中該等所儲存的處理器可執行指令被配置為使得一處理器執行亦包括以下各項的操作: 回應於決定該等辨識出的一或多個行為是良性的,將從該應用下載服務接收到的該軟體應用發送給該客戶端計算設備。
  26. 根據請求項25之非暫時電腦可讀取儲存媒體,其中該等所儲存的處理器可執行指令被配置為使得一處理器執行亦包括以下各項的操作: 回應於將從該應用下載服務接收到的軟體應用發送給該客戶端計算設備,經由該安全通訊鏈路從該客戶端計算設備接收額外的執行資訊; 利用該額外的執行資訊來進一步執行該接收到的軟體應用並辨識一額外的行為;及 決定該辨識出的額外行為是否是良性的。
  27. 根據請求項21之非暫時電腦可讀取儲存媒體,其中該等所儲存的處理器可執行指令被配置為使得一處理器執行操作,從而從該客戶端計算設備接收執行資訊包括接收以下中的一或多個: 辨識該軟體應用的一置信水平的資訊; 探查的活動的一列表; 探查的圖形化使用者介面(GUI)螢幕的一列表; 未探查的活動的一列表; 未探查的GUI螢幕的一列表; 未探查的行為的一列表; 硬體設定信息;或 軟體配置資訊。
  28. 根據請求項21之非暫時電腦可讀取儲存媒體,其中該等所儲存的處理器可執行指令被配置為使得一處理器執行亦包括以下各項的操作: 計算該接收到的軟體應用的一風險分數;及 經由該安全通訊鏈路向該客戶端計算設備發送該計算出的風險分數。
  29. 根據請求項21之非暫時電腦可讀取儲存媒體,其中該等所儲存的處理器可執行指令被配置為使得一處理器執行亦包括以下各項的操作: 從該客戶端計算設備接收一通訊請求訊息;及 回應於從該客戶端計算設備接收到該通訊請求訊息,建立到該客戶端計算設備的該安全通訊鏈路。
  30. 一種計算設備,包括: 用於從一應用下載服務接收一軟體應用的單元; 用於建立到一客戶端計算設備的一安全通訊鏈路的單元; 用於經由該安全通訊鏈路從該客戶端計算設備接收執行資訊的單元; 用於使用該接收到的執行資訊來在一客戶端計算設備模擬器中執行該接收到的軟體應用以辨識一或多個行為的單元;及 用於決定該等辨識出的一或多個行為是否是良性的單元。
TW106110722A 2016-04-22 2017-03-30 用於智慧偵測在客戶端計算設備和企業網路上的惡意軟體和攻擊的方法和系統 TW201738798A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US15/135,855 US20170308701A1 (en) 2016-04-22 2016-04-22 Methods and Systems for Intelligently Detecting Malware and Attacks on Client Computing Devices and Corporate Networks

Publications (1)

Publication Number Publication Date
TW201738798A true TW201738798A (zh) 2017-11-01

Family

ID=58549205

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106110722A TW201738798A (zh) 2016-04-22 2017-03-30 用於智慧偵測在客戶端計算設備和企業網路上的惡意軟體和攻擊的方法和系統

Country Status (9)

Country Link
US (1) US20170308701A1 (zh)
EP (1) EP3446250A1 (zh)
JP (1) JP2019516178A (zh)
KR (1) KR20180137495A (zh)
CN (1) CN108885662A (zh)
BR (1) BR112018071643A2 (zh)
CA (1) CA3016637A1 (zh)
TW (1) TW201738798A (zh)
WO (1) WO2017184307A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI677804B (zh) * 2017-11-29 2019-11-21 財團法人資訊工業策進會 計算機裝置及辨識其軟體容器行為是否異常的方法
TWI789997B (zh) * 2021-11-17 2023-01-11 財團法人資訊工業策進會 基於木馬電路檢測的資料處理方法及資料處理電路

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018081629A1 (en) * 2016-10-28 2018-05-03 Tala Security, Inc. Application security service
US10552609B2 (en) * 2016-12-30 2020-02-04 Intel Corporation Malicious object detection in a runtime environment
JP2018109910A (ja) * 2017-01-05 2018-07-12 富士通株式会社 類似度判定プログラム、類似度判定方法および情報処理装置
JP6866645B2 (ja) 2017-01-05 2021-04-28 富士通株式会社 類似度判定プログラム、類似度判定方法および情報処理装置
CN109766496B (zh) * 2018-12-28 2021-02-09 奇安信科技集团股份有限公司 一种内容风险识别方法、系统、设备及介质
US11336675B2 (en) * 2019-09-20 2022-05-17 Bank Of America Corporation Cyber resilience chaos stress testing
TWI781354B (zh) 2019-11-11 2022-10-21 財團法人資訊工業策進會 測試資料產生系統及測試資料產生方法
WO2021133312A1 (en) * 2019-12-25 2021-07-01 Istanbul Medipol Universitesi Primary user emulation / signal jamming attack detection method
US20220070183A1 (en) * 2020-08-25 2022-03-03 Zscaler, Inc. Detecting malicious mobile applications using machine learning in a cloud-based system
CN112765654B (zh) * 2021-01-07 2022-09-20 支付宝(杭州)信息技术有限公司 一种基于隐私数据调用的管控方法及装置
US11652828B1 (en) 2021-01-11 2023-05-16 Wells Fargo Bank, N.A. Systems and methods for automated anomalous behavior detection and risk-scoring individuals
CN114969745A (zh) * 2022-06-28 2022-08-30 维沃移动通信(杭州)有限公司 处理方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070250927A1 (en) * 2006-04-21 2007-10-25 Wintutis, Inc. Application protection
US9367680B2 (en) * 2008-10-21 2016-06-14 Lookout, Inc. System and method for mobile communication device application advisement
US8572740B2 (en) * 2009-10-01 2013-10-29 Kaspersky Lab, Zao Method and system for detection of previously unknown malware
US8806647B1 (en) * 2011-04-25 2014-08-12 Twitter, Inc. Behavioral scanning of mobile applications
US9832211B2 (en) * 2012-03-19 2017-11-28 Qualcomm, Incorporated Computing device to detect malware
US20130304677A1 (en) * 2012-05-14 2013-11-14 Qualcomm Incorporated Architecture for Client-Cloud Behavior Analyzer
US9324034B2 (en) * 2012-05-14 2016-04-26 Qualcomm Incorporated On-device real-time behavior analyzer
CN102694817B (zh) * 2012-06-08 2016-08-03 北京奇虎科技有限公司 一种识别程序的网络行为是否异常的方法、装置及系统
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
EP2784716A1 (en) * 2013-03-25 2014-10-01 British Telecommunications public limited company Suspicious program detection
CN105007282B (zh) * 2015-08-10 2018-08-10 济南大学 面向网络服务提供商的恶意软件网络行为检测方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI677804B (zh) * 2017-11-29 2019-11-21 財團法人資訊工業策進會 計算機裝置及辨識其軟體容器行為是否異常的方法
US10726124B2 (en) 2017-11-29 2020-07-28 Institute For Information Industry Computer device and method of identifying whether container behavior thereof is abnormal
TWI789997B (zh) * 2021-11-17 2023-01-11 財團法人資訊工業策進會 基於木馬電路檢測的資料處理方法及資料處理電路

Also Published As

Publication number Publication date
CN108885662A (zh) 2018-11-23
US20170308701A1 (en) 2017-10-26
KR20180137495A (ko) 2018-12-27
EP3446250A1 (en) 2019-02-27
CA3016637A1 (en) 2017-10-26
WO2017184307A1 (en) 2017-10-26
BR112018071643A2 (pt) 2019-02-19
JP2019516178A (ja) 2019-06-13

Similar Documents

Publication Publication Date Title
TW201738798A (zh) 用於智慧偵測在客戶端計算設備和企業網路上的惡意軟體和攻擊的方法和系統
US10951647B1 (en) Behavioral scanning of mobile applications
US9357397B2 (en) Methods and systems for detecting malware and attacks that target behavioral security mechanisms of a mobile device
US20180285567A1 (en) Methods and Systems for Malware Analysis and Gating Logic
US9910984B2 (en) Methods and systems for on-device high-granularity classification of device behaviors using multi-label models
US10104107B2 (en) Methods and systems for behavior-specific actuation for real-time whitelisting
US20180054449A1 (en) Methods and Systems for Protecting Computing Devices from Non-Benign Software Applications via Collaborative Application Detonation
US9330257B2 (en) Adaptive observation of behavioral features on a mobile device
US9787695B2 (en) Methods and systems for identifying malware through differences in cloud vs. client behavior
JP6228966B2 (ja) マルウェアを検出するコンピューティングデバイス
EP2850865B1 (en) Minimizing latency of behavioral analysis using signature caches
US9606893B2 (en) Methods and systems of generating application-specific models for the targeted protection of vital applications
JP6174827B1 (ja) サイドチャネル攻撃を妨害するための方法およびシステム
US20160379136A1 (en) Methods and Systems for Automatic Extraction of Behavioral Features from Mobile Applications
US20180060569A1 (en) Detection and Prevention of Malicious Shell Exploits
WO2017014896A1 (en) Memory hierarchy monitoring systems and methods
Shankar et al. AndroTaint: An efficient android malware detection framework using dynamic taint analysis
TW201543860A (zh) 對行動設備上的驅動程式和硬體級行爲特徵的自我調整觀測