联想电脑的 BIOS 会向干净安装的电脑写入联想程序#我只是大自然的搬运工。

2015-08-12 09:49:38 +08:00
 twitterpig

如果我不信任联想公司,但我购买了一台联想电脑,格式化干净安装是否就安全了?一位联想用户发现即使干净安装也无法避开联想,因为电脑的BIOS会检查是否安装了联想程序,没有就直接写入系统。除非修改BIOS固件,否则你的联想电脑永远会有联想程序。这位用户发现,BIOS会检查C:\Windows\system32\autochk.exe 是联想的版本还是微软的原始版本,如果是微软的版本,它会将其移至C:\Windows\system32\0409\zz_sec\autobin.exe,然后写入联想的autochk.exe。在启动期间, autochk.exe会向system32文件夹写入 LenovoUpdate.exe和LenovoCheck.exe,连上网后,它会设置一个服务运行其中一个程序,然后访问 http://download.lenovo.com/ideapad/windows/lsebios/win8_en-us_32_oko.json 。这个网址没有使用加密,意味着可以被攻击者拦截流量远程执行代码。

这问题无解呀。

7012 次点击
所在节点    硬件
34 条回复
twitterpig
2015-08-12 12:30:55 +08:00
fo2w
2015-08-12 12:43:32 +08:00
C盘是操作系统级的概念, BIOS和它是个单向认识关系
操作系统认识BIOS, 但是BIOS并不认识操作系统, BIOS眼里只有磁盘, 这是传统的BIOS

ok, 现在是EFI/UEFI, 然而, 要准确识别出C盘, 还要解读文件系统
挂载官方ntfs? 不现实, BIOS伪造它的驱动栈环境太恶心
摘开源ntfs解析代码来搞? 不现实, 泄露的win2k代码稳定性都比开源那份好太多, 用开源那份就是自己作死

好吧, 我就假设你可以正常读写ntfs了吧, 这才是第一步
然后我要看有几个分区...
然后... 我要看看哪个是系统盘... 恶心, 又是一堆事情, ntfs mft遍历遍历遍历...
运气不好出现几个C:\windows\system32, D:\windows\system32, 又得哭

好了, 知道哪个是系统盘了, 我要开始写文件啦, 好啦, ntfs写文件那套要实现一遍
等等, 直接覆盖文件可能ntfs里面刨不出足够大的空洞, 要不选择删除, 新建
要不选择覆盖, 做multi part文件, 唉, 反正都恶心, 好不容易写进去了, 擦擦屁股, 完事

等等... 我才搞定了ntfs...
万一它磁盘分区是FAT32呢...
呢...
呢...
呢...
cuiweiqiang
2015-08-12 13:14:58 +08:00
这事怎么感觉这么扯淡呢?怎么实现的?
ipv6nxtgnwrt
2015-08-12 15:37:43 +08:00
我的硬盘用了BitLocker加密,BIOS有本事也来写程序啊。
ibremn
2015-08-12 16:55:31 +08:00
@fo2w 看17楼的链接,联想说是用 Microsoft Windows Platform Binary Table (WPBT) 实现的。。

访问那个json链接,还有个 ForceUpdate 字段。。啊这比XX卫士XX全家桶不知高到哪里去了
╮( ̄▽ ̄")╭
denghongcai
2015-08-12 17:17:32 +08:00
WPBT这有点6啊,ACPI一般都能随便改
二手商或者能接触主板的把BIOS一刷,好猛的样子
denghongcai
2015-08-12 17:19:56 +08:00
@denghongcai 普通人要实现这样的攻击思路还是略麻烦的
est
2015-08-12 17:25:59 +08:00
抄袭一句评论:请安装《BIOS卫士》。。。。。。。。。。。。。。。。。
Reficul
2015-08-12 18:04:03 +08:00
貌似是win提供的接口啊,辣么只有改BIOS,装不支持的系统版本,Linux三条路啦。

就怕这个先例一开,以后各种XX卫士用这个方式“自保”,避免自身被”恶意删除“😨。毕竟有凤凰工具这些可以增减模块的工具存在,保不齐送电脑城回来之后就被贴心关怀了。
JohnChu
2015-08-12 22:30:55 +08:00
所以我信不过国产品牌或者特供中国的产品,真不明白大家为什么喷我
crayygy
2015-08-13 09:30:21 +08:00
所以,如果我装的是Linux发行版会怎么样呢 = = 好奇联想会用什么办法
acess
2015-08-14 03:07:18 +08:00
@Reficul 放心吧……电脑城的人不敢随便刷BIOS。

但是,可以在启动前注入WPBF表啊。
虽然我是外行,但我想说,网上那么多windows 7 loader都可以注入SLIC表,它们大多是grub4dos之类引导器改过代码编译出来的吧,patch在网上也能搜到。
对于UEFI,我用过windslic(来自mydigitallife论坛),原作者的版本不会处理原有SLIC表,所以启动后可以看到两个SLIC……但有人自己改过代码,自称解决了此问题,解决方法是把原有SLIC改名为OEMx。
也许以后会出现所谓的“WPBF BOOTKIT”吧。

但我想说,UEFI貌似实现多有bug,我自己的笔记本启动项就不能正常增删编辑,也见过无法修改UEFI启动项的机器,三星笔记本还被爆出变砖事故……
虽然现状如此,但WindSLIC作者就提供了绕过办法:重命名,替换文件……

不知道实际上可不可行(可行的话也与我无关╮(╯▽╰)╭),如果有人这么干了,数字这样的厂商又该开发所谓“引导保护”之类的东西了吧。

也许,Secure Boot可以阻止这种事情发生。
acess
2015-08-14 03:10:12 +08:00
@Reficul 打错了,WPBF->WPBT
cnnblike
2015-09-15 22:12:21 +08:00
@PowerK6 Think-brand PCs are unaffected. 区别对待真是迷了。 Thinkpad 的钱不是白花的啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/212576

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX