リナックスのためのベストなステガノグラフィツール5選

女性がノートパソコンの前で神経質に作業している写真.

ステガノグラフィは、一つの情報のタイプを別の情報の中に隠す技術とプロセスです。これは、通常のオブジェクトの中に秘密の情報を保持したい個人がいる状況でよく行われます。

このガイドでは、現在リナックスで利用可能な5つの最高のステガノグラフィツールを紹介します。また、これらのユーティリティを使って最初のメッセージを隠す方法も示します。

目次

  • ステガノグラフィとは何か、なぜそれを使うべきか
    1. Steghide
    1. Stegoshare
    1. Wavsteg
    1. Snow
    1. Steganoroute
  • よくある質問

ステガノグラフィとは何か、なぜそれを使うべきか

ステガノグラフィは新しい革新ではありません。古代ギリシャの時代から、歴史家たちは文化がどのようにして情報を視覚的に隠すためにステガノグラフィを使用していたかについて記述しています。その一つの有名な話は、ヘロドトスの「ヒスティアエスの物語」で、彼は召使の素肌の頭皮に短いメッセージをタトゥーしました。

それ以来、技術の進歩により、個人はデジタルオブジェクトの中でステガノグラフィを使用できるようになりました。例えば、単純なJPEG写真の中に本全体を挿入することが可能です。

隠れたメッセージを含む画像を表示するウィンドウ.

ステガノグラフィツールを使用する最大の利点の一つは、それらがシンプルで使いやすいことです。ほとんどの場合、これらのプログラムはメッセージとダミーファイルを受け取る単純なコマンドラインユーティリティです。

steghideのオプションを表示するターミナル.

もう一つのステガノグラフィツールの利点は、それらを無料で入手できることです。今日のほとんどの開発者は、自身のユーティリティをフリーでオープンソースソフトウェア(FOSS)としてライセンスしています。ステガノグラフィを始めるには、コンピュータとインターネット接続が必要です。

知っておくと良いこと: FOSSはステガノグラフィ以外にも無数のプログラムが含まれています。Linux-libreでFOSSディストリビューションをインストールする方法を学びましょう。

1. Steghide

Steghideは今日最も人気のあるステガノグラフィツールの一つです。これは、画像の中にテキストをエンコードするシンプルなコマンドラインプログラムです。Steghideは、ダミーファイルの中にランダムなビットのリストを作成し、そのビットの間に秘密のデータを挿入することで機能します。

このアプローチにより、データはダミーファイルとシームレスにブレンドされます。さらに、Steghideにはデフォルトで強固な圧縮および暗号化アルゴリズムが含まれており、不正行為者がファイルに秘密のデータが含まれていることを知っていても、情報を抽出するのは難しいです。

以下のコマンドを実行して、UbuntuとDebianにSteghideをインストールできます:

sudo apt install steghide

以下のコマンドを実行して最初のステガノグラフィファイルを作成します:

steghide embed -ef ./my-secret-data.txt -cf ./my-plain-image.jpg -sf ./steg-image.jpg

steghideの実行状況を表示するターミナルウィンドウ.

利点

  • 迅速かつ簡単に使用できる
  • チェックサムを使用してデータの整合性を検証

欠点

  • 出力が元のものよりも明らかに大きい
  • 元のダミーファイルの小さなビットを修正

ヒント: よりプライバシーを重視する場合は、LinuxでTombを使用してファイルを暗号化する方法を学びましょう。

2. Stegoshare

Stegoshareは、画像ファイルの中にデータを隠すための直感的なインターフェイスを提供するグラフィカルなステガノグラフィツールです。Steghideとは異なり、Stegoshareは複数のファイルに大きなバイナリをエンコードするのに優れています。

stegoshareの基本インターフェイスを表示するウィンドウ.

