@port139 Blog

基本的にはデジタル・フォレンジックの技術について取り扱っていますが、記載内容には高確率で誤りが含まれる可能性があります。

Windows レジストリ アーティファクトの参考書籍、2015年ならどれ?

Windows レジストリのアーティファクトについて良い本はないですか?という質問も良くいただく質問だったりしますが、日本語の書籍や関連資料ですぐに思いつくものがなく、良い回答が出来ていないと個人的に感じている部分だったりします。

Windowsのレジストリに特化している書籍としては洋書になりますが、RegRipperの著者Harlan Carvey氏の「Windows Registry Forensics」があります。先日、Blogの方にこの書籍の改定についての話題が出ており、(2015年中に出るかは分かりませんが)改訂版が出るようですので、これはちょっと期待してしまいます。 

Windows Registry Forensics: Advanced Digital Forensic Analysis of the Windows Registry

Windows Registry Forensics: Advanced Digital Forensic Analysis of the Windows Registry

 

 Windowsレジストリについては、書籍から入るよりも RegRipper がパース対象としているデータ項目として何があるのかを丁寧に見ていくのが一番参考になるのではないでしょうか?、RegRipper を実際に使ってみて、対象レジストリキーや値、その出力結果を読み解いていくのが参考資料としては良い気がしています。

RegRipperはパースする対象とプラグインによっては日本語文字列の扱いに問題があり、出力結果が文字化けしたり、そもそも処理段階で欠落する事があります。(日本語が関係ない場合には、それも特に困らないと思います)

RegRipperをベースに、Unicodeの処理を適切に行うように改良したものとしては、KaniRegがあります。KaniRegは基本的にRegRipperベースですが、プラグインの処理で日本語の扱いに問題がある箇所を極力対応できるようにしてくれています。極力と書いているのは、元々のプラグイン側での処理が適当だとカバーしきれず限界があるところもあり、そのあたりはReadmeの制限事項などから読み取れます。

下記はKaniReg 1.1.2 のReadmeから部分的に引用していますが、稀に誤ったパスが出力されるケースがあるなど、注意しておくべき項目があります。(これをKaniRegだけの制限と考えるべきではなく、他のパースツールでは同様のエラー発生時に実装をどうしているのか?ということを考慮する必要があります)

【ShellBagについて】
■RegiRipperの動作・仕様
・対象ハイブ:XP→NTUSER.DAT、Vista以降→UsrClass.dat
・Vista、Win7、及びWin2008R2のみに対応(bit数は記載なしのため不明)
・処理中にパースに失敗しても処理を継続する仕様のため、稀に誤ったパスが出力される可能性あり。
 (正:C:\AAAA\BBBB¥CCCC → BBBBが取得不可の場合の出力:C:\AAAA\CCCC)

■KaniRegの動作・仕様・RegRipperとの相違点など
・XP及びWin8のパースに暫定対応(Win7と共通する構造のキーのみパースされる)。
・XP及びWin8でパース未対応のデータを検知出来た場合、「パース不可」の文言を挿入。
 (出力例:「C:\AAAA\パース不可\CCCC」)
・XPの一部のデータにて、文字化けを確認済み。(Win7との構造の相違が原因?)
 →切り出すデータが長過ぎるため、本来文字でない余ったバイトがデタラメな文字に変換される。
 (出力例:「デスクトップ」が「デスクトップ獀敨汬㈳搮汬」となるなど)

 

レジストリではUnicode(UTF-16LE)でデータが保存されているのが通常です、最近のツールは Unicode 対応により文字化けせずに対応できる場合もありますが、日本語を必要としていない作者の場合、英数字以外はゴミとして落としているケースもあります。

この為、出力結果が正しいか?という点では、目視での確認や検証も必要になります。レジストリのキーや値を解釈して表示しているので、パース結果に誤りがあるかはレジストリエディタなりで自分で確認できます。値がバイナリデータで構造を保存しているケースでは、目視でパースする必要が出てきますが、慣れていないと厄介かもしれません。

 

