技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种基于启发式动态分析的移动应用网络信息提取方法  >  正文

一种基于启发式动态分析的移动应用网络信息提取方法

  • 国知局
  • 2024-08-05 11:40:04

本发明涉及移动应用网络信息提取方法,尤其涉及一种基于启发式动态分析的移动应用网络信息提取方法,属于网络信息安全。

背景技术:

1、在安卓操作系统的开放环境下,用户可以自由地从各种应用商店和网络上安装应用程序,然而上述开放特性并未对应用程序的来源进行过多的限制和审核,在用户安装应用程序时其安全性和可靠性常常无法得到保证;对于普通用户而言,仅依靠使用经验和安全常识基本不具备鉴别恶意行为的能力,而在恶意行为交互的过程中也常会出现境外服务器或恶意应用服务器等经过伪装的通信,因此,对应用程序管理者与安全分析人员而言分析监管现有应用程序不同功能的网络信息并基于此类信息对应用行为进行大致评估便显得至关重要。

2、针对以上问题,现有技术中一般对现有应用进行多种方法的测试以评估其安全性,对应用的主要功能内容以及各个功能的网络通信目标进行获取,实现对应用各个功能对应的服务器地址及网络信息的检测;对移动应用进行测试分为手动测试和自动化测试,手动测试过程中测试人员以终端用户的身份与系统交互,并与系统中存在的不同功能交互以获取应用的详细安全信息,通过适当的方法对测试结果进行分析,而在自动化测试中,测试人员可以编写各种测试脚本或自动化程序来找出隐藏的关系并探测出全部的网络信息。

3、在移动应用网络信息评估的过程中,若使用手动测试的方法安全测试人员必须从市场下载应用程序并安装在移动设备上,长时间使用移动应用并启动相应的网络分析工具来实现移动应用服务的网络信息获取与分析,然而在手动测试的过程中可能会出现更多的问题,例如,手动分析大量app的工作量较大,其包括从注册账户到等待申请成功再到登录最终到使用等一系列繁琐的流程,而在分析过程中还需要记录必要的信息,例如,页面的主要功能,应用程序通信的特征,此外还需要通过相应的捕包工具对应用的流量信息进行捕获与提取,同时手工测试需要大量的人力成本且可靠性低,由于可能存在人为的失误,使得测试难以每次都精确地执行,测试过程较为低效,且随着版本的更新应用内容还会发生更改,从前已完成测试的内容在后续版本更新后还会发生相应的变化,在此前提下通过手动测试完成对app主要网络信息进行获取难度是较大的。

4、对于当前针对移动应用的自动化测试而言,实现的关键方式便是通过静态或动态点击的方式对应用进行测试,同时也存在部分自动化测试结合静态分析以及动态分析方法的特点对app特征进行分析,然而上述主要测试方法的研究目标在于观察应用能否在使用过程中稳定运行、针对软件开发过程中可能存在的问题进行实时测试、主要关注页面的ui信息与bug信息,缺少针对移动应用运行过程中流量以及网络信息内容提取的移动安全测试工具,因此,难以满足移动应用网络信息的自动分析需求。

5、在此背景下本发明针对不同的分析需求通过静态逆向分析或动态流量自动生成技术实现应用功能的网络信息的自动化提取与分析,基于静态分析提取到的应用网络信息对动态流量生成过程中的页面点击进行启发式指导,并在app动态分析过程中结合明文实时还原方法,将应用页面探索获取到的明文、密文流量相结合提取分析其中有效信息,确保获取结果的全面性,为后续应用行为与威胁信息检测提供了技术上的可行性基础。

6、当前常用的静态分析或动态分析对app的网络特征信息提取的方法,存在问题如下:

7、1.静态网络分析过程中获取到的有效信息有限。当前主流方法只能获取到包含特征字符串http或https的静态字符串,主要包括url以及ip地址,但缺少对部分特殊字符串的获取,会存在分析的结果不完整、关键ip信息没有提取、结果中垃圾数据重复数据较多等问题,且对于静态写入的网络信息缺少有效的深入挖掘与利用。

8、2.动态网络分析当前主要问题为效率较低且实现方法较少,主要的动态分析测试方法的研究重点在于观察应用能否在使用过程稳定运行以及分析页面的ui信息与bug信息,存在较少针对流量以及网络方面的移动安全测试工具,现有测试工具对网络进行分析常会出现缺少针对性、效率低下、结果不够全面等问题,更缺少对app的有效静态信息以及对加密流量明文的结合,难以实现在有限的时间内对app尽可能全面自动获取网络有效信息和有针对性的动态点击以及流量生成。

