orangeitems’s diary

クラウドではたらくエンジニアの日々の感想です。

memcached悪用攻撃を無力化するキルスイッチについて理解を深める

 

f:id:orangeitems:20180310124536j:plain

memcached攻撃を無力化?

既報のとおり、memcachedを踏み台としたUDP flood攻撃はまだ継続していて、インターネット自体を危機に陥れているが、これを無力化できるのではという記事を見かけた。

japan.zdnet.com

DDoS攻撃対策を手がけるCoreo Network Securityによると、memcachedを悪用した増幅型攻撃は「実質的なキルスイッチ」によって抑制できるという。この攻撃は、最近になって急増しており、GitHubやその他のネットワークに対する攻撃では1Tbpsを超える流量のトラフィックが観測されている。

しかし記事を読んでも、具体的に誰が何をするのかが書いていない。

スポンサーリンク

 

詳報

この疑問は、原文(英語)を読むと氷解する。この業界はこういうことがよくある。Google翻訳も駆使して、すぐに原文にたどり着く癖はつけておいた方がいいと思う。

Corero says its kill switch sends a 'flush all' command to the attacking server that supresses the flood of traffic by invalidating a vulnerable memcached server's cache.

 これを翻訳すると。

Coreroが言うには、キルスイッチは「flush all」コマンドを攻撃先のサーバーへ送信すれば、脆弱なmemcachedサーバのキャッシュを無効にしてトラフィックの洪水を防げる。 

 ということになる。では、flush allとは何だろうか。

これについてのレポートが下記にある。これは日本語だ。

dev.classmethod.jp

具体的には、flush_allというコマンドのようだ。

 

考察

英語の原文に戻ってみると、興味深いことが書いてある。

GitHubの攻撃の前に、Rapid7のProject Sonarインターネットスキャナは、約140,000のオープンmemcachedデバイスを検出しました。しかし、3月1日現在では58,000に減少しています。UDPが有効になっている公開されているmemcachedサーバーも、3月1日に18,000件から3月5日に12,000件まで減少しました。

 10分の1以下になっており、さすがに多数のサーバー利用者が対策を行ったようだ。ただまだ12,000あるとも言える。かつこの数字が出てくると言うことは、攻撃者がスキャンするのと同じことをセキュリティ企業も行なっているということになる。攻撃者も、セキュリティ企業も同じスキルセットであることがわかる。

これらの12,000に対して、flush_allを打ちまくる。これでmemcached攻撃が世界的に無効化できる。それはわかる。ただやっていることは攻撃者とほぼ同じでコマンドが違うだけだ。また、一度やっただけでは多分ダメ。晒されたmemcachedを本当にwebのキャッシュサーバーとして使っている場合だと、正常にキャッシュが溜まってしまう。ということはさらにflush_allを打ち込まないといけない。

セキュリティ企業からすると、多数のmemcachedからのGETレスポンス(UDPパケット)を検知したときに、その送信元に向かって、flush_allを打ちまくる。まるでサイバー戦争のような手法が効果的となる。

 

直感的にはシンプルな話だが、行われていることは全面戦争なわけで、みんなのインターネットでは知らない間に熾烈な戦いが繰り広げられているという具体的な例でした。