カテゴリー
Android

Androidのデータを完全に消去してやってやりますよ

さらばKobo Arc

 kobo arc 7 HDがあまりにも遅すぎるので、データ削除して売り払うつもりだけどAndroidはリセットしてもデータが残っているだと?!

「Android」の初期化機能、個人情報の消去が不完全–セキュリティ企業が指摘 – ZDNet Japan
セキュリティソフトウェアを提供するAVAST Softwareは、新たな調査の結果から、「Android」の設定でデータを初期化して出荷時の状態に戻すリセット操作の有効性に疑問を提起している。この …

 つまりは、“設定”→“バックアップとリセット”→“データの初期化”ではデータが消えたように見えるけどストレージ上には残っているということです。

 …いや…いくらなんでもそこはちゃんと消してくれよ。なんの為の機能なんだよ。

 そんなわけで、どうにかしてkobo arc 7 HDに残っているデータを完全抹消するために、一度空き容量ギリギリまで無駄なデータを入れて、Androidの暗号化機能でデータをすべて暗号化した上で初期化しました。たぶん、これでOKなはず…。

 なんでこんなことやったかというのを文章で書くと説明しづらいのでスライドにしてみた。何やってんだ俺。

※A-tak個人が調べた内容で間違いなどがあるかもしれません。ご注意ください。

 まずはAndroidのデータの管理について。

Androidのデータ管理

 こんな感じで、メモリ(フラッシュストレージ)はデータ(ファイル)の管理領域と実際のデータに大きく分かれている。Android君は何かのデータが欲しいと思ったら、まずは管理領域でお目当てのデータを探してデータの場所を突き止めるわけです。

 本に喩えると、管理領域が“目次”で、データが実際のその章の“ページ”なわけです。

Androidのデータ消去

 問題はデータの消去。Android君は手を抜いて管理領域だけ削除します。目次に取り消し線引いて、ページはそのまま残しちゃうわけです。

削除したはずのデータの復元

 そうなると、ページをぱらぱらアタマからめくっていけば、世の中から抹消したつもりだったあんなデータやこんなデータが見つかってしまう。頭隠して尻隠さず状態。これはマズい!

Androidの“データの初期化”

 困ったことにAndroidの“データの初期化”をやったとしても、管理領域しか消してない…というのが、冒頭のリンク先の記事の話です。

 さらにややこしいことがもう一つ。Androidで使っているメモリ(フラッシュストレージ)には寿命があります。その寿命を延ばすために使っている“ウェアレベリング”という技術です。

ウェアレベリング

 フラッシュメモリ(ストレージ)は同じ場所に書き込める回数に限度があって、しつこくデータの書き込みを繰り返すといずれその場所にはデータを書き込めなくなります。

 そのため、なるべく寿命を延ばすために書き込みの場所が集中しないように、まんべんなく書き込みするように制御する仕組みが“ウェアレベリング”です。

 ただ、ウェアレベリングのせいで昔消したはずのデータが生き残る確率が高まります。ウェアレベリングがまんべんなくデータを書き込もうとするからです。一度何らかのデータが書き込まれたら、新しくデータを作ってもまだ一度も書き込まれていない場所を優先してデータを作っていきます。

ウェアレベリング2

 データをたくさん作っていけば、いずれは上書きされていく…はず、ということです。“ウェアレベリング”のロジックは各社いろいろでしょうから、実際の所は本当にこの通り動いているのかはわかりません。

A-takさんのkobo arcの状況

 で、A-takのkobo arc 7 HDですが、何も気にせずに一度初期化してしまっているので、おそらくこのように初期化前にいろいろ作成したデータと初期化後に再インストールで作られたデータが混在している状態になっているはずです。

 実際に中身をスキャンして検証まではやってないので、はっきりは言えないです。すみません。

でかいデータを書き込んでしまえ作戦

 残っている重要な情報を上書きするために、Android File TransferというMacのアプリを使って、USBで繋いだkobo arc 7 HDにでかいデータを容量ギリギリまでコピーしまくりました。

 たぶん、これでkobo arcの中の初期化前のデータはすべて上書きされたはず…。

Androidの暗号化機能を使う
 
 kobo arc 7 HDは初期インストールの時に楽天のIDとパスワードを入れるので、結局大事なデータが残ってしまっています。これをどうするかというと、Androidの暗号化機能を使います。

 “設定”→“セキュリティ”→“タブレットの暗号化”から実行します。これをやることで、kobo arc 7 HDに入っているデータがすべて暗号化され読めなくなります。

 「じゃ、最初からこれやればいいんじゃないの?」と思われるかもしれませんが、Androidの暗号化機能がどういう“動き”をするかよくわからなかったのでこうしました。

 もし、Androidの暗号化が管理領域で認識されているデータに対してしか行われなかったら…

ファイル単位の暗号化では?

 こういうことになってしまうかな…と。だいぶ調べたのですが、よく分からなかったので、念のためにでかいデータをコピーするという方法にしてみました。そのくせ実際に復元出来るかは面倒で検証していないのが片手落ちですが(笑)

 暗号化については端末のメーカー毎に結構違うようです。企業向けだとやはりAndroidのセキュリティのレベルでは足りなくて、Android自体に改造入れて独自に暗号化の仕組みを取り入れて出荷している製品もあるとか。「koboだからなぁ」と思って念には念を入れてみました。

 もしかするとメーカーによっては端末の初期化だけで安全にデータを消すような改造を入れているかもしれません。あくまで標準的なAndroid端末は初期化ではデータ消えてないよ、ということです。

 いろいろ書いてみましたが、すみません、間違っているかもしれないので、重大な情報を入れたAndroid端末を手放す場合は、専門の人に確認してくださいね。

[2014.12.4追記]
Android 5.0 lollipop になってから標準で暗号化されるようになったみたいです。今後出てくる機種ではあまり気を遣わなくていいですね。

この記事を書いた人: A-tak

A-tak.com(えいたっく どっとこむ)の管理人。
Apple野郎なおっさんでしたが、ちょっと最近のAppleには飽き気味。
A-tak.comは2002年2月から運営(前身のサイトは1999年3月から)。今年で18年目!

Twitter
Mastodon
Facebook

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください