Android靜態安全檢查(十三):剪下板使用檢測
阿新 • • 發佈:2019-01-30
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方法,則任務該應用存在往剪下板寫入資料的行為。
修復方法
- 最好不要使用剪下板。
- 如果實在需要用剪下板,確保敏感資訊不會被存入