Android应用程序安全性测试的通用方法及系统

    公开(公告)号:CN104484607A

    公开(公告)日:2015-04-01

    申请号:CN201410781145.X

    申请日:2014-12-16

    IPC分类号: G06F21/57

    CPC分类号: G06F21/577

    摘要: 一种Android应用程序安全性测试的通用方法及系统,通过对待测试程序解包并进行反编译,得到XML源代码;然后通过静态分析待测试程序的配置文件和代码,进行包括:组件暴露漏洞、密码学误用、webview代码执行漏洞、代码保护方面的漏洞检测和安全测试;再将待测试程序进行实际运行并配置网络检测环境;最后进行动态分析,对信息泄漏、数据传输安全和数据存储安全三个方面的动态漏洞检测和安全测试并得出漏洞检测和安全测试报告。本发明能够对任一Android应用程序通过静态和动态分析相结合的方式,可以通过一系列步骤的检测和评估,能够最终给出应用程序本身设计和实现上存在的安全缺陷和隐患。

    Android应用程序密码学误用检测方法

    公开(公告)号:CN104484175B

    公开(公告)日:2017-11-28

    申请号:CN201410781215.1

    申请日:2014-12-16

    IPC分类号: G06F9/44 G06F21/60

    摘要: 一种Android应用程序密码学误用检测方法,对待检测应用程序进行反编译并生成代码库;然后在代码库中查找与密码学算法相关的代码段;再将和密码算法相关的代码段从原程序中剥离出来,得到完整的密码算法实现过程代码;最后对第三步得到的每一个密码学算法实现代码段进行数据抽象和过程建模处理,并通过模式匹配和事先指定的密码算法实现准则进行逐条比较,将不符合实现准则的条目输出并汇总形成安全分析结果。本发明能够通过对Android应用程序的静态分析,自动化的判断应用程序中所使用的密码算法种类,自动提取密码算法相关代码片段,对代码段进行安全分析,发现密码算法实现过程中存在问题的环节,最终得到应用程序密码学误用安全分析结果。

    Android平台OAuth协议误用安全检测方法

    公开(公告)号:CN104837159A

    公开(公告)日:2015-08-12

    申请号:CN201510235772.8

    申请日:2015-05-11

    IPC分类号: H04W24/06

    CPC分类号: H04W24/06

    摘要: 一种Android平台OAuth协议误用安全检测方法,根据Android平台特性建立覆盖OAuth协议生命周期的安全模型;然后分析不同服务厂商提供的软件开发套件和规范,识别出不同厂商的OAuth实现中的关键敏感参数,提取敏感参数生成配置文件用于Android应用分析;再分别进行静态代码分析、动态流量分析以检测应用实现与规范的不一致性、SSL实现正确性以及服务器端的实现正确性。本发明能够全面分析Android应用中OAuth协议的误用和潜在风险,基于一个覆盖OAuth协议生命周期的安全模型,系统化地对应用使用OAuth协议进行认证或授权的流程进行分析,识别潜在的不正确实现。同时,本方案的安全模型可以为服务厂商的SDK实现及应用开发者的OAuth实现提供安全指导,帮助开发者在Android应用正确实现OAuth协议。

    Android平台OAuth协议误用安全检测方法

    公开(公告)号:CN104837159B

    公开(公告)日:2018-01-30

    申请号:CN201510235772.8

    申请日:2015-05-11

    IPC分类号: H04W24/06

    摘要: 一种Android平台OAuth协议误用安全检测方法,根据Android平台特性建立覆盖OAuth协议生命周期的安全模型;然后分析不同服务厂商提供的软件开发套件和规范,识别出不同厂商的OAuth实现中的关键敏感参数,提取敏感参数生成配置文件用于Android应用分析;再分别进行静态代码分析、动态流量分析以检测应用实现与规范的不一致性、SSL实现正确性以及服务器端的实现正确性。本发明能够全面分析Android应用中OAuth协议的误用和潜在风险,基于一个覆盖OAuth协议生命周期的安全模型,系统化地对应用使用OAuth协议进行认证或授权的流程进行分析,识别潜在的不正确实现。同时,本方案的安全模型可以为服务厂商的SDK实现及应用开发者的OAuth实现提供安全指导,帮助开发者在Android应用正确实现OAuth协议。

    Android应用程序密码学误用检测方法

    公开(公告)号:CN104484175A

    公开(公告)日:2015-04-01

    申请号:CN201410781215.1

    申请日:2014-12-16

    IPC分类号: G06F9/44 G06F21/60

    摘要: 一种Android应用程序密码学误用检测方法,对待检测应用程序进行反编译并生成代码库;然后在代码库中查找与密码学算法相关的代码段;再将和密码算法相关的代码段从原程序中剥离出来,得到完整的密码算法实现过程代码;最后对第三步得到的每一个密码学算法实现代码段进行数据抽象和过程建模处理,并通过模式匹配和事先指定的密码算法实现准则进行逐条比较,将不符合实现准则的条目输出并汇总形成安全分析结果。本发明能够通过对Android应用程序的静态分析,自动化的判断应用程序中所使用的密码算法种类,自动提取密码算法相关代码片段,对代码段进行安全分析,发现密码算法实现过程中存在问题的环节,最终得到应用程序密码学误用安全分析结果。

    针对软件虚拟机保护的反混淆系统及方法

    公开(公告)号:CN109145534B

    公开(公告)日:2022-11-11

    申请号:CN201810820633.5

    申请日:2018-07-24

    IPC分类号: G06F21/14 G06F9/455

    摘要: 一种针对软件虚拟机保护的反混淆系统及方法,通过对程序追踪并获得追踪文件后,采用启发式分析策略分析trace文件得到软件虚拟机指令集;然后通过对虚拟机指令集提取语义;最后经重写和优化编译实现反混淆。本发明针对于受商业软件虚拟机vmprotect保护的程序,优化后得到的程序所执行的指令平均减少了2/3,并且易于修改,克服了现有的软件虚拟机逆向分析方法的缺陷。

    面向密码代码的自动化程序敏感数据保护方法

    公开(公告)号:CN112528240B

    公开(公告)日:2022-08-09

    申请号:CN202011402024.1

    申请日:2020-12-02

    IPC分类号: G06F21/12 G06F21/60 G06F21/62

    摘要: 一种面向密码代码的自动化程序敏感数据保护方法,通过预先在程序源代码上通过标记语句手工标记出原始的密钥材料及明文密文污点,通过LLVM编译器将程序源代码转换为LLVM中间语言代码;在LLVM中间语言代码上进行针对密码代码的静态敏感数据流分析,得到包含代码中的敏感缓冲区以及对应的对敏感缓冲区进行操作的代码;根据静态分析阶段输出的结果确定待修改的缓冲区的分配以及需要在高权限状态下执行的内存访问指令,并在此基础上进行隔离操作,并将变换得到的中间语言编译的同时链接上需要的运行时库,最终输出编译得到最终的保护后的二进制程序。本发明能够自动帮助确定需要保护的衍生密钥材料、中间缓冲区等数据结构和敏感数据。

    Android系统隐私数据恢复实现方法

    公开(公告)号:CN104035839B

    公开(公告)日:2017-07-18

    申请号:CN201410260715.0

    申请日:2014-06-12

    IPC分类号: G06F11/14 G06F17/30 G06F12/02

    摘要: 一种移动通信技术领域的Android系统隐私数据恢复实现方法,通过对无法获得文件系统信息的磁盘镜像进行数据块划分,然后依次从数据块中提取出结构特征和语义特征,并进一步筛选出SQLite3文件头数据块和SQLite3页数据块,经分割重组恢复出原始文件。本发明在ext4文件系统journal等文件系统相关信息受损的情况下,通过对隐私数据特征的分析,从非结构化的Android磁盘原始数据中进行数据恢复。