来源:优游网责编:网络时间:2024-02-10 23:00:28
本文将翻译Xbox Live团队Xbox One安全系统架构师Tony Chen在2019年平台安全峰会( 2019, PSEC 2019)上的演讲
PSEC 2019官方页面, 内附演讲视频: 抵御物理攻击, Xbox one的故事( : The Xbox One Story)
Tony Chen是谁
根据其在微软网站上的介绍, 他目前是微软核心操作系统团队软件工程师和安全架构师.
他是Xbox Live团队自2000年起的创始成员. 自2000年到2010年, 他作为Xbox Live的开发者, 领导, 开发主管和架构师. 在2011年到2013年, 他作为开发主管负责Xbox one安全, 并与Xbox硬件团队和AMD成功开发了Xbox one主机并于2013年发布, 且至今没有被破解, 盗版或开挂.
2014年后, 他在微软核心操作系统团队工作, 并通过软硬件改进的方式改进设备的安全性, 在最近几年, 他在探索用于克服C/C++代码的内存安全性问题的指令集架构.
Xbox 软硬件简介
这里为了方便正文的理解, 先介绍一下xosft.dev上记载的Xbox的一些软硬件细节.
EMMC
Xbox主板上有一个8GB的EMMC 4.5 NAND Flash, 用于存储操作系统文件, 因此即使硬盘坏掉, 系统也可以启动到恢复模式.
Team 早在2013年找到了一个电路hack的方法把这个NAND接到一个SD卡上, dump出了其中的内容, 方法见该文章
其中的内容被称为Xbox Boot file , XBFS包括了, 配置文件, 密钥,以及系统固件x360破解, 但大多数内容被加密了.
Xbox
PS4使用了 9, 魔改了曾用于3DS的 OS 微内核操作系统, 混合了的 for Tegra的图形组件(比如), 而Xbox one既然是微软出的, 那肯定用的是.
Xbox one有3个 OS运行在主机上, 分别是, ,
是基于 8修改而来的专用系统, 通过基于Hyper-V的虚拟机平台管理SRA和ERA系统. 也包括了所有硬件的驱动程序(例如GPU驱动), 而Guest系统通过Hyper-V软件接口与硬件间接通讯, 该接口被称为XVIO, 一种类似于或Linux世界的半虚拟化接口.
Xbox one的是否仍基于其发布时的 8不得而至. 但有理由相信Xbox X|S的Host OS已经基于的代码开发, 但提供的功能和接口应该类似.
OS / OS / SRA OS
SRA是 的缩写, 只能得到受限的CPU, GPU和RAM资源, 但是仍足以运行大多数UWP apps, 包括基岩版的或者模拟器.
还负责运行内置App, 如设置App, Edge, 商店, 以及整个shell(主界面, 西瓜键弹出的侧栏, 通知)
SRA可以运行两种模式的程序: App和Game.
Xbox one总共有8核AMD美洲豹CPU, 8GB DDR3内存外加32M ESRAM, 其中3G保留给 OS以运行UI和UWP, 5G用于游戏. Xbox one X共有12G GDDR5内存, 9G可用于游戏.
App在前台最多只能使用1G内存, 在后台最多只能使用128M内存, 共享2-4个CPU核(取决于目前有多少App和Game在运行), 最多45%的GPU, 最高只能使用DX11 Level 10.
UWP Game可以使用最多5G内存, 独占4个CPU核并共享2个CPU核, 使用100%的GPU资源, 可以使用DX11或DX12, 但Game在后台会被暂停. UWP Game可以使用所有的GPU资源, 和没有X1X优化的ERA游戏一样多的RAM ,但是不能访问一些特有的功能, 比如多人合作的API或XDK的神秘优化.
更详细的指标可以参考微软的UWP开发文档
OS基于最新的代码开发, 从 8 一路跟随桌面的步伐更新到 10
例如, 编写本文时, dev通道的最新版本为21370, 开发代号钴, 版本的最新版本为19041/2/3 (根据功能包而定), 开发代号钒. 而Xbox Alpha Skip-Ahead通道的版本号为2108. ( .1501.-2200 ), 即编译于2021年4月30日, 基于 21374代码开发, 而Alpha通道的版本号为2105.(.7750.-0000), 即编译于5月1日, 基于 19041代码开发.
尽管版本号和代码基础相同, 但自以来有两种不同的操作系统, 一种是完整版的, 如 10, , 另一种是"精简版"的, 如 Phone 8, 10 , Teams ( Hub 所搭载的系统, 也称 ), OS, 10 IOT, 10 X ( core OS, wcos ), 以及Xbox , 这些系统都有共同的特点:
微软把Edge 浏览器移植到了wcos, 并且该功能已经发布在Xbox Skip-Ahead通道, 这也是wcos能运行的最win32的程序了.
/ Title OS / OS / ERA OS
ERA是 的缩写, 可以得到主要的CPU, GPU和RAM资源.
然而并非特指某一个操作系统, 每一个游戏的安装包都附带一个的xvd镜像, 以对应游戏开发时使用的XDK. 针对Xbox one开发的游戏, 其同样基于改造的/10, 仅包括了内核, HAL, 用于游戏的运行时, 因此大小很小, 仅80-90MB , 尽管如此之小, 仍是一个可运行的 NT操作系统, 并且运行在提供的虚拟机里.
(era.xvd的大小来自:
Steam上发现的莫名其妙的打包错误泄漏的.rar中包含的-
Xbox 360模拟器游戏使用的是微软招安原Xbox 360模拟器开发者开发的官方Xbox 360模拟器, 直接模拟了Xbox 360使用的 CPU, 并在其中运行原版Xbox 360系统. 在Xbox one上使用Xbox 360光盘时, 仍需要从微软服务器下载模拟器和游戏文件, 光盘只用于验证正版. 也许该官方模拟器对每一个兼容游戏都有定制之处, 因此并非所有游戏都被兼容.
在Xbox游戏的管理游戏和附加内容->文件信息菜单可以看到的变种, 在Gen标签下
在 Type下
在下
(然而并没有以上3个标签, 暴露了这个"游戏"是作为UWP Game运行而不是ERA运行的.)
通过这样独立于操作系统的另一个操作系统, Xbox解决了兼容性的问题, 也阻止了模拟器的开发, 因为甚至没有人可以解密era.xvd里到底有什么. 的安全机制保证了在下试图读取C:\里era.xvd的数据就会导致虚拟机终止运行, 即在内存中的权限是仅执行. 当然, 另一方面, 如果era.xvd或微软的加密密钥被破解, 就意味着Xbox one的模拟器就会瞬间成熟. 后文我们可以看到, 开发Xbox one的模拟器甚至比破解Xbox one更简单.
基于虚拟机的运行方式也为Xbox S|X上的快速恢复功能提供了基础, 快速恢复即等同于Hyper-V虚拟机的挂起, 只需要妥善的保存好CPU寄存器, RAM和状态即可.
XVD
XVD, Xbox Drive的缩写, 是一种加密的磁盘镜像, 用于存储Xbox one的数据. xvd文件用于存储Xbox one系统的镜像和数据, 而一个变种xvc文件用于存储游戏镜像.
XVD的第一部分是0x0-0x200, 包含了对头部签名
XVD的第二部分是文件的头部, 包含了对顶层Hash表的Hash和文件的元数据(如 ID, type, ID, ID) , 这是一个微软特色的xml格式字符串.
XVD的第三部分是可选的另一个XVD文件, 通常是游戏镜像文件xvc中存储的镜像. 该部分是原封不动的XVD文件
XVD的第4部分是可选的Hash树, 一种多层的Hash数组. Hash树的一层会包括其下一层的块的Hash, 最低层就是对数据块的Hash. 该Hash算法为SHA-256.
XVD的第5部分是可选的本地持久存储(即用户数据区), 允许游戏或系统存储一些数据
XVD的第6部分是实际的数据区. 如果文件是xvc文件, 前3个块是XVC描述符, 存储了 ID, 加密的密钥, 所需要的更新包(如果游戏使用了差分更新), 以及文件中不同区域的偏移/长度/密钥ID.
XVD的最后一部分是文件系统数据, 未加密的数据为标准的NTFS元数据. 这部分数据使用内容实例密钥( Key, CIK)加密(RSA算法). xvd文件的CIK存储在头部中, 并使用离线分发密钥(ODK)加密, 而游戏镜像xvc文件使用独立的文件 Key 包含的密钥. Xbox one零售系统使用的ODK并不为人之, Xbox 开发版系统使用的ODK则很容易得到, 但是无法用于任何零售游戏的解密. 游戏服务的CIK可以使用工具提取出来.
微软的小聪明删除文件App
文件App是继承自 10 的一个app, 可以访问data分区受限的几个文件夹, 以及格式化为数据分区的USB存储设备.
文件App有很多漏洞, 允许攻击者浏览的C:\中的数据, 例如在U盘上建立一个到C:\的符号链接, 并插入Xbox, 这样就可以直接以UWP沙盒的权限浏览C:\中的数据. 鉴于所有的xvd都被不明的密钥加密了, 这是少数可以得到Xbox上运行的未加密的代码和数据的方式.
然而微软以该功能用户较少为理由删除了文件App
遥测
微软会记录所有用户的操作和系统中正在运行的程序, 尤其是加入或开启开发者模式后, 如果攻击者试图访问不应被访问的数据, 执行不应存在的程序, 遥测服务就会将其记录下来, 微软可以根据遥测数据ban掉该机器或修复系统中的漏洞
Edge浏览器
在大多数情况下, Edge浏览器只能在在线模式中使用, 即登陆了Xbox Live, 因此如果系统不是最新版本, 或者没有链接到网络, Edge浏览器是无法打开的(提示检查网络连接). 唯一的例外是 认证. 通过浏览器进行破解是黑客的常规操作, 每一次PS4被破解都是因为的漏洞, 也不例外, 已经有几次因的漏洞而攻破的例子了.
抵御物理攻击, Xbox one的故事Xbox的安全性目标商业目标技术目标Xbox 安全性不是 安全性 安全Xbox 安全针对 Xbox 360 的破解Xbox 360: hack
一种常见的盗版方法是对光驱的DSP进行攻击, 使得系统认为刻录的盗版盘是正版的.
Xbox 360的光驱DSP的固件位于一片闪存上, 和DSP封装到一起, 闪存的写使能引脚没有引出, 因此通常无法修改DSP的固件.
攻击者发布了一个教程, 将封装芯片的几个pin连线, 找到其交点, 即可定位到封装之下闪存的写使能引脚的位置, 然后钻透封装, 使用一个特制的芯片接入到钻孔, 当钻孔合适时, 写使能会通电, 这时给光驱通电, 即可写入修改的固件
Xbox 360: Reset Hack (RGH) aka 脉冲自制系统
Xbox 360晚期的一种破解方法. Xbox 360的CPU芯片存在一个问题, 如果给芯片的reset引脚施加一个合适的脉冲, 时间不长也不短, 则芯片并没有完全重启, 而是进入了随机状态. 攻击者尝试了半年的时间, 最终找出了让CPU加载NAND上未签名二进制程序的脉冲信号. 而这个脉冲信号施加的时机必须恰到好处, 刚好处于CPU正在比较NAND上程序的签名是否为正确的签名时, 该发生, 使得这个跳转到错误的分支. 为了提高成功率, 降低对时序的要求, 该破解方法还对南桥进行了修改, 使得主CPU的频率下降, 并且修改南桥的程序, 使得成功之前不停的重启CPU.
Xbox one的硬件安全性假设
只有CPU是可信的 ( 对28nm的硅晶片进行修改在成本上是不可行的 ), 所有其他的硬件都不可信.
当破解的成本在10个游戏的价格($600)之上时, 破解无法在经济上带来收益.
当前的PC硬件设备无法抵御硬件攻击
TPM芯片通过不安全的LPC/SPI总线连接到CPU. 任何和TPM的通讯都可以被伪造.一些工业标准的功能是 by : PCIE地址翻译服务
当前的软件没有针对物理攻击做出防御
结论: 需要自制芯片
Xbox Soc
安全处理器( )南桥
使用IOMMU连接到Soc, 阻止使用DMA读取关键内存数据
流加密引擎( )
实时高性能AES解密+sha Hash
安全处理器和流加密引擎使用特殊的数据通路交换密钥, 不通过通用互联总线
硬盘上的游戏在此处解密, 且解密密钥无法被任何软件/固件访问到
内存
控制器实时加密/解密数据并进行完整性校验
安全处理器目标设计理念多VM架构
前文已介绍.
XVD
XVD是具有完整性保护和加密的VHD镜像
当读取操作发生时, 的XVD驱动使用流加密引擎解密并Hash检查XVD
所有硬盘都不可信. 如果向硬盘写入某一个程序, 再次读取时, 并不一定是写入的内容.因此使用XVD进行完整性校验.
解密XVD的密钥光盘游戏Xbox one的解决强制代码完整性检查( code )
HVCI是 Hyper-V的功能, 起源于Xbox 360, 也支持一个更通用的HVCI功能
操作系统状态隔离和完整性检查安全处理器 密钥寄存器功能安全目标:全局密钥树
安全启动 (证据)
注: PCR存储的过程. 假设存储的是SHA-1, 其大小是20字节, 那么PCR寄存器的大小就是20字节, 向PCR存储数据的过程实际上被称为(扩展), 其值按照该公式计算: PCR = Sha1("$PCR" + "$Value") 即PCR新值等于老值这20字节后门跟上输入值这20字节,然后再取这40字节的SHA-1. 因为Hash被认为是不可逆的, 因此输入一个不正确的值就会直接污染本次启动流程, 使得PCR寄存器的内容几乎无法恢复到正确的值上.
参考: 基于静态可信根(SRTM)的的工作原理是什么?
这一机制实现了如下功能, 当Xbox Live检测到一个老版本的摘要发来的请求, 就会强制要求该机器离线或更新系统, 而如果收到一个从来都不应出现的摘要, 就可以直接ban掉该主机.
为何Xbox的安全性如此持久
注: Xbox团队2011年开始研发安全机制, 2013年Xbox one发售, 其演讲使用的PPT在2014年完成, 并多次在微软内部演讲. 本次演讲, 2019, 是Tony chen第一次公开Xbox 背后的安全机制. 而至今(2021年), 8年过去了, 仍没有任何人攻破Xbox one的或.
Q&A
Q: 为什么不能购买一个 pro with Xbox
A: 1. 当前硬件的安全启动不可靠 2. 用户期望PC可以运行win32, 但是Xbox不需要运行
Q: 最初Xbox one被宣称为 & 没有光驱, 之后有什么重大的更改来支持离线 & 光盘游戏
A: 在发售前6个月, Xbox开发团队被告知需要支持光盘游戏. 通过和MTK的合作, DSP包括了相同逻辑设计的安全系统, 以及要求光驱和Soc进行唯一的密钥匹配.
Q: Root key是每一台主机一个还是通用的
A: key是用于安全启动的key, 是所有Soc相同的, per- key用于未说明的其他目的. key也可以用于解密光盘游戏, 因此从未更新过的系统也可以玩更新的光盘游戏.
Q: DRAM是否使用相同的key加密
A: DRAM有自己的key来加密
Q: Xbox 如此巨大是否是因为xvd的使用, 是否支持delta更新
A: 系统的xvd并不使用delta更新 ( 存储游戏的xvc支持delta patch )
Q: 人们接受了要玩新游戏就要更新系统的策略, 且破解只能作用于本地, 这听起来像蓝光光盘的策略
A: 的确像蓝光的密钥一样, 如果有人成功破解了Xbox one, 那么就像蓝光播放机的策略一样, 在新的游戏上使用新的key, 然而旧的游戏就只能被破解了. 虽然这并没有发生.
Q: 微软和AMD合作, 但是AMD在固件安全方面的名声不好. 听起来安全处理器和AMD PSP( )一样, 那么是AMD编写了安全处理器的固件还是微软?
A: 微软编写了相关的固件, 且开发了相关的硬件. AMD PSP的推出晚于Xbox one
Q: 如何防止开挂
A: Xbox的安全机制阻止了运行未签名代码, 基本阻止了作弊的可能性.
Q: Root key是否可以更新
A: 不能, Root key是出场时写入Fuse的
拳击游戏还是有很多的玩家都是非常的喜欢尝试的,很是刺激,并且也是能够发泄心中的不快吧,现在市面上是有很多的类型的拳击的游戏,这些游戏一般都是一些格斗的游戏,其实是非常的有趣,也是相当的刺激的,游戏中是有一些不同的场景都是能够去进行体验的,我们也是能够去刺激的进行对战的,小编现在就是收集了一些有意思的拳击游戏,相信你们一定会喜欢的。
趣味烧脑游戏一般比较适合人们在无聊的时候打发时间,同时其操作以及游戏规则上都比较简单,让大家不会有上手很难的感受,可以轻轻松松就体验这个游戏的独特乐趣,并且随时下线都不用担心坑队友,同时也可以和好友一起来玩法,有多种挑战模式,可以根据自己的真实水平以及喜好来选择不同的挑战模式参与,收获到不一样的游戏趣味体验!
太空冒险类游戏顾名思义就是以外太空为背景打造的一类游戏,玩家在这种类型的游戏当中可以体验到非常独特有意思的太空冒险旅程,玩法内容的设计上充满了想象力,所有的场景都是人们在日常生活中从来没有见过的,而你可以驾驶各种各样的战舰展开无比激烈的星际对决,同时可以邀请身边的朋友一起参与到冒险当中,竞技对决的过程中十分注重
这里面为大家收集了一系列比较好玩的女生游戏,并且将会不断的更新,每个玩家都可以根据自己的喜好来选择适合自己的游戏打发时间,每款游戏都设置了新手教程,这样方便大家更加轻松的上手,不同类型的游戏可以让你领略到不一样的游戏乐趣,并且在这里随时都可以尝试其他的玩法,让你一次性就可以玩个够,同时还可以将这里的游戏乐趣分享
6.0德拉诺版本(戈拉)宝宝,通过对它主人的救赎
x360破解 XboxOne安全系统架构师2019官方页面,内附演讲
状元榜眼真的必有一水?NBA选秀大会由来已久
哪款工具可以强制删除电脑程序的工具盘点,360安全卫士
《启源女神》洛基怎么样人物属性介绍女神洛基
《钢铁入侵》什么时候上映时间?藤健次网友评价
社群伙伴托社长去申请蓝V账号,千万不要过份迷信!
钢铁苍穹:入侵 《》剧情片演员表,你看过几部?
魔兽文章潘达利亚灵魂兽的抓法,我是卡吃地瓜!
UC聊天室的大家庭开启一段美好的社交之旅