欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

歡迎來到云服務器

5G技術

解密亞馬遜AWS大局限重啟處事器背后的故事

9月23日,XEN官方來了個帽子戲法,一口吻爆出3個裂痕。隨后,就有關于亞馬遜AWS大局限重啟處事器的動靜爆出。這次重啟事件豈論是影響到的產(chǎn)物、照舊一連的時間都是史無前例的,整個修復周期一連5天,從9月25日下午7點到9月30日下午5點,影響的產(chǎn)物包羅EC2、RDS、ElastiCache、RedShift,個中EC2最為嚴重,約莫占到AWS EC2總量的10%.由于是產(chǎn)生在美國,所以海內(nèi)這塊的報道較少,許多同學大概還不知道是什么裂痕,讓亞馬遜做如此大范疇的重啟操縱。下面我們一塊看看這三兄弟到底是啥來頭。

這次的三個裂痕,危害有哪些?

1、CVE-2014-7154這個可以說是三兄弟中的老大,為何?因為它在要害位置有人,因為它老爹是dom0.dom0在XEN架構中的職位很是重要,它包括節(jié)制硬件的驅動和節(jié)制虛擬機的東西集。所以它會影響到整個物理機上面所有的虛擬機,這樣的裂痕是最可怕的,波及范疇廣,修補起來又需要重啟,那就得業(yè)務間斷啊,尚有,假如重啟起不來咋辦??

2、CVE-2014-7155這個可以排行老二,客戶機可以操作該裂痕加載本身的IDT或GDT,大概導致虛擬機的宕機,還可以獲取root權限。看到這里我們也不要太張皇,因為這里不是虛擬機逃逸,而是獲取虛擬機的root權限。危害也不小,“黑闊”又多了一個提權利器。

3、CVE-2014-7156與上述那倆暮年邁比起來,就個裂痕危害就要差一些了。操作該裂痕,大概導致虛擬機的宕機,但宕機也不是小事,不容小覷,只是生不逢時。

神馬是XEN?

在舉辦技能闡明之前,我們先相識一下關于XEN的配景常識。

VMware各人都很熟悉了,無論是WorkStation照舊企業(yè)級的ESX,XEN就是雷同于ESX的一個軟件,不外是開源的(雷同的尚有KVM)。此刻KVM已經(jīng)是Linux官方插手到內(nèi)核中的虛擬化技能。

XEN最早由劍橋大學開拓,此刻被Citrix收購,亞馬遜的AWS就是基于XEN技能的。

通過下圖我們來相識下XEN技能架構:

解密亞馬遜AWS大局限重啟處事器背后的故事

從上面可以看出,XEN hypervisor直接運行在硬件之上,認真處理懲罰CPU、內(nèi)存、間斷等。它是運行完bootloader之后第一個運行的措施。在hypervisor之上答允虛擬機,在XEN內(nèi)里,一個虛擬機實例被稱為domain可能guest.個中,domain0是一個非凡的domain,它包括所有節(jié)制硬件的驅動,同時包括節(jié)制打點虛擬機的東西集。

除了domain0之外,其它的虛擬機就是我們熟悉的guest,大抵分為兩種范例:Paravirtualization(PV)半虛擬化 和 Full Virtualization(HVM)全虛擬化。

PV是由XEN引入的,厥后被其它虛擬化平臺回收。半虛擬化是一種高效、輕量的虛擬化技能,它不需要物理機CPU含有虛擬化擴展,但卻需要一個Xen-PV-enabled內(nèi)核和PV驅動,說白了就是需要修改虛機系統(tǒng)的內(nèi)核,虧得Linux、BSD、OpenSolaris等提供了該內(nèi)核,可是Windows就不可了,因為只有微軟可以修改它的內(nèi)核。

HVM利用了物理機CPU的虛擬化擴展來虛擬出虛擬機。該技能需要Intel VT可能AMD-V硬件擴展。Xen利用Qemu來仿真PC硬件,包羅BIOS、IDE硬盤節(jié)制器、VGA、USB節(jié)制器、網(wǎng)卡等等。由于利用虛擬機硬件擴展來提高仿真機能,所以HVM不需要修改內(nèi)核,因此其上可以運行Windows系統(tǒng)。

技能揭秘

此刻我們大抵相識了這三裂痕有啥危害了,下面我們隨著官方的裂痕告示和補丁文件,來詳細闡明下這些裂痕。

1、CVE-2014-7154

CVE-2014-7154說的是在HVMOP_track_dirty_vram內(nèi)里存在竟態(tài)條件,HVMOP_track_dirty_vram是一個用來節(jié)制臟顯存跟蹤配置的函數(shù)。下面是官方給出的補丁:

p2m_type_t t;- struct sh_dirty_vram *dirty_vram = d->arch.hvm_domain.dirty_vram;+ struct sh_dirty_vram *dirty_vram;struct p2m_domain *p2m = p2m_get_hostp2m(d);

if ( end_pfn < begin_pfn || end_pfn > p2m->max_mapped_pfn + 1 )

@@ -3495,6 +3495,8 @@ int shadow_track_dirty_vram(struct domai p2m_lock(p2m_get_hostp2m(d));paging_lock(d);

+ dirty_vram = d->arch.hvm_domain.dirty_vram;+ if ( dirty_vram && (!nr ||

從補丁中可以看出,在沒有打補丁的代碼里,系統(tǒng)在獲取paging_lock之前,已經(jīng)獲取到了dirty_vram的值。這里有一個潛在的問題,兩個并發(fā)的hypercall會實驗同時釋放dirty_vram,那么兩者中,第二個實驗舉辦釋放的是一個野指針。別的,兩個并發(fā)的hypercall也大概會實驗同時建設一個新的dirty_vram布局體,那么最先建設的那塊內(nèi)存會泄漏,因為第二個dirty_vram建設之后,兩個指針都指向新的dirty_vram布局體。

所以修補起來也很簡樸,就是將獲取d->arch.hvm_domain.dirty_vram的值放到獲取了paging_lock之后。

騰訊云代理

Copyright © 2003-2021 MFISP.COM. 國外vps服務器租用 夢飛云服務器租用 版權所有 ? 粵ICP備11019662號

主站蜘蛛池模板: 泗水县| 凤城市| 高淳县| 根河市| 眉山市| 毕节市| 临泽县| 井陉县| 峨眉山市| 桂平市| 安仁县| 宁海县| 泾源县| 繁昌县| 蛟河市| 罗江县| 长丰县| 娄底市| SHOW| 滁州市| 万全县| 上犹县| 江安县| 景宁| 清水河县| 遂川县| 彰武县| 常山县| 阿拉善右旗| 额济纳旗| 高碑店市| 司法| 射洪县| 桂平市| 四子王旗| 牟定县| 玉龙| 邻水| 新疆| 禹州市| 肥东县|