産業ロボットのハッキング

2017年8月15日

コンピューターの画面にランサムウェアの身代金要求メッセージが表示されるのは気分のいいものではありませんが、WannaCryExPetr/NotPetyaは最悪のシナリオではありません。Black Hat(英語サイト)では、もっと物理的なサイバー攻撃が明らかになりました。

世界各地の何千もの工場では、あらかじめプログラムされた動作に従って箱の移動や部品の穴あけなどを行う、マニピュレーターを搭載したロボットが採用されています。これらのロボットはかなり複雑で、作業員が監視用に使うコンピューター、コントローラー、マニピュレーターで構成されています。「箱を持ち上げる」「アームの向きを変える」などの論理的な動作を記述したプログラムが制御用コンピューターにて作成され、コントローラーがさらに細かな手順へと分解していきます。

このプロセスは、多くの要因が絡んで複雑です。たとえば、箱を持ち上げるという動作ひとつをとっても、スムーズに一定の高さまで持ち上げる必要がありますし、箱をしっかり掴んでおくには「フィンガー」部の押す力を一定の値に保たなければなりません。また、マニピュレーターが正確に箱を持ち上げることができるように、所定の時間に一定の電圧をサーボモーターへ加えるためのデータを保持する構成ファイルがコントローラーに保存されています。

サイバーセキュリティの管理

ロボットが安全に動作するように、産業ロボット開発企業は膨大な労力をつぎ込んできました。操作上の問題やロボットの故障が発生した場合に備え、さまざまな安全装置や論理検査やユーザーマニュアルを用意して工場と作業員を物理的な被害や損傷から守っています。さらに、工場のインフラは「信頼」という前提に立っており、ロボットは制御コンピューターを全面的に信用しています。

しかし、この前提が常に正しいとは限りません。調査では、一部のロボットが、(製造元からアップデートを受信するためや、テレメトリーデータを本社へ送るために)インターネットに直接接続されていることが明らかになりました。また、完全に分離されていない工場のWi-Fiネットワークに接続している場合もあります。このため、悪意ある意図を持った人が、専用のスキャナーを使ってロボットを発見することが可能です。

ロボットは格好の餌食です。ファームウェアのアップデートには暗号が使われませんし、ファームウェアにはデジタル署名がなく、使われるのは既定のユーザー名とパスワードです。ロボットのIPアドレスがわかれば、ロボットの構成ファイルを書き換え、操作ロジックを変えることができます。

ロボットをハッキングする理由

ハッカーの目的によりけりですが、スパイ行為(既存の構成ファイルをダウンロードして製造上の企業秘密を見つけ出す)や妨害工作が考えられます。デモでは、直線を描くロボット(実用としては電気溶接に応用可能なもの)に対して巧妙な攻撃をしかける様子が披露されました。ロボットがハッキングされると、マニピュレーターの位置がわずかに(1ミリの何分の1程度)ずれました。肉眼では認識できないほどのわずかな誤差ですが、できあがったものは不良品になるでしょう。ロボットのプログラムは変更されず、唯一影響を受けたのはコントローラーのパラメーターでした。

あくまでも仮説の域を出ませんが、作業員に危険が及ぶ可能性もあります。たとえば、可動型ロボットの移動範囲の限界値が書き換えられたならば、大惨事につながりかねません。

このような攻撃に対する防御策は、短期的には、ロボットのセキュリティを強化してロボットが外の世界からアクセスされにくくすることと、存在することがわかっているセキュリティホールにパッチプログラムを適用することです。長期的には、ロボットの製造業者は新しい方法を見つけ出し、生産規格を更新し、物理的な安全と電気的な安全の要件に加えてサイバーセキュリティも第一に考えなければなりません。Kaspersky Labは、こうした目標の達成を支援する重要インフラ向けのセキュリティソリューションを提供しています。