RSS

2018/03/01

Memcachedの脆弱性を利用した数百Gbps 規模のDDoS攻撃が発生!いよいよ大規模攻撃に構えるべき時が来た

Category:

Tag:



memcached1

 

2018年2月末、新しいタイプのDDoS 攻撃が話題になっています。

日本を含め全世界にmemcachedプログラムの脆弱性を利用した分散反射攻撃が大量発生しているためです。

 

JPCERTは緊急告知(http://www.jpcert.or.jp/at/2018/at180009.html)として各システム/ネットワーク管理者へ向けて、現在使用しているセキュリティ設定を点検・見直すことを推奨しています。

 

memcachedは分散メモリキャッシュシステムで、RAMにデータおよびオブジェクトをキャッシュしデータベースおよび APIで読み込む回数を減らすことができるソリューションです。またこれは無料のオープンソース・ソフトウェアのため、たくさんのIT企業で使用されています。

 

memcached3

 

しかし基本設定のみで使用する場合は致命的な脆弱性を持つためDDoS攻撃に悪用されがちで注意が必要です。

 

本ブログではこのmemcachedの脆弱性とその対策について解説します。

 

 

memcachedの脆弱性

 

まずmemcachedは11211/TCPおよびUDPポートを使用します。ここで問題なのは、 memcachedは基本的にTCPのみを使用するためUDPを有効にする必要がないにも関わらず、有効になっていたがために攻撃に悪用されている点です。

 

memcached側では2018年2月27日、緊急でUDPが削除された新しいバージョンをリリースしています。

参考:https://github.com/memcached/memcached/wiki/ReleaseNotes156

 

実際にCDNetworksでは次のような異常リクエストがモニタリングされました。もちろんリクエストされるIPは結果的にDDoS攻撃のターゲットとなるIPで偽造されたIPです。

 

09:53:50.073981 IP 185.148.145.63.56176 > 14.0.x.x.11211: UDP, length 65

09:53:50.077249 IP 183.90.250.80.32698 > 14.0.x.x.11211: UDP, length 65

09:53:50.078004 IP 185.148.145.63.57415 > 14.0.x.x.11211: UDP, length 65

09:53:50.081031 IP 183.90.250.80.59400 > 14.0.x.x.11211: UDP, length 65

09:53:50.084006 IP 188.165.16.244.10699 > 14.0.x.x.11211: UDP, length 65

09:53:50.086695 IP 185.148.145.63.56176 > 14.0.x.x.11211: UDP, length 65

09:53:50.088408 IP 185.148.145.63.20884 > 14.0.x.x.11211: UDP, length 65

09:53:50.091408 IP 185.148.145.63.57415 > 14.0.x.x.11211: UDP, length 65

09:53:50.094229 IP 185.148.145.63.35985 > 14.0.x.x.11211: UDP, length 65

 

memcached4

 

この際に脆弱性のあるmemcachedの場合には次のようにレスポンスします。

 

09:55:36.586962 IP 14.0.x.x.11211 > 185.148.×.×.56176: UDP, length 1400

09:55:36.586984 IP 14.0.x.x.11211 > 185.148.×.×.56176: UDP, length 1400

09:55:36.587005 IP 14.0.x.x.11211 > 185.148.×.×.56176: UDP, length 1400

09:55:36.587024 IP 14.0.x.x.11211 > 185.148.×.×.56176: UDP, length 1400

09:55:36.587044 IP 14.0.x.x.11211 > 185.148.×.×.56176: UDP, length 1400

09:55:36.587058 IP 14.0.x.x.11211 > 185.148.×.×.56176: UDP, length 1400

09:55:36.587076 IP 14.0.x.x.11211 > 185.148.×.×.56176: UDP, length 1400

09:55:36.587090 IP 14.0.x.x.11211 > 185.148.×.×.56176: UDP, length 1400

 

1つ目の問題は、65byteのリクエストに対し1400byteでレスポンスしているため1400/65=21.5 、つまり約21倍の増幅効果がある点です。

 

2つ目の問題は、shodan.ioで検索をしてみると、同様に有効な状態で使用されているmemcachedが少なくとも10万件を超えるという点です。

 

memcached5

 

参照元:https://www.shodan.io/search?query=product%3Amemcached

※会員サイトのためご覧いただくことはできません。

 

注目すべきは、米国や中国などに次いで日本が5番目にランクしていますが、これは単純計算で数百Gbpsの攻撃を起こすことができる規模ということです。事実、某有名ウェブサイトからは500Gbps規模の攻撃が発生したという報告も上がってきています。

 

 

mamcachedの推奨設定

 

そこでmemcachedを運用している管理者に向けては、次のような設定を推奨します。これは11211をlocalhost(127.0.0.1)のみでlistenする設定です。


$ memcached -d -l 127.0.0.1 -p 11211 -m 64

 

または基本パッケージのままで運用をしている場合は、次の設定ファイルにオプションを追加した後、memcachedをリロードします。


/etc/sysconfig/memcached
OPTIONS="-l 127.0.0.1"

 

その後、正常に設定が適用されているかを次のように確認できます。

 

#  netstat -lnp| grep 11211

TCP        0      0 127.0.0.1:11211             0.0.0.0:*                   LISTEN      7101/memcached

udp        0      0 127.0.0.1:11211             0.0.0.0:*                               7101/memcached

 

一般的にmemcachedは次のようにlocalhost(127.0.0.1)で動作するため、このように設定しても問題は起きないはずですが、念のためにtcpdump port 11211 -nn -i any”コマンドで確認することができます。

 

10:29:23.140707 IP 127.0.0.1.56828 > 127.0.0.1.11211: Flags [.], 
 ack 326, win 265, options [nop,nop,TS val 1875308254 ecr 1875308254], length 0
10:29:23.142230 IP 127.0.0.1.56828 > 127.0.0.1.11211: Flags [F.], 
 seq 354, ack 326, win 265, options [nop,nop,TS val 1875308255 ecr 1875308254], length 0
10:29:23.142351 IP 127.0.0.1.11211 > 127.0.0.1.56828: Flags [F.],
 seq 326, ack 355, win 265, options [nop,nop,TS val 1875308256 ecr 1875308255], length 0
10:29:23.142368 IP 127.0.0.1.56828 > 127.0.0.1.11211: Flags [.],
 ack 327, win 265, options [nop,nop,TS val 1875308256 ecr 1875308256], length 0

 

もし、やむをえず外部サーバと通信しなければならない状況なら、次のように11211/UDPはブロック設定をした上で、特定IPのみで11211/TCPを許可するiptablesの設定をお勧めしています。

 

$ iptables -A INPUT -p udp -s 0/0 –dport 11211 -j DROP

$ iptables -A INPUT -p TCP -s 10.1.2.3 –dport 11211 -j ACCEPT

$ iptables -A INPUT -p TCP -s 0/0 –dport 11211 -j DROP

 

またDDoS攻撃の被害が発生したり、何か心配ごとがある場合、上位のデータセンターやISPに協力をしてもらいinbound 11211/UDPトラフィックをブロックすることもできます。しかし、場合によってはDNS query(例:11211/UDP => 53/UDP)がブロックされる可能性もあるため、ポート番号でブロックするこの方法は、正常サービスに影響を来す可能性が否定できず多少のリスクがあります。

 

従って、お薦めしたい方法としては大規模な帯域幅でグローバル負荷分散サービスを提供しているCDNプロバイダが提供するDDoS攻撃防御サービスを利用することです。正常なトラフィックがブロックされる心配はなく、さまざまに形を変え続ける新しいタイプの攻撃に日々怯える必要もなく、全てのDDoS攻撃はCDN側で対処してくれるため、常にサービスの可用性を維持することができるためです。

 

ddsmon.netの最近の統計によると、中国や米国に次いで日本が世界で3番目に多くDDoS 攻撃のターゲットになっており、これは無視することができない事実であることを示しています。

 

memcached6

参照元 : https://ddosmon.net/insight/

 

 

結論

 

DDoS攻撃は、今すぐ発生するかもしれないし、しないかもしれません。しかし、いつ起こるかもしれない事故のために保険に加入するのと同様に、今DDoS攻撃による被害が発生していなくても、本ブログで解説した通り、常に備えておく必要があります。ターゲットになってからでは遅すぎます。

 

IT管理者は、CDNと統合されたDDoS攻撃防御サービスの導入について積極的に検討するべき時がいよいよ来ているのです。

 

セキュリティ対策をご検討の際には、是非CDNetworksへご相談ください。

 

 

 

==================================

DDoS攻撃防御対策サービス「クラウド・セキュリティ DDoS」

==================================

 

クラウド・セキュリティ DDoSは、世界中にCDNプラットフォームを展開するCDNetworksだからこそ実現できるDDoS攻撃対策です。DDoS攻撃発生の検知から、攻撃の遮断とウェブサイトの復旧、攻撃内容の分析、レポーティングまでを一気通貫で提供します。セキュリティ専門のエンジニアが24時間365日体制でお客様のウェブサービスを守ります。

>> クラウド・セキュリティ DDoS

 

CDNetworksは、サイバー攻撃の脅威に対抗するクラウド型のセキュリティ対策サービスを提供しています。DDoS攻撃防御対策、ウェブ脆弱性対策、ボット攻撃防御対策の3つの対策で、お客様のウェブサイトとウェブアプリケーションを保護し、ウェブサービスを高パフォーマンスでセキュアに保ちます。

 

その他「クラウド・セキュリティ」サービスについては、以下よりご覧いただけます。

>> クラウド・セキュリティ WAF

>> クラウド・セキュリティ・ボットマネージャ

 

 

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

 

>> お問い合わせはこちら

>> プロダクト詳細はこちら

>> 資料ダウンロードや導入事例などはこちら

 

株式会社シーディーネットワークス・ジャパン TEL:03-5909-3373(営業部)

 

PAGE TOP