タールピットは、着信接続を故意に遅延させるコンピュータ システム(通常はサーバー)上のサービスです。この技術は、コンピュータ ワームに対する防御策として開発されました。その考え方は、スパムや広範囲のスキャンなどのネットワークの不正使用は時間がかかりすぎると効果が低下し、したがって魅力も低下するというものです。この概念は、動物が沼地のようにはまり込んでゆっくりと表面下に沈んでいくタール ピットに似ています。
オリジナルのタールピットのアイデア
トム・リストンはオリジナルのタールピットプログラムLaBreaを開発しました。[1] 1台のマシンでタールピットを実行することで、ネットワーク全体を保護できます。
マシンは、応答のないアドレス解決プロトコル要求 (未使用のアドレスを示す) をリッスンし、それらの要求に応答し、スキャナーの最初のSYN パケットを受信して、応答としてSYN/ACK を送信します。ソケットを開いたり、接続を準備したりすることはありません。実際、SYN/ACK を送信した後は、接続についてすべて忘れることができます。ただし、リモート サイトは ACK (無視されます) を送信し、3 ウェイ ハンドシェイクが完了したと認識します。次に、データの送信を開始しますが、宛先に届きません。しばらくすると接続はタイムアウトしますが、システムはライブ (確立された) 接続を扱っていると認識しているため、タイムアウトには慎重で、代わりに再送信、バックオフ、再送信などをかなり長い間試行します。
LaBrea の後のバージョンでは、受信データに応答する機能も追加されましたが、これも生の IP パケットを使用し、タールピット サーバーのソケットやその他のリソースは使用せず、送信サイトに「速度を落とす」ことを要求する偽のパケットを使用します。これにより、接続が確立されたままになり、スキャナーの時間をさらに浪費します。
SMTP タールピット
かつて、大量スパム対策として考えられていた方法の 1 つは、送信されたメールごとに少額の料金を課すことでした。料金が十分に低額である限り、正当な使用にはほとんど影響を及ぼさないような人為的なコストを導入することで、自動化された大量スパムはすぐに魅力のないものになります。タールピットは、同様の (ただし技術的にははるかに簡単な) アプローチと見なすことができます。このアプローチでは、スパマーのコストは、金銭ではなく時間と効率で測定されます。
認証手順では、ユーザーが無効なパスワードを入力すると応答時間が長くなります。SMTP 認証も例外ではありません。ただし、スパムが挿入されるサーバー間の SMTP 転送では、認証は必要ありません。SMTP ターピット、つまりメール転送エージェント(MTA、つまりメール サーバー ソフトウェア) にプラグインするか、プロキシとしてその前に配置されるシステムについては、さまざまな方法が議論され、実装されてきました。
1 つの方法は、最初の挨拶メッセージを遅らせることによって (「挨拶遅延」)、すべてのメールの転送時間を数秒長くすることです。この考え方は、正当なメールの配信に多少時間がかかっても問題にはならないが、メールの量が多いため、スパマーにとっては問題になるというものです。この方法の欠点は、メーリング リストやその他の正当な大量メールを明示的にホワイトリストに登録しないと、それらも影響を受けることです。
sendmail 8.13+などの一部の電子メール システムでは、より強力な形式の挨拶遅延を実装しています。この形式は、接続が最初に確立されたときに一時停止し、トラフィックをリッスンします。独自の挨拶の前にトラフィックが検出されると (RFC 2821 に違反)、接続が閉じられます。多くのスパマーは SMTP 実装を仕様に従って記述していないため、これにより受信するスパム メッセージの数を減らすことができます。
別の方法としては、ブラックリスト(スパミング、DNSBLを参照)などを使用して、既知のスパマーのみを遅らせる方法があります。OpenBSDは、OpenBSD 3.3以降、 [2]からこの方法をコアシステムに統合し、専用のデーモン(spamd)とファイアウォールの機能(pf)を使用して、既知のスパマーをこのタールピットにリダイレクトしています。
MS Exchange は、無効なアドレスに送信する送信者をターピットすることができます。Exchange は、SMTP コネクタが認証システムに接続されているため、これを実行できます。
より巧妙なアイデアはグレーリストです。これは簡単に言えば、以前に見たことのない IP アドレスからの最初の接続試行を拒否します。ほとんどのスパマーは各メッセージを送信するために 1 回の接続試行 (または短時間に数回の試行) のみを行うのに対し、正当なメール配信システムは長期間にわたって再試行を続けるという前提に基づいています。再試行した後、最終的にはそれ以上の妨害を受けることなく接続が許可されます。
最後に、より複雑な方法では、電子メールの送信中にリアルタイムでフィルタリングし、フィルタの「スパム可能性」インジケータに応じて通信に遅延を追加することで、タールピットとフィルタリング ソフトウェアを結び付けようとします。たとえば、スパム フィルタは、各行の後、または x バイトを受信するごとに、このメッセージがスパムである可能性を「推測」します。この可能性が高くなるほど、MTA は送信を遅らせます。
背景
SMTP は、MAIL などの 4 文字の単語がほとんどであるリクエストと、(少なくとも) 3 桁の数字である応答で構成されます。応答の最後の行では、数字の後にスペースが続き、その前の行ではハイフンが続きます。したがって、送信しようとしているメッセージがスパムであると判断すると、メール サーバーは次のように応答できます。
451-Ophiomyia primaはハモグリバエ科のハエである 451-Ophiomyia secundaはハモグリバエ科のハエである 451-Ophiomyia tertiaはハモグリバエ科のハエである 451-Ophiomyia quartaはハモグリバエ科のハエである 451-Ophiomyia quintaはハモグリバエ科のハエである 451-Ophiomyia sextaはハエ科のハエである 451-Ophiomyia septimaはハエ科のハエである 451 あなたの IP アドレスはDNSBLに登録されています。しばらくしてからもう一度お試しください。
タールピットは行間で 15 秒以上待機します (SMTP では長い遅延が許容されます。これは、人間が手動でメールを送信してメール サーバーをテストする場合があるためです)。これにより、スパマーのコンピューター上の SMTP 送信プロセスが拘束され、送信できるスパムの量が制限されます。
IP レベルのターピット
Linuxカーネルにパッチを適用することで、通常のパケットドロップの代わりに着信接続のタールピットを許可できるようになりました。これは、TARPITターゲットを追加することでiptablesに実装されています。 [3]他のターゲットに適用されているものと同じパケット検査とマッチング機能をタールピットターゲットに適用できます。
混合 SMTP-IP レベル ターピット
サーバーは、たとえばスパムトラップ宛てであったり、信頼できるユーザーからの報告があったりするなどの理由で、特定のメールメッセージがスパムであると判断できます。サーバーは、メッセージを送信した IP アドレスがターピットに値すると判断する場合があります。利用可能なDNSBLとのクロスチェックは、無実のフォワーダーがターピットデータベースに含まれるのを防ぐのに役立ちます。Linux libipq を利用するデーモンは、そのデータベースに対して着信 SMTP 接続のリモートアドレスをチェックできます。SpamCannibal はこのアイデアに基づいて設計された GPL ソフトウェアです。[4] Stockade はFreeBSD ipfirewallを使用して実装された同様のプロジェクトです。
IP レベルでのターピットの利点の 1 つは、MTA によって処理される通常の TCP 接続がステートフルであることです。つまり、MTA はスリープ中に CPU をあまり使用しませんが、各接続の状態を保持するために必要な量のメモリを使用します。一方、LaBrea スタイルのターピットはステートレスであるため、スパマーのボックスに対するコストが削減されるという利点があります。ただし、ボットネットを利用することで、スパマーはコンピュータ リソース コストのほとんどを外部化できること に注意する必要があります。
批判
タールピット接続は、送信者が接続が確立されているとみなし、実際のデータを送信(および再送信)しようとするため、受信者に向けて大量のトラフィックを生成する可能性があることが知られています。実際には、現在の平均的なコンピュータボットネットのサイズを考えると、タールピットを使用せずに疑わしいトラフィックを完全にドロップすることがより合理的な解決策です。この方法では、TCP SYNセグメントのみが再送信され、HTTPまたはHTTPSリクエスト全体が再送信されることはありません。[5]
タールピットの商業的実施
MS Exchange の他に、タールピットのアイデアは商業的にも 2 つの実装に成功しています。1 つ目は、フィラデルフィアを拠点とする新興企業TurnTideによって開発され、2004 年にSymantecによって2,800 万ドルの現金で買収されました。[6] TurnTide Anti Spam Router には、 TCPウィンドウ サイズの変更など、TCPトラフィックでさまざまなトリックを実行できる修正されたLinuxカーネルが含まれています。さまざまな電子メール送信者を異なるトラフィック クラスにグループ化し、各クラスの帯域幅を制限することで、不正なトラフィックの量を削減します。特に、不正なトラフィックが、トラフィック量が多いことで簡単に識別できる単一のソースから来ている場合は、その効果が顕著です。
Symantec の買収後、MailChannelsというカナダの新興企業が「Traffic Control」ソフトウェアをリリースしました。このソフトウェアは、わずかに異なるアプローチを使用して同様の結果を達成しています。Traffic Control は、セミリアルタイムSMTP プロキシです。ネットワーク層でトラフィック シェーピングを適用する TurnTide アプライアンスとは異なり、Traffic Control はアプリケーション層で個々の送信者にトラフィック シェーピングを適用します。このアプローチにより、ゾンビ トラフィックをクラスに集約する必要はなく、ソフトウェアが個々のスパム ゾンビからのトラフィックを遅くできるため、ボットネットから発生するスパム トラフィックの処理がいくらか効率化されます。
参照
参考文献
- ^ トム・リストンがラブレアについて語る
- ^ Spamd のマニュアルページ
- ^ http://xtables-addons.sf.net/ [リンク切れ ]
- ^ http://www.spamcannibal.org/ [リンク切れ ]
- ^ Sebastian, Walla (2019). 「MALPITY: マルウェアの Tarpit 脆弱性の自動識別と悪用」. IEEE 欧州セキュリティおよびプライバシーシンポジウム (EuroS&P) セキュリティとプライバシー (EuroS&P) : 590–605.
- ^ 「Symantecがスパム対策会社を買収 - CNET News」。2012年7月16日時点のオリジナルよりアーカイブ。
