Home 播客 EP5 -識別和緩解零日威脅
Applications

About The Author

Outline

Edgio的Beyond the Edge播客簡介第5集:識別和緩解零日威脅,由高級 產品行銷經理–Edgio的安全性。

Andrew Johnson:歡迎來到Beyond the Edge,我們將深入探討影響現代數字業務的趨勢。 我是Andrew Johnson,您的本集共同領航。 今天,我們正在探討零日威脅的主題,特別是我們如何識別和緩解威脅。 今天參加我們的還有Dave Andrews Edgio (工程副總裁)和Marcel Flores (Edgio首席研究科學家)。

歡迎,Dave。 Marcel,很高興你們兩人都能在這裡。 您能告訴我們您自己和您在Edgio的角色嗎?

Dave Andrews:沒錯。 感謝Andrew的接待。 很高興能繼續。 我是工程副總裁。 我在Edgio工作了11多年,我覺得這只是一個陰涼處。 從工程角度來看,我負責邊緣平臺和許多類型的中央基礎架構。

安德魯·約翰遜:太棒了 謝謝你。

Marcel Flores:是的。 非常感謝您的光臨。 正如您所說,我是Marcel Flores。 我是Edgio Labs的首席研究科學家,Edgio Labs的研究小組。 我的團隊通過執行嚴格的研究和開發以及與更廣泛的系統和網路研究社群合作,致力於提高網路的性能,可靠性和執行。

什麼是零日?

安德魯·約翰遜:太棒了 再次感謝大家今天的參與。 因此,在零日威脅的主題中,我認爲很重要的一點是,快速讓我們的受衆瞭解什麼是零日漏洞和攻擊。 在我們介紹您保護Edgio和我們客戶的體驗之前,我將簡要地介紹一下這一點。 那麼,就我們在這裡討論的內容而言,零日是什麼呢? 基本上,現代應用程式,現代業務,現代服務都是由軟體,開放原始碼軟體,商業化程式碼基礎不同的通訊協定等組成 我們知道沒有任何軟體是完美的,而且有時會在該代碼中檢測到漏洞。 基本上,“零天”是指發現漏洞的時間段,以及提出修補程序或變通辦法的時間,對吧?

因此,一旦開發人員知道漏洞,他們就會儘快修補漏洞,或者向該軟件的客戶和用戶提供他們可以採取的措施來防止漏洞被利用。 但基本上,就像我提到的那樣,這是一個不會消失的問題。 我們發現,與2021年相比,2022年CVE或常見漏洞和暴露量每年增加約25%。 發現更多漏洞並不令人意外。 AI工具可以快速掃描代碼庫。 好的行為者和壞的行為者當然有財政激勵,以從好的行為者一方發現這些脆弱性。 有bug buty程序。

你很熟悉Apple一直為你的iPhone推出代碼修正的時機。 好的白帽子研究人員正在向這些開發人員提交利用資訊安全風險的攻擊者,然後也有惡意攻擊者利用資訊安全風險。 所以,只是介紹一下這方面的背景。 也許您最近聽說過一些常見問題。 HTTP2快速重置最近在應用程式安全領域是一件非常重要的事情。 也許您聽說過Log4j,Spring4Shell或幾年前的Apache Struts 2漏洞,它在美國甚至在世界各地造成了大量數據洩露。 這只是關於零日威脅的一點背景,但是,也許我會先問Dave,您會做些什麼來保護Edgio和我們的客戶免受零日威脅。

Edgio如何保護自身及其客戶免受零日威脅?

Dave Andrews:沒錯。 因此,我認為安全性是關於深度防禦的,對吧? 就像,您從來沒有做過任何特定的事情。 這更重要的是確保將多個層綑綁在一起。 我們的想法是,如果有一層或兩層不完美,因為我們有非常聰明的人主動嘗試打破它們,那麼我們設計的層數和重疊的保護和緩解措施就是這樣,這裡的要點是,如果一件事情失敗,那就無關緊要,因為那裡還有五件可以保護您的東西。 所以,像第一次一樣,退一步,我認為最重要的事情之一是一般的準備工作。