これから取り組む若手に言えることがあるとすれば、一種類のパース結果だけで信用せずに、2種類、できれば Unicode 対応しているツールで比較を行った方がよいよ、という事くらいかと思います。(商用製品になりますが、個人的には TZworks の出力結果は化けないので結構気にいっています)

基本的には諸先輩方が必要な項目はパースするようなツールを提供してくれていますので、自力でレジストリ内のバイナリデータをパースしなければいけない領域はかなり限られると思いますし、その場合でも Google で検索すればすぐに答えが出てくるのではないでしょうか。

レジストリを今から深く探求したい!といったモチベーションがある場合には、新しく出る Windows 10 辺りのレジストリがどの様になっているかを調べ、従来値との比較結果を世界にフィードバックすると喜ぶ人が多いのではないでしょうか。(プログラム実行に関連した部分からまずは着手とか)

特にバイナリ値でデータ構造が変化している箇所があれば、その中身をいち早く解析する事は面白いネタにもなると思います。

ただ、日本語で書いても反応ないと思いますから、英語でBlogに書いて、英語で Twitter に投げておくと拾ってくれる可能性が高まります。

 

2015年でも文字コードの書籍を読むべきか?

デジタル・フォレンジック関連では、海外で作られた製品やツールを利用する事が多く、これまでいわゆる「文字化け」にはかなり苦労させられてきました。*1

とはいえ、2005年頃と比較すれば、解析対象データの多くが UTF-16 や UTF-8 になってきている事もあり、以前と比較すればかなり文字化けは解消されている部分もあるのではないかと考えています。

この為、これから取り組む若手が優先的に文字コードを覚える必要があるか?というと個人的には少し疑問があります。もちろん、知らないよりは知っている方がよいですし、何より文字化けが無くなったわけではないので、正しい手順や適切な対応を取る上で文字化けの原因を的確に判断できる方がよいですよね。

まずはUnicodeの基本的な部分が理解できていれば良いのかもしれません。最近は例えば Shift_JIS でデータ格納しているのを、UTF-8だと思って処理して落ちるとか化けるとかのパターンが多いようですから、そのあたりだけまずは理解できれいれば慌てなくても対処できる気もします。

Unicode関連の書籍も色々とありますが、今だと何を読むのがいいんでしょうねぇ、多分 Google で検索すれば色々と情報があると思いますから、強いて書籍でなくてもよいかもしれません。

Unicode については、個人的には下記を読みましたがいきなりこれではない方がよいかもしれません。図書館にあればちょっと見てみるのは良いと思うのですが、2001年の本なので、今からだと違いを意識しないといけない部分があるかもしれませんね。(最近は、絵文字もありますし)

Unicode標準入門

Unicode標準入門

 

個人的にはMLなどを通じて文字コードについて教えていただき覚えた部分が大きかったのですが、参考書籍としては文字コード関連はほとんど購入しました。

文字コードといえば CJKV !!という雰囲気がありましたが、いきなりこれ読むのは初心者には難しいのではないかと思います。外人さんに文字コード関連の書籍で何かないか?と聞かれたらこれをお薦めしていました。

図書館にあればちょっと眺めてみるといいかもしれません。 

CJKV日中韓越情報処理

CJKV日中韓越情報処理

 

 個人的に一番分かりやすかったのは、文字コード「超」研究です。現在は改定されているようで手元で持っていた版とは異なりますが、著者の書きっぷりが面白い部分もあって読みやすかったです。なんか文字コード関連の書籍は分厚いの多い気がしていますけど、避けられない運命なんでしょうか。 強いて何か読むのをお薦めするなら、これかなぁ。プログラマのための文字コード技術入門も良かった気がしていますが。。。

文字コード「超」研究 改訂第2版

文字コード「超」研究 改訂第2版

 

 あと、文字コード関連で一番読んだWeb上の記事は「文字の海、ビットの舟」ですね。

