この記事では、コンピューターフォレンジックのプリズムを介したフラッシュメモリの使用に基づいた情報キャリアの仕事の特徴についてお話します。
コンピューターフォレンジックについて簡単に
コンピューターフォレンジックの主な焦点は、フォレンジックエビデンスの生成(フォレンジックコンピューターおよびコンピューター技術検査の実施)および法廷でエビデンスとして使用されない運用情報の収集を目的としたコンピューターベースのストレージメディアの研究です。 従来、関連分野はコンピューターフォレンジックに帰することができます。コンピューターフォレンジックでは、コンピューター情報の調査が重要な役割を果たします。組織における情報セキュリティインシデントの調査、軍事(戦闘)目的の情報キャリアの調査などです。
司法証拠を得るために、多くの場合のマシンデータキャリアのフォレンジック調査が行われるため、そのような調査を実施する方法は、結果が再審査によって検証されることを保証する必要があります(この要件は、ロシア連邦刑事訴訟法の第57条に記録されています: 「専門家は、...調査官、調査官、調査船の許可。これにより、オブジェクトの完全または部分的な破壊、または外観または基本特性の変更が必要になる場合があります )。 コンピューター情報の研究に関して、結果の再現性の要件は、さまざまな方法で情報の不変性を保証することで表されます(ただし、一部の科学者は「情報整合性」という用語を使用することを好みます )。
- オペレーティングシステムによって調査中のメディアに送信される書き込みコマンドをブロックするソフトウェア書き込みロック(Linux OSでは、 mount -o roコマンドを使用して読み取り専用モードで作成されたライトバックデバイス、loop / dev / <device > <マウントポイント> " );
- 同じ機能を実行するが、ソフトウェアのインストールを必要としないハードウェア記録ロック(簡単に言うと、送信されたコマンドをフィルターするコンピューターと記憶媒体の間の中間デバイス)。
- 起動および操作中に接続されたストレージメディアに記録コマンドを送信しない特殊なオペレーティングシステム。
初期段階でのコンピューターフォレンジックの開発
コンピューター情報のフォレンジック調査の方法の開発は、次の傾向によって特定できます。
- 暗号化ハッシュ関数による調査対象データの不変性(完全性)の確認。
- 記録ロックの義務的な使用またはある媒体の内容を別の媒体にコピーすることにより作成された情報担体の法医学的コピーの調査により、調査されたデータの不変性を確保する(そのようなコピーはビット単位またはセクター ごとと呼ばれることがあります );
- これらの傾向の普及、司法調査の実施方法への固定。
コンピュータフォレンジックの開発がコンピュータストレージメディアの静的コンテンツに影響されることを理解することは難しくありません。コンピュータストレージメディアは、 「コマンドによってのみデータが変更される」という単純な原則の形で表現できます。 この原則は、フロッピーディスク、ハードディスクドライブ(HDD)、およびその他の「従来の」タイプのストレージメディアに適用され、コマンドなしでこれらのメディアの内容を変更することは誤動作(不良セクタの出現)と見なされます。
もちろん、サービスデータ(SMARTパラメーター)の変更は重大な問題ではありません。そのようなサービス情報は、問題を解決するためにフォレンジックではめったに使用されないためです(ファイルシステムの変更とは対照的に、変更は批判的に考慮されません)。
法医学のプリズムによるフラッシュメモリの開発
リムーバブルおよび非リムーバブルのコンピューターストレージメディアでのフラッシュメモリの大規模な使用は、フラッシュメモリセルの消耗の問題を解決することで可能になりました。これにより、個々のメモリブロックのクリーニング(書き換え)サイクルの回数が制限され、不均一なデータ記録によるフラッシュメモリリソースが大幅に削減されます一般的なファイルシステムでは(一部のデータは他のデータよりも頻繁に上書きされます)。
この問題を解決するために、フラッシュメーカーはウェアレベリング方法を使用し始めました。これは、メモリの最も摩耗した領域から摩耗の少ない領域にデータを移動することで構成されています。 このプロセスは、ファイルシステムレベルまたはコントローラーレベルで実行できます。最初の場合、データは特別なファイルシステムのドライバーによって再配布され、2番目の場合、データはメディアコントローラーによってオペレーティングシステムに透過的に再配布されます(コントローラーは読み取り時に必要なバイト順を提供します、つまり、再作成します論理メモリアドレスとメモリセルの物理位置の対応表を使用した元のデータ構造)。
システムに追加のドライバーをインストールし、特別なファイルシステムを使用するためにウェアレベリングが必要なフラッシュメモリは、一般ユーザーの間では広く使用されておらず、コントローラーのウェアレベリングアルゴリズムが最も広く使用されています。
したがって、読み取り専用モードでフラッシュメモリを使用している場合でも、コントローラーは常にデータを再配布しています。 ただし、このプロセスはオペレーティングシステムとリーダーに対して完全に透過的であるため、2つの大きなBUTの場合を除き 、フラッシュメモリのフォレンジック調査を実施するのに特に困難はありません(物理レベルではデータが再配布されますが、論理レベルでは静的です):
- USBフラッシュドライブは、これらのブロックに最初に書き込むまでメモリセルのブロックを電気的に接続しない場合があります[4]。
- 効果的なウェアレベリングには、メモリの追加(予約)セクションが必要です。これらのファイルシステムの空き(使用されていない)セクションを使用することをお勧めします。
最初の「しかし」は、USBフラッシュドライブのメモリの記録されていない部分を読み取ると、 ランダムデータ (ノイズ)が返されるという事実につながります。
2番目の「しかし」は、ソリッドステートドライブ(SSD)のメーカーに、これらのファイルシステムの空き(占有されていない)セクションの定義と使用の問題を解決します。
これらの機能は、現代のコンピューターフォレンジックの基盤となっている「コマンドによってのみデータが変更される」 という原則に対する重大な違反です 。 さらに、摩耗を平準化するために以前のファイルシステムから削除されたファイルとデータを含むファイルシステムの空き(使用されていない)セクションを使用すると、深刻なデータ復旧の問題につながります(コントローラーはデータの空きセクションを使用する前にクリーニングを実行するため、つまり削除されたデータは、本質的に特別なプログラムでファイルを上書きするのと同様に破壊されます)。
割り当てられていないファイルシステム領域を使用したフラッシュウェアアライメントはどのように機能しますか?
作業の簡略化されたアルゴリズムは、いくつかの行で説明できます。
情報を明示的に保存するためにファイルシステムで使用されていないデータ領域に(論理レベルで)対応するフラッシュセルはクリアされ、それらへのリンクは削除されます(つまり、オペレーティングシステムは、対応するセクションを読み取ってこれらのセルの内容を読み取ることができなくなります)データ)、セルは物理レベルでデータを再配布するために使用されます。 セルのクリーニング時に、削除されたファイルの断片または以前のファイルシステムが含まれていた場合、このデータは完全に削除されます(上書きされます)。
同時に、最も興味深いのは、フラッシュドライブコントローラーがファイルシステムのデータの空き領域を検出する方法です。
- ATAコマンドトリム[3]を使用した検出:このATAコマンドをサポートするオペレーティングシステムは、ファイルを削除またはフォーマットするときに、未使用のデータ領域に関する情報を自動的にコントローラーに転送します。
- フラッシュドライブコントローラーによってファイルシステム構造を処理することによる検出:コントローラーは、オペレーティングシステムの関与なしで、保存されたデータを読み取り、最も一般的なファイルシステムの構造を処理し(例:FAT)、クリーニングして磨耗を平準化するために使用できるデータの未使用領域を決定します。
このウェアレベリング方法は、最新のUSBフラッシュドライブでは使用されず、ソリッドステートドライブでのみ使用されることに注意してください。
そして、これはコンピューターフォレンジックを何を脅かすのでしょうか?
フラッシュメモリの消耗を平準化する上記の原則から、2つの結論が得られます。
- フラッシュメモリの内容は、書き込みロックを使用してストレージメディアを接続する場合、または読み取り専用モードでファイルシステムをマウントする場合でも、論理レベルで変更される場合があります。
- ファイルシステムの空き(未割り当て)スペースを個別に識別して使用するソリッドステートドライブは、削除されたデータの急速な破壊につながります。
また、フラッシュメモリを使用したフォレンジック作業の次の一般原則を形成します。
- ハッシュ関数を使用して、フラッシュドライブのコンテンツの不変性(整合性)を確認することはできません。
- ソフトウェアおよびハードウェアの記録ロックを使用しても、フラッシュドライブを使用する場合、調査対象のデータの不変性(完全性)は保証されません。
- ソリッドステートドライブから削除されたデータを回復することは困難です。
- フラッシュメモリの内容が研究中に変更されないことを保証する唯一の方法は、メモリモジュールを蒸発させて読み取り、続いて特別なソフトウェアおよびハードウェアデータリカバリコンプレックスでソフトウェアデータを再構築することです。
参照資料
- ニール・クリスチャンセン Windows 7でのATAトリム/削除通知のサポート (PDF)。
- スハノフ・マキシム。 コンピューターフォレンジックの問題とその解決方法 (PDF)。
- ATA8-ACS2 (DOC)のデータセット管理コマンドの提案 。
- ドミニク・ウェーバー。 フラッシュドライブと買収 。