[發(fā)明專利]一種線性匯編級的可配置容錯方法、計算機、計算機程序有效
| 申請?zhí)枺?/td> | 201711241004.9 | 申請日: | 2017-11-30 |
| 公開(公告)號: | CN108171016B | 公開(公告)日: | 2021-04-09 |
| 發(fā)明(設計)人: | 譚慶平;李盼盼;鄧錦洲;徐建軍;邵則銘;曾平;張南;孟憲凱;張浩宇;唐國斐;謝勤政;顏穎;劉鑫昊 | 申請(專利權)人: | 中國人民解放軍國防科技大學 |
| 主分類號: | G06F21/12 | 分類號: | G06F21/12;G06F11/14 |
| 代理公司: | 北京眾合誠成知識產權代理有限公司 11246 | 代理人: | 夏艷 |
| 地址: | 410073 湖南省長沙市硯*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 線性 匯編 配置 容錯 方法 計算機 程序 | ||
本發(fā)明屬于計算機軟件加固技術領域,公開了一種線性匯編級的可配置容錯方法、計算機、計算機程序,將程序代碼劃分為若干個基本塊;所有變量重命名;計算每個變量的復算效率;計算每個變量的影響因子;對全部變量進行排序并選取部分進行可配置容錯。本發(fā)明基于寄存器生命周期、進行加固所需添加的指令條數(shù)、影響的其他寄存器數(shù)量的情況,提出復算效率和影響因子兩個評價指標,并提供計算方法與依據其進行可配置加固的方法,對寄存器的重要程度和加固難度進行了全面的考量,提出了更全面、性價比更高的可配置加固方法。
技術領域
本發(fā)明屬于計算機軟件加固技術領域,尤其涉及一種線性匯編級的可配置容錯方法、計算機、計算機程序。
背景技術
在軟加固技術的應用中,在不同應用、不同場景下對于加固開銷以及應用的可靠性可能有不同的要求。程序中對可靠性有關鍵影響的代碼和數(shù)據一般只是一小部分,因此在開銷受限的情況下,可以優(yōu)先保護這部分的代碼和數(shù)據。現(xiàn)有對于可配置加固技術的研究,包括使用指令魯棒性分析進行部分指令加固的SIRFT技術和使用寄存器優(yōu)先級分析進行部分寄存器加固的S-SWIFT-R。SIRFT技術通過對指令對錯誤的容忍能力即指令的魯棒性進行分析,通過選擇性保護魯棒性較差的指令,在盡量保證可靠性的前提下減少加固時間開銷,S-SWIFT-R基于SWIFT-R,通過計算寄存器的泛化生命期來選擇性的對某些寄存器進行保護。兩種可配置加固方法存在:(1)在SIRFT技術中,是以指令的魯棒性作為評價標準進行可配置加固,這樣的評價方法難以反應程序的數(shù)據流和控制流特征,單純的保護某幾條指令而不保護它們的數(shù)據來源并不會產生良好效果;該方法只能保證受保護指令不會受到發(fā)生在指令執(zhí)行時的軟錯誤影響,如果軟錯誤發(fā)生在其前置指令執(zhí)行時,依然會導致受保護指令出錯。
(2)在S-SWIFT-R中,選取了寄存器的重要性作為評價標準,通過根據不同可靠性要求調整需要加固的寄存器范圍來實現(xiàn)可配置加固,以寄存器作為可配置加固的加固單位反映了一部分的程序數(shù)據流控制流特征,但只以生命周期作為評價標準并不全面,無法切實反映寄存器的重要程度與對其進行加固的實際成本。以生命周期作為重要性評價標準無法完全反映實際的重要性,從而在資源有限時會在保護中保護一些實際上不那么重要的寄存器,而使一些更重要的寄存器失去保護。
SIRFT技術中以指令的魯棒性作為評價標準進行可配置加固的加固單位是一條或幾條指令,而一條指令的執(zhí)行結果是否會發(fā)生錯誤,不止取決于該指令執(zhí)行中是否發(fā)生了錯誤,也取決于與作為該指令數(shù)據來源的前置指令是否會發(fā)生錯誤,只對一條指令進行保護而不保護作為其前置指令,當受保護指令的前置指令發(fā)生錯誤時,受保護指令也會發(fā)生錯誤;S-SWIFT-R與本發(fā)明一樣以寄存器(S-SWIFT-R是在匯編語言級,故使用寄存器作為單位,本發(fā)明在xi級,故使用變量作為單位,原理上類似)的重要性作為評價標準,但是在對寄存器的重要性進行評價時只使用了生命周期作為評價標準,生命周期指一個寄存器從賦值到不再使用該寄存器的時間,實際上,寄存器的生命周期長并不一定代表寄存器的重要性高,有些寄存器雖然生命周期很長,但使用次數(shù)并不多,單純使用生命周期作為重要性評價標準不能完全反映實際重要性。
綜上所述,現(xiàn)有技術存在的問題是:現(xiàn)有的可配置加固方法存在:難以反應程序的數(shù)據流和控制流特征,單純的保護某幾條指令而不保護它們的數(shù)據來源并不會產生良好效果;只以生命周期作為評價標準并不全面,無法切實反映寄存器的重要程度與對其進行加固的實際成本。
發(fā)明內容
針對現(xiàn)有技術存在的問題,本發(fā)明提供了一種線性匯編級的可配置容錯方法、計算機、計算機程序。現(xiàn)有技術即SIRFT和S-SWIFT-R。本方案相較于現(xiàn)有技術:(1)考慮了數(shù)據流和控制流的錯誤傳播原理,并體現(xiàn)在變量的影響因子計算過程中;(2)將單個基本塊中的變量作為加固的最小單位,使得可配置的粒度更細。
本發(fā)明是這樣實現(xiàn)的,本發(fā)明所提出的變量影響因子計算方法綜合了本領域現(xiàn)有的一些效果較好的計算思路,并在其基礎上進行改進提出。
一種線性匯編級的可配置容錯方法,所述線性匯編級的可配置容錯方法包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國人民解放軍國防科技大學,未經中國人民解放軍國防科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711241004.9/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:時效控制的方法和裝置
- 下一篇:一種基于硬件的指令集在線加密系統(tǒng)





