從攻擊者的角度思考可以更快速了解企業在網絡防御方面的不足。網絡安全滲透測試工作的本質就是扮演攻擊性黑客的角色,梳理企業的IT資產、尋找漏洞和攻擊路徑,以便更好地修復或應對風險。
滲透測試的常見類別
滲透測試的具體類型有很多,大致可分為三個主要類別:網絡滲透測試、應用程序滲透測試以及社會工程。
01 網絡滲透測試
無線網絡滲透測試:這種類型的測試涉及滲透測試人員評估客戶定義的無線網絡。測試人員將尋找無線加密中已知的缺陷,試圖破解密鑰,誘使用戶向“雙面惡魔”(evil twin)接入點或被攻擊者控制的文件夾提供憑據,并暴力破解登錄詳細信息。惡意接入點掃描可以通過物理位置和經過身份驗證的無線分段測試完成這些評估類型,以確定攻擊者在成功連接到環境后可以訪問的內容。
外部網絡滲透測試:在外部網絡滲透測試中,面向互聯網的資產會成為模擬攻擊目標。通常,目標資產由客戶提供,但也可以在客戶確認的情況下執行“無范圍”(no-scope)測試。測試人員將嘗試在掃描期間發現的任何可利用漏洞。此外,允許登錄的暴露服務將受到密碼猜測攻擊的影響,例如暴力破解或密碼噴射。對外開放的企業網站通常會接受額外的審查,以尋找攻擊者容易利用的常見Web漏洞。
內部網絡滲透測試:內部網絡測試評估是從已獲得組織內部網絡訪問權限的角度進行,可以在測試人員和客戶員工之間提供有益的互動,測試人員可以使用客戶提供的基礎設施,或是他們自己的物理或虛擬遠程測試系統來進行遠程訪問。
02 應用程序滲透測試
Web應用滲透測試:Web應用程序滲透測試側重于通過Web應用程序呈現給攻擊者的攻擊面。這些測試類型旨在評估Web應用程序的安全性,并尋找攻擊性方法來訪問敏感數據,或獲得對Web應用程序的控制權限。在此評估期間,組織通常會向測試人員提供憑據訪問權限,以審查整個應用程序。
移動應用滲透測試:主要指通過對已編譯的移動應用程序進行靜態分析,或進行動態運行時分析,來評估移動應用程序的安全性。此外,移動設備參與的通信過程也都會被分析和評估。這通常包括與網頁數據或API調用的HTTP連接。
密集(Thick)應用滲透測試:在Linux和Windows等桌面或服務器操作系統上運行的編譯應用程序需要復雜的逆向工程。這種評估類型將包括反匯編(將計算機編碼譯成普通語言)和反編譯應用程序,并在應用程序運行時使用調試器附加到應用程序以進行運行時分析。該測試旨在分析應用程序通信是否以不安全的方式傳輸敏感信息。
03 社會工程攻擊測試
網絡釣魚:每個組織都可能成為網絡釣魚攻擊的目標。這種評估類型旨在確定組織的用戶群對魚叉式網絡釣魚攻擊的敏感性。該測試的目標不是評估組織電子郵件保護的有效性,而是確定當郵件避開這些過濾器時用戶將如何反應。這些評估的結果可以用于增強組織的反社會工程意識計劃。
電話語音釣魚:測試人員會使用來電顯示欺騙技術冒充用戶、支持人員或客戶。該評估旨在說服用戶執行一些可能會披露信息或提供對組織系統的訪問權限的操作。許多用戶會根據來電號碼選擇信任來電者。部分用戶會察覺出攻擊并以各種方式做出響應,例如咨詢安全顧問或在通話后聯系信息安全團隊。
USB令牌注入:用戶可能會無意中嘗試將USB設備連接到環境中。在此評估類型中,測試人員會將部署看似普通的USB驅動器,并誘使用戶將該設備插入公司系統。這些USB設備可以是包含建立遠程連接的惡意文件的典型驅動器,也可以是在連接時執行某些鍵盤操作。
收集短信釣魚:這種評估類型類似于網絡釣魚,但利用的媒介變為SMS或短消息服務向用戶發送欺詐性的消息。與網絡釣魚一樣,這些活動將嘗試讓用戶訪問冒充組織的站點或嘗試傳遞惡意木馬病毒。
滲透測試的關鍵步驟
從企業的角度來看,滲透測試的目標是驗證現有的安全策略有效性,以識別可能造成潛在風險的不足。而在滲透測試人員的心目中,他們的目標是實際登錄到被測試的系統和應用程序,并嘗試數據竊取行動。真正的攻擊者根本沒有范圍限制,并且可以通過多種方式攻擊組織,例如直接攻擊暴露在互聯網上的業務系統和應用程序,或利用員工某些安全薄弱環節實現入侵。在滲透測試服務的實施中,通常都需要包括以下關鍵步驟:
01 偵察
研究組織給定目標的細節。這通常涉及廣泛的OSINT(開源情報),它將在測試人員通過其他階段時為他們提供幫助。此階段產生的信息可以包括但不限于主機名、IP地址、員工姓名和電子郵件地址。
02 攻擊面枚舉
該階段會枚舉攻擊者可以與之交互的元素。在社會工程模式下,被攻擊的對象可以是服務、Web應用程序、人員甚至是建筑物。每個可以交互的參數或接口都能在此階段被識別出來。
03 漏洞檢測
漏洞是目標資源中存在的缺陷,攻擊者可以利用存在的漏洞缺陷引發意想不到的后果,例如系統訪問、信息泄露或拒絕服務攻擊。在此階段會識別出可能被攻擊者利用的漏洞。
04 滲透攻擊
這是滲透測試過程中最核心的環節。在此環節中,滲透測試團隊需要利用他們所找出的目標系統安全缺陷,來真正入侵系統獲得訪問控制權或訪問更多的敏感數據。
05 撰寫報告
在滲透測試完成之后,相關數據需要以清晰的方式關聯并呈現給客戶。這份報告應該包含之前所有階段之中滲透測試團隊所獲取的關鍵情報信息、探測和發掘出的系統安全漏洞、成功滲透攻擊的過程,以及造成業務影響后果的攻擊途徑,同時還要站在防御者的角度上,幫助他們分析安全防御體系中的薄弱環節、存在的問題,以及修補技術方案。
06 修復和重新測試
當測試結果提交后,接下來就是快速修復組織既定政策和流程中發現的漏洞。在某些情況下,發現的漏洞無法直接修復,但可以通過其他機制解決,例如額外的安全措施或補償控制。滲透測試人員也可以重新參與以提供補救證據或評估緩解措施的效果。
需要指出的是,這些測試階段并不一定是固化的,滲透測試人員可能會根據需要不斷重復之前的步驟。
對滲透測試的7個誤解
定期開展滲透測試對企業來說很寶貴,其作用不僅僅在于發現安全問題,對軟件開發人員更深入了解系統實際運行情況也會大有幫助。不過,當很多企業準備制定滲透測試計劃時,他們對滲透測試服務的理解和需求,往往與真實服務現況存在著很多偏差和誤區。
誤解1、滲透測試是為了漏洞評估
漏洞評估包括識別和分類已知漏洞,生成需要注意的優先漏洞列表,并推薦修復它們的方法。而安全威脅非常多樣,并不僅限于安全漏洞的利用。滲透測試側重于模擬攻擊者的行為,在服務完成后,測試人員需要生成一份詳細報告,說明測試過程中是如何破壞安全性以達到先前商定的目標(例如破壞工資系統),并提供相應的威脅緩解方案。
誤解2、人工測試將會被自動化取代
為了實現常態化、持續性的安全能力測試,許多企業開始大量使用自動化技術驅動的安全測試方法,但需要指出的是:目前的自動化測試模式大多屬于安全掃描,而非真正的滲透攻擊測試。不可否認自動化測試的應用價值,但真正的攻擊行為是和機器模擬入侵有很大差異的。經驗、創造力和好奇心是滲透測試的核心,而這都是專業滲透人員獨有的。在自動化測試完成之后,必須要配合人工測試方式,從攻擊者的視角發現問題。
誤解3、滲透測試僅用于發現技術缺陷
滲透測試的目的是為了發現組織安全防護體系中的不足。在測試中,測試方可以應用包括社會工程方式在內的多種方法。因此,在滲透測試之前,通常會確定是否需要專門評估某項技術的安全性。在實際應用中,測試工程師可能會被授權做更多事情,例如掃描社交媒體以獲取可利用的信息,或嘗試通過電子郵件從用戶那里獲取敏感數據,甚至嘗試欺騙獲取用戶的賬號權限等。
誤解4、滲透測試需要由外部團隊完成
滲透測試可由企業內部員工、專業服務商或其他第三方機構完成。理想情況下,外部測試人員會定期檢查內部測試人員的工作。
誤解5、滲透測試僅對大型企業有價值
如今,一些監管法規和行業標準都明確提出要求,組織需要定期進行滲透測試。例如,醫療保健提供者需要進行測試,以確保他們能夠保護其醫療數據安全。同時,任何接受或處理信用卡的企業都必須符合支付卡行業數據安全標準(PCI DSS)。滲透測試結果有時也會被引用為合規事件處理時的證據。
誤解6、滲透測試總是主動的
滲透測試可以是主動的或被動的。大多數情況下,組織會主動執行測試以幫助防止違規行為。但是,測試后取證分析期間的滲透測試也可以幫助安全團隊了解發生了什么,以及事件是如何發生的,所有這些信息還可以幫助組織防止未來發生類似的事件。
誤解7、滲透測試不會采用DDoS
滲透測試人員需要最大程度地避免在測試過程中對企業正常業務開展造成影響。拒絕服務攻擊由于破壞性較大,一般較少在滲透測試工作中使用。但是,在某些情況下,測試人員需要針對具有資源消耗型漏洞的特定系統執行拒絕服務攻擊,以深入了解攻擊覆蓋面和影響規模,并制定適當的緩解措施以避免此類攻擊。
更多信息可以來這里獲取==>>電子技術應用-AET<<