消除以往外部網路與內部網路的區別。也就是説,所有的流量都是untrust。內部資安人員應該對所有流量進行檢查與log並實行access control。
2010年時一架飛機上載著10名看似正常不過且彼此互不認識的民眾——其中有人甚至幫微軟測試過軟體——從紐約飛往維也納,但他們的真實身份其實為俄羅斯間諜,且已保持著非常普通的狀態數年之久。他們努力的與美國具影響力的人物混熟,並向俄羅斯秘密發送獲取到的訊息。
從這個例子來說,現代的攻擊型態、週期已經拉長,駭客的攻擊手法已經變為"low and slow",也就是花漫長的時間搜集許多我們並不會特別留意的網路資料,整個時間會拉長到數月或著數年不等。且不同於以往的大範圍找尋可下手的目標,現代駭客的攻擊範圍只會越來越窄、越來越具針對性,特別是那些具有高價值的系統或資訊。
Philip Cummings在一家為數個徵信所提供軟體的公司上班,其中與奈及利亞的犯罪集團合作,將客戶的信用資料轉給該集團。
在Philip離職前,他已經開好了後門讓他在離開公司後還是能繼續獲取信用報告,甚至持續了兩年之久,而不論是徵信社或是該公司都沒有察覺到這件事,這點正好可以印證現代的攻擊手法的"low and slow"特性。而這整件事情的曝光盡是由徵信社的客戶福特公司所發現的,在收到了許多被盜用身份與詐欺的用戶的投訴之後,這顯示這些機構缺乏對於內部存在攻擊的意識與防範措施。最後,調查得知Philip與他同夥的整個犯罪行動造成了多達230萬美元的財產損失,這可以顯示出攻擊的目標多為包含個人資訊且高價值的系統,而不是什麼隨便的IT系統。
因為這起事件,後人稱呼來自內部的攻擊為"The Philip Cummings Problem",多指具有權限能access資料、專業技能並不受掌握,且會因外在因素而與他人裡應外合的人物。
現代的防禦機制有以下幾種,分別是:
雖然現代的這些防禦裝置看似堅不可破,但還是存在一個很明顯的問題:均存在trusted與untrusted的port。具有這種設計代表我們有一個大前提,也就是我們可以輕易的認定哪邊的行為與流量是可以信任的而哪邊不是。但很明顯的,經過Philip的例子後我們就知道這個假設是一個錯誤,也就是說,我們其實並無法確定內部的哪個帳號、流量或裝置是可以信任的。
Trust But Verify是一句古俄羅斯諺語,是資安界耳熟能詳的一句話,但現代資安設備卻沒有具備該諺語的真實代表意涵。我們信任得太多,驗證的太少。雷根總統簽署核武條約時,與蘇聯的書記有著這樣一段對話:
“The President (Ronald Reagan): But the importance of this treaty transcends numbers. We have listened to the wisdom in an old Russian maxim. And I’m sure you’re familiar with it, Mr. General Secretary, though my pronunciation may give you difficulty. The maxim is: Dovorey no provorey — trust, but verify.
The General Secretary (Mikhail Gorbachev): You repeat that at every meeting. [Laughter]
The President: I like it. [Laughter]”
雖然兩國的領導人在簽署時都贊同這句話,但其實他們都知道兩國一定不會信任彼此,重點都是在trust上。而我們似乎對這句話有著相反且錯誤的認知,我們預設會信任,且從不驗證。
有名叫做Cynthia Whitehead的女子在公司裡重啟了離職員工的資料,並偽造他們還在工作的假象並將薪水導入自己的帳戶,長達三年並掏空了公司30萬美元的資金。除此之外,在2010 DataLossDB統計了許多來自內部的malicious insider activity,他們都來自trusted的使用者,可見信任已經變成來自內部的攻擊的主要因素。再次的,我們信認得太多、驗證得太少。
我們不能信任任何使用者,何況是封包。我們無法透過封包的幾個identities例如IP、MAC等資訊來判斷這個流量能不能信任,就算是已經登入了domain也不行。IP及MAC非常容易偽造,而誰會知道有人是不是拿著槍逼迫你的員工登入你的網域?
不僅封包的屬性我們無法驗證,封包的內容的真實性也無法驗證,更甚至是產生封包者的原始意圖。因此,封包是無法被信任的。
消除以往的Trusted與Untrusted的界線,將所有網路流量視為Untrusted的,並嚴格驗證、給予其最小的權限。本文提及了零信任的三個概念:
不論是來自內部還是外部的流量在驗證、檢查、授權之前都必須視為有威脅性的,並一視同仁的以加密通道運作,包括內部的通訊。
在2008年時,美國的幾個政府員工被發現私自查詢了政府官員的護照紀錄,其中幾人甚至被判刑。當訪問其中一名員工時,員工給出的理由為「好奇」。這顯示access control的重要性,當我們加強資料取用權限的取用限制時,除了可以防止攻擊的行為,更可以避免內部人員因為各種理由(不一定是惡意)造成資料外洩的情形發生。
本文給出了RBAC的概念,即將每個使用者給定特定的腳色,為每個腳色提供該腳色需要的最低權限。總之,最小權限原則與嚴格的access control是重要的。
我們將trust but verify的概念提升為verify and never trust,就算使用者通過驗證後,其行為仍然要被記錄下來並嚴加檢查。要同時達到這兩點,real time的檢查與保護是必須的,且不能只針對來自外部的流量,內部的檢查與log也必須同等嚴格。
通過結合NAV(network analysis and visibility)與企業通常會有的SIEM裝置,我們可以分析、發掘所有的網路流量、抓封包、並查看網路的metadata。
但若是要在企業的每個應用上都裝agents是一件麻煩且不具scalable的事,因此我們可以將重點放在網路流量本身。通過對流量的分析,來重構使用者對各個應用的real time使用情形。
再者,real time的監控可以在使用者心理上抑制其作出威脅性行為的概率——當他們知道自己的一切行為都在被監控時。
消除信任邊界的概念、總是驗證、紀錄與總是給予最小權限。