NSAは、オープンソースツールGrassmarlinの産業用ICS / SCADA状況認識を開発しました
Nsa Developed Industrial Ics Scada Situational Awareness Open Source Tools Grassmarlin
ツールの紹介
GRASSMARLINは、米国国家安全保障局によって開発されました。運用および保守エンジニアは、IPネットワーク上の産業用制御システム(ICS)ホスト用の監視制御およびデータ取得(SCADA)システムとオープンソースソフトウェアツールの検出とカタログ化を支援できます。パッシブネットワークマッパー。
PCAPファイルキャプチャ、ルーターとスイッチの構成ファイル、CAMテーブル、リアルタイムネットワークデータパケットなど、非常に多様なデータソース。このツールは、利用可能なネットワークを自動的に識別し、ネットワークトポロジを生成し、ホスト間の視覚的な通信を実現しますが、ホスト通信から抽出されたメタデータを表示することもできます。
nmapと同様に、plcscanのこれらのイニシアチブマッピングツールは、ネットワークを介してパケットを送信して分析し、最終的には可能性があると結論付けました。しかし、GRASSMARLINはそのような分析ツールではなく、産業機器、システム管理者、監査人、またはその他の人を受動的にマッピングして、作業深度分析を完了します。その機能は、膨大な量のデータからいくつかの結論を引き出す方法に焦点を当てていませんが、これらのデータを組み合わせて、労働者がより高い精度の決定を下せるようにすることによってです。
サポートシステム
GRASSMARLINは、次のシステムに適用されます。
Microsoft Windows(64ビットWin7,8,10)
Fedora(23)、Ubuntu(14.04、15.10およびSecurityOnion)
Kali2.0
CentOS(6、7)
Debian(8)
もちろん、Windows32ビットシステムなどの他のバージョンのシステムにも適用できます。ソフトウェア開発者もこれらの環境をテストしますが、追加の構成がないと、このツールが正しく機能することを保証できません。これらを他のプラットフォームで実行すると、GRASSMARLINによってパフォーマンスが低下したり、インストールやその他の問題の後に再構成されたりする可能性があります。
詳細作品
パッシブ検出
パッシブ検出モードであるため、GRASSMARLINにはネットワーク上にトラフィックがありません。また、従来のパケットアナライザとしてのみ、ネットワーク上のトラフィックをスニッフィングします。これは、GRASSMARLINがホストトラフィックでスニッフィングされた実際の情報しか分析できないことも意味します。
GRASSMARLINの視覚範囲
論理ビューリアルタイムのトラフィックキャプチャで取得することも、キャプチャファイル(PCAPファイル)を介して取得することもできます。また、物理的なビューと同様の論理的なビューは、ログCiscoルーターを受動的に生成します。
論理ビュー
表示されているネットワークトポロジは次のとおりです。
2つのSiemensPLCの論理ビュー
トポロジー これは、2つの産業用通信プロトコルS7Comm産業用パケットキャプチャデバイスを使用して生成されます。からのそれらのPCAPファイル https://wiki.wireshark.org/S7comm ダウンロード。
メイン(右上)の上の図は、デバイス、ネットワーク上のデバイス、サブネットワーク間の通信を示しています。各デバイスはIPアドレスで識別されます。
統合されたデジタル署名をさらに使用すると、GRASSMARLIN識別プロトコルを産業用機器および機器で使用できます。
提供される論理ビューの詳細GRASSMARLIN
使用する場合のFIGプロトコルはS7Commです。詳細は、より多くのアクションデバイスです。ホスト(マンマシンインターフェイス-HMI、ユーザーインターフェイスとも呼ばれます)がコマンドの提供を担当し、スレーブ(プログラマブルロジックコントローラー-PLC)がコマンドの実装を担当します。 ICS管理者は、デバイスの検索に役立つ製造元の名前を知ることができます。 IPアドレスが公開されている場合(もちろん、ここではこのケースについては説明しません)、国固有の国旗によって判別できます。
この情報はすべて、キャプチャされたパケットとGRASSMARLIN署名の生成を比較したものです。したがって、ユーザーは、現状の信頼性1〜5の信頼性に基づいて独自の判断を下すことができます。
GRASSMARLINは、通信に関連付けられた特定のデバイスから分離できます。最初の分析:パケットサイズ、契約時間、パケットの送信元(複数のファイルがPCAPの場合):
GRASSMARLINによって提供されたデータの分析
署名された契約
GRASSMARLINは、使用されるプロトコルの論理ビューを識別する署名またはフィンガープリント機能をさらに備えています。各署名は2つの要素で構成されています。
1.フィルターエレメント:検出されるエレメントの説明
2.ペイロード(ペイロード)要素:ユーザーに情報を返します
シグニチャは、フィルタに対応するペイロード(ペイロード)を複数のフィルタで構成することができる。
MODBUS署名の例
フィルタは、実質的に記述プロトコル属性OSIモデルレイヤー2から第4レイヤーにすることができます。この表は、すべてのフィルターで使用できます。
利用可能なフィルター
ペイロードは、パケットからいくつかのバイトを抽出することによって、ユーザーなどにより多くの情報を提供することを目的としています。
GRASSMARLIN(v3)の現在のバージョンには、54のすぐに利用可能なフィンガープリントがあり、ほとんどの産業協定をカバーしています。このツールは最近オープンソース(2016年1月28日)になりました。時間の経過とともに、署名の数が増える可能性があり、精度が向上します。
署名は編集用のXML形式ですが、GRASSMARLINはグラフィカルツール--FingerPrint Editorを提供し、署名の作成に役立ちます。
指紋エディタ(指紋エディタ):署名を編集するためのグラフィカルツール
物理的ビュー
このビューは、デバイス間の物理リンクの存在を示すためのものです。
物理的ビュー
懸念されるのは、ネットワークが表示され、ネットワーク機器と産業機器の間の物理的な接続が表示されることです。 GRASSMARLIN V3リリース、Ciscoルーターのみ、および3つのコマンドの物理ビューからの出力の生成:
「showrunning-config」
「showiparp」(OU)「showmacaddress-table」
「インターフェースの表示」
コマンドの出力が単純なテキストファイルとして保存されている限り、GRASSMARLIN物理ビューを生成できます。
データ出力
GRASSMARLINから派生したデータは、次の3つの形式で構成されます。
1.PNG形式のビューにエクスポートします。
2.XML形式でデータをエクスポートします。
すべてのデータ保存ロジックツリービュー
GRASSMARLINデータをセッションデータとして。
3.アーカイブデータのエクスポートには、データキャプチャとリアルタイムXML形式で生成されたPCAPファイルが含まれます。
ベンチマーク
SolucomのICSモデルであるGRASSMARLINを実際の環境に適用してテストを実施しました。
はじめにテスト環境
ICSモデルは、次の部分で構成される鉄道スイッチをシミュレートします。
1ジーメンスHIM
1シーメンスPLC
シュナイダー2はPLCを設定します
スイッチ(スイッチ)。
ISCテストモデル
スイッチのミラーポートに直接接続されたICSモデルGRASSMLARINワークステーションに通信プロセスをマウントしてアクセスします。モデルはシスコの機器ではないため、論理ビューのみをテストしました。
テスト
リアルタイムのデータキャプチャ後、GRASSMARLINは次のビューを生成します。
テストステーションの論理ビュー
(手動)組換えビューの後:
組換えの論理的見解
通信が傍受された後、デバイス情報が図にすばやく表示されます。上の図のGRASSMARLINは、すべてのデバイスが適切に識別され、各デバイスで使用される適切なプロトコルが与えられていることがわかります。さらに、GRASSMARLINが抽出したすべての情報を生成して将来の再利用を実現することも非常に優れた出力XMLファイルです。
XMLファイルの出力
しかし、プロセス全体を通して、GRASSMARLINには次のようないくつかの欠点もあります。
1.署名が一致しません
デバイスが複数の署名に一致する場合、GRASSMARLINはそのうちの1つのみを選択します。異なる通信プロトコルを使用するHMIが複数のPLCと相互作用するため、HMIが問題になる可能性があります。
2.一部のデジタル署名情報が不完全です
ほとんどのデジタル署名は、そのペイロードフィールドに記述されており、識別されたデバイスを記述するために使用されています。これらのフィールドが空白または不十分な情報である場合、産業機器の識別もより複雑になる可能性があります。
3.制限された機能を分析する
最初の要素GRASSMARLINは、パケット受信時間のサイズなどの通信分析のみを提供します。この機能を改善するための1つの可能な方法は、パターン認識とPLC間の通信を追加することです。彼。
結論として
現在、市場には多くの同様のタイプのパッシブ検出ツールがあります。しかし、GRASSMARLINは、産業用制御のオープンソースツールの分野に歴史的に焦点を当てていることはまれです。
たとえば、有名な署名ツールnmap、p0f Ettercapなどを利用してネットワークトポロジを取得できるNetworkMinerというツール。しかし、NetworkMinerにはすぐに使用できる産業用署名がないため、その精度もGRASSMARLINよりはるかに低くなります。
2NetworkMinerでのSiemensPLC出力
その他の例-2つのp0fを備えたSiemensPLC出力
GRASSMARLINの2つの出力を備えたSiemensPLC
出力をよく見てください。害がないことと比較することはできません。
インターフェースの紹介
新しいセッションボックスをロードしてもデータが表示されない場合、GRASSMARLINは自動的に開きます。 GRASSMARLINは、プラグインを自動的にロードし、GeoIPデータベースの整合性チェックを実行し、フィンガープリントをロードし、その他の初期化タスクを実行します。
複数のタブを含むメイン表示ウィンドウの右側。各セッションは、タブの少なくとも論理ビュー(すべての通信デバイスおよび機器にリストされている)、物理ビュー(ネットワーク機器と産業機器の間の物理リンクをリストしている)、およびスニッフル(トレリス図とも呼ばれます)で構成されます。各タブの内容は、視覚化されて実装されています。
左側のウィンドウは2つの部分に分かれています。下半分にはメッセージログが含まれ、アクティブなアプリケーションの更新に関するステータス情報、警告、エラー、およびその他の情報が表示されます。現在のミラーで視覚化されたコンテンツツリーの上部。視覚化されたコンテンツのスクリーンショットは現在表示されていないため、ミラーツリーはありません。タブを変更すると、表示されるコンテンツのツリービューと「視覚化」が変更されます。記事の最後にあるユーザーマニュアルドキュメントでは、さまざまなビジュアルコンテンツについて説明しています。
メッセージログメモリは、メモリ使用量(左の数字)、使用可能な合計メモリ(右の数字)、およびメモリ使用率の進行状況バーの構成によってインジケータを下回っています。
メインウィンドウの上部は、メインメニューとツールバーです。セッションセッションをインポート、ロード、および保存するための、ツールバーの左側にある左から右への3つのアイコン。ツールバーの右側には、Live PCAP機器を選択したり、LivePCAPを開始および停止したりするためのコンボボックスがあります。メインウィンドウに加えて、バックグラウンドでコンソールウィンドウが開き、診断データとデバッグデータが含まれます。
福祉を終わらせる
ダウンロードリンク:
https://github.com/iadgov/grassmarlin
英語版のユーザーマニュアル:
https://github.com/iadgov/GRASSMARLIN/blob/master/GRASSMARLIN%20User%20Guide.pdf