[發(fā)明專利]一種基于兩階段類比推理的未知敏感函數(shù)發(fā)現(xiàn)方法在審
| 申請?zhí)枺?/td> | 202111257776.8 | 申請日: | 2021-10-27 |
| 公開(公告)號: | CN114036516A | 公開(公告)日: | 2022-02-11 |
| 發(fā)明(設(shè)計)人: | 梁文韜;王璐;曹壯 | 申請(專利權(quán))人: | 西安電子科技大學(xué) |
| 主分類號: | G06F21/56 | 分類號: | G06F21/56 |
| 代理公司: | 西安嘉思特知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 61230 | 代理人: | 王萌 |
| 地址: | 710000 陜*** | 國省代碼: | 陜西;61 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 階段 類比 推理 未知 敏感 函數(shù) 發(fā)現(xiàn) 方法 | ||
本發(fā)明涉及一種基于兩階段類比推理的未知敏感函數(shù)發(fā)現(xiàn)方法,包括對待檢測的目標(biāo)系統(tǒng)代碼進(jìn)行預(yù)處理,得到函數(shù)調(diào)用序列;根據(jù)函數(shù)調(diào)用序列,通過頻繁模式挖掘,得到若干頻繁函數(shù)對;利用函數(shù)調(diào)用序列訓(xùn)練得到的詞向量模型,得到每個頻繁函數(shù)對對應(yīng)的嵌入向量;計算初始種子函數(shù)與每個頻繁函數(shù)對之間的第一相似度,根據(jù)計算結(jié)果選取至少一個頻繁函數(shù)對作為二次種子函數(shù)對;計算每個二次種子函數(shù)對與每個頻繁函數(shù)對之間的第二相似度,根據(jù)計算結(jié)果得到每個二次種子函數(shù)對的潛在敏感函數(shù)對候選集;根據(jù)潛在敏感函數(shù)對候選集,合并去重后得到潛在敏感函數(shù)對集合。本方法,通過兩階段類比推理,能夠逐步擴充種子函數(shù)對集合,發(fā)現(xiàn)更多潛在敏感函數(shù)對。
技術(shù)領(lǐng)域
本發(fā)明屬于網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,具體涉及一種基于兩階段類比推理的未知敏感函數(shù)發(fā)現(xiàn)方法。
背景技術(shù)
敏感函數(shù)是一類容易導(dǎo)致各種潛在缺陷的函數(shù)。敏感函數(shù)往往配對出現(xiàn),例如對于free函數(shù)這樣的資源釋放類函數(shù),有著malloc函數(shù)這樣的資源分配函數(shù)與之配對。當(dāng)開發(fā)者不恰當(dāng)?shù)氖褂眠@些函數(shù)時,有可能引發(fā)諸如敏感信息泄露,數(shù)據(jù)損壞,甚至是執(zhí)行任意代碼等危險后果。不幸的是,有大量的敏感函數(shù)在大型軟件系統(tǒng)中并不為人們所熟知,事實上這些敏感函數(shù)往往只被部分程序開發(fā)者所知。而相關(guān)缺陷檢測、系統(tǒng)安全防護(hù)等工作必須知曉這些敏感函數(shù)才能有效地進(jìn)行。因此發(fā)現(xiàn)這些敏感函數(shù)對于相關(guān)工作至關(guān)重要。
在自然語言處理領(lǐng)域,詞嵌入技術(shù)能將一個高維的獨熱向量嵌入到一個在實數(shù)域上連續(xù)的低維稠密向量中,從而較好地支持語義搜索和情感分析等下游任務(wù)。除了可以直接比較相似度外,嵌入后的詞向量還有一個重要的特征,依據(jù)向量間的相似度能支持類比推理(Analogical Reasoning),回答諸如“如果man對應(yīng)著woman,那么king應(yīng)該對應(yīng)什么?”一類的問題。倘若將程序設(shè)計語言看作是一種特殊的語言,那么程序中的函數(shù)調(diào)用便可以看作是詞語,便也可以將函數(shù)嵌入到向量中。因此,假設(shè)我們已知有一小部分敏感函數(shù)(稱為種子函數(shù)),那么應(yīng)用基于詞向量的類比推理技術(shù)便可以發(fā)現(xiàn)潛在的未知敏感函數(shù)。
然而在實際應(yīng)用中直接使用類比推理,少量的種子函數(shù)對往往無法完整覆蓋該種類敏感函數(shù)的語義,導(dǎo)致類比推理出的潛在敏感函數(shù)往往與種子函數(shù)具有同質(zhì)性,對與種子函數(shù)存在一定異質(zhì)性的敏感函數(shù)檢測效果不佳。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)中存在的上述問題,本發(fā)明提供了一種基于兩階段類比推理的未知敏感函數(shù)發(fā)現(xiàn)方法。本發(fā)明要解決的技術(shù)問題通過以下技術(shù)方案實現(xiàn):
本發(fā)明提供了一種基于兩階段類比推理的未知敏感函數(shù)發(fā)現(xiàn)方法,包括:
對待檢測的目標(biāo)系統(tǒng)代碼進(jìn)行預(yù)處理,得到函數(shù)調(diào)用序列;
根據(jù)所述函數(shù)調(diào)用序列,通過頻繁模式挖掘,得到若干頻繁函數(shù)對;
利用所述函數(shù)調(diào)用序列訓(xùn)練得到的詞向量模型,得到每個所述頻繁函數(shù)對對應(yīng)的嵌入向量;
計算初始種子函數(shù)與每個所述頻繁函數(shù)對之間的第一相似度,根據(jù)計算結(jié)果選取至少一個所述頻繁函數(shù)對作為二次種子函數(shù)對;
計算每個所述二次種子函數(shù)對與每個所述頻繁函數(shù)對之間的第二相似度,根據(jù)計算結(jié)果得到每個所述二次種子函數(shù)對的潛在敏感函數(shù)對候選集;
根據(jù)所述潛在敏感函數(shù)對候選集,合并去重后得到潛在敏感函數(shù)對集合。
在本發(fā)明的一個實施例中,對待檢測的目標(biāo)系統(tǒng)代碼進(jìn)行預(yù)處理,得到函數(shù)調(diào)用序列,包括:
對所述待檢測的目標(biāo)系統(tǒng)代碼進(jìn)行程序切片操作,得到若干切片;
遍歷所述切片,收集函數(shù)調(diào)用,組成所述函數(shù)調(diào)用序列。
在本發(fā)明的一個實施例中,根據(jù)所述函數(shù)調(diào)用序列,得到若干頻繁函數(shù)對,包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于西安電子科技大學(xué),未經(jīng)西安電子科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111257776.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





