很多同学像我一样,会在宿舍或是家里安装打印机,用于打印作业、课件、论文
以及贴在墙上的waifu画像等90%与学习无关的材料
。当然你也许会问,打印机价格不菲、耗材昂贵,而坞坷垃校园里也有许多免费或是价格十分低廉
完全不像学费那样
的打印设施,为什么要自行购买?那是因为:
前几天,我突然发现我宿舍的打印机有联网功能,连接Wi-Fi以后,就可以直接在电脑上搜索网络打印机进行打印。
然而好景不长,第二天一大早,我就被一阵噪音吵醒。只见打印机的出纸口前已经堆积了五六十张纸,并且还在源源不断地继续打印。而这些纸上面大多都只有一两行乱码。
打印出来的乱码
我对打印机层出不穷的安全问题略有耳闻,而我宿舍的这台打印机又是从未更新过固件的老旧型号,如今刚一联网,就在没有收到指令的情况下突然自行工作,估计是是被黑了。在网上搜索打印出来的乱码内容,果然发现了关于类似攻击的描述。
GitHub上关于类似问题的描述
于是我赶紧将打印机断网恢复出厂设置,开始寻找能在联网的情况下免于被黑的两全之策。你可能又会问:为什么不能直接断网使用?因为这样就要搬着重达2×10⁶毫克的电脑,长途跋涉2×10⁶微米,从书桌走到打印机前插上USB线!(这个懒癌真的是到晚期了建议眉毛以下截肢)
为什么会出现这样的问题?
连接到家庭或办公室局域网的打印机通常能岿然不动,而连接到坞坷垃校园网的打印机却这样轻易地狗带,这是因为
南橘北枳、近墨者黑
坞坷垃特殊的网络环境所造成的。
IP地址可以看作是互联网上一台设备的唯一身份标识,任何网络流量的传输,都以IP地址为依据寻找目标。
IP地址分为IPv4和IPv6两个版本,实现的功能类似
像大多数学校的教育网那样,坞坷垃的校园网给每一台联网的设备都分配了独立的公网IP,也就是说,连接到校园网的每一台设备,都可以通过世界任何一个地方的互联网访问。而一般家庭和企业所使用的局域网,给设备分配的则是内网IP,内网和外网之间的流量要经过层层NAT(网络地址转换)和端口转发才能互通,外网的设备很难直接访问内网。虽然坞坷垃的网关和防火墙阻隔了大部分可能存在风险的流量,但是由于设备的IP地址还是直接暴露在公网上的,难免还是会有漏网之鱼,因此遭受攻击的风险也高得多。 坞坷垃的防火墙阻止了常见的9100(打印机共享端口)、22(SSH终端)等端口和SMB、LPD等协议和外网之间的互通,因此这次遭受的攻击不太可能是通过直接发送打印指令造成的(而且用别人的打印机打一堆没用的东西,这种损人不利己的事情似乎并没有做的动机)。 但是,用于访问网页的http协议因为过于常见,所以并不能被防火墙阻隔,而打印机的网页管理界面也是基于http协议的。所以这次出现的攻击,大概率是来自外网的攻击者掌握了该型号打印机网页管理界面的漏洞,并通过端口扫描发现了打印机的http端口开放,于是通过http协议侵入了打印机的操作系统。 当然,攻击者在校园网内部作案也不是不可能,毕竟你坞学生 内美修能,连食堂的锅碗瓢盆都要顺手牵羊, 黑一个打印机也不是不可能。 如何解决这样的问题? 我首先想到的方案,是直接通过IP地址白名单,只允许同一网段的IP地址访问打印机,这样就彻底隔绝了来自外网的攻击。 然而这样的设置也存在一些问题:许多新型打印机支持连接到Google Drive、Drop Box等网盘,以及打印电子邮件等功能。这些功能无疑需要访问外网,IP地址白名单这种一刀切的方式会造成这些功能不可用。 以惠普某型号打印机为例,其支持的谷歌云打印协议就需要访问互联网 对于这种类型的打印机,可以通过设置打印机的防火墙来解决。我们可以将老旧的、缺乏鉴权机制的LPD协议、WSD协议、9100端口设置为只对同一网段开放。(P.S. 我不知道当初设计这些协议的人是怎么想的,连个鉴权机制都没有,就像SMB协议明文传输一样,难道内网就不需要隐私了吗)同时对IPP、Wi-Fi Direct等支持鉴权的打印协议设置账户密码。这样就能在保证打印机能访问外网的情况下防范攻击和恶意使用。 红色框内为不支持鉴权的老旧协议 当然,最重要的还是给打印机的网页管理界面设置密码,否则攻击者不费吹灰之力就能直接修改打印机设置。 另外,各大打印机厂商都会定期推出固件更新,针对发现的安全漏洞予以修复,因此保持打印机固件更新也是防范攻击的重要措施。 如果你问我,为什么不直接在宿舍装路由器,把设备挂在局域网下面?这个问题你得去问Gene Block了: 读作:“校园网不是法外之地,网络安全就是坞坷垃安全”(当然,打印机被黑还不是最惨的。我认识有高贵人士把 两个HomePod s挂在宿舍的Wi-Fi下面,结果半夜被人开最大音量放黄片……)本文为WCU公众号原创
部分图片来源于网络