這至少有三個不同的方面。 第一個讓我想到的是衛生。 保持良好的安全衛生是絕對重要的。 而且,它在很大程度上有助於減少您的關注領域。 那麼,衛生是什麼意思? 主要有兩個方面。 一種方法是使軟體保持最新,或定期進行修補。 這是世界上最無聊的事情。 這也是最好,最關鍵的防線之一。 這意味著您可以充分利用您所談論的所有負責任的披露,Andrew,善良的白帽子研究人員,查找漏洞,向供應商披露,修復漏洞並推出修復程序。

您可以利用所使用軟體中所有基本已知的攻擊媒介。 因為它很無聊並不意味著它很容易,特別是當您在Edgio以及其他許多地方工作時,它非常非常非常困難地管理定期升級所有軟體所帶來的風險。 因此,我們將在後面看到,我們在操作上做了許多事情,以使操作更安全,更輕鬆。 但如果你願意的話,它仍然非常準確地落在衛生桶裡。 下一項在衛生範圍內的工作是掃描。 這裏的要點是積極尋找一些跡象表明您遇到了問題,而不是壞演員發現它。

這有很多種形式。 它可以是內部安全小組或資訊安全小組。 您可以僱用外部方執行掃描。 它可以是兩者。 通常,組織利用漏洞大多來鼓勵人們走白帽子的路,發現漏洞會向我們或特定方披露,以便在被利用之前就可以修復這些漏洞。 所以這些事情就歸入了這個桶中,你可以先解決,對吧? 例如,利用整個社群的良好工作,使網際網路和軟體總體上更加安全。 然後主動查看您自己的應用程序,嘗試查找漏洞並主動修復。 下一節我要說的是準備工作,我將向Marcel介紹,這是觀察能力。

Marcel Flores:是的,謝謝Dave。 因此,我認為,在許多情況下,另一件重要的事情是能夠了解您的網路或基礎架構的情況。 所以我認為這種類型分為兩類,它們基本上是相同的,但我認為必須予以注意。 第一個是考慮應用程式級行為,對吧? 確保您瞭解哪些請求進入網絡,以及這些請求的功能,它們的形狀,正常外觀以及在某些事件中可能出現的情況。 我認為這一點也很重要,請記住,無論何時您在網際網路上通信,都是一種完整堆棧操作,對吧?

其中,每個請求都將通過應用層以及較低級別的協議。 因此,密切關注堆棧下麵的情況很重要,對吧? 並瞭解可能存在來自較低層系統的複雜行爲和響應,而這些應用層行爲無法很好地捕獲這些行爲。 因此,重要的是要跟蹤這兩個組件的類型,並觀察這兩種情況下發生的情況。 我認為關鍵是能夠了解交通何時發生變化,對吧? 當您的流量超出預期時,對吧? 您可能會看到通常所看到的應用程式請求功能,對嗎? 例如,HTTP POST與GETS相比突然增加,考慮應用層,考慮協議級別,對吧?

這在協議中可能非常復雜,如HTTP2或更低的協議。 思考TCP套接字發生了什麼情況,以及該級別的協議交互發生了什麼情況,特別是當您考慮可能嘗試利用特定漏洞的DDoS攻擊等問題時。 我認爲,要發現這些漏洞,關鍵在於掌握這種可觀察性,不僅要有能讓您瞭解發生什麼情況的指標,而且還要能夠深入瞭解這些行爲,對吧? 然後對它們進行相應的細分,對吧? 瞭解是否有特定的使用者群產生特定的流量集。 有特定的網路,特定的客戶,特定的客戶,特定的資產,對吧? 因此您可以了解並縮小事情發生的地方以及它們可能發生的方式。

安德魯·約翰遜:很有趣。 真有意思。 那麼,在您觀察到這些不同類型的行為或您認為可能是零時差的事情之後,您可以採取哪些操作步驟?

您可以採取哪些步驟來緩解零日威脅?

