ステガノグラフィは、機密情報を別のファイル内に隠すプロセスです。その目的は、疑わしいと思われないように機密情報の存在を隠すことです。また、ファイルを直接見ている人は実際の情報を見ることができない場合があります。ステガノグラフィと暗号化を組み合わせると、データの存在を隠すだけでなく、データの安全性も高まるため、保護の層が追加されます。
この投稿では、Steganographyを使用してUbuntuの画像内のファイルを非表示にする方法について説明します。 4つの異なる方法について説明します。
- Steghideユーティリティの使用(コマンドライン)
- Outguessユーティリティ(コマンドライン)の使用
- Catユーティリティの使用(コマンドライン)
- Stegosuiteユーティリティ(GUI)の使用
注 :Ubuntu 20.04 LTSでの手順を説明しました(Debian OSにも適用されます)。システムにユーティリティをインストールするには、sudo権限が必要です。
Steghideユーティリティの使用(コマンドライン)
Steghideは、画像または音声ファイル内のファイルを非表示にできるコマンドラインユーティリティです。 JPEG、WAV、AU、およびBMP形式のデータを非表示にすることができます。
次のコマンドを使用して、Steghideユーティリティをインストールできます。
$ sudo apt install steghide
Steghideをインストールすると、ファイルを非表示にしたり、画像内に埋め込んだりする準備が整います。非表示にするファイルと非表示にする画像(カバーファイルとも呼ばれます)が必要になります。
Steghideを使用して画像ファイル内のファイルを非表示にするには、構文は次のとおりです。
$ steghide embed -ef <file-to-hide > -cf <image.jpg>
-efの場所 ファイルを指定するために使用されます
たとえば、次のコマンドは testfile.txtを非表示にします flower.jpgで 画像ファイル。
$ steghide embed -ef testfile.txt -cf flower.jpg
パスフレーズを入力して確認するように求められます。このパスワードは、後で画像に埋め込まれたファイルを抽出するために使用されます。パスワードで保護したくない場合は、 Enterを押してください 2回。
ファイルが画像内に非表示になったので、元のファイルを削除できます。
$ sudo rm testfile.txt
隠しファイルにアクセスする
画像内に隠されているファイルにアクセスするには、画像からファイルを抽出する必要があります。構文は次のとおりです。
$ steghide extract -sf <image>
ここで-sf 埋め込まれたデータを含む画像名を指定するために使用されます。
たとえば、次のコマンドは、画像 flower.jpgに埋め込まれた元のファイルを抽出します。 。
$ steghide extract -sf flower.jpg
ファイルのパスワードを入力すると、元のファイルが抽出されます。
Outguessユーティリティ(コマンドライン)の使用
Outguessは、画像内にファイルを埋め込むために使用されるもう1つのコマンドラインユーティリティです。カバーメディアの冗長ビットに情報を隠すことができます。 PPM、PNM、およびJPEGファイルのデータを非表示にすることができます。
次のコマンドを使用して、Steghideユーティリティをインストールできます。
$ sudo apt install outguess
Outguessをインストールすると、ファイルを非表示にしたり、画像内に埋め込んだりする準備が整います。非表示にするファイルと非表示にする画像(カバーファイルとも呼ばれます)が必要になります。
Outguessを使用して画像ファイル内のファイルを非表示にするには、構文は次のとおりです
$ outguess -k <“password”> -d <file-to-hide> <image> <image-out>
「パスワード」
たとえば、次のコマンドは testfile.txtを埋め込みます flower.jpgに パスワードabc123 結果をflower-out.jpgに保存します 。
$ outguess -k “abc123” -d testfile.txt flower.jpg flower-out.jpg
これで、元のテキストファイルを削除できます:
$ sudo rm testfile.txt
隠しファイルにアクセスする
画像内に隠されているファイルにアクセスするには、画像からファイルを抽出する必要があります。構文は次のとおりです。
$ outguess -k “password” -r <image-out> <filename>
たとえば、次のコマンドは、画像 flower-out.jpgに埋め込まれている元のファイルを抽出します。 。
$ outguess -k “abc123” -r flower-out.jpg testfile.txt
Catコマンドの使用(コマンドライン)
Linux Catコマンドには、ファイルの作成、ファイルの内容の表示、ファイルの連結という3つの主要な機能があることをよく知っているはずです。 Catコマンドの連結機能を使用すると、ステガノグラフィを実現できます。
この方法では、zipファイル(非表示にする必要のあるファイルを含む)と画像ファイル(ファイルを非表示にする)が必要になります。手順に従ってください:
1.ディレクトリを作成し、画像に非表示にするすべてのファイルを追加します。たとえば、 myfilesという名前のファイルのディレクトリを非表示にします。 、次のコマンドを使用して作成しました:
$ sudo mkdir myfiles
次に、新しく作成したディレクトリに、非表示にするファイルをコピーします。
2.次に、次のコマンドを使用してこのディレクトリを圧縮します。
$ sudo zip -r myfiles.zip myfiles
myfiles.zipの場所 は圧縮ファイル名です。
3.次に、圧縮ファイルが配置されているのと同じディレクトリ(この場合はホームディレクトリ)に画像ファイルを配置します。次に、圧縮ファイルと画像ファイルを連結し、次のように新しい画像ファイルに保存します。
$ cat myfiles.zip image.jpg > flower.jpg
myfiles.zipの場所 圧縮ファイル、 image.jpg はカバーファイルとして使用したい画像ファイルで、 flower.jpg は実際にファイルを非表示にする出力ファイルです。
4.画像内のファイルを非表示にしたので、filesディレクトリと圧縮ファイルを安全に削除できます。 rmを使用してこれを行うことができます 次のようにコマンドを実行します:
$ sudo rm -r myfiles
$ sudo rm myfiles.zip
隠しファイルにアクセスする
画像内に隠されているファイルにアクセスするには、その画像ファイルを解凍する必要があります。そのためには、まず、出力画像ファイル flower.jpgが含まれているのと同じディレクトリにいることを確認します。 非表示のデータが含まれています。次に、以下のコマンドを実行して、隠しファイルを解凍します。
$ unzip flower.jpg
Stegosuiteユーティリティの使用(グラフィカル)
Stegosuiteは、画像内にファイルを埋め込むことができるもう1つのグラフィカルなステガノグラフィユーティリティです。埋め込まれたデータを暗号化するためにAESを使用します。 BMP、GIF、JPG、およびPNG形式のデータを非表示にすることができます。
次のコマンドを使用して、Stegosuiteユーティリティをインストールできます。
$ sudo apt install stegosuite
確認のプロンプトが表示されたら、 yを押します 。
Stegosuiteをインストールすると、ファイルを非表示にしたり、画像内に埋め込んだりする準備が整います。非表示にするファイルと非表示にする画像(カバーファイルとも呼ばれます)が必要になります。
Stegosuiteユーティリティを起動するには、キーボードのスーパーキーを押して、 stegosuiteと入力します。 。検索結果から、Stegosuiteアイコンをクリックして起動します。
画像内のファイルを非表示にするには、次の手順に従います。
1. Stegosuiteユーティリティで、ファイル>開くに移動します トップメニューバーから。
2.ファイルブラウザが表示されます。ファイルを非表示にするカバー画像を選択し、[開く]をクリックします。 この例では、flower.jpgです。
そうすると、Stegosuiteウィンドウの右側に画像が読み込まれます。
3.次に、画像に非表示にするファイルをアップロードする必要があります。これを行うには、埋め込みファイルの下の領域を右クリックします セクションを選択し、ファイルの追加を選択します オプション。
ファイルブラウザから目的のファイルを参照し、[開く]をクリックします 。この例では、testfile.txtです。
4.ファイルのパスワードを設定します。後で画像からファイルを抽出する必要があるときに使用されます。次に、埋め込みをクリックします ボタンをクリックしてファイルを画像に埋め込みます。
imagename_embedの形式で名前が付けられた新しいファイルが作成されます 。拡張 。たとえば、画像名が flower.jpgの場合 、次に、新しい出力ファイルが flower_embed.jpgという名前で作成されます。 。
これでファイルが画像に埋め込まれました。元の機密ファイル( testfile.txt )を削除できます。 )。出力画像ファイル( flower_embed.jpg )を保持するだけで済みます 。
隠しファイルにアクセスする
画像内に隠されているファイルにアクセスするには、埋め込まれた画像からファイルを抽出する必要があります。 1. Stegosuiteユーティリティを起動し、ファイル>開くに移動します 。
2.次に、この例では flower_embed.jpgである出力画像ファイルをロードします。 。
2.ファイルのパスワードを入力し、[抽出]をクリックします 画像内に隠されている元のファイルを抽出します。
これで、元のファイルが抽出されます。
削除/アンインストール
場合によっては、システムからステガノグラフィユーティリティを削除する必要があります。 apt を使用すると、簡単にこれを行うことができます 削除 コマンドの後にユーティリティ名が続きます。たとえば、Steghideユーティリティを削除するには、コマンドは次のようになります。
$ sudo apt remove steghide
この投稿では、コマンドラインとグラフィカルな方法の両方を含む4つの異なる方法で画像内のファイルを非表示にする方法について説明しました。すべての方法は使いやすく、特別な専門知識は必要ありません。詳細については、 man と入力して、これらのユーティリティのマニュアルページにアクセスしてください。 その後にユーティリティ名が続きます。