自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

KVM虛擬化新型漏洞CVE-2015-6815技術(shù)分析

云計(jì)算 云安全
作為云服務(wù)的基礎(chǔ),虛擬化系統(tǒng)扮演著非常重要的角色,因?yàn)樵谠粕鷳B(tài)中主機(jī)的硬件多是由虛擬化系統(tǒng)模擬出來(lái)的。虛擬化系統(tǒng)中的安全漏洞將嚴(yán)重影響云業(yè)務(wù)的安全。

云計(jì)算業(yè)務(wù)目前已經(jīng)觸及到多個(gè)行業(yè),無(wú)論是云存儲(chǔ),云音樂(lè)等生活中隨處可見(jiàn)的業(yè)務(wù),就連銀行金融,支付信息等服務(wù)也都和云緊密相關(guān)。

[[149577]]

作為云服務(wù)的基礎(chǔ),虛擬化系統(tǒng)扮演著非常重要的角色,因?yàn)樵谠粕鷳B(tài)中主機(jī)的硬件多是由虛擬化系統(tǒng)模擬出來(lái)的。虛擬化系統(tǒng)中的安全漏洞將嚴(yán)重影響云業(yè)務(wù)的安全。

360虛擬化安全團(tuán)隊(duì)(MarvelTeam)近日發(fā)現(xiàn)了多個(gè)虛擬化軟件安全漏洞,使用kvm和xen作為虛擬化平臺(tái)的公司業(yè)務(wù)都將會(huì)受這批漏洞影響。該漏洞一旦被攻擊者惡意利用,可以造成三種類型的安全風(fēng)險(xiǎn):

1)虛擬機(jī)宕機(jī),影響業(yè)務(wù);

2)系統(tǒng)資源被強(qiáng)制占用,宿主機(jī)及所有虛擬機(jī)拒絕服務(wù);

3)虛擬機(jī)逃逸,攻擊者在宿主機(jī)中執(zhí)行任意代碼。

我們將陸續(xù)公開(kāi)系列針對(duì)虛擬化軟件高危0day漏洞的分析文章,揭開(kāi)宿主機(jī)攻擊技術(shù)的神秘面紗。本文將首先分析KVM虛擬化新型漏洞CVE-2015-6815。

關(guān)于QEMU和KVM

QEMU是一款處理器模擬軟件,可以提供用戶模式模擬和系統(tǒng)模式模擬。當(dāng)處于用戶模式模擬狀態(tài)時(shí),將使用動(dòng)態(tài)翻譯技術(shù),允許一個(gè)cpu構(gòu)建的進(jìn)程在另一個(gè)cpu上執(zhí)行。系統(tǒng)模式模擬狀態(tài)下,允許對(duì)整個(gè)pc系統(tǒng)的處理器和所使用到的相關(guān)外圍設(shè)備進(jìn)行模擬。

qemu提供的仿真外設(shè)包括硬件Video Graphics Array (VGA) 仿真器、PS/2 鼠標(biāo)和鍵盤、集成開(kāi)發(fā)環(huán)境(IDE)硬盤和 CD-ROM 接口,以及軟盤仿真。也包括對(duì)E2000 Peripheral Controller Interconnect (PCI) 網(wǎng)絡(luò)適配器、串行端口、大量的聲卡和 PCI Universal Host Controller Interface (UHCI) Universal Serial Bus (USB) 控制器(帶虛擬 USB 集線器)的仿真。除了仿真標(biāo)準(zhǔn) PC 或 ISA PC(不帶 PCI 總線)外,QEMU 還可以仿真其他非 PC 硬件,如 ARM Versatile 基線板(使用 926E)和 Malta million instructions per second (MIPS) 板。對(duì)于各種其他平臺(tái),包括 Power Macintosh G3 (Blue & White) 和 Sun-4u 平臺(tái),都能正常工作。

 KVM虛擬化新型漏洞CVE-2015-6815技術(shù)分析

圖1.qemu可進(jìn)行模擬的外圍設(shè)備

