基于卷積神經(jīng)網(wǎng)絡惡意安卓應用行為模式挖掘
發(fā)布時間:2021-04-02 22:06
現(xiàn)有的安卓惡意應用檢測方法所提取的特征冗余且抽象,無法在高級語義上反映惡意應用的行為模式。針對這一問題,提出一種可解釋性檢測方法,通過社交網(wǎng)絡檢測算法聚類可疑系統(tǒng)調(diào)用組合,將其映射為單通道圖像,用卷積神經(jīng)網(wǎng)絡進行分類,并利用卷積層梯度權(quán)重類激活映射可視化方法發(fā)現(xiàn)最可疑的系統(tǒng)調(diào)用組合,從而挖掘理解惡意應用行為。實驗結(jié)果表明,所提方法在高效檢測的基礎(chǔ)上,能夠正確發(fā)現(xiàn)惡意應用的行為模式。
【文章來源】:網(wǎng)絡與信息安全學報. 2020,6(06)
【文章頁數(shù)】:10 頁
【部分圖文】:
系統(tǒng)總覽Figure1Systemoverview
?API節(jié)點{<java.lang.RuntimeException:voidinit(java.lang.String)>,Normal}。它是java運行時異常處理API。大部分自定義的方法中包含異常處理。這種“超級節(jié)點”的存在,把原本不存在關(guān)系的敏感節(jié)點聯(lián)系在一起,破壞了社區(qū)劃分的結(jié)構(gòu)。所以,在構(gòu)建調(diào)用圖時,需要過濾掉該節(jié)點再進行社區(qū)檢測。筆者期望APK對應的特征圖像的每一行排列一個社區(qū),以便于卷積神經(jīng)網(wǎng)絡識別。但目前社區(qū)中包含的敏感節(jié)點數(shù)仍較多且分布離散。本文對每個社區(qū)再使用Louvian[12]算法進行一次劃分。如表1和圖2所示,二次社區(qū)劃分之后的小社區(qū)中敏感節(jié)點數(shù)目集中在2~5。表1社區(qū)中敏感節(jié)點分布比例Table1Distributionratioofsensitivenodesinthecommunity平均值最小值25%50%75%最大值2.8111370圖2社區(qū)中敏感節(jié)點數(shù)目分布統(tǒng)計Figure2Distributionstatisticsofthenumberofsensitivenodesinthecommunity根據(jù)上述分布結(jié)果,可以確定圖像的寬度。本文選取圖像寬度為4。這么做是基于這樣的考慮,寬度選得過窄,過小的卷積核不能有效地提取模式信息;寬度選得過大,圖像中需要填充的空白節(jié)點就會增多,從而導致圖像的尺寸變大,卷積神經(jīng)網(wǎng)絡模型中參數(shù)增多,訓練和檢測分類時的開銷都增大。3.4構(gòu)建規(guī)則圖像3.4.1敏感度計算本文按照敏感度由大到小將社區(qū)中敏感節(jié)點排列為規(guī)則圖像。敏感度是一個統(tǒng)計值,借鑒了詞頻逆文本頻率[13](TF-IDF,termfrequency-inversedocumentfrequency)的概念。TF-IDF旨在反映一個術(shù)語對語料庫中某個文檔的重要程度。衡量一個API的敏感度,即該API出現(xiàn)所代表的發(fā)生惡意行為的可能性大校基于這樣的觀察:敏感API,?
第6期張鑫等:基于卷積神經(jīng)網(wǎng)絡惡意安卓應用行為模式挖掘·39·現(xiàn),而能夠體現(xiàn)惡意行為的是剩余的6415個敏感API,其中,5597個敏感API的敏感度低于0.2,其余具有較強惡意程度區(qū)分度的敏感API僅為818個,約占總數(shù)的3%。圖3敏感API敏感度分布Figure3SensitivitydistributionofsensitiveAPI3.4.2確定圖像高度如圖4所示,本文按照社區(qū)敏感度從大到小遞減依次由上到下排列社區(qū),同樣地,大社區(qū)中劃分的小社區(qū)也按照敏感度由上到下排序。而一個小社區(qū)中的敏感節(jié)點則按照敏感度由大到小遞減依次從左到右排列到圖像中。為了把整個圖像像素更緊湊地排列,本文采用如下算法:大社區(qū)內(nèi)的小社區(qū)并非嚴格由上到下排列,如果排列當前小社區(qū)后本行剩余的空白像素能夠容納下一個小社區(qū),就在當前行排列下一個小社區(qū);否則,另起一行。同時,為了保存大社區(qū)間的界限,大社區(qū)間強制換行隔開。這樣,相當于將數(shù)目較小的小社區(qū)(通常是包含1到2個節(jié)點的)填充到大社區(qū)空隙中,既有效且緊湊地排列了像素,又保持了不同社區(qū)的界限。如上文所述,圖像寬度確定為4。按照上述排列算法可以得到前述數(shù)據(jù)集的圖像長度分布,如圖5所示,98.12%APK的長度在800以下?紤]到API覆蓋率和卷積網(wǎng)絡模型運算量之間的平衡,本文將圖像長度分為400、800、1200三檔做了對比實驗。實驗指標為準確率和神經(jīng)網(wǎng)絡每秒浮點運算量(FLOPs,floatingpointoperations),實驗結(jié)果如表2所示。由該表可以看出,圖像長度從400增加到800提高了覆蓋率,從而帶來準確率的上升;800到1200的準確率基本不變,反而因為空白像素過量填充,導致模型的訓練收斂?
本文編號:3116044
【文章來源】:網(wǎng)絡與信息安全學報. 2020,6(06)
【文章頁數(shù)】:10 頁
【部分圖文】:
系統(tǒng)總覽Figure1Systemoverview
?API節(jié)點{<java.lang.RuntimeException:voidinit(java.lang.String)>,Normal}。它是java運行時異常處理API。大部分自定義的方法中包含異常處理。這種“超級節(jié)點”的存在,把原本不存在關(guān)系的敏感節(jié)點聯(lián)系在一起,破壞了社區(qū)劃分的結(jié)構(gòu)。所以,在構(gòu)建調(diào)用圖時,需要過濾掉該節(jié)點再進行社區(qū)檢測。筆者期望APK對應的特征圖像的每一行排列一個社區(qū),以便于卷積神經(jīng)網(wǎng)絡識別。但目前社區(qū)中包含的敏感節(jié)點數(shù)仍較多且分布離散。本文對每個社區(qū)再使用Louvian[12]算法進行一次劃分。如表1和圖2所示,二次社區(qū)劃分之后的小社區(qū)中敏感節(jié)點數(shù)目集中在2~5。表1社區(qū)中敏感節(jié)點分布比例Table1Distributionratioofsensitivenodesinthecommunity平均值最小值25%50%75%最大值2.8111370圖2社區(qū)中敏感節(jié)點數(shù)目分布統(tǒng)計Figure2Distributionstatisticsofthenumberofsensitivenodesinthecommunity根據(jù)上述分布結(jié)果,可以確定圖像的寬度。本文選取圖像寬度為4。這么做是基于這樣的考慮,寬度選得過窄,過小的卷積核不能有效地提取模式信息;寬度選得過大,圖像中需要填充的空白節(jié)點就會增多,從而導致圖像的尺寸變大,卷積神經(jīng)網(wǎng)絡模型中參數(shù)增多,訓練和檢測分類時的開銷都增大。3.4構(gòu)建規(guī)則圖像3.4.1敏感度計算本文按照敏感度由大到小將社區(qū)中敏感節(jié)點排列為規(guī)則圖像。敏感度是一個統(tǒng)計值,借鑒了詞頻逆文本頻率[13](TF-IDF,termfrequency-inversedocumentfrequency)的概念。TF-IDF旨在反映一個術(shù)語對語料庫中某個文檔的重要程度。衡量一個API的敏感度,即該API出現(xiàn)所代表的發(fā)生惡意行為的可能性大校基于這樣的觀察:敏感API,?
第6期張鑫等:基于卷積神經(jīng)網(wǎng)絡惡意安卓應用行為模式挖掘·39·現(xiàn),而能夠體現(xiàn)惡意行為的是剩余的6415個敏感API,其中,5597個敏感API的敏感度低于0.2,其余具有較強惡意程度區(qū)分度的敏感API僅為818個,約占總數(shù)的3%。圖3敏感API敏感度分布Figure3SensitivitydistributionofsensitiveAPI3.4.2確定圖像高度如圖4所示,本文按照社區(qū)敏感度從大到小遞減依次由上到下排列社區(qū),同樣地,大社區(qū)中劃分的小社區(qū)也按照敏感度由上到下排序。而一個小社區(qū)中的敏感節(jié)點則按照敏感度由大到小遞減依次從左到右排列到圖像中。為了把整個圖像像素更緊湊地排列,本文采用如下算法:大社區(qū)內(nèi)的小社區(qū)并非嚴格由上到下排列,如果排列當前小社區(qū)后本行剩余的空白像素能夠容納下一個小社區(qū),就在當前行排列下一個小社區(qū);否則,另起一行。同時,為了保存大社區(qū)間的界限,大社區(qū)間強制換行隔開。這樣,相當于將數(shù)目較小的小社區(qū)(通常是包含1到2個節(jié)點的)填充到大社區(qū)空隙中,既有效且緊湊地排列了像素,又保持了不同社區(qū)的界限。如上文所述,圖像寬度確定為4。按照上述排列算法可以得到前述數(shù)據(jù)集的圖像長度分布,如圖5所示,98.12%APK的長度在800以下?紤]到API覆蓋率和卷積網(wǎng)絡模型運算量之間的平衡,本文將圖像長度分為400、800、1200三檔做了對比實驗。實驗指標為準確率和神經(jīng)網(wǎng)絡每秒浮點運算量(FLOPs,floatingpointoperations),實驗結(jié)果如表2所示。由該表可以看出,圖像長度從400增加到800提高了覆蓋率,從而帶來準確率的上升;800到1200的準確率基本不變,反而因為空白像素過量填充,導致模型的訓練收斂?
本文編號:3116044
本文鏈接:http://sikaile.net/guanlilunwen/ydhl/3116044.html
最近更新
教材專著