USBデバッグONだと動かないようにする理由が知りたい

Last Update: 2019-09-08

USBデバッグがONになっていると動かないアプリがあるらしい。銀行系アプリで動かないらしいという話は聞いたことがあったのだが、私は使っていないから特になんとも思っていなかった。まあセキュリティ的な問題でしょうがないんだろうな程度だ。

しかし自分が使っているアプリが今後USBデバッグON状態では動きませんと言われてしまった。自分の影響のあるところで話が出てくるとちょっと困る。

そもそも開発用端末に入れて使ってんじゃねえよっていう話かもしれないけれども、そこは普段使いしている端末を開発にも使っているというのが実情だ。

ゲームアプリなどでは、内部情報を解析されてゲームの運営に支障をきたすおそれがあるだろう。銀行系のアプリであればセキュリティの観点から、Root端末やエミュレータを排除したいのはうなずける。しかしUSBデバッグはなんか問題があるのだろうかと疑問に思う。

そもそもUSBデバッグ自体も許可したくないのか、それともRoot端末やエミュレータを弾く過程でUSBデバッグも引っかかってしまうのかでまた話は変わってくる。巻き添えをくっているなら、まあ仕方ない。わざわざUSBデバッグだけ許可するようにするのも面倒な話だ。

そもそもどうやってRoot端末やエミュレータだと動作しないようにしているのだろうか。suコマンドを走らせてみて、動作したらRoot端末だっていう方法は見かけたけれども、この方法ならUSBデバッグは関係ないだろうし。

もしUSBデバッグ状態では動かないように処理をしているのだとしたら(このチェックは簡単なはず)、それは一体どういう理由なのだろうか。ログをみられたらまずいとかいう理由なら、そもそもみられてまずい情報をログに出力するなという話だ。それとも念のためレベルの話なんだろうか。

他に理由があるんだろうか。

知りたいと言っても、そのアプリを動かすためだけにいちいちUSBデバッグの切り替えをするのが面倒くさいから、なんでそんな面倒くさいことするんだという気持ちでいるだけなんだけども。

Rootやエミュレータに関しては排除する理由は察することができるんだけど、USBデバッグはなんでなのかなぁという疑問。なんでなんだろう。