PACSEC 2021 DOJO

制御システムとIIoTの評価と活用

講師: Justin Searle

Justin Searle

Justin Searleは、InGuardiansのICSセキュリティのディレクターであり、ICSセキュリティアーキテクチャの設計と侵入テストを専門としています。彼は、NIST Interagency Report 7628の作成でスマートグリッドセキュリティアーキテクチャグループを率い、スマートグリッドの高度なセキュリティ加速プロジェクト(ASAP-SG)、国立電気セクターサイバーセキュリティ組織リソース(NESCOR)、およびスマートグリッドで重要な役割を果たしてきました。相互運用性パネル(SGIP)。

Justinは、複数の大学、企業、セキュリティ会議で、ハッキングテクニック、フォレンジック、ネットワーキング、侵入検知のコースを教えてきました。彼は現在、SANS Instituteのシニアインストラクターであり、IANSの教職員です。 Justinは、電力業界の会議に加えて、Black Hat、DEFCON、OWASP、Nullcon、AusCERTなどの主要な国際セキュリティ会議に頻繁に参加しています。

Justinは、The Control Thing Platform、Samurai Web Testing Framework(SamuraiWTF)、Samurai Security Testing Framework for Utilities(SamuraiSTFU)などの著名なオープンソースプロジェクトを主導しています。彼は国際技術のMBAを取得しており、CISSPおよびSANS GIAC認定のインシデントハンドラー(GCIH)、侵入アナリスト(GCIA)、Webアプリケーション侵入テスター(GWAPT)、およびGIAC産業用制御セキュリティプロフェッショナル(GICSP)です。

 

インストラクターの連絡先情報

InGuardians、ICSセキュリティディレクター、Justin Searle

トレーニングとオープンソース:justin@controlthings.ioコンサルティングとテスト:justin@inguardians.com

セル:+1 801-784-2052

Twitter

LinkedIn

 

コーススケジュール

時間と日付は未定です。

コース概要

これは、従来のSCADA / ICS / IIoTセキュリティコースではありません。自分のPLCとハードウェア/ RFハッキングツールのセットを含む500ドルのキットを持って帰宅するコースはいくつありますか?!?このコースでは、組み込み電子フィールドデバイス、ネットワークプロトコル、RF通信、ヒューマンマシンインターフェイス(HMI)、さまざまな形式のマスターサーバーとそのICSアプリケーションなど、制御システムの個々のコンポーネントをテストするために使用される実践的な侵入テスト手法について説明します。このコースで学習するスキルは、スマートグリッド、PLC、RTU、スマートメーター、建物管理、製造、ホームエリアネットワーク(HAN)、スマートアプライアンス、SCADA、変電所の自動化、同期フェーザー、さらにはIoTなどのシステムに直接適用されます。 。このコースは、米国エネルギー省のためにUtiliSecによって作成された正式な侵入テスト方法論を中心に構成されています。この方法論と、エネルギーセクターシステムやその他の重要なインフラストラクチャをペネトレーションテストするためのオープンソースLinuxディストリビューションであるControlThings Pentest Platform(以前のSamuraiSTFU)を使用して、ユーザーインターフェイス(マスターサーバーとフィールドデバイスメンテナンスインターフェイス)で実践的な侵入テストタスクを実行します。制御システムプロトコル(modbus、DNP3、IEC 60870-5-104)、独自のRF通信(433MHz、869MHz、915MHz)、および組み込み回路攻撃(メモリダンプ、バススヌーピング、JTAG、およびファームウェア分析)。これらの手法と演習を、これらの手法を使用してテストできる制御システムデバイスに結び付けます。コースの演習は、実世界とシミュレートされたデバイスを組み合わせて実行され、ポータブルな教室環境で可能な限り最も現実的な体験を学生に提供します。

エネルギー部門のスマートグリッドなどの最新の制御システムの進歩は、資産の所有者/運営者と顧客の両方に大きなメリットをもたらしましたが、これらのメリットはセキュリティの観点からコストがかかることがよくあります。機能の向上とシステム間通信の追加により、最新の制御システムは、ベンダー、資産所有者/オペレーター、および社会一般が望ましい利益を実現するために受け入れなければならない妥協のリスクを高めます。このリスクを最小限に抑えるには、攻撃者が世界中のすべての国に存在する重要なインフラストラクチャを悪用する前に、他のセキュリティ評価タイプと組み合わせて侵入テストを実行して脆弱性を最小限に抑える必要があります。最終的に、これはこのコースの目標であり、制御システムでこれを安全に実行する方法、時期、場所を知るのに役立ちます。

コースの前提条件

基本的な侵入テストの経験が望ましいですが、必須ではありません。参加者は、ICS、スマートグリッド、SCADA、または重要なインフラストラクチャについての知識がないと想定されています。このコースは、エンジニア、技術者、アナリスト、マネージャー、侵入テスターなど、中級レベルのセキュリティ専門家を対象としています。

