Mac端末のフォレンジックについて 第一回「保全」
(この記事は2020年6月26日に公開されました)
こんにちはフォレンジック課のWDです。
今回はMac端末のフォレンジックについて取り上げようと思います。
テーマとして長くなるので、反響に応じて複数回に分けて連載予定です。
初回は保全方法について取り上げます。
フォレンジック概要
フォレンジックの調査において必要なフェーズは主に3つのフェーズがあります。
※実際の案件の際には保全の前段階の部分での事前調整や調査範囲の決定などが特に重要です。
今回、この記事で取り上げる保全作業は、つまるところデータのコピー作業です。ただし、データのコピーはただの複製作業という意味ではなく、データの固定化という意味があります。
例えば、PC内のデータを調査する際に、調査時のデータと調査後のデータに変化があっては調査の過程によって改変されたのではないかという疑いが発生してしまうため、証拠性がなくなってしまいます。
また、PC内でコンピュータウイルスなどが実行されてしまった場合には、その当時のエラー情報などがログとしてPC内部に残りますが、それらのログ情報も無制限に保有されるわけではありません。一般的には古いログ情報から削除されます。
加えて、重要なデータが削除されたPCは電源のオンオフを行うだけでも、削除されたデータの復元が困難になっていきます。
データの保全作業においては、なるべく調査対象の端末内部の情報に変化を生じさせないためのデータの固定化作業が必要になります。つまり、データのコピーを行うだけではなく、コピー前のデータとコピー後のデータに差異がないこと、コピー前のデータに改変を生じさせないように作業を行うことが重要になります。
データの保全作業はやり直しがきかない作業であるため、的確に行えない場合には専門家に依頼するのが大前提となります。
基本的に行ってはいけない作業は以下の3点です。
- 電源のオンオフを行う
- 怪しいデータの確認を行うために、ログインしてファイルの実行や閲覧、削除を行う。
- データの保全作業を行う前に、調査を試みる
そのため、データの保全作業の際に特に重要になる観点は以下の4点です。
- 電源が切られているのであれば電源は入れない。分解して書き込み防止装置を用いてデータの複製を取得する
- 電源がオンになっているのであれば、電源を切らずに元データになるべく影響を与えずにデータの複製作業を行う
- 外部ブートでのデータの取得を行う
- いずれも難しければ、なるべく元データに影響を与えずにコンテンツのコピーを行う
結果として、データ保全の手法の優先度はおおよそ下記の順になります。
- 分解してHDDを取り外し、データの保全を行う
- 外部ブートでデータの保全を行う
- 端末を立ち上げ、ログインしてデータの保全を行う
※起動してログインしている端末がすでにあるのであれば、その限りではありません。
上記の観点をもとに、今回はMac端末の保全方法についてピックアップしたいと思います。
保全準備
保全実施前には準備が必要です。
特にMac端末については注意事項が多いため、解説を挟みながら保全項目をピックアップします。
Mac端末の保全の際に注意すべき点は以下の9点です。
- macOSのバージョン
- PCの製造時期
- ファイルシステム
- 管理者アカウントのパスワード
- FileVaultの利用の有無
- 復旧キーの有無
- ファームウェアパスワードの有無
- FusionDrive
- TimeMachine
macOSのバージョンについて
macOSはそのメジャーアップデート内容に応じて通称が変化します。
直近の一例としては以下に示す通りです。
macOS 10.12 Sierra
macOS 10.13 High Sierra
macOS 10.14 Mojave
macOS 10.15 Catalina
起動している実機で確認する際にはこちらから確認することも可能です。
また、macOSの最新のバージョンであるCatalina以降から、特に注意するべき点が追加されました。特に気を付けるべき点は以下の2点です。
- macOSが動作するシステム領域へのアクセスが困難になった
- Terminalから呼び出されるshellがbashからzshデフォルトに変更された
簡易調査など起動したシステムを取り扱ってコマンドを実行する際には、zshを利用している点に気を付ける必要があります。
PCの製造時期
Mac端末の製造時期に応じて、Mac端末のストレージははんだ付けされ、iMacも接着剤で粘着されています。そのため、分解してストレージを取り出すのは破損の危険性が高く、現在困難です。
また、2016近辺以降に発売された端末では、電源接続時およびモニターを広げたタイミングで、端末が起動します。そのため、電源の投入によるシステムログデータの上書きが発生する可能性があります。
加えて、最近のMac端末にはT2 Security Chip(以下、T2Chip)と呼ばれる物理チップが組み込まれています。
T2Chipが組み込まれている対象端末は主に下のモデルです。
iMac Pro
Mac Pro (2019 年に発売されたモデル)
Mac mini (2018 年に発売されたモデル)
MacBook Air (2018 年以降に発売されたモデル)
MacBook Pro (2018 年以降に発売されたモデル)
T2Chipが組み込まれている端末では、システムや暗号化の状況次第にもよりますが、データの閲覧や保存の際にT2chip内の暗号化キーで暗号化を施すため、基本的には物理的にHDDやSSDを分解し取り出した場合にもデータの閲覧を行うことができません。
参照:https://www.apple.com/euro/mac/shared/docs/Apple_T2_Security_Chip_Overview.pdf
そのため、製造番号から製造時期を確認する必要があります。
製造番号を確認する際には筐体に刻印されている番号を確認してください。
MacBookProの場合には底面の中央上部に刻印されています。
以下はその一例です。赤枠の部分が型番になります。
またifix it上に分解記録が上がっているようであれば、どのようなハードウェア構成になっているのかを確認することができます。
ファイルシステム
Appleで現在利用されているファイルシステムとしては主に、HFS+およびAPFSの2種類があります。解析の際はもとより、データの保全の際にもファイルシステムの取り扱いを注意する必要があります。
データの保全の観点で特に重要になるのはどこにデータが保存されるのかといった点です。
APFSでは物理的なHDDやSSDの上にAPFS Containerとよばれるデータの取り扱いの仕方を行い、その配下にvolumeとしてのデータを取り扱う形になります。
参照:https://developer.apple.com/documentation/foundation/file_system/about_apple_file_system
仮想化されたcontainerの中に可変サイズとしてのvolumeを配置するため、container内部に複数のvolumeを構築した際にはvolumeサイズは共有される形になります。
少し無理にWindows環境で例えるとパーティションがvolumeですが、すべてのパーティションがサイズ可変のため、管理ツール上で確認した時にすべてが物理ディスクのサイズをもって見える形になります。
保全データの入れ物としてのHDDやSSDとして用意すべきストレージはもともとの物理ディスクの最大サイズを超えることは基本的にありません。
例えば、保全対象のPCのストレージが1TBであれば、volumeが3つあった場合には3TBの容量が必要に見えますが、実際には保全後のストレージでも1TB前後しかデータは利用しません。
実際にディスクユーティリティから表示させると4TBのボリュームが3つ4TBの物理ディスクに格納されているように見えます。
物理ディスクの概要がこちらです。
初期のOSがインストールされるAPFSボリュームの情報がこちら
Test1として追加したAPFSボリュームの情報がこちら
Test2として追加したボリュームがこちら
Diskutil listのコマンドでデータを閲覧すると以下のように表示されます。
また、APFSでは暗号化APFSをファイルシステムとして選択することが可能であるため、暗号化APFSを利用しているデバイスを保全する際にはその暗号化の解除も行う必要があります。
管理者アカウントのパスワード
下記のタイミングでパスワードが必要です。
- 起動セキュリティ設定を変更する際
- FileVaultの暗号化を解除する際
FileVaultの有無
macOSにはFileVaultという暗号化機能があります。
FileVaultには現在FileVault1とFileVault2がメインのバージョンとしてあります。暗号化アルゴリズムに前者はAES-128、後者はXTS-AES128を用いており、前者のFileVaultシステムはmac OS X Lionまでそれ以降は後者のバージョンが利用されています。前者の暗号化システムには複数の復号化手法があります。
現在利用されている端末では基本的にFileVault2が利用されていると考えてよいでしょう。
復旧キーの有無
FileVault暗号化の解除の際にはFileVault暗号化を実施した管理者アカウントのパスワードもしくは復旧キーが必要です。
そのため、どちらも管理されていない場合にはデータの保全が非常に困難になります。Mac端末を社内で利用されているシステム管理者は鍵の管理を行うべきです。
ただし、FileVault機能が有効化されていない端末やFileVaultのバージョンが古い端末ではその限りではありません。
ファームウェアパスワードの有無
Mac端末上ではファームウェアパスワードの有効化も可能です。
ファームウェアパスワードでは主にセキュリティユーティリティなどの変更が管理され、意図しない設定の変更を管理する形になります。
ファームウェアパスワードが有効になっている端末では、設定変更画面へのアクセスを行うことができなくなります。
FusionDrive
Mac端末にはFusionDriveという規格を利用しているものがあります。
FusionDriveの基本的な構成は小容量のSSD+大容量のHDDで構成され、二つのディスクを一つのディスクとして見えるように仮想化しているものです。
FusionDriveはSSDが登場しはじめた時期のアクセス速度を高めるために主に採用されたハードウェア構成です。使用頻度の高いデータはSSDに配置し、一方でアクセス頻度が少ないデータはHDDに配置する形でハードウェアの構成費用を下げるために採用された構成です。2015年前後のiMacでの採用が多くみられます。
SSDが流通し始めてまだ高価だった時期にWindows機でも多くみられた構成ですね。
FusionDriveが採用されている端末では、分解したうえでのデータ抽出難易度が少々上がります。FusionDriveのソフトウェア構成を再現する必要があるためです。
そのため、調査観点しだいではあるものの、FusionDriveの採用されている端末では外部ブートの上でのデータ取得が推奨されます。
上述のファイルシステムの際に触れたAPFS Containerや、CoreStorageによるストレージデバイスの仮想化はFusionDrive構成の際に特に有用です。
TimeMachine
Mac端末にはTimeMachineという機能があります。
機能概要としてはサーバにおけるsnapshotのようにappleのデフォルト機能で自動的に旧バージョンの差分を取得するという点にあります。
Mac端末では新規でディスクデバイスを認識させた場合にTimeMachineディスクとして利用するか否かを聞かれます。
バックアップとしてTimeMachineが利用されている場合にはTimeMachineディスクも調査対象にするのが望ましいです。
保全方法
上記を踏まえてようやく、Mac端末のデータの保全を行います。
今回は外部ブートでのデータ取得を行います
対象となるシステムと利用ツール、暗号化状況は以下の通りです。
macOSのバージョン:mac OS Catalina ver10.15.5
PCの製造時期:型番A2141 ※T2chip内蔵型
ファイルシステム:APFS
管理者アカウントのパスワード:確認済み
FileVaultの利用の有無:FileVault2有効化
復旧キーの有無:確認済み
ファームウェアパスワードの有無:設定あり
FusionDrive:採用 ※SSD4TBのストレージタイプで実データ使用量は約156GB
TimeMachine:設定あり
使用ツール:Recon ITRのなかのRecon Imager
ステップ1
今回のデータ保全では外部ブートでのデータ保全を行うため、まず外部ブートが可能な状態に設定を変更します。
Mac端末の電源がシャットダウンされた状態で、Command+Rボタンを押して、リカバリモードを起動します。
ファームウェアパスワードがかかっている場合には次の写真のようにパスワードの入力要求が発生するので、入力して設定画面に移動します。
管理者アカウントでユーザーパスワードを入力します。
画面のようにmacOSユーティリティが表示されたら左上のタブから「ユーティリティ」を選択し、「起動セキュリティユーティリティ」を選択します。
再度資格情報が確認されるので、管理者アカウントのパスワードを入力します。
デフォルトの起動ユーティリティは
・完全なセキュリティ
・外部メディアからの起動を許可しない
といった設定になっているため
・セキュリティなし
・外部メディアからの起動を許可する
へ設定を変更します。
設定の変更が終わったら、システムをシャットダウンし、Recon ImagerのUSBを差し込みます。
続いて、optionボタンを押しながら電源を入れ、起動ストレージの選択画面に移行します。
一番左のディスクはMac端末に購入時から組み込まれているストレージです。
右三つのデバイスから、OSのバージョンに応じた起動ストレージを選択します。
今回は一番左のRecon Imager Mode-Cを選択します。
Recon ImagerはMode-Cが最新のmacOS用のプロファイル、Mode-Aが最も古いmacOS用のプロファイルとして機能します。
しばらく待つと、言語選択画面が表示されるので、Englishもしくは中文から選択します。
日本語UIは現在非対応です。
Recon Imagerが立ち上がったら、現在マウントされているストレージの選択画面が表示されます。
今回の端末はFileVaultの暗号化がかかっているため、その警告が表示されます。
今回の端末のファイルシステムはAPFSのため、各ストレージは上述のAPFSの説明のように、すべて約3,700GBのデータ容量を利用しているように見えますが、実際には総容量として使える上限が3,700GBであるということを示します。
左下のDecryptボタンからデータの復号化を実施します。
Encryptedの欄がYesになっているストレージに暗号化がかかっているため、復号化する必要があります。
対象のストレージを選択したらDecryptボタンを押して、画面に表示されたようにユーザのIDにFileVault暗号化を実施したユーザのパスワードを入力します。復号化が成功したので、データの保全に移行します。
左上のカラムからDiskImagerを選択し画面を移動します。
Sourceにデータ保全対象のストレージ、Destinationにデータ出力先のストレージを選択しmountボタンをクリックします。
Sourceとして指定するストレージはCatalina環境では「ストレージ名-Data」となっている部分と「ストレージ名」の部分両方です。
「ストレージ名-Data」部分にはユーザのアクティビティ情報やデータが主に格納され、「ストレージ名」部分にはユーザから変更が難しい、システムデータが主に格納されます。
調査内容にもよりますが、基本的には「ストレージ名-Data」および「ストレージ名」のデータが保全対象となります。
出力先ストレージのどのファイルに出力するかを聞かれるので、新規にフォルダを作成し、「evidence1」というフォルダを出力先として設定します。
Imagenameに出力ファイル名を設定し、CaseNumberや調査員名などの情報を必要に応じて入力し、startボタンを押してデータの出力を実施します。
左下に現在のデータの使用容量と経過時間が表示されます。
完了表示が出たらデータの保全は終了です。
オプション機能として複数の機能があり、メモリデータのdumpや出力したファイルの保全前後のhashリストの出力なども実施可能です。
まとめ
ウイルス被害などの調査や内部不正の調査の際の精度向上のために、データ保全は何よりも適切に行う必要があります。適切な保全データがあれば何度でも調査は実施可能ですが、保全に限っては初回しか行えないからです。
速度とトレードオフにされる場合も多々ありますが、状況確認のために起動してデータを確認したり、良かれと思ってデータの複製を作成する行為も、内部で行うことによって法廷やプレス発表時には証拠隠滅行為に加担するものとして取り扱われる可能性もあります。
データの保全を日ごろから様々なシステムに対して、適切に行う観点をもつのが何よりも重要です。
今回の解説の中では、調査対象の端末に影響を与えない形でのデータ保全を行うために有償ツールを利用しています。
また、Appleの近年の端末の暗号化やセキュリティ情報は非常に堅牢になりつつあります。そのため、有償のツールですらデータの保全を行うことができない場面も多々あります。そのため、有償無償含め複数の手段を保有しておくのが一番です。
本来なら避けるべき、端末を起動してのデータ収集ですら、システム情報へのアクセスは困難になっており、無償環境ではTimeMachineを有効化したうえでのバックアップ取得が最も有用なことも多くあります。
しかし、端末の起動、TimeMachineを利用したバックアップの取得などにより多くの有用なログ情報が欠損する可能性がある点を念頭に入れておくべきでしょう。
Mac端末の管理や保守の観点などで、今回の情報が参考になれば幸いです。
特に暗号化の鍵情報の適切な管理やバックアップの取得の重要性を再認識いただければと思います。
最後に、以下の点だけでも記憶していただけると幸いです。
・退職者が出た際にはデータの保全を行う第三者の業者を確保する。
・FileVaultを有効化した管理者パスワードもしくは、復旧パスワードは管理する。
・ファームウェアパスワードは管理する。
・TimeMachineは一度で構わないので有効化する。可能なら定期的にバックアップのTimeMachineデバイスを接続する。