
memcached サーバーとは何ですか? また、なぜ記録的な DDoS 攻撃を開始するために使用されているのですか?
トム・クレイジット著

過去7日間で、インターネット史上最大規模の分散型サービス拒否攻撃が2件発生しました。これらの攻撃は、ずさんな設定を悪用し、大手ウェブサイトとその保護サービスに大量の悪意あるトラフィックへの対策を強いるものでした。そして、これはほんの始まりに過ぎないかもしれません。
先週のGitHub攻撃と、月曜日にArbor Networksが特定・阻止した、類似するが規模が大きい非公開企業への攻撃は、どちらもパブリックインターネット上に公開されているmemcachedサーバーを悪用していました。Arbor Networksが検知した攻撃は、ピーク時のトラフィック負荷が1.7テラビット/秒に達し、同社は月曜日のブログ投稿で「テラビット攻撃の時代」の到来を告げました。

「インターネットコミュニティは、公開されている多くのmemcachedサーバーへのアクセスを遮断するために団結しているが、memcachedをオープンに実行しているサーバーの数が膨大であるため、これは攻撃者に悪用される永続的な脆弱性となるだろう」とアーバーのカルロス・モラレス氏はブログ投稿に記している。
Memcachedサーバーは、外部データベースから大量のデータにアクセスする必要があるアプリケーションがデータの一部をメモリにキャッシュすることを可能にします。これにより、アプリケーションは重要なデータを取得するためにデータベースにアクセスする必要がなくなり、はるかに高速にデータにアクセスできます。企業はこれらのサーバーを使用してページの読み込み時間を短縮し、需要の急増に対応しており、ここ10年ほどでインターネット全体で広く利用されています。
通常、この種のサーバーは社内で使用され、パブリックインターネットからは切断されていますが、信頼できるネットワーク内からアクセスすることで、社内アプリケーションのパフォーマンスを向上させます。しかし、多くの人がmemcachecdサーバーをインターネットに公開したままにしているようです。そのため、誰でも発見して悪用できる状態になっています。
CloudflareのMarek Majkowski氏によると、問題の大きな部分はごく最近までmemcachedサーバーのUDPポートがデフォルトで開いていたことにあるとのことです。同氏は先週のブログ記事でこの攻撃構造の基本を概説しました。UDP(ユーザーデータグラムプロトコル)は、より有名なTCP(転送制御プロトコル)と同様に、インターネット構造の基本的な要素であり、TCPよりもシンプルで高速だったため、かつてはmemcachedサーバーでよく使用されていました。しかし、今日では様々な理由からそうとは言えません。しかし、インターネット上には依然としてUDPを使用しているmemcachedサーバーが数多く存在しています。

シアトル在住で長年Google社員を務め、オープンソースプロジェクトのmemcachedの創設者でもあるブラッド・フィッツパトリック氏は、火曜日のメールで、memcachedのオリジナルバージョンはUDPプロトコルをサポートしていなかったと述べました。Facebookは2008年にUDPプロトコルをサポートするコードを提供しましたが、認証はサポートされていませんでした。これは、これらのサーバーが依然として信頼できるネットワーク内で稼働することを前提としていたためです。フィッツパトリック氏がプロジェクトから離脱してからかなり後にリリースされたソフトウェアの後継バージョンでは、memcachedのWeb向けTCPプロトコルユーザー向けに認証サポートが追加されましたが、UDPは未対応のままでした。
それも先週までは。この新しい攻撃手法の噂が広まり始めた後、memcachedオープンソースプロジェクトの現在のリーダーたちは先週、デフォルト設定でUDPポートをロックする新しいバージョンをリリースしました。これは手動でも実行可能です。
Cloudflareによると、保護されていないUDPポートを持つmemcachedサーバーは数千台存在するとのことです。このような問題が検出され分析されると、サーバーの更新には常に時間がかかりますが、少なくとも今回のケースでは、ソフトウェア更新を簡単に受け入れることができない、大量の接続された低機能カメラで稼働するMiraiボットネットとは異なり、講じられる予防措置があります。
それでも、悪意のあるハッカーが容易に攻撃ベクトルを作れないよう、十分な数のユーザーがサーバーをアップデートするまでは、近い将来、こうした攻撃はますます増えると予想されます。Cloudflareはまた、ISPやネットワーク企業に対し、攻撃者がなりすまして攻撃を仕掛けるIPスプーフィングを検知するためのより優れたシステムの開発を強く求めています。IPスプーフィングは、攻撃者がなりすましで攻撃を仕掛ける手段です。