
Dsiemは、ELKスタック向けのセキュリティイベント相関エンジンであり、このプラットフォームを専用かつフル機能のSIEMシステムとして利用できるようにします。
Dsiemは、正規化されたログ/イベントに対してOSSIMスタイルの相関を提供し、脅威インテリジェンスや脆弱性情報ソースへのルックアップ/クエリを実行し、リスク調整されたアラームを生成します。

flowchart TB
l1 --> |Normalized Logs/Events| e1
l1 --> |Alarms|e1
l1 --> |Normalized Logs/Events| d1
f1 --> |Logs| l1
s1 --> |Logs| f1
s2 --> |Logs| f1
s3 --> |Logs| f1
d1 --> |Alarms| d2
d2 --> |Alarms| l1
d1 --> |Query| d3
subgraph Elasticsearch
e1[Elasticsearch]
end
subgraph Logstash
l1[Logstash]
end
subgraph Filebeat
f1[Syslog/Filebeat]
end
subgraph Log Sources
s1[IDS]
s2[Firewall]
s3[OS]
end
subgraph Dsiem
d1[Dsiem]
d2[Dsiem-filebeat]
d3[Threat-Intel/Vulnerability-Info-Sources]
end
上記の図では:
ログソースはログをSyslog/Filebeatに送信し、Syslog/Filebeatは一意の識別フィールドとともにそれらをLogstashに送信します。Logstashはログソースのタイプに基づいて異なるフィルタを使用してログを解析し、結果をElasticsearchに送信します。通常、ログタイプごとに単一のインデックスパターンを作成します(例:Suricata IDSから受信したログの場合はsuricata-*、SSHログの場合はssh-*など)。
Dsiemは特別な目的のLogstash設定ファイルを使用して、Logstashが解析を完了した直後にログソースからの着信イベントをクローンします。同じ設定ファイルを通じて、新しいクローンイベント(元のイベントから独立して)を使用して、Title、Source IP、Destination IPなどのDsiem必須フィールドを収集します。
上記のステップの出力は正規化イベントと呼ばれます。これは、複数の異なるソースからのログを、共通フィールドのセットを持つ単一の形式で表現するためです。これらのイベントは、Logstash HTTP出力プラグインを介してDsiemに送信され、インデックス名パターンsiem_events-*でElasticsearchにも送信されます。
Dsiemは設定されたディレクティブルールに基づいて着信する正規化イベントを相関させ、脅威インテリジェンスと脆弱性のルックアップを実行し、ルール条件が満たされた場合にアラームを生成します。アラームはローカルログファイルに書き込まれ、その内容をLogstashに送信するように設定されたローカルのFilebeatによって収集されます。
Logstash側には、送信されたアラームを読み取り、それらをElasticsearchの最終的なSIEMアラームインデックスにプッシュする別のDsiem 特別な設定ファイルがあります。
上記のプロセスの最終結果として、単一のElasticsearchインデックスを監視するだけで、新しいアラームや既存のアラームの更新を監視できるようになります。
Docker Composeまたはリリースバイナリを使用してDsiemをインストールできます。詳細はインストールガイドを参照してください。
または、Docker Composeまたは仮想マシンベースのデモ環境もあり、単一のシンプルなWebインターフェースからDsiemのすべての統合を評価できます。
現在利用可能なドキュメントはこちらにあります。
バグや問題の報告は、新しいGithub issueを開いて提出してください。潜在的なセキュリティバグの詳細などのセキュリティ上重要な情報は、[email protected]に送信することもできます。そのアドレス用のGPG公開鍵はこちらにあります。
コントリビューションを大歓迎します!バグ修正や追加テストのPR、デバイスイベントを解析するLogstash設定ファイルのgist、SIEMディレクティブルール、または新しい脅威インテリジェンス/脆弱性ルックアッププラグインを提出してください。
特定の事項について何をすべきかわからない場合は、遠慮なく issueを開いて最初に議論してください。
このプロジェクトはGPLv3の下でライセンスされています。コントリビューターはCAA/CLAなどのいかなる形式にも署名する必要はありません。このGithub利用規約条項の受け入れをもって十分とみなします。