MENU

OSI参照モデルとセキュリティ|各レイヤーに潜む脅威と防御策をわかりやすく解説

ネットワークの勉強でOSIモデルを学んだものの、「セキュリティとどう結びつくのかイマイチわからない」という声は現場でもよく聞きます。実は攻撃者はこのOSIの各レイヤーをよく理解した上で、レイヤーごとに最も効果的な攻撃を仕掛けてきます。

この記事では、OSI参照モデルの7つのレイヤーそれぞれに潜む代表的な脅威と、防御のために押さえておくべき対策を現場目線で解説します。情シスの方が「うちのネットワークのどこが弱いか」を把握するための地図として活用してください。

OSI参照モデルとセキュリティ|各レイヤーに潜む脅威と防御策をわかりやすく解説 - 解説

目次

OSI参照モデルとは?セキュリティで学ぶ理由

OSI参照モデル(Open Systems Interconnection Reference Model)は、ネットワーク通信を7つの層(レイヤー)に分割して体系的に整理した概念モデルです。1984年にISO(国際標準化機構)が策定し、現在も通信の仕組みを理解するための共通言語として使われています。

レイヤー番号 層の名前 役割の概要 代表的なプロトコル
L7 アプリケーション層 ユーザーが直接使うサービスの通信 HTTP、HTTPS、SMTP、DNS
L6 プレゼンテーション層 データの形式変換・暗号化・圧縮 SSL/TLS(暗号化部分)
L5 セッション層 通信セッションの確立・維持・終了 NetBIOS、RPC
L4 トランスポート層 エンドツーエンドの通信制御・信頼性保証 TCP、UDP
L3 ネットワーク層 パケットのルーティング・IPアドレス管理 IP、ICMP、BGP
L2 データリンク層 同一ネットワーク内の機器間通信 Ethernet、ARP、VLAN
L1 物理層 電気信号・光信号の伝送 ケーブル規格、無線規格

セキュリティ担当者がOSIモデルを理解すべき理由は2つあります。

第一に、攻撃者は特定のレイヤーの弱点を意図的に狙います。たとえば、L2の弱点を突くARPスプーフィングに対してL7のWAFは無力です。攻撃が発生しているレイヤーを特定できなければ、有効な防御策を選べません。

第二に、防御ツールにはそれぞれ「担当レイヤー」があります。ファイアウォールはL3-L4、WAFはL7、EDRはL7の一部、という具合です。ツールをレイヤーで整理することで、防御の抜け穴が見えやすくなります。

各レイヤーに潜む脅威(攻撃者の視点)

1. L1 物理層:盗聴・タッピング

物理層の攻撃は、文字通り「物理的な接触」を要します。攻撃者が社内に侵入してLANケーブルに盗聴デバイスを仕掛けたり、オフィスのフロアで不正なWi-Fiアクセスポイントを設置したりするのが典型例です。

・ケーブルタッピング: LANケーブルや光ファイバーに物理デバイスを接続して通信を傍受する
・不正AP設置(Evil Twin): 正規のSSIDに似せた偽Wi-Fiを設置し、接続した端末の通信を盗む
・HDD・USBの持ち出し: 物理媒体ごと盗み出してデータを抜く

物理層の攻撃は暗号化が施されていても有効で、「通信の有無」や「通信量のパターン」自体が情報になることもあります。

2. L2 データリンク層:ARPスプーフィング・MACフラッディング

データリンク層は同一ネットワークセグメント(サブネット)内の通信を担当します。ここでの代表的な攻撃がARPスプーフィングです。

ARPは「このIPアドレスを持つ機器のMACアドレスは何か」を解決するプロトコルです。ARPには認証の仕組みがないため、攻撃者は偽のARP応答を送り込んで「デフォルトゲートウェイのIPは自分(攻撃者)のMACアドレスに対応している」と嘘をつくことができます。結果として、同一セグメント内のすべての通信が攻撃者の機器を経由するようになります。

・ARPスプーフィング(ARP Poisoning): 偽ARP応答でARP解決テーブルを書き換え、通信を傍受・改ざんする
・MACフラッディング: スイッチのMACアドレステーブルを大量の偽MACで溢れさせ、スイッチをハブ動作にさせて全通信を傍受する
・VLANホッピング: スイッチのトランクポート設定の不備を突き、本来アクセスできないVLANに侵入する

3. L3 ネットワーク層:IPスプーフィング・ルーティング攻撃

ネットワーク層ではIPアドレスを使った攻撃が中心です。IPパケットの送信元アドレスは本来自由に書き換えられるため、攻撃者は正規のIPアドレスを偽って(なりすまして)パケットを送ることができます。

・IPスプーフィング: 送信元IPを詐称したパケットを送り、認証回避や攻撃の追跡を困難にする
・ICMPフラッド(Ping of Death等): 大量のICMPパケットを送り付けてターゲットのリソースを枯渇させる
・BGPハイジャック: BGPルーティングプロトコルを悪用してインターネット経路を乗っ取り、特定の通信を横取りする

