国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于Vxworks的代碼保護方法研究

2013-08-20 01:54:46肖永全張國
網(wǎng)絡安全技術與應用 2013年5期
關鍵詞:二進制實時性內核

肖永全 張國

1西安西瑞保護控制設備有限責任公司 陜西 710000

2長慶油田公司礦區(qū)事業(yè)部 陜西 710000

0 引言

在嵌入式實際應用過程中,因為嵌入式系統(tǒng)其獨特性和實時性要求,基本上沒有虛擬內存等機制存在,整個內存空間對用戶程序開放的。所以不恰當?shù)牟僮?,往往會修改其代碼段甚至系統(tǒng)內核,從而導致缺陷缺陷甚至系統(tǒng)崩潰。而對代碼段只讀區(qū)域進行檢測保護,是保護一個嵌入式系統(tǒng)可靠性的可行的實現(xiàn)方法。

1 基本技術

1.1 vxworks簡介

VxWorks操作系統(tǒng)是美國WindRiver公司于1983年設計開發(fā)的一種嵌入式實時操作系統(tǒng)(RTOS),是嵌入式開發(fā)環(huán)境的關鍵組成部分。良好的持續(xù)發(fā)展能力、高性能的內核以及友好的用戶開發(fā)環(huán)境,在嵌入式實時操作系統(tǒng)領域占據(jù)一席之地。它以其良好的可靠性和卓越的實時性被廣泛地應用在通信、軍事、航空、航天等高精尖技術及實時性要求極高的領域中,如衛(wèi)星通訊、軍事演習、彈道制導、飛機導航等。

1.2 編譯鏈接過程

Vxworks系統(tǒng)使用linux系統(tǒng)的GNU工具鏈,其中包括GCC編譯器和LD鏈接器。其編譯生成的二進制文件格式符合ELF格式,其系統(tǒng)加載規(guī)則符合ELF規(guī)定。

1.3 ELF文件簡析

ELF(可執(zhí)行連接格式)是UNIX系統(tǒng)實驗室(USL)作為應用程序二進制接口(Application Binary Interface(ABI))而開發(fā)和發(fā)布的。工具接口標準委員會(TIS)選擇了正在發(fā)展中的ELF標準作為工作在32位INTEL體系上不同操作系統(tǒng)之間可移植的二進制文件格式。ELF文件現(xiàn)在已經(jīng)成為Linux系統(tǒng)下最主要最流行的可執(zhí)行文件格式。Gcc的默認輸出格式就是elf。而VxWorks下生成的程序映像就是ELF格式,如圖1所示。

圖1 ELF文件格式布局

首先是文件頭和程序頭表,然后依次各個段排列在后。其中每個段的描述均在節(jié)頭表(section header table)中。比如要查找代碼段信息,需要查找ELF文件頭中Text段的偏移量和長度。

1.4 CRC校驗公式

由于CRC-32的可靠性,把CRC-32用于重要數(shù)據(jù)存儲傳輸十分合適,所以在通信、計算機等領域運用十分廣泛。

對代碼段采用CRC-32校驗,其中生成多項式為:

若余式為零則認為存儲無差錯;若余式不為零則存儲有差錯。

2 實現(xiàn)方法

在宿主機生成目標印象ELF的之后,編制腳本objdump從而解析出其代碼段偏移地址 TextSectionOffset和長度TextSectionSize。在目標機加載運行后,啟動tCheckTextSection任務,定期進行代碼段校驗,如校驗值和初始校驗值不相符,則應該進行異常處理(圖2)。

在系統(tǒng)加載后,數(shù)據(jù)段TextSection的值會發(fā)生變化,而代碼段應該穩(wěn)定,如果發(fā)生變化,則可以斷定內存越界錯誤。而這種錯誤在自動控制設備中,往往是致命的錯誤,需要及時處理,否則將造成被控制對象誤操作,從而給工業(yè)生產(chǎn)帶來損失。

圖2 tCheckTextSection流程示意

在系統(tǒng)加載后,數(shù)據(jù)段TextSection的值會發(fā)生變化,而代碼段應該穩(wěn)定,如果發(fā)生變化,則可以斷定內存越界錯誤。而這種錯誤在自動控制設備中,往往是致命的錯誤,需要及時處理,否則將造成被控制對象誤操作,從而給工業(yè)生產(chǎn)帶來損失。

因為本系統(tǒng)是智能電網(wǎng)電力自動化設備,控制對象是國家電網(wǎng),如果系統(tǒng)錯誤動作將會造成錯誤供電或者錯誤斷電,影響很大。目前本系統(tǒng)采用的異常處理,即立刻停止所有后續(xù)操作,并且使系統(tǒng)進入安全模式。在安全模式中對系統(tǒng)進行最小化動作處理后系統(tǒng)重新加載代碼段。

3 下一步工作

在實際工程實踐中,此方法證明可以穩(wěn)定有效的保證代碼段的完整性,在下一步的工作中,但是沒有對代碼段的內部結構進行分析。其可以繼續(xù)細分為系統(tǒng)內核,核心任務,應用任務。可以對其進行重要性,優(yōu)先級排序后,當次要模塊被修改后,只需要重新加載其代碼而不是整個系統(tǒng)映像重新加載一遍。

[1]Wind River System.VxWorks_BSP_Reference www.wind_river.com.2004.

[2]基于 PowerPC的嵌入式 Linux.北京航空航天大學出版社.2004.

猜你喜歡
二進制實時性內核
萬物皆可IP的時代,我們當夯實的IP內核是什么?
用二進制解一道高中數(shù)學聯(lián)賽數(shù)論題
強化『高新』內核 打造農(nóng)業(yè)『硅谷』
基于規(guī)則實時性的端云動態(tài)分配方法研究
高技術通訊(2021年3期)2021-06-09 06:57:24
有趣的進度
二進制在競賽題中的應用
基于嵌入式Linux內核的自恢復設計
Linux內核mmap保護機制研究
基于虛擬局域網(wǎng)的智能變電站通信網(wǎng)絡實時性仿真
航空電子AFDX與AVB傳輸實時性抗干擾對比
泽州县| 无为县| 乡宁县| 朔州市| 汉中市| 炉霍县| 临朐县| 嘉荫县| 申扎县| 古田县| 司法| 沁阳市| 沛县| 九江市| 黑水县| 星座| 张家口市| 商丘市| 岳阳县| 汝阳县| 衡山县| 和静县| 广河县| 本溪市| 沛县| 天气| 和硕县| 五指山市| 宜宾市| 铜陵市| 济源市| 清原| 丰城市| 子洲县| 余姚市| 左权县| 华安县| 嘉善县| 阿拉善左旗| 泌阳县| 常熟市|