【技术实现步骤摘要】
安卓勒索软件检测防御方法、装置、设备及可读存储介质
[0001]本专利技术涉及恶意代码检测
,具体涉及安卓勒索软件检测防御方法、装置、设备及可读存储介质。
技术介绍
[0002]作为安卓设备上的一种当代恶意流行软件,勒索软件通常伪装自己并且诱使用户安装,其运行后会锁住用户设备或者加密设备内的重要文件,并以解锁设备或者解密文件为条件向用户实施勒索,给用户带来了极大的安全威胁。
[0003]安卓勒索软件主要通过展示勒索文本、设置全屏悬浮窗、申请设备管理器权限重置PIN码、Activity劫持以及加密文件等方式实施勒索。其中,设置全屏悬浮窗、申请设备管理器权限重置PIN码、Activity劫持是安卓勒索软件锁屏行为的主要实现方式,加密文件是安卓勒索软件加密行为的主要实现方式。通过分析已有的样本发现勒索软件的恶意行为都是在Java层实现的,这也是目前安卓勒索软件的主要实现方式。但从Windows平台的勒索软件实现方式可以预知,安卓勒索软件的这些恶意行为是可以在native层实现的,而且native层实现比Java层实现 ...
【技术保护点】
【技术特征摘要】
1.一种安卓勒索软件检测防御方法,其特征在于,包括以下步骤:步骤1、反编译待检测安卓应用的APK文件;步骤2、在待检测安卓应用反编译目录中检测勒索文本;步骤3、将勒索文本检测结果同步到检测策略中;步骤4、将监控代理注入到待检测安卓应用的反编译目录中;步骤5、重新打包待检测安卓应用;步骤6、对重新打包后的待检测安卓应用进行重新签名,得到新的APK文件;步骤7、运行新的APK文件,监控代理拦截待检测安卓应用对框架层API和NativeLibrary的调用;步骤8、监控代理进行代理执行待检测安卓应用对框架层API和NativeLibrary的调用;步骤9、监控代理判断待检测安卓应用是否正在调用特征Java层方法或者特征native层函数,如果是则触发相应的标记跳转到步骤10执行相应检测,如果不是则继续调用相应的Java层方法或者native层函数;步骤10、根据触发的标记和步骤2中的勒索文本检测结果判断待检测安卓应用是否匹配检测策略,如果匹配为勒索软件则终止运行,如果未匹配为勒索软件则跳转到步骤7。2.根据权利要求1所述的一种安卓勒索软件检测防御方法,其特征在于,所述步骤2具体包括:步骤2.1、遍历待检测安卓应用反编译目录中的资源文件;步骤2.2、提取资源文件的字符串信息;步骤2.3、获取待检测安卓应用字符串向量;步骤2.4、提取已有的安卓勒索软件样本中的特征字符串;步骤2.5、获取安卓勒索软件样本特征字符串向量;步骤2.6、使用文本相似度算法计算步骤2.3中待检测安卓应用字符串向量和步骤2.5中特征字符串向量的文本相似度,根据文本相似度判断待检测安卓应用中是否存在勒索文本。3.根据权利要求1所述的一种安卓勒索软件检测防御方法,其特征在于,所述步骤4具体包括:步骤4.1、提取出待检测安卓应用反编译出的Smali文件;步骤4.2、对待检测安卓应用反编译出的Smali文件进行Smali代码改写;步骤4.3、编写Java层监控代理;步骤4.4、将Java层监控代理编译为Smali文件;步骤4.5、编写native层监控代理;步骤4.6、将native层监控代理编译为.so文件;步骤4.7、将Java层监控代理的Smali文件和native层监控代理的.so文件合并注入到待检测安卓应用的反编译目录中。4.根据权利要求3所述的一种安卓勒索软件检测防御方法,其特征在于,所述步骤4.2具体包括:步骤4.2.1、遍历待检测安卓应用反编译出的Smali文件;步骤4.2.2、逐行读取每个Smali文件中的语句;
步骤4.2.3、判断Smali语句是否含有敏感API调用或者继承了敏感类,如果含有敏感API调用则跳转到步骤4.2.4,如果继承了敏感类则跳转到步骤4.2.5,如果不含有敏感API调用也不继承敏感类,则跳转到步骤4.2.6;步骤4.2.4、使用监控代理替换敏感API调用,将调用敏感API的Smali语句替换为调用监控代理方法的Smali语句,跳转到步骤4.2.6;步骤4.2.5、使用监控代理替换继承的敏感类,将待检测安卓应用中继承了敏感类的Smali语句替换为继承监控代理类的Smali语句,跳转到步骤4.2.6;步骤4.2.6、判断是否到达文件尾部,如果到达文件尾部,则跳转到步骤4.2.7,如果未到达文件尾部则跳转到步骤...
【专利技术属性】
技术研发人员:李金库,杨学武,周林轩,蒋忠元,马建峰,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。