寫在前面:這兩年,國內BAS市場發展很快,BAS產品一個重要的分支是安全度量產品,目前有幾家公司在做。有采用機器人的方式,也有采用模擬靶機的方式。這篇文檔偏售前,描述了安全度量的必要性和優點。因為我正在銷售這樣的產品,所以覺得本文描述地特別全面和清晰。
這是關于安全度量比較早的一篇文章,由SANS邀請Mandiant做的。接下來對Mandiant和SANS做個介紹。
Mandiant是一家總部位于加州的私人網絡安全技術公司,成立于2004年,致力于提供網絡防御解決方案。
2013年被美國網絡安全巨頭FireEye以10億美元的價格收購,主要提供安全服務及產品包括威脅偵測、響應與補救,威脅智能分析,事件響應及安全咨詢服務等。
2019年5月28日, FireEye宣布以2.5億美元收購網絡安全初創公司Verodin,Verodin公司擁有一個幫助驗證網絡安全控制有效性的平臺,可識別由于設備配置錯誤、IT環境更改以及網絡攻擊等問題造成的漏洞。Verodin的平臺能夠對極其復雜攻擊自動進行安全有效性測試,并為安全程序驗證提供系統、可量化和持續的方法??????????????????
2021年6月,FireEye以12億美元的價格將FireEye產品線名稱和大約1300名員工出售給交響科技集團(Symphony Technology Group)。剩下的組織更名為Mandiant專注于 Mandiant Advantage 和其他服務。
2021年10月與2022年3月,交響科技集團(Symphony Technology Group)以40億美元收購的McAfee完成了兩個巨頭的整合。McAfee與FireEye合并成新公司Trelix。
2022年9月,谷歌以54億美元完成收購網絡安全公司Mandiant。
SANS(SysAdmin, Audit, Network, Security)研究所成立于1989年,是一個合作研究和教育組織。它的項目現在覆蓋了全球超過16.5萬名安全專業人士。從審計人員、網絡管理員到首席信息安全官,各行各業的人員都在分享他們所吸取的經驗教訓,并共同為面臨的挑戰尋找解決方案。SANS的核心是來自不同全球組織(從公司到大學)的許多安全從業者,他們共同致力于幫助整個信息安全社區。
許多有價值的SANS資源對所有提出要求的人都是免費的。它們包括非常受歡迎的互聯網風暴中心(互聯網的早期預警系統),每周新聞摘要(NewsBites),每周漏洞摘要(@RISK), flash安全警報和1200多篇獲獎的原創研究論文。
使用安全驗證度量網絡安全控制的有效性
介紹:當前問題
本文的讀者可能都了解,保護組織免受高級攻擊可不容易。年復一年,入侵事件不斷發生,至少和上年持平,甚至影響更大。然而每一年,我們都會聽到一些聲明,宣稱在安全控制方面得到改進。為什么會這樣?我們在網絡安全上的投入還不夠嗎?還是工具不好用?亦或是我們網絡安全團隊的過錯?答案可能就隱藏在這些問題之中,取決于每個組織的安全策略,結果的數字很清楚,但情況并不那么完美。根據安永會計師事務所2020年題為“安全如何從外掛進化到內生?“的報告:
- 20%的組織對網絡安全風險非常有信心,已有的緩解措施可以保護組織免受重大威脅的網絡攻擊。
- 25%的組織可以從財務角度量化他們網絡支出的有效性。
- 在過去12個月里,26%的入侵行為是由安全運維中心(SOC)發現的。
這些數字意味著什么?首先,看起來SOC平均有大量的收集工作,其次,網絡防御團隊可能正在努力溝通他們在保護組織安全方面的工作量和有效性。
根據IBM 2020年“數據泄露報告的成本”報告,數據泄露是一個非常昂貴的事件。2020年數據泄露的全球平均成本為386萬美元,其中美國是平均花費最高的國家,為864萬美元,醫療保健行業的平均成本最高,為713萬美元。
看到這些數字,我們注定要失敗嗎?當然不是。但在成功的網絡安全團隊和那些經常遭到入侵的團隊之間有什么不同呢?問題的一個答案就是我們將在本文中探索的概念:安全驗證。每個SOC分析師和管理者面臨的一個沉重問題是:“我如何知道我的工具在真正發生襲擊時能夠發揮作用?”我們能回答這個問題的最好方法是通過徹底的安全控制驗證。
并非所有的安全驗證措施都占有同樣的權重。只有代表最新和真實世界發生的攻擊測試才是好的測試。數周或數月前執行的驗證測試在當時可能非常有用,但在當前的DevOps、數字化轉型和云遷移世界中,您的安全立場和環境細節隨時都可能發生巨大變化,會導致使您的數據暴露,而您卻對此一無所知,因為您的知識和假設都建立在無效的測試上。
本文將探討通過網絡安全控制有效性度量來解決這些問題的最佳實踐。它將探索安全驗證技術,它們能做什么、它們是如何產生的、以及在選擇安全驗證策略時要考慮的關鍵能力。可靠的安全驗證策略將幫助你在晚上睡得更好,因為你知道你已經盡了最大努力來驗證你的安全觀點。它也會幫助你避免更不幸和不舒服的境地“我怎么知道我的工具有用?”或者你所在組織的領導問你“你是怎么做的?我們被攻破了!我以為我們花了這么多錢在安全工具上能夠防止這一切!”
SOC必須實現真正的、有意義的保護,但也要清楚地表達保護計劃以及它如何為組織帶來投資回報。比以往任何時候都更重要的是,網絡防御者擁有幫助客觀地衡量防御效果的工具。如果你正在為這些問題頭疼,請繼續閱讀接下來的關鍵信息和最佳實踐,可以幫助您克服這些問題。
安全驗證:過去和現在
縱觀網絡安全的歷史,驗證安全控制有效性的嘗試經常由多種初衷很好、但有潛在缺陷的評估方法組成。安全評估的策略包括定期滲透測試、脆弱性測試和指標收集,結合單點功能檢查;或者在最壞的情況下,把我們的頭埋在沙子里,當攻擊者入侵時,希望我們的工具能像承諾的那樣工作。
然而,這些方法可能不可靠,從而導致可預測到的問題。無數次我們聽到這樣的評論:“我發誓,這以前很管用”和“我認為這工具應該能發現,發生了什么事?因為安全團隊沒有意識到現在討論的這個方案可能更有效。在討論這個解決方案之前,了解測試的歷史對于理解當前的情況很重要。
傳統驗證方法
據Matt Bromiley在SANS文章,“關于安全測試,安全從業者到底做了什么”,測試安全控制有效性最常用的方法是滲透測試、紅隊、利用無害化的惡意軟件模擬攻擊和攻擊克隆組織環境的靶機。雖然這些方法是一個很棒的開始,它們基本上都是手工操作的方法,這帶來了一系列潛在的問題。

