Re: [情報] 遊戲引擎Unity爆重大安全漏洞

看板C_Chat (希洽)作者 (Y78)時間1月前 (2025/10/04 18:06), 1月前編輯推噓52(52040)
留言92則, 51人參與, 1月前最新討論串2/4 (看更多)
昨天剛好看到漏洞發現者 RyotaK 寫的技術細節,簡單講一下 有技術背景的可以自己看: https://flatt.tech/research/posts/arbitrary-code-execution-in-unity-runtime/ 在 Android 上,手機 app 可以透過發起一個叫 intent 的東西打開另一個 app 打開的時候可以傳參數過去 而 Unity 在這部分沒有處理好,導致會直接載入其他 app 傳來的程式碼 因此一個惡意 app 就可以透過這種方式,再利用 Unity 包出來的遊戲執行程式碼 這是第一種攻擊方式 再強調一次 攻擊前提是:你先裝了一個惡意 app,再透過這個惡意 app 攻擊 Unity 引擎 攻擊成功之後,就看你原本遊戲有什麼權限,就可以拿到什麼權限 但由於你要先裝一個惡意 app 在你裝惡意 app 的時候,它其實本來就可以做很多事了,不需要透過 Unity 透過 Unity 就只是可以偷到這個 app 的更多資料,或是拿到更多權限 例如說 app 通常只有自己能存取自己的東西 因此透過 Unity 這個漏洞,可以讓其他 app 來把你東西偷走 第二種攻擊方式是,有些 app 會可以利用 URL 去發這個 intent 就不需要先裝惡意 app(這個不是預設的設置,需要開發者自己加上) 但由於 Android 本身的權限問題,會阻擋一些可疑位置的檔案載入 所以還需要搭配 app 本身的機制,想辦法讓攻擊者能夠寫一個檔案 接著再載入這個檔案才行 換句話說,假設一個遊戲要有問題,它本身的機制必須能讓攻擊者去寫入檔案 原文給的案例是 Facebook Messenger 的快取可以被攻擊者控制,利用它寫檔案 但遊戲的話應該就是 case by case 了,要先找到能控制寫檔案的方法 才有辦法寫入惡意程式碼,然後利用 URL 執行 總結一下,根據作者自己的技術細節,攻擊要成立的前提是: 1. 你已經裝了一個惡意 app 或是底下三個條件同時滿足: 1. 遊戲支援透過 URL 的方式打開 2. 攻擊者可以透過遊戲本身的機制,寫一個檔案並控制內容 3. 你點了一個惡意 URL,觸發 Unity 漏洞 由於文章只有寫到 Android 的,因此不太確定其他平台的細節 這漏洞之所以嚴重,是因為被觸發之後就可以控制 Unity 打包出來的 app 但觸發條件是否容易,就看大家怎麼想了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.193.112.69 (日本) ※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1759572390.A.698.html

10/04 18:07, 1月前 , 1F
10/04 18:07, 1F

10/04 18:07, 1月前 , 2F
10/04 18:07, 2F

10/04 18:09, 1月前 , 3F
10/04 18:09, 3F

10/04 18:09, 1月前 , 4F
反正就是不要隨便點連結,然後正常的遊戲沒事
10/04 18:09, 4F

10/04 18:10, 1月前 , 5F
惡意APP通常從哪種管道被安裝,或如何得知自己有沒有裝
10/04 18:10, 5F

10/04 18:10, 1月前 , 6F
10/04 18:10, 6F

10/04 18:10, 1月前 , 7F
10/04 18:10, 7F

10/04 18:12, 1月前 , 8F
網路下載的apk 檔
10/04 18:12, 8F

10/04 18:12, 1月前 , 9F
10/04 18:12, 9F

10/04 18:12, 1月前 , 10F
非官方的都默認成惡意app就好
10/04 18:12, 10F

10/04 18:12, 1月前 , 11F
上一篇的Unity公告網頁下面有寫說IOS跟遊戲機還沒找出可能性
10/04 18:12, 11F

10/04 18:12, 1月前 , 12F
但是為了以防萬一還是請更新這樣
10/04 18:12, 12F

10/04 18:13, 1月前 , 13F
家裡長輩 很容易會被騙裝不明APP阿
10/04 18:13, 13F

10/04 18:13, 1月前 , 14F
推分享
10/04 18:13, 14F

10/04 18:14, 1月前 , 15F
內文還有提到一件事 不確定unity能不能滿足遠端攻擊的
10/04 18:14, 15F

10/04 18:14, 1月前 , 16F
條件 如果不能的話 其實就是偷偷個資的事而已
10/04 18:14, 16F

10/04 18:14, 1月前 , 17F
10/04 18:14, 17F

10/04 18:15, 1月前 , 18F
但如果像是 Web-based 的 Unity Engine 的套件的話呢?
10/04 18:15, 18F
目前是還沒看到 web 相關的平台有問題,web 原本就沒辦法繞過瀏覽器執行指令

