论文部分内容阅读
随着计算机网络的发展,在当今的社会中计算机网络已经被广泛的应用到我们的各个领域中,像工业领域,科研机构,政府部门,金融经济都有各自特定的网络,甚至于整个普通的社会群体生活也已经离不开网络,如各类的社交网络和电子商务。又加之现在云计算的不断发展,网络中的数据类型更加复杂。为了保障网络数据中的隐私以及合理的控制网络流量,数据安全以及数据流类型的分析与判断受到越来越多的关注,并成为学术界研究的焦点。从这个方向出发延伸出了一个新的研究方向—深度包检测技术。深度包检测先从某种入侵行为或者某个应用类型的数据包当中提取出它们应用层信息的特征字符串,然后利用这些特征字符串与待检测数据包的应用层数据进行精确的匹配,如果一段数据流与某个特征字符串完全匹配,那么这段数据流就是特征字符串对应的入侵行为或者流类型。但是这样的检测方法有一个极大缺点就是,当某一特征字在原文中的语义发生改变时,这个特征字符串就失去了它的检测与分类作用,从而产生误判漏判的结果。本文针对于这样的缺点,并且结合确定性有限自动机(Deterministic FiniteAutomata,简称DFA)提出了一种新的非精确深度包检测方法—Counting DFA,并把它应用到流分类检测。Basic Counting DFA算法使用了Aho-Corasick多模式匹配算法(简称AC多模式匹配算法)从训练集中随机抽取匹配模式串,不同类型的匹配模式串各自构造分类DFA,分类时根据统计概率值进行结果判断。在Advanced Counting DFA中又对各个分类DFA的联合设计了两种联合方式—Linked DFA和Combined DFA。同时设计出了一种简单自动阈值选择方法,提高了阈值选择的可靠性和分类结果的准确性。最后,本文根据设计算法实现了一套云网关中流分类系统,并在真实的环境中做了测试。