Stegoshareのもう一つの重要な利点は、高いポータビリティです。使用するOSに関係なく、他のユーザーにプログラムを配布できます。例えば、Linuxでエンコードし、Windowsでデコードすることも可能です。

  1. Stegoshareを使用するには、最初にその依存関係をインストールします:
sudo apt install wget openjdk-8-jdk openjdk-8-jre

stegoshareの依存関係のインストールプロセスを表示するターミナルウィンドウ.

  1. 開発者のウェブサイトからStegoshareのバイナリをダウンロードします:
wget http://downloads.sourceforge.net/stegoshare/StegoShare.jar
  1. プログラムを実行し、「Browse」をクリックします。

stegoshareのブラウズボタンを表示するウィンドウ.

  1. ダミー画像フォルダを選択します。

stegoshareのファイル選択ウィンドウ.

  1. 「Browse」の下にある「Select」ボタンをクリックします。

stegoshareで選択ボタンを表示するウィンドウ.

  1. 隠したいファイルを選択します。

stegoshareのデータ選択ウィンドウ.

  1. 「Hide」ボタンをクリックして、秘密データをダミーファイルにエンコードします。

stegoshareの隠すボタンを表示するウィンドウ.

利点

  • シンプルで使いやすい
  • Javaが実行できるプラットフォームで動作する

欠点

  • 大きなファイルを生成する
  • 画像分析ツールがstegoshareのアルゴリズムを検出できる

知っておくと良いこと: Linuxターミナルから画像をリサイズおよび最適化する方法を見つけましょう。

3. Wavsteg

画像の中に情報を埋め込むことに加えて、音声ファイルを使用して情報を隠すこともできます。Wavstegは、秘密データをデジタルオーディオファイルのビットの間に混ぜ込むことを可能にする、シンプルでありながら効果的なツールです。

クリーンなオーディオファイルとデータが埋め込まれたファイルの比較を表示するスクリーンショット.

Wavstegは、オーディオファイル全体を読み取り、「最小重要ビット」を探します。これらはファイルの一部であり、データを削除することも変更することもありません。秘密のデータを含むオーディオファイルは、「クリーン」ファイルと聞き比べて音的に違和感がありません。

  1. 依存関係をインストールします:
sudo apt install python3 python3-pip
PATH=$PATH:/home/$USER/.local/bin/
  1. pipを使用してプログラムをインストールします:
pip install stego-lsb

wavstegのインストールプロセスを表示するターミナルウィンドウ.

  1. インストールが完了したら、以下のコマンドを使用してオーディオファイルの中にデータをエンコードします:
stegolsb wavsteg -h-i my-plain-music.wav -s my-secret-data.txt -o steg-audio.wav

wavstegのエンコード状況を表示するターミナルウィンドウ.

利点

  • 軽量で使いやすい
  • 他のオーディオファイルとの音の違いがない

欠点

  • テキストファイルのみに対応
  • 大きなファイルを生成することがある

4. Snow

Snowは、テキストファイルの中に情報を隠すためにホワイトスペースとタブを使用する軽量ツールです。他のステガノグラフィツールとは異なり、Snowは秘密のデータをエンコードするためにバイナリフォーマットに依存しません。これは、大きなバイナリファイルを共有することが不可能な場合に非常に役立ちます。

snowのマニュアルページを表示するターミナルウィンドウ.

Snowはプレーンテキストのみに依存するため、バイナリファイルにも似た方法でファイルを圧縮および暗号化することが可能です。Snowは、他のテキストデータとブレンドできる非常に小さなファイルを生成することができます。

  1. 以下のコマンドでsnowをインストールします:
sudo apt install stegsnow
  1. 以下のコマンドを使用して、「hello.txt」ファイルの中に「MakeTechEasier」というフレーズを隠します。
stegsnow -C-m"MakeTechEasier"-p asecurepassword hello.txt steg-hello.txt

snowの作業状況を表示するターミナルウィンドウ.

利点

  • 小さなファイルを生成する
  • 出力テキストはプレーンテキストを受け入れる任意のプログラムで使用できる

