「DNSアンプ攻撃」とは何か ~DNSサーバにも触れながら~

スタッフブログ

皆さんどうも、国家試験が約一週間後に迫っていて色々せわしない谷口です。といってもこのブログが投稿される頃には終わっていますが、まあそこは気にせず。

最近、国家試験の勉強とゲームのイベントの両立を頑張っていましたが、基本国家試験優先のためイベントが走り切れる気がせず大変です。そのうえ自転車のタイヤがパンクして、色々慣れない手続きやらなんやらをやったおかげで頭はもう大分やられています。ちょっとゆっくりした時間が欲しいくらいです。

さて、今回は「DNSアンプ攻撃」についての記事です。
一応前回の「DDoS攻撃」の続きの記事になるので、そちらから読んで頂いたほうが読みやすいかもしれません。リンクはとりあえず下に貼っておきます。
前回の記事:「DDoS攻撃」とは何か ~進化し続けるDoS攻撃~

それでは、本編突入です。

DNSサーバとは

本編突入です、といっておいてあれですが、DNSアンプ攻撃について知るためには「DNSサーバ」と呼ばれるサーバについての知識が必要です。
そこでまずはDNSサーバについて簡単に説明します。

DNS(Domain Name System)サーバは、ユーザがページにアクセスするために必要になるIPアドレスを教えてくれるサーバのことです。このIPアドレスはURLのドメイン名と紐づいており、IPアドレスを教えて貰う際にはURLのドメイン名が必要になります。

この説明だけだと分からない方が多いと思うので、まずは名称の説明をしていこうと思います。

  • URLは、インターネット上のページの場所と通信規約(通信の手順や約束事)を表している文字列のことです。必ずページ一つずつに割り振られており、よく見るものだとGoogleやYahooなどで検索したときにページの上にあるアドレスバーと呼ばれるところに表示されています。
    例:https://www.ex.com(URL)、https(通信規約)

  • URLのドメイン名は、インターネット上にあるスマホやパソコンなどのコンピュータを人間が分かるようにするために付ける名前のことです。
    例:https://www.ex.com(URL)のex.comの部分

  • IPアドレスは、インターネット上にあるコンピュータをコンピュータが識別するために割り振られている番号のことです。
    例:192.168.xxx.xxx(実際はxの部分も数字)

上記の説明を踏まえたうえで分かりやすく言い換えると、コンピュータが「このドメイン名分からないからどこにあるか教えて~」とDNSサーバに聞くと、「じゃあ分かりやすいIPアドレスで教えるね~」と探しているドメイン名と紐づいたIPアドレスを教えてくれるのがDNSサーバです。

そしてDNSサーバは「UDP(User Datagram Protocol)」と呼ばれる通信規約で通信しています。
他に「TCP(Transmission Control Protocol)」と呼ばれる通信規約もあり、送ったデータが相手に届いたか、ということをその都度確認しながら通信するプロトコルです。通信速度は遅くなりますが、信頼性は高いです。
UDPはその逆で、送ったデータが相手に届いたかを確認することなく通信するプロトコルです。TCPほどの信頼性はないですが、通信速度は速くなります。
DNSサーバはやりとりするデータが小さく、TCPを使うよりUDPを使ったほうが通信処理にかかる時間が少ない、などの利点からUDPを使っています。

因みにDNSサーバは、「増幅効果」と「反射効果」と呼ばれる性質を持っています。
増幅効果は、問い合わせたデータより応答されたデータのほうが大きくなることで、反射効果は、データの動きが反射したように見える(コンピュータ ⇄ DNSサーバ)といった意味です。
簡単な説明しかしていませんが、この性質がDNSアンプ攻撃で大切な部分になるので頭の片隅でもいいので置いておいてください。

DNSアンプ攻撃とは

DNSサーバについてざっくりと理解してもらったところで、ここからやっと本編突入です。

前回の記事にもありますが、DNSアンプ攻撃はDRDoS攻撃の一つです。

通常のDNSサーバとのやりとりなら、送信元は送信元コンピュータのIPアドレス(以下、送信元IPアドレス)、送信先はDNSサーバです。この場合は言わずもがなですが、DNSサーバに問い合わせた送信元IPアドレスにDNSサーバから返事が返ってきます。

では仮に、Aさんが送信元IPアドレスをBさんのIPアドレスに偽装して、DNSサーバに問い合わせをした場合はどうなるでしょう。
お分かりの通り、AさんがDNSサーバに問い合わせた返事はBさんのIPアドレスに届いてしまいます。

これがDNSアンプ攻撃の手法です。

そして、DNSアンプ攻撃は他にも「DNSリフレクター攻撃」や「DNSリフレクション攻撃」などとも呼ばれます。
DNSは既に説明した「DNSサーバ」のことで、アンプは「amplify」の略称で「増幅する」、リフレクターは「反射装置」、リフレクションは「反射」という意味です。これらの名称はDNSサーバのところで説明した増幅効果と反射効果からつけられた名称です。

このような攻撃は、DNSサーバの通信規約がUDPであることや、DNSサーバを介しての通信(通常の通信と変わらない)といった理由から、時間をかけず簡単に多くのデータを送れ、検出や防御、攻撃者の特定が難しくなり対策が取りにくいです。また、更にやっかいな手法もあります。

それは、踏み台にされた多くのコンピュータを使ってDNSアンプ攻撃を行うというものです。つまり協調分散型DoS攻撃とDNSアンプ攻撃の合わせ技の攻撃です。そうなると、今までのDoS攻撃やDDoS攻撃とは比べ物にならないほどのデータ量になります。この手法では、効率的に攻撃できるうえにDNSサーバの他に踏み台も介して通信しているため、攻撃者の特定が更に難しくなります。

いずれにせよ現状あまり効果的な対策はないものの、送信元IPアドレスの偽装をさせないための設定を追加したり、DNSキャッシュサーバからのアクセス制限をしたりという対策が講じられています。

終わりに

これでようやくDoS攻撃とDDoS攻撃に関する記事は終わりです。
ただでさえ日本語が下手くそなのにDoS攻撃やDDoS攻撃のような説明するのが難しいものを選んで記事にしたため頭がもうパンクしそうです。正直記事を書く際にDNSサーバについてが一番難しく、楽しかったです。今までDNSサーバを浅くしか知らなったため、そういう機能のあるサーバだったのか、と気づくいいきっかけになりました。

次の記事はまるで考えておらず正直不安ですがとりあえず今回は終わります。
次の記事は多分冬ですね。手がかじかんで打てない、とかにならないことを祈ります。
それでは今回の記事はここまでで。最後まで読んで頂きありがとうございました。