4. L4 トランスポート層:SYNフラッド・セッションハイジャック

トランスポート層の最大の脅威はTCP接続の仕組みを悪用した攻撃です。TCPには「3ウェイハンドシェイク」という接続確立の手順があり、この仕組み自体が攻撃の対象になります。

SYNフラッドは、攻撃者が大量のSYNパケット(接続要求)を送り付け、サーバーを「SYN-RECEIVED状態の半開き接続」で溢れさせるDDoS攻撃です。サーバーは応答を待ち続けながらリソースを消費し、最終的に正規のユーザーが接続できなくなります。

・SYNフラッド: 大量の偽接続要求でサーバーのリソースを枯渇させる
・ポートスキャン: TCPスキャンで開いているポートを調査し、攻撃対象を特定する(侵入の準備段階)
・セッションハイジャック: TCP通信のシーケンス番号を推測・盗聴し、正規セッションに割り込む

5. L5-L6 セッション・プレゼンテーション層:SSLストリッピング

セッション層とプレゼンテーション層は、現代の実装では多くがアプリケーション層と一体化しています。この領域で最も知られている攻撃がSSLストリッピングです。

SSLストリッピングは、中間者攻撃(MITM)の一種で、ユーザーとWebサーバーの間に攻撃者が割り込みます。攻撃者はサーバーとはHTTPS(暗号化)で通信しながら、ユーザーとはHTTP(平文)で通信させることで、暗号化された通信内容を平文で取得します。ユーザーはHTTPSで通信していると思い込んでいますが、実際はHTTPで情報を送っています。

・SSLストリッピング: HTTPSをHTTPにダウングレードさせ、暗号化前の平文通信を傍受する
・不正な証明書の使用: 自己署名証明書を使ったMITM攻撃で通信を傍受する

6. L7 アプリケーション層:XSS・SQLインジェクション・フィッシング

現代のサイバー攻撃の大半がL7を標的にしています。アプリケーション層は攻撃面が最も広く、ユーザーの入力や業務ロジックが直接関わるため、技術的な脆弱性と人的なミスの両方が攻撃経路になります。

・SQLインジェクション: Webフォームや検索ボックスに悪意あるSQL文を入力してデータベースを不正操作する
・XSS(クロスサイトスクリプティング): Webページに悪意あるJavaScriptを埋め込み、閲覧ユーザーの情報を盗む
・フィッシング: 正規サイトを偽装したページでIDやパスワードを入力させる
・ディレクトリトラバーサル: ファイルパスを操作してサーバー内の非公開ファイルを読み取る
・DNSキャッシュポイズニング: DNSの解決結果を偽装してユーザーを偽サイトに誘導する

レイヤー別の防御手順

1. L1-L2の防御(物理・データリンク層)

物理層の防御は物理セキュリティが基本です。サーバールームや通信機器室への入退室管理を徹底し、不審な機器の設置を防ぎます。

データリンク層の防御はスイッチの設定が中心です。

Dynamic ARP Inspection(DAI)の有効化(Cisco機器の例):

# DHCPスヌーピングを有効化(DAIの前提条件) ip dhcp snooping ip dhcp snooping vlan 10 # ARPインスペクションを有効化 ip arp inspection vlan 10 # アップリンクポートをトラステッドに設定 interface GigabitEthernet0/1 ip dhcp snooping trust ip arp inspection trust

また、MACフラッディング対策としてPort Securityを設定し、1ポートあたりの学習可能なMACアドレス数を制限します。VLANホッピング対策では、使用していないポートをアクセスポートに明示的に設定し、ネイティブVLANを変更します。

2. L3-L4の防御(ネットワーク・トランスポート層)

ネットワーク層の防御はファイアウォールとiptables/nftablesの適切な設定です。IPスプーフィング対策としてIngress Filteringを実装します。

# ローカルネットワーク外からのプライベートIPアドレスを遮断(Ingress Filtering) # nftablesの例(インターフェースeth0がインターネット側) nft add rule inet filter input iif eth0 ip saddr 10.0.0.0/8 drop nft add rule inet filter input iif eth0 ip saddr 172.16.0.0/12 drop nft add rule inet filter input iif eth0 ip saddr 192.168.0.0/16 drop nft add rule inet filter input iif eth0 ip saddr 127.0.0.0/8 drop

SYNフラッド対策はLinuxカーネルのSYN Cookiesを有効化します:

# SYN Cookiesを有効化(/etc/sysctl.conf に追記) net.ipv4.tcp_syncookies = 1 # 設定を即時反映 sysctl -p

3. L7の防御(アプリケーション層)

アプリケーション層は攻撃面が広いため、複数の対策を組み合わせます。

・WAF(Webアプリケーションファイアウォール)の導入: SQLインジェクションやXSSを自動的に検知・遮断する
・入力値のバリデーション: すべてのユーザー入力を信頼せず、型・長さ・形式を厳密にチェックする
・セキュリティヘッダーの設定: Content-Security-Policy(CSP)でXSS対策、HSTSでSSLストリッピング対策を施す
・DNSフィルタリング: フィッシングサイトや悪意あるドメインへの名前解決をブロックする
・HTTPSの強制(HSTS): HTTP接続をHTTPSにリダイレクトし、SSLストリッピングを防ぐ