Dave Andrews:是的,我可以拿這個,Andrew 是的。 Marcel所說的兩種元素真的是基礎,對吧? 就像第一個是看事物,看趨勢,從一個角度來看,呲合看事物,對吧? 比如,整體情況如何? 最重要的是,您可以從高級角度瞭解正在發生的事情,並可以非常快速地識別所做的更改,正如您所說。 第二部分是深入探索,實際上能夠激發和發展您對什麼變化,它的執行水平以及它是否存在風險的理解,對吧? 比如,網際網路是狂野的,狂野的西方,對吧? 就像,事情總是在變化。

新的行為總是在發生。 並非所有這些都是安全問題,對吧? 例如,擁有更廣泛的匯總資訊集的能力,但讓您深入了解,提問和觀察,或是回答更為細微的問題,讓您了解發生了哪些變化及其原因,並讓您做出決策。 我的天哪,就像,這很好。 這是一個新客戶在做一些事情。 或者你知道這實際上是一個問題,或者我們需要去看看。 因此,您應該遠離,看看發生了什麼,並發展對這一問題的一些理解。 你進入了喜歡,偉大的領域,那麼什麼?

喜歡,您如何處理? 我們稱之為營運敏捷性和敏捷性。 當我們考慮營運靈活性時,我們會考慮一些高級主題。 同樣,三個方面是響應能力,安全性和冗餘性。 因此,只需花點時間來處理每個響應速度,聽起來就像是這樣,對吧? 從安全角度看,發生問題時,時間是最重要的,對吧? 如您所知,您希望能夠非常,非常迅速地解決安全問題,以便使攻擊者有最少的時間進行破壞,並給您最大的時間進行清理。 因此,我們從廣義的角度來看,我們的目標不僅僅是安全問題,而且是我們所做的各種操作更改,我們的目標是大約99.99秒,以達到80%的基礎設施。

這就是目標。 我們並不總是能夠做到這一點,因為某些事情必然需要更長的時間,但這是目標。 我們的許多子系統確實滿足了這一目標。 安全是一種奇怪的主題,需要考慮操作敏捷性。 所以讓我稍微分開一下。 當您嘗試以高水平的響應(即非常,非常快)來做某件事時,您會面臨的風險之一是,假設您能夠完全觀察並完全了解正在發生的事情,並且可以完美地預測您將要做出的更改的響應,那麼您就可以非常,非常迅速地解決問題。 這很棒,而且很多時候都是這樣。 但是,您對這些事情的理解也有可能不完美,您很可能會很快使其變得更糟。

沒有人想要這樣做。 因此,安全性的重點在於,您需要部署系統,流程,自動化以及許多其他功能,以確保您不會使情況變得更糟。 這可以歸結為幾個非常非常高級別的事情。 開始時。 這就像是主動建模。 這在很大程度上適用於基本容量規劃,對吧? 例如,如果由於某種原因,您必須使計算機停止生產以修補它們,因爲無論出於何種原因,它都需要重新啓動服務。 如果您嘗試非常快速地完成這項工作,其中一個風險是您將太多的機器停用,而不再需要它們目前所承受的負載。 您可以提前知道,對吧?

因此,我們有許多建模系統與工作流程系統集成,因此,當您請求儘快修補所有內容時,它不會立即將所有伺服器從生產中拉出。 因此,您可以構建和集成基本的安全係統,以防止自己在腳上射擊。 因此,假設我們不會從這一角度使事情變得更糟,只是從純粹的容量規劃基礎設施角度來看,我們還想知道,我們所做的更改在應用程式級別或任何級別,可觀察應用程式,協議等方面都會產生預期效果,而無論我們試圖緩解的是什麼。 我們所做的就是利用我們稱之為煤礦的系統。 我們以前曾在部落格上對它進行過討論,但基本上所有的想法都是我們所稱的金絲雀-煤礦中的金絲雀。

問題是,全球沒有任何事情可以一次性發生,無論它多麼可怕。 最少兩個階段,以便進行某個項目。 因此我們將其放在基礎設施的子集上。 通常,發生事件最嚴重或最明顯的基礎架構,我們會驗證它是否符合我們的預期,然後我們很快就會推出。 對不起,請將其推廣到更廣泛的範圍,並驗證整個問題是否在全球範圍內得到解決。 煤礦和峽谷與它們的指標和觀測系統緊密集成,這樣您就可以一目了然地關聯起來,這是什麼? 本金絲雀如何處理我正在查看的匯總指標? 因此,我們獲得實時反饋,嘿,我們所做的改變實際上就是解決這個問題。

