東京五輪会場の制御システムに対するペネトレーションテストから得られた知見を公開します

長年、実際の様々な 制御システム の ペネトレーションテスト にて、初期侵入から被害発生までの攻撃シナリオをテストしてきた中からの紹介です。

制御システム ペネトレーションテスト

2021年に開催された東京オリンピック・パラリンピックでは、大会に向け様々なサイバーセキュリティ対策が行われた事をご存知の方も多いかと思います。 そのような中、弊社は、内閣サイバーセキュリティセンター(NISC)が実施した大会会場の制御システムに対するペネトレーションテスト1にテスト実施事業者として参加しました。

本件はNISCのサイバー関連事業者グループのページにて、「主な施策 1.リスクマネジメントの促進 大規模国際イベントにおけるサイバーセキュリティ対策 競技会場に対するペネトレーションテスト結果の事例の情報共有 〜東京オリンピック・パラリンピック競技大会の取組から得られた知見の活用〜」として紹介されています。

ペネトレーションテストでは、初期侵入から被害発生までの一連の攻撃シナリオを仮定し、運用中のシステムに対し様々な攻撃手法を用いて実際に被害が起こり得るかを検証しました。

ペネトレーションテストから得られた知見をお伝えすることができれば、制御システムセキュリティ対策を検討されている方の役に立つのではないかと思い、今回エッセンスの公開に至りました。

はじめに

サイバーディフェンス研究所の安井です。長年制御システムを開発してきた経験から制御システムセキュリティ向上に取り組んでいます。

本稿でお伝えしたい事は、「このような事実もあるので、もしご存知ない情報があれば、対策を検討される上での前提知識に加えてください。」という趣旨です。

防御対策に役立つ攻撃者目線の知見を、防御対策に携わる多くの方に知っていただき、冷静な判断に役立てていただきたいと考えています。 特定の手法を強調して不安を煽るような趣旨ではありませんので、上記趣旨で受け取っていただければ幸いです。

本稿で扱う制御システム

本稿は、インターネット上から直接アクセスできない制御システムをモデルに話を進めます。「インターネット上から直接攻撃されるルートは無いので安心」と考えている方に対して、そのような環境においてどういう攻撃が考えられるのか?という点に目を向けていただきたいという意味を込めています。

上記だけを読むと「昔の制御システムの古い話題か」と感じる方もいると思いますので、少し補足しておきます。「IIoTのようにインターネット上に設置した機器と通信を行う制御システム、クラウドを利用した制御システム、インターネットからのアクセスを前提にゼロトラストをめざすような制御システム」のような「最近の外部とつながるシステム」に関わる方は、サイバーセキュリティ対策に関して見聞きすることは多いかと思います。一方で、「長年運用してきたシステム」においては、「古い制御システムで外部のネットワークと接続していない」という場合もあるでしょうし、「制御システムが外部の情報系ネットワークと通信は行うが、一定のセキュリティ対策を実施している」という場合もあると思います。後者のシステムに関わる方は、OTへのサイバー攻撃が話題になり始めた頃から盛んに言われていた「境界防御対策、物理侵入対策、記憶媒体対策」は実施したものの、「では、このような対策済みの環境でどういう攻撃を受ける可能性があるのだろうか?」という点に関心がある方もいるのではないでしょうか。 制御システムのライフサイクルの長さを考えると、古いセキュリティ設計のシステムは存続し続けるものです。本稿では、「最近の外部とつながるシステム」に関わる方のみならず、「長年運用してきたシステム」に関わる方へも情報をお伝えしたいと考え、「インターネット上から直接アクセスできない制御システム」をモデルとしました。

もちろん、「インターネットから直接アクセスできる制御システム」においても参考にしていただけます。

制御システムに対する攻撃シナリオの策定の考え方

現実に被害が起こり得るかという観点で実施するペネトレーションテストにおいて、制御システムに対しどのような攻撃シナリオを用いれば攻撃が成功し被害が発生するのかを考える際、公開情報や提供いただく資料をもとにした机上検討以外に、現地を見学して物理的に攻撃しやすそうな箇所を特定することも行います。では考えたシナリオをどのような形に整理するかというと、例えばIPA発行の「制御システムセキュリティ分析ガイド 第2版」の事業被害ベースのリスク分析を用いた上で、評価指標を明確にしながらシナリオを整理していくと関係者の共通理解が得やすいのではないかと思います。テストは運用中のシステムに問題を起こさないよう関係者間で各種制約を確認した後、攻撃シナリオのどの段階まで成立するかを攻撃者の手法を用いて検証していく流れとなります。本稿はペネトレーションテスト自体の紹介ではないのでテストの流れはここまでとします。

