




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、世界科技研究與發(fā)展 總31卷2009年1期77-80擴展的語義分析的WAP協(xié)議缺陷測試龍釗 李巍海 劉剛 呂玉琴(北京郵電大學電子工程學院 北京100876)摘要:首先介紹了一種基于語義分析的缺陷測試技術。該測試方法利用語義測試及軟件錯誤注入來進行測試。它比傳統(tǒng)測試的成本要小,同時能達到很好的效果。但該方法只能檢測協(xié)議實現(xiàn)級別的漏洞,而不能檢測協(xié)議設計中可能存在的缺陷。本文結(jié)合了Petri網(wǎng)在協(xié)議測試方面的優(yōu)點提出了一種擴展的語義分析的協(xié)議缺陷測試方法。它能通過對協(xié)議Petri網(wǎng)模型的分析來捕獲協(xié)議層面的缺陷,而為此所需的額外開銷是很小的。這彌補了原缺陷測試在協(xié)議層面的不足。之后對該方法各個階
2、段進行了介紹。對wap-wsp協(xié)議的進行了缺陷測試,并對結(jié)果進行了分析,證明其可行性。關鍵詞:缺陷測試 語義分析 協(xié)議測試 VOPN Petri網(wǎng) 中圖分類號:TP393.04 文獻標識碼:AAn Extended Vulnerability Testing of WAP Protocol through Syntax AnalysisLONG Zhao,LI Wei-hai,LIU Gang,Lv Yu-qin(School of Electronic Engineering, Beijing University of Post and Telecommunication, Beijing
3、 100876, China)Abstract: A vulnerability testing method based on syntax analysis is introduced first.The testing method works by syntax testing and software fault injection and it costs less than traditional testing methods to archieve good effect. However, it can only catch the bugs on implementati
4、on level, but can not check the bugs on protocol design level. In this paper, an extended vulnerability testing method for communication protocol, which is combined with the superiority of Petri Net system, is brought forward. The extended method can catch the bugs on protocol design level by analyz
5、ing the Petri Net model of the protocol, and the additional cost is small.A vulnerability testing of wap-wsp protocol is made and the result is analyzed to prove the feasibility of the method.Keyword: Vulnerability Testing, Syntax Analysis, Protocol Testing, VOPN, Petri Net 基金項目: 國家自然科學基金資助項目(編號:607
6、72111)1 介紹軟件漏洞的廣泛存在給用戶帶來了諸多不便,例如信息的丟失等等。這種缺陷通常會對信息的保密性、完整性和可靠性造成破壞。1因此,產(chǎn)生了很多針對通信協(xié)議軟件的測試方法。缺陷測試分析基于已公開披露的缺陷來定位軟件中的漏洞2。語義分析的測試方法利用語義測試及軟件錯誤注入來進行測試3。但它僅局限在實現(xiàn)的層面,而不能發(fā)現(xiàn)協(xié)議中可能存在的錯誤。而Petri網(wǎng)在通信協(xié)議的設計、仿真和測試的研究和應用中體現(xiàn)了它的很多優(yōu)點。4因此,本文結(jié)合了語義分析與Petri網(wǎng)中的特點,提出了一種擴展的語義分析的測試方法。并對wap-wsp5協(xié)議進行了測試分析,最后得出結(jié)論。2 擴展語義測試的必要性在語義測試中
7、,測試用例,是基于能夠被軟件接口所理解的語言規(guī)范而創(chuàng)建的1。這種語言可以是隱藏或者公開的3。對這種語言進行測試可以在收到良好效果的同時花費更小的成本。在語義測試中采用錯誤注入的方式對被測實現(xiàn)進行測試。測試用例可以是單錯語句,也可以是包含兩個或更多錯誤的語句。在語義測試中可以產(chǎn)生五種類型的錯誤,分別是:語義錯誤、分界符錯誤、域/值錯誤、上下文依賴錯誤、狀態(tài)依賴錯誤3。語義測試雖然有諸如成本小,可靠性高,靈活性強的優(yōu)點。但也存在其局限性:a) 語義測試只可能發(fā)現(xiàn)軟件實現(xiàn)級別的漏洞。b) 不是軟件所有的部分都可以檢測。由于語義測試存在著對協(xié)議設計和分析方面的不足,因此它在協(xié)議分析層面的作用微小。而隨
8、著Petri網(wǎng)在協(xié)議描述、分析測試方面研究的不斷深入,它被根據(jù)不同需要擴展出了多種高級Petri網(wǎng)4。它能有效地分析和測試協(xié)議層面的缺陷。文獻6就針對應用于一致性測試的高級Petri網(wǎng)進行了研究。由于一致性測試與缺陷測試之間存在諸如測試角度,冗余元素等多方面的差異,因而這種高級Petri網(wǎng)并不能應用于缺陷測試的分析中。基于以上考慮,本文從缺陷測試的角度出發(fā),并將Petri網(wǎng)與語義測試相結(jié)合,提出一種基于擴展的Petri網(wǎng)VOPN(Vulnerability-testing Oriented Petri Net)的語義測試方法。它能在一定層度上彌補原有語義測試在協(xié)議層面測試的不足。3 擴展的語義
9、分析測試方法模型3.1 方法流程VOPN主要流程包括:協(xié)議描述、模型分析、錯誤注入,如圖1所示。其中,協(xié)議描述是根據(jù)對協(xié)議的文本描述建立Petri網(wǎng)模型;模型分析是對Petri網(wǎng)模型進行分析并設計出測試用例;錯誤注入是將設計好的測試用例輸通過注入器注入到被測實現(xiàn)中。協(xié)議建模模型分析錯誤注入Petri網(wǎng)模型 測試用例測試報告 協(xié)議描述 圖1:VOPN方法流程圖3.2 協(xié)議建模在協(xié)議建模階段,主要工作是通過擴展的Petri網(wǎng)完成對被測協(xié)議的建模。該Petri網(wǎng)的描述如下:3.2.1 靜態(tài)結(jié)構(gòu)定義1:一個應用于缺陷測試的Petri網(wǎng)可以形式地表示為8元組PS=(P ,T ;F ,A ,X ,C ,t
10、 ,M0 ),其中:a.(P ,T ;F )是一個基本的Petri網(wǎng),P元素代表庫所,T元素代表變遷,F(xiàn)元素代表流關系;b.A是一個資源的非空有限集合,資源可以是變量,常量或定時器;c.X是缺陷有限集合,包括所有可能注入的缺陷種類,它必須附著在A之上,即A與X是一對多的關系;當A中的某個資源a被注入缺陷集合X中的某個缺陷x時,可以表示為a(x);d.C是資源函數(shù),C:PTP(A),P(A)是資源集A的冪集;e.變遷集T = TsTrTt,且TsTrTt=,Ts為發(fā)送變遷,表示通信中的發(fā)送操作,Tr為接收變遷,代表通信中的接收操作,Tt為超時變遷,代表一段超時時間;f.t是超時函數(shù),t:Tt0N
11、+,N+表示正有理數(shù);g.M0是初始標識,M0:PAMS。以下為定義1的說明:a.N=(P , T ;F )與基本Petri網(wǎng)定義相同;b.在描述協(xié)議測試時,資源集合A和缺陷集合X一起可以描述在測試過程中被測系統(tǒng)接收的請求數(shù)據(jù)或定時器等資源的全體以及注入在它們當中的缺陷;從而表示某種類型錯誤的注入;c.資源函數(shù)C定義了每個位置piP和每個變遷tiT上的資源。對于piP,C(pi)是位置pi上所擁有的資源的集合;對于tiT,C(ti)是變遷ti上所有需要的資源的集合,是變遷可實施的必要條件;d.變遷集T用于表示通信操作或超時。網(wǎng)絡協(xié)議的實體在發(fā)送、接收數(shù)據(jù)這樣的操作或超時時,都會發(fā)生狀態(tài)的改變。
12、e.t規(guī)定了和每個超時相關聯(lián)的超時時間;f.初始標記函數(shù)M0表示初始狀態(tài)。3.2.2 動態(tài)行為一個VOPN網(wǎng)模型的動態(tài)行為由它的實施規(guī)則來規(guī)定。該模型的實施規(guī)則的非形式化描述為:a.若一個發(fā)送變遷的所有輸入位置至少有一個標記,則該變遷可實施;b.若一個接收變遷的所有輸入位置至少有一個標記,且接收到的資源和該變遷上的資源相等時(即接收到預期的資源),則這個變遷可實施。c.若一個超時變遷的所有輸入位置至少有一個標記,且超時時間到,則該變遷可實施。3.2.3 表示方法VOPN用圖形加表格的方式表示,圖形部分以Petri網(wǎng)圖形為基礎,表示協(xié)議的動態(tài)行為,對于注入錯誤的變遷用虛線表示;表格部分說明資源和
13、缺陷的含義,分為庫所、變遷、資源和缺陷4個表。例如圖2所示模型,它表示客戶端在初始狀態(tài)(s0)通過發(fā)送連接請求(t0)從而轉(zhuǎn)移到等待連接狀態(tài)(s1)。虛線表示在發(fā)送變遷中在資源a0上注入了種類為x0的錯誤(a0和x0的含義將在資源表和缺陷表中描述),客戶端根據(jù)虛線的描述做出的處理是拋棄錯誤請求,并停留在初始狀態(tài)。s0t1s1a0(x0) 圖2:簡單的VOPN模型3.3 模型分析模型建立好后,可進行模型分析從而得到測試用例。在VOPN中,表示狀態(tài)和變化的元素與基本Petri網(wǎng)系統(tǒng)的相同,分別稱為S_元素和T_元素,即庫所和變遷7。變遷t表示變化,資源函數(shù)C(t)表示和變化相聯(lián)系的資源,庫所s有不
14、同的狀態(tài),缺陷X表示注入錯誤的種類。分析規(guī)則如下:a) 找到描述交互的變遷。它是潛在的錯誤注入點。而對于沒有描述交互的變遷,則可以省略以簡化模型。如圖2中的t1描述了客戶端發(fā)送連接請求與服務器端進行交互。b) 確定錯誤注入的位置。資源集合A確定了可以進行錯誤注入的位置。例如圖2中的a0表示向發(fā)送請求的請求url中注入錯誤。c) 選擇注入錯誤的類型。缺陷結(jié)合X確定了可以注入的錯誤類型。在語義測試中主要有語義錯誤、分界符錯誤、域/值錯誤、上下文依賴錯誤、狀態(tài)依賴錯誤五類錯誤可以選擇??梢栽谕晃恢米⑷胍环N或多種錯誤,測試用例的數(shù)目將根據(jù)錯誤種類的增加而成指數(shù)增長。d) 資源表可以不斷補充,從而增加
15、錯誤注入的位置;缺陷表可以在原有的5類錯誤中細化,得到更多種類的缺陷,目的是為了讓描述更加詳細準確,以便于測試用例的生成。3.4 錯誤注入在錯誤注入階段,將通過錯誤注入器將建模分析階段生成的測試用例注入到被測實現(xiàn)中。注入器使用UDP方式將測試用例以一個可設的間隔發(fā)送給被測實現(xiàn),并檢測被測實現(xiàn)的行為是否與預期行為一致。最后根據(jù)測試結(jié)果生成測試報告。4 wap-wsp缺陷測試案例分析隨著以手機為代表的無線市場的快速發(fā)展, 新的無線業(yè)務不斷涌現(xiàn),wap協(xié)議制定了一系列無線應用的規(guī)范,其中的wsp(無線會話協(xié)議)幾乎在所有的業(yè)務中都會用到,因此有必要保證wap-wsp協(xié)議的可靠性。下面以wap-wsp
16、協(xié)議為例,介紹用VOPN對其進行測試的方法。圖3為wap-wsp協(xié)議客戶端的建模圖形。圖3中的庫所、變遷、資源和缺陷見表1到表4。s0t0s1t4s2t6t7s3s4t3t1t2a0(x0)t5圖3:wap-wsp協(xié)議客戶端VOPN建模圖 表1:庫所的含義庫所含義S0無效,等待發(fā)送請求S1連接S2接通S3已被掛起S4恢復表2:變遷的含義變遷含義t0發(fā)送S-connect.reqt1發(fā)送S-disconnect.reqt2發(fā)送S-MethodInvoke.reqt3接收TR-result.indt4接收TR-abort.indt5發(fā)送S-suspend.reqt6發(fā)送S-resume.reqt7
17、接收TR-invoke.ind 3:資源定義表資源名稱資源類型所屬節(jié)點含義a0數(shù)據(jù)幀s1,s2,s3,s4 ,t1斷開連接表4:缺陷定義表缺陷名稱缺陷類型含義x0分界符錯誤請求url中使用特殊符號代替分界符根據(jù)協(xié)議描述,wsp客戶端具有無效、連接、接通、掛起、恢復5個狀態(tài),用s0-s4來表示。在無效狀態(tài)下客戶端通過發(fā)送連接請求從而進入連接狀態(tài),在連接狀態(tài)下如果客戶端接收到服務器端發(fā)送的方法調(diào)用結(jié)果響應,則進入接通狀態(tài)。這些請求或者響應觸發(fā)了客戶端狀態(tài)的改變,因此可以用變遷來描述,表2給出了模型中各個變遷的含義。模型建立好后,便可以對其進行分析從而得出測試用例。在語義測試中,主要通過對交互的接口
18、注入錯誤來測試健壯性??梢栽诎l(fā)送變遷之后加上資源及注入的錯誤來表示一個測試例。例如,圖3中在s1進行t1變遷時注入了錯誤,對注入錯誤的有向弧(s1,t1),使用虛線表示。并在虛線旁注明注入缺陷的資源和缺陷種類,即圖3中的a0(x0),a0和x0在表3和表4中有所描述。這表明測試系統(tǒng)向斷開連接(重定向)請求的請求url中注入邊界符錯誤。從而得到如下請求消息:*&/redirect.wml$同樣,在VOPN中可以從協(xié)議的層面來規(guī)定協(xié)議處理錯誤請求的動作,例如上面的例子,協(xié)議將斷開連接,回到無效狀態(tài)。在錯誤注入階段,測試案例都將通過UDP包的方式發(fā)送給實現(xiàn)協(xié)議的wap網(wǎng)
19、關,網(wǎng)關將接收到的包進行相關處理后發(fā)送給http服務器。從健壯的角度看,網(wǎng)關應能識別錯誤并做出相應的處理,避免將包含錯誤代碼的請求發(fā)送到服務器。試驗中用到的所有測試用例的重點在于檢測如下三個類型的異常錯誤以及它們之間的結(jié)合:l 字符串異常字符串異常主要由多個ASCII字符組成(例如”c”)。用例中測試了大多數(shù)可能引起錯誤的字符數(shù)目范圍。l 長度異常長度異常是指測試用例中包括UINTVAR類型的整型數(shù)字。這些數(shù)字通常都是普通的二進制數(shù)值。l 分界符異常分界符異常是通過注入錯誤的URL分界符號,如”;/”,”:+1000x”/”。執(zhí)行完所有的測試用例之后,將生成測試報告。通過對Petri網(wǎng)模型的分
20、析,并加入已有的原測試用例,我們得到的測試結(jié)果為:在全部的4236個測試案例中,有622個測試案例未能測試通過。每一個案例測試的失敗意味著一個潛在的安全漏洞(如拒絕服務攻擊)。大多數(shù)情況下測試失敗代表著系統(tǒng)出現(xiàn)內(nèi)存崩潰,堆棧崩潰或者其他的致命錯誤。其中一些會導致典型的緩存溢出漏洞。VOPN與傳統(tǒng)的語法健壯性測試相比,最大的優(yōu)點在于它提供了在協(xié)議層面檢查漏洞的能力。而健壯性測試的另一種廣泛采用的技術是域測試法。該方法是通過探測輸入值域中的極值點和不連續(xù)點來對被測系統(tǒng)的健壯性進行測試。與該方法相比,基于語法測試的VOPN在測試的覆蓋率上面要更大。表5給出了這幾種方法間的對比:表5:VOPN與其他測
21、試方法比較方法名覆蓋度測試層面用例生成VOPN可覆蓋被測部分信息包和協(xié)議體的所有可能的語法錯誤。協(xié)議層面、設計層面、實現(xiàn)層面根據(jù)語法規(guī)則可自動生成連續(xù)的測試。語法測試同上實現(xiàn)層面同上域測試被測部分輸入值域的極值點和不連續(xù)點實現(xiàn)層面根據(jù)輸入值域可生成離散的測試。5 結(jié)論本文結(jié)合了Petri網(wǎng)在協(xié)議建模分析測試方面的特點,對語義分析測試進行了擴展。提出了一種擴展的語義測試法VOPN。VOPN能夠在協(xié)議層面進行分析和測試,這在一定程度上彌補了語義測試只能發(fā)現(xiàn)實現(xiàn)層面缺陷的弱點。下一步的工作有,VOPN圖的化簡,自動生成測試用例的方法,測試覆蓋率的研究等問題。參考文獻:1 Beizer B. (1990) Software Testing Techniques, Second EditionEB/OL, ISBN 0-442-20672-0. 2 Laakso M., Takanen A., Rning J.(1999) The Vulnerability Process: a tiger team approach to resolving vulnerability casesEB/OL. In proceedings of the
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZRIA 002-2024 工業(yè)巡檢四足機器人通.用技術條件
- T-ZSM 0058-2024“領跑者”評價技術要求 飾面木質(zhì)墻板
- 二零二五年度林業(yè)林地經(jīng)營權買賣合同
- T-ZJATA 0022-2024 土壤中揮發(fā)性有機物測定用便攜式氣相色譜-質(zhì)譜聯(lián)用儀
- T-ZJZYC 022-2024 靈芝工廠化生產(chǎn)技術規(guī)程
- 二零二五年度簽約主播與汽車廠商合作直播試駕體驗協(xié)議
- 二零二五年度會展中心物業(yè)管理服務托管協(xié)議
- 二零二五年度新能源項目投資對賭協(xié)議
- 二零二五年度股東清算與清算資產(chǎn)評估及拍賣協(xié)議
- 二零二五年度創(chuàng)新創(chuàng)業(yè)團隊員工合作協(xié)議書
- 《時代與變革?版畫藝術的魅力》教學設計
- 《民法典》醫(yī)療損害責任篇培訓課件
- 咨詢公司項目風險控制方案
- 2024年初一英語閱讀理解專項練習及答案
- 病例報告表(CRF)模板
- 2024年云南昆明市教育體育局直屬學校(單位)選調(diào)10人易考易錯模擬試題(共500題)試卷后附參考答案
- (完整版)建筑工程項目精益建造實施計劃書
- 《2024年 《法學引注手冊》示例》范文
- DL∕T 2447-2021 水電站防水淹廠房安全檢查技術規(guī)程
- NB-T+10499-2021水電站橋式起重機選型設計規(guī)范
- 城市更新可行性研究結(jié)論與建議
評論
0/150
提交評論