ICSの経験がほとんどまたはまったくない人のために、これらのWikipediaの記事では、クラスで知っておくと役立つ制御システムの概念と歴史について簡単に紹介しています。

  1. http://bit.ly/2WzuVZu    (基本的なICSコンセプトの大きなYouTubeプレイリスト)

  2. http://en.wikipedia.org/wiki/ICS

  3. http://en.wikipedia.org/wiki/SCADA

  4. http://en.wikipedia.org/wiki/Distributed_control_system 

  5. https://en.wikipedia.org/wiki/Programmable_logic_controller

  6. http://en.wikipedia.org/wiki/Smart_grid 

  7. http://csrc.nist.gov/publications/nistpubs/800-82/SP800-82-final.pdf - NIST 800-82は、産業用制御システムとそれらを取り巻くセキュリティ問題の優れた入門書です。

  8. http://kunststube.net/encoding - ASCII、Unicode、UTF-8、UTF-16、およびUTF-32を理解する

コース学習の目的

  1. 参加者は、産業用制御システムと産業用モノのインターネットで侵入テストを実行する際に使用される手順と方法論を説明できるようになります。

  2. 参加者は、ControlThings Platformの無料のオープンソースツールを使用して、Webアプリケーションの脆弱性を発見および特定できます。

  3. 参加者は、いくつかのハードウェア、ネットワーク、シリアル、ユーザーインターフェイス、RF、およびサーバー側の脆弱性を悪用できるようになります。

誰が出席すべきか

発表される。

コースの議題

1日目の概要–コントローラーの評価と活用

基本的な制御システムの概念、システム、およびデバイスを理解する

  • 制御システムアーキテクチャ

  • PLC、RTU、およびIED

  • RTOSを理解する

  • 産業用および非産業用

  • IIoTとは何ですか?IoTとの違い

  • フィールドデバイス、バス、およびループ

  • DCSとSCADA

コントローラロジックを理解する

  • VelocioPLCと他のPLC

  • コントローラロジックを作成する実践的な演習

  • PLCのプログラミング実習

  • HMIを作成する実践的な演習

主要なICSおよびスマートグリッドシステムのアーキテクチャレビュー

  • 監視制御およびデータ取得(SCADA)

  • 配電グリッド管理(DGM)および変電所自動化(SA)

  • 広域管理、保護、および制御(WAMPAC)

  • デマンドレスポンス(DR)

  • 分散型エネルギー資源(DER)

  • Advanced Metering Infrastructure(AMI)

  • 電気自動車(EV)

ControlThingsプラットフォームの概要

  • 仮想マシンのセットアップ

  • ツールと機能をウォークスルーする

  • 学生用ハードウェアキットの紹介

ペネトレーションテストのためのNESCOR方法論の紹介

  • ペネトレーションテストの準備

  • アーキテクチャレビュー

  • マスターサーバーのテスト

  • ユーザーインターフェイスのテスト

  • ネットワーク通信のテスト

  • 組み込みフィールドデバイスのテスト

  • エンドツーエンドの評価

  • 報告

ICSユーザーインターフェイスの種類

  • 従来のアプリケーション

  • Webアプリケーション

  • ターミナルインターフェース

ICSフィールドおよびフロアデバイスのペネトレーションテスト

  • フィールド技術者インターフェースの機能分析

  • 技術インターフェースへのUSB通信をキャプチャする実践的な演習

  • キャプチャされたUSB通信を分析する実践的な演習

  • フィールド技術インターフェース通信におけるエンドポイントのなりすまし

  • Pythonでベンダーエンドポイントになりすます実践演習

  • 分析中に見つかった脆弱性の悪用

2日目概要–ICS通信プロトコルの評価と活用

制御システムで従来のネットワークペンテストを実行する

  • 従来のネットワーク侵入テスト方法の概要

  • ポートと脆弱性スキャンの危険性

  • ポートおよび脆弱性スキャンを実行するための戦略

さまざまな通信レイヤーの侵入テスト

  • 通信媒体と通信プロトコルのテスト

  • セキュリティ防御を配置する場所……そしてテスト済み

シリアル通信

  • RS-232、TIA-422、およびTIA-485

  • フィールドバスプロトコルとプロトコルファミリ

  • シリアルModbusRTUのハンズオンスニッフィングとインジェクション

TCP / IPベースのICSプロトコルの侵入テスト

  • プロトコルのキャプチャと分析

  • ModbusTCP、ProfiNet、EnternetIP / CIP、DNP3、IEC 104、IEC 61850、ICCP

  • 未知のプロトコルの処理

  • ネットワークペイロードの実践的なエントロピー分析

  • 未知のプロトコルのリバースエンジニアリング

  • 実践的なICSプロトコルのファジング

3日目概要– ICSRF通信の評価と活用

マスターサーバーとフィールドデバイス間のRF通信の侵入テスト

  • ICSおよびIIoTでRFが使用される例

  • RFペネトレーションテストの方法論の概要

