インダストリアルセキュリティ
25.Apr.2024
産業用制御システム分野のセキュリティ開発!よくある誤解と重要な概念
インダストリアルIoTの飛躍的な発展に伴い、現代の工場や生産ラインでは運営を維持するためにネットワークに接続した産業用制御システムへの依存度が日増しに高まっています。しかし、企業はこれらのOTシステムが直面する情報セキュリティへの脅威を過少評価したり、軽視することがよくあります。
Onward Securityのコンサルタントである李東穎氏は、OTシステムと一般のITシステムの情報セキュリティでは優先順位において根本的な違いが存在すると述べています。「IT分野では通常、データの機密性を最優先に、次に完全性、最後に可用性を考えます。それに対して、システムが正常に動作しないと生産ライン全体がシステムクラッシュを起こしてダウンするため、OTシステムでは可用性が最も重要とされています。」
李東穎氏によると、企業の多くがOTシステムと外部のネットワークを隔離させるか、もしくはファイヤーウォールを設定すれば安全を確保できると勘違いするが、それはとても危険な誤解です。「システムがインターネットに接続されていない場合でも、ハッカーのスキャンによって発見され、侵入される可能性があります。また、ファイヤーウォールを100%正確に設定することの困難性、内部の従業員の不適切な行為などでも産業用制御システムの情報セキュリティに対する脅威に繋がります。」
その他にも、産業用制御システムは機能が比較的簡単なのでハッカーに狙われることはないと思われがちです。ですが、実際はそうではありません。「今ではインターネット上に産業用制御システムに関する情報が大量にあり、このようなシステムをひたすら攻撃するボットネットも一部あります。生産ラインをシステムクラッシュさせて破壊の目的を達成できれば、ハッカーはシステムの動作原理を完全に理解する必要は無いのです。」
Onward Securityのコンサルタントである李東穎氏は、OTシステムと一般のITシステムの情報セキュリティでは優先順位において根本的な違いが存在すると述べています。「IT分野では通常、データの機密性を最優先に、次に完全性、最後に可用性を考えます。それに対して、システムが正常に動作しないと生産ライン全体がシステムクラッシュを起こしてダウンするため、OTシステムでは可用性が最も重要とされています。」
李東穎氏によると、企業の多くがOTシステムと外部のネットワークを隔離させるか、もしくはファイヤーウォールを設定すれば安全を確保できると勘違いするが、それはとても危険な誤解です。「システムがインターネットに接続されていない場合でも、ハッカーのスキャンによって発見され、侵入される可能性があります。また、ファイヤーウォールを100%正確に設定することの困難性、内部の従業員の不適切な行為などでも産業用制御システムの情報セキュリティに対する脅威に繋がります。」
その他にも、産業用制御システムは機能が比較的簡単なのでハッカーに狙われることはないと思われがちです。ですが、実際はそうではありません。「今ではインターネット上に産業用制御システムに関する情報が大量にあり、このようなシステムをひたすら攻撃するボットネットも一部あります。生産ラインをシステムクラッシュさせて破壊の目的を達成できれば、ハッカーはシステムの動作原理を完全に理解する必要は無いのです。」
セキュリティ開発の概念
こうしたセキュリティの懸念に対して、業界では「ソフトウェア開発ライフサイクル(SDLC)」という概念を徐々に採用し、製品研究開発の各フェーズに情報セキュリティへの考慮を組み込もうとしています。SDLCに含まれる7つのフェーズは:
1. 教育訓練:開発に携わるチームメンバーに、情報セキュリティに関する基礎知識・よくある脅威パターン・保護対策・セキュリティプログラムを開発する方法などを理解してもらいます。
2. 需要分析:通常の機能に加え、製品のセキュリティ面における要件も細かく分析し、それに対応するセキュリティメカニズムを設計する必要があります。このフェーズでは、企業は特に次の点に注意する必要があります。
- 通常の機能に関する需要だけではなく、製品に必要なセキュリティに関する機能の需要を分析する。
- 実際に使用するシチュエーションにおいて直面する可能性のあるセキュリティリスクと脅威を洗い出し、完全な製品セキュリティの全体像を確立する。
- 脅威をモデリングして、隠された潜在的な脅威を特定し、その後の設計の根拠とする。
3. 設計:「縦深防御」という設計コンセプトのもと、各モジュール及びインターフェースレイヤー毎にセキュリティ保護を設定します。設計のセキュリティ性を向上させるため、業界のベストプラクティスを参考にします。
4. セキュリティ実装:厳密にセキュリティのプログラム設計規範に従い、ソースコードスキャンやソフトウェア部品表管理などの手法を利用して、継続的にセキュリティの脆弱性の確認と修復をする。実装フェーズでは、企業は特に次の点に注意する必要があります。
- 開発チームが確実にセキュリティのプログラム設計標準とベストプラクティスに従っていること。
- 自動ソースコードスキャンツールを用いて、既知の脆弱性を見つけて修復する。
- ソフトウェア部品表(SBOM)を作成し、サードパーティ製の部品におけるセキュリティリスクを特定する。
5. セキュリティ検証テスト:通常の機能テストに加えて、セキュリティ機能テスト・脅威軽減テスト・脆弱性検出テスト・浸透探傷試験などのセキュリティ性に特化した専門的なテストも行う必要があります。セキュリティテストを実行する時は、テストオペレータの独立性が重要になります。他者の影響を受けず、システムのセキュリティ性の評価に客観性を確保し、有効的な評価結果を得るために必要となる要素です。検証テストのフェーズでは、企業は特に次の点に注意する必要があります。
- 製品のセキュリティ機能を全面的にテストし、有効に既知のセキュリティの脅威から保護できることを確認する。
- 脅威モデリングで特定した潜在的な脅威に対して、対象を絞った緩和処置テストを実行する。
- 自動と手動で製品に既知の脆弱性が存在していないか徹底的に検査する。
- 独立した専門のチームに、製品の侵入テストを実施してもらい、実際の攻撃シチュエーションをシミュレーションする。
6. セキュリティデプロイとリリース:デプロイ・リリースの前に、残りのリスクを慎重に評価し、ユーザーに関連の安全ガイドラインを提供します。
7. セキュリティインシデントの対応:セキュリティインシデントの報告・分析と迅速な修復メカニズムを確立し、将来起こり得る情報セキュリティのインシデントに備えます。また、ここでは脆弱性が見つかった後に修復プログラムを作成・リリースすることも重要な一環となります。
李東穎氏は、OTシステムのセキュリティ性を真に向上させるためには、技術的な手段に頼るだけではまだまだ不十分だと強調しました。「企業のセキュリティ意識と管理方法を変えることが最も重要な鍵です。」企業の多くが産業用制御システムのソフトウェアのアップグレードの必要性を軽視するのは、生産ラインの稼働に影響を与えることを懸念しているからだとを例として挙げました。「しかし攻撃によってシステムがクラッシュしたら、ダウンタイムやアップグレードより遥かに深刻な損害が生じることがよくあります。」
そのため、企業は管理面においてOTシステムの情報セキュリティ保護を重要視し、SDLCを軸にさまざまなセキュリティ対策を計画的に推進する必要があります。そうする限り、産業用制御システムが直面するセキュリティリスクを有効的に低減し、生産ラインの安定性と信頼性を確保することができます。
1. 教育訓練:開発に携わるチームメンバーに、情報セキュリティに関する基礎知識・よくある脅威パターン・保護対策・セキュリティプログラムを開発する方法などを理解してもらいます。
2. 需要分析:通常の機能に加え、製品のセキュリティ面における要件も細かく分析し、それに対応するセキュリティメカニズムを設計する必要があります。このフェーズでは、企業は特に次の点に注意する必要があります。
- 通常の機能に関する需要だけではなく、製品に必要なセキュリティに関する機能の需要を分析する。
- 実際に使用するシチュエーションにおいて直面する可能性のあるセキュリティリスクと脅威を洗い出し、完全な製品セキュリティの全体像を確立する。
- 脅威をモデリングして、隠された潜在的な脅威を特定し、その後の設計の根拠とする。
3. 設計:「縦深防御」という設計コンセプトのもと、各モジュール及びインターフェースレイヤー毎にセキュリティ保護を設定します。設計のセキュリティ性を向上させるため、業界のベストプラクティスを参考にします。
4. セキュリティ実装:厳密にセキュリティのプログラム設計規範に従い、ソースコードスキャンやソフトウェア部品表管理などの手法を利用して、継続的にセキュリティの脆弱性の確認と修復をする。実装フェーズでは、企業は特に次の点に注意する必要があります。
- 開発チームが確実にセキュリティのプログラム設計標準とベストプラクティスに従っていること。
- 自動ソースコードスキャンツールを用いて、既知の脆弱性を見つけて修復する。
- ソフトウェア部品表(SBOM)を作成し、サードパーティ製の部品におけるセキュリティリスクを特定する。
- 製品のセキュリティ機能を全面的にテストし、有効に既知のセキュリティの脅威から保護できることを確認する。
- 脅威モデリングで特定した潜在的な脅威に対して、対象を絞った緩和処置テストを実行する。
- 自動と手動で製品に既知の脆弱性が存在していないか徹底的に検査する。
- 独立した専門のチームに、製品の侵入テストを実施してもらい、実際の攻撃シチュエーションをシミュレーションする。
6. セキュリティデプロイとリリース:デプロイ・リリースの前に、残りのリスクを慎重に評価し、ユーザーに関連の安全ガイドラインを提供します。
7. セキュリティインシデントの対応:セキュリティインシデントの報告・分析と迅速な修復メカニズムを確立し、将来起こり得る情報セキュリティのインシデントに備えます。また、ここでは脆弱性が見つかった後に修復プログラムを作成・リリースすることも重要な一環となります。
李東穎氏は、OTシステムのセキュリティ性を真に向上させるためには、技術的な手段に頼るだけではまだまだ不十分だと強調しました。「企業のセキュリティ意識と管理方法を変えることが最も重要な鍵です。」企業の多くが産業用制御システムのソフトウェアのアップグレードの必要性を軽視するのは、生産ラインの稼働に影響を与えることを懸念しているからだとを例として挙げました。「しかし攻撃によってシステムがクラッシュしたら、ダウンタイムやアップグレードより遥かに深刻な損害が生じることがよくあります。」
そのため、企業は管理面においてOTシステムの情報セキュリティ保護を重要視し、SDLCを軸にさまざまなセキュリティ対策を計画的に推進する必要があります。そうする限り、産業用制御システムが直面するセキュリティリスクを有効的に低減し、生産ラインの安定性と信頼性を確保することができます。