KVM是一種依賴硬件虛擬化技術(shù)(Intel VT或者AMD V)的裸機(jī)虛擬化程序,它使用 Linux 內(nèi)核作為它的虛擬機(jī)管理程序。對(duì) KVM 虛擬化的支持自 2.6.20 版開(kāi)始已成為主流 Linux 內(nèi)核的默認(rèn)部分。KVM支持的操作系統(tǒng)非常廣泛,包括Linux、BSD、Solaris、Windows、Haiku、ReactOS 和 AROS Research Operating System。

在 KVM 架構(gòu)中,虛擬機(jī)實(shí)現(xiàn)為常規(guī)的 Linux 進(jìn)程,由標(biāo)準(zhǔn) Linux 調(diào)度程序進(jìn)行調(diào)度。事實(shí)上,每個(gè)虛擬 CPU 顯示為一個(gè)常規(guī)的 Linux 進(jìn)程。這使 KVM 能夠享受 Linux 內(nèi)核的所有功能。設(shè)備模擬由提供了修改過(guò)的 qemu 版本來(lái)完成。

QEMU網(wǎng)卡設(shè)備簡(jiǎn)介

QEMU支持多種網(wǎng)卡設(shè)備,可以通過(guò)如下的命令去列舉所支持的網(wǎng)卡設(shè)備類型,一共有8種,基本可以滿足大多數(shù)操作系統(tǒng)的需求。

 

 KVM虛擬化新型漏洞CVE-2015-6815技術(shù)分析

圖2.qemu支持的虛擬網(wǎng)卡設(shè)備

此次漏洞出現(xiàn)在e1000網(wǎng)卡設(shè)備中,該網(wǎng)卡的基本功能等同于Intel rc82540EM硬件網(wǎng)卡,支持TSO技術(shù),網(wǎng)絡(luò)數(shù)據(jù)傳輸效率極高。

#p#

漏洞分析

CVE-2015-6815是qemu軟件的虛擬網(wǎng)卡設(shè)備存在的一處邏輯漏洞,攻擊者可通過(guò)構(gòu)造惡意的數(shù)據(jù)流觸發(fā)該漏洞。

我們分析網(wǎng)卡在處理惡意數(shù)據(jù)流時(shí)執(zhí)行的邏輯:

  • a)網(wǎng)卡驅(qū)動(dòng)向網(wǎng)卡設(shè)備發(fā)送指令,通知網(wǎng)卡設(shè)備執(zhí)行數(shù)據(jù)發(fā)送操作;
  • b)set_tctl(E1000State *s, int index, uint32_t val)當(dāng)網(wǎng)卡設(shè)備判斷已經(jīng)設(shè)置相關(guān)寄存器,即開(kāi)始進(jìn)行發(fā)包操作,進(jìn)入set_tctl函數(shù)中進(jìn)行相關(guān)處理,函數(shù)原型如下:
  • c) start_xmit(E1000State *s)

start_xmit函數(shù)首先檢查(s->reg[TCTL]&E1000_TCTL_EN),若等于0,表示沒(méi)開(kāi)啟發(fā)送功能,將直接退出。否則判斷是否存在有效的描述符,有的話則依次取出描述符交給process_tx_desc處理。

  • d)存在漏洞的函數(shù)源碼如下:

 

 

 

 KVM虛擬化新型漏洞CVE-2015-6815技術(shù)分析

 

 

 

 KVM虛擬化新型漏洞CVE-2015-6815技術(shù)分析

圖3.存在漏洞的函數(shù)代碼

根據(jù)注釋,可以清晰地看到,該函數(shù)的主要目的是按照3種類型來(lái)處理網(wǎng)卡數(shù)據(jù)描述符表中的單個(gè)描述符,分別是context descriptor,data descriptor,legacy descriptor,這三種類型代表了不同的數(shù)據(jù)內(nèi)容:描述信息,數(shù)據(jù),遺留信息,網(wǎng)卡通過(guò)判斷處于何種類型,設(shè)置s->tx的狀態(tài)位,然后根據(jù) tp->tse 和 tp->cptst來(lái)確定是否要調(diào)用xmit_seg函數(shù)以及怎樣填充buf,由于函數(shù)對(duì)驅(qū)動(dòng)傳進(jìn)來(lái)描述符的內(nèi)容沒(méi)有檢測(cè),可設(shè)置成任意值。

