企業(yè)感染Mac版惡意軟件的七種途徑與防護
一直以來,Mac系統(tǒng)及終端設(shè)備的最大賣點之一就是它很少受到網(wǎng)絡(luò)病毒感染的困擾。雖然到目前為止,Mac系統(tǒng)還是要比Windows、Android等系統(tǒng)更安全,但已經(jīng)有很多真實的案例證明,macOS的安全問題需要企業(yè)組織給予更多關(guān)注和重視。
據(jù)SentinelOne公司在2022年開展的調(diào)查數(shù)據(jù)顯示,運行macOS終端的企業(yè)組織正在面臨更多的安全威脅,其中安全后門數(shù)量和跨平臺攻擊框架在快速增長,以CrateDepression、PyMafka、ChromeLoader等為代表的Mac版惡意軟件已經(jīng)通過多種途徑感染了大量企業(yè)用戶的辦公設(shè)施。而且,有許多macOS威脅采用的感染途徑仍然不為人知,研究人員常常只能通過一些偶然的機會發(fā)現(xiàn)惡意軟件,或者在VirusTotal等惡意軟件存儲庫中發(fā)現(xiàn)樣本。
macOS感染的主要途徑
為了幫助企業(yè)制定更可靠的macOS安全防護策略,以下收集整理了惡意軟件危害macOS系統(tǒng)的7種主要途徑。
途徑1:免費工具誘餌
大量macOS惡意軟件通過免費工具下載網(wǎng)站來傳播,比如torrent網(wǎng)站、共享軟件網(wǎng)站、破解版應(yīng)用程序網(wǎng)站或免費的第三方應(yīng)用程序分發(fā)網(wǎng)站。
免費工具誘餌通常包括:
- 破解版軟件。
- 體育直播網(wǎng)站;
- 影視、游戲和音樂下載網(wǎng)站。
- 數(shù)字版權(quán)管理(DRM)規(guī)避網(wǎng)站。
- 其他非法內(nèi)容網(wǎng)站。
對于免費工具誘餌,攻擊者可將其用于傳播廣告軟件和捆綁包感染,最常見的情況是向用戶提供免費或破解版應(yīng)用程序;用戶開始下載聲稱含有該應(yīng)用程序的磁盤映像文件,但安裝時發(fā)現(xiàn)它原來是Flash Player、AdobeFlashPlayer之類的應(yīng)用程序。這些文件通常未簽名,用戶會得到介紹如何覆蓋macOS Gatekeeper以啟動它們的說明。
研究人員發(fā)現(xiàn),最近有一些攻擊者開始將用戶引到Terminal以覆蓋Gatekeeper,可能是為了繞過組織安全管理員部署的一些額外安全控制機制。有證據(jù)表明,Mac用戶普遍認(rèn)為瀏覽這類欺騙誘餌鏈接本身不危險,因為Mac系統(tǒng)“不容易感染病毒”。然而,這些網(wǎng)站會迅速將用戶從安全搜索引到危險下載,而這些威脅常常被蘋果內(nèi)置的檢測技術(shù)XProtect漏過。
防護建議
企業(yè)應(yīng)對通過這類途徑實施的macOS惡意軟件感染,可以采用如下措施:
- 通過MDM及應(yīng)用程序允許/拒絕列表,控制與軟件下載有關(guān)的權(quán)限;
- 通過MDM解決方案或安全產(chǎn)品,限制對Terminal的訪問;
- 使用第三方安全防護工具,限制或阻止未簽名代碼的執(zhí)行;
- 使用端點保護軟件,防止和檢測已知的macOS惡意軟件。
途徑2:面向Mac用戶的惡意廣告
網(wǎng)頁上的惡意廣告可以在用戶的瀏覽器中運行隱藏代碼,將受害者重定向到惡意威脅網(wǎng)站。在過去的一年,針對macOS用戶的已知惡意廣告活動主要包括ChromeLoader和oRAT。
ChromeLoader采用惡意Chrome擴展的形式,劫持用戶的搜索引擎查詢,安裝偵聽器以攔截出站瀏覽器流量,并向受害者投放廣告軟件。
oRAT是一個用Go編寫的后門植入程序,被下載到受害者的機器上,實際上是一個未簽名的磁盤映像(.dmg),卻偽裝成一系列Bitget應(yīng)用程序。磁盤映像含有一個名為Bitget Apps的軟件包和分發(fā)標(biāo)識符com.adobe.pkg.Bitget。經(jīng)過加密的數(shù)據(jù)被附加到含有C2 IP地址等配置數(shù)據(jù)的惡意二進制代碼中。
防護建議
應(yīng)對通過惡意廣告分發(fā)的macOS惡意軟件威脅,企業(yè)可以采取如下措施:
- 使用防火墻和Web過濾器來阻止訪問已知惡意網(wǎng)站,設(shè)置在某些特殊情況下,可以將防火墻策略設(shè)置為只能訪問一組授權(quán)IP;
- 使用廣告攔截軟件阻止大多數(shù)廣告顯示,但這可能會影響性能和對一些資源的訪問;
- 部署端點防護軟件,以防止和檢測通過惡意廣告投放的惡意代碼執(zhí)行。
途徑3:被感染的開發(fā)者項目
macOS攻擊者正在嘗試更大規(guī)模感染、實施供應(yīng)鏈攻擊以及網(wǎng)絡(luò)間諜活動,而應(yīng)用系統(tǒng)開發(fā)者正是高價值的攻擊目標(biāo)。一旦開發(fā)者在無意中將惡意代碼插入到用它構(gòu)建的任何iOS應(yīng)用程序中,許多受感染的應(yīng)用程序就會在蘋果應(yīng)用商店發(fā)布。受感染的應(yīng)用程序能夠竊取敏感信息,比如設(shè)備的唯一標(biāo)識符和用戶的Apple ID,并在受感染的iOS設(shè)備上執(zhí)行任意代碼。
研究人員發(fā)現(xiàn),攻擊者目前正在企圖通過共享代碼來感染開發(fā)者。由于開發(fā)者希望提高工作效率,他們常常尋找共享代碼,而不是嘗試自行編寫代碼,以實施復(fù)雜的庫或不熟悉的API調(diào)用。
很多有用的代碼可以在Github等公共代碼庫中找到,但這些代碼庫也可能含有為攻擊者打開后門的惡意軟件或代碼。以XCSSET惡意軟件為例,由于項目的****.xcworkspacdata被篡改,導(dǎo)致隱藏的惡意文件被引用執(zhí)行,然后在開發(fā)者機器上實施多階段感染,包括投放后門。
防護建議
應(yīng)對通過這個途徑分發(fā)的macOS惡意軟件威脅,企業(yè)可以采取以下措施:
- 將開發(fā)環(huán)境與生產(chǎn)環(huán)境隔離;
- 要求所有共享的開發(fā)者項目在下載到公司設(shè)備之前通過審查和授權(quán);
- 落實安全開發(fā)實踐,比如安全編程指南、代碼審查和結(jié)伴編程;
- 加強開發(fā)人員的網(wǎng)絡(luò)安全意識培養(yǎng)和提升;
- 使用端點保護軟件監(jiān)測可疑和惡意代碼的執(zhí)行。
途徑4:攻擊開源軟件存儲庫
如果攻擊者攻擊開源軟件存儲庫,情況將變得更加嚴(yán)重。通過這些存儲庫共享的代碼廣泛用于各大企業(yè)組織的許多macOS版業(yè)務(wù)項目中,相應(yīng)的安全審查工作存在大量薄弱環(huán)節(jié)。軟件存儲庫容易受到誤植域名攻擊和依賴項混淆攻擊。在一些情況下,合法軟件包的所有權(quán)會被劫持或被轉(zhuǎn)移給攻擊者。例如:在2022年5月,流行的PyPI軟件包PyKafka就遭到了惡意軟件包PyMafka欺詐性域名攻擊,其中包含了用于檢查主機并確定操作系統(tǒng)的Python腳本。
如果設(shè)備運行macOS,它會連接到C2,下載名為MacOs的Mach-O二進制文件,并以“zad”的名稱將其寫入到/private/var/tmp。二進制文件用UPX打包,經(jīng)過混淆處理,投放了Cobalt Strike信標(biāo)。
防護建議
為了應(yīng)對通過這個途徑分發(fā)的威脅,安全團隊可以采納以下建議:
- 使用私有存儲庫,并配置軟件包管理器,不默認(rèn)使用公共存儲庫。
- 要求通過代碼簽名來驗證軟件包的真實性。
- 定期審計和驗證來自外部的開源代碼。
途徑5:木馬應(yīng)用程序
攻擊軟件包存儲庫可能會有嚴(yán)重深遠(yuǎn)的影響,但它們也很顯眼,容易被發(fā)現(xiàn)。相比之下,一些企圖更隱蔽投放惡意軟件的攻擊者,可能更喜歡將流行應(yīng)用程序變成木馬病毒。
2021年,百度搜索引擎中的某些鏈接被發(fā)現(xiàn)用來通過流行應(yīng)用程序iTerm2的木馬版本傳播惡意軟件。進一步調(diào)查后發(fā)現(xiàn),攻擊者還同時使用了微軟Remote Desktop for Mac、Navicat和SecureCRT的木馬版本。這些應(yīng)用程序使用了不同于合法簽名的開發(fā)者簽名,以確保它們不被Gatekeeper阻止。除了替換原始代碼簽名外,攻擊者還使用了名為libcrypt.2.dylib的應(yīng)用程序包修改程序,可以監(jiān)視本地環(huán)境、連接到C2服務(wù)器以及通過后門執(zhí)行遠(yuǎn)程命令。
研究人員最近還發(fā)現(xiàn)了一種開源工具的惡意版本,旨在竊取受害者的密碼和鑰匙鏈,讓攻擊者可以全面訪問macOS中用戶的所有密碼。開源工具Resign Tool常被開發(fā)者用來重新簽名應(yīng)用程序,并將它們捆綁成ipa文件安裝到iOS設(shè)備上,這表明攻擊者顯然在有意識的感染開發(fā)者。
防護建議
為了應(yīng)對通過這個途徑分發(fā)的威脅,企業(yè)可以采取的措施包括如下:
- 驗證所有代碼都已簽名,并與適當(dāng)?shù)囊阎_發(fā)者簽名相對應(yīng);
- 使用安全產(chǎn)品限制或阻止未簽名代碼的執(zhí)行;
- 使用端點保護軟件防止和檢測可疑或惡意代碼的執(zhí)行。
途徑6:漏洞攻擊
一種不太常見的感染途徑,需要攻擊者具備一定專業(yè)知識才能得逞,那就是利用瀏覽器漏洞感染中毒網(wǎng)站的訪問者。瀏覽器上存在了一些危險的0day漏洞,即使被修復(fù)后,這些漏洞仍可能作為N-day漏洞來攻擊未及時更新瀏覽器的企業(yè)。
最近發(fā)現(xiàn)的利用macOS漏洞并將其用于攻擊的攻擊者就Macma負(fù)責(zé)的一個APT組織。據(jù)谷歌TAG的研究人員稱,Macma結(jié)合了WebKit中的N-day遠(yuǎn)程代碼執(zhí)行漏洞(CVE-2021-1789)和XNU中的0day本地特權(quán)升級漏洞(CVE-2021-30869)。這些漏洞用于在內(nèi)存中加載和執(zhí)行Mach-O二進制文件,能夠逃脫Safari沙箱,提升特權(quán),并從C2下載第二階段載荷。
防護建議
為了應(yīng)對通過這個途徑分發(fā)的威脅,企業(yè)組織可以采取以下措施:
- 確保系統(tǒng)和應(yīng)用程序是最新版本,防止利用N-day漏洞發(fā)動的攻擊。
- 部署智能化主動式安全解決方案,以檢測0day感染鏈中出現(xiàn)的可疑行為。
- 部署支持在較長時間內(nèi)關(guān)聯(lián)分析威脅并溯源的安全解決方案。
途徑7:軟件供應(yīng)鏈攻擊
前面討論的一些感染途徑已經(jīng)被用于實施的軟件供應(yīng)鏈攻擊,尤其是涉及木馬應(yīng)用程序、共享開發(fā)者代碼和軟件包存儲庫的攻擊。早在2016年,流行的macOS torrent客戶軟件Trransmission就被發(fā)現(xiàn)感染上了macOS勒索軟件。而在2022年,研究人員發(fā)現(xiàn)APT 27組織闖入了屬于MiMi聊天應(yīng)用程序的服務(wù)器,將惡意JavaScript添加到了用于安裝某流行聊天應(yīng)用程序的磁盤映像中。當(dāng)用戶運行安裝程序后,惡意軟件會主動聯(lián)系遠(yuǎn)程IP,以檢索rshell二進制文件。
防護建議
相比以上感染路徑的防護,企業(yè)防御軟件供應(yīng)鏈攻擊需要更加全面的安全策略,包括上述的大部分建議,同時還要特別關(guān)注以下建議:
- 對所有供應(yīng)商和合作伙伴進行摸底調(diào)查,確保它們落實了良好的安全措施;
- 定期審計和核查供應(yīng)鏈安全,包括記錄更新供應(yīng)商和合作伙伴的最新變化;
- 在整個組織內(nèi)實施可靠的安全控制措施,包括使用新一代的端點、云和身份管理安全控制措施;
- 定期更新軟件系統(tǒng),修補漏洞。
如何判斷macOS已被感染?
企業(yè)應(yīng)該注意某些告警信號,以確定macOS終端設(shè)備是否已被感染惡意軟件:
? 檢查macOS設(shè)備是否過熱。當(dāng)macOS設(shè)備過熱時,可能是惡意應(yīng)用程序在過度使用CPU資源和內(nèi)存,從而導(dǎo)致設(shè)備自身過度工作。
? 檢查macOS是否在使用過多數(shù)據(jù)。這是macOS已被入侵的最大跡象。雖然Netflix等應(yīng)用程序通常會使用大量數(shù)據(jù)(因為高分辨率視頻流屬于數(shù)據(jù)密集型的應(yīng)用程序),但是,當(dāng)出現(xiàn)流量異常時要及時進行驗證,需要檢查macOS設(shè)備設(shè)置并查看每個應(yīng)用程序使用了多少數(shù)據(jù)。
? 檢查瀏覽器未打開的情況下,是否也會收到彈出窗口。如果用戶未使用Safari、Chrome或其他瀏覽器應(yīng)用程序,用戶的macOS設(shè)備上不應(yīng)出現(xiàn)彈出窗口。如果仍然彈出窗口,那么這是一個危險信號。
? 檢查是否在macOS設(shè)備上看到奇怪的應(yīng)用程序。如果看到一個不記得曾下載過的應(yīng)用程序,那么這是設(shè)備上安裝了惡意軟件的另一個危險信號。
? 檢查應(yīng)用程序是否經(jīng)常崩潰。當(dāng)用戶的設(shè)備上存在惡意軟件時,它們往往會占用額外的計算資源,因此其他應(yīng)用程序?qū)o法正常運行并且更有可能崩潰。
? 檢查電池耗電是否比平時快。如前所述,惡意軟件應(yīng)用程序往往會占用資源,因為它們正在傳輸和上傳數(shù)據(jù),或者在后端安裝更多惡意軟件。因此,用戶的macOS設(shè)備將比平時更快地消耗電量。
? 檢查macOS設(shè)備是否運行緩慢。這是檢查macOS系統(tǒng)是否已感染惡意軟件的最后標(biāo)志。