DxShield 猫の巻【第6回】root化検知

みなさまこんにちは!
オルトプラスラボのyyokotaです。

梅雨も真っ只中となり天気が悪い日が続いておりますが、いかがお過ごしでしょうか?
とても過ごしづらい毎日ですが、頑張っていきましょう!

 

DxShieldのおはなし

それでは、DxShieldのお話にいきたいと思います。
今回は、
root化検知
について扱います!

 

root化とは?

まずはじめにroot化についてお話しします。

root化とは、読んで字のごとく「root」になってあらゆる操作を行うことができるようにすることです。

そしてこの「root」というのが何かというと、
「あらゆる処理に関する権限が与えられた特権ユーザ」
のことであり、別名でスーパーユーザ(super user, su)とも呼ばれます。
Linux系のOSを使ったことがある方ならば、必ずご存知かと思います!

 

root化のメリット

root化すると、システム上に存在するすべてのファイルにアクセスでき、
さらに変更や削除などができるようになります。

これが可能になると、たとえば以下のようなことが可能になります。

  • 不必要なプリインストールアプリを削除できる
  • 処理速度を自由に変更できる
  • カスタムROMを利用できる
  • 日本では入手不可能なアプリを入手可能

このように、操作の幅が広がって端末を利用する楽しさを広げることが出来るのです。

また、ゲームのチートをする際にも、root化が必要になる場面が多いです。

 

root化したときのデメリット

  • セキュリティリスクに晒される
    •  root化された端末用に作成されたアプリは、それ自体に脆弱性が含まれている可能性が高くなっています。これを悪意のある他者に悪用されると、スマートフォンの管理者権限を奪われ予期せぬ動作をさせられてしまう可能性があります。
    • また、先ほど述べたようにroot化された環境ではシステム上のすべてのファイルにアクセスが可能になりますから、アドレス帳などの個人情報にもアクセスが可能になります。したがって、個人情報の流出というリスクも高まることになります。

さらに、以下のようなデメリットもあります。

  • メーカーのサポート対象外になる
  • 端末が不安定になる可能性がある

 

root化対策について

メリット・デメリットの両方を述べましたが、やはり

「アプリのチート行為をしやすくする」

という事実がひっかかる開発者の方々もいるのではないかな、と思います。

 

DxShieldの出番です!

さてそんなroot化ですが、DxShieldならばもちろん検知・遮断が可能です。

DxShieldでは、これにあたって以下の技術を採用しています!

  • ファイルパス確認
  • プロセス検査
  • ルートシェル検査
  • 通信モジュール検査
  • 実行ファイルの内部検査
  • 特定文字列検査

これらの技術を組み合わせて、端末のroot化を効率的に検知しているのです!

 

実際に見てみましょう

root化する手順は様々な事情からお見せできませんが、root化した端末を用意しました。
この端末で、root化検知を有効にしたDxShieldを適用したアプリを起動すると…

このように、パネルが表示されてアプリが強制終了されます!
DxShieldがroot化を検知して、強制終了したのです。

 

まとめ

説明しましたように、root化はゲームのチートやハッキングに密接に関連しています。

ただ、それ自体はあくまで端末の自由度をあげるための行為であるからゆえにメリットもありますので、検知・遮断するかは慎重に判断していきたいところです!