研究人員表示:“繞過(guò)警告會(huì)造成很多的惡意行為。”
Apple在軟件安全方面盡心竭力,除了首先推出主要保護(hù)措施來(lái)防止惡意軟件感染外,公司工程師還制定了各種縱深防御措施,旨在減輕Mac受感染后可能發(fā)生的損害?,F(xiàn)在,前國(guó)家安全局黑客和macOS安全專家Patrick Wardle披露了一個(gè)主要的漏洞,即一般會(huì)影響到很多類似的二級(jí)防御。
在上周末舉辦的拉斯維加斯Def Con黑客大會(huì)上,Wardle在演示時(shí)表示,對(duì)于本地攻擊者或惡意軟件來(lái)說(shuō),通過(guò)用戶界面繞過(guò)許多安全機(jī)制是小事一樁。當(dāng)這些安全措施檢測(cè)到潛在的惡意行為時(shí),會(huì)阻止該操作,然后顯示警報(bào)或提示。惡意代碼會(huì)濫用內(nèi)置于macOS中的各種編程接口,并生成程序化點(diǎn)擊事件和系統(tǒng)進(jìn)行交互,甚至消除此類警報(bào)。正如Wardle所說(shuō)的那樣,這種“合成點(diǎn)擊”幾乎會(huì)立即起作用,并且用戶也無(wú)法感知。
“和安全提示進(jìn)行交互的能力可以讓攻擊者發(fā)動(dòng)大量惡意行為,”Wardle告訴Ars:“許多Apple的隱私和深度安全保護(hù)都可以被輕易繞過(guò)”。
例如,由于能夠產(chǎn)生合成點(diǎn)擊,惡意攻擊可以解除許多與Apple隱私相關(guān)的安全提示。在最新版本的macOS上,Apple添加了一個(gè)確認(rèn)窗口,要求用戶在安裝可以訪問(wèn)存儲(chǔ)在Mac上的地理位置、聯(lián)系人或日歷信息的應(yīng)用程序之前單擊“OK”(確認(rèn))按鈕。 Apple工程師也增加了對(duì)二級(jí)防御的要求。即使機(jī)器被惡意軟件感染,但是如果沒(méi)有用戶的明確許可,惡意應(yīng)用程序?qū)o(wú)法復(fù)制此敏感數(shù)據(jù)。
盡管Apple的許多安全警報(bào)試圖檢測(cè)并忽略合成點(diǎn)擊,但Wardle發(fā)現(xiàn)即使在完全更新的High Sierra系統(tǒng)上,隱私警報(bào)也未受到保護(hù)。 “如果惡意軟件可以簡(jiǎn)單地解除警報(bào),那么顯示警報(bào)又有什么意義?”他問(wèn)道。
在過(guò)去,惡意軟件會(huì)濫用此類合成點(diǎn)擊來(lái)執(zhí)行各種惡意操作。例如,Genio廣告軟件、DevilRobber貨幣挖礦惡意軟件,以及在13年內(nèi)從受感染的Mac上竊取數(shù)百萬(wàn)張圖像的惡意軟件Fruitfly,這些都使用合成點(diǎn)擊來(lái)繞過(guò)縱深防御警告。
Apple通過(guò)改進(jìn)其操作系統(tǒng)的安全性來(lái)應(yīng)對(duì)這些惡意軟件。目前,在最新版本的macOS中,安全警報(bào)和提示能夠忽略合成事件,這至少也是一種辦法。在演示中,Wardle首先闡述了攻擊者如何濫用macOS的“鼠標(biāo)鍵”功能,將鍵盤按鍵轉(zhuǎn)換為鼠標(biāo)移動(dòng)行為。鼠標(biāo)鍵允許用戶通過(guò)按下某些鍵來(lái)模擬向上、向下、向右或向左或向?qū)欠较蛞苿?dòng)鼠標(biāo),如下圖所示:
但是,Wardle說(shuō)明了攻擊者或惡意軟件如何利用“鼠標(biāo)鍵”事件來(lái)生成可接受的合成鼠標(biāo)點(diǎn)擊,即使是“受保護(hù)的”安全警報(bào)也是如此。在創(chuàng)建概念驗(yàn)證攻擊后,惡意軟件可以和安全提示進(jìn)行交互、解除鑰匙串的訪問(wèn)提示、并轉(zhuǎn)儲(chǔ)用戶未加密的密碼和私鑰,后來(lái)他向Apple報(bào)告了該問(wèn)題,Apple發(fā)布了補(bǔ)丁包CVE-2017-7150?,F(xiàn)在,安全警報(bào)會(huì)忽略“鼠標(biāo)鍵”,而鑰匙串訪問(wèn)始終需要用戶的密碼。
但即使在Apple發(fā)布補(bǔ)丁后,仍然可以繞過(guò)這些警告。在測(cè)試較舊的攻擊時(shí),Wardle錯(cuò)誤地復(fù)制并粘貼了一些代碼。在沒(méi)有意識(shí)到錯(cuò)誤的情況下,他就運(yùn)行了代碼,令他驚訝的是,即使在完全打補(bǔ)丁的High Sierra系統(tǒng)上,他也可以在安全警報(bào)上使用合成點(diǎn)擊。在進(jìn)行深入研究之后,他意識(shí)到錯(cuò)誤代碼發(fā)送了兩個(gè)鼠標(biāo)“按下”事件(而不是典型的鼠標(biāo)按下、鼠標(biāo)松開事件)。
“系統(tǒng)將第二次鼠標(biāo)按下事件轉(zhuǎn)換為鼠標(biāo)松開事件,”他指出,“但是,由于系統(tǒng)會(huì)生成此鼠標(biāo)按下事件,因此可以與安全提示進(jìn)行交互。”由于這個(gè)問(wèn)題,使得各種與安全和隱私相關(guān)的惡意行為都能夠完全繞過(guò)警告。最令人擔(dān)憂的是繞過(guò)了新推出的Apple安全機(jī)制,該機(jī)制旨在防止程序化加載“kexts”——與macOS核心交互的內(nèi)核擴(kuò)展。
Apple代表并沒(méi)有回復(fù)要求對(duì)此帖發(fā)表評(píng)論的電子郵件。Wardle表示,繞過(guò)安全提示引發(fā)了有關(guān)公司如何推出改進(jìn)措施的問(wèn)題。“我并不是說(shuō)想要知道是如何繞過(guò)的,但我發(fā)現(xiàn)了一種完全打破基本安全機(jī)制的方法,”Objective-See Mac工具和Digita Security首席研究官的開發(fā)人員Wardle說(shuō)道:“如果一個(gè)安全機(jī)制能夠如此輕易地失效,他們之前是否對(duì)此進(jìn)行了測(cè)試?這么說(shuō)我都覺(jué)得尷尬。”
原文作者:DAN GOODIN