安全測試簡述/安全審計工具

安全測試佔比例比較少,一般在專業型公司或者和錢打交道的app,

Web安全測試介紹

Web應用的概念
◆Web應用是由動態腳本、編譯過的代碼等組合而成。
◆它通常架設在Web服務器上,用戶在Web瀏覽器上發送請求。這些請求使用HTTP協議,由Web應用和企業後臺的數據庫及其他動態內容通信。

web應用三層架構
一般安全測試在中間層,尤其是web層到應用層的傳輸,是最容易發生安全問題的
在這裏插入圖片描述

日常網絡行爲與安全時時相關
◆爲什麼我們登錄的時候經常要求我們輸入一個驗證碼?
防止通過腳本的方式來暴力破解用戶名和密碼,畢竟驗證碼你是無法提前獲知的。

◆在一個網站上長時間沒有操作,爲什麼會session失效?
屬於後驗證測試,害怕用戶的程序電腦被黑客攻擊,所以當用戶一定時間沒操作,就要退掉,用戶要操作就得重新操作。

◆爲什麼支付寶之類的支付接口都是https?
因爲http在傳輸過程中是加密處理,但是你的系統仍然是不安全的,仍然需要相應的安全測試。

安全模型

因爲由於擁堵,乘客可能被擠下地鐵或者把別人擠下地鐵,或者發生踩踏事故
可以思考:
地鐵增開
多開幾個站口
地鐵改造:一層改成兩層
限流(限號進站之類)
試運行,看看開x號線有沒有去坐的人過於多

從WASC和OWASP談漏洞分類

WASC
◆Web Application Security Consortium
◆是一個由安全專家、行業顧問和諸多組織的代表組成的國際團體(公益性組織)。他們負責爲WWW制定被廣爲接受的應用安全標準。(給現在的互聯網制定了安全標準)

◆WASC將Web應用安全威脅分爲六大類:
◆Authentication (驗證) : 用來確認某用戶、服務或是應用身份的攻擊手段

(對於登陸的驗證,比如三個核心功能 : 註冊登錄忘記密碼)
短信攔截,驗證碼攔截等,可以避免漏洞

◆Authorization (授權) : 用來決定是否某用戶、服務或是應用具有執行請求動作必要權限的攻擊手段
(主要對應的是session,cookie,所以要注意session的加密,處理傳輸過程中是否容易被攔截破解)

◆Client- Side Attacks (客戶側攻擊) :用來擾亂或是探測Web站點用戶的攻擊手段
(比如淘寶賣家賣了海洋之心給買家,賣的非常貴,然後買家通過客戶端攻擊的方法進行繞過,修改了相應的金額並且成功支付,叫做客戶端攻擊)

◆Command Execution (命令執行) : 在Web站點上執行遠程命令的攻擊手段
(在站點上留了一些能夠被別人發現的漏洞,自己能夠遠程命令。也容易讓別人鑽漏子)

◆Information Disclosure (信息暴露) : 用來獲取Web站點具體系統信息的攻擊手段
(在展現錯誤信息的時候展現的過於詳細,甚至展現出了數據庫用戶名等)

◆Logical Attacks (邏輯性攻擊) : 用來擾亂或是探測Web應用邏輯流程的攻擊手段
(並不是嚴格意義上的安全攻擊,只是這些漏洞和業務緊密相關,但是有些漏洞在業務上又不能體現出,只有拿到安全角度才能去分析)

OWASP 其實是一個項目
◆Open Web Application Security Project
◆致力於發現和解決不安全Web應用的根本原因。

最大貢獻:發現並且每年更新web安全裏最核心的十大安全漏洞
在這裏插入圖片描述

WEB安全測試的流程

將頁面進行肢解,然後去測試,然後總結
在這裏插入圖片描述

項目考慮最先執行功能測試,再自動化,再安全,再性能測試
原因:
安全測試會涉及很多的代碼修改,會反過來影響到性能測試的結果。

在這裏插入圖片描述
安全測試也分手動和自動化測試

