【Sysdig技術者によるブログ】システムコール分析における生成AIの活用
皆さんこんにちは。
第23回担当の渡邊です。
今回は、生成AIを利用してシステムコールの分析を行いました。
注意事項
本記事は、プライベート環境下の生成AIを利用しており、全ての環境で同じ結果を保証するものではありません。
また、各種AIによる分析を推奨するものではなく、結果は参考情報として取り扱い、最終的な判断は人の手で行ってください。
scapファイルは性質上、機密情報を含む可能性があるため、取り扱いはご注意ください。
システムコールの分析とは
Sysdigでは、アラート通知の条件を満たした際にトリガーの前後のシステムコールを収集する「Capture」という機能があります。 収集されたシステムコールはscapという形式で保存され、専用のツールで開くと次のように表示されます。
1 00:53:42.769543595 0 host (host) <NA> (2975:<NA>) > openat dirfd=-100(AT_FDCWD) name=/etc/shadow flags=4097(O_RDONLY|O_CLOEXEC) mode=0 2 00:53:42.769670276 0 host (host) <NA> (2975:<NA>) < openat fd=8(<f>/etc/shadow) dirfd=-100(AT_FDCWD) name=/etc/shadow flags=4097(O_RDONLY|O_CLOEXEC) mode=0 dev=0 ino=0
今回のシステムコール分析は、このscapファイルを元に行います。
この機能はOSSのSysdigでも提供されていますので、興味のある方はぜひ試してみてください。
なぜAIなのか?
scapファイルを分析・可視化するツールとして、Sysdig InspectやSTRATOSHARKなどがあります。
これらも優れたツールですが、記録に対して抽象的な解釈は提供されないため、何が起きているのか読み解くための時間を要すると感じていました。
生成AIのコンテキスト解釈や要約の能力は、このような側面を補完するのに適していると思い検証に至りました。
生成AIによるシステムコールの分析
今回の検証では、生成AIはプライベート環境下のAIを利用しています。 使用するscapファイルは、あらかじめ/etc/shadowファイルにアクセスしたものです。
/etc/shadowファイルとは、UNIX系OSではユーザのパスワードを管理するファイルで、アクセスがあった場合には攻撃も疑われます。
それでは生成AIの分析結果を見ていきましょう。
※scapファイルが読み込めない場合は、一度Sysdig Inspect等に通してテキスト化してください。
1. 懸念される振る舞いがあるかざっくり聞いてみる。

2. ネットワークのアクティビティに特化して聞いてみる。
ネットワークに関する情報が無かったので質問してみます。

3. 特定の条件に当てはまる振る舞いがあるか聞いてみる。
(1)とは反対に、懸念されるアクティビティに焦点を当てて聞いてみます。

結果・気づいたこと
概要、具体的な行番号、実行したプロセスといった事象の把握に必要な情報が集約されており、調査の手掛かりを得るための参考情報としては有益だと感じます。
理由には説得力があるようにも見えますが、事実と推測を見極めたうえ、先入観を持たないよう注意が必要と思いました。
最後に
いかがでしたでしょうか。SysdigやFalcoでは、今回AIが発見したようなふるまいについてはデフォルトで検知するルールが用意されているため、今回と合致するケースでAIを利用する場面は少ないかもしれませんが、独自のアプリケーションが動いている環境で調査の手掛かりを求める場合にはAIの利用は有効かもしれませんね。
参考
draios/sysdig : https://github.com/draios/sysdig
Sysdig Inspect: https://github.com/draios/sysdig-inspect
STRATOSHARK: https://stratoshark.org
falcosecurity/event-generator: https://github.com/falcosecurity/event-generator
Supported Fields for Conditions and Outputs: https://falco.org/docs/reference/rules/supported-fields/
担当者紹介

- 担当者名
- 渡邊
- コメント
- コード好き。アニメやドラマにターミナルの画面が出てくると、その内容がどのぐらい正確か必ずチェックします。
- 保有資格
- Certified Kubernetes Administrator
Certified Kubernetes Application Developer
SCSK技術者ブログ

【Sysdig技術者によるブログ】Serverless AgentがAzure Container Appsに対応しました

【Sysdig技術者によるブログ】システムコール分析における生成AIの活用

【SCSK技術者によるブログ】Sysdig情報アップデート~AWS連携にS3オプションが追加されました~

【SCSK技術者によるブログ】Falco初学者講座 - Exceptions編

【SCSK技術者によるブログ】Falco初学者講座 - List/Macro編

【SCSK技術者によるブログ】コンテナの電力消費をSysdig Monitorで監視してみよう

【SCSK技術者によるブログ】Sysdigの脅威検知はFalcoだけじゃない ~Contianer Drift編~

【SCSK技術者によるブログ】~Falco初学者に送る~ Sysdig SageでFalcoを勉強してみよう②

【SCSK技術者によるブログ】~Falco初学者に送る~ Sysdig SageでFalcoを勉強してみよう①

【 SCSK技術者によるブログ】Sysdigの設定をTerraformで管理してみた(Monitor編)

【SCSK技術者によるブログ】Falco初学者講座 - condition編

【SCSK技術者によるブログ】Sysdig Sageを使ってみた

【SCSK技術者によるブログ】Sysdigと組み合わせて効果的なソリューションのご紹介 ~ポリシーエンジン編②~

【SCSK技術者によるブログ】Sysdigをセキュアに使おう~IP Allowlist編~

【SCSK技術者によるブログ】Node ExporterをSysdig Monitorに連携してみた

【SCSK技術者によるブログ】Sysdigの設定をTerraformで管理してみた

【SCSK技術者によるブログ】CNAPPの理解とSysdigのカバレッジ

【SCSK技術者によるブログ】Sysdigの脅威検知はFalcoだけじゃない ~マルウェア検知編~

【SCSK技術者によるブログ】Sysdigのライセンス体系

【SCSK技術者によるブログ】Sysdig とMicrosoft Entra ID間でSAML認証設定を試してみた

【SCSK技術者によるブログ】Sysdigと組み合わせて効果的なソリューションのご紹介 ~ポリシーエンジン編~

【SCSK技術者によるブログ】Sysdigの脅威検知はFalcoだけじゃない ~AWSサインインなりすまし検知編~

【SCSK技術者によるブログ】Sysdig SecureのRisks機能を試してみた
