反惡意軟件簽名的動態選擇和加載的制作方法
【專利說明】反惡意軟件簽名的動態選擇和加載
[0001] 背景
[0002] 反病毒程序保護計算機平臺不受數目不斷增加的威脅所攻擊,威脅諸如病毒、蠕 蟲、特洛伊木馬、間諜軟件、廣告軟件及其他惡意軟件。惡意軟件一般是被設計成中斷或破 壞計算機操作、收集個人或機密信息或者提供對計算機系統的未經授權的訪問的軟件、代 碼、腳本或其他內容。反惡意軟件應用,諸如反病毒軟件,使用惡意軟件檢測簽名來標識惡 意軟件并從受感染的機器中移除惡意軟件,或者檢測惡意軟件并且阻止惡意軟件被加載到 機器上。反惡意軟件應用使用已存儲的惡意軟件檢測簽名的列表來檢測惡意軟件。這些簽 名包括例如用于標識惡意軟件的特征,包括可以在機器上何處找到惡意軟件。現有的方案 通過加載所有已知威脅的簽名或者使用這些簽名的固定子集來解決這一問題。
[0003] 然而,隨著威脅列表的增長,可能難以防御所有潛在的威脅并且標識哪個子集應 當用于特定機器。為了減少惡意軟件檢測簽名所需的存儲空間量,對于給定機器僅防御相 關的威脅是有利的。然而,由于許多計算機平臺和體系結構的聯網性質,相關威脅的列表通 常不僅僅包括能夠運行于給定計算機平臺和體系結構上或者被定向至該給定計算機平臺 和體系結構的威脅。相關威脅的列表而是還包括對于網絡或用戶環境中的其他機器的威 脅。
[0004] 概述
[0005] 提供該概述以便以簡化形式引入概念的選集,這些概念的選集在以下詳細描述中 進一步描述。該概述不意圖標識所要求保護的主題的關鍵特征或必要特征,也不意圖用于 限制所要求保護的主題的范圍。
[0006] 本文公開的反惡意軟件應用改變了加載簽名的方式,使得僅相關的惡意軟件檢測 簽名才被該應用使用。已更新簽名加載模塊不僅與靜態本地簽名一起工作;它能夠從多個 源加載簽名。此外,新簽名選擇器組件確定應當加什么相關簽名。簽名選擇器組件可以或 單獨地、或組合地利用多種數據源來確定可用的惡意軟件檢測簽名的相關性。
[0007] 在一實施例中,除了監控能運行于給定計算機平臺或體系結構上或被定向至該給 定計算機平臺或體系結構的威脅之外,反惡意軟件系統基于指示什么簽名與其當前環境中 的主機相關的數據源的集合來動態地加載和卸載附加的惡意軟件檢測簽名。確定各個惡 意軟件檢測簽名的相關性的信息包括但不限于:機器操作系統、平臺體系結構、已安裝的軟 件、同一網絡中其他機器上的最近檢測、機器的補丁級別、管理員選擇以及全局威脅數據。
[0008] 反惡意軟件系統基于可用信息動態地確定可用惡意軟件檢測簽名及簽名類中的 哪些是相關的并且應當被提供給機器。當威脅變得相關時,從一個或多個源自動獲得和加 載惡意軟件檢測簽名。在一實施例中,阻擋程序或應用訪問文件,直到相關的惡意軟件檢測 簽名已被加載到機器上為止。
[0009] 在各個實施例中,確定什么惡意軟件檢測簽名是相關的可以包括例如:本地系統 配置(諸如硬件和軟件簡檔)、來自同一網絡上的其他機器或用在同一組織內的檢測數據、 或手動確定或通過遙測自動確定的各威脅間的相關。來自生態系統的遙測也可用于提供基 于云的服務來標識惡意軟件檢測簽名的全局相關性和地理相關性。
[0010] 附圖簡述
[0011] 為了進一步闡明以上內容以及本發明實施例的其他優點和特征,將參照附圖呈現 本發明實施例的更具體描述。可以理解,這些附圖僅描述了本發明的典型實施例,因此不被 視為限制其范圍。本發明將通過使用附圖以附加的具體和細節來描述和說明,附圖中:
[0012] 圖1是根據一實施例的運行基于簽名的反惡意軟件應用的計算機平臺或機器的 框圖。
[0013] 圖2是根據一些實施例的用于加載相關惡意軟件檢測簽名的方法或過程的流程 圖。
[0014] 圖3說明了在一些實施例中的合適的計算和聯網環境的示例,在該計算和聯網環 境上可以實現一種用于自動確定和加載相關惡意軟件檢測簽名的系統。
[0015] 詳細描述
[0016] 圖1是根據一實施例的運行基于簽名的反惡意軟件應用102的計算機平臺101或 者機器的框圖。計算機平臺或機器101可以是任何基于處理器的設備,諸如服務器、臺式 機、或者膝上型計算機、平板計算機、智能電話、個人數字助理、銷售點設備、終端、遠程信息 處理裝備等等。動態簽名加載器103具有基于來自簽名選擇器105的指令在進行中(onthe fly)將簽名添加至惡意軟件掃描器104的能力。動態簽名加載器103包括通過搜索一個或 多個簽名庫來定位當前未被加載到惡意軟件掃描器104上的簽名的能力。在最簡單的情況 下,動態簽名加載器103自本地存儲106加載簽名,本地存儲106諸如本地高速緩存、驅動 器或盤。動態簽名加載器103還加載使簽名可用于掃描所需的任何附加數據。
[0017] 在其他實施例中,動態簽名加載器103能夠從多個源獲得它所需要的簽名和任何 相關數據。動態簽名加載器103可以例如在本地盤106處啟動,然后查詢附加的位置以便 針對相關簽名提供更全面和更廣闊的搜索。
[0018] 例如,在ARM機器查找x86惡意軟件檢測簽名的情況下,如果x86簽名在存儲106 中非本地可用,則動態簽名加載器103可以查詢本地網絡簽名服務器107或聯系由反惡意 軟件提供商所維護的中央簽名服務器或存儲108。動態簽名加載器103可以甚至發起到本 地網絡上另一機器109的對等(peer-to-peer)請求以便從另一機器的本地存儲中獲得所 需的簽名。
[0019] 此外,動態簽名加載器103支持加載簽名的類或者簽名的相關集合。簽名的這些 類或相關集合可由與給定簽名所檢測的惡意軟件相關聯的平臺來標識。例如,用于Win32 平臺的簽名的類與Win32/Alure〇n數據偷竊特洛伊族相關聯。另一簽名類例如可以基于受 惡意軟件所影響的軟件的類型,惡意軟件諸如利用.docx文件的惡意軟件。
[0020] 相關簽名選擇器105使用來自機器101 (諸如系統配置和簡檔數據110)、本地網 絡(諸如本地服務器107)以及云111的數據來確定動態簽名加載器103應當加載什么簽 名。簽名選擇器105可以基于簽名的靜態和/或動態屬性來選擇要加載的個別簽名或者簽 名類。
[0021] 云遙測111可用于在全局范圍內聚集惡意軟件數據。該全局數據可用于確定應當 為當前活動的惡意軟件加載哪些簽名。在一實施例中,云系統111聚集惡意軟件數據并且 將該數據提供給簽名選擇器105供解譯。通過使用聚集的惡意軟件數據,簽名選擇器105 可以作出與加載哪些簽名有關的詳細決定并且可以使用該數據來支持其他特性。在其他實 施例中,云系統111分析全局惡意軟件數據并且向簽名選擇器105提供與選擇器應當考慮 加載哪些簽名有關的建議或指令。聚集的惡意軟件數據可以被處理以用于云系統111中的 簽名選擇。這會消除向每個簽名選擇器105分發大量惡意軟件數據的需求,并且會最小化 專有惡意軟件收集和分析數據的分發。
[0022] 簽名選擇器105的子組件可以處理特定的數據類。選擇器105的機器硬件和軟件 子組件標識用于直接影響當前系統101的惡意軟件的簽名。對于機器硬件和操作系統,選 擇準則解決給定惡意軟件片段是否在物理上能運行于當前機器上。例如,X86威脅不能運 行于基于ARM的設備上;然而,x86威脅可以運行于64位的Windows?上。惡意的web內 容可能會運行于這些設備的任一者上。
[0023] 一些惡意軟件(特別是漏洞和腳本)僅能運行于安裝有特定所需軟件的機器上并 且可能僅運行于該軟件的某些版本上。簽名選擇器105保持跟蹤已安裝的軟件類型和版 本,且選擇器105加載針對能夠影響實際加載于本地機器101上的軟件的漏洞和腳本的簽 名。例如,惡意軟件掃描器104可以檢測什么軟件已被加載于機器101上,并且然后通知選 擇器105新軟件已加載。可以阻擋來自該新軟件的文件訪問,直到已經加載了針對該軟件 的相關惡意軟件檢測簽名為止。
[0024] 在本地檢測到的惡意軟件的情況下,選擇器105會查詢其他數據源,諸如本地簽 名或基于云的數據,以標識未對其加載簽名的相關威脅。一旦看到第一惡意軟件片段,選擇 器105就查找相關的有關簽名以清除系統的剩余威脅,即使那些威脅不能運行于機器101 上。例如,