基于BitTorrent的被动式载荷信息监测方法

文档序号:7718331阅读:248来源:国知局
专利名称:基于BitTorrent的被动式载荷信息监测方法
技术领域
本发明属于网络安全领域,涉及一种信息监测方法,特别是基于BitTorrent的被 动式载荷信息监测方法,用于对基于BitTorrent的P2P网络特定信息传播及其受众进行监 测和分析。
背景技术
文献"Ho Gyun Lee,Taek yong Nam, Jong Soo Jang. The Method of P2P Traffic Detectingfor P2P Harmful Contents Prevention[C]. ICACT2005.Feb 21-23,2005, Phoenix Park, Korea"公开了一种基于内容恢复的P2P文件共享系统特定内容监控方法, 该方法首先对P2P数据流进行识别,将P2P数据流按传输内容的类型分为文本、图像和视频 数据。对于文本类型数据内容采用字典比较的方法,将文本中携带的关键字与事先建立好 的不良信息字典库进行比较,以实现对不良内容的监测。对于图像内容,文中只提及对色情 内容的监测,通过图像处理的方法检测文件中"皮肤区域"所占整个图像的比例,超过一定 的阈值则认为该图像携带色情内容。对于视频文件,采用两种监测方法一是从视频文件中 获取关键帧,对关键帧的内容进行判断;二是恢复视频文件的某一片段,根据该片段的内容 判断视频文件是否存在非法内容。该方案的缺点在于系统架构过于复杂,缺乏统一的检测 机制;数据报文内容恢复技术难度大,无法恢复加密的数据内容;图像和视频的检测方法 只能采取事后分析,需要使用复杂的图像处理技术,计算机处理时间长,实时性差,检测准 确率较低。由于基于流量内容的监测模型需要对P2P软件所传输的流量内容进行恢复性识 别,却无法恢复和监控被加密的P2P信息内容。

发明内容
为了克服现有技术对BitTorrent特定信息传播及其受众进行监测时和分析时, 系统架构过于复杂,缺乏统一的检测机制,而计算机处理时间长的不足,本发明提供一种基 于BitTorrent的被动式载荷信息监测方法,根据已经存在的文件生成"文件样本"信息,其 次通过对截获的"载荷信息"与"文件样本"的Hash计算和模式匹配,判断当前传输的"载 荷信息"是否属于被监测的特定信息,这种方法能够有效的对BitTorrent网络中传输的所 有已存在"文件样本"的文件进行监测,可以减少计算机处理时间。 本发明解决其技术问题所采用的技术方案一种基于BitTorrent的被动式载荷 信息监测方法,其特点是包括以下步骤 (a)使用BitTorrent软件将所需要的文件下载到本地硬盘上,根据已经存在的文 件信息生成"文件标本"信息,对"文件标本"信息进行Hash处理,并且Hash处理后的信息 长度必须相同,将Hash处理后的信息进行拼接而形成的数据信息; (b)对"载荷信息"进行Hash加密处理,用经过Hash处理的"文件标本"与经过加 密处理的"载荷信息"进行比较; (c)采用字符串匹配 法进行"载荷信息"与"文件标本"的比较判断,"载荷信息"加密处理结果与"文件标本"中第n*20+l到(n+l)*20位进行比较,式中n为0, 1,2,
Maxn,
,文件标本"长度/20-l文件标本"长度Mod 20 = 0
Maxn=
文件标本"长度/20 文件标本"长度Mod 20 0 当判断出某个"载荷信息"与"文件标本"匹配时,记录当前"载荷信息"所在TCP 链接信息、"文件标本"编号以及"载荷信息"符合数量,再继续进行后续的"载荷信息"比 较;当某个TCP链接在一个"文件标本"上符合的"载荷信息"数量达到系统中所设置的阈 值时,当前TCP链接所传输的"载荷信息"属于被监测的特定文件; (d)根据TCP链接中的源IP地址、源端口和目的IP地址、目的端口 ,获得受众信息 的访问地址信息以及文件传输方向,再根据"载荷信息"所属的"文件标本",得到当前P2P 链接所传输的文件信息,提取当前的系统时间作为文件传输时间,将得到的受众信息和文 件传输信息保存到数据库中,所保存的数据包括源IP地址、源端口、目的IP地址、目的端 口、所传输的文件名称、文件Hash值、传输时间、"载荷信息"匹配数量、记录人员,记录时间, 对于重复的数据只保留一条,以标准的数据格式存入受众数据库。 本发明相比现有技术的优点在于由于采用了对截获的"载荷数据"进行Hash计 算后的数据进行模式匹配的技术,不需要恢复文件的原始内容,不需要关心被传输文件的 格式,只需要对实际截获的"载荷信息"进行Hash计算和模式匹配即可,由于文件恢复是一 个复杂的、涉及多个计算机领域的技术,省略此步骤可以节省大量的计算机处理时间,可以 做到对网络上传输的BitTorrent信息监测时的实时性;通过实验验证和实际测试表明,本 方法对于1G带宽的网络中传输BitTorrent信息,能够实现实时地截获、Hash计算和模式 匹配,能够准确地获取到参与特定信息传播的受众信息,形成特定信息传播受众数据库,为 网络安全监管部门提供了受众信息监测与取证手段,同时为网络安全态势宏观分析和预警 预报提供了基础数据和决策依据。 下面结合附图和实施例对本发明进一步说明。


附图是本发明主程序的流程示意图。
具体实施例方式
本发明采用分模块的体系结构,分模块可使各功能模块的实现分离,模块与模块
之间通过接口进行通讯。第一级为界面部分,包括用户界面管理。它是系统与用户交互的
主要接口,主要实现用户与软件的交互功能以及其它模块的调用功能;第二级为实现部分,
包括文件标本制作模块、载荷信息截获处理模块、载荷信息与文件标本比较模块、受众信息
提取与处理、系统参数设置与读取模块和操作帮助。以下为各个实现模块的说明 文件标本制作模块根据已知文件制作该文件的"文件标本"信息; 载荷信息截获处理模块对网络上传输的"载荷信息"进行截获,并对截获的"载荷
4信息"进行处理; 载荷信息与文件标本比较模块根据已经得到的"载荷信息"与"文件标本"进行 比较,判断当前结果的"载荷信息"是否为被监测的特定文件; 受众信息提取与处理根据比较结果,提取TCP链接中的受众信息并保存到数据 库中; 系统参数设置与读取模块对系统的运行参数进行设置,并且可以根据需要读取 指定的参数; 操作帮助对系统可进行的操作进行说明的模块。
本发明方法具体的实施步骤如下
1)生成"文件标本"。 通过"被动地"截获网络上的BitTorrent流量信息对网络上的BitTorrent传输 信息进行监测;"载荷信息"是指在BitTorrent传输时,节点之间建立连接后,并且进行实 际的数据传输时,所在TCP链接上所传输的具体数据信息;该数据信息一般为所传输文件 的实际信息,没有被加密也没有附加任何其它信息。 在进行基于"载荷信息"的被动式监测时,被监测的文件信息首先必须已经存 在,该文件是进行后续操作的基础,文件的获得可以通过多种方式获得,例如可以使用 BitTorrent软件将所需要的文件下载到本地硬盘上;然后根据已经存在的文件信息生成 "文件标本"信息;"文件标本"是指对特定文件按照指定的大小进行分割,对分割后的信 息进行Hash处理,并且Hash处理后的信息长度必须相同,将Hash处理后的信息进行拼接 而形成的数据信息;使用"文件标本"与截获的载荷信息进行比较,可以判断载荷信息是 否为特定文件的一部分;BitTorrent的传输协议规定,节点与节点之间传输的最小单位为 "块","块"的大小在"种子文件"中进行规定,一般为64K、128K、256K、512K和其它的大小, 但是必须为16K的倍数,因为在对"块"进行传输时,必须将"块"分割成固定大小的"片"进 行传输,"片"的大小是固定的16K ;在制作"文件标本"时,考虑到"块"的大小可以根据"种 子文件"的实际情况而不同,而"片"的大小是固定的;如果使用"块"的大小来制作"文件标 本",相同的文件必须生成多个"文件标本",同时在截获"载荷信息"时必须以"块"为单位, 这样就增加了系统的计算工作量和比较工作量;所以我们使用"片"的大小来生成"文件标 本",这样就减少了系统的计算复杂度,对截获、比较的过程进行统一,不需要考虑"种子文 件"中的特殊情况。 在用户界面上点击文件选择按钮,在弹出的文件选择框中选择需要制作"标本"的 文件,再点击"文件标本"生成按钮,系统自动调用"文件标本"生成模块,该模块自动读取指 定文件的内容并生成"文件标本"信息,生成的"文件标本"信息文件的存放路径在系统参 数中进行设置,生成的"文件标本"信息文件的文件名称与原文件名相同,后缀名为".lar"。 在实验时,共选择的文件为19个,生成的"文件标本"为19个,全部生成成功。
根据已经存在的文件生成"文件标本"时,首先读取指定文件的第一个16K文件内 容到内存中,对内存中的文件内容进行Hash计算,为了计算后的信息长度能够相同并且不 能够被其它系统破解,我们采用安全哈希算法(Secure Hash Algorithm,以下简称SHA1)进 行Hash计算,该算法有如下特征不可以从加密后的信息恢复原信息;不同的原信息会产 生不同的加密信息,但是加密信息的长度是固定的;使用该算法对16K的文件内容加密后
5产生的信息长度为20位;得到第一个16K文件内容的加密信息后,将该信息暂存到内存中, 我们称之为"文件标本暂存区";再获取文件的下一个16K内容,进行Hash计算,将Hash计 算的结果链接到"文件标本暂存区"的后面,重复上述步骤直到指定文件处理完成为止;由 于文件的大小并非都是16K的倍数,所以最后处理的文件内容会小于16K,但是使用SHA1算 法对小于16K的文件内容进行加密计算时,生成的加密信息也是20位,所以对"文件标本" 的生成没有影响。 当文件的所有内容处理完成后,"文件标本暂存区"中的内容就是"文件标本"的实 际内容,将这些信息保存为二进制文件,以便后续使用。
2)"载荷信息"的截获与分析处理。"载荷信息"的来源主要是通过被动监测的方法获取网络上传输的BitTorrent网 络流量;由于网络上传输的内容很多,要在这些海量的数据中准确的截获到"载荷信息"必 须使用BitTorrent "载荷信息"的传输特征来进行首先"载荷信息" 一定是在TCP链接上 进行传输;其次BitTorrent协议会在"载荷信息"的前面加上特征符进行传输,特征符的 内容是"0000400907",其中0040表示传输的数据大小为16K,07表示所传输的数据为"载 荷信息";由于通过TCP进行传输的"片"的大小为16K,而TCP传输包的大小为1406字节, TCP会将需要传输的数据分割成多个TCP包进行传输,截获到TCP包中信息最前面字符为 "0000400907"时,需要将后续多个TCP包进行组合,以生成实际的"载荷信息"。
得到"载荷信息"后,如果直接使用载荷信息与原文件进行比较,会增加比较计算 量,所以我们对"载荷信息"进行Hash计算,使用Hash计算后的信息与"文本标本"进行比 较,以减少系统的比较计算量;对"载荷信息"进行Hash计算的方法与生成"文件标本"所 采用的Hash计算方法相同,都是SHA1加密算法。 在用户界面上点击"载荷信息"截获处理按钮,系统自动调用"载荷信息"截获处理 模±央,该模块对于网络中传输的"载荷信息"进行截获,并对截获的"载荷信息"进行Hash加 密计算,加密计算完成后,直接调用"载荷信息"与"文件标本"比较模块进行比较;在1小 时内成功截获并处理的"载荷信息"数量为38953个。
3)载荷信息与"文件标本"的比较判断。 在系统运行时,系统会首先调用"载荷信息"与"文件标本"比较模块的初始化方 法,该方法会将所有需要被监测的文件的"文件标本"读取到内存中,以加快比较判断的效率。 当"载荷信息"被截获并进行Hash加密计算后,会调用该模块的判断方法,该方法
会根据传入的"载荷信息"与内存中的"文件标本"进行快速比较,以判断当前传入的"载荷
信息"是否属于被监测文件。如果不属于被监测文件,则直接返回,如果属于被监测文件,则
直接调用受众信息提取与处理模块,获取当前"载荷信息"的受众信息。 对已截获的"载荷信息"进行判断的数量为38953个,有7795个"载荷信息"属于
被监测文件。"载荷信息"与"文件标本"的比较判断使用字符串匹配方法来进行,由于采用的 SHA1加密算法的加密结果为20位字符,所以在比较时使用"载荷信息"的加密结果与"文 件标本"中第n*20+l至lj (n+l)*20位进行比较,其中n为0, 1,2, . . . , Maxn,
<formula>formula see original document page 7</formula> 为了加快比较的效率,在系统运行启动时,需要将被监测的"文件标本"读入到内 存中,在进行比较时,直接在内存中进行比较。 当判断出某个"载荷信息"与"文件标本"匹配时,不能直接就说该"载荷信息"属 于被监测文件的一部分,因为存在着单个"载荷信息"重复的可能性;记录当前"载荷信息" 所在TCP链接信息、"文件标本"编号以及"载荷信息"符合数量,再继续进行后续的"载荷 信息"比较;当某个TCP链接在一个"文件标本"上符合的"载荷信息"数量达到系统中所设 置的阈值时,当前TCP链接所传输的"载荷信息"属于被监测的特定文件。
4)受众信息的提取与处理。 当判断出TCP链接所传输的"载荷信息"就是属于被监测的特定文件时,需要对当 前TCP链接所包含的受众信息进行提取首先根据TCP链接中的源IP地址、源端口和目的 IP地址、目的端口可以获得受众信息的访问地址信息以及文件传输方向,再根据"载荷信 息"所属的"文件标本"可以得到当前P2P链接所传输的文件信息,提取当前的系统时间作 为文件传输时间。 对于得到的受众信息和文件传输信息,我们需要将这些信息保存到数据库中,以 便进行其它操作时进行使用,保存的数据包括源IP地址、源端口 、目的IP地址、目的端口 、 所传输的文件名称、文件Hash值、传输时间、"载荷信息"匹配数量、记录人员,记录时间。
对于收集的受众信息进行整理,可以形成完整的受众监控信息,但是由于在收集 信息的过程中没有进行过滤,所以在所收集数据中包含冗余和重复信息,需要对已收集的 数据进行过滤对于重复的数据只保留一条,以标准的数据格式存入受众数据库,保证受众 数据库中数据的惟一性、一致性和完整性。 当"载荷信息"被判断为数据被监测文件时,系统会自动调用受众信息的提取与处 理模块,来获取"载荷信息"所在的P2P链接的受众信息,获取的受众信息包括源IP地址、 源端口、目的IP地址、目的端口、所传输的文件名称、文件Hash值、传输时间、"载荷信息"匹 配数量、记录人员,记录时间;对已判断出属于被监测文件的"载荷信息"提取受众信息,得 到的受众信息数据记录数量为7795条,对这些受众信息进行过滤、整理,得到不同的受众 信息数量为3个。
权利要求
一种基于BitTorrent的被动式载荷信息监测方法,其特征在于包括以下步骤(a)使用BitTorrent软件将所需要的文件下载到本地硬盘上,根据已经存在的文件信息生成“文件标本”信息,对“文件标本”信息进行Hash处理,并且Hash处理后的信息长度必须相同,将Hash处理后的信息进行拼接而形成的数据信息;(b)对“载荷信息”进行Hash加密处理,用经过Hash处理的“文件标本”与经过加密处理的“载荷信息”进行比较;(c)采用字符串匹配方法进行“载荷信息”与“文件标本”的比较判断,“载荷信息”加密处理结果与“文件标本”中第n*20+1到(n+1)*20位进行比较,式中n为0,1,2,...,Maxn,当判断出某个“载荷信息”与“文件标本”匹配时,记录当前“载荷信息”所在TCP链接信息、“文件标本”编号以及“载荷信息”符合数量,再继续进行后续的“载荷信息”比较;当某个TCP链接在一个“文件标本”上符合的“载荷信息”数量达到系统中所设置的阈值时,当前TCP链接所传输的“载荷信息”属于被监测的特定文件;(d)根据TCP链接中的源IP地址、源端口和目的IP地址、目的端口,获得受众信息的访问地址信息以及文件传输方向,再根据“载荷信息”所属的“文件标本”,得到当前P2P链接所传输的文件信息,提取当前的系统时间作为文件传输时间,将得到的受众信息和文件传输信息保存到数据库中,所保存的数据包括源IP地址、源端口、目的IP地址、目的端口、所传输的文件名称、文件Hash值、传输时间、“载荷信息”匹配数量、记录人员,记录时间,对于重复的数据只保留一条,以标准的数据格式存入受众数据库。F2009102191623C00011.tif
全文摘要
本发明公开了一种基于BitTorrent的被动式载荷信息监测方法,用于对基于BitTorrent的P2P网络特定信息传播及其受众进行监测和分析。所述方法使用BitTorrent软件将所需要的文件下载到本地硬盘上,根据已经存在的文件信息生成“文件标本”信息,对“文件标本”信息进行Hash处理,对“载荷信息”进行Hash加密处理,用经过Hash处理的“文件标本”与经过Hash加密处理的“载荷信息”进行比较,采用字符串匹配方法进行“载荷信息”与“文件标本”的比较判断,对获得的受众信息进行提取和处理。由于采用了对截获的“载荷数据”进行Hash加密处理的数据进行模式匹配,不需要恢复文件的原始内容,不需要关心被传输文件的格式,因此,节省大量的计算机处理时间。
文档编号H04L29/06GK101719907SQ20091021916
公开日2010年6月2日 申请日期2009年11月26日 优先权日2009年11月26日
发明者丁军平, 胡润东, 蔡皖东, 马富达 申请人:西北工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1