当前位置: 首页 > news >正文

Android 移动安全:以 CRaxsRat 为例解析无障碍服务(AccessibilityService)滥用与防御

在 Android 移动安全领域,AccessibilityService(无障碍服务)原本是 Google 为方便残障人士使用手机而设计的系统级 API。然而,由于该 API 具备极高的系统权限——能够读取屏幕 UI 节点、监听按键事件以及模拟用户点击,它也成为了近年来诸多 Android 远程控制软件(如 CRaxsRat 等典型远控家族)重点滥用的核心机制。
本文将以此类远控木马常见的技术特征为例,结合 cat / logcat 命令行分析工具,深入剖析无障碍服务被滥用的底层逻辑,并提供针对性的防护与检测方案。
一、 无障碍服务滥用机制解析
像 CRaxsRat 这类移动端远控工具,其核心控件能力很大程度上依赖于对无障碍服务的权限获取与事件监听。系统通过事件驱动机制将 UI 状态传递给服务进程:
```
[系统 UI 变更 / 用户交互]


[AccessibilityEvent 广播]


[远控服务进程接收] ──► [解析 AccessibilityNodeInfo] ──► [执行模拟点击 / 窃取文本]

```
获批 AccessibilityService 权限后,恶意进程通常会实施以下操作:
1. 自动化权限提权(Auto-Granting): 当应用通过后台申请其他敏感权限(如读取 SMS、定位、悬浮窗)时,无障碍服务会监听系统权限弹窗,瞬间自动点击“允许”或“确认”,实现静默提权。
2. 界面数据捕获(UI Scraping): 遍历 AccessibilityNodeInfo 节点树,绕过常规输入框的安全防护,直接截取屏幕上显示的明文文本(如验证码、账号信息)。
3. 模拟用户交互:** 调用 performAction(AccessibilityNodeInfo.ACTION_CLICK) 模拟点击或滑动,绕过二次身份验证(2FA)弹窗。
二、 命令行工具(cat / logcat)在样本分析中的应用
在对可疑 APK 进行动态分析或安全排查时,终端命令行工具是最直观的检测手段。安全人员可通过 logcat 和 cat 命令监控系统状态与服务绑定情况。
1. 使用 logcat 捕捉异常服务日志
当无障碍服务被激活或频繁触发 UI 事件时,系统日志会输出对应记录。分析人员可以通过以下命令进行实时过滤:
```bash
# 过滤 AccessibilityManager 相关的系统输出,查看是否有未授权服务绑定
adb logcat | grep -i "AccessibilityManager"

# 监听特定包名触发的 UI 节点变更日志
adb logcat -v time *:E | grep -i "Accessibility"

```
2. 通过 cat 检查系统激活服务配置
在具备调试权限的测试环境中,可以使用 cat 查看当前系统已开启的无障碍服务列表,比对是否存在异常包名:
```bash
# 进入 adb shell
adb shell

# 使用 cat 读取当前系统的 Secure Settings 节点
cat /data/system/users/0/settings_secure.xml | grep "enabled_accessibility_services"

# 或直接调用 settings 命令查询
settings get secure enabled_accessibility_services

```
若 cat 返回的字符串中包含未知或非系统内置的包名(例如与已知 CRaxsRat 变种相关联的随机生成包名),则说明系统已被植入高风险服务。
三、 开发者与系统的防御与检测实践
面对无障碍服务的滥用风险,移动端安全防御需要结合**系统级限制**与**应用层自防护**。
1. Android 系统级的安全演进
针对 CRaxsRat 等木马对无障碍服务的滥用,Google 在近期的 Android 版本中做出了多项安全限制:
| Android 版本 | 安全防护改进 |
|---|---|
| **Android 12** | 引入 isAccessibilityTool 属性,强制声明应用是否为合规的辅助工具。 |
| **Android 13** | 引入 **Restricted Settings(受限设置)**,默认禁止侧载(APK 直接安装)应用开启无障碍权限。 |
| **Android 14+** | 限制无障碍服务读取特定敏感 UI 节点(如密码框、凭据管理器)的能力。 |
### 2. 应用层风险检测(防御代码示例)
对于高安全性应用(如金融、支付类 App),建议在关键业务流程中加入无障碍服务状态检测:
```java
import android.content.Context;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;

public class SecurityCheckUtil {

private static final String TAG = "SecurityCheck";

/**
* 检查当前系统是否启用了非预期的无障碍服务
*/
public static boolean isUnsafeAccessibilityServiceEnabled(Context context) {
int accessibilityEnabled = 0;
try {
accessibilityEnabled = Settings.Secure.getInt(
context.getContentResolver(),
Settings.Secure.ACCESSIBILITY_ENABLED);
} catch (Settings.SettingNotFoundException e) {
Log.e(TAG, "Error finding accessibility setting: " + e.getMessage());
}

if (accessibilityEnabled == 1) {
String enabledServices = Settings.Secure.getString(
context.getContentResolver(),
Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES);

if (!TextUtils.isEmpty(enabledServices)) {
Log.d(TAG, "Enabled Accessibility Services: " + enabledServices);

// TODO: 对比合法应用白名单,拦截异常包名(如 CRaxsRat 等生成的恶意存根)
return true;
}
}
return false;
}
}

```
3. 敏感 UI 节点防护
在 Android 14 及以上版本,开发者可在敏感控件中增加 accessibilityDataSensitive 属性,防止外部无障碍服务读取内容:
```xml
<EditText
android:id="@+id/et_sensitive_data"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:accessibilityDataSensitive="yes" />

```
四、 总结
以 CRaxsRat 为代表的 Android 远控木马,其核心生存空间建立在系统权限的滥用与用户防范意识的薄弱之上。在安全研究与运维排查中,熟练运用 cat 与 logcat 等工具能够快速定位潜在威胁;而在应用开发层面,积极适配系统的最新安全特性(如 Restricted Settings 及 accessibilityDataSensitive)则是保障应用与数据安全的关键。

