那段时间公司app陆续被应用平台下架,后面发现主要被腾讯管家报的木马病毒,针对于此病毒,官方并未进行说明,对应病毒资料也很少,所以我们需要自己逐步去排毒,解决病毒最重要的一步应该是定位病毒,然后根据病毒类型去做到根除 ~
排毒兄弟
应用相关
解决问题的第一步,肯定是定位问题,那么先看看 病毒查杀工具 ~
解决问题的第一步往往是定位问题 ,定位问题一般也分为俩种其一为开发经验,其二为工具辅助 ~
排毒方向
未标红条目为常见的排错方式,标红条目主要为我自行扩展 ~
优化相关
如果上个版本无病毒,那么将当前版本备份后,在上个版本加入少量代码打包检测,逐个进行区间排毒
- 检查代码近期是否有重构行为,如有则将问题定位到重构部分逐个模块排除
- 检查代码中命名时是否包含敏感词,如包名,类名,方法名,字符等
权限相关
常见app的隐私权限有联系人 、定位、相机、音频录音
等敏感权限,如不使用对应功能的话,可以删除这这部分权限,否则容易被误报
- 检查AndroidManifest.xml中是否有未知权限,尝试注释该权限后,编译项目看是否会影响项目打包
- 检查是否有敏感的隐私权限,主要针对6.0后提出的权限是否有做用户授权的行为
签名证书相关
我在排查病毒时顺带整理了一些apk和签名证书的blog, keystore、jks基础知识,生成keystore、jks 签名证书,反编译keystore、jks签名证书,相互转换keystore、jks 签名证书,获取apk签名信息、抹除apk签名状态、重新签名apk
- 检查签名证书的信息是否完善、正规,关于签名证书的信息可以通过 获取apk签名信息、抹除apk签名状态、重新签名apk
错误示范:CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
检查签名证书是否被多个apk使用
在很多公司并非只有一个apk,而开发者针对于不同的apk打包时,大多会采同一份签名证书(事实我也如此…),但是从安全角度考虑假设签名证书出现了问题,那么将影响目前所有采用此证书打包的apk(偶尔性较高)
检查当前打包的apk签名证书,是否为正式签名证书
在部分公司针对于测试环境包和正式环境包都会使用不同的签名证书,故此在我认为测试签名证书(测试)
指的是测试环境,正式签名证书(商用)
指的是正式签名证书
三方相关
检查是否有静默安装的三方配置(往往配置很简单,且容易忘记)
检查app内是否有集成三方广告(os:腾讯平台报出百度广告有木马 - -)
检查是否有使用不可信的插件(原生、三方),包含私下交易的原生插件
平台相关
有时候我们需要遵守Andorid的规范,但是涉及到上架,我们同时也要遵守应用平台的规范 ~
检查app应用名称是否含有敏感词汇,如“xx币”、“xx赚钱”、“区块链xx”等
检查app是否申请软著,现在很多三方平台均需要提供软著资质,同时要及时上架应用上架抢占包名,如果别人已用相同包名上架应用,那么你的app可能受到影响
检查app上架平台时选择的应用类型,部分平台会禁止一部分类型的app
如app也被应用平台下架的话,可到对应平台,查看下架原因,会有部分提示
如app也被应用平台下架的话,可咨询对应平台的客服人员,客服一般都会提示下架的具体原因
如果app被应用平台下架,那么在检测无误后,通过应用平台的申诉通道进行申诉
腾讯应用宝 - 应用违规处理
如果是腾讯相关平台出的问题,可以用一用 腾讯云的在线服务
加固相关
通过加固的方式,我们可以将app的很多漏洞进行遮盖,每种加固方式算法也不相同,如果你的app未加固或者加固后无效,可以尝试一下不同的加固方式
- 乐固 (腾讯推荐,如果你的apk可以正常通过乐固加固的话,基本没什么问题)
- 360 加固(加固简单、便捷,但是有时候不被腾讯承认)
- 安全公司(加固相对不错,但是收费高昂,一般而言意义不大)
我的排毒路程
每个人排毒的过程可能不同,在此仅记录我自己的排毒经历
排毒步骤
- 如果是app被下架,优先查看下架原因,部分平台会告知病毒名称
- 假设下架原因无用,则通过这儿的病毒检测工具,定位具体的病毒
- 通过检测结果,查看是否提供对应病毒解决方案,如无,则自行搜寻对应病毒场景
- 检查app名称是否敏感,app是否有对应软著,上架的应用类型是否正确
- 检查app是否有配置三方广告,或者静默配置的事务(尤其是部分小平台的广告或者其他)
- 检查是否有敏感权限,同时检查敏感权限是否有被调用,如无,则删除对应权限(请注意,部分三方包会有调用)
- 检查最近新增代码是否有新增敏感功能,使用部分功能切割检测病毒
- 检查签名证书是否正确,不论是签名信息,还是签名类型,可以尝试用新的签名证书打包看一下是否会报病毒
- 使用加固方式重新加固apk,然后进行病毒检测(建议最好用乐固,因为腾讯一直这么坑 - - )
- 周五了,我去完善下排毒工具~
申诉apk
腾讯
首先腾讯针对异常apk,是提供了申诉途径的,在排毒起初或已经排毒之后,如果apk还被判定为风险应用时,建议前往申诉通道进行申诉 ~
小米
网页相关
在解决app的应用风险时,发现了一些连带的小知识点,故此记录一下 ~