◎东北大学 姚 羽
信息技术领域具有军民通用的天然属性,随着科技的不断发展,网络空间已经成为世界主要国家经济发展的重点和谋求竞争新优势的战略方向。网络空间信息安全领域也已逐渐成为军民融合的关键领域和战略制高点,成为全球研发投入最集中、创新最活跃、应用最广泛、辐射带动作用最大的技术创新领域。
习近平总书记在今年“两会”解放军代表团全体会议上强调,立足经济社会发展和科技进步的深厚土壤,顺势而为、乘势而上,深入实施军民融合发展战略,开展军民协同创新,推动军民科技基础要素融合,加快建立军民融合创新体系,下更大气力推动科技兴军,坚持向科技创新要战斗力,为我军建设提供强大科技支撑。网络强国建设正在进入强筋健体、军民融合创新发展的新阶段,迎来聚合国家战略共振效应、加速发展的重要契机。
从第一款针对工业设施的震网病毒到针对关键基础设施勒索攻击的Wannacry蠕虫,近年来,针对关键基础设施的网络攻击密集且危险程度高,直接关乎国家安全命脉。从工控安全发展现状来看,美国在攻防技术方面起步较早,在国际上处于领先地位。另外,俄罗斯也拥有如卡巴斯基等安全产品,具有较强实力。中国工控安全整体上起步较晚,自习总书记网信工作座谈会上发表重要讲话之后,国内关键基础设施安全领域得到了业内的广泛关注和重视。国内科研院所像信通所、东北大学、解放军信息工程大学等单位做了一些重要的研发工作,360、绿盟、灯塔实验室、匡恩等企业也都在布局,开展了大量工作,但整体上国内仍处于起步和探索阶段,业内存在大量困惑。
从国家顶层设计来看,“4.19”网信工作座谈会上习总书记指出要“全天候全方位感知网络安全态势、增强网络安全防御能力和威慑能力”,对态势感知和网络安全的关系做了明确的指示。在刚刚发布的《新一代人工智能发展规划》中,明确指出“人工智能技术可准确感知、预测、预警基础设施和社会安全运行的重大态势”,人工智能和网络安全也可以说是基础设施安全的“一体之两翼,驱动之双轮”。
《孙子兵法》中讲“知己知彼,百战不殆”。感知是感觉和认知,意味着对整体环境的理解和认知,通过推演对局势的走向、未来的趋势能了然于胸,对胜负结果能一手掌控。态势感知的英文是Situation Awareness,源于美国空军为提升空战能力、分析空战环境信息、快速判断当前及未来形势,以做出正确反应而提出的词汇。后来美国把它提升到Cyberspace Situation Awareness层面,最典型的是美国的“爱因斯坦计划”,旨在大规模网络环境中,对能够引起网络态势发生变化的安全要素进行获取、理解、显示以及对最近发展趋势的顺延性预测,以此形成网络空间的态势感知,进而进行决策与行动。
态势感知应该具备的最基础的三个要素:一是态势认知,即了解当前系统运行状态,包括状态识别与确认(攻击发现),以及对态势认知所需信息来源和素材的质量评价。二是态势理解,即分析攻击的影响、攻击者的行为和当前态势产生的原因及方式。可简单概括为:危害评估、攻击者画像、行为分析(攻击行为的趋势与意图分析)和因果分析(包括溯源分析和取证分析)。三是态势预测,即对态势发展情况的预测评估。主要包括态势演化(态势跟踪)和影响评估,也就是所谓的情境推演,像攻防沙盘就包含演练的成份在里面。
“谛听”原是传说中地藏菩萨案下伏着的通灵神兽,可以通过听来辨认世间万物,尤其善于听人心。东北大学“谛听”团队,取“谛听”辨识万物之意,意在搜寻暴露在互联网上的工业控制系统联网设备,帮助安全厂家维护工控系统安全、循迹恶意企图人士。通过“谛听”,可以定位工控设备位置,捕捉开放端口,发现安全漏洞。
“谛听”团队前期在各层面做了一些尝试性的工作,首先是认知层面,新版本“谛听”系统在情报的获取、数据的整合、蜜罐的部署、协议识别的数量和数据获取的准确性方面都比之前版本有很大提升,把这些新的能力都集成到“谛听之眼”态势认知的全球视角当中,可以对工控安全做一个初步的展示。
欧美工控设施在互联网暴露非常多,相比而言中国分布还不是很靠前,因而,工控关键基础设施在互联网上的暴露程度与一个国家对安全的重视程度不是完全关联的,而是与这个国家工业发展水平相关的。例如,国内北上广、长三角等工业发达地区分布较多,东三省排在后面,这是因为表面上看东三省虽是工业大省,但工业发展进程实际上并不是很先进。
“谛听”——全球视角的工控安全态势认知
“谛听”1.0版本主要还是专注认知阶段,现在的“谛听”3.0版本,把理解和预测模块放到了平台当中。当数据进入“谛听”库,对数据进行整理和分析之后,一方面做关联分析,即所谓的理解,另一方面通过算法做一些预测,最后通过可视化进行展示。
态势认知主要做两件事,一是要获取互联网中暴露的工控设施,我们把它叫做“谛听”的“右耳”,可以进行全网的扫描,不仅包括PLC,也包括监控的设备,还可以对数据进行定位。在对数据捕获时可以对扫描的进度、程度等进行实时可视化展示,同时还做了精细化的数据分析,比如工控设备是否24小时连续在线,分析得知不同协议得到不同的扫描结果、选择特殊的时段才能真正拿到某些数据。
谛听“右耳”的数据扫描
“谛听”的“左耳”则是蜜罐,对蜜罐进行分析可以对得到的IP地址进行攻击者画像,描述一些基础的信息,包括由哪些时段、从哪些国家发出来的攻击数据,系统也做了相关的可视化。
标准的情况下,当接收到一个扫描数据时,蜜罐会首先做一个应答处理,把扫描者的信息存储到数据库中,但是由于蜜罐自身能力和研发能力有限且工控协议本身比较复杂,对于一些网络请求,蜜罐有时会不知如何正确应答。通过增加蜜罐自学习模块,把未知的请求传给扫描器模块,扫描器模块再将数据发送出去。通过学习正确的应答方式,蜜罐再次接收到类似的请求时,就知道应如何回答,这实际上就是“左耳”和“右耳”的联动,即所谓的自学习蜜罐。
态势认知之上就是对态势的理解,理解的基础是数据,我们整合了大量与工控安全以及泛安全相关的威胁情报。首先需要对已有的数据进行处理,目前漏洞数据库平台还是比较多的,如国内的CNVD(国家信息安全漏洞共享平台),国外的CVE、EDB、SVE等平台,它们会有统一的漏洞标识CVE-ID。但是,这些不同来源的数据会有重复,还有没有被正确标识的漏洞,这时需要将漏洞库进行整合,我们也做了一些数据整合处理,比如有无CVE-ID的要分别进行处理,无CVE-ID的比较麻烦,还需进行比对看是不是指向同一漏洞。通过漏洞的融合,可以将这些公共的漏洞整合形成统一标准的漏洞库。
态势理解:数据支撑
漏洞库融合
对数据进行理解,给攻击者画像,主要数据来源是蜜罐,现阶段主要是针对IP地址进行画像。可以从多个维度,比如说对数据包基本信息的分析,包括IP地址的国家、城市、经纬度等,还包括扫描时间、报文信息等,进一步还需要分析它用什么样的扫描工具,甚至评估其危险程度。扫描时间的分析要看是否是周期性扫描,这对于攻击者的画像是比较有意义的。对于扫描工具的分析,我们分析获取了一些扫描器的特征,尤其是公开来源的扫描器,通过扫描工具规则库来判断是一个什么样的工具,最终标记为一个可能性最大的工具,超出某个概率的则认为它是自制工具。对于扫描的危险程度,如果是周期性扫描的话,它的危险程度就高,可以根据报文数、扫描次数、持续时间等算出危险指数,根据危险指数再进行等级划分,最后可以用雷达图和扇形图等进行展示。把这些行为关联起来之后,就可以看到一些攻击者的意图以及危险性。
态势预测并不是基于大数据的,攻防完全用一个数学模型来描述,然后通过仿真来验证模型,并不依赖历史数据。对于暴露的工控设施,一旦发生蠕虫攻击,那么它的传播趋势是怎样的?当发现后加入一些响应,比如打补丁、使用防火墙隔离或者断开网络连接,会对传播趋势有什么样的影响?这实际上是数学模型可以描述的,可以对攻击趋势进行预测分析。