应用识别验证方法及装置的制作方法

文档序号:7865132阅读:205来源:国知局
专利名称:应用识别验证方法及装置的制作方法
技术领域
本发明涉及网络安全技术,尤其涉及一种应用识别验证方法及装置。
背景技术
随着网络应用层出不穷,更多更复杂的安全风险隐藏于各种网络应用之中,例如利用web服务安全漏洞进行的攻击,又如一些消耗带宽的应用,流媒体、视频下载等,挤占正常的网络资源,严重影响了企业的正常工作,网络安全管理面临新的挑战和新的问题。基于上述原因,将各种应用识别结果进行验证和分析,对网络管理和网络安全至关重要,另外,进一步对应用识别设备进行改进和完善也需要更多的验证分析结果作为依据,而现有技术缺少一种能够快速、准确验证和分析应用识别结果的方法。

发明内容
针对上述缺陷,本发明提供一种应用识别验证方法及装置。本发明一方面提供一种应用识别方法,包括接收应用识别设备发送的应用识别结果;若所述应用识别结果与预期结果不同,则确定与所述应用相关的其它应用;获取所述应用与所述其它应用之间的相关性分析结果;根据所述应用的特征信息确定所述应用复杂度,并根据所述应用识别结果、所述预期结果以及所述相关性分析结果确定额外匹配应用数;根据所述应用复杂度和所述额外匹配应用数,确定误报风险度。本发明另一方面提供一种应用识别验证设备,包括接收模块,用于接收应用识别设备发送的应用识别结果;第一确定模块,用于若所述应用识别结果与预期结果不同,则确定与所述应用相关的其它应用;获取模块,用于获取所述应用与所述其它应用之间的相关性分析结果;所述第一确定模块,用于根据所述应用的特征信息确定所述应用复杂度,并根据所述应用识别结果、所述预期结果以及所述相关性分析结果确定额外匹配应用数;根据所述应用复杂度和所述额外匹配应用数,确定误报风险度。本发明提供的应用识别验证方法及装置,实现了通过将应用识别结果与预知结果比较进行验证,特别是当应用识别结果与预期结果不同时,可以针对应用识别结果的误报情况进行详细分析,为进一步提高应用识别准确性提供了依据和保障,且整个过程可以自动化完成,快速准确,节省人力和时间。