小形克宏の「文字の海、ビットの舟」
―― 文字コードが私たちに問いかけるもの
http://internet.watch.impress.co.jp/www/column/ogata/

文字コードは、なんだかんだ言っても CPCONV で HEX パターンを見ながら実際に検索とかして覚えた気がします。今は HEX で検索する必要性がほとんどなく、コードページ指定すれば済むか、そもそも意識しなくて良いツールも多いので、出番が減っていますが、トレーニングではよく紹介しています。

CPCONV で HEX 見て、istrings で文字列を取り出す、wiconv でCodePageを変換。なんかそんな事を繰り返していたらだいたい覚えた!という気がしています。

でも、今の若者はそれらのツールで試したり、文字の取り出しに悩んだりしなくても多分大丈夫です(笑)

 今から取り組む若手がやった方がよい部分があるとすれば、インデックス処理(形態素解析とかN-Gram)の理解と、機械学習の辺りでしょうか。

大量文書から必要なデータを効率良く探し出すという部分では、学習させた内容で類似文書をひっぱるとかそのあたりの技術が今後どんどん使われると思いますから、そっちから入る方が良いのかもしれません。つい最近も Microsoft 社が Equivio を買収しましたが、Equivio がどういった技術か?とか見ておくと面白いかもしれませんよ。

 

*1:もちろん今でも苦労されている方が多数いらっしゃるのは承知していますが

2015年でもお薦めとしたのは、2005年と変化なし?

改めてリストアップした書籍や映画ですが、基本的には 2005年頃にセキュリティ・キャンプの参加者へ紹介した内容と変化していません。技術的な部分ではもちろん色々と進化していますので、最近出ている書籍でもっと適したものがあるかもしれません。

今更昔の内容を覚えても意味があるのか?という素朴な疑問もありますし、今年出てくる書籍で最新の状況を習得していく方が、より効率がよい可能性も高いかもしれません。

更に新しい分野?でもある、Cloud Forensics などは参考になる文献が少ない状況ですので、むしろ自力で頑張るしかないかもしれません。

 

ざっくり書籍などを紹介しましたが、何かしら資格なりを取りたいと考えた場合、何をまずは目指すとよいのか?という部分では(そもそも、自分が持ってないので全然説得力がないですが)GIAC Certified Forensic Analyst (GCFA) 辺り、若者が挑戦するには良い題材ではないかとも考えています。(試験そのものを受けるというよりは、出題されるテーマについて、まずは学ぶという趣旨です)