測試網絡安全控制有效性的方法
手工測試
過去,安全團隊在滲透測試之外被迫以手工和耗時的方式驗證他們的安全態勢。基本測試包括嘗試模擬攻擊時,通過SOC分析人員驗證,活動按計劃步驟記錄并發出報警。但手工測試存在幾個問題:
單次測試的一個問題是,它僅限于驗證當時的情況。如果情況改變了呢?一般組織的網絡工具和軟件都處于不斷變化的狀態,所以在某刻可能生效的某個分析策略,會受到上游變更的影響,導致不可預料的結果,在后續時刻無法生效。此外,日志代理和收集軟件也可能失效,產生意想不到的盲點。考慮到需要大量的SOC分析場景,你可以想像單次測試很難規模化。
另一個大問題是防御方通常沒有接受過滲透測試的攻擊方法訓練,因此,很難準確地模擬攻擊。雖然有很多開源攻擊工具和方法,網絡防御者通常不想去了解命令行和控制參數的大量選項、持久駐留方法和其他漏洞后利用策略、或者如何正確地運行它們。收集各種類型的命令和控制參數、惡意軟件和其他來信息源組合來進行測試,本身就可以成為一項全職工作,對于普通的防守者來說,難上加難。因此,進行可靠測試所需的威脅情報可能會嚇退許多團隊,一開始就不敢接受任務。所以,即使環境如預期的那樣,防御者嘗試自己測試可能會導致失敗,因為缺乏必要的東西來推進一個實際的和有代表性的測試。
安全測試自動化的到來
為了解決這些問題,防御者想出了解決方案。首先,防御者單獨編寫腳本和在組織內部創建可擴展的自動化系統。雖然增加可擴展性,它并沒有幫助解決團隊缺乏編程人員編寫自定義自動化腳本的問題。后來有了可用的開源解決方案,防御者能夠基于標準化的威脅情報標準自行進行這些類型的測試,如Mitre的ATT&CK?矩陣。而這開始為許多沒有編程人員的組織帶來可重復的、自動化的測試,但仍然需要為給定的環境進行設置和定制,包括不可預測的更新和缺乏官方支持的不足。即使在今天,測試也經常降級為“如果我們有時間就去做”的活動。這可能是因為許多組織將不得不花費大量的時間來實現和證明一個清晰的投資回報。幸運的是,隨著時間的推移,有了更多的解決方案可以解決這些問題。
滲透測試和紅隊
這么多年來,組織使用滲透測試、紅隊評估和其他未公開發布的模擬對手活動,在實際環境中測試防御能力。這些測試在覆蓋范圍和使用的技術方面通常是優秀的(假設有訓練有素的攻擊隊),但仍有缺點。
與滲透測試相關的一個明顯問題是成本。雇傭一個專業團隊計劃、執行和報告他們對您的組織的攻擊,費用不菲。雖然他們很好地展示了現實的攻擊者所能達到的效果,一般的組織很難持續做這個工作,一年一次都很難,除非有嚴格的合規要求。這意味著這些測試是“某個時間點”評估,通常在幾個月后就會失效。他們還受困于某些自我測試具有的相同環境漂移和配置變更問題。Bromiley的論文(下圖) 很清楚揭示了測試頻率的問題。
網絡安全測試的頻率
關于滲透測試的第二個問題,坦白地說,他們幾乎都能成功。去問問滲透測試員他們失敗的次數,你可能會得到回答“從來沒有!”為什么會這樣呢?原因之一是大多數SOC無法完成自我運行的分析驗證步驟,導致一個復雜的、昂貴的測試,最終有一個可預見的結果:完全繞過防御,完成攻擊者想要模擬任何惡意任務。這意味著不僅是滲透測試是單點評估,它們也不合適,因為團隊顯然還沒準備好!
如果您可以擺脫與自我運行分析驗證相關的問題,而同時從全面的滲透測試/紅隊評估中提高價值,會感覺如何?安全驗證領域的新工具可以提供這樣的效果。因為他們易于使用而提高價值,這類安全產品正在快速發展。
現代解決方案
在研究影響評估控制有效性的因素時,Bromiley的論文指出(見下圖),前幾節中討論的問題影響了一半的調查組織。

