
技术摘要:
本申请公开一种数据取证分析方法、装置及电子设备,涉及网络安全领域。其中,数据取证分析方法包括:对应用程序进行反编译得到所述应用程序中包含的各组件;构建各所述组件分别对应的数据流图以及控制流图;预测各组件中包括的用于组件间通信的通信字段,根据所述通信 全部
背景技术:
目前,Android智能手机已在全球智能手机市场中占有最大的市场份额,随之而来 的是,如经济欺诈、走私等依托于智能手机中的应用程序实现的数字犯罪的数量也逐年攀 升。 鉴于通过安装在智能手机中的应用程序处理的有关用户的大量个人信息存储在 本地数据库中,因此,基于本地数据库的数据取证成为了智能手机取证分析中至关重要的 步骤。 但是,在基于智能手机中的本地加密数据库进行取证分析时,存在加密数据库的 加密机制取证分析问题,针对该问题,相关技术中所采用的加密数据库取证分析方法主要 包括:手动逆向工程方法和动态分析方法。其中,手动逆向工程方法是通过反编译源代码, 再通过人工查找数据库加密密钥,最后分析秘钥生成机制实现,但该方法的局限性在于:取 证分析耗时长,且需要丰富的技术专长。而动态分析方法是将需要分析得到应用程序安装 在测试手机或模拟手机环境中,再使用该应用程序跟踪、记录加密数据库运行过程实现,但 该方法的局限性在于:很难触发数据库运行过程中的所有程序路径,导致无法找到加密数 据库的所有加密方式。
技术实现要素:
对于上述问题,本申请实施例提供了一种数据取证分析方法、装置及电子设备,以 尽可能的搜索到加密数据库的所有加密路径,且耗时短,具体方案如下。 第一方面,本申请实施例提供一种数据取证分析方法,包括:对应用程序进行反编 译得到所述应用程序中包含的各组件;构建各所述组件分别对应的数据流图以及控制流 图;预测各组件中包括的用于组件间通信的通信字段,根据所述通信字段对各所述组件进 行排序;根据各所述组件的排序结果,以及与各所述组件对应的数据流图、控制流图构建所 述应用程序对应的程序间数据流图和程序间控制流图;基于所述程序间数据流图和程序间 控制流图生成数据取证分析报告。 进一步,本申请的一种实施例中,根据所述通信字段对各所述组件进行排序的步 骤,包括:根据所述通信字段确定组件意图以及意图过滤器;针对每个所述组件,计算所述 组件的组件意图与其他组件分别对应的意图过滤器之间的匹配概率;按照匹配概率的大小 对各所述组件进行排序。 进一步,本申请的一种实施例中,所述匹配概率为 4 CN 111596926 A 说 明 书 2/9 页 其中, 表示第i个所述组件的组件意图, 表示第f个所述组件的意图过滤器。 进一步,本申请的一种实施例中,所述基于所述程序间数据流图生成数据取证分 析报告的步骤之后,所述方法还包括:在所述数据流图中的各数据流节点携带有节点编号 的情况下,根据所述节点编号查找所述程序间数据流图中的数据库加密指令;通过所述数 据库加密指令跟踪各所述组件对应的数据流图,得到秘钥来源;基于所述程序间数据流图 和所述秘钥来源生成所述数据取证分析报告。 进一步,本申请的一种实施例中,在所述秘钥来源为非变量的情况下,停止对各所 述组件对应的数据流图的跟踪,并执行所述基于所述程序间数据流图和所述秘钥来源生成 所述数据取证分析报告的步骤。 进一步,本申请的一种实施例中,在所述秘钥来源为变量的情况下,则继续执行通 过所述数据库加密指令跟踪各所述组件对应的数据流图,得到秘钥来源的步骤,直到跟踪 到的秘钥来源为非变量,则执行基于所述程序间数据流图和所述秘钥来源生成所述数据取 证分析报告的步骤。 第二方面,本申请实施例还提供一种数据取证分析装置,包括:反编译模块,用于 对应用程序进行反编译得到所述应用程序中包含的各组件;第一构建模块,用于构建各所 述组件分别对应的数据流图以及控制流图;预测模块,用于预测各组件中包括的用于组件 间通信的通信字段,根据所述通信字段对各所述组件进行排序;第二构建模块,用于根据各 所述组件的排序结果,以及与各所述组件对应的数据流图、控制流图构建所述应用程序对 应的程序间数据流图和程序间控制流图;报告生成模块,用于基于所述程序间数据流图和 程序间控制流图生成数据取证分析报告。 进一步,本申请的一种实施例中,所述预测模块具体用于根据所述通信字段确定 组件意图以及意图过滤器;以及针对每个所述组件,计算所述组件的组件意图与其他组件 分别对应的意图过滤器之间的匹配概率;按照匹配概率的大小对各所述组件进行排序。 第三方面,本申请实施例还提供一种电子设备,包括:至少一个处理器;与所述处 理器连接的至少一个存储器;其中,所述存储器存储有可被所述处理器执行的程序指令,所 述处理器调用所述程序指令能够执行如上所述的方法。 第四方面,本申请实施例还提供一种计算机可读存储介质,所述存储介质存储有 计算机指令,所述计算机指令使所述计算机执行如上所述的方法。 本申请实施例采用的上述至少一个技术方案能够达到以下有益效果: 本申请给出的数据取证分析方法、装置及电子设备中,通过对应用程序进行反编 译,得到应用程序中包括的各组件,进而通过预测各组件中的通信字段以及各组件中的数 据流图以及控制流图,来构建多个可能的程序间数据流图和程序间控制流图,最后基于该 程序间数据流图和程序间控制流图得到数据取证分析报告,以尽可能的搜索到所有可能的 加密路径,缩短数据取证分析时长。 附图说明 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附 图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对 范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这 5 CN 111596926 A 说 明 书 3/9 页 些附图获得其他相关的附图。 图1为本申请一示例性实施例提供的数据取证分析方法的流程示意图。 图2为本申请一示例性实施例提供的应用程序的组件调用关系示意图。 图3为本申请一示例性实施例提供的数据取证分析装置的框图。 图4为本申请一示例性实施例提供的电子设备的框图。