RF信号のキャプチャ

  • さまざまなRFプロトコルに使用されるハードウェア

  • SDRとrfcat

  • 異なるSDRハードウェアの比較

  • 適切な周波数を見つける

  • 適切なアンテナを使用する

  • 実践的なRFスペクトル分析

  • 実践的なRF信号のキャプチャ

キャプチャされた信号の分析

  • スペクトラム拡散のタイプと戦略

  • 周波数ホッピングを回復するための戦略

  • 変調と復調

  • 変調タイプを識別する方法

  • Universal Radio Hacker(URH)を使用したハンズオントラフィック復調

データ抽出

  • データストリームがどのように組み立てられるかを理解する

  • URHを使用したデータストリームの実践的な分析

  • URHを使用した実践的なパケット化

RF送信

  • トラフィックの送信と悪用

  • 送信に必要なハードウェア

  • 反射攻撃

  • URHによる信号伝送

  • rfcatとGreatScottGadgetsのヤードスティックを使用した実践的な信号生成

4日目概要–ICS組み込み電子機器の評価と活用

組み込み機器回路の侵入テストの概要

  • 物理的に露出したデバイスを介したローカル攻撃

  • 物理攻撃をリモート攻撃に拡大

  • 暗号化キーとファームウェア

ICSフィールドおよびフロアデバイスに組み込まれた電子機器の分析

  • デバイスの分解に関する議論

  • 組み込み回路の成分分析

  • ターゲットコンポーネントのデータセットの取得と分析

組み込み回路に保存されているデータをダンプする

  • バスパイレーツおよび他の同様のツールの使用

  • I2Cまたは2線式シリアルプロトコルの概要

  • I2CEEPROMをダンピングする実践的な演習

SPIシリアルプロトコルの概要

  • SPIEEPROMをダンプする実践的な演習

  • JTAGの概要

  • デバッグインターフェイスとのインターフェースをとる実践的な演習

  • 組み込み回路でのバススヌーピング

バススヌーピングの概要

  • 実習スヌーピングバス

  • データダンプとバススヌーピングから取得したデータの分析

  • データセットの文字列分析を行う実践的な演習

  • データセットのエントロピー分析を行う実践的な演習

  • データセットを介して体系的なキー検索を行う実践的な演習

  • データセットからファイルカービングを行う実践的な演習

フィールドおよびフロアデバイスのファームウェアの分析

  • フィールドおよびフロアデバイスのファームウェアの取得

  • ファームウェアを分解する実践的な演習

  • 分解されたファームウェアを分析する実践的な演習

  • ファームウェアの欠陥の悪用

ハードウェア要件

  1. 64ビットオペレーティングシステムを搭載した64ビットプロセッサ

  2. 64ビットVMを実行するためにBIOSで有効になっているVTまたはその他の64ビット仮想化設定

  3. 少なくとも8GBのRAM、可能であれば16GBを推奨

  4. 少なくとも50GBのハードドライブの空き容量

  5. ホストラップトップまたはVM内にインストールされたWindows10.x

ソフトウェア要件

  1. クラスが開始する前にインストールされたVMwareWorkstation Player 15(またはそれ以降)、VMware Workstation Pro 15(またはそれ以降)、またはVWware Fusion 11(またはそれ以降)。 Parallels、VirtualBox、または以前のバージョンのVMware製品などの他の仮想化ソフトウェアは、出席者がその機能に精通し、その構成の完全な所有権を持っている場合に機能する可能性がありますが、VMware以外のソフトウェアは公式にはサポートされていないため、VMwareは次のようにプレインストールする必要があります。万が一に備えたバックアップ

  2. 管理者権限を持つアカウントへのアクセスと、クラスで必要な場合はウイルス対策やファイアウォールなど、ラップトップ上のすべてのセキュリティソフトウェアを無効にする機能

  3. ホストマシンにLinuxを使用している場合は、USBd用にExFATドライバーをインストールする必要があります。

含まれているコース資料

次のアイテム(または空き状況に応じて大まかな同等物)が各学生に提供され、クラスで使用し、コース終了後も保管します。

  1. プログラマブルロジックコントローラー(PLC)

  2. PLCをプログラムして保持するソフトウェア(有効期限が切れていない)

  3. PLCのHMIをプログラムするソフトウェア(有効期限なし)

  4. RTL-SDR(ソフトウェア無線)

  5. グレートスコットガジェットヤードスティックサブGHzラジオ

  6. グレートスコットガジェットGreatFET

  7. SPIおよびI2CEEPROMを備えたブレッドボード

  8. ファームウェア演習用のTivaCLaunchpad(ARM m4)

  9. USB上のControlThingsプラットフォームの最新バージョン

  10. あなたのラップトップのための力

  11. コースを主催する施設によっては、インターネット接続が利用できる場合とできない場合があります。

  12. コーススライドデッキのPDF版


Previous
Previous

Linux、Docker、Kubernetesの攻撃と防御