首先,安全測試是對應用的安全服務進行驗證,識別潛在安全缺陷的過程,重點是應用面臨的安全威脅。目的不是最終證明應用是安全的,而是驗證存在哪些安全漏洞來保證應用的安全性。
滲透測試是站在黑客的角度,從企業外部或內部對目標網絡環境進行深入的安全檢測,從網絡外部或內部收集系統的相關信息,檢測出更符合邏輯、更深層次的漏洞,提前發現企業的脆弱環節。滲透測試的目的不是確認功能,而是確認沒有不安全的功能。滲透測試最簡單直接的解釋就是:目標系統的安全測試過程完全站在攻擊者的角度。
通過對安全測試和滲透測試的概念和目的的理解,安全測試和滲透測試的關系是安全測試包括部分滲透測試。
那麽如何理解滲透呢?第壹次看到這個詞的時候,我想滲透什麽?滲透從哪裏開始?滲透到哪裏?我先介紹壹下Fuzz的由來。模糊這個詞來自巴頓·米勒教授。在1986的壹個風雨交加的夜晚,他降落在了自己的主機上。不知怎麽的,信號通過壹只貓傳到了主機上,電光壹閃,把裏面的高位變成了低位,低位變成了高位。結果到了主機後就變了。米勒想出了用“崩潰、破壞、摧毀”來測試軟件的技術——Fuzz。這個故事讓我想起了壹個很恐怖的場景,就是毒從嘴裏滲透到胃裏,滲透到心裏。。。最後,他中毒而死。
接下來,解決前面三個問題。滲透從哪裏開始?-軟件和環境中可能發生變化的部分。從安全角度來看,環境、用戶輸入和內部數據和邏輯是這些更改可能暴露安全問題的主要位置。環境包括文件、應用程序、系統資源和應用程序使用的其他本地或網絡資源。這些都有可能成為滲透的切入點。滲透什麽?-格式錯誤的數據。這些數據可能是文件、數據包、測試表中的項目或臨時文件中的內容。簡而言之就是畸形等異常數據。它滲透到哪裏?要考慮應用本身的執行過程,考慮案例能放多深,邏輯能放多深,就要非常了解應用的內部結構。滲透測試是壹個漸進而深入的過程。
滲透測試壹定是黑盒嗎?很多技術人員對這個問題有這種錯誤的理解。滲透測試不僅是模擬外部黑客的入侵,也是為了防止內部人員有意識(無意識)的攻擊。這時,可以告訴安全測試人員壹些關於系統的信息,包括代碼片段。這時候就符合灰盒甚至白盒測試了。