10-15-2021, 10:09 AM
我最近观察到这样一种现象:
1)前天发现Debian testing更新后,此螃蟹卡不再可用
2)我想测试更新后的Trisquel 10测试版,发现螃蟹卡仍然可用
3)回到Debian,发现螃蟹卡又变为可用
4)关机静置若干小时,再次启动Debian,再次变为不可用
昨天重复实验,将Trisquel 10换成Ubuntu等非自由发行版,观察到类似现象。
结论:此螃蟹卡拥有一块易失性存储器用于“缓存”该固件。既然是易失性的,它不可能完全只读。既然可写,它就不能被看作“电路”,而是重大安全漏洞。
当然,此螃蟹卡上可能确实还有一块存储器用于保存一份原始版本的固件,并且此存储器可能确实是只读且非易失性的。但是一旦该固件被私有操作系统(例如Windows或Ubuntu)加载,它就会被“缓存”下来,从而被Debian等(准)自由发行版加载。Trisquel虽然是FSF官方认证的自由发行版,但是对于此类“板载”固件的处理反而相当随意。
在移植coreboot或者去除白名单之前,本人可以物理拆除该卡,但是初学者未必能够理解这些,并且不是所有PCI/e无线网卡都能物理拆除,较新的超极本往往板载了除硬盘(SSD)外的全部模块(之所以允许用户拆除硬盘,可能和私有固件的硬盘加密功能有关,防止遗忘口令以后必须更换主板)。
1)前天发现Debian testing更新后,此螃蟹卡不再可用
2)我想测试更新后的Trisquel 10测试版,发现螃蟹卡仍然可用
3)回到Debian,发现螃蟹卡又变为可用
4)关机静置若干小时,再次启动Debian,再次变为不可用
昨天重复实验,将Trisquel 10换成Ubuntu等非自由发行版,观察到类似现象。
结论:此螃蟹卡拥有一块易失性存储器用于“缓存”该固件。既然是易失性的,它不可能完全只读。既然可写,它就不能被看作“电路”,而是重大安全漏洞。
当然,此螃蟹卡上可能确实还有一块存储器用于保存一份原始版本的固件,并且此存储器可能确实是只读且非易失性的。但是一旦该固件被私有操作系统(例如Windows或Ubuntu)加载,它就会被“缓存”下来,从而被Debian等(准)自由发行版加载。Trisquel虽然是FSF官方认证的自由发行版,但是对于此类“板载”固件的处理反而相当随意。
在移植coreboot或者去除白名单之前,本人可以物理拆除该卡,但是初学者未必能够理解这些,并且不是所有PCI/e无线网卡都能物理拆除,较新的超极本往往板载了除硬盘(SSD)外的全部模块(之所以允许用户拆除硬盘,可能和私有固件的硬盘加密功能有关,防止遗忘口令以后必须更换主板)。