电力信息网络边界端口自动化监测工具实践
2017-09-26朱宏宇田峥薛海伟漆文辉郑颖慧
朱宏宇,田峥,薛海伟,漆文辉,郑颖慧
(1.国网湖南省电力公司电力科学研究院,湖南长沙410007;2.湖南省湘电试验研究院有限公司,湖南长沙410004)
电力信息网络边界端口自动化监测工具实践
朱宏宇1,田峥1,薛海伟1,漆文辉1,郑颖慧2
(1.国网湖南省电力公司电力科学研究院,湖南长沙410007;2.湖南省湘电试验研究院有限公司,湖南长沙410004)
随着智能电网和全球能源互联网的发展深入,电力行业中众多专业的信息化程度不断提高,信息安全在电力系统的安全运行中正处于越来越基础的地位。信息网络边界监测是一项需要常态化、人工分析工作量大的信息安全工作。本文通过深入分析边界监测工作的特点和难点,设计研发出一种自动化端口扫描及结果分析工具,提高了边界端口监测工作的效率和准确度。
电力信息;信息安全;边界监测
随着 《中华人民共和国网络安全法》的出台,网络信息安全已成为国家发展的最高战略方向之一,作为安全法中定义的关键信息基础设施运营者、网络运营者、网络产品服务提供者,国家电网公司正在不断加快强化信息安全防护能力,以保障电力信息系统的网络信息安全〔1〕。信息安全技术监督是保障信息安全的重要途径,它通过信息安全技术手段对现有的信息系统进行深入检查以暴露其存在的隐患和漏洞,并且持续跟踪与监控漏洞或隐患的整改情况,从而形成闭环的监督机制〔2〕。
信息安全督查工作中需要定期对一定数量的信息系统进行清查,将扫描出的、当前实际开放的端口与已备案的、允许开放的端口进行比对,从而及时发现是否有端口违规开放〔3〕。端口扫描清查工作具有以下特点:1)定期性和持续性。为了保障信息网络的安全,需要定期、多次地对目标网段的端口进行扫描,持续关注目标网段的端口开放情况。2)扫描结果分析比对工作量大且繁琐。每次完成端口扫描后,需要将扫描到的开放端口与备案表中允许开放的端口进行对比,以发现违规开放的端口。随着企业信息化建设的推进,在运的信息系统数量持续增加,使得人工分析扫描结果的工作量不断增加,也加大了人工分析出现差错的风险。已有文献中重点关注网络扫描技术的实现,而对网络端口扫描结果的分析技术研究不多,缺少一种切合实际的端口扫描及结果分析工具。
文中提出了一种自动化端口扫描及结果分析工具(以下简称 “工具”),以提高端口清查工作的效率和准确度。
1 端口监测工具的设计及原理
从功能上看,此工具可分为三大部分:扫描分析比对、用户交互、主流程。扫描分析比对部分是工具的主要功能实现部分,主要完成以下功能:调用扫描工具进行扫描,解析多种格式的扫描结果文件,比对扫描结果并生成告警文件。用户交互部分主要完成参数输入及检查、工具运行信息及异常信息实时输出等与用户产生交互的功能。主流程部分是工具的调度部分,它根据用户输入的参数类型以一定顺序来调用 “扫描分析比对”和 “用户交互”部分不同的功能模块。工具的总体设计逻辑如图1所示。
图1 工具总体设计逻辑
1.1 用户交互设计
为了兼顾运行效率与用户友好性,本工具同时支持命令行与图形两种交互界面,使用图形界面可以直观方便地选择功能模式以及设置参数,而使用命令行方式可以方便地进行脚本批处理。本工具在设计过程中采用了接口与实现相分离的设计思想,在用户交互基类中定义其与主流程之间的接口,在两个用户交互子类中再去实现接口,将用户交互处理与主流程分离开〔4〕,并且统一两种用户交互方式与主流程之间的接口,从而最大程度地重用主流程部分的代码。
通过梳理主流程程序需要与用户发生交互的场景,共定义了表1中3个用户交互部分与主流程部分之间的接口。
表1 用户交互模块与主流程模块之间的接口
本工具中3个类的UML设计如图2所示〔5〕。在UI基类中定义出异常处理、程序过程和结果信息显示这3个接口,并在其2个基类——命令行UI类和图形界面UI类——中具体实现这3个接口。另外,参数检查这个函数放在UI基类进行实现,如此设计,能保证两种界面对于参数的有效性检查是一致的。工具类具体实现了扫描分析比对功能,工具类中的部分函数会与UI类进行交互,以处理异常或显示处理信息。主流程类根据UI类收集到的用户参数,调用工具类中的相应函数以完成相应功能。
图2 工具中类的UML设计
1.2 文件解析与结果比对
本工具要处理的一个关键问题是如何在多种不同格式的结果文件之间实现灵活比对,这个问题又可以分解成2个子问题:1)找到解析不同格式文件的方法;2)适当调整函数粒度,让不同格式的文件处理之间能灵活重用代码。
在需求分析阶段,首先确定了需要解析的文件格式为纯文本、XML和Excel格式,其中扫描工具nmap的扫描结果文件一般为纯文本或XML格式,信息系统备案信息表一般为Excel格式。不同格式的解析文件特点如下:
1)纯文本格式的扫描结果文件。文件后缀为“.gnmap”,也称为 “Grep输出”,是一种简单格式,每行一个主机,可以通过UNIX工具(如grep,awk,cut,sed,diff)和Perl方便地查找和分解,常可用于在命令行上进行一次性测试。
2)XML格式的扫描结果文件。它引用了一个XSL样式表,用于格式化输出结果,类似于HTML。最方便的方法是将XML输出加载到一个Web浏览器,就可以跟浏览网页一样浏览扫描结果文件。
3)Excel格式的信息系统备案表。这个表中存储了允许开放的信息系统相关信息,用于跟扫描结果文件中的信息进行对比。
针对这3种格式的文件,python中都有官方或第三方的模块可以进行解析。
为了更大程度地重用代码,将扫描结果比对分析功能细化为流程,如图3所示。
图3 扫描结果比对分析流程
流程中的第一步和第二步是可选的,根据用户的输入文件类型和参数来决定是否进行这两步。
2 端口监测工具的实际使用及效果
本工具支持图形和命令行两种用户界面,为了方便展示,本文只截取了图形界面。所有图形界面中可以完成的功能在命令行界面中也可以完成,另外,使用命令行方式可以更方便地进行批处理和定时自动运行。图4是本工具的启动界面。
图4 工具主界面
本工具支持两种功能模式:“All”模式和“CmpOnly”模式。“All”模式将用nmap对要扫描的IP端口文件的IP地址进行全端口扫描,将扫描出的开放端口与允许开放的IP端口文件中的IP和端口进行对比,将违规开放的端口记录在报警文件中。而“CmpOnly”模式将已有的扫描结果文件中的开放端口与允许开放的IP端口文件中的IP和端口进行对比,将违规开放的端口记录在报警文件中。因此,“All”模式适用于还未进行过端口扫描的情形,“CmpOnly”模式适用于已经进行了。
图5是选择了 “All”这种功能模式,即点击了 “All”按钮后的界面。此时界面上出现了相应的功能描述和参数输入框。在 “All”模式下,工具将用nmap对要扫描的IP端口文件的IP地址进行全端口扫描,将扫描出的开放端口与允许开放的IP端口文件中的IP和端口进行对比,将违规开放的端口记录在报警文件中。
图5 “All”模式界面
在提供了输入文件和参数后,点击开始按钮开始运行程序。界面上会实时显示程序运行信息,程序运行结束后,通过弹出框提示用户是否存在违规开放端口,以及记录违规开放端口文件的文件名,如图6所示。
图6 “All”模式下的工具运行信息
功能模式选择 “CmpOnly”后,本工具将已有的扫描结果文件中的开放端口与允许开放的IP端口文件中的IP和端口进行对比,将违规开放的端口记录在报警文件中,如图7所示。
图7 “CmpOnly”模式下的工具运行
在实际工作中使用此工具能够提高端口清查的工作效率。原来人工分析需要1~2天的端口比对分析工作,通过本工具,不到一秒钟就可以自动完成。不但节省了工作人员核对的时间也能快速地看到比对结果,大大提高了未备案端口清查的工作效率。此工具还提升了端口分析的准确度。本工具保证了端口比对分析的 “零”错误率,杜绝了人为因素对端口清查结果的影响,提高了端口分析的准确性。
3 结语
文中自动化端口扫描及结果分析工具实现了端口扫描、扫描结果分析、未备案端口告警的自动化,使用此工具,信息安全督查人员将不需要人工分析、人工比对扫描结果,极大地提高了未备案端口清查工作的效率和准确度。下一步的工具改进方向是:提高后台程序运行的并行度,以满足监测大量端口的需求;集成更多边界端口监测功能,形成监测工具集。
〔1〕王栋,陈传鹏,颜佳,等.新一代电力信息网络安全架构的思考 〔J〕.电力系统自动化.2016,40(2):6-11.
〔2〕吕广娟.网络安全监测分析系统的研究与实现 〔D〕.北京:华北电力大学,2010.
〔3〕中国国家标准化管理委员会.信息安全技术信息系统安全管理要求:GB/T 20269—2006〔S〕.北京:中国标准出版社,2006.
〔4〕Erich Gamma,Richard Helm,Ralph.设计模式:可复用面向对象软件的基础 〔M〕.刘建中,译,北京:机械工业出版社,2007.
〔5〕冀振燕.UML系统分析与设计教程 〔M〕.北京:人民邮电出版社,2009.
Practice of Automatic Monitoring Tool for Boundary Port of Electric Power Information Network
ZHU Hongyu1,TIAN Zheng1,XUE Haiwei1,QI Wenhui1,ZHENG Yinghui2
(1.State Grid Hunan Electric Power Corporation Research Institute,Changsha 410007,China;2.Hunan Xiangdian Test&Research Institute Co.,Ltd,Changsha 410004,China)
With the development of smart grid and the global energy Internet,the information technology in power industry continues to improve.Information security in the safe operation of power systems are in an increasingly basic position. Information network boundary monitoring is a need for normalization and massive manual analysis.In this paper,through the analysis of the characteristics and difficulties of boundary monitoring,an automated port scanning and result analysis tool is designed and developed to improve the efficiency and accuracy of boundary port monitoring.
power information;information security;boundary monitoring
TP393.0
B
1008-0198(2017)04-0049-04
朱宏宇(1991),女,湖南长沙人,助理工程师,硕士,从事电力信息安全研究。
10.3969/j.issn.1008-0198.2017.04.014
2017-03-01 改回日期:2017-05-14