源代碼泄密會威脅虛擬機管理程序嗎?
譯文我與許多虛擬化安全人員有過交流,他們正在耐心地等泄露的VMware虛擬機管理程序代碼下一次公之于眾。但是許多人真正心存疑問的是,這會不會因而改變威脅格局、導致風險加大到讓人無法接受的地步。我們不妨看一下當前虛擬機環(huán)境里面的虛擬機管理程序威脅格局,確定情形是不是果真如此,這類源代碼會在哪些方面帶來影響。在源代碼完全公之于眾之前,現(xiàn)在可不可以采取任何措施,更有效地保護自己的環(huán)境?不過,我們首先應該明白一點:VMware的代碼已經被許多人看到了,不僅僅是VMware內部的人,還有其他機構的人:具體來說指發(fā)布通用標準評估保證等級(CC EAL)認證的那些人,還有某些合作伙伴(以便集成工作可以繼續(xù)開展下去)。除此之外,我們還要明白虛擬機環(huán)境當前面臨的威脅,確定風險會不會加大。虛擬機環(huán)境主要面臨如下幾個方面的威脅,它們可能觸及虛擬機管理程序,也可能不觸及。
•管理層
管理層威脅最容易被人鉆空子,可能會引起最嚴重的危害,那是由于它們讓攻擊者能夠以管理員用戶、授權用戶或其他重要用戶的身份訪問虛擬機管理程序管理層。倘若不法分子獲得了這種訪問權,就能影響虛擬機的可用性、完整性和機密性。這類攻擊有可能讓不法分子完全訪問所有虛擬機。VMware的虛擬機管理程序的管理堆棧里面仍有一個未知因素,那就是駐留在虛擬機管理程序本身內部的管理組件里面所使用的API(應用編程接口)。
•虛擬機逃離
虛擬機逃離攻擊(Escape the VM attack)似乎是所有虛擬機環(huán)境攻擊的禍根,因為攻擊有可能從一個虛擬機跳轉到另一個虛擬機。在云環(huán)境中,這可能會帶來災難性的后果,因為一個租戶(即用戶)會影響另一個租戶的虛擬機的機密性和完整性。盡管這種類型的攻擊其可能性確實存在,還沒有發(fā)生過攻擊在虛擬機之間跳轉的一起事件。在1型虛擬機管理程序上,我們已經看到了這一幕:來自最近鄰居的指令(首先攻擊亞馬遜Xen,后來迅速得到消除;機密性),導致虛擬機崩潰(通常與準虛擬化的驅動程序有關;可用性),但是不法分子還無法在虛擬機之間跳轉。可以訪問與虛擬機管理程序里面的虛擬機管理層有關的代碼,也許會改變這種威脅格局,但是考慮到現(xiàn)在有那么多只眼睛盯著這種類型的攻擊,風險也許不會大幅加大。
•驅動程序攻擊
驅動程序攻擊是旨在從下面發(fā)動的攻擊,幾乎總是會影響虛擬機環(huán)境的可用性和完整性。盡管所有主要的廠商都針對VMware虛擬機管理程序開發(fā)了驅動程序,但是我們不知道每一種設備的內部組件。考慮到驅動程序幾乎都像Linux,我們在過去能夠猜測到那些內部組件。
•直接的虛擬機管理程序攻擊
目前沒有任何直接的虛擬機管理程序攻擊,所有攻擊目前都通過管理API、驅動程序或者企圖從訪客操作系統(tǒng)里面進入到虛擬機管理層來發(fā)動。虛擬機管理程序與所有這些組件進行聯(lián)系,以便根據需要來調度和分配資源。然而,配置不當?shù)奶摂M工作負載會給其他工作負載帶來不利影響,導致拒絕服務,最終影響虛擬機的可用性。畢竟,這是一種共享式資源環(huán)境。擁有虛擬機管理程序的代碼會加大這種風險,但是攻擊仍需要通過其他層才能發(fā)動。
•存儲攻擊
現(xiàn)在有越來越多的攻擊企圖直接繞過虛擬機管理程序,徑直針對存儲層。這些攻擊企圖給虛擬機管理程序分配存儲資源的機制帶來不利影響,或者竊取駐留在磁盤上的數(shù)據。一些攻擊采用了虛擬機管理程序管理層攻擊以訪問存儲系統(tǒng),但我們將那些攻擊歸入到虛擬機管理程序管理層攻擊;而存儲攻擊只針對存儲網絡及相關組件。這種攻擊會影響虛擬機的可用性、完整性和機密性;擁有清楚定義了數(shù)據在存儲上位置的代碼將有助于這些攻擊。
這每一種攻擊都會帶來各自的風險,可能會招致災難。但是我們不妨關注一下現(xiàn)有的兩種開源虛擬機管理程序:Xen和KVM。這些虛擬機管理程序廣受檢查,而且其代碼一開始就公之于眾;但我們仍沒遇到過虛擬機逃離攻擊、驅動程序攻擊或針對特定虛擬機管理程序的驅動程序攻擊得逞的情況,但是的確遇到過管理層攻擊和不是針對特定虛擬機管理程序的存儲攻擊。沒錯,這種代碼公布后,遇到更多管理層攻擊的可能性確實加大。但是我們還不知道代碼與潛在攻擊詭計有著怎樣的聯(lián)系。
那么,面對這種代碼的公布,我們該如何防患于未然呢?那就是遵循最佳實踐。比如隔離你的管理網絡,采用基于合理角色的訪問控制措施,確保任何第三方的驅動程序來源可靠,在你的虛擬機容器里面設定所有的隔離設置,靜態(tài)磁盤加密,合理運用資源限額,以及限制準虛擬化驅動程序的使用。所有這些最佳實踐我們之前有過討論。
代碼公之于眾后,任何因這種代碼公布而起的攻擊很快就會出現(xiàn),但是這會導致風險比你今天面臨的風險更大嗎?不會,如今我們在管理組件方面的安全原本就很松懈,沒有遵循最佳實踐,也沒有注意機密性和完整性。如果這些方面我們都做到了,就會擁有安全的多租戶環(huán)境,而不是僅僅可信任的環(huán)境。
現(xiàn)在越來越多的企業(yè)在運用最佳實踐來保護虛擬機環(huán)境,但是我們離實現(xiàn)目標還有很長一段路要走。單單進行適當?shù)墓芾砭W絡隔離就是項艱巨的任務。如果說目前你的虛擬機環(huán)境面臨實際風險,那就是沒有遵循現(xiàn)有的最佳實踐,而不是說代碼即將泄密。