這非常非常非常方便。 我們目前正在進行的實際工作,以及準備在內部和以後發布,我們將為客戶及其配置更改對其進行生產,基本上是完全自動化的度量分析。 因此,當我們進行這樣的更改時,需要一個人坐在那裡觀察它,確保發生的事情是正確的,並確保他們關心的指標朝著正確的方向發展。 然後基本推進金絲雀,告訴系統,太棒了,你已經通過了第一階段。 一切看起來都很好。 繼續前進,進入該加那利的全球階段。 我們這樣做,我們利用系統來處理所有更改,不僅是您知道的安全操作更改,還包括整個系統中流傳的所有更改。

我們所遇到的問題是,隨著我們對銷售點的可見性越來越高,可見性越來越高,衡量指標越來越多,關於發生的事情的資訊越來越多,人們需要關注的是,對吧? 而這種負載已達到太高的地步。 所以人類開始犯錯誤,對吧? 因為圖表太多,無法查看,圖表太多,人們感到疲倦,人們也不完美。 因此,我們推出了一個叫做birdwatcher的系統,這種系統可以監視大峽谷,它基本上可以對度量進行一些復雜的統計分析,比如當變化開始時,它會給它一個大拇指或一個大拇指。 這與煤礦集成在一起,所以我們可以自動地說,嘿,我們可以得到一些跡象,表明金絲雀是好的,它是我們所期望的。

另外,它也沒有任何我們不希望的壞事,而且在沒有人爲干預的情況下,該部署將繼續進行。 對此非常興奮。 這將使我們的響應速度更快,更安全。 因此,當我們談論安全時,這些是我們考慮的主要因素,能夠快速安全地解決問題。 我提到的最後一點是冗餘,這是相對不言自明的。 我們可以利用和部署一個關鍵點或理念,這基本上是對許多這些變化的雙路徑,儘可能多。 所以,雙路徑意味著,我們所經歷的兩條路徑基本上是快速的,最大的努力和緩慢的,可靠的。 我們的想法是,我們在世界各地非常,非常,不同的地方營運大量的基礎設施。

在幾秒鐘內以100%的可靠性擊中一切的能力是一個童話故事。 就像,這並不是可行的。 某個地方總是有問題。 您對此沒有什麼可做的。 所以我們所做的就是我們基本上將這些東西與安全性類似,進行深度防禦,對吧? 比如,你把這兩個東西放在一起,而這實際上是利用快速路徑。 盡你所能達到的目標。 如果您錯過了任何內容,我們都會確保我們有冗餘的可靠路徑,我們會一直重試,直到它正常工作,速度會有點慢。 因此,如果再加上一些數字,快速路徑將會使我們在不到99.9秒的時間內對大約80%的基礎設施進行更改,對吧?

99.9%是可重複且可靠的。 然後,緩慢可靠的路徑以60秒的速度運行。 系統將不斷嘗試,直到基本成功。 因此,通過將這兩種方法結合在一起,我們可以獲得這兩種方法的最佳優勢。 如果其中一個子系統完全停機,並不意味著一切都停機,我們將在5分鐘後達到所需的最長時間。 因此,這兩個因素結合在一起,為我們提供了我們所期望的響應能力和靈活性以及可靠性。 還有其他一些有趣的小事情可以確保我們有一些冗餘。 您如何啟動這些系統? 就像您所知道的許多系統一樣,聊天機器人集成在一起,因此非常非常簡單。

任何人都可以通過手機從世界任何地方進行操作。 很多其他東西都有API。 許多子系統都有一個CLI。 因此,確保不只有一種方法來啟動這些任務,這是我們如何嘗試建立冗餘性的另一個例子,這樣,無論發生什麼情況,或是哪種特定系統可能遇到問題,我們都可以隨時掌握營運靈活性。 我們確保我們擁有所需的控制和營運能力。 這些東西很多,都是通用的,但正如我所說,我們盡可能多地利用它們。 從我們自己的基礎架構工作流程,例如將機器從生產環境中解散並對其進行修補,直至客戶配置更改。 這一切都利用了我們狗食的相同核心系統,並積極利用自己。 因此,我們向客戶展示的產品非常可靠,非常堅固。