昨年、SANS 508コースを受講してから、GCFA 試験を受けたいとは考えているのですが、私自身はまだ受験できていません(^^;;

GCFA の出題範囲は基本的な部分を含めかなり広範囲である事と、SIFTをベースにオープンソースツールなどであまりお金をかけずに学ぶ事ができる利点があります。

例えば、EnCaseのベンダ試験である EnCE は、そもそも受けるのに実務経験なりが求められる部分もあり、まだ実務経験が浅い若手にはハードルがあったりするかと思います。

そういった点では、GCFA の出題範囲となっている各項目を覚えていくのは、これからデジタル・フォレンジックを習得したいと考えている若手なりには、スキルセットを把握する上でも取り組みやすいのではないでしょうか。

 

2015年でもお薦めしたいインシデント・レスポンス参考書籍?

インシデント・レスポンス系の書籍は最近読んでないので、正直何がよいのか分からないのです。

個人的には下記書籍で色々と勉強させていただきました。2002年の書籍ですので、コマンドとか今では参考にならないかもしれません。とはいえ、考え方とかは参考になるのではないかと考えています。 (図書館にあるのではないでしょうか)

インシデントレスポンス―不正アクセスの発見と対策

インシデントレスポンス―不正アクセスの発見と対策

  • 作者: ケビンマンディア,クリスプロサイス,坂井順行,新井悠,Kevin Mandia,Chris Prosise,エクストランス
  • 出版社/メーカー: 翔泳社
  • 発売日: 2002/07
  • メディア: 単行本
  • 購入: 1人 クリック: 27回
  • この商品を含むブログ (17件) を見る
 

上記書籍の洋書版については、第三版が出ているようですね。私は読んでないのですが、目次だけざっと見た感じ、Live対応なども含んでいるように見えるので、ちょっと読んでみたくなる内容です。 

Incident Response & Computer Forensics, Third Edition

Incident Response & Computer Forensics, Third Edition

 

 下記はまだ出てないですが(笑)、今年出るのでちょっと注目ですね。 

Hacking Exposed Computer Forensics, Third Edition: Secrets & Solutions

Hacking Exposed Computer Forensics, Third Edition: Secrets & Solutions

 

書籍ではないのですが、トレーニングなどで紹介している資料としては、NIST SP800シリーズがあります。IPAさんが日本語訳を出してくれてます。 

SP 800-61 rev.1 コンピュータインシデント対応ガイド
Computer Security Incident Handling Guide
https://www.ipa.go.jp/security/publications/nist/

SP 800-86 インシデント対応へのフォレンジック技法の統合に関するガイド
Guide to Integrating Forensic Techniques into Incident Response

同じく IPA さんの資料としては、下記もありますね。

情報漏えいインシデント対応方策に関する
調 査 報 告 書
http://www.ipa.go.jp/files/000002223.pdf 

 

インシデント・レスポンスとは少し異なるかもしれませんが、危機管理という点で今で絶賛お薦めなのは、「危機管理のノウハウ」シリーズではないでしょうか。

単行本の方が電車などで読むのには楽だと思いますが、まとまったのも出ていますね。佐々淳行氏の書籍は結構好きなので、他のシリーズ?、著作も拝読しておりますが、残念ながら講演などを直接拝聴したことがないのが残念です。 

危機管理のノウハウ part 1 信頼されるリーダーの条件 (PHP文庫 サ 1-1)

危機管理のノウハウ part 1 信頼されるリーダーの条件 (PHP文庫 サ 1-1)

 

 

 

 

2015年でもお薦めしたいファイルシステム参考書籍?

ファイルシステムに特化した部分ですと、やはり読むべき書籍はこれですよね。高いのと英語版しかないので、若者は会社に参考書籍として買ってもらうといいかもしれません。 

File System Forensic Analysis

File System Forensic Analysis

 

 個人的には Dan Farmer 氏と Wietse Venema 氏の共著「Forensic Discovery」でファイルシステム関連というか、基本的な部分を学ばせてもらった気がしています。今はPDFで公開されているようです。

Forensic Discovery
http://www.fish2.com/security/wf-book.pdf

あとは、ハードディスク関連の書籍とかも読んでおくと良いのではないでしょうか。個人的には下記を参照したりしました。技術的に深い部分は理解できませんでしたがそれでも色々と仕組みが分かって面白かったです。最近は SSD などもあるので、SSDなども含めた記述がある書籍の方が役立つのかもしれません。 (特にSSDのTrimとかそのあたりの記述があるといいと思いますが、具体的な書籍名は思い浮かばず)

  

改訂 ハード・ディスク装置の構造と応用―記録/再生の原理とメカニズム&インターフェース (レベルアップ・シリーズ)
 

 デジタル・フォレンジック用の複製装置のマニュアルが公開されていれば、それを参照するのも結構勉強になる気がします。

最近の複製装置は機能的にもイメージ出力やエラー処理が強化されている部分があると思いますので、その辺りの機能を知るのは面白いのではないでしょうかね。

国内企業が出している製品のマニュアルがもし参照できれば、米国製品の機能と比較してみると結構面白い気もします。

合わせて、NIST の Computer Forensics Tool Testing (CFTT) Project についても知っておくと良いでしょうね。

Computer Forensics Tool Testing
http://www.cftt.nist.gov/

 

2015年でもお薦めしたい参考書籍?

最近、デジタル・フォレンジックをお仕事で担当する事になった方々などとお会いした際に、どの様な書籍を読むと良いのか?という質問をよくいただきます。

今からデジタル・フォレンジック分野を学ぶ際、どのような書籍から入るのがよいのか?という点では、自分が勉強を始めた頃とは状況が異なる部分もありちょっと回答に困ってしまうわけです。

軽い?読み物などであれば、個人的には「カッコーはコンピューターに卵を産む」辺りが記憶に残っている本になります。この本は1991年が発売日になっていますので、現在のようなインターネットが発達した世界のお話ではないので、今の若者が読んで理解できるか懸念はありますが、たぶん図書館に行けばあるのではないかと思います。 

カッコウはコンピュータに卵を産む〈上〉

カッコウはコンピュータに卵を産む〈上〉

 

これ以外で自分の記憶に残っている書籍としては、ケビン・ミトニックを題材とした書籍でもある「テイクダウン」ですね。この本も1996年の発売ですので、やはりちょっと時代としては古いのですが、個人的には印象に残っています。 

テイクダウン―若き天才日本人学者vs超大物ハッカー〈上〉

テイクダウン―若き天才日本人学者vs超大物ハッカー〈上〉

 

 書籍ではないですが、映画という点では「ウォーゲーム」と「スニーカーズ」でしょうかね。

ウォーゲームはブルーレイ版が出ていることを知ってびっくりですが、パスワードを知る方法とか古典的な部分については、昔はこの映画がよく引き合いに出されていたと思うのですが、いまこの話題を出しても一人で滑って終わりですね。 

ウォー・ゲーム [DVD]

ウォー・ゲーム [DVD]

 

 

ウォー・ゲーム [Blu-ray]

ウォー・ゲーム [Blu-ray]

 

 その昔?、タイガーチームって言葉がよく出ていた時期があった気がするのですが、この映画を見たのもその頃だった気がします。スニーカーズもブルーレイになっているんですねぇ。

スニーカーズ [Blu-ray]

スニーカーズ [Blu-ray]

 

 後はなんですかね、滑るネタとしては文字化けした文字列を表示したところで「これはクリンゴン語ですね!」といっても分かってもらえない辺りでしょうか。

後は、SANS 508とか受講した人なら、やはりシャーロックホームズくらいは分かった方がよいのでしょうか。シャーロックホームズは色々と出ていますが、考え方について言及していたり、引用されているのは「緋色の研究」が多い印象があります。
今からなら、いっそBBCの「SHERLOCK」を楽しむのもありかもしれませんね。 

緋色の研究 (新潮文庫)

緋色の研究 (新潮文庫)

 

 やや異色?になるのかもしれませんが、考え方の解釈については、下記の書籍も面白い本だと思います。ホームズや下記書籍も含めて図書館に行けばあると思いますし、最近はホームズ関係は著作権が切れている部分は Web で探せば読めますね。 

シャーロック・ホームズの思考術

シャーロック・ホームズの思考術

 

 だいたい、この辺りの書籍とかを紹介したりしますが、書いてみて思ったのですが、技術的には全然参考にならないですね(^^;;

 

sqlparse v.1.1 を試す(2)

引き続き、sqlparse v.1.1 のテストを行ってみます。

昨日はページ内の削除レコードを検出する部分を試したわけですが、ページ内での上書きが発生した場合やページ再利用時にどうなるかテストしてみます。

まず、昨日と同じくサンプルのデータベースファイルとテーブルを作成します。下記は5件のレコードが存在しているリーフページです。

f:id:hideakii:20140907080156p:plain

Secure Deleteがオフの状態で、このテーブル内のデータ 5件を全て一括削除してみます。

f:id:hideakii:20140907080742p:plain

この状態であれば、Sqlpaeseで処理すると以下のように削除レコードを検出してくれます。

Type Offset Length Data
Unallocated 520 504 T#hogehoge005C#hogehoge0042#hogehoge003!#hogehoge002#hogehoge001

現在、ページ内には過去のレコード5件が残っていますが、この状態のまま新規にレコードを作成すると、以下のように過去のレコードが上書きされていきます。(1件だけレコードを追加)

f:id:hideakii:20140907081257p:plain

この状態でも、Sqlpaeseで処理すると以下のように削除レコードを検出してくれます。

Type Offset Length Data
Unallocated 522 486 T#hogehoge005C#hogehoge0042#hogehoge003!#hogehoge002

 次は若干トリッキー?なことをしてみます。レコード2はとても長い文字列を入れていますので、1レコードには収まりませんので、別のページが割り当てられた状態になります。

f:id:hideakii:20140907082831p:plain

部分的に別ページにデータが存在する状態で、このレコードを削除してみたのが下記の状況です。

f:id:hideakii:20140907083403p:plain

青い線の下にあるページ内には文字列が存在していることを目視であれば確認できますが、sqlparseで処理した結果は下記です。

Type Offset Length Data
Unallocated 524 298 6
Free Block 839 169 ?port139port139port139port139port139port139port139port139port139port139port139port139port139port139port139port139port139port139port139port139port139port139por

Free Block 839 の位置は青い線より上の部分にあり、ページが再利用されている青い線より下にあるデータは拾えてないことが分かります。

仕様を詳しく確認していないのですが、ページが別用途で再利用されていたりする場合には、そのページ内にレコードが残っていても検出しないかもしれません。

 

sqlparse v.1.1 を試す

SQLite の削除データをパースするツール sqlparse v.1.1 を試してみたいと思います。

sqlparse v.1.1
https://github.com/mdegrazia/SQLite-Deleted-Records-Parser/releases/tag/v.1.1

コマンドライン、GUI、Python スクリプトが提供されていますが、今回は GUI 版を使ってみたいと思います。

f:id:hideakii:20140906145416p:plain

SQLite3 のテスト用データベースを FireFox の SQLite Manager を使って作成します。削除レコードの復元テストという観点から、DB設定で以下の設定を行います。

  • ページサイズは 512byte(全体サイズを小さくして目視しやすくする為)
  • Secure Deleteはオフ

テーブル sample を作成し、レコードを 6件ほど登録します。

ページ内のレコードが削除されたケースを想定し、4番目のレコードを削除してから、このDBファイルをsqlparseで処理してみます。

SQLite Managerからテスト用のデータベースファイルの sample テーブルを表示すると以下のようになっています。No 4のレコードがない状態です。

f:id:hideakii:20140906143546p:plain

バイナリエディタでデータベースファイルを開き、ページ内を確認すると、レコード4の残骸が残っていることを確認することができます。(削除の影響で値として 4 は消えてしまっていますが。。。)

f:id:hideakii:20140906143858p:plain

Secure Deleteの場合には該当レコード部分はゼロ埋めされますが、今回 Secure Deleteをオフにしてあるので、データを確認できました。

このデータをsqlparseで処理してみます。処理方法として、Formatted Output(strip non printable characters)と、Raw Outputを選択できます。

残念ながら、日本語文字列が入っている影響なのか、Formatted で処理してもヘッダ部分しか出力されない状況でしたので、Raw Output を使ってみた出力結果が下記になります。

Unallocated, Offset 530 Length 264
Data:

Free Block, Offset 930, Length 42
Data:
*Wsasasasakld;akd;skd;lsakd;sakd;lsak;l

 

バイナリエディタで発見した削除データ部分を検出していることが確認できます。 

次に、日本語文字列を含んでいるデータを Secure Deleteオフの状態で削除し、同じ処理を実施してみたいと思います。

 No 5 として登録していたレコードを削除します、HEX 内容を確認してみると以下の状況であることが確認できます。日本語文字列は UTF-8 ですので、ちょっと分かりにくですが、残っていることを確認できます。

f:id:hideakii:20140906144905p:plain

 sqlparseで処理してみます。RAW Outputで処理した結果を UTF-8 としてエディタで開き、該当レコード部分として出力されたのが下記になります。

Free Block, Offset 863, Length 109
Data:
m?これは日本語文字列のテストThis is japanese test. *Wsasasasakld;akd;skd;lsakd;sakd;lsak;l

  

 二つの削除レコードが連続しているため連結して表示されてきますが、日本語文字列も RAW の出力結果から確認できました。

ページごと削除された場合などはテストしていませんが、ページ内レコードの残骸を拾ってくれるのはかなり便利だと思います。

  • Formatted Output(strip non printable characters)は日本語が存在するとうまく動かない?
  • Raw Outputを選択し、UTF-8で出力結果を読めば日本語も確認できる
  • Secure DeleteがONの場合、ページ内で削除されたレコードの位置は特定するが、データ自体はない(削除レコードが存在している事は認識できる

 

 

雑談: 転職して一カ月

前職を 7/31 付で退職してから、新たな会社に入ってやっと一カ月が経過しました。

劇的に変わった事といえば日々スーツになった事がありますが、仕事内容としては今のところまだまだ見習い状態です(笑)

転職したことをご報告していなかった方々に急に遭遇する機会も多く、若干ビックリされてしまう事もありますが、元気にお仕事させていただいております。

新たに覚える必要がある技術的な項目も多く、自分の不得意なところも良く分かってきた部分もありますが、やりがいのあるお仕事ですので焦らずじっくり取り組んでいかないといけないと、二ヶ月目突入前にちょっと考えている今日この頃です。

 

Android の自動バックアップ(写真や動画)

Android のバックアップについては下記 URL で説明されていますが、写真や動画、については自動バックアップの設定を行う事ができます。

データをバックアップ、消去する
https://support.google.com/nexus/answer/2819582?hl=ja

自動バックアップのオン/オフを切り替える
https://support.google.com/plus/answer/1647509

 写真アプリを開き、 メニュー アイコン/ボタン> [設定] > [自動バックアップ] の順にタップし、[オン] または [オフ] を切り替えます。

この写真アプリの自動バックアップを有効にしている場合、自動的に写真がバックアップされますが、この内容は Google+ 側で確認する事ができます。

Android で設定している Google のアカウントで Google+ にアクセスし、左上のプルダウン メニューから「写真」を選択します。

次に検索のウインドウにあるプルダウンメニューから「自動バックアップ」を指定するか、直接 #AutoBackup を入力して検索すると、自動バックアップによりアップロードされた写真などを確認することができます。

複数のデバイスを使っている場合には、それら全ての自動バックアップされた画像が表示されますので、場合によっては現在使っていない端末で過去に自動バックアップされたものが含まれていたりするケースもあります。

Google+ で自動バックアップした画像ファイルをダウンロードする事ができますが、この時に「写真をダウンロード」の選択肢として、①元の写真、②補正済み、のいずれかを選択する事になります。この時、補正済みの写真をダウンロードすると、端末にあるオリジナルの写真とはファイルサイズなどが異なる状態でダウンロードされる事が分かります。

自動的に補正がかかっているケースでは、意識せずにダウンロードすると補正された写真のほうがダウンロードされることになるので注意が必要です。

(対象をチェックしておいてから)自動補正を適用⇒オフ、とし元に戻してからダウンロードすることで元のファイルサイズの画像をダウンロードする事が可能になります。

補正の影響は、データツール⇒データをダウンロード⇒データコピーのダウンロード、でアーカイブを作成してバックアップを取る場合にも影響します。自動補正したままアーカイブを作成すると、アーカイブに含まれる写真は補正された状態のものになります。補正を先に解除し、それからアーカイブを作成すれば元サイズの画像がアーカイブされる事になります。

 なお、ファイルサイズはだいたい同じ様なサイズになると思いますが、EXIF が変更されていますので同じにはなりません。また、ハッシュ値も当然ですがオリジナルとは一致してきません。エクスプローラのプロパティでみると分かりますが、元の場所のプログラム名が Google になるなど、EXIF 値がオリジナルと異なった状態で保存されているようで、ハッシュ値による同一確認がそのままではできませんね。