亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        軟件全生命周期安全性測試方法研究

        2013-01-27 09:24:09尹黨輝
        中國測試 2013年2期
        關鍵詞:代碼安全性軟件

        尹黨輝,趙 穎,董 超

        (總后勤部后勤科學研究所,北京 100071)

        0 引 言

        安全性,是軟件質量屬性的重要方面,是軟件受到惡意攻擊時仍能提供所需功能的能力[1],避免造成不可接受風險的能力。

        軟件安全性測試,是驗證軟件的安全功能和識別潛在安全性缺陷的過程,是排除軟件中可能引發(fā)嚴重后果的錯誤、降低軟件安全風險[2]的重要手段。安全性測試不同于其他測試類型,它強調的是軟件不可以做什么。

        軟件安全性測試可分為安全功能驗證和安全漏洞檢測兩個方面[3]。安全功能驗證重點關注需求設計是否全部得到了實現(xiàn)和需求設計的要求是否一致,實現(xiàn)的功能運行是否正確無誤。軟件安全功能需求通常包括數(shù)據(jù)安全、用戶管理、訪問控制、傳輸安全等方面。安全漏洞測試,則是站在攻擊者角度去識別軟件可能存在的安全漏洞。所謂安全漏洞,是指軟件在設計、實現(xiàn)、應用和管理過程中存在的可被利用的缺陷。這些漏洞一旦在軟件投產后被攻擊者利用,即可使軟件進入不安全狀態(tài),造成一系列損失,因此安全漏洞檢測也是軟件安全性測試的一個重要方面。

        1 常見的軟件安全性問題

        軟件安全性問題多種多樣,本文介紹4類應用中最為常見的問題及其產生原因。

        1.1 緩沖區(qū)溢出

        緩沖區(qū)溢出安全性問題通常由兩種情況引發(fā):(1)設計空間不足,合法數(shù)據(jù)進入時,由于程序實現(xiàn)層內對應的設計空間不足,導致程序處理時出現(xiàn)溢出;(2)缺乏對數(shù)據(jù)的校驗,非法數(shù)據(jù)沒有在外部輸入層被檢查出來并丟棄,導致非法數(shù)據(jù)進入接口層和實現(xiàn)層,因超出對應的空間范圍,從而引起溢出。

        1.2 突破數(shù)據(jù)加密

        引起數(shù)據(jù)加密安全性問題[4]的因素很多,主要有:加密算法強度不夠,甚至應用窮舉法即可破解;用存在缺陷的偽隨機算法產生數(shù)據(jù)加密密碼,導致密碼易被破解;客戶機和服務器時鐘未嚴格同步,攻擊者可抓住時間差破解密碼或破壞數(shù)據(jù)等。

        1.3 用戶權限問題

        權限設計[5]分配不當,或實現(xiàn)后存在可突破漏洞,將可能導致只有普通用戶權限的惡意用戶利用過大的權限做出危害安全的操作,訪問超出規(guī)定范圍的其他資源。

        1.4 利用錯誤處理信息

        軟件在對錯誤操作進行處理時,為提高用戶體驗,通常都會給用戶返回一些信息,這些錯誤處理信息可能會被某些惡意用戶利用來實施攻擊。

        2 軟件安全性測試方法

        針對軟件全生命周期的安全性測試方法主要有以下4個方面。

        2.1 軟件需求安全性

        用戶需求是軟件產品成敗的根本,所以在產品研發(fā)的需求分析階段就應納入安全性需求考慮,提出必要的軟件安全功能、安全策略和安全完整性要求。

        在此階段,測試人員應根據(jù)軟件安全性需求分析的結果和初步的結構設計文檔,包括分配的功能需求、接口需求以及隱含需求[6],對產品安全性需求進行映射,形成軟件安全測試需求分析報告,該報告應經過用戶和產品設計人員的認可。測試人員依據(jù)該報告,綜合分析安全性需求的合理性、可行性、全面性,發(fā)現(xiàn)可能存有的漏洞,提出修改意見,還可以提出對后續(xù)軟件設計階段的建議。例如,某軟件需求分析階段沒有明確定義用戶權限,測試人員在需求分析階段的安全性測試中發(fā)現(xiàn)并提出,產品設計人員及時補充完善此部分功能定義,可避免產品應用后出現(xiàn)的權限問題。

        2.2 軟件概要設計安全性

        軟件概要設計是制定軟件基本安全性策略的階段,負責定義主要軟件部件,以及它們如何交互,如何獲得所要求的安全屬性,特別是安全完整性,是軟件安全性需求在結構定義中實現(xiàn)的階段。通常,數(shù)據(jù)加密算法會在軟件概要設計中進行基本明確。對概要設計進行安全性測試要做到將全部軟件安全性需求綜合到軟件的體系結構設計中,確定結構中與安全性相關的部分,并評價概要設計的安全性。

        概要設計是開發(fā)人員對系統(tǒng)期望功能和功能實現(xiàn)方式的表示方法,設計的合理性,通常會影響到安全完整性。測試員應根據(jù)軟件概要設計安全策略,設計測試項和測試用例。驗證軟件安全策略的有效性,通常應采用有效類和無效類的方法設計測試用例,用動畫/仿真技術證實功能的實現(xiàn)狀態(tài),借助接口分析技術分析安全相關部件與其他部件的相互依賴關系和獨立性。這一階段測試員應熟悉軟件的安全策略及實現(xiàn)方式,有針對性地設計測試用例。

        2.3 軟件詳細設計安全性

        軟件詳細設計進一步細化高層的體系結構設計,將軟件結構中的主要部件劃分為能獨立編碼、編譯和測試的軟件單元,并進行軟件單元的設計。

        在這一階段中,測試員需要依據(jù)軟件需求、結構設計描述、軟件集成測試[7]計劃之前所獲得的軟件安全性分析的結果,對軟件的設計和實現(xiàn)階段是否符合軟件安全性需求進行驗證。

        測試員應該仔細分析:(1)軟件詳細設計是否已覆蓋了軟件安全性需求;(2)軟件詳細設計是否與軟件概要設計保持了外部一致性;

        (3)軟件詳細設計是否滿足模塊化、可驗性、易安全修改的要求。

        軟件詳細設計既是對軟件需求的具體細化,又是程序編碼的最直接依據(jù)。常見的錯誤處理安全缺陷和用戶權限過大或過小漏洞等會出現(xiàn)在此階段。對于軟件處于邊界條件下的安全性,是軟件在詳細設計中常常被忽略的環(huán)節(jié),軟件的邊界存在于接口、數(shù)據(jù)、時間、狀態(tài)等方面。在測試過程中必須對邊界、界外及邊界結合部進行分段測試。軟件詳細設計安全性分析更關乎整個軟件的安全性。軟件詳細設計安全性常見的安全性測試手段和技術有設計邏輯分析、設計約束分析和復雜性度量。

        設計邏輯分析:評價軟件設計的方程式、算法和邏輯,可以包括失效檢測/診斷、冗余管理、變量報警和禁止命名邏輯的檢測。

        設計約束分析:給出一些約束,來評價軟件在這些約束下運行的能力。比如:物理時間約束和響應時間對軟件性能的檢查。

        復雜性度量:高度復雜的數(shù)據(jù)結構難以徹底測試,可以采用McCabe或Halstead等這樣一些復雜性評估技術來標示出需要進一步改進的區(qū)域。

        2.4 軟件編碼安全性

        軟件編碼完成軟件詳細設計的實現(xiàn)。所以,代碼應該體現(xiàn)軟件詳細設計所提出的設計要求,實現(xiàn)設計過程中開發(fā)的安全性設計特征和方法,遵循設計過程中提出的各種約束以及編碼標準。

        測試員一般采用代碼走查或靜態(tài)檢查工具來檢查源代碼,主要從以下兩個方面分析:

        (1)分析軟件代碼是否滿足模塊化、可驗證、易安全修改的要求;

        (2)分析軟件編碼中所使用技術的安全性和方法的合理性。

        常見的代碼安全性測試技術有代碼邏輯分析、代碼數(shù)據(jù)分析和復雜性度量。

        代碼邏輯分析[8]:如有不可達代碼,或代碼結構過于復雜,維護性降低。通過實施邏輯重構、方程式重構和存儲器解碼來進行。

        代碼數(shù)據(jù)分析:關注如何定義和組織數(shù)據(jù)項。變量忘記賦初值,或變量聲明了卻沒有使用,或出現(xiàn)了冗余代碼。

        復雜性度量:復雜軟件不穩(wěn)定,也經不起不可預測的行為。所以,努力使軟件的復雜度變小。如果有條件采用某種自動化工具,可以通過工具對軟件設計/用代碼進行控制,用圖形化的方法反映出軟件結構中的控制流和數(shù)據(jù)流,通過連結數(shù)/調用數(shù)、節(jié)點數(shù)、嵌套深度等這樣一些結構關系的檢查,獲得復雜度的度量,將會獲得很好的效果。

        3 結束語

        經過多年的軟件測試實踐,軟件測試作為驗證軟件功能性和安全性的重要手段,其采用的測試方法和測試技術影響著測試結果,關系著后續(xù)軟件的變更和測試的有效性,一些測試經驗和猜錯法也是十分必要的。軟件測試安全性分析既包括事前分析,也包括對測試結果的評價,對測試結果進行分析,以驗證所有的安全性需求是否得到了滿足。在執(zhí)行任何軟件變更之前,應建立軟件變更規(guī)程。如果必須進行軟件變更,則應該對已經受控的規(guī)格說明、需求、設計、編碼、計劃、規(guī)程、系統(tǒng)、環(huán)境、用戶文檔的任何變更都進行安全性分析。

        [1]McGraw Gary,Potter Bruce.Software security testing[J].IEEE Security&Privacy,2004,2(5):81-85.

        [2]劉學敏,周經倫,羅鵬程.基于小世界網(wǎng)絡的軟件安全風險傳播分析[J].江蘇大學學報,2011,32(1):89-93.

        [3]施寅生,鄧世偉,谷天陽.軟件安全性測試方法與工具[J].計算機工程與設計,2008,29(1):27-30.

        [4]任德昊,吳少華,顏開.局域網(wǎng)中的數(shù)據(jù)安全問題研究[J].中國民航飛行學院學報,2005,16(5):28-31.

        [5]呂宜洪,宋瀚濤,龔圓明.大型應用系統(tǒng)用戶權限構成分析及訪問控制策略研究[J].小型微型計算機系統(tǒng),2004,25(2):195-198.

        [6]Jorgensen P C.軟件測試[M].2 版.韓柯,杜旭濤.譯.北京:機械工業(yè)出版社,2003.

        [7]尹黨輝,連堯,董超.嵌入式軟件測試技術研究[J].中國測試,2011,37(z):74-77.

        [8]尹黨輝,于佳偉,李虎.軟件覆蓋測試技術研究[J].中國測試,2012,38(z):42-44.

        猜你喜歡
        代碼安全性軟件
        新染料可提高電動汽車安全性
        禪宗軟件
        英語文摘(2021年10期)2021-11-22 08:02:26
        某既有隔震建筑檢測與安全性鑒定
        軟件對對碰
        創(chuàng)世代碼
        動漫星空(2018年11期)2018-10-26 02:24:02
        創(chuàng)世代碼
        動漫星空(2018年2期)2018-10-26 02:11:00
        創(chuàng)世代碼
        動漫星空(2018年9期)2018-10-26 01:16:48
        創(chuàng)世代碼
        動漫星空(2018年5期)2018-10-26 01:15:02
        ApplePay橫空出世 安全性遭受質疑 拿什么保護你,我的蘋果支付?
        Imagination發(fā)布可實現(xiàn)下一代SoC安全性的OmniShield技術
        琪琪的色原网站| 亚洲综合中文日韩字幕| 国产av精品麻豆网址| 鲁丝片一区二区三区免费| 国语对白做受xxxxx在线中国 | 中文字幕天天躁日日躁狠狠躁免费 | 亚洲欧美在线观看| 亚洲最大无码AV网站观看| 午夜国产精品一区二区三区| 久久人妻av无码中文专区| 性一交一乱一乱一视频| 超碰日韩AV在线| 亚洲精品中文字幕熟女| 国产猛烈高潮尖叫视频免费| 亚洲色欲久久久久综合网| 国产成人永久在线播放| 亚洲人成伊人成综合久久| 婷婷色香五月综合缴缴情| 国产午夜福利短视频| 日韩Va亚洲va欧美Ⅴa久久| 日本va中文字幕亚洲久伊人| av鲁丝一区鲁丝二区鲁丝三区| 91麻豆国产香蕉久久精品| 偷拍激情视频一区二区| 91自拍视频国产精品| 日本理伦片午夜理伦片| 亚洲 无码 制服 丝袜 自拍 | 国产人妻熟女呻吟在线观看| 奇米影视777撸吧| 依依成人影视国产精品| 精品少妇一区二区三区入口| 国产精品爽爽久久久久久竹菊| 国产精品嫩草影院AV| 能看的网站中文字幕不卡av| 亚洲tv精品一区二区三区| 亚洲av永久无码精品国产精品 | 真人直播 免费视频| 人妻无码一区二区19P| 日韩高清不卡一区二区三区| 老少配老妇老熟女中文普通话| 国产精品亚洲午夜不卡|