基于深度學(xué)習(xí)的Android惡意軟件識別方法研究
發(fā)布時間:2021-01-22 00:34
近年來,移動互聯(lián)網(wǎng)的發(fā)展使得智能手機(jī)成為我們生活中不可缺少的一部分,極大的方便了人們的生活。然而,人們在使用手機(jī)的過程卻不得不面臨著隱私和財(cái)產(chǎn)安全問題。由于Android的流行性和自身的開放性,迅速成為了不法分子的攻擊目標(biāo)。因此,如何有效的檢測Android惡意軟件,具有很重要的學(xué)術(shù)意義和現(xiàn)實(shí)意義,F(xiàn)有的對Android惡意軟件的靜態(tài)分析往往局限于某一特征,比如字符串特征如權(quán)限、API(Application Programming Interface)調(diào)用,或者結(jié)構(gòu)性特征如函數(shù)調(diào)用圖、數(shù)據(jù)流圖等。但隨著惡意軟件攻擊行為的不斷變化,僅使用一種特征進(jìn)行分析,往往會出現(xiàn)檢測錯誤的情況。因此,本文從多特征的角度刻畫Android應(yīng)用軟件,從而提高檢測的準(zhǔn)確率。本文的主要研究內(nèi)容和創(chuàng)新點(diǎn)包括:(1)提出基于操作碼序列的Android惡意軟件檢測模型。該模型創(chuàng)新性的結(jié)合了函數(shù)調(diào)用圖和操作碼文本序列,通過函數(shù)調(diào)用的順序?qū)Σ僮鞔a文本序列重新組織,并使用長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)構(gòu)建模型。在此基礎(chǔ)上,結(jié)合敏感函數(shù)、函數(shù)調(diào)用序列等設(shè)計(jì)了5種特征進(jìn)行對比實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明基于函數(shù)調(diào)用順序的操作碼序列相...
【文章來源】:電子科技大學(xué)四川省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:74 頁
【學(xué)位級別】:碩士
【部分圖文】:
019年移動端新增惡意程序類型分布
第二章ANDROID惡意軟件檢測技術(shù)基礎(chǔ)9圖2-1LinuxAndroid系統(tǒng)架構(gòu)圖(4)應(yīng)用程序框架。建立在本地庫層之上的應(yīng)用程序框架為我們提供了應(yīng)用程序編程接口和更高級別的服務(wù)。另外,通過以JAVA類形式編寫的API,能夠幫助我們使用Android操作系統(tǒng)的功能,同時Android開發(fā)人員使用這些高級服務(wù)來構(gòu)建應(yīng)用程序。它還包含一個Android硬件抽象層(HAL),該層允許Android應(yīng)用程序框架與特定于硬件的設(shè)備驅(qū)動程序進(jìn)行通信。同時Android應(yīng)用程序使用硬件抽象層的API從不同的硬件設(shè)備獲取命令。該應(yīng)用程序框架包含以下關(guān)鍵服務(wù):活動管理器:主要負(fù)責(zé)管理應(yīng)用的生命周期。內(nèi)容提供程序:提供從應(yīng)用程序到其他層的數(shù)據(jù)。資源管理器:提供對非代碼資源的訪問。通知管理器:用戶會收到有關(guān)在后臺發(fā)生的所有操作的通知。
電子科技大學(xué)碩士學(xué)位論文12示方法。其核心方法是將語料庫中的每個詞語表示為一維特征,包含該詞語則為“1”,不包含則為“0”,最終將文本序列表示為01串組成的向量。這種方法在機(jī)器學(xué)習(xí)處理離散特征時取得了良好的表現(xiàn)效果,然而面對自然語言中龐大的語料庫,該種表示方法會造成特征維度過高,存儲成本和計(jì)算成本都會很高。(2)詞袋模型(Bagofwords)文本特征表示的另一種方法是詞袋模型[26]。在one-hotencoding文本表示方法中,只關(guān)注文本序列中是否出現(xiàn)該詞語,而不考慮該詞出現(xiàn)的頻率。詞袋模型在one-hotencoding基礎(chǔ)上進(jìn)行了改進(jìn),增加了頻率的維度。且詞袋模型的一個前提假設(shè)是詞語之間是相互獨(dú)立的,不考慮詞語之間的相互關(guān)聯(lián),使用的核心方法是統(tǒng)計(jì)每個詞語的詞頻,組成詞頻的向量來表示文本序列。圖2-2N-gram模型處理惡意代碼示例(3)N-gram模型N-gram模型[27]是自然語言處理中的一種常用模型。詞袋模型假設(shè)詞語之間是相互獨(dú)立的,不考慮詞語之間的聯(lián)系。與詞袋模型不同,N-gram模型是一種概率模型,其認(rèn)為某個詞的出現(xiàn)依賴于前面的詞,即第N個詞的出現(xiàn)與前面N-1個詞有關(guān)系,而與其他的詞沒有關(guān)聯(lián)。實(shí)際計(jì)算時通過一個滑動窗口,在文本序列中依次滑動,窗口內(nèi)的詞語作為特征,統(tǒng)計(jì)窗口內(nèi)詞語在全部文本序列出現(xiàn)的次數(shù)作為特征,形成的向量表示文本序列。近年來,研究者嘗試使用N-gram模型進(jìn)行惡意代碼文本處理,一個windows下的使用N-gram模型提取惡意代碼文本特征示例如圖2-2所示。(4)TF-IDF技術(shù)TF-IDF技術(shù)[28]是一種統(tǒng)計(jì)方法,可以用來評定一個詞對于一篇文章或者整個
本文編號:2992187
【文章來源】:電子科技大學(xué)四川省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:74 頁
【學(xué)位級別】:碩士
【部分圖文】:
019年移動端新增惡意程序類型分布
第二章ANDROID惡意軟件檢測技術(shù)基礎(chǔ)9圖2-1LinuxAndroid系統(tǒng)架構(gòu)圖(4)應(yīng)用程序框架。建立在本地庫層之上的應(yīng)用程序框架為我們提供了應(yīng)用程序編程接口和更高級別的服務(wù)。另外,通過以JAVA類形式編寫的API,能夠幫助我們使用Android操作系統(tǒng)的功能,同時Android開發(fā)人員使用這些高級服務(wù)來構(gòu)建應(yīng)用程序。它還包含一個Android硬件抽象層(HAL),該層允許Android應(yīng)用程序框架與特定于硬件的設(shè)備驅(qū)動程序進(jìn)行通信。同時Android應(yīng)用程序使用硬件抽象層的API從不同的硬件設(shè)備獲取命令。該應(yīng)用程序框架包含以下關(guān)鍵服務(wù):活動管理器:主要負(fù)責(zé)管理應(yīng)用的生命周期。內(nèi)容提供程序:提供從應(yīng)用程序到其他層的數(shù)據(jù)。資源管理器:提供對非代碼資源的訪問。通知管理器:用戶會收到有關(guān)在后臺發(fā)生的所有操作的通知。
電子科技大學(xué)碩士學(xué)位論文12示方法。其核心方法是將語料庫中的每個詞語表示為一維特征,包含該詞語則為“1”,不包含則為“0”,最終將文本序列表示為01串組成的向量。這種方法在機(jī)器學(xué)習(xí)處理離散特征時取得了良好的表現(xiàn)效果,然而面對自然語言中龐大的語料庫,該種表示方法會造成特征維度過高,存儲成本和計(jì)算成本都會很高。(2)詞袋模型(Bagofwords)文本特征表示的另一種方法是詞袋模型[26]。在one-hotencoding文本表示方法中,只關(guān)注文本序列中是否出現(xiàn)該詞語,而不考慮該詞出現(xiàn)的頻率。詞袋模型在one-hotencoding基礎(chǔ)上進(jìn)行了改進(jìn),增加了頻率的維度。且詞袋模型的一個前提假設(shè)是詞語之間是相互獨(dú)立的,不考慮詞語之間的相互關(guān)聯(lián),使用的核心方法是統(tǒng)計(jì)每個詞語的詞頻,組成詞頻的向量來表示文本序列。圖2-2N-gram模型處理惡意代碼示例(3)N-gram模型N-gram模型[27]是自然語言處理中的一種常用模型。詞袋模型假設(shè)詞語之間是相互獨(dú)立的,不考慮詞語之間的聯(lián)系。與詞袋模型不同,N-gram模型是一種概率模型,其認(rèn)為某個詞的出現(xiàn)依賴于前面的詞,即第N個詞的出現(xiàn)與前面N-1個詞有關(guān)系,而與其他的詞沒有關(guān)聯(lián)。實(shí)際計(jì)算時通過一個滑動窗口,在文本序列中依次滑動,窗口內(nèi)的詞語作為特征,統(tǒng)計(jì)窗口內(nèi)詞語在全部文本序列出現(xiàn)的次數(shù)作為特征,形成的向量表示文本序列。近年來,研究者嘗試使用N-gram模型進(jìn)行惡意代碼文本處理,一個windows下的使用N-gram模型提取惡意代碼文本特征示例如圖2-2所示。(4)TF-IDF技術(shù)TF-IDF技術(shù)[28]是一種統(tǒng)計(jì)方法,可以用來評定一個詞對于一篇文章或者整個
本文編號:2992187
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/2992187.html
最近更新
教材專著