图I为本发明提供的应用识别验证方法实施例一的流程示意图;图2为本发明提供的应用识别验证方法实施例二的流程示意图3为本发明提供的应用识别验证设备实施例一的结构示意图;图4为本发明提供的应用识别验证设备实施例二的结构示意图;图5为本发明提供的应用识别验证系统实施例一的结构示意图。
具体实施例方式图I为本发明提供的应用识别验证方法实施例一的流程示意图,如图I所示,该方法包括S101、接收应用识别设备发送的应用识别结果。S102、若上述应用识别结果与预期结果不同,则确定与上述应用相关的其它应用;根据应用识别经验设置,一些应用之间存在着相关性,可能会对识别结果有干扰,所以会将与上述应用相关的应用在数据库中的相关数据都提取出来。S103、获取上述应用与上述其它应用之间的相关性分析结果。S104、根据上述应用的特征信息确定上述应用复杂度,并根据上述应用识别结果、上述预期结果以及上述相关性分析结果确定额外匹配应用数。S105、根据上述应用复杂度和上述额外匹配应用数,确定误报风险度。需要说明的是,整个应用识别验证系统中,包含应用验证设备和应用识别设备,以及一些应用识别对象设备,例如某局域网中的电脑设备等,并不以此为限;在验证过程中,将已知应用的抓包(pcap)文件发送到应用识别设备进行应用识别,其中应用识别可以包括两个阶段,第一阶段为特征提取阶段,一般主要提取三种特征I)用于描述上述会话中的数据包负载长度信息的第一特征;即描述应用的会话中的数据包负载长度总是在一些长度值上或是总在一个长度范围内,记为ptlen特征;2)用于描述承载上述会话中的数据包负载长度信息的字节的第二特征;即应用的会话中的数据包普遍存在在一偏移位置的几个字节,可以是一个字节(char)、两个字节(short)、四个字节(int),用于承载数据包负载长度信息或是承载该字节之后数据包负载长度信息,记为offlen特征;3)用于描述上述会话中的数据包负载的一偏移位置或一偏移范围总是出现的特定字符串的第三特征;即描述应用的会话中的数据包负载普遍存在的在一偏移位置或一偏移范围的一串一定长度的公共字符串,记为content特征;具体的,对上述应用的pcap文件进行解析,获取该pcap文件的会话,一般每个pcap文件可解析出至少一个会话,对这些会话的数据部分进行特征提取,提取的所有结果都会存储在数据库中。第二阶段为特征分析阶段,对以上提取出的特征进行逻辑分析,具体为,将上述三种特征中至少一种进行逻辑组合并校验,例如,对不在同一偏移位置的content特征进行组合并校验,可以为(cl,c2,c3)等,或对上述三种特征组合并校验,可以为(pl,ol,Cl)或者(pl, ol, c2);具体校验内容可以是,在上述pcap解析出的所有会话中,统计出会话中存在至少一个数据包匹配到该特征组合的会话数,算出该统计值与上述所有会话总数的比值,记为会话命中率;然后统计出上述应用的会话中所有数据包中,能够匹配到该特征组合的数据包数量,算出该统计值与上述所有数据包总数的比值,记为数据包命中率;最终目的是得出最严格的特征组合,以便以后识别应用更加准确。
根据得到的特征组合识别应用,得出最后的识别结果。应用识别完成后,应用识别设备会把应用识别结果发送给应用识别验证设备,将得到的结果与预期结果比较,具体的,向应用识别设备发送pcap文件之前就获知该pcap文件对应的应用作为预期结果,以QQ应用为例,发送QQ的pcap文件进行识别,最后得到的识别结果也是QQ,即识别得到的结果与预期结果相同,那么记录成功;如果与预期结果不同,则进行后续的误报分析,得到误报风险度。在应用识别结果与预期不同的场景下,还可以对上述应用识别结果与预期结果不同的会话进行分析,获取所述不同会话的特征匹配结果,具体的,特征提取过程是在pcap文件解析出的会话中提取特征,再根据这些特征识别应用,并将过程中提取的数据和最后应用识别结果记录在数据库中;由于在该验证过程中,提取的是已知应用的特征,根据应用识别结果可以清楚知道具体会话的误报情况,例如,属于应用A的会话M,最后的识别结果是同时匹配上了应用A和应用B,或者只匹配上了应用B,于是将此误报结果记录在数据库中,另外,统计出同一会话中数据包匹配到其它应用的数量,记为同会话误报总数,以及上述pcap文件中所有会话中匹配到其它应用的会话数量,记为不同会话误报总数。需要说明的是,本发明整个过程自动化进行,启动应用验证设备后,就无需人工干预了。本实施例中,对应用识别结果进行验证,并将误报的情况给出详细的误报分析,为进一步提高应用识别的准确性提供保障,整个过程自动化进行,快速、准确的完成,同时节省了人力和工作时间。上述误报分析的具体实现过程中,获取上述应用与上述其它应用之间的相关性分析结果,在把相关应用的数据从数据库中提取出来后,对上述应用与上述其它应用之间的相关性进行分析,获取上述应用与上述其它应用之间具有依赖关系的分析结果,和/或,具有关联关系的分析结果。具体的,应用A依赖于应用B的依赖关系指提取应用A的特征前必须要提取应用B的特征,例如提取网页版QQ的特征,需要先提取网页(web)的特征,另外,对依赖关系进行梳理,若应用A、B、C都依赖于应用E,而应用D依赖于应用A,那么最后分析结果为与应用D存在依赖关系的应用为应用A和应用E,将结果写入数据库;关联关系指应用A和应用B提取出的特征有相同或相似的部分,例如应用A最后提取的特征为(pl, ol, cl),应用B最后提取的特征为(pl, ol, c2),记为应用A与应用B存在关联关系,与入数据库。另外,上述应用的特征信息,具体为下述特征信息中的至少一种信息I)用于描述是否定定义数据包长度的第一数值,记为a,如果定义了数据包长度,则记a=0. I ;如果没有定义数据包长度,则记a=0 ;2)用于描述是否包含描述承载数据包长度信息的字节的特征的第二数值,记为b,也就是描述根据上述pcap文件提取出的特征中是否包含上述offlen特征,如果包含offlen特征,则记b=l ;如果不包含offlen特征,则记b=0 ;3)用于描述包含描述数据包负载的一偏移位置或一偏移范围总是出现的特定字符串的特征数量的第三数值,记为C,也就是描述根据上述pcap文件提取出的特征中包含几个content特征,如果包含I个content特征,则记c=0. I ;如果包含2个或2个以上的content特征,需要考虑这些content特征之间的逻辑关系,例如包含的2个content特征为在识别应用时为和(and)关系,即2个content特征同时存在才能识别出某应用,则记c=0. 2,如果这2个content特征在应用识别时为或(or)关系,即2个content特征任选一都能识别出某应用,则还记c=0. I ;依此类推,但是当包含的content特征大于等于10个时,若content特征之间为和关系,则记为c=l,若content特征之间为或关系,则可以记为c=0. I ;那么上述根据应用的特征信息确定应用复杂度的具体公式可以为应用复杂度=(a+4b+c) /6 ;根据应用识别结果、预期结果、以及上述相关性分析结果确定额外匹配应用数,公式为额外匹配应用数=与预期结果不符的应用数一其中有依赖关系的应用数一其中有关联关系的应用数,举例说明,发送已知应用的pcap文件,识别出了 5个应用,若这5个应用中包含上述应用,则与预期结果不符的应用数为4;若这5个应用中不包含上述应用,则与预期结果不符的应用数为5 ;再减去上述分析出个与上述应用具有相关性的应用数,以获取额外匹配应用数;根据上述应用复杂度和所述额外匹配应用数,确定误报风险度,具体指,最终误报风险度的计算公式可以为误报风险度=应用复杂度X额外匹配应用数。需要说明的是,在向应用识别设备发送已知应用的抓包(pcap)文件的基础上,若未接收到上述应用识别结果,则需要进行漏报分析,具体的,包括从上述应用识别设备的数据库中提取上述应用的待分析特征信息,也就是应用识别的第一阶段特征提取阶段存储在数据库中的内容,若未提取到上述待分析特征信息,则确定漏报原因为上述应用识别设备在特征提取阶段发生故障;若提取到上述待分析特征信息,则确定漏报原因为上述应用识别设备在特征分析阶段发生故障;最后将结果存储在数据库中。本实施例中,对应用识别结果进行验证,并将误报和漏报情况给出详细的误报分析和漏报分析,为进一步提高应用识别的准确性以及改进和完善应用识别设备提供了依据和保障,且整个过程自动化进行,可以快速、准确的完成,同时节省了人力和工作时间。图2为本发明提供的应用识别验证方法实施例二的流程示意图,如图2所示,上述验证方法,在应用验证设备启动后的整个执行过程为S201、检测应用识别验证设备的配置文件,获取本地pcap文件的存放位置,对这些pcap文件进行解析,获取pcap文件按照应用分类的列表,并配置好发送pcap文件的网络接口以及速率。S202、启动远程监控程序,用于监控待发送的pcap文件的状态以及用于发送pcap文件的网络接口是否正常工作。S203、确认是否可以远程监控,如果不能远程监控,则记录监控失败;如果可以监控,则执行步骤S204。S204、确认待发送的pcap文件的状态是否正常,如果不正常,例如不能按正常速率发送等,则记录为本地数据异常,如果正常,则执行S205。S205、确认远程监控设备的各状态是否都正常,如果存在不正常状态,例如远程设备没有监听到对应的位置或远程设备的主引擎出现故障的等,记录监控设备工作状态异常,并退出验证过程;如果没有不正常状态,则执行S206。S206、触发发送模块,即将按应用分类的pcap文件排列成循环依次发送到应用识别设备进行应用识别处理。S207、接收应用识别设备发送的应用识别结果;其中,获取的应用识别结果中包括,应用识别设备在各个阶段识别的数据,例如,对应用pcap文件解析的结果、第一阶段特征提取结果、第二阶段特征分析结果以及最终的识别结果等。
S208、判断上述接收的应用识别结果与预期结果是否相同,由于该验证过程中发送到应用识别设备的是已知应用的pcap文件,因此,这里就是判断应用识别结果是否就是已知应用,若与预期结果不同,则执行步骤S209 ;若与预期结果相同,则记录识别成功。S209、进行误报或漏报分析,获取误报分析结果和漏报分析结果,并记录,具体过程参照图I对应的实施例。S210、输出最终验证结果,包括成功记录或漏报分析结果或误报分析结果。需要说明的是,上述方法的整个过程自动化进行,无需人工干预。本实施例中,通过发送已知应用的pcap文件进行应用识别,并对接收到的应用识别结果进行验证,针对误报和漏报情况还会给出详细的误报分析和漏报分析,为进一步提高应用识别的准确性以及改进和完善应用识别设备提供依据和保障,且整个过程自动化进行,可以快速、准确的完成,同时节省了人力和工作时间。图3为本发明提供的应用识别验证设备实施例一的结构示意图,如图3所示,该设备包括接收模块301、第一确定模块302、获取模块303,用于完成误报分析过程,其中接收模块301,用于接收应用识别设备发送的应用识别结果;第一确定模块302,用于若所述应用识别结果与预期结果不同,则确定与所述应用相关的其它应用;获取模块303,用于获取所述应用与所述其它应用之间的相关性分析结果;上述第一确定模块302,还用于根据所述应用的特征信息确定所述应用复杂度,并根据所述应用识别结果、所述预期结果以及所述相关性分析结果确定额外匹配应用数;根据所述应用复杂度和所述额外匹配应用数,确定误报风险度。其中,所述应用的特征信息,具体为下述特征信息中的至少一种信息用于描述是否定义数据包长度的第一数值;用于描述是否包含描述承载数据包负载长度信息的字节的特征的第二数值;用于描述包含描述数据包负载的一偏移位置或一偏移范围总是出现的特定字符串的特征数量的第三数值。上述获取模块303,还用于对所述应用识别结果与所述预期结果不同的会话进行分析,获取所述不同的会话的特征匹配结果。上述获取模块303,具体用于对所述应用与所述其它应用之间的相关性进行分析,获取所述应用与所述其它应用之间具有依赖关系的分析结果,和/或,具有关联关系的分析结果。上述各模块工作参照前述方法实施例,在此不再赘述。本实施例中,应用识别验证设备对应用识别结果进行验证,并将误报的情况给出详细的误报分析,为进一步提高应用识别的准确性以及改进和完善应用识别设备提供依据和保障,整个过程自动化进行,快速、准确的完成,同时节省了人力和工作时间。图4为本发明提供的应用识别验证设备实施例二的结构示意图,如图4所示,应用识别验证设备还进行漏报分析,在图3的基础上,应用识别验证设备还包括提取模块304和第二确定模块305,其中若接收模块301未接收到所述应用识别结果,提取模块304,用于从所述应用识别设备的数据库中提取所述应用的待分析特征信息;第二确定模块305,用于若未提取到所述待分析特征信息,则确定漏报原因为所述 应用识别设备在特征提取阶段发生故障;若提取到所述待分析特征信息,则确定漏报原因为所述应用识别设备在特征分析阶段发生故障。上述各模块工作参照前述方法实施例,在此不再赘述。本实施例中,通过向应用识别设备发送已知应用的pcap文件进行应用识别,并对结果进行验证,对误报和漏报情况还会给出详细的误报分析和漏报分析,为进一步提高应用识别的准确性以及改进和完善应用识别设备提供依据和保障,且整个过程自动化进行,可以快速、准确的完成,同时节省了人力和工作时间。图5为本发明提供的应用识别验证系统实施例一的结构示意图,如图5所示,上述应用识别验证设备的具体应用环境可以包括包含至少一个个人计算机(PersonalComputer,简称PC) 501、内部网(Intranet) 502、应用识别设备503和应用识别验证设备504,具体的,最初可以由应用识别验证设备503向应用识别设备504发送pcap文件,应用识别设备504完成识别后再把结果反馈给应用识别验证设备503进行验证以及后续的分析,根据具体需要还可以应用在其它局域网中,但并不以此为限。本实施例中,通过向应用识别设备发送已知应用的pcap文件进行应用识别,并对结果进行验证,对误报和漏报情况还会给出详细的误报分析和漏报分析,为进一步改进和完善应用识别的准确性提供依据和保障,且整个过程自动化进行,可以快速、准确的完成,同时节省了人力和工作时间。本领域普通技术人员可以理解实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
9
权利要求
1.一种应用识别验证方法,其特征在于,包括接收应用识别设备发送的应用识别结果;若所述应用识别结果与预期结果不同,则确定与所述应用相关的其它应用;获取所述应用与所述其它应用之间的相关性分析结果;根据所述应用的特征信息确定所述应用复杂度,并根据所述应用识别结果、所述预期结果以及所述相关性分析结果确定额外匹配应用数;根据所述应用复杂度和所述额外匹配应用数,确定误报风险度。
2.根据权利要求I所述的方法,其特征在于,还包括对所述应用识别结果与所述预期结果不同的会话进行分析,获取所述不同的会话的特征匹配结果。
3.根据权利要求I或2所述的方法,其特征在于,所述获取所述应用与所述其它应用之间的相关性分析结果,包括对所述应用与所述其它应用之间的相关性进行分析,获取所述应用与所述其它应用之间具有依赖关系的分析结果,和/或,具有关联关系的分析结果。
4.根据权利要求I或2所述的方法,其特征在于,所述应用的特征信息,具体为下述特征信息中的至少一种信息用于描述是否定义数据包长度的第一数值;用于描述是否包含描述承载数据包负载长度信息的字节的特征的第二数值;用于描述包含描述数据包负载的一偏移位置或一偏移范围总是出现的特定字符串的特征数量的第三数值。
5.根据权利要求I或2所述的方法,其特征在于,若未接收到所述应用识别结果,则所述方法还包括从所述应用识别设备的数据库中提取所述应用的待分析特征信息;若未提取到所述待分析特征信息,则确定漏报原因为所述应用识别设备在特征提取阶段发生故障;若提取到所述待分析特征信息,则确定漏报原因为所述应用识别设备在特征分析阶段发生故障。
6.一种应用识别验证设备,其特征在于,包括接收模块,用于接收应用识别设备发送的应用识别结果;第一确定模块,用于若所述应用识别结果与预期结果不同,则确定与所述应用相关的其它应用;获取模块,用于获取所述应用与所述其它应用之间的相关性分析结果;所述第一确定模块,还用于根据所述应用的特征信息确定所述应用复杂度,并根据所述应用识别结果、所述预期结果以及所述相关性分析结果确定额外匹配应用数;根据所述应用复杂度和所述额外匹配应用数,确定误报风险度。
7.根据权利要求6所述的装置,其特征在于,所述获取模块,还用于对所述应用识别结果与所述预期结果不同的会话进行分析,获取所述不同的会话的特征匹配结果。
8.根据权利要求6或7所述的装置,其特征在于,所述获取模块,具体用于对所述应用与所述其它应用之间的相关性进行分析,获取所述应用与所述其它应用之间具有依赖关系的分析结果,和/或,具有关联关系的分析结果。
9.根据权利要求6或7所述的装置,其特征在于,所述应用的特征信息,具体为下述特征信息中的至少一种信息用于描述是否定义数据包长度的第一数值;用于描述是否包含描述承载数据包负载长度信息的字节的特征的第二数值;用于描述包含描述数据包负载的一偏移位置或一偏移范围总是出现的特定字符串的特征数量的第三数值。
10.根据权利要求6或7所述的装置,其特征在于,还包括提取模块,用于从所述应用识别设备的数据库中提取所述应用的待分析特征信息;第二确定模块,用于若未提取到所述待分析特征信息,则确定漏报原因为所述应用识别设备在特征提取阶段发生故障;若提取到所述待分析特征信息,则确定漏报原因为所述应用识别设备在特征分析阶段发生故障。
全文摘要
本发明提供一种应用识别验证方法及装置,该方法包括接收应用识别设备发送的应用识别结果;若所述应用识别结果与预期结果不同,则确定与所述应用相关的其它应用;获取所述应用与所述其它应用之间的相关性分析结果;根据所述应用的特征信息确定所述应用复杂度,并根据所述应用识别结果、所述预期结果以及所述相关性分析结果确定额外匹配应用数;根据所述应用复杂度和所述额外匹配应用数,确定误报风险度。本发明通过对应用识别结果进行验证,并进行误报分析,为应用识别更加准确提供依据和保障。
文档编号H04L29/06GK102938765SQ20121044873
公开日2013年2月20日 申请日期2012年11月9日 优先权日2012年11月9日
发明者卢蓉, 陈裕涛, 李伟超, 刘海霞 申请人:北京神州绿盟信息安全科技股份有限公司, 北京神州绿盟科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1