TWI647586B - 行為推論模型生成裝置及其行為推論模型生成方法 - Google Patents
行為推論模型生成裝置及其行為推論模型生成方法 Download PDFInfo
- Publication number
- TWI647586B TWI647586B TW106143547A TW106143547A TWI647586B TW I647586 B TWI647586 B TW I647586B TW 106143547 A TW106143547 A TW 106143547A TW 106143547 A TW106143547 A TW 106143547A TW I647586 B TWI647586 B TW I647586B
- Authority
- TW
- Taiwan
- Prior art keywords
- program operation
- model
- operation sequence
- word
- sequence data
- Prior art date
Links
Landscapes
- Storage Device Security (AREA)
Abstract
一種行為推論模型生成裝置及其行為推論模型生成方法。行為推論模型生成裝置利用詞嵌入模型將複數程式操作序列資料之複數程式操作序列轉換成複數詞向量,並將各程式操作序列資料所對應之詞向量中之前M個詞向量輸入至生成式對抗網路模型,以訓練並最佳化生成式對抗網路模型。行為推論模型生成裝置整合詞嵌入模型及最佳化之生成式對抗網路模型之產生器,生成行為推論模型。
Description
本發明係關於行為推論模型生成裝置及其行為推論模型生成方法。具體而言,本發明之行為推論模型生成裝置基於詞嵌入模型及最佳化後之生成式對抗網路模型之產生器,生成行為推論模型。
隨著科技的發展,使用者可自網路獲得的應用程式也越來越多樣化,某些應用程式於執行時可能會破壞使用者的電腦系統,造成電腦中的檔案被損毀或使用者的個人資訊被竊取。
目前惡意程式的偵測機制主要是利用規則式特徵比對,來判斷應用程式是否為惡意程式,並抵禦這些惡意程式的攻擊。然而,規則式特徵比對的偵測機制僅基於已知樣本特徵進行偵測,且需在應用程式執行過程中擷取到一定數量的特徵才有機會判斷出目前被執行之應用程式是否為惡意程式。在此情況下,當惡意程式被偵測到時,此惡意程式可能已經造成電腦中的檔案被損毀或使用者的個人資訊被竊取。
有鑑於此,如何建立一種行為推論模型,其在應用程式被執行的初期,即可準確地推論後續的程式操作,以確實地預防電腦中的檔案被損毀或使用者的個人資訊被竊取,乃是業界亟待解決的問題。
本發明之目的在於提供一種行為推論模型,其在應用程式被執行的初期,即可準確地推論後續的程式操作,以確實地預防電腦中的檔案被損毀或使用者的個人資訊被竊取。
為達上述目的,本發明揭露一種行為推論模型生成裝置,其包含一儲存器及一處理器。該儲存器用以儲存複數程式操作序列資料。各該程式操作序列資料記載複數程式操作序列。該處理器電性連接至該儲存器,並用以執行下列步驟:(a)透過一詞嵌入(word embedding)模型,將各該程式操作序列資料之該等程式操作序列轉換成複數詞向量;(b)針對各該程式操作序列資料,擷取該等詞向量之前M個詞向量作為一生成式對抗網路(Generative Adversarial Network;GAN)模型之M個輸入向量,M為一正整數;(c)針對各該程式操作序列資料,經由該GAN模型之一產生器(generator)運算該M個輸入向量,以產生複數推論詞向量;(d)針對各該程式操作序列資料,經由該GAN模型之一判別器(discriminator),對該等詞向量及該等推論詞向量進行一真偽判別;(e)將該真偽判別之一判別結果回饋至該產生器,以調整該產生器之一參數設定;(f)重複該步驟(c)至該步驟(e),訓練該GAN模型,以最佳化該GAN模型;以及(g)整合該詞嵌入模型及最佳化之該GAN模型之該產生器,生成一行為推論模型。
此外,本發明更揭露一種用於一行為推論模型生成裝置之行為推論模型生成方法。該行為推論模型生成裝置包含一儲存器及一處理器。該儲存器儲存複數程式操作序列資料。各該程式操作序列資料記載複數程式操作序列。該行為推論模型生成方法由該處理器執行且包含下列步驟:(a)
透過一詞嵌入模型,將各該程式操作序列資料之該等程式操作序列轉換成複數詞向量;(b)針對各該程式操作序列資料,擷取該等詞向量之前M個詞向量作為一生成式對抗網路(GAN)模型之M個輸入向量,M為一正整數;(c)針對各該程式操作序列資料,經由該GAN模型之一產生器運算該M個輸入向量,以產生複數推論詞向量;(d)針對各該程式操作序列資料,經由該GAN模型之一判別器,對該等詞向量及該等推論詞向量進行一真偽判別;(e)將該真偽判別之一判別結果回饋至該產生器,以調整該產生器之一參數設定;(f)重複該步驟(c)至該步驟(e),訓練該GAN模型,以最佳化該GAN模型;以及(g)整合該詞嵌入模型及最佳化之該GAN模型之該產生器,生成一行為推論模型。
在參閱圖式及隨後描述之實施方式後,此技術領域具有通常知識者便可瞭解本發明之其他目的,以及本發明之技術手段及實施態樣。
1‧‧‧行為推論模型生成裝置
11‧‧‧儲存器
13‧‧‧處理器
POSD‧‧‧程式操作序列資料
GM‧‧‧生成式對抗網路模型
GR‧‧‧產生器
DR‧‧‧判別器
IWV‧‧‧輸入向量
PWV‧‧‧推論詞向量
RT‧‧‧判別結果
WVD‧‧‧詞向量分布空間
G1-G4‧‧‧詞向量群組
V1-V11‧‧‧詞向量
S601-S613‧‧‧步驟
S701-S707‧‧‧步驟
第1圖係本發明之行為推論模型生成裝置1之示意圖;第2圖係一生成式對抗網路之示意圖;第3圖係一程式操作序列資料之示意圖;第4圖係描繪各詞向量於一二維空間中之分布;第5圖係描繪分群後之各詞向量群組;第6圖係本發明之行為推論模型生成方法之流程圖;以及第7圖係本發明之行為推論模型生成方法中生成異常行為偵測模型之流程圖。
以下將透過實施例來解釋本發明內容,本發明的實施例並非用以限制本發明須在如實施例所述之任何特定的環境、應用或特殊方式方能實施。因此,關於實施例之說明僅為闡釋本發明之目的,而非用以限制本發明。需說明者,以下實施例及圖式中,與本發明非直接相關之元件已省略而未繪示,且圖式中各元件間之尺寸關係僅為求容易瞭解,並非用以限制實際比例。
本發明第一實施例如第1-3圖所示。第1圖係本發明之行為推論模型生成裝置1之示意圖。行為推論模型生成裝置1包含一儲存器11及一處理器13。處理器13電性連接至儲存器11。儲存器11用以儲存複數程式操作序列資料POSD。各程式操作序列資料POSD記載複數程式操作序列。舉例而言,該等程式操作序列可為一動態程式操作序列,例如:一應用程式介面(Application Programming Interface;API)序列、一系統呼叫(System Call)序列,但不限於此。
處理器13透過一詞嵌入(word embedding)模型,將各程式操作序列資料POSD之該等程式操作序列轉換成複數詞向量WV。詞嵌入(word embedding)模型可例如為一詞至向量(Word2Vec)模型或一獨熱編碼(One-Hot Encoding)模型。隨後,如第2圖所示,針對各程式操作序列資料POSD,處理器13擷取該等詞向量WV之前M個詞向量作為一生成式對抗網路(Generative Adversarial Network;GAN)模型GM之M個輸入向量IWV,其中M為一正整數。須說明者,M的數值可由開發者基於動態程式操作序列的類型所設定,以決定輸入至GAN模型GM作為推論基礎的詞向量個數。
舉例而言,以API序列作為說明,處理器13可透過一追蹤程式擷取一正在執行的應用程式之100個API序列,並將其儲存為一程式操作序列資料POSD,如第3圖所示。須說明者,基於版面的限制,第3圖中所顯示之API序列僅為程式操作序列資料POSD中的一部分。隨後,如同前述,針對各程式操作序列資料POSD,處理器13透過詞嵌入模型將程式操作序列資料POSD中的100個API序列轉換成100詞向量WV。接著,針對各程式操作序列資料POSD,處理器13將100詞向量WV中的前20個詞向量作為GAN模型GM之輸入向量IWV。
請參考第2圖,處理器13針對各程式操作序列資料POSD,經由GAN模型GM之一產生器(generator)GR運算該M個輸入向量IWV,以產生複數推論詞向量PWV。推論詞向量PWV的數量係與詞向量WV的數量相同(例如:100個),然而,此數量同樣地可由開發者基於動態程式操作序列的類型所設定。處理器13針對各程式操作序列資料POSD,經由GAN模型GM之一判別器(discriminator)DR,對該等詞向量WV及該等推論詞向量PWV進行一真偽判別,並將真偽判別之一判別結果RT回饋至產生器GR,以調整產生器GR之一參數設定。
於調整產生器GR之參數設定後,針對各程式操作序列資料POSD,處理器13會重新再次對輸入向量IWV進行運算,以產生新的推論詞向量PWV,並再次經由判別器DR,進行真偽判別及回饋判別結果RT至產生器GR。處理器13藉由重複執行前述步驟(即,產生推論詞向量PWV、進行真偽判別、回饋判別結果RT及調整產生器GR之參數設定)來訓練GAN模型GM,以最佳化GAN模型GM,最後再整合詞嵌入模型及最佳化之GAN模型
GM之產生器GR,生成行為推論模型。
基於前述說明,所屬技術領域中具有通常知識者可瞭解,通常產生器GR於調整參數設定後所產生之推論詞向量PWV(即,仿真詞向量)與詞向量WV(即,真實詞向量)之相似度會越來越高,而判別器DR亦會根據產生器GR所產生之推論詞向量PWV及判別結果RT調整進行真偽判別之相關參數的設定。因此,藉由產生器GR與判別器DR相互競爭對抗,最後使得判別器DR難以分辨出推論詞向量PWV與各程式操作序列資料POSD之詞向量WV間之真偽時,代表GAN模型GM已完成最佳化訓練。
舉例而言,最佳化產生器GR之目標函數可表示如以下公式:
其中,m表示程式操作序列資料POSD之總數量,z表示M個輸入向量IWV,G(z)表示產生器GR所產生之該等推論詞向量PWV,D(G(z))表示判別器DR將該等推論詞向量PWV判斷為真的機率。
此外,最佳化判別器GR之目標函數可表示如以下公式:
其中,m表示程式操作序列資料POSD之總數量,X表示對應各程式操作序列資料POSD之該等詞向量WV,D(X)表示判別器DR將該等詞向量WV判斷為真的機率,z表示M個輸入向量IWV,G(z)表示產生器GR所產生之該等推論詞向量PWV,D(G(z))表示判別器DR將該等推論詞向量PWV判斷為真的機率。
不同於習知技術中的GAN模型係隨機產生向量輸入至產生
器GR,本發明係將各程式操作序列資料POSD的前M個詞向量輸入至GAN模型之產生器GR,故本發明所訓練之GAN模型可作為行為推論之用途,以預測尚未產生的程式操作序列。由於所屬技術領域中具有通常知識者基於前述說明可瞭解訓練GAN模型之細節操作,故在此不再加以贅述。
如先前所述,本發明所擷取的該等程式操作序列可為動態程式操作序列,因此所屬技術領域中具有通常知識者可瞭解,藉由追蹤程式所擷取的程式操作序列或藉由作業系統本身監控被執行的程式而記錄的程式操作序列皆可經由本發明生成特定程式操作序列的行為推論模型。換言之,本發明生成行為推論模型的方式,適用於任何終端設備執行程式時所產生之程式操作序列。舉例而言,該等程式操作序列資料POSD中可包含複數異常程式操作序列資料,且各異常程式操作序列資料與一惡意程式相關聯。再舉例而言,該等程式操作序列資料POSD可為作業系統監控被執行的程式所產生之記錄檔。
此外,本發明所生成之行為推論模型可被編譯成一可執行程式,運作於一作業系統中,並搭配一異常行為偵測程式使用。據此,本發明之行為推論模型可在程式執行的初期,基於前幾個程式操作序列而推論後續的程式操作序列,並將推論出的程式操作序列供異常行為偵測程式判斷是否為異常行為。舉例而言,異常行為偵測程式可為一防毒程式,本發明之行為推論模型可推論出一剛被執行程式的程式操作序列,並將其提供給防毒程式以判斷此程式是否為惡意程式。
本發明第二實施例請參考第3-5圖。第二實施例為第一實施例之延伸。於本實施例中,儲存器11更儲存複數行為標籤(圖未繪示),以
及各程式操作序列資料POSD對應至該等行為標籤其中之一。該等行為標籤例如可為一正常行為標籤、一異常行為標籤等,但不限於此。於一實施例中,該等程式操作序列資料POSD中包含複數異常程式操作序列資料,且各異常程式操作序列資料與一惡意程式相關聯。在此情況下,該等行為標籤可更包含一惡意廣告(Adware)程式、一蠕蟲(Worm)程式、一木馬(Trojan)程式等,但不限於此。
如第一實施例所述,處理器13透過詞嵌入模型將各程式操作序列資料POSD之該等程式操作序列轉換成複數詞向量WV。於本實施例中,處理器13更基於一分群演算法,將該等程式操作序列資料POSD之該等詞向量WV分群為複數詞向量群組,並將各程式操作序列資料POSD之該等程式操作序列分別與各詞向量群組所包含之至少一該等詞向量所對應之至少一該等程式操作序列進行一比對,以產生各程式操作序列資料POSD之一特徵向量。
舉例而言,以API序列作為說明,該等程式操作序列可包含:「GetSystemInfo」、「GetFileSize」、「GetSystemDirectoryW」、「GetSystemMetrics」、「RegQueryValueExA」、「RegOpenKeyExA」、「LdrLoadDll」、「NtCreatFile」、「NtReadfile」、「NtC1ose」、「NtOpenDirectoryObject」。處理器13透過詞嵌入模型對該等程式操作序列進行運算,並產生對應各程式操作序列之詞向量V1-V11。在此假設詞向量V1對應至「GetSystemInfo」,詞向量V2對應至「GetFileSize」,詞向量V3對應至「GetSystemDirectoryW」,詞向量V4對應至「GetSystemMetrics」,詞向量V5對應至「RegQueryValueExA」,詞向量V6對應至「RegOpenKeyExA」,
詞向量V7對應至「LdrLoadDll」,詞向量V8對應至「NtCreatFile」,詞向量V9對應至「NtReadfile」,詞向量V10對應至「NtClose」,詞向量V11對應至「NtOpenDirectoryObject」。
第4圖係將詞向量V1-V11於一詞向量分布空間WVD中表示之示意圖。須說明者,為簡化說明,本實施例中詞向量分布空間WVD係以二維空間來表示詞向量的分布。然而,於實際操作上,基於程式操作序列資料的類型,開發者可自行決定詞向量分布空間WVD之維度。由於所屬技術領域中具有通常知識者可瞭解如何設定輸出之空間維度,故在此不再加以贅述。
於詞向量分布空間WVD中,位置較接近之詞向量具有類似的詞性或語意。因此,本發明係基於非監督式學習之一分群演算法將這些詞向量進行分群,以作為後續擷取各程式操作序列資料POSD之特徵的依據。於本發明中,分群演算法可為一吸引子傳播(Affinity Propagation;AP)分群演算法、一譜(Spectral)分群演算法、一模糊平均數(Fuzzy C-means;FCM)分群演算法、一反覆自我組織分析技術(Iterative Self-Organizing Data Analysis Technique Algorithm;ISODATA)分群演算法、一K平均值(K-means)分群演算法、一完整連結(Complete-linkage;CL)分群演算法、一單一連結(Single-Linkage;SL)分群演算法及一華德法(Ward’s method)分群演算法其中之一,但不限於此。
舉例而言,處理器13基於AP分群演算法,將該等詞向量分群為四個詞向量群組G1-G4,如第5圖所示。詞向量群組G1包含詞向量V1-V4,詞向量群組G2包含詞向量V5-V6,詞向量群組G3包含詞向量V7,詞向
量群組G4包含詞向量V8-V11。須說明者,詞向量群組之數量可由開發者自行設定分群演算法之參數決定(例如:直接設定所需群組之數量,或設定分群演算法執行的迭代次數)。由於所屬技術領域中具有通常知識者可瞭解如何基於分群演算法進行分群的詳細操作,故在此不再加以贅述。
於獲得該等詞向量群組後,處理器13將各程式操作序列資料POSD之該等程式操作序列分別與各詞向量群組所包含之至少一該等詞向量所對應之至少一該等程式操作序列進行一比對,以產生各程式操作序列資料POSD之一特徵向量。舉例而言,假設一程式操作序列資料POSD中存在對應至詞向量V2、詞向量V6、詞向量V8及詞向量V11之程式操作序列,則表示此程式操作序列資料POSD對應詞向量群組G1之特徵值為1,對應詞向量群組G2之特徵值為1,對應詞向量群組G3之特徵值為0,以及對應詞向量群組G4之特徵值為2,故此程式操作序列資料POSD之特徵向量為(1,1,0,2)。再舉例而言,假設另一程式操作序列資料POSD中存在對應至詞向量V1、詞向量V2、詞向量V4、詞向量V5、詞向量V7、詞向量V9、詞向量V10之程式操作序列,則表示此另一程式操作序列資料POSD對應詞向量群組G1之特徵值為3,對應詞向量群組G2之特徵值為1,對應詞向量群組G3之特徵值為1,以及對應詞向量群組G4之特徵值為2,故此另一程式操作序列資料POSD之特徵向量為(3,1,1,2)。
須說明者,前述產生特徵向量所進行之比對係基於程式操作序列資料POSD中是否存在各詞向量群組所包含之至少一該等詞向量所對應之至少一該等程式操作序列來實現;然而,於其他實施例中,產生特徵向量所進行之比對亦可基於程式操作序列資料POSD中存在各詞向量群組所
包含之至少一該等詞向量所對應之至少一該等程式操作序列的數量來實現。舉例而言,假設一程式操作序列資料POSD中存在5個對應至詞向量V2之程式操作序列、3個對應至詞向量V6之程式操作序列、1個對應至詞向量V8之程式操作序列及3個對應至詞向量V11之程式操作序列,則表示此程式操作序列資料POSD對應詞向量群組G1之特徵值為5,對應詞向量群組G2之特徵值為3,對應詞向量群組G3之特徵值為。,以及對應詞向量群組G4之特徵值為4,故此程式操作序列資料POSD之特徵向量為(5,3,0,4)。
於產生各程式操作序列資料POSD之特徵向量後,處理器13基於該等特徵向量及該等行為標籤,進行一分類演算法之一監督式學習,以生成一分類器。分類器係用以將該等特徵向量分類以對應至該等行為標籤。舉例而言,分類演算法可為一支援向量機(support vector machine;SVM)演算法、一決策樹(Decision Tree;DT)演算法、一貝氏(Bayes)演算法及一鄰近(Nearest Neighbors;NN)演算法其中之一,但不限於此。
前述之監督式學習係為了使該等特徵向量經由分類演算法運算後可確實地被分類至適當的類別,以對應至該等行為標籤,例如:對應至惡意廣告程式標籤之該等程式操作序列資料POSD可確實地被歸類至同一類別,對應至蠕蟲程式標籤之該等程式操作序列資料POSD可確實地被歸類至同一類別,對應至木馬程式標籤之該等程式操作序列資料POSD可確實地被歸類至同一類別,以及對應至正常行為標籤之該等程式操作序列資料POSD可確實地被歸類至同一類別。
最後,處理器13基於該等詞向量群組及分類器,生成異常行為偵測模型。因此,處理器13可更整合異常行為偵測模型、詞嵌入模型及最
佳化之GAN模型之產生器GR,以生成行為推論模型。如此一來,本發明所生成之行為推論模型不但可在程式執行的初期,基於前幾個程式操作序列的詞向量推論尚未產生的程式操作序列的詞向量,以預測尚未發生的程式操作,並基於推論出的該等詞向量所對應之該等程式操作序列,偵測異常行為,以確實地預防電腦中的檔案被惡意程式損毀或使用者的個人資訊被竊取。
於其他實施例中,處理器13於生成異常行為偵測模型後,可利用複數測試程式操作序列資料對異常行為偵測模型進行測試,並根據一偵測率(Detection Rate),判斷異常行為偵測模型辨識該等測試程式操作序列資料之準確度,以供開發者基於準確度,調整前述詞嵌入模型、分群演算法及分類演算法之相關參數設定,重新進行前述訓練生成異常行為偵測模型之操作。據此,本發明經由前述操作可針對不同類型的程式操作序列資料,生成不同的異常行為偵測模型,以達到偵測各種動態程式操作序列的異常行為。類似地,本發明所生成之行為推論模型可被編譯成一可執行程式,運作於一作業系統中,以提供該作業系統偵測異常行為(例如:偵測惡意程式、偵測非法操作等)。
本發明第三實施例請參考第6圖,其係本發明之行為推論模型生成方法之流程圖。行為推論模型生成方法適用於一行為推論模型生成裝置(例如:前述實施例之行為推論模型生成裝置1)。行為推論模型生成裝置包含一儲存器及一處理器。儲存器儲存複數程式操作序列資料。各程式操作序列資料記載複數程式操作序列。行為推論模型生成方法由處理器執行。
首先,於步驟S601中,透過一詞嵌入模型,將各程式操作序
列資料之該等程式操作序列轉換成複數詞向量(例如:第2圖所示之詞向量WV)。接著,於步驟S603中,針對各程式操作序列資料,擷取該等詞向量之前M個詞向量作為一生成式對抗網路(GAN)模型之M個輸入向量(例如:第2圖所示之輸入向量IWV),其中M為一正整數。
於步驟S605中,針對各程式操作序列資料,經由GAN模型之一產生器運算該M個輸入向量,以產生複數推論詞向量(例如:第2圖所示之推論詞向量PWV)。隨後,於步驟S607中,針對各程式操作序列資料,經由GAN模型之一判別器,對該等詞向量及該等推論詞向量進行一真偽判別。之後,於步驟S609中,將真偽判別之一判別結果回饋至產生器,以調整產生器之一參數設定。
於步驟S611中,重複步驟S605至步驟S609,訓練GAN模型,以最佳化GAN模型。如第一實施例所述,產生器及判別器分別會於接收判別結果及重新產生之推論詞向量後調整相關參數之設定。最後,於步驟S613中,整合詞嵌入模型及最佳化之GAN模型之產生器,生成行為推論模型。
於其他實施例中,該等程式操作序列係一動態程式操作序列,其係為一應用程式介面序列或一系統呼叫序列。於一實施例中,動態程式操作序列係透過一追蹤程式擷取。於其他實施例中,詞嵌入模型係一詞至向量模型及一獨熱編碼模型其中之一。
除了上述步驟,本實施例之行為推論模型生成方法亦能執行在前述實施例中所闡述之所有操作並具有所有對應之功能。所屬技術領域具有通常知識者可直接瞭解此實施例如何基於前述實施例執行此等操作及具有該等功能,故不贅述。
本發明第四實施例請參考第7圖,其為第三實施例之延伸。於本實施例中,步驟S613更包含:整合一異常行為偵測模型、該詞嵌入模型及最佳化之GAN模型之產生器,以生成行為推論模型。第7圖係本發明生成異常行為偵測模型之一流程圖。
於步驟S701中,基於一分群演算法,將該等程式操作序列資料之該等詞向量分群為複數詞向量群組。接著,於步驟S703中,將各程式操作序列資料之該等程式操作序列分別與各詞向量群組所包含之至少一該等詞向量所對應之至少一該等程式操作序列進行一比對,以產生各程式操作序列資料之一特徵向量。
於步驟S705中,基於該等特徵向量及該等行為標籤,進行一分類演算法之一監督式學習,以生成一分類器。分類器係用以將該等特徵向量分類以對應至該等行為標籤。最後,於步驟S707中,基於該等詞向量群組及分類器,生成異常行為偵測模型。
於其他實施例中,分群演算法係一吸引子傳播(Affinity Propagation;AP)分群演算法、一譜(Spectral)分群演算法、一模糊平均數(Fuzzy C-means;FCM)分群演算法、一反覆自我組織分析技術(Iterative Self-Organizing Data Analysis Technique Algorithm;ISODATA)分群演算法、一K平均值(K-means)分群演算法、一完整連結(Complete-linkage;CL)分群演算法、一單一連結(Single-Linkage;SL)分群演算法及一華德法(Ward’s method)分群演算法其中之一,以及該分類演算法係一支援向量機(support vector machine;SVM)演算法、一決策樹(Decision Tree;DT)演算法、一貝氏(Bayes)演算法及一鄰近(Nearest Neighbors;NN)演算
法其中之一。
除了上述步驟,本實施例之行為推論模型生成方法亦能執行在前述實施例中所闡述之所有操作並具有所有對應之功能。所屬技術領域具有通常知識者可直接瞭解此實施例如何基於前述實施例執行此等操作及具有該等功能,故不贅述。
此外,前述本發明之行為推論模型生成方法可藉由一電腦程式產品實現。電腦程式產品,儲存有包含複數個程式指令之一電腦程式,在所述電腦程式被載入並安裝於一電子計算裝置(例如:行為推論模型生成裝置1)之後,電子計算裝置之處理器執行所述電腦程式所包含之該等程式指令,以執行本發明之行為推論模型生成方法。電腦程式產品可為,例如:一唯讀記憶體(read only memory;ROM)、一快閃記憶體、一軟碟、一硬碟、一光碟(compact disk;CD)、一隨身碟、一磁帶、一可由網路存取之資料庫或本發明所屬技術領域中具有通常知識者所知且具有相同功能之任何其他儲存媒體。
綜上所述,本發明透過詞嵌入模型將程式操作序列資料轉換成複數詞向量後,將該等詞向量之前M個詞向量輸入至生成式對抗網路模型之產生器,以產生複數推論詞向量,再透過生成式對抗網路模型之判別器進行真偽判別,並將判別結果回饋至產生器,使得產生器可根據判別結果調整參數設定。據此,藉由判別器重複地對推論詞向量及真實詞向量進行真偽判別結果,並回饋真偽判別結果至產生器,使得產生器可調整參數設定,並產生與真實詞向量更相似之推論詞向量,本發明之行為推論模型可在應用程式被執行的初期,即可準確地推論後續的程式操作序列,以確實地預防電腦
中的檔案被損毀或使用者的個人資訊被竊取。
上述之實施例僅用來例舉本發明之實施態樣,以及闡釋本發明之技術特徵,並非用來限制本發明之保護範疇。任何熟悉此技術者可輕易完成之改變或均等性之安排均屬於本發明所主張之範圍,本發明之權利保護範圍應以申請專利範圍為準。
Claims (20)
- 一種行為推論模型生成裝置,包含:一儲存器,用以儲存複數程式操作序列資料,各該程式操作序列資料記載複數程式操作序列;以及一處理器,電性連接至該儲存器,並用以執行下列步驟:(a)透過一詞嵌入(word embedding)模型,將各該程式操作序列資料之該等程式操作序列轉換成複數詞向量,(b)針對各該程式操作序列資料,擷取該等詞向量之前M個詞向量作為一生成式對抗網路(Generative Adversarial Network;GAN)模型之M個輸入向量,M為一正整數;(c)針對各該程式操作序列資料,經由該GAN模型之一產生器(generator)運算該M個輸入向量,以產生複數推論詞向量;(d)針對各該程式操作序列資料,經由該GAN模型之一判別器(discriminator),對該等詞向量及該等推論詞向量進行一真偽判別;(e)將該真偽判別之一判別結果回饋至該產生器,以調整該產生器之一參數設定;(f)重複該步驟(c)至該步驟(e),訓練該GAN模型,以最佳化該GAN模型;以及(g)整合該詞嵌入模型及最佳化之該GAN模型之該產生器,生成一行為推論模型。
- 如請求項1所述之行為推論模型生成裝置,其中該等程式操作序列係一動態程式操作序列。
- 如請求項2所述之行為推論模型生成裝置,其中該動態程式操作序列為一應用程式介面(Application Programming Interface;API)序列。
- 如請求項2所述之行為推論模型生成裝置,其中該動態程式操作序列為一系統呼叫(System Call)序列。
- 如請求項2所述之行為推論模型生成裝置,其中該動態程式操作序列係透過一追蹤程式擷取。
- 如請求項1所述之行為推論模型生成裝置,其中該詞嵌入模型係一詞至向量(Word2Vec)模型及一獨熱編碼(One-Hot Encoding)模型其中之一。
- 如請求項1所述之行為推論模型生成裝置,其中該等程式操作序列資料中包含複數異常程式操作序列資料,以及各該異常程式操作序列資料與一惡意程式相關聯。
- 如請求項1所述之行為推論模型生成裝置,其中該處理器更整合一異常行為偵測模型、該詞嵌入模型及最佳化之該GAN模型之該產生器,以生成該行為推論模型。
- 如請求項8所述之行為推論模型生成裝置,其中該儲存器更儲存複數行為標籤,各該程式操作序列資料對應至該等行為標籤其中之一,以及該處理器更執行下列步驟:基於一分群演算法,將該等程式操作序列資料之該等詞向量分群為複數詞向量群組;將各該程式操作序列資料之該等程式操作序列分別與各該詞向量群組所包含之至少一該等詞向量所對應之至少一該等程式操作序列進行一比對,以產生各該程式操作序列資料之一特徵向量; 基於該等特徵向量及該等行為標籤,進行一分類演算法之一監督式學習,以生成一分類器,該分類器係用以將該等特徵向量分類以對應至該等行為標籤;以及基於該等詞向量群組及該分類器,生成該異常行為偵測模型。
- 如請求項9所述之行為推論模型生成裝置,其中該分群演算法係一吸引子傳播(Affinity Propagation;AP)分群演算法、一譜(Spectral)分群演算法、一模糊平均數(Fuzzy C-means;FCM)分群演算法、一反覆自我組織分析技術(Iterative Self-Organizing Data Analysis Technique Algorithm;ISODATA)分群演算法、一K平均值(K-means)分群演算法、一完整連結(Complete-linkage;CL)分群演算法、一單一連結(Single-Linkage;SL)分群演算法及一華德法(Ward’s method)分群演算法其中之一,以及該分類演算法係一支援向量機(support vector machine;SVM)演算法、一決策樹(Decision Tree;DT)演算法、一貝氏(Bayes)演算法及一鄰近(Nearest Neighbors;NN)演算法其中之一。
- 一種用於一行為推論模型生成裝置之行為推論模型生成方法,該行為推論模型生成裝置包含一儲存器及一處理器,該儲存器儲存複數程式操作序列資料,各該程式操作序列資料記載複數程式操作序列,該行為推論模型生成方法由該處理器執行且包含下列步驟:(a)透過一詞嵌入(word embedding)模型,將各該程式操作序列資料之該等程式操作序列轉換成複數詞向量,(b)針對各該程式操作序列資料,擷取該等詞向量之前M個詞向量作為一生成式對抗網路(Generative Adversarial Network;GAN)模型之M 個輸入向量,M為一正整數;(c)針對各該程式操作序列資料,經由該GAN模型之一產生器(generator)運算該M個輸入向量,以產生複數推論詞向量;(d)針對各該程式操作序列資料,經由該GAN模型之一判別器(discriminator),對該等詞向量及該等推論詞向量進行一真偽判別;(e)將該真偽判別之一判別結果回饋至該產生器,以調整該產生器之一參數設定;(f)重複該步驟(c)至該步驟(e),訓練該GAN模型,以最佳化該GAN模型;以及(g)整合該詞嵌入模型及最佳化之該GAN模型之該產生器,生成一行為推論模型。
- 如請求項11所述之行為推論模型生成方法,其中該等程式操作序列係一動態程式操作序列。
- 如請求項12所述之行為推論模型生成方法,其中該動態程式操作序列為一應用程式介面(Application Programming Interface;API)序列。
- 如請求項12所述之行為推論模型生成方法,其中該動態程式操作序列為一系統呼叫(System Call)序列。
- 如請求項12所述之行為推論模型生成方法,其中該動態程式操作序列係透過一追蹤程式擷取。
- 如請求項11所述之行為推論模型生成方法,其中該詞嵌入模型係一詞至向量(Word2Vec)模型及一獨熱編碼(One-Hot Encoding)模型其中之一。
- 如請求項11所述之行為推論模型生成方法,其中該等程式操作序列資料 中包含複數異常程式操作序列資料,以及各該異常程式操作序列資料與一惡意程式相關聯。
- 如請求項11所述之行為推論模型生成方法,其中該步驟(g)更包含以下步驟:整合一異常行為偵測模型、該詞嵌入模型及最佳化之該GAN模型之該產生器,以生成該行為推論模型。
- 如請求項18所述之行為推論模型生成方法,其中該儲存器更儲存複數行為標籤,各該程式操作序列資料對應至該等行為標籤其中之一,以及該行為推論模型生成方法更包含下列步驟:基於一分群演算法,將該等程式操作序列資料之該等詞向量分群為複數詞向量群組;將各該程式操作序列資料之該等程式操作序列分別與各該詞向量群組所包含之至少一該等詞向量所對應之至少一該等程式操作序列進行一比對,以產生各該程式操作序列資料之一特徵向量;基於該等特徵向量及該等行為標籤,進行一分類演算法之一監督式學習,以生成一分類器,該分類器係用以將該等特徵向量分類以對應至該等行為標籤;以及基於該等詞向量群組及該分類器,生成該異常行為偵測模型。
- 如請求項19所述之行為推論模型生成方法,其中該分群演算法係一吸引子傳播(Affinity Propagation;AP)分群演算法、一譜(Spectral)分群演算法、一模糊平均數(Fuzzy C-means;FCM)分群演算法、一反覆自我組織分析技術(Iterative Self-Organizing Data Analysis Technique Algorithm;ISODATA)分群演算法、一K平均值(K-means)分群演算法、一完整連結(Complete-linkage;CL)分群演算法、一單一連結(Single-Linkage;SL)分群演算法及一華德法(Ward’s method)分群演算法其中之一,以及該分類演算法係一支援向量機(support vector machine;SVM)演算法、一決策樹(Decision Tree;DT)演算法、一貝氏(Bayes)演算法及一鄰近(Nearest Neighbors;NN)演算法其中之一。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106143547A TWI647586B (zh) | 2017-12-12 | 2017-12-12 | 行為推論模型生成裝置及其行為推論模型生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106143547A TWI647586B (zh) | 2017-12-12 | 2017-12-12 | 行為推論模型生成裝置及其行為推論模型生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI647586B true TWI647586B (zh) | 2019-01-11 |
TW201928745A TW201928745A (zh) | 2019-07-16 |
Family
ID=65804166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106143547A TWI647586B (zh) | 2017-12-12 | 2017-12-12 | 行為推論模型生成裝置及其行為推論模型生成方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI647586B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI761834B (zh) * | 2020-05-14 | 2022-04-21 | 治略資訊整合股份有限公司 | 感測數據智能檢測方法與系統 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150300892A1 (en) * | 2014-04-18 | 2015-10-22 | Nest Labs, Inc. | Thermodynamic model generation and implementation using observed hvac and/or enclosure characteristics |
-
2017
- 2017-12-12 TW TW106143547A patent/TWI647586B/zh active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150300892A1 (en) * | 2014-04-18 | 2015-10-22 | Nest Labs, Inc. | Thermodynamic model generation and implementation using observed hvac and/or enclosure characteristics |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI761834B (zh) * | 2020-05-14 | 2022-04-21 | 治略資訊整合股份有限公司 | 感測數據智能檢測方法與系統 |
Also Published As
Publication number | Publication date |
---|---|
TW201928745A (zh) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10586044B2 (en) | Abnormal behavior detection model building apparatus and abnormal behavior detection model building method thereof | |
JP6781415B2 (ja) | ニューラルネットワーク学習装置、方法、プログラム、およびパターン認識装置 | |
US10733385B2 (en) | Behavior inference model building apparatus and behavior inference model building method thereof | |
Li et al. | Learning hash functions using column generation | |
EP3499396A1 (en) | Abnormal behavior detection model building apparatus and abnormal behavior detection model building method thereof | |
US20240220617A1 (en) | Deep learning based detection of malicious shell scripts | |
CN104869126A (zh) | 一种网络入侵异常检测方法 | |
JP7047498B2 (ja) | 学習プログラム、学習方法および学習装置 | |
KR20190115319A (ko) | 문장을 복수의 클래스들로 분류하는 모바일 장치 및 방법 | |
CN112052451A (zh) | 一种webshell检测方法和装置 | |
KR102283054B1 (ko) | Api 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법, 이를 수행하기 위한 기록 매체 및 장치 | |
Dion et al. | An experimental study to evaluate the performance of machine learning alogrithms in ransomware detection | |
CN115277189B (zh) | 基于生成式对抗网络的无监督式入侵流量检测识别方法 | |
JP7207540B2 (ja) | 学習支援装置、学習支援方法、及びプログラム | |
Anshori et al. | Comparison of machine learning methods for android malicious software classification based on system call | |
EP3499429A1 (en) | Behavior inference model building apparatus and method | |
CN117992765B (zh) | 基于动态新兴标记的偏标签学习方法、装置、设备及介质 | |
US11977633B2 (en) | Augmented machine learning malware detection based on static and dynamic analysis | |
CN109918906B (zh) | 异常行为侦测模型生成装置及其异常行为侦测模型生成方法 | |
CN113343123B (zh) | 一种生成对抗多关系图网络的训练方法和检测方法 | |
US20230145544A1 (en) | Neural network watermarking | |
TWI647586B (zh) | 行為推論模型生成裝置及其行為推論模型生成方法 | |
Kural et al. | Apk2Img4AndMal: Android malware detection framework based on convolutional neural network | |
CN111783088B (zh) | 一种恶意代码家族聚类方法、装置和计算机设备 | |
KR20210158740A (ko) | 기계학습 성능 기반 클러스터링 평가 장치 및 그 방법 |