どこまで詳しく公開するのか?

まず初めに、個別のテスト対象を推測される情報の提供は控えさせていただきます。提供する情報は、ある前提条件がそろえば、技術的な観点から攻撃が可能であるという一般化した情報です。 サイバー攻撃手法に関する知見は、一般公開する際は、どこまでの情報を公開するかは常に迷うところです。 防御側の人に対しては、攻撃手法を知らなかったが為に無対策のまま攻撃を受け被害が現実化する事態は避けていただきたいため、手法を理解して対策につなげられる程度にはわかりやすく詳細に伝えたいです。 これは、抽象的な概要を紹介するだけでは不安だけを煽ることになり、整合性のとれた対策につなげられないのではお伝えする意味がないと考える為です。

上記の考えに基づき、一般化しつつ、攻撃をイメージして対策に繋げやすいような記述を心がけました。 一般化にあたっては、弊社が過去に実施してきたペネトレーションテストから得た知見も含めて紹介する形とし、大会会場の対策レベルを推測されないような配慮を行いました。

なお、今回お伝えする情報は、攻撃側の観点から見た場合、本気で攻撃を意図する者であれば本稿を読まずとも入手できる内容です。 一方で、防御側の立場の方は知らない方も多いだろうという内容です。つまり、攻撃者は知っているが防御側は知らないという状況を、少しでも解消しようという意図で選びました。

どの情報を公開するのか?

ここであげるテーマは、お伝えしたい事という基準で選んでいるため、制御ネットワークへの侵入の話題から、既知脆弱性や認証管理の不備の話題、最終的な被害を発生させる不正制御の話題まで、粒度と種別に必ずしも一貫性が無いことはご了承ください。

本稿で軽く触れる補助的テーマは、以下2つです。

  • 外部ネットワークから制御ネットワークへの侵入
  • 既知脆弱性を悪用した攻撃

本稿でとりあげる主要テーマは、以下の4つです。

  • 認証管理の不備をついた攻撃
  • USB機器を起点としたインターネット上のコマンド&コントロール(C2)サーバとの接続
  • 第3者が近づきやすい箇所に設置された制御ネットワークへの物理的侵入
  • IP通信パケット改ざんによる不正制御

本稿で触れていないよく見聞きするテーマは、以下2つです。

  • 無線を介した制御ネットワークへの侵入
  • 高い権限を持つ内部犯による意図的な攻撃

テーマ毎の情報公開

それでは、それぞれのテーマについて説明します。

補助的テーマ (ご存知の方は読み飛ばしてください。)

補助的テーマとしたものは、多くの方がどこかで聞いたことがあると思われる情報です。ここでとりあげた外部ネットワークからの侵入や既知脆弱性を悪用した攻撃に関してはインシデント事例として他でも既に言及されていることが多く、本稿で同じような内容に触れるか迷いました。しかし、後述の主要なテーマだけを記載すると、頻度が低い攻撃を主に取り上げた偏った記事となってしまうため触りだけを記載します。

外部ネットワークから制御ネットワークへの侵入

本稿では、制御に関わる機器(SCADA、DCS、PLC等)が接続するネットワークを制御ネットワークと定義し、インターネットや情報系のネットワークなど制御ネットワークから見た外側のネットワークを外部ネットワークとしています。実際のインシデント事例をみると、制御ネットワークへの侵入の前段階として、情報系のシステムへの侵入が行われている場合が多いですが、情報系のシステムへの侵入を扱うと範囲が広くなり論点がわかりづらくなるため、情報系のシステムへの侵入については言及せず、外部ネットワークから制御ネットワークへの侵入に関しては、情報系のシステムに侵入済みの前提で記載しています。

