深入淺出談美國Capital One數據泄露事件

前段時間,我們報道了前 AWS 員工闖入 Capital One 服務器,竊取 1.06 億用戶信息的重大數據泄露事件。你也許會疑惑,爲什麼當下我們總能聽到數據安全相關的新聞?如何才能避免此類事件的再次發生呢?本文將結合Capital One數據泄露的案例,從技術與非技術方面進行深入討論。

免責聲明:本文表達的觀點爲作者個人觀點,不代表任何其他人或組織。本文中的假設基於法院文件中提供的數據。

近日,自2005年開始申請Capital One信用卡的客戶數據被曝泄露。涉及數據包含約1億美國人和600萬加拿大人。泄露的數據存儲在AWS的S3存儲桶中。如果你的數據受到損害,除了信用監控外,不要指望任何其他信息,因爲免費信用監控是從Equifax獲得的。在這一點上,客戶不知道他們的信息是否在那裏,但他們想知道自己的財務記錄。

在此次事件中,我認爲Capital One應承擔全部責任。經調查確認,Capital One已經承認這是一起由於配置錯誤的防火牆策略導致的數據泄露事件。我認爲它不像防火牆或許可安全策略那麼簡單。就防火牆策略問題,我知道這是攻擊者利用的東西,但我認爲實際情況不僅僅是這樣,還有更多需要挖掘的內幕。

安全行業當前面臨的挑戰

安全專業人員試圖檢查這種規模的安全事件,我們希望瞭解受害者本可以採取的正確行動,以及防備攻擊者可能利用的安全漏洞。這些知識可以幫助安全社區更好地防範威脅,修復錯誤的配置,修補可能使我們的基礎架構遭受類似的安全漏洞。由於我們仍然沒有收到來自Capital One的官方聲明,但以我的經驗來看,我依然懷疑會再次發生這種情況。我們可以參考法庭文件和其他報告中的關聯信息內容,讓我們開始分析吧。

在消息發生後的第二天,我在西雅圖市中心和一些朋友喝咖啡聚會,我們當時在討論關於AS-Code系統的未來。在聚會之後,一位從事安全工作的夥伴問道,“爲什麼Capital One的雲託管系統無法保護客戶數據呢?” 他拋出這個問題讓我來回答,因爲我傾向於使用工具而不是從輪子做起。我對自己說,這很公平,如果你推薦一項技術,你應該能說明其優缺點。我認爲它對任何雲安全團隊來說都是一個很好的工具。根據我當時的信息,我對攻擊者能夠利用的AWS資源知之甚少。我只知道錯誤配置的防火牆,但我並不知道該防火牆是否有安全組,在ELB前面的AWS Web應用程序防火牆(WAF),還是一些第三方Web應用程序防火牆(開源/商業)。根據調查結果,附加到受損EC2實例的IAM角色,它讓我認爲有問題的防火牆確實屬於第三方。作爲IAM角色的應用程序防火牆(WAF)無法直接“附加”到AWS託管的應用程序防火牆WAF。

典型的ModSecurity部署

幸運的是,Krebs的一份報告顯示,受損資源是一個配置錯誤的開源Web應用防火牆(ModSecurity)。我查看了技術細節來回答這個問題,我問自己,“它真的與工具有關嗎?” 如果我們確定雲託管有可以防止此類攻擊的策略,我們是否會獲得任何收益? 正確的問法可能是:“像Capital One這種技術領先的公司,如何託管數以百萬計的個人財務記錄,而不是信任這些基本配置的東西。”

Capital One執行副總裁兼首席技術官George Brady說:“在Capital One所做的一切工作中,我們始終從客戶需求開始,以找出如何將服務提供給客戶。與AWS合作最大的好處是我們不必擔心構建和運營必要的雲基礎設施。所以,我們可以集中時間、金錢和精力爲我們的客戶創造更加良好的體驗。“

下面,我們還會引用這句話!讓我們繼續深入分析。

