一种基于arm云游戏木马病毒服务器检测装置的制作方法

文档序号:23718456发布日期:2021-01-24 06:34阅读:166来源:国知局
一种基于arm云游戏木马病毒服务器检测装置的制作方法

[0001]
本发明涉及服务器检测领域,具体为一种基于arm云游戏木马病毒服务器检测装置。


背景技术:

[0002]
基于arm的云游戏是apk运行在云端服务器,安全保障由之前的手机或者大屏电视上转移到了服务器上,一但服务器出现了安全问题的;比如xposed及hook代码注入能够攻击系统api,达到apk免安装,从而增加耗费系统的内存、cpu等,也会影响arm云服务器的其它的模块;影响的不仅仅是一个用户,而是多个在这个arm服务器上的用户都会受影响,包括信息泄漏、用户的信息丢失、服务器停滞运行、财产损失、用户体验等相关问题,所以安全问题,一定大部分杜绝;有安全问题的apk上架云游戏服务器;现有技术存在的问题:目前检测到的安全问题包括:1、有没有明显的关键字“电话短信邮箱”,有没有获取不应该获取的隐秘手机信息(通过不正当手段比如代码注入,后台服务开启activity);2、有没有调用系统的其它模块应用(比如支付宝、淘宝、系统设置),并且有向安卓系统发送自动按位置发送按键消息,自动触发服务;3、有没有向系统索取root权限,来达到更改系统、监听系统的行为;4、有没有调用自动像系统发送按键消息,有没有截取手机系统的屏幕;5、激活设备管理器,重置锁屏密码,并锁屏,同时监听用户修改锁屏密码的行为;6、创建子线程,在sd卡中无限创建空文件和空文件夹,导致sd卡几乎无法打开;7、将sd卡里的文件加密,危害用户的信息丢失;8、监控短信(收到短信)启动服务,短信信息泄漏,危害用户隐私等问题;9、有没有申请不应该申请的系统权限,可以获取到隐秘信息或者对用户及系统危害攻击操作。


技术实现要素:

