一种移动应用软件保护有效性的评估方法和装置的制造方法
【技术领域】
[0001] 本发明实施方式属于移动应用技术领域,特别是一种移动应用软件保护有效性的 评估方法和装置。
【背景技术】
[0002] 在信息化飞速发展的今天,移动应用软件在各行各业扮演着重要角色,已成为人 们日常生活、工作和学习中不可或缺的工具。但是,由于移动应用软件往往完全暴露于用户 面前,易被非法拷贝、逆向分析和恶意篡改。面对日益严重的安全威胁,许多以保护软件自 身安全为目的的方法和技术已成为当今的研究热点,包括以保护软件版权为目的的软件水 印技术,以保护软件代码为目的的代码混淆技术,以及抵御非法篡改的防篡改技术等。然 而,与此同时,大量破坏或绕过这些保护的攻击方法也不断被提出。在这种相互对立的研究 热潮下,如何对软件保护技术的有效性进行合理评估和证明显得尤为重要和迫切。
[0003] 目前,常见的软件保护强度评估方法通常有基于软件攻击的软件保护强度评估、 代码混淆算法的有效性评估、软件水印算法的有效性评估方法和防篡改机制的有效性评 估,但是这些评估方法往往只是分析了影响软件攻击过程的因素,未能给出明确的评估指 标。而且,通常针对某些反保护攻击技术,针对性较强不便于推广。基于软件攻击的评估主 要从软件攻击角度测量和验证软件保护方法有效性。目前一些基于软件攻击的评估方法分 析了影响软件攻击过程的因素,但并未提出明确的评估指标。同时也有一些自动化的反保 护攻击技术,但是其针对性比较强,不便于推广。
[0004] 软件保护的目标是提高软件安全性,加大被保护软件的攻击难度,因此从攻击角 度证明攻击的难易程度是评价软件保护的有效手段。目前基于软件攻击的评估方法的研 究面临着缺乏明确、统一度量指标的问题,也正处于发展阶段。
【发明内容】
[0005] 本发明实施方式提出一种移动应用软件保护有效性的评估方法,从而准确评估移 动应用软件保护有效性。
[0006] 本发明实施方式提出一种移动应用软件保护有效性的评估装置,从而准确评估移 动应用软件保护有效性。
[0007] 本发明实施方式的技术方案如下:
[0008] -种移动应用软件保护有效性的评估方法,该方法包括:
[0009] 建立包含N个破解工具的软件攻击工具库,其中N为自然数;
[0010] 逐次运用软件攻击工具库中的破解工具尝试破解待评估的受保护移动应用软件, 并基于破解结果建立N维向量,其中如果破解成功,则对应向量位置标记为1 ;如果破解失 败,则对应向量位置标记为0 ;
[0011] 计算所述N维向量的汉明重量,将所述汉明重量作为第一参数;
[0012] 计算所述移动应用软件在保护前和保护后的性能指标差异量化值,并基于所述性 能指标差异量化值的计算结果确定第二参数,其中性能指标差异量化值越小,所述第二参 数越小;
[0013] 计算第一参数与第二参数的乘积,并基于所述乘积确定移动应用软件的保护有效 性,其中乘积越小,移动应用软件的保护有效性越高。
[0014] 所述软件攻击工具库中的破解工具包括下列中的至少一个:
[0015] OllyDbg、WinDbg、IDA Pro、Numega SoftICE、APK IDE、ILDasm、Smali 反编译、 BakSmali 重打包、Androidguard、内存 Dump。
[0016] 所述性能指标差异量化值包括下列中的至少一个:
[0017] 响应时间差异量化值;
[0018] 吞吐量差异量化值;
[0019] 并发用户数差异量化值;
[0020] 资源利用率差异量化值。
[0021] 所述基于所述性能指标差异量化值的计算结果确定第二参数包括:
[0022] 计算每个性能指标的性能指标差异量化值,如果所述性能指标差异量化值处于 0?25%的区间,则该性能指标赋值为0;如果所述性能指标差异量化值处于25?50%的 区间,则该性能指标赋值为1;如果所述性能指标差异量化值处于50%以上的区间,则该性 能指标赋值为2;
[0023] 计算各个性能指标的赋值的加权和,所述加权和为所述第二参数。
[0024] -种移动应用软件保护有效性的评估装置,包括:
[0025] 工具库建立模块,用于建立包含N个破解工具的软件攻击工具库,其中N为自然 数;
[0026] 第一参数确定模块,用于逐次运用软件攻击工具库中的破解工具尝试破解待评估 的受保护移动应用软件,并基于破解结果建立N维向量,其中如果破解成功,则对应向量位 置标记为1;如果破解失败,则对应向量位置标记为〇;计算所述N维向量的汉明重量,将所 述汉明重量作为第一参数;
[0027] 第二参数确定模块,用于计算所述移动应用软件在保护前和保护后的性能指标差 异量化值,并基于所述性能指标差异量化值的计算结果确定第二参数,其中性能指标差异 量化值越小,所述第二参数越小;
[0028] 评估模块,用于计算第一参数与第二参数的乘积,并基于所述乘积确定移动应用 软件的保护有效性,其中乘积越小,移动应用软件的保护有效性越高。
[0029] 所述软件攻击工具库中的破解工具包括下列中的至少一个:
[0030] OllyDbg、WinDbg、IDA Pro、Numega SoftICE、APK IDE、ILDasm、Smali 反编译、 BakSmali 重打包、Androidguard、内存 Dump。
[0031] 所述性能指标差异量化值包括下列中的至少一个:
[0032] 响应时间差异量化值;
[0033] 吞吐量差异量化值;
[0034] 并发用户数差异量化值;
[0035] 资源利用率差异量化值。
[0036] 第二参数确定模块,用于计算每个性能指标的性能指标差异量化值,如果所述性 能指标差异量化值处于0?25%的区间,则该性能指标赋值为0 ;如果所述性能指标差异 量化值处于25?50%的区间,则该性能指标赋值为1;如果所述性能指标差异量化值处于 50%以上的区间,则该性能指标赋值为2 ;
[0037] 计算各个性能指标的赋值的加权和,所述加权和为所述第二参数。
[0038] 由此可见,应用本发明实施方式之后,建立包含N个破解工具的软件攻击工具库, 其中N为自然数;逐次运用软件攻击工具库中的破解工具尝试破解待评估的受保护移动应 用软件,并基于破解结果建立N维向量,其中如果破解成功,则对应向量位置标记为1 ;如果 破解失败,则对应向量位置标记为〇 ;计算所述N维向量的汉明重量,将所述汉明重量作为 第一参数;计算所述移动应用软件在保护前和保护后的性能指标差异量化值,并基于所述 性能指标差异量化值的计算结果确定第二参数,其中性能指标差异量化值越小,所述第二 参数越小;计算第一参数与第二参数的乘积,并基于所述乘积确定移动应用软件的保护有 效性,其中乘积越小,移动应用软件的保护有效性越高。
[0039] 可见,本发明移动应用软件保护有效性评估的定量分析方法之一是基于攻击工具 库,逐一测试软件保护方案的可靠性,结果以汉明距离形式定量化,而且移动应用软件保护 有效性评估的定量分析方法之二是基于性能指标,提出软件加固前后的响应时间、吞吐量、 并发用户数以及资源利用率等性能指标的计算方法,结果以加权形式定量化,本发明综合 以上两种定量计算方式评定移动应用软件保护有效性,从而保证了评估准确度。
【附图说明】
[00