[發(fā)明專(zhuān)利]一種航天器軟件空間使用安全性檢查方法有效
| 申請(qǐng)?zhí)枺?/td> | 201310746198.3 | 申請(qǐng)日: | 2013-12-30 |
| 公開(kāi)(公告)號(hào): | CN103745153A | 公開(kāi)(公告)日: | 2014-04-23 |
| 發(fā)明(設(shè)計(jì))人: | 陳睿;王政;董曉剛;關(guān)小川;綦艷霞;顧斌;陳堯 | 申請(qǐng)(專(zhuān)利權(quán))人: | 北京控制工程研究所 |
| 主分類(lèi)號(hào): | G06F21/52 | 分類(lèi)號(hào): | G06F21/52 |
| 代理公司: | 中國(guó)航天科技專(zhuān)利中心 11009 | 代理人: | 陳鵬 |
| 地址: | 100080 *** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 航天器 軟件 空間 使用 安全性 檢查 方法 | ||
1.一種航天器軟件空間使用安全性檢查方法,其特征在于:包括全局?jǐn)?shù)據(jù)區(qū)溢出的檢查方法和程序棧溢出的檢查方法,其中:
全局?jǐn)?shù)據(jù)區(qū)溢出的檢查方法步驟如下:
(1)建立內(nèi)存使用劃分表,約定C語(yǔ)言源代碼中各個(gè)全局變量的內(nèi)存占用區(qū)域及程序棧的內(nèi)存占用區(qū)域;
(2)分析C語(yǔ)言源代碼,獲取所有的全局變量名及其類(lèi)型;
(3)對(duì)于每個(gè)全局變量,執(zhí)行以下操作:
(31)分析C語(yǔ)言源代碼編譯固化時(shí)生成的mapfile,獲取該全局變量的首地址h;
(32)根據(jù)全局變量的首地址和類(lèi)型,計(jì)算該全局變量占用的內(nèi)存區(qū)域,方法如下:
(321)如果全局變量的類(lèi)型是整型或浮點(diǎn)型,則該全局變量占用的內(nèi)存區(qū)域從h到(h+類(lèi)型長(zhǎng)度–1);
(322)如果全局變量的類(lèi)型是除整型和浮點(diǎn)型以外的其他類(lèi)型,則令tmpAddr=h,對(duì)于該全局變量的每個(gè)成員,從第一個(gè)成員開(kāi)始迭代計(jì)算tmpAddr=tmpAddr+size+(tmpAddr%size),則該全局變量占用的內(nèi)存區(qū)域是h到(tmpAddr–1),其中size是成員的類(lèi)型長(zhǎng)度,%的含義是取余數(shù);
(33)比對(duì)內(nèi)存使用劃分表,如果該全局變量占用的內(nèi)存區(qū)域與內(nèi)存使用劃分表中的約定不相符,則報(bào)告全局?jǐn)?shù)據(jù)區(qū)溢出;
程序棧溢出的檢查方法步驟如下:
(1)建立內(nèi)存使用劃分表,約定C語(yǔ)言源代碼中各個(gè)全局變量的內(nèi)存占用區(qū)域及程序棧的內(nèi)存占用區(qū)域;
(2)分析C語(yǔ)言源代碼,從程序入口函數(shù)開(kāi)始,根據(jù)函數(shù)調(diào)用關(guān)系,對(duì)所有被調(diào)用的函數(shù)進(jìn)行深度遍歷,查找到所有的函數(shù)調(diào)用路徑;所述的函數(shù)調(diào)用路徑是從程序入口函數(shù)開(kāi)始的一個(gè)函數(shù)序列,除程序入口函數(shù)之外,該序列中的每一個(gè)函數(shù)都被相鄰的前一個(gè)函數(shù)調(diào)用,且序列中的最后一個(gè)函數(shù)不再調(diào)用其他函數(shù);
(3)對(duì)于每一個(gè)函數(shù)調(diào)用路徑,通過(guò)查找C語(yǔ)言源代碼編譯固化時(shí)生成的mapfile,獲取該函數(shù)調(diào)用路徑上每一個(gè)函數(shù)運(yùn)行時(shí)占用的內(nèi)存空間大?。粚⒃摵瘮?shù)調(diào)用路徑上每一個(gè)函數(shù)運(yùn)行時(shí)占用的內(nèi)存空間大小相加,得到該函數(shù)調(diào)用路徑的內(nèi)存占用空間s;
(4)對(duì)比內(nèi)存使用劃分表,如果s與內(nèi)存使用劃分表中的約定不相符,則報(bào)告程序棧溢出。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于北京控制工程研究所,未經(jīng)北京控制工程研究所許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310746198.3/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 上一篇:濕法混合制粒機(jī)
- 下一篇:多功能平磨胎具
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過(guò)保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過(guò)保護(hù)特定的外圍設(shè)備,如鍵盤(pán)或顯示器
G06F21-06 .通過(guò)感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過(guò)限制訪問(wèn)計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過(guò)限制訪問(wèn)或處理程序或過(guò)程
- 一種基于應(yīng)用軟件散布的軟件授權(quán)與保護(hù)方法及系統(tǒng)
- 一種用于航空機(jī)載設(shè)備的軟件在線加載系統(tǒng)及方法
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 惡意軟件檢測(cè)方法及裝置
- 一種基于軟件基因的軟件同源性分析方法和裝置
- 軟件引入系統(tǒng)、軟件引入方法及存儲(chǔ)介質(zhì)
- 軟件驗(yàn)證裝置、軟件驗(yàn)證方法以及軟件驗(yàn)證程序
- 使用靜態(tài)和動(dòng)態(tài)惡意軟件分析來(lái)擴(kuò)展惡意軟件的動(dòng)態(tài)檢測(cè)
- 一種工業(yè)控制軟件構(gòu)建方法和軟件構(gòu)建系統(tǒng)
- 可替換游戲軟件與測(cè)驗(yàn)軟件的裝置與方法





