<pre id="ff7yo"></pre>

      <form id="ff7yo"><legend id="ff7yo"></legend></form>
        <nav id="ff7yo"><listing id="ff7yo"></listing></nav><nav id="ff7yo"></nav>

        <nav id="ff7yo"><listing id="ff7yo"></listing></nav>
        <small id="ff7yo"></small><nav id="ff7yo"><dd id="ff7yo"></dd></nav>
      1. <nav id="ff7yo"></nav>
          <form id="ff7yo"></form><nav id="ff7yo"></nav>
          <nav id="ff7yo"></nav>
          <sub id="ff7yo"></sub>
          更多課程 選擇中心

          軟件測試培訓
          達內IT學院

          400-111-8989

          軟件安全測試的幾個原則

          • 發布:軟件測試培訓
          • 來源:網絡
          • 時間:2017-04-10 17:29

          軟件安全性是一個廣泛而復雜的主題,要避免因安全性缺陷問題受各種可能類型的攻擊是不切實際的。本文從軟件安全測試需要考慮的問題,來探討軟件安全測試原則,通過遵循這些原則避免許多常見的安全性測試問題出現。

          關鍵詞:軟件安全;測試;原則

          軟件安全性是一個廣泛而復雜的主題,每一個新的軟件總可能有完全不符合所有已知模式的新型安全性缺陷出現。要避免因安全性缺陷問題受各種可能類型的攻擊是不切實際的。在軟件安全測試時,運用一組好的原則來避免不安全的軟件上市、避免不安全軟件受攻擊,就顯得十分重要。

          一、軟件安全性測試基本概念

          軟件安全性測試包括程序、網絡、數據庫安全性測試。根據系統安全指標不同測試策略也不同。

          1.用戶程序安全的測試要考慮問題包括:

          ① 明確區分系統中不同用戶權限;

          ② 系統中會不會出現用戶沖突;

          ③ 系統會不會因用戶的權限的改變造成混亂;

          ④ 用戶登陸密碼是否是可見、可復制;

          ⑤ 是否可以通過絕對途徑登陸系統(拷貝用戶登陸后的鏈接直接進入系統);

          ⑥ 用戶推出系統后是否刪除了所有鑒權標記,是否可以使用后退鍵而不通過輸入口令進入系統。

          2.系統網絡安全的測試要考慮問題包括:

          ① 測試采取的防護措施是否正確裝配好,有關系統的補丁是否打上;

          ② 模擬非授權攻擊,看防護系統是否堅固;

          ③ 采用成熟的網絡漏洞檢查工具檢查系統相關漏洞;

          ④ 采用各種木馬檢查工具檢查系統木馬情況;

          ⑤ 采用各種防外掛工具檢查系統各組程序的客外掛漏洞。

          3.數據庫安全考慮問題:

          ① 系統數據是否機密(比如對銀行系統,這一點就特別重要,一般的網站就沒有太高要求);

          ② 系統數據的完整性;

          ③ 系統數據可管理性;

          ④ 系統數據的獨立性;

          ⑤ 系統數據可備份和恢復能力(數據備份是否完整,可否恢復,恢復是否可以完整)。

          二、根據軟件安全測試需要考慮的問題

          1. 保護了最薄弱的環節

          攻擊者往往設法攻擊最易攻擊的環節,這對于您來說可能并不奇怪。即便他們在您系統各部分上花費相同的精力,他們也更可能在系統最需要改進的部分中發現問題。這一直覺是廣泛適用的,因此我們的安全性測試應側重于測試最薄弱的部分。

          如果執行一個好的風險分析,進行一次最薄弱環節的安全測試,標識出您覺得是系統最薄弱的組件應該非常容易,消除最嚴重的風險,是軟件安全測試的重要環節。

          2. 是否具有縱深防御的能力

          縱深防御背后的思想是:使用多重防御策略來測試軟件,以至少有一層防御將會阻止完全的黑客破壞。 “保護最薄弱環節”的原則適用于組件具有不重疊的安全性功能。當涉及到冗余的安全性措施時,所提供的整體保護比任意單個組件提供的保護要強得多,縱深防御能力的測試是軟件安全測試應遵循的原則。

          3. 是否有保護故障的措施

          大量的例子出現在數字世界。經常因為需要支持不安全的舊版軟件而出現問題。例如,比方說,該軟件的原始版本十分“天真”,完全沒有使用加密。現在該軟件想修正這一問題,但已建立了廣大的用戶基礎。此外,該軟件已部署了許多或許在長時間內都不會升級的服務器。更新更聰明的客戶機和服務器需要同未使用新協議更新的較舊的客戶機進行互操作。該軟件希望強迫老用戶升級,沒有指望老用戶會占用戶基礎中如此大的一部分,以致于無論如何這將真的很麻煩。怎么辦呢?讓客戶機和服務器檢查它從對方收到的第一條消息,然后從中確定發生了什么事情。如果我們在同一段舊的軟件“交談”,那么我們就不執行加密。

          遺憾的是,老謀深算的黑客可以在數據經過網絡時,通過篡改數據來迫使兩臺新客戶機都認為對方是舊客戶機。更糟的是,在有了支持完全(雙向)向后兼容性的同時仍無法消除該問題。

          對這一問題的一種較好解決方案是從開始就采用強制升級方案進行設計;使客戶機檢測到服務器不再支持它。如果客戶機可以安全地檢索到補丁,它就升級。否則,它告訴用戶他們必須手工獲得一個新的副本。但是從一開始就應準備使用這一解決方案,就會得罪早期用戶。

          測試采取的防護措施是否正確裝配好,有關系統的補丁是否打上就十分的重要。

          4. 最小特權

          最小特權原則規定:確定只授予執行操作所必需的最少訪問權,并且對于該訪問權只準許使用所需的最少時間。

          當軟件給出了某些部分的訪問權時,一般會出現濫用與那個訪問權相關的特權的風險。例如,我們假設您出去度假并把您家的鑰匙給了您的朋友,好讓他來喂養您的寵物、收集郵件等等。盡管您可能信任那位朋友,但總是存在這樣的可能:您的朋友未經您同意就在您的房子里開派對或發生其它您不喜歡的事情。

          一位程序員可能希望訪問某種數據對象,但只需要從該對象上進行讀。不過,不管出于什么原因,通常該程序員實際需要的不僅是必需的特權。通常,該程序員是在試圖使編程更容易一些。

          如果軟件設置的訪問權結構不是“完全訪問或根本不準訪問”,那么最小特權原則會非常有效。

          5. 分隔

          分隔背后的基本思想是如果我們將系統分成盡可能多的獨立單元,那么我們可以將對系統可能造成損害的量降到最低。

          通常,如果攻擊者利用了代碼中的緩沖區溢出,對磁盤進行原始寫并胡亂修改內核所在內存中的任何數據。沒有保護機制能阻止他這樣做。因此,系統進行適度的分隔顯得十分重要,軟件要能直接支持本地磁盤上永遠不能被擦去的日志文件,這意味著直到

          攻擊者闖入時,才不能保持精確的審計信息。

          適度使用的分隔,將利于系統的管理,但是對每一個功能都進行分隔,那么系統將很難管理。

          三、安全性測試的主要目的是查找軟件自身程序設計中存在的安全隱患,并檢查應用程序對非法侵入的防范能力, 根據安全指標不同測試策略也不同,如果遵循相同的原則,去證明軟件的安全性,將有利于軟件安全測試的工作規范的進行,有利于軟件安全測試工作的發展。

          安全測試檢查系統對非法侵入的防范能力。安全測試期間,測試人員假扮非法入侵者,采用各種辦法試圖突破防線。例如,①想方設法截取或破譯口令;②專門定做軟件破壞系統的保護機制;③故意導致系統失敗,企圖趁恢復之機非法進入;④試圖通過瀏覽非保密數據,推導所需信息,等等。理論上講,只要有足夠的時間和資源,沒有不可進入的系統。因此系統安全設計的準則是,使非法侵入的代價超過被保護信息的價值。此時非法侵入者已無利可圖。

          安全測試用來驗證集成在系統內的保護機制是否能夠在實際中保護系統不受到非法的侵入。俗話說: “ 系統的安全當然必須能夠經受住正面的攻擊 —但是它也必須能夠經受住側面的和背后的攻擊。 ”

          在安全測試過程中,測試者扮演著一個試圖攻擊系統的個人角色。測試者可以嘗試去通過外部的手段來獲取系統的密碼,可以使用可以瓦解任何防守的客戶軟件來攻擊系統;可以把系統“制服”,使得別人無法訪問;可以有目的地引發系統錯誤,期望在系統恢復過程中侵入系統;可以通過瀏覽非保密的數據,從中找到進入系統的鑰匙等等。

          只要有足夠的時間和資源,好的安全測試就一定能夠最終侵入一個系統。系統設計者的任務就是要把系統設計為想要攻破系統而付出的代價大于攻破系統之后得到的信息的價值。

          預約申請免費試聽課

          填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

          上一篇:互聯網企業的敏捷開發之道
          下一篇:軟件安全測試新武器

          變革中的軟件測試——組織篇

          五種比較好Android自動化測試工具推薦

          • 掃碼領取資料

            回復關鍵字:視頻資料

            免費領取 達內課程視頻學習資料

          • 視頻學習QQ群

            添加QQ群:1143617948

            免費領取達內課程視頻學習資料

          Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

          選擇城市和中心
          黑龍江省

          吉林省

          河北省

          陜西省

          湖南省

          貴州省

          云南省

          廣西省

          海南省

          神马影院-战旗影院-首播影院-新视觉影院-在线观看中文字幕dvd播放 百度 好搜 搜狗
          <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>