[0003]
本发明的目的是针对现有技术的缺陷,提供一种基于arm云游戏木马病毒服务器检测装置,以解决上述背景技术提出的问题。
[0004]
为实现上述目的,本发明提供如下技术方案:一种基于arm云游戏木马病毒服务器检测装置,包括apk反编译模块、权限检测模块、后台服务和广播检测模块、xposed和hook代码注入检测模块、浮窗和全局弹窗检测、全局代码敏感关键信息检测、自动模拟系统消息检测、调用系统模块及第三放应用检测和结果报告输出。
[0005]
作为本发明的一种优选技术方案,所述apk反编译模块包括利用apktool,dexjar,jd-gui反编译代码、class代码java类整理模块和检测工程自动生成模块,所述权限检测模块包括权限列表配置模块、权限androidmanifest.xml检测和动态权限代码检测。
[0006]
作为本发明的一种优选技术方案,所述后台服务和广播检测模块包括开机启动广播检测、插入sd检测sd卡广播、安装卸载apk广播检测、关机/重启广播检测和accessibilityservice自动点击服务检测。
[0007]
作为本发明的一种优选技术方案,所述xposed和hook代码注入检测模块包括检测xposed服务及对抗策略和检测是否注入插件化框架。
[0008]
作为本发明的一种优选技术方案,所述浮窗和全局弹窗检测包括检测是否存在反射创建浮窗和全局弹窗禁用模块。
[0009]
作为本发明的一种优选技术方案,所述全局代码敏感关键信息检测包括敏感关键字检测、系统信息获取api检测和反射调用设备管理器相关api检测。
[0010]
作为本发明的一种优选技术方案,所述自动模拟系统消息检测包括自动模拟系统事件api检测和截取系统屏幕api调用检测。
[0011]
作为本发明的一种优选技术方案,所述调用系统模块及第三放应用检测包括系统设置调用检测和支付宝、微信、淘宝、京东调用监测。
[0012]
作为本发明的一种优选技术方案,所述结果报告输出包括应用安全评级、问题修复建议报告输出。
[0013]
本发明的有益效果是:该装置采用360度全视角包括从静态xml配置及java代码和动态运行apk,通过开源xposed框hook关键函数来判断比对是否有定义的危险行为,全面检测保障arm云游戏上架的是绿色安全游戏,不需要cp提供源代码的情况就可以检测出是否符合云游戏上架安全标准;在arm云游戏上架数量很大的情况,本发明装置大大降低了安全审查的成本,保护了用户的安全权益,更全面智能的检测出游戏的问题,为arm服务器稳定保安全启航。
附图说明
[0014]
图1为本发明的模块图;图2为本发明的局部流程图;图3为本发明的流程图。
[0015]
10、apk反编译模块;11、利用apktool,dex2jar,jd-gui反编译代码;12、class代码java类整理模块;13、检测工程自动生成模块;20、权限检测模块;21、权限列表配置模块;22、权限androidmanifest.xml检测;23、动态权限代码检测;30、后台服务、广播检测模块;31、开机启动广播检测;32、插入sd检测sd卡广播;33、安装卸载apk广播检测;34、关机/重启广播检测;35、accessibilityservice自动点击服务检测;40、xposed、hook代码注入检测模块;41、检测xposed服务及对抗策略;42、检测是否注入插件化框架;50、浮窗、全局弹窗检测;51、检测是否存在反射创建浮窗;52、全局弹窗禁用模块;60、全局代码敏感关键信息检测;61、敏感关键字检测;62、系统信息获取api检测;63、反射调用设备管理器相关api检测;70、自动模拟系统消息检测;71、自动模拟系统事件api检测;72、截取系统屏幕api调用检测;80、调用系统模块及第三放应用检测;81、系统设置调用检测;82、支付宝、微信、淘宝、京东调用监测;90、结果报告输出;91、应用安全评级;92、问题修复建议报告输出。
具体实施方式
[0016]
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易被本领域人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
[0017]
实施例:请参阅图1-3,本发明提供一种技术方案:一种基于arm云游戏木马病毒服务器检测装置,包括apk反编译模块10、权限检测模块20、后台服务和广播检测模块30、xposed和hook代码注入检测模块40、浮窗和全局弹窗检测50、全局代码敏感关键信息检测
60、自动模拟系统消息检测70、调用系统模块及第三放应用检测80和结果报告输出90。
[0018]
apk反编译模块10包括利用apktool,dex2jar,jd-gui反编译代码11、class代码java类整理模块12和检测工程自动生成模块13,权限检测模块20包括权限列表配置模块21、权限androidmanifest.xml检测22和动态权限代码检测23。后台服务和广播检测模块30包括开机启动广播检测31、插入sd检测sd卡广播32、安装卸载apk广播检测33、关机/重启广播检测34和accessibilityservice自动点击服务检测35。xposed和hook代码注入检测模块40包括检测xposed服务及对抗策略41和检测是否注入插件化框架42。浮窗和全局弹窗检测50包括检测是否存在反射创建浮窗51和全局弹窗禁用模块52。全局代码敏感关键信息检测60包括敏感关键字检测61、系统信息获取api检测62和反射调用设备管理器相关api检测63。自动模拟系统消息检测70包括自动模拟系统事件api检测71和截取系统屏幕api调用检测72。调用系统模块及第三放应用检测80包括系统设置调用检测81和支付宝、微信、淘宝、京东调用监测82。结果报告输出90包括应用安全评级91、问题修复建议报告输出92。
[0019]
一种基于arm云游戏木马病毒服务器检测装置,包括apk反编译模块10、权限检测模块20、后台服务和广播检测模块30、xposed和hook代码注入检测模块40、浮窗和全局弹窗检测50、全局代码敏感关键信息检测60、自动模拟系统消息检测70、调用系统模块及第三放应用检测80和结果报告输出90,采用360度全视角包括从静态xml配置及java代码和动态运行apk,通过开源xposed框hook关键函数来判断比对是否有定义的危险行为,全面检测保障arm云游戏上架的是绿色安全游戏,不需要cp提供源代码的情况就可以检测出是否符合云游戏上架安全标准;apk反编译模块10:利用反编译技术不需要cp提供源码,就可以得到apk大部分代码,基于此能检测出99%的安全问题,此模块包含利用1.apktool,dex2jar,jd-gui反编译代码11首先apk作为zip格式解压出.dex文件,利用工具dex2jar反编译出.jar文件,利用jd-gui工具生成java文件;2.class代码java类整理模块12为了输出检测工程自动生成模块13标准,此模块删除安卓系统自带的库等文件;检测工程自动生成模块13把整理出的有效的java类文件放在检测工程的assets目录下,统计所有的包名信息列表作为检测工程的配置信息,统计每个包名对应的java类名路径列表做为检测工程的文件索引信息;这样为了提供为了提高检测工程的检索效率;权限检测模块20:权限相当于apk运行在arm服务器通行证,所以权限检测全方位的过滤掉了大部分安全问题,权限测试输出配置也是为其它检查项提高依据;包含一下几个方面,权限列表配置模块21重要危险权限有calendar(日历)(read_calendar/write_calendar)、camera(相机)、contacts(联系人)(read_contacts/write_contacts/get_accounts)、location(位置)(access_fine_location/access_coarse_location)、microphone(麦克风)(record_audio)、phone(手机)(read_phone_state/call_phone/erad_call_log/write_call_log/add_voicemail/use_sip/process_outgoing_calls)、sensors(传感器)(body_sensors)、sms(短信)(send_sms/receive_sms/read_sms/receive_wap_push/receive_mms)、storage(存储卡)(read_external_storage/write_external_storage)
权限androidmanifest.xml检测22利用权限列表配置模块21模糊匹配,如果有则输出危险标识,xml文件检查权限是静态检测,更准确的检测利用动态权限代码检测23通过启动apk、xposedhook拦截动态日志checkselfpermission,匹配权限配置是否有相关权限申请,有则标识危险标识存入配置输出作为参数传给90结果报告;后台服务、广播检测模块30:安卓的后台服务、广播是运行不可见的,没有界面也可以运行在后台,此模块采用从注册到运行来检测出有哪些危险的后台服务和广播,服务和广播静态注册时在androidmanifest.xml文件,通过匹配关机字的方式来匹配相关有威胁的服务,动态注册则时全局搜索系统关键字package_added、package_removed、boot_completed;此模块检测包含开机启动广播检测31、插入sd检测sd卡广播32、安装卸载apk广播检测33、关机/重启广播检测34;accessibilityservice自动点击服务检测35accessibilityservice运行在后台,并且能够收到由系统发出的一些事件(accessibilityevent,这些事件表示用户界面一系列的状态变化),比如焦点改变,输入内容变化,按钮被点击了等等,该种服务能够请求获取当前活动窗口并查找其中的内容.换言之,界面中产生的任何变化都会产生一个时间,并由系统通知给accessibilityservice.这就像监视器监视着界面的一举一动,一旦界面发生变化,立刻发出警报.通过iaccessibilityserviceclientwrapper(模拟点击服务在ams中的代理).onaccessibilityevent()把ui信息发送到accessibilityservice模拟点击服务。所以检测accessibilityservice服务也是要提示风险,同样是在androidmanifest.xml检测是否有accessibilityservice这个标识,有这个标识就纳入危险标识配置;xposed、hook代码注入检测模块40:xposed框架是一款针对android平台的动态劫持,是一款可以在不修改apk的情况下影响程序运行(修改系统)的框架服务,通过替换/system/bin/app_process程序控制zygote进程,从而使app_process在启动过程中加载xposedbridge.jar这个jar包,从而完成对zygote进程及其创建的dalvik虚拟机的劫持,所以云游戏的apk定的标准不运行有xposed这个框架存在;hook代码注入也能够攻击系统api,达到apk免安装,从而耗费系统的内存、cpu,也会影响arm云服务器的其它的游戏;此检测服务包含检测xposed服务及对抗策略41,方法1尝试加载xposed的类,如果能加载则表示已经安装了,方法2检测xposedbridge.jar这个文件和de.robv.android.xposed.xposedbridge,xposedbridge.jar存放在framework里面,de.robv.android.xposed.xposedbridge是开发xposed框架使用的主要接口。
[0020]
在这个方法里读取了maps这个文件,在linux内核中,这个文件存储了进程映射了的内存区域和访问权限。在这里我们可以看到这个进程加载了那些文件。
[0021]
如果进程加载了xposed相关的so库或者jar则表示xposed框架已注入。对抗策略:通过反射重写xposed设置,直接禁用,代码如下,try{
ꢀꢀꢀꢀꢀꢀ
fieldv=classloader.getsystemclassloader()
ꢀꢀꢀꢀꢀꢀꢀꢀ
.loadclass("de.robv.android.xposed.xposedbridge")
ꢀꢀꢀꢀꢀꢀꢀꢀ
.getdeclaredfield("disablehooks");
ꢀꢀꢀꢀꢀꢀ
v.setaccessible(true);
ꢀꢀꢀꢀꢀꢀ
v.set(null,boolean.valueof(true));
ꢀꢀꢀ
}catch(throwablev0){
ꢀꢀꢀ
}检测是否注入插件化框架42同样包含静态注册androidmanifest.xml和动态运行结合检测,此装置检测包含大量的activity,并且activity都是在不同的进程,此方法在全局代码检索关键字invocationhandler、packagemanagerhook、instrumentationhook、iactivitymanagerhook、icontentproviderhook,如果有这些标识,则标识为危险1配置;动态运行apk后,在/data/data/包名/、/sdcard/android/data/包名/路径下检索是否存在*.apk文件,如果有则标记为危险2配置,如果危险1配置和危险2配置同时存在,则定义为有注入插件化;浮窗、全局弹窗检测50:全局浮窗和全局弹窗会影响其它的模块,如果程序模仿用户名和密码登录,很容易会劫持用户的账号密码等信息;检测出弹窗、浮窗则标识为危险配置;检测包含检测是否存在反射创建浮窗51首先检测是否有权限申请system_alert_window、write_external_storage、mount_unmount_filesystems有则标识为危险1配置;全局代码检索关键字candrawoverlays及action_manage_overlay_permission有则标识为危险2配置,同时存在危险1配置和危险2配置则表明apk用了浮窗、全局弹窗;全局弹窗禁用模块52根据检测是否存在反射创建浮窗51去掉xml配置限申请system_alert_window、write_external_storage、mount_unmount_filesystems;全局代码敏感关键信息检测60:此模块是更进一步全局过滤威胁系统的行为;包含敏感关键字检测61全局检索java代码关键字涉及到黄色、电话短信邮箱(smtp.163.com)等信息一律标识危险配置;系统信息获取api检测62包含检索的api有contentresolver;->delete( 删除短信、联系人)、contentresolver;->query(读取联系人、短信等数据库)、telephonymanager;->getdeviceid(搜集用户手机imei码、电话号码、系统版本号等信息)、java/net/url;->openconnection(连接url)有这些关键字信息则输出参数作为90结果报告输出反射调用设备管理器相关api检测63可通过查找设备管理器相关的deviceadminreceiver类来快速找到关键的代码,如果检索出此关键字加上50浮窗、全局弹窗检测到浮窗,则标识为危险配置;自动模拟系统消息检测70:病毒可以模仿用户点击按键消息自动发送给系统来自动模拟用户的行为,从而达到获取用户信息及一些自动订购支付的行为,检测服务包含自动模拟系统事件api检测71;首先检测有权限inject_events,及全局代码检索关键字newinstrumentation,加上根据accessibilityservice自动点击服务检测35的结果生成有自动模拟系统消息的危险配置;
截取系统屏幕api调用检测72系统截屏会对云服务器的隐私造成泄漏,所以云游戏上架标准应对有系统截屏的游戏apk生成危险配置报告,通过全局代码检索media_projection及screencap,则标识为危险配置输出报告作为参数传给结果报告输出90;调用系统模块及第三放应用检测80:当游戏有不经过用户确认进入系统设置及支付界面会影响用户的隐私,财务损失,此检测同动态运行apk后,通过xposedhook系统函数startactivity,开启monkey,如果游戏apk有启动的activity包含的包名有不是自己游戏的包名,则生成危险配置;具体的检测项包含系统设置调用检测81系统设置有检测到关键字com.android.settings则标识为危险配置、支付宝、微信、淘宝、京东调用监测82;结果报告输出90:最后根据以上传过来的危险配置,编码分析生成可视化配置,包含游戏安全评级91,安全评级分数=危险配置总数count/总检查的项;问题修复建议报告输出92包含权限检测模块20、后台服务和广播检测模块30、xposed、hook代码注入检测模块40、浮窗和全局弹窗检测50、全局代码敏感关键信息检测60、自动模拟系统消息检测70和调用系统模块及第三放应用检测80对应的更改方案输出。
[0022]
该装置采用360度全视角包括从静态xml配置及java代码和动态运行apk,通过开源xposed框hook关键函数来判断比对是否有定义的危险行为,全面检测保障arm云游戏上架的是绿色安全游戏,不需要cp提供源代码的情况就可以检测出是否符合云游戏上架安全标准;在arm云游戏上架数量很大的情况,本发明装置大大降低了安全审查的成本,保护了用户的安全权益,更全面智能的检测出游戏的问题,为arm服务器稳定保安全启航。
[0023]
上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1