中小企業でも今日からできること

「全レイヤーを完璧に守る」のは難しいですが、リスクの高いレイヤーから優先的に対策することで、攻撃を受けにくい環境を作れます。

今週中にできる対策

・L1(物理層): 通信機器室のドアに施錠を確認。社内で見覚えのないUSBデバイスや機器がないか巡視する
・L3-L4(ネットワーク・トランスポート層): ファイアウォールで不要なポートが開いていないか確認する(`nmap -sT 自分のIPアドレス` で確認可能)
・L7(アプリケーション層): 社内で使用しているWebシステムのログイン画面がHTTPSになっているか確認する

1ヶ月以内に整備したい対策

・L2(データリンク層): 管理スイッチを使っている場合、Dynamic ARP InspectionとPort Securityを有効化する
・L4(トランスポート層): Linuxサーバーでtcp_syncookiesが有効になっているか確認・設定する
・L7(アプリケーション層): HSTSヘッダーを設定してSSLストリッピングを防ぐ。DNSフィルタリングサービスを導入する

Linuxサーバーのネットワーク層・トランスポート層の具体的な設定については、姉妹サイトLinuxMaster.JPにコマンドレベルの詳細解説があります。

よくある誤解と注意点

【誤解1】「HTTPSにすれば安全」

HTTPSはL6の暗号化であり、L7のアプリケーションの脆弱性(SQLインジェクション、XSS等)は防げません。暗号化された通信の中に悪意ある入力が含まれていれば、そのままサーバーに届きます。HTTPSはあくまで「通信経路の暗号化」であり、「アプリケーションの安全性の保証」ではない点を理解しておきましょう。

【誤解2】「ファイアウォールがあれば外部攻撃は防げる」

ファイアウォールは主にL3-L4を守りますが、L7のHTTP/HTTPSは通常通過させます。Webアプリケーションへの攻撃(SQLi、XSS等)はポート80・443を使う正規の通信に見えるため、通常のファイアウォールでは遮断できません。L7への攻撃にはWAFが必要です。

【誤解3】「内部ネットワークは信頼できる」

境界型セキュリティの考え方では「社内ネットワーク内は安全」という前提がありましたが、インサイダー脅威やフィッシングで侵入した攻撃者によって前提が崩れています。L2レベルのARPスプーフィングは、侵入に成功した攻撃者が社内ネットワーク内で横展開する際の常套手段です。ゼロトラストの観点から、内部通信も信頼しない設計が求められます。

【注意】OSIモデルとTCP/IPモデルの違い

実際のインターネット通信はOSIモデルではなく4層のTCP/IPモデルで動いています。セキュリティ製品のドキュメントでは「L7」「L4」という表現がOSIモデルの文脈で使われることが多いですが、製品によって定義が異なる場合があります。文脈を確認した上で解釈してください。

OSI参照モデルとセキュリティ|各レイヤーに潜む脅威と防御策をわかりやすく解説 - まとめ

本記事のまとめ

OSI参照モデルの各レイヤーには、それぞれ固有の攻撃手法と防御策があります。レイヤーを意識することで、「どのツールがどの攻撃に有効か」が整理できます。

レイヤー 代表的な脅威 主な防御策 優先度
L1(物理層) 盗聴・不正AP設置 物理セキュリティ・入退室管理 中
L2(データリンク層) ARPスプーフィング・VLANホッピング DAI・Port Security・VLAN設計 中
L3(ネットワーク層) IPスプーフィング・BGPハイジャック ファイアウォール・Ingress Filtering 高
L4(トランスポート層) SYNフラッド・ポートスキャン SYN Cookies・IDS/IPS 高
L5-L6(セッション・プレゼンテーション) SSLストリッピング・証明書詐称 HSTS・証明書ピンニング 高
L7(アプリケーション層) SQLi・XSS・フィッシング WAF・入力検証・セキュリティヘッダー 最高

攻撃者はレイヤーを意識しながら最も弱い部分を突いてきます。「L7だけを守れば大丈夫」ではなく、各レイヤーに適切な防御を配置する多層防御の設計が重要です。まずはL3-L4のファイアウォール設定とL7のHTTPS化・WAF導入から着手し、段階的に各レイヤーの対策を強化していきましょう。

PR

体系的に学ぶ 安全なWebアプリケーションの作り方 第2版(徳丸浩/SBクリエイティブ)

OSI各レイヤーの視点でWebアプリの脆弱性を体系的に学べる一冊。SQLインジェクション、XSS、セッション管理の欠陥など、L7攻撃の仕組みを実例で深く理解したい情シス・開発者に最適です。

関連記事をもっと読む

同じテーマの記事をまとめています。あわせて読みたい記事はこちらからご覧いただけます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次