10/04 18:16, 1月前 , 19F
前景服務
10/04 18:16, 19F

10/04 18:16, 1月前 , 20F
感謝回應
10/04 18:16, 20F

10/04 18:17, 1月前 , 21F
推個
10/04 18:17, 21F

10/04 18:18, 1月前 , 22F
與其說"惡意","任意"寫來利用這漏洞的APP更準確
10/04 18:18, 22F

10/04 18:19, 1月前 , 23F
安卓你不搞Root的話要中招的算低
10/04 18:19, 23F

10/04 18:20, 1月前 , 24F
但Windows系統 就問在座有多少人是開administrator在用?
10/04 18:20, 24F

10/04 18:20, 1月前 , 25F
利用Unity還是要看OS有什麼洞能鑽或有給什麼權限
10/04 18:20, 25F

10/04 18:30, 1月前 , 26F
我個人的粗淺理解是雖然研究者實踐這個洞的方式是用 Andr
10/04 18:30, 26F

10/04 18:30, 1月前 , 27F
oid ,但這個洞的成因是 Unity 沒有做啟動參數的資料驗證
10/04 18:30, 27F

10/04 18:30, 1月前 , 28F
後就直接「執行」,所以這一修才不是只影響到 Android 平
10/04 18:30, 28F

10/04 18:30, 1月前 , 29F
台而是大家都中
10/04 18:30, 29F
看起來是這樣沒錯,我的理解也差不多

10/04 18:30, 1月前 , 30F
看起來就借Unity之手運行惡意程式碼 但遊戲有寫入檔
10/04 18:30, 30F

10/04 18:31, 1月前 , 31F
感謝翻譯 推
10/04 18:31, 31F

10/04 18:31, 1月前 , 32F
案的情況不多吧
10/04 18:31, 32F

10/04 18:31, 1月前 , 33F
應該說有給使用者寫入檔案的情況
10/04 18:31, 33F
※ 編輯: Y78 (61.193.112.69 日本), 10/04/2025 18:33:52

10/04 18:35, 1月前 , 34F
通常都會看OS給到多大權限,Windows通常最危,Android則是
10/04 18:35, 34F

10/04 18:36, 1月前 , 35F
有資料外洩的可能,iOS看有沒有類intent的機制做直接通訊
10/04 18:36, 35F

10/04 18:37, 1月前 , 36F
ios的封閉機制就專防這種App伸出髒手的,沒事才是預料
10/04 18:37, 36F

10/04 18:37, 1月前 , 37F
之中
10/04 18:37, 37F

10/04 18:38, 1月前 , 38F
我後來想了一想 除了盜版以外其實第三方套件、Mod 甚至翻
10/04 18:38, 38F

10/04 18:38, 1月前 , 39F
譯包都有可能可以利用這個洞==
10/04 18:38, 39F
準備個惡意檔案倒是可以透過這些來準備,但是要把啟動參數傳進去的話 可能就要看個別 app 了?如果能傳啟動參數,代表本來就可以執行指令了 (在電腦上的話啦),可能就是做為一種提權的手段

10/04 18:40, 1月前 , 40F
就看你信不信官方本身跟知名補丁網站了
10/04 18:40, 40F

10/04 18:42, 1月前 , 41F
簡單來說 只要你App不是從Goole/Apple商店載的都能預
10/04 18:42, 41F

10/04 18:42, 1月前 , 42F
設是惡意 但不代表Google Play跟App Store裡的就一定
10/04 18:42, 42F

10/04 18:42, 1月前 , 43F
安全
10/04 18:42, 43F

10/04 18:43, 1月前 , 44F
10/04 18:43, 44F

10/04 18:44, 1月前 , 45F
遊戲只要有存檔功能就會有檔案讀寫權限 遊戲主機的提權
10/04 18:44, 45F

10/04 18:44, 1月前 , 46F
漏洞有很大一部分是遊戲有漏洞導致
10/04 18:44, 46F

10/04 18:45, 1月前 , 47F
感謝內容,推
10/04 18:45, 47F

10/04 18:50, 1月前 , 48F
PC啟動遊戲裝第三方MOD就有機會中
10/04 18:50, 48F

10/04 18:51, 1月前 , 49F
10/04 18:51, 49F

10/04 18:53, 1月前 , 50F
10/04 18:53, 50F

10/04 19:06, 1月前 , 51F
推,看不懂但有點安心了
10/04 19:06, 51F

10/04 19:07, 1月前 , 52F
前面覺得還好反正手機只拿來工作用而已 但看到23樓後有
10/04 19:07, 52F

10/04 19:07, 1月前 , 53F
點怕了-.-
10/04 19:07, 53F
※ 編輯: Y78 (61.193.112.69 日本), 10/04/2025 19:12:58

10/04 19:11, 1月前 , 54F
10/04 19:11, 54F

