天天看點

探究Safari擴充-惡意軟體開啟使用者資料的金鑰匙

本文由兩部分組成,主要揭示了macOS浏覽器插件擴充背後的技術以及惡意附加元件如何竊取密碼,銀行賬戶詳細資訊和使用者的其它敏感資料的。

浏覽器插件擴充是使用者可以對安全系統進行操作的最簡單第三方修改方式之一,但也有可能是導緻系統發生嚴重危險的方式之一。 許多使用者将插件擴充視為一個極小的“applets”(小應用),主要可以在浏覽網頁時提供一些簡單而實用的額外功能—(比如)阻止廣告内容,允許進行标記,幫助填寫表單字段等 ,卻沒有意識到這些插件擴充被賦予了鮮為人知的巨大能力。

在兩篇文章的第一篇中,我們将(首先)對Safari浏覽器插件擴充的安全問題進行認識,主要包括在macOS 10.13系統下檢查和分析特定的廣告插件擴充軟體在浏覽器使用的過程中廣告是如何運作的案例。在第二篇文章中,我們将介紹macOS 10.14 Mojave系統中Safari插件擴充的安全性是如何被更改的,以處理其中一些關切問題。

安全漏洞

雖然這裡的重點是通過對浏覽器插件擴充所扮演的運用情況進行揭露來提高使用者的意識,但我們首先要指出的是即使使用信譽良好和善意的開發人員的擴充也會涉及安全問題。

這裡有一個很好的例子,就是今年年初DuckDuckGo采取了相關的舉措,為使用者提供了一個阻止廣告和跟蹤使用者内容的浏覽器插件擴充。盡管這個插件擴充是一個值得信任的開發者建構的偉大設想,但這個擴充插件卻存在一個緻命的問題:安裝它的使用者會被要求授予遠遠超出其所需要的擴充權限,而這本身其實就是一個安全問題。

探究Safari擴充-惡意軟體開啟使用者資料的金鑰匙

擴充程式聲稱會在使用者執行“搜尋和浏覽網頁”時保護使用者的資料,但似乎卻忽略了将密碼等敏感資料暴露給擴充程式本身所帶來的影響。

遺憾的是,授予類似特殊權限給本就不需要的擴充插件的情況其實并不少見。 正如Apple的開發者文檔所述,擴充插件可以執行諸如向網站添加産品評級和評論之類的操作,因而也可以将廣告注入網頁,對下載下傳内容注入腳本以及修改Web内容等操作。 他們可以在沒有使用者明确許可的情況下發送通知,并且可以在背景悄悄地運作。

這些擴充的功能清單聽起來就好像是惡意軟體開發人員夢寐以求的漏洞利用工具,尤其是Safari擴充中存在的多個安全漏洞,可能被惡意開發人員有意利用,也可能在無意間将潛在的漏洞公開。

擴充插件沒有必要在它們的程式包中直接包含它所使用的腳本; 實際上它們可以通過http網絡遠端(自動下載下傳)擷取。 如果開發人員沒有使用安全的https協定,則可能會發生man-in-the-middle(中間人)攻擊,進而被插入惡意腳本來代替原來真實的腳本程式。

同時,這也意味着品質敗壞的冒充者隻需更改通過http(或https)請求的腳本内容,就可以用這種在安裝擴充後改變其擴充行為的方式來開發惡意擴充插件。

擴充插件也應該尊重(使用者的)隐私浏覽内容,但這似乎取決于開發人員是否去遵守實作。 Apple的(開發者)文檔也隻是建議:

Your extension should not store any information about the user’s actions when in Private Browsing mode.

You can check whether a particular tab is in Private Browsing mode by querying the tab object’s private property (for example, safari.application.activeBrowserWindow.activeTab.private).

(   在隐私浏覽模式下,您的擴充插件不應存儲有關使用者操作行為的任何資訊。

您可以通過查詢頁籤對象的私有屬性(例如,safari.application.activeBrowserWindow.activeTab.private)來檢查特定頁籤是否處于“隐私浏覽”模式。)

這個目錄如此描述的内容足以吸引任何電腦黑客,以緻使得這一類“糟糕的”插件擴充成為了廣告軟體開發商如Genieo和Spigot的主要(入侵)工具之一。 正如我們将在下一節中看到的那樣,擴充程式甚至可以阻止使用者在沒有首先删除關聯的主應用程式的情況下解除安裝它,這為誘騙使用者進一步破壞他們自己的系統提供了一個成熟的良好機會。

Pitchofcase的神奇案例

我們最近觀察到一個名為“Pitchofcase”的Safari廣告擴充軟體,它展示了一些有趣的行為。

初看一眼,Pitchofcase看起來跟其它任何廣告插件擴充一樣:當被啟用之後,它會在登陸pitchofcase.com之前通過幾個付費點選位址重定向使用者的搜尋。

​​http://searchv.oliverto.com/?b598a1d361f67b08aeee82e41686cd1a=FVNQWlVbFAAeXFNRWAFUV1dXV1gBUl9TUFBKQFwLUQFWWwAADAADXF9QUQxQVgNYVAUKU1VXWwFRDFRbB0EE&spt=ext&q=tagSearchQuery​​

擴充插件在背景悄無聲息的運作,沒有顯示任一工具欄按鈕或任何其它與之互動的行為。

探究Safari擴充-惡意軟體開啟使用者資料的金鑰匙

在上圖中,請注意擴充程式獲得的權限。值得指出的是,這些是在沒有提升權限的情況下獲得的,隻需要使用者與對待其它任意擴充程式顯示的警告處理方式一樣,單擊“信任”,而不管其權限内容如何描述:

