Talos の産業用制御システム(ICS)セキュリティ チームは、業界内または学生から ICS テスト ラボの構築方法を聞かれることがよくあります。一番の学習方法は、機器を入手して自分でいろいろ実践してみることです。残念ながら、質問の多くは、従来の IT 標準やネットワーク トポロジに基づいています。これは、誰もが陥りやすいエラーです。一般的な IT ネットワーク コンポーネント(ワークステーション、サーバ、スイッチ、ルータ、ファイアウォールなど)は誰もがよく知っています。よく知っているものに考えが行ってしまうのは、自然なことです。普段の ICS 機器コンポーネントを組み立てれば、ICS テスト ラボが完成すると誰もが思うことでしょう。
実際、産業用制御システム ネットワークに典型的なものはひとつもありません。産業用制御システムの仕組みと、それがどのようにしてプロセスを生成しているかを総合的に理解することは単純ではありません。電力会社と石油精製所では、同じ ICS 機器をまったく異なる環境と設定で使用します。実装を理解することが難しくなる理由のひとつです。このような業界または業種の多様性により、(しばしば高価な)機器を購入することはもちろん、適切な ICS テスト ラボの開始点を見つけることさえ困難な状況です。
ICS チームのメンバー(Joe Marshal、Patrick DeSantis II、Carlos Pacho) は、Talos の上層部からこの問題を解決し、ICS テスト ラボを構築する方法を見つけるように指示されました。簡単な作業ではありません!今となれば、答えは簡単ですが、これを見つけるまでが大変でした。
PROJECT ADVANCED PERSISTENT THIRST
熟考と調査を重ねた結果、チームは、ハッキングと祝杯への情熱を組み合わせたテスト ラボを作成することにしました。こうして、プロジェクト APT が誕生したのです。プロセスに応じて自動または手動で液体を分配できる ICS 駆動式液体分配システム(読み:ビール サーバ/Kegerator)を作成します。「プロセス」が、ここでのキーワードです!私たちは、機器を購入する前に、作成したいプロセスを把握していました。テスト ラボを構築する際、機器を購入する前に最終目標をしっかり把握しておくことは重要課題です。テスト ラボに必要な機器は、目標とするプロセスによって決まります。私たちの場合、プロセスはビール サーバからビールを自動注入することでした。私たちの知る限り、新鮮な SCADA ビールを注ぐことのできる ICS 駆動式ビール サーバの構築は初の試みです。
これが私たちの構築したテスト ラボ、Advanced Persistent Thirst(高度で持続的なのどの渇き)です。
APT の心臓部
プロセス制御ネットワーク(PCN)の中心部は、Allen-Bradley MicroLogix 1400 Programmable Logic Controller(PLC)です。ビール注入のためのロジックを PLC が処理します。それが、産業用アンマネージド スイッチにつながり、シンプルかつ効果的な PCN を作成します。外部アクセスを制御するために、Moxa ワイヤレス アクセスポイントを PCN へのリモート接続を許可するように設定しています。
上部パーツ
ヒューマン マシン インターフェイス(HMI)は、Allen-Bradley PanelView 800 です。カスタム デザインのノズルで簡単にビールを注入できるカスタム GUI を実行します。ノズルが 2 つあり、複数容器サポートと注入に理想的に対応します。デザイン試行を何度も繰り返し、技術的課題を克服した結果、CAD でデザインし、3D プリンターでできたカスタム タップ タワーです。両方のビール ノズルおよびリニア ソレノイドを駆動させ、ビール蛇口をオープン位置に動作します。蛇口をオープンにする「筋力」は、リニア 68oz プッシュ ソレノイドです。蛇口ハンドルの玉継手に水平に接続し、円滑なオペレーションと最適なビール フローを実現します。リニア ソレノイドは通常一方向(この場合は、蛇口をオープンする方向)にしか作動しないため、蛇口は自動収納されます。
PCN
プロセス制御ネットワークに関して、プロジェクト APT はシンプルかつ効果的です。プロセス実行は一度のみで、それに必要なロジックは単純です。これは意図的にそう設定しています。プロジェクト APT の公然の秘密は、PCN がハッキング可能だということです。PCN 上のすべてのデバイスに脆弱性は存在し、攻撃者がその気になれば、プロセスを妨害し、停止させることができます。これらの脆弱性は、必ずしも、ゼロデイまたは意図的にデザインされたエクスプロイトではありません。攻撃は、ファームウェアの上書きから、単純に HMI または PLC に DoS を作成するものまで可能です。これは ICS のあまり知られたくない秘密です。プロセス主導の信頼性のためにデザインされている一方で、ICS デバイスは、多くのサイバー攻撃に対して(または安全な IT プロセスに対しても)非常に脆弱な面があります。ICS デバイスの脆弱性に加え、多くの運用テクノロジー(OT)ネットワークはしばしば「フラット」でセグメント化されておらず、そしてほとんどの場合、ビジネス プロセスをサポートするために、最新の情報技術ネットワークに接続されています。プロジェクト APT はそれを擬態していて、ICS デバイスが攻撃されたときの状況をあまりにも痛々しく実証します。プロセスは止められ、私たちの場合、ビール ジョッキは空のままです。
ON THE ROAD
APT を構築した後、他の人にチャレンジさせる、よい ICS 課題があると思いつきました。Moxa ワイヤレス AP と Industrial Firewall に接続し、保護とセグメンテーションを確保しました。こうして秀逸な ICS ハッキング課題ができました。ICS プロトコルを解明し、HMI に触れることなくビールの蛇口を作動させることができる人がいるしょうか?この検証をするため、私たちはプロジェクト APT を持って出かけました!ケンタッキー州のルイビル市で開催された DerbyCon 6.0 で私たちのビール サーバを発表したのです。
このコンベンションは、Advanced Persistent Thirst にとって大成功でした。私たちのプレゼンテーションは、とても評価されたようです。その週末、このビール サーバのハッキングを試みた参加者たちはとても苦労していました!
APT のハッキングに取り組む参加者たち
ICS ネットワークをハッキングするには、かなり勉強しなければなりません!プロセス制御ネットワークを理解し、PLC を操作するには、熱意と時間が必要です。多くの参加者がチャレンジした中で、4 人が APT のハッキングに成功し、ワイヤレスでビール サーバを動作させることができました。APT 初のハッカー Andrew、Jonathan、Nick、Jared おめでとうございます!彼らの達成を賞して、誰もが羨む Talos チャレンジ コイン が贈られました。
あなたの近くに Advanced Persistent Thirst が来た際には、ぜひハッキングを試みてビール一杯勝ち取ってください。私たちのプロジェクトに興味を持ってコメントをくださった皆様、ICS とプロジェクト APT の構築方法に関心を持ってくださった皆様、本当にありがとうございました。暖かいお言葉と興味を抱いてくださったことに感謝いたします。より多くの皆様に ICS についてさらに知っていただけることを願います。
本稿は 2016年9月26日に Talos Group のブログに投稿された「Project APT: How to Build an ICS Network and Have fun at the Same Time」の抄訳です。