【入門編】 IEC 62443規格群に基づくセキュリティレベル(SL)の定義と適用 – IoT・OT(制御システム) & ブロックチェーンセキュリティ防御ガイド

こんにちは!IoTデバイスや工場のシステム、そしてちょっと尖ったWeb3のセキュリティを日々研究しているリサーチャーです。

今日は、工場やプラントといった「絶対に止まっちゃいけない現場」をサイバー攻撃から守るための国際規格「IEC 62443」について、一緒に紐解いていきましょう。

「セキュリティレベル(SL)」という何やら難しそうな言葉が出てきますが、安心してください。身近な「家の防犯」に置き換えれば、誰でもすんなり理解できます。新人エンジニアの方も、開発の現場で「何から手をつければいいの?」と迷わないよう、一歩ずつ優しく解説していきますね!

—

1. なぜ工場やIoTのセキュリティは「家の防犯」に似ているのか?

皆さんは、自宅の玄関の鍵を閉めて出かけますよね。では、その防犯レベルはどう決めていますか?

  • 田舎の古い一軒家(誰もいないし、盗むものも少ない): 鍵が一つあれば十分かもしれません。
  • 都会の高級マンション(タワマンの高層階、オートロック付き、コンシェルジュ常駐): 二重、三重のロックや防犯カメラ、管理人によるチェックが入りますよね。

工場の制御システム(OT)やIoTデバイスもまったく同じなんです。「うちの機械なんて誰もハッキングしないよ」なんて油断していると、泥棒(攻撃者)にとっては「鍵のついていない自動ドア」のように見えてしまいます。

そこで登場するのが、産業用制御システムのセキュリティ標準である IEC 62443 です。この規格では、守るべきシステムの重要度やリスクに応じて、セキュリティの度合いを SL1(レベル1)からSL4(レベル4) までの4段階に分けて定義しています。

それぞれのレベルが、家の防犯のどの状態に当てはまるのか、順番に見ていきましょう!

—

2. IEC 62443の「セキュリティレベル(SL)」を4段階で理解しよう

SL1:うっかりミスを防ぐ(玄関の普通の鍵)

  • 想定する攻撃者: 通りがかりの人、悪気のない社内の人のうっかりミス
  • 家の防犯に例えると: 玄関に普通の鍵をかけておく状態です。
  • 技術的な対策: パスワードの強制、不要なデフォルトアカウント(admin/admin など)の削除、初期設定の変更など、「最低限の鍵をかける」フェーズです。

SL2:意図的な一般攻撃を防ぐ(ピッキング対策済みの鍵+二重ロック)

  • 想定する攻撃者: スキルはそこそこだけど、ネットから侵入を試みるハッカー
  • 家の防犯に例えると: ディンプルキーに変えたり、窓に補助錠をつけたりする状態です。
  • 技術的な対策: ファイアウォールによる不要な通信の遮断、ログイン時の多要素認証(MFA)の導入、通信の暗号化(HTTPSやTLSなど)を行います。

SL3:巧妙なサイバー攻撃・標的型攻撃を防ぐ(防犯カメラ+警備員巡回)

  • 想定する攻撃者: 国家ぐるみのハッカーグループや、特定の工場を狙うプロの攻撃者
  • 家の防犯に例えると: 家の周りに防犯カメラを張り巡らせ、不審者が来たら警備会社が駆けつける状態です。
  • 技術的な対策: ネットワークの厳格なゾーン分割(ITネットワークとOTネットワークの分離)、不正侵入検知システム(IDS/IPS)によるリアルタイム監視、脆弱性管理の徹底です。

SL4:国家レベルの最高度な攻撃を防ぐ(シェルター+常時監視の要塞)

  • 想定する攻撃者: 無限の資金と高度なマルウェアを持つ高度な持続的脅威(APT)
  • 家の防犯に例えると: 核シェルターレベルの頑丈な壁と、常時監視するセキュリティオペレーションセンター(SOC)を持つ要塞です。
  • 技術的な対策: デバイスのハードウェアレベルでのセートブーツ(改ざん防止)、厳密な暗号鍵管理、ゼロトラストアーキテクチャの完全適用です。

—

3. 実務で役立てる!IoT/SCADAデバイスの防御設定例

「じゃあ、自分の開発しているIoTデバイスやネットワーク機器では、具体的にどう設定すればいいの?」という疑問にお答えします。

例えば、産業用IoTゲートウェイやPLC(プログラマブル・ロジック・コントローラー)のファームウェアや通信設定を行う際、IEC 62443のSL2〜SL3を意識した設定ファイル(例: 設定用のYAMLやJSON)のサンプルを見てみましょう。

# 産業用IoTデバイスのセキュリティポリシー設定例 (IEC 62443 SL2/SL3準拠)
device_security_config:
  device_name: "Smart-Factory-Gateway-01"
  security_level_target: "SL2"
  
  # 1. 認証とアクセス制御の強化(うっかりミスや不正アクセスの防止)
  authentication:
    default_password_changed: true          # 初期パスワードの変更が必須
    enforce_strong_password: true         # 英数記号を含む複雑なパスワードを強制
    max_login_retry: 3                    # 3回間違えたら一時ロック
    mfa_required_for_admin: true          # 管理者ログインには多要素認証を必須化

  # 2. 通信の保護(盗聴や改ざんの防止)
  network_protocols:
    disable_insecure_ports:
      - 23  # Telnetの完全無効化
      - 80  # HTTPの無効化(HTTPSへリダイレクト)
    enabled_secure_ports:
      - 443 # HTTPS (TLS 1.3以上を強制)
      - 8883 # MQTT over TLS (安全なIoT通信)

  # 3. ログとモニタリング(不正の検知)
  audit_logging:
    log_level: "INFO"
    send_to_syslog_server: true
    syslog_server_ip: "192.168.10.100"   # 社内のセキュリティ監視サーバーへ転送

このように、コードや設定ファイルを記述する段階で、「使っていないポート(23や80など)は確実に塞ぐ」「パスワードの使い回しをできないようにする」といった基本を積み重ねることが、結果的にIEC 62443の基準クリアへと繋がっていきます。

—

4. まとめ:一歩ずつ、確実なセキュリティを

今回は、IEC 62443におけるセキュリティレベル(SL1〜SL4)の定義と、私たちの身近な「防犯」への置き換え、そして実際の現場で役立つ設定の考え方をご紹介しました。

セキュリティと聞くと、なんだか壁が高く感じられて「自分には無理かも…」と思ってしまうかもしれませんが、安心してください。最初は誰でも「家の鍵を閉める」ようなSL1の基本からスタートします。

日々の開発やインフラ構築の中で、「この通信は暗号化されているかな?」「初期パスワードのままになっていないかな?」と、一つずつ確認する習慣をつけていきましょう。その丁寧な積み重ねこそが、最先端のサイバー攻撃から大切なシステムを守る一番の近道になります。

それでは、また次回のセキュリティ解説でお会いしましょう!

コメント

タイトルとURLをコピーしました