Re: [情报] 研究人员揭露AMD芯片的Sinkclose漏洞,存

楼主: comipa (綾崎若菜家御用)   2024-08-12 20:31:36
※ 引述《hn9480412 (ilinker)》之铭言:
很久没发文赚P币了 是时候稍微增加一下收入
就稍微来聊一下System Management Mode大概是什么东西好了.
先引用一下英文Wiki, 中文有写跟没写一样..
https://en.wikipedia.org/wiki/System_Management_Mode
用很白话文很简单的比喻来说的话 他就是一个 时间暂停的魔眼
一旦启动 其他程序的时间包括作业系统 就像时间冻结了一样
这时候只有在SMM里面的人(程式码)还能活动 直到退出SMM
甚至作业系统搞到当机了, 除非CPU本身也完全凉透无法执行任何指令,
不然SMM在这情况下他应该都还能工作.
至于进入SMM的条件 就叫做SMI, System Management Interrupt.
他可以由单纯硬件触发 也可以从软件触发 要离开就由SMM里面的程式码去执行特殊指令
在SMM里面, 几本上就是可以为所欲为, 没有什么东西可以限制你.
系统平台上近乎所有资源, 还有内存的内容, 通通在你的控制之中.
至于离开之后, 除非SMM本身程式是故意留下足迹, 不然外界理论上是有可能不知道
你在里面干了什么好事的. 所以SMM本身必须是很重视安全性.
至于SMM里面要做什么事情, 他本身也是一些程式码构成, 这时候你可能会想说.
这不是鸡生蛋蛋生鸡了吗? SMM一开始的程式码又是哪来的?
x86 CPU一开始开机的时候 多半会从SPI ROM读取程式 也就是我们俗称的BIOS/UEFI
而要准备用在SMM里面的程式码其实也包含在内 我们就以UEFI为例.
UEFI开机会去初始化内存 在这个阶段其实会预留4MB~8MB(好像吧,忘了)给SMM使用
这块内存是独占性的 然后在接下来初始化各种UEFI软件功能时 会加载一套
用在SMM里面的程式码到这块内存 然后将这块内存给标记锁住
一旦锁住之后 基本上就不允许修改内存中"可执行"的程式码部分, SMM以外的人
也再也无法看到这块内容 这边其实应该就是这次AMD漏洞会影响到的部分 等等会讲
当SMM程式码全数加载/锁定后, 也就相当于开启了SMM功能, 之后就可以从软硬件来
触发SMM.
举例来说我在另一篇文章提过 SPI的读写其实有一些保护机制 其中一个就是利用SMM,
透过不允许SMM以外的来源直接写入SPI ROM, 并让这个动作经过SMM程式码的验证
来达到避免入侵者修改程式码的目的.
: 研究人员揭露AMD芯片的Sinkclose漏洞,存在近20年
: 文/陈晓莉 | 2024-08-12发表
: 资安业者 IOActive的两名安全研究人员Enrique Nissim与Krzysztof Okupski在上周举行的
: Defcon骇客会议上,揭露了一个存在于AMD芯片的安全漏洞,被研究人员命名为Sinkclose的
: 漏洞将允许骇客于系统管理模式(System Management Mode,SMM)执行程式码,而且已存在
: 近20年。Sinkclose的漏洞编号为CVE-2023-31315,波及绝大多数的AMD处理器,从行动处理
: 器、桌面处理器、工作站处理器到资料中心处理器等,估计影响数亿台装置。
: 根据AMD的简要说明,CVE-2023-31315漏洞存在于模型特定暂存器(Model Specific Regist
: er,MSR)的验证不当,允许具备Ring 0存取权限的恶意程式,即便是在系统管理中断(Sys
: tem Management Interrupt,SMI)上锁时,都能修改SMM配置,因而可执行任意程式。
接下来就跳到这边 也就是上面讲的问题. SMM本来身为最高权限的程式码, 并且设计
上在锁定之后就不允许修改 从而保证程式码是安全的.
可是这边开了个洞 让入侵者有机会从OS阶段的ring0就直接修改SMM里面的东西
先不管这件事情的先决条件是什么(原文也没有讲清楚).如果加载的OS本身 ring0也已
经被污染那就的确可以透过这个漏洞去入侵SMM, 再来就如上面的例子, 也许可以修改
SPI ROM内容了. SPI ROM被污染后 那下次开机执行的自然还是污染的程式码.
: 至于Nissim与Okupski则说,SMM为x86架构最强大的执行模式之一,该层级的程式码对于Hyp
: ervisor及作业系统等级的保护机制而言是不可见的,包括反欺骗引擎及反病毒系统;在研究
: AMD处理器时,他们发现用来保护SMM的一个重要元件含有缺陷,而且快20年了都没有被发现
: 。
: 即使研究人员并未公布详细的漏洞细节,也承诺尚不会释出概念性验证攻击程式,但他们向
: Wired透露,此一漏洞最早可追溯到2006年甚至更早之前的AMD芯片,但骇客必须先可存取AM
: D的PC或服务器,之后扩张其权限,进而于芯片上植入无法受到系统或防毒软件侦测或保护的
: 恶意程式,就算是重新安装作业系统也无济于事。
: 这个意思就是,倘若使用者的AMD处理器已被骇客入侵,唯一的解法就是将它丢掉,没有其它
: 的修补方法。
至于这部分 濠洨吧=_= 原文好像也没这么讲.
SMM也只不过就是 一个权限最高的"RAM", 所以除非你能写入SPI ROM,
不然开机他就会消失, 不存在什么要丢掉. 就算SPI ROM被写入
完整重新改写SPI ROM也能够消除掉
除非CPU SOC内建SPI ROM还锁住不能改写..x86现在市面上应该没有这种东西
说到SMM在现代系统中的应用,大概有一些像是, 刚说的SPI保护
还有某些安全性验证, 或是一些厂商自订的接口/服务, 在Server则是有很重要的
RAS(可靠性、可用性和可维护性)应用, 的确可谓之重要而又脆弱.
其实之前UEFI三不五时就一直在修各种SMM漏洞, 像是利用buffer溢位之类有的没有
的东西去"骗" SMM里面的程式码作一些不该做的事情.
当然照这次的漏洞, 看起来好像是可以更直观的去改SMM程式, 的确是有相当高的危险性
不过x86阵营自然也有意识到SMM的缺点 最大的问题就是时间暂停这件事情
SMI一多必然会影响系统效能, 在大型Server时间就是金钱的世界中,x86阵营也一
直在尽量避免SMM的使用, 不久的将来也许就可以在周边条件符合的环境下,直接
关闭SMM功能了.
到这边P币就骗够了 谢谢各位的耐心观看:P
: 不过,不管是IOActive或AMD都认为要攻陷CVE-2023-31315漏洞并不容易。
: AMD已于上周修补了大多数的处理器,但并不打算修补AMD Ryzen 3000 Series桌面处理器,
: 使得有用户抱怨,3000系列是在2019年及2020年推出,它们存在还不到5年,还有很多人在使
: 用,也依然强大,呼吁AMD应该要重视这些用户。
: https://www.ithome.com.tw/news/164412
: Intel:你看AMD也有问题吧,我还送刺客教条还算佛了吧
: 水桶都听到咕噜咕噜的声音了

Links booklink

Contact Us: admin [ a t ] ucptt.com