・Androidアプリの権限
・apk分解してライブラリをシグネチャでチェック(特に広告パッケージ)
・未知の中間コードは静的解析してAPI利用をチェック
しているようだ。
root取得については、AdAwayのように動的にコマンドを生成して実行している場合に見逃していることから、静的解析でネイティブコマンド実行のAPIを利用しsuへのパスが渡されているかどうかで判断しているように見える。
もしかしたら変数追跡して、suを渡しているか見ているのかもしれないが、いずれにせよroot利用を見逃しているアプリがある。
https://play.google.com/store/apps/details?id=com.github.ymstmsys.secroidsearch
Adaway
ES ファイルエクスプローラー
Auto Memory Manager
Mount Manager
Link2SD
Samba FileShareing
が危険度High以下、root利用未検出になっている。
いずれも著名なroot必須アプリで、アプリ説明にはrequire rooted deviceなどと明記されている。
今後の精度向上に期待。
root取得やマルウェア=無条件でDanger
電話帳や通話状態の取得・SDへのアクセス=無条件でHigh
IMEI・GPS+ネット=Low
権限なし=Safe
そのほか、ネイティブコマンドAPIやバックグラウンド動作などの利用でmidになるようだ。ユーザーが認識できる範囲の利用とみなせるユーザ追跡までならLow以下にと判定される模様。
ただし原理的に、擬陽性を避ける方向(なるべく危険度を低く判定する)に評価が偏るので、鵜呑みにせず自分でチェックするのが前提。
当然だけれども、secroid.jpも目安の一つでしかない。