Android静态安全检查(十三):剪切板使用检测

Android剪切板使用风险

Android剪切板是可以暂存数据,剪切板在后台起作用,存放在内存中。如果把隐私数据,特别是密码,存放在剪切板中是不安全的,因为任何的应用程序都可以访问剪切板中的数据。

如果一个恶意应用,注册了系统剪切板的监听器事件,当剪切板数据发生变化的时候,就能获取到剪切板的数据,通过下面的代码就可以注册监听器。

final ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
clipboardManager.addPrimaryClipChangedListener(new ClipboardManager.OnPrimaryClipChangedListener()
{
    @Override
	public void onPrimaryClipChanged()
    {
        ClipData.Item itemAt = clipboardManager.getPrimaryClip().getItemAt(0);
        Log.e("监听到剪切板中的内容:",itemAt.getText().toString());
    }
});

通过下面代码可以往剪切板写入数据

ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
clipboardManager.setPrimaryClip(ClipData.newPlainText("111111","22222"));

检测方法

如果检测到程序中使用了ClipboardManager 类的setText或者setPrimaryClip方法,则任务该应用存在往剪切板写入数据的行为。

修复方法

  • 最好不要使用剪切板。
  • 如果实在需要用剪切板,确保敏感信息不会被存入

你可能感兴趣的:(移动安全,移动安全)