1. HOME
  2. ブログ
  3. CS四方山話(第6話)サイバーセキュリティを考える上で、知っておきたいネットワークの仕組み

CS四方山話(第6話)サイバーセキュリティを考える上で、知っておきたいネットワークの仕組み

CS=サイバーセキュリティ

今回は、前回でお知せした通り、IP通信の基本的な部分に立ち戻ったお話をさせて頂きます。基本的なことから順番に体系だって説明していく形が良いのかも知れませんが、それは教科書にお任せして、知ってもらいたいことの連鎖で書いて行ければと思っています(無計画? 行き当たりばったり??という解釈も成立しますが、読者に寄り添った執筆スタイルだとご理解を頂ければ幸甚です)。

みなさんは、たとえば自分のPCのIPアドレスがどう決まっているのか、インターネットにどうやって繋がっているのか、ということを気にしていますか? もちろん、そんなことを気にしていなくても、YouTubeは観られるし、Amazonで買物もできる訳ですが、サイバーセキュリティを考える上では、身近なところからネットワークの仕組みを理解してみるというのも良いかなと思った次第です。

また、デフォルトゲートウェイやDHCPという単語も聞いたことがあるかもしれませんが、実際にどう動くのかを詳細に把握されている方は少ないこともあり、この機会に仕組みを知ってもらえればと思います。

通信データの構造と通信プロトコルについて知ろう!

まずは第3話第4話でも触れたIP通信の基本をおさらいします。
通信のデータは、下記のように階層構造を持っています(これの階層=レイヤで、L2、L3という用語にも繋がります)。

レイヤという概念は分かりづらいかも知れませんが、上記のように、下位のレイヤが上記のレイヤをデータとして持つという形です。
 
Layer-1のフレームのデータ部(ヘッダとFCSを除いた部分)が、Layer-2の情報全体になっている。Layer-2のデータ部(ヘッダを除いた部分)が、Layer-3の情報全体になっている、Layer-3のデータ部(ヘッダを除いた部分)が、Layer-4の情報になっている。そういう「入れ子構造」です。

1つのフレームは、下記のような構造になります。

「プリアンブル」というのは「ここからフレームが始まるよ」というサインで同期を取るためにも使われます。ビットで表現すると1010…の繰り返しで、最後のビットだけ「1」になっていてプリアンブルのお尻が分かるようになっています。
 
「FCS」はFrame Check Sequenceの略で、誤り検知のための「CRC」(Cyclic Redundancy Check:巡回冗長検査)の値が格納されています。CRCはデータから生成される数値で、送信側で計算して付与して、受信側で確認のために使います。計算値が合わない場合は、データがどこか破損しているので、そのフレームは破棄されます。
 