欠点

  • データスペースが非常に限られることがある
  • 暗号化アルゴリズムが比較的古い

ヒント: さらにプライバシーを向上させたいですか?これらのセキュアなメールサービスに切り替えてみてください。

5. Steganoroute

デジタルステガノグラフィは、通常ファイルの中に情報を隠します。しかし、ダミーファイルを使用せずにステガノグラフィを利用することも可能です。

Steganorouteは、TCPを利用して情報を隠すことを可能にする革新的なネットワーキングツールです。このプログラムは、送信したいメッセージを含む偽のICMPパケットを作成します。ホストはサーバーで偽のパケットをリッスンし、ネットワーク分析ツールを使用してその情報をデコードすることができます。

  1. Steganorouteの依存関係をインストールします:
sudo apt install git mtr python3 python-scapy
  1. リポジトリからプログラムのソースコードをクローンします:
git clone https://github.com/stratosphereips/steganoroute.git
  1. 以下のコマンドを実行してSteganorouteメッセージをブロードキャストします:
cd ./steganoroute  
sudo iptables -I INPUT -p icmp --icmp-type8-j DROP  
sudo python3 ./steganoroute.py -i lo -m"MakeTechEasier"-l

steganorouteがメッセージをブロードキャストしている状況を示すターミナルウィンドウ.

  1. mtr分析ツールを使用してプログラムが正しくブロードキャストされているかテストします:
mtr -t your.local.lan.ip

実行中は、メッセージを印刷するためにDを押す必要があります。

steganorouteのブロードキャストメッセージを表示するターミナルウィンドウ.

利点

  • ダミーファイルを作成する必要がない
  • メッセージを共有するにはブロードキャストするだけで済む

欠点

  • ICMPパケットを偽造することに依存している
  • 悪意のある行為者がパケットを傍受し、メッセージを再構成することができる

ヒント: ネットワーキングは初心者にとって daunting(手に負えない)に見えることがあります。digを使用してDNSパケットがネットワークをどのように移動するかを学んでください。

よくある質問

ステガノグラフィは私のファイルの動作を変えますか?

いいえ。通常、ステガノグラフィツールは元のデータをできるだけ保持することを目指しています。ファイルを他の人と共有しても、元のファイルを使用してアクセスすることが可能です。

ステガノグラフィの画像を送ったが、なぜメッセージが失われたのか?

これは、おそらく画像ホスティングプロバイダーに問題があるためです。ほとんどの画像共有ウェブサイトは、サーバーに到着するとすぐに画像を圧縮する傾向があります。これは、ステガノグラフィツールにとって問題です。なぜなら、彼らは元の画像ファイルの正確なデータ構造に依存しているからです。

画像ホスティングプロバイダーが送信する画像を圧縮していないことを確認してください。

ステガノグラフィを使用してデータを隠すことに欠点はありますか?

それは状況によります。大部分、Steghideのようなツールは、通常のデジタルファイルの中にデータを隠すことに依存しています。ステガノグラフィはファイルの動作を変更することはありませんが、デジタルファイルに目立つインプリントを残すことになります。これは、悪意のある行為者がステガノグラフィを使用していることを知っている場合に問題となる場合があります。

なぜ私のsteganorouteの受信者が私のICMPパケットを受信しないのか?

これは、おそらくあなたのsteganorouteサーバーが間違ったインターフェースでICMPパケットを送信しているためです。これを修正するには、ip addrを使用して目的のネットワーキングインターフェースを見つけます。

次に、-iオプションを追加し、その後にネットワーキングインターフェースの名前を続けます。例えば、以下のようにイーサネットポートを通じてsteganorouteを実行します:sudo ./steganoroute.py -i enp3s0 -m "MakeTechEasier" -l.

画像クレジット: Unsplash。すべての変更とスクリーンショットはRamces Redによって行われました。