黑盒測試是針對特定功能的測試。這意味著這里的用戶不會關注代碼的細節(jié)。代碼結構、內部機制和代碼的執(zhí)行策略都無關緊要。測試人員關注的是軟件的要求及其生成的結果是否符合安全標準。因此,這也稱為行為測試。在這里,在沒有太多內部知識的情況下,軟件作為產(chǎn)品的能力已經(jīng)過測試,形成了功能和非功能的觀點。
引入黑盒測試時涉及的步驟
- 確定被測軟件所需的輸入。
- 以提供成功和失敗場景的方式選擇輸入。
- 基于特定的輸入,允許軟件執(zhí)行。
- 將生成的結果與預期結果進行比較。
- 在下一次測試開始之前,差異會被記錄下來并得到糾正。
黑盒測試的類型
黑盒測試是一個持續(xù)的過程,在新軟件的整個開發(fā)階段不斷發(fā)生。這種測試方法有助于在不了解設計或內部結構的情況下分析軟件或應用程序的功能。黑盒測試的主要重點是將任何應用程序或軟件的功能作為一個整體進行測試,而不是深入或零散地進行測試。
一次又一次地這樣做以發(fā)現(xiàn)系統(tǒng)中的不同錯誤并使其更加健壯。因此,已經(jīng)開發(fā)了幾種形式的黑盒測試。它們中的每一個都可以用來解決軟件中的各種缺點。從廣義上講,這些類型的黑盒測試可以分為兩類,如功能測試和。但是這里我們將專門學習安全測試,這是一種非功能測試形式,通過對黑盒滲透系統(tǒng)的評估。
黑盒安全測試
除了功能設置之外,黑盒測試在評估應用程序的防御和安全控制方面起著至關重要的作用,這被稱為黑盒安全測試。這種測試以這樣一種方式完成,即它為外部攻擊準備了本地環(huán)境。我們在這里談論的方法是用于測試安全性的由外向內的方法。
這里為了更好地理解外部攻擊者的工作,減少了應用程序內部工作的知識。此外,由于它側重于從外部攻擊者的角度維護安全性,因此在測試過程中固有地缺乏技術依賴性。與技術無關的測試方法有助于發(fā)現(xiàn)因部署失誤和配置不當而導致的一些關鍵漏洞。
它是如何工作的?
Web 應用程序黑盒測試的過程是一個自動化設置,從收集有關目標的所有必要信息開始。這是在爬蟲的幫助下完成的,爬蟲掃描整個鏈接并提供有關頁面上存在的元素的必要信息。
黑盒安全測試還涉及識別 Web 應用程序中包含的技術。爬取之所以如此重要,是因為這是黑盒掃描器識別需要測試的輸入元素的地方。黑盒安全掃描器結合使用被動和主動掃描過程來發(fā)現(xiàn)漏洞。它還提供有關補救措施的信息。
黑盒滲透測試儀
在黑盒滲透系統(tǒng)的情況下,外部黑客被滲透測試人員取代,因此我們將其稱為黑盒滲透系統(tǒng)。就像外部黑客一樣,滲透測試人員僅擁有關于公共領域中存在的 Web 應用程序的信息。這些測試人員對應用程序的架構設計以及源代碼信息的了解非常有限。受雇的測試人員必須具備自動掃描方法和由外而內發(fā)現(xiàn)漏洞的專業(yè)知識。
現(xiàn)在,由于測試人員對應用程序的內部知識有限,它充當外部攻擊者并發(fā)現(xiàn)目標系統(tǒng)中的漏洞。這有助于從事物的服務端發(fā)現(xiàn)任何安全漏洞。滲透測試人員也有一個固有的缺點,當他們不傾向于自動化掃描過程時,這個缺點就會凸顯出來。這留下了未開發(fā)的威脅和脆弱性。
黑盒安全測試技術
二進制安全分析
顧名思義,二進制安全分析審核二進制代碼以搜索任何缺陷。這是在兩個不同的二進制分析工具的幫助下完成的。第一個工具主要處理模擬攻擊以發(fā)現(xiàn)安全漏洞。
在第一個工具中,二進制代碼在執(zhí)行階段被分析,并受到監(jiān)控。同時,在二進制執(zhí)行過程中,惡意元素被注入系統(tǒng),對執(zhí)行過程造成不利影響。持續(xù)監(jiān)控有助于根據(jù)應用程序的功能評估外部惡意攻擊是否成功。
現(xiàn)在,第二種形式的二進制分析工具模仿二進制可執(zhí)行文件來發(fā)現(xiàn)任何錯誤。主要用于java字節(jié)碼掃描器的使用。畢竟,理解和分析結構良好的 Java 代碼比分析原始源代碼更有效。
軟件滲透測試
軟件滲透測試從網(wǎng)絡滲透測試中得到啟發(fā)。就像網(wǎng)絡滲透測試人員必須具備扎實的網(wǎng)絡安全知識一樣。同樣,軟件滲透測試人員必須了解應用程序和軟件的安全知識。
使用軟件滲透測試儀的基礎是發(fā)現(xiàn)應用程序入口點中的任何內部或內部漏洞,供外部人員利用。這有助于阻止入侵者可以影響軟件和其他相關資源的關鍵數(shù)據(jù)的敏感點。
軟件滲透方式封裝了更大范圍的安全測試,可以應對更繁瑣的安全問題。這就是為什么滲透測試比模糊測試和錯誤注入等測試形式變得如此重要。
錯誤注入二進制可執(zhí)行文件
錯誤的注入可執(zhí)行文件主要用于發(fā)現(xiàn)傳統(tǒng)測試工具無法發(fā)現(xiàn)的安全威脅。它由軟件安全社區(qū)開發(fā),具有更現(xiàn)實的方法來發(fā)現(xiàn)應用程序中的安全漏洞。在這種測試方法中,通過安全故障注入在軟件中產(chǎn)生壓力,這導致軟件組件之間的互操作性問題。此處模擬故障,因為它們會出現(xiàn)在實時執(zhí)行情況中。
將故障注入系統(tǒng)的性質與外部攻擊者的性質相似。它還會觸發(fā)無意的故障,以發(fā)現(xiàn)此類情況下的軟件漏洞。故障注入測試與滲透測試相結合有助于衡量軟件在可執(zhí)行階段受到攻擊時的響應。環(huán)境故障注入突出了故障注入系統(tǒng)的關鍵方面。這樣的故障注入創(chuàng)建了一個接近真實的外部攻擊場景。這是一個復雜的測試過程,只有在重新創(chuàng)建復雜的攻擊場景以評估軟件的行為反應時,才能充分發(fā)揮其潛力。
模糊測試
模糊測試涉及使用稱為模糊器的東西。這會破壞使用中的數(shù)據(jù)并占用空間,這種測試方法包括在模糊器的幫助下注入隨機數(shù)據(jù)。現(xiàn)在,由于 Fuzzers 是用特定的目標程序編寫的,因此它們不容易插入其他程序。這有助于衡量特定于程序的錯誤,由于程序或應用程序的排他性,一些其他形式的測試無法發(fā)現(xiàn)這些錯誤。
字節(jié)碼、匯編代碼和二進制代碼掃描
字節(jié)碼、匯編代碼和二進制代碼掃描可以理解為源代碼掃描。與安全標簽相反的測試方式。該方法不僅僅關注安全性,而是在可執(zhí)行階段測試從二進制到字節(jié)再到匯編代碼的未解釋形式的代碼。所有這些都發(fā)生在安裝和最終執(zhí)行之前。附帶一提,重要的是要考慮到?jīng)]有這樣的字節(jié)碼等安全掃描器。正是測試機制中很少有工具將安全漏洞暴露出來。
自動漏洞掃描器
漏洞掃描器只是一種掃描工具,可用于許可和開源形式。這些工具或掃描器幫助公司發(fā)現(xiàn)應用程序網(wǎng)絡中的漏洞和其他黑客可以利用的安全漏洞。漏洞掃描有兩種形式,一種可以在網(wǎng)絡范圍內完成,另一種可以在網(wǎng)絡范圍外進行。簡單來說,可以將其視為內部和外部網(wǎng)絡安全掃描。
外部掃描用于發(fā)現(xiàn)應用程序和服務器中易受攻擊的入口點,黑客可以利用這些入口點發(fā)起攻擊。現(xiàn)在,內部掃描儀用于發(fā)現(xiàn)局域網(wǎng)內最薄弱的入口點,黑客可以通過該入口點橋接并傳遞到系統(tǒng)和服務器。現(xiàn)在,有效漏洞管理程序的關鍵歸結為有效使用基于網(wǎng)絡和主機的掃描器。測試人員需要評估應用程序的性質,然后部署內部和外部掃描工具。
結論
黑盒測試是一種識別程序缺陷的簡單方法。該方法以功能為中心的方法確保不必從代碼中讀取任何實際代碼。但是非功能測試也很普遍。通過適當解決功能和安全性(非功能性測試),用戶將獲得能夠處理負載并具有高安全性指南的強大產(chǎn)品。