一种核心函数的检测方法及系统技术方案

技术编号:20623125 阅读:27 留言:0更新日期:2019-03-20 14:40
本发明专利技术公开了一种核心函数的检测方法及系统,首先客户端接收服务器下发的配置了一个或者多个核心函数的配置文件;配置文件包含各核心函数的类名和函数名;然后解析配置文件中各核心函数的类名和函数名,获得对应的类和函数信息;另外还需获得各核心函数的内存地址对应的模块信息;然后将这些参数一并加密为待验证文件发送给服务器,服务器利用自身存储的配置文件对待验证文件进行验证,若验证一致则表示对应的核心函数未遭受攻击,若验证不一致则表示对应的核心函数遭受攻击。

A Core Function Detection Method and System

The invention discloses a method and system for detecting core functions. Firstly, the client receives a configuration file of one or more core functions issued by the server; the configuration file contains the class name and function name of each core function; secondly, the class name and function name of each core function in the configuration file are analyzed to obtain the corresponding class and function information; in addition, the core functions need to be obtained. The module information corresponding to the number of memory addresses is encrypted and sent to the server. The server uses its own stored configuration file to validate the validation file. If the validation is consistent, the corresponding core function is not attacked. If the validation is inconsistent, the corresponding core function is attacked.

【技术实现步骤摘要】
一种核心函数的检测方法及系统
本申请涉及信息
,尤其涉及一种核心函数的检测方法及系统。
技术介绍
目前,随着移动设备的日益普及,移动应用产业尤其是ios(苹果手机专属系统)应用得到飞速的发展。由于APPLE(苹果)对ios平台的封闭性,使得ios平台所能做的保护手段非常有限,同时也由于ios的编程语言是objective-c语言,是一种动态语言,所以其可以在运行时对重要的函数进行HOOK(钩子,用来拦截系统某些讯息),从而通过HOOK可以修改或者监听该重要函数的所有行为,从而对于ios的安全造成了极大的破坏性,例如通过HOOK网络发包函数,从而监控所有的网络数据包,从而可以分析ios程序的核心逻辑实现方法,从而对于ios应用程序来说极不安全,因此需要一种手段或者方法来检测或者阻止对ios应用程序的核心函数进行HOOK。
技术实现思路
本专利技术了提供了一种核心函数的检测方法及系统,以解决目前无法检测ios应用程序的核心函数是否被HOOK的技术问题。为解决上述技术问题,本专利技术提供了一种核心函数的检测方法,所述方法包括:接收服务器下发的配置了一个或者多个核心函数的配置文件;所述配置文件包含各核心函数的类名和函数名;解析所述配置文件中各核心函数的类名和函数名,获得对应的类和函数信息;获得所述各核心函数的内存地址对应的模块信息;将所述各核心函数的类、函数信息、模块信息一并加密为待验证文件发送给服务器,使得所述服务器利用自身存储的所述配置文件对所述待验证文件进行验证,若验证一致则表示对应的核心函数未遭受攻击,若验证不一致则表示对应的核心函数遭受攻击。优选的,所述解析所述配置文件中各核心函数的类名和函数名,获得对应的类和函数信息,包括:通过调用系统API函数obj_getClass来获取到所述各核心函数的类名下对应的具体的类。优选的,所述解析所述配置文件中各核心函数的类名和函数名,获得对应的类和函数信息,包括:通过调用系统API函数sel_registerName来获取所述各核心函数的函数名下对应的函数信息。优选的,所述获得所述各核心函数的内存地址对应的模块信息,包括:通过调用系统API函数class_getMethodImplementation来获得所述各核心函数的类对应的函数内存地址;通过调用系统函数dladdr从所述各核心函数的类对应的函数内存地址中获取所对应的模块信息。本专利技术还公开了一种客户端,包括:接收模块,用于接收服务器下发的配置了一个或者多个核心函数的配置文件;所述配置文件包含各核心函数的类名和函数名;解析模块,用于解析所述配置文件中各核心函数的类名和函数名,获得对应的类和函数信息;获得模块,用于获得所述各核心函数的内存地址对应的模块信息;发送模块,用于将所述各核心函数的类、函数信息、模块信息一并加密为待验证文件发送给服务器,使得所述服务器利用自身存储的所述配置文件对所述待验证文件进行验证,若验证一致则表示对应的核心函数未遭受攻击,若验证不一致则表示对应的核心函数遭受攻击。优选的,所述解析模块,具体用于通过调用系统API函数obj_getClass来获取到所述各核心函数的类名下对应的具体的类。优选的,所述解析模块,具体用于通过调用系统API函数sel_registerName来获取所述各核心函数的函数名下对应的函数信息。本专利技术还公开了一种核心函数的检测系统,包括:服务器,用于下发配置了一个或者多个核心函数的配置文件;所述配置文件包含各核心函数的类名和函数名;客户端,用于接收所述服务器下发的所述配置文件,所述客户端,用于解析所述配置文件中各核心函数的类名和函数名,获得对应的类和函数信息;所述客户端,用于获得所述各核心函数的内存地址对应的模块信息;所述客户端,用于将所述各核心函数的类、函数信息、模块信息一并加密为待验证文件发送给服务器;所述服务器,用于利用自身存储的所述配置文件对所述待验证文件进行验证,若验证一致则表示对应的核心函数未遭受攻击,若验证不一致则表示对应的核心函数遭受攻击。本专利技术公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述技术方案所述方法的步骤。本专利技术公开了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述技术方案所述方法的步骤。通过本专利技术的一个或者多个技术方案,本专利技术具有以下有益效果或者优点:本专利技术公开了一种核心函数的检测方法及系统,首先客户端接收服务器下发的配置了一个或者多个核心函数的配置文件;所述配置文件包含各核心函数的类名和函数名;然后解析所述配置文件中各核心函数的类名和函数名,获得对应的类和函数信息;另外还需获得所述各核心函数的内存地址对应的模块信息;然后将所述各核心函数的类、函数信息、模块信息一并加密为待验证文件发送给服务器,使得所述服务器利用自身存储的所述配置文件对所述待验证文件进行验证,若验证一致则表示对应的核心函数未遭受攻击,若验证不一致则表示对应的核心函数遭受攻击。由此可见,在检测某个核心函数是否被黑客所HOOK,只需要在服务器的下发配置中增加该核心函数,便可以利用本专利技术的方法进行检测,不但提高了系统的安全性,且并不需要去更新ios客户端的版本,极大的方便了运营。附图说明图1为本专利技术实施例中一种核心函数的检测方法的实施过程;图2为本专利技术实施例中客户端的结构示意图。具体实施方式为了使本申请所属
中的技术人员更清楚地理解本申请,下面结合附图,通过具体实施例对本申请技术方案作详细描述。针对现有技术的以上缺陷或改进需求,本文提供了本专利技术公开了一种核心函数的检测方法,由于核心函数都是通过服务器下发过来的,那么通过在服务器上配置那些核心函数,ios应用程序则会去检测那些核心函数。通常黑客需要对某个函数进行HOOK时,首先都会编写一个模块,然后将该模块注入到该ios的应用程序的内存中,然后对感兴趣的核心函数进行HOOK,所以核心函数执行时会先跳转到黑客所编写的模块中。基于以上分析,本文是对核心函数检测其所属内存地址空间的信息,正常的ios程序核心函数所属信息肯定是系统的基础库,如果该信息不属于系统库,则说明黑客对该函数进行了HOOK,从而跳转到了黑客所编写的库代码中,从而就检测到了黑客的HOOK行为。本专利技术设计的方法的好处是更为灵活,可针对动态可变可增加可减少核心函数的检测的方法。同时对于安全检测来说,一旦我们发现某个函数被黑客所HOOK了,如果我们需要对该函数进行检测时,只需要在服务器的下发配置中增加一个函数即可,而并不需要去更新ios客户端的版本(ios的版本更新非常慢),也极大的方便了运营。下面请参看图1,是本专利技术的一种核心函数的检测方法的具体实施过程。步骤11,接收服务器下发的配置了一个或者多个核心函数的配置文件;所述配置文件包含各核心函数的类名和函数名;在具体的实施过程中,首先在开发ios应用程序时,已经确定出核心数据和核心函数,例如核心函数是网络发包函数,或者是通过网络上查找到的黑客常会HOOK的核心函数。本专利技术将这些核心函数生成配置文件,以表格的形式存储,从而当客户端连接上服务器时,下发这个配置文件到客户端。由于ios的函数都是基于类中的方法,所以检测时本文档来自技高网
...

