40] 图1为本发明移动应用软件保护有效性的评估方法流程图;
[0041] 图2为本发明移动应用软件保护有效性的评估装置结构图。
【具体实施方式】
[0042] 为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步 的详细描述。
[0043]目前对于软件保护有效性的理论分析方法层出不穷,本发明提出一种移动应用软 件保护有效性的定量分析方法,一方面从攻击者的角度考虑软件的安全性,集成动态和静 态工具库以此来测试软件保护方案的有效性,另一方面对影响和制约攻击者实施攻击的关 键因素进行分析,提出可量化测量的性能指标的计算方法,两方面的累积结果即为定量分 析结论。
[0044] 可见,本发明着重考虑如何制定一个可量化的、具有实际意义的、攻击难度可度量 的评估指标,最终给出待评估的软件保护方案的抗攻击水平。
[0045] 图1为本发明移动应用软件保护有效性的评估方法流程图。
[0046] 如图1所示,该方法包括:
[0047] 步骤101:建立包含N个破解工具的软件攻击工具库,其中N为自然数。
[0048] 软件保护的目的是防御攻击,那么相对于未保护软件,保护后的软件是否难于被 攻击是证明保护方法有效性的关键。软件攻击是攻击者根据目标软件的功能、行为特征分 析和定位关键代码的大致位置,并对相关代码进行分析。只有在掌握关键代码逻辑流程或 者关键数据存储位置的情况下,攻击者才可以对代码进行逆向、篡改或替换。
[0049] 可以针对多种技术对移动应用软件进行保护,比如代码混淆、防篡改、加密等等。 软件攻击中常用到的技术包括动态和静态分析,现已有比较成熟的工具,动态分析常见的 调试器有011yDbg、IDA Pro、WinDbg、Numega SoftlCE,其中前两个属于用户级调试器,后两 个属于系统级调试器,而WinDbg则既是用户级调试器也可被用作系统级调试器。
[0050] 静态分析过程中常用的工具是反汇编器和反编译器。反汇编器的主要功能是将二 进制机器码译码为可读的汇编语言文本。反汇编的过程实际上是扫描-取值-识别-翻译 的过程。常见的反汇编器有IDAPR0、ILDasm等,其中IDAPR0是一款功能强大的反汇编器, 支持多种处理器架构,如IA-32, IA-64, AMD64等。
[0051] 表1列举了目前主流的针对移动应用的破解工具示范性实例。
[0052]
【主权项】
1. 一种移动应用软件保护有效性的评估方法,其特征在于,该方法包括: 建立包含N个破解工具的软件攻击工具库,其中N为自然数; 逐次运用软件攻击工具库中的破解工具尝试破解待评估的受保护移动应用软件,并基 于破解结果建立N维向量,其中如果破解成功,则对应向量位置标记为1 ;如果破解失败,贝U 对应向量位置标记为0 ; 计算所述N维向量的汉明重量,将所述汉明重量作为第一参数; 计算所述移动应用软件在保护前和保护后的性能指标差异量化值,并基于所述性能指 标差异量化值的计算结果确定第二参数,其中性能指标差异量化值越小,所述第二参数越 小; 计算第一参数与第二参数的乘积,并基于所述乘积确定移动应用软件的保护有效性, 其中乘积越小,移动应用软件的保护有效性越高。
2. 根据权利要求1所述的移动应用软件保护有效性的评估方法,其特征在于,所述软 件攻击工具库中的破解工具包括下列中的至少一个: 011yDbg、WinDbg、IDA Pro、Numega SoftICE、APK IDE、ILDasm、Smali 反编译、BakSmali 重打包、An化oidguard、内存Dump。
3. 根据权利要求1所述的移动应用软件保护有效性的评估方法,其特征在于,所述性 能指标差异量化值包括下列中的至少一个: 响应时间差异量化值; 吞吐量差异量化值; 并发用户数差异量化值; 资源利用率差异量化值。
4. 根据权利要求3所述的移动应用软件保护有效性的评估方法,其特征在于,所述基 于所述性能指标差异量化值的计算结果确定第二参数包括: 计算每个性能指标的性能指标差异量化值,如果所述性能指标差异量化值处于0? 25%的区间,则该性能指标赋值为0 ;如果所述性能指标差异量化值处于25?50%的区间, 则该性能指标赋值为1 ;如果所述性能指标差异量化值处于50% W上的区间,则该性能指 标赋值为2 ; 计算各个性能指标的赋值的加权和,所述加权和为所述第二参数。
5. -种移动应用软件保护有效性的评估装置,其特征在于,包括: 工具库建立模块,用于建立包含N个破解工具的软件攻击工具库,其中N为自然数; 第一参数确定模块,用于逐次运用软件攻击工具库中的破解工具尝试破解待评估的受 保护移动应用软件,并基于破解结果建立N维向量,其中如果破解成功,则对应向量位置标 记为1 ;如果破解失败,则对应向量位置标记为0 ;计算所述N维向量的汉明重量,将所述汉 明重量作为第一参数; 第二参数确定模块,用于计算所述移动应用软件在保护前和保护后的性能指标差异量 化值,并基于所述性能指标差异量化值的计算结果确定第二参数,其中性能指标差异量化 值越小,所述第二参数越小; 评估模块,用于计算第一参数与第二参数的乘积,并基于所述乘积确定移动应用软件 的保护有效性,其中乘积越小,移动应用软件的保护有效性越高。
6. 根据权利要求5所述的移动应用软件保护有效性的评估装置,其特征在于,所述软 件攻击工具库中的破解工具包括下列中的至少一个: 011yDbg、WinDbg、IDA Pro、Numega SoftICE、APK IDE、ILDasm、Smali 反编译、BakSmali 重打包、An化oidguard、内存Dump。
7. 根据权利要求5所述的移动应用软件保护有效性的评估装置,其特征在于,所述性 能指标差异量化值包括下列中的至少一个: 响应时间差异量化值; 吞吐量差异量化值; 并发用户数差异量化值; 资源利用率差异量化值。
8. 根据权利要求5所述的移动应用软件保护有效性的评估装置,其特征在于, 第二参数确定模块,用于计算每个性能指标的性能指标差异量化值,如果所述性能指 标差异量化值处于0?25%的区间,则该性能指标赋值为0 ;如果所述性能指标差异量化值 处于25?50%的区间,则该性能指标赋值为1 ;如果所述性能指标差异量化值处于50% W 上的区间,则该性能指标赋值为2 ; 计算各个性能指标的赋值的加权和,所述加权和为所述第二参数。
【专利摘要】本发明实施方式提出一种移动应用软件保护有效性的评估方法和装置。方法包括:建立包含N个破解工具的软件攻击工具库,其中N为自然数;逐次运用软件攻击工具库中的破解工具尝试破解待评估的受保护移动应用软件,并基于破解结果建立N维向量,其中如果破解成功,则对应向量位置标记为1;如果破解失败,则对应向量位置标记为0;计算N维向量的汉明重量,将汉明重量作为第一参数;计算移动应用软件在保护前和保护后的性能指标差异量化值,并基于性能指标差异量化值的计算结果确定第二参数,其中性能指标差异量化值越小,第二参数越小;计算第一参数与第二参数的乘积,并基于乘积确定移动应用软件的保护有效性。
【IPC分类】G06F21-12
【公开号】CN104573419
【申请号】CN201410662704
【发明人】杨昕雨, 李祺, 董枫, 李承泽, 张程鹏, 胡阳雨
【申请人】北京邮电大学
【公开日】2015年4月29日
【申请日】2014年11月19日