ネットワークエンジニアであれば基礎知識でもあるOSI参照モデル。しかし、一般的なユーザーには馴染みがないかもしれない。この記事では、ネットワークの階層構造の理解のために押さえておきたいOSI参照モデルについて、7つの階層の概要とそれぞれのセキュリティリスク、そして講じるべき対策を解説する。
OSI参照モデルとは
OSI参照モデルとは、コンピューターが通信するために利用するネットワークの機能を7つの階層(Layer:レイヤー)に分類して、整理したモデルのことだ。OSI参照モデルでは、階層ごとに通信プロトコルが定義されている。プロトコルとは、コンピューター同士でデータをやりとりするために定められた約束事、規則のことである。具体的には、データの形式やパケットの構成、エラーが生じたときの対処方法などが取り決められている。
OSI参照モデルの「OSI」は、「Open Systems Interconnection」の頭文字をとったものである。もともとOSIは、当時乱立していた通信プロトコルの標準化を目指して、国際標準化機構(ISO)によって1977年から1984年にかけて策定が進められた。そのモデルとなったのが「OSI参照モデル」であり、1977年にISOによって策定されている。このOSI参照モデルが策定された背景には、異なるコンピューターの機種間でのデータ通信を実現するために、ネットワークの役割を明確に定義する必要性が生まれたことがある。
結果的に、このタイミングで策定されたOSI自体は、実用的な見地から1982年にアメリカ国防総省によって策定されたTCP/IPの後塵を拝すことになり、広く普及することはなかった。しかし、OSI参照モデルは、それ以降もネットワークの基礎知識として浸透し、現在に至っている。
OSI参照モデルの7つの階層
OSI参照モデルでは、ネットワークの通信機能を7の階層に分けてモデル化している。各層は「Layer」の頭文字をとって「L+数字」で表す場合もある。例えば、第3層はL3、第4層はL4となる。数字が小さいほど物理的なレイヤーに近づき、数字が大きいほどアプリケーション的なレイヤーとなる。それぞれの階層の概要は以下のとおりだ。
第7層 アプリケーション層
アプリケーション層(L7)は、ユーザーが操作するアプリケーションが提供する具体的な機能についての仕様や通信手順を定めたものである。代表的なプロトコルとしてはHTTP/HTTPSやFTP、Telnetなどがある。
第6層 プレゼンテーション層
プレゼンテーション層(L6)は、データの表現形式を定義するもので、例えば文字コードの変換などが含まれる。代表的なプロトコルとして、メールの送受信で用いられるSMTPやPOP3、IMAPなどが挙げられる。
第5層 セッション層
セッション層(L5)は、通信プログラム間の開始から終了までの一連の手順(セッション)を定義するもので、例えば接続が途切れた場合、接続の回復を試みる際の手順などが含まれる。代表的なプロトコルとして、SSL/TLSなどがある。
第4層 トランスポート層
トランスポート層(L4)は、通信の品質をコントロールする層であり、信頼性重視やリアルタイム性重視など、用途に応じてプロトコルを使い分けることができる。代表的なプロトコルとしては、TCPやUDPなどがある。
第3層 ネットワーク層
ネットワーク層(L3)は、ネットワークにおける通信経路の選択(ルーティング)や中継を行う。代表的なプロトコルとして、IP、ARPなどがある。
第2層 データリンク層
データリンク層(L2)は、直接的に接続された機器同士の通信を実現する。代表的なプロトコルとして、イーサネットやPPP、HDLC、アークネットなどがある。
第1層 物理層
物理層(L1)はケーブルやコネクターにて接続される。そのため、ハードウェアのコネクターの形状やピン数といった物理的な接続の規定をプロトコルとして定めている。代表的なものとして、第2層でも挙げたイーサネットの物理層を規定する、IEEE 802.3などがある。
TCP/IPモデルとの違い
先述のとおり、OSI参照モデルをベースとしたOSIは広く普及するには至らず、インターネットの標準プロトコルとなったTCP/IPがネットワークの標準的なプロトコルとして使われている。このTCP/IPにおいても、OSI参照モデルと同様にネットワークの通信機能を階層化して整理している。この階層モデルはTCP/IPモデルと呼ばれている。
図1のように、OSI参照モデルが7つの階層であるのに対し、TCP/IPモデルは4つの階層で構成される。OSI参照モデルよりも、実装面で効率的かつ現実的な仕様となっているのがTCP/IPモデルである。
OSI参照モデルのL5~L7が、TCP/IPモデルではL4にまとまっていることがわかる。以下、L4はTCP/IPモデルのL3に、L3がTCP/IPモデルのL2に、L1とL2がTCP/IPモデルのL1に相当する。また、基本的な前提として、通信は下のレベルの階層の上に成り立っている。L2で接続するためには、まずはL1で接続されていることが条件となることは頭に入れておきたい。
各階層におけるセキュリティリスクと対策
攻撃者がネットワークのどの階層を狙うかによって、攻撃手法も異なれば、その対策も変わってくる。すなわち、万全なセキュリティ対策を実現するためには、ネットワークの階層ごとに対策を検討する必要があるのだ。階層ごとに考えられる攻撃とその対策を紹介する。
1)アプリケーション層、プレゼンテーション層、セッション層(L7、L6、L5)
・攻撃手法
ユーザーとの接点となる階層となるため、攻撃手法も多岐にわたる。SQLインジェクションやXSS(クロスサイトスクリプティング)、CSRF攻撃など、アプリケーションの脆弱性を突いた攻撃が行われる。
・セキュリティ対策
セキュアプログラミング、OSやアプリケーションのアップデートによる脆弱性の解消、SSL/TLSなどの暗号通信プロトコルの利用、アプリケーション層で不正な通信を遮断するWAF(Web Application Firewall)の設置、IDSやIPSなどの導入が有効な対策となる。また、一連のセキュリティ施策としてセキュリティポリシーの策定、そしてその理解のための教育機会の提供なども求められる。
2)トランスポート層、ネットワーク層(L4、L3)
・攻撃手法
発信元から受信先までの実際のリンクを確立するTCPやUDPを狙う攻撃として、SYNフラッド攻撃、IPアドレスのなりすまし、データの盗聴、改ざん、リプレイ攻撃などがある。
・セキュリティ対策
SSL/TLSやSSHなどの暗号通信プロトコルの利用をはじめ、ルーターのセキュリティ機能の利用、ネットワーク層とトランスポート層における通信の許可・拒否を管理するファイアウォールが有効だ。また、L7・L6・L5の対策でも挙げた、IPS/IDSの導入もL4、L3への対策として機能する。また、利用する機器においてパスワードなどの認証を厳格にすること、ユーザーに適切に権限付与するなど、管理体制の徹底も求められる。
3)データリンク層(L2)
・攻撃手法
通信する端末同士のやり取りのための取り決めを行う階層となるため、各端末に紐づくMACアドレスの偽装を狙うARPスプーフィング攻撃などがある。また、ハブなどの機器を狙うDDoS攻撃(フラッディング)、無線通信の盗聴なども想定される。
・セキュリティ対策
生体認証などの導入による物理的なアクセスのブロック、無線LAN機器の適切なセキュリティ設定、ハブとなる機器の適切な設定などが有効である。
4)物理層(L1)
・攻撃手法
物理的な階層となるため、データセンターへの侵入といった攻撃が該当する。また、ネットワーク機器などの破壊やケーブルの切断など、物理的な損壊も障害となり得る。
・セキュリティ対策
まず、許可されていない第三者がデータセンターなど、物理的な機器・装置を設置しているスペースへの侵入を防止することが求められる。攻撃者は外部からとは限らないため、内部不正も考慮して適切に管理する必要がある。組織内部の管理体制の構築に加え、サーバールームへの入退室のチェックといった対策も想定される。有線ネットワークの場合は、盗聴できないようにケーブルの配置を工夫する、あるいはケーブルやIT機器などの保護を適切に行うことも欠かせない。
高度化・巧妙化するサイバー攻撃への対策の基本は、ネットワークのどこがどのように狙われる可能性があるのかを把握しておくことだ。OSI参照モデルの理解・把握は、ネットワークを階層的に捉えて適切な対策を検討するための基礎となるはずだ。