<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經轉移至github,大家請訪問 http://qaseven.github.io/

    軟件安全性測試

     二十一世紀,智能化的軟件成為商業決策、推廣等不可缺少的利器,很多軟件涉及了客戶商業上重要的信息資料,因此客戶很關心軟件的安全性。往往一個細小的安全漏洞,對客戶產生的影響都是巨大的。所以我們需要盡可能的保證軟件的安全性,確保軟件在安全性方面能滿足客戶期望。
      一、那么什么是軟件安全性測試 ?
      安全性測試是指有關驗證應用程序的安全等級和識別潛在安全性缺陷的過程。應用程序級安全測試的主要目的是查找軟件自身程序設計中存在的安全隱患,并檢查應用程序對非法侵入的防范能力,根據安全指標不同測試策略也不同。
      二、安全性測試又有哪些方法和手段呢?
      目前有許多種的測試手段可以進行安全性測試,安全測試方法分主要為三種:
      ①靜態的代碼安全測試:主要通過對源代碼進行安全掃描,根據程序中數據流、控制流、語義等信息與其特有軟件安全規則庫進行匹對,從中找出代碼中潛在的安 全漏洞。靜態的源代碼安全測試是非常有用的方法,它可以在編碼階段找出所有可能存在安全風險的代碼,這樣開發人員可以在早期解決潛在的安全問題。而正因為如此,靜態代碼測試比較適用于早期的代碼開發階段,而不是測試階段。
      ②動態的滲透測試:滲透測試也是常用的安全測試方法。是使用自動化工具或者人工的方法模擬黑客的輸入,對應用系統進行攻擊性測試,從中找出運行時刻所存在的安全漏洞。這種測試的特點就是真實有效,一般找出來的問題都是正確的,也是較為嚴重的。但滲透測試一個致命的缺點是模擬的測試數據只能到達有限的測試點,覆蓋率很低。
      ③程序數據掃描。一個有高安全性需求的軟件, 在運行過程中數據是不能遭到破壞的,否則就會導致緩沖區溢出類型的攻擊。數據掃描的手段通常是進行內存測試,內存測試可以發現許多諸如緩沖區溢出之類的漏洞,而這類漏洞使用除此之外的測試手段都難以發現。例如,對軟件運行時的內存信息進行掃描,看是否存在一些導致隱患的信息,當然這需要專門的工具來進行驗證(比如:HP WebInspect、IBM Appscan和Acunetix Web Vulnerability Scanner)。
      三、常見的軟件安全性缺陷和漏洞有哪些?
      軟件的安全包含很多方面的內容,主要的安全問題是由軟件本身的漏洞造成的,下面我們說說幾種常見的軟件安全性缺陷和漏洞,大家在程序開發或是測試時不妨考慮或驗證一下,我們所開發或是測試的程序,是否存在這些方面的安全隱患。
     ?。?)SQL注入
      所謂SQL注入式攻擊,就是攻擊者把SQL命令插入到Web表單的輸入域或頁面請求的查詢字符串,欺騙服務器執行惡意的SQL命令。在某些表單中,用戶輸入的內容直接用來構造(或者影響)動態SQL命令,或作為存儲過程的輸入參數,這類表單特別容易受到SQL注入式攻擊。
      簡單舉個小例子,一個登錄模塊,讓你輸入用戶名密碼。我們一般都會老老實實的輸入我們的用戶名和密碼。但如果我們刻意的去繞過登錄認證呢?猜想下面這個sql語句,單說用戶名,開發人員很可能會這樣去數據庫里對比:
      Select * from sys_user where username=‘XXX’
      當然可能更復雜,假如我們在輸入框里輸入下面一句特殊的字符會如何?’or‘1=1
      這是段神奇的字符,因為這樣這個sql就變成:
      Select * from sys_user where username=‘’or‘1=1’
      這樣我們就跳過了用戶名的驗證,實現了入侵,是不是很簡單,看到這里大家不妨動手嘗試一下吧。
      (2)修改提交數據
      曾經某公司做過一個關于在線支付的商城,在安全性測試過程中,發現通過抓包抓到的提交價格(如使用火狐插件:live http headers),經過修改再發包可以通過。簡單來說就是本來100塊錢買的東西,抓包修改為1塊就能成功購買。這就成為了一個巨大的隱患。
    (3)跨站腳本攻擊
      XSS是如何發生的呢?假如有下面一個textbox:
      <input type="text" name="address1" value="value1from">
      value后面的值是來自用戶的輸入,如果用戶輸入
      "/><script>alert(document.cookie)</script><!-
      那么就會變成
      <input type="text" name="address1" value=""/><script>alert(document.cookie)</script><!- ">
      嵌入的JavaScript代碼將會被執行
      或者用戶輸入的是:
      "onfocus="alert(document.cookie)
      那么就會變成
      <input type="text" name="address1" value=""onfocus="alert(document.cookie)">
      事件被觸發的時候嵌入的JavaScript代碼將會被執行。
     ?。?)緩沖區溢出
      緩沖區溢出已成為軟件安全的頭號公敵,許多實際中的安全問題都與它有關。造成緩沖區溢出問題通常有以下兩種原因。①設計空間的轉換規則的校驗問題。即缺乏對可測數據的校驗,導致非法數據沒有在外部輸入層被檢查出來并丟棄。非法數據進入接口層和實現層后,由于它超出了接口層和實現層的對應測試空間或設計空 間的范圍,從而引起溢出。②局部測試空間和設計空間不足。當合法數據進入后,由于程序實現層內對應的測試空間或設計空間不足,導致程序處理時出現溢出。
     ?。?)加密弱點
      這幾種加密弱點是不安全的:①使用不安全的加密算法。加密算法強度不夠,一些加密算法甚至可以用窮舉法破解。②加密數據時密碼是由偽隨機算法產生的,而產生偽隨機數的方法存在缺陷,使密碼很容易被破解。③身份驗證算法存在缺陷。④客戶機和服務器時鐘未同步,給攻擊者足夠的時間來破解密碼或修改數據。⑤未對加密數據進行簽名,導致攻擊者可以篡改數據。所以,對于加密進行測試時,必須針對這些可能存在的加密弱點進行測試。
      四、做好安全性測試的建議
      其實許多軟件安全測試經驗告訴我們,想要做好安全測試其實并不是件容易的事,不光要使用高效的軟件安全測試技術和工具,而且要充分了解軟件安全漏洞,以及一些黑客攻擊手段,還要掌握豐富而全面的技能,如編程、網絡、數據庫等知識。技術在不斷的發展,只有不斷的學習、積累、總結,從而最終以量變達到質變。
      希望通過這篇文章可以讓大家對安全測試有所了解,更多安全測試技術有待我們大家一起交流、探討。

    posted on 2013-09-27 10:41 順其自然EVO 閱讀(1272) 評論(0)  編輯  收藏 所屬分類: 安全性測試

    <2013年9月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    導航

    統計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 一个人免费视频在线观看www| 久久亚洲AV成人无码国产电影| 九九99热免费最新版| 国产一区二区三区免费看| 亚洲中文字幕久久精品无码A| 国拍在线精品视频免费观看| 亚洲jjzzjjzz在线播放| 无码中文在线二区免费| 亚洲欧美国产国产一区二区三区| 午夜神器成在线人成在线人免费| 亚洲性色精品一区二区在线| 狼友av永久网站免费观看| 久久久久亚洲国产AV麻豆 | 无码精品A∨在线观看免费| 噜噜噜亚洲色成人网站∨| av无码国产在线看免费网站| 狠狠色香婷婷久久亚洲精品| 日本大片在线看黄a∨免费| 蜜芽亚洲av无码一区二区三区 | 亚洲日韩精品一区二区三区| 两个人看www免费视频| 亚洲国产天堂在线观看| 99久久99这里只有免费费精品| 亚洲色www永久网站| 亚洲国产精品成人| a级成人免费毛片完整版| 亚洲综合无码一区二区| 4hu四虎最新免费地址| 久久精品国产亚洲av品善| 亚洲av午夜精品一区二区三区 | 中文字幕无码免费久久9一区9 | 亚洲人色大成年网站在线观看| 女性无套免费网站在线看| 一区二区三区精品高清视频免费在线播放 | 亚洲成av人在线观看网站| 日本不卡在线观看免费v| 一级午夜a毛片免费视频| 亚洲欧洲日产国码无码久久99| 日韩精品无码一区二区三区免费 | a级毛片免费观看网站| 亚洲一区中文字幕久久|