用于自動網絡釣魚檢測規則演進的系統和方法
【技術領域】
[0001] 本發明涉及信息安全領域,并且特別是涉及保護個人計算機系統和其用戶免受通 常稱為網絡釣魚的欺騙性信息收集活動。尤其是,本發明針對基于現有規則的使用自動開 發網絡釣魚檢測規則。
【背景技術】
[0002] 由于過去十年因特網技術的快速發展,大量多種多樣的因特網互聯設備(例如個 人計算機、筆記本、平板、智能手機等)的可購性以及它們的使用的容易性,多數人開始依賴 萬維網(World-Wide Web)用于他們的日常活動,例如消費媒體內容,購物,用銀行賬戶工 作,讀取郵件、文本或其他形式的信息,訪問社交網絡,之中還有許多其他用途。經常地,當 在因特網上工作(例如,當購買產品、轉賬金錢、向零售商或服務提供商注冊等)時,要求用 戶提供某些機密信息(例如,信用卡卡號以及銀行賬戶號、賬戶密碼等)給外部網站,而所有 這些都是用戶的財務安全要依靠的。
[0003] 因特網的用戶眾多已經吸引了詐騙者活動的大量增加,為了盜用個人和財務數據 以從事詐騙和其他惡意活動,其通過多種技術和方法試圖得到用戶的機密數據。詐騙者使 用的一種更加普遍的方法通常稱為網絡釣魚,即冒充已知或可信任的實體,例如名牌、多種 服務中的個人信息(例如,社交網絡中)以及偽裝為銀行、網店、社交網絡等的合法網站的采 用網站搜索服務的創建和注冊,通過電子信息處理獲得機密的用戶信息。詐騙者發送給用 戶的信或信息經常包含指向看起來與真正的網站相似并且通常相當相似的惡意網站的鏈 接,或指向會從該網站轉移到惡意網站的鏈接。一旦用戶被轉到假冒網頁,詐騙者利用多種 社會工程技術嘗試使用戶輸入他/她的機密信息,然后詐騙者利用其進入對應的用戶賬戶 和銀行賬戶。除了提取機密信息以外,用戶會遭受接收來自假冒網站、用戶未知的惡意應用 的風險,惡意應用從受害者的計算機收集多個其他信息項并轉移給詐騙者。
[0004] 為了反擊上面描述的詐騙方法,技術被用于檢測網絡釣魚信息(例如,在電子郵件 中)和假冒網站。這些技術利用了可信任和不可信任的網站地址、句子模板和來自已知網絡 釣魚信息的其他文本串等的數據庫。當檢測到這樣的可疑對象時,通知用戶潛在的危險。
[0005] 雖然處理已經被信息安全專家研究出并已經被識別為潛在危險的已知的威脅、鏈 接和頁面時,這些現有的技術可能有效,但當處理新的、不斷變化的威脅時,傳統技術是不 太有效的。此外,由于手動或半自動分析,出現新的釣魚網站或信息和它的檢測以及后續的 用戶阻止獲取之間的反應時間是相當重要的,其代表了大量用戶陷入到網絡釣魚和相關詐 騙的主要因素。
[0006] 因此需要實際的解決方案以解決網絡釣魚攻擊不斷變化的本質。
【發明內容】
[0007] 本發明的一個方面是針對自動開發檢測規則,用于檢測輸入數據中的網絡釣魚。 這個方面被具體化到系統和方法以及它們的變化中。在這些實施例的概要中,獲得定向到 目的地的輸入數據。檢測可能出現在輸入數據中的網絡釣魚的任何標識,該檢測通過應用 多個網絡釣魚檢測規則執行。確定多個預定參數的每個的定量分數,每個該參數與至少一 個網絡釣魚標識相關,并且至少一個網絡釣魚標識的每個定量分數代表輸入數據中存在網 絡釣魚內容的可能性。
[0008] 進一步,通過將規則演進標準的預定集合運用到多個參數的預定量分數的組合, 評估演進網絡釣魚檢測規則的需求。響應于對演進網絡釣魚規則需求的評估,基于滿足規 則演進標準的選擇的參數分數以及與那些選擇的參數分數相關的網絡釣魚標識的對應內 容生成新的網絡釣魚檢測規則。網絡釣魚標識以及定量分數計算基于新的檢測規則以遞歸 方式執行,隨著規則演進需求的進一步評估和新的檢測規則生成。
[0009] 基于選擇的參數分數超過網絡釣魚檢測閾值以及與那些選擇的參數分數相關的 網絡釣魚標識的對應內容識別任何網絡釣魚相關對象。結果是,輸入數據中與網絡釣魚相 關對象相關的內容可以進行修改,以消除或減少網絡釣魚相關對象的惡意。
【附圖說明】
[0010] 由于下面本發明的多個實施例連同隨附的附圖的詳細說明,可以更加完整理解本 發明,其中:
[0011] 圖1A是根據一個實施例的、說明了用于選擇性地建立并且演進規則從而在從服務 器送到客戶端的數據中檢測網絡釣魚標識的系統的框圖。
[0012] 圖1B是說明了描述為圖1A中系統的一部分的數據捕獲引擎的細節的框圖。
[0013]圖1C是由本發明的實施例實現的,說明了攔截的數據內容中的數據類別、網絡釣 魚標識和計算參數之間相互關系的示意圖。
[0014] 圖2是根據一個實施例的、說明了示范性的全部過程流程的流程圖。
[0015] 圖3A和3B描述了根據相關實施例的示范性方法,其中在對是否生成新的規則作出 決定中考慮參數值的一個或組合。
[0016] 圖4是根據一個實施例的、說明了演進網絡釣魚檢測規則的過程的流程圖。
[0017] 圖5是根據一個實施例的、說明了初始規則如何演進以形成可用于不同類別的內 容的規則連續代的例子的規則演進示意圖。
[0018] 圖6是根據本文所述的本發明的方面的實現方式制成的具有改進的功能的專用機 的計算機系統的示意圖。
[0019] 雖然本發明可處理為多種改進和替代形式,它們的細節作為例子在圖中示出并且 將詳細描述。應理解,然而,本發明并不限制本發明為描述的特定實施例。相反地,本發明覆 蓋落入本發明精神和范圍內的、由附屬的權利要求限定的所有改進、等價以及替代方式。
【具體實施方式】
[0020] 詞匯表
[0021] 下面的詞匯表詳細解釋了此處使用的術語的定義。本詞匯表僅用于本申請。
[0022] "計算平臺"、"計算機"以及"計算機系統"一具有包括一個或多個處理器、數據存 儲器、輸入-輸出設備的硬件的電子設備或可交換操作的電子設備的系統;并且能夠根據由 硬件實施的軟件指令存儲以及操縱信息。它可以是一個物理機器,或者它可以分布于多個 物理機之間,例如根據角色或功能,或根據云計算分布式模型中的進程線程。例子包括臺式 電腦或移動個人電腦(PCs)、智能手機或平板,以及網絡設備,例如路由器、交換機等等。計 算平臺可以是單獨的設備或作為較大設備或系統的一部分的嵌入式設備。
[0023] "數據捕獲"一由不是指定目的地的實體例如驅動器或代理服務器獲得送至指定 目的地的數據。
[0024] "數據存儲器"一將數據存儲在物理存儲介質中的一個或多個電子硬件設備。例子 包括易失性存儲器(例如,隨機存取存儲器(RAM),無論是靜態的或動態的)、非易失性存儲 器(例如,電可擦除可編程只讀存儲器、磁盤等)。
[0025] "驅動器"一在設備例如磁盤驅動器和使用該設備的程序例如操作系統外殼之間 充當翻譯器的引擎或者元件。該驅動器通常從程序接受通用命令并且然后將它們翻譯成用 于該設備的特定命令。
[0026] "引擎" 一真實的設備、元件或利用硬件實現的元件布置,或實現為硬件和軟件的 組合,例如通過微處理器系統以及使引擎適于實現特定功能的一組程序指令,其(當執行 時)將微處理器系統變換成專用設備。引擎也可以實現為該兩個的組合,其某些功能由硬件 單獨實現,并且其他功能由軟件控制的硬件組合實現。在某些實現方式中,至少一部分,并 且在一些情況中全部引擎可以在執行操作系統、系統程序以及應用程序的一個或多個計算 機的處理器上執行,同時也利用多任務處理、多線程、分布式(例如,集群、對等網絡、云等) 進程中合適的或其他這樣的技術實現引擎。此外,引擎自身可以由不止一個的子引擎組成, 其每個可以看做單獨的引擎。
[0027] 網絡釣魚檢測規則的"演進"、"演進的"一基于現有的網絡釣魚檢測規則的應用的 計算式創建新的網絡釣魚檢測規則。網絡釣魚檢測規則的演進可以,作為例子,創建規則的 連續代,即新的規則由以前演進的規則的應用創建。
[0028] "攔截"一由中間進程或設備讀取并且捕獲被定向到目的地的數據,由此保持數據 無法行進,直到釋放攔截的數據。當數據被保持時,被攔截的數據可以由中間進程或設備重 新定向、改變、放棄、延遲或否則執行。
[0029] "網絡接口設備"一一種類型的輸入/輸出設備,其為通過計算機網絡與外部計算 設備交流信息提供便利。例子包括以太網端口、Wi-Fi無線電接口、藍牙口等。
[0030] "對象" 一一段軟件代碼或數據結構,例如存儲在計算機硬件中的文本或圖。例子 包括文件、程序、數據包等。
[0031] "參數分數" 一特征、屬性、因素、要素或它們的一些組合的計算得到的測量數據。 如在網絡釣魚標識情況下的例子,參數(計算出其分數)可以關于一個或多個個人網絡釣魚 標識。例如,參數可以代表一組數據中特定網絡釣魚標識的存在。作為另一個例子,參數可 以代表對一組數據中多個網絡釣魚標識數量的計數。總的來說,參數代表網絡釣魚檢測的 強度的測量,并且也指示了網絡釣魚內容的特定項目。
[0032] "網絡釣魚"一試圖從受害人處惡意得到機密信息,例如通過冒充電子通信中可信 任的實體獲取證書、財務賬戶詳細資料、個人信息等。
[0033] "進程虛擬機"一設計為運行單個程序的虛擬機,這意味著它支持單個進程。這樣 的虛擬機通常非常適合于一種或多種編程語言并且為了提供程序的可移植性和靈活性而 建立。例子包括Java虛擬機、.Ne t體系結構、Parro t虛擬機。
[0034] "處理器"一計算機系統的電子硬件部分,其通過執行系統的基本算法、邏輯、暫存 和輸入/輸出操作執行計算機程序的指令。典型地,處理器實現為微處理器(即集成到單個 芯片上),雖然這個定義包括在多個互連集成電路上實現的處理器電路。現代的處理器典型 地包括多個處理核心并且可以在多個處理核心間分配工作量。
[0035] "代理"、"代理服務器"、"代理服務"一在本地計算機系統或在不同的計算機系統 或網絡設備(如交換機、路由器等)上運行的中間引擎,其起到本地(客戶端)計算機系統的 應用程序通過計算機網絡訪問遠程計算機(例如,服務器)的中介作用。此外代理可以幫助 建立本地和遠程計算機系統間的連接,并且可以為本地計算機系統提供多種數據處理操 作。數據流通過代理,其可以根據代理服務器提供的有益服務按需監測、過濾或修改,并且 重定向數據包。例如,為了保護用戶在本地計算機系統上工作,代理可以分析與網絡地址的 連接,并且如果懷疑連接將用戶的計算機系統暴露給不應該的風險(例如網絡釣魚內容的 轉移一就像與本發明有關的),則阻止或重新定向網絡信息流通。由代理執行的進一步的數 據處理操作的另一個例子是存儲常用網頁的副本(高速緩存),以提供那些頁面的快速加 載。
[0036] "用于獲得指向目的地的輸入數據的裝置"一根據下面描述的它們的多個實施例 的每個的任何一個(或其組合),或它們的結構等價物的任何一個的數據捕獲引擎110或攔 截引擎112。
[0037] "用于檢測網絡釣魚的任何標識的裝置"以及"用于確定多個預定參數的每個的定 量分數的裝置" 一根據下面描述的它們的多個實施例的每個的任何一個(或其組合),或它 們的結構等價物的任何一個的網絡釣魚內容檢測引擎120。
[0038] "用于評估演進網絡釣魚檢測規則的需求的裝置"、"用于演進網絡釣魚規則的裝 置"、"用于生成新的網絡釣魚檢測規則的裝置"以及"用于遞歸執行檢測網絡釣魚標識、確 定定量分數、評估演進規則需求以及演進網絡釣魚規則的裝置"一根據下面描述的它們的 多個實施例的每個的任何一個(或其組合),或它們的結構等價物的任何一個的規則開發引 擎 130〇
[0039] "用于識別任何網絡釣魚相關對象的裝置"一根據下面描述的它們的多個實施例 的每個的任何一個(或其組合),或