根据研究人员对基本类型软件(被称为固件)的第一次大规模分析表明,糟糕的安全做法可能会给攻击者攻击“物联网”提供机会。
固件是管理高层次软件和底层硬件之间交互的一种软件,有时候它可能是设备中唯一的软件。在所有类型的计算机硬件中都有固件,不过,这个研究主要专注于嵌入式系统,例如打印机、路由器和安全摄像机。
研究人员和法国一所以技术为重点的研究所学校Eurecom合作开发了一个网络爬虫,从很多制造商的网站中获取了超过3万张固件映像,这些制造商包括西门子、施乐、Bosch、飞利浦、D-Link、三星、LG和Belkin等。
他们发现了很多安全问题,包括糟糕的加密机制和后门程序,这些都可能会给攻击者提供攻击的机会。他们发现了38个漏洞,而在123个产品(甚至更多)都包含了其中的一些漏洞,他们已经将这些漏洞报告给了供应商。
他们将在圣地亚哥举行的第23届Usenix安全专题讨论会上介绍他们的研究结果。
该研究的共同作者兼Eurecom大学网络和安全学院助理教授Aurélien Francillon[cq]表示,他们所分析的大多数固件都是在消费类设备中,这是竞争非常激烈的领域,企业经常会迅速发布产品来领先于其对手。
“你必须保持快速和价格便宜,”Francillon在接受电话采访时表示,“如果你想要安全的设备,那么你需要想方设法地避免我们所发现的这些漏洞。”
固件安全做法远远落后于电脑软件市场,在电脑软件市场中像这样的微软供应商在经历了惨痛的教训之后才了意识他们需要定期地频繁地自动修复软件。
而对于固件,并不总是这样,固件可能被设计为定期打补丁,同时非常依赖于第三方软件,但这些软件可能不是最新版本。在一个实例中,研究人员发现在最新发布的固件映像中捆绑着10年前的Linux内核。Francillon表示:“这真是一个噩梦。”
固件的阴暗世界有时候让人很难搞清楚究竟哪些设备可能会受到影响。制造商通常依赖于各行业广泛使用的工具和开发工具包,也就是说,存在漏洞的固件可能出现在各种不同品牌的产品中。
研究人员表示,有些设备可能受到已知漏洞的影响,即使已经有可用的更新固件。
他们还发现固件映像以不用的方式部署数字证书来实现加密过程中的问题。他们发现固件中有41个数字证书是自我签名的,并包含一个私有RSA密钥,大约35000台联网设备在使用这些不安全的证书。
“后门程序”,或者说植入到固件的代码中访问设备的方式,也不能幸免。这是一个很差的安全做法,但是开发人员往往忘记删除后门程序就发布了代码,或者低估了攻击者找到这些后门程序的能力。
研究人员搜索了可能表明后门程序存在的固件映像,他们发现了326个。
他们发现,其中一个后门程序位于某个基于Linux的固件中,它可能会允许攻击者控制家庭自动化设备,并可能远程关闭别人家里的灯光。
有趣的是,他们随后在另一家供应商的44个闭路电视摄像头中发现了这个完全相同的后门程序,以及来自不愿透露姓名的主要网络设备供应商的家用路由器。但事实证明问题并不是这些供应商的错。
事实上,所有这些设备都是用了来自另一个制造商的网络芯片,而这家制造商显然将这个后门程序留在固件中用于调试目的。他们并不知道这个芯片供应商是谁,但他们计划收购一些设备,并做更多的研究。
这项研究的作者还包括Andrei Costin[cq]、Jonas Zaddach[cq]和Davide Balzarotti[cq],他们都是Eurecom大学的。(邹铮编译)