クラウドベースのサービスを除いて、企業で利用されるMESがインターネットに直接接続されることはまずない。MESが外部のサイバー攻撃者に侵害されるとすれば、ITシステム経由で攻撃される。また、MESは内部データベース(今回はMicrosoft Access)を利用して、管理者が作成した作業計画を保管する。作業計画が実行されると、MESはこのデータベースを使用して、作業計画の操作をさまざまなステーションの一連のパラメーター値に変換する。
例えば、操作「製品右下箇所にドリル」という指示がパラメーター値「2」に対応し、ドリルを制御しているステーションとの通信で使用されるといった形である。入力データを全て受け入れるというMESの特性を踏まえると、MESデータベース値の改ざんによる影響を考慮する必要がある。これらの理由から、MESを狙った現実的な攻撃手法は、以下の3つのステップで攻撃するモデルが考えられる。今回の実験で利用したMESは「FESTO製MES4(v 1.1.0.9)」だが、上記の攻撃シナリオは、データの完全性チェック機能が無いMES全てに適用できる。
上記の攻撃手法を研究用のスマート製造システムに対して実行したところ、MESがデータベースを認証できないこと、各レコードの完全性を検証する方法を有していないことが確認された。これにより、攻撃者はデータベースを任意に改ざんし、以下の攻撃を行うことができた。
データベース上のパラメーター値を変更することでマシンの作業内容も変更されてしまい、結果として不良品が製造されてしまうことを確認した。本研究では、データベース操作により「製品右下箇所にドリル」のパラメーター値「2」を「1」に変更したところ、オペレーターが通常通りテンプレートを実行しても、意図しない箇所にドリル作業が施される結果となった(写真1)。この攻撃は、ドリル操作以外にも適用可能である。同様に、カメラチェックの結果を改ざんすることによって、製造物に欠陥がある場合にも「問題なし」と判断してしまうという結果も確認された。
データベース上のパラメーター値に「範囲外」の数値を入力することで、サービス拒否(DoS:Denial of Service)攻撃を引き起こすことが可能であることも確認できた。各ステーションのアクチュエータ(ドリルやプレッサーなどの機器)の動きは、データベースのパラメーター値と連動している。今回はドリルの掘削位置を決めるパラメーター値は「1」または「2」の2択だったが、ここに範囲外の数値である「5」を入力したところ、ドリルは正常に作動せず、結果的に生産ラインが停止してしまった。
この攻撃を回避する最善の戦略はデータベースおよびERPなどの基幹システムが危険にさらされるのを防ぐことである。先述した通り、MESへの全ての通信トラフィックは許可されてしまう構成となっており、MESも基本的にはデータの完全性チェック機能を持ち合わせていない。従って、データベースをいかに保護するかが重要なアクションとなる。
具体的には、データベースへのアクセス制御やユーザー認証、ログ監視が有効だろう。また、データベース値が変更された場合にアラートを発報するなど、データの完全性チェック機能の実装が求められる。スマート工場における製造プロセスの上流を支えるMESには、データの信頼性が求められる。今回のリサーチ結果が、スマート工場化を進める上での参考となれば幸いである。
第4回では「オープンソースライブラリの改ざんによる産業用IoTデバイスの侵害」の攻撃シナリオについて考察する。
≫「スマート工場に潜むサイバーセキュリティリスク」のバックナンバー
石原 陽平(いしはら ようへい)
トレンドマイクロ株式会社
グローバルIoTマーケティング室 セキュリティエバンジェリスト
カリフォルニア州立大学フレズノ校 犯罪学部卒業。台湾ハードウェアメーカー入社後、国内SIerにおける工場ネットワーク分野などのセールス・マーケティング経験を経て、トレンドマイクロに入社。世界各地のリサーチャーと連携し、最先端のIoT関連の脅威情報提供やセキュリティ問題の啓発に従事。
Copyright © ITmedia, Inc. All Rights Reserved.