一种安全测试的方法、装置及系统的制作方法_2

文档序号:9249177阅读:来源:国知局
漏洞所对应的字节码,以测试所述漏洞的正确性,可以包括:
[0049]获取修改指示信息;
[0050]将所述修改指示信息替换到所述漏洞所对应的字节码的位置;
[0051]将修改后的函数传输到所述,所述修改后的函数在所述运行,以测试所述漏洞的正确性。
[0052]本发明实施例中,修改指示信息可以是测试人员输入的,将修改指示信息替换到漏洞所对应的字节码的位置,然后运行该修改后的程序,例如:持续运行中的游戏相应的漏洞是否发生变化,从而确定所述漏洞是否真实存在。
[0053]可选地,在上述图1对应的实施例或可选实施例的基础上,本发明实施例提供的安全测试的方法的另一实施例中,所述根据修改指示信息,修改所述漏洞所对应的字节码,以测试所述漏洞的正确性之后,所述方法还可以包括:
[0054]将所述漏洞上传至样本库。
[0055]本发明实施例中,测试出漏洞后,将该漏洞上传样本库,然后针对样本库中的漏洞进行统一的处理,以提高漏洞修复的效率。
[0056]为了便于理解,下面以一个应用场景为例说明本发明实施例中安全测试的方法:
[0057]如图2所示,测试人员从正在运行的游戏中可以发现该游戏中可能存在的漏洞,如:测试人员需要测试游戏中的攻击怪物是否存在逻辑漏洞,则可以在游戏中重演攻击怪物操作,通过工具截取这期间的调用函数,在窗口的过滤器中准确定位出攻击这一操作的计算函数(hurt),如图2中的序号806所对应的函数为hurt函数。
[0058]可以通过双击图2中显示出的hurt函数编译出该函数的字节码,并根据该字节码反编译出该hurt函数的源码,同时显示该hurt函数的字节码和源码,如图3所示,通过阅读源码可以快速确定字节码中计算伤害的位置,然后动态修改该字节码,如图4所示,将漏洞处的字节码由O修改为50,并在游戏中观察测试效果,如果人物攻击怪物出现了 50倍的攻击力,则说明该处确实为漏洞,漏洞查找准确,然后将该漏洞上传样本库,如图5A和图5B所示,hurt函数下存在致命漏洞,通过篡改数据可以导致游戏人物攻击增加50倍,可以在游戏内生效,破坏游戏正常规则。
[0059]如图6所示,本发明实施例提供的安全测试的装置20的一实施例包括:
[0060]确定单元201,用于根据过滤指示信息,从正在运行的程序中确定所述过滤指示信息所对应的函数;
[0061]展示单元202,用于展示所述确定单元201确定的所述函数的字节码和源码,所述源码用于展示所述函数的漏洞;
[0062]修改单元203,用于根据修改指示信息,修改所述展示单元202所展示的漏洞所对应的字节码,以测试所述漏洞的正确性。
[0063]本发明实施例中,确定单元201根据过滤指示信息,从正在运行的程序中确定所述过滤指示信息所对应的函数;展示单元202展示所述确定单元201确定的所述函数的字节码和源码,所述源码用于展示所述函数的漏洞;修改单元203根据修改指示信息,修改所述展示单元202所展示的漏洞所对应的字节码,以测试所述漏洞的正确性。与现有技术中需要静态逐一查找每个函数从中查找漏洞相比,导致测试效率低下相比,本发明实施例提供的安全测试的装置,可以在程序运行的过程中查找漏洞,并验证漏洞的正确性,从而可以快速的查找到漏洞,提高了安全测试的效率。
[0064]可选地,在上述图6对应的实施例的基础上,参阅图7,本发明实施例提供的安全测试的装置20的另一实施例中,所述装置还包括:
[0065]获取单元204,用于获取所述确定单元201确定的所述函数所对应的字节码;
[0066]反编译单元205,用于对所述获取单元204获取的字节码进行反编译,得到所述字节码对应的源码。
[0067]本发明实施例中,通过对字节码进行反编译得到所述字节码对应的源码,从而可以将字节码和源码显示在一个屏幕上,测试人员可以通过源码快速的找到漏洞,从而快速的确定字节码上的漏洞,从而提高了测试效率。
[0068]可选地,在上述图7对应的实施例的基础上,本发明实施例提供的安全测试的装置20的另一实施例中,
[0069]所述获取单元204,用于对所述函数进行编译,得到所述函数所对应的字节码。
[0070]本发明实施例中,函数确定后,可以直接对该函数进行编译,得到该函数对应的字节码。
[0071]可选地,在上述图6对应的实施例的基础上,参阅图8,本发明实施例提供的安全测试的装置20的另一实施例中,所述修改单元203包括:
[0072]获取子单元2031,用于获取修改指示信息;
[0073]替换子单元2032,用于将所述获取子单元2031获取的所述修改指示信息替换到所述漏洞所对应的字节码的位置;
[0074]传输子单元2033,用于将替换子单元2032修改后的函数传输到所述,所述修改后的函数在所述运行,以测试所述漏洞的正确性。
[0075]本发明实施例中,修改指示信息可以是测试人员输入的,将修改指示信息替换到漏洞所对应的字节码的位置,然后运行该修改后的程序,例如:持续运行中的游戏相应的漏洞是否发生变化,从而确定所述漏洞是否真实存在。
[0076]可选地,在上述图6对应的实施例的基础上,参阅图9,本发明实施例提供的安全测试的装置20的另一实施例中,所述装置还包括:
[0077]上传单元206,用于在所述修改单元203修改所述漏洞所对应的字节码后,将所述漏洞上传至样本库。
[0078]本发明实施例中,测试出漏洞后,将该漏洞上传样本库,然后针对样本库中的漏洞进行统一的处理,以提高漏洞修复的效率。
[0079]图10是本发明实施例中安全测试的装置20的结构示意图。安全测试的装置20可包括输入设备210、输出设备220、处理器230和存储器240。
[0080]存储器240可以包括只读存储器和随机存取存储器,并向处理器230提供指令和数据。存储器240的一部分还可以包括非易失性随机存取存储器(NVRAM)。
[0081 ] 存储器240存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
[0082]操作指令:包括各种操作指令,用于实现各种操作。
[0083]操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
[0084]在本发明实施例中,处理器230通过调用存储器240存储的操作指令(该操作指令可存储在操作系统中),执行如下操作:
[0085]根据过滤指示信息,从正在运行的程序中确定所述过滤指示信息所对应的函数;
[0086]展示所述函数的字节码和源码,所述源码用于展示所述函数的漏洞;
[0087]根据修改指示信息,修改所述漏洞所对应的字节码,以测试所述漏洞的正确性。
[0088]与现有技术中需要静态逐一查找每个函数从中查找漏洞相比,导致测试效率低下相比,本发明实施例提供的安全测试的装置,可以在程序运行的过程中查找漏洞,并验证漏洞的正确性,从而可以快速的查找到漏洞,提高了安全测试的效率。
[0089]处理器230控制为安全测试的装置20的操作,处理器230还可以称为CPU (Central Processing Unit,中央处理单元)。存储器240可以包括只读存储器和随机存取存储器,并向处理器230提供指令和数据。存储器240的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中,为安全测试的装置20的各个组件通过总线系统250耦合在一起,其中总线系统25
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1