探究Safari擴充-惡意軟體開啟使用者資料的金鑰匙

該警報彈窗包含了一個概述的後果資訊内容,但是可惜macOS允許此級别的權限在沒有通過密碼驗證的情況下對Safari進行執行。

當我們嘗試解除安裝它時,Pitchofcase開始變得有趣。單擊“解除安裝”按鈕不會按預期删除擴充插件,而是抛出以下警報:

探究Safari擴充-惡意軟體開啟使用者資料的金鑰匙

這是不尋常的,但并非聞所未聞。一些具有良好口碑的應用程式也以相同的方式強制其使用者使用它們特定的擴充插件(例如,Parallels Desktop應用要求在Safari中安裝“Open in Internet Explorer”擴充插件才能使用)。使用者可以毫無問題地禁用擴充程式,但移除它卻需要删除父應用程式。

點選“在Finder中顯示”會顯示應用程式的路徑,并且友好的提供了一個解除安裝工具

探究Safari擴充-惡意軟體開啟使用者資料的金鑰匙

至此,具有安全防範意識的使用者可能會對Pitchofcase.app這個Safari擴充和Uninstaller解除安裝程式在VirusTotal上是如何評價的有所興趣。該應用程式檢測結果為'clean'(安全),但解除安裝程式的檢測結果卻顯示為警告:

探究Safari擴充-惡意軟體開啟使用者資料的金鑰匙

因為我們的重點主題是讨論Safari擴充插件,是以這裡我們不會過多地深入探讨Uninstaller解除安裝程式的功能,而是想說通過代碼檢查明顯展示了它對安裝持續代理更感興趣:

探究Safari擴充-惡意軟體開啟使用者資料的金鑰匙

以及竊取使用者的浏覽器曆史記錄:

探究Safari擴充-惡意軟體開啟使用者資料的金鑰匙

而沒有在做它作為解除安裝程式該做的工作。

但是,可以看出将解除安裝程式作為感染源是一個聰明的把戲,與沒有移除應用主程式就無法移除擴充插件的目的相吻合。正如我們所看到的,擴充插件本身相對無害,而讓使用者運作解除安裝程式似乎才是其真正的政策。

Safari擴充的内在

Safari擴充它本身在VT上被提出了一些警告,但這些并不重要,因為它安裝的擴充插件本身就是是“幹淨”的應用程式。讓我們來看看擴充插件的内在構成以及檢查它的行為情況。

Safari擴充插件源程式僅僅是壓縮檔案,是以為了檢視其内部組成,我們需要做的第一件事就是使用file指令找出其所使用的檔案壓縮類型:

探究Safari擴充-惡意軟體開啟使用者資料的金鑰匙

在這種情況下,它是xar格式。是以我們現在知道了檔案類型就可以重命名該檔案并解壓縮它:

探究Safari擴充-惡意軟體開啟使用者資料的金鑰匙

global.html檔案是我們的第一站。在Safari擴充體系結構中此配置檔案是可選檔案。但在包含它時,可以通過注入腳本來加載一次性資源,例如所使用的邏輯或資料。

在這種情況下,我們可以清楚地看到它的意圖:

探究Safari擴充-惡意軟體開啟使用者資料的金鑰匙

在我們的下一站中,Info.plist明确展示了擴充程式也希望檢視安全頁面的内容:

探究Safari擴充-惡意軟體開啟使用者資料的金鑰匙

盡管這可能令人有些擔憂,但關于擴充插件内容,最值得注意的事情是明明缺少正常配套的内容卻常常被打包到這些浏覽器附加元件中去。既沒有專門的JS跟蹤腳本或輔助函數,又沒有嘗試通過eval的方法執行的惡意代碼。與大多數擴充插件(合法和非合法擴充)相比,Pitchofcase顯得非常不一般。

這又把我們帶回到了為了解除安裝擴充插件卻需要移除主程式,以及解除安裝程式Uninstaller彈出的警報響鈴的問題上。 Pitchofcase明顯是一個經過深思熟慮才得到的詭計:即安裝一個有些惱人但又在很大程度無用的擴充插件,然後再去欺騙使用者為了移除它,去運作真正惡意的解除安裝程式。

安全地移除Pitchofcase

這裡有個好消息,是對于那些嚴格遵循對話框警報提示資訊,在Safari中點選過“解除安裝”按鈕的使用者。删除擴充插件的唯一方法确實就是移除關聯的應用主程式,但移除并不意味着完全解除安裝。

使用者應該忽略提供的Uninstaller.app,隻需将Pitchofcase.app和所有其它元件(包括解除安裝程式)直接拖到廢紙簍。這樣做了之後,其實同樣可以删除擴充插件。

開發人員異常聰明地緻力于抓住那些經常遵循重複建議(習慣性思維)的使用者,以便在删除應用程式時始終去使用開發人員設計好了的解除安裝程式。處理來自于值得信任的開發者所設計的複雜安裝時,這通常是一種很好的實用做法。 但在Pitchofcase的這種情況下,這是一個旨在竊取你資料的巧妙躲避。

接下來......

在第2部分中,我們将繼續探讨10.14 Mojave中macOS擴充插件(規則)的改變以及使用者在将其添加到最新版本的Safari浏覽器時需要注意的安全性問題。

本文翻譯自:​​https://www.sentinelone.com/blog/inside-safari-extensions-malware-golden-key-user-data/​​

如有不妥之處,請多多指教!

最近正好在了解這篇文章中提到的malware,是以就冒昧的獻醜翻譯了下!

上一篇: sass基礎入門
下一篇: Sass 字元串

繼續閱讀