一种基于编译器修改的Android锁屏型勒索软件检测方法技术

技术编号:21548364 阅读:27 留言:0更新日期:2019-07-06 21:43
本发明专利技术公开了一种基于编译器修改的Android锁屏型勒索软件检测方法,包括:修改dex2oat编译器主函数的代码,将锁屏型Android勒索软件待监控的高危方法和参数初始化在列表中;修改dex2oat编译器优化编译模块的代码,采用注入指令的方式标记高危方法和参数;编译Android系统ART模块源代码,生成可注入标记指令的dex2oat编译器;应用程序运行过程中捕获标记指令,通过匹配既定特征库检测Android锁屏型勒索软件。该方法动态实时地监控判断当前操作,及时提醒用户并保护设备不受入侵。提高了勒索软件的识别率,高效地解决了Android锁屏型勒索软件带来的安全威胁。

An Android Lock Screen Extortion Software Detection Method Based on Compiler Modification

【技术实现步骤摘要】
一种基于编译器修改的Android锁屏型勒索软件检测方法
本专利技术属于移动安全领域,涉及恶意软件的检测,具体是一种基于编译器修改的Android锁屏型勒索软件检测方法,可用于保护Android系统的安全。
技术介绍
近年来,Android逐渐成为主流的移动端操作系统,人们对其依赖性日益增强,各类重要的数据文件经常存储于移动设备中。由此,勒索软件也逐渐由PC端向移动端转移,而Android的开源性更容易使其成为勒索软件的攻击目标。Android锁屏型勒索软件通常伪装成正常软件,诱导用户安装,运行后频繁弹出窗口或锁定屏幕,造成设备无法正常使用,攻击者以此胁迫用户支付赎金恢复设备的正常使用。Android系统中锁屏型勒索软件的检测和防御成为移动安全领域亟待解决的问题。从Android5.0版本开始,ART(AndroidRuntime)虚拟机取代了传统的Dalvik虚拟机,提高了应用的运行性能。ART虚拟机的编译工具dex2oat将原始的APK文件编译为OAT文件,在Android6.0版本后,Optimizing成为默认的编译后端。锁屏型勒索软件与其它应用程序相同,被安装到设备上后,系本文档来自技高网...

【技术保护点】
1.一种基于编译器修改的Android锁屏型勒索软件检测方法,其特征在于,包括如下步骤:S01,修改dex2oat编译器主函数的代码,将Android锁屏型勒索软件待监控的高危方法和参数初始化在列表中;S02,修改dex2oat编译器优化编译模块的代码,采用注入指令的方式标记高危方法和参数;S03,dex2oat编译器源码修改结束后,编译Android系统ART模块源代码,生成可注入标记指令的dex2oat编译器;S04,应用程序运行过程中捕获标记指令,通过匹配既定特征库检测Android锁屏型勒索软件。

【技术特征摘要】
1.一种基于编译器修改的Android锁屏型勒索软件检测方法,其特征在于,包括如下步骤:S01,修改dex2oat编译器主函数的代码,将Android锁屏型勒索软件待监控的高危方法和参数初始化在列表中;S02,修改dex2oat编译器优化编译模块的代码,采用注入指令的方式标记高危方法和参数;S03,dex2oat编译器源码修改结束后,编译Android系统ART模块源代码,生成可注入标记指令的dex2oat编译器;S04,应用程序运行过程中捕获标记指令,通过匹配既定特征库检测Android锁屏型勒索软件。2.根据权利要求1所述的一种基于编译器修改的Android锁屏型勒索软件检测方法,其特征在于,所述步骤S01中,具体包括如下步骤:11)初始化悬浮窗类型勒索软件的高危方法和参数,用于悬浮窗标记指令的注入,初始化的内容包括悬浮窗参数特征列表和悬浮窗方法特征列表;12)初始化设备管理器重置密码类型勒索软件的高危方法,用于设备管理器重置密码标记指令的注入,初始化的内容包括重置密码方法特征列表;13)初始化界面劫持类型勒索软件的高危方法和参数,用于界面劫持标记指令的注入,初始化的内容包括劫持次数阈值、获取顶层应用次数、界面启动次数、界面劫持方法特征列表和参数特征列表。3.根据权利要求2所述的一种基于编译器修改的Android锁屏型勒索软件检测方法,其特征在于,所述步骤S02中,具体包括如下步骤:21)在dex2oat编译器优化编译时,获取待优化的Graph对象,将其设置为当前Graph,获取当前Graph的第一条指令;22)判断该指令名称是否在步骤11)中的悬浮窗方法列表中,如果是,执行步骤25),否则执行步骤23);23)判断该指令名称是否在步骤12)中的重置密码方法列表中,如果是,执行步骤26),否则执行步骤24);24)判断该指令名称是否在步骤13)中的界面劫持方法列表中,如果是,执行步骤27),否则执行步骤28);25)注入悬浮窗标记指令;26)注入重置密码标记指令;27)注入界面劫持标记指令;28)继续获取当前Graph对象的下一条指令,如果获取成功,跳转到步骤22),否则执行步骤29);29)当前Graph的指令标记完成,执行步骤210);210)继续获取下一个Graph,如果获取成功,跳转到步骤21),否则执行步骤211);211)标记添加结束。4.根据权利要求3所述的一种基于编译器修改的Android锁屏型勒索软件检测方法,其特征在于,所述步骤25)中,具体包括如下步骤:25-1)判断该指令是否为接口调用类型的指令,如果是,执行步骤25-2);否则执行步骤28);25-2)判断该指令的名称是否为WindowManager类的addView()方法,如果是,执行步骤25-3);否则执行步骤28);25-3)将该指令设置为当前指令,获取当前指令中的第三个参数,即layoutParams指令;25-4)创建实例调用类型的AddView()方法标记指令,将AddView()的传入参数设置为步骤25-3)中获取的layoutParams指令,在AddView()方法体内加入高危参数检测逻辑;25-5)获取当前指令所在的Block,在当前指令前添加步骤25-4)中的AddView()方法标记指令,执行步骤28)。5.根据权利要求4所述的一种基于编译器修改的Android锁屏型勒索软件检测方法,其特征在于,所述步骤25-4)中,检测逻辑如下:25-4a)获取layoutParams字段中宽度、高度、类型和标志的值;25-4b)如果宽度和高度的值均为-1,且类型的值为2010,则执行步骤25-4g);否则执行步骤25-4c);25-4c)如果宽度和高度的值均为-2,且类型的值为2010,且标志的值不包含FLAG_NOT_FOCUSABLE,则执行步骤25-4g);否则执行步骤25-4d);25-4d)如果宽度和高度的值均为-1,且类型的值为2002或2003或2005或2006或2007,且标志的值不包含FLAG_SCALED,则执行步骤25-4g);否则执行步骤25-4e);25-4e)如果宽度和高度的值均为-2,且类型的值为2002或2003或2005或2007,且标志的值不包含FLAG_NOT_FOCUSABLE或FLAG_SCALED,则执行步骤25-4g);否则执行步骤25-4f);25-4f)如果宽度和高度的值均为-2,且类型的值为2006,且标志的值包含FLAG_DIM_BEHIND或FLAG_SHOW_WALLPAPER,则执行步骤25-4g);否则跳转到步骤25-5);25-4g)在AddView()方法体内添加高危参数标记,输出标记日志。6.根据权利要求3所述的一种基于编译器修改的Android锁屏型勒索软件检测方法,其特征在于,所述步骤26)中,具体包括如下步骤:2...

【专利技术属性】
技术研发人员:李金库周鑫周亚金杨学武马建峰
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1