アカウント名:
パスワード:
Microsoft 製を含む大多数の Android アプリに存在する「脆弱性」であって、HTTP Over TLS の脆弱な実装と合わせて対処すべきだと思うので投稿します。
最近、ユーザーが、ログイントークン・セッションIDを無効にできない Android アプリ・Webサービスが急増しています。以前は別の端末からログインすると前の端末から自動ログアウトされるサービスが多かったので問題が無かったのですが、マルチデバイスに対応する際に何故か危険な実装となってしまったのだと思います。
本日、Android に OneDrive (v3.1.1) をインストール・サインインして、検証したところ、
2015年07月0
> とっても恐ろしい現実的な脅威です。Google「しょうがないなあ [google.com]」現実的って言葉使うならもう少し現実的に考えたほうがいいと思うよ。OneDriveがクソなのは同意だよ。
Google「しょうがないなあ [google.com]」 現実的って言葉使うならもう少し現実的に考えたほうがいいと思うよ。
そう突っ込まれそうだったので、「Android 端末は初期化をしてもログイントークンが復元できることが多い」と書いておいたんですが……。「端末を探す」機能で探せば良いという意味だとしたら、GPSが有効になっていないと機能しないという糞仕様なので、難しいと思います。GPSを常に有効にしているとバッテリー消費が激しいので、マップアプリを使うときなど以外は無効にしている人が多いのでは? 統計を取ったわけではありませんが、私の周囲の人はWiFiやGPSは使うときだけ有効にしています。
Android のデータ削除機能はデータの管理領域を削除(削除フラグが立っているようなもの)しているだけ [security.srad.jp]なので、パソコンでマウントしてから、量販店で売っている「データ復旧ソフト」を使うだけで復元できます。root 化が必要な場合も、ワンクリックで root化するアプリがネットに流れています。データ復旧には市販のソフトを使うだけでよく、ご丁寧に Android ではアプリ毎にデータが保存されるディレクトリが決まっていますから、ログイントークンをそのままコピーすることも簡単です。(Android 5 で改善されたかどうかは検証していないのでわかりません)
ということで、十分に現実的な危険だと思います。ちなみに、通信内容を改ざんして中間者攻撃を行うには、Androidからログイントークンを取り出すのよりも、はるかに高度で専門的な知識が必要です。
紛失した端末を鳴らす、ロックする、データを消去する言いたかったのはここ。
> GPSを常に有効にしているとバッテリー消費が激しいので最近は現実的にそれほど問題ではない。
紛失した端末を鳴らす、ロックする、データを消去する
「ロック」された状態であっても、スマホの電源を切ってから、「電源ボタン」+「音量上げボタン」+「音量下げボタン」を同時長押しすると、「Android system recovery」という画面になって「wipe data/factory reset」ができます。これには、Google アカウントのID・パスワードも、ロック解除コードも必要ありません。
これをすると「端末の初期化」機能を使った後の状態となるので、#2840952 [security.srad.jp] で書いたのと同様のことができてしまいます。
操作手順は、リカバリモードで端末をリセットする [google.com]にある通りです。ただし、Android 5.1 以降 では「リカバリ メニューを使用して端末をリセットする場合は、セットアップ処理の際に端末に関連付けられている Google ユーザー名とパスワードを入力する必要があります」 [google.com]とのことで、この方法は使えないようです。
最近は現実的にそれほど問題ではない。
確かに昔と比べるとGPSの電池消費量は減っているようですね。
ロックを解除しないで工場出荷状態に戻した場合にどれだけ工場出荷前のアプリをインストールできるの?
「工場出荷前のアプリ」とはプリインストールアプリ?工場出荷状態なんだからインストール状態になると思うんですが、ロック状態からだと何か違ったりするんですかね?でも、どっちにせよマウントさえ出来ればよいので関係ない話と思いますが。
ストレージの痕跡抹消(乱数書き込みや0フィル)までやってないから、出荷時状態まで戻しても管理権限さえ得られればファイルの復元が可能。
そもそもユーザーデータ領域の痕跡を掘り出すのが目的だから入ってたアプリを入れ直す必要なんて無い。# 究極では分解してeMMC端子を引き出してSDカードリーダーに繋げば端末リセットも不要だが、工作的な難易度はちと高いか
ファクトリリセットしても、ファイルシステム上の管理情報上消えてないってことで合ってる?(生ストレージとしてみればデータの残骸があることは理解できる)
そこまで調査されるような動機を持たれるようなら、もうロックもファクトリリセットも関係ないと思う。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie
OneDrive など ログイントークンを無効にできない Android アプリもなんとかすべき (スコア:5, 興味深い)
Microsoft 製を含む大多数の Android アプリに存在する「脆弱性」であって、HTTP Over TLS の脆弱な実装と合わせて対処すべきだと思うので投稿します。
最近、ユーザーが、ログイントークン・セッションIDを無効にできない Android アプリ・Webサービスが急増しています。以前は別の端末からログインすると前の端末から自動ログアウトされるサービスが多かったので問題が無かったのですが、マルチデバイスに対応する際に何故か危険な実装となってしまったのだと思います。
本日、Android に OneDrive (v3.1.1) をインストール・サインインして、検証したところ、
Re: (スコア:0)
> とっても恐ろしい現実的な脅威です。
Google「しょうがないなあ [google.com]」
現実的って言葉使うならもう少し現実的に考えたほうがいいと思うよ。
OneDriveがクソなのは同意だよ。
Android デバイス マネージャーはあてにならない (スコア:2)
そう突っ込まれそうだったので、「Android 端末は初期化をしてもログイントークンが復元できることが多い」と書いておいたんですが……。「端末を探す」機能で探せば良いという意味だとしたら、GPSが有効になっていないと機能しないという糞仕様なので、難しいと思います。GPSを常に有効にしているとバッテリー消費が激しいので、マップアプリを使うときなど以外は無効にしている人が多いのでは? 統計を取ったわけではありませんが、私の周囲の人はWiFiやGPSは使うときだけ有効にしています。
Android のデータ削除機能はデータの管理領域を削除(削除フラグが立っているようなもの)しているだけ [security.srad.jp]なので、パソコンでマウントしてから、量販店で売っている「データ復旧ソフト」を使うだけで復元できます。root 化が必要な場合も、ワンクリックで root化するアプリがネットに流れています。データ復旧には市販のソフトを使うだけでよく、ご丁寧に Android ではアプリ毎にデータが保存されるディレクトリが決まっていますから、ログイントークンをそのままコピーすることも簡単です。(Android 5 で改善されたかどうかは検証していないのでわかりません)
ということで、十分に現実的な危険だと思います。ちなみに、通信内容を改ざんして中間者攻撃を行うには、Androidからログイントークンを取り出すのよりも、はるかに高度で専門的な知識が必要です。
Re: (スコア:0)
紛失した端末を鳴らす、ロックする、データを消去する
言いたかったのはここ。
> GPSを常に有効にしているとバッテリー消費が激しいので
最近は現実的にそれほど問題ではない。
Android 5.1 以外ならばロック状態で初期化可能 (スコア:2)
「ロック」された状態であっても、スマホの電源を切ってから、「電源ボタン」+「音量上げボタン」+「音量下げボタン」を同時長押しすると、「Android system recovery」という画面になって「wipe data/factory reset」ができます。これには、Google アカウントのID・パスワードも、ロック解除コードも必要ありません。
これをすると「端末の初期化」機能を使った後の状態となるので、#2840952 [security.srad.jp] で書いたのと同様のことができてしまいます。
操作手順は、リカバリモードで端末をリセットする [google.com]にある通りです。ただし、Android 5.1 以降 では「リカバリ メニューを使用して端末をリセットする場合は、セットアップ処理の際に端末に関連付けられている Google ユーザー名とパスワードを入力する必要があります」 [google.com]とのことで、この方法は使えないようです。
確かに昔と比べるとGPSの電池消費量は減っているようですね。
Re: (スコア:0)
ロックを解除しないで工場出荷状態に戻した場合にどれだけ工場出荷前のアプリをインストールできるの?
Re: (スコア:0)
「工場出荷前のアプリ」とはプリインストールアプリ?
工場出荷状態なんだからインストール状態になると思うんですが、ロック状態からだと何か違ったりするんですかね?
でも、どっちにせよマウントさえ出来ればよいので関係ない話と思いますが。
Re: (スコア:0)
ストレージの痕跡抹消(乱数書き込みや0フィル)までやってないから、
出荷時状態まで戻しても管理権限さえ得られればファイルの復元が可能。
そもそもユーザーデータ領域の痕跡を掘り出すのが目的だから入ってたアプリを入れ直す必要なんて無い。
# 究極では分解してeMMC端子を引き出してSDカードリーダーに繋げば端末リセットも不要だが、工作的な難易度はちと高いか
Re: (スコア:0)
ファクトリリセットしても、ファイルシステム上の管理情報上消えてないってことで合ってる?
(生ストレージとしてみればデータの残骸があることは理解できる)
そこまで調査されるような動機を持たれるようなら、もうロックもファクトリリセットも関係ないと思う。