关键词:
工业信息安全
漏洞扫描
用例生成器
可编程控制器
Nessus协议
黑盒测试
准入评测
摘要:
当今工业信息技术已经从传统的封闭、孤立的控制系统(如RS-485)走向因特网互联,广泛采用了包括TCP/IP等技术。但是传统的安全技术并不能很好地适应工业控制系统,在这样的背景下产生了Styx(Security Testing sYstem forprotocol X-Styx)工业安全准入评测系统,对包括可编程逻辑控制器(Programmable Logic Controller-PLC)在内的工业控制系统、设备及应用进行系统的安全评测,并能够对评测过程中发现的大量且具有严重安全漏洞的PLC等控制设备,在选型阶段就予以发现并排除在外,从而有效地避免了将严重的工业安全漏洞引入到控制网络中。\n 本文主要对Styx系统中的漏洞扫描器与用例生成器模块进行了设计与实现。通过分析开源软件YAGG的算法,我们改进了它的实现方式,使其算法性能提升,同时扩展了其功能,使生成用例数量大大提高,并且内容不会出现重复。分析了开源扫描工具NMAP与NESSUS之后,本文又对NESSUS进行了二次开发,使Styx系统可以通过XML技术使用户自己定制或者使用Fuzz功能自动生成专门针对工业网络控制协议的漏洞扫描插件来进行漏洞扫描功能,达到了高效自动化查找漏洞的效果。具体设计用例生成器的时候,本文在前面改进的算法基础上配合C++Boost库的Spirit框架实现了根据正则表达式来生成用例的功能,在生成数量上远远超过YAGG开源软件,同时也不会出现微软正则表达式生成器内容重复的现象,和同类工具相比,无论是速度还是用例生成质量都取得了不错的提升。\n 通过黑盒测试,本文发现通过以上所提到的工作,Styx系统在工业安全准入评测中性能得到了明显的提高,并且查找漏洞的效果也得到大大改善,达到了预期目标。且本文所设计的功能模块已经成功投入市场,开始用于对中国民航信息中心国内航空票务信息系统进行评测,与此同时还被应用在西门子中国研究院CT部进行工业设备安全评估。目前看来在其具体的应用中,这套系统能够有效地在对一些设备和网络的检测中发现问题。