2017年,美国国家安全局(National Security Agency,NSA)的部分漏洞利用工具被公开,包括“永恒之蓝”“永恒浪漫”等,导致以“WannaCry”为代表的蠕虫式勒索病毒肆虐全球。它通过加密电脑里的重要文件进行勒索,要求被害者支付一定数量比特币才有可能解锁文件,从医院到学校到企事业单位无不谈之色变,可以说是近10年来影响最大的一次网络安全事件[1]。2018年,虚拟货币的去中心化、隐匿性等特点,已彻底改变了病毒木马黑色产业。随着虚拟货币的不断升温,大量的新型勒索病毒、挖矿病毒进入人们的视野,勒索病毒和挖矿病毒成为影响企业网络安全的最大威胁[2]。
目前,通过挖矿获得1个比特币所需的成本大约为2万6千元,其中电费占了成本的绝大部分。为了降低成本,不法分子以病毒的形式入侵他人计算机,通过消耗他人计算资源、电力资源和机器性能为自己牟取巨额利益。挖矿病毒和勒索病毒使用同样的入侵传播路径:利用黑客技术(如钓鱼邮件、网页挂马、高危漏洞、端口爆破等)入侵局域网内的一台终端或服务器,以此为跳板再利用“永恒之蓝”等多个漏洞利用工具,以蠕虫病毒的方式通过自我复制在局域网内快速横向传播,是传播勒索病毒还是挖矿病毒,取决于攻击者的目的。挖矿病毒隐蔽性好,能够在局域网长期潜伏,在进行挖矿操作和横向渗透的同时,可在局域网进行信息收集及后门安装等探测性活动,不仅占用系统资源造成终端卡顿,也会因为集中爆发造成系统瘫痪,给医院网络和信息安全埋下了很大的安全隐患。
青岛某公立医院采用核心业务网与办公网逻辑隔离的方式,分别建有内、外两套局域网,并以防火墙和网闸为基础,应用入侵防御系统IPS、Web防火墙、日志审计、漏洞扫描、桌面终端管理系统、上网行为管理系统、防病毒系统和入侵检测系统IDS等,从被动防护和主动防护两个方面,构造了较完善的网络完全防护体系[3](图1)。随着局域网病毒威胁的日益严峻,这些安全设备面临着新挑战。
图1 医院网络防护拓扑
一是面对内部威胁应急响应困难。现有的安全设备大都部署在网络边界,防外不防内,如防火墙、网闸、防DDOS、IPS系统,若攻击者绕过这些设备进入内部或威胁由内部人员发起时,缺乏自动处置能力,无法阻断威胁在内部扩散。另外,安全设备只抓取网络核心处的流量进行分析,如流量回溯分析系统、入侵检测系统IDS,若终端网络流量不经过核心交换机,则无法进行预警与分析。
二是内部终端之间安全防护困难。日志审计、堡垒机、Web防火墙、容灾备份只对服务器区进行防护,终端虽已部署杀毒软件和终端管理软件,并设置准入管理、外设管理、外联管理等安全策略[4],但没有针对性地进行安全风险预防及安全加固工作,且缺乏对终端的安全日志、CPU和内存、磁盘占用率、服务进程、线程数据、网络带宽、端口流量等资产变化情况的主动分析和风险控制。
三是安全日志数量庞大分析困难,各设备告警之间分散独立、缺乏联系,部分安全规则老旧,对新威胁缺乏新规则,存在较多的误报和重复告警,安全管理人员从海量日志中提取有效信息的难度大、效率低,且无法实现人工7×24小时实时监控,为病毒在局域网爆发提供了可能。
四是终端种类复杂度高管理困难。数字化、移动化、云和物联网、专线网络都可导致终端种类的复杂性,包括云端服务器、医疗设备、网络打印机、胶片自助打印机、手术室信息屏、接入专线网络的终端等。这些终端大都难以部署安全软件或难以监测,极可能会成为感染源且很难被发现和查杀,成为医院终端安全的薄弱环节。
五是攻击手段日益隐蔽防控困难。出现大量“供应链”攻击、“无文件”攻击[5]和基于“图像隐写术”的攻击[6]时让人防不胜防。此类病毒若在院内扩散造成的影响不容小觑,一方面传播范围广危害性大,影响正常业务甚至造成系统瘫痪;另一方面病毒影响周期长,手工处理效率低,且存在反复感染的可能。
世界上没有攻不破的网络,也没有不存在漏洞的系统,网络安全威胁防不胜防,网络安全风险也是一种常态[7]。面对现有网络安全设备不能100%保证网络安全的现状,当安全威胁发生在局域网内部时,如何准确发现威胁、快速定位威胁、有效控制威胁扩散显得越来越重要。下面结合一个“无文件”型挖矿病毒安全事件对此进行阐述说明。此次安全事件发生在外网局域网。
2018年9月10日,笔者查看杀毒软件日志时发现有多台外网办公终端发出相同告警,受感染的文件为cohernece.exe和java-log-9528.log,这是恶意软件产生的垃圾文件。入侵防御系统IPS显示此病毒为挖矿病毒,对其连接矿池的行为进行拦截后(图2),杀毒软件日志显示威胁已清除,但告警仍在持续,说明杀毒软件不能有效清除病毒,或者局域网内仍存在感染源。
图2 IPS告警日志
此挖矿病毒是一个名叫PowershellMiner的“无文件”恶意软件,利用系统提供的WMI(Windows Management Instrumentation)功能实现定时启动,并利用PowerShell工具执行经过了混淆处理的恶意脚本[8]。该病毒有如下特点。
一是隐蔽性强,难以查杀。“无文件”恶意软件直接将恶意代码写入内存或注册表中,或利用受信任软件或系统工具实现激活或驻留。由于没有病毒文件落地,传统的基于病毒特征码的防病毒软件无法清除它们。
二是利用多个漏洞,扩散迅速。该病毒具备两种横向传染机制,分别为Mimikatz+WMIExec自动化爆破和MS17-010“永恒之蓝”漏洞攻击,极易在局域网内迅速传播。
3.3.1 威胁控制
通过终端桌面管理系统的“应用程序管理”功能,为终端统一下发禁用powershell.exe策略,病毒宿主进程无法运行,被感染终端无法继续进行挖矿和横向渗透,无需隔离和断网可暂时继续使用。告警日志如图3所示。
图3 终端管理系统告警日志
3.3.2 攻击溯源
根据挖矿病毒和勒索病毒的传播特性,通过网络流量回溯分析系统[9]的“文件共享流量”回溯分析,可迅速定位正在横向传播的终端(图4)。当病毒入侵到内网局域网而IPS上无告警记录时,可通过此方法对已感染终端进行定位。虽然供应商已设置“疑似WannaCry蠕虫”告警,但误报率高且告警级别低,早已淹没在每日数以十万计的告警记录中。
图4 文件共享流量回溯分析
3.3.3 数据包分析
通过流量回溯系统分析数据包发现已感染终端在横向渗透的同时,会连接数字加密币矿池,并向矿池发送特定数据包(图5)。
“xmr-*.nanopool.org”等为矿池域名,“jsonrpc”是一个无状态且轻量级的远程过程调用(RPC)传送协议,“login”输入的是矿池钱包地址,“pass”为密码,“agent”为矿机信息。
图5 连接矿池数据包分析
3.3.4 手动查杀
此病毒为“无文件”病毒,杀毒软件无法查杀,需要手动查杀。
首先结束powershell.exe宿主进程,然后删除相关计划任务,再使用Autoruns工具(微软官网可以下载)删除WMI启动项(图6)。
图6 微软Autoruns工具
通过流量分析工具发现局域网内最早出现445端口扫描的终端为192.168.*.55,该IP于9月9日19点10分开始横向渗透。查看IPS告警记录发现该IP于9月9日17点40分开始尝试连接矿池。调查后确认该IP为分院一物联网设备地址,该网段为新增视频会议专用网段,没有及时加入到准入管理范围内。某科室研究生自行将网线拔下,更改自己笔记本配置后非法接入医院网络,挖矿病毒通过此台笔记本在医院外网局域网传播。
从整个事件可以看出,人是最大的安全漏洞。科室人员的安全意识不强,违规接入个人终端,科室其他人员没有进行阻止,网络管理人员没有对新网段进行准入管理,安全管理人员没有及时查看告警记录更新安全规则,运维管理人员终端安全防护工作做得不够细致等。因此需要增强全员安全意识,提升信息安全防护的敏感性,定期对全体员工进行安全培训,从而提升医院信息安全整体水平。要根据相关法律法规制定全面的信息安全制度,严格规定终端尤其外来终端申请入网、延期、注销的整个流程。要针对终端安全明确责任和操作规范,并将终端安全无事故运行纳入人员和科室的评优体系[10]。管理人员需加强团结协作,并在供应商之间共享安全情报,全面分析可能面临的潜在威胁。对新威胁开展风险分析,通过增加现有安全设备的新规则防范新的安全威胁。
进行终端安全加固,提升终端安全防护能力。外网终端应用上网行为管理系统禁止访问与工作无关的网站,内网终端按照医院信息化网络工作站的安全管理要求进行设置[11]。
在此基础上参照《信息安全技术政府联网计算机终端安全管理基本要求》[12]和行业经验做如下限制:应使用非系统管理员账号作为日常办公的账号,删除或禁止系统中的特殊账号、临时账号;应更改默认administrator管理账号,来宾账号设置高强度密码并禁用;应设置开机账号为高强度密码,杜绝空口令登录系统,避免使用相同或类似的登录口令;应关闭不必要的远程维护和远程桌面,远程管理工具设置强密码;应设置系统登录账户锁定策略,防止暴力破解;密码口令长度不得低于8位,口令必须为数字、字母大小写、特殊符号组合,并定期更新;应禁止Windows系统自动播放功能,关闭对移动存储介质的自动播放功能;应开启日志审计功能,成功和失败均需审计,日志文件大小至少为28M,按需要覆盖事件;应开启屏幕保护功能,在恢复时使用密码保护;应打开终端自动更新,及时更新安全补丁;应打开终端防火墙,并设置访问规则;应安装终端防护软件,确保终端管理软件和杀毒软件的完整性和可用性;应禁用OFFICE宏,设置为禁用且不通知;U盘等移动介质使用前,须通过病毒检测;专线网终端和内外网终端杜绝混用,切勿将专线网与互联网串网;不从不明网站下载相关的软件,不要点击来源不明的邮件及附件;重视数据保护,对重要的数据文件定期进行非本地备份;假如终端已感染病毒,需将此终端尽快断网隔离等。
准入管理,严格按照终端安全基本要求对需要入网的终端进行检测,对终端使用人员进行安全教育,确定无病毒无安全隐患后才能入网。对于需要增加例外的物联网等设备,须要求供应商做好安全策略,并进行IP/MAC地址绑定。外设管理,外网终端设置U盘禁止运行和复制可执行文件,内网终端禁止使用U盘。外联管理,杜绝内外网互联。修补漏洞,应用终端管理系统的软件分发功能,设置程序执行参数为“/quiet/warnrestart”,为终端静默安装service Pack 1基础包和MS17-010补丁及其他重要漏洞补丁,无法安装“永恒之蓝”漏洞补丁的关闭SMBv1[13]。端口管理,应用上网权限管理功能,关闭不必要的高危端口,如135、139、445、3389等,一定需要远程的更改远程访问端口号。文件共享管理,应用共享资源管理功能,禁止不必要的文件资源共享。服务管理,应用系统资产清单功能,禁用不必要的WMI服务,降低WMI攻击风险。进程管理,应用程序管理功能,禁用powershell.exe。
目前挖矿病毒有3种典型的445端口扫描方式:一种是针对公网任意地址进行扫描,第二种是针对本地局域网地址范围如进行扫描,第三种是针对本机同一网段以及与本机有通信的网段进行扫描,如若本机地址为192.168.12.33,与本机有TCP通信的地址为192.168.15.33,则扫描的范围为192.168.12.1~192.168.12.254及192.168.15.1~192.168.15.254。第三种属于慢攻击型,因突发流量和并发进程少,所以隐蔽性好不易被检测;因终端需要与服务器进行通信,所以服务器网段极易受到攻击;因管理员终端需要远程维护其他终端,所以管理员网段也极易受到攻击。
在流量分析系统中设置如下告警,可进行实时监控,并在科室大屏展示。一是设置“虚拟蜜罐[14]”告警。各网段包括服务器网段选取多个地址作为预留地址,组成“预留地址”网段,设置该网段有流量即告警,告警级别为高。二是设置“高危端口扫描[15]”告警,应用报警设置“高危端口”135、136、137、138、139、445 、593、1025、2745、3127、6129、3389、5900,时间桶为10秒,一方面设置并发会话数>50,且连接请求无响应次数>10或连接请求被重置次数>10,告警级别为高;另一方面设置并发会话数>50,告警级别为中。三是设置“连接矿池”告警。将"id":1,"jsonrpc":"2.0"、"method":"login","params"、"method":"submit","params"加入到数据流特征值报警,告警级别为高。四是设置“疑似powershell攻击”告警。将IEX(New-Object、Net.WebClient).Download加入到数据流特征值报警,告警级别为高,此方法只能检测未经混淆的攻击[16]。应用以上告警规则有效检测出了多起初始渗透行为,安全管理人员根据告警及时进行了应急处置。告警记录如图7所示。
图7 安全事件告警
此次安全事件是一个典型的来自内部终端的安全威胁事件,由于事件发生在非工作时间,直到第二天才得到有效控制。恶意程序感染终端后,迅速在局域网扩散,给终端业务造成一定影响。若感染的是勒索病毒,后果不堪设想。从网内个别终端不幸感染到病毒在局域网大规模爆发,有平均4~5个小时的窗口时间,及时从源头对安全事件进行响应与处置,可避免整个网络陷落,将损害降至最低。在增强安全意识、做好安全工作的同时,应增强对突发网络事件的应急处置能力。针对局域网病毒威胁,如何通过基线分析、异常检测算法,借助机器学习技术和行为建模技术智能化地识别网络中的攻击,对孤立的安全事件进行整合、去伪存真,在威胁发生时进行主动报警,如语音报警、短信报警和电话报警,并能根据风险级别自动应急处置高危终端,如一键断网、自动阻断等,是当下终端安全急需解决的问题。随着医院引进安全态势感知平台,利用大数据实时分析,采取主动的安全分析和实时态势感知,并与安全防护设备联动,进而快速发现威胁、控制威胁,相信以上问题一定会迎刃而解。