安全審計工具

不建議過多依賴於安全審計工具:
原因是
1.這樣的安全設計工具會發現很多漏洞,但是你不能知道這些漏洞的意思,也不能復現,所以這些審計報告給出測試報告結果,需要你使用自己的技術去排查這些漏洞
2.不是一個真正的安全測試的方法,不能讓自己真正的學會安全測試,無法提升自己的能力。

自動化審計工具(當時間比較緊迫的時候)
隨着安全測試的開展和深入,越來越多的公司開始採用安全測試的手段,由於測試人員的能力和時間等因素,更多的採取諸如AppScan、Weblnspect等安全審計工具。

節省時間,但是也帶來了很多問題(錯報漏報,在驗證機制會話管理都有可能漏報,所以需要用手工去彌補)

AppScan在項目團隊中的協作

◆開發人員
**開發人員在開發過程中可以使用AppScan或者專用插件,隨時開發隨時測試,**最大化的保證個人開發程序的安全性。越早發現問題,解決問題的成本就越低,這爲Web應用的安全提供了最爲堅實的基礎保障。
◆測試人員
系統測試時測試人員用AppScan對應用做全面的測試
, 一旦發現問題,可以快速的生成defect, 通過CQ集成可以實現defect電子化跟蹤,再傳遞到開發人員手中,指導開發人員迅速解決問題。(測試要去拍查一下哪些是安全漏洞,再給開發人員)
**◆審覈人員
這是系統上線前的安全質量關卡。**任何系統上線都應該經過嚴格的上線測試,這也最大化的減少了上線後問題的出現,避免生產系統上線後給企業帶來的鉅額損失。
◆上線後審計、監控人員
上線的系統應該定期檢測,一旦出現問題更應該及時檢測,越快速的定位發現問題,損失就會越小。

掃描主要範圍是:web服務器,數據庫,應用
在這裏插入圖片描述

掃描原理

在這裏插入圖片描述
探測階段:(類似於做一個策略的選擇,相當於測試方案)
探測過程中,所採用的測試策略可以選擇默認的或自定義的,可採用不同的測試策略,測試策略庫是Appscan內置的,它可以定義爲你想要的組合,去檢測你最想檢測的可能存在的安全隱患。
(相當於測試網站的站點信息。拿到我們要測試的鏈接)

◆模仿一個用戶對被訪問的Web應用或Web服務站點進行探測訪問,通過發送請求對站點內的鏈接與表單域進行訪問或填寫,以獲取相應的站點信息(Application Tree)。
◆ Appscan分析器將會對自己發送的每一個請求後的響應做出判斷,查找出任何可能潛在風險的地方,並針對這些可能會隱含風險的響應,確定將要自動生成的測試用例。
◆探測階段完成後,這些高危區域是否真的隱含着安全缺陷或應做更好的改良,以及這些隱含的風險是處於什麼層度的,是需要在測試執行完成後,才能最終得出決論

測試階段:(對應測試用例的編寫)
◆探測階段後,Appscan已經分析出可能潛在安全風險的站點模型。
◆AppScan也已經知道需要生成多少的測試用例,以便檢測這些區域的安全隱患。這個時候的工作,主要就是生成這些已經計劃好的測試用例。
◆Appscan是通過測試策略庫中對相應安全隱患的檢測規則而生成對應的足夠全面而且複雜的測試輸入。

掃描階段:(對應測試執行階段)
◆A掃描階段,Appscan纔是真正的工作起來,他將會把上個階段的測試用例產生的服務請求陸續的發送出去
◆然後再檢測分析服務的響應結果,從而判斷該測試用例的輸入,是否造成了安全隱患或安全問題。
◆然後再通過測試用例生成的策略,找出該安全問題的描述,以及該問題的解決方案,同時還報告相關參數的請求發送以及響應結果。

操作過程

在這裏插入圖片描述

在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述
安全測試人員不光要找到漏洞,還得知道怎麼解決這個漏洞,好去指導開發人員解決漏洞

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章