如何使用ThreadingTest提升軟件安全性檢測效率(上)html
通常來講,對安全性要求不高的軟件,其安全性測試能夠混在單元測試、集成測試、系統測試裏一塊兒作。但對安全性有較高需求的軟件,則必須作專門的安全性測試,以便在破壞以前預防並識別軟件的安全問題。安全性測試(Security Testing)是指有關驗證應用程序的安全等級和識別潛在安全性缺陷的過程。應用程序級安全測試的主要目的是查找軟件自身程序設計中存在的安全隱患,並檢查應用程序對非法侵入的防範能力, 根據安全指標不一樣測試策略也不一樣。注意:安全性測試並不最終證實應用程序是安全的,而是用於驗證所設立策略的有效性,這些對策是基於威脅分析階段所作的假設而選擇的。例如,測試應用軟件在防止非受權的內部或外部用戶的訪問或故意破壞等狀況時的運做。安全
讓咱們先來了解一下ThreadingTest測試工具:服務器
ThreadingTest(簡稱「TT」)是創新型的系統級白盒測試工具和數字化軟件測試裝置,它的設計基於融合了4項國家發明專利而打形成的軟件測試行業的革新性測試理念-「穿線測試」。TT首次將黑盒測試與白盒測試過程以及方法進行完美的融合,以黑盒的測試過程及方法,產生白盒測試的數據,真正將軟件測試帶入數字化測試時代。除了支持傳統的JavaEE應用,同時TT也是全球首款商用級別的移動端白盒測試工具,能夠對各類類型的移動類應用進行測試。網絡
TT的全部特性基於對代碼、測試等的深度量化分析和智能計算,TT除了能夠進行白盒測試外,也能夠爲軟件的安全性測試提供全過程、系統性的方法支持,TT能夠在安全性測試黑盒方法的過程當中,從輔助分析,自動診斷,快速定位等多個層面提供軟件安全性測試解決方案。TT提供的功能遠超越了傳統安全性白盒測試的功能範疇,配合流行Fuzzing安全性測試方法,能夠將安全性測試的效率、質量進行大幅度的提高。多線程
下面就針對軟件安全性測試的所必須檢測的特性,展現TT對於安全性測試提供的一系列方法:分佈式
ThreadingTest率先將引入的測試示波器概念,在實際測試的過程當中,能夠實時的看到從程序中各類邏輯執行的速率、頻率等信息,測試人員能夠從傳統的對被測應用的黑盒子測試(僅能看到功能的反饋沒法看到程序內部的反饋)進而轉換成爲相似於對於硬件測試的示波器同樣,可以對整個測試過程的關鍵測試數據進行實時的分析和查看。示波器自己具備以下功能:ide
示波器功能體現:函數
1. 實時記錄被測程序的運行信息:塊,函數,條件,運行堆棧工具
2. 實時記錄測試用例對應的程序執行邏輯:性能
3. 支持源碼分離的測試模式
4. 支持分佈式的實時記錄被測程序的運行信息
5. 可視化觀察程序運行狀況。波形可直觀反應程序行爲。
6. 經過波形分析程序在各類硬件平臺上的運行性能。
7. 支持真機、模擬器等各種設備的接入
8. 支持各類自動化操做和單元測試所產生的測試數據的記錄
9. 支持USB、WIFI、藍牙等各類設備的鏈接方式
TT示波器的創意來自於電氣設備測試中的電子示波器,它可以精準的、實時的捕捉到程序運行的各類特性運行指標,TT經過實時的單位時間內程序執行塊、條件數、函數的數量等指標圖形,分析出來程序的各類運行特性以及運行異常。針對於安全性測試,它能夠結合黑盒安全性測試工具,在安全性測試工具進行例如***性測試等過程當中,實時給出程序的響應的狀況。例如在進行代碼的***性測試過程當中,經過TT示波器咱們能夠展現以下的數據,用來輔助分析***性測試的結果:
1. 被測試程序是否會由於***行爲,而進行持續大量的運算,例如面對DDOS***等狀況下的反應;
2. 被測試程序在各類***行爲時,是否會出現瞬時的、或者永久性的拒絕服務(DDos),DDos***一般會表現爲部署被測試應用服務器CPU、內存、網絡等資源的消耗,從程序內部角度,將會有一些函數和方法會被密集的很是規調用,這些TT示波器將會進行詳細的分析程序執行序列流,以便於快速肯定、排查和修復問題;
3. 在模擬非受權***的狀況下,在沒有正常的用戶權限的狀況下,其後臺代碼是否會被執行到,經過觀察示波器的函數執行的堆棧序列能夠檢出本類問題。
TT示波器能夠對賬號權限進行精準的檢測,TT示波器的指標自己具備等價類劃分功能,他們能夠用來精確的分析程序對於各類用戶權限是否有正確處理:
經過運行事先準備好的具備各類權限類別的用例,TT示波器經過用例運行監控數據,會對這些用例進行等價類劃分,其原理是軟件一般會針對不一樣的用戶執行不一樣的邏輯,不一樣的邏輯就會執行程序內部不一樣的代碼序列,並進而致使TT示波器的三個指標會發生變化,經過分析各個用例TT示波器給出的運行指標,就能夠肯定,用戶權限的代碼處理是否存在問題,例如分析出本不該該具備相同權限的用戶,示波器卻給出了相同的執行指標。本應該相同權限的用戶,示波器卻給出了不相同的執行指標等安全性風險。
對於存在多線程操做的軟件中,TT示波器能夠對多線程的運行狀況精細分析,多線程一般會比較容易出現資源爭用甚至致使死鎖等狀況發生,TT示波器能夠對線程的運行進行分析,當線程發生死鎖的狀況下,TT示波器會給出直觀的圖形給予顯示。同時也能夠給出在處理大量數據狀況下,線程數量和程序處理數據吞吐速率的比例關係。
目前ThreadingTest我的版是無償使用的,能夠在技術網站了解詳情,網址:www.threadingtest.com,也能夠在阿里雲下載:下載地址http://market.aliyun.com/product/12-122326004-cmgj000252.html?spm=0.0.0.0.VqYFd7,若是您在安裝與試用過程當中有任何疑問,您能夠加入QQ技術羣-"符號執行-白盒測試「,QQ號爲:「339834199"