固件更新后,我的 HP OfficeJet Pro 8710 拒绝打印,因为它检测到非 HP 墨盒。我在 YouTube 上找到了解决方案(https://www.youtube.com/watch?v=R0ComGBzJx0)。基本上,我只需要下载旧版本的固件,然后使用以下方法刷新打印机$ netcat
:
$ nc -w ip 9100 < firmware
为ip
打印机的无线 IP 地址,9100 为发送固件文件的端口。
它运行完美,旧固件得到恢复,我可以再次使用非 HP 墨盒的打印机。
但这让我想到:这意味着任何能无线访问打印机的人都可以上传新固件(也可能是被黑客入侵的固件,例如将所有打印文档的副本发送到某个互联网服务器的固件)。太可怕了!
答案1
这篇文章纯属猜测通过网络搜索得知。我没有任何 HP 打印机,并且我不太可能购买 HP 打印机或(无墨盒)喷墨打印机。
对打印机不安全的担忧是合理的,直到 2012 年左右,情况可能都是如此,然而从 2012 年开始,惠普显然开始对所有打印机驱动程序进行数字签名 - 因为这台打印机比当时的日期更新很可能只有 HP 祝福的固件才能使用上述简单的方法加载到打印机上。
我的假设源自一些资源 -
http://hacking-printers.net/wiki/index.php/Firmware_updates谈论 HP 打印机并说“可以从 support.hp.com 或直接从 ftp.hp.com 通过 FTP 下载固件。可以检索 419 个 HP 传统远程固件更新 (.rfu) 格式的文件和 206 个较新的‘HP FutureSmart’二进制文件 (.bdl)。.rfu 文件包含专有的 PJL 命令,如 @PJL UPGRADE SIZE=…,表明固件更新已作为正常打印作业部署。[3] 已证实了这一点,并导致 HP 自 2012 年 3 月起对其所有打印机固件进行数字签名 [7]。“(重点是我的)
https://www.jsof-tech.com/unpacking-hp-firmware-updates-part-1/很有趣,但是除了上面的链接之外,没有告诉我们太多信息。
https://www.youtube.com/watch?v=cqlmyZ-DQsg显示了有关下载不同打印机的信息,但如果您查看视频,它确实显示了针对您的打印机的类似下载。逻辑似乎相同 - 请注意,在大约 2:39 处,文件名称提到了“appsigned_lbi_rootfs_secure_signed” - 这意味着正在进行一些签名。
我找不到它了,但我偶然发现了一个外语 Youtube 视频,它看起来使用硬件绕过此代码签名来将任意固件加载到打印机 - 但这需要物理访问和部分拆卸打印机。我看过后续视频,缩略图中显示了该设备,但单击后讨论了恢复更改的方法,我认为这是在此视频发布后出现的)
我的直觉是 - 代码签名已经存在一段时间了,而且用于实现此目的的工具也是免费且广泛使用的。惠普肯定会了解这项技术,而且将其添加到其开发流程中的相对成本很小,为他们带来了重大的收益。(更好的安全性,以及除了我们之外没有人可以控制设备)