Google惡意軟件檢測系統“Santa”已開源
一、項目介紹
目前,Google 公司正在為 macOS 平臺開發一款惡意軟件檢測系統。根據 Softpedia 網站的最新報道,該項目目前已開源,項目代碼托管在 GitHub 平臺上。這個名為“Santa”的項目由 Google 公司的 Macintosh 研發團隊負責開發的,軟件當前的版本為 0.9.12。
正如 Google 公司描述的那樣,“Santa”項目并不是一個傳統意義上的反病毒引擎,它只能夠將某些 macOS 平臺的惡意進程加入黑名單或白名單之中。 除此之外,Santa 的圖形用戶界面(GUI)也并不復雜,它只有一個較為美觀的通知窗口而已。Santa 需要通過這個窗口來通知用戶哪一個進程被禁止執行了。Softpedia 的安全研究人員所測試的版本沒有其他的用戶操作界面,只有如下圖所示的一個對話框。
二、深入 Santa 項目
Santa 提供了兩種操作模式,除此之外,它就只是一個非常簡單的應用程序而已。
Santa 惡意軟件檢測系統的核心無非就是一個用戶態下的監視進程而已,它可以掃描新的進程,并根據存儲在本地 SQLite 數據庫中的進程黑名單(或白名單)來阻止(或允許)應用程序的運行。
根據該項目托管在 Github 上的介紹文檔,Santa 提供了以下兩種操作模式:MONITOR(監視)和 LOCKDOWN(鎖定)。
MONITOR 模式下,Santa 可以從黑名單中讀取禁止運行的程序信息,然后告訴操作系統哪些應用程序是不允許運行的。LOCKDOWN 模式下,Santa 只會允許白名單中的程序運行,這也就意味著,不在白名單之列的應用程序默認將禁止運行。
除此之外,用戶和網絡管理員也可以根據應用程序的簽名證書來判斷程序的合法性,并將潛在的惡意應用加入至 Santa 的黑名單中。
值得注意的是,Santa 內置有安全防御措施,可以防止惡意攻擊者的非法篡改。與其它很多優秀的安全產品一樣,Santa 會將它所執行的所有任務全部記錄在程序日志中。除此之外,它自身也有相應的安全防護措施。因為很多惡意軟件會嘗試去破壞 Santa 的掃描進程,并以此來躲避檢測。所以 Santa 自身所帶的安全防護機制其目的就是為了防止這類事件的發生。
惡意軟件可以修改 Santa 的黑名單,然后讓 Santa 阻止 Santa 以及 macOS 的核心進程執行。Santa 會使用蘋果 XPC 服務的 API 來對自身各部分組件的有效性進行驗證,如果任何一個組件的簽名證書無法通過驗證,那么 Santa 將會阻止該組件與其他組件通信。
Santa 的功能如下:
- 多種運行模式:Santa 的默認運行模式為 MONITOR 模式,該模式下除了黑名單中標記的應用程序之外,其他所有的程序都可以運行,所有程序的運行信息都將被記錄下來,并保存在 Santa 的事件數據庫中。在 LOCKDOWN 模式下,只有白名單標記的應用程序才允許運行。
-事件記錄:當 kext 文件被加載后,所有運行程序的操作行為都將會被記錄下來。
-基于證書的檢測規則:除了利用程序代碼的“指紋”(哈希值)來進行判斷之外,Santa 還可以通過簽名證書來判斷需要列入白名單或黑名單的應用程序。只有程序的簽名證書通過了驗證,這個程序才可以被列入白名單。
-基于路徑的檢測規則:這個功能與 OS X 系統的 Managed Client 所提供的限制功能類似。但是這個功能允許我們在檢測的過程中,向檢測條件添加正則表達式。
三、Santa 的安裝與運行
首先,打開 Mac 的終端,然后輸入下列命令:
git clone https://github.com/google/santa
運行效果圖:
終端提示任務成功之后,你將會在當前用戶下的目錄中看到 Santa 項目文件。
請注意,在運行 Santa 之前,你還需要解決 CocoaPods 類庫管理工具的依賴問題。關于這部分問題,請讀者移步 Cocoapods 的官方網站了解具體的安裝步驟[傳送門]。
安裝完成之后,你可以對 Santa 的功能進行一個簡單的測試。你可以將終端命令“yes”
加入 Santa 的黑名單中,測試命令如下:
santactl rule --blacklist --path /usr/bin/yes --message "NO"
如果你在終端中運行了“yes”命令,你將會看到一個彈出窗口,窗口信息會提示你這個應用程序已經被禁止運行了,提示信息為“NO”。除此之外,窗口還可以允許終端用戶關閉有關該應用程序的提示。用戶選擇了這個選項之后,Santa 在二十四小時之內都不會在提示用戶有關改程序的禁止信息了。
這只是一個簡單的功能測試,Santa 的功能當然遠不止于此。用戶可以自行下載安裝 Santa,然后根據自己的想法來進行測試。
四、運行演示
http://p7.qhimg.com/t014807f9405c9866c8.gif
五、總結
Santa 現在的版本為 0.9.12,Google 公司 Macintosh 研發團隊的開發人員仍在對 Santa 項目進行功能測試和安全測試,并嘗試修復產品中存在的漏洞。如果你認為自己具備足夠的軟件開發能力,Google 公司 Macintosh 研發團隊將會非常歡迎你參與進 Santa 項目之中,具體信息請查看 Santa 項目的代碼貢獻文檔[傳送門]。
目前,Santa 正式版的發布日期尚不明確。任何人都可以下載并安裝這款產品,但是請你記住,Santa 目前仍是一個處于測試階段的軟件,而且 Santa 項目并非 Google 公司的官方項目。
如果你對 Santa 項目有任何的疑問,或者你在安裝的過程中遇到了無法解決的困難,你可以訪問 Google 論壇的“santa-dev”模塊來尋找答案。除此之外,你也可以訪問 Github 的 Wiki 板塊和 Issues 板塊來了解更多的信息。
六、參考鏈接
1. Santa 項目的 Github 主頁:
https://github.com/google/santa
2. Google 官方論壇的“santa-dev”板塊:
https://groups.google.com/forum/#!forum/santa-dev
3. Santa 的使用和配置指導:
https://github.com/google/santa/wiki
4. CocoaPods 類庫管理工具的安裝和使用指導: