滲透測試教程 – 什麼是滲透測試?
滲透測試
滲透測試是安全測試的一個子類別,用於檢測軟體中攻擊者可以利用的漏洞、威脅和風險。執行此測試的主要目標是識別和測試軟體中的所有安全漏洞。它也被稱為滲透測試(Pen Test)。透過使用惡意技術評估軟體或應用程式來發現安全漏洞。在此過程中,軟體的弱點或方面會受到授權模擬攻擊的利用。
滲透測試能夠保護重要資料免受外部人員和未經授權人員(例如駭客)的侵害。當識別出漏洞時,利用該漏洞完全利用系統以訪問敏感資訊。滲透測試人員也被稱為道德駭客。
漏洞是指攻擊者可以用來訪問軟體或其中包含的資料的風險或威脅。它們通常在軟體開發生命週期和實施過程中意外發生。一些常見漏洞的示例包括設計錯誤、配置錯誤、軟體錯誤等。滲透分析的過程在很大程度上取決於:漏洞評估和滲透測試。
滲透測試的必要性
金融機構(銀行、投資銀行、證券交易所等)希望確保其資料安全,而滲透測試可以確保這一點。
當軟體已被駭客入侵併且您想知道系統中是否存在任何威脅或風險以防止未來入侵時。
主動預防性測試是針對駭客的最佳預防措施。
滲透測試的型別
黑盒測試 - 在此測試中,測試人員或測試團隊對被測系統一無所知。他們收集有關目標網路或系統的資訊。
白盒測試 - 在此測試中,測試人員或測試團隊獲得了有關被測系統的所有資訊,包括 IP 地址模式、原始碼、作業系統詳細資訊等。可以將其視為內部來源發起的攻擊的模擬。
灰盒測試 - 在此測試中,測試人員或測試團隊獲得了部分系統資訊。這就像外部來源發起的攻擊,該來源非法訪問組織網路基礎設施的文件。
要選擇的滲透測試型別因組織而異,並且很大程度上取決於範圍以及組織是否希望模擬內部或外部來源發起的攻擊。
滲透測試測試什麼?
軟體,包括作業系統、服務和應用程式
硬體
網路
流程
終端使用者行為
滲透測試的方法
**外部測試 -** 此測試測試組織在網際網路上可見的方面,例如 Web 應用程式、網站、電子郵件、域名伺服器等。執行此測試以獲取訪問許可權並獲取重要資訊。
**內部測試 -** 在此測試中,測試人員或測試團隊可以訪問其防火牆後面的應用程式,以模擬內部來源發起的攻擊。
**盲測 -** 在此測試中,測試人員或測試團隊僅提供目標組織的名稱。它為安全人員提供了對實際攻擊如何發生的即時檢視。
**雙盲測試 -** 在此測試中,安全人員沒有任何有關模擬攻擊的資訊。就像在現實世界中一樣,他們在遭到攻擊之前沒有時間加強防禦。
**目標測試 -** 在此測試中,測試人員和安全人員共同努力,互相更新他們的操作。目標測試是一項寶貴的練習,可為安全人員提供對攻擊者觀點的即時反饋。
如何進行滲透測試
計劃 - 在此階段,確定任務的範圍和策略。為了定義範圍,我們使用現有的安全策略和標準。
發現 - 在此階段,收集系統資訊,包括系統資料、使用者名稱和密碼。這也被稱為指紋識別。掃描和調查埠,我們還嘗試檢測系統中的漏洞。
攻擊 - 在此階段,我們確定漏洞的利用方式。我們需要安全許可權來利用系統。
報告 - 在此階段,建立包含詳細調查結果的報告。評估漏洞,並確定它們對業務的風險和影響。
滲透測試中涉及的主要任務是收集有關係統的資訊,這可以透過以下方式實現 -
關於主機的“一對一/一對多”模型:透過這種方式,測試人員或測試團隊針對單個目標主機或目標主機的邏輯分組線性執行技術。
“多對一/多對多”模型:透過這種方式,測試人員或測試團隊使用多個主機以隨機、速率限制和非線性方式執行資訊收集技術。
滲透測試工具
**NMap -** 此開源工具用於掃描埠、識別作業系統、跟蹤路由和檢測漏洞。它還用於透過傳送資料包並分析響應來查詢計算機網路上的主機和服務提供商。NMap 支援檢查計算機網路,例如主機發現和服務和作業系統檢測。
**Nessus -** 此基於網路的工具被廣泛用於檢測漏洞。它掃描計算機並在發現任何外部來源可能利用以訪問連線到網路的任何計算機的漏洞時發出警報。此工具對計算機執行超過 1200 次檢查,以確定攻擊者是否可以侵入計算機或對其造成損害。
**Acunetix -** 此工具以簡單、直接且強大的軟體包為軟體工程師和安全專業人員提供了一系列出色的功能。
**Intruder -** 此工具是一個強大的漏洞掃描程式,可以檢測網路安全缺陷,解釋威脅和風險,並幫助修復它們。它還有助於自動化滲透測試。它在整個 IT 基礎設施上執行大約 9000 次檢查。它支援基礎設施和 Web 級檢查,例如 SQL 注入和跨站點指令碼。入侵者還可以自動掃描系統。
滲透測試人員的職責
從組織收集資訊以執行滲透測試。
檢測駭客等外部來源可能利用來攻擊目標機器的缺陷。
像駭客一樣思考和行動,但要以道德的方式。
確保他們的工作可重現,以便開發人員可以輕鬆修復它。
定義測試的開始和結束日期。
在測試期間防止系統或資料出現任何損失。
對資訊和資料保密。
手動滲透測試與自動化滲透測試
手動滲透測試 | 自動化滲透測試 |
---|---|
需要專家專業人員。 | 自動化工具提供易於理解和清晰的報告;因此,即使是新手專業人員也可以管理它。 |
需要 Excel 和其他工具來跟蹤它。 | 它具有集中式和標準化工具。 |
樣本結果取決於測試用例。 | 結果不會隨著測試用例而改變。 |
必須執行記憶體清理。 | 它具有全面的清理功能。 |
滲透測試的優勢
**發現漏洞 -** 它有助於檢測系統配置和網路基礎設施中的漏洞。它還研究相關人員的行為和習慣,這些行為和習慣可能導致資料洩露和惡意滲透。它提供有關漏洞的報告,以便我們可以確定需要進行哪些改進或哪些建議和策略可以確保整體安全。
**確定實際風險 -** 在滲透測試中,測試人員會利用已識別的漏洞。因此,我們可以知道駭客在現實世界中可以做什麼。他們可以非法訪問敏感資料並執行作業系統命令。它們還有助於我們確定漏洞的風險級別。
**評估網路防禦能力 -** 它有助於檢查和評估網路防禦能力。我們可以及時檢測攻擊並做出相應響應。一旦檢測到攻擊,我們應該開始調查、發現攻擊者並阻止他們。測試反饋告訴我們可以採取哪些措施來改進網路防禦。
**確保業務運營的持續性 -** 我們需要網路可用性、全天候通訊和訪問資源的原因是為了確保業務運營的順利和持續執行。每次中斷都會對業務產生負面影響。滲透測試揭示了威脅,並有助於確保業務運營不會受到意外和不必要停機的影響。
**第三方專家意見 -** 當組織中的某人發現缺陷時,管理層可能不願意採取行動。因此,由第三方專家或專業人員建立的報告在很大程度上會影響管理層,並且可能需要額外的資金。
**保持信任 -** 網路攻擊或資料洩露會對客戶、供應商和合作夥伴的信心和信任產生負面影響。滲透測試以及嚴格而系統的安全審查可以使所有相關利益相關者放心。
滲透測試的缺點
它無法涵蓋所有漏洞。
滲透測試人員在時間、範圍、預算和技能方面受到限制。
它也可能導致測試期間資料丟失或資料損壞。
它也可能需要額外的成本,並且停機風險更高。
如果滲透測試未正確執行,可能會造成大量損害,例如:導致伺服器崩潰、洩露敏感資訊、破壞重要的生產資料等。