インシデント事例の多さという観点から見た場合、「ICS(Industory Control System)」や「制御システム」をキーワードとしたインシデント公開情報2を参照すると、制御ネットワークへの侵入の起点となるのは、「USB機器、制御ネットワークへの物理的侵入、無線、その他内部犯の犯行」に比べると「外部ネットワークからの侵入」が多いように見えます。「インターネット経由で、VPN機器の脆弱性や漏洩したパスワードを使ってVPNに接続し、VPN経由で制御ネットワークに侵入した。」「インターネット経由でマルウェア感染した自組織の情報系や関連事業者の端末を踏み台として制御ネットワークに侵入した。」というような事例がこれにあたります。インターネット経由であれば世界のどこからでも攻撃が可能であることを考えても外部ネットワークから制御ネットワークへの侵入対策は優先対策事項であり、実際多くの組織で対策が進んでいると思います。 様々なところから対策含め情報が提供されているため、本稿で触れるのはここまでとします。

また、重要インフラにおけるインシデント事例で、米国のコロニアルパイプラインの事例のように、情報系のシステムへの被害であり制御ネットワークへは侵入されていないが事業継続に大きな影響を与えたような事例は、攻撃手法的には制御システムに特化した内容ではないため本稿の対象外としています。 とはいえ、攻撃がしやすく、制御ネットワークに侵入せずとも事業に大打撃を与えられるという観点で考えれば、この種のインシデント事例が多いのもうなづけますし、セキュリティ対策を考える上で、事業継続性を考えてIT,OTのシステムの関連性を把握し重点的に守らねばならぬ箇所を考えることは大切だと考えます。

既知脆弱性を悪用した攻撃

インターネットからアクセス可能なWebサーバ等に代表されるように外部ネットワーク上に設置した機器については、既知脆弱性への対策としてセキュリティパッチを適用している組織は多いと思いますし、アンチウィルスソフトやEDRなどもよく聞く対策です。 一方で、制御ネットワークにおいては、可用性重視の観点から、旧来のシステムを中心に制御ネットワークに接続する制御に関わる機器へのセキュリティパッチ適用をさけている例も多いと思います。このようなシステムでは、個々の機器に対してペネトレーションテストを行えば多くの既知脆弱性が発見されるのは当然のことです。 対策としては、制御ネットワークにおける既知脆弱性を攻撃される前段階で防ぐ、つまり外部ネットワークから制御ネットワークへの侵入を防ぐという方針の組織が多いでしょう。 パッチ適用しないことを推奨しているわけでは無いので誤解無きようにお願いしたいのですが、パッチ適用ができない環境における現実的な選択とも思います。 なお、対策が進んだシステムでは、通信パケットを監視し攻撃パターンを検出するような対策を実施しているような例もあります。 当然、インターネット上のIoT機器とつながるようなシステムを初め、近年新たに開発されたシステムでは、最新パッチを適用する保守運用をしている事例もあります。 既知脆弱性については、千差万別で取り上げ出すとキリがないため、本稿では触れるのはここまでとします。

主要テーマ

ここまで補助的テーマで記載した内容は、多くの方が見聞きしてきた内容だと思います。ここからの内容が本題です。 「これまで知らなかったが、こんなこともあるのだなぁ」もしくは「薄々感じてはいたがこんな点が悪用されてしまうのかぁ」という感想をもつ方が多いと思われる項目を主要テーマとしました。

認証管理の不備をついた攻撃

OT/ITに関わらずペネトレーションテストをしていてよく出会うのが認証管理の不備です。特に、インターネットと接続していないが故セキュリティ設計意識が高かったとは言えないOT系のシステムでは、仮に攻撃者が制御ネットワークへ侵入済みで装置にアクセスできる場合、容易に認証突破できてしまうクライアントやサーバ等の装置類が多くみられます。 ある意味、制御ネットワークへ侵入されてしまった前提での認証突破への対策に関しては、攻撃されても認証を突破されないかということまで意識した対策をしていない場合も多いように思います。 くだけた言い方に置き換えると、「自分達の認識において認証機能と考えた仕組みを実装してはいるが、認証突破されるかを攻撃者目線に立ったペネトレーションテストにより検証したことまでは無い場合も多い。」と言えます。 現実に、IT業界ほどセキュリティ対策への予算が大きく取られてきてはいないOT業界において、攻撃者目線でのペネトレーションテストを行う予算を確保することは、テストによる効果を実感した経験がない場合、各種規制や頻繁なインシデント事例など、大きな動機がない限り困難なことは想像がつきます。また公開されたインシデント事例が少ないがために、そこに弱点があると認識していない方も多いのであろうとも想像しています。ペネトレーションテストを実施している立場としては、多くの方にテストを一度でも経験していただき、このような事実が多くあることを知り、将来的により良い実装に改善していってもらいたいと思うのですが、なかなか難しいところです。

