2014年8月15日金曜日

ES ファイルエクスプローラの情報漏洩問題

先日注意喚起が行われましたが実際にbaiduという名のフォルダが作られていたのはスマホだけでした。
気にはなったもののこの問題が発せられて以降ESファイルエクスプローラー3.1.9.1自体のアップデートなどは行われてはいません。

初歩的な問題として実際のバイナリはどのような形になっているのだろうというところから確認してゆきます。
単純なリテラル定義としてはソース内に固定に埋め込む方法とリソースとして埋め込む方法の2種類があります。(ADTでは言語依存を避けるためにソース内リテラルをとても嫌います。)
簡単に調べるために簡単なものを実際に作ってみてその中身を覗いてみると、ソース内に直接記述した文字列はバイナリコードである「classes.dex」内に存在していました。
strings.xmlなどに記述したものは「resources.arsc」に格納されていました。(リソースの文字コードがUTF-8のような感じはしますが、8bit文字コードも16bitになっていました。)

当たり前なのですけど、実際に格納されている文字列が特に暗号化しない場合はそのままバイナリファイルで確認できることがわかりました。

では実際に問題のESファイルエクスプローラ3.1.9.1のバイナリを覗いてみます。

本当にごくごく簡単にみるためにメモ帳で開いて「baidu」を検索してみると…ありました。
いくつかは実際のサービスに利用されているかもしれませんが日本語においてBaiduのサービスを直接利用できそうなメニューは出ていません。

極め付けに勝手に作成されていたbaiduフォルダの.cuidファイルを扱うようなファイルパスまで存在していました。
「baidu/.cuid」

baiduと並んで@Facebook @Flickr @Instagram @baidu @pcs @pcs/files/ @pcs/files/apps/Downloads/ @webdav.yandex.ruという文字が並んでいるのでこれらのサービスがいったい何なのか気になりました。
 pcsはわかりませんが、他は写真やファイル共有が行えそうなサイトということでクラウドや写真などで情報を引っ張ってくるようになっている感じはします。
baiduがどのようなサービスを実際に行っているのかは、私は全く知りません。雰囲気的にはいろいろとサービスは行っていると感じます。musicやらtvやらいろいろと手広くやっている様子。ある意味すごいと思います。けど使ったことはないので。

ES ファイルと検索すると目についた記事があったのでついでに目を通してみました。

ネットエージェント杉浦氏に緊急取材!Baiduサーバとの通信が噂のアプリ『ESファイルエクスプローラー』

記事の中では baiduサービスを利用していた場合に追加情報として端末情報など送信されてしまう というような内容でしたが、スマホのフォルダが作成された日付前後でbaiduのサービスなんて使った記憶はありません。にもかかわらず、.cuidという識別番号らしきものが付与されスマホ内に存在している事実はいったいどいうことなんでしょうかね?
そして気になるリテラル文字列としてこのようなものがありました。
;http://dl.ops.baidu.com/appsearch_AndroidPhone_1002320z.apk
セミコロン「;」で始まっているのが怪しさ満点ですが、どうも別のバイナリーをダウンロードしてこようとしていると思われます。
実際に検索してみるとESファイルエクスプローラー関連の書き込みでこのapkファイルの話がちらほら上がっているのが見受けられました。(勝手にインストールまでされていそうです…。)

直近のバージョンを調べてみると .cuidやappsearch_AndroidPhone_1002320z.apkの記述は3.1.8で既に存在していました。

バージョンごとに見た理由は baidu フォルダがスマホだけに存在し、タブレットでは存在していなかった理由がバージョンによって動作が異なるのかもしれないと気になったので調べてみました。
タブレット側ではbaiduフォルダが存在していないことを踏まえると、電話としての端末識別番号が取得できなければ内部的に処理が落ちてるということでしょうかね?
もしくは、特定のバージョンでのみバグにより不正な送信を行ってしまったということなのだろうか?
考えられることは3.1.9は動作が不安定だったのも踏まえると3.1.9.1ではすでに送信されなくなっているということなのか?

早速アンインストールして旧バージョンを試してみよう。

3.1.8も3.1.9も3.1.9.1をインストールして再起動したもののフォルダは作成されず。
トリガーがはっきりとしないが何かの複合条件なのだろうか?
恐る恐るESファイルエクスプローラの表示設定から言語を中文などにするとホーム画面やらクラウドなどのサービスががらりと変わってすごいことになります。が、これをやってもbaiduフォルダは作成されないんですよね…。

一通りbaidu関連のリテラルを見る限り上記のapk以外はおそらくWebAPI関連のプロトコル用の文字列という感じが強いです。
バイナリだけではなくリソース側にも同様にbaiduの文字列がありますが怪しいという感じなのかはパッと見わかりません(baiduがあるからいやだとかそういうレベルといえばそういう感じですが(笑))。

もう少し具体的な何かつかめればよかったのですが残念です。

0 件のコメント:

コメントを投稿