Re: [情报] 游戏引擎Unity爆重大安全漏洞

楼主: Y78 (Y78)   2025-10-04 18:06:27
昨天刚好看到漏洞发现者 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
但触发条件是否容易,就看大家怎么想了
作者: zseineo (Zany)   2025-10-04 18:07:00
作者: peterturtle (peter_turtle2000)   2025-10-04 18:07:00
作者: WayThuz (欢喜利乐包)   2025-10-04 18:09:00
作者: nahsnib (悟)   2025-10-04 18:09:00
反正就是不要随便点连结,然后正常的游戏没事
作者: togs (= =")   2025-10-04 18:10:00
恶意APP通常从哪种管道被安装,或如何得知自己有没有装
作者: e5a1t20 (吃饭)   2025-10-04 18:10:00
作者: a205090a (CAN DO IT)   2025-10-04 18:12:00
网络下载的apk 档
作者: cdsjquiz (路遥)   2025-10-04 18:12:00
作者: aoke (凌溪)   2025-10-04 18:12:00
上一篇的Unity公告网页下面有写说IOS跟游戏机还没找出可能性但是为了以防万一还是请更新这样
作者: ltytw (ltytw)   2025-10-04 18:13:00
家里长辈 很容易会被骗装不明APP阿
作者: illya65536 (illya65536)   2025-10-04 18:13:00
推分享
作者: a205090a (CAN DO IT)   2025-10-04 18:14:00
内文还有提到一件事 不确定unity能不能满足远端攻击的条件 如果不能的话 其实就是偷偷个资的事而已
作者: inte629l   2025-10-04 18:14:00
作者: XFarter (劈哩啪啦碰碰碰)   2025-10-04 18:15:00
但如果像是 Web-based 的 Unity Engine 的套件的话呢?
作者: dk2486248 (暴风小雪)   2025-10-04 18:16:00
前景服务
作者: togs (= =")   2025-10-04 18:16:00
感谢回应
作者: eva05s (◎)   2025-10-04 18:17:00
推个
作者: testwindraja (时间不等人 早起最好)   2025-10-04 18:18:00
与其说"恶意","任意"写来利用这漏洞的APP更准确
作者: iuytjhgf (′‧ω‧‵)   2025-10-04 18:19:00
安卓你不搞Root的话要中招的算低但Windows系统 就问在座有多少人是开administrator在用?
作者: SPDY (Alex)   2025-10-04 18:20:00
利用Unity还是要看OS有什么洞能钻或有给什么权限
作者: XFarter (劈哩啪啦碰碰碰)   2025-10-04 18:30:00
我个人的粗浅理解是虽然研究者实践这个洞的方式是用 Android ,但这个洞的成因是 Unity 没有做启动参数的资料验证后就直接“执行”,所以这一修才不是只影响到 Android 平台而是大家都中
作者: rockmanalpha (KIN)   2025-10-04 18:30:00
看起来就借Unity之手运行恶意程式码 但游戏有写入档
作者: fkukg52155 (nightWinds)   2025-10-04 18:31:00
感谢翻译 推
作者: rockmanalpha (KIN)   2025-10-04 18:31:00
案的情况不多吧应该说有给使用者写入档案的情况
作者: Richun (解放左手的OO之力)   2025-10-04 18:35:00
通常都会看OS给到多大权限,Windows通常最危,Android则是有资料外泄的可能,iOS看有没有类intent的机制做直接通讯
作者: chualex66 (右键)   2025-10-04 18:37:00
ios的封闭机制就专防这种App伸出脏手的,没事才是预料之中
作者: XFarter (劈哩啪啦碰碰碰)   2025-10-04 18:38:00
我后来想了一想 除了盗版以外其实第三方套件、Mod 甚至翻译包都有可能可以利用这个洞==
作者: sai007788 (九条寺サイ)   2025-10-04 18:40:00
就看你信不信官方本身跟知名补丁网站了
作者: CrazyLord (Lucian)   2025-10-04 18:42:00
简单来说 只要你App不是从Goole/Apple商店载的都能默认是恶意 但不代表Google Play跟App Store里的就一定安全
作者: cpu885 (cpu885)   2025-10-04 18:43:00
作者: as920909 (a^s_)   2025-10-04 18:44:00
游戏只要有存盘功能就会有档案读写权限 游戏主机的提权漏洞有很大一部分是游戏有漏洞导致
作者: r24694648 (damnTurtleggs)   2025-10-04 18:45:00
感谢内容,推
作者: tn1983   2025-10-04 18:50:00
PC启动游戏装第三方MOD就有机会中
作者: g5637128 (帮QQ)   2025-10-04 18:51:00
作者: ShibaTatsuya (司波达也)   2025-10-04 18:53:00
作者: SunnyBrian (人気薄二冠马)   2025-10-04 19:06:00
推,看不懂但有点安心了
作者: rainxo6p (雷恩)   2025-10-04 19:07:00
前面觉得还好反正手机只拿来工作用而已 但看到23楼后有点怕了-.-
作者: AmeNe43189 (雨落为名)   2025-10-04 19:11:00
作者: ChikuwaM (翻译竹轮)   2025-10-04 19:27:00
作者: Nighty7222 (霞菊的美食家)   2025-10-04 19:37:00
URL触发就能启动喔。好凶
作者: WiLLSTW (WiLLS)   2025-10-04 19:50:00
透过Url打开的游戏 有些手游会做转去外面储值之后自己帮你连回游戏内的还有就是安卓装app的时候真的要检查一下他到底要开哪些权限
作者: hwider (海里的星辰)   2025-10-04 20:09:00
谢谢分享
作者: namirei (哎呀奈米光)   2025-10-04 20:12:00
作者: iam1vol (Timmy)   2025-10-04 20:15:00
作者: v86861062 (数字人:3)   2025-10-04 20:26:00
推推
作者: w9515 (卡卡)   2025-10-04 20:39:00
推 谢分享
作者: a5480277 (tk)   2025-10-04 20:45:00
请问 文章中提到的 Facebook Messenger相关资讯在哪啊?喔 看到了 原来是pdf 没事
作者: iamstudent (stu)   2025-10-04 20:48:00
感谢知识分享
作者: a5480277 (tk)   2025-10-04 21:01:00
我网络不知为何卡烂 看不到这个PDF 先发表我的简单看法文章中的示范指令都有明确代入package name 也就是说必需先知道想要启用的app的具体package name,才会受影响另外透过URL启动app的方式应该是指DeepLink 就像大家使用手机看网页时 点下去会跳出问你是否要由某某app开启这是因为那些app有宣告一个特定的pattern。当android发现你点的网址有这个pattern,就会问你是否要启动该APP但文章中有提到 他也是去读特定路径下的恶意档案 所以如果你手机里并没有该恶意档案 其实根本不用太担心 但考虑
作者: jackyT (Ubuntu5566)   2025-10-04 21:14:00
我昨天看到也一直在想什么游戏会自订URI 实在想不到
作者: a5480277 (tk)   2025-10-04 21:14:00
文章中说可以透过读cache的方式搞鬼 我就不知道是否能够combo出其它行为来造成更大的破坏另外这看起来出问题时,你的app也会被打开弹出来 所以会比较容易被观测到目前看起来感觉有点像SQL injection的那种状况 就是那种code没写好 使用者故意在帐密那边打特定字串来破解
作者: XFarter (劈哩啪啦碰碰碰)   2025-10-04 21:30:00
看起来跟 SQL 的结果很像 但成因不同吧
作者: avans (阿纬)   2025-10-04 22:31:00
推说明
作者: hanmas   2025-10-04 22:43:00

Links booklink

Contact Us: admin [ a t ] ucptt.com