v2.2.0 "SECCON Release"
🦅 New Features:
- Added support for input of JSON-formatted event logs (
-J, --JSON-input
). (#386) (@hitenkoku) - Log enrichment by outputting the ASN organization, city and country of source and destination IP addresses based on MaxMind GeoIP databases (
-G, --GeoIP
). (#879) (@hitenkoku) - Added the
-e, --exact-level
option to scan for only specific rule levels. (#899) (@hitenkoku)
🦅 Enhancements:
- Added the executed command line to the HTML report. (#877) (@hitenkoku)
- Approximately 3% speed increase and memory usage reduction by performing exact string matching on Event IDs. (#882) (@fukusuket)
- Approximately 14% speed increase and memory usage reduction by filtering before regex usage. (#883) (@fukusuket)
- Approximately 8% speed increase and memory usage reduction by case-insensitive comparisons instead of regex usage. (#884) (@fukusuket)
- Approximately 5% speed increase and memory usage reduction by reducing regex usage in wildcard expressions. (#890) (@fukusuket)
- Further speed increase and memory usage reduction by removing unnecessary regex usage. (#894) (@fukusuket)
- Approximately 3% speed increase and 10% memory usage reduction by reducing regex usage. (#898) (@fukuseket)
- Improved
-T, --visualize-timeline
by increasing the height of the markers to make it easier to read. (#902) (@hitenkoku) - Reduced memory usage by approximately 50% when reading JSON/L formatted logs. (#906) (@fukusuket)
- Alphabetically sorted options based on their long names. (#904) (@hitenkoku)
- Added JSON input support (
-J, --JSON-input
option) forlogon-summary
,metrics
andpivot-keywords-list
commands. (#908) (@hitenkoku)
🐛 Bug Fixes:
- Fixed a bug when rules with 4 consecutive backslashes in their conditions would not be detected. (#897) (@fukusuket)
- When parsing PowerShell EID 4103, the
Payload
field would be separated into multiple fields when outputting to JSON. (#895) (@hitenkoku) - Fixed a crash when looking up event log file size. (#914) (@hitenkoku)
Vulnerability Fixes:
- Updated the git2 and gitlib2 crates to prevent a possible SSH MITM attack (CVE-2023-22742) when updating rules and config files. (#888) (@YamatoSecurity)
変更点
🦅 新機能:
- JSON形式のイベントログファイルの入力(
-J, --JSON-input
)に対応した。 (#386) (@hitenkoku) - MaxMindのGeoIPデータベースに基づき、送信元および送信先IPアドレスのASN組織、都市、国を出力することによるログエンリッチメント(
-G, --GeoIP
)を実現した。 (#879) (@hitenkoku) -e, --exact-level
オプションで指定したレベルに対する結果のみを取得する機能を追加した。 (#899) (@hitenkoku)
🦅 改善:
- HTMLレポートの出力に実行したコマンドラインを追加した。 (#877) (@hitenkoku)
- イベントIDの完全比較を行うことで、約3%の速度向上とメモリ使用量の削減を実現した。 (#882) (@fukusuket)
- 正規表現使用前のフィルタリングにより、約14%の速度向上とメモリ使用量の削減を実現した。 (#883) (@fukusuket)
- 正規表現ではなく大文字小文字を区別しない比較により、約8%の速度向上とメモリ使用量の削減を実現した。 (#884) (@fukusuket)
- ワイルドカード表現における正規表現の使用量を削減することで、約5%の速度向上とメモリ使用量の削減を実現した。 (#890) (@fukusuket)
- 正規表現の使用を避けることで、さらなる高速化とメモリ使用量の削減を実現した。 (#894) (@fukusuket)
- 正規表現の使用量を減らすことで、約3%の速度向上と約10%のメモリ使用量削減を実現した。 (#898) (@fukuseket)
- ライブラリの更新によって
-T, --visualize-timeline
の出力を複数行にするように変更した。 (#902) (@hitenkoku) - JSON/L形式のログを読み込む際のメモリ使用量を約50%削減した。 (#906) (@fukusuket)
- Longオプションを基にしたオプションの並べ替えを行った。 (#904) (@hitenkoku)
-J, --JSON-input
オプションをlogon-summary
,metrics
,pivot-keywords-list
コマンドに対応させた。 (#908) (@hitenkoku)
🐛バグ修正:
- ルールの条件にバックスラッシュが4つある場合、ルールがマッチしない不具合を修正した。 (#897) (@fukuseket)
- JSON出力では、PowerShell EID 4103をパースする際に
Payload
フィールドが複数のフィールドに分離されるバグを修正した。(#895) (@hitenkoku) - ファイルサイズ取得の際にpanicが発生するのを修正した。 (#914) (@hitenkoku)
脆弱性修正:
- ルールや設定ファイルを更新する際に起こりうるSSH MITM攻撃(CVE-2023-22742)を防ぐため、git2およびgitlib2クレートを更新した。 (#888) (@YamatoSecurity)