こんにちは、イノベーションセンターの前田です。今回は、私のチームで取り組んでいる、制御(Operational Technology: OT)システムネットワークのセキュリティとその対策技術についてご紹介します。
本記事は前編と後編の2部構成となっており、
- 前編では、OTネットワークの概要やOTのセキュリティ対策・課題等の背景情報と、NTT Comで開発中のOTセキュリティ対策技術であるOsecTの概要とネットワーク可視化機能
- 後編では、OsecTの脅威検知機能
について、それぞれご紹介します。
OTネットワークとは
OTネットワーク(ICS: Industrial Control System ネットワークのように呼ばれることもあります)とは、ビル、工場、プラントなどの制御システムの管理・制御に利用されるネットワークです。 制御システムでは、従来、独自のOS・通信プロトコルが利用され、オフィス等の他のITネットワークから分離された閉域ネットワークとして構築されていたこともあり、セキュリティを意識した設計になっていませんでした。しかし、近年では、汎用OSへの対応、通信プロトコルの標準化やIP化が進められていることや、生産性・利便性の向上のためのスマート化に伴い、外部ネットワーク(オフィスITネットワーク・クラウド等)への接続が進められていることで、セキュリティリスクにさらされる危険性も増加してきています。
OTネットワークのセキュリティ対策と課題
OTネットワークとITネットワークでは、以下の図のように、セキュリティ対策の考え方に違いがあります。 ITのセキュリティではデータの機密性が重視されますが、OTのセキュリティではシステム停止時の事業や社会への影響が大きいため、機密性よりも可用性が重視されます。また、OTのシステムはライフサイクルが長く、サポート切れのOSを利用しているケースも多くありますが、基本的なセキュリティ対策である、OSの最新化やセキュリティパッチの適用などは、可用性を損なう危険性があるため、一般的には実施が困難です。
さらに、上の図の理想の絵のように、OT関連のセキュリティガイドラインでは、ITやOTなどのネットワークを機能階層毎に分離(セグメンテーション)してその境界を保護することが求められていますが、現実の絵のように、OTとITのネットワーク領域が混在していたり、セキュリティの監視ポイントが曖昧なまま運用されていたり、そもそもOTの資産を十分に把握できていなかったりするケースも多くあります。OTとITでは管理組織が異なり、セキュリティに対する意識も異なるため、ITの考え方で、OT側のセキュリティ対策を進めるのは容易ではありません。
(蛇足になりますが、OTのネットワークは、ITにあまり詳しくない方が設計されている場合もあり、過去の分析では、RFC1918で規定されたIPv4のプライベートアドレス帯(10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)以外のアドレスをプライベートアドレスとして利用しているケースに遭遇したこともあります)
OTセキュリティ対策技術 OsecT
OTのセキュリティ脅威の高まりを受けて、NTT Comでは、OTのセキュリティ対策のための技術であるOsecT(オーセクト)を開発しています。
OsecTには、
- 守るべき資産や通信の可視化を行うネットワーク可視化機能 と、
- 不正に接続された端末やサポート切れのOSを利用する端末等を検出した際のアラート機能(脅威検知機能)
の2つの機能があります。
また、既存の制御システムの可用性に影響を与えないように、次のような作りにしています。
- NIDS(Network Intrusion Detection System)型で、エンドポイントへの対策ツールの導入が不要
- 既存スイッチ等でのパケットのミラーリング、または既存のpcapファイルを読み込ませることでネットワーク可視化と脅威検知を実施
- ミラーリングも困難な場合は、ブロードキャスト通信のみで、限定的なネットワーク可視化・脅威検知を実施
- パッシブな解析のみを実施(ネットワークに検査のための通信を流さない)
OsecTは、リアルタイムのトラヒックデータを元にセキュリティアラートを監視する使い方とオフラインのトラヒックデータを元に定期アセスメント等で利用する使い方の両方に対応しています。
以降では、OsecTのネットワーク可視化機能の詳細について、開発の工夫点などを交えながらご紹介します。(なお、脅威検知機能は、後編の記事でご紹介します)
※OsecTは現在開発中の技術であり、正式リリース時には仕様・画面イメージが変わる可能性が大いにあります。
ネットワーク可視化機能
OTでは、守るべき資産や流れている通信を十分に把握できていないことが多々あり、このような場合に有用なのがネットワーク可視化機能になります。
資産台帳の自動生成
パケットから取得した情報を元に、こちらのような端末一覧を作成できます。 こちらは、IPv4/v6アドレス、MACアドレス、MAC Vendor、Service(プロトコルとポート番号)、Host Name、OS、通信が最初に観測された時刻、通信が最後に観測された時刻などの情報で構成されています。守るべき資産の把握や資産台帳の最新化に役立つ他、台帳に記載のない不審な端末やサポート切れOSを利用している疑いのある端末、ごく短期間のみ通信が観測された端末などの洗い出しにも利用できます。
OTの資産の可視化が可能ないくつかの製品では、MACアドレスとHost Nameを元に、資産の一覧を生成していますが、組み込み系機器では、Host Nameにデフォルトで機種情報などが格納されていることが多く、資産を正確に一覧化できなくなるため、OsecTでは、MACアドレス情報をメインで利用して資産の一覧を作成しています。また、こちらで可視化している情報の内、特に、OS情報では、p0fといった既存のフィンガープリンティング技術を利用しつつ、複数のメトリックによる推定技術を適切に組み合わせることで、OS推定精度を向上させています。
IPアドレス情報の表示機能
こちらでは、IPアドレスの一覧情報や特定のIPアドレスの通信先一覧等を表示できます。
マトリックス表示機能
MAC Vendor、OS、端末の役割(client / server / 両方の性質を持つもの)を色分けして、縦16x横16のマトリックス形式(/24セグメント単位)で表⽰することで、多数の端末から構成されるOTネットワークを俯瞰的に見ることができます。
こちらは、MAC Vendor情報に基づくマトリックスになります。画面右側にMAC Vendor情報と色の対応を表示しています。また、マトリックスの特定の数字にカーソルを合わせることで、対応するMAC Vendor情報がホバーとしても表示されます。 こちらは、OS情報に基づくマトリックスになります。画面構成等はMAC Vendorと同様です。 こちらは、端末の役割に基づくマトリックスになります。画面構成等はMAC Vendorと同様です。
マトリックス表示機能によって、例えば、サポート切れのOSが多いネットワークセグメント等を視認しやすくなるため、対策・監視などを導入する箇所の検討に利用できます。また、ネットワークセグメント毎のIPアドレスの割り当てルールを視認しやすくなるため、想定しないIPアドレスを使っている疑わしい端末の発見にも利用できます。
ネットワークマップの作成
OsecTでは、資産(端末)の可視化だけでなく、端末間でやり取りされる通信も可視化できます。
こちらの機能では、注目すべきネットワーク構造や端末を抽出しやすくするための工夫として、次のようなことを行っています。
- 直接通信するIPアドレス同士を近くに配置し、直接通信していないIPアドレスを遠くに配置
- 各IPの役割(client、server、両方の性質を持つもの)を推定し、役割別に異なる色で表示
- 通信が集中しているIPアドレスを大きく表示
これにより、通信特性が似ているグループやグループ間の通信などが分かりやすくなり、各種ガイドラインで求められている、適切なネットワークセグメンテーションの検討やアクセス制御の検討に繋げることができます。また、管理者の方が想定していない端末間で通信が発生していないかを確認することで、グループ間を橋渡しするような攻撃経路の発見や、不正な通信を行う端末の発見などにも利用できます。
重要度/特異度の高い端末の可視化機能
ネットワークの中で重要な/特異性のある端末を可視化することで、多数の端末が存在するOTネットワークにおいて、優先的に対処すべき端末を抽出できます。
こちらでは、次数中心性(通信先の数が多いほど大きい値になる指標)と媒介中心性(通信を仲介している数が多いほど大きい値になる指標)の2つの軸に基づき、前述のマップを数学的なグラフとして解析することで、定量的に重要な端末や構造を理解できるようにしています。 次数中心性と媒介中心性が大きい端末ほど、ネットワークの中心に位置し、重要度の高い端末になります。OsecTでは、原点からの距離(distance)として定量化しています。 また、通常では、次数中心性と媒介中心性は比例することが多いですが、どちらか一方のみが大きい場合は、ネットワークの中で特徴的な役割を担っている可能性があるため、こちらも優先的に確認すべき端末になります。OsecTでは、次数中心性と媒介中心性のどちらかが大きい度合いを特異度(Specificity)という指標で定量化しています。
ランキング表示
MAC Vendor、ホスト毎のトラヒック量、サービス毎のトラヒック量などをランキング表示できます。こちらは、ネットワークの特徴や全体傾向を把握するのに役立ちます。
こちらは、MAC Vendor情報のランキングになります。全体傾向の把握のほか、利用していないベンダの端末が存在しないかの確認にも利用できます。 こちらは、通信量が多い端末のランキングになります。 こちらは、通信相手の数が多い端末のランキングになります。 こちらは、通信量が多い通信サービスのランキングになります。第2位のBACnetは、ビルのオートメーション・制御に利用されるOTプロトコルです。また、OTの独自サービスのプロトコルの中には、一般的な通信サービスの振る舞いとは異なり、送信元ポート番号が固定値で、宛先ポート番号がランダム or 範囲の値を取るものがあります。OsecTには、こうしたサービスを自動判別する仕組みがあり、第3位の(15100/udp/srcport_aggregated) は、送信元ポート番号が15100/udpであり、宛先ポート番号が発散しているサービスであることを意味しています。 こちらは、利用しているホスト数の多い通信サービスのランキングになります。
通信量の時系列表示
通信量(bps/pps)を時系列で表示できます。
こちらの機能を利用することで、通信量の傾向を把握したり、通常の通信量から逸脱する異常な通信量の増加などを発見できます。画像の例では、8/20頃に急激な通信の増加が発生していることが確認できます。
差分分析表示
任意の2つの期間を指定して、資産情報の変化や通信状況の変化などを比較できます。定期的にセキュリティアセスメントを実施する場合などに、前回のアセスメント時と比較して、各種情報がどのように変化したかを確認するのに便利な機能となっています。
資産台帳の差分分析は、次のようになります。 こちらでは、2つの期間で追加された資産(端末)は、addとして赤色で表示され、削除された端末はdelとして青色で表示されます。また、既存の端末において、利用するサービス情報(通信プロトコルや宛先ポート番号)が変化した場合には、chgとして黄色で表示されます。
マトリックス情報(MAC Vendor)の差分分析は、次のようになります。 こちらでは、2つの期間で変化のあったネットワークセグメントは黄色の枠で表示されます。例では、10.1.2.0/24のセグメントにおいて、.106のIPアドレスを利用していた端末が消失しています。
ネットワークマップの差分分析は、次のようになります。 こちらでは、2つの期間で追加されたIPアドレスを濃い緑の枠で囲んで表示しており、消失したIPアドレスを青色の枠で囲んで表示しています。こちらの例では、左上辺りに存在している、10.1.2.105、10.1.2.106、10.1.2.107のグループが2つの期間の前後で消失していることが分かります。
名前解決通信に基づく可視化
DNSなどの名前解決通信による可視化ができ、業務上不要なサイトへアクセスする端末やファイル共有サービスなどのセキュリティインシデントにつながる可能性のあるサービスを利用する端末を特定できます。
ブロードキャスト通信に基づく可視化
既存のスイッチ等へのミラーリングの設定が困難な環境向けに、可視化できる内容は限定的なものにはなりますが、ARPなどのブロードキャスト通信のみを用いたネットワーク可視化機能も作成しています。こちらは、既存スイッチのデータプレーン(データ通信用のネットワークセグメント)に余っているポートがあれば、そちらにOsecTを接続することで、流れてきたブロードキャストのパケットをOsecTがキャプチャして可視化するイメージになっています。
最後に
今回は、OTネットワークの概要、OTのセキュリティ対策とその課題に関するお話と、NTT Comで開発中のOTセキュリティ対策技術であるOsecTの概要とネットワーク可視化機能についてご紹介しました。工場等のスマート化を推進していく上では、これまであまり検討が進められていなかった、OTのセキュリティ対策を考えることが非常に重要になってきます。 後編では、OsecTの脅威検知機能についてご紹介します。よろしければ、そちらもご覧ください。
※2021年6月現在、OsecTの実証実験のトライアル利用者様を募集しております。無償でご利用頂けますので、国内に制御システムをお持ちの製造業・インフラ事業者の方で実際にお試ししたいという方がいらっしゃいましたら、是非こちらからご応募頂けますと幸いです。