嵌入式Linux系统软件更新机制与实践
1. 安全更新的重要性
更新机制本身存在被滥用的潜在风险。实施更新机制的主要目的是提供可靠的自动或半自动方法来安装安全补丁和新功能,但他人可能利用该机制安装未经授权的软件版本,从而劫持设备。
1.1 防范虚假远程更新
最大的漏洞是虚假远程更新。为防止这种情况,需要在开始下载前对更新服务器进行身份验证,并使用安全传输通道(如HTTPS)来防止下载流被篡改。
1.2 本地更新的真实性
检测本地虚假更新的一种方法是在引导加载程序中使用安全启动协议。如果内核映像在工厂使用数字密钥签名,引导加载程序可以在加载内核之前检查密钥,若密钥不匹配则拒绝加载。只要制造商对密钥保密,就无法加载未经授权的内核。例如U - Boot就实现了这样的机制。
1.3 安全启动的争议
安全启动是一个复杂的问题,处于自由和控制的十字路口。购买具有软件更新功能的设备时,用户信任设备供应商提供有用的更新,不希望恶意第三方在不知情的情况下安装软件。但用户是否应该被允许自行安装软件也是一个值得探讨的问题。一些设备制造商可能以安全为借口来保护他们质量不佳的软件。
2. 软件更新机制类型
2.1 对称(A/B)镜像更新
- 工作原理 :
- 引导加载程序有一个标志,指示应加载哪个镜像。初始时,标志设置为A,引导加载程序加载操作系统镜像A。
- 为安装更新,操作系统中的更新程序应用程序会覆盖操作系统镜像B。
超级会员免费看
订阅专栏 解锁全文
4649

被折叠的 条评论
为什么被折叠?



