■ブロードキャストアドレスとは
ブロードキャスト(放送)とは1つのネットワーク内に属する全てのノード(端末)を対象にして、データを送り出すことで、そのブロードキャストのために特殊に割り当てられているアドレスのことをブロードキャストアドレスと言います。通常、ブロードキャストアドレスは取得したアドレスブロックの最後のIPアドレスを表し、例えば「218.154.54.150~218.154.54.157」の8個のIPアドレスを取得した場合は一番最後の「218.154.54.157」がブロードキャストアドレスとして割り当てられることになります。それとは逆に、取得したネットワークアドレスの最初のアドレスのことを「
ネットワークアドレス」と言い、ここでは「218.154.54.150」のIPアドレスに相当します。つまり、ネットワークアドレスが、ネットワーク全体の表札的な役割を担っているのに対し、ブロードキャストアドレスは組織内で
同報通信(組織内に接続された全てのコンピュータに対して一斉にデータを送信)する際に用いられる専用アドレスとして割り振られています。
これらのネットワークアドレスとブロードキャストアドレスは組織内の各コンピュータに対して割り当てることが禁止されているため、仮に8個分のIPアドレスを取得したとしても実際に利用できるIPアドレスの数は6個となります(実際にはNAT/IPマスカレードを利用したアドレス変換機能を利用することによって1つのグローバルIPアドレスでも複数のコンピュータをインターネットに接続させることができます)。なお、ブロードキャストアドレスとネットワークアドレスには以下のような定義がなされています。
■ブロードキャストアドレスの一般的な定義
|
IPアドレスを2進数表記にしたときにホスト部のビット部分が全て「1」になるアドレス |
|
■ネットワークアドレスの一般的な定義
|
IPアドレスを2進数表記にしたときにホスト部のビット部分が全て「0」になるアドレス |
|
仮にある企業が「216.154.54.0/24」のネットワーク構成であった場合、ネットワークアドレスの定義はIPアドレスを2進数表記にしたときにホスト部のビット部分が全て「0」になるアドレスなので、2進表記で「11011000.10011010.11011000.
00000000」、10表記で「216.154.54.0」になりつまり取得したアドレスブロックの最初のアドレスということになります。次に、ブロードキャストアドレスの定義は、IPアドレスを2進数表記にしたときにホスト部のビット部分が全て「1」になるアドレスは、2進表記で「11011000.10011010.11011000.
11111111」、10進表記で「216.154.54.255」になりつまり取得したアドレスブロックの最後のアドレスであるということができます。参考:「
ブロードキャストアドレスが悪用される場合」
◎ブロードキャストの概念
■マルチキャストアドレスとは
ブロードキャストアドレスが組織内の全ノード(端末)に対して同報通信を行ったのに対し、マルチキャストアドレスは特定のグループに対してのみ、データを転送する専用のアドレスのことを指します(下図参照)。
◎マルチキャストの概念
マルチキャスト通信は、オーディオやビデオなどの配信を行うストリーミング系のマルチメディアアプリケーションやNTP、ルーティング・プロトコルなどで利用されており、通常はクラスDとして確保されている「224.0.0.0~239.255.255.255」までの範囲が使われています。このうち「224」から始まるアドレスは既に特定のグループのために予約されたアドレスとなっています(下表参照)。また、ブロードキャストアドレスやマルチキャストに対し、1対1での通信を行う場合は「
ユニキャスト」と呼ばれています。
アドレス |
内容 |
224.0.0.0 |
予約 |
|
224.0.0.1 |
そのネットワーク内の全てのノード |
|
224.0.0.2 |
そのネットワーク内の全てのルータ |
|
224.0.0.5 |
OSPF対応ルータ |
|
224.0.0.9 |
RIP2対応ルータ |
|
224.0.0.10 |
IGRP対応ルータ |
|
224.0.1.1 |
NTPプロトコル |
|
■ブロードキャストアドレスが悪用される場合
ブロードキャストアドレスとして割り当てられたコンピュータは組織内にある全てのノード(端末)に対して同報通信を行うという性質上、第三者から悪用されてしまうケースが発生します。その典型的な攻撃手法が
バッファオーバーフローと呼ばれるもので、稼動しているサーバーマシンを停止状態に追い込んだり、ターゲットマシンへの踏み台として利用されてしまうことがあります。このような攻撃はDoS攻撃と呼ばれており、場合によってはたったひとつのpingコマンドをブロードキャストアドレスに送り込むだけで、ターゲットマシンを停止状態へ追い込むことさえ可能になるのです。仮に組織内にコンピュータが200台あったと想定して、その組織内にあるブロードキャストアドレス宛てにpingを送り込むと、200台のコンピュータが一斉に応答し、ICMP
Echo Requestを返すために送信元IPアドレスへと200個のパケットがネットワーク上を流れることになります。この時、ルーティングテーブルが書き換えられて異なったホストへ返信するように仕込まれていたり、もしくはそのパケットに最終の攻撃対象となる送信元IPアドレスが含まれていた場合、その200個のパケットは異なるホストへ向けて発射されることになります。つまり、踏み台として利用されてしまうわけです。このような攻撃のことを
smurf攻撃と呼んでいます(以下図参照)。参考:「
ICMPとは?」「
攻撃のパターン」
◎ブロードキャストアドレスの悪用概念図
※正確にはちゃんとLANケーブル上を通って目的のホストへいきます(笑)
このように自分が加害者となってしまうと、当然、攻撃された側からすればセキュリティの甘さから恨まれることになります。「僕たちも君たちと同じく被害者なんだよ」と弁解して済まされる問題じゃありません。特に企業であれば、信用問題にすら関わってきます。セキュリティもしっかりできていないくらいだから、取引はしない方が良いくらいに思われても致し方のないことです。
CodRedはこのようにセキュリティの甘いサーバーを容赦なく踏み台に使い、感染・増殖していく太刀の悪いワーム型ウィルスです。そして、感染した複数のサーバーが特定のホストを一斉に攻撃する
DDoS(Distributed
Denial of Service)[分散型サービス停止攻撃]にも発展していきます。このような攻撃の対象から逃れるためにも外部からのpingをルータやファイアーウォールで遮断しておくのは最低限の対策であると言えます。しかしながら、CoderedのようなHTTP経由で攻撃するものについてはパケットを通過せざるを得ないため、該当するソフトウェアに常に最新のパッチをあてておく必要があります。