動(dòng)態(tài)應(yīng)用安全測(cè)試:DAST的利與弊
動(dòng)態(tài)應(yīng)用安全測(cè)試(DAST)是一套測(cè)試方法,軟件開發(fā)人員通過(guò)模擬惡意行為來(lái)尋找應(yīng)用程序中的安全漏洞,以確定可能被利用的弱點(diǎn)。在黑盒測(cè)試中,DAST模擬了黑客會(huì)嘗試的相同類型的外部攻擊,但不需要了解或查看應(yīng)用程序的架構(gòu)或內(nèi)部源代碼。
復(fù)雜的DAST工具可以執(zhí)行復(fù)雜的掃描,以檢測(cè)廣泛的缺陷,以防止安全漏洞,如分布式拒絕服務(wù)(DDoS)攻擊、跨站點(diǎn)腳本(XSS)、SQL注入等。而雖然DAST是一個(gè)強(qiáng)大的網(wǎng)絡(luò)安全工具,但它要在接近軟件開發(fā)生命周期(SDLC)結(jié)束時(shí)才能使用,因?yàn)樗枰粋€(gè)運(yùn)行的應(yīng)用程序構(gòu)建后才能投入工作。
在開發(fā)過(guò)程中,一旦應(yīng)用程序準(zhǔn)備好通過(guò)執(zhí)行的方式進(jìn)行測(cè)試,一種DAST方法可以進(jìn)行滲透測(cè)試和/或API測(cè)試,以便發(fā)現(xiàn)缺陷或漏洞,從而將這些發(fā)現(xiàn)的問(wèn)題放在沖刺中進(jìn)行修復(fù)。這有助于DevOps工程師在軟件推送出去之前快速解決這些問(wèn)題。當(dāng)與其他形式的安全測(cè)試(如靜態(tài)應(yīng)用安全測(cè)試(SAST))相結(jié)合時(shí),這提供了一個(gè)全面的測(cè)試策略,以幫助您的團(tuán)隊(duì)交付安全、安全和可靠的軟件。
動(dòng)態(tài)應(yīng)用安全測(cè)試的優(yōu)勢(shì)是什么?
由于動(dòng)態(tài)應(yīng)用安全測(cè)試方法可以模仿惡意用戶的行為,因此它能夠向企業(yè)準(zhǔn)確地展示他們的應(yīng)用在實(shí)時(shí)環(huán)境中的行為,及早指出風(fēng)險(xiǎn),以便企業(yè)能夠進(jìn)行必要的修復(fù),防止攻擊成功。這種方法論有助于發(fā)現(xiàn)開發(fā)團(tuán)隊(duì)沒有想到或認(rèn)為不可能完成的問(wèn)題。
黑客往往喜歡盡可能長(zhǎng)時(shí)間地利用安全漏洞,并保持他們的存在,這可能會(huì)被安全團(tuán)隊(duì)忽視。等到有人意識(shí)到應(yīng)用程序已經(jīng)被攻破的時(shí)候,損失已經(jīng)造成了。
DAST還能夠發(fā)現(xiàn)其他形式的測(cè)試無(wú)法發(fā)現(xiàn)的問(wèn)題。比如服務(wù)器配置和認(rèn)證問(wèn)題,以及已知用戶登錄網(wǎng)站后的障礙等問(wèn)題。而且由于DAST方法是在黑盒級(jí)別進(jìn)行測(cè)試,不依賴或不關(guān)心源代碼,因此它們可以測(cè)試任何應(yīng)用程序,并發(fā)現(xiàn)其他測(cè)試所遺漏的問(wèn)題,如身份驗(yàn)證或服務(wù)器配置問(wèn)題。更好的是,DAST可以輕松幫助確保合規(guī)性,并簡(jiǎn)化監(jiān)管報(bào)告。
動(dòng)態(tài)應(yīng)用安全測(cè)試的局限性
雖然動(dòng)態(tài)應(yīng)用安全測(cè)試工具對(duì)預(yù)防安全問(wèn)題很有幫助,但也有一些缺點(diǎn)值得注意。一個(gè)缺點(diǎn)是,DAST可以依靠安全專家來(lái)創(chuàng)建正確的測(cè)試程序,很難為每個(gè)應(yīng)用程序創(chuàng)建全面的測(cè)試。與此一起,DAST工具可能會(huì)創(chuàng)建假陽(yáng)性測(cè)試結(jié)果,將應(yīng)用程序的有效元素識(shí)別為威脅。
DAST工具的另一個(gè)局限性是,它們只能指出問(wèn)題的存在,但它不能識(shí)別代碼本身的問(wèn)題。單靠DAST,開發(fā)人員可能不容易知道從哪里開始尋找解決問(wèn)題的方法。另外,DAST工具關(guān)注的是請(qǐng)求和響應(yīng),這可能會(huì)錯(cuò)過(guò)不少隱藏在架構(gòu)設(shè)計(jì)中的缺陷。
DAST通常以相當(dāng)緩慢的速度運(yùn)行,需要幾天或幾周的時(shí)間才能完成測(cè)試。而且由于它發(fā)生在SDLC的后期,發(fā)現(xiàn)的問(wèn)題會(huì)給開發(fā)團(tuán)隊(duì)帶來(lái)很多任務(wù),從而延長(zhǎng)了時(shí)間線,增加了成本。另外,由于完成測(cè)試可能需要幾天或幾周的時(shí)間,所以當(dāng)發(fā)現(xiàn)問(wèn)題時(shí),項(xiàng)目生命周期團(tuán)隊(duì)內(nèi)的更多成員會(huì)受到影響。在一些冗長(zhǎng)的情況下,開發(fā)人員可能需要回溯一下,重新熟悉舊代碼,然后才能進(jìn)行必要的修復(fù)。
DAST與SAST的差異
DAST通過(guò)在運(yùn)行時(shí)尋找利用安全漏洞的方法來(lái)模擬惡意攻擊和其他外部行為,而SAST則從開發(fā)人員的角度進(jìn)行測(cè)試。SAST分析每一行代碼,而不必執(zhí)行應(yīng)用程序。識(shí)別違規(guī),允許測(cè)試人員審查它們,并對(duì)軟件設(shè)計(jì)和/或?qū)崿F(xiàn)進(jìn)行修正。
一旦軟件實(shí)現(xiàn)開始,就可以執(zhí)行SAST,因?yàn)樗榭丛创a本身來(lái)發(fā)現(xiàn)導(dǎo)致安全缺陷的編碼規(guī)則違規(guī)。軟件的運(yùn)行構(gòu)建對(duì)于SAST來(lái)說(shuō)并不是必須的,一旦你發(fā)現(xiàn)了標(biāo)記的代碼,你就可以立即開始分類。SAST還通過(guò)在軟件開發(fā)生命周期的早期發(fā)現(xiàn)缺陷來(lái)降低成本,在這種情況下,它仍然可以快速方便地進(jìn)行修復(fù)。
Parasoft滿足絕大多數(shù)行業(yè)標(biāo)準(zhǔn)
Parasoft是一家專門提供軟件測(cè)試解決方案的公司,幫助企業(yè)打造無(wú)缺陷的軟件。
從開發(fā)到質(zhì)量檢查,Parasoft的技術(shù)通過(guò)集成靜態(tài)和運(yùn)行時(shí)分析,單元、功能和API測(cè)試,以及服務(wù)虛擬化,在不犧牲質(zhì)量和安全性的情況下加快軟件交付,節(jié)約交付成本。
強(qiáng)大的報(bào)告和分析功能可幫助用戶快速查明有風(fēng)險(xiǎn)的代碼區(qū)域,并了解新代碼更改如何影響其軟件質(zhì)量,而突破性的技術(shù)將人工智能和機(jī)器學(xué)習(xí)添加到軟件測(cè)試中,使組織更容易采用和擴(kuò)展跨開發(fā)和測(cè)試團(tuán)隊(duì)的有效的軟件測(cè)試實(shí)踐。
Parasoft針對(duì)C/C++、Java、.NET和嵌入式的開發(fā)測(cè)試都有著30多年的深入研究,很多全國(guó)500強(qiáng)企業(yè)使用Parasoft的產(chǎn)品實(shí)現(xiàn)了軟件快速、高質(zhì)量的交付。