9、综上所述,需要一种可以自动获取网络有效信息的、分析结果完整的、剔除重复无效数据的移动应用网络信息提取方法。

技术实现思路

1、在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。

2、鉴于此,为解决现有技术中传统的动态网络分析方法和静态网络分析方法难以实现全面地对app提取有效网络特征信息的问题,本发明提供一种基于启发式动态分析的移动应用网络信息提取方法。

3、技术方案如下:一种基于启发式动态分析的移动应用网络信息提取方法,包括以下步骤:

4、s1.输入待分析应用名称,对其进行静态网络分析,即逆向当前应用的apk文件获取程序源码,遍历所得逆向结果关键位置,并匹配特征串,输出静态网络字符串变量结果及静态启发信息;

5、s2.对待分析应用名称进行动态网络分析,利用静态分析获得的静态启发信息基于随机动作和控件坐标生成流量,通过自动点击获取原始流量密文;

6、s3.自动点击过程中通过设置中间人代理方法对原始流量密文实时解密获取流量明文,将原始流量密文与流量明文同时经过特征提取模块解析,得到动态网络分析结果;

7、s4.对静态网络字符串变量结果和动态网络分析结果进行数据清洗,输出最终结果。

8、进一步地,所述s1中,静态启发信息主要包括调用网络相关变量的功能页面,对于静态网络分析,通过现有逆向分析工具对apk文件进行解码,得到apk逆向结果,再通过正则表达式对apk逆向结果工程文件夹中主要类型的代码文件进行匹配查找,在匹配过程中获得两类结果,即静态网络字符串变量和动态网络分析过程中所需的静态启发信息;

9、在获取静态网络字符串变量结果的过程中,匹配的网络信息包括ip地址、url地址、sni地址、host地址、网络函数和网络库,对获取的静态网络字符串变量结果进行清洗,删除其中符合正则表达式且无效的信息;

10、在获取静态启发信息的过程中,匹配的网络信息包括ip地址、url地址、sni地址、host地址以及与网络相关函数的调用者所在的调用文件。

11、进一步地,所述s2中,通过提取静态启发信息确定存在网络行为的文件及其对应的界面,通过基于随机动作的流量生成方法或基于控件坐标的广度优先流量生成方法点击遍历当前页面全部控件,通过自动化脚本在自动点击的同时获取设备密文捕获的原始流量密文,完成当前页面点击后遍历其他存在网络行为的界面进行分析。

12、进一步地,所述s3中,对于自动化脚本在自动点击的同时启动流量捕获模块获取基于中间人代理实时还原的流量明文,通过解析工具对原始流量密文及实时还原的流量明文中的与app相关的协议类型以及流量明文中有效的网络信息类型进行提取结合,记录流量明文中常用的传输数据类型以及请求网络api,并作为动态分析的结果输出。

13、进一步地,所述广度优先流量生成方法,包括以下步骤:设定app名称和点击层数,点击层数包括广度优先点击层数和深度优先点击层数,在启动app进入新的页面后优先点击未点击的控件,获取页面中可点击的控件坐标,并存储当前页面位置坐标信息的哈希值结果;

14、在点击进入新的页面后判断当前页面是否已结束或达到预定点击深度,若满足条件则返回上一层页面,否则继续点击未完成按钮且将增加一层当前页面层数;

15、若返回上一层则需要判定当前页面是否为当前存在网络行为对应的页面的起点,若是当前存在网络行为对应的页面的首页且全部点击完成,则将当前页面向下滑动,点击未点击到的控件坐标,通过重复判断执行上述操作使得当前页面内的控件尽可能多得被点击到;

16、若进入新的页面则继续按上述操作点击或滑动以遍历页面内容,直至达到预设的滑动深度且当前页的全部控件均被点击到。

17、本发明的有益效果如下:本发明对传统移动应用网络分析方法进行了优化,能够从app的静态逆向结果中提取有效信息启发动态探索的过程,使分析的细节更加全面,提高流量生成的效率;动态点击即动态网络分析产生的流量也可以经过处理对判断静态网络分析的代码结构功能给出一定的指导作用;在动态点击过程中结合中间人代理还原明文的方法,从明文及密文内容中自动化解析提取其中的有效数据,使得针对移动应用网络信息提取的结果较现有方法更为全面具体;本发明结合了静态分析与动态分析的特点,能够根据分析者的不同需求与不同场景给出相应的解决方案,实现了对移动应用的网络服务主体的自动化探测与分析,提高了流量生成与分析的效率。

本文地址:https://www.jishuxx.com/zhuanli/20240802/258704.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。