Androidの端末データ初期化機能は不完全? 30
ストーリー by headless
復元 部門より
復元 部門より
使わなくなったパソコンや携帯電話を人に譲ったり、中古買取業者に売ったりする場合は個人情報保護の観点からデータを完全に抹消しておく必要がある。しかし、英ケンブリッジ大学の研究チームが行った調査の結果、Androidの端末データ初期化機能ではデータが完全に抹消されず、個人情報の一部などが復元可能なことが判明したそうだ(論文: PDF、
Light Blue Touchpaperの記事、
V3.co.ukの記事)。
研究チームでは5つのメーカーの中古Android端末21台(Android 2.3.x~4.3)を使用して、データ初期化の動作や残されるデータを調査。その結果、多くの端末で元の持ち主の情報やインストールされていたアプリのリスト、連絡先、Webブラウズ履歴、認証情報、マルチメディアデータ、メッセージデータなどの少なくとも一部が復元できたという。研究チームが「マスタートークン」と呼ぶGoogleの認証情報も大半の端末で復元でき、研究者が個人所有の端末を初期化後にマスタートークンを復元し再起動するとGoogleアカウントとの再同期が可能になったとのこと。
なお、データ初期化の実行結果は端末ごとに異なり、古い端末よりも新しい端末、OEM端末よりもGoogleブランドの端末の方が、それぞれ復元可能なデータが少なかったようだ。ただし、研究チームではいずれの場合でも更なる改善が必要だとしている。
また、研究チームは別の研究でAndroid向けセキュリティーアプリの盗難防止機能について調査している。多くのセキュリティーアプリには紛失・盗難時にリモートから端末をロックしたり、データを消去したりする機能が備わっているが、データ消去機能ではAndroidのデータ初期化機能を使用するため、個人情報が窃取される可能性もあるとのことだ(論文2: PDF)。
研究チームでは5つのメーカーの中古Android端末21台(Android 2.3.x~4.3)を使用して、データ初期化の動作や残されるデータを調査。その結果、多くの端末で元の持ち主の情報やインストールされていたアプリのリスト、連絡先、Webブラウズ履歴、認証情報、マルチメディアデータ、メッセージデータなどの少なくとも一部が復元できたという。研究チームが「マスタートークン」と呼ぶGoogleの認証情報も大半の端末で復元でき、研究者が個人所有の端末を初期化後にマスタートークンを復元し再起動するとGoogleアカウントとの再同期が可能になったとのこと。
なお、データ初期化の実行結果は端末ごとに異なり、古い端末よりも新しい端末、OEM端末よりもGoogleブランドの端末の方が、それぞれ復元可能なデータが少なかったようだ。ただし、研究チームではいずれの場合でも更なる改善が必要だとしている。
また、研究チームは別の研究でAndroid向けセキュリティーアプリの盗難防止機能について調査している。多くのセキュリティーアプリには紛失・盗難時にリモートから端末をロックしたり、データを消去したりする機能が備わっているが、データ消去機能ではAndroidのデータ初期化機能を使用するため、個人情報が窃取される可能性もあるとのことだ(論文2: PDF)。
「復元」以前に、そもそもデータが「消去されていない」だけ (スコア:4, 参考になる)
消したデータを「復元」するというは、極めて高度な技術が必要であって、個人や小規模の法人にできることではありません。例えば、データを消去(全セクタを "0" や "1" で埋めた状態)したHDDから、データを復元するには、ナノテクノロジーの分野で使われる「走査型プローブ顕微鏡」の探針に磁性膜をコーティングして、微小な磁力の変化をとらえ、電気信号に変換して、残留磁気を読み取るといった方法でデータを解析する必要があります。暗号キーなどの重要情報が記録されているセクタが判明している場合、それなりの費用(少なくとも、数百万円~数千万円)をかければ復元できる可能性がありますが、この方法で高密度HDDから GB 単位のデータを復元することは数千万円程度の費用では不可能とされています。しかしながら、スマホの内部メモリーのようなものは、製品によって復元しやすさが異なり、復元しやすいものもしにくいものもあるそうです。ちなみに、数万円~数十万円程度の費用で依頼できる「データ復元業者」というのは、メディアの管理領域に記録されたデータの削除済みフラグを消去したり、HDDのスイングアームの先端に取り付けられている磁気ヘッド・プラッタを回転させるスピンドルモーターを交換するといった単なるHDDの修理(プラッタと呼ばれる磁気ディスクには触れてもいない)をしたりするだけです。よく考えると、データの復元行為は一切やっていないので、それを「復元」というのは、誇大表現です。
本題に入って、Android の「データの初期化」機能で、一見無くなったように見えるデータ(管理領域に削除フラグが付いただけ)を利用可能にする具体的な方法を調べてみたところ Android Forensics, Part 1: How we recovered (supposedly) erased data [avast.com] という記事が見つかりました。最も簡単な方法は「Mass storage mount」に書かれていて、単に Android を外部ストレージとしてマウントして、後は市販されているデータ復旧ソフトを使うだけ。もっと多くのデータを吸い出したい場合には「Low level analysis」に書かれていて、rootをとってからパーティション丸ごとdumpコピーしてデータ復旧ソフトを使うだけです。
Android の初期化機能の挙動というのは、OSのバージョンや端末・メーカーによって違うようなので、購入直後に端末の暗号化設定を行うことをお勧めします。もっとも、Android の暗号化機能が本当にセキュアなのかどうかは知りませんが。
については、Android OS は Google アカウントのパスワードを端末に保存するようことをしておらず、「マスタートークン」と呼ぶGoogleの認証情報、所謂セッションIDを平文で端末に保存して、認証済みのセッションを維持しています。維持されたセッションは、実は Google のWebサイトから削除できます。端末を譲渡する前や落としてしまった後には、端末とアクティビティ [google.com] (Google アカウントにログインしている状態でアクセスして下さい。リンクをクリックして表示されたログイン画面からログインすると、別のページに飛ばされます。) から、当該の端末をクリックして、アカウントへのアクセスの「削除」 (当該セッションIDの無効化) を行えば、Google アカウントの悪用を防ぐことができます(ログインしている状態が無効となります)。端末を紛失したからといって、Google アカウントのパスワードを変更する必要はありません(パスワード変更でも認証済みセッションIDが無効になるかもしれませんが、検証していません)。
【補足】 暗号化しても、パスワードが短かいと駄目でした (スコア:5, 参考になる)
「購入直後に端末の暗号化設定を行うことをお勧めします」の部分に補足します。
Flawed Android factory reset leaves crypto and login keys ripe for picking [arstechnica.com] などの一連の記事をざっと読んだ限りでは、Android の初期化を行っても暗号化されたデータを復号する際に用いる「復号キー」が消えないそうです。従って、データを暗号化して使っている Android を初期化したとしても、データを吸い出せるとのこと。
その「復号キー」自体が、ユーザーが暗号化された端末の起動時・画面ロック解除に入力するパスワードで暗号化されているらしいですが、英数記号11文字以上にしないと1年以内に解読される危険があるようです。そのパスワードは画面ロック解除の度に入力しないといけないので、なかなか面倒ですね。
Re: (スコア:0)
HDDの残留磁気まで話を広げるなら、フラッシュメモリのウェアレベリングで残ってるセクタは気にならないの?
悪いけど、前半は余計だと思うよ。話がちぐはぐで何を言いたいのか不明。
Re:「復元」以前に、そもそもデータが「消去されていない」だけ (スコア:1)
「ウェアレベリングで残ってるセクタ」というのは「ウェアレベリングの管理情報が削除されても残っている、バラバラになった実データ部分」のことでしょうか?
気になるので、廃棄・譲渡する前には、ローレベルフォーマットを行って当該部分も含めて抹消しています。
「ウェアレベリング」というのは、書き換え可能回数が限られていることから、フラッシュメモリ上に記録されたデータをブロックごとにばらばらのアドレスにマッピングすることですが、それにより管理領域だけ削除すれば、一般に、データ配列が出鱈目になって意味のあるデータとして読み出すことが困難になります(勿論、データの断片を読み取ることはできます)。従って、HDDに比べると、むしろデータの吸出しはやりにくいはずです。フラッシュメモリ・SSDのコントローラの挙動や、隠し領域やバッファ・キャッシュの有無などは、メーカーやモデルによって違うので「スマホの内部メモリーのようなものは、製品によって復元しやすさが異なり、復元しやすいものもしにくいものもある」と書きました。そして、データを読み出せてもそれを復号できないように「暗号化」を薦めました。
結果として、データの内容を吸い出せるのかが重要なので、「完全に消去されたデータ(全セクタを0埋めなど)を復元できるか」というレベルの話と、「(管理情報の削除だけではなく)データ自体が消去されているか」というレベルの話の両方を書く必要があると思い、書きました。HDDの話は例示だったんですが、確かにフラッシュメモリとは直接関係ないので不要でしたね。
できる限り話がごちゃ混ぜにならないように、パラグラフを分離したのですが、分かりにくかったならばすみません。
Re: (スコア:0)
まあ雑談サイトだし、喋りたくて仕方ないのだろう。本当は5~頑張って10行ぐらいが読み易いのだが。
Re: (スコア:0)
ウエアレベルでの処理の知識とかはあんまりないみたいですから薀蓄語りたい人なんだとは思うけどなんかなぁとは思うな
フラッシュメモリのイレースブロックはHDDのセクタよりずっと大きいので、物理位置の情報が少ないからといって、データ抜き出しにくい云々の想定は単純化しすぎてるよ。
「ローレベルフォーマット」って何を指してるのだろうとかね
Re: (スコア:0)
ファクトリリセットした後適当に捨てアカウント作って軽く動かして
再度ファクトリリセットその後Googleの端末別のセッションを削除しておけば大体は問題なくなるんだろうか
…めんどくさいな
Re: (スコア:0)
いろいろ調べ事してるのはいいんだけど、調べたことを繋げてさも重大な事実があるかのように述べるのはやめたほうがいいと思う。
Re: (スコア:0)
Holly 嫉妬?
Re: (スコア:0)
何しろ、「Anonymousは形容詞 [srad.jp]」の人ですよ。
Re: (スコア:0)
安い「データ復元業者」は、上司を納得させる為のものです。
社内でいろいろやってもデータの破損したメディアが読めなかったが納得せず、
お金を払って専門業者にやらせても無理だったということで納得した。
Re: (スコア:0)
なるほど…これはいいことを聞いた
元論文ざっと読みましたが (スコア:3, 参考になる)
ユーザーが行えるデータ消去の方法がベンダーの用意したFactory Resetしかないのに、それが不完全ということですかね。
対策として以下が挙げられていますが、あてになるものでありません。
(1) 内蔵SDカードいっぱいにランダムファイルを書き込む(あてにならない)。
(2) Rootでログインして、パーティションのデータををビット単位で消去する(一般ユーザにはもちろん不可)。
(3) 使い始める前に、Android v4.0.xで導入されたFDE(Full Disk Encryption)を適用する(対応する端末のみ、使い始める前に導入しないと効果なし)。
これはもう、本気で「中古で売るな」以外の対策はないという感じですね。
あと、「Googleブランドの端末の方が、それぞれ復元可能なデータが少なかった」というタレコミの情報はどこに書かれているかわかりませんでした。
Section III.B.2)ではNexus Sのみ、ICSにアップグレード後のデータ削除が上手くいったという指摘がありますが、
6)ではNexus 4だけ末尾16kbの論理削除に失敗したとも指摘されており、またTable IIを見ると、結局すべての端末で何らかのデータ復元に成功しているようです。
Google端末が一般的に他のベンダ端末より優秀といえる記述はないように思いました。
Re: (スコア:0)
パソコンみたいに、ストレージフォーマットしてOS再インストールとかできたらいいのにね。
Re:元論文ざっと読みましたが (スコア:2)
Galaxy Note IIだっけ、初期化時にNANDのセキュアイレースがかかって便利なんだけど、ついでにバッドセクタ一覧的なのも消しちゃって、NANDのコントローラがそこを叩くとI/O待ちでpanicも何もなく動作が停止するってやつ。
Re:元論文ざっと読みましたが (スコア:1)
レンタルアップしたWSだと
shread -z
とかして返してるけど、Androidでもそういうの無いんすかね。
別部署とかで使いまわすときはそこからOS再インストール。
とかめんどいことはせずにDisk領域変更とフォーマット有でのOS再インストール。
Androidだと細かいバージョンありすぎてイメージ用意しておいとくだけでもめんどくさいんだろうなぁ。
Android3.1タブレット (スコア:1)
中古でAcer ICONIA TAB A500を購入したら、誰かのGoogleアカウント情報が残っていて、データの初期化をさせても消えません。
stand-alone端末として使うから気にしなければそれまでですが……
ψアレゲな事を真面目にやることこそアレゲだと思う。
Re:Android3.1タブレット (スコア:1)
前の持ち主がroot取得してシステム領域でごちゃごちゃやってると、
通常の初期化処理(=ユーザ領域だけ消す)では消えない残骸が残る
データの初期化は後者しか消さないのでシステム領域は消えない
これはiOSで脱獄してごちゃごちゃやってた場合も一緒
対策はシステム領域も含めて全部上書きすること。やり方は機種次第。
Googleの技術力 (スコア:1)
個人情報を扱う域に達していないよなあ。
Re: (スコア:0, フレームのもと)
おっと、Appleアカウントリカバリのための「秘密の質問」にブルートフォース対策すらせず
iCloudからセレブのヌードその他を大量に流出させたAppleの悪口はそこまでだ。
あれが「利用者が設定していたパスワードが弱かったからだ」なんていう
アメリカ国家自体が動いてるレベルの恐ろしい結論で済ませてもらったApple様からすりゃ
「天才Apple様を引き立てるための意図的な汚れ役だわな、GoogleやMicrosoftなんて」と
セキュリティ業界ではあきれ果てられてるよ
もしそれすら理解できてないならApple教に染まった脳を早めに叩き直さないと人生無駄にするぞ
Re:Googleの技術力 (スコア:1)
事件起きてから早すぎだろ、とは思うので、すでに開発はしてたんだろうけど。
セレブの方々の犠牲に感謝すべきでありますな、われわれ一般ユーザーは。
# GoogleはAndroidに新機能を盛り込みまくる前に、もっとセキュリティとユーザービリティを上げるべきでしょ。ワンクリックで安心してバックアップ・リストアできるiPhone/iTunesと違ってAndroidはいろんな面で不足しすぎ。完全に一般人向けではない。
Re: (スコア:0)
なにいってんだこれ(ホジホジ
Androidでは無いのだが (スコア:0)
このまえ新品のWindows tabletを買って、ゲームをインストールしようとしたら、
「以前この端末でこのゲームをプレイした設定が残っています。設定を引き継ぎますか?(Y/N)」とか出てきて、
「Y」を押したら、見知らぬプレイヤー名で、いきなりかなり進んだレベルやステータスでゲームが始まり、気味が悪かった。
ありゃあなんだったんだろう。ゲームのバグなのか、それともそのタブレットのOSインストールイメージを作るときに、
ゲームの痕跡が混入してしまったのか。
包装やシールの具合、OSの初回起動時のメッセージなどからして、物は確かに新品だったのだが、
どういう理由でこういうことが起き得るのか、いまだに分からない。
Re:Androidでは無いのだが (スコア:1)
ハッシュ衝突だったりして。
Re: (スコア:0)
お前が別端末で購入したのがアカウントで結びついただけやないの?
Re: (スコア:0)
アルバイトが適当に自分の垢で試遊してテスト代わりにしたとエスパー
そうだとしたらこっちは糞バイト問題
Re: (スコア:0)
> ありゃあなんだったんだろう。ゲームのバグなのか、それともそのタブレットのOSインストールイメージを作るときに、
> ゲームの痕跡が混入してしまったのか。
単にIMEIなどハードウェア自体を識別可能な情報をデータに紐づけてるだけ
Re: (スコア:0)
>単にIMEIなどハードウェア自体を識別可能な情報をデータに紐づけてるだけ
要はゲームサービス側の「誤爆」ってことですか…orz
Re:Androidでは無いのだが (スコア:1)
そう、Androidなら個人情報流出も楽勝さ。
ってやつっつすね。
Re: (スコア:0)
アカウント情報をハードウェアに結び付けるとか糞設計だな