论文部分内容阅读
随着VoIP应用的发展,简单并易于扩展的SIP协议得到了广泛应用。由于SIP协议是一个基于文本的协议,在安全上考虑不足,因此,基于SIP协议实现的VoIP实体在网络中面临着安全威胁,针对SIP协议的纯文本特性构造畸形数据包进行攻击就是其中一种典型的安全威胁。对基于文本的种类繁多的畸形SIP消息采用正则表达式进行处理简单有效。本文设计并实现了基于特征自生成的畸形SIP信令检测技术方案。在畸形信令特征预处理模块中,本文在对SIP协议规则特征进行分析的基础上,研究了对基于ABNF范式定义的SIP协议规则进行词法和语法分析的理论和方法,设计并实现了利用编译器技术对SIP协议规则进行解析,将解析的结果保存为规则树,最后利用规则树自动化地生成SIP协议规则正则表达式的方法。在畸形信令入侵检测模块中,利用预处理模块生成的正则表达式作为检测特征,实现畸形包检测。本文还详细推导了畸形信令特征预处理模块中的SIP协议规则转化为正则表达式的过程。为了证明预处理模块中编译生成SIP协议规则正则表达式的正确性,本文利用畸形消息测试工具进行测试。经过实验的验证,证明了该模块最终生成的正则表达式是与SIP协议规则定义等价的。实验还表明,该模块生成的正则式对RFC 3261中的ABNF范式定义满足完备性和确定性,对不满足RFC 3261协议规定的畸形信令的检测正确率为100%,误检率为0。为了验证预处理模块比现有ABNF解析生成正则表达式库提高了容错性能,本文测试了模块对错误输入的处理,结果表明预处理模块能降低工作量,提高容错性。在实际的语音安全防护系统中,已经使用了本文中方法生成的SIP协议规则的正则表达式,这些正则表达式作为检测畸形包的特征加入到分析模块中,实现了对畸形SIP信令的检测和报警。