現実的な対策としては、多層防御の観点から、外部ネットワークから制御ネットワークへの入り口など悪意のある第3者がアクセスできる可能性がある箇所は入念な対策をして、制御ネットワーク内部については厳密な認証管理は行なっていないという場合が多いのではないでしょうか。また、対策が進んでいる組織では、通信パケットを監視し、認証試行などの攻撃の振る舞いを検知するような取り組みをされている組織もあると思います。

なお、認証管理機能の実装については、インターネットに晒されているIT系では様々な対策が適用されていますが、攻撃にさらされる機会が少ないOTシステムでは、対策しているように見えて、攻撃者から見た場合に、ほぼ無意味に近いような実装がされている場合も散見されます。 全ての例を記載することはできないのですが、ここではよく見かける例として、認証情報を題材に「こういう実装は嫌だ」という初歩的な例をいくつかあげて注意喚起とさせていただきます。

平文で認証情報が流れている。

通信パケットが盗聴されるネットワークおいて、telnetやFTPが代表ですが通信パケットにユーザ名・パスワードなどの認証情報が平文で流れている場合です。近年さすがにtelnetやFTPのリスクを知らない人はほとんどおらず注意されている方も多いとは思います。しかし、独自に作成したアプリケーションの通信などで、平文で認証情報を流していることまでは注意していない場合があります。また、多少気にしている例としては、平文ではなくbase64などでエンコードする難読化をした上で送っている場合もありますが、エンコード方式が類推可能で容易にデコード可能なものだと効果の程は疑問です。なお、平文で認証情報をハードコードしたファイルをネットワーク上に流している場合も、通信パケットからファイルを復元して認証情報を発見できることがあります。

ファイルに平文で認証情報が記載されている。

一旦、保守作業用のPCやサーバ等いずれかの装置に侵入できてしまうと、作業用のディレクトリに、平文のパスワード一覧ファイルが置かれているような場合です。さすがに認証情報一覧は置かないように注意されている方も多いとは思いますが、たとえば容易に入手しやすいクライアントプログラムや設定ファイル内に、平文で認証情報をハードコードしている場合があったりします。たとえバイナリファイルだとしても文字列の抽出は容易にできてしまいます。少し具体的に書くと、 Password = "system_2" などをプログラムや設定ファイルに書いてあると、計算機内部でファイルを探索することで発見できることがあります。

認証画面はあるが、迂回できる。

近年の制御システムでは、クライアント・サーバ型のシステムも多く存在します。その中でもGUI画面を扱うシステムでは、クライアントで認証画面を表示して、正しいユーザ名とパスワードを入力すると次の画面に進める実装となっている場合も多いのではないでしょうか。このような実装においては容易に認証を迂回できてしまうことがあります。代表的な例はWeb画面での実装ですがWeb画面への攻撃については情報が溢れているので本稿では触れません。ここでは、独自の認証機能を用いてクライアント側で認証する例を紹介します。 例えば、認証画面の画面プログラムと認証機能がクライアントで動いており、認証した結果をサーバに送っているような実装をしている場合があります。認証成功すれば「1」認証失敗すれば「0」をサーバに送信するような実装です。この場合、クライアントへ侵入できれば、クライアントからサーバへの認証結果として「1」を送ることで認証を迂回できてしまいます。クライアントに侵入せずともクライアントプログラムを入手できて制御ネットワークに接続できれば、攻撃者の端末でクライアントプログラムを動作させ、同様に認証結果として「1」を送ることで認証を迂回できてしまいます。このような説明を見ると、こんな実装が本当にあるのか?と思われるかもしれませんが、実際このような例を見かけることがあります。 もともと、認証の仕組みが無いシステムに対して、セキュリティ強化の名目で、とりあえずログイン認証機能を後付けしたような場合に、この手の実装がされることがあるように思います。

ここで、セキュリティ対策に慣れていない制御業界の方へお伝えしたいことは、独自設計でセキュリティ機能を実装することは、専門知識がない限りは避けた方がよいということです。 具体的な対策に関しては、世の中に情報が溢れているので本稿では触れずにおきます。認証情報に関しては、他にも、デフォルトパスワード、推測容易なパスワード、パスワードの使い回しなど、パスワード認証だけとっても話題はキリがありませんが、本稿で触れるのはここまでとします。

