原創(chuàng)|使用教程|編輯:鄭恭琳|2021-01-25 11:05:08.250|閱讀 202 次
概述:
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
由于滲透測試非常昂貴并且需要很長時間才能運(yùn)行,因此我們必須以可擴(kuò)展且可持續(xù)的方式執(zhí)行API安全測試。
討論API安全性以及我們?yōu)槭裁匆⒁獾膯栴}有點(diǎn)像談?wù)摮允卟恕N覀兌贾莱允卟藢ξ覀兊慕】涤幸妫珜?shí)際上我們當(dāng)中有多少人呢?應(yīng)用程序安全性就是這樣。這對于我們的應(yīng)用程序和業(yè)務(wù)的健康至關(guān)重要,但努力做到這一點(diǎn)并不像構(gòu)建出色的新應(yīng)用程序功能那么有趣。但是,我們只需要查看最近的新聞頭條即可了解它的重要性。
傳統(tǒng)上,在開發(fā)過程的最后要完成針對安全性的應(yīng)用程序或API的驗(yàn)證。但是,這本質(zhì)上是有問題的。通常,為時已晚,無法解決發(fā)現(xiàn)的錯誤:可能太接近發(fā)布日期,無法解決問題,或者團(tuán)隊(duì)可能已經(jīng)轉(zhuǎn)移到其他項(xiàng)目,或者應(yīng)用程序的體系結(jié)構(gòu)固有地不安全。
此外,當(dāng)今的服務(wù)和應(yīng)用程序的發(fā)布比以往任何時候都更加頻繁,一天最多可以發(fā)布多次。這種快速釋放的節(jié)奏使傳統(tǒng)方法難以為繼。
為了解決這個問題,我們將尋求一個行業(yè)一直在使用的解決方案,該解決方案通過加快發(fā)布周期(持續(xù)集成)來解決軟件質(zhì)量問題。持續(xù)集成會在簽入新代碼時生成構(gòu)建,并通過為每個構(gòu)建運(yùn)行靜態(tài)分析和單元測試來驗(yàn)證新代碼。如果團(tuán)隊(duì)精通,他們甚至可能會使用CI創(chuàng)建和運(yùn)行自動化功能測試(可能不是針對每個構(gòu)建版本,因?yàn)楣δ軠y試通常需要很長時間才能運(yùn)行,但至少要按指定的間隔(例如每天一次)運(yùn)行)。
通過將滲透測試引入CI工作流中,我們可以將相同的解決方案應(yīng)用于API的自動化安全測試。這將確保我們更快地測試安全漏洞,并為我們提供安全回歸測試,以便在引入新問題后立即對其進(jìn)行捕獲。但是我們將需要對此保持警惕,因?yàn)闈B透測試非常昂貴,并且可能需要很長時間才能運(yùn)行。我們必須以可擴(kuò)展和可持續(xù)的方式來做到這一點(diǎn)。
我假設(shè)我們的團(tuán)隊(duì)已經(jīng)在為我們的API編寫和運(yùn)行自動化功能測試。(如果我們不這樣做,則需要從這里開始,并且不準(zhǔn)備考慮進(jìn)行安全性測試的自動化。)如果我們正在為API運(yùn)行自動化功能測試,那么作為我們正常開發(fā)和質(zhì)量檢查流程的一部分,我們可以確定這些功能測試的一部分,用作安全性測試。我們將準(zhǔn)備并運(yùn)行此子集作為安全性測試。
讓我描述一下如何使用Parasoft SOAtest及其與流行的滲透測試工具Burp Suite的集成。首先,假設(shè)我們有一個SOAtest場景,其中有1個設(shè)置測試可以清理數(shù)據(jù)庫,而3個測試則可以進(jìn)行3個不同的API調(diào)用。我們要針對場景中要調(diào)用的3個API分別執(zhí)行滲透測試:
首先,我們將Burp Suite Analysis工具添加到方案中的每個測試中,以準(zhǔn)備方案的安全性,如下所示:
然后,我們將使用SOAtest執(zhí)行此方案。在執(zhí)行每個測試時,SOAtest將進(jìn)行測試中定義的API調(diào)用,并捕獲請求和響應(yīng)流量。每次測試中的Burp Suite分析工具都會將流量數(shù)據(jù)傳遞到Burp Suite應(yīng)用程序的單獨(dú)運(yùn)行實(shí)例,該實(shí)例將根據(jù)自己在流量數(shù)據(jù)中觀察到的API參數(shù),使用自己的啟發(fā)式方法對API進(jìn)行滲透測試。然后,Burp Suite分析工具將獲取Burp Suite發(fā)現(xiàn)的所有錯誤,并將其報(bào)告為SOAtest中與訪問API的測試相關(guān)的錯誤。然后可以將SOAtest結(jié)果進(jìn)一步報(bào)告到Parasoft的報(bào)告和分析儀表板DTP中,以獲取其他報(bào)告功能。請參見以下內(nèi)容,了解其工作原理:
重新使用功能測試以用作安全測試具有以下好處:
重新使用功能測試作為滲透測試時,需要考慮以下幾點(diǎn):
我們需要考慮是在同一測試環(huán)境中還是在另一測試環(huán)境中運(yùn)行我們的功能和安全性測試。在功能和安全測試運(yùn)行之間重置環(huán)境,或使用單獨(dú)的環(huán)境重置環(huán)境,可以提高測試穩(wěn)定性,但是通常沒有必要。我們經(jīng)常可以重用相同的環(huán)境,但是這樣做時,我們應(yīng)該首先運(yùn)行功能測試,然后再運(yùn)行安全測試,因?yàn)榘踩珳y試會破壞功能測試的環(huán)境。當(dāng)我們使用不同的環(huán)境時,我們需要確保使用變量配置原始的功能測試方案,以便輕松將測試指向不同環(huán)境的不同端點(diǎn)。SOAtest使用環(huán)境變量支持此功能。
我們的API也可能依賴我們無法控制的其他API。我們可以考慮使用服務(wù)虛擬化來隔離我們的環(huán)境,因此我們不依賴那些外部系統(tǒng)。這將有助于穩(wěn)定我們的測試,同時避免由于我們的滲透測試工作而給外部系統(tǒng)帶來意想不到的后果。
作為自動化流程的一部分,我們可以將安全性測試轉(zhuǎn)移到開發(fā)和質(zhì)量保證中,從而確保API的質(zhì)量更高。我們可以利用現(xiàn)有的API功能測試來創(chuàng)建自動化的安全測試,這將使我們能夠在流程的早期發(fā)現(xiàn)并修復(fù)安全錯誤。希望這將有助于我們不要成為新聞的下一個負(fù)面頭條......
Parasoft主持了一個網(wǎng)絡(luò)研討會,其中包括演示如何與Parasoft SOAtest和Burp Suite一起工作的方式。如果您想了解更多信息,可以從下面的網(wǎng)絡(luò)研討會錄像中觀看演示:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn