TWI720932B - 用於藉由分析已知及/或未知網路安全威脅的形態來偵測資料異常的系統和方法 - Google Patents
用於藉由分析已知及/或未知網路安全威脅的形態來偵測資料異常的系統和方法 Download PDFInfo
- Publication number
- TWI720932B TWI720932B TW109129559A TW109129559A TWI720932B TW I720932 B TWI720932 B TW I720932B TW 109129559 A TW109129559 A TW 109129559A TW 109129559 A TW109129559 A TW 109129559A TW I720932 B TWI720932 B TW I720932B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- data object
- value
- block
- module
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Virology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
此文件描述一種用於偵測異常資料檔並且防止偵測到的異常資料檔被儲存在一資料儲存器中之系統及方法。尤其,所述系統及方法藉由將每一個資料檔劃分成為資料區塊,因而對於每一個資料區塊獲得熵值,並且此資訊被核對而且接著使用在一機器學習模型,以確定所述資料檔的安全等級來偵測異常資料檔。
Description
本發明有關於一種用於偵測異常資料檔並且防止偵測到的異常資料檔被儲存在資料儲存器中之系統及方法。尤其,所述系統及方法是藉由將每一個資料檔劃分成為資料區塊,藉此對於每一個資料區塊獲得熵值(entropy value),並且此資訊被核對而且接著使用在一機器學習模型中以確定所述資料檔的安全等級來偵測異常資料檔。
在現今的數位時代,電腦系統正漸增地遭受到各種形式及類型的惡意網路攻擊。這些攻擊的目標非法地取得對於電腦系統的存取,並且通常經由惡意軟體(亦以“惡意程式”著稱)來加以實行,而惡意程式在系統管理者不知情下被安裝在所述電腦系統中。惡意程式可透過從系統的網路的一些方式(例如是電子郵件、或網站)、透過CD-ROM被插入所述系統中、或是透過外部的儲存裝置連接至所述系統而被安裝在電腦系統中。一旦惡意程式已取得對於系統的存取,其可藉由破解所述系統的安全性(例如藉由產生軟體後門)、存取敏感資訊、刪除重要檔案,藉此使得所述系統失效來造成極大損壞。
通常認為一旦惡意程式已被安裝後,要偵測出變成困難許多的,因而此讓電腦系統輕易地被攻擊者所破解。
為了解決此問題,熟習此項技術者已倡議此種惡意程式或資料在其被容許感染電腦系統之前先加以識別出。一旦被識別出,所述惡意程式接著可被分類,以使得由所述惡意程式引起的損壞範圍可更佳被理解並且防範其再次發生。在已倡議識別惡意程式的各種技術中,其包含時間分析以及即時更新的方案,其於是被用來更新資料庫,使得所述資料庫可被用來過濾已知的惡意實體而不會影響到受保護的電腦系統。
最初,最直接的方式將會是系統管理者在可疑程式執行時人工地分析所述程式。所述管理者於是觀察所述結果以判斷所述程式是否被當作是惡意程式或可信賴軟體。在所述管理者的分析所述程式期間,所述管理者可反編譯所述程式來調查特定的碼行、或是注意到和所述電腦系統及/或外部接觸互動的應用程式介面(API)呼叫,以判斷這些呼叫是否指出惡意特性。儘管此種方案可以是周密且詳細的,但其是極為耗時且效率差的。因此,熟習此項技術者已倡議替代的自動化方法。
在所述時間分析的方案中,在受影響的系統中的所有活動都根據時間而被分類並且加以審視,因而在一特定時間期間之內發生可疑事件可仔細加以審查。此種事件可包含在所述時間期間的檔案的存取/安裝/刪除/修改;使用者登錄日誌;被起始或終止的程序(包含背景程序);遠端接達的網路埠等等。一旦容許惡意程式被安裝的事件已被偵測到,所述電腦系統的威脅分類系統接著可以依此而被更新,以避免此種事件的再度發生。
審視例如是檔案及事件日誌的靜態歷史資料的一替代方案是即時更新方法,其在所述電腦系統使用中檢查即時程式、在所述程式執行時的系統記憶體內容、目前的網路埠活動、以及其它類型的元資料,以便於識別靜態歷史資料如何可能已被攻擊者所修改。從此方法獲得的資訊接著可被用來更新所述系統的威脅分類系統。
所述更新後的威脅分類系統接著可被用來審視將被引入所述系統的新檔案。此是藉由比較所述新檔案的特徵與其已知先前遇到過的檔案的資料庫來加以完成。此種比較通常藉由密碼地雜湊將被比較的資料來加以完成,亦即藉由施加一數學函數以轉換所述資料成為精簡數值表示。於是假設若利用相同演算法所產生的兩個雜湊是不同的,則此意指所述新檔案可能已經受損。
在以上倡議方案的缺點是它們並未防止零時差(zero-day)類型的惡意程式影響電腦系統,而且只是在防止先前已經偵測到的相同惡意程式的再度發生上有用的。換言之,若對於這些惡意程式做些微修改,則非常有可能所述惡意程式可溜過系統的防禦進而影響到所述電腦系統。
其它已被倡議來識別在可能受損的電腦系統上的可疑活動的技術通常是產生大量資料,而在所有這些資料可被用來更新威脅分類系統之前,它們都必須加以審視及解譯。而複雜的是,惡意程式本身時常地演化,其發展出新方式來避開現有偵測方法,其藉由採用各種方法來偽裝其存在,此使得電腦安全系統的工作更加困難。這些技術中的某些技術包含刪除其登錄到系統的指示符,例如所述系統的日誌檔項目、檔案修改/存取日期、以及系統程序。除了上述,惡意程式本身的身分還可藉由改變其名稱或執行設定檔,使得其看起來是無害的來加以混淆,藉此有效地偽裝所述惡意程式。
然而,當資料被加密、壓縮、或是混淆(根據混淆方法)時,其熵值或其隨機性度量趨向高於“有組織”資料的熵值。換言之,使用者產生的文件及電腦程式為了便於除錯,一般傾向具有建構的有組織方式,而加密資料則趨向具有一相當大程度的熵。
被認為的是熵的度量並非一種保證識別惡意程式或攻擊者的隱藏資料儲存的方法。一有效程式可能使得加密或更常見的壓縮的資訊被儲存在電腦系統上。然而,在非常基本的層級下,所述熵的檢查確實提供一極佳的最初過濾,以用於識別可能有問題的程式。藉由如此做之下,此大為降低需要非常詳細分析的資料量。
然而,由於針對於一資料區塊產生一熵值的方式,有可能一資料區塊可傳回一低熵值,而事實上該資料區塊的某些區段可包含具有惡意程式的小混淆區塊。此種情節可發生在攻擊者已將加密的惡意程式設置在具有相當低熵的一資料區塊中,藉此有效地遮蔽所述惡意程式的存在。
考慮到以上內容,最想要的是一種技術以導出強健的熵度量,以便於偵測惡意程式在電腦系統中的存在,同時降低在所述偵測程序期間產生的偽陽性的數目。
針對於以上理由,熟習此項技術者不斷地努力來思考出一種能夠對於資料檔產生一適當熵值之系統及方法,因而有關所述資料檔的這些熵值以及其它資訊被提供至一受監督機器學習模型,以在異常資料檔被儲存在所述電腦系統的儲存裝置中之前先行偵測及識別出此種檔案。
藉由根據本發明的實施例所提供的系統及方法,以上及其它問題被解決,並且在此項技術中達成一進步。
根據本發明的系統及方法的實施例的一第一優點是零時差類型的異常檔案可有效力且有效率地加以識別。
根據本發明的系統及方法的實施例的一第二優點是尚未被標示或認定為威脅的異常檔案將會被阻擋,並且此資訊將會被用來訓練所述系統的威脅識別符,以避免此種類似惡意程式的演化。
根據本發明的系統及方法的實施例的一第三優點是不論被引入所述系統的檔案的類型為何,所述檔案都將會被分析以判斷其威脅值。
根據本發明的系統及方法的實施例的一第四優點是不論被引入所述系統的檔案(並且其可不包含任何資料檔)的類型及/或大小為何,任何藉由所述檔案起始的讀取/寫入/覆寫命令都將會被分析,因為一資料快閃控制器的一前端管理者將會被配置以不斷取樣藉由所述檔案執行的命令。所述取樣期間可在數百毫秒到數十秒之間變化,並且藉由如此進行,此避免所述系統免於勒索軟體的攻擊。
以上優點由根據本發明的一種用以下方式來操作之方法的實施例所提供。
根據本發明的一第一特點,一種用於偵測在接收到的資料物件中的資料異常之系統被記載,所述系統包括:處理單元;以及可藉由所述處理單元讀取的非暫態的媒體,所述媒體儲存指令,當所述指令藉由所述處理單元執行時,其使得所述處理單元:根據所述資料物件的數位簽名及檔案類型來決定所述資料物件的安全態勢;根據所述安全態勢及所述資料物件的和所述安全態勢相關的特點來產生類型-安全性-平台(TSP)查找表,並且針對於所述接收到的資料物件,根據所述TSP查找表來產生混淆值及鑑識值;針對於所述資料物件產生反組譯(disassembled)值或是解譯(interpreted)值;針對於所述接收到的資料物件的每一個區塊計算結果值,因而用於所述區塊的每一個的所述結果值根據和所述接收到的資料物件的所述區塊相關的所述反組譯或解譯值、混淆值及鑑識值來產生;根據所述資料物件的所有的所述結果值來產生資料模型;以及利用人工智慧(AI)演算法來處理所述資料模型以判斷所述資料物件是否包含資料異常。
參考所述第一特點,用以針對於所述接收到的資料物件產生混淆值的所述指令包括指令以用於指示所述處理單元以:將所述資料物件劃分成為資料區塊;以及對於每一個資料區塊計算夏農(Shannon)熵值。
參考所述第一特點,用以針對於所述接收到的資料物件產生鑑識值的所述指令包括指令以用於指示所述處理單元以:將所述資料物件劃分成為資料區塊;以及對於每一個資料區塊,利用頻率為基礎的相似性雜湊設計來計算相似性分數。
參考所述第一特點,用以針對於所述接收到的資料物件的每一個區塊產生所述結果值的所述指令包括指令以用於指示所述處理單元以:針對於所述接收到的資料的每一個區塊產生包括三個位元組的結果值,因而對於每一個區塊,所述指令指示所述處理單元以:根據所述資料物件的所述反組譯或是解譯值來設定所述結果值的第一位元組的最高有效位元(MSB)及第二MSB;利用所述結果值的第二位元組來語法分析所述第一位元組的所述位元的剩餘部分,並且根據和所述區塊相關的所述混淆值來設定所述語法分析的結果;以及根據和所述區塊相關的所述鑑識值來設定第三位元組的值。
參考所述第一特點,用以根據所述資料物件的所有的所述結果值來產生資料模型的所述指令包括指令以用於指示所述處理單元以:產生資料影像模型,因而在所述資料影像模型中的每一個像素和唯一結果值相關的,其中每一個唯一結果值在所述資料影像模型中藉由唯一影像來加以代表。
參考所述第一特點,被用來處理所述資料模型的AI演算法包括:卷積神經網路(CNN)模型、深度神經網路(DNN)模型、或是遞迴神經網路(RNN)模型。
參考所述第一特點,用以利用所述人工智慧(AI)演算法來處理所述資料模型的所述指令包括指令以用於指示所述處理單元以:比較所述資料模型與內含在資料庫之內的資料模型,其中所述比較利用機器學習演算法來加以執行的。
參考所述第一特點,所述媒體進一步包括指令以用於指示所述處理單元以:提供虛擬檔案系統,其被配置以接收及儲存所述資料物件,因而所述虛擬檔案系統使得所述處理單元執行在所述虛擬檔案系統之內的所有步驟。
參考所述第一特點,所述數位簽名包括和所述資料物件相關的魔數(magic number)。
參考所述第一特點,所述資料物件的和所述安全態勢相關的特點包括所述資料物件的平台類型以及檔案類型。
根據本發明的一第二特點,一種用於利用人工智慧(AI)模組來偵測在接收到的資料物件中的資料異常之方法被記載,所述方法包括以下步驟:利用被設置在所述AI模組之內的分析器模組,根據所述資料物件的數位簽名及檔案類型來判斷所述資料物件的安全態勢;利用被設置在所述AI模組之內的所述分析器模組及偵測器模組,根據所述安全態勢及所述資料物件的和所述安全態勢相關的特點來產生類型-安全性-平台(TSP)查找表,並且針對於所述接收到的資料物件,根據所述TSP查找表來產生混淆值及鑑識值;利用被設置在所述AI模組之內的反組譯及解譯模組,針對於所述資料物件產生反組譯值或是解譯值;利用被設置在所述AI模組之內的區塊結構化模組,針對於所述接收到的資料物件的每一個區塊計算結果值,因而用於所述區塊的每一個的所述結果值根據和所述接收到的資料物件的所述區塊相關的所述反組譯或解譯值、混淆值及鑑識值來加以產生;利用被設置在所述AI模組之內的模型產生器模組,根據所述資料物件的所有的所述結果值來產生資料模型;以及利用被設置在所述AI模組之內的AI威脅模組,利用人工智慧(AI)演算法來處理所述資料模型以判斷所述資料物件是否包含資料異常。
參考所述第二特點,針對於所述接收到的資料物件產生所述混淆值的步驟包括以下步驟:將所述資料物件劃分成為資料區塊;以及對於每一個資料區塊計算夏農熵值。
參考所述第二特點,針對於所述接收到的資料物件產生鑑識值的步驟包括以下步驟:將所述資料物件劃分成為資料區塊;以及對於每一個資料區塊,利用頻率為基礎的相似性雜湊設計來計算相似性分數。
參考所述第二特點,針對於所述接收到的資料物件的每一個區塊產生結果值的步驟包括以下步驟:針對於所述接收到的資料的每一個區塊產生包括三個位元組的結果值,因而對於每一個區塊,所述方法:根據所述資料物件的所述反組譯或是解譯值來設定所述結果值的第一位元組的最高有效位元(MSB)以及第二MSB;利用所述結果值的第二位元組來語法分析所述第一位元組的位元的剩餘部分,並且根據和所述區塊相關的所述混淆值來設定所述語法分析的結果;以及根據和所述區塊相關的所述鑑識值來設定第三位元組的值。
參考所述第二特點,根據所述資料物件的所有的所述結果值來產生資料模型的步驟包括以下步驟:產生資料影像模型,因而在所述資料影像模型中的每一個像素和唯一結果值相關的,其中每一個唯一結果值在所述資料影像模型中藉由唯一影像來加以代表。
參考所述第二特點,被用來處理所述資料模型的所述AI演算法包括:卷積神經網路(CNN)模型、深度神經網路(DNN)模型、或是遞迴神經網路(RNN)模型。
參考所述第二特點,利用所述人工智慧(AI)演算法來處理所述資料模型的步驟包括以下步驟:比較所述資料模型與內含在資料庫之內的資料模型,其中所述比較利用機器學習演算法來加以執行。
參考所述第二特點,其中在根據所述資料物件的所述數位簽名以及所述檔案類型來判斷所述資料物件的所述安全態勢的步驟之前,所述方法進一步包括以下步驟:利用所述分析器模組來提供虛擬檔案系統以接收及儲存所述資料物件,因而所述虛擬檔案系統使得所述方法的全部步驟都在所述虛擬檔案系統之內加以執行。
參考所述第二特點,所述數位簽名包括和所述資料物件相關的魔數。
參考所述第二特點,所述資料物件的和所述安全態勢相關的特點包括所述資料物件的平台類型以及檔案類型。
本發明有關於一種用於偵測異常資料檔並且防止偵測到的異常資料檔被儲存在一資料儲存器中之系統及方法。尤其,所述系統及方法將每一個資料檔劃分成為資料區塊,因而對於每一個資料區塊獲得熵值(entropy value),並且此資訊被核對並且接著使用在一機器學習模型以確定所述資料檔的安全等級。被發現到異常檔案接著被隔離,而被認為沒問題的檔案將會被容許行進至下一個步驟,因而其將會被分析以找出任何可能在背景中執行的惡意程式及/或勒索軟體命令(即使所述檔案並不包含任何資料區段)。
本發明現在將會參考如同在所附圖式中所繪的數個實施例來加以詳細地描述。在以下說明中,許多特定特點被闡述以便於提供本發明的實施例的徹底理解。然而,對於熟習此項技術者而言將會明顯的是,實施例可在無某些或全部所述的特定特點下加以實現。此種實施例亦應落在本發明的範疇之內。再者,在下文中的某些程序步驟及/或結構並未詳細地敘述,因而讀者將會被提及對應的參考,以免不必要地模糊本發明。
再者,熟習此項技術者將會體認到在此說明中的許多功能單元已經在整個說明書被標示為模組。熟習此項技術者亦將會體認到一模組可被實施為電路、邏輯晶片、或任何類型的離散的構件。又者,熟習此項技術者亦將會體認到一模組可用軟體來實施,而軟體於是可藉由各種處理器架構來執行。在本發明的實施例中,一模組亦可包括電腦指令或可執行碼,其可根據接收到的指令來指示一電腦處理器實行一序列的事件。所述模組的實施方式的選擇留給熟習此項技術者作為設計上的選擇,因而不用來限制本發明的範疇。
根據本發明的實施例的用於藉由一AI核心處理器來偵測、分析及識別一異常資料檔之範例的一程序或方法在以下步驟中闡述。所述程序或方法的步驟如下:
步驟1:根據所述資料物件的一數位簽名以及一檔案類型來判斷所述資料物件的一安全態勢;
步驟2:根據所述安全態勢以及所述資料物件的和所述安全態勢相關的特點來產生一類型-安全性-平台(TSP)查找表,並且針對於所述接收到的資料物件產生一混淆值以及一鑑識值;
步驟3:針對於所述資料物件產生一反組譯值或是一解譯值;
步驟4:針對於所述接收到的資料物件的每一個區塊計算一結果值,因而用於所述區塊的每一個的所述結果值根據和所述接收到的資料物件的區塊相關的所述反組譯或解譯值、一混淆值以及一鑑識值而被產生的;
步驟5:根據所述資料物件的所有的所述結果值來產生一資料模型;以及
步驟6:利用一人工智慧(AI)演算法來處理所述資料模型以判斷所述資料物件是否包含資料異常。
根據本發明的實施例,在以上闡述的步驟可藉由內含在如在圖1中所繪的人工智慧(AI)核心模組105之內的模組來加以執行,因而AI核心模組105包括合成模組110、AI先進分析器模組106、AI威脅模組107、驗證模組140、以及儲存器150。
接著,合成模組110包括子模組:分析器模組111;平台偵測器模組112;反組譯/解譯模組113;以及區塊結構化模組114,而AI先進分析器模組106包括子模組:輸出結構區塊120;特點抽取器模組121;以及模型產生器模組122。至於AI威脅模組107,此模組包括子模組:AI搜尋模組130;資料庫131;以及經訓練資料庫132。
在本發明的實施例中,資料101可包括所有類型及格式的資料物件,並且這些資料的內容可包含但不限於視訊檔、文件、影像、試算表、應用程式介面、可執行檔、以及具有各種附檔名及/或例如是讀取/寫入(抹除)命令的虛設(dummy)命令位元組的所有其它類型的檔案。一般而言,資料101可被分成複數個子物件102,當子物件102組合時,其整體構成資料101。在本發明的實施例中,資料101被分類成較小的子物件102,因而其將會讓AI核心模組105更容易有效率且有效力地處理這些較小子物件的每一個。
資料101或子物件102(經細分的資料101)於是被合成模組110接收到。從此處開始,儘管是參照到資料101,但熟習此項技術者將會體認到接著所論述步驟及程序亦可被應用到所有類型的資料物件,甚至是子物件102,而不脫離本發明。在接收到資料101之後,分析器模組111分析資料101的資料結構以獲得更多有關資料101的結構及組成的細節及資訊。在本發明的一實施例中,分析器模組111被配置以透過一數位簽名查找表、一檔案查找表、或一魔數查找表來判斷資料101是否為一異常檔案。在本發明的實施例中,分析器模組111產生一選配的虛擬檔案系統,其被配置以在一沙盒(sandbox)環境中讀取所述檔案。分析器模組111接著對於資料101產生一適當的安全性旗標,其接著被使用在唯一和資料101相關的類型-安全性-平台(TSP)查找表的產生。此TSP查找表接著被合成模組110中的其它模組使用來更加詳細地分析資料101。
平台偵測器模組112接著被配置以根據有關資料101的某些關鍵特點,例如但不限於其檔案類型、其操作平台、以及可被資料101及其安全態勢所影響及/或改變的電腦架構,來填充所接收到的TSP查找表的剩餘部分。藉由平台偵測器模組112所執行的分析結果接著被儲存在GV模組112a,並且亦被提供至反組譯/解譯模組113。
在反組譯/解譯模組113,藉由平台偵測器模組112產生的結果接著被反組譯以產生一反組譯的資料組或值、或被傳送至一解腳本(de-scripting)源以被解譯用於可識別的ASCII項,並且所解譯的資料物件及其對應值接著被回傳到反組譯/解譯模組113以進一步加以處理。所述資料組模型接著被儲存在GV模組113a,並且被提供至下一個模組,即所述區塊結構化模組114。
在區塊結構化模組114,混淆資料及/或其它相關特點可從所述精簡的資料組被抽取出。在本發明的實施例中,區塊結構化模組114識別出函數、外部呼叫函數、和輸入/輸出埠通訊的物件,於是將此資訊加至所述資料組模型。此資料組模型可用一複雜的位元組表,亦即輸出結構區塊120,而被呈現給AI先進分析器模組106。在本發明的實施例中,所述資料組模型將會是藉由區塊結構化模組114,根據分析器模組111、平台偵測器模組112及反組譯/解譯模組113的輸出來產生的。區塊結構化模組114將語法分析從所述熵/鑑識/反組譯器程序獲得的所有結果成為一資料組模型,其具有一適當的資料結構來將所有結果統一在一起。在本發明的實施例中,內含在此結構內的語法分析的結果將會被命名有一字首,因而所述字首將會被用來指出所述結果的資料或所述函數的名稱,例如一鑑識表的結果將會被命名為“Prefix.Forensic.typeofForensic.table.result1.result2.result3”。
一旦此資訊被提供至AI先進分析器模組106後,特點抽取器模組121將會一起核對內含在所述輸出結構區塊120內的資訊、以及透過GV回叫(call-back)模組117的被儲存在GV模組111a、112a及113a的輸出、以及資料101,並且提供此被核對的資訊至模型產生器模組122。
於是,模型產生器模組122接著使用所接收到的資訊以產生一適當模型。所述模型接著被提供至資料庫131並儲存在資料庫131中,並且被AI搜尋模組130結合經訓練資料庫132來加以使用,以對於所述模型判斷一威脅分數。
在本發明的實施例中,從特點抽取器模組121獲得的特點可被所述模型產生器模組122使用以產生一資料影像模型,其具有包括512×512像素的一矩陣,因而每一個像素代表一資料101區塊,並且由3個位元組的資料所組成。所產生的資料影像模型及/或所述資料組模型接著將會被暫時儲存在資料庫131內。AI搜尋模組130將會接著執行一匹配演算法,以比對被儲存在資料庫131內的模型與被儲存在經訓練資料庫132中的資料組。其結果接著將會以100分來標準化,並且標準化的分數接著將會被傳遞至驗證模組140。在此模組之內,各種評分設定可藉由所述系統的使用者來加以界定,例如但不限於:
·介於0到50之間的分數可意指“沒有威脅”
·介於51到85之間的分數可意指檔案類型是“無害的”
·介於86到99之間的分數可意指有一“威脅”
在本發明的實施例中,AI搜尋模組130利用一受監督的機器學習演算法以指定所述威脅分數至所述資料組模型。在本發明的實施例中,例如但不限於線性回歸、隨機森林及/或支援向量機之受監督的機器學習技術可被利用。
一旦所述威脅分數已經被指定後,這些分數接著和資料101一起被提供至驗證模組140。若驗證模組140根據所述分數而確定資料101是一威脅,則資料101將會被阻擋而不被安裝在儲存器150中,反而將會被提供至一輸出160,因而資料101將會被隔離或進一步被分析。
相反地,若所判斷的是資料101並不構成威脅,則其將會被容許安裝在儲存器150中。為了完整性,儲存器150可包括(但並不限於)任意類型或形式的資料儲存器,例如是一電腦系統的主要儲存器(例如RAM、固態及/或磁性硬碟)或所述系統的次要儲存(例如行動碟)。
根據本發明的實施例,代表可被設置在AI核心模組105(如同在圖1中所繪)之內以用於實施根據本發明的實施例的構件的方塊圖被描繪在圖2中。熟習此項技術者將會體認到AI核心模組105的確切配置並非固定的,並且可以是不同的而且可變化,因而圖2只是藉由舉例來提供而已。
所述術語“處理器”在此被用來一般指出任何可處理此種指令的裝置或構件,並且可包含:一微處理器、微控制器、可程式化邏輯裝置、或其它計算裝置。換言之,處理器205可由任何用於接收輸入、根據被儲存在記憶體中的指令來處理所述輸入、及產生輸出(亦即至所述記憶體構件、安全性管理模組280、AI協同處理器285、感測器290及/或PCIe匯流排、等等)的適當邏輯電路所提供。在此實施例中,處理器205可具有記憶體可定址空間的單核心或多核心處理器。在一例子中,處理器205可以是多核心的,其例如包括一8核心CPU。
在本發明的實施例中,處理器205可包括快閃控制器252,其被配置以控制任意類型的可被電性抹除及程式化的非揮發性記憶體儲存媒體。此種非揮發性記憶體儲存的一個例子將會是NAND或NOR類型的快閃記憶體、或非快閃EEPROM快閃記憶體。在圖2中,儘管快閃控制器252被配置以控制NAND快閃記憶體245,其儲存安全開機、韌體、AI經訓練資料、簽名資料、雜湊表、臨界值表、保留區域及使用者區域,但是熟習此項技術者將會體認到其它類型的資料及資訊可被儲存在NAND快閃記憶體245中,而不脫離本發明。
處理器205亦包括DDR控制器268,其被配置以控制任意類型的揮發性隨機存取記憶體RAM 223,例如靜態隨機存取記憶體(SRAM)或動態隨機存取記憶體(DRAM)。一唯讀記憶體(ROM)模組ROM 270亦和I-D 254、A-D 256、架構核心258、AXI4 262、以及NVMe核心276一起被設置在處理器205之內。尤其,I-D 254包括被配置以解碼用於處理器205的指令的一指令解碼器,A-D 256包括一位址解碼器,其被配置以解碼在所述晶片組之內所用的每一個實體週邊位址,使得在處理器205之內的所有位址匯流排都被管理,並且架構核心258包括處理器205的架構核心,例如但不限於一ARM架構、一MIPS架構、一RISC-VARCH架構等等,因而所述架構類型依據處理器205處理的指令數目、所消耗的功率量等等而定的。
至於AXI4 262,此構件包括被標識為AXI4的一互連匯流排連接。AXI4 262是許多ASIC製造商經常使用的連接,並且其概括地包括一從屬/主控匯流排以及一高速的內部通訊匯流排,其連接處理器205以及所內含在其中的其它構件,因而每一個連結到此互連匯流排的構件都會有其本身位址。
非揮發性記憶體快捷(NVMe/NVM Express)核心276包括一構件,其被配置以處理來自使用者的主機的所有讀取/寫入以及管理操作命令,並且此是透過AXI4 262的一直接連接至PCIe匯流排295而被完成的。此表示每次一資料物件從一主機被接收到、或被傳送至所述主機,此發送都將會受到NVMe核心276的控制。應注意到的是,此構件可被配置以獨立於處理器205來運作,並且可被用來監視在一預先定義的時間範圍之內所執行的所有NVMe命令。此外,NVMe核心276可被配置以同步在DDR控制器268及快閃控制器252之間的資料速率的速度,因而此種操作是以快閃轉換層(Flash Transition Layer)著稱的。
快取記憶體260亦被設置在處理器205之內,並且被所述處理器使用以降低從所述各種類型的記憶體存取資料的平均成本(時間或能量)。
熟習此項技術者將體認到上述各種記憶體構件包括非暫態電腦可讀取媒體,因而其應該被視為包括暫態傳播信號以外的所有電腦可讀取媒體。通常,所述指令在所述記憶體構件中被儲存為程式碼,但是亦可以是硬接線的。
週邊元件互連快捷(正式縮寫為PCIe)控制器274是用於控制發生在處理器205及各種能夠支援PCIe匯流排協定的主機電腦之間的高速串列電腦擴充匯流排上的資料交換的控制器。輸入/輸出(I/O)介面272亦被設置以用於和各種類型的使用者介面、通訊介面及感測器290通訊。感測器290可包含但不限於運動感測器、溫度感測器、衝擊感測器,並且這些感測器可被配置以經由一有線或無線網路來發送/接收資料至/從外部來源而至其它處理裝置、或經由所述有線或無線網路來接收資料。可被利用的無線網路包含但不限於無線傳真(Wi-Fi)、藍芽、近場通訊(NFC)、蜂巢式網路、衛星網路、電信網路、廣域網路(WAN)等等。
AI協同處理器285經由一專用匯流排(未顯示)來連接至處理器205,並且包括一專門硬體加速器,其被設計以加速人工智慧應用程式,尤其是機器學習演算法,並且被用來加速特定計算工作以減輕在處理器205上的負載。
圖3描繪根據本發明的實施例的用於分析一接收到的資料物件之程序300,因而程序300可藉由所述AI核心中的模組來加以實施。程序300在步驟305以接收將被分析的一資料物件來開始的。如同在先前章節中所提及的,所述資料物件可包括一文件、影像檔、一可執行檔、或任何其它類型的檔案。在本發明的實施例中,所述資料物件可包括位元組區塊,因而這些位元組區塊將會被儲存在被連結至所述AI核心的一儲存媒體中,例如但不限於一隨身碟晶片組,其將會被指定一區域以記錄其大小、快閃位置區段、以及檔案開始位置及檔案結束位置。
一旦全體的資料物件已經完全被接收到之後,程序300接著前進到步驟310,因而選配的是一虛擬檔案系統被初始化。在此步驟,能夠用和主磁碟機相同的方式來讀取所述資料物件的一虛擬檔案系統藉由程序300而被產生。然而,不同於習知磁碟機或檔案系統,所述虛擬檔案系統並沒有直接連結到可藉由所述主磁碟機存取的磁碟機,因為所述虛擬檔案系統被配置成完全分開的。再者,由於所述虛擬檔案系統被配置以在一ASIC晶片組內執行,因此其需要較少的硬體資源,並且能夠與其它工作平行地加以執行。因此,當新物件在步驟305被接收到時,程序300將會把這些新資料物件加入到所述虛擬檔案系統中的一內部表列中,以被佇列供進一步的處理。在本發明的實施例中,程序300將會持續地監視此內部表列,以確保所述資料物件在已經被分析且為安全之前,其將不會被回叫。為了達成此,所述內部表列可內含在一暫時的緩衝器中,所述緩衝器可與所述主檔案系統隔離的,並且可被暫時鎖住。換言之,在本發明的一實施例中,可說成程序300及400的全體發生在所述虛擬檔案系統之內,而在本發明的另一實施例中,程序300及400可發生在所述虛擬檔案系統之外。此表示若程序300及400發生在所述虛擬檔案系統之外,則程序300將會從步驟305前進到步驟315。
在步驟315,從所述虛擬檔案系統之內或所述AI核心之內,程序300接著檢查所述資料物件的類型。在本發明的實施例中,此可藉由檢查其名稱來完成。例如,若所述資料物件名稱是“xxyyy.pdf”,則程序300接著在一臨時變數中儲存此資訊,所述變數可被稱為extension[n-1]=pdf。
來自步驟315的資訊接著被傳遞至步驟320。在此步驟,程序300產生對於所述資料物件而言是唯一的一魔數或一特殊標題框,並且此魔數接著可被嵌入所述資料物件內,因而其接著可被所述主機系統使用來識別所述資料物件的類型。
程序300接著在步驟325載入一被預先載入的魔數查找表。如同熟習此項技術者已知的,魔數指固定數值,其可被用來識別一特定的檔案格式或協定、或亦可指不太可能弄錯成其它意思的特殊唯一值。在所述被預先載入的魔數查找表中的每一個魔數指一特定的檔案格式或類型,並且此查找表可依所需而被週期性地更新、或每當一新的檔案類型被發現時而更新。
程序300接著在步驟330判斷所產生的魔數是否相符在所述被預先載入的魔數查找表中的魔數的任一個。
若程序300判斷不存在相符,則程序300前進到步驟335。在此步驟,和一立即將被產生的類型-安全性-平台(TSP)查找表相關的一安全性旗標將會被產生且設定為一高位準。程序300接著前進到步驟340,因而一類型-安全性-平台(TSP)查找表被產生。
相反地,若程序300在步驟330判斷所產生的魔數相符在所述被預先載入的魔數查找表中的一魔數,則此將會意指所述資料物件包括一已知的檔案類型。
程序300接著在步驟345載入可能的異常檔案類型的一查找表(例如其被儲存為一資料陣列),因而在此表中的每一個已知的異常檔案類型和一魔數相關。在本發明的此實施例中,一異常檔案類型代表一種可能是威脅的檔案,並且可在不同平台上執行,而不須利用一特定工具鏈編譯器來加以編譯,例如一Java腳本物件、一pdf檔、一jpeg(具有內嵌的執行檔,並且之後被呼叫以取出其)。
程序300接著在步驟350判斷所接收到的資料物件的檔案類型是否相符在步驟345被載入的可能的異常檔案類型的查找表中的一異常檔案類型。
若程序300判斷有一相符,程序300前進到步驟355。在此步驟,和一立即將被產生的類型-安全性-平台(TSP)查找表相關的一安全性旗標將會被產生,並且所述旗標將會被設定為一高位準。程序300接著前進到步驟340,因而一TSP查找表接著被產生。
相反地,若程序300在步驟350判斷所接收到的資料物件的檔案類型並不相符一異常檔案類型,則程序300前進到步驟360,因而和一立即將被產生的類型-安全性-平台(TSP)查找表相關的一安全性旗標將會被產生,並且被設定為一正常位準,其指出所述資料物件可能不是一異常檔案。程序300接著前進到步驟340,因而一TSP查找表接著被產生。
根據本發明的實施例,一TSP查看包括一32位元的變數,因而前16個最高有效位元(MSB)(亦即位元31(MSB)至16)代表所述資料物件的各種類型,接續的8個位元(亦即位元15至8)代表所述資料物件的安全態勢,並且最後的8個位元(亦即位元7至0-最低有效位元(LSB))是代表所述資料物件的平台使用。一範例的TSP查找表是在以下被闡述在表1-3。
表1
表2
表3
位元 類型 | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
*.jpeg | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
*.bmp | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
*.exe | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
*any | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位元 安全性 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
Status_1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
Status_2 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
Status_3 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
Status_4 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
| | | | | | | | | | | | | | | | | |
Status_n | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 |
位元 平台 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0(LSB) |
X86 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | B |
X64 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | B |
AMD | 1 | 1 | 0 | 0 | 0 | 0 | 0 | B |
ARM | 1 | 0 | 1 | 0 | 1 | 0 | 0 | B |
| | | | | | | | | | | | | | | | | |
等等 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | B |
表1闡述所述各種的檔案類型如何可藉由在所述TSP查找表中的位元31(MSB)至16來加以表示的一例子,表2闡述一資料物件的安全態勢如何可藉由位元15至8來加以表示的一例子,並且表3闡述所述資料物件所用的各種類型的平台如何可藉由位元7至0來加以表示的一例子。
在本發明的一實施例中,參考表2,“Status_1”可指出一資料物件的安全性旗標已經被設定至最高位準,並且其數位簽名並未相符在所述魔數查找表中的任何魔數,“Status_2”可指出一資料物件的安全性旗標已經被設定至最高位準,並且其數位簽名相符在所述魔數查找表中的一魔數,但是所述資料物件的檔案類型符合在所述檔案查找表中的一異常檔案類型,並且“Status_3”可指出一資料物件的安全性旗標已經被設定至一正常位準,其數位簽名相符在所述魔數查找表中的一魔數,並且其檔案類型並不相符任何已知的異常檔案類型。熟習此項技術者將會體認到各種類型的Status位準可被用來代表安全態勢的其它類型及變化,而不脫離本發明。
在本發明的實施例中,參考表3,位元7至4可被用來代表所述檔案的架構、所述檔案的微控制器單元(MCU)的執行、作業系統/硬體平台,並且所述最低的4個位元(位元3-0)可指出所述資料物件可能的作業系統,因而若所述LSB被設定為B(或任何其它等同的指示符),則其表示所述資料物件可在任意類型的作業系統上執行。
一旦所述TSP查找表已經針對於一資料物件而被產生後,如同在圖4中所繪的程序400接著被起始。程序400在步驟402以擷取如同被儲存在所述虛擬檔案系統之內(若程序400正在發生在所述虛擬檔案系統之內)、或如同被儲存在所述AI核心中的資料物件的位置來開始的。程序400接著在下一個步驟,步驟405,擷取和所述資料物件相關的TSP查找表。程序400接著在步驟410語法分析(parse)內含在所述TSP查找表中的資訊至其相關群組。尤其,在所述TSP查找表中有關於所述資料物件的安全性狀態的位元將會被語法分析為第一群組,在所述TSP查找表中有關於所述資料物件的類型的位元將會被語法分析為第二群組,並且在所述TSP查找表中有關於所述資料物件的目標平台的位元將會被語法分析為第三群組。
程序400接著前進到步驟430,其中程序400將會從語法分析的位元的所述第一群組判斷安全等級是否已經被設定為一正常或高位準。
若程序400判斷所述安全等級已經被設定為一高位準,則其將會前進到步驟435,因而其將會從所述TSP擷取有關於所述資料物件的類型的資訊,並且接著至步驟440,因而其將會從所述TSP擷取有關於和所述資料物件相關的操作平台的資訊。此資訊將會內含在所述TSP中的經語法分析的位元的所述第二及第三群組中。來自步驟435及440的資訊接著被提供至步驟447,並且程序400前進到步驟445。將來自435及440的資訊提供至步驟447的目標使得所述鑑識分析接著可根據來自這兩個步驟的資訊來加以執行。
在步驟445,程序400繼續以根據接收到的所述資訊,對於所述整體資料物件,亦即對於整體檔案大小計算一混淆值。相反地,若程序400判斷所述安全等級已經被設定為一正常的位準,則程序400直接前進到步驟445以對於所述資料物件整體計算一混淆值。
舉例而言,所述混淆值的範圍可在0-255之間,因而一較高混淆值意指較高風險是惡意程式或勒索軟體。
在本發明的實施例中,所述資料物件的混淆值包括針對於所述資料物件的熵值。在此實施例中,程序400將會藉由首先正規化所述資料物件的大小,以對於所述資料物件來計算一熵值。例如,若所述資料物件包括1 Mbyte的資料,則其將會被除以256以產生43000個區塊,因而每一個區塊包括256個位元組。針對於每一個區塊的夏農熵值(Shannon Entropy value)接著是如下所獲得的。有數種數學方法以用於產生針對於資料的熵的一數值、或一資料區塊的“隨機性”的表示。在本發明的一實施例中,所述熵值利用由克勞德夏農所開創的一種方法而被計算出,並且被熟習此項技術者已知為夏農熵方程式:
其中給定所述離散的隨機變數X,p(x)是x的機率。由於X是離散的,因此藉由以位元組(或8位元的區塊)所組織的二進位數位資料來表示的資料可被用來取代X。為了讓所述方程式正常地運作,X必須包括一在長度上至少256個位元組的最小資料區塊。所獲得值接著被標準化以使得
PH(X) ϵ 0.0…1.0
其中PH(X) = H(X)|MAX(H(X))。
簡言之,根據以上的方程式所計算出的熵值將包括介於0到1之間的一數值,其中較接近1的值指出在一給定資料區塊中的較高程度的熵。有關夏農熵的更徹底討論參考到名稱為夏農C.E.的“通訊的數學理論”的刊物。貝爾系統技術學報27,1948年7月及10月第379-423頁以及第623-656頁被納入在此作為參考。熟習此項技術者將會體認到任何其它類型的熵計算方法都可被利用,而不脫離本發明。
針對於所述區塊的每一個獲得的熵值接著可被闡述成如同在以下範例的表4中所繪的。
表4
熵值 | |||||||||
1.0 | |||||||||
0.9 | |||||||||
0.8 | |||||||||
0.7 | |||||||||
… | |||||||||
0.0 | |||||||||
區塊號碼 | 區塊 0 | 區塊 1 | 區塊 2 | 區塊 3 | 區塊 4 | 區塊 5 | 區塊 6 | … | 區塊 n |
表4展示針對於一惡意程式資料物件的一範例標示。如同可見的,大多數的區塊呈現高熵值,因此指出此資料物件高度可能是一異常資料物件。從所述熵計算獲得的結果亦可被標示成如同在圖5中所繪的,因而標示505及510代表可能和異常資料物件(例如惡意程式)相關的熵線,而具有較低的熵值的標示515可代表一非異常資料物件。在本發明的實施例中,這些圖案或標示可被使用作為所述資料物件的數位指紋。此結果接著將會被傳遞至下一個模組,因而其將會被利用來選擇將藉由程序400施加的最適合的預先定義的鑑識演算法。
程序400接著前進到步驟447,因而程序400呼叫一鑑識分析函數以判斷所述資料物件的數位指紋,亦即計算出的鑑識分析值及/或所述熵圖案(例如表4)展示所述資料物件是否有可包含惡意程式的可能性。
若先前在步驟430處判斷所述資料物件的安全等級已經被設定為一正常位準,則所述鑑識分析將會只根據所述資料物件的區塊來加以執行。然而,若先前在步驟430處判斷所述資料物件的安全等級被設定為一高位準,則所述鑑識分析將會根據所述資料物件的區塊以及在步驟435及440處針對於所述區塊的每一個擷取的類型及平台資訊一起來加以執行。
所述鑑識模組將會產生鑑識值,其代表所採用的調查方法以及介於1到10之間的一相似性輸出,因而一較低值代表一較低風險(較不相符),而一較高值是代表一較高風險(較高相符)。熟習此項技術者將會體認到現有的鑑識分析函數可被利用,而不脫離本發明。舉例而言,在以下闡述的範例(但是非限制性的)虛擬碼可被使用於所述鑑識分析。
用於鑑識分析的虛擬碼Forensic_t[0][Entropy method][result]
Forensic_t[1][fbhash_method][result]
Forensic_t[n-1][until the available method][result]
Enum { METHOD1 METHOD2 METHOD3 …………METHODn-1} LIST;
Typedef ARRAY[x][y][z] Forensic
Declare pointer pDATA= Data Object;
Declare variable Result[];
I = array{LIST}.
For x = 0 TO X <COUNT(LIST)
FUNCTION_FORENSIC(pDATA,X,LIST{X},Result[X]) (此函數的目標是執行一回叫到一表列中的一列舉方法,因而結果將會匹配所用方法)
Forensic[x],[LIST{X}],[RESULT[X]] ; (此緩衝器值將會被用來追蹤所的方法、所述方法的名稱以及其本身結果,其之後被使用於所述特點取出函數)
X=X+1;
FUNCTION_FORENSIC(pDATA,X,LIST{X},Result[X])
Declare local = sizeof(pDATA);
Declare LResult=0;
Switch (LIST{X})
Case METHOD1:
Case METHOD1:
Analyse_M1(local,pDATA); (每一個函數將會根據陳述的情形而被呼叫)
Result[X]=LResult
Case METHOD2:
Analyse_M2(local,pDATA);
Result[X]=LResult
Case METHODn-1:
Analyse_Mn-1(local,pDATA);
Result[X]=LResult
在本發明的實施例中,其它類型的鑑識分析可被實行,並且此可包括利用在數位鑑識中已知的雜湊方法,例如但不限於所述頻率為基礎的相似性雜湊設計(FbHash)來雜湊所述資料物件的步驟。
熟習此項技術者將體認到其它類型的調查方法可被使用,而不脫離本發明,因而其選擇留給熟習此項技術者決定的,使得程序400有能力在新方法被發現且加入時更新其方法庫。所述FbHash設計的一個例子被闡述在以下:
一相似性分數可被計算出,因而D1是所述資料物件,並且D2是已知的惡意程式的一資料組。用於D1及D2的值可如下獲得的:
Digest(D1) = W
D1 ch0, W
D1 ch1, W
D1 ch2, …W
D1 ch(n-1)Digest(D2) = W
D2 ch0, W
D2 ch1, W
D2 ch2, … W
D2 ch(n-1)其中所述函數Digest()是一儲存陣列,其中W
Dx ch(n-1)是藉由一FbHashing演算法所產生的一語塊(chunk)分數,其被表示為
,n代表所用的語塊分數的數量(或所述資料物件的區塊的數量),並且一FbHashing演算法代表許多用於數位調查方法中之一,其中以下的符號代表:
●語塊:一文件的k個連續位元組的序列。
●
:代表一文件D的第i個語塊。
●語塊頻率:一語塊ch
i出現在一文件D中的次數,被表示為chf
D chi。
●文件頻率:含有語塊ch的文件數量,被表示為df
ch。
●n:代表在文件語料庫中的文件總數。
●RollingHash(ch
i):ch
i的旋轉雜湊值。
●ch - wght
chi:ch
i的語塊權重。
●doc - wghtdoc - wght
chi:ch
i的文件權重。
●
:代表ch
i在文件D中的語塊分數。
一旦已經對於D1及D2獲得值之後,最後的一相似性分數Similarity(D1,D2)可利用如下的一餘弦相似性方法而被計算出:
最後的相似性分數範圍將會在0到100之間,因而為100的一分數意指D1和D2相同的,而為0的一分數意指D1完全不相符D2。
在步驟450,程序400接著判斷所述資料物件是否將被反組譯或解譯。若程序400判斷所述資料物件包括大量的ASCII,則程序400接著將使所述資料物件被解譯(步驟460、482、484、486),而若程序400判斷所述資料物件包括大量的機器語言,程序400將使所述資料物件被反組譯(步驟455、465、470、475)。
若程序400判斷所述資料物件將被反組譯,則其將會前進到步驟455。在此步驟,程序400執行在所述資料物件的TSP查找表上的一表列的程序。根據所表列的平台類型,程序400將會反編譯所述檔案,並且在步驟470處表列所有內部及外部呼叫,在步驟465處表列所有的呼叫函數,並且在步驟475處表列所有用到的第三方函式庫檔案。藉由列出常見的惡意程式特性,其通常包括需要存取到檔案系統、乙太網路I/O或是任何網路存取的命令,程序400能夠識別所述資料物件的可能構成惡意程式的部分。
程序400提供此資訊的全部至一表陣列,其包括預先定義的設定,以識別包括正常特性的命令或可能是威脅的命令。例如,一“DNS函數”被呼叫的次數被記錄。根據所述資料物件的檔案類型,程序400接著判斷對於此種檔案類型而言呼叫所選函數是否為常見的,並且若其特性是異常的,則所述資料物件將會被防止執行所述函數,所述資料物件區域將會被鎖住,並且使用者將會被警示。程序400接著觸發在計數器1中的一數字計數器,其指出所述資料物件已經被反組譯,而同時重置在計數器2中的一數字計數器。
換言之,在所述反組譯步驟期間,所述資料物件被反編譯,使得其特性可被詳細地分析。在本發明的實施例中,所述資料物件的原始二進制可加以獲得,使得內嵌在所述資料物件內的惡意程式可被發現,並且所述反編譯的資料的此種範例標示圖被描繪在圖6中。
圖6展示可根據操作類型而被標記的不同類型的操作。在此範例標示圖中,x軸代表一種操作類型的頻率,而y軸代表操作類型並且可利用以下的範例的虛擬碼來標示:
Diss_table[0][x1_criterianame][operationtype][0 or 1] to
Diss_table[n-1][xn-1_criterianame][operationtypen-1][0 or 1]
回到圖4,若程序400判斷所述虛擬資料模型將“被解譯”,則程序400前進到步驟460,因而所述虛擬資料模型在此步驟被解腳本,並且被劃分成各種部分以用於進一步的分析。混淆字串/加密區塊被提供至步驟482,由第三方所做的呼叫函數被提供至步驟484,並且至外部連結的參照被提供至步驟486。其結果接著在步驟488處被儲存,因而在計數器2中的一數字計數器被觸發,其指出所述資料物件已經被解譯,同時重置在計數器1中的一數字計數器。
來自步驟480及488的結果接著在步驟490處被提供至資料模型產生器,其接著可和到目前為止藉由程序400所產生的所有資訊一起使用此資訊,來計算一資料組模型A。
根據本發明的實施例,程序400利用到目前為止所產生的資訊以對於所述資料物件的區塊的每一個產生一“結果值”,因而每一個結果值包括3個位元組,使得一資料影像模型可被產生。
所述結果值的第一位元組的最高有效位元(MSB)以及第二MSB被用來指出所述資料物件的區塊是否被反組譯或解譯,而所述第一位元組的和第二位元組一起(產生14個位元)被語法分析的其餘6個位元被用來代表所述資料物件的區塊的混淆值(如同在步驟445計算出的)。所述結果值的第三位元組接著被用來代表所述鑑識分析值(如同在步驟447計算出的)。
根據本發明的其它實施例,針對於硬體異常,包含所述MSB(第一位元組+第二位元組的部分)的前12個位元將代表電源監視(將藉由ADC轉換的電流/電壓),接下來的10個位元將代表溫度值,並且最後2個位元將指出CPU負載:(在1–9之間的值代表一低負載,10代表一中等負載,而11代表一高負載)。
512個位元組的一區塊接著被用來指出所述資料物件的名稱/在NAND快閃記憶體中的位置,例如是其分頁/區段/平面位址/鎖住或未鎖住的檔案狀態/數位簽名。
程序400接著將會根據在以上抽取出的適當特點來產生所述資料模型A。
在本發明的實施例中,所述資料模型A可被表示為包括512×512像素的一影像,因而像素701的每一個代表一結果值(其包括3個位元組)。此被描繪在圖7A中,其中在所述影像中的每一條線代表一像素線,並且此圖示展示一平淡影像,因為其代表一“空的資料物件”。
因此,一旦程序400已經對於所述資料物件的區塊產生所述結果值後,這些結果值接著被標示到512×512的像素畫布(canvas)之上,以產生如同在圖7B中所繪的一資料影像702模型。在本發明的此實施例中,每一個唯一結果值藉由唯一影像表示來加以表示,其例如但不限於在資料影像702上的一對應陰影/彩色的像素。
一旦資料影像702已經被產生後,資料影像702接著將會被提供至如同在圖7C中所繪的程序703。在步驟705,所述目標影像(亦即資料影像702)被提供至一影像分類模型,例如但不限於一卷積神經網路(CNN)模型、一深度神經網路(DNN)模型、或一遞迴神經網路(RNN)模型。為了簡潔起見,這些模型的詳細運作被省略。所述影像分類模型接著在步驟710及715處針對於資料影像702產生特徵圖以及修正的特徵圖,並且接著前進到步驟720處以產生一輸出。此輸出接著和代表已知惡意程式的一輸出資料庫比較,並且若程序703判斷在步驟720處的輸出相符具有一已知的惡意程式的輸出的標示圖,則判斷出所述資料物件是惡意的。
在本發明的另一實施例中,資料組模型A可包括針對於所述資料物件的所有區塊的結果值的一集合。參考圖8,程序800接著在一被預先載入的異常資料物件的資料庫中搜尋,以識別出類似於資料組模型A的一資料庫模型。此發生在步驟805。
由於不太可能可發現到一完美匹配,因此程序800接著執行一機器學習分析,以根據最類似於其預先經訓練的資料組模型來決定將被指定給資料組模型A的一匹配分數。此發生在步驟810。在本發明的實施例中,此步驟所採用的機器學習演算法可包括已經利用一組預先訓練的資料組模型而被訓練的受監督的機器學習演算法。在本發明的實施例中,所述預先訓練的資料組模型可利用外部處理裝置來加以準備,並且被儲存在可藉由程序800所存取的一SSD儲存裝置之內。為了使得所述存取變得容易,被儲存在所述儲存裝置之內的一索引檔案可藉由程序800來存取的,因而此索引檔案包含有關可被呼叫的資料庫表列的資訊。
程序800接著在步驟815判斷所產生的分數是否超出一預設的威脅臨界值。若程序800判斷所產生的分數意指所述資料組模型A是不安全的,則程序800將會前進到步驟820,其阻擋所述資料物件而不被安裝到所述系統的資料儲存器上,並且產生一日誌圖,其顯示處於隔離的所述資料物件存在之處,並且程序800接著結束。或者是,若程序800從所產生的分數判斷所述資料物件是安全的,則程序800容許所述資料物件通過步驟820以被安裝在所述系統的資料儲存器中,並且程序600接著結束。
在本發明的其它實施例中,程序703及800可依序或同時被實行,以便於使得所述資料物件通過一更嚴格的篩檢程序。
許多的其它改變、替代、變化及修改可以藉由熟習此項技術者而被確認,因而所欲的是本發明涵蓋如同落入所附請求項的範疇之內的所有此種改變、替代、變化及修改。
101:資料
102:子物件
105:人工智慧(AI)核心模組
106:AI先進分析器模組
107:AI威脅模組
110:合成模組
111:分析器模組
111a:GV模組
112:平台偵測器模組
112a:GV模組
113:反組譯/解譯模組
113a:GV模組
114:區塊結構化模組
117:GV回叫模組
120:輸出結構區塊
121:特點抽取器模組
122:模型產生器模組
130:AI搜尋模組
131:資料庫
132:經訓練資料庫
140:驗證模組
150:儲存器
160:輸出
205:處理器
223:揮發性隨機存取記憶體RAM
245:NAND快閃記憶體
252:快閃控制器
254:I-D
256:A-D
258:架構核心
260:快取記憶體
262:AXI4
268:DDR控制器
270:唯讀記憶體模組ROM
272:輸入/輸出(I/O)介面
274:PCIe控制器
276:NVMe核心
280:安全性管理模組
285:AI協同處理器
290:感測器
295:PCIe匯流排
300:程序
305、310、315、320、325、330、335、340、345、350、355、360:步驟
400:程序
402、405、410、430、435、440、445、447、450、455、460、465、470、475、480、482、484、486、488、490:步驟
505、510、515:標示
701:像素
702:資料影像
703:程序
705、710、715、720:步驟
800:程序
805、810、815、820:步驟
以上及其它問題藉由根據本發明的一種系統及方法的特點及優點來加以解決,其被敘述在詳細說明中並且展示在以下圖式中。
[圖1]描繪根據本發明的實施例的可被用來實施用於偵測及分析異常之方法的模組的方塊圖;
[圖2]描繪代表提供根據本發明的實施例之處理系統的方塊圖;
[圖3]是根據本發明的實施例的用於偵測異常資料檔之一程序或方法;
[圖4]描繪根據本發明的實施例的用於利用一32位元的安全性查找表以產生一資料模型之一程序或方法;
[圖5]描繪展示根據本發明的實施例的針對於一範例的資料物件所獲得的熵值相對取樣速率所標示的圖;
[圖6]描繪具有代表一種操作類型的頻率的x軸而y軸代表在一資料物件已被反組譯之後的一種操作類型的標示圖;
[圖7A]描繪根據本發明的實施例的一512×512像素標示圖,以用於產生一資料模型的一影像;
[圖7B]描繪根據本發明的實施例的一資料模型的一產生影像;
[圖7C]描繪根據本發明的實施例的在一產生資料影像模型及先前用於預先訓練的資料組模型的影像之間的比較;
[圖8]描繪根據本發明的實施例的用於利用一機器學習模型來根據其特點以評分藉由在圖4中描繪的程序所產生的一資料組模型之一程序或方法,因而所述分數被利用來判斷所述資料檔的真實性。
101:資料
102:子物件
105:人工智慧(AI)核心模組
106:AI先進分析器模組
107:AI威脅模組
110:合成模組
111:分析器模組
111a:GV模組
112:平台偵測器模組
112a:GV模組
113:反組譯/解譯模組
113a:GV模組
114:區塊結構化模組
117:GV回叫模組
120:輸出結構區塊
121:特點抽取器模組
122:模型產生器模組
130:AI搜尋模組
131:資料庫
132:經訓練資料庫
140:驗證模組
150:儲存器
160:輸出
Claims (15)
- 一種用於偵測在接收到的資料物件中的資料異常之系統,所述系統包括: 處理單元;以及 非暫態的媒體,其可藉由所述處理單元來讀取,所述媒體儲存指令,當所述指令藉由所述處理單元執行時,其使得所述處理單元: 根據所述資料物件的數位簽名以及檔案類型來決定所述資料物件的安全態勢; 根據所述安全態勢以及所述資料物件的和所述安全態勢相關的特點來產生類型-安全性-平台(TSP)查找表,並且針對於接收到的所述資料物件,根據所述TSP查找表來產生混淆值及鑑識值; 針對於所述資料物件來產生反組譯值或解譯值; 針對於接收到的所述資料物件的每一個區塊來計算結果值,因而用於所述區塊的每一個的所述結果值根據和接收到的所述資料物件的所述區塊相關的所述反組譯值或所述解譯值、混淆值及鑑識值來加以產生; 根據所述資料物件的所有的所述結果值來產生資料模型;以及 利用人工智慧(AI)演算法來處理所述資料模型以判斷所述資料物件是否包含資料異常。
- 如請求項1之系統,其中用以針對於接收到的所述資料物件來產生混淆值的所述指令包括指令以用於指示所述處理單元以: 將所述資料物件劃分成為資料區塊;以及 對於每一個資料區塊來計算夏農熵(Shannon Entropy)值。
- 如請求項1或2的任一項之系統,其中用以針對於接收到的所述資料物件來產生鑑識值的所述指令包括指令以用於指示所述處理單元以: 將所述資料物件劃分成為資料區塊;以及 對於每一個資料區塊,利用頻率為基礎的相似性雜湊設計來計算相似性分數。
- 如請求項1之系統,其中用以針對於接收到的所述資料物件的每一個區塊產生所述結果值的所述指令包括指令以用於指示所述處理單元以: 針對於接收到的所述資料物件的每一個區塊來產生包括三個位元組的結果值,因而對於每一個區塊,所述指令指示所述處理單元以: 根據所述資料物件的所述反組譯值或所述解譯值來設定所述結果值的第一位元組的最高有效位元(MSB)及第二MSB; 利用所述結果值的第二位元組來語法分析所述第一位元組的位元的剩餘部分,並且根據和所述區塊相關的所述混淆值來設定經語法分析的結果;以及 根據和所述區塊相關的所述鑑識值來設定第三位元組的值。
- 如請求項1之系統,其中用以根據所述資料物件的所有的所述結果值來產生資料模型的所述指令包括指令以用於指示所述處理單元以: 產生資料影像模型,因而在所述資料影像模型中的每一個像素是和唯一結果值相關的,其中每一個唯一結果值在所述資料影像模型中藉由唯一影像來加以代表。
- 如請求項1之系統,其中所述媒體進一步包括指令以用於指示所述處理單元以: 提供虛擬檔案系統,其被配置以接收及儲存所述資料物件,因而所述虛擬檔案系統使得所述處理單元執行在所述虛擬檔案系統之內的所有步驟。
- 如請求項1之系統,其中所述資料物件的和所述安全態勢相關的所述特點包括所述資料物件的平台類型以及檔案類型。
- 一種用於利用人工智慧(AI)模組來偵測在接收到的資料物件中的資料異常之方法,所述方法包括: 利用被設置在所述AI模組之內的分析器模組,根據所述資料物件的數位簽名以及檔案類型來判斷所述資料物件的安全態勢; 利用被設置在所述AI模組之內的所述分析器模組及偵測器模組,根據所述安全態勢及所述資料物件的和所述安全態勢相關的特點來產生類型-安全性-平台(TSP)查找表,並且針對於接收到的所述資料物件,根據所述TSP查找表來產生混淆值及鑑識值; 利用被設置在所述AI模組之內的反組譯及解譯模組,針對於所述資料物件來產生反組譯值或解譯值; 利用被設置在所述AI模組之內的區塊結構化模組,針對於接收到的所述資料物件的每一個區塊來計算結果值,因而用於所述區塊的每一個的所述結果值根據和接收到的所述資料物件的所述區塊相關的所述反組譯值或所述解譯值、混淆值及鑑識值來加以產生; 利用被設置在所述AI模組之內的模型產生器模組,根據所述資料物件的所有的所述結果值來產生資料模型;以及 利用被設置在所述AI模組之內的AI威脅模組,利用人工智慧(AI)演算法來處理所述資料模型以判斷所述資料物件是否包含資料異常。
- 如請求項8之方法,其中針對於接收到的所述資料物件來產生所述混淆值的步驟包括以下步驟: 將所述資料物件劃分成為資料區塊;以及 對於每一個資料區塊來計算夏農熵值。
- 如請求項8或9的任一項之方法,其中針對於接收到的所述資料物件來產生鑑識值的步驟包括以下步驟: 將所述資料物件劃分成為資料區塊;以及 對於每一個資料區塊,利用頻率為基礎的相似性雜湊設計來計算相似性分數。
- 如請求項8之方法,其中針對於接收到的所述資料物件的每一個區塊產生所述結果值的步驟包括以下步驟: 針對於接收到的所述資料物件的每一個區塊來產生包括三個位元組的結果值,因而對於每一個區塊,所述方法: 根據所述資料物件的所述反組譯值或所述解譯值來設定所述結果值的第一位元組的最高有效位元(MSB)及第二MSB; 利用所述結果值的第二位元組來語法分析所述第一位元組的位元的剩餘部分,並且根據和所述區塊相關的所述混淆值來設定經語法分析的結果;以及 根據和所述區塊相關的所述鑑識值來設定第三位元組的值。
- 如請求項8之方法,其中根據所述資料物件的所有的所述結果值來產生資料模型的步驟包括以下步驟: 產生資料影像模型,因而在所述資料影像模型中的每一個像素和唯一結果值相關的,其中每一個唯一結果值在所述資料影像模型中藉由唯一影像來加以代表。
- 如請求項12之方法,其中被用來處理所述資料模型的所述AI演算法包括: 卷積神經網路(CNN)模型、深度神經網路(DNN)模型、或是遞迴神經網路(RNN)模型。
- 如請求項8之方法,其中利用所述人工智慧(AI)演算法來處理所述資料模型的步驟包括以下步驟: 比較所述資料模型與內含在資料庫之內的資料模型,其中所述比較是利用機器學習演算法來加以執行。
- 如請求項8之方法,其中所述數位簽名包括和所述資料物件相關的魔數(magic number)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SG10202002125Q | 2020-03-09 | ||
SG10202002125QA SG10202002125QA (en) | 2020-03-09 | 2020-03-09 | System and method for detecting data anomalies by analysing morphologies of known and/or unknown cybersecurity threats |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI720932B true TWI720932B (zh) | 2021-03-01 |
TW202134919A TW202134919A (zh) | 2021-09-16 |
Family
ID=72355657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109129559A TWI720932B (zh) | 2020-03-09 | 2020-08-28 | 用於藉由分析已知及/或未知網路安全威脅的形態來偵測資料異常的系統和方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US11082441B1 (zh) |
EP (1) | EP3899770B1 (zh) |
KR (1) | KR102323290B1 (zh) |
CN (1) | CN113632083B (zh) |
AU (1) | AU2020223632B2 (zh) |
SG (1) | SG10202002125QA (zh) |
TW (1) | TWI720932B (zh) |
WO (1) | WO2021183043A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI807645B (zh) * | 2021-05-20 | 2023-07-01 | 美商萬國商業機器公司 | 數位影像及其他資料陣列之簽名及認證 |
US20240022590A1 (en) * | 2022-07-14 | 2024-01-18 | Tenable, Inc. | Vulnerability scanning of a remote file system |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11711310B2 (en) | 2019-09-18 | 2023-07-25 | Tweenznet Ltd. | System and method for determining a network performance property in at least one network |
US11716338B2 (en) * | 2019-11-26 | 2023-08-01 | Tweenznet Ltd. | System and method for determining a file-access pattern and detecting ransomware attacks in at least one computer network |
US11792223B2 (en) * | 2020-06-29 | 2023-10-17 | Netapp, Inc. | Systems and methods for detecting malware attacks |
US11934667B1 (en) * | 2021-06-30 | 2024-03-19 | Amazon Technologies, Inc. | Encrypted-data-only media operations |
WO2023113772A1 (en) * | 2021-12-13 | 2023-06-22 | Hewlett-Packard Development Company, L.P. | Suspicious activity notifications via canary files |
US20230224275A1 (en) * | 2022-01-12 | 2023-07-13 | Bank Of America Corporation | Preemptive threat detection for an information system |
CN115374075B (zh) * | 2022-08-01 | 2023-09-01 | 北京明朝万达科技股份有限公司 | 一种文件类型识别方法及装置 |
WO2024065238A1 (en) * | 2022-09-28 | 2024-04-04 | Yu Wenfeng | Systems, methods, and media for protecting application programming interfaces |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140090061A1 (en) * | 2012-09-26 | 2014-03-27 | Northrop Grumman Systems Corporation | System and method for automated machine-learning, zero-day malware detection |
US20190260804A1 (en) * | 2018-02-20 | 2019-08-22 | Darktrace Limited | Secure communication platform for a cybersecurity system |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9087195B2 (en) * | 2009-07-10 | 2015-07-21 | Kaspersky Lab Zao | Systems and methods for detecting obfuscated malware |
CN101854404B (zh) * | 2010-06-04 | 2013-08-07 | 中国科学院计算机网络信息中心 | 检测域名系统异常的方法和装置 |
US11126720B2 (en) * | 2012-09-26 | 2021-09-21 | Bluvector, Inc. | System and method for automated machine-learning, zero-day malware detection |
US10713358B2 (en) * | 2013-03-15 | 2020-07-14 | Fireeye, Inc. | System and method to extract and utilize disassembly features to classify software intent |
US9465939B2 (en) * | 2014-06-27 | 2016-10-11 | Mcafee, Inc. | Mitigation of malware |
US20170068816A1 (en) * | 2015-09-04 | 2017-03-09 | University Of Delaware | Malware analysis and detection using graph-based characterization and machine learning |
US10491627B1 (en) * | 2016-09-29 | 2019-11-26 | Fireeye, Inc. | Advanced malware detection using similarity analysis |
US20180248896A1 (en) * | 2017-02-24 | 2018-08-30 | Zitovault Software, Inc. | System and method to prevent, detect, thwart, and recover automatically from ransomware cyber attacks, using behavioral analysis and machine learning |
KR102075715B1 (ko) * | 2018-05-29 | 2020-02-10 | 국방과학연구소 | 공격 주체 분류 장치 및 방법 |
US11574051B2 (en) * | 2018-08-02 | 2023-02-07 | Fortinet, Inc. | Malware identification using multiple artificial neural networks |
CN109522926A (zh) * | 2018-09-28 | 2019-03-26 | 南京航空航天大学 | 基于信息熵聚类的异常检测方法 |
-
2020
- 2020-03-09 SG SG10202002125QA patent/SG10202002125QA/en unknown
- 2020-06-11 US US16/946,245 patent/US11082441B1/en active Active
- 2020-07-30 AU AU2020223632A patent/AU2020223632B2/en active Active
- 2020-07-30 KR KR1020217002942A patent/KR102323290B1/ko active IP Right Grant
- 2020-07-30 CN CN202080002105.4A patent/CN113632083B/zh active Active
- 2020-07-30 WO PCT/SG2020/050441 patent/WO2021183043A1/en active Application Filing
- 2020-07-30 EP EP20753862.0A patent/EP3899770B1/en active Active
- 2020-08-28 TW TW109129559A patent/TWI720932B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140090061A1 (en) * | 2012-09-26 | 2014-03-27 | Northrop Grumman Systems Corporation | System and method for automated machine-learning, zero-day malware detection |
US20190260804A1 (en) * | 2018-02-20 | 2019-08-22 | Darktrace Limited | Secure communication platform for a cybersecurity system |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI807645B (zh) * | 2021-05-20 | 2023-07-01 | 美商萬國商業機器公司 | 數位影像及其他資料陣列之簽名及認證 |
US11720991B2 (en) | 2021-05-20 | 2023-08-08 | International Business Machines Corporation | Signing and authentication of digital images and other data arrays |
US20240022590A1 (en) * | 2022-07-14 | 2024-01-18 | Tenable, Inc. | Vulnerability scanning of a remote file system |
Also Published As
Publication number | Publication date |
---|---|
US11082441B1 (en) | 2021-08-03 |
EP3899770A1 (en) | 2021-10-27 |
EP3899770A4 (en) | 2021-12-08 |
CN113632083B (zh) | 2022-09-13 |
AU2020223632A1 (en) | 2021-09-23 |
KR20210114916A (ko) | 2021-09-24 |
CN113632083A (zh) | 2021-11-09 |
WO2021183043A1 (en) | 2021-09-16 |
KR102323290B1 (ko) | 2021-11-05 |
AU2020223632B2 (en) | 2021-10-21 |
TW202134919A (zh) | 2021-09-16 |
SG10202002125QA (en) | 2020-07-29 |
EP3899770B1 (en) | 2022-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI720932B (zh) | 用於藉由分析已知及/或未知網路安全威脅的形態來偵測資料異常的系統和方法 | |
Chen et al. | Tinydroid: a lightweight and efficient model for android malware detection and classification | |
US9953162B2 (en) | Rapid malware inspection of mobile applications | |
RU2634178C1 (ru) | Способ обнаружения вредоносных составных файлов | |
US8479296B2 (en) | System and method for detecting unknown malware | |
US10997307B1 (en) | System and method for clustering files and assigning a property based on clustering | |
EP2788912B1 (en) | Predictive heap overflow protection | |
US9111094B2 (en) | Malware detection | |
US20070152854A1 (en) | Forgery detection using entropy modeling | |
US10216934B2 (en) | Inferential exploit attempt detection | |
US11288368B1 (en) | Signature generation | |
US11275835B2 (en) | Method of speeding up a full antivirus scan of files on a mobile device | |
US8448243B1 (en) | Systems and methods for detecting unknown malware in an executable file | |
Darus et al. | Android malware classification using XGBoost on data image pattern | |
US11916937B2 (en) | System and method for information gain for malware detection | |
CA3125101A1 (en) | System and method for detecting data anomalies by analysing morphologies of known and/or unknown cybersecurity threats | |
Mishra | Improving Speed of Virus Scanning-Applying TRIZ to Improve Anti-Virus Programs | |
JP7092939B2 (ja) | 既知及び/又は未知のサイバーセキュリティ脅威の形態素解析によりデータ異常を検出するシステム及び方法 | |
CN115310082A (zh) | 信息处理方法、装置、电子设备及存储介质 | |
RU2628922C1 (ru) | Способ определения похожести составных файлов | |
NZ767245B2 (en) | System and method for detecting data anomalies by analysing morphologies of known and/or unknown cybersecurity threats | |
RU2659739C1 (ru) | Способ контроля доступа к составным файлам | |
Gibert Llauradó et al. | Fusing feature engineering and deep learning: A case study for malware classification | |
CN113553231A (zh) | 一种基于安全芯片的嵌入式操作系统运行环境监控方法 | |
BR102014026608A2 (pt) | método para comparar arquivos binários |