当前位置: 首页 > 科技观察

应用流量识别难点与对策

时间:2023-03-15 09:51:11 科技观察

在网络入口识别应用程序非常重要。无论是网络安全产品,还是专业的流量分析引擎,准确识别应用流量,不仅可以洞察整个网络的运行情况,而且可以根据具体需求精准控制用户行为,不仅可以保障一定程度上保证了业务流的高效运行,同时也防止了内网中毒导致的断??网事件。然而,准确识别应用流量在技术实现上并不容易。难点主要体现在识别算法和检测深度上。算法不仅要对流量进行分类,还要负责在多个类别中寻找特征,所以最好的算法往往带来准确的识别;另一个是检查数据的深度,它总是与性能相关。越多,消耗的系统资源就越多。因此,检查一个流的前20个数据包的性能开销往往超乎想象,这就是我们提到的识别难度。至于识别方法,从技术角度来看,主要有三种方法来检查一个应用程序的特性。第一种方法称为标准检测,主要依靠识别头部信息的地址和端口。这种方法常用于网关设备中以实现QoS。第二种方法称为DPI(DeepPacketInspection),这是业界常用的术语。大多数设备都声称拥有这种技术,这在“下一代内容检查系统”和UTM类设备中很常见。从理论上讲,数据流中每个数据包的任何字段或数据流传输过程中的任何特征都可以作为应用协议识别的依据,但在实践中,如何快速选择最有效的数据流特征信息还远远不够。超乎你的想象。第三种方法称为解密检测方法,即将数据流发送给分类器。对数据流进行分类后,将加密后的数据流发送给解密引擎。解密引擎通过预设的解密算法对数据进行解密。再次返回分类器进行检查。例如,天融信TopFlow就是利用该技术来识别加密数据。通过这种独特的技术,准确识别率可达99%以上。当然,我们在介绍应用流量识别的时候,有几个概念需要介绍:数据流:基于应用层协议识别的对象不能简单的检查单个报文,而是对数据流进行整体检测。因此,数据流是指在一定的会话生命周期内,经过网络上检测节点的IP数据包的集合。事实上,一个节点发送的数据流的所有属性都是相同的。数据流分类:利用数据流和数据流中数据包的某些信息,可以对网络上的数据流进行分类。这种分类可以加快应用流量的分类。例如,游戏应用数据流通常是小包,而P2P流量一般称为大包。数据流类别:数据流类别是一个具有大网络结构的分类器,根据行为特征和签名进行分类。在数据流分类问题中,每个类别可能包含多个具有相似属性的协议。典型的例子有多类IE下载,包括分块下载、伪IE下载等,还有单线程下载等,协议识别要对流量进行更精细的分类,让每一类中的流量只使用一个应用层协议。协议识别:协议识别是指检测引擎根据协议特征识别网络数据流使用的应用层协议。应用协议特征串:特征串是协议分类的关键依据。协议特征字符串示例ftp特征字符串acct,cwd,smnt,port;smtp特征字符串HELO,EHLO,MAILFROM:,RCPTTO:,VRFY,EXPN;pop3特征字符串+OK,-ERR,APOP,TOP,UIDL;msn特征字符串包括msg、nln、out、qng、ver、msnp;OICQ特征字符串以***字符开头Section:0x02,第四、五字节:协议号;sip特征字符串REGISTER,INVITE,ACK,BYE,CANCEL,SIP;eMule特征串第一个字节:0xe3或0xc5或0xd4;应用流量协议特征检测方法数据流检测方法主要分为四个层次,下面我们从最简单到最复杂的来描述检测过程。首先,互联网上众所周知的网络应用都是建立在固定的网络协议或端口上的,比如http、ftp等常用协议。其次,当应用程序变得复杂时,很多应用程序会启用随机端口进行通信。因此,我们无法提前预测新启用的端口。这时DPI就必须对会话进行实时监控,通过监控上千个并发会话来判断其状态。应用特点。很多新的网络应用伪装使用已知的固定端口,比如使用80、8080、443等知名端口,尤其是80端口。伪装的目的是为了先被防火墙识别,以免被拦截在防火墙上。通过正常的网络访问。P2P伪装和视频伪装等应用程序使用这些众所周知的端口。此时设备需要开始跨多个会话寻找所谓的签名,这通常是一个复杂的字符串,由检测引擎预先定义并且对一个应用程序是唯一的。随着应用的增多,DPI特征库需要不断更新。如下图所示,迅雷使用假IE进行下载,属于典型的伪装。第三,对于完全加密的应用,我们称之为加密流,对于加密的数据流,寻求端口或签名是没有意义的。因此,检测引擎需要开发一种新方法来查看数据包长度及其顺序。事实上,这些加密应用程序中的一些始终使用相同系列的数据包长度、相同位置和相同顺序,这就是所谓的行为特征。通常,检测引擎可以分析这些加密流的行为。其实这里有两个难点。一是加密流特征串的获取本身就需要扎实独特的算法。另外,仅仅检测位置是远远不够的,比如加密传输的应用协议的加密方式几乎每周都会改变位置,而天融信TopFlow独有的算法不仅可以检测加密数据流的位置,还解密了加密的数据流,这让他明白应用识别率可以高达99%。如何评价应用识别引擎:应用识别引擎是应用流量管理系统的核心,所以以下五点可以更好的评价产品。***识别多少应用,尤其是复杂协议和新协议的识别成为产品的核心,而不是仅仅通过端口号识别的简单应用或标准应用。二是应用协议识别的准确性。一个好的引擎或者一个好的算法可以保证低的误报和漏报。第三,应用检测的时间消耗。一个好的引擎可以在很短的时间内检查功能。第四,高性能和高带宽处理。只有好的引擎才能部署在大型网络环境中,比如大学、大型集团用户、运营商网络。第五,更新协议库的频率和更新协议库的难度。只有好的引擎才能保证协议库的更新有校验、有计算、有校对,这样系统才不会不断重启,即使升级失败,也不会破坏原有的签名库,正常运行。天融信TopFlow应用流量管理系统基于天融信17年的技术积累,对上万个用户应用进行分析归纳,在天融信自主操作系统TOS的基础上开发而成,基于用户应用分析和受控系统。TopFlow依托于具有自主知识产权的TOS(TopsecOperatingSystem)安全操作系统,采用全模块化设计,采用中间层的概念,降低系统对硬件的依赖,使内核更加精简和优化,特别是在天融信多核处理硬件平台上,通过大量的协议栈优化,针对高性能处理需求进行中断处理和驱动优化,确保系统以最快的速度执行数据,以更高的速度运行优先在天融信自主研发的多核处理平台上,超高速发布。通过完善的应用协议特征库检测和伪装检测技术,以及(DPI)深度包检测技术识别各类用户应用,应用识别率超过99%。特别是对使用规避技术的加密协议的精准识别,如对使用加密传输的迅雷协议族、QVOD视频等加密协议的及时准确识别,是其他产品技术无法比拟的。