ESファイルエクスプローラーでUserディレクトリの中身が外部から見られてしまう恐れ

NO IMAGE
注意 アクセス制限がなく アクセスがそのままできたとしても
    不正アクセス禁止法の対象になる場合があるようです
    これは こういう事象もあるため 操作に注意してください という記事ですので
    Moperaのネットワークをスキャンするようなことは 決してしないでください
目次

事象

Android端末のファイルマネージャーとして 1・2を争うぐらい 便利に使える
ESファイルマネージャーなのですが 特定条件で 外部からファイルが参照できてしまうようです。

事の発端はSGS2をいじっているときに

ESファイルエクスプローラーの「ネット」タブに
DropBOXをマウントし 音楽ファイルを再生すると
プレーヤーのファイル名の欄に 127.0.0.1:~のアドレスが表示され
「もしかして ローカルに鯖たててる?!!!」 と
不安に思い検証してみました。
追記
ネットのタブだけでなくFTP・LANのタブでも同じ挙動をします。
ローカルファイルでも 操作により 発動します ⇒検証3
音楽ファイルだけでなく MP4などの動画ファイルでも発動します。
画像では発動せず。
—-追記ココまで—
IPアドレスが 自宅Wifiで振られたIP ポート番号は 決め打ちです
test
はい。。。 中身がまるっと見えちゃいました。。。
画像などもぜんぶ参照できちゃいます。
↓ScreenShotフォルダを参照した状態
test
特定条件でしか発動しないとはいえどうなのよこの仕様。。。
Bloger的には画像が参照しやすくていいですが
WANからも見れてしまう場合完全にセキュリティホール。
検証1:ローカルにある音楽ファイルを再生した場合 外部からみれるか
一般的なパターンで 端末内にある MP3をタップして
メディアプレーヤーで再生する場合。
test
発動せず。
検証2 auのNAT内から NAT同士だと見れてしまうのか?
結論 同じNATに入ってればみれる

Twitpic – Share photos and videos on Twitter

test

 
↑はぼくの回線のなかにあるわけじゃないですが
auの回線上からみえちゃってます。。。
 
 
NATなので 収容している鯖が違えば 見えることはありませんが
数千・数万収容されてる可能性がある中では・・・
 
 
au回線はNATなので キャリア外からアクセスされることは
よっぽどの限りありませんが 
この仕様だと グローバルIPが割り当てられた場合 まるっとみれることになります。
そして ESファイルエクスプローラーの作者に悪意があったとしたら・・・
 
 
今のところ思いつく対策は  ESファイルマネージャを使用する場合は
自宅Wifi以外では FTP/LAN/ネットタブのオーディオ・ビデオファイルを再生しない ぐらいでしょうか?
 
———————
追記
 
Galaxys2だったのでSDカードと書いていましたが
どうやら 非ROOTで見れるUserデータすべてを読めてしまうようです。
———–
DocomoのMoperaだと 
グローバルIPが割り当てされるため 
 もろ 世界から見えてしまうようです。
これがいちばんやばそう


ESファイルエクスプローラーのアプリ作者さんにお願いしたいこと

  HTTPを使い内部で再生するのはいい ただ外部(127.0.0.1以外)からのアクセス制限ぐらいつけてくれ・・・
検証3
もしかして 違うポート番号もホストしてないだろうか
とりあえず ローカルメディアを標準メディアプレーヤーで再生しながら nmapたたいてみる

test

33003と23486はESファイルエクスプローラーを起動しなくても上がっていました
33003はアクセスしてもなにもでず
23486は何かバイナリっぽい1kb以下のファイルが落ちてきました。
なにも出ないよかった。。。  と安心しながら
ESメディアプレーヤーで再生してみると・・・・

test

おい おい ・・・  空いてるポート増えてるぞ・・・
でその増えた35854ですが・・・
ホストしてました。。。

test

ローカルのメディアファイルであっても ESメディアプレーヤーを使用した場合
HTTPで公開されてしまうようです。。。  これだいぶやばくね?
対策としては
・ESファイルマネージャを対策がされたバージョンが出るまで使わない
・使う場合は 自宅ネットワークなど 外部からアクセスされない環境を使う
・IPtableで 外部からの接続を カットする
検証結果脅威まとめ
Docomo(SPMode): 未検証
Docomo(Mopera) : WAN側からのアクセスが可能
S B M(グローバル):WAN側からのアクセスが可能
S B M(プライベート):未検証
au : 同じNATネットワーク内だと アクセス可能
e-mobile(グローバル):WAN側からアクセスが可能
e-mobile(ローカル):未検証
作者に直接コンタクトを取ってくれた方がいて
 「テストコードが残ったままでした。」という回答でしたが
2/16朝現在Androidマーケットへの この問題に対応したバージョンは出てきていません。
 それどころが 2/12のアップデート(1.6.1.0→1.6.1.1)で
 59768だった ポート番号が59767に変更されています。
若干悪意があるように思えてしまうのですがはたして・・・