xmit_seg函數(shù)根據(jù)s->tx中各字段的信息來(lái)填充s->data,最后調(diào)用qemu_send_packet函數(shù)發(fā)送s->data,qemu_send_packet(nc, buf, size)。

在該函數(shù)的執(zhí)行過(guò)程中,攻擊者通過(guò)惡意的數(shù)據(jù)流,可以控制該函數(shù)中的tp->hdr_len和tp->mss數(shù)據(jù)的值,而 msh = tp->hdr_len + tp->mss。在進(jìn)入do…while 循環(huán)之后,tp->size值為0,而bytes和msh的值可以控制,通過(guò)迫使代碼邏輯進(jìn)入第一個(gè)if循環(huán),可將bytes設(shè)置為msh的值,即 bytes也可以被控制。之后,bytes可以一直保持值不變,直至進(jìn)入while的條件判斷語(yǔ)句,此時(shí)如果bytes為0,則do…while進(jìn)入死循環(huán)的邏輯。

漏洞危害

攻擊者利用該漏洞可以導(dǎo)致虛擬機(jī)拒絕服務(wù),并且保持對(duì)cpu的高占用率,繼而會(huì)影響宿主機(jī)以及其他虛擬機(jī)的正常執(zhí)行。

我們?cè)跍y(cè)試環(huán)境中對(duì)該漏洞進(jìn)行測(cè)試,觸發(fā)前后的截圖如下??梢钥吹?,在漏洞觸發(fā)后宿主機(jī)的空閑cpu百分比一直鎖定為為0%。

KVM虛擬化新型漏洞CVE-2015-6815技術(shù)分析

圖4.觸發(fā)漏洞前

 

KVM虛擬化新型漏洞CVE-2015-6815技術(shù)分析

圖5.觸發(fā)漏洞后

漏洞修補(bǔ)方案

360虛擬化安全團(tuán)隊(duì)(MarvelTeam)在發(fā)現(xiàn)了該漏洞之后,第一時(shí)間通知QEMU軟件官方團(tuán)隊(duì)進(jìn)行修復(fù)。官方在20天的緊張修復(fù)之后,在9月5日完成對(duì)該漏洞的修復(fù)補(bǔ)丁。詳細(xì)信息,該網(wǎng)頁(yè)也包含了360虛擬化安全團(tuán)隊(duì)的致謝。

官方對(duì)該漏洞的修補(bǔ)方法如下:

KVM虛擬化新型漏洞CVE-2015-6815技術(shù)分析

圖6.官方提供的漏洞補(bǔ)丁

在該補(bǔ)丁中,開(kāi)發(fā)人員加入了對(duì)漏洞關(guān)鍵數(shù)據(jù) – bytes樹(shù)值的判斷,如為0,則退出循環(huán),完美修復(fù)漏洞。建議所有使用qemu的廠商采用該補(bǔ)丁,防止攻擊者對(duì)在虛擬機(jī)中利用CVE-2015-6815漏洞。

原文鏈接:http://www.freebuf.com/vuls/77834.html

責(zé)任編輯:Ophira 來(lái)源: freebuf
相關(guān)推薦

2019-11-12 14:48:00

Linux桌面虛擬化KVM

2015-09-09 17:25:06

2015-03-13 18:08:49

2015-01-29 11:47:35

2022-06-14 09:00:21

漏洞補(bǔ)丁

2018-08-08 14:55:32

KVM虛擬化取證

2020-11-23 07:19:15

Linux虛擬化KVM

2009-06-08 13:19:32

虛擬化數(shù)據(jù)中心服務(wù)器

2015-06-03 10:21:44

漏洞溢出漏洞9patch

2021-03-28 18:23:22

Linux虛擬化Virtqueue

2013-02-18 09:22:48

虛擬化KVM

2015-07-13 09:18:20

2015-01-23 16:57:09

2011-02-25 11:02:06

虛擬化數(shù)據(jù)中心

2012-11-05 09:39:50

虛擬化

2020-06-18 16:39:10

KVM虛擬化虛擬機(jī)

2015-09-25 16:18:36

2018-06-05 14:28:25

KVM嵌套虛擬化

2012-12-28 10:18:03

LinuxXenKVM

2017-03-02 10:02:03

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)