基于MD5的进程指纹系统在我院信息安全的应用
2019-04-29庄艺玲吴光珍简洪权林亚忠
庄艺玲,吴光珍,简洪权,林亚忠
引言
我院为三级甲等的综合性中心医院,每日平均门诊量高达4000余人次,临床医护人员由原来的几百上升到2000多人,终端使用数量更是直线上升,且大部分数据涉及到病患的健康隐私,所以网络信息安全对我院信息化建设尤其重要,就安全指标也提出了更高的要求[1]。而传统的杀毒软件是基于黑名单技术设计的,生成的病毒库往往滞后于病毒或者恶意软件,无法做到提前防范;再加上近期全球爆发的勒索病毒威胁,勒索病毒主要通过电子邮件的方式入侵;据统计,通过此种方式的病毒攻击达到70%,且能够在数小时内感染一个系统内的全部电脑,被感染电脑会自动对其局域网关联的电脑随机攻击,极易导致该病毒大规模爆发,感染电脑中的所有文件将被全部加密且无法打开。目前已有99个国家受到病毒感染,为保护数据安全,终端防护就显得非常重要。
因此为了达到彻底根除这些非法软件运行和病毒传播的威胁,我院信息科工程师提出了一种新型技术——利用MD5进程制作进程白名单方式来封杀所有未知软件方式,以彻底防范、解决临床终端信息安全问题[2]。
1 现状
1.1 我院终端的使用情况
我院局域网终端客户端近2000台,95%以上终端已安装杀毒软件,且封闭优盘口,只允许部分终端开通光驱。终端使用者通过光驱可拷贝文件至局域网电脑,但系统可运行的程序没有把控,导致局域网存在安全风险。风险列表见图1。
图1 风险列表
1.2 存在的威胁
终端虽然限制了优盘口的使用,但终端使用者可以通过特定的电脑使用光驱,将软件拷贝到电脑上,且拷贝过程中极有可能将病毒或恶意软件带入局域网,给攻击者带来可趁之便。攻击者往往利用这些漏洞,将包括恶意程序代码的数据包发送到端口。当易受攻击的应用程序监听端口时,恶意程序码就能让攻击者访问计算机,从而造成网络感染,导致终端设备遭受攻击,数据安全受到威胁[3]。
2 基于MD5的进程指纹系统实施过程
MD5全称是Message Digest Algorithm MD5(中文名为消息摘要算法第五版),是计算机广泛使用的散列算法之一,用于确保信息传输完整一致,提供信息的完整性保护。MD5的基本原理是将数据信息压缩成128位的2进制数,并且产生信息摘要[4]。MD5可以为任何文件产生一个同样独一无二的“软件指纹”,如果任何人对文件做了任何改动,其MD5值也就是对应的“软件指纹”都会发生变化。实施流程图,见图2。
图2 实施流程图
2.1 指纹采集
在Windows系统下运行MD5软件,通过桌面上的快捷方式,定位到程序安装路径下文件夹,找到对应的应用程序(exe),将程序拖拽到打开的MD5窗口中,即可生成程序(exe)对应的MD5值。指纹信息采集,见图3。
图3 指纹信息
2.2 软件白名单策略设计和下发
策略定义了允许运行的应用程序白名单列表,见图4。终端软件启动时强制与策略白名单里的指纹进行对比,如果运行的是经过授权的软件版本,则被认为是合法的软件并允许运行;如果不是未经授权的软件,则被认为是非法软件禁止其运行,并详细记录在日志,以便进行故障排查和分析。信息科对科室进行分组管理,根据不同科室的软件需求,制作了相应的策略并下发,科室只能运行本科室允许使用的软件。
图4 软件指纹白名单策略
2.3 软件的授权
科室因为业务需要开放软件的权限,由科室向信息科提出申请并上传软件,信息科在沙盘中检测软件的文件名、公司名、产品名、版本、是否经过微软签名、签名公司、文件类型、软件名称,经多款带有最新特征库安全软件检测安全后形成指纹,添加到对应科室的策略中并自动推送下发,科室策略得到更新后,该软件就自动可以使用。软件的限制也十分方便,软件已经正确安装,只需删除软件对应的指纹,软件就自动被禁用。基于MD5(指纹)进程指纹系统实现软件精细化管理,细化到软件的子版本[5]。对同一款软件的不同版本实行差别化对待,信息科通过维护白名单来实现科室软件的授权。
2.4 防火墙的策略实施
办公室环境通常处于防火墙、边界数据包过滤器或防病毒服务器的保护之下。防火墙规则控制客户端、保护客户端计算机不受恶意入站通信及出站通信的侵袭[6]。防火墙自动根据规则检查所有入站及出站的数据包;防火墙再根据规则中指定的信息允许或禁止数据包。当计算机试图连接另一台计算机时,防火墙会将连接类型与其防火墙规则列表进行比较。防火墙还会对所有网络通信使用状态检查[7-8]。由系统工程师制定防火墙规则,并填写放行的文件名,将解析出来的程序的MD5值填入文件指纹(图5~6),并设置其需访问的远程端口号。
图5 解析的MD5值
图6 设置防火墙远程端口号
3 MD5的进程指纹系统在我院的应用范围及效果
3.1 规范临床科室的电脑行为
启用白名单规范终端使用者的操作行为,方便信息部门的管理[9]。医院明文规定禁止使用统方软件,即使终端使用者通过某种不正当途径将非法软件带进了局域网电脑,然而没程序指纹没有通过白名单的认证,仍然运行不了。在我院终端非法软件还包括游戏、电影等。后台工程师可以查询到指定终端系统阻止的进程,根据具体情况看是否需要将进程添加到白名单。被阻止的非白名单进程日志,见图7。
3.2 有效阻止病毒的传入
启用MD5进程指纹系统白名单后,只要是局域网电脑且安装安全软件,即可对终端系统所使用的exe进程进行黑白名单验证[10];属白名单内的进程可直接运行,白名单外的将被阻止运行,这样有效阻止了病毒的传入,终端设备运行速度明显提升。
图7 被阻止的非白名单进程日志
经查询,局域网一周内受感染的病毒数高达5000多条,启用MD5的进程指纹系统前,每个24 h系统需要清除、禁止的病毒数有1367条;启用后,下降到77条,风险大大降低,有效地遏制了病毒的感染与传播(图8~10)。
图8 一周病毒数
图9 启用MD5进程控制后
3.3 有效隔离勒索病毒
自2015年开始,勒索病毒初露头角,尤其是在今年新出现的“魔窟”勒索病毒是利用了基于445端口传播扩散的SMB漏洞MS17-010,受感染的电脑在短时间内将在局域网内大规模爆发。虽然HIPS可以有效屏蔽网络上的恶意攻击,如利用TCP 445 MS2017-010漏洞的入侵[11-12]。但我院信息科工程师结合实际情况,全方位考虑网络安全,启用防火墙策略,策略对入站、出站的端口都做了限制(图11),不依赖病毒库直接把可疑程序加入黑名单禁止运行,该策略直接禁止445端口的入站请求,工程师在防火墙做策略,禁止关闭135、137、139、445端口。而终端需更新策略,并关闭共享文件夹。
图10 启用MD5进程控制前
图11 被阻止、未添加的端口
3.4 统一的软件管理
首先建立一份完整的经授权使用的软件“白名单”,然后回收局域网办公电脑用户自行安装软件和控件的权限,只有具有管理员权限的信息科工程师才能推送、安装白名单软件,从而实现技术硬控制[13]。临床使用的白名单内的软件总在更新,后台工程师把我院所有指纹收录后的安全软件进行统一分类管理,可方便安装客户端机器的下载使用[14]。
4 启用白名单应用后带来的效益
4.1 终端安全的提升
因为病毒都是通过可执行文件进程进行传播,白名单所做策略仅允许合法的软件运行,其它都被禁止执行;且白名单内部的软件都是经过充分验证,不存在病毒和恶意软件,实现了内网“零”病毒。
4.2 软件管理水平提升
全院终端使用统一系统镜像源并安装所有可能使用的软件,通过MD5(指纹)进程指纹系统来规范临床软件的使用,即使相同的软件也会有不同的版本产生不同的指纹,信息科再也不用担心临床科室在使用早期版本软件上的功能造成管理上麻烦。软件的管理就像维护数据库一个表那样方便,通过对表的增、删、改实现软件的开放、限制、更新,提升了信息科的软件管理效率和水平[15]。
4.3 工作效率的提升
以往在出现大范围广播的病毒的时候,信息科需要全员出动,网络管理员在交换机上配规则、数据中心管理员给服务器打补丁重启,临床维护人员需要下课室进行全院打补丁、关网络、杀病毒等,事情琐碎又繁多,不仅效率低下,而且容易出现遗漏。遗漏就代表着刚刚结束的工作又要重来一遍直至全网病毒查杀干净。
通过MD5(指纹)进程指纹系统,既健全了终端系统的使用,又减少了病毒在局域网中的传播。信息科工程师可以从繁重琐碎的打补丁、扫描病毒、杀病毒、封移动存储等工作中释放出来,将精力投入临床业务系统的开发中[16]。
5 存在的不足及改进
MD5(指纹)进程指纹系统是为了保证临床终端安全,保证科室信息安全的软件。但也存在一些缺点,比如软件在启动的时候需要一个指纹比对的过程,给性能造成一定的影响。科室在使用某些新的软件前,需经过信息科的审核和授权,给一些业务工作带来滞后。例如厂家更新机器配套的软件,这些本来可以厂家和科室就可以完成的工作也需要信息科的配合才能正常完成。
针对这些问题,在今后的工作中我们将对系统加以改进开发自动审核系统,减少底层驱动控制频繁的与系统底层做交互造成的影响,确保临床科室业务及时、有效地开展[17]。
6 结语
MD5加密算法大规模用于文件校验、交易验证,账户比对,消息验证等重要领域,同时对网站数据的保护以及防止私人隐私数据的暴露有非常重要的意义。我院根据自身实际情况,合理引进MD5(指纹)进程指纹系统,在短时间内,终端安全问题事件得到有效的控制,提高了工作效率,规范了科室电脑在使用过程中的行为,在安全和方便上得到有效的平衡。