APP下载

网络打印机安全风险分析与防范技术研究

2022-10-16李锁雷公安部第一研究所

警察技术 2022年5期
关键词:打印机数据包漏洞

李锁雷 公安部第一研究所

引言

近年来随着网络和信息化技术发展,网络打印机的使用逐渐成为主流,随之而来出现的安全问题也逐渐显现出来。与传统的打印机不同,网络打印机往往内置操作系统、存储设置和IP协议栈,由此引发的网络安全威胁也超过一般人的想象。攻击者可通过网络打印机获取资料,从而造成信息泄漏[1]。由于网络安全木桶效应,重视网络打印机的安全,提高网络安全薄弱环节成为现代网络不得不面对的问题。在信息系统安全测评中,通过对网络打印机进行安全扫描,发现存在FTP、Telnet等网络安全漏洞,最常见的是弱口令问题。系统用户认为打印机不具备数据存储功能且部署了打印监控审计系统,这些漏洞没有实质的安全隐患。在网络打印管理方面,主要是应用层面上通过技术手段实现打印流程的管控,没有对底层网络传输和文档信息数据的安全性方面引起足够的重视。

当前,对打印机安全主要由打印机设备生产商研发实现,针对打印机的安全防护技术私有化程度较高,品牌商各自为政,缺少多品牌支持的统一安全解决方案和系统,对于网络打印机的安全性研究主要集中在打印机协议和打印机中嵌入式操作系统的安全性等方面。其中打印协议更多的是关注可能导致的安全问题以及发现的一些安全漏洞的利用方式,缺乏针对打印机上支持的协议开展全面的安全检测研究。本文针对网络打印机面临的安全风险进行分析,从而从入侵检测、安全加固和安全管理方面入手开展相关防范技术研究。

一、安全风险分析

(一)敏感信息泄露

由于缺乏对网络打印机安全保密管理的认识,网络打印机普遍存在开放HTTP、FTP、Telnet等服务,且未设置密码或未修改默认密码,攻击者可通过扫描网络打印机开放的网络端口、服务和弱口令,远程登录打印机管理页面修改打印机的IP地址、路由表等,实现打印信息窃取。2010年,位于美国圣地亚哥市的“太空及海上系统战中心”网络受到俄罗斯黑客的攻击。黑客入侵到该中心网络中后,通过修改路由表对网络打印机实施了中间人攻击,使得位于俄罗斯的服务器能够监听打印机输出的文件。此外,打印机9100端口打印服务支持双向通道,因此,攻击者可通过入侵打印机后访问内存和文件获取密码。

(二)远程控制

在互联网设备搜索引擎shodan搜索TCP 9100端口开放的设备,其中很多是使用中的打印机或复印机。然而这种毫无防备的暴露式开放,紧随而至的是不容乐观的安全隐患,攻击者利用Web界面的远程代码执行漏洞,控制打印机的通信端口,可实现恶意打印。2016年3月,被称为“Weev”的黑客Andrew Auernheimer入侵了数千台联网打印机来传播种族主义和反犹太人传单[2]。2017年2月,一名黑客通过堆栈溢出的方式成功入侵了超过16万台互联网打印机,控制打印机并执行其发送的自定义打印任务。黑客利用网络打印协议的漏洞能轻而易举的完成入侵过程,首先编写脚本扫描可访问端口9100/631/515的打印机设备,从而利用Open RAW IPP(互联网打印协议)、LPR(行式远程打印机)服务实现对网络打印机的远程控制[3]。

(三)网络攻击

从网络攻击角度来说,网络打印机是一个重要且极具价值的攻击目标。研究发现打印语言漏洞百出,极易成为黑客实现攻击的跳板。打印页面描述语言之一的PS(PostScript)就有400多种指令和操作符可实现代码执行等恶意操作供攻击者利用。即便是将打印机局限在内网使用,利用CORS Spoofing(Cross Origin Resource Sharing Spoofing,跨域资源共享欺诈)和XSP(Cross Site Printing,跨站点打印)组合的方式,仍然可以对内网打印机进行发现,从而利用网络浏览器欺骗性访问内网打印机,最终完成入侵攻击行为[4]。通过PostScript存在的漏洞,可以实现对网络打印机的DOS(拒绝服务攻击)攻击,攻击者通过几行简单的PostScript代码,让打印机执行一个无限循环的任务,直至资源耗尽。此外,网络打印机还是用于病毒繁殖的攻击目标之一,Blaster 蠕虫病毒就是通过侵蚀网络打印机来进行繁殖的。

二、安全防范措施

为了防范上述安全问题,首先通过技术手段加强对网络打印机的入侵检测,及时发现存在的网络攻击行为,同时,对网络打印机进行安全加固、并严格落实安全管理,减少泄密风险和网络攻击的可能性。