USB機器を起点としたインターネット上のC2サーバとの接続

仮に、外部ネットワークから制御ネットワークへの侵入が防げているとすると、次に心配になるのは、制御システムの装置への物理的な侵入です。 誰もが注意しているのは、USBメモリを代表とするUSB機器を使った侵入だと思います。

では、USB機器を起点としてマルウェアが動いたときに、いきなりランサムウェアでファイルが暗号化されてしまうのでしょうか?答えは組み込まれたマルウェアによるとしか言えないのですが、高度な攻撃を行う多くのマルウェアはインターネット上のC2サーバと接続し、C2サーバとやりとりしながら攻撃の段階を進めるという動きをすることが多い3です。

マルウェアがUSB機器が挿されたPCを起点として、インターネット上のC2サーバへ接続を試みる動作をした際、インターネットへつながるルートが存在しなければC2サーバとは接続できません。 しかし、防御者が知らないところでルートが存在していて想定外にC2サーバと接続できてしまうことはあるのです。ここでは2つの観点でインターネット上のC2サーバと接続できる例を紹介します。

アクセス許可設定のミス

1つ目は、FW(Firewall)などのセキュリティ対策機能における通信のアクセス許可設定ミスにより、インターネットへは繋げられない設定としていたつもりがインターネット上のC2サーバと繋げられてしまう例です。 これは人為的な設定ミスであり見聞きしたことがある事例かもしれません。 制御ネットワークの機器を直接インターネットへつなげる必要が無いシステムは多いと思いますし、つなげる必要があっても特定のアドレス・ポートだけの場合がほとんどだと思います。外部から内部への通信については気を使ってFWの設定をしていても、内部から外部への通信にあまり気を使っていない場合があるように思います。制御ネットワークから外部向けの通信についてFWで必要最小限のアドレス・ポートに制限する設定を行うことは、対策として比較的容易で安価だと思うので、設定しないのは勿体無いと思います。

導入した機器の不理解

2つ目は、仮に保守拠点が攻撃者に侵入される事が無く安全と仮定した場合において、保守拠点としか通信できない装置だと思いVPNルータを採用したにもかかわらず、認識と異なり保守拠点以外のインターネット上と通信できてしまう例です。例えば、制御ネットワーク上の機器からVPNルータを介して保守拠点を経由せずにインターネット上の任意のアドレスへのICMP通信が可能であり、ICMP通信を悪用してC2サーバと繋げられてしまうという例です。こちらは、攻撃手法に関する知識が無いがために疑いを持たず安全と思い込んでしまうことのリスクという観点です。少し特殊な例ですので、もう少し解説します。 ICMPは、疎通確認の為のPingなどで使われるプロトコルです。疎通確認するということは問い合わせに対して応答があるわけですから双方向の通信を行います。攻撃者は、このような双方向の通信を行うプロトコルを悪用してC2サーバとの接続を行うことを試みます。ICMPプロトコルをマルウェアとC2サーバ間のトンネルとして使用し、トンネルを介してC2サーバからマルウェアに対し、命令を送るのです。 こちらも対策としては、制御ネットワークからインターネットへは全ての通信が行えないVPNを使うことや、ICMP通信が必要なアクセス先をFWで制限することが考えられます。

ここでは、ICMPを例に説明しましたが、C2サーバとの接続に用いられるプロトコルとしてはDNS(UDP/53),http(TCP/80),https(TCP/443)等の方が有名です。これら有名なプロトコルは気をつけていてもそれ以外のプロトコルまでは気がついていないという方もいると思い、一例としてICMPを取り上げました。

第3者が近づきやすい箇所に設置された制御ネットワークへの物理的侵入

仮に、外部ネットワークからの侵入が防げていて、不正なUSB機器への対策も実施しているとすると、次に心配になるのは、制御ネットワークへの物理的な侵入であり、制御ネットワークのネットワーク機器やLANケーブルなどが物理的な侵入の対象となります。内部者の過失により、マルウェア感染した作業用端末がネットワークに接続される事例はご存知の方も多く注意されていると思いますので、ここでは悪意のある第3者による侵入に着目します。 ネットワーク機器の空きポートからの侵入は、攻撃用の端末をLANケーブルを介してHUBの空きポートに接続すると言えばイメージがつくと思います。しかし、LANケーブルからの侵入についてはイメージがつかない方もいると思いますので別ブログ記事と以下の動画にLANケーブルからの侵入を解説します。

