基于“白名单”技术的主机防病毒研究与设计
2022-04-07唐清弟刘剑明
李 鹤,唐清弟,刘剑明
(华能澜沧江水电股份有限公司景洪水电厂,云南 景洪 666100)
0 前 言
电力是关系国计民生的重要基础产业,也是关系千家万户的公用事业。电力的安全供应事关社会经济和人民生活,保障电力系统安全是国家安全的重要组成部分。现代电力工业具有高度网络化、系统化、自动化的特征,以网络、数据库及计算机自动控制技术为代表的信息处理技术已成为支撑电力生产控制和经营管理不可或缺的基础要素,保障电力网络与信息系统安全已成为电力系统安全稳定运行的重要前提。
目前,中国电力企业电力监控系统核心软硬件设备无法完全做到自主可控,严重依赖国外厂商提供的软硬件产品;同时,电力监控系统信息安全防护薄弱,保障能力不足,核心系统依赖国外厂商运维;一线电力监控系统使用人员信息系统及信息安全方面的知识储备不足,信息安全意识淡薄,无完善的突发信息安全事件应急响应措施。因此,中国电力企业电力监控系统存在较多信息安全隐患,急需加大电力监控系统信息安全的投入,全面提升电力监控系统信息安全防护水平。
1 安全现状
电力监控系统的上位机(工程师站、操作员站、服务器等)多是基于Linux内核的操作系统,是通过安装工控公司的监控组态软件搭建的[1]。Linux内核的操作系统具有较强的普遍性,也存在较多的系统漏洞。电力监控系统通常不允许连接互联网,在系统安装完成后无法通过自动下载补丁包的方式修补漏洞,所以电力监控系统更容易受到病毒的威胁。
目前针对电力监控系统的信息安全还缺少针对性的研究和实践,顶层设计缺失,相关标准滞后。电力监控系统上位机的安全防护普遍沿用IT系统安全防护的老办法——安装防病毒软件。但是,电力监控系统沿用传统防病毒软件,存在以下不足。
(1)防病毒软件主要是基于一个持续积累的病毒库对恶意代码的识别,即基于“黑名单”思想。这导致防病毒软件本质上存在2个严重缺陷:一方面,对新病毒的防御总是被动滞后的;另一方面,对于高级别的0day攻击无能为力,例如著名的“震网”病毒就是利用了多个微软的0day漏洞,成功地攻击了伊朗的核工厂。
(2)防病毒软件需要频繁升级病毒库,才能维持对主流病毒的防护能力,而电力监控系统通常不允许连接互联网,无法及时进行升级。
(3)防病毒软件无法做到100%的精准,所以存在对合法程序误杀的情况,而误杀程序在电力监控系统中是致命的。
基于“白名单”的电力监控防病毒系统针对传统防病毒软件的不足,对电力监控系统特点进行有针对性地设计,用于取代传统杀毒软件,有效阻止病毒、木马及非授权软件的安装与运行。基于“白名单”的电力监控防病毒系统有着以下几点重要特点与优势:
(1)有效阻止病毒、木马及非授权软件的安装与运行;
(2)能有效抵御零日攻击及高级持久性威胁(APT);
(3)完全避免传统杀毒软件“误杀”“误报”;
(4)系统资源低开销,不影响正常工控软件运行;
(5)无需频繁升级,适合工控环境,减少安全生产事故;
(6)保护无法更新和升级的系统。
2 研究设计
本研究设计的目的是研发适用于电力监控系统的病毒防护软件,主要包括适用于工业控制系列的计算机病毒主动防御方案。这种方案不仅能够防御利用0day漏洞进行攻击的未知病毒,还不需要频繁升级病毒库,就可保持对计算机病毒的防御能力,以适应工业控制系列不能连接互联网这一特点;并且,还能加大对合法程序零误判的计算机病毒防御方案的研究,保证电力监控系统的高可用性。
主机防护软件主要由两部分组件组成:①客户端,可独立安装运行在工作站上的客户端软件,能监控分析应用程序和人工操作的行为特征,生成“白名单”,阻止恶意程序和操作的执行;②管理平台,统一管理企业内部所有防护软件系统客户端,进行状态监控及策略配置和下发,并收集、汇总、更新、同步单独客户端的“白名单”数据信息,统一收集单独客户端的审计信息,并进行大数据分析,统一管理企业消息推送。采用“白名单”技术,为工业控制网络构建可信任的工作站及终端安全防护“白环境”[2]。防护软件系统架构见图1。
此次作业在三亚47 m水深海域进行,总钻探深度8195 m,共完成28个回次取样,获取微扰动地质样品总长6855 m,整体取心率高达8365%。其中4次取到3 m长满管样品,8次取到4 m长满管样品,样品直径均为84 mm。
图1 管理平台与客户单架构
防护软件系统是基于应用程序“白名单”机制进行安全防护的。使用防护软件系统进行安全保护时,防护软件系统会根据本地存储的“白名单” 列表检查每个试图执行的应用程序,只有在“白名单”列表上的程序才允许运行。所以防护软件系统能够控制仅运行合法的软件程序,而恶意软件或其他未经授权的程序则被阻止运行,从而可以有效阻止各种恶意程序(包括病毒、木马、间谍软件等)。操作系统的分层结构见图2。
图2 操作系统分层结构
所有的应用程序都是从用户模式被调用装载、启动,绝大部分应用程序在用户模式下运行,一些恶意软件则可能加载到内核模式中。基于对各种操作系统(包括各个版本的 Windows、Linux和Unix)的深入理解,防护软件系统在操作系统的内核模式下运行,可以在应用程序加载过程中进行“白名单”校验拦截,确保不在“白名单”列表的程序无法执行,从底层彻底阻止非法程序的运行。在安装了防护软件系统的操作系统中,应用程序启动的流程见图3。
图3 “白名单”下的应用程序启动流程
从图3可以看出,“白名单校验”是防护软件系统加载在操作系统内核的一道门卫关卡,任何恶意软件只要不在“白名单”列表里面,就无法启动运行,也就无法对系统造成恶意破坏和影响。
3 技术对比
3.1 “白名单”技术
“白名单”技术在电力监控系统安全防护方案中获得认可的原因有以下几点:
(1)更适应工业企业生产业务。首先,从信息安全的三大属性——可用性、完整性、机密性来说,工业企业最关注的是可用性,因为数据和系统可用是保证生产业务正常运行的前提。“白名单”技术采用“白名单”机制,只允许自己信任的、正确的内容通过,不会对数据的可用性造成破坏,并保证了进入系统的数据是信任无害的,从而保障了工业生产网的可用性。再者,从实时性考虑,工业生产网对某些变量的数据往往要求准确定时刷新,信号指令必须在确定时限内完成,这就要求在进行安全建设时,所设计软件必须具备低延时特征,不能影响工业控制网络的实时响应速度。与“厚重”的“黑名单”机制相比,“白名单”技术采用轻量级“白名单”机制,能够更好地满足工业生产网络的实时性要求。
(2)“白名单”机制不需要频繁升级。由于“白名单”技术是将已知的、信任的内容加入“白名单”,只要保证“白名单”的全面性和纯净性,即可发挥良好作用。与需要定期更新、频繁把工控网络环境从“稳态”拖入“暂态”的“黑名单”技术相比,“白名单”技术拥有天生的优势。
(3)从工业控制网络的特点出发,只要工艺流程、业务数据固定下来,“白名单”就不会发生变化。即使有变化,只要把变化的内容添加到“白名单”,“白名单”机制依然能够很好地发挥其安全防护作用。这样一个良好的循坏,保障了安全机制和业务生产长期稳定共存,最终实现基于业务内生的安全。
3.2 传统防病毒技术
在传统IT安全领域,防病毒软件得到广泛应用的原因在于传统IT将安全放在首位,采用尽可能多的手段进行安全防护,同时传统IT主机大多可直接连接互联网进行病毒库升级,加上目前“云”查杀技术的逐步推广,新病毒发现和查杀的效率也大大提高。而在工业现场,目前仍有很多主机采用防病毒技术,但是由于电力监控系统的特殊性,传统防病毒技术已经优势不再,反而在很多方面成为制约其推广的瓶颈,主要表现在以下几方面:
防病毒技术只能对已知病毒进行检测,对于未知威胁却无能为力;
大量现存工业主机系统由于投入运行时间较长,系统性能普遍较低,防病毒软件内置大量特征库,软件运行缓慢,在扫描过程中占用资源高,拖慢系统运行速度,不能满足电力监控系统高实时性的要求;
防病毒技术基于特征库匹配技术,不可避免会出现误杀、误报的可能,在对疑似病毒进行处理的过程中,有可能对工业主机系统、控制软件、组态软件的稳定运行产生不利影响;
传统防病毒软件以查杀引擎和漏洞库为核心,由于工业环境的相对封闭性无法保证杀毒软件的及时更新,导致防病毒措施形同虚设。
工业环境中存在大量windows XP、windows 2000等老旧操作系统,传统杀毒软件由于追求新特性、新功能的需要,对老旧操作系统以及软件存在部分兼容性问题。
3.3 “白名单”和“黑名单”的区别
相比“白名单”而言,传统的防病毒软件(包括类似的防木马软件、防间谍软件等),采用的是“黑名单”机制。这类产品都会内置一个病毒库(或恶意软件库),也就是我们这里所说的“黑名单”。防病毒软件可以有效阻止已知恶意软件的运行,也是纵深防御可选的有效防护措施。但是这类软件的“黑名单”(即病毒库)一般比较庞大,需要包括历史上所有的恶意软件指纹,而且需要及时更新。如果新的病毒没有被更新到病毒库,那么这种“黑名单”软件就无法有效阻止该病毒的运行。
在绝大部分工控场景中,是不允许联网的,也就无法保证服务器的病毒库(即“黑名单”)及时更新,所以这类软件在工控安全防护场景里实际效果要大打折扣。另外,杀毒软件可能的误杀会严重影响工控业务,这也是工控安全场景不愿意使用杀毒软件的一个重要原因。
4 结 论
综上所述,在目前相对封闭的电力监控系统网络中,“白环境”理念更适合电力监控系统网络环境。但在两化融合的大趋势下,未来工业控制网络完全开放,在与互联网联通的情况下,可以适时引入“黑名单”机制,通过以“白”为主,以“黑”为辅的防护方式来保障未来电力监控系统的网络安全。