NTPリフレクション攻撃とは何なのか

サーバー

最近、NTPリフレクション攻撃というのが流行っています。

特に海外で大盛況。国内でも猛威を振るっています。

このNTPリフレクション攻撃というものはどういったものなのか。

サーバー間の通信を利用し、大量のデータやり取りさせて
そのサーバーへの回線を圧迫してしまうという攻撃です。

しかも、サーバーに大量の処理をさせて制止させる
といった形式の攻撃ではないので、サーバーは生きているのに
何かよくわからないが遅いという状態になります。

この攻撃が先週あたりから顕著になってきて、
日本ではインターリンクというプロバイダがやられました。
17日~20日までの3日ほど海外へアクセスしたときなど、
回線が遅いという状態になっていました。
現在も完全復活とは言えない状態ですが、少しはまともになった様な感じです。

ではなぜ回線が圧迫されるのか。

まず、サーバーにはNTPという時刻合わせに使っているプログラムがあります。
その手続き内に「monlist」という機能があり、これを悪用して回線を圧迫しています。

monlistは、サーバーにリクエストを投げると、
受け取ったサーバーは受け取ったデータより多くのデータを返すような仕組みとなっています。
1つのデータが200倍にまで増えたというケースも報告されています。

これはNTPで何か問題があった場合は確認のツールとして用意しているので、
動作としてはそれほど問題があるものでは無かったのですが、
そこを点かれて、攻撃の起点となってしまいました。

攻撃者からしたら少しのデータで、それが何倍にもなって帰ってくるのは都合の良い機能ですね。

でも、戻ってくるのはリクエストを投げたサーバーに戻ります。
この場合攻撃者に戻るのですが、このNTPは「UDP」という
一方的に結果を返すという手続きで動いています。

WEBサーバーなどは、TCPという、相手とのやり取りを行ないながら
データを送信しますが、UDPは要求が来たから、相手との確認を行わず
データ投げるように簡素化しています。

その為、リクエストを投げる側のIPアドレスを偽装してやると、
攻撃者にはデータは戻らず偽装先に全て流れるという仕組みです。
例えると、出前を他人の家に注文するようなものですね。

セキュリティー的には、サーバー内に侵入されたり
データが盗まれたりしているわけではないのですが、
IPを偽装されてリクエストに律儀に返信していると
プロバイダから回線を止められかねない状態になってしまいます。

NTPリフレクション攻撃への対策
では、実際にNTPリフレクション攻撃の片棒を担がないようにするには
どうすればいいのか、対策をまとめてみました。

1.ntpdのバージョンをアップする
2.monlistを無効にする

1はntpd 4.2.7p26(開発版)というバージョンにアップするればOKです。
これは開発版のため、動作に不安があったりして導入を見送る方もいるでしょう

その様な場合は 2 の対策を行ないます。

ntp.conf(デフォルトでは/etc/ntp.conf)に以下の1行を追加してください。

disable monitor

これを記述後、ntpd の再起動をして下さい。

今回のNTPリフレクション攻撃は他人事としてではなく、
自分のサーバーが攻撃者の片棒を担ぎかねないので
早急な対策を行なった方がいいですね。

画像:Colocation / Atomic Taco

コメント

タイトルとURLをコピーしました