ステガノグラフィー

既に数回、 ステガノグラフィについて書いたハブラーで、特にLSBステガノグラフィについての最近の投稿(残念ながら著者によってドラフトに移されました)は、このトピックに関する私の知識と考えを共有したいという欲求を喚起しました。



あなたがスパイであり、(他の自尊心のあるスパイと同様に)ハードドライブに多くの秘密情報があると仮定しましょう。 誰も見つけられないように隠す必要があります。 さらに、あなたが捕まったら、あなたのコンピュータは検査のために与えられ、この情報を探す人は、ハードドライブにそのような情報があることを99%確信します。



だから私たちの処分で情報を隠すいくつかの方法は何ですか...





方法1-バナル



最も簡単な方法は、ファイルの名前を変更することです。 たとえば、非表示にする必要がある画像があります。 ファイル拡張子の名前を変更するだけで、画像はシステムによって画像として定義されなくなります。 しかし、もちろん、それは愚か者からの保護です。 たとえば、JPGファイルの名前をRARに変更すると、そのようなRARアーカイブを開くことができない場合、WinRarはこのアーカイブが破損していると主張し、疑いが生じ、このファイルの詳細な調査が行われます。



方法2-Banal、Advanced



もう1つの簡単な方法ですが、さらに高度な方法は、2つの異なるファイルを1つに接着することです。 最も単純な例:RARアーカイブをJPEG画像の最後に追加します。 このような画像は、画像を表示/編集するためのプログラムで問題なく開くことができ、WinRarでも開きます。 事実、アーカイブを処理するためのほとんどすべてのプログラムは、アーカイブが自己解凍シェルで囲まれている可能性があるため、アーカイブがファイルの先頭から開始しないように設計されています。 しかし、この方法の欠点は、そのような結合が簡単に認識できることです。 たとえば、画像のサイズが200x200で、同時に2メガバイトの重さがある場合、すぐに疑念が生じます。 さらに、すべての形式(コンテナ)には通常、明確な構造があり、突然ファイル内に何らかの冗長な情報がある場合、これは簡単に検出できます。



したがって、選択した形式のファイル構造に違反しない情報を非表示にする方法が必要です。



方法3-LSB



前述のように、このメソッドは実装が非常に簡単ですが、コンテナーのルールに違反することはなく、ファイルには冗長な情報は保存されません。 しかし、この方法には多くの欠点があります。 まず、少数のコンテナにのみ適用されます。 たとえば、JPG、MP3、またはAVI形式には適用できません。 しかし、原則として、これらの形式のファイルは何百ものコンピューターに保存されており、情報を隠すのが最も便利です。 個人的には、コンピュータ上でBMP形式の画像の大きなライブラリを見つけたため、何かが間違っているとすぐに疑っていました。 また、この方法は、表面が均一な画像に内臓を与えます。 そして、この方法をMP3ファイルに適用してみてください。 2バイトまたはそれ以上のバイトごとに1ビットのみを変更すると、オーディオデータの破損が避けられません。



この方法を試してみたい人のために、Total Commanderのプラグインを提供できます。これにより、一部の画像コンテナーとWAVのデータを非表示にできます(オーディオデータがPCMコーデックでエンコードされている場合)。



さらに高度なアルゴリズムもあります。たとえば、画像にのみデータを隠すKoch-Zhaoアルゴリズムがあります。 違いは、1ビットの情報を8x8ピクセルのブロックにエンコードすることです。 残念ながら、インターネット上のこのアルゴリズムに関する少量の情報のために、私はそれについて他に何も話すことができません。



方法4-メタデータ



特定のメタデータを保存できる形式が多すぎます。 この方法の利点は、ファイル形式にも違反しないことです。また、これらのメタデータを使用した作業は通常十分に文書化されており、これらのファイルにデータを保存するプログラムをすばやく作成できる既製のライブラリが既に存在します。 ほぼすべてのメディア形式でメタデータがサポートされています。 ただし、そこにデータを保存して、表示されないようにすることは常に不可能です。 だから、どこに秘密のデータを保存しようとすることができます:



MP3


ごく最近、 ハブに投稿された:MP3のテキストを非表示にします。これは、ID3v1タグに情報を保存するPHPの実装を説明しています。 しかし、実際には、ID3v1タグには非常に厳しい制限があり、そこに保存する情報はあまりありません。 また、通常のメディアプレーヤーでは、すべてのデータが一目でわかります。 ID3v2.4タグを使用すると、はるかに大きなサイズのデータ​​を保存したり、非標準データを保存したりすることもできます。 たとえば、一部のプログラムでは、個々のファイルのボリュームと正規化設定がそこに保存されます。 通常、メディアプレーヤーには不明なパラメーターは表示されません。

MP3について話しているので、歌詞をファイルに保存するために作成されたあまり知られていないLyrics3タグと、ID3v1タグの拡張子(たとえば、長い曲名を保存できる)について言及する価値がありますが、ID3v2タグの標準出力タグLyrics3を広めませんでした。 しかし、奇妙なことではありません。現在インターネット上で見られる多数のMP3ファイルにこのタグが含まれています(曲の名前は別として、そこには何も保存されません)。



Jpeg


JPEG形式はEXIFタグをサポートしています。 このタグのデータは、key = valueのペアで保存されます。 理論的には、暗号化されたデータを含むある種の非標準キーを追加しても問題ありません。 このキーにつまずいたこのタグで動作するプログラムは、ほとんどの場合、単にそれを無視し、表示しません。



アビ


AVIファイルにもメタデータのサポートがあることを知っている人は多くなく、そこに多くのものを保存できます。 MP3やJPEGのように、何らかの種類の独自のキーを作成できます。これは、メタデータを処理するプログラムでは単に無視されます。 AVIファイルのメタデータを表示するための適切なプログラムabcAvi Tag Editorを推奨できます。



ファイルのメタデータに秘密データを保存することのマイナスは明らかであり、非標準値やプライベート値など、その内容を完全に完全に表示する多くのプログラムがあります。



方法5



最後に、機密データをMP3ファイルに保存する1つのすばらしい方法についてお話したいと思います。 MP3Stegoプログラムに実装されています。 残念ながら、このプログラムの作成者は2006年以降プロジェクトを更新していません。 データは最初に暗号化され、次にMP3ファイル(WAVから)のエンコードプロセスの中心で最終結果に混合されます。 結果は、目立った歪みのない通常のMP3ファイルですが、エンコードされたデータが保存されます。



All Articles