安德魯·約翰遜:太棒了 太棒了 感謝Dave。 Marcel,我想您談論了安全小組可以在實踐中應用的最佳實踐或注意事項。 感謝這些提示。 我知道你們確實處理過一些非常有趣的零日案例,以保護Edgio和我們的客戶。 我相信您對這些最佳實踐有一些良好的案例和應用。 你能談談一下嗎?

零日示例:HTTP2快速重置

Dave Andrews:沒錯。 我想,我想最相關或最新的一種是HTTP2快速重置攻擊,您前面提到過這種攻擊,這有點有趣。 這是一次非常有趣的經歷。 因此,從Edgio的角度來說,我們有一個小博客在這件事情發生的時候對這個人寫了一篇文章。 HTTP2快速重置是一種零日攻擊,人們意識到,不僅模式HTTP2伺服器庫的實施在HTTP2 RFC,規範和協議規範中都有一些內容,作為一般建議,並且基本上將這些內容編入了庫本身。 對不起,這就是允許在特定連接上執行的並行流的併發請求數,該數據流在規範中寫成100個。

再加上H2的一個有趣的小方面,即,您知道,多路復用的理念是單一TCP套接字上的大量請求,以及取消請求的能力導致了這種非常有趣的漏洞或DDoS漏洞。 攻擊者要尋找的全部要點是攻擊者要付出少量代價,而攻擊者和另一端的人要付出更多代價 他們在HTTP2快速重置中發現了這一點。 這基本上意味著攻擊者可以非常,非常,非常迅速地進入一個數據包,發起一個請求,然後一次又一次地取消它,就像在一個套接字上的數百個數據包一樣,在一個數據包上,然後將其發送到伺服器。

然後,伺服器要做的工作要比發送單個數據包還要多。 我們必須創建請求,通常我們必須啟動代理連接。 這就是CDN用來獲取攻擊者請求的任何資產的方法。 最後,我們必須記錄請求發生的情況。 因此,攻擊者能夠生成這些啓動並取消請求的事實非常非常迅速。 基本上,就像任何遭受攻擊的人一樣,它的成本更高。 處理它們比生成它們更昂貴。 因此,這就成為DDoS漏洞。 所以我們喜歡業界其他很多人都受到了這種攻擊。

每個人都在大約同一時間受到攻擊,這使它特別有趣。 這是一次非常廣泛的攻擊。 我很想了解攻擊者在開始時的想法。 因為他們同時攻擊許多,許多,許多供應商。 當我們開始與其他供應商交談時,我們發現了這一點,哦,您是什麼時候看到的? 噢,這正是我們看到它的時候,因為我們發現了攻擊,我們偶然發現了它。 我們確定了發生的事情是因為Marcel所說的可觀察性。 我們開始構建緩解措施,對吧? 因此,緩解看起來就像是增加了更多的觀察能力,以準確掌握正在發生的事情,然後建立營運控制,讓我們調整應對措施。

因此,實際的情況是,跟蹤任何客戶機在特定套接字上重置請求的次數,如果該百分比超過預定義的閾值,則終止該連接。 因此,其主意基本上是不允許攻擊者繼續發送這些請求以對其設定上限,從而能夠緩解攻擊。 因此,我們在構建緩解措施,部署,實施並驗證它實際上可以防止這些攻擊再次發生後,發佈了該博客。 然後,我們讓業界的人員聯繫我們,就像,哦,我們看到了部落格。 事實上,我們也受到這種影響,我們正在致力於負責任的披露。 因此,我們與業界的一組合作,例如Vince,這是通過負責任的披露流程的證書的一部分,確保在這種情況下,實施HTTP2庫或HPD伺服器的人員有時間生成修補程序,並在之前部署這些修補程序,該漏洞已得到更廣泛的宣傳。