評估控制有效性的妨礙因素
這些妨礙因素是:
- 缺乏系統的方法—在測試背后沒有系統的、可重復的過程,整個操作會讓人感覺不值得信任,并影響可信度或有效性。
- 缺少知識—解決這些問題的方案應該消除對攻擊方面專業知識的需求,并將安全驗證置于所有團隊的范圍內,無論多么小或多么缺乏經驗。
- 無法獲得對基礎設施的可見性—安全驗證解決方案可能無法解決這個問題,但可以揭示檢測攻擊所需的關鍵數據源(如網絡流量捕獲和端點安全事件)在哪里完全不可用、意外離線、或配置錯誤、損壞或以其他方式停止服務。
- 使用自動化的局限—安全驗證解決方案應該使重復單個測試和持續整個測試集變得容易。
- 無法對未知威脅建模——許多團隊難以及時地實施僅用于檢測目的的相關威脅情報。要想不只使用這些信息,還基于這些信息進行攻擊可能會更加困難,特別是當對手的許多戰術、技術和程序仍然很難定義的時候。
考慮到這些問題,讓我們深入研究持續安全驗證,并展示這類產品采用現代方法來解決易用性、可重復性和可見性的問題。
持續安全驗證
對更容易的安全驗證的需求帶來了廠商構建和支持的持續安全驗證解決方案。這一波易用和自動化趨勢降低了安全驗證測試的門檻,改善了所有規模的團隊的適用性。
這種解決方案通常由可部署的代理或專用節點組成,用于啟動測試和遙測運行狀況監視。這些節點結合收集到的事件和警報數據,基于人、流程和技術,描繪出整個安全控制的運行狀況和能力。防御團隊通過指揮內部的節點與外部的節點相互通信,可以產生非常接近真實攻擊的流量和端點活動。當然首先假設惡意活動可以代表真正的攻擊技術,安全基礎設施可以看到這些攻擊,組織可以確信他們的安全控制會在真正的攻擊場景中有效行動。
使用自動化的持續安全驗證意味著許多痛點、人工測試的不可靠性和不準確性可以得到糾正,同時帶來以下好處:
- 在廠商支持下,加速驗證能力的快速部署
- 降低測試的復雜性,使任何規模的團隊都可以進行測試
- 賦能藍隊成員(不太可能接受最先進的攻擊技術培訓)運行復雜的攻擊場景
- 將模擬真實攻擊的困難任務外包給專門從事威脅情報的廠商
- 增強對網絡防御總體態勢以及關鍵數據源的運行狀況和配置的信心,這是能夠檢測到攻擊的重要前提
- 把報告驗證輸出映射到行業標準攻擊模型,隨著時間的推移,在內部以及對其他組織進行基準測試
- 提供威脅情報,指導安全團隊針對最重要的攻擊類型進行測試
- 幫助團隊確定哪些安全控制真正重要,哪些暫時忽略
持續是關鍵
正如前面所討論的,以前的測試解決方案的一個缺點是它們的人工手動、單個時間點。可以毫不夸張地說,持續安全驗證工具帶來的最大改進可能是持續評估態勢的能力。這消除了時間點評估方式的不足。相反,測試可以按預定的、自動化的方式運行,在某些東西發生更改或損壞時通知團隊。問題可以是數據源變得不可用,或是意外禁用了警報規則,或是分析邏輯被修改后導致了意想不到的后果,如果沒有有效發現攻擊,將立即發出警報。一旦團隊意識到問題,他們不僅可以修復問題并恢復正常,還可以分析失敗并提高整個系統的彈性。
構建有效安全驗證程序的關鍵因素
持續安全驗證的好處是顯而易見的。另一個獨立但相關的需求是選擇最佳解決方案。以下信息概述了在選擇持續安全性驗證的解決方案時需要考慮的事項。
完整和可信的測試結果
構建安全驗證程序的最重要因素之一是相信它將交付準確和完整的結果。由于對完整結果有許多可能的解釋,因此在安全驗證時,理解“完整”究竟意味著什么非常重要。
數據源可用性和運行狀況度量
了解“完整和可信”的一種方法是它如何適用于安全數據源(如端點日志和網絡流量)可用性和運行狀況。雖然這可能不是安全測試首先想到的事情,但遙測數據的收集和集中是成功的必要先決條件。初始配置之后,需要繼續檢查該數據源的運行狀況。如果不能保證事件和警報數據按預期流動,驗證的所有其他部分都可能受到質疑。因此,邁向成功的第一步是確定一個解決方案,該解決方案可以通知您是否有任何數據源在運行中丟失、配置錯誤或甚至執行不佳,并持續觀察可能發生的任何問題。攻擊者可能故意切斷日志記錄,日志代理可能自己崩潰,這兩種情況都會使識別盲點或潛在事件變得困難。
整個攻擊周期驗證
測試漏洞利用前和漏洞利用后攻擊戰術的全部范圍,同時對每種策略使用多種技術,是定義完整安全驗證的另一種方法。例如,Mitre ATT&CK矩陣表明,有許多方法可以實現每個高級的漏洞后利用戰術。本文使用Mitre ATT&CK 2020年7月子技術更新,甚至單個技術也被分解成多個測試用例來考慮。
在執行攻擊時,應該使用真實的攻擊二進制文件,在可用的情況下,以確保最高級別的攻擊真實性。
攻擊者工具和基于協議的測試
戰術和技術只是完整測試需要考慮的一個層面。另一個需要考慮的因素是具體的條件。例如,攻擊者使用的惡意軟件、這些惡意軟件實現的協議、以及他們留下的網絡和基于主機的證據,都需使用不同的方法觀察完整測試。產品越能提供代表技術的高級戰術、或模擬威脅組織可能使用的工具,就越能運行更真實的驗證測試。例如,了解對手是否使用了WastedLocker勒索軟件、PlugX作為后門、CARROTBALL下載器或RIG漏洞利用工具包來攻擊瀏覽器,并能夠針對這些特定的工具進行測試,可以更好地驗證測試。當然,復制所有高級攻擊者惡意軟件是不可能的,因為大部分惡意軟件無法得到并且是閉源的(除非您的安全驗證解決方案廠商可以提供0)。但是,在可能的情況下,生成模擬這些工具的流量和活動是一個主要的優點。
端點和網絡設備覆蓋
最后,完整的安全驗證應該包括檢測來自網絡和基于主機的工具的攻擊,而不管攻擊的來源和性質如何。用于驗證的工具應該從兩種類型的數據源中獲取數據,并從網絡和主機的角度識別攻擊的總體情況。它們應該能夠提供有關網絡設備(如防火墻、IDS、網絡服務日志、PCAP等)以及端點工具(如AV、EDR、主機防火墻日志、系統和身份驗證日志)是否發現攻擊的數據。
威脅情報作為支撐的測試
情報為支撐的測試的第一個要求是對任何給定時間段活躍的攻擊者有深入的威脅情報。由于這種類型的威脅情報不是一夜之間就能得到的,因此在購買安全驗證產品時,與事件響應領域的廠商合作將非常重要。長期的研究歷史、處理事件的經驗和逆向高級惡意軟件和工具是一個很好的參考,表明廠商將能夠為需要運行的測試提供準確的指導。
希望快速啟動安全驗證程序的組織,將想從廣泛的目標聲明中開始獲得快速和相關的情報,例如“我們是一家位于A、B和C地區或行業的公司,在X和Y上生產/存儲數據。”能夠根據地理位置和同類組織的事件將您的組織與過去的網絡攻擊聯系起來,可以幫助您快速定位戰場并預測最可能的敵人。問問你的廠商他們從哪里得到威脅情報。他們是否在做研究并從其他來源收集信息,或者他們是否擁有事件響應能力,也可以從未公開的事件中獲得情報?他們是否有一個專門的威脅情報團隊,生產成品情報產品,使他們對網絡安全狀況有比一般人更廣泛的可見性?在這個領域,影響范圍越廣,他們就越有可能將您的組織與相關威脅行為者及其使用的攻擊技術相匹配。
情報為支撐的測試的另一個需求是幫助組織集中測試正確的內部資產。因為攻擊團伙要被視為有效威脅,必須具備對組織造成損害的能力、機會和意圖。如果沒有任何因素,那么這個團伙,盡管他們可能值得成為對手,也不一定值得高度關注。您的廠商應該幫助您將測試重點放在公司擁有的最高風險和最重要的資產上。要做到這一點,需要確定存在哪些惡意團隊,以及它們的意圖和能力是什么,然后將它們與您的環境中存在的內容進行匹配。例如,如果某組織有一個非常有價值的業務或制造流程,但是沒有已知的對手對此感興趣,那么就沒有意圖。因此,圍繞要保護的資產進行重點測試可能不是最節省時間的方式。相反,如果組織針對特定資產的威脅模型只包括技能水平較低的攻擊者,則該資產被入侵的風險也可能極低。這意味著最好將精力花在攻擊者能力覆蓋的地方。因此,旨在保證時間和金錢最大價值化的持續安全驗證應該提供一個以資產或數據為中心的視圖,以了解什么可能對攻擊者有價值。有了這些知識,組織就可以將測試重點放在對手有意破壞該數據或資產類型的領域。
提供這些信息的能力圍繞廠商收集的大量威脅情報,提供給客戶,理想情況下,可以直接集成到他們的平臺中。這種威脅情報應該包括有關攻擊者及其攻擊環境的高水平和低水平細節,以便客戶能夠對真正的最高風險做出明智的決定。
相關的、靈活的和可操作的測試
最后,安全驗證解決方案應該以靈活的方式使與客戶相關的數據始終可用來測試。這些測試的結果還應該以一種清晰且可操作的方式呈現給安全團隊和管理層。
最新的攻擊方法
如果不保持相關性,對最新攻擊方法的要求很容易只是變成威脅情報。持續安全驗證解決方案需要得到廠商的支持,廠商能夠識別并及時推送針對本月攻擊類型的更新。隨著防御者和攻擊者之間的貓捉老鼠游戲愈演愈烈,對工具和技術的假設很快就會過時。詢問您的供應商如何獲得威脅情報,以及您在新聞中讀到的攻擊可以多快出現在他們可以運行的驗證測試中。如果新發布的漏洞有任何消息,攻擊者可能會在24小時內開始使用它們。保持高速更新的能力可以成為識別新攻擊的關鍵戰略。
多環境
另一個關鍵功能是推動從一個子網中的任何給定端點或設備到另一個子網中的任何其他設備的測試。換句話說,安全驗證解決方案應該能夠在整個組織網絡中所有可能的源和目的組合中執行攻擊。這絕對必要,因為橫向移動是幾乎所有高級/針對性攻擊的關鍵攻擊階段。在這種情況下,任何給定攻擊階段的源子網和目標子網不僅不可預測,而且可能以多種組合發生,所有這些都需要對防御者可見。一個完整的安全驗證解決方案應該允許防御者從網絡內部、網絡外部、云、VPN鏈路或任何其他可能發生的網絡區域發起攻擊。
可操作的測試
最后但并非最不重要的是驗證測試的輸出質量。輸出報告時需要考慮下列問題:
- 廠應商是否明確說明什么是有效的,什么是無效的,以及建議如何修復?
- 廠商能否告知您如何根據Mitre ATT&CK矩陣、NIST網絡安全框架或其他框架對測試進行優先級排序?
- 可操作的條目是否按優先順序排列,以明確哪些問題需要首先解決,為什么?這些條目是否與已定義的業務結果相關聯?
- 能否從數據中得出長期趨勢,例如,SOC隨著時間的推移在檢測攻擊的可靠性方面正在提高?
- 報告是否與攻擊框架保持一致,如洛克希德·馬丁網絡殺傷鏈或Mitre ATT&CK矩陣,它們是否顯示了與其他階段相比,哪里存在潛在的覆蓋空白或覆蓋不足?
- 廠商能否提供威脅情報,告知您如何根據與您的組織最關心的內容來確定測試的優先級?這樣的問題將有助于確保安全驗證工具和戰略能夠有效地轉化為解決問題的行動,并在任何給定時間就安全操作的狀態進行清晰的溝通。
總結
安全團隊總是在尋找對抗攻擊者的優勢。雖然購買更好的預防和檢測技術是一種方法,但這些購買通常難以量化對安全狀況改善。在最壞的情況下,除了已經實現的內容之外,它們實際上可能不會添加任何額外的功能。安全團隊如何知道他們被保護的程度,以及哪些工具對他們的投資最有效?持續測試工具的功能和性能可以保證在攻擊者來入侵時發現他們。它還可以幫助您將網絡安全支出集中在可以客觀證明能夠產生最大投資回報的工具和技術上。當然,沒有任何測試可以預測未來所有可能的攻擊行為。然而,通過結合來自全球攻擊對手、設備、入侵情報來源和專業知識的最佳可用威脅情報,以及對敏感數據、基礎設施和漏洞的內部知識,網絡防御團隊可以顯著提高其執行任務能力的信心;因此,最大限度地減少攻擊者行為的業務影響,并最終防止代價高昂的入侵行為。
安全牛
安全牛
一顆小胡椒
安全內參
系統安全運維
安全圈
看雪學苑
GoUpSec
D1Net
系統安全運維
安全客
黑白之道