<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)。
      三、常見的軟件安全性缺陷和漏洞有哪些?
      軟件的安全包含很多方面的內容,主要的安全問題是由軟件本身的漏洞造成的,下面我們說說幾種常見的軟件安全性缺陷和漏洞,大家在程序開發或是測試時不妨考慮或驗證一下,我們所開發或是測試的程序,是否存在這些方面的安全隱患。
      (1)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代碼將會被執行。
      (4)緩沖區溢出
      緩沖區溢出已成為軟件安全的頭號公敵,許多實際中的安全問題都與它有關。造成緩沖區溢出問題通常有以下兩種原因。①設計空間的轉換規則的校驗問題。即缺乏對可測數據的校驗,導致非法數據沒有在外部輸入層被檢查出來并丟棄。非法數據進入接口層和實現層后,由于它超出了接口層和實現層的對應測試空間或設計空 間的范圍,從而引起溢出。②局部測試空間和設計空間不足。當合法數據進入后,由于程序實現層內對應的測試空間或設計空間不足,導致程序處理時出現溢出。
      (5)加密弱點
      這幾種加密弱點是不安全的:①使用不安全的加密算法。加密算法強度不夠,一些加密算法甚至可以用窮舉法破解。②加密數據時密碼是由偽隨機算法產生的,而產生偽隨機數的方法存在缺陷,使密碼很容易被破解。③身份驗證算法存在缺陷。④客戶機和服務器時鐘未同步,給攻擊者足夠的時間來破解密碼或修改數據。⑤未對加密數據進行簽名,導致攻擊者可以篡改數據。所以,對于加密進行測試時,必須針對這些可能存在的加密弱點進行測試。
      四、做好安全性測試的建議
      其實許多軟件安全測試經驗告訴我們,想要做好安全測試其實并不是件容易的事,不光要使用高效的軟件安全測試技術和工具,而且要充分了解軟件安全漏洞,以及一些黑客攻擊手段,還要掌握豐富而全面的技能,如編程、網絡、數據庫等知識。技術在不斷的發展,只有不斷的學習、積累、總結,從而最終以量變達到質變。
      希望通過這篇文章可以讓大家對安全測試有所了解,更多安全測試技術有待我們大家一起交流、探討。

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

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

    導航

    統計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 最近中文字幕国语免费完整| 在线不卡免费视频| 国产亚洲国产bv网站在线| 暖暖日本免费在线视频| a在线观看免费视频| 亚洲av永久无码精品三区在线4 | 免费v片在线观看品善网| 免费一区二区无码东京热| 亚洲一线产品二线产品| 亚洲最大AV网站在线观看| 美女视频黄是免费的网址| 人人爽人人爽人人片av免费| 亚洲黄色免费观看| 亚洲情a成黄在线观看| 成年女性特黄午夜视频免费看| caoporm超免费公开视频| 亚洲av乱码一区二区三区香蕉| 亚洲综合精品网站在线观看| 精品久久久久久久久免费影院| 久99久无码精品视频免费播放| 亚洲性线免费观看视频成熟| 亚洲中久无码永久在线观看同| 成年人性生活免费视频| 午夜不卡久久精品无码免费 | 日韩内射激情视频在线播放免费| 亚洲av无码专区在线观看亚| 亚洲短视频男人的影院| 亚洲不卡AV影片在线播放| aa级一级天堂片免费观看| 国产羞羞的视频在线观看免费| 国产亚洲精品国产福利在线观看| 亚洲第一页在线视频| 国产亚洲精AA在线观看SEE| 国产精品无码素人福利免费| 精品久久8x国产免费观看| 精品免费tv久久久久久久| 久久久久免费视频| sss在线观看免费高清| www亚洲精品久久久乳| 亚洲最大中文字幕无码网站| 亚洲精品美女视频|