可信的Mac OS X防火墻Little Snitch容易受到本地特權(quán)升級(jí)攻擊,它可以使罪犯在某些El Capitan系統(tǒng)上植入隱藏的惡意程序和鍵盤記錄器。
Little Snitch防火墻漏洞被Synack的研究部主任,著名的OS X黑客帕特里克·瓦爾德發(fā)現(xiàn)。受影響的是Little Snitch防火墻軟件的3.x版本,是之前為了構(gòu)建運(yùn)行在El Capitan系統(tǒng)上的3.6.2版本而發(fā)布的。瓦爾德并沒(méi)有測(cè)試Little Snitch 3.x之前的版本。
今年1月,瓦爾德發(fā)現(xiàn)該防火墻軟件包含本地特權(quán)升級(jí)(EoP)漏洞,任何本地用戶(或惡意軟件)都可以利用。次月, Little Snitch的開(kāi)發(fā)小組Objective Development發(fā)布了一個(gè)新(3.6.2)版本的防火墻來(lái)修復(fù)這個(gè)問(wèn)題。
“這是一個(gè)嚴(yán)重的漏洞, Little Snitch的用戶很可能輕易地就錯(cuò)過(guò)了一個(gè)重要的軟件更新,”瓦爾德告訴Threatpost。
用戶只需更新到最新版本即可解決這個(gè)問(wèn)題。然而,瓦爾德指出,因?yàn)榕f版本的Little Snitch軟件容易受到這種類型的攻擊,攻擊者可能會(huì)在一個(gè)目標(biāo)計(jì)算機(jī)上安裝舊版本的防火墻軟件(或加載一個(gè)舊版本的Little Snitch驅(qū)動(dòng)程序)來(lái)利用這個(gè)安全漏洞。
下個(gè)月,在DEFCON,瓦爾德將會(huì)首次公開(kāi)討論這個(gè)漏洞,并且還會(huì)描述兩個(gè)額外的之前披露的Little Snitch漏洞。
“利用這個(gè)漏洞將提供給一個(gè)未經(jīng)授權(quán)的(本地)用戶在系統(tǒng)的內(nèi)核(ring-0) 執(zhí)行任意代碼的權(quán)限。在這里,他們可以安裝一個(gè)隱藏的惡意程序(rootkit),鍵盤記錄器,禁用系統(tǒng)完整性保護(hù)(SIP)或者更多,”瓦爾德說(shuō)。
瓦爾德說(shuō)Little Snitch的這個(gè)bug與運(yùn)行在系統(tǒng)內(nèi)核級(jí)別的軟件的驅(qū)動(dòng)程序相關(guān)。他說(shuō)他能夠逆向工程Little Snitch的用戶模式防火墻配置設(shè)置,并實(shí)現(xiàn)與內(nèi)核的“交談”。接下來(lái),他欺騙Little Snitch的客戶端,然后想出了如何驗(yàn)證內(nèi)核并向內(nèi)核發(fā)送指令(或消息)代碼。
瓦爾德發(fā)現(xiàn)有一個(gè)內(nèi)核接口存在一個(gè)堆溢出漏洞。“這意味著我可以向有安全漏洞的內(nèi)核發(fā)送一個(gè)特殊的請(qǐng)求,它會(huì)處理我的請(qǐng)求, 然后我就可以在內(nèi)核執(zhí)行任意代碼,”他說(shuō)。
這意味著一個(gè)本地用戶,或一塊在系統(tǒng)上運(yùn)行的惡意代碼,可以在安裝了Little Snitch的系統(tǒng)上使用相同的請(qǐng)求觸發(fā)該漏洞并開(kāi)始在內(nèi)核中執(zhí)行代碼。攻擊者可能將代碼的權(quán)限從正常升級(jí)到root特權(quán),并繞過(guò)蘋果系統(tǒng)的完整性保護(hù)在內(nèi)核中運(yùn)行未知代碼。
“這對(duì)受害者來(lái)說(shuō)將會(huì)向游戲結(jié)束一樣痛苦,”他說(shuō)。
瓦爾德說(shuō),當(dāng)他今年1月向Little Snitch提交了漏洞報(bào)告之后,該公司立即做出了響應(yīng),僅僅幾周之后就發(fā)布了一個(gè)補(bǔ)丁。然而,瓦爾德批評(píng)Little Snitch對(duì)其客戶和在安全社區(qū)的其他人做出的警告不夠。瓦爾德認(rèn)為, 眨眼之間你就將錯(cuò)過(guò)了重要的補(bǔ)丁。
之前CVE通常會(huì)指定其產(chǎn)品中的一個(gè)安全漏洞, Objective Development確定了該漏洞并發(fā)出了警報(bào),包括五個(gè)補(bǔ)丁。Little Snitch發(fā)布的最后一個(gè)補(bǔ)丁解決了這個(gè)EoP漏洞:“修復(fù)了一個(gè)可能會(huì)導(dǎo)致內(nèi)核恐慌的罕見(jiàn)問(wèn)題。”
“淡化這個(gè)bug意味著用戶不會(huì)意識(shí)到它,并且不會(huì)快速修復(fù)它,”瓦爾德說(shuō)。
Little Snitch的開(kāi)發(fā)團(tuán)隊(duì)Objective Development說(shuō),基于其服務(wù)器日志,據(jù)估計(jì)有95%的用戶運(yùn)行的Little Snitch版本沒(méi)有受到影響。不過(guò)它沒(méi)有透露其安裝基礎(chǔ)或者受該漏洞影響的Little Snitch顧客的數(shù)量。
這個(gè)Little Snitch漏洞的發(fā)現(xiàn)最早可以追溯到2013年,當(dāng)時(shí)瓦爾德首次發(fā)現(xiàn)了這個(gè)bug,但是并不是一個(gè)安全問(wèn)題。Little Snitch的這個(gè)bug在當(dāng)時(shí)并沒(méi)有造成一個(gè)安全漏洞,是因?yàn)樵谥暗腗ac OS版本中蘋果的在內(nèi)核中實(shí)現(xiàn)的復(fù)制程序存在一個(gè)單獨(dú)的bug。
“這不是一個(gè)安全漏洞,雖然蘋果描述了這個(gè)拷貝程序應(yīng)該如何工作,但他們?cè)?4位系統(tǒng)上的實(shí)現(xiàn)是不正確的,”瓦爾德說(shuō)。所以當(dāng)蘋果修復(fù)自己的內(nèi)核實(shí)現(xiàn)問(wèn)題(在瓦爾德通知蘋果bug的存在時(shí)) 的兩年之后,Little Snitch的bug就成為可利用的。
“很顯然,一個(gè)付費(fèi)的安全產(chǎn)品實(shí)際上并不應(yīng)該降低系統(tǒng)的安全性,”他說(shuō)。