谷歌最近正致力于打造一款針對MacOS的惡意檢測系統,目前它已經在Github上開源。這個由谷歌Macintosh Operations團隊開發的項目名叫Santa,現在已經更新到了0.9.12版本。
如谷歌所描述的那樣,Santa并不完全是一個殺毒引擎。它會通過黑白名單機制,對MacOS的進程進行控制。當前版本Santa的GUI界面,其實只有一個通知彈窗,而且是在它阻止某個進程運行的時候才會彈出來。
這個惡意軟件嗅探系統,會扮演一個用戶守護進程的角色。它會去主動掃描新出現的進程,并根據自身維護的基于黑白名單的SQLite數據庫,判斷某個應用是否應該繼續運行。
兩種操作模式
該項目在Github的文檔中,有兩種操作模式:監控(MONITOR)和封鎖(LOCKDOWN)。
在監控模式中,該系統會借助黑名單,告訴操作系統哪些應用是不能運行的。
在封鎖模式中,它會告訴系統只能運行白名單里的應用。
用戶和網絡管理員都可以往Santa的黑名單里,根據簽名證書添加相應的應用。
谷歌解釋道:
“這樣,你就可以允許或阻止擁有某個廠商簽名的所有程序。只有當某程序的簽名校驗通過之后,Santa才能將它加入白名單。
不過你需要注意一點,將某證書簽名的程序加入黑名單后,再將該證書加入白名單,兩邊的規則都會生效。
當然,反過來效果也是一樣的。”
另外,Santa自帶有防篡改機制。如同其他優秀的安全產品一樣,Santa會記錄自身執行過的操作。當然,它也會采取一系列的安全措施,保證惡意軟件不能通過植入它的進程,來到達躲避安全檢測的目的。
惡意軟件或許會通過修改Santa的黑名單,來阻斷Santa或者MacOS的核心進程。而Santa的組件會使用蘋果XPC服務的API進行相互驗證,如果簽名證書不一致,是不會進行通信的。
FreeBuf小科普
蘋果XPC服務:OSX10.7以后,cocoa新增加了一種新的技術,就是XPC,它的實現不再通過對象間的直接連接,而是通過block實現一種服務端對客戶端的connection。這兩者之間的通信都是通過使用xpc_connection發送消息實現。XPC的出現是為了將程序分成不同的幾個子程序,從而實現權限分隔,讓你的程序更加安全。
然而,Santa現在還沒有明確的發布日期,但是大家都可以安裝它的試用版本。