论文部分内容阅读
网络协议的技术信息对入侵检测、模糊测试和协议重用等有着非常重要的作用,但是现在网络中使用的协议大部分都是非公开的协议,没有正式的描述文档,因此,研究人员提出了协议逆向工程。协议逆向工程的研究力图建立一套通用的方法,自动化地对协议进行分析处理,得到协议的技术特征。目前的协议逆向工程研究大部分致力于协议报文格式的解析,而忽略了协议的行为模式识别,即协议状态机的还原。在协议状态机的还原方面,多数的研究是使用离线算法,较少的研究使用在线算法。基于在线算法的协议逆向工程,可以动态的产生待测试的序列,提高学习的精度,得到更准确的协议状态机模型。改进的在线算法NL~*,使用了高效的反例处理策略,降低了算法构造状态机的复杂度,并减少了所需的成员确认。另外,对在线算法在协议逆向的应用进行了两点优化,充分利用协议逆向第一阶段的成果,学习初始集,使用协议知识进行成员确认的过滤,进一步提高了协议状态机推断的效率。实验结果显示,原始的NL~*算法比L*算法需要更多的成员确认,而改进的NL~*算法,比L*算法更加地高效,需要更少的成员确认和等效确认,在对FTP和SMTP的测试中,改进的NL~*算法性能上明显更加的优秀,效果上,在线算法也可以得到比离线算法更为准确的结果。