移动互联技术在应用软件安全协同测试中的研究
2021-02-02叶勇健
叶勇健,谭 超
(厦门华天涉外职业技术学院 信息技术学院,福建 厦门 361102)
在移动互联网环境下,移动终端软件进入迅速发展阶段,对于互联网软件测试的要求也会更高。测试软件的运行环境发生了改变,由静态封闭逐渐变为开放动态,软件系统也随之发生改变,由集中式转变为分布式。在开放式移动互联网环境下,应用软件需要进行聚合处理,在约束条件下完成协同任务,降低应用软件的监管以及预测难度。在运行过程中,及时测试并调控应用软件的相关信息,依据调控信息结果对软件运行态势加以调控[1-2]。计算机可信性质范围较广,主要包括硬件、操作系统、应用软件等,任何一个部位出现问题,均会导致整个计算机系统崩溃,影响系统可信度。由于软件语言开发规模逐渐增大[3],相应的开发难度、所需成本、维护难度及应用软件安全测试的性能控制难度加大。因此,研究移动互联网技术[4]应用在软件安全协同测试中是十分必要的。
文献[5]提出基于云安全的应用软件安全协同测试,结合运行环境的封闭特点,通过计量中心云端安全服务器建立合法白名单,使得运行进程模块得以正常操作,将计算得到的哈希值输入至云端服务器,对比白名单,检测非法进程。该方法能够强化网络安全防护水平,但软件安全协同测试结果的正确率较低。文献[6]提出基于面向云平台的应用软件安全协同测试,该平台结合虚拟化技术,对客户机的特定行为进行获取,对客户机释放的代码进行抓取,通过杀毒软件确定未知软件的恶意性。该方法所得的软件安全协同测试结果的正确率低,并且软件存在不安全的概率高。文献[7]提出基于动态符号执行的应用软件安全协同测试,通过插桩工具和约束求解器STP 构建ADRAS 系统模型,利用动态符号的可执行性和可满足性理论技术,监控应用软件的加密函数,同时捕捉应用软件加密行为以及相关的加密信息,从而对应用软件完成安全协同测试。利用该方法的应用软件存在不安全的概率高,软件测试耗时较长,效率低。文献[8]提出基于改进随机森林算法的应用软件安全协同测试,IRFCM 选取Android Manifest.xml 文件中的Permission信息和Intent信息作为应用软件的特征属性并进行优化选择,采用改进随机森林算法对最终生成应用软件的特征向量进行测试。该方法存在软件安全协同测试效率低的问题。
本文的研究重点是将移动互联技术应用在软件安全协同测试中。
1 应用软件安全协同测试
在人机交互的环境下,为了实现对群体协同工作的友好支持,利用移动终端设备、移动网络、移动应用、信息数据等4 大核心技术作为支撑,打造移动协同软件。移动协同管理的软件系统如图1 所示。
图1 移动协同管理的软件系统
将用户放在首要位置,围绕适应用户的使用习惯来优化交互界面,可以有效地支撑了移动互联系统的单点登录、业务融合、综合分析及统一管理,促进各功能模块间的有机衔接。
1.1 应用软件聚类
假设应用软件的数据集合为X={x1,x2,…,xn},数据聚类为c 类,vi(i=1,2,…,c)表示聚类中心。数据聚类的目的在于保障数据到所属聚类中的距离之和最小。JFCM表示FCM的目标函数,可定义为
式中,uij表示数据xj与聚类中心vi之间的模糊隶属度;dij表示数据xj与其聚类中心vi之间的距离,也叫欧氏距离,在特殊情况下可以称之为马氏距离;m表示模糊系数,取值范围为[1.5,2.5],可以用来评判FCM 的有效性;n表示测试数据;c表示聚类中心的数量。
目标函数的最优解的求解方式如下:
聚类中心更新过程如下:
输入:X={x1,x2,…,xn}表示聚类中心集合;c表示聚类数据的数量;μ(x)表示隶属度函数;ε表示迭代停止的阈值;k表示迭代变量。
输出:vi(i=1,2,…,c)表示聚类中心,uij表示隶属度。
1)随机选定初始聚类中心v1,v2,…,vc;
2)通过式(3)计算隶属度,划分样本数据;
3)根据式(4)更新聚类中心,得到新中心v1,v2,…,vc;
通过自适应向量以及指数来实现调控聚类。由于离群点被有针对性地处理,因此聚类效果得到有效提高,对于离群点的判断也更为直接[9],离群点所蕴涵的信息被充分挖掘。用JFCM′表示FCM 的目标优化函数,定义为
式中,wj为xj的自适应度,表示xj对于目标函数的影响程度,在迭代过程中,自适应度得到更新;为约束条件,可对样本之间的关联程度进行反应;uij表示该自适应模型的隶属度;m是模糊系数;c是聚类的类别数;p(p≠0)为自适应度指数,可对自适应度进行调节,以此调节数据聚类。算法的聚类质量以及收敛速度受到自适应度取值的影响,根据实践经验,p的取值范围为1 ≤p≤10。
根据对目标函数的计算,获得隶属度,完成对恶意软件的聚类,表达式如下:
设定算法中的输入层样本数据为x=1,2,3,…,N,网络结构中的维数为N,神经网络中节点数据输出值为O,则算法中的函数代表式为
网络节点中计算误差距离的函数定义为
式中,E代表误差权值;t代表误差代入系数。
在网络空间结构中,会因为应用机器算法而识别出隐藏数据节点,节点中的数据安全检测输出函数定义为
式中,O代表数据输出检测值;w、y分别代表节点数据中的输出参考系数。
应用软件的聚类分析为下一步应用软件安全协同测试的研究奠定了基础。
1.2 基于DHSC的应用软件安全协同测试
基于DHSC 的应用软件安全协同测试方法是移动互联技术的一种。利用该方法对应用软件安全协同测试展开研究,依据SVDD 方法,在软件训练集X′中,可知的重要程度主要受到通过训练得到的拉格朗日乘子αi′的影响。
软件训练集中若没有异常数据存在,超球体的组成结构可以通过拉格朗日乘子所决定;若存在异常数据,超球体的组成结构可以通过测试机大小所决定,对软件的安全性加以检测。
图2 封闭超球体
最小封闭超球体优化约束条件:
对上式的约束条件附加拉格朗日乘子αi,且αi≥0,对应的拉格朗日函数为
假设安全协同检测点为x,通过式(15)判断检测点异常情况。
式 中,H(x)表 示 Heaviside 函 数 ;若此 时 检测点为异常点。
应用软件安全协同测试方法步骤如下:
1)离线部分
①利用软件训练集合X ',采用SVDD 方法,建立静态超球体,计算拉格朗日乘子集
1)贡献因子(CFk')
2)重构误差Φ(k')min
3)平均p'近邻距离AD(k',p')
式中,AD(k',p')能够衡量软件数据点的平均距离,该距离越大,应用软件越不安全。
对测试软件以及训练软件进行对比分析,建立动态超球体,根据动态超球体结构的变化,对应用软件进行安全系统测试。
2 实验仿真
为了验证所提基于协同知识图谱的网络资源个性化推荐算法的综合有效性,需要进行仿真实验。实验环境:处理器为Inter(R)Core(TM)2Duo,主频为2.66 GHz,内存为2 GMB,服务器操作系统为CentOS5.5,数据库为MySQL,客户端为PC(Windows)。实验数据集合参数如表1所示。
表1 实验数据集合参数
为了验证基于DHSC 的应用软件安全协同测试方法的有效性,对应用软件安全协同测试结果的正确率进行实验研究,实验结果如图3所示。
图3 不同方法的应用软件安全协同测试结果的正确率对比
分析图3 可知,该方法在对应用软件安全协同的45 次测试中,测试结果的正确率为80%~100%;在文献[5]方法的45 次测试中,应用软件安全协同测试的正确率为0%~40%;在文献[6]方法的45 次测试中,测试结果的正确率为0%~50%,并且曲线的变化波动较大。该方法通过引入隶属度函数,得到了有较高正确率的软件安全协同测试结果。通过对比可知,该方法的测试结果具有较高的正确率。
在对应用软件安全协同测试结果正确率测试的基础上,利用重构误差测试应用软件存在不安全的概率,重构误差越大,软件不安全的概率越大,测试结果如图4所示。
图4 不同方法的不安全概率对比结果
分析图4 可知,不受贡献因子的影响,利用该方法,60次迭代对应的重构误差小于0.2;利用文献[6]的方法,60 次迭代对应的重构误差大于0.3,小于0.5;利用文献[7]的方法,60 次迭代对应的重构误差为0.2~0.5。重构误差衡量了应用软件数据点的重构精度,重构误差的值越大,应用软件存在不安全的概率越大。通过对比可知,本文所提出的方法的重构误差小于文献[6]方法的重构误差,说明该方法应用软件存在不安全的概率也小于文献[6]方法的不安全概率。
在以上两个实验的基础上,利用软件测试耗时进一步研究应用软件安全协同测试的效率,实验结果如图5所示。
图5 不同方法的软件安全协同测试效率
分析图5 可知,该方法的软件测试耗时整体在0.5 μs 以下,第25 次迭代的软件测试耗时为0.5 μs;文献[7]方法的软件测试耗时整体为0.6 μs~0.8 μs,第25 次迭代的软件测试耗时为0.7 μs;文献[8]方法的软件测试耗时整体为0.7 μs~0.9 μs,并且第25次迭代的软件测试耗时为0.9 μs。通过对比可知,该方法的软件测试耗时最短,说明该方法的应用软件安全协同测试的效率较高。
3 结语
通过对移动互联网时代的应用软件测试技术进行阐述,分别研究了应用软件安全协同测试结果的正确率、软件存在的不安全概率以及软件测试耗时,并且得到了较好的实验结果,验证了本文方法的有效性。较以往的研究成果相比,目前的软件测试已经有了较大的进步。但是,近几年对测试技术与测试方法的改观并不明显,说明软件测试并没有引起相关领域的重视,依旧面临着很多问题,不论是业界的领军人物还是独立的研发机构,所研究开发出来的软件都面临着激烈的市场竞争,相对于质量的保证,他们更侧重于速度的加快。自智能手机与平板电脑流行以来,软件的功能和性能都在飞速更新换代,涉及的手机支付等隐私已经在智能设备上广泛应用,人们的主要生活方式正在从PC端向着移动端变化。