最近,被称为“stackoverflowin”的大事件席卷国外各大社交媒体。2017年2月4日,以“stackoverflowin”为昵称的一名英国17岁黑客一时兴起,决定搞点打印操作。这个行动随后成了一定规模,甚至很快成为Twitter上的热门话题。这是因为他利用互联网上几乎所有公开访问的打印机进行了打印。
此次事件成为安全缺陷之物联网如何冲击互联网的又一大完美案例。
事件回顾:少年的操作细节
要对这个故事进行全面回顾,我们首先需要了解一些关于此次“攻击”的技术细节。这位年轻黑客的操作步骤其实非常简单:
1、找到互联网可操作的全部打印设备
为了做到这一点,攻击者需要找到向互联网开放其端口的每一台打印设备。在端口开放的情况下,意味着任何人都可以通过RAW或者LDP(在线打印请求的相关协议)与目标打印机进行通信。攻击者可以利用多种现有工具完成这项操作,整个搜索过程大概需要数小时到两天时间。
2、利用找到的打印机进行打印
这里我们不再赘述具体实施细节,而仅立足宏观对操作方法作出概述。攻击者可以利用RAW或者LPD发送打印请求。通过这种方式,攻击者能够向打印机发送一个LDP或者RAW数据包,并借此向目标打印设备传达指令。之后,打印机会将其转换为可以打印的图像。
为了节省时间,攻击者可能会利用脚本将相同的打印请求发送至一份打印机列表中的各条目处。具体来讲,攻击者可以使用由Python等脚本语言编写而成的小程序完成这项工作,而且此类脚本的长度一般只需要约10行Python代码,因此难度可想而知。
3、so easy!
回顾整个流程:攻击者可以查找所有接入网络的打印机,并编写5行脚本来操作总计约20万台打印机进行打印。so easy!要对所有开放至互联网的打印机进行操作,攻击者只需要发送20万到40万条请求,而整个发送过程只需要约15分钟。
接下来才是最重要的问题……
这次事件与“互联网冲击“有何联系?
在使用门锁之类的保护方案时,我们都能够在一定程度上接受其安全缺陷。如果愿意,人们还是可以撬开门锁进到房间,但这并不妨碍房间里的人在夜间安然入睡,毕竟这类状况相当罕见。而习惯性地将这种对于物理安全的看法引入到网络安全心态当中也很自然,因此很容易忽视了两者之间的关键性区别。
网络安全与物理安全
网络安全与物理安全之间的核心差别在于(或者说您的网络服务器为何必须要比房门更加安全),大多数人无法实际身临您的房门,但身处任何地方、任何位置的任何人都能够尝试入侵您的服务器设备。正因为如此,我们需要利用更强大的“锁具”保护自己的服务器设施。简而言之,除非您确定自己的房门非常安全或者根本不在乎房间内的东西,否则大家肯定不愿意把自己的房门放到互联网上。
而在此次stackoverflowin事件当中,这些安全性低下的房门居然在互联网上开放,以致任何人都可以进行攻击。尽管实际情况并不属于攻击,而只是简单的被“使用”,但这也提醒我们需要对物联网体系给予高度警惕。
物联网与硬件专用软件安全性堪忧
物联网上存在数百万台安全性水平低下,且几乎无法进行修复的设备。例如路由器,您或许不记得自己对路由器上的固件进行过更新,甚至根本没有这样的意识。所以,像LPD/RAW这样的服务本身就没有考虑到被开放至互联网上的情况,其安全保障能力自然堪忧。
事实上,物联网与硬件专用软件可能属于互联网上最不安全的组成要素。以打印机为例,1999年之前,已知的LPD漏洞可能影响到大部分甚至全部打印设备供应商。这意味着任何能够以远程方式在某台打印机上进行打印操作的攻击者,也完全有能力在该设备上执行任意代码。所幸这项问题被一位安全观察员发现了,并建议人们利用密码机制保护打印机。
但事实证明,这种作法并不现实,因为认证并不属于LPD协议的一部分。为什么?因为人们在1990年开发LPD协议时,根本没有想到这类设备会最终被接入公共互联网。
另外,受到影响的并不仅仅是特定设备。当您的内部网络中存在某台易受攻击且暴露在互联网上的设备时,攻击者就能够借此获得立足点,这类缺陷在互联网上非常常见。一旦目标打印机遭到入侵,攻击者就能够把打印机当做跳板进而访问企业内部网络。一旦对方能够操作企业的打印机,其就完全可以对其进行控制。
被控制的打印机为何没构成僵尸网络?
最简单的答案在于,还有比打印机更容易入侵及利用的目标。目前之所以还没有发现由大量打印机设备构成的僵尸网络,是因为打印设备的多样性意外构成了一种安全保障能力。
在此次受影响的20万台打印机当中,可能包含25种不同的品牌。尽管所有品牌所使用的LPD/RAW协议中都存在大量漏洞,但借此实现大规模僵尸网络并非易事,攻击者必须找到全部打印机设备所使用的固件版本,对其进行反编译,利用安全缺陷并为每种打印机版本编写对应的漏洞利用工具。而完成这些任务可能需要耗费数个月甚至数年时间。
就目前来讲,最为强大的僵尸为Mirai的一类变种,即物联网僵尸网络。
Mirai的初始传播方式为:扫描整个互联网,并找出一切运行有SSH或者telnet的装置。二者皆属于允许身份验证方利用bash或者其它机制(例如zsh等)对设备进行控制的方法。一旦这些运行有SSH或者telnet的装置被扫描工具所找到,攻击者即可尝试利用由供应商保留在装置上的默认凭证进行登录。一旦登录操作成功完成,扫描工具就会向该装置上传一个小程序。此程序利用命令与控制服务器(C&C)对目标装置进行检查,而后运行从C&C服务器处接收到的命令,具体包括HTTP洪流、UDP洪流、SYN洪流以及其它各类DDoS攻击活动。
物联网冲击互联网
这些肉鸡设备大多仅被用于执行DDoS攻击,鉴于其可观的规模,所以攻击能力往往极为强大。据信,一轮此类攻击足以令整个整个利比亚全国断网。虽然对于是否全国彻底断网仍有争议,但人们普遍同意该攻击确实对利比亚的联网能力造成了重大影响。在此之前,同一僵尸网络亦曾被用于攻击DynDNS。DynDNS是一家DNS管理企业,负责帮助您的计算机找到给定域名的真实目标,且服务于众多知名巨头厂商。此轮攻击导致一系列大型网站(包括Twitter、〈纽约时报〉、Spotify、Reddit、PayPal以及Netflix等)遭遇长达半天的停机或者使用故障。
随着时间的推移,此类攻击活动的出现频率正快速提升,而且成千上万遭到操纵的设备被用于组织大规模DDoS攻击。而这很可能只是个开始。目前,黑帽社区当中,黑客们正在激烈争夺对这些设备的控制权。一部分新型恶意软件甚至试图通过杀灭其它恶意软件实例以保有对目标设备的专控制能力,同时其会禁用SSH及telnet以确保其它后续恶意软件无法进一步入侵这些设备。一部分犯罪活动创业者从中看到了商机,他们将此视为一类供应量不断减少的商品,并借此建立起新的行业。举例来说,各黑帽论坛与市场当中出现了“私有”Mirai肉鸡设备的销售活动,这意味着攻击者不再需要通过猜测密码的方式获取对物联网设备的控制能力。此类物联网僵尸网络已经成为一种新兴的技术性犯罪体系。
目前,随着该行业的持续发展,攻击活动的规模也呈现出愈发庞大的趋势,因此可以合理推测,未来的此类攻击活动在规模上与破坏性层面将变得更加可观。因此,新的“物联网冲击互联网”时代来临。
说到这里,我们终于可以探讨物联网设备当中导致其易受简单攻击影响的结构性安全问题,并思考如何对这些结构问题加以解决。
物联网存在的五大问题
物联网安全缺陷中最具利用价值的侧面在于了解这些设备为何不够安全。根据与物联网行业内大量从业者的交流,总结出以下五种导致物联网设备安全性低下的常见原因。
1、物联网设备仅仅只是设备
物联网设备是一类由硬件公司制造的创新型硬件; 而软件与固件的作用仅仅是保证其能够正常运行。只要能够立足硬件实现运行且提供漂亮的UI,制造商对于软件与固件不再提出任何其它要求,当然也就不包括安全性保障。
2、供应商并不真正关心安全性
如果大家与物联网研究人员交流其对硬件供应商的看法,那么他们给出的必然是一连串嘲讽与鄙夷。而且作为其中的核心,大家会意识到供应商并不关心安全性。很多研究人员抱怨称,在引发公众关注之前,硬件供应商绝对不会主动考虑安全漏洞问题。而且即使是在这种情况下,硬件供应商仍会对安全研究人员抱有敌意。
3、供应商无力修复安全漏洞
这种观点不算特别常见,但却能够为物联网软件的开发方式提供一种启发性的描述。一般来讲,供应商只会分配较为有限的资源并通过外包方式要求第三方进行软件开发。这意味着要解决其中的安全漏洞,供应商必须签订新的合约。考虑到官僚作风的严重影响,这类举措显然成本不菲。
4.、补丁安装
即使供应商关心漏洞本身,但问题往往仍然无法得到解决。因为就算供应商有能力修复漏洞,也往往因为不具备“热修复能力”而很难推广相关补丁。
热修复补丁(百度百科):
不会作为常规补丁随系统自动更新,一般通过电子邮件或者其他途径来通知用户有关热补丁的消息,用户可以在软件供应商的网站上免费下载补丁程序。和升级软件版本相比,热补丁的主要优势是不会使设备当前正在运行的业务中断,即在不重启设备的情况下,可以对设备当前软件版本的缺陷进行修复。
没有人愿意花20分钟为自己的烤面包机、灯泡、路由器或者洗碗机等尚能正常运行的设备安装补丁。具体来讲,如果设备无法在保持正常交互的情况下自动更新,那么该设备几乎永远无法完成更新。
5、运行在设备上的服务面向整个世界
最重要的一点,物联网设备存在面向整体互联网的特性。互联网的核心在于移动性、处理能力以及信息转换性。为了实现这一点,我们的软件必须能够收集信息、处理数据并返回结果,这是一切软件的根本作用所在。
正是因为这个原因,大多数软件安全漏洞的根源表现为能够提供某种可导致程序执行计划外操作的软件数据格式。攻击者能够提供程序数据的方法越多,该程序所处理的数据量就越大,而其遭到入侵并被利用的可能性也就越高。简单来讲:未认证方能够访问的功能越多,漏洞遭到利用的机会就越高。因此,如果想要建立起更为安全的系统,我们必须努力缩减可能被未认证方所接触的攻击面。
以Netgear R6000与R7000路由器为例,二者运行的Web服务器允许任何人进行访问。这意味着如果Netgear内置的Web服务器存在任何一项漏洞,那么任意人士都将能够控制您的路由器设备。事实也确实如此,2016年Netgear R6000与R7000路由器就曾曝出一项漏洞,允许任何能够同该路由器之Web服务器交互的人士在设备上执行bash命令。而且不开玩笑地讲,外部人士只需要在对应url当中添加一个分号即可对该路由器发送请求。
问题已经确定,该如何修复?
事实上,存在一种解决上述全部问题的简单办法。
要避免上述这些问题,物联网供应商应该真正建立起基于API的机型; 其应将自家设备安装在集中于其可控范围内的位置。这项举措能够解决问题4与问题5。另外,这也能够帮助供应商轻松实现自动更新,因为这种作法已经建立起能够同每台设备进行通信的基础设施。而通过这种方式,物联网设备的攻击面也将得到有效控制。
当您拥有一部接入互联网的设备时,您可能面临着来自任何人士的攻击威胁。但当您的设备仅与一套集中式设施进行通信时,则代表着攻击方只能通过入侵该设施的方式攻击您的设备。也就是说,通过这种方式我们能够在很大程度上解决前三个问题——即使设备当中存在安全漏洞,但只要相关制造商有能力将其解决,就不会造成任何危害。但这不算是最佳方案,但至少能够带来一定程度的改善。
制造商到底存在什么困难?
对于任何一家大型企业而言,这类举措都不算什么难事。那么,为什么各制造商没有采取这种作法?
主要原因在于这类结构化物联网设备及其基础设施的构建需要投入大量成本。从商业角度来看,制造商显然希望实现利润最大化并尽可能降低成本水平,因此只要保证设备能够正常运行就足够满足其基本要求。如此一来,物联网制造商才更倾向于向您提供一台能够自行完成全部需求的小型设备,而不愿投入大量资金为其建立配套的基础设施。这意味着最终用户需要在买到的设备上自行托管此类基础设施,制造商将不需要为此承担任何支出。
这样做的结果是,制造商虽然节约了资金,但却导致僵尸网络的构建成本亦随之降低,并给攻击者提供了可乘之机。
从另一个角度看,如果承载设备所需要的基础设施能够提供合理且低廉的实现成本,那么制造商应该会转而接受相关方案。总而言之,此类决策必然以成本作为考量中心。
由于物联网漏洞往往会引发对广泛受众造成影响的DDoS攻击,我们可以将这理解为少数企业逃避责任,而整个世界为其买单的恶性状态。人们认为解决这类问题的关键在于政府介入并进行干预。
例如,美国《2017年物联网网络安全改进法案》等政策似乎确实能够推动非安全产品制造商朝着正确的成本效益分析方向迈出极为重要一步。
本文转自d1net(转载)