信息包数据提取装置、信息包数据提取装置的控制方法、控制程序、计算机可读取的记录介质的制作方法
【专利摘要】本发明提供一种信息包数据提取装置、信息包数据提取装置的控制方法、控制程序、计算机可读取的记录介质。本发明的信息包数据提取装置(10)具备:进程名确认部(12),其确认对象信息包(P)的有效载荷中所包含的消息的进程名;和数据获取部(13),其根据与进程名预先建立了对应的数据位置信息(14b),从根据该数据位置信息确定的目标信息包的有效载荷中获取目标数据。
【专利说明】信息包数据提取装置、信息包数据提取装置的控制方法、控制程序、计算机可读取的记录介质
【技术领域】
[0001]本发明涉及从通信途中的信息包提取作为目标的数据的信息包数据提取装置、信息包数据提取装置的控制方法、控制程序、计算机可读取的记录介质。
【背景技术】
[0002]例如,文件元数据窜改型IOOtkit是计算机病毒的一种形式,若受到感染,则连带产生服务的停止或信息泄露,会对服务品质带来严重的侵害。文件元数据窜改型rootkit变更操作系统内核内的数据,因此一般的杀毒软件极难检测到。为了检测该rootkit,构筑网络系统并通过虚拟机监控器监视被交换的信息包是极其有效的。如该例所示,在现有技术中,可从通信中的信息包提取信息。
[0003]在此,参照图6来说明使用了信息包的通常的消息收发的概略。
[0004]如图6所示,在发送消息的情况下,首先,发送侧的应用程序(图中左侧的Application)生成消息(S51),向OS (operating system)(图中左侧的OS)请求消息发送(S52)。然后,OS将获取到的消息分割为信息包,附加标题(S53)后发送给接收侧(S54)。
[0005]此外,在接收消息的情况下,接收侧的OS(图中右侧的OS)接收信息包(S54),除去标题并根据标题生成消息(S55),向应用程序(图中右侧的Application)发送所生成的消息(S56)。然后,应用程序在存储器中保存从OS获取的消息(S57)。
[0006]由此,作为消息的发送侧的OS在向NIC(Network Interface Card)进行发送时将消息变换为信息包。此时,OS向信息包赋予发送目的地恢复消息时所需的信息,例如包含序列编号(顺序号)、端口编号(连接的识别码)等在内的标题。另一方面,作为消息的接收侧的OS参照信息包的标题,根据信息包构筑消息。
[0007]接着,参考图7以及图8说明从利用信息包来收发的消息中提取数据的现有的方法。在此,以在VMM (Virtual Machine Monitor)中从消息提取作为目标的数据的情况为例进行说明。
[0008]如图7所示,发送侧的OS (图中左侧的OS)向VMM所提供的虚拟NetworkInterface Card发送信息包。也就是说,VMM获取由OS分割的信息包。并且,VMM向接收侧的OS (图中右侧的OS)发送获取到的信息包,并且根据获取到的信息包重构消息,获得想得到的信息即目标数据。
[0009]具体而言,如图8所示,VMM确认获取到的信息包的标题信息(S61),除标题以外(有效载荷:payload)都进行复制(S62),之后发送信息包(S63)。与此同时,VMM根据复制的数据构筑消息(S64),从消息中提取目标数据(S65)。
[0010]由此,VMM生成信息包的有效载荷的复制,基于信息包的标题信息进行配置。即,VMM重构分割为信息包的消息之后,提取目标数据。
[0011]在先技术文献
[0012]非专利文献[0013]非专利文献1:TCP Reassembler for Layer7_aware Network IntrusionDetection/Prevention Systems, Miyuki Hanaoka, Makoto Shimamura, and Kenji Kono,IEICE Trans, on Information and Systems, Vol.E90-D, N0.12,pp.2019-2032,Dec.2007
【发明内容】
[0014]发明想要解决的问题
[0015]但是,根据上述的现有方法,VMM在从信息包中提取所需信息时,生成信息包的有效载荷的复制,基于信息包的标题信息来配置该复制,并构成为消息之后,从该消息中提取了想要的信息。即,必须生成有效载荷的复制后构成为消息。具体而言,在图7的例中,VMM为了获取目标数据“E”,在生成了依次获取的3个信息包的有效载荷的复制的基础上,重新构成了消息。
[0016]由此,根据现有的方法,为了生成有效载荷的复制,因此处理需要时间,而且消息的重构是在OS中也进行的处理,所以会成为系统开销(overhead)。即,在从信息包提取所需的信息时,会产生大的系统开销,这对正在运行的服务品质的影响过大。
[0017]本发明鉴于上述情况而完成,其目的在于,实现一种能够高效地从信息包提取所需的数据的信息包数据提取装置、信息包数据提取装置的控制方法、控制程序、计算机可读取的记录介质。
[0018]用于解决问题的手段
[0019]为了解决上述问题,本发明的一方式的信息包数据提取装置是从通信途中的信息包中提取作为目标的数据的信息包数据提取装置,具备:进程名确认单元,其参照在对通信途中的信息包进行临时存储的临时存储部中保存的对象信息包的有效载荷,确认该对象信息包的有效载荷中所包含的消息的进程名;和目标数据获取单元,其根据预先与由上述进程名确认单元确认出的进程名建立了对应的、表示目标数据的保存位置的数据位置信息,从根据该数据位置信息确定的目标信息包的有效载荷中获取目标数据。
[0020]此外,为了解决上述问题,本发明的一方式的信息包数据提取装置的控制方法是从通信途中的信息包中提取作为目标的数据的信息包数据提取装置的控制方法,包括:进程名确认步骤,参照在对通信途中的信息包进行临时存储的临时存储部中保存的对象信息包的有效载荷,确认该对象信息包的有效载荷中所包含的消息的进程名;和目标数据获取步骤,根据预先与通过上述进程名确认步骤确认出的进程名建立了对应的、表示目标数据的保存位置的数据位置信息,从根据该数据位置信息确定的目标信息包的有效载荷中获取目标数据。
[0021]发明效果
[0022]因此,根据本发明的一方式的信息包数据提取装置以及信息包数据提取装置的控制方法,并不是将在网络中流通的通信信息包的全部变换为消息,而是适当取舍后选择要变换的信息包,因此起到能够高效地获取文件的元数据的效果。此外,不是如现有技术那样复制消息,因此起到处理快的效果。因此,可起到如下效果:无系统开销,抑制正在运行的服务覆盖的系统开销,能够从信息包高效地提取所需的数据。
【专利附图】
【附图说明】[0023]图1表示本发明的实施方式,是表示信息包数据提取装置的详细结构的功能框图。
[0024]图2是表示图1示出的信息包数据提取装置的动作的示意图。
[0025]图3是表示图1示出的信息包数据提取装置的处理流程的流程图。
[0026]图4是表示应用了图1示出的信息包数据提取装置的文件元数据窜改型rootkit检测系统的概要的框图。
[0027]图5是表示在图4示出的文件元数据窜改型rootkit检测系统中所使用的数据位置信息的例子的说明图。
[0028]图6表示现有技术,是表示使用了信息包的消息收发概要的说明图。
[0029]图7表示现有技术,是表示从使用信息包进行收发的消息中提取数据的现有方法的示意图。
[0030]图8是表示图7示出的现有方法的处理流程的流程图。
【具体实施方式】
[0031]以下,详细说明本发明的一实施方式。以下,基于图1?图5,说明本实施方式的信息包数据提取装置10。
[0032](1.装置构成)
[0033]参照图1,说明信息包数据提取装置10的结构。图1是表示信息包数据提取装置10的详细结构的功能框图。
[0034]信息包数据提取装置10是从保存在对通信途中的信息包进行临时存储的缓冲器(临时存储部)20中的信息包提取作为目标的数据(目标数据)的装置。在本实施方式中,信息包数据提取装置10作为VMM (虚拟机监控器)100的一部分而被组装到VMM100中。另夕卜,信息包数据提取装置10可作为发送信息包的应用程序的下位层而设置在信息包的发送侧的装置中,也可以在信息包的接收侧的装置中作为接收信息包的应用程序的下位层来设置。此外,信息包数据提取装置10也可以设置在连接信息包的发送侧的装置和信息包的接收侧的装置的网络上。
[0035]在本实施方式中,以在服务器-客户间通信中应用的情况为例进行说明。在图2中(在图1中也是同样的),图中左侧的Application是服务器,图中右侧的Application是客户。客户向服务器发送请求消息,服务器响应来自客户的请求消息,向客户发送数据消息。另外,在本实施方式中,将记录了从客户到服务器的请求的消息记载为“CtoS消息”,将分割了 “CtoS消息”的信息包记载为“StoC信息包”。此外,将响应请求消息而从服务器发送的数据消息记载为“StoC消息”,将分割了 “StoC消息”的信息包记载为“StoC信息包”。
[0036]详细而言,如图1所示,信息包数据提取装置10具备:信息包确认部(信息包确认单元)11、进程名确认部(进程名确认单元)12、目标数据获取部(目标数据获取单元)13、位置信息存储部14。
[0037]信息包确认部11通过确认对象信息包P的标题,确认对象信息包P是否为保存有消息的首部的信息包。即,信息包确认部11检测保存有消息的首部的首部信息包Ph。特别是,信息包确认部11检测CtoS消息被分割后的对象信息包P (CtoS信息包),确认检测到的对象信息包P的标题。然后,确认对象信息包P是否为保存有CtoS消息的首部的信息包。[0038]此外,信息包确认部11根据预先与由进程名确认部12确认出的进程名建立了对应的、表示目标数据的保存位置的数据位置信息14b (后述),检测响应上述CtoS消息的StoC消息被分割的对象信息包P (StoC信息包)。然后,通过确认检测出的对象信息包P的标题,来检测由数据位置信息14b确定的目标信息包Pt。S卩,信息包确认部11检测包含目标数据在内的目标信息包Pt。
[0039]进程名确认部12根据表示消息的进程名的保存位置的进程名位置信息14a(后述),参照保存在缓冲器20中的对象信息包P (CtoS信息包)的有效载荷。然后,确认该对象信息包P的有效载荷中所包含的CtoS消息的进程名。另外,在本实施方式中,虽然利用进程名,但是只要是能够识别消息的进程,则也可以利用在各进程中唯一分配的ID编号等其他息。
[0040]特别是,在本实施方式中,仅在由信息包确认部11确认了对象信息包P (CtoS信息包)保存了 CtoS消息的首部的情况下,进程名确认部12确认该对象信息包P(CtoS信息包)的有效载荷中所包含的CtoS消息的进程名。通常,CtoS消息的进程名存在于该CtoS消息的首部中。因此,会包含在分割了该CtoS消息后的多个CtoS信息包中的首部的CtoS信息包中。因此,为了检测在CtoS消息中包含进程名的CtoS信息包,参照CtoS信息包的标题,判定是否为包含CtoS消息的首部的首部信息包Ph即可。因此,参照标题,若是不包含CtoS消息的首部的CtoS信息包,则能够省略这以后的处理。因此,进程名确认部12只要参照CtoS信息包的标题就能够检测包含CtoS消息的进程名在内的CtoS信息包,所以效率高。
[0041]目标数据获取部13,在响应CtoS消息的StoC消息被分割后的StoC信息包中,根据预先与由进程名确认部12确认出的进程名建立了对应的、表示目标数据的保存位置的数据位置信息14b (后述),从根据该数据位置信息14b确定的目标信息包Pt的有效载荷中获取目标数据。特别是,在本实施方式中,目标数据获取部13仅获取根据数据位置信息14b指定的位置的数据。此外,目标数据获取部13在从目标信息包Pt的有效载荷中获取目标数据时,从有效载荷的首部开始进行消息变换,在获取了目标数据的时刻结束消息变换。
[0042]位置信息存储部14预先存储进程名位置信息14a以及数据位置信息14b。
[0043]进程名位置信息14a表示CtoS消息的进程名在该CtoS消息中的保存位置。另外,在本实施方式中,进程名在CtoS消息中的保存位置是根据消息的协议来决定的,设为在相同的协议下在进程间是相同的。
[0044]数据位置信息14b是将进程的进程名、与从该进程的StoC消息获取的数据(目标数据)的数据名以及在该StoC消息中的保存位置建立了对应的信息。S卩,通过参照数据位置信息14b,可知与进程名建立了对应的目标数据的数据名、和该目标数据在StoC消息中的保存位置。
[0045](2.位置信息)
[0046]另外,沿着图2所示的具体例,说明在信息包数据提取装置10中预先向位置信息存储部14赋予的2种位置信息(进程名位置信息14a、数据位置信息14b)。图2是表示信息包数据提取装置10的动作的示意图。另外,在此,消息的协议是NFS (Network FileSystem)协议,以提取文件元数据的情况为例进行说明。此外,图2示出了信息包数据提取装置10对响应于客户发送的CtoS消息的StoC消息被分割后的StoC信息包进行处理的过程。另外,虽然在图2中进行了省略,但是从图2的记载和后述的动作说明中可以理解处理客户发送的CtoS消息的过程。
[0047]如上所述,在信息包数据提取装置10中,在位置信息存储部14中预先存储进程名位置信息14a以及数据位置信息14b。
[0048]进程名位置信息14a是表示进程名的位置的信息(例如,“从消息的第首部byte开始”)。即,表示在消息的哪个位置有进程名。具体而言,如图2所示,能够记载为“进程名的位置:第80byte”。
[0049]在此,在NFS协议下决定消息内的含有进程名的位置。由此,进程名确认部12在根据进程名位置信息14a参照信息包的有效载荷时,能够提取进程名。即,不需要为了提取进程名而对所有信息包进行扫描。
[0050]接着,数据位置信息14b是使进程名与所获得的数据名以及其位置建立了对应的信息。即,按每个进程名表示从哪个位置可以提取哪个数据。具体而言,在图2的例子中,获得“在GETATTR中,Inode保存在第118byte,File Size保存在第150byte”等内容的信
肩、O
[0051]在此,在NFS协议下,决定各进程的消息中所包含的数据以及其位置。也就是说,根据进程的不同,消息所包含的数据以及其位置不同。因此,目标数据获取部13在根据数据位置信息14b而参照有效载荷时,能够提取数据。即,不需要为了提取作为目标的数据而根据有效载荷构筑消息。
[0052]此外,信息包的标题中含有信息包尺寸以及序列编号。因此,从各信息包的信息包尺寸以及序列编号可以知道该信息包的有效载荷的数据相当于分配给信息包之前的消息的哪个部分。利用这一点,信息包确认部11检测包含目标数据的目标信息包Pt。
[0053]此外,在从NFS协议的消息中提取文件元数据的情况下,通过在数据位置信息14b中仅登记包含文件元数据的进程,能够不处理不必要的进程的信息包。另外,在NFS协议下,所有22种进程中,15种是包含文件元数据的进程,该15种进程具有可通过I个信息包进行发送的长度的消息。即,在将这些15种进程作为对象的情况下,始终在首部信息包Ph中包含文件元数据(目标数据)。
[0054](3.动作)
[0055]接着,参照图3,说明信息包数据提取装置10的处理流程。图3是表示信息包数据提取装置10的处理流程的流程图。
[0056]在缓冲器20中依次暂时保存通过VMM100的通信途中的信息包。另外,将保存在缓冲器20中且信息包数据提取装置10正在处理的信息包记为对象信息包P。
[0057]信息包数据提取装置10依次检测保存在缓冲器20中的对象信息包P,同时进行以下的处理。
[0058]首先,信息包确认部11依次确认保存在缓冲器20中的对象信息包P (CtoS信息包)的标题,从而检测包含CtoS消息的首部在内的CtoS信息包的首部信息包Ph(Sll ;首部信息包确认步骤)。
[0059]接着,进程名确认部12根据进程名位置信息14a从在步骤11中检测到的CtoS消息的首部信息包Ph的有效载荷中确认消息的进程名(S12 ;进程名确认步骤)。
[0060]接着,目标数据获取部13从位置信息存储部14获取与在步骤S12中确认的进程名预先建立了对应的数据位置信息14b (S13 ;数据位置信息获取步骤)。
[0061]接着,根据在步骤S13中获取到的数据位置信息14b,信息包确认部11检测响应于上述CtoS消息的StoC消息被分割后的StoC信息包。然后,信息包确认部11从检测出的StoC信息包中,检测包含根据数据位置信息14b确定的位置(目标信息包Pt的位置)的数据在内的目标信息包Pt (S14 ;目标信息包确认步骤)。
[0062]此时,若数据位置信息14b所表示的位置存在于StoC消息的首部信息包Ph的有效载荷所包含的消息内,则StoC消息的首部信息包Ph成为目标信息包Pt。此外,如图2所示,若数据位置信息14b所表示的位置存在于第3个StoC信息包的有效载荷所包含的StoC消息内,则第3个StoC信息包成为目标信息包Pt。此时,信息包确认部11依次确认第2、第3个StoC信息包的标题,将第3个StoC信息包检测为信息包Pt。
[0063]最后,目标数据获取部13从在步骤S14中检测出的目标信息包Pt的有效载荷中获取目标数据(S15;目标数据获取步骤)。
[0064](4.小结)
[0065]如以上所述,根据信息包数据提取装置10,在被称为虚拟机监控器的软件层中,能够根据信息包等级从网络文件系统协议中有效地提取文件的元数据。即,信息包数据提取装置10并不是将在网络中流通的通信信息包全部变换为消息,而使通过适当取舍来选择要变换的信息包,从而能够高效地获取文件的元数据。详细而言,信息包数据提取装置10不会像现有技术那样复制StoC消息,因此处理变快。此外,由于不构筑StoC消息,因此没有系统开销,能够抑制正在运行的服务覆盖的系统开销。
[0066]另外,在本实施方式中,以NFS协议为例进行了说明,但是并不限于此。即,作为可应用的协议,如NFS协议那样,只要是发送进程来操作文件的协议即可。此外,只要按每个进程预先规定作为目标的数据的消息中的位置即可。作为具体例,除了 NFS协议外,还可以列举 FTP (File Transfer Protocol)协议、HTTP (Hyper Text Transfer Protocol)协议。
[0067](5.应用例)
[0068]以下,说明上述信息包数据提取装置10的应用例。
[0069](5.1.rootkit 检测)
[0070]文件元数据窜改型IOOtkit是计算机病毒的一种形式,若被感染,则连带产生服务的停止、信息泄露,会对服务品质带来巨大的损失。文件元数据窜改型rootkit由于变更操作系统内核内的数据,因此用一般的杀毒软件检测是极其困难的。另外,VMWatcher检测已知的文件元数据窜改型rootkit,但是对于未知的文件元数据窜改型rootkit是无效的。Strider Ghostbuster能够检测未知的文件元数据窜改型rootkit,但是对正在运行的服务品质的影响较大。
[0071]因文件元数据窜改型rootkit引起的服务的停止或信息泄露对于服务提供者侧而言是很严重的,因此必须监控系统是否感染了文件元数据窜改型rootkit。并且,为了检测文件元数据窜改型rootkit,构筑网络系统,通过虚拟机监控器监控被交换的信息包是极其有效的。但是,必须尽量抑制正在运行的服务覆盖的系统开销。
[0072]因此,通过在文件元数据窜改型rootkit的检测机构中组装入上述的信息包数据提取装置10,从而能够抑制在虚拟机上工作的应用程序或操作系统覆盖的系统开销,同时能够实现rootkit的监控。[0073]图4是应用了信息包数据提取装置10的表示文件元数据窜改型rootkit检测系统的概要的框图。此外,图5是表示在文件元数据窜改型rootkit检测系统中所使用的数据位置信息的例子的说明图。图5中,列举了上述的NFS协议的进程中的包含文件元数据的15种进程。
[0074]在图4所示的VMM中,为了从信息包中提取接收到的文件的元数据,组装入了信息包数据提取装置10。并且,应用程序对信息包数据提取装置10从信息包提取出的文件元数据和OS获得的文件元数据的内容进行比较。然后,若这2个文件元数据不一致,则能够判断为OS感染了文件元数据窜改型rootkit。
[0075]另外,详细而言,VM view获取文件系统关联的系统调用的自变量.返回值(stat O,fstat O,getdent ()等)。另一方面,VMM View (信息包数据提取装置10)从网络文件系统NFS的消息中获取文件元数据。然后,比较VM内的view和VMM内的view,若不一致,贝1J判断为感染了 rootkit。
[0076]由此,通过将信息包数据提取装置10组装入文件元数据窜改型rootkit的检测机构中,从而能够抑制在虚拟机上工作的应用程序或操作系统覆盖的系统开销,同时能够实现rootkit的监控。由此,能够对防止rootkit进行的服务停止或信息泄露这样的损失做出巨大贡献。
[0077](5.2.文件访问监控器)
[0078]信息包数据提取装置10在VMM100中监控NFS协议,因此无需变更OS或应用程序就能够获得文件的访问数、访问图案。由此,在文件配置的最佳化、冗长化方面是有效的。具体而言,能够进行将最近时间被访问的文件组配置在相同的目录中来削减磁盘存取、或对访问频率高的文件制作复制来分散负荷等措施。
[0079](5.3.文件访问控制)
[0080]信息包数据提取装置10无需变更OS或应用程序的设定就能够对文件进行访问控制。因此,能够防止文件篡改。即,假设OS被病毒侵犯,由于VMM未被侵犯,因此不能访问设定为访问禁止的文件。
[0081](6.补充)
[0082]最后,信息包数据提取装置10的各模块、特别是信息包确认部11、进程名确认部
12、数据获取部13可由硬件逻辑构成,也可以如下那样使用CPU来通过软件实现。
[0083]若是由软件实现,则信息包数据提取装置10具备:执行实现各功能的程序的命令的 CPU (central processing unit)、保存 了上述程序的 ROM (read only memory)、展开上述程序的RAM (random access memory)、保存上述程序以及各种数据的存储器等存储装置(记录介质)等。并且,本发明的目的也可以通过以下方式来实现,即:向上述信息包数据提取装置10提供将实现上述功能的软件、即信息包数据提取装置10的控制程序的程序代码(执行形式程序、中间代码程序、源程序)以计算机可读取的方式记录的记录介质,该计算机(或CPU和MPU)读出并执行记录在记录介质中的程序代码。
[0084]作为上述记录介质,例如可以使用磁带或录音带等磁带类、包括软盘(注册商标)/硬盘等磁盘或CD-R0M/M0/MD/DVD/CD-R等光盘在内的盘类、IC卡(包括存储卡)/光存储卡等卡类、或者光罩式R0M/EPR0M/EEPR0M(注册商标)/闪存ROM等半导体存储器类
坐寸ο[0085]此外,也可以将信息包数据提取装置10构成为能够与通信网络连接,经由通信网络提供上述程序代码。作为该通信网络,并没有特别限定,例如,因特网、内部网络、外部网络、LAN、ISDN、VAN、CATV通信网、虚拟专用网(virtual private network)、电话线网、移动体通信网、卫星通信网等。此外,作为构成通信网络的传送介质,并没有特别限定,例如可以利用IEEE1394、USB、电力线传送、线缆TV线路、电话线路、ADSL线路等有线,也可以利用如IrDA或遥控器这样的红外线、Bluetooth (注册商标)、802.11无线、HDR、移动电话网、卫星线路、地面波数字网等无线。另外,本发明也可以通过以电子传送具体化了上述程序代码的、搭载于载波上的计算机数据信号的方式来实现。
[0086]本发明并不限于上述的实施方式,在权利要求书所示的范围内能够进行各种变更,适当组合实施方式公开的技术手段而得到的实施方式也包含在本发明的技术范围内。
[0087]以上,本发明所涉及的信息包数据提取装置是从通信途中的信息包提取作为目标的数据的信息包数据提取装置,特征在于,具备:进程名确认单元,其参照在对通信途中的信息包进行临时存储的临时存储部中保存的对象信息包的有效载荷,确认该对象信息包的有效载荷中所包含的消息的进程名;和目标数据获取单元,其根据预先与由上述进程名确认单元确认出的进程名建立了对应的、表示目标数据的保存位置的数据位置信息,从根据该数据位置信息确定的目标信息包的有效载荷中获取目标数据。
[0088]此外,本发明所涉及的信息包数据提取装置的控制方法是从通信途中的信息包中提取作为目标的数据的信息包数据提取装置的控制方法,其特征在于,包括:进程名确认步骤,参照在对通信途中的信息包进行临时存储的临时存储部中保存的对象信息包的有效载荷,确认该对象信息包的有效载荷中所包含的消息的进程名;和目标数据获取步骤,根据预先与通过上述进程名确认步骤确认出的进程名建立了对应的、表示目标数据的保存位置的数据位置信息,从根据该数据位置信息确定的目标信息包的有效载荷中获取目标数据。
[0089]根据上述结构,确认对象信息包的有效载荷中所包含的消息的进程名,根据事先与该进程名建立了对应的、表示目标数据的保存位置的数据位置信息,从根据该数据位置信息确定的目标信息包的有效载荷中获取目标数据。
[0090]因此,通过参照数据位置信息,知道了进程名时,能够确定保存了目标数据的目标信息包,因此确认了进程名之后,进行目标信息包的检测和从目标信息包的有效载荷中获取目标数据即可。
[0091]由此,不将在网络中流通的通信信息包全部变换为消息,而适当取舍来选择要变换的信息包,因此能够起到可高效地获取文件的元数据的效果。此外,不像现有技术那样复制消息,因此起到处理较快的效果。因此,没有系统开销,起到抑制正在运行的服务覆盖的系统开销并从信息包中有效地提取所需的数据这样的效果。
[0092]另外,本发明所涉及的信息包数据提取装置的特征在于,还具备:信息包确认单元,其确认对象信息包是否为保存有消息的首部的信息包;上述进程名确认单元仅在由上述信息包确认单元确认出对象信息包保存有消息的首部的情况下,确认该对象信息包的有效载荷中所包含的消息的进程名。
[0093]根据上述结构,仅在确认出对象信息包保存了消息的首部的情况下,确认该对象信息包的有效载荷中所包含的消息的进程名。
[0094]通常,消息的进程名存在于该消息的首部,因此会包含在分割了该消息后的多个信息包中的首部的信息包中。因此,为了在消息中检测包含进程名的信息包,参照信息包的标题,判定是否为包含消息的首部的首部信息包即可。然后,若是不包含消息的首部的信息包,则可以省略自此之后的处理。因此,起到能够有效地检测包含消息的进程名在内的信息包的效果。
[0095]另外,本发明所涉及的信息包数据提取装置的特征在于,上述目标数据获取单元仅获取根据上述数据位置信息指定的位置的数据。
[0096]根据上述结构,数据位置信息中还表示目标数据的位置,因此若获取根据数据位置信息指定的位置的数据,则能够获取目标数据。因此,通过仅获取根据数据位置信息指定的位置的数据,从而起到能够从信息包中有效地提取所需的数据的效果。
[0097]另外,本发明所涉及的信息包数据提取装置的特征在于,设置在VMM中。
[0098]根据上述结构,由于设置在VMM中,因此不变更OS或应用程序,就能够获取文件元数据并监控协议。因此,能够进行各种应用。
[0099]另外,上述信息包数据提取装置可通过计算机来实现,此时,通过使计算机作为上述各单元来工作从而由计算机实现上述的信息包数据提取装置的控制程序、以及记录了该控制程序的计算机可读取的记录介质也包含的本发明的范围内。
[0100]工业上的可利用性
[0101]本发明的信息包数据提取装置尽可能抑制正在运行的服务覆盖的系统开销,并能从信息包中提取所需的数据,因此能够利用于文件元数据窜改型rootkit检测、文件访问监控器、文件访问控制等中。
[0102]符号说明:
[0103]10 信息包数据提取装置(信息包数据提取装置)
[0104]11 信息包确认部(信息包确认单元)
[0105]12 进程名确认部(进程名确认单元)
[0106]13 目标数据获取部(目标数据获取单元)
[0107]14b数据位置信息
[0108]20 缓冲器(临时存储部)
[0109]100 VMM
[0110]P 对象信息包
[0111]Sll首部信息包确认步骤
[0112]S12进程名确认步骤
[0113]S13数据位置信息获取步骤
[0114]S14目标信息包确认步骤
[0115]S15目标数据获取步骤
【权利要求】
1.一种信息包数据提取装置,从通信途中的信息包中提取作为目标的数据,该信息包数据提取装置的特征在于,具备: 进程名确认单元,其参照在对通信途中的信息包进行临时存储的临时存储部中保存的对象信息包的有效载荷,确认该对象信息包的有效载荷中所包含的消息的进程名;和 目标数据获取单元,其根据预先与由上述进程名确认单元确认出的进程名建立了对应的、表示目标数据的保存位置的数据位置信息,从根据该数据位置信息确定的目标信息包的有效载荷中获取目标数据。
2.根据权利要求1所述的信息包数据提取装置,其特征在于, 上述信息包数据提取装置还具备: 信息包确认单元,其确认对象信息包是否为保存有消息的首部的信息包, 上述进程名确认单元仅在由上述信息包确认单元确认出对象信息包保存有消息的首部的情况下,确认该对象信息包的有效载荷中所包含的消息的进程名。
3.根据权利要求1或2所述的信息包数据提取装置,其特征在于, 上述目标数据获取单元仅仅获取根据上述数据位置信息指定的位置的数据。
4.根据权利要求1或2所述的信息包数据提取装置,其特征在于, 在VMM中设置上述信息包数据提取装置。
5.一种信息包数据提取装置的控制方法,从通信途中的信息包中提取作为目标的数据,该信息包数据提取装置的控制方法的特征在于,包括: 进程名确认步骤,参照在对通信途中的信息包进行临时存储的临时存储部中保存的对象信息包的有效载荷,确认该对象信息包的有效载荷中所包含的消息的进程名;和 目标数据获取步骤,根据预先与通过上述进程名确认步骤确认出的进程名建立了对应的、表示目标数据的保存位置的数据位置信息,从根据该数据位置信息确定的目标信息包的有效载荷中获取目标数据。
6.一种控制程序,使计算机作为权利要求1或2所述的信息包数据提取装置的上述各单元发挥作用。
7.—种记录了权利要求6所述的控制程序的计算机可读取的记录介质。
【文档编号】H04L12/28GK103947158SQ201280055649
【公开日】2014年7月23日 申请日期:2012年11月8日 优先权日:2011年11月15日
【发明者】河野健二, 山田浩史 申请人:独立行政法人科学技术振兴机构