【技术保护点】
1.一种核心函数的检测方法,其特征在于,所述方法包括:接收服务器下发的配置了一个或者多个核心函数的配置文件;所述配置文件包含各核心函数的类名和函数名;解析所述配置文件中各核心函数的类名和函数名,获得对应的类和函数信息;获得所述各核心函数的内存地址对应的模块信息;将所述各核心函数的类、函数信息、模块信息一并加密为待验证文件发送给服务器,使得所述服务器利用自身存储的所述配置文件对所述待验证文件进行验证,若验证一致则表示对应的核心函数未遭受攻击,若验证不一致则表示对应的核心函数遭受攻击。

【技术特征摘要】
1.一种核心函数的检测方法,其特征在于,所述方法包括:接收服务器下发的配置了一个或者多个核心函数的配置文件;所述配置文件包含各核心函数的类名和函数名;解析所述配置文件中各核心函数的类名和函数名,获得对应的类和函数信息;获得所述各核心函数的内存地址对应的模块信息;将所述各核心函数的类、函数信息、模块信息一并加密为待验证文件发送给服务器,使得所述服务器利用自身存储的所述配置文件对所述待验证文件进行验证,若验证一致则表示对应的核心函数未遭受攻击,若验证不一致则表示对应的核心函数遭受攻击。2.如权利要求1所述的一种核心函数的检测方法,其特征在于,所述解析所述配置文件中各核心函数的类名和函数名,获得对应的类和函数信息,包括:通过调用系统API函数obj_getClass来获取到所述各核心函数的类名下对应的具体的类。3.如权利要求1所述的一种核心函数的检测方法,其特征在于,所述解析所述配置文件中各核心函数的类名和函数名,获得对应的类和函数信息,包括:通过调用系统API函数sel_registerName来获取所述各核心函数的函数名下对应的函数信息。4.如权利要求1所述的一种核心函数的检测方法,其特征在于,所述获得所述各核心函数的内存地址对应的模块信息,包括:通过调用系统API函数class_getMethodImplementation来获得所述各核心函数的类对应的函数内存地址;通过调用系统函数dladdr从所述各核心函数的类对应的函数内存地址中获取所对应的模块信息。5.一种客户端,其特征在于,包括:接收模块,用于接收服务器下发的配置了一个或者多个核心函数的配置文件;所述配置文件包含各核心函数的类名和函数名;解析模块,用于解析所述配置文件中各核心函数的类名和函数名,获得对应的...

【专利技术属性】
技术研发人员:周志刚张文明陈少杰
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1