有需求请回复:rat

http://www.cnnetsun.cn/news/3638223.html

相关文章:

  • AI落地实战:破解最后100米的核心策略
  • QQ音乐加密格式转换终极指南:3分钟解锁音乐自由
  • 基于YOLOv12的智能犬种识别系统开发实践
  • FastSAM:轻量化图像分割模型的工程实践与优化
  • 开源群聊平台Buzz:自建Slack替代方案部署与实战指南
  • 2026年全球生化科研行业深度解析:SERS实验中氯金酸纯度对背景信号干扰的控制标准
  • 前端技术大会演讲复盘:从准备到演讲的系统化方法论
  • C++循环控制进阶:从break/continue到RAII的优雅跳出策略
  • 计算机组成原理考研408核心考点与备考策略详解
  • 智能客服Agent开发:多轮对话与情绪识别实践
  • 多模态模型核心技术解析与应用实践
  • 前端安全防护体系的全景设计:CSP、SRI、Trusted Types 的深度配置
  • 基于深度学习的SDN网络故障预测系统设计与实践
  • 3个核心技术解密:biliTickerBuy如何让你的抢票焦虑成为历史
  • Docker镜像定制与Yum仓库配置:从零构建CentOS容器化环境
  • TPS53667多相降压控制器设计实战:从D-CAP+原理到180A高密度电源实现
  • AI模特图生成软件一键换装系统开发
  • 粉笔直播课适合备考焦虑需要互动的考生吗
  • 人工神经网络核心单元:从感知机到Transformer的数学原理
  • 果园棚架钢丝毫米级视觉识别系统设计与实现
  • 基于RAG的本地知识库搭建与优化指南
  • AI工具技术架构与应用实践全解析
  • NCM文件解密原理与实操:从加密格式到通用音频的完整转换指南
  • 视觉表象的神经机制与AGI计算建模研究
  • Unity MyFramework 塔防实战(二十):局内升级如何串起消耗、升星与事件刷新
  • 基于YOLOv11的脑瘤检测系统设计与优化实践
  • SMA模块:Transformer自注意力机制的创新优化方案
  • 悟空多模态AI系统:核心技术解析与应用实践
  • 本地部署全双工多模态大模型:从MiniCPM-o 4.5看工程实践挑战
  • ADC342x Dither算法配置实战:权衡SNR与SFDR,优化ADC性能