基于自动化分析的风险检测验证技术在环境自动监测中的应用探讨
2020-11-10严威张明
严威 张明
[摘要]大气、水质环境自动监测中的自动化系统通过互联网传输环境质量数据,实现环境质量的实时监督,系统中的数据已成为判断环境好坏的重要依据;网络传输是自动监测信息系统的重要一环,其安全性直接影响环境监测数据的真实性和准确性。而网络安全风险检测是保证网络安全的基础工作,探讨在环境监测系统中如何引入自动化的安全风险分析及验证技术,发现环境自动监测系统中的网络安全隐患。
[关键词]环境自动监测;网络安全风险检测;网络安全风险验证;漏洞自动化分析;漏洞自动化验证
[中图分类号]X834
[文献标识码]A
生态环境良好是国家有序发展的重要前提和保障,是人民生活幸福感和获得感的的源泉。正是基于此,有系统地建立全国到地方的多层级的生态环境监测体系显得尤为重要。为此各省、市建立了由若干个监测子站和一个中心监测站组成的环境自动监测系统,各监测子站采用自动监测仪器和技术,经计算机等数据处理和信息传输手段,将监测结果与数据汇总到中心监测站进行数据处理、统计和显示,并向环境保护行政主管部门报告环境质量状况和向社会发布环境质量信息。随着这些系统的持续使用,它的网络安全问题也暴露出来。据国家信息安全漏洞共享平台(CNVD)公布的数据显示,2016年收到1117个物联网设备漏洞,而到2017年达到2440个,增长了118.4%。网络摄像头、路由器、手机设备发现的漏洞数量最多。所有IoT(Internet of Things,物联网)终端中,不少设备存在各种代码漏洞风险,弱密码、web界面存在漏洞、未使用传输加密技术等问题。这些系统安全漏洞严重威胁物联网安全。黑客登录这些设备,利用webshell,种植木马等技术手段窃取信息系统数据等敏感信息,为物联网带来严重的安全隐患。
1 基于自动化分析的风险检测验证系统主要的技术
智能环境监测系统,涉及环境监测系统中物联网设备传感器的数据传输安全,传感器自身系統安全问题,这一系列问题亟需使用自动化技术检测及验证,以便提高后续的问题处理工作效率,保证环境监测系统的安全。基于自动化分析的风险检测验证系统主要涉及以下技术:1)基于静态分析、动态分析及混合分析的漏洞自动化挖掘技术,该项技术目的是发现安全漏洞及安全风险;2)分布式系统协同计算集群的构建方法及技术,该技术是为了提高自动化检测的效率;3)机器学习在PPDR模型下的实际应用以及基于机器学习优化策略的漏洞检测技术,该技术是在检测到漏洞及安全威胁之后,科学有效地对漏洞及安全风险进行高效管理。
2 基于静态分析、动态分析及混合分析的漏洞自动化挖掘技术研究
静态分析技术是在程序未运行时,对程序的源代码进行分析,直接发现程序逻辑中的潜在漏洞,包括基于源代码和二进制文件两种漏洞分析技术。基于源码的漏洞挖掘分析技术是指对程序的源码通过人工或者运用半自动化、自动化工具进行阅读分析,检测程序中可能存在的安全漏洞的关键点。词法分析、控制流分析和数据流分析是目前广泛使用的方法。词法分析的核心是特征数据库,特征数据库的功能可能会从形态,语法,语义(例如strcpy,get,malloc等)等方面挖掘引起问题函数。然后,在特征数据库的基础上分析程序,尤其是包含函数的位置。基于二进制文件的检测方式是通过二进制补丁比对技术,通常,一般软件漏洞中不会披露该漏洞的确切位置,也不会指出该漏洞的具体原因。因此,有关已发布漏洞的信息实际上相对较少,通过补丁比较和分析,可以找到补丁的具体修改,找到漏洞代码,然后进行分析,以确定造成漏洞的原因,找出并获得有关该漏洞的更多信息。
动态分析技术是将目标程序加载到动态跟踪调试器中以动态运行程序,分析动态调试器中的程序阿存,状态和调试器寄存器以及其他信息,然后修复潜在的安全漏洞。有一种典型的环境故障注入方法,开发程序时,通常不会完全考虑运行该程序的环境,始终假定该程序将在理想的安全和稳定情况下运行。因此,如果程序的运行环境发生人为或非人为的变化,则不知道程序是否可以正常运行,因此输入半有效数据是检查容错性和可靠性的有效方法。Fuzzing技术是一种自动或半自动的漏洞挖掘和分析技术。它可以通过向目标输入半有效数据(如文件格式、网络协议、API等)来发现软件的潜在漏洞,即提供意外的输人数据,并监控系统的异常情况.所谓半有效数据是指大部分数据是有效的,所以应用程序认为是有效数据,但同时其余数据是无效的。
混合分析技术便是同时对一个系统进行静态的源码分析检测,动态的环境带人运行检测,通过静态分析、动态分析、混合分析相结合,可高效地发现智能环境监测系统中的漏洞问题,并可将这些技术集成到工具中,使用工具进行自动化的漏洞挖掘。
3 分布式系统协同计算集群的构建方法及技术研究
分布式Matlab计算集群可以实现建立一次任务,对大量的设备同时进行漏洞挖掘及安全风险检测。
通过构建CORBA集群,该功能可以提高系统的处理速度。CORBA的一个重要优点是它可以跨平台和语言进行处理,当使用Java调用Matlab时,分布式手段是打破检测过程速度瓶颈的重要手段,我们依赖于服务器(Matlab Motor)具有强大处理能力的物理终端。使用者通过分布式系统访问服务器,可以最大程度地提高速度并提高检测速度,通过分析服务器集群中每个服务器的空闲和繁忙状态,可以进行最佳的任务配置,以确保大型复杂项目中系统的最佳处理速度,突破了传统系统处理速度的瓶颈,提高了系统性能。
通过CORBA和Matlab引擎,将Matlab函数调用模型的应用用Java语言实现。由于测试数据处理要求的特殊性,在系统模块中加入Matlab,将大大提高系统开发的效率,提高系统的鲁棒性,使设计人员能够更好地关注测控系统的模块化和数据处理算法。数据定制在系统中非常重要。我们需要通过众所周知的经验方程来拟合数据,以达到去除异常值和预测数据的目的。IDL是类C语言的一种。IDL和C最大的区别就是它只有定义部分,没有具体的实现,它是一种纯描述性语言,只描述接口,不描述实现。IDL文件的构成是整个调用过程成功的关键,因为客户端和服务器程序的编写依赖于IDL文件生成的存根和框架文件。在创建IDL文件之间,我们需要做好系统调用分析,特别是在两个方面,变量和方法的定义。在我们的数据拟合例子中(为了更好地说明问题,我们用最小二次方程的二阶多项式拟合来代替实践中晦涩难懂的经验公式)。我们需要定义两个浮点型数组,一个代表应用中的实际数据,比如无人机数据,另一个代表时间坐标,只定义了一种方法,就是用浮点数拟合最小平方二阶多项式数据。并画出有序的图形。经过分析,我们可以定义数据拟合的IDL。
4 机器学习在PPDR模型下的实际应用以及基于机器学习优化策略的漏洞检测技术研究
Gartner提出要“管理风险、建立信任、拥抱变化”,这意味着在新的安全环境下,如果系统受到攻击和破坏,可以快速恢复,具有“弹簧一伸就恢复”的能力。自适应PPDR安全模型被业界广泛接受,包括四个层次:预测、预防、检测和应对;这种安全模式在不同阶段引入了威胁情报、大数据分析等新技术和新服务,打造了一个能够持续、智能、协同应对威胁的安全体系。将PPDR模型应用到漏洞的检测及管理便对应着漏洞的发现,漏洞的分析,漏洞跟进处置,漏洞的复测验证。
4.1 漏洞发现
为了识别自动环境监控系统中的漏洞,我们可以在事件发生之前、之中和之后从不同的角度进行查看,例如,预先,我们可以通过在线前安全评估,受信访问评估,分析和识别漏洞情报来识别漏洞。查找威胁和攻击事件分析以及标准化的攻击和防御训练分析;在这种情况下,我们可以通过每日漏洞扫描,安全配置测试,渗透测试或第三方组织来检测在线系统漏洞,事件发生后,发现的漏洞包括第三方发布的漏洞和互联网发布的漏洞,监督可以被黑客利用的漏洞。
4.2 漏洞的分析
漏洞分析的第一步是对漏洞扫描结果进行分析,以消除误报,保证扫描结果的准确性,消除误报的方法主要包括交叉验证、人工验证、表格分析等,漏洞是一种不活跃的威胁。除了消除误报,环境自动监测系统还必须明确如何处理漏洞。这也是安全人员面临的一个难题,所以漏洞分析的另一个关键任务是确定漏洞等级。结合漏洞攻击代码出现、漏洞资产位置、漏洞修复收入等信息,我们可以利用动态漏洞风险等级影响系统的可用性,以获得现阶段的完整性和保密性,并通过明确的漏洞风险分类指导后续的漏洞。工作进行处置。扫描器给出的漏洞修复建议往往简單、过时或不协调。因此,有必要对漏洞修复方案进行分析和审核,并提出合理的建议,完善漏洞分析。
分析漏洞可以从四个方面来看,第一是看漏洞的本身,就看漏洞到底严不严重,看代码有没有公开,如果没有公开,那么风险就不高;第二是看攻击路径,就比如说一个路径只在服务器本地开放,那么就不会把端口暴露在互联网,就不会达成远程攻击,此时认为是本地漏洞;第三是看权限的要求,现在很多业务系统要使用里面的功能是需要登录的,此时产生的漏洞造成的危害一般不严重。除此之外,还要看利用复杂度、影响范围、披露时间以及威胁程度,同时判断漏洞的优先级还需要关注供给面暴露情况(进程是否启动、端口是否监听、网络是否开放)。
4.3 漏洞的跟进处置
漏洞监控主要包括通知漏洞负责人以处理漏洞,根据漏洞级别跟踪漏洞的修复以及监视过期漏洞;关键连接包括记录漏洞帐户以及报告,跟踪和监视漏洞。
在漏洞跟进中,有必要与漏洞消除部门保持良好而一致的沟通,进一步明确漏洞风险水平,漏洞修复责任等事项;对于可能影响指标完成的漏洞,例如早已逾期且尚未在维修计划中恢复且未经监管机构修复的漏洞,应将其提交给管理层以进行特殊实施和解决。漏洞处置是指负责修复漏洞的人员对漏洞进行处理,包括漏洞修复,补偿控制,临时脱机和漏洞容忍。
在消除漏洞的过程中,负责漏洞修复的部门应首先根据漏洞修复提案评估实际漏洞情况,制定漏洞修复系统,然后根据商定的漏洞风险级别制定相应的漏洞修复流程。
基于以上分析跟进,以威胁为中心的漏洞管理方法,此方法发现漏洞后,会结合评分的算法,接着算出哪些漏洞影响最大,哪些漏洞是没有影响的,最后优先修复漏洞大的,修复完后持续关注黑客活动,若发现还有黑客在活动就说明修复是无效的,如果没有发现黑客在活动就说明修复是有效的。
4.4 漏洞的复测验证
漏洞修复后,需要对漏洞进行重新测试,以验证漏洞是否仍然存在。漏洞重测包括扫描验证和人工确认。对于未能通过重测的漏洞,应按照漏洞后续处理流程继续推进修复,并将其加入到漏洞修复时间中。对于多次复测仍未修复的漏洞,应分析原因,定期进行整体评估分析。
将机器学习的技术引入漏洞的全生命周期管理中,可对漏洞管理模型进行训练,设备可根据管理员的管理情况进行机器深度学习,对资产及漏洞赋值,给管理人员提供漏洞管理的相关意见。
[参考文献]
[1]和亮,苏璞睿.软件漏洞自动利用研究进展[J].中国教育网络,2016(Z1).
[2]吴世忠.软件漏洞分析技术[M].科学出版社,2014.
[3]周鹏.软件FUZZ中代码分支检测算法研究与实现[D].北京邮电大学,2019.
[4]刘庆之.基于CORBA的服务器集群系统负载均衡的设计与应用[D].西安电子科技大学,2008.