(一)入侵检测

入侵检测是应对恶意攻击行为的有效防御手段,能够事前准确识别针对打印机的恶意攻击,补充打印安全防御上的缺失。当前现有的网络入侵检测系统通常是面向全网流量的,对于网络打印机的特定安全场景而言,按照常见网络流量的攻击类型进行安全检测,很难在庞杂的流量中快速定位被攻击的打印机,并且针对性的分析打印机可能受到的攻击,也很容易将恶意的攻击流量漏报,造成检测识别准确率较低的现象。个别打印机厂商针对特定型号的打印机加入了入侵检测模块。该入侵检测模块不断对运行时打印机内存进行扫描监测,以实时发现运行时的内存异常,从而发现入侵行为。一方面内存扫描的相关权限及技术受到各大打印机生产厂商的严格控制,对于品牌具有较强的敏感性,另一方面仅基于打印机内存的入侵检测相对片面与滞后,基于内存的运行时入侵检测对于拒绝服务攻击这类对内存产生强烈影响的攻击拥有较强的检测防御力,但对于信息泄露、远程代码执行(RCE)这类对内存造成较小影响的攻击操作实际的检测防御能力十分薄弱[5]。

在现有入侵检测产品针对网络打印机安全检测存在问题的基础上,对网络打印机存在的漏洞、打印应用协议和可能发生的网络攻击行为进行研究分析,给出了基于打印应用协议漏洞和基于打印流量分析的两种安全检测方案。

1. 基于打印机应用层协议安全检测方案

收集己发布的现有的打印机应用层协议漏洞,根据漏洞产生的原因和重现方法对漏洞进行分类,提取漏洞关键特征值或利用漏洞进行攻击的行为特征,形成攻击向量,如HPLaserJet4200N型打印机,可以提取出一个打印协议PostScript语言造成的拒绝服务漏洞的攻击向量“%!{}loop”%!。通过筛选找到攻击向量的漏洞,生成一个专门针对网络打印机应用层协议的漏洞库。从建立的漏洞库中提取攻击向量,根据不同的协议结构使用这些攻击向量对目标网络打印机进行检测。同时,通过对网络打印机的异常行为进行监控和发现,通过分析发现网络打印机使用的协议中可能存在的漏洞,将新发现的漏洞结果反馈给网络打印机应用层协议漏洞库进行更新,不断完善、提升检测系统的检测能力和准确度,如图1所示。

图1 应用层协议安全检测流程图

(1)漏洞库建立

通过研究近年来公布的打印机应用层协议漏洞,分析能够找到攻击向量和重现方式的漏洞,创建打印机漏洞库及对应的攻击向量值,采用原始攻击向量构建检测数据包。由于不同品牌和型号的打印机之间在软硬件实现上有很大区别,产生的漏洞差别也很大,因此需要对漏洞信息进行品牌和型号上的区分。不同协议和类型的漏洞复现方式也不同,因此还要区分漏洞的协议类型和漏洞类型。将筛选出的漏洞信息按照品牌型号、协议类型、漏洞类型进行分类。

(2)已知漏洞匹配

通过向目标打印机发送检测模拟数据包对进行测试攻击,对目标打印机返回的数据包进行监控分析,确认目标打印机协议中是否存在同种型号打印机上曾被报出过的某种漏洞,并对其他型号打印机上存在的漏洞进行检测确认是否同样存在。

(3)潜在漏洞发现

从建立的网络打印机协议漏洞库中提取确定能够触发漏洞的原始攻击向量,对其进行变异和扩展,生成既与漏洞库相关、针对性更强,又具有一定的随机性、覆盖性更强,样本集与网络打印机型号及漏洞类型的关联性低。通过扩展的攻击向量构建检测模拟数据包,并进行测试攻击。根据响应数据包和行为日志等对打印机的行为和状态进行监控,发现其中可能存在的异常,对异常数据包进行追踪和复现,分析出网络打印机使用的协议中可能存在的漏洞,将新发现的漏洞信息及时反馈更新到网络打印机应用层协议漏洞库中。

2. 基于打印流量分析安全检测方案

研究与分析正常打印作业以及各类打印机攻击数据包,获得正常打印和打印攻击的基本特征,将这些特征编写成正常打印规则和己有打印攻击规则,在此基础上设计实现针对打印机的入侵检测算法,提高网络打印机入侵检测的准确性及检测效率,结合统计学与数据挖掘的相关技术,详细对照分析各种入侵攻击数据与正常作业数据。通过模式匹配进行区分,通过安全检测的即为正常打印数据包,未通过安全检测的数据包则可能分为三类,即与描述已知攻击的规则匹配成功的数据包、误报的正常数据包和未知攻击数据包,通过应用聚类分析对规则匹配不成功的数据包进行进一步细致的检测,降低误报率,并可发现漏报的未知攻击数据包,更新规则库,同时降低漏报率,如图2所示。