10/04 19:27, 1月前 , 55F
10/04 19:27, 55F

10/04 19:37, 1月前 , 56F
URL觸發就能啟動喔。好兇
10/04 19:37, 56F

10/04 19:50, 1月前 , 57F
透過Url打開的遊戲 有些手遊會做轉去外面儲值之後自己幫
10/04 19:50, 57F

10/04 19:50, 1月前 , 58F
你連回遊戲內的
10/04 19:50, 58F

10/04 19:51, 1月前 , 59F
還有就是安卓裝app的時候真的要檢查一下他到底要開哪些
10/04 19:51, 59F

10/04 19:51, 1月前 , 60F
權限
10/04 19:51, 60F

10/04 20:09, 1月前 , 61F
謝謝分享
10/04 20:09, 61F

10/04 20:12, 1月前 , 62F
10/04 20:12, 62F

10/04 20:15, 1月前 , 63F
10/04 20:15, 63F

10/04 20:26, 1月前 , 64F
推推
10/04 20:26, 64F

10/04 20:39, 1月前 , 65F
推 謝分享
10/04 20:39, 65F

10/04 20:45, 1月前 , 66F
請問 文章中提到的 Facebook Messenger相關資訊在哪啊?
10/04 20:45, 66F

10/04 20:46, 1月前 , 67F
喔 看到了 原來是pdf 沒事
10/04 20:46, 67F
是的就是那個,有點長就懶得看了:https://reurl.cc/MzEp13 跟這個洞本身關係不大就是了,只是關於透過 app 控制檔案寫入的地方可以參考 ※ 編輯: Y78 (61.193.112.69 日本), 10/04/2025 20:49:56

10/04 20:48, 1月前 , 68F
感謝知識分享
10/04 20:48, 68F

10/04 21:01, 1月前 , 69F
我網路不知為何卡爛 看不到這個PDF 先發表我的簡單看法
10/04 21:01, 69F

10/04 21:01, 1月前 , 70F
文章中的示範指令都有明確代入package name 也就是說必
10/04 21:01, 70F

10/04 21:02, 1月前 , 71F
需先知道想要啟用的app的具體package name,才會受影響
10/04 21:02, 71F

10/04 21:03, 1月前 , 72F
另外透過URL啟動app的方式應該是指DeepLink 就像大家使
10/04 21:03, 72F

10/04 21:03, 1月前 , 73F
用手機看網頁時 點下去會跳出問你是否要由某某app開啟
10/04 21:03, 73F

10/04 21:04, 1月前 , 74F
這是因為那些app有宣告一個特定的pattern。當android發
10/04 21:04, 74F

10/04 21:05, 1月前 , 75F
現你點的網址有這個pattern,就會問你是否要啟動該APP
10/04 21:05, 75F

10/04 21:08, 1月前 , 76F
但文章中有提到 他也是去讀特定路徑下的惡意檔案 所以如
10/04 21:08, 76F

10/04 21:08, 1月前 , 77F
果你手機裡並沒有該惡意檔案 其實根本不用太擔心 但考慮
10/04 21:08, 77F

10/04 21:14, 1月前 , 78F
我昨天看到也一直在想什麼遊戲會自訂URI 實在想不到
10/04 21:14, 78F

10/04 21:14, 1月前 , 79F
文章中說可以透過讀cache的方式搞鬼 我就不知道是否能夠
10/04 21:14, 79F

10/04 21:15, 1月前 , 80F
combo出其它行為來造成更大的破壞
10/04 21:15, 80F

10/04 21:19, 1月前 , 81F
另外這看起來出問題時,你的app也會被打開彈出來 所以會
10/04 21:19, 81F

10/04 21:19, 1月前 , 82F
比較容易被觀測到
10/04 21:19, 82F

10/04 21:20, 1月前 , 83F
目前看起來感覺有點像SQL injection的那種狀況 就是那種
10/04 21:20, 83F

10/04 21:21, 1月前 , 84F
code沒寫好 使用者故意在帳密那邊打特定字串來破解
10/04 21:21, 84F

10/04 21:30, 1月前 , 85F
看起來跟 SQL 的結果很像 但成因不同吧
10/04 21:30, 85F

10/04 22:31, 1月前 , 86F
推說明
10/04 22:31, 86F

10/04 22:43, 1月前 , 87F
10/04 22:43, 87F

10/05 00:06, 1月前 , 88F
10/05 00:06, 88F

10/05 01:14, 1月前 , 89F
所以改理解成 這個漏洞只是惡意程式的啟動器這樣
10/05 01:14, 89F

10/05 01:29, 1月前 , 90F
10/05 01:29, 90F

10/05 10:12, 1月前 , 91F
10/05 10:12, 91F

10/05 10:48, 1月前 , 92F
10/05 10:48, 92F
文章代碼(AID): #1euF6cQO (C_Chat)
文章代碼(AID): #1euF6cQO (C_Chat)