[發(fā)明專利]一種程序特征序列生成方法和裝置有效
| 申請(qǐng)?zhí)枺?/td> | 202010558726.2 | 申請(qǐng)日: | 2020-06-18 |
| 公開(公告)號(hào): | CN111552959B | 公開(公告)日: | 2023-08-29 |
| 發(fā)明(設(shè)計(jì))人: | 楊祎巍;匡曉云;洪超;黃開天;陳霖 | 申請(qǐng)(專利權(quán))人: | 南方電網(wǎng)科學(xué)研究院有限責(zé)任公司;中國(guó)南方電網(wǎng)有限責(zé)任公司 |
| 主分類號(hào): | G06F21/52 | 分類號(hào): | G06F21/52 |
| 代理公司: | 北京集佳知識(shí)產(chǎn)權(quán)代理有限公司 11227 | 代理人: | 黃忠 |
| 地址: | 510663 廣東省廣州市蘿崗區(qū)科*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 程序 特征 序列 生成 方法 裝置 | ||
本發(fā)明公開了一種程序特征序列生成方法和裝置,用于判斷運(yùn)行中的程序是否被篡改。本發(fā)明包括:當(dāng)掃描程序時(shí),掃描多條程序指令中指令序號(hào)最小的未掃描的程序指令,并判斷當(dāng)前掃描的程序指令的指令類型;當(dāng)指令類型為跳轉(zhuǎn)類指令時(shí),生成所述當(dāng)前掃描的程序指令的跳轉(zhuǎn)關(guān)系數(shù)字對(duì),并保存所述跳轉(zhuǎn)關(guān)系數(shù)字對(duì);判斷當(dāng)前運(yùn)行的程序指令的指令序號(hào)是否等于預(yù)設(shè)閾值;若否,則跳轉(zhuǎn)至掃描多條程序指令中指令序號(hào)最小的未掃描的程序指令的步驟;若是,則采用保存的跳轉(zhuǎn)關(guān)系數(shù)字對(duì)生成特征序列,并停止掃描程序。
技術(shù)領(lǐng)域
本發(fā)明涉及程序特征分析技術(shù)領(lǐng)域,尤其涉及一種程序特征序列生成方法和裝置。
背景技術(shù)
程序在運(yùn)行前,需要進(jìn)行可信檢查,檢查程序是否遭到篡改,以確保所運(yùn)行的程序是預(yù)期的程序。程序在運(yùn)行過程中,同樣需要進(jìn)行可信檢查,確保程序運(yùn)行的行為與預(yù)期行為一致。
現(xiàn)有技術(shù)中,多采用程序簽名的方法檢查程序是否遭到篡改,但這種方法僅適用于程序運(yùn)行前的檢查。在程序運(yùn)行過程中,由于程序已經(jīng)被打散在內(nèi)存中,指令部分、數(shù)據(jù)部分、堆棧部分都有所不同,數(shù)據(jù)部分會(huì)時(shí)刻變化,因此難以在程序運(yùn)行過程中檢查程序是否遭到篡改。
發(fā)明內(nèi)容
本發(fā)明提供了一種程序特征序列生成方法和裝置,解決了現(xiàn)有技術(shù)難以在程序運(yùn)行過程中檢查程序是否遭到篡改的問題。
本發(fā)明提供的一種程序特征序列的生成方法,所述程序包括多條程序指令;所述多條程序指令分別具有對(duì)應(yīng)的指令序號(hào);所述的方法包括:
當(dāng)掃描所述程序時(shí),掃描所述多條程序指令中指令序號(hào)最小的未掃描的程序指令,并判斷當(dāng)前掃描的程序指令的指令類型;
當(dāng)所述指令類型為跳轉(zhuǎn)類指令時(shí),生成所述當(dāng)前掃描的程序指令的跳轉(zhuǎn)關(guān)系數(shù)字對(duì),并保存所述跳轉(zhuǎn)關(guān)系數(shù)字對(duì);
判斷所述當(dāng)前運(yùn)行的程序指令的指令序號(hào)是否等于預(yù)設(shè)閾值;
若否,則跳轉(zhuǎn)至掃描所述多條程序指令中指令序號(hào)最小的未掃描的程序指令的步驟;
若是,則采用保存的所述跳轉(zhuǎn)關(guān)系數(shù)字對(duì)生成特征序列,并停止掃描所述程序。
可選地,所述多條程序指令還具有對(duì)應(yīng)的指令地址;所述當(dāng)所述指令類型為跳轉(zhuǎn)類指令時(shí),生成所述當(dāng)前掃描的程序指令的跳轉(zhuǎn)關(guān)系數(shù)字對(duì),并保存所述跳轉(zhuǎn)關(guān)系數(shù)字對(duì)的步驟,包括:
當(dāng)所述指令類型為跳轉(zhuǎn)類指令時(shí),在所述當(dāng)前掃描的程序指令中提取跳轉(zhuǎn)地址;
計(jì)算所述跳轉(zhuǎn)地址與所述當(dāng)前掃描的程序指令的指令地址之間的差值;
獲取預(yù)設(shè)計(jì)數(shù)器的當(dāng)前計(jì)數(shù)器值;
采用所述當(dāng)前計(jì)數(shù)器值和所述差值生成所述當(dāng)前掃描的程序指令的跳轉(zhuǎn)關(guān)系數(shù)字對(duì),并保存所述跳轉(zhuǎn)關(guān)系數(shù)字對(duì)。
可選地,所述的方法還包括:
若所述指令類型為非跳轉(zhuǎn)類指令,則跳轉(zhuǎn)至掃描所述多條程序指令中指令序號(hào)最小的未掃描的程序指令的步驟。
可選地,所述跳轉(zhuǎn)類指令包括條件跳轉(zhuǎn)指令;所述當(dāng)所述指令類型為跳轉(zhuǎn)類指令時(shí),在所述當(dāng)前掃描的程序指令中提取跳轉(zhuǎn)地址的步驟,包括:
當(dāng)所述指令類型為條件跳轉(zhuǎn)指令時(shí),在所述當(dāng)前掃描的程序指令中提取跳轉(zhuǎn)地址。
可選地,所述跳轉(zhuǎn)類指令還包括非條件跳轉(zhuǎn)指令;所述方法還包括:
當(dāng)所述指令類型為非條件跳轉(zhuǎn)指令時(shí),則跳轉(zhuǎn)至掃描所述多條程序指令中指令序號(hào)最小的未掃描的程序指令的步驟。
本發(fā)明提供的一種程序特征序列生成裝置,所述程序包括多條程序指令;所述多條程序指令分別具有對(duì)應(yīng)的指令序號(hào);包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南方電網(wǎng)科學(xué)研究院有限責(zé)任公司;中國(guó)南方電網(wǎng)有限責(zé)任公司,未經(jīng)南方電網(wǎng)科學(xué)研究院有限責(zé)任公司;中國(guó)南方電網(wǎng)有限責(zé)任公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010558726.2/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過限制訪問計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過限制訪問或處理程序或過程
- 功能限制程序、安裝程序生成程序和程序存儲(chǔ)介質(zhì)
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序創(chuàng)建裝置,程序創(chuàng)建方法和程序
- 程序生成裝置、程序生產(chǎn)方法及程序
- 程序生成裝置、程序生成程序以及程序生成方法
- 程序生成裝置、程序生成方法及程序生成程序
- 程序開發(fā)支持裝置、程序開發(fā)支持方法以及存儲(chǔ)介質(zhì)
- 程序執(zhí)行輔助裝置、程序執(zhí)行輔助方法及程序執(zhí)行輔助程序
- 程序?qū)φ昭b置、程序?qū)φ辗椒俺绦驅(qū)φ粘绦?/a>





