[新聞] Magisk開發者曝安卓系統重大漏洞:可致手機進程被監視

看板MobileComm作者 (R20)時間5年前 (2018/11/23 15:09), 編輯推噓27(28128)
留言57則, 41人參與, 5年前最新討論串1/1
Magisk開發者曝安卓系統重大漏洞:可致手機進程被監視 https://www.ithome.com/0/396/548.htm — IT之家11月23日消息 稍早之前,Magisk的開發者topjohnwu宣佈推出了新版的Magisk工具 ,繞過一些安卓的SafetyNet Attestation API,讓手機在獲取Root的情況下也能玩具有該A PI的手游(如《FGO》)。 但是在這之後他發現,這一解決方案對自己的一加6手機無效。之後,他在一則Medium帖子 中表示發現了一個安全漏洞,《Fate/Grand Order》(通常稱《FGO》)似乎在濫用這一漏 洞,用來監測他一加手機上的Root訪問權。 https://i.imgur.com/ZvUWorm.jpg
XDA發佈了一篇文章,根據他的發現梳理了這一漏洞的信息。以下為該文主要內容翻譯。 Procfs和安卓 在基於Unix的操作系統上,有一個名為「procfs」的特殊文件系統,其中包含有關進程(可 以聯想應用程序)的信息,例如內存使用情況(可以聯想RAM)、狀態(進程是否正在運行 ,休眠等)。在大多數基於Unix的操作系統上,用戶和應用程序可以輕鬆訪問procfs,來查 看系統上正在運行的應用程序和服務類型(參考Windows的任務管理器)。然而從安卓7.0「 牛軋糖」系統開始,Google鎖定了對procfs的訪問權限。在Android Nougat(安卓7.x)系 統之前,像SystemPanel這樣的應用程序能夠收集有關正在運行的應用程序的數據,而無需 任何特殊權限。安卓7.x系統之後,應用程序需要通過UsageStats或AccessibilityService 等API才可以做到這一點,這兩個API都由必須通過用戶授予的權限來把關。 Google通過使用「hidepid = 2」標誌掛載/proc,來阻止應用程序通過procfs讀取其他應用 程序的狀態。通過這一手段,應用程序只能看到自己進程的狀態。因此,應用程序需要通過 可被接受的API(如UsageStats或AccessibilityService)來獲取當前設備上正在運行的應 用程序和服務的信息。 漏洞 如果procfs沒有用「hidepid = 2」掛載怎麼辦?那麼,應用程序可以自由地讀取系統上運 行的其他應用程序(和掛載點)的狀態,而無需任何額外的權限(注)。Google在自家的設 備上通過「hidepid = 2」掛載了的procfs,但並未強制其他OEM對設備強制執行此要求。來 自LG、一加、華為/榮耀、小米等公司的幾款設備尚未通過「hidepid = 2」掛載procfs。由 此,《Fate/Grand Order》等應用程序就能利用它來檢測設備上是否存在Magisk(或是否Ro ot)。 注:安卓9 Pie中的一個安全性改動會阻止應用程序在自己的「SELinux上下文(context, 可大致理解為「環境」)」之外讀取信息,因為每個應用程序現在都是單獨隔離的。SELinu x是一個內核模塊,充當各種「守衛」,阻止應用程序和服務訪問它們不應該訪問的文件。S ELinux上下文如同一個文件的標籤,其中包含用戶和角色等信息。如果沒有為procfs啓用「 hidepid = 2」標誌,則處於相同SELinux上下文的應用程序可以讀取同一上下文中有關其他 應用程序的信息。在運行安卓9 Pie的設備上,只有針對安卓9 Pie構建的應用才會將這一新 的SELinux更改應用在它們身上。只要安裝時沒有通過「hidepid = 2」掛載procfs,針對An droid 8.1 Oreo或更低版本的應用程序將仍使用舊的SELinux規則,也就可以訪問相同SELin ux上下文中的進程信息。應Google Play的新要求,你的設備上運行多數應用程序目標API應 對應安卓8.0「奧利奧」,但是,很多應用程序尚未針對安卓Pie進行更新。 procfs漏洞演示: https://i.imgur.com/q66NPsJ.jpg
▲左為通過「hidepid = 2」掛載了procfs的Google Pixel 3 XL,右為未通過「hidepid = 2」掛載procfs的華為Mate 20 X https://i.imgur.com/nvbhpRk.jpg
▲在Google Pixel 3 XL上,「Material Terminal」應用程序只能看到自己的進程;在華為 Mate 20 X上,「Material Terminal」應用程序可以看到其他進程。 我的設備是否受影響? 以下是XDA發現的未使用「hidepid = 2」掛載procfs的設備(項目從左至右對應為:OEM廠 商、設備、安卓版本、是否存在procfs洩密)。 https://i.imgur.com/O2CB7FN.jpg
後果有多糟糕? 如果我們將這個系統漏洞與FuséeGelée、Blueborne、KRACK、Meltdown(熔斷)Spectre (幽靈)等漏洞進行比較,這個bug就相形見絀了。應用無法通過這一漏洞獲取root權限, 或竊取你的密碼。你的銀行賬戶、信用卡都是安全的。最壞的情況是,應用程序可以判斷你 的設備上是否有另一個應用程序正在運行,因此用途非常有限。請記住,這是許多GNU / Li nux發行版的規範行為,另外,Google最近才開始通過安卓7.x系統阻止procfs訪問。這一bu g能讓應用程序繞過所需的某些權限來監視其他進程,但無法破壞安卓系統的沙箱並從其他 應用程序中竊取數據。可無論如何,這是非預期的行為,且已經打破了安卓的隱私功能,因 此bug必須得到修復。 如何檢測設備是否受影響 若要檢查設備是否會向其他應用程序洩漏進程信息(即procfs未使用「hidepid = 2」掛載 ),你可以使用shell命令(參考上文對比圖),也可以使用topjohnwu開發的應用程序(點 此從GitHub獲取)進行檢查。如果你的手機已經獲取Root權限,topjohnwu的應用還能讓你 使用「hidepid = 2」重新掛載procfs。 https://i.imgur.com/jHlgKpO.jpg
會有修復嗎? 是的,這一定會得到修復。谷歌現在會要求所有設備使用「hidepid = 2」掛載procfs。谷 歌將通過更新兼容性測試套件(CTS)來強制執行。這裡的CTS是一組測試,所有設備必須通 過測試,才能使用Google Play應用和服務。想要銷售預裝了Google Play商店的所有OEM, 最後都必須推出更新,以便在不久的將來使用「hidepid = 2」重新掛載procfs。這一問題 最先在一加設備上發現,一加方面已經知悉此問題並正在進行修復。如果其他OEM對此錯誤 發表評論,我們將就在此文進行更新。但是,你大可不必懷疑所使用的設備的OEM是否會發 佈更新,如果他們希望更新通過CTS測試,就必須修復此bug。 — 是的,相比之前Android爆出的漏洞來看,這個漏洞已經算很弱(?)了,只能透過規定以 外的方法來看其他程式的程序。 來自台北的topjohnwu大大又發現了一個漏洞,果然是台灣之光! 或許這個就是之前有些app偵測是否有root或是magisk的方法,這次google作法還蠻屌的, 如果不更新CTS就有可能不會過,這樣就代表很多手機都要更新了,看來有望看到ov升級手 機了(? 名單上看來就google、三星、HMD、moto、sony的系統有patch過,其他品牌要快點更新啊。 -- https://i.imgur.com/7ChJmWc.gif
INNOVATION! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.138.171.208 ※ 文章網址: https://www.ptt.cc/bbs/MobileComm/M.1542956957.A.BA0.html

11/23 15:11, 5年前 , 1F
嗯嗯跟我想的差不多
11/23 15:11, 1F

11/23 15:16, 5年前 , 2F
台灣神人
11/23 15:16, 2F

11/23 15:20, 5年前 , 3F
這篇基本上是XDA首頁文章的翻譯版 難得沒有我能吐
11/23 15:20, 3F

11/23 15:20, 5年前 , 4F
槽的地方
11/23 15:20, 4F

11/23 15:22, 5年前 , 5F
這不是大家都預期的事
11/23 15:22, 5F

11/23 15:22, 5年前 , 6F
簽名檔我看一次笑一次XD
11/23 15:22, 6F

11/23 15:23, 5年前 , 7F
嗯,跟我想的一樣
11/23 15:23, 7F

11/23 15:23, 5年前 , 8F
FGO:......又少了一個檢查方法
11/23 15:23, 8F

11/23 15:23, 5年前 , 9F
FGO777777777777777
11/23 15:23, 9F

11/23 15:23, 5年前 , 10F
補充一下最新進度是 當初谷歌改動的是高通msm bra
11/23 15:23, 10F

11/23 15:23, 5年前 , 11F
nch 似乎漏掉拉到常規common branch的動作 所以才
11/23 15:23, 11F

11/23 15:23, 5年前 , 12F
出現這些二三事
11/23 15:23, 12F

11/23 15:24, 5年前 , 13F
標題令我吐血Orz
11/23 15:24, 13F

11/23 15:24, 5年前 , 14F
FGO:幹
11/23 15:24, 14F

11/23 15:29, 5年前 , 15F
FGO的技術力www
11/23 15:29, 15F

11/23 15:30, 5年前 , 16F
這標題除了“重大”二字可爭論外 沒什麼問題啊 昨
11/23 15:30, 16F

11/23 15:30, 5年前 , 17F
夜那篇標題問題比較大
11/23 15:30, 17F

11/23 15:32, 5年前 , 18F
跟我想的差不多
11/23 15:32, 18F

11/23 15:33, 5年前 , 19F
對topjohnwu來說 確實是重大(?)
11/23 15:33, 19F

11/23 15:33, 5年前 , 20F
wtf 那這樣全部能存取 /proc 的 OS 都超危險 der
11/23 15:33, 20F

11/23 15:33, 5年前 , 21F
日系手遊很討厭,喜歡偵測root,這明明算個人隱私
11/23 15:33, 21F

11/23 15:35, 5年前 , 22F
原Po感想有點錯誤 並非不立馬更新CTS就不會過 而是
11/23 15:35, 22F

11/23 15:35, 5年前 , 23F
CTS檢測工具已更新抓此問題 廠商在要提供下回更新
11/23 15:35, 23F

11/23 15:35, 5年前 , 24F
時若不修好這問題 會通不過CTS測試導致谷歌不會接
11/23 15:35, 24F

11/23 15:35, 5年前 , 25F
受該新韌體
11/23 15:35, 25F

11/23 15:36, 5年前 , 26F
要修這問題忒簡單 在某文件填加 “hidepid = 2”
11/23 15:36, 26F

11/23 15:36, 5年前 , 27F
搞定
11/23 15:36, 27F

11/23 15:38, 5年前 , 28F
原來是這樣 想說怎麼怪怪的 怪怪的
11/23 15:38, 28F

11/23 15:41, 5年前 , 29F
FGO:
11/23 15:41, 29F

11/23 15:44, 5年前 , 30F
中國品牌和中國人創立的品牌都中鏢XDD
11/23 15:44, 30F

11/23 15:51, 5年前 , 31F
我早就覺得是這樣了,果然沒錯!
11/23 15:51, 31F

11/23 15:51, 5年前 , 32F
在美國念書了?台大資工之光
11/23 15:51, 32F

11/23 16:23, 5年前 , 33F
fgo484那個糞game啊
11/23 16:23, 33F

11/23 16:31, 5年前 , 34F
樓上對啊
11/23 16:31, 34F

11/23 16:37, 5年前 , 35F
看沒有,能不能再白話一點翻譯?@@
11/23 16:37, 35F

11/23 16:41, 5年前 , 36F
U11沒事U12+卻中標 負責團隊不一樣?
11/23 16:41, 36F

11/23 16:58, 5年前 , 37F
安卓不意外
11/23 16:58, 37F

11/23 17:07, 5年前 , 38F
台灣之光
11/23 17:07, 38F

11/23 17:19, 5年前 , 39F
可以看出來些廠是互抄code XD
11/23 17:19, 39F

11/23 17:24, 5年前 , 40F
仙子大概連內文都沒看吧 這不只安卓會有
11/23 17:24, 40F

11/23 17:37, 5年前 , 41F
為什麼S9+獵戶座版的是YES
11/23 17:37, 41F

11/23 17:42, 5年前 , 42F
每個字都看的懂,組合起來每個字都看不懂
11/23 17:42, 42F

11/23 17:53, 5年前 , 43F
沒人理辣椒神獸,幫QQ
11/23 17:53, 43F

11/23 17:57, 5年前 , 44F
其實好像也不能自己remount /proc
11/23 17:57, 44F

11/23 18:51, 5年前 , 45F
FGO不改善安卓版跑狗問題 把技術用在這地方= =
11/23 18:51, 45F

11/23 19:27, 5年前 , 46F
fgo:
11/23 19:27, 46F

11/23 19:36, 5年前 , 47F
yo叔又調皮了
11/23 19:36, 47F

11/23 20:09, 5年前 , 48F
嗯嗯我剛好也發現了
11/23 20:09, 48F

11/23 21:04, 5年前 , 49F
可以看 proc 算啥重大 bug XD
11/23 21:04, 49F

11/23 21:10, 5年前 , 50F
樓下幫轉西恰版
11/23 21:10, 50F

11/23 23:37, 5年前 , 51F
這不是 Linux procfs 預期的預設行為嗎?
11/23 23:37, 51F

11/23 23:37, 5年前 , 52F
只是 Android 延用到現在終於控管要改更嚴格了!
11/23 23:37, 52F

11/23 23:40, 5年前 , 53F
既不是 bug ,更無法稱的上“系統重大漏洞”XD
11/23 23:40, 53F

11/24 01:12, 5年前 , 54F
FGO是佛心優質休閒的好手遊啊 蠻推薦玩的 不需要花
11/24 01:12, 54F

11/24 09:12, 5年前 , 55F
這bug只能說打臉Android的安全系統八
11/24 09:12, 55F

11/24 09:12, 5年前 , 56F
畢竟Android 7.0以後就開始做禁止 可是這樣就是繞
11/24 09:12, 56F

11/24 09:12, 5年前 , 57F
過去了
11/24 09:12, 57F
文章代碼(AID): #1RzwUTkW (MobileComm)