Android静态安全检查(十三):剪切板使用检测
16lz
2021-01-25
Android剪切板使用风险
Android剪切板是可以暂存数据,剪切板在后台起作用,存放在内存中。如果把隐私数据,特别是密码,存放在剪切板中是不安全的,因为任何的应用程序都可以访问剪切板中的数据。
如果一个恶意应用,注册了系统剪切板的监听器事件,当剪切板数据发生变化的时候,就能获取到剪切板的数据,通过下面的代码就可以注册监听器。
final ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);clipboardManager.addPrimaryClipChangedListener(new ClipboardManager.OnPrimaryClipChangedListener(){ @Overridepublic 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方法,则任务该应用存在往剪切板写入数据的行为。
修复方法
- 最好不要使用剪切板。
- 如果实在需要用剪切板,确保敏感信息不会被存入
更多相关文章
- 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
- “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
- Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
- 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
- Android批量插入数据到SQLite数据库的方法
- Adobe源码泄漏?3行代码搞定,Flash动画无缝导入Android/iOS/cocos2d
- Android(安卓)Binder开发实战指南之创建Native Binder Service
- Android开发中的一些经验总结
- 转:Android(安卓)判断用户2G/3G/4G移动数据网络