图2 打印流量分析安全检测流程图

系统对所有发送至打印机的数据包进行拦截,这些数据包可能包括正常打印请求数据包及恶意攻击数据包。解码数据包后进行预处理,此时对于一些十分明显的错误数据包进行滤除,比如不符合打印协议的数据包,然后将预处理后输出的数据包作为输入传送到检测引擎进行第一次恶意攻击的检测。第一次恶意攻击的检测依靠与规则库的模式匹配进行,在规则库中按照正常打印和各种打印攻击的特征分别制定规则。首先,将预处理后的数据包与规则库中的正常打印规则进行匹配,如果匹配成功直接安全转发至打印机完成打印,如果无法匹配则继续与打印攻击规则进行匹配,如果与之匹配成功则确定为攻击数据包,丢弃该数据包,阻止其完成攻击作用,并留存相关日志以供后续管理。如若仍未匹配上任何一条规则,则可能是未知攻击数据包或者误报的正常数据包,对其进行第二次入侵攻击的检测。

第二次入侵攻击检测采用聚类分析,将部分与规则实现匹配的正常攻击数据包和各种入侵攻击数据包标记为训练样本,提取特征并建立起相关的学习模型。在检测阶段,将需要验证的未匹配数据包通过特征提取得到统一格式的数据,然后将其代入到建立的模型中,最终得到分类的结果。分类可能产生三种结果,第一种是与正常数据包归为一类,表明该数据包是第一次入侵检测的误报,将其重新送入安全转发流程,第二种是与某类入侵攻击归为一类,则表明该数据包为漏报的恶意攻击数据包,进行初级报警处理并更新该类攻击的规则。第三种是分类模型发生改变,无法与原有分类归为一类,表明该数据包很可能是新型入侵攻击行为产生的数据包,触发高级报警,并通过专业技术分析处理,将其作为新的入侵行为模式更新分类模型,同时将该入侵行为模式转换为入侵检测规则并添加到规则库中,这样就补充了检测引擎作为基于误用的入侵检测系统无法检测到新型入侵行为的短板。

(二)安全加固

为解决信息泄露和远程控制的安全风险,对网络打印机进行安全加固尤为重要,及时更改初始默认密码,并及时删除多余和过期的账户。遵循最小安装原则,关闭不必要的端口与服务,譬如Telnet、FTP等功能,禁用不必要的服务组件、应用插件等,减少被入侵的风险。在远程维护管理时,要做好访问限制,限制用户登录IP及访问权限,防止用户访问配置文件等敏感文件。使用具有加密协议的登录控制模块,如SSH、VPN等,限制用户连接数量与任务数量,防止受到DOS攻击。此外,要长期的关注打印机的固件和软件的升级公告,并及时从官方网站下载相应的固件和软件的安装包,以防其他渠道的安装包被恶意篡改,使得打印机遭受攻击。要做好漏洞补丁相关的维护工作,这样才能降低被攻击的风险。将打印机安装在设有防火墙或其他非直连网络方式保护的网络上,并采用私有IP地址以及防火墙安全策略,对相应的网络协议和端口进行访问限制。

(三)安全管理

对网络打印机管理员等相关人员进行相关安全培训,提高其安全意识,使其掌握基本的信息安全事件防范技能。定期对打印机进行安全审计,及时关注日志中的审计分析,对其中记录的攻击事件的危害性进行评估,并采取相应的措施来控制。对网络拓扑结构图进行分析,找出结构安全、访问控制、边界完整性、入侵防范、恶意代码防范、网络设备防护、安全审计方面的薄弱点,同时从远程管理防窃听、用户源限制、开放端口情况等方面对网络进行检查。尽量减少网络打印机被攻击的风险以及被攻击后所造成的损失。

三、结语

网络打印机是传统打印机和互联网应用的结合,其完美的解决了办公中存在的互联共用,满足了机关单位的办公需求,但是网络打印机存在安全隐患,通过网络打印机可能产生信息泄漏和网络攻击。本文对网络打印机存在的安全隐患和面临的主要安全风险进行了分析,并提出了相对应的防范措施。下一步将针对本文提出的两种网络打印机的入侵检测方案开展具体技术研究。

猜你喜欢

打印机数据包漏洞
漏洞
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
SmartSniff
三明:“两票制”堵住加价漏洞
漏洞在哪儿
另类3D打印机
打印机基板大型注塑模具设计
FDM型混色3D打印机的设计
高铁急救应补齐三漏洞