跨越次元的攻擊?連虛擬機(jī)都不安全了
近日,一位俄羅斯的漏洞研究人員Sergey Zelenyuk曝光了一個(gè)VirtualBox的0day漏洞,他將該漏洞的細(xì)節(jié)和漏洞復(fù)現(xiàn)過(guò)程發(fā)在了網(wǎng)上,進(jìn)行了詳細(xì)的介紹說(shuō)明。
根據(jù)披露的漏洞細(xì)節(jié)我們可以了解到,該漏洞存在于虛擬化軟件的共享代碼庫(kù)中,也就是說(shuō),所有支持該軟件的操作系統(tǒng)中都會(huì)受到這種漏洞的威脅。利用這個(gè)漏洞,攻擊者可以脫離用戶虛擬計(jì)算機(jī)的環(huán)境,從而進(jìn)入到真實(shí)系統(tǒng)中,獲得RING 3以及更高級(jí)別的權(quán)限。
從“虛”到“實(shí)”
Sergey Zelenyuk發(fā)現(xiàn),這個(gè)漏洞適用于配置了網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)模式下的[英特爾PRO/1000 MT桌面(82540EM)]網(wǎng)絡(luò)適配器的虛擬機(jī),這個(gè)設(shè)置相信用過(guò)虛擬機(jī)的都知道,是用來(lái)讓虛擬機(jī)和實(shí)體系統(tǒng)中的網(wǎng)絡(luò)能夠相互訪問(wèn)的。
問(wèn)題的關(guān)鍵就在于這個(gè)[英特爾PRO/1000 MT桌面(82540EM)]上,它存在的漏洞,能夠讓攻擊者獲得root或管理員權(quán)限的甚至主機(jī)的RING 3權(quán)限,然后還可以繼續(xù)通過(guò)/dev/vboxdrv將權(quán)限升級(jí)到RING 0。
Zelenyuk在報(bào)告中詳細(xì)解釋了漏洞的機(jī)制,以及描述了如何通過(guò)觸發(fā)虛擬操作系統(tǒng)中的緩沖區(qū)溢出來(lái)達(dá)到攻擊目的:
首先,因?yàn)閿?shù)據(jù)段允許網(wǎng)絡(luò)適配器去跟蹤系統(tǒng)內(nèi)存中的網(wǎng)絡(luò)數(shù)據(jù)包,從而能夠使用描述符引起數(shù)據(jù)包中的整數(shù)下溢。
然后利用此狀態(tài)將來(lái)自用戶操作系統(tǒng)的數(shù)據(jù)讀入緩沖區(qū)并導(dǎo)致溢出情況,從而導(dǎo)致覆蓋函數(shù)指針,或?qū)е露褩R绯龅那闆r。
能夠100%實(shí)現(xiàn)的漏洞?
這個(gè)漏洞的實(shí)現(xiàn)主要依靠?jī)蓚€(gè)溢出條件,但由于它初始只能提供對(duì)ring3級(jí)別的權(quán)限,因此仍需要再次提權(quán)才能取得對(duì)主機(jī)的控制。
Zelenyuk認(rèn)為這個(gè)漏洞就屬于絕對(duì)的“不友好”類型,因?yàn)椴徽撌前l(fā)現(xiàn)還是利用都需要一定的技術(shù)水平。
他表示,緩沖區(qū)溢出的狀態(tài)并不一定穩(wěn)定,多數(shù)時(shí)候會(huì)導(dǎo)致系統(tǒng)崩潰。然而,他依舊認(rèn)為這個(gè)漏洞是100%可用的,他說(shuō),這個(gè)漏洞可用于否取決于一些二進(jìn)制文件是否匹配。
在進(jìn)行漏洞復(fù)現(xiàn)的過(guò)程中,他分別使用了默認(rèn)配置的32位和64位的Ubuntu 16.04和18.04兩個(gè)系統(tǒng),成功驗(yàn)證了漏洞的可用性。
這并不是VirtualBox首次被曝出漏洞,此前該軟件的5.2.10版本也曾出現(xiàn)過(guò)漏洞事件,但是上一次Oracle修復(fù)的非常快。
本次漏洞披露,Zelenyuk也清楚的說(shuō)明了為什么選擇直接曝光而不是先通知廠商,據(jù)說(shuō)是因?yàn)樗蠄?bào)了多次而沒(méi)有被采納,導(dǎo)致他一怒之下公開(kāi)了漏洞細(xì)節(jié)。
對(duì)此我們也只能說(shuō),惹誰(shuí)不好,偏要惹黑客。




