ちなみに、フレームの形態は、Ethernet ⅡとIEEE802.3の2種類があります。IEEEで規格化されたIEEE802.3ですが、IPプロトコルが普及した結果、先行していたEthernet Ⅱが主流となり、IEEE802.3は使われなくなりました。規格よりも実用が勝つというデファクトスタンダード(de facto standard)のパターンですね(ちなみに、de factoはラテン語です)。工業の分野では あるある で、流行ったモノ勝ちということです。弊社SYNCHROの次世代IPカメラシステム「KATABAMI」(https://www.access.udc-synchro.co.jp/katabami/)もそうならないかなぁ……。

フレームヘッダで押さえておくべきMACアドレス

フレームヘッダの中で重要な情報はMACアドレスです(他には大した情報はありません)。
フレームを送り出した装置のID(送信元 MACアドレス)と、受け取って欲しい装置の ID (送信先MACアドレス)が記述されます。

MACアドレスは、6バイトのデータで、前半3バイトは「OUI」(Organizationally Unique Identifier)と呼ばれる「装置のメーカーを表すID」ということになります。このOUIはIEEEが管理しており、IEEEに申請して取得することになります。

OUIはIPv4アドレスのように枯渇しないのだろうか? という疑問も湧くと思いますが、4バイトしかないIPv4アドレスよりも数は多いですし、装置の寿命もあるので、複数のOUIを使っているメーカーに大昔(たとえば30年前)に発行したOUIがアサインされた装置はお役御免になっていると考えて再利用すれば良いという発想もできそうです。また、仮想マシンも多くなったことや、MACアドレスに依存しない(リモートIDごとにIPアドレスを固定で割り振る)ネットワーク構成も可能ということもあり、枯渇問題はあまり取り沙汰されることはありません。
 
MACアドレスにも、グローバル/ローカル、ユニキャスト/マルチキャストの区分があります(これは、把握している人は少ないと思いますので、知っていると威張れるかも知れません)。

後半3バイトは、そのOUIを保有しているメーカーで勝手に振って良いことになっています。後半3バイトを使い切った場合は、追加でOUIを申請、取得すればOKです。
OUIがあることで、通信している相手のメーカーを把握することが可能です(以降の話にも関わりますが、直接通信している相手に関しては、という限定付きですが)。
 
メーカーが分かるということは、たとえば通信相手のOUIから、それがIPカメラメーカーであると分かった場合は、そのメーカーのIPカメラが接続されていると判断することもできます。そうすると、そのメーカーのIPカメラの工場出荷時のID/パスワードでアクセスしてみたり、そのIPカメラの既知の脆弱性を突くという攻撃が可能となり、サイバー攻撃を行うため情報としても利用できるということになります。
 
また、MACアドレスは装置固有のIDということで、何らかの通信で装置のMACアドレスとその装置の持ち主を紐付けできたとすれば、MACアドレスによって「Aさんのスマホ」であるという特定も可能となります。それを嫌って、最近のスマートフォン(Android 10以降、iOS 14以降)ではMACアドレスを装置固有のものではなく、ランダムで振り当てる機能を持っています。
 
公開ネットワーク上で持ち主を特定されないという面ではセキュリティ上のメリットがありますが、逆に企業などのネットワークでは装置を特定できなくなるというデメリットも生じます。Wi-Fiの基地局には、SSIDの秘匿以外にも、MACアドレスフィルタリングという機能があり、登録されたMACアドレスを持つ相手以外との通信を遮断することが可能です。MACアドレスをランダム化する運用を採った場合は、この機能は使えないことになります。

MACアドレスは絶対ではなく、何でも偽装できる

MACアドレスのランダム化という方法論でも分かるように、MACアドレスは「絶対」ではありません。フレームのヘッダ情報という通信上のデータに過ぎない以上、送り出すフレームのデータを操作すれば容易に偽装することが可能ということです。たとえば、Wi-FiのセキュリティをSSID秘匿とMACアドレスフィルタリングで万全だと思うのは危険です。
 
Layer-1という最もハードウェアに近い階層の情報ですらこのような状況ですから、Layer-2の送信元IPアドレス、Layer-3の送信元ポート番号は、より容易に偽装できるということになります。
 
従って、MACアドレスフィルタリングや、IPアドレスやポート番号によるフィルタリング(iptablesなどファイアーウォールの処理)は(もちろんハードルを増やすという点で無駄ではありませんが)完全なものではないということを知っておいて頂ければ幸いです。

思い描いているイメージと現実とが一致しないことは良くあります。
私が最近、自分の既成概念に誤りがあると教えられたのは「九州といえばラーメン」は間違いで、九州(特に、北九州?)の多くの皆さんがこよなく愛しているのは「うどん」だということです(※1)。
 
セキュリティも「思い込みが穴になる」ことが往々にしてあります。私も既成概念に縛られない発想でCSに取り組まねばと、改めて思った次第です。

例によって、本文が3,000文字まで来ていますので、今回はここまでにします。相変わらず予定した内容がこぼれています(無計画..?!)。Layer-2以上のお話、デフォルトゲートウェイ、DHCPに関しては、第7話に譲りたいと思います。

(※1)
 7月前半の出張の際、福岡県の小倉で「資さんうどん」を頂きました(”資さん”は知らないと読めないですね。”すけさん”と読みます)。
 麺は長方形断面で少し平べったいという感じです。讃岐うどん、稲庭うどんとは対照的に、コシは弱めです。出汁は、透明で、魚と昆布と椎茸でうま味が強い印象です(関西人の私にはしっくり来る出汁です)。こぼ天(≠ごぼう天ですが、ゴボウの天ぷら)が基本とのことで、こぼてん+かしわ(鶏肉を甘辛く煮たもの)の載せて頂きました。
 独特なのは、おでんとぼた餅(かなり大きい)がサイドメニューとしてあることで、新参者としては、どちらも「何故、この取り合わせ?」という印象です。とろろ昆布は無料でかけ放題というのも嬉しいとデフォルトゲートウェイで、「かしわごぼ天」で660円でコスト以上の満足感があります。

 「資さんうどん」以外にも「牧のうどん」「ウエスト」とチェーンもあります。
 さらに驚きなのが、「うどんMAP」「うどんMAPサタデー」という「うどん専門番組」が週2で放送されています。そのペースで放送してもお店のネタが尽きないということ?! そのキャスターの岡澤アキラさんは北九州では「知らない人は居ない」というキャラクタだそうです。
 この「うどんMAP」、なんと TVer(https://tver.jp/)で観ることができることも知りました。毎週観なければ!でも、食べに行くのは容易ではない…
 どんなにアンテナを張っても、知らないことはまだまだ沢山ありますね。

株式会社シンクロ 中村健


CS四方山話の過去の記事はこちら(合わせてお読みください)
第1話 セキュリティ対策事始め
第2話 実際にサイバー攻撃を観測してみると……
第3話 サイバー攻撃をどうやって防ぐのか?
第4話 多段防壁とパケットフィルタリングの仕組みをヒモ解く
第5話 WAF、IPS/IDS、UTMの違いを理解しよう

サイバーセキュリティ四方山話は、新たな記事が公開されたらメールマガジンで案内をしております。
是非JAPANSecuritySummit Updateのメールマガジンにご登録ください。
メールマガジンの登録はこちらからお願いします。

◇◇◇◇◇◇◇◇◇◇◇◇◇ ◇◇◇ ◇◇◇ ◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇ ◇◇◇ ◇◇◇
中村 健(Ken Nakamura)
株式会社SYNCHRO 取締役 CTO
機械屋だったはずだが、いつの間にかソフト屋になっていた。以前は計測制御、知識工学が専門分野で、日本版スペースシャトルの飛行実験に関わったり、アクアラインを掘ったりしていた。
VoIPに関わったことで通信も専門分野に加わり、最近はネットワークセキュリティに注力している。
https://www.udc-synchro.co.jp/
◇◇◇◇◇◇◇◇◇◇◇◇◇ ◇◇◇ ◇◇◇ ◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇ ◇◇◇ ◇◇◇

関連記事