LANケーブルからの侵入

LANケーブルに近づくことができてしまえば比較的容易に侵入できることが理解いただけると思います。

ここでお伝えしたい事は、「では、どのような場所を注意した方がよいのか?」という点です。 防御側の方へは、より具体的な場所を写真などのイメージでお伝えしたい所なのですが、具体的な場所は公開できない為、制御システムセキュリティに関する各種文献でとりあげられている一般事例で紹介します。

まず、誰でも自由に往来できる場所に、ネットワーク機器やLANケーブルが剥き出しで置いてあったら危険だということは想像つくと思います。気にして身の回りの制御システムを観察して見ると、制御システムのネットワーク機器が野ざらしである場合はほぼ無いと思いますし、LANケーブルはダクトの中だったり高所だったりと、簡単には触れない場所にあることが多いことに気づくと思います。システムとして断線されてしまうと困るので当然だと思います。ただ、もう少しじっくり考えてみてください。数百円で購入できるような汎用鍵で開けられるような制御盤が手の届く目の前にあったりしませんか?その中にネットワーク機器が設置されていたら、そこから侵入されてしまうかもしれません。

物理的な配線設計や監視カメラ配置等の検討の際に、このようなことを考慮すると良いかもしれません。例えば、このことを知っていれば、機器を増設するためにネットワークを延長する際に、なにげなく既存のネットワークを延長して、無対策のまま誰でも近づきやすい箇所に制御盤を増設してしまうことは避けるかもしれません。また、第3者が近づける場所に汎用な鍵を使うか否かを考える材料となるとも思います。

ここでお伝えした手法は、筆者が知る限りでは、幸いなことに現実の制御システムに対するインシデント事例として使われた事はないとは思います。実施するには攻撃用の機材を設置する必要があるため、インターネットからやUSB機器での攻撃に比較すると発見されるリスクが高く、攻撃者からすれば、現時点ではコスト対効果が見合わないのかもしれません。 ここで、広い視点で犯罪を考える方なら、「そもそも、そこまで物理的に侵入できるなら、物理的破壊ができるだろうから、それ以上の手の込んだサイバー攻撃を考慮する以前の話しだし、現在もこの現状で攻撃されていないのだから気にしすぎだろう。」と思われるかもしれません。そのような方へ、ネットワークへの侵入後のサイバー攻撃でどのようなことができてしまうのかの例を次に紹介します。

IP通信パケット改ざんによる不正制御

一旦ネットワークへの侵入ができて任意の攻撃ができるようになってしまうと、ネットワークからアクセスできる装置全てが攻撃対象になるため、被害範囲が広がる可能性が高くなることが想像つくのではないでしょうか? その中でも、なぜ不正制御をとりあげるかというと、機能を停止させる攻撃に比べ被害が大きくなる可能性が高いと考える為です。例えばランサムウェアなどのサイバー攻撃によりサーバ類が機能停止した事を考えた場合、機能が正常に動かなくなることによる影響や金銭的な被害は大きいとしても、一般に制御システムは一部の機能が停止しても安全を確保するためのフェールセーフ設計がされている場合が多く、物理的な破壊事象が起こるような被害には陥らない場合も多いと思われます。一方で、例えば、制御システムの操作画面にリモートデスクトップで侵入されてしまい任意の画面操作ができるようになってしまうと、正規の機能を使って意のままに制御システムを操作されてしまい被害が甚大となることが想像つくと思います。イメージが湧きにくい方のために、2017年にWannaCryで話題となったEternalBlueを用いたWindows7への侵入からリモートデスクトップアクセスまでのイメージ動画を用意したのでご覧ください。

EternalBlueでリモートデスクトップに侵入

リモートデスクトップで画面を操作する攻撃は、比較的メジャーな事例で詳細手順も各所で解説されておりご存じの方もいると思いますので、説明はここまでとし、ここからは、少し特殊な事例ですが、サーバ類に侵入せずとも通信パケットを改ざんすることにより不正制御が行えてしまうIP通信パケット改ざんによる不正制御の攻撃事例を紹介します。

ここでは弊社が保有する模擬制御システムである鉄道制御システムを用いて説明します。鉄道制御システムの紹介動画、

鉄道制御システム

および、鉄道制御システムのパケット改ざんにより線路のポイント切替を不正制御する攻撃の様子の動画がありますのでご覧ください。

