TWI711939B - 用於惡意程式碼檢測之系統及方法 - Google Patents

用於惡意程式碼檢測之系統及方法 Download PDF

Info

Publication number
TWI711939B
TWI711939B TW104138974A TW104138974A TWI711939B TW I711939 B TWI711939 B TW I711939B TW 104138974 A TW104138974 A TW 104138974A TW 104138974 A TW104138974 A TW 104138974A TW I711939 B TWI711939 B TW I711939B
Authority
TW
Taiwan
Prior art keywords
network
connection
malicious
network connection
data
Prior art date
Application number
TW104138974A
Other languages
English (en)
Other versions
TW201633205A (zh
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 TW201633205A publication Critical patent/TW201633205A/zh
Application granted granted Critical
Publication of TWI711939B publication Critical patent/TWI711939B/zh

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本發明提供一種用於檢測及防止對建立一網路連接以用於惡意通訊之一嘗試的電腦實施方法,其包含:檢測用於建立一網路連接之一連接建立處理程序,該連接建立處理程序藉由在一用戶端終端機上執行之程式碼起始;分析在該用戶端終端機處所管理之該起始程式碼之至少一堆疊跡線中的紀錄,以檢測建立該網路連接用於惡意活動之一惡意通訊的一嘗試;以及在該分析檢測到基於該網路連接建立該惡意通訊之該嘗試時,阻止該網路連接的建立。

Description

用於惡意程式碼檢測之系統及方法 發明領域
本發明在其一些實施例中係關於用於惡意連接檢測之系統及方法,且更特定言之但非唯一地係關於用於利用網路連接以用於惡意活動及/或通訊之惡意程式碼之檢測的系統及方法。
發明背景
某些類型之惡意程式碼攻擊電腦,且使用主機電腦經由網路連接而連接至其他伺服器。在一實例中,網路連接係藉由惡意程式碼自身起始,例如以將所竊取資料發送至遠端伺服器。在另一實例中,惡意程式將程式碼注入至合法應用程式,注入碼接著起始對遠端伺服器之連接以發送所竊取資料。
一類型之惡意攻擊的一實例為進階目標式攻擊(ATA),其為未經授權方存取網路且在長的時段內保持未被檢測到的精巧攻擊。大多數ATA之意圖是竊取資料而非對網路引起損壞。ATA以具有高價值資訊之部門組織為目標,諸如信用卡處理器、政府機構及金融服務業。
抗ATA解決方案之實例係基於對攻擊之檢測或對滲入之惡意程式碼的檢測。在另一實例中,其他工具經設計來檢測在行動中之異常或惡意活動。
發明概要
根據本發明之一些實施例的態樣,提供一種用於檢測及防止對建立一網路連接以用於惡意通訊之一嘗試的電腦實施方法,其包含:檢測用於建立一網路連接之一連接建立處理程序,該連接建立處理程序藉由在一用戶端終端機上執行之程式碼起始;分析在該用戶端終端機處所管理之該起始程式碼之至少一堆疊跡線中的紀錄,以檢測建立該網路連接用於惡意活動之一惡意通訊的一嘗試;以及在該分析檢測到基於該網路連接建立該惡意通訊之該嘗試時,阻止該網路連接的建立。
任擇地,分析紀錄包含分析流資料,該流資料包括該至少一堆疊跡線及由以下各者組成之群組的至少一成員:與該連接建立相關之執行緒資料、模組資料及處理程序資料。
任擇地,該方法進一步包含:在每一個別用戶端處聚集與該至少一堆疊跡線相關之資料及/或流資料;以及將與該至少一堆疊跡線相關之該資料自每一個別用戶端傳輸至一中央伺服器;其中該分析係藉由該中央伺服器執行。任擇地,與該至少一堆疊跡線相關之資料包括動態碼。
任擇地,該方法進一步包含在未檢測到基於該網 路連接建立該惡意通訊之該嘗試時,准許該連接建立處理程序啟動該網路連接。
任擇地,該分析係在該網路連接之啟動之前執行。
任擇地,在該網路連接經啟動時,該分析係在藉由該起始應用程式進行之惡意活動及/或通訊相關資料進送之前執行。
任擇地,該至少一堆疊跡線係在根據用於該連接建立處理程序之起始的網際網路協定套件之一傳輸控制協定(TCP)所執行的該連接建立期間收集。
任擇地,該方法進一步包含在該檢測之後暫停該連接建立處理程序。
任擇地,該至少一堆疊跡線及/或流資料係在該連接建立處理程序之該起始時獲得。
任擇地,該至少一堆疊跡線包括在該連接建立處理程序期間在多個點處所獲得之多個堆疊跡線的至少一序列,且該分析包含使該等多個堆疊跡線與表示建立該惡意通訊之該嘗試的流資料分析匹配。
任擇地,分析包含針對一未知模組及一列入黑名單或列入白名單模組中之至少一者分析該至少一堆疊跡線的該等紀錄,從而表示該起始應用程式之感染。
任擇地,分析包含在一中央伺服器執行藉由指明為有效之未感染應用程式所使用的連接建立流資料分析時,針對該分析而分析該至少一堆疊跡線。
任擇地,分析包含在該應用程式尚未藉由起始建立該惡意活動/通訊之該嘗試的注入碼感染時,比較至少一堆疊跡線與預期藉由該應用程式產生之連接建立堆疊流資料分析。
根據本發明之一些實施例的態樣,提供一種用於檢測對建立一網路連接以用於惡意通訊之一嘗試的系統,其包含:至少一閘道器,其經組配來:在用於建立與一基於網路之伺服器之一網路連接的一連接建立處理程序期間,接收在一用戶端終端機上執行之一程式碼的至少一堆疊跡線;分析該至少一堆疊跡線中之紀錄,以判定建立該網路連接用於惡意活動之一惡意通訊的一嘗試之一存在或不存在;在該等紀錄與惡意流資料分析匹配時,檢測對建立該網路連接以用於該惡意通訊之一嘗試;以及產生表示使用該網路連接建立該惡意通訊之該嘗試的一信號。
任擇地,接收包含接收至少一流資料,且分析紀錄包含分析該流資料,該流資料包括該至少一堆疊跡線及由以下各者組成之群組的至少一成員:與該連接建立相關之執行緒資料、模組資料及處理程序資料。
任擇地,該至少一閘道器駐留於經由一網路與該用戶端終端機通訊之一遠端伺服器處。
任擇地,該至少一閘道器為駐留於該用戶端終端機處之一軟體模組。
任擇地,該至少一閘道器為一代理伺服器。
任擇地,該系統進一步包含一端點模組,該端點 模組用於安裝於該用戶端終端機處,其經組配來:檢測藉由該程式碼對該網路連接之建立的一起始;將該至少一堆疊跡線及/或流資料傳輸至該閘道器;自該閘道器接收該信號;以及基於該所接收信號阻止該連接建立處理程序以防止該網路連接之啟動。
任擇地,該至少一閘道器經進一步組配來基於該所接收信號防止該網路連接之啟動。
任擇地,該系統進一步包含一管理伺服器,該管理伺服器與該至少一閘道器通訊,該管理伺服器經組配來收集藉由該至少一閘道器針對與每一用戶端相關之每一網路連接請求所產生的該信號。任擇地,該管理伺服器進一步包括一使用者介面,該使用者介面經組配來允許一使用者執行由以下各者組成之群組的至少一成員:審查該等所產生信號、管理該等所產生信號、中央控制該至少一閘道器之組態、中央控制與該至少一閘道器通訊之至少一用戶端終端機的組態、監視該至少一閘道器之狀態,及監視與該至少一閘道器通訊之至少一用戶端終端機的狀態。
任擇地,在該用戶端終端機上執行之該應用程式為一網頁瀏覽器。
任擇地,該連接建立處理程序係藉由表示用於該網路連接之一本籍端點的一應用程式規劃介面管理。
任擇地,在該用戶端終端機上執行之該應用程式為一超管理器之部分。
任擇地,在該用戶端終端機上執行之該應用程式 為一未經授權之惡意應用程式。
任擇地,該系統進一步包含藉由與對建立該網路連接以用於該惡意通訊之該所識別嘗試相關聯的一堆疊流資料分析來更新該至少一閘道器,以識別來自其他用戶端終端機之類似堆疊流資料分析。
任擇地,該至少一閘道器經進一步組配來:在該網路連接在作用中時,接收該應用程式之至少一堆疊跡線;以及分析該至少一堆疊跡線中之紀錄,以使用該作用中網路連接監視後連接建立惡意活動。
任擇地,該至少一閘道器經進一步組配來:自多個用戶端中之每一者接收多個至少一流資料;以及分析該等多個至少一流資料以檢測一協同攻擊。
根據本發明之一些實施例的態樣,提供一種用於檢測對建立一網路連接以用於惡意活動之一嘗試的電腦程式產品,該電腦程式產品包含:一或多個非暫時性電腦可讀儲存媒體,及儲存於該一或多個儲存媒體中之至少一者上的程式指令,該等程式指令包含:用於檢測用於建立一網路連接之一連接建立處理程序的程式指令,該連接建立處理程序藉由在一用戶端終端機上執行之程式碼起始;用於分析在該用戶端終端機處所管理之該起始程式碼之至少一堆疊跡線中的紀錄以檢測建立該網路連接用於惡意活動之一惡意通訊的一嘗試的程式指令;以及用於在該分析檢測到基於該網路連接建立該惡意通訊之該嘗試時阻止該網路連接的建立的程式指令。
除非另有定義,否則本文所使用之所有技術及/或科學術語具有與一般熟習本發明所屬之技術者通常所理解的含義相同的含義。儘管類似或等效於本文所述之方法及材料的方法及材料可在本發明之實施例的實踐或測試中使用,但下文描述示範性方法及/或材料。在發生衝突之狀況下,專利說明書(包括定義)將起控制作用。另外,材料、方法及實例僅為例示性的且並非意欲一定為限制性的。
102~138、402~420、502A~518C‧‧‧方塊
200‧‧‧系統
202‧‧‧用戶端
204‧‧‧遠端伺服器/遠端合法伺服器
206‧‧‧網路
208A‧‧‧端點模組
208B‧‧‧呼叫堆疊/連接建立相關堆疊/堆疊資料
208C‧‧‧應用程式及/或程式碼
208D‧‧‧流資料
210‧‧‧閘道器
212‧‧‧惡意代理器/惡意程式碼
214‧‧‧遠端惡意目標伺服器
220‧‧‧管理伺服器
222‧‧‧閘道器/使用者介面模組 /使用者介面
302、304、312、314‧‧‧呼叫堆疊
306‧‧‧未知模組
308‧‧‧檔案
316‧‧‧未知程式碼
318‧‧‧模組
本文僅藉由實例參看隨附圖式描述本發明之一些實施例。現詳細地特定參看圖式,需要強調的是,所示之細項係舉例而言的且用於本發明之實施例之例示性論述的目的。就此而言,參看圖式所進行之描述使熟習此項技術者清楚瞭解可實踐本發明之實施例的方式。
在圖式中:圖1A為根據本發明之一些實施例的用於檢測網路連接之惡意活動的電腦實施方法,其中在閘道器處發生防止;圖1B為根據本發明之一些實施例的用於檢測網路連接之惡意活動的電腦實施方法,其中在用戶端處發生防止;圖2為根據本發明之一些實施例的用於檢測及阻止網路連接之惡意活動的系統之方塊圖;圖3A至圖3B為根據本發明之一些實施例的呼叫堆疊之實例; 圖4為根據本發明之一些實施例的用於收集堆疊資料之電腦化方法的流程圖;圖5A為根據本發明之一些實施例的用於收集執行緒相關流資料之電腦化方法的流程圖;圖5B為根據本發明之一些實施例的用於收集處理程序相關流資料之電腦化方法的流程圖;以及圖5C為根據本發明之一些實施例的用於收集模組相關流資料之電腦化方法的流程圖。
較佳實施例之詳細說明
本發明在其一些實施例中係關於用於惡意連接檢測及防止之系統及方法,且更特定言之但非唯一地係關於用於利用網路連接以用於惡意活動及/或通訊之惡意程式碼之檢測的系統及方法。
本發明之一些實施例的態樣係關於用於檢測對建立網路連接以用於惡意活動/通訊之嘗試的系統及/或方法。在用戶端終端機處之連接建立係在中央閘道器處基於多個經連接用戶端中之每一者來監視,該等用戶端將表示一或多個本籍呼叫堆疊之資料及與連接建立處理程序相關的可選作業系統資料傳輸至閘道器伺服器以供分析。連接建立呼叫堆疊經監視及/或分析來識別惡意程式碼,其任擇地藉由以下各項中之一或多者強化:相關處理程序、模組分析資料、動態產生碼及/或在用戶端終端機處之執行緒互動。如本文所述,流資料一詞意味在用戶端終端機處所收 集之所描述資料,其包括呼叫堆疊資料及任擇地處理程序資料、模組分析資料及/或執行緒資料中之一或多者。
在識別出與連接建立處理程序相關之惡意活動後,連接建立處理程序即得以暫停及/或終止。網路連接被防止建立。在遠端伺服器與本籍惡意代理器之間經由網路連接進行之資料傳輸得以防止。以此方式,經由網路進行之惡意資料傳輸在惡意代理器能夠使用網路連接引起損壞之前得以停止,該損壞例如自遠端伺服器竊取資料,或將來自本籍用戶端之所竊取資料傳輸至遠端伺服器。在已建立作用中網路連接之狀況下,針對惡意活動之出現而監視網路連接。當惡意活動被識別出時,作用中連接可停工或被阻止。
藉由惡意程式碼感染之應用程式或惡意程式碼應用程式自身可例如經由作業系統之介面程式(例如,套接字)起始網路連接的建立。在將資料傳輸提供至本籍應用程式及/或自本籍應用程式提供資料傳輸之網路連接的完成設立之前,針對惡意通訊之連接建立活動得以識別出。與起始應用程式相關之流資料可在檢測到建立請求、建立起始後及/或在連接建立處理程序自身期間得以分析,在連接建立處理程序自身期間例如在網際網路協定(IP)套件之傳輸控制協定(TCP)的多步驟交握處理程序之前及/或期間。
在詳細地解釋本發明之至少一實施例之前,應理解,本發明未必在其應用方面限於以下描述中所闡述及/或在圖式及/或實例中所例示之組件及/或方法之構造及/或配 置的細節。本發明能夠具有其他實施例或能夠以各種方式實踐或執行。
本發明可為系統、方法,及/或電腦程式產品。電腦程式產品可包括(多個)電腦可讀儲存媒體,該(等)電腦可讀儲存媒體上具有電腦可讀程式指令以用於使處理器執行本發明之態樣。
電腦可讀儲存媒體可為可保持且儲存指令以供指令執行裝置使用之有形裝置。電腦可讀儲存媒體可為例如但不限於:電子儲存裝置、磁性儲存裝置、光學儲存裝置、電磁儲存裝置、半導體儲存裝置,或前述各項之任何合適的組合。電腦可讀儲存媒體之更特定實例的非詳盡清單包括以下:攜帶型電腦磁片、硬碟、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、可抹除可規劃唯讀記憶體(EPROM或快閃記憶體)、靜態隨機存取記憶體(SRAM)、攜帶型緊密光碟唯讀記憶體(CD-ROM)、數位影音光碟(DVD)、記憶棒、軟碟,及前述各項之任何合適的組合。如本文所使用,電腦可讀儲存媒體本身並不解釋為暫時性信號,諸如無線電波或其他自由傳播之電磁波、傳播通過波導或其他傳輸介質之電磁波(例如,穿過光纖纜線之光脈衝),或經由導線所傳輸的電信號。
本文所述之電腦可讀程式指令可自電腦可讀儲存媒體下載至個別計算/處理裝置,或經由網路下載至外部電腦或外部儲存裝置,該網路例如網際網路、區域網路、廣域網路及/或無線網路。網路可包含銅傳輸纜線、光學傳 輸纖維、無線傳輸、路由器、防火牆、交換器、閘道器電腦及/或邊緣伺服器。每一計算/處理裝置中之網路配接卡或網路介面自網路接收電腦可讀程式指令,且進送電腦可讀程式指令以供儲存於個別計算/處理裝置內的電腦可讀儲存媒體中。
用於執行本發明之操作的電腦可讀程式指令可為組合程式指令、指令集架構(ISA)指令、機器指令、機器相依指令、微碼、韌體指令、狀態設定資料,或以一或多種規劃語言之任何組合撰寫的原始碼抑或目標碼,該一或多種規劃語言包括諸如Smalltalk、C++或其類似者之物件導向規劃語言及習知程序規劃語言,諸如「C」規劃語言或類似規劃語言。電腦可讀程式指令可完全在使用者電腦上執行,部分地在使用者電腦上執行,作為獨立套裝軟體來執行,部分地在使用者電腦上且部分地在遠端電腦上執行,或完全在遠端電腦或伺服器上執行。在後一情形中,遠端電腦可經由包括區域網路(LAN)或廣域網路(WAN)的任何類型之網路連接至使用者電腦,或連接可對外部電腦進行(例如,使用網際網路服務提供者經由網際網路)。在一些實施例中,包括例如可規劃邏輯電路、場可規劃閘陣列(FPGA)或可規劃邏輯陣列(PLA)之電子電路可藉由利用電腦可讀程式指令之狀態資訊個人化電子電路而執行電腦可讀程式指令,以便執行本發明之態樣。
本發明之態樣在本文中係參考根據本發明之實施例的方法、設備(系統)及電腦程式產品之流程圖說明及/ 或方塊圖來描述。應理解,流程圖說明及/或方塊圖之每一方塊,及流程圖說明及/或方塊圖中之方塊的組合可藉由電腦可讀程式指令來實施。
此等電腦可讀程式指令可提供至通用電腦、專用電腦或其他可規劃資料處理設備之處理器以產生機器,使得經由電腦或其他可規劃資料處理設備之處理器而執行之指令產生用於實施在該(等)流程圖及/或方塊圖方塊中所指定之功能/動作的構件。此等電腦可讀程式指令亦可儲存於電腦可讀儲存媒體中,其可指引電腦、可規劃資料處理設備及/或其他裝置以特定方式起作用,使得儲存有指令之電腦可讀儲存媒體包含製造物品,該製造物品包括實施在該(等)流程圖及/或方塊圖方塊中所指定之功能/動作之態樣的指令。
電腦可讀程式指令亦可載入至電腦、其他可規劃資料處理設備或其他裝置上,以使一系列操作步驟在電腦、其他可規劃設備或其他裝置上執行以產生電腦實施處理程序,使得在電腦、其他可規劃設備或其他裝置上執行之指令實施在該(等)流程圖及/或方塊圖方塊中所指定的功能/動作。
諸圖中之流程圖及方塊圖例示根據本發明之各種實施例的系統、方法及電腦程式產品之可能實行方案的架構、功能性及操作。就此而言,流程圖或方塊圖中之每一方塊可表示模組、區段,或指令之部分,其包含用於實施所指定邏輯功能的一或多個可執行指令。在一些替代性 實行方案中,方塊中所提到之功能可不按諸圖中所提到的次序發生。舉例而言,接連展示之兩個方塊可實際上實質上同時執行,或該等方塊可有時以相反次序執行,此取決於所涉及之功能性。亦應注意,方塊圖及/或流程圖說明之每一方塊,及方塊圖及/或流程圖說明中之方塊的組合可藉由基於專用硬體的系統來實施,該等系統執行所指定功能或動作或者執行專用硬體與電腦指令之組合。
如本文所定義,連接建立一詞意味在某一應用程式能夠經由網路連接傳輸及/或接收資料之前發生的電腦化處理程序。連接建立處理程序可藉由自特定應用程式接收起始命令之應用程式規劃介面管理及/或執行以建立連接,自特定應用程式接收資料以經由所建立連接來傳輸,及/或將經由所建立連接所接收的資料傳輸至特定應用程式。
現參看圖1A,其為根據本發明之一些實施例的用於檢測針對惡意活動及/或通訊之網路連接的電腦實施方法之流程圖,其中在閘道器處發生防止。亦參看圖2,其為根據本發明之一些實施例的用於檢測及防止針對惡意通訊之網路連接的系統。參看圖2所述之系統可執行參看圖1A所述的方法。系統及/或方法檢測對建立網路連接以用於與惡意代理器相關聯之惡意活動及/或通訊的嘗試,且在惡意代理器能夠利用網路連接以用於基於資料傳輸及/或接收進行惡意活動之前暫停及/或提前終止連接建立處理程序。以此方式,藉由惡意代理器經由網路連接所執行之遠 端命令得以防止。舉例而言,在惡意代理器之控制下藉由資料經由網路連接之傳輸所進行的資料(例如,銀行詳情、信用卡號、財務狀況、軍事情報、機密資訊,及敏感資訊)之竊取得以防止。在另一實例中,藉由惡意代理器經由網路連接對遠端電腦處之資料的修改及/或刪除得以防止。在又一實例中,惡意代理器不能夠存取遠端伺服器以獲得額外指令。
當電腦(例如,用戶端及/或伺服器)藉由惡意代理器感染時,系統及/或方法防止惡意代理器經由網路連接執行惡意活動。系統及/或方法提供額外等級之安全性,其中已藉由未經檢測及/或未知的惡意代理器感染之電腦被防止基於使用網路連接之活動對其他遠端電腦及/或對本籍電腦自身引起損壞。
系統及/或方法可檢測藉由作業系統之特權而執行的惡意代理器,該等惡意代理器可繞過安全性措施以建立網路連接,例如超管理器惡意程式碼。此等惡意代理器可嘗試在不使用作業系統功能之情況下及/或藉由停用及/或繞過端點模組而建立連接。由於藉由閘道器所監視之連接建立請求並未藉由端點模組強化及/或簽署,因此此等嘗試藉由閘道器阻止。
對設立與惡意代理器相關聯之網路連接的嘗試之檢測允許識別可能另外難以識別及/或可能另外在已發生損壞之後識別出的惡意代理器及/或惡意活動。舉例而言,某些惡意代理器在閒置時係難以或不可檢測到的,而 僅在處於作用中時被檢測到。在此狀況下,在已經由網路連接進行損壞之前,系統及/或方法檢測惡意活動而作為連接建立處理程序之部分。
系統及/或方法可在經由網路連接發生損壞之前識別對建立網路連接以用於基於未經授權之程式碼執行之惡意活動及/或通訊(亦即,其中攻擊者對應用程式進行控制以執行惡意程式碼)的嘗試。此未經授權之程式碼執行可另外難以在已進行損壞之前進行檢測。
在不必識別某一感染惡意程式碼代理器之情況下,對建立網路連接以用於惡意活動及/或通訊之嘗試可被檢測到且暫停。以此方式,未知的惡意代理器可被防止存取網路連接以執行惡意活動。
任擇地,用於檢測針對惡意活動及/或通訊之連接的系統及/或方法安裝於例如系統200內。
系統200包括至少一用戶端202,及/或伺服器,該至少一用戶端202例如膝上型電腦、桌上型電腦、行動裝置(例如,智慧電話、平板電腦)。用戶端202為能夠針對來自用戶端202及/或去往用戶端202之資料傳輸起始新的網路連接的端點用戶端。端點用戶端202可為伺服器。
用戶端202包括網路連接性能,例如,網路介面、傳輸器,及/或接收器。用戶端202可經由一或多個網路206與遠端伺服器204通訊,該一或多個網路206例如無線網路、有線網路、蜂巢式網路、網際網路、私用網路,及其多個網路之組合。
任擇地,端點模組208A安裝於一或多個用戶端202之記憶體上(或與一或多個用戶端202通訊)(例如,經預先安裝、與在用戶端上執行之作業系統整合,及/或自遠端伺服器或本籍記憶體下載且本籍地安裝)。任擇地,端點模組208A含有程式指令以供用戶端202之處理器執行,且用於監視用戶端202上之連接建立相關活動,如本文所述。或者或另外,模組208A執行如藉由閘道器210所指引之功能,例如,暫停連接建立及/或允許連接建立。
閘道器210自用戶端202接收連接建立相關資料、分析資料,且識別對建立網路連接以用於惡意活動及/或通訊之嘗試,如本文所述。任擇地,閘道器210為代理伺服器,其充當在用戶端202上起始網路連接之建立的某一應用程式與控制網路連接之建立的介面之間的中間者。閘道器210藉由直接控制及/或產生指示連接建立之狀態的警示信號而暫停連接建立或允許連接建立繼續。
閘道器210可為用於安裝於電腦上之軟體模組,及/或用於與其他電腦通訊之硬體裝備。或者或另外,閘道器210經安裝來自多個用戶端202接收資料。閘道器210可安裝於網路206內、經由網路206與用戶端202通訊,例如,閘道器210可為遠端伺服器、用於與用戶端202之預定義群組通訊的本籍安裝伺服器,諸如在私用組織網路內、在用戶端202與網路206之間的介面(例如,網路介面裝置)處,及/或安裝於網路206自身內,例如,在內部及/或邊界網路裝置(例如,層2裝置、層3裝置、路由器、閘道器及橋接器) 內。
一或多個惡意代理器212感染用戶端202。應注意,用戶端之感染可在安裝之前發生。
惡意代理器212可含有程式指令以建立對遠端惡意目標伺服器214之經由網路206的連接,及/或在用戶端202與遠端合法伺服器204之間利用經由網路206之連接。
惡意代理器212之一實例為動態連結程式庫注入。動態連結程式庫注入為一技術,該技術用於例如藉由迫使另一處理程序載入且執行動態連結程式庫而在該處理程序的位址空間內執行程式碼。動態連結程式庫注入可藉由外部程式使用,來以程式之作者不期望或預期的方式影響另一程式之行為。駭客可利用動態連結程式庫注入技術,且將受感染有效負載注入至端點應用程式中以便惡意地操控原始應用程式。舉例而言,Zeus為呈木馬之形式的惡意代理器,其使用動態連結程式庫注入來進入網際網路瀏覽器應用程式以攔截去往金融組織之網路連接,以便竊取客戶資訊及/或金錢。Zeus藉由鉤住(hook)HTTP處置功能以監視且操縱網路連接及藉由網頁瀏覽器所存取之資料來起作用。
惡意代理器212之另一實例為繞過檢測。某些惡意程式碼經規劃來藉由作業系統及/或較高階程式之特權來執行,例如,超管理器惡意程式碼。此惡意程式碼容易地繞過安全性措施且隨意地建立網路連接。
惡意代理器212之又一實例為未經授權之程式碼 執行。當攻擊者使用惡意行動來控制程式碼執行以便執行其自己的惡意程式碼時,未經授權之程式碼執行發生。惡意程式碼係作為在受影響之端點用戶端之背景下執行的惡意程式碼應用程式來執行,從而允許駭客惡意地操控用戶端。
惡意代理器212之其他實例包括病毒、蠕蟲、木馬、間諜軟體及廣告軟體。惡意代理器212可作為可執行碼、腳本、應用程式及其他軟體來安裝。
參看圖1A及圖1B,在用戶端處發生之方塊可在圖2之用戶端202中發生,且在閘道器內發生之方塊可在圖2的閘道器210中發生。
在102處,檢測到連接建立嘗試。任擇地,藉由在用戶端終端機上執行之應用程式建立對基於網路之伺服器的網路連接的起始注解(例如,請求)被檢測到。該應用程式可藉由惡意程式碼212感染,如本文所述。
任擇地,應用程式及/或用戶端經監視來檢測對建立網路連接之嘗試。舉例而言,端點模組208A監視用戶端202,以檢測藉由應用程式及/或程式碼208C(安裝於用戶端202上及/或與用戶端202通訊)經由網路206建立連接的嘗試。
任擇地,網路連接嘗試建立為新的連接。或者,網路連接嘗試作為撤銷及/或中止之先前連接的重建者。
應用程式可嘗試建立對例如遠端合法伺服器204(例如,自其竊取資料)之受信任來源的網路連接,及/ 或可嘗試建立對例如惡意目標伺服器214(例如,所竊取資料傳輸至其,及/或其充當遠端惡意控制器)之惡意來源的網路連接。
嘗試建立網路連接的惡意地感染之應用程式及/或惡意程式碼208C之實例包括:網頁瀏覽器、即時訊息傳遞應用程式、字處理應用程式、影像編輯應用程式、音樂應用程式、安裝於應用程式內之(多個)更新模組、作業系統自身、遠端電腦控制應用程式,及資料同步應用程式。受感染之應用程式及/或惡意程式碼208C可為產生及/或執行虛擬機之超管理器或虛擬機監視器的部分,例如如本文所述。用戶端202可包括虛擬機主機。受感染之應用程式及/或惡意程式碼208C可為未經授權之惡意應用程式的部分,例如如本文所述。受感染之應用程式及/或惡意程式碼208C可為管理連接建立之應用程式規劃介面的部分,例如套接字。
任擇地,起始訊息(例如,請求)及/或連接建立例如藉由端點模組208A在用戶端末端處被檢測到。該請求可基於對連接建立之嘗試的所接收通知在用戶端處與作業系統聯合得以檢測到,例如,基於將命令發佈至用戶端處表示用於通訊之本籍端點的應用程式規劃介面之應用程式,例如,諸如網際網路套接字之網路套接字。該命令可為產生新的網路套接字,及/或在新的網路套接字之產生之後產生信號。在另一實例中,該請求可基於將命令發佈至先前產生之套接字的應用程式而得以檢測到。在用戶端末端處 之檢測防止惡意代理器與用戶端外部之伺服器建立連接。
任擇地,網路建立處理程序係基於與遠端伺服器之參數協商處理程序,例如,交握處理程序,例如,基於TCP。或者或另外,網路建立處理程序並不基於協商處理程序,例如,無連接網路連接,例如,基於使用者資料報協定(UDP)。
在104處,收集堆疊資料,例如,如下文參看圖4所述。
任擇地,在106處,在起始網路連接之建立的命令期間獲得額外流資料208D,諸如與執行緒、處理程序及/或模組相關之流資料,例如,如下文參看圖5A、圖5B及圖5C所述。
在108處,例如藉由端點模組208A將包括與連接建立處理程序相關之呼叫堆疊208B的資料(方塊104之資料)且任擇地包括額外流資料(方塊106之流資料)的流資料傳輸至閘道器210,端點模組208A可存取用戶端202內之堆疊資料及/或其他流資料。
在110處,閘道器接收藉由用戶端所傳輸之流資料。資料傳輸可經由網路發生。
在112處,分析資料以檢測對建立連接以用於惡意活動及/或通訊之嘗試。該資料可包括流資料中表示正在用戶端終端機處執行之處理程序、執行緒、模組及動態碼的紀錄。
紀錄經分析來檢測建立惡意活動及/或通訊之嘗 試的存在或不存在,其中網路連接係用於惡意活動,例如,竊取資料。
建立惡意通訊之嘗試可藉由在紀錄表示非法流資料時檢測對建立網路連接以用於惡意活動及/或通訊之嘗試來識別。
分析可藉由閘道器210分析堆疊資料以檢測對建立連接以用於惡意活動及/或通訊之嘗試來執行,且產生表示惡意通訊之存在或不存在的信號。
任擇地,堆疊跡線係自與嘗試建立網路連接之應用程式相關的呼叫堆疊獲得。堆疊跡線包括與連接建立相關之呼叫堆疊中的模組之序列的圖案及/或(多個)快照。舉例而言,堆疊跡線包括在獲得跡線時呼叫堆疊內的模組。模組可基於呼叫堆疊內之表示來得到,例如,呼叫堆疊內指向模組的指標。
一個或多個堆疊跡線可在請求期間、連接建立處理程序之起始期間,及/或連接建立處理程序期間的一個或多個時間點獲得。在連接建立處理程序期間的多個點處俘獲之多個堆疊跡線經選擇來俘獲在請求及/或連接建立處理程序期間發生的堆疊之改變。
分析在應用程式與遠端伺服器或惡意伺服器之間的資料通訊之前得以執行,該資料通訊諸如藉由起始應用程式經由網路進送資料。任擇地,分析在網路連接之建立之前得以執行。或者或另外,分析在網路會話之啟動之前得以執行。以此方式,連接建立處理程序之合法性可在 惡意代理器能夠經由網路連接起作用之前得以判定,例如,在未經授權之資料的傳輸(亦即,資料之竊取)之前。
當在用戶端上執行之應用程式受感染(例如,基於注入碼)且嘗試基於感染碼建立外部連接時,連接建立堆疊呼叫不同於同一應用程式在未感染時的堆疊呼叫。
分析係基於引起與連接建立處理程序相關之呼叫堆疊對流資料分析的嘗試建立網路連接之惡意應用程式來執行,該分析不同於在惡意應用程式不存在時的呼叫堆疊流資料分析。
分析係基於一方法或者並行或順序的多個方法來執行。分析係藉由閘道器210基於自用戶端202所接收之訊息來執行,該等訊息包括連接建立相關堆疊208B資料及/或流資料208D,如本文所述。分析係在藉由應用程式208C經由網路進行之資料傳輸之前在連接建立處理程序之前及/或期間執行,如本文所述。分析方法之一些實例包括:
* 使堆疊跡線與表示建立惡意連接之嘗試的流資料分析匹配及/或相關。
* 比較堆疊內之模組與預定義白名單之經驗證模組及/或使其相關,以識別並未位於白名單內的未知模組。該等未知模組經懷疑為起始應用程式之惡意感染。經驗證模組可例如藉由管理者手動地指明為有效的、自惡意程式碼防止伺服器下載,及/或基於運用未感染應用程式的機器。
* 比較堆疊內之模組與預定義黑名單之已知惡意模組及/或使其相關,以識別堆疊內的惡意模組。
* 比較堆疊跡線內之模組的流資料分析與經驗證連接建立流資料分析(諸如,類似或等效之已知安全圖案)及/或使其相關。模組之流資料分析可包括堆疊內之模組的次序及/或在堆疊內發生的改變。
* 識別以跡線證明與惡意活動相關聯之獨特事件。
* 比較堆疊資料與在應用程式尚未受感染時預期藉由應用程式嘗試之連接建立堆疊流資料分析及/或使其相關。舉例而言,藉由嘗試使用應用程式建立連接以用於惡意活動及/或通訊的注入碼感染。
* 核對堆疊中之模組並非藉由未知模組之程式碼載入。與未知模組之關聯表明惡意程式碼。
* 核對處理程序中之呼叫執行緒或其他執行緒並非藉由未知模組的程式碼產生。與未知模組之關聯表明惡意程式碼。
* 核對處理程序可執行檔案格式。無效格式可與惡意程式碼相關聯。
多個用戶端可一起被監視。來自多個閘道器之監視資料可一起被分析。自閘道器處之多個用戶端所收集的堆疊資料及/或來自多個閘道器之資料可一起分析以識別惡意活動之型式,例如,自用戶端擴散至用戶端之惡意程式感染,及/或自建立網路連接之多個用戶端至單一目標伺服器及/或至多個目標伺服器之協同攻擊在短時段內的建立。
比較可基於對類似型式之直接比較來執行。相關 可經執行來識別與惡意活動之統計上顯著的相關關聯,及/或與經驗證之安全活動的統計上顯著之關聯。
比較及/或相關可例如藉由函式或藉由分類器來執行,該分類器經訓練來接受(多個)堆疊跡線流資料分析作為輸入且輸出指示惡意行為之存在或惡意行為之不存在的信號。
現參看圖3A至圖3B,其為根據本發明之一些實施例的與連接建立處理程序相關之呼叫堆疊的實例。為清楚起見,該等圖描繪部分跡線。
圖3A描繪嘗試建立連接例如以連接至金融及/或銀行網站之受感染網頁瀏覽器的呼叫堆疊302。呼叫堆疊302藉由與呼叫堆疊304比較而得以分析,呼叫堆疊304表示針對未感染網頁瀏覽器所預期之經驗證連接建立相關堆疊。分析檢測到某一檔案308(亦即,shlwapi.dll)丟失,且對未知模組306之程式碼指標存在。基於流資料分析,惡意程式碼被懷疑。
圖3B描繪嘗試建立網路連接以使用未經授權之程式碼執行連接至攻擊者之受感染字處理程式的呼叫堆疊312。堆疊312含有未知程式碼316。比較而言,呼叫堆疊314為在字處理程式未受感染時建立網路連接之嘗試期間的字處理程式之呼叫堆疊。呼叫堆疊314含有對未存在於受感染呼叫堆疊316中之模組318(亦即,MSO.dll)的指標。
在方塊114處,將分析之結果儲存於閘道器內或連接至閘道器的記憶體上。
在116處,經由網路將與網路連接嘗試相關之資料自用戶端傳輸至閘道器。任擇地,方塊102完成且網路連接經啟動來允許資料傳輸。資料(例如,網路訊息,諸如封包)經由作用中網路自用戶端傳輸至閘道器。最初,與通訊建立協定相關之封包係例如基於TCP交握處理程序來傳輸。任擇地,資料封包隨後及/或順序地經由連接來傳輸。
在118處,在閘道器處接收與網路連接嘗試相關而傳輸之資料,及/或經由經啟動網路所傳輸的資料。
在120處,存取方塊114之所儲存結果,以判定所接收資料(例如,封包)是否與惡意活動相關聯或所接收資料是否已驗證為允許的。
任擇地,在122處,當檢測到對建立惡意通訊之嘗試時,藉由閘道器在閘道器自身處阻止連接建立處理程序。用於惡意活動及/或通訊之網路連接的建立得以防止。諸如當交握封包經識別為與惡意活動相關時,網路連接可被防止啟動。或者或另外,針對惡意活動監視作用中網路連接,且在檢測到惡意活動時阻止該網路連接。舉例而言,當網路連接係基於不需要交握處理程序之無連接協定(諸如,使用者資料報協定(UDP))時,所發送之所有(或所選擇子集之)封包可得到監視,或每發送執行緒之至少第一或若干封包得到監視。
終止可藉由閘道器210藉由防止與連接建立處理程序相關之封包被遞送及/或藉由發佈訊息以終止連接建立來執行。網路連接可得以阻止,或網路連接可得以終止。
任擇地,在124處,產生指示對建立惡意通訊之嘗試之檢測的警示。警示可呈現給使用者(例如,顯示於連接至用戶端202之顯示器上)及/或呈現給管理者(例如,顯示於連接至閘道器222之顯示器,或第三方事件管理平台上)。使用者可採取進一步行動,例如,瞭解惡意通訊,及任擇地執行抗惡意程式碼程式以自用戶端移除感染代理器。或者或另外,警示訊息經格式化來藉由可觸發惡意程式碼之移除的其他抗惡意程式碼產品接收。
或者,在126處,當連接建立並未識別為惡意的及/或驗證為安全時,准許連接建立處理程序繼續建立網路連接、啟動網路連接,及/或繼續允許經由經啟動網路之資料傳輸。端點模組208A及/或閘道器210可產生信號以准許連接建立。當連接建立已暫停以允許分析進行時,端點模組208A及/或閘道器210可恢復連接建立。
任擇地,一或多個方塊104至126經重複來監視經啟動網路連接。任擇地,在用於惡意活動之網路連接的建立之後,堆疊及/或其他流資料得到監視。任擇地,堆疊係藉由用戶端將堆疊資料發送至閘道器來監視。
堆疊可例如在預定義時段期間,及/或在所選擇事件(例如,網路連接之組態的改變)期間得到連續地監視。
可針對可疑之惡意行為監視(例如,藉由閘道器)網路連接。在檢測到可疑行為後,管理員即可將命令發佈至用戶端以傳輸額外資訊以供分析。舉例而言,受感染處理程序之記憶體傾印。
在網路連接保持建立之同時,可例如連續地在用戶端處記錄堆疊資料。堆疊之記錄可週期性地傳輸至閘道器以供分析。
任擇地,與連接建立監視相關之資料得以收集及/或分析。資料包括例如呼叫堆疊跡線、表示針對每一網路連接建立嘗試之惡意通訊之存在或不存在的信號及/或訊息,及/或所產生警示。資料可自端點模組208A及/或閘道器210傳輸至管理伺服器220。
與方塊116至126之後連接建立監視相關的資料可藉由閘道器210收集及/或分析且傳輸至管理伺服器220以供分析。
管理伺服器220與一個或多個閘道器210及/或用戶端202通訊(例如,經由網路206)。管理伺服器220可聚合來自多個閘道器及/或用戶端之資料,以提供例如總體分析。或者或另外,管理伺服器220可收集針對單一用戶端之單一使用者的資料,例如以提供針對某一用戶端的分析。
任擇地,管理伺服器220包括使用者介面模組222,使用者介面模組222允許使用者執行一或多個功能。使用者可例如經網路連接經由網頁瀏覽器存取使用者介面222。資料可針對多個用戶端及/或閘道器,或每用戶端及/或閘道器集中地檢視及/或分析。
管理伺服器220及/或使用者介面222執行以下功能中之一或多者:
* 藉由閘道器審查所產生信號:指示惡意通訊嘗試之警示及/或指示無惡意通訊嘗試之訊息。
* 管理所產生信號:看清趨勢且採取行動,例如,識別惡意代理器在用戶端之間的擴散、停止新近檢測到之惡意代理器、隔離高程度感染的用戶端。
* 集中地控制該(等)閘道器之組態:例如,藉由指示惡意代理器之新的堆疊流資料分析更新閘道器、藉由指示經驗證且安全之行為的新的堆疊流資料分析更新閘道器,及使閘道器與用戶端匹配。
* 集中地控制該(等)用戶端之組態:例如,藉由經更新之端點模組更新用戶端、使用戶端與閘道器匹配,及允許堆疊資料傳輸至閘道器。
* 監視該(等)閘道器之狀態:例如,檢視警示之數目、類似警示之型式、與警示相關聯之用戶端,及總連接中之百分比的惡意通訊。
* 監視該(等)用戶端之狀態:例如,連接嘗試之次數、惡意通訊之警示的數目、惡意通訊之百分比、被懷疑之受感染應用程式,及檢視類似惡意嘗試的流資料分析。
任擇地,閘道器210及/或端點模組208A係例如藉由更新藉由伺服器220、閘道器210及/或模組208A所傳輸之訊息基於分析來更新。涉及連接建立之本籍閘道器及/或端點模組可得以更新。並未涉及於經分析之連接建立處理程序中的用戶端(例如,遠端定位)之其他閘道器及/或端點模組可得以更新。更新可允許識別未來的類似惡意通訊建立 型式,例如,重複地嘗試建立惡意通訊之同一受感染應用程式、藉由惡意代理器感染之不同應用程式,及/或變為藉由類似惡意代理器感染的先前未感染之用戶端。
現參看圖1B,其為根據本發明之一些實施例的用於檢測網路連接之惡意活動的電腦實施方法,其中在用戶端處發生防止。為清楚及簡要起見,省略了已參看圖1A描述之方塊的描述。新的方塊及/或新的特徵得以描述。
應注意,圖1A可例如在私用網路架構內實施,諸如組織(例如,公司)內之網路。組織網路內試圖存取外部伺服器以用於惡意活動之用戶端通常在閘道器處被阻止。
在用戶端外部、網路內及/或伺服器末端處(亦即,藉由閘道器)執行的對用於惡意通訊之連接建立的檢測可在多個用戶端處集中地識別且防止藉由惡意代理器所起始的基於協同連接之攻擊。
基於閘道器之惡意通訊識別且防止來自並未安裝有端點模組208A之用戶端的攻擊。
圖1B可例如在自網路外部連接之個別用戶端內實施。試圖經由網路存取外部伺服器之個別用戶端在用戶端自身處被阻止。
任擇地,組合圖1A與圖1B之架構得以實施,其中惡意相關網路連接可在閘道器及用戶端兩者(或任一者)處被阻止。雙重防止可提供額外等級之安全性,其中能夠繞過用戶端層級處之防止的惡意程式碼在閘道器層級處被阻止。
在102處,識別連接建立嘗試,如參看圖1A所述。
在104處,收集堆疊資料及可選的其他流資料(如在方塊106中),如參看圖1A所述。
任擇地,在130處,例如藉由模組208A在用戶端處暫停連接建立處理程序。連接建立處理程序經暫停而作為防止用於惡意活動之網路連接之建立的額外安全性措施。暫停連接建立處理程序為閘道器執行分析以判定連接建立嘗試何時與惡意活動相關聯提供時間。
連接建立處理程序可藉由儲存與連接建立相關之訊息且防止訊息傳輸至網路來暫停。
在108處,將所收集之流資料傳輸至閘道器,如參看圖1A所述。
在110處,閘道器接收所傳輸之流資料,如參看圖1A所述。
在112處,閘道器分析所接收之流資料以判定與連接建立嘗試相關聯之惡意活動的存在或不存在,如參看圖1A所述。
任擇地,在132處,當識別出惡意活動時,產生事件例如作為網路訊息。網路訊息傳輸至個別用戶端。
任擇地,在134處,在自閘道器接收到網路訊息後,用戶端即阻止及/或防止連接建立處理程序。網路連接可被阻止及/或防止啟動。
終止可在自閘道器210接收到指示對網路連接建立之惡意嘗試之檢測的訊息後即藉由端點模組208A在用戶 端處執行,例如,藉由發佈訊息以防止規劃介面執行連接建立。
或者,在136處,當識別出惡意活動不存在時,將訊息傳輸至用戶端。
任擇地,在138處,當接收到指示網路連接不與惡意活動相關聯之訊息時,允許連接建立處理程序繼續,及/或啟動網路連接。
現參看圖4,其為根據本發明之一些實施例的用於收集堆疊資料之電腦化方法的流程圖。該方法可藉由安裝於用戶端202上之端點模組208A執行。
任擇地,在402處,檢測到連接建立,例如,如參看圖1A之方塊102所述。
或者或另外,在404處,例如基於針對指示新執行緒之行為監視堆疊而識別新執行緒的產生。
或者或另外,在406處,例如基於針對指示新處理程序之行為監視堆疊而識別新處理程序的產生。
任擇地,在408處,觸發堆疊資料208B收集。一或多個方塊402、404及/或406之檢測觸發堆疊資料收集。
在410處,分析與觸發堆疊資料收集相關聯之堆疊中的紀錄以識別動態碼在堆疊內之存在。如本文所述,動態碼一詞意味如下程式碼:可執行且不與儲存於例如硬驅動器、閃存碟(disk on key)之作業系統驅動器上、非依電性外部儲存體上及遠端伺服器上的現有檔案對應及/或相關。動態碼僅在執行時間期間存在於記憶體中,且在永久 記憶體(例如,硬碟)上不具有等效碼。動態碼表明惡意程式碼之存在。
任擇地,在412處,針對惡意程式碼之存在分析動態碼。
在414處,分析堆疊中之(多個)模組。
在416處,執行檢查以判定額外紀錄在堆疊中之存在或不存在。任擇地,在418處,當(多個)額外紀錄存在時,藉由重複方塊410而分析額外紀錄。或者,在420處,當不再有紀錄時,堆疊資料收集完成。
現參看圖5A,其為根據本發明之一些實施例的用於收集執行緒相關流資料之電腦化方法的流程圖。該方法可藉由安裝於用戶端202上之端點模組208A執行。
在502A處,例如基於針對新執行緒之產生監視作業系統而識別新執行緒的產生。
在504A處,分析新執行緒之父執行緒以判定父執行緒何時與惡意活動相關聯。父執行緒之分析係例如如參看圖1A之方塊112所述來執行。
任擇地,在506A處,當父執行緒經判定為惡意的時,將當前執行緒標記為惡意的。或者或另外,在508A處,例如針對動態碼之存在及/或如參看圖1A之方塊112所述,檢查呼叫堆疊以判定呼叫堆疊為有效的抑或無效的。
任擇地,在510A處,當呼叫堆疊為無效的時,將當前執行緒標記為惡意的。或者或另外,在512A處,分析父執行緒以判定父執行緒何時已將執行緒注入至處理程 序中。注入執行緒可基於執行緒之處理程序來檢測,舉例而言,當父執行緒之處理程序不同於當前執行緒的處理程序時,當前執行緒被認為係注入者。
任擇地,在514A處,當父執行緒經識別為注入執行緒時,將當前執行緒標記為注入執行緒。注入執行緒表明惡意程式碼。或者或另外,在516A處,分析當前執行緒以判定當前執行緒何時為注入執行緒。任擇地,在518A處,當分析將當前執行緒識別為注入執行緒時,將當前執行緒標記為注入碼。
現參看圖5B,其為根據本發明之一些實施例的用於收集處理程序相關流資料之電腦化方法的流程圖。該方法可藉由安裝於用戶端202上之端點模組208A執行。
參考處理程序而非圖5A之執行緒,方塊502B至518B對應於圖5A的方塊502A至518A。值得注意的是:在方塊512B中,執行分析以判定處理程序何時藉由注入執行緒產生。在方塊516B中,分析當前主模組格式以識別模組格式為有效的抑或無效的。在518B處,當處理程序可執行格式經識別為無效的時,將當前處理程序標記為惡意的。
現參看圖5C,其為根據本發明之一些實施例的用於收集模組相關流資料之電腦化方法的流程圖。該方法可藉由安裝於用戶端202上之端點模組208A執行。
在508C處,執行分析以判定新模組何時已載入至處理程序中。
在504C處,分析新模組之載入執行緒以判定載 入執行緒何時與惡意活動相關聯。載入執行緒之分析係例如如參看圖1A之方塊112所述來執行。
任擇地,在506C處,當載入執行緒經判定為惡意的時,將當前模組標記為惡意的。或者或另外,在508C處,例如基於圖5A中所執行之分析,執行分析以判定載入執行緒何時已得以注入。
任擇地,在510C處,當注入載入執行緒時,將當前模組標記為惡意的。或者或另外,在512C處,分析模組格式以判定模組格式何時為有效或無效的,例如,可移植可執行碼(portable executable code)在標頭中含有無效之欄位,例如,入口點欄位指向該程式碼外部之位置。
任擇地,在514C處,當模組格式經判定為無效時,將當前模組標記為惡意的。或者或另外,在516C處,執行分析以判定模組何時使用全域載入方法載入。如本文所述,全域載入方法一詞意味針對可能彼此無關之不同處理程序載入的模組。全域載入模組表明惡意活動。
任擇地,在518C處,當分析將當前模組識別為全域載入模組時,將當前模組標記為全域的。
諸圖中之流程圖及方塊圖例示根據本發明之各種實施例的系統、方法及電腦程式產品之可能實行方案的架構、功能性及操作。就此而言,流程圖或方塊圖中之每一方塊可表示模組、區段,或程式碼之部分,其包含用於實施所指定邏輯功能的一或多個可執行指令。亦應注意,在一些替代性實行方案中,方塊中所提到之功能可不按諸 圖中所提到的次序發生。舉例而言,接連展示之兩個方塊可實際上實質上同時執行,或該等方塊可有時以相反次序執行,此取決於所涉及之功能性。亦應注意,方塊圖及/或流程圖說明之每一方塊,及方塊圖及/或流程圖說明中之方塊的組合可藉由基於專用硬體的系統來實施,該等系統執行所指定功能或動作或者專用硬體與電腦指令之組合。
已為說明之目的而呈現了本發明之各種實施例的描述,但其不欲為詳盡的或限於所揭示的實施例。在不脫離所描述實施例之範疇及精神的情況下,許多修改及變化將對於一般熟習此項技術者顯而易見。本文所使用之術語經選擇以經由市場中所發現之技術最好地解釋實施例、實際應用程式或技術改良的原理,或使其他一般熟習此項技術者能夠理解本文所揭示之實施例。
預期,在自本申請案成熟之專利的期限期間,許多相關之惡意代理器、用戶端、網路、堆疊及伺服器將發展且惡意代理器、用戶端、網路、堆疊及伺服器等詞的範疇意欲先驗地包括所有此等新技術。
如本文所使用,「約」一詞指代±10%。
「包含」、「包括」、「具有」等詞及其同源詞意味「包括但不限於」。此詞包含「由......組成」及「本質上由......組成」等詞。
短語「本質上由......組成」意味組成或方法可包括額外成分及/或步驟,但僅當額外成分及/或步驟不會極大地更改所主張之組成或方法的基礎及新穎特性時包括額外 成分及/或步驟。
如本文所使用,單數形式「一」及「該」包括複數參考物,除非上下文另外清楚地指示。舉例而言,「化合物」或「至少一化合物」一詞可包括多個化合物,包括其混合物。
詞「示範性」在本文中用以意味「充當實例、例子或說明」。描述為「示範性」之任何實施例未必解釋為與其他實施例相比為較佳或有利的及/或排除來自其他實施例之特徵的併入。
詞「任擇地」在本文中用以意味「在一些實施例中提供且在其他實施例中未提供」。本發明之任何特定實施例可包括多個「可選」特徵,除非此等特徵衝突。
遍及本申請案,可以範圍格式來呈現本發明之各種實施例。應理解,以範圍格式之描述僅為了便利及簡要,且不應解釋為對本發明之範疇的硬性限制。因此,範圍之描述應被認為已特定地揭示所有可能的子範圍以及在該範圍內的個別數值。舉例而言,諸如自1至6之範圍的描述應被認為已特定地揭示子範圍,諸如自1至3、自1至4、自1至5、自2至4、自2至6、自3至6等,以及該範圍內的個別數字,例如,1、2、3、4、5及6。此適用而無關於範圍之廣度。
無論何時數值範圍在本文中得以指示時,其意味包括所指示範圍內的任何所引用數字(分數或整數)。短語「在第一指示數與第二指示數之間變化」及「自第一指示數變化至第二指示數」在本文中互換地使用,且意味包括 第一及第二所指示數及其間的所有分數及整數數字。
應瞭解,為清楚起見在單獨實施例之情形下所述的本發明之某些特徵亦可在單一實施例中以組合方式提供。相反地,為簡要起見在單一實施例之情形下所述的本發明之各種特徵亦可在本發明之任何其他所描述實施例中單獨地或以任何合適的子組合或如其所應來提供。在各種實施例之情形下所述的某些特徵並不視為該等實施例之必需特徵,除非實施例在無該等元件之情況下為不工作的。
儘管已結合本發明之特定實施例描述了本發明,但顯然,許多替代、修改及變化將對熟習此項技術者顯而易見。因此,本發明意欲包含屬於所附申請專利範圍之精神及廣泛範疇的所有此等替代、修改及變化。
本說明書中所提及之所有公開案、專利及專利申請案的全部內容在本文中係以達到與猶如每一個別公開案、專利或專利申請案特定地且個別地指示為以引用的方式併入本文中之相同程度的引用方式併入說明書中。另外,本申請案中之任何參考案的引用或識別不應解釋為承認此參考案可用作本發明的先前技術。就使用章節標題而言,其不應解釋為一定為限制性的。
102~138‧‧‧方塊

Claims (18)

  1. 一種用於檢測及防止欲建立用於惡意通訊之一網路連接之一嘗試的電腦實施方法,其包含:由在一用戶端終端機上執行之端點碼來檢測用於建立從該用戶端終端機至一伺服器之一網路連接之一連接建立處理程序,該連接建立處理程序藉由在該用戶端終端機上執行之程式碼起始;在建立該網路連接之前且在從該用戶端終端機至該伺服器之資料通訊之前,由與該用戶端終端機進行通訊並與該伺服器進行網路通訊之一網路閘道器來分析在該用戶端終端機處所管理之該起始程式碼之至少一堆疊跡線中的數個紀錄,以檢測欲建立該網路連接用於惡意活動之一惡意通訊的一嘗試,其中該分析步驟包括:分析用於由數個未受感染之應用程式所使用之連接建立流資料分析之該至少一堆疊跡線,該等未受感染之應用程式係在執行該分析之一中央伺服器處被指定為有效;或將至少一堆疊跡線與連接建立流資料分析進行比較,該連接建立流資料分析係預期在一應用程式尚未受注入碼感染、而該注入碼會啟始欲建立該惡意通訊之該嘗試時由該應用程式產生;及在該分析未檢測到基於該網路連接而建立該惡意 通訊之該嘗試時,由該網路閘道來建立從用戶端至該伺服器之用於資料通訊之該網路連接,並在該分析檢測到基於該網路連接而建立該惡意通訊之該嘗試時,由該網路閘道來阻止從該用戶端終端機至該伺服器之用於資料通訊之該網路連接的建立。
  2. 如請求項1之電腦實施方法,其中分析該等紀錄之步驟包含分析流資料,該流資料包括該至少一堆疊跡線及由以下各者組成之群組的至少一成員:與該連接建立相關之執行緒資料、模組資料及處理程序資料。
  3. 如請求項2之電腦實施方法,其中與該至少一堆疊跡線相關之資料包括動態碼。
  4. 如請求項1之電腦實施方法,其進一步包含:在未檢測到基於該網路連接而建立該惡意通訊之該嘗試時,准許該連接建立處理程序啟動該網路連接。
  5. 如請求項1之電腦實施方法,其中該分析步驟係在該網路連接之啟動之前執行。
  6. 如請求項1之電腦實施方法,其中該至少一堆疊跡線係在以下期間收集:根據用於該連接建立處理程序之起始的網際網路協定套件之一傳輸控制協定(TCP)來執行該連接建立之期間。
  7. 如請求項1之電腦實施方法,其進一步包含:在該檢測步驟之後暫停該連接建立處理程序。
  8. 如請求項1之電腦實施方法,其中該至少一堆疊跡線及/或流資料係在該連接建立處理程序之該起始時獲得。
  9. 如請求項1之電腦實施方法,其中該至少一堆疊跡線包括在該連接建立處理程序期間在多個點處所獲得之多個堆疊跡線的至少一序列,且該分析步驟包含:使該等多個堆疊跡線與表示欲建立該惡意通訊之該嘗試的流資料分析匹配。
  10. 如請求項1之電腦實施方法,其中分析步驟包含:針對一未知模組及一列入黑名單或列入白名單模組中之至少一者分析該至少一堆疊跡線的該等紀錄,從而表示該起始應用程式之感染。
  11. 一種用於檢測欲建立用於惡意通訊之一網路連接之一嘗試的系統,其包含:與該用戶端終端機進行通訊並與一基於網路之伺服器進行網路通訊之至少一網路閘道器,其經組配來:在用於建立從該用戶端終端機至該基於網路之伺服器之一網路連接的一連接建立處理程序期間,接收在該用戶端終端機上執行之一程式碼的至少一堆疊跡線,其中該連接建立處理程序係由在該用戶端終端機上執行之端點碼檢測,其中該連接建立處理程序係由在該用戶端終端機上執行之程式碼起始;在建立該網路連接之前且在從該用戶端終端機至該基於網路之伺服器之資料通訊之前,藉由以下動作來分析該至少一堆疊跡線中之數個紀錄,以判定欲建立該網路連接用於惡意活動之一惡意通 訊的一嘗試之一存在或不存在:分析用於由數個未受感染之應用程式所使用之連接建立流資料分析之該至少一堆疊跡線,該等未受感染之應用程式係在執行該分析之一中央伺服器處被指定為有效;或將該至少一堆疊跡線與連接建立流資料分析進行比較,該連接建立流資料分析係預期在一應用程式尚未受注入碼感染、而該注入碼會啟始欲建立該惡意通訊之該嘗試時由該應用程式產生;及在該分析未檢測到基於該網路連接而建立該惡意通訊之該嘗試時,建立從用戶端至該基於網路之伺服器之用於資料通訊之該網路連接,並在該分析檢測到使用該網路連接來建立該惡意通訊之該嘗試時,基於從該用戶端至該基於網路之伺服器之用於資料通訊之該網路連接而產生表示建立該惡意通訊之該嘗試的一信號。
  12. 如請求項11之系統,其中接收步驟包含:接收至少一流資料,且分析該等紀錄之步驟包含:分析該流資料,該流資料包括該至少一堆疊跡線及由以下各者組成之群組的至少一成員:與該網路連接建立相關之執行緒資料、模組資料及處理程序資料。
  13. 如請求項11之系統,其中該至少一網路閘道器駐留於經由一網路與該用戶端終端機通訊之一遠端伺服器處。
  14. 如請求項11之系統,其中該至少一網路閘道器為駐留於該用戶端終端機處之一軟體模組。
  15. 如請求項11之系統,其中該至少一網路閘道器為一代理伺服器。
  16. 如請求項11之系統,其進一步包含:一端點模組,其用於安裝於該用戶端終端機處,其經組配來:檢測藉由該程式碼對該網路連接之建立的一起始;將該至少一堆疊跡線及/或流資料傳輸至該網路閘道器;自該網路閘道器接收該信號;以及基於該所接收信號,阻止該連接建立處理程序以防止該網路連接之啟動。
  17. 如請求項11之系統,其中該至少一網路閘道器經進一步組配來基於該所接收信號而防止該網路連接之啟動。
  18. 一種用於檢測欲建立用於惡意活動之一網路連接之一嘗試的電腦程式產品,該電腦程式產品包含:至少一非暫時性電腦可讀儲存媒體,及儲存於該至少一儲存媒體中之至少一者上的數個程式指令,該等程式指令包含:用於檢測從一用戶端終端機至一伺服器之用於建立一網路連接之一連接建立處理程序的數個程式指令,該連接建立處理程序藉由在該用戶端終端機上執行 之程式碼起始;用於在建立該網路連接之前且在從該用戶端終端機至該伺服器之資料通訊之前,分析在該用戶端終端機處所管理之該起始程式碼之至少一堆疊跡線中的紀錄,以檢測欲建立該網路連接用於惡意活動之一惡意通訊的一嘗試的數個程式指令,其中該分析步驟包括:分析用於由數個未受感染之應用程式所使用之連接建立流資料分析之該至少一堆疊跡線,該等未受感染之應用程式係在執行該分析之一中央伺服器處被指定為有效;或將至少一堆疊跡線與連接建立流資料分析進行比較,該連接建立流資料分析係預期在一應用程式尚未受注入碼感染、而該注入碼會啟始欲建立該惡意通訊之該嘗試時由該應用程式產生;及用於在該分析未檢測到基於該網路連接而建立該惡意通訊之該嘗試時,建立從用戶端至該伺服器之用於資料通訊之該網路連接,並在該分析檢測到基於該網路連接而建立該惡意通訊之該嘗試時,阻止從該用戶端至該伺服器之用於資料通訊之該網路連接的建立的數個程式指令。
TW104138974A 2014-11-25 2015-11-24 用於惡意程式碼檢測之系統及方法 TWI711939B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462083985P 2014-11-25 2014-11-25
US62/083,985 2014-11-25

Publications (2)

Publication Number Publication Date
TW201633205A TW201633205A (zh) 2016-09-16
TWI711939B true TWI711939B (zh) 2020-12-01

Family

ID=57443252

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104138974A TWI711939B (zh) 2014-11-25 2015-11-24 用於惡意程式碼檢測之系統及方法

Country Status (1)

Country Link
TW (1) TWI711939B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI617940B (zh) * 2016-12-01 2018-03-11 財團法人資訊工業策進會 資料保護方法與資料保護系統
US10990682B2 (en) * 2017-12-18 2021-04-27 Nuvoton Technology Corporation System and method for coping with fault injection attacks

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043757B2 (en) * 2001-05-22 2006-05-09 Mci, Llc System and method for malicious code detection
CN101472221A (zh) * 2007-12-26 2009-07-01 通用汽车公司 处理无线发送到交通工具的电子消息
US8032940B1 (en) * 2006-10-25 2011-10-04 Chaperon, LLC Method and system for generating and employing a secure integrated development environment
TW201224836A (en) * 2010-12-15 2012-06-16 Inst Information Industry Malware detection apparatus, malware detection method and computer program product thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043757B2 (en) * 2001-05-22 2006-05-09 Mci, Llc System and method for malicious code detection
US8032940B1 (en) * 2006-10-25 2011-10-04 Chaperon, LLC Method and system for generating and employing a secure integrated development environment
CN101472221A (zh) * 2007-12-26 2009-07-01 通用汽车公司 处理无线发送到交通工具的电子消息
TW201224836A (en) * 2010-12-15 2012-06-16 Inst Information Industry Malware detection apparatus, malware detection method and computer program product thereof

Also Published As

Publication number Publication date
TW201633205A (zh) 2016-09-16

Similar Documents

Publication Publication Date Title
CA2968201C (en) Systems and methods for malicious code detection
US11310264B2 (en) Using reputation to avoid false malware detections
US11055411B2 (en) System and method for protection against ransomware attacks
US20180359272A1 (en) Next-generation enhanced comprehensive cybersecurity platform with endpoint protection and centralized management
US10509906B2 (en) Automated code lockdown to reduce attack surface for software
US9680849B2 (en) Rootkit detection by using hardware resources to detect inconsistencies in network traffic
KR102368170B1 (ko) 멀웨어의 자동화된 런타임 검출
US10142343B2 (en) Unauthorized access detecting system and unauthorized access detecting method
US20070056020A1 (en) Automated deployment of protection agents to devices connected to a distributed computer network
CN111800405A (zh) 检测方法及检测设备、存储介质
Yamada et al. RAT-based malicious activities detection on enterprise internal networks
TWI711939B (zh) 用於惡意程式碼檢測之系統及方法
KR101614809B1 (ko) 엔드포인트 응용프로그램 실행 제어 시스템 및 그 제어 방법