「DoS攻撃」とは何か ~その種類や対策、流れについて~

スタッフブログ

皆さん、今日も元気にしていますでしょうか。私はまだ不安定な状態が続いていますが、ゲームや友人のおかげでそれなりに元気にやっています。
どうも、ソフトウェアエンジニアとは名ばかりで、今は知識を頭に注入することに精一杯の谷口です。

太陽の照り返す夏になったかと思いきや、ジメジメする梅雨に突入したので、暑がりな私にとっては暑いしベタベタするしでとても地獄です。雪が降るか降らないかくらいの綺麗な曇り空で、少し寒いくらいの気温を感じれる冬が待ち遠しいです。

さて今回の記事は、サイバー攻撃の一つでもある「DoS攻撃」についてです。私は最近、昔から気になっていたけど浅くしか手を出してこなかったサイバー攻撃について勉強し始めました。そのため今回は、勉強していたサイバー攻撃の中で一番興味を持った「DoS攻撃」について、なるべく分かりやすくなるように自分の言葉でまとめながら、記事にしました。

拙い文章になるとは思いますが、それでもよろしければどうぞ。

ひとまずサイバー攻撃とは(知っている方は読み飛ばし可)

知らない方のためにひとまず「サイバー攻撃」について軽く触れておきます。

「サイバー攻撃」とは、コンピュータやネットワークに不正侵入してデータを抜き取る行為や、サーバやパソコンなどのコンピュータシステムを破壊・改ざんするクラッキングと呼ばれる行為全般のことです。

誰もが見たことありそうなサイバー攻撃でいうと、有名企業を偽ってメールを送り付け、メール記載のURLにアクセスさせ、ログイン情報やカード情報などの個人情報を盗む、「フィッシング」というものがあります。

このフィッシングは実際に見たことがある方も多いでしょうし、比較的分かりやすいサイバー攻撃だと思います。ですがサイバー攻撃の中には、フィッシングのように個人を狙ったものではなく、政府や企業のような組織を狙った攻撃もあり、その攻撃方法は複雑で専門知識がないと分からないような理解しにくいものもあります。その一つが「DoS攻撃」です。

DoS攻撃について

コンピュータが普及していなかった頃は存在しなかったサイバー攻撃も、コンピュータの普及につれ、徐々に増加していきました。そしてもちろん、それらに対するセキュリティ対策も多く講じられてきました。
しかし、セキュリティ対策が進歩すればサイバー攻撃も共に進歩していくため、サイバー攻撃の手口は徐々に巧妙なものになっていきました。

インターネットの初めの頃は、インターネットを支えるために不可欠なサーバや回線等が貧弱だったため、そこを突くようなサイバー攻撃が生まれました。それが「DoS攻撃(Denial of Sercive attack)」です。

DoS攻撃は訳すと「サービス妨害攻撃」となり、その名の通りサービスを妨害すること、大雑把にいえばほとんどが嫌がらせ目的の攻撃です。
一台のコンピュータから攻撃対象のコンピュータへ、様々な方法で攻撃してシステムダウンやサイトの応答停止などの障害を引き起こし、そのサービスを妨害します。

そして単純な嫌がらせではなく、経済的ダメージを負わせる目的で行うDoS攻撃のことを特に「EDoS攻撃(Economic(経済的) DoS attack)」といいます。
例えば使っているサーバが従量課金制(使った分だけ支払うこと)の場合、DoS攻撃を受けると、サーバに掛かった負荷に応じて課金しなくてはならないので、高額な課金が発生するということです。
昔は存在しなかったこの攻撃も、従量課金制のサーバが登場するなどの時代の変化によって、目的が増え、新たな攻撃として生まれました。

このように時代の流れによる目的や攻撃手法の変化によって、様々なDoS攻撃が生まれました。
ここからは「攻撃の目的」ではなく、「攻撃の手法」での分類を紹介します。

脆弱性型

これは主にネットワークやシステムの脆弱性を利用した攻撃方法です。脆弱性とは、OSやソフトウェア等でプログラムの不具合や設計上のミスが原因で発生したセキュリティ上の欠陥のことです。この欠陥を残しておくと、サイバー攻撃を受けやすくなってしまいます。

攻撃者はシステムの脆弱性や不備を見つけ、その部分に無限ループになる処理を実行させるプログラムを埋め込んだり、システムが許容できるサイズを超えたデータを送り付けるなどして、システムをダウンさせたりします。
しかも場合によっては、たった一つのデータ、又は一つのパケット(一つのデータを更に細かく小さなブロックに分割したデータの塊のこと)だけでサーバやシステムが止まることもあります。

今でもこの攻撃方法は厄介ですが、コンピュータがあまり進歩していない頃にこのような脆弱性や不備を突く攻撃があるとすると、セキュリティ対策も取りづらいので更に厄介です。

現在ではOSを最新版にすると脆弱性はなくなるため、それが一番の対策になりますが、プログラムの脆弱性については開発者が修正しなければなりません。
少し手間はかかりますが、これらの対策で脆弱性型のDoS攻撃は防げます。

Flood型

「インターネットの初めの頃は、インターネットを支えるために不可欠なサーバや回線等が貧弱だったため、それを突くDoS攻撃が生まれた」といった感じの説明をしました。ではその頃に、サーバが処理しきれないほどの大量のデータを送ると、どうなるでしょう。
サーバがパンクし、システムダウンやフリーズなどを起こし、最悪の場合壊れてしまう、といったことがなんとなくでも想像出来ると思います。これがFlood(洪水)型のDoS攻撃です。

今のFlood型のDoS攻撃は普通の通信と見分けがつかないので、Web上に公開されている全てのものに対して行うことが出来ます。しかも攻撃対象となるサイトなどのサービスごとに、様々な攻撃手法が存在しています。

しかしこのFlood型のDoS攻撃も、サーバの増強や回線を太くする、特定のIPアドレスをブロックするなどの方法で対策がとれます。IPアドレスとは、ネットワーク上でコンピュータを識別するためのものなので、これをブロックされるとブロックされたコンピュータはアクセス出来なくなってしまいます。
他にもDoS攻撃を検知してブロックしたり、DoS攻撃などで高負荷になった時だけ処理を簡略化するなどの、上記の対策に比べて、効率的で費用のかからないような対策もとられました。

そしてこれらの対策が講じられたことにより、DoS攻撃の効果は薄くなりはじめました。
そのためこのFlood型のDoS攻撃を継ぐ「DDoS攻撃」という新たなサイバー攻撃が生まれました。

ちょっと長くなりそうなので今回はここまでにしたいと思います。

終わりに

調べていくうちにDoS攻撃がどんどん枝分かれしていき、訳分からなくなりながらも、途中までですがなんとかまとめることが出来ました。時代が変化するにつれ、攻撃方法が更に悪質になるし、その対策がどんどん増えていくしで、それを追っていってみると、攻撃する側もされる側もとても大変なように感じました。
あとどうも調べてみると、私がよく使っているアプリ等でも、DDoS攻撃が行われたことがあるそうなので、結構身近にあるサイバー攻撃だったようで驚きました。

以上でこの記事は終わりです。
次回は梅雨も終わり、夏真っただ中か少し過ぎたくらいに「DDoS攻撃」について記事にします。
それでは、ここまで読んで頂きありがとうございました。