System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
【國外來華專利技術】
技術介紹
1、本技術涉及指針和分支指令的認證的領域。
2、在一些處理系統中,指針易受惡意攻擊。例如,指針可能被惡意修改以修改程序的運行,例如以非預期方式將程序流重定向。
3、類似地,使程序流跳轉到一系列指令中的不同點的分支指令可能被惡意修改以將程序流重定向。
4、存在用于緩解此類惡意攻擊的方法。例如,可以對指針進行密碼簽名,并且將簽名用于驗證指針。類似地,可以通過提供用于校驗分支指令的方式來提高分支指令的安全性。
5、然而,此類緩解可能不會提供總體安全性并且因此可能仍然存在惡意攻擊的風險。因此,需要用于提高指針和分支指令的安全性的方法。
技術實現思路
1、至少一些示例提供了一種裝置,該裝置包括:
2、指令接收電路,該指令接收電路用于接收作為程序流的一部分的分支指令,所述分支指令對函數進行標識;
3、指令認證電路,該指令認證電路用于:
4、至少部分地基于該函數來確定指令認證值;以及
5、將該指令認證值與該分支指令進行組合以產生可認證分支指令,和
6、分支電路,該分支電路用于:
7、基于函數認證值來對該可認證分支指令進行認證;以及
8、響應于該可認證分支指令的成功認證來執行該程序流中到所述函數的跳轉。
9、另外的示例提供了一種方法,該方法包括:
10、接收作為程序流的一部分的分支指令,所述分支指令對函數進行標識;
11
12、將該指令認證值與該分支指令進行組合以產生可認證分支指令;
13、基于函數認證值來對該可認證分支指令進行認證;以及
14、響應于該可認證分支指令的成功認證來執行該程序流中到所述函數的跳轉。
15、另外的示例提供了一種非暫態計算機可讀介質,該非暫態計算機可讀介質用于存儲用于制造上文提及的裝置的計算機可讀代碼。
16、另外的示例提供了一種計算機程序,該計算機程序用于控制主機數據處理裝置以提供指令執行環境,該計算機程序包括:
17、指令接收邏輯,該指令接收邏輯用于接收作為程序流的一部分的分支指令,所述分支指令對函數進行標識;
18、指令認證邏輯,該指令認證邏輯用于:
19、至少部分地基于該函數來確定指令認證值;以及
20、將該指令認證值與該分支指令進行組合以產生可認證分支指令,和
21、分支邏輯,該分支邏輯用于:
22、基于函數認證值來對該可認證分支指令進行認證;以及
23、響應于該可認證分支指令的成功認證來執行該程序流中到所述函數的跳轉。
24、本技術的另外的方面、特征和優點將從結合附圖閱讀的示例的以下描述中顯而易見。
本文檔來自技高網...【技術保護點】
1.一種裝置,所述裝置包括:
2.根據權利要求1所述的裝置,其中所述函數認證值被存儲在對應于所述函數的代碼內。
3.根據權利要求2所述的裝置,其中所述函數認證值緊接在分支目標指示符之后被存儲在對應于所述函數的所述代碼中。
4.根據任一前述權利要求所述的裝置,其中所述指令認證電路被配置為基于指示對應于所述函數的代碼的至少一部分的數據來確定所述指令認證值。
5.根據任一前述權利要求所述的裝置,其中所述分支電路被配置為通過將所述指令認證值與所述函數認證值進行比較來認證所述可認證分支指令。
6.根據權利要求5所述的裝置,其中所述分支電路被配置為響應于所述指令認證值匹配所述函數認證值來確定所述可認證分支指令的成功認證。
7.根據權利要求5或權利要求6所述的裝置,其中所述分支電路響應于所述可認證分支指令的不成功認證來標識錯誤。
8.根據任一前述權利要求所述的裝置,其中所述指令認證電路被配置為基于密碼密鑰來對所述分支指令進行加密。
9.根據任一前述權利要求所述的裝置,其中由所述指令認證電路執行的所述
10.根據從屬于權利要求8時的權利要求9所述的裝置,其中所述指令認證電路被配置為基于所述密鑰來執行所述密碼混洗。
11.根據任一前述權利要求所述的裝置,其中所述分支電路被配置為:
12.根據從屬于權利要求9或權利要求10時的權利要求11所述的裝置,其中所述分支電路被配置為通過以下操作來提取所述指令認證值:
13.根據權利要求11或權利要求12所述的裝置,其中所述分支電路被配置為:
14.根據任一前述權利要求所述的裝置,所述裝置還包括:
15.一種方法,所述方法包括:
16.一種非暫態計算機可讀介質,所述非暫態計算機可讀介質用于存儲用于制造根據權利要求1至14中任一項所述的裝置的計算機可讀代碼。
17.一種計算機程序,所述計算機程序用于控制主機數據處理裝置以提供指令執行環境,所述計算機程序包括:
...【技術特征摘要】
【國外來華專利技術】
1.一種裝置,所述裝置包括:
2.根據權利要求1所述的裝置,其中所述函數認證值被存儲在對應于所述函數的代碼內。
3.根據權利要求2所述的裝置,其中所述函數認證值緊接在分支目標指示符之后被存儲在對應于所述函數的所述代碼中。
4.根據任一前述權利要求所述的裝置,其中所述指令認證電路被配置為基于指示對應于所述函數的代碼的至少一部分的數據來確定所述指令認證值。
5.根據任一前述權利要求所述的裝置,其中所述分支電路被配置為通過將所述指令認證值與所述函數認證值進行比較來認證所述可認證分支指令。
6.根據權利要求5所述的裝置,其中所述分支電路被配置為響應于所述指令認證值匹配所述函數認證值來確定所述可認證分支指令的成功認證。
7.根據權利要求5或權利要求6所述的裝置,其中所述分支電路響應于所述可認證分支指令的不成功認證來標識錯誤。
8.根據任一前述權利要求所述的裝置,其中所述指令認證電路被配置為基于密碼密鑰來對所述分支指令進行加密。
【專利技術屬性】
技術研發人員:達尼爾·克里斯托夫·基斯,
申請(專利權)人:ARM有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。