鉄道制御システムのパケット改ざん線路ポイント切替不正制御

この攻撃が成功してしまう前提は、改ざんするパケットが流れているネットワークと同一セグメントから攻撃ができること、および、通信内容が解析できてどんなパケットを送れば不正制御ができるか特定できることとなります。動画でも解説しているように、制御の命令が平文で流れており一定期間盗聴できて物理事象との比較を観測できるのであれば、どのようなパケットを送ればどのような制御が行われるのか解析することは、解析に慣れた人であれば比較的容易に行えてしまいます。 ここで用いている攻撃は中間者攻撃4といわれる攻撃です。この攻撃手法を用いると、当該ネットワークセグメントの任意の装置間の通信を盗聴し、改ざんすることが可能です。 対策としては、本質的には真正性(データの改ざんがなく、正規の送信元からの情報であること)を確保することですが、まずは通信路を適切に暗号化することで盗聴されても解析されないようにすることだけでも効果が高いです。また、ネットワークセグメントを用途に応じて分割することは、中間者攻撃を行なわれる範囲を狭める効果があります。中間者攻撃には特殊な通信が発生するのでそれを通信監視により検出するという手法もあります。

なお、ここで紹介した鉄道制御システムへの攻撃はあくまで模擬制御システムでの説明であり、実際の制御システムに対して不正制御ができてしまうのか疑問を持つ方もいるかと思います。そのような方へ少し補足します。弊社の過去のテストにおいて、対象システムは異なりますが、実際の制御システムを攻撃し制御対象を攻撃者(テスト実施者)の意図したとおりに不正制御できることを実証した経験はあります。本模擬システムは、その経験とノウハウもふまえてサイバー攻撃について学ぶために制作したものです。

現実に攻撃があるのか (ここは妄想の物語で、攻撃する人は自由な発想をするというお話しです。)

主要テーマに少し記載しましたが、制御ネットワークへ物理的に攻撃端末を接続して攻撃する方法は、マルウェア感染した作業用端末を内部者の過失により接続する事例を除くと、現状ではインシデント事例としてはあまり聞かない内容です。 また、USB機器からの侵入に関してもUSBメモリを悪用した攻撃は現在は多くの組織が気をつけており教育が行き届いていることもあるのか、最近は公開された制御システムのインシデント事例をあまり聞かないのではないでしょうか。最近聞くインシデントは制御システムから見た外部ネットワークからの攻撃が多いと感じています。では、それ以外からの攻撃は将来も増えないのでしょうか? ここでは、数年後の未来に、どのような攻撃装置で制御ネットワーク内部からの攻撃が可能になるか空想してみます。制御システムはライフサイクルが長い為、現実化してから対策を考えだしてもコスト面から対策がとれないことも多々あると思いますので、システム導入時の物理対策検討の際に、頭の片隅にでもいれておいていただいてもよいのではないかと思います。 あやしい機器をつなげられてしまうことが無いように物理対策を考えるということは、いつの時代も一定の効果があると思いますというお話しです。

USB機器の未来

USB機器を使った攻撃は、昔はWindowsのAutorunやリンク機能の脆弱性をついたUSBメモリを使った攻撃というものが有名となり、実際の制御システムへの攻撃でも使われていました。高度な攻撃としてはUSBメモリを介してエアーギャップを超えた双方向の攻撃がなされた報告もあります。 その後、近年ではBadUSBと呼ばれるものが存在していることをご存じの方も多いと思います。有名なものはUSBメモリの形をしているが実際はキーボードとして認識されるものです。 事前に記録した内容をキー入力できるものや、Wi-Fi経由で遠隔操作でキー入力を流し込むことができる製品もあります。現在では、Wi-Fi経由で遠隔操作可能なケーブルタイプのものもあり、当該ケーブルでキーボードと接続するとキーロガーとして動くものまであります。製品を検証した動画を用意したので興味ある方はこちらをご覧ください。

BadUSBでキー入力やキーロガー検証

上記動画は2022年に作成したものですが、2024年現在では、ケーブルからの入力方向の攻撃だけでなくケーブルへ計算機内の情報を出力するという仕組みまで実装検証が進められています。キーボードにはCaps Lock, Num Lock, Scroll Lockという状態をランプ表示するキーがあります。つまりキーボードに対し3bitの情報を出力できるということです。これを応用すれば任意の情報を出力できるという仕組みです。安定性やスピードを無視すれば確かにshell操作とその結果出力をケーブルで取得できることは確認できたので本件に関する情報もいずれ各所から公開され出すのではないかと思います。

