Stack Clash安全漏洞將Linux及其他UNIX操作系統(tǒng)的root訪問(wèn)權(quán)拱手交給任何人!
“Stack Clash”安全漏洞對(duì)Linux、FreeBSD、OpenBSD及其他操作系統(tǒng)構(gòu)成了威脅。
一大批基于Unix的操作系統(tǒng)(包括Linux、OpenBSD和FreeBSD)爆出存在漏洞,讓攻擊者可以將易受攻擊的計(jì)算機(jī)上的低級(jí)訪問(wèn)權(quán)提升到不受約束的root權(quán)限。安全專家們勸告管理員盡快安裝補(bǔ)丁,或者采取其他保護(hù)性措施。
安全公司Qualys發(fā)現(xiàn)了這些漏洞,其研究人員在周一發(fā)表的一篇博文(https://blog.qualys.com/securitylabs/2017/06/19/the-stack-clash)中表示,這個(gè)安全漏洞名為Stack Clash,極有可能與其他安全漏洞結(jié)合使用,讓攻擊者更有效地執(zhí)行惡意代碼。這種本地權(quán)限升級(jí)安全漏洞還會(huì)給服務(wù)器主機(jī)提供商構(gòu)成嚴(yán)重的威脅,原因在于只要一個(gè)客戶能鉆這個(gè)漏洞的空子,不可以控制在同一臺(tái)服務(wù)器上運(yùn)行的其他客戶進(jìn)程。Qualys表示,攻擊者還有可能以一種直接遠(yuǎn)程執(zhí)行代碼的方式來(lái)利用Stack Clash。
Qualys的產(chǎn)品管理經(jīng)理吉米·格雷厄姆(Jimmy Graham)告訴IT外媒Ars Technica:“這是一種相當(dāng)簡(jiǎn)單直接的方法,在已經(jīng)擁有某種用戶級(jí)別訪問(wèn)權(quán)后獲得root權(quán)限。”這種攻擊的工作原理如下,引起一塊計(jì)算機(jī)內(nèi)存區(qū)(名為棧區(qū),stack)與存儲(chǔ)無(wú)關(guān)代碼或數(shù)據(jù)的另一塊內(nèi)存區(qū)發(fā)生沖突。“這不是什么新概念,但這個(gè)特定的漏洞卻絕對(duì)是新漏洞。”
受影響操作系統(tǒng)的開發(fā)人員如今正在發(fā)布補(bǔ)丁。周一上午Linux發(fā)行商Red Hat發(fā)布的安全公告表示,緩解措施可能會(huì)導(dǎo)致性能問(wèn)題,具體表現(xiàn)為“/proc/meminfo中的值出現(xiàn)重疊”,但是它們不可能影響正常操作。開發(fā)人員可能晚些時(shí)候會(huì)發(fā)布解決這種問(wèn)題的補(bǔ)丁。Qualys的代表告訴Ars Technica,該公司的研究人員已與FreeBSD、NetBSD、OpenBSD、Solaris以及各大Linux發(fā)行版(包括Red Hat、 SuSE、Debian及Ubuntu)的開發(fā)人員進(jìn)行了合作。這位代表稱,該公司的研究人員沒(méi)有研究過(guò)微軟或蘋果的產(chǎn)品,但是他們確實(shí)事先聯(lián)系了這兩家公司,所以它們可能展開調(diào)查。這個(gè)安全漏洞對(duì)谷歌的Android移動(dòng)操作系統(tǒng)有何影響不得而知。
操作系統(tǒng)棧區(qū)是一塊動(dòng)態(tài)的內(nèi)存區(qū),該內(nèi)存區(qū)擴(kuò)大還是縮小取決于在某個(gè)時(shí)候運(yùn)行的應(yīng)用程序和函數(shù)。如果棧區(qū)擴(kuò)大幅度過(guò)大,可能會(huì)挨近其他內(nèi)存區(qū),因而讓攻擊者得以用鄰近內(nèi)存區(qū)來(lái)覆蓋棧區(qū),反之亦然。Stack Clash之所以得名,就是由于漏洞的第一步就是將棧區(qū)擴(kuò)大到另一個(gè)內(nèi)存區(qū)。
漏洞根本就未堵上
Stack Clash安全漏洞已逐漸引起了廣泛的關(guān)注,最初是2005年安全研究人員Gaël Delalleau發(fā)布了研究結(jié)果,五年后研究人員拉法爾·沃茨祖克(Rafal Wojtczuk)發(fā)布了一個(gè)Linux安全漏洞。Linux的開發(fā)人員推出了一種保護(hù)機(jī)制,旨在防止棧區(qū)沖突,但是如今的研究表明,攻擊者繞過(guò)這種保護(hù)措施來(lái)得比較容易。
Qualys開發(fā)的主要的概念證明攻擊利用了被標(biāo)為CVE-2017-1000364的安全漏洞。Qualys的研究人員還開發(fā)了利用Stack Clash鉆不同安全漏洞空子的攻擊方法,包括CVE-2017-1000365和CVE-2017-1000367這兩個(gè)安全漏洞。比如說(shuō),如果結(jié)合CVE-2017-1000367――這是同樣由Qualys發(fā)現(xiàn)的Sudo中一個(gè)最近被堵住的漏洞,本地用戶就可以鉆Sudo的空子,在種類廣泛得多的操作系統(tǒng)上獲得全面的root權(quán)限。迄今為止,Qualys未能讓漏洞可以遠(yuǎn)程執(zhí)行代碼。它調(diào)查的唯一的遠(yuǎn)程應(yīng)用程序是Exim郵件服務(wù)器軟件,非常巧合的是,該郵件服務(wù)器軟件沒(méi)有漏洞供人鉆。Qualys表示,自己無(wú)法排除存在這種遠(yuǎn)程代碼執(zhí)行漏洞的可能性。Qualys表示,一旦人們有時(shí)間防范這些安全漏洞,自己就會(huì)在晚些時(shí)候發(fā)布概念證明漏洞。
凡是運(yùn)行基于Unix的操作系統(tǒng)的人都應(yīng)該立即聯(lián)系開發(fā)人員,看看有沒(méi)有補(bǔ)丁或安全公告。最穩(wěn)妥的辦法就是安裝補(bǔ)丁(如果有補(bǔ)丁的話);還有一個(gè)權(quán)宜之計(jì)就是,將本地用戶和遠(yuǎn)程服務(wù)的hard RLIMIT STACK和RLIMIT_AS設(shè)成較低值。想了解更詳細(xì)的信息,請(qǐng)參閱Qualys這份詳細(xì)的技術(shù)公告
(https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt)和grsecurity的這篇技術(shù)分析(https://grsecurity.net/an_ancient_kernel_hole_is_not_closed.php)。