TCP ステガノグラフィー、またはインターネット上のデータ送信を隠す方法

TCP ステガノグラフィー、またはインターネット上のデータ送信を隠す方法

ポーランドの研究者は、広く使用されているトランスポート層プロトコル TCP の動作機能に基づいたネットワーク ステガノグラフィーの新しい方法を提案しました。 この作品の作者らは、例えば、インターネットの厳格な検閲を課す全体主義国家において、この計画が隠されたメッセージを送るために利用できると考えている。 イノベーションが実際には何なのか、そしてそれが実際にどれほど役立つのかを理解してみましょう。

まず最初に、ステガノグラフィーとは何かを定義する必要があります。 したがって、ステガノグラフィーは、隠されたメッセージ送信の科学です。 つまり、彼女の手法を使って、当事者は隠蔽しようとしているのです。 移転という事実そのもの。 これがこの科学と暗号学の違いです。 メッセージの内容を判読できないようにする。 注目に値するのは、暗号学者の専門コミュニティがステガノグラフィーのイデオロギーが「無名性によるセキュリティ」の原則に近いため、ステガノグラフィーを非常に軽蔑していることです(ロシア語で正しく聞こえるかはわかりませんが、「無知によるセキュリティ」のようなものです) ”)。 この原理は、たとえば Skype Inc. によって使用されています。 — 人気のあるダイヤラーのソース コードは公開されておらず、データがどのように正確に暗号化されているかは誰も知りません。 ちなみに、有名な専門家のブルース・シュナイアー氏が指摘したように、最近、NSAはこれについて苦情を申し立てた。 написал 私のブログで。

ステガノグラフィーに戻って、暗号化があるのになぜそれが必要なのかという質問に答えます。 実際、最新のアルゴリズムを使用してメッセージを暗号化することができ、十分に長いキーを使用すれば、望まない限り誰もこのメッセージを読むことができなくなります。 それにもかかわらず、場合によっては、秘密の転送の事実そのものを隠す方が有益な場合があります。 たとえば、関連当局が暗号化されたメッセージを傍受し、解読できないが、どうしても解読したい場合は、結局のところ、情報に影響を与え、情報を取得するためのコンピューター以外の方法が存在します。 ディストピアのように聞こえますが、ご存知のとおり、これは原理的には可能です。 したがって、転送が行われたことをまったく知らないはずの人にも確認したほうがよいでしょう。 ポーランドの研究者がまさにそのような方法を提案しました。 さらに、彼らは、すべてのインターネット ユーザーが XNUMX 日に XNUMX 回使用するプロトコルを使用してこれを行うことを提案しています。

ここでは、伝送制御プロトコル (TCP) について説明します。 もちろん、詳細をすべて説明するのは意味がありません。長くて退屈ですし、必要な人はすでに知っています。 つまり、TCP はトランスポート層プロトコル (つまり、IP 上で、HTTP、FTP、SMTP などのアプリケーション層プロトコル「下」で動作します) であり、送信者から送信者へのデータの信頼性の高い配信を保証すると言えます。受信者。 信頼性の高い配信とは、パケットが失われたり変更されて到着した場合に、TCP がそのパケットの転送を処理することを意味します。 ここでのパケットの変化は、データの意図的な歪みを意味するのではなく、物理レベルで発生する伝送エラーを意味することに注意してください。 たとえば、パケットが銅線に沿って伝送されている間に、いくつかのビットの値が反対に変化するか、ノイズの中に完全に失われてしまいます (ちなみに、イーサネットの場合、ビット誤り率の値は通常約 10-8 とみなされます) )。 インターネットでは、転送中のパケット損失も比較的一般的に発生します。 これは、たとえばルーターの負荷によって発生する可能性があり、バッファ オーバーフローが発生し、その結果、新しく到着したパケットがすべて破棄されます。 通常、パケット損失の割合は約 0.1% で、値が数パーセントになると、TCP は正常に動作しなくなり、ユーザーにとってすべてが非常に遅くなります。

したがって、パケットの転送 (再送信) は TCP にとって頻繁に発生する現象であり、一般に必要であることがわかります。 上で述べたように TCP があらゆる場所で使用されていることを考えると、ステガノグラフィーのニーズに TCP を使用しないのはなぜでしょうか (さまざまな推定によると、今日、インターネット上の TCP のシェアは 80 ~ 95% に達しています)。 提案された方法の本質は、プライマリ パケットに含まれていたものではなく、隠蔽しようとしているデータを転送メッセージに送信することです。 ただし、このような置換を検出するのはそれほど簡単ではありません。 結局のところ、どこを調べればよいのかを知る必要があります。プロバイダーを通過する同時 TCP 接続の数は単純に膨大です。 ネットワーク内の再送信のおおよそのレベルがわかっている場合は、ステガノグラフィー転送メカニズムを調整して、自分の接続が他の接続と変わらないようにすることができます。

もちろん、この方法にも欠点がないわけではありません。 たとえば、実際的な観点から見ると、これを実装するのはそれほど簡単ではありません。オペレーティング システムのネットワーク スタックを変更する必要がありますが、これに関しては法外に難しいことはありません。 さらに、十分なリソースがある場合は、ネットワーク上のすべてのパケットを表示して分析することで、「秘密」パケットを検出することも可能です。 しかし、原則として、これは事実上不可能であるため、通常は何らかの形で目立つパケットと接続を探します。提案された方法はまさに接続を目立たなくするものです。 そして、万が一に備えて機密データを暗号化することを誰も止めません。 同時に、接続自体は暗号化されないままにしておくことができるため、疑惑が生じにくくなります。

作品の作者(ちなみに興味のある方は、 ここで 彼女)は、提案された方法が意図したとおりに機能することをシミュレーションレベルで示しました。 おそらく将来、誰かが自分のアイデアを実際に実装するでしょう。 そしてできれば、インターネット上での検閲がもう少し緩和されることを願っています。

出所: habr.com

コメントを追加します