小型無線機能付き攻撃端末

年々PCをはじめとする攻撃に使える端末が小型化していることや様々な長距離無線ネットワークが生まれていることを考慮すると、数年後には小型無線機能付き攻撃端末を使った攻撃が現実化する未来が来るかもしれないと考えています。現在でもRaspberry Piなどの無線機能を持つ小型PCを物理侵入した内部LANに接続し、攻撃起点として遠隔操作して攻撃する手法は有名であり、防御組織と攻撃側(レッドチーム)が対峙する弊社のTLPT(Threat Led Penetration Test)で利用することもあります。ただし、電源が必要だったり手のひらサイズほどの大きさがあることを考えると、攻撃端末がネットワークに接続されれば発見できる可能性もあるとも思います。しかし、機器が小型化し、かつPoE(Power over Ethernet)などでLANから給電可能などの条件がそろっていけば、 遠からぬ将来に、フリスク程度の大きさの装置で、無線で遠隔から入出力双方向の操作可能な機器が現れるかもしれません。そうなれば、そのような装置が攻撃の起点として利用される未来が予想されます。

攻撃者の観点から見た場合、遠隔地から攻撃対象のネットワークの構成によらず双方向のやりとりができる長距離無線インタフェースを持つ攻撃端末は魅力的と言えます。 例えば、上記のLANへ接続する端末は典型的な侵入口の例ですが、他にも各種装置のコンソールポートへ接続して侵入する端末が開発されるかもしれません。

便利なものは誰にとっても便利

妄想はつきません。弊社には、伝聞や妄想にとどまらず思いついたアイデアは実際に使えるか検証してみるという社風があり、本項に関してももう少しお伝えしたい手法もあるのですが、一般公開されていない手法を公開することで悪用される事は避けたいため、それらについては信頼できる方へお話しさせていただきたいと思います。お会いする機会がありましたら声をかけてください。便利になるということは、それを悪用するものにとっても便利になるということです。何か新たな機材や機能を追加する際に、「これが悪用されたらどうなるのだろう?」と、好奇心をもっていただくとよいのかなと思います。興味を持つと、自ずとセキュリティ対策についても自分ごととしての意識が高まるのではないでしょうか。

まとめ

本稿では、インターネット上から直接アクセスできない制御システムにおいて、ある前提条件が成立すれば攻撃の目的が達成できるという事実と、その攻撃手法概要をお伝えしました。

「このような事実もあるので、もしご存知ない情報があれば、セキュリティ対策を検討される上での前提知識に加えてください。」という趣旨が伝わりましたでしょうか。

制御システムに関わる方が、攻撃側の視点からの弱点を聞く機会は少ないかと思います。本稿が、少しでも制御システムセキュリティ対策を考える上でのヒントになりましたら幸いです。


  1. 正式名称は、「令和2年度 2020年東京オリンピック・パラリンピック競技大会に向けた重要サービス事業者等のサイバーセキュリティに係る技術的対策の調査等業務」および「令和3年度 2020年東京オリンピック・パラリンピック競技大会に向けた重要サービス事業者等のサイバーセキュリティに係る技術的対策の調査等業務」です。 ↩︎

  2. OT系のインシデント事例を紹介しているサイト例: https://icsstrive.com/ , https://www.ipa.go.jp/security/controlsystem/incident.html ↩︎

  3. 例外として、Stuxnetのようにネットワークと介さずUSBメモリ経由で外部とのやりとりを行なった例もあるので「多い」という記載としてあります。air gapを超えた攻撃の歴史に興味がある方は、ESETのレポート https://www.welivesecurity.com/2021/12/01/jumping-air-gap-15-years-nation-state-effort/ が参考になるとおもいます。日本語の概要も公開されています。 ↩︎

  4. 中間者攻撃とは、通信者間の通信を傍受し、盗聴や改ざんを行う攻撃手法です。攻撃者は通信者間に自身のコンピュータを割り込ませ、通信内容を監視・操作します。これにより、機密情報の窃取や、通信内容の改ざんによる不正な指示の注入などが可能になります。 ↩︎

© 2016 - 2024 DARK MATTER / Built with Hugo / テーマ StackJimmy によって設計されています。