Android应用的日志审计方法及系统的制作方法_3

文档序号:9888020阅读:来源:国知局
4]作为图1所示的日志审计方法的进一步优化,其中步骤S15根据审计日志信息白名单对所述最终日志信息进行过滤,确定待审计的日志信息包括:
[0075]S151:接收自云端服务器分发或向云端服务器请求下载而获得的所述审计日志信息白名单;
[0076]S152:根据所述审计日志信息白名单中的日志信息对所述最终日志信息进行过滤,将所述最终日志信息中不在所述审计日志信息白名单范围内的日志信息确定为待审计的日志信息。
[0077]本实施方式中审计日志信息白名单来自云端服务器,云端服务器下有多个审计节点,每个审计节点唯一对应于一个终端设备,因此,审计节点接收到处理任务后,只将处理任务传递给与其唯一对应的终端设备,对处理任务对应的应用程序的安装包文件进行安全审计,以及在终端设备安装安装包文件后,对该终端设备进行安全审计,采用完全真实的终端设备环境进行安全审计,与终端设备模拟器相比,审计过程更加稳定,审计结果更加准确。
[0078]审计节点审计结束后,可以将审计结果反馈给任务调度服务器,任务调度服务器在审计页面中显示审计结果,供应用程序开发方查看。而且安全审计结果可以向开发方展示应用程序存在哪些漏洞、漏洞修复建议和漏洞出处,也可以向开发方展示应用程序的漏洞等级,根据所涉及到的威胁等级将漏洞分为高危、中危和低危漏洞,例如,高危漏洞指极易被病毒、木马、黑客等利用,能够远程执行代码的漏洞,开发方可以根据应用程序的漏洞等级确定是否对漏洞进行修复。
[0079]图1所示的日志审计方法,其中步骤S16利用所述待审计的日志信息进行Android应用的审计包括:
[0080]S161:利用所述待审计的日志信息确定漏洞特征;
[0081 ] S162:将所述漏洞特征存储到云端漏洞知识库中;
[0082]S163:根据所述云端漏洞知识库对待审计的Android应用的安装包进行检测。
[0083]上述实施方式中,根据所述云端漏洞知识库对待审计的Android应用的安装包进行检测包括静态检测和动态检测。其中,所述云端漏洞知识库是云端维护的存储各种漏洞静态特征和漏洞动态特征的数据库。例如,云端漏洞知识库包括危险的应用程序接口、和/或具有危险的应用程序配置文件、和/或无法实现关键安全函数。其中,调用危险的应用程序接口是指开发方所开发的应用程序调用危险的应用程序接口,用户启动应用程序后,该应用程序可以通过危险的应用程序接口而将用户隐私泄露,甚至给用户造成财产损失;具有危险的应用程序配置文件是指开发方所开发的应用程序具有危险的应用程序配置文件,用户在启动该应用程序后,该应用程序通过运行危险的应用程序配置文件而将用户隐私泄露,甚至给用户造成财产损失;无法实现关键安全函数是指开发方开发的应用程序无法实现应用程序中关键安全函数的作用,而将用户隐私泄露,甚至给用户造成财产损失。
[0084]本发明实施方式中可以通过硬件处理器(hardware processor)来实现相关功能模块。
[0085]需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作合并,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0086]在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0087]图2是本发明一实施方式的Android应用的日志审计系统的结构示意图。如图2所示,本发明实施方式的系统包括反编译单元21、日志生成单元22、日志输出单元23、日志筛选单元24和日志审计单元25。
[0088]反编译单元21用于对Android应用的安装包进行反编译,得到反编译文件。
[0089]日志生成单元22用于根据所述反编译文件中的日志输出函数得到反编译日志信息和所述安装包在运行时可能得到的运行日志信息,并对所述反编译日志信息进行还原,得到原始日志信息。
[0090]日志输出单元23用于将所述原始日志信息和所述运行日志信息统一输出,得到最终日志信息。
[0091 ]日志筛选单元24用于根据审计日志信息白名单对所述最终日志信息进行过滤,确定待审计的日志信息。
[0092]日志审计单元25用于利用所述待审计的日志信息进行Android应用的审计。
[0093]作为图2所示系统实施例的进一步说明,在一些实施方式中,反编译单元21用于:
[0094]解压所述安装包,得到dex可执行文件;
[0095]对所述dex可执行文件进行反编译,得到smali反编译文件。
[0096]作为图2所示系统实施例的进一步说明,在一些实施方式中,日志生成单元22用于遍历所述反编译文件,定位所述反编译文件的日志输出函数,获取所述日志输出函数输出的反编译日志信息和所述安装包在运行时可能得到的运行日志信息。
[0097]作为图2所示系统实施例的进一步说明,在一些实施方式中,日志生成单元22包括日志还原模块221,用于:
[0098]根据所述安装包中的资源文件得到所述安装包的待审计版本;
[0099]根据所述待审计版本的版本信息确定所述安装包在所述待审计版本下的映射文件的地址并下载所述映射文件;
[0100]根据所述映射文件对所述反编译日志信息进行还原,得到原始日志信息。
[0101]作为图2所示系统实施例的进一步优化,本发明实施例中日志筛选单元24用于:
[0102]接收自云端服务器分发或向云端服务器请求下载而获得的所述审计日志信息白名单;
[0103]根据所述审计日志信息白名单中的日志信息对所述最终日志信息进行过滤,将所述最终日志信息中不在所述审计日志信息白名单范围内的日志信息确定为待审计的日志?目息O
[0104]作为图2所示系统实施例的进一步优化,本发明实施例中日志审计单元25用于:
[0105]利用所述待审计的日志信息确定漏洞特征;
[0106]将所述漏洞特征存储到云端漏洞知识库中;
[0107]根据所述云端漏洞知识库对待审计的Android应用的安装包进行检测。
[0108]其中,根据所述云端漏洞知识库对待审计的Android应用的安装包进行检测包括静态检测和动态检测。所述云端漏洞知识库是云端维护的存储各种漏洞静态特征和漏洞动态特征的数据库。
[0109]图3是本发明的日志审计系统的一具体实施例的示意图。如图3所示,该系统包括Dex反编译单元、日志生成单元、日志输出单元、日志筛选单元和日志审计单元。其中,日志生成单元包括Smal i静态分析模块和日志还原模块,日志还原模块包括映射文件解析模块。审计日志信息白名单服务器用于提供待审计应用的审计日志信息白名单。待审计的应用经过该系统审计后,输出日志审计报告。日志审计报告可以包括被审计的应用存在的漏洞、漏洞出处和漏洞修复建议。
[0110]以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1