這是一個非常非常有趣的流程。 我們能夠很快地扭轉這種局面,對吧? 部分原因是我們在衛生和營運以及營運可見性和敏捷性方面所做的工作,我們能夠做出一點小改變,對吧? 我的天哪,我們沒有升級這個庫,我們只能落後10個版本,因為我們不會定期更新它。 事實上,這並不是我們落後的一個版本,對吧? 例如,由於我們定期修補升級,因此風險會降低,因為這是一個小跳,這意味著您可以非常快地完成升級,同時保持我們的低風險閾值。 因此,我們非常迅速地完成了這項工作,並且能夠進行部署並緩解攻擊。 然後,我們在不知道攻擊的情況下發表了部落格,試圖與客戶,業界進行社交。 就像,嘿,這是我們看到的奇怪的事情,它看起來並不是Edgio特有的,事實上可能更適用。 事實證明是這樣的。

安德魯·約翰遜:這真的很有趣。 看到全球的安全社群攜手合作,為每個人改善成果,這是一件很酷的事情。 Marcel,您是否想要在這方面添加任何內容?

Marcel Flores:是的,我只是想添加一條注釋,我想這個例子是一個有趣的例子,在這個例子中,我們最初的觀察力肯定表現出了奇怪的行為,Dave是在描述的,對吧? 這種較低級別協議功能與較高級別CDN行為的交互產生了一些真正意外的行為。 其中一部分,了解這裡發生了什麼是理解這種嚴重的不平衡,對吧? 我們看到的請求數量與我們實際交付給客戶的請求數量之間存在偏差,對吧? 這一點非常突出。 儘管這些都是我們一直在收集的指標,但我們並沒有以這種方式進行比較。 因此,這部分結果是坐下來看一下,說,嘿,我們如何將我們已經掌握的可見性結合到一個專門為檢測這個問題而定制的東西中? 我們能夠做到這一點,通過從稍微不同的角度查看我們已經有的數據,從而提高了我們的可見性。

安德魯·約翰遜:太棒了 太棒了 記住這一點很好。 謝謝您,Marcel。 是的,夥計們,所以我想我們正在總結。 如果您想要分享任何其他建議? 我認為我們涵蓋的範圍很高,有些很好。

加強安全狀況的建議

Dave Andrews:問得好。 我認爲一般的建議是_壎矷C 專注於您的觀察能力,我想我要說出的是找到能夠提供幫助的人,對吧? 就像Edgio這樣的公司所提供的關鍵價值主張的一部分,我們絕對可以提供幫助,對嗎? 您有像我和Marcel這樣的整個團隊,他們都在致力於此,並積極主動地防止整個類型的攻擊影響人員。 所以找到可以提供幫助的人,對吧? 就像我們構建的許多工具和技術一樣,社群提供了這些工具和技術,可以使您的工作更輕鬆。 當我們談論網際網路上的東西時,WAF是最重要的,就像最基本的一樣,我認為這是最重要的例子。

如果實施得當,它將使您能夠將敏捷性和安全要素結合在一起。 因此,Edgio WAF在雙模式下執行,這意味著您可以將新規則部署到生產,獲取新規則的實際機器上,這些機器正在觀察流量。 你可以看到正在發生的事情。 一個很好的例子是Log4j,它可以追溯到一點時間。 當我們制定對該規則的響應時,我們能夠非常,非常迅速地制定規則,並非常非常迅速地驗證它。 由於我們正在推送規則更新,並能夠在實際機器上以警報模式部署規則更新,並看到它們與攻擊匹配,因此向我們的客戶表明他們沒有受到攻擊或受到攻擊。 然後根據數據做出決策,將該規則啟用到阻止模式,並實際防止這些攻擊通過我們的客戶。 所以它將所有這些東西結合在一起,對吧? 例如響應速度,安全性,冗餘性和可靠性。 找到可以提供幫助的人員。 我認為這將是我的主要建議。

安德魯·約翰遜:這很有道理。 我很感謝,Dave。 是的,我的意思是,當響應零天時,時間至關重要。 因此,擁有這些專門的解決方案,但更重要的是,能夠幫助您解決這些問題的人員是關閉攻擊者大門的關鍵。 感謝大家的參與。 我還要感謝各位觀眾,我們將在下一集見到您。 謝謝你。