那些活躍在雲社區的人非常清楚Capital One在雲應用方面是一個領導者。 Capital One在衆多雲大會中公開談論他們的雲優先戰略。通過閱讀Capital One AWS案例研究,你可以輕鬆地在線找到更多相關信息。Capital One背後有一個出色的雲安全工具(Cloud Custodian)。數百名雲專業人員使用該工具實施安全護欄,以增強安全性並幫助控制AWS的雲成本。此外,Capital One聘請了國際上相當有才華的安全專業人士。多年前,當我開始我的雲生涯時,我申請過Capital One的雲崗位。我通過了他們所有的數字和推理考試。同時,我花了幾個星期的時間精心準備面試,而且我還有三個AWS認證。遺憾的是,我卻沒有得到這份工作,這是我在過去七年中唯一沒有得到的工作機會。簡而言之,Capital One不僱用任何有實戰背景的人來運維雲系統。他們剛剛聘請前Netflix工程師Will Bengtson,並讓他擔任雲安全總監。在Netfix的時候,Will就知道如何保護雲基礎設施,並在此次違規之前很久就已經爲Netflix寫了一篇關於SSRF的博客。在Capital One,Will 提出了其所需的武器來阻止這種安全攻擊。

那麼,到底發生了什麼情況?

Capital One擁有強大的雲計算能力、工具、才華橫溢的安全專業人員,爲什麼仍遭到黑客攻擊?讓我們再次引用George Brady的發言,因爲我認爲這是一切開始的地方。

情況比想象中複雜

高管和決策者非常高興地將部分運維成本轉移到雲提供商,其中包括安全運維部分。AWS明確標註了他們的共享責任模型。在這種模型中,他們確定了客戶需要擁有的區域。共享責任模型歸結爲我們使用的任何雲服務,我們將始終承擔保護數據的責任。

如果你再次閱讀George Brady的引文,你很難看出他對安全性的關注。他對如何專注於客戶表現出明顯的興奮,雖然這並不意味着他不關心安全,但它強化了我對行業的一致性看法,即企業高管並不關心安全問題,他們更關心縮短產品上市時間,並不斷提高需求的數量,這意味着開發人員面臨很大的壓力。在以前的職位中,我一直非常接近客戶。客戶通常不太關心安全性,因爲他們更關心當前功能的增強和新功能,這決定了高管需要關注的內容,基於客戶的決策也會影響到開發人員,而且往往會使對安全性的建設削弱。

客戶需要更多能點擊的小界面部件和小工具,但他們只在安全事件發生時才關心。技術高管們正在忙着讓公司賺更多錢,這就是他們被聘用的價值。問題是,對於技術支持可以幫助防止造成災難性的安全計劃方面,我們沒有看到太多行動付諸實施。

高管希望開發人員快速交付,我也相信他們想避免違規行爲。我認爲,在縮小開發範圍與安保行動之間的差距時,他們並沒有走在路上。開發人員負責在雲基礎架構上構建這些服務、維護本地工作的負載很重,這使得他們很難爲在安全性上保持應有的關注。

由於沒有得到技術領導者的支持,安全人員註定在這種資源爭奪戰中失敗。這一問題在整個企業範圍內都很明顯,並且不會很快消失。通常,在年度安全審覈之後,軟件開發團隊的路線圖會被修改以適應新的需要。我們很少在重載或活動衝刺中看到任何安全項。直到我們慶祝那些特意採取行動以改善安全狀況的開發團隊,纔會出現積極的變化。

安全專業人員被迫創建和管理所有安全類型的情況。我們已經讓一個不安全的版本構建進入生產階段,因爲我們沒有權力阻止它。我們要運維一個易受攻擊的基礎設施,因爲保護功能意味着開發人員必須做更多(不必要的)工作來使其應用程序工作。如果你幾年來始終從事安全工作,你應該知道我的意思。

如果你閱讀過我之前的博客,你會發現我是一個簡化安全流程以適應業務的大力倡導者。重型安全流程和文檔不是答案,答案是安全與開發之間的密切合作。編寫了安全策略,卻沒有人能夠找到它們,沒有人閱讀它們並把將其應用到實際過程中。安全和運營應爲開發人員構建支持平臺,以便將可靠和安全的代碼順利地轉移到生產環境。沒有CTO和技術領導的支持,就不會有健康的安全計劃。而沒有開發團隊的支持,它將無法運作。

技術領導者的關鍵點

你的員工可能不會談論這些,所以這幾點請免費從我這裏拿走並實踐吧!

  1. 首先了解你的安全狀況:你有什麼數據?誰想要它?它有多重要?你能做些什麼來保護它?如果被盜,你會怎麼樣?
  2. 這與你的工具無關:如果你的安全團隊可以使用它們來實施安全策略,那麼它們就毫無用處。
  3. 這與你是否擁有才華橫溢的安全團隊無關:沒有高層的全力支持,無法應對永無止境的安全挑戰。
  4. 這不完全是可以立即獲得的利潤,單次安全泄露意味着損失數百萬美元和公司聲譽受損。
  5. 建立健康的安全文化,讓每個人都對安全事件負責。每個人在實施安全措施時都會受到歡迎,因爲他們在發佈新服務時會受到稱讚。
  6. 通過鼓勵團隊範圍的協作,僱傭有安全經驗的專業人士,並改變組織安全文化。
  7. 通過編寫安全策略,將其提交到託管與應用程序代碼的相同Git倉庫來簡化安全性。

即使本次調查沒有從技術角度提供足夠多的細節。 我們從安全工程師的角度來看,受感染的服務器、權限過度寬鬆的IAM角色、訪問包含數據的S3存儲桶策略問題都導致了此次數據泄露事件的發生。

實施步驟:

  1. 攻擊者破壞了配置錯誤的Web應用程序防火牆後面的EC2實例。
  2. 受感染的服務器可以大量訪問雲存儲桶(可怕的做法)。
  3. 聰明的攻擊者不會從元數據服務中提取角色憑據,並使用這些憑據進行API調用(如果已安裝AWS CLI)。(如果啓用了AWS Guard Duty警報,則會觸發警報)只有攻擊者可以直接從受感染的EC2運行該命令,他們可以訪問並運行S3數據同步。

最壞的情況下,你可以擁有s3資源的最後一個

我並不是說上圖是最確切的,但考慮到本次攻擊者能夠完成的事情,實際情況應該八九不離十。

通過這些簡單的方法可以預防這種攻擊:

  1. 最低權限:爲什麼要讓EC2實例訪問大量存儲桶。我們需要制定細粒度權限策略,這樣你就可以讓代碼只訪問特定存儲桶。
  2. 健康安全組/防火牆:你的安全組或防火牆絕不應允許從入站流量到可直接訪問敏感數據。
  3. 監控:Capital One承認他們的日誌顯示了有問題的服務器與Tor出口節點進行的通信。那麼,誰在看那些東西?

只有那些簡單的安全措施就能防止這種違規行爲?是的,我說過。

我能自動完成上述安全操作嗎?是的。請使用Capital One Cloud Custodian!

  1. 編寫雲託管策略,創建該策略標記允許的AWS Config安全規則。
  2. 使用Cloud Custodian創建響應以下Gurd Duty發現的策略:“通過啓動實例角色,專門爲EC2例創建憑據管理從外部IP地址的濫用。”
  3. 編寫雲託管策略,該策略針對Tor出口節點通信的事件可作出安全應急反應。

寫在最後

我真的希望看到Capital One站出來分享案例細節、知識經驗,因爲這對整個安全社區都有重要價值,而不是停留在他們的雲優先策略上。類似事件可能發生在我們每個人身上,我們能做的就是應對安全挑戰,並建立強大的雲安全社區。

原文鏈接:
What’s in Your Bucket?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章