CN102868699A - 一种提供数据交互服务的服务器的漏洞检测方法及工具 - Google Patents
一种提供数据交互服务的服务器的漏洞检测方法及工具 Download PDFInfo
- Publication number
- CN102868699A CN102868699A CN201210365172XA CN201210365172A CN102868699A CN 102868699 A CN102868699 A CN 102868699A CN 201210365172X A CN201210365172X A CN 201210365172XA CN 201210365172 A CN201210365172 A CN 201210365172A CN 102868699 A CN102868699 A CN 102868699A
- Authority
- CN
- China
- Prior art keywords
- application program
- package
- server
- thread
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种提供数据交互服务的服务器的漏洞检测方法,该方法包括:提供数据交互服务的服务器与本地运行的应用程序建立数据通信连接;拦截所述应用程序通过所述数据通信连接向所述服务器发送的封包;暂停所述应用程序的全部或部分线程,对所述封包内携带的特定数据进行修改;恢复所述应用程序被暂停的线程,以将修改后的所述封包发送至所述服务器;根据所述服务器收到所述修改后的封包后针对所述应用程序产生的响应情况,判断所述服务器是否存在漏洞。相应地,本发明还提供了一种提供数据交互服务的服务器的漏洞检测工具。本发明可定制性地针对特定数据修改的情况对服务器进行检测,并快速准确地找出服务器自身存在的漏洞。
Description
技术领域
本发明涉及计算机网络技术,尤其涉及一种提供数据交互服务的服务器的漏洞检测方法及工具。
背景技术
目前,一些本地运行的应用程序需要与服务器进行持续的数据交互,才能实现该应用程序的运行需求,在所述应用程序与所述服务器进行持续的数据交互的过程中,通常该应用程序设计为根据用户操作离散地生成描述数据,并封装在封包内发送给服务器,以描述所述用户操作的类型、属性,相应地,所述服务器根据所述封包更新所述用户对应的账号在该服务器内的对应的数据。一种典型的实施场景中,所述应用程序是网络游戏的客户端程序,该客户端程序在终端的浏览器运行或在终端中独立安装后运行,并通过互联网与远程服务器通信以实现所述网络游戏的游戏过程。在该客户端程序的正常运行过程中,每当用户针对该客户端程序进行操作,该客户端程序都会生成相应的描述数据并发送给所述远程服务器,针对上述过程,某些恶意的拦截篡改所述描述数据的行为会对所述客户端程序与远程服务器的工作的正常运行带来恶性影响,使所述远程服务器端接收到虚假的描述数据,尤其地,所述描述数据篡改后的数据溢出会影响远程服务器的正常工作,严重情况下甚至会导致远程服务器的服务瘫痪,同时所述应用程序也因此中断运行,即远程服务器具有针对所述描述数据的数据溢出的逻辑漏洞。
事实上,针对网络游戏客户端程序的用户操作多种多样,因此相应的描述数据类型也较为复杂,在搭建所述远程服务器的过程中难以完全对所有的描述数据设置防漏洞处理逻辑,即在搭建所述远程服务器的过程中难以预测可能出现的由于描述数据的数据溢出造成的漏洞。因此,期望出现一种测试方法和工具对远程服务器进行漏洞测试以尽可能地找到该远程服务器的漏洞,及时对其进行修补以提升远程服务器的容错率和安全性。
发明内容
为实现本发明的目的提供了一种提供数据交互服务的服务器的漏洞检测方法及工具。
根据本发明的一方面,提供了一种提供数据交互服务的服务器的漏洞检测方法,该方法包括以下步骤:
提供数据交互服务的服务器与本地运行的应用程序建立数据通信连接;
拦截所述应用程序通过所述数据通信连接向所述服务器发送的封包;
暂停所述应用程序的全部或部分线程,对所述封包内携带的特定数据进行修改;
恢复所述应用程序被暂停的线程,以将修改后的所述封包发送至所述服务器;
根据所述服务器收到所述修改后的封包后针对所述应用程序产生的响应情况,判断所述服务器是否存在漏洞。
根据本发明的另一方面,提供了一种提供数据交互服务的服务器的漏洞检测工具,包括:
封包拦截模块,在提供数据交互服务的服务器与本地运行的应用程序建立数据通信连接后,用于拦截所述应用程序通过所述数据通信连接向所述服务器发送的封包;
线程控制模块,用于暂停所述应用程序的全部或部分线程,对所述封包内携带的特定数据进行修改,以及恢复所述应用程序被暂停的线程,以便该线程将修改后的所述封包发送至所述服务器。
与现有技术相比,本发明具有以下优点:可定制性地针对特定数据修改的情况对服务器进行检测,快速准确地找出服务器自身存在的漏洞。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是根据本发明的提供数据交互服务的服务器的漏洞检测方法流程图;
图2为根据本发明的提供数据交互服务的服务器的漏洞检测工具的示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施例作详细描述。
参考图1,图1是根据本发明的提供数据交互服务的服务器的漏洞检测方法流程图,该检测方法包括:
步骤S101,提供数据交互服务的服务器与本地运行的应用程序建立数据通信连接。
具体地,在本地终端上运行应用程序,并使该应用程序与提供相应数据交互服务的服务器建立数据通信连接。其中,所述本地终端可以是计算机、平板电脑、智能手机或其他具有数据通信功能的电子设备。所述应用程序是运行在本地终端上、并且需要通过与服务器交互才能实现其功能的程序,其可以是基于浏览器(Browser)运行的应用程序,例如网页Flash游戏、网页3D游戏;也可以设计为客户端(Client)形式的应用程序,例如网络游戏软件客户端,该客户端安装在终端提供的合适的操作系统内,并调用所述终端的软件资源和硬件资源以实现正常运行。与应用程序相匹配的服务器要针对该应用程序所实现的功能提供相应的数据交互服务,典型地,该应用程序与所述服务器之间通过局域网或互联网相连。在本实施例中,所述应用程序为网页游戏,所述提供数据交互服务则为针对所述网页游戏的数据交互服务,所述提供数据交互服务的服务器则为网页游戏服务器。本领域的技术人员可以理解的是,上述举例仅为示意,本发明也适用于提供其他数据交互服务的服务器,为了简明起见,在此不再一一列举。
步骤S102,拦截所述应用程序通过所述数据通信连接向所述服务器发送的封包。
具体地,应用程序与提供相应数据交互服务的服务器之间的数据通信是以封包的形式进行的。以网页游戏为例,当游戏人物向敌人开火时,开火行为、火力强度等数据信息会以一定格式被记录在封包内,该封包发送至网页游戏服务器后,该服务器将根据封包内携带的数据信息进行相应的响应。通常情况下,封包内除了包括和应用程序执行行为相关的数据信息外,还包含数据信息要发送到的目的地址、数据信息发送的源地址以及一些相关的控制信息等。
应用程序需要调用特定的函数来发送封包,例如调用Windows平台下的Send、WSASend、Sendto等函数。为了拦截应用程序发送的封包并进行修改,首先需要标记所述应用程序调用的特定函数(通常也称为与函数挂钩)。需要说明的是,如果应用程序对待发送的数据采用加密算法进行加密,则需要获取该应用程序对所述特定函数进行加密前该特定函数的明文,然后对该特定函数的明文进行标记;如果应用程序对待发送的数据未采用加密算法,则可以直接对该特定函数的明文进行标记。
对应用程序调用的特定函数进行标记后,则可以去截获与该特定函数封包相关的封包。在一些情况下,如果仅仅需要对应用程序运行过程中的某一特定行为进行检测,例如检测服务器对游戏人物开火行为的响应是否正常,则需要对应用程序发送的封包进行过滤,获取并拦截与待检测行为相关的目标封包。在封包所携带的数据信息中,包括一个特征码,该特征码用于标识应用程序在运行中的行为。应用程序不同的行为对应不同的特征码,服务器收到封包后,根据封包内的特征码就可以确定应用程序执行了什么行为,然后做出相应的响应。仍以网页游戏为例,如果游戏人物开火行为的特征码为FFF0,游戏人物前进行为的特征码为1110,那么游戏人物开火后,网页游戏发送给服务器的封包其特征码即为FFF0,而服务器如果收到的封包其特征码为1110,则说明游戏人物正在前进。其中,应用程序的行为与其相对应的特征码之间的关系可以通过统计分析而获得。如此一来,当需要对应用程序运行过程中的某一特定行为进行检测时,将与该特定行为对应的特征码作为预设的特征码,并根据该预设的特征码从应用程序所发送的封包中筛选出目标封包,并拦截该目标封包。仍以上述网页游戏为例,需要检测游戏人物执行开火行为后网页游戏服务器是否可以正常响应,则以FFF0为预设的特征码对所有封包进行筛选,一旦发现特征码同样为FFF0的封包,则将该封包拦截下来。
步骤S103,暂停所述应用程序的全部或部分线程,对所述封包内携带的特定数据进行修改。
具体地,应用程序在运行的过程中,通常需要同时执行多个线程来实现不同的任务。其中,与被拦截的封包相关的线程定义为黑名单线程。当封包被拦截后,以该封包所携带的特征码为筛选标准,从应用程序的全部线程中筛选出与该封包具有相同特征码的线程,该线程即为黑名单线程。为了达到对封包进行修改的目的,首先需要暂停黑名单线程,使应用程序停止对该封包的操作,然后对封包内携带的特定数据进行修改。通常情况下,通过预先的统计分析,可以确定封包所携带的特定数据在该封包内的偏移量。仍以网页游戏为例,在与开火行为相对应的封包中,偏移量为5的数据为开火强度,而在与前进行为相对应的封包中,偏移量为6的数据为前行步数,等等。如此一来,拦截封包后,只需根据预定的偏移量对封包内相应的数据进行修改即可。在修改的时候,需要使修改后的该特定数据超出其正常范围,才能达到对服务器漏洞检测的目的。修改的方式包括手动修改或者自动修改。
但是,在线程的执行需要遵循一定顺序的情况下,如果某些线程必须在黑名单线程执行后才能执行,那么,就不能仅仅暂停黑名单线程。在这种情况下,除了暂停黑名单线程,还需要暂停在执行逻辑上与黑名单线程相关的其他线程。当然了,也可以暂停正在运行的全部线程。线程暂停后,对封包内的特定数据进行修改,修改的方法与前述相同,在此不再赘述。
步骤S104,恢复所述应用程序被暂停的线程,以将修改后的所述封包发送至所述服务器。
具体地,完成对封包内特定数据的修改后,恢复应用程序被暂停的线程。即,若前述步骤中将全部线程暂停,则恢复所述全部线程;若前述步骤仅暂停黑名单线程,则恢复所述黑名单线程。线程恢复后,应用程序将重新正常运行,继续对修改后的封包进行处理。对于采用加密算法的应用程序,需要首先对封包内的数据进行加密,然后将加密后的封包通过数据通信连接发送至服务器。对于未采用加密算法的应用程序,则直接将修改后的封包进行发送即可。
步骤S105,根据所述服务器收到所述修改后的封包后针对所述应用程序产生的响应情况,判断所述服务器是否存在漏洞。
具体地,服务器收到应用程序发送的修改后的封包后,将根据该封包内的数据做出响应。由于封包内被修改的数据已经超出了其正常的数值范围,那么,当服务器针对应用程序产生如下响应情况时,可以判断该服务器存在漏洞:(1)服务器未能检测出封包内存在异常的数据,继续正常对应用程序提供服务,(2)服务器在处理封包内异常数据的过程中产生错误,无法继续正常工作,对运行在多个不同终端上的所述应用程序均停止响应(也就是通常所说的服务器瘫痪),从而导致正在使用该应用程序的所有用户无法继续正常使用。当出现上述两种情况时,说明了服务器自身存在一定的漏洞,不能对异常数据做出正确的响应,因此需要服务器的开发者对其进行相应的修正。如果服务器收到数据异常的封包后,向应用程序提示异常信息、或者仅仅停止对该应用程序的响应,则认为服务器在对该封包的处理方面不存在漏洞。
进一步地,当判断服务器存在漏洞后,记录导致服务器异常的行为信息,形成存储日志。其中,该存储日志包括导致服务器异常的封包、该封包内被修改的特定数据、以及针对所述特定数据的修改行为的描述信息。仍以检测游戏人物开火行为为例,与开火行为相对应的封包内偏移量为5的特定数据表示开火强度,在拦截了与该开火行为相对应的封包后,将封包内偏移量为5的数据10改为异常值FF,然后发送至服务器并引发了服务器的异常响应,此时,将该封包所携带的数据、特定数据的偏移量(即5)、以及将特定数据修改后的结果(即FF)记录至存储日志内。当然,存储日志不仅仅限于上述内容,根据实际情况还可以包括其他信息,例如对形成封包的行为的描述等。存储日志的存在利于服务器的开发人员快速重现异常、定位漏洞并进行相应地修改。
使用本发明所提供的检测方法可定制性地针对特定数据修改的情况对服务器进行检测,并快速准确地找出服务器自身存在的漏洞。
相应地,本发明还提供了一种提供数据交互服务的服务器的漏洞检测工具。图2为根据本发明的提供数据交互服务的服务器的漏洞检测工具的示意图,如图所示,所述检测工具20包括:
封包拦截模块201,在提供数据交互服务的服务器与本地运行的应用程序建立数据通信连接后,用于拦截所述应用程序通过所述数据通信连接向所述服务器发送的封包;
线程控制模块202,用于暂停所述应用程序的全部或部分线程,对所述封包内携带的特定数据进行修改,以及恢复所述应用程序被暂停的线程,以便该线程将修改后的所述封包发送至所述服务器。
在对上述模块的工作过程进行详细描述之前,首先对本发明所提供的检测工具的应用情景进行说明。在使用本发明所提供的检测工具之前,需要在本地终端上运行应用程序,并使该应用程序与提供相应数据交互服务的服务器建立数据通信连接。其中,所述本地终端可以是计算机、平板电脑、智能手机或其他具有数据通信功能的电子设备。所述应用程序是运行在本地终端上、并且需要通过与服务器交互才能实现其功能的程序,其可以是基于浏览器(Browser)运行的应用程序,例如网页Flash游戏、网页3D游戏;也可以设计为客户端(Client)形式的应用程序,例如网络游戏软件客户端,该客户端安装在终端提供的合适的操作系统内,并调用所述终端的软件资源和硬件资源以实现正常运行。与应用程序相对应的服务器要针对该应用程序所实现的功能提供相应的数据交互服务。在本实施例中,所述应用程序为网页游戏,所述提供数据交互服务则为针对所述网页游戏的数据交互服务,所述提供数据交互服务的服务器则为网页游戏服务器。本领域的技术人员可以理解的是,上述举例仅为示意,本发明所提供的漏洞检测工具也适用于提供其他数据交互服务的服务器,为了简明起见,在此不再一一列举。
下面,对本发明所提供的检测工具的各个模块的工作过程进行详细说明。
具体地,应用程序与提供相应数据交互服务的服务器之间的数据通信是以封包的形式进行的。所述应用程序通过调用特定的函数来发送封包,例如调用Windows平台下的Send、WSASend、Sendto等函数。所述封包拦截模块201用于拦截所述应用程序向所述服务器发送的封包,其进一步包括函数标记单元2011和获取拦截单元2012。
其中,函数标记单元2011用于标记所述应用程序调用的特定函数(通常也称为与函数挂钩)。需要说明的是,如果应用程序对待发送的数据采用加密算法进行加密,函数标记单元2011则需要获取该应用程序对所述特定函数进行加密前该特定函数的明文,然后对该特定函数的明文进行标记;如果应用程序对待发送的数据未采用加密算法,函数标记单元2011则可以直接对该特定函数的明文进行标记。
函数标记单元2011对应用程序调用的特定函数进行标记后,获取拦截单元2012去截获与该特定函数封包相关的封包。在一些情况下,如果仅仅需要对应用程序运行过程中的某一特定行为进行检测,例如检测服务器对游戏人物开火行为的响应是否正常,获取拦截单元2012则需要对应用程序发送的封包进行过滤,获取并拦截与待检测行为相关的目标封包。在封包所携带的数据信息中,包括一个特征码,该特征码用于标识应用程序在运行中的行为。应用程序不同的行为对应不同的特征码,服务器收到封包后,根据封包内的特征码就可以确定应用程序执行了什么行为,然后做出相应的响应。以网页游戏为例,如果游戏人物开火行为的特征码为FFF0,游戏人物前进行为的特征码为1110,那么游戏人物开火后,网页游戏发送给服务器的封包其特征码即为FFF0,而服务器如果收到的封包其特征码为1110,则说明游戏人物正在前进。其中,应用程序的行为与其相对应的特征码之间的关系可以通过统计分析而预先获得。如此一来,当需要过滤特定封包时,获取拦截单元2012可以根据该预设的特征码从应用程序所发送的封包中筛选出目标封包,并拦截该目标封包。仍以上述网页游戏为例,需要检测游戏人物执行开火行为后网页游戏服务器是否可以正常响应,获取拦截单元2012以FFF0为预设的特征码对所有封包进行筛选,一旦发现特征码同样为FFF0的封包,则将该封包拦截下来。
应用程序在运行的过程中,通常需要同时执行多个线程来实现不同的任务。其中,与被获取拦截单元2012所拦截的封包相关的线程被称为黑名单线程。当封包被拦截后,所述线程控制模块202以该封包所携带的特征码为筛选标准,从应用程序的全部线程中筛选出与该封包具有相同特征码的线程,该线程即为黑名单线程。为了达到对封包进行修改的目的,所述线程控制模块202首先需要暂停黑名单线程,使应用程序停止对该封包的操作,然后对封包内携带的特定数据进行修改。通常情况下,通过预先的统计分析,可以确定封包所携带的特定数据在该封包内的偏移量。仍以网页游戏为例,在与开火行为相对应的封包中,偏移量为5的数据为开火强度,而在与前进行为相对应的封包中,偏移量为6的数据为前行步数,等等。如此一来,获取拦截单元2012拦截封包后,所述线程控制模块202只需根据预定的偏移量对封包内相应的数据进行修改即可。在修改的时候,所述线程控制模块202的修改需要超出特定数据的正常范围,才能达到对服务器漏洞检测的目的。
但是,在线程的执行需要遵循一定顺序的情况下,如果某些线程必须在黑名单线程执行后才能执行,那么,所述线程控制模块202就不能仅仅暂停黑名单线程。在这种情况下,除了暂停黑名单线程,所述线程控制模块202还需要暂停在执行逻辑上与黑名单线程相关的其他线程。当然了,所述线程控制模块202也可以暂停正在运行的全部线程。线程暂停后,所述线程控制模块202对封包内的特定数据进行修改,修改的方法与前述相同,在此不再赘述。
所述线程控制模块202完成对封包内特定数据的修改后,恢复应用程序被暂停的全部线程或者黑名单线程。线程恢复后,应用程序将重新正常运行,继续对修改后的封包进行处理。对于采用加密算法的应用程序,应用程序需要首先对封包内的数据进行加密,然后将加密后的封包通过数据通信连接发送至服务器。对于未采用加密算法的应用程序,则直接将修改后的封包进行发送即可。
服务器收到应用程序发送的修改后的封包后,将根据该封包内的数据做出响应。由于封包内被修改的数据已经超出了其正常的数值范围,那么,当服务器针对应用程序产生如下响应情况时,可以判断该服务器存在漏洞:(1)服务器未能检测出封包内存在异常的数据,继续正常对应用程序提供服务,(2)服务器在处理封包内异常数据的过程中产生错误,无法继续正常工作,对运行在多个不同终端上的所述应用程序均停止响应(也就是通常所说的服务器瘫痪),从而导致正在使用该应用程序的所有用户无法继续正常使用。当出现上述两种情况时,说明了服务器自身存在一定的漏洞,不能对异常数据做出正确的响应,因此需要服务器的开发者对其进行相应的修正。如果服务器收到数据异常的封包后,向应用程序提示异常信息、或者仅仅停止对该应用程序的响应,则认为服务器在对该封包的处理方面不存在漏洞。
进一步地,本发明所提供的漏洞检测工具还包括日志模块(未示出),当判断服务器存在漏洞后,用于记录导致服务器异常的行为信息,形成存储日志。其中,该存储日志包括导致服务器异常的封包、该封包内被修改的特定数据、以及针对所述特定数据的修改行为的描述信息。仍以检测游戏人物开火行为为例,与开火行为相对应的封包内偏移量为5的特定数据表示开火强度,封包拦截模块201在拦截了与该开火行为相对应的封包后,线程控制模块202将封包内偏移量为5的数据10改为异常值FF,应用程序将修改后的封包发送至服务器后该封包引发了服务器的异常响应,此时,日志模块将该封包所携带的数据、特定数据的偏移量(即5)、以及将特定数据修改后的结果(即FF)记录至存储日志内。当然,存储日志不仅仅限于上述内容,根据实际情况还可以包括其他信息,例如对形成封包的行为的描述等。存储日志的存在利于服务器的开发人员快速重现异常、定位漏洞并进行相应地修改。
使用本发明所提供的检测工具可定制性地针对特定数据修改的情况对服务器进行检测,快速准确地找出服务器自身存在的漏洞。
本发明提供的一种提供数据交互服务的服务器的漏洞检测方法可以使用可编程逻辑器件结合来实现,也可以优选地实施为计算机程序软件,例如根据本发明的实施例可以是一种计算机程序产品,运行该程序产品使计算机执行用于所示范的方法。所述计算机程序产品包括计算机可读存储介质,该介质上包含计算机程序逻辑或代码部分,用于实现上述方法的各个步骤。所述计算机可读存储介质可以是被安装在计算机中的内置介质或者可从计算机主体拆卸的可移动介质(例如热拔插技术存储设备)。所述内置介质包括但不限于可重写的非易失性存储器,例如RAM、ROM、快闪存储器和硬盘。所述可移动介质包括但不限于:光存储媒体(例如CD-ROM和DVD)、磁光存储媒体(例如MO)、磁存储媒体(例如盒带或移动硬盘)、具有内置的可重写的非易失性存储器的媒体(例如存储卡)和具有内置ROM的媒体(例如ROM盒)。
本领域技术人员应当理解,任何具有适当编程装置的计算机系统都将能够执行包含在程序产品中的本发明的方法的诸步骤。尽管本说明书中描述的多数具体实施方式都侧重于软件程序,但是作为固件和硬件实现本发明提供的方法的替代实施例同样在本发明要求保护的范围之内。
以上所揭露的仅为本发明的几种较佳的实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (15)
1.一种提供数据交互服务的服务器的漏洞检测方法,该检测方法包括以下步骤:
提供数据交互服务的服务器与本地运行的应用程序建立数据通信连接;
拦截所述应用程序通过所述数据通信连接向所述服务器发送的封包;
暂停所述应用程序的全部或部分线程,对所述封包内携带的特定数据进行修改;
恢复所述应用程序被暂停的线程,以将修改后的封包发送至所述服务器;
根据所述服务器收到所述修改后的封包后针对所述应用程序产生的响应情况,判断所述服务器是否存在漏洞。
2.根据权利要求1所述的检测方法,其中,拦截所述应用程序通过所述数据通信连接向所述服务器发送的封包包括:
标记所述应用程序调用的特定函数;
获取并拦截与所述特定函数相关的目标封包。
3.根据权利要求2所述的检测方法,其中,标记所述应用程序调用的特定函数包括:
获取所述应用程序对所述特定函数进行加密前该特定函数的明文,并标记该特定函数的明文。
4.根据权利要求2所述的检测方法,其中,获取并拦截与所述特定函数相关的目标封包包括:
根据预设的特征码筛选出所述目标封包,并拦截该目标封包。
5.根据权利要求1所述的检测方法,其中,暂停所述应用程序的全部或部分线程的方法包括:
暂停所述应用程序的全部线程;或
从所述应用程序的全部线程中筛选出与所述封包具有相同特征码的黑名单线程,并暂停所述黑名单线程。
6.根据权利要求1所述的检测方法,其中,判断所述服务器是否存在漏洞包括:
若所述服务器继续正常对所述应用程序提供服务,则判断所述服务器存在漏洞;
若所述服务器对运行在多个不同终端上的所述应用程序均停止响应,则判断所述服务器存在漏洞。
7.根据权利要求1所述的检测方法,在判断所述服务器是否存在漏洞步骤之后,若判断结果为是,该方法还包括:
存储日志,该日志中包括所述封包、所述特定数据以及针对所述特定数据的修改行为的描述信息。
8.根据权利要求1至6任一项所述的检测方法,其中:
所述应用程序为网页游戏;
所述提供数据交互服务是针对所述网页游戏的数据交互服务。
9.一种提供数据交互服务的服务器的漏洞检测工具,包括:
封包拦截模块,在提供数据交互服务的服务器与本地运行的应用程序建立数据通信连接后,用于拦截所述应用程序通过所述数据通信连接向所述服务器发送的封包;
线程控制模块,用于暂停所述应用程序的全部或部分线程,对所述封包内携带的特定数据进行修改,以及恢复所述应用程序被暂停的线程,以便该线程将修改后的封包发送至所述服务器。
10.根据权利要求9所述的检测工具,其中,所述封包拦截模块进一步包括:
函数标记单元,用于标记所述应用程序调用的特定函数;
获取拦截单元,用于获取并拦截与所述特定函数相关的目标封包。
11.根据权利要求10所述的检测工具,其中:
所述函数标记单元获取所述应用程序对所述特定函数进行加密前该特定函数的明文,并标记该特定函数的明文。
12.根据权利要求10所述的检测工具,其中:
所述获取拦截单元根据预设的特征码筛选出所述目标封包,并拦截该目标封包。
13.根据权利要求9所述的检测工具,其中:
所述线程控制模块暂停所述应用程序的全部线程;或
所述线程控制模块从所述应用程序的全部线程中筛选出与所述封包具有相同特征码的黑名单线程,并暂停所述黑名单线程。
14.根据权利要求9所述的检测工具,其中,该检测工具还包括:
日志模块,用于存储日志,该日志中包括所述封包、所述特定数据以及针对所述特定数据的修改行为的描述信息。
15.根据权利要求9至13任一项所述的检测工具,其中:
所述应用程序为网页游戏;
所述提供数据交互服务是针对所述网页游戏的数据交互服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210365172XA CN102868699A (zh) | 2012-09-26 | 2012-09-26 | 一种提供数据交互服务的服务器的漏洞检测方法及工具 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210365172XA CN102868699A (zh) | 2012-09-26 | 2012-09-26 | 一种提供数据交互服务的服务器的漏洞检测方法及工具 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102868699A true CN102868699A (zh) | 2013-01-09 |
Family
ID=47447290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210365172XA Pending CN102868699A (zh) | 2012-09-26 | 2012-09-26 | 一种提供数据交互服务的服务器的漏洞检测方法及工具 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102868699A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104252598A (zh) * | 2013-06-28 | 2014-12-31 | 深圳市腾讯计算机系统有限公司 | 一种检测应用漏洞的方法及装置 |
CN106294166A (zh) * | 2016-08-16 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 一种游戏数据监控方法和装置 |
CN106326113A (zh) * | 2016-08-16 | 2017-01-11 | 腾讯科技(深圳)有限公司 | 一种游戏数据监控方法和装置 |
CN107040553A (zh) * | 2017-06-16 | 2017-08-11 | 腾讯科技(深圳)有限公司 | 漏洞分析方法、装置、终端以及存储介质 |
CN109499071A (zh) * | 2018-12-06 | 2019-03-22 | 珠海西山居移动游戏科技有限公司 | 一种检测游戏服务器协议安全的测试方法及装置 |
CN111614677A (zh) * | 2020-05-21 | 2020-09-01 | 苏州亿歌网络科技有限公司 | 服务器漏洞检测方法及系统 |
CN112565003A (zh) * | 2020-11-24 | 2021-03-26 | 西安四叶草信息技术有限公司 | 一种通信数据测试方法、装置、存储介质及电子设备 |
CN114168973A (zh) * | 2021-12-21 | 2022-03-11 | 江西省锐华互联网科技有限公司 | 一种基于云计算的app安全漏洞分析方法及服务器 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075508A (zh) * | 2010-09-02 | 2011-05-25 | 北京神州绿盟信息安全科技股份有限公司 | 针对网络协议的漏洞挖掘系统和方法 |
-
2012
- 2012-09-26 CN CN201210365172XA patent/CN102868699A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075508A (zh) * | 2010-09-02 | 2011-05-25 | 北京神州绿盟信息安全科技股份有限公司 | 针对网络协议的漏洞挖掘系统和方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104252598A (zh) * | 2013-06-28 | 2014-12-31 | 深圳市腾讯计算机系统有限公司 | 一种检测应用漏洞的方法及装置 |
CN104252598B (zh) * | 2013-06-28 | 2018-04-27 | 深圳市腾讯计算机系统有限公司 | 一种检测应用漏洞的方法及装置 |
CN106294166A (zh) * | 2016-08-16 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 一种游戏数据监控方法和装置 |
CN106326113A (zh) * | 2016-08-16 | 2017-01-11 | 腾讯科技(深圳)有限公司 | 一种游戏数据监控方法和装置 |
CN106294166B (zh) * | 2016-08-16 | 2018-07-06 | 腾讯科技(深圳)有限公司 | 一种游戏数据监控方法和装置 |
CN107040553A (zh) * | 2017-06-16 | 2017-08-11 | 腾讯科技(深圳)有限公司 | 漏洞分析方法、装置、终端以及存储介质 |
CN109499071A (zh) * | 2018-12-06 | 2019-03-22 | 珠海西山居移动游戏科技有限公司 | 一种检测游戏服务器协议安全的测试方法及装置 |
CN111614677A (zh) * | 2020-05-21 | 2020-09-01 | 苏州亿歌网络科技有限公司 | 服务器漏洞检测方法及系统 |
CN112565003A (zh) * | 2020-11-24 | 2021-03-26 | 西安四叶草信息技术有限公司 | 一种通信数据测试方法、装置、存储介质及电子设备 |
CN112565003B (zh) * | 2020-11-24 | 2022-11-22 | 西安四叶草信息技术有限公司 | 一种通信数据测试方法、装置、存储介质及电子设备 |
CN114168973A (zh) * | 2021-12-21 | 2022-03-11 | 江西省锐华互联网科技有限公司 | 一种基于云计算的app安全漏洞分析方法及服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102868699A (zh) | 一种提供数据交互服务的服务器的漏洞检测方法及工具 | |
CN108133139B (zh) | 一种基于多运行环境行为比对的安卓恶意应用检测系统 | |
CN102999716B (zh) | 虚拟机器监控系统及方法 | |
CN111274583A (zh) | 一种大数据计算机网络安全防护装置及其控制方法 | |
CN109918285B (zh) | 一种开源软件的安全识别方法及装置 | |
CN104392175A (zh) | 一种云计算系统中云应用攻击行为处理方法、装置及系统 | |
CN104580133A (zh) | 恶意程序防护方法与系统及其过滤表格更新方法 | |
JP2019527877A (ja) | Plcの仮想的なパッチおよびセキュリティコンテキストの自動配信 | |
CN104252592A (zh) | 外挂应用程序的识别方法及装置 | |
CN106462429A (zh) | 出于安全的原因对各种软件模块的多个功能等效的变型的动态修补 | |
CN104572031A (zh) | 一种测试用例的生成方法及装置 | |
CN108491321A (zh) | 测试用例范围确定方法、装置及存储介质 | |
CN111510339B (zh) | 一种工业互联网数据监测方法和装置 | |
CN105550584A (zh) | 一种Android平台下基于RBAC的恶意程序拦截及处置方法 | |
CN112100625B (zh) | 一种基于模型检测的操作系统访问控制脆弱性发现方法 | |
CN106650425A (zh) | 一种安全沙箱的控制方法及装置 | |
CN104123496A (zh) | 一种流氓软件的拦截方法及装置、终端 | |
CN101630350A (zh) | 缓冲区溢出漏洞的检测方法、装置和代码插装方法、装置 | |
CN111414402A (zh) | 一种日志威胁分析规则生成方法及装置 | |
CN105760761A (zh) | 软件行为分析方法和装置 | |
CN115550049A (zh) | 一种物联网设备的漏洞检测方法及系统 | |
CN112202704A (zh) | 一种区块链智能合约安全防护系统 | |
CN112565278A (zh) | 一种捕获攻击的方法及蜜罐系统 | |
CN115563618A (zh) | 一种基于中央计算平台的渗透测试方法及装置 | |
CN107679423A (zh) | 分区完整性检查方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130109 |