Findy Tools
開発ツールのレビューサイト
検索結果がありません
目次
Xのツイートボタン
このエントリーをはてなブックマークに追加
Xのツイートボタン
このエントリーをはてなブックマークに追加
Sysdig OSSが可視化したコンテナの“中身”|System Callが開いた世界
公開日 更新日

Sysdig OSSが可視化したコンテナの“中身”|System Callが開いた世界

本記事は、全6回の連載「クラウドの中を“観る力”」の第4回です。
この連載では、可視化という観点からOSSの進化をたどりながら、クラウドネイティブ時代における観測・セキュリティの在り方を読み解いていきます。

第1回: Sysdigのルーツ|“Wireshark for the Cloud”が目指す未来
第2回: EtherealとWinPCAP|クラウド可視化を切り拓く技術の出発点
第3回: Wiresharkが育てたコミュニティ|“Shark”たちの文化が生んだ継承力
第4回: Sysdig OSSが可視化したコンテナの“中身”|System Callが開いた世界← 本記事
第5回: Falcoが変えた“検知”の常識|振る舞いベースで守るOSSセキュリティ
第6回: Stratosharkと新コミュニティの爆誕|OSSが切り拓くクラウドセキュリティの次章

2013年、Dockerの登場がクラウド開発の常識を一変させた。Sysdig OSSは、その内部動作を“SystemCall”という視点で可視化するアプローチを取った。コンテナ・プロセス・I/Oすべてを「一筆書き」のように観測できるその技術の仕組みと魅力を掘り下げる。

はじめに:クラウド時代の“可視化”が直面した壁

EtherealやWiresharkが切り開いたネットワークパケットの可視化──これは、オンプレミス時代の可視化ニーズに対する見事な回答でした。しかし、仮想化・クラウド・コンテナという新たな潮流の中で、かつての“観察”手法は急速に通用しなくなっていきます。

  • 通信は暗号化(TLS)され、パケットから中身が見えない
  • IPアドレスではプロセスやコンテナを特定できない
  • 短命なコンテナが秒単位で起動・終了する
  • エフェメラル(短命)なリソースが動的にスケールする

こうした世界において、「クラウドの中身を観たい」という欲求を満たすには、全く新しい観測技術が必要でした。その答えの一つが「System Callの可視化」です。

System Callとは何か? なぜ“中身”が見えるのか?

プロセスがオペレーティングシステムと対話するための入り口──それがSystem Call(システムコール)です。たとえば、以下のような場面で使われます。

行動呼び出されるSystem Call例
ファイルを開くopen()
データを読むread()
ソケット通信を行うconnect() send()
プロセスを生成するfork() execve()
ユーザー権限を変更するsetuid()



▶ Linuxシステムコールの世界:https://sysdig.jp/blog/fascinating-world-linux-system-calls/


つまり、あらゆるアプリケーションの“振る舞い”はSystem Callを通じて現れるのです。

例えば、System Callを観察すれば、
  • どのプロセスが
  • いつ
  • どんなリソースにアクセスして
  • どのような順序で
  • 何をしようとしたか

という、“動作のすべて”が見えてくるのです。システムコールを“聞く”ことは、アプリケーションの心の声を“盗み聞き”することに等しいのです。

こうしたSystem Callをリアルタイムで収集・解析することで、パケットには映らなかった“アプリケーションの中身”が初めて観測可能になります。これこそが、Sysdigが「クラウドの中身を観察する目」として選んだ技術です。

Sysdig OSSの登場──Wiresharkからの精神的継承

2013年、Loris Degioanniは「Sysdig OSS」を公開します。彼はWinPCAPの創作者であり、Wiresharkの進化に深く関わった人物です。Wiresharkが「パケットを観る力」だったとすれば、Sysdigは「プロセスの振る舞いを観る力」を提供するOSSでした。



▶ Sysdig OSS GitHub: https://github.com/draios/sysdig
▶ 日本語紹介ページ(Sysdig Japan): https://sysdig.jp/opensource/

Sysdig OSSの主な特徴

  • eBPFベースのSystem Callトレース(後年対応)
  • リアルタイムプロセス解析
  • TCPセッションやファイルI/Oの視覚化
  • sysdig CLIで即時観測
  • csysdigでGUIライクなUIを提供
  • JSON出力 → Prometheus連携も可能
$ sysdig evt.type=open

上記のように、すべてのopen()呼び出しをリアルタイムで観測できます。

Wiresharkのtcp.port==80のような感覚で、System Callをフィルタリングするのです。


Sysdigが拓いた“中身を見る観測体験”

Sysdigの真価は、「何がいつ起きたか」を粒度高く捉える能力にあります。

短命なコンテナも観測できる

  • eBPFによるカーネルフックにより、数秒で終了したプロセスも“見逃さない”
  • cronによるスクリプトの起動やバッチ処理なども可視化

Kubernetesとの連携

  • コンテナID → Pod名 → Namespaceとマッピング可能
  • sysdig内でk8s.ns.nameやk8s.pod.nameをキーにフィルタリング

セキュリティイベントにも強い

  • execve()による不審なスクリプト実行
  • chmodやchownによる権限変更
  • openでの/etc/shadowアクセス

視覚的にシステムコールを理解する|Sysdig Inspect

CLIで取得したSystem CallのトレースをGUIベースで解析したい、というニーズに応えたツールがSysdig Inspectです。Sysdig Inspectは、Sysdigで取得したトレースファイル(.scap)を読み込み、時系列・プロセス単位で視覚的に解析できるツールです。



▶ GitHubリポジトリ: https://github.com/draios/sysdig-inspect

GUIでプロセスツリーやイベント一覧、ネットワーク通信、ファイルアクセスなどを一望でき、「何が起きたか」だけでなく「なぜそれが起きたか」を視覚的に理解できます。以下のブログも詳細でわかりやすいので、ご参考ください。

▶ Sysdig OSSの実践的な活用:https://sysdig.jp/blog/practical-usage-of-sysdig-oss/


eBPFによる軽量化と高速化

当初のSysdigはカーネルモジュールとして動作していましたが、近年はeBPFへの移行が進んでいます。eBPFはLinuxカーネル4.x以降で標準搭載された技術で、ユーザー空間からカーネルイベントを安全に、そして高速にフックできる仕組みです。

eBPFがもたらしたメリット

  • カーネル再コンパイル不要
  • セキュリティの分離(サンドボックス実行)
  • Syscallだけでなく、関数・カーネルイベントにもアタッチ可能

FalcoやStratosharkなど後続プロジェクトでは、eBPFによるデータ収集が中心となっています。



▶ 参考:https://sysdig.jp/blog/sysdig-and-falco-now-powered-by-ebpf/


可視化は“録画と再生”の時代へ

Sysdig OSSでは、観測したSystem Callのトレースをscapという独自形式で保存できます。

sysdig -w session.scap

このファイルは後で再生・解析が可能で、タイムライン付きで挙動を「あとから再現」できます。
sysdig -r session.scap

これはまさに、「コンテナのブラックボックスを、録画してあとから検証する監視カメラ」のような役割を果たします。CI/CD環境でのデバッグ、脅威検知後のフォレンジック、インシデント時の振り返りなど、あらゆる場面で重宝されます。

“可視化”から“検知”へ──Falcoの種

Sysdig OSSの開発を通じて見えてきたもの──それは、「観測」だけではセキュリティに十分ではないという課題でした。

  • Sysdigは振る舞いを“見せる”ことはできる
  • しかし“危険かどうか”の判断は人間任せだった

そこで誕生したのが、次回扱う「Falco」です。Sysdig OSSは、Falcoのベース技術として今も活用されています。




Sysdig OSSがもたらしたOSS観測文化

Sysdigは以下のような文化的インパクトももたらしました。

OSS的価値観Sysdigでの実現例
再利用性Dockerイメージ sysdig/sysdigで即利用可能
拡張性Luaベースのスクリプトでカスタムビュー作成
教育利用“What is a syscall?”的チュートリアルに最適
コミュニティGitHub経由でのIssue/PR交流、ドキュメント整備

Sysdig OSSは、“観察者たちの武器”として機能しながら、Falcoなどの未来技術の土壌ともなったのです。

おわりに:Sysdigは“クラウドの中身”をどう見せたか?

  • パケットではなくSystem Callを観測することで、アプリケーションの本質的な動きを捉えた
  • 短命なコンテナや暗号化通信の内側も、Sysdigなら観測可能にした
  • セキュリティ用途でも高いポテンシャルを持ち、Falcoへと進化していく

Sysdigは“クラウドの可視化”という問題に真正面から取り組んだ、OSS史に残るプロジェクトなのです。

次回予告|Falcoが変えた“検知”の常識

次回は、Sysdig OSSの可視化エンジンをもとに、リアルタイムの行動ベース検知を実現したセキュリティツール「Falco」に焦点を当てます。

  • シグネチャベースでもなく、AIでもなく
  • “振る舞い”そのものをOSSでルール化するとはどういうことか?

Wireshark → Sysdigという可視化の進化の次に現れた、「守るためのOSS」の進化を見ていきましょう。

オープンソースセキュリティの新拠点「Sysdig Open Source Community」のご案内

Sysdigは、Falco、Wireshark、Stratoshark、sysdig OSSのユーザーをつなぐ、新たなグローバルコミュニティを開設しました。本コミュニティは、世界中のセキュリティ専門家や開発者が集い、協力し、成長するためのハブとなります。

技術的な情報交換はもちろん、専門スキルを証明する認定プログラム、求人掲示板、メンター制度、学生支援センターなど、キャリア形成に役立つ多様な機会を提供します。

資料ダウンロード

必要事項を記入のうえ、「この内容で送信する」ボタンを押してください。

  • ツールに関するご提案や最新情報の提供のため、資料ダウンロード後にFindy Toolsを契約している資料に該当する協賛会社(以下「協賛会社」といいます)から、記載いただいた情報をもとにご案内を差し上げる場合があります。
  • 上記ご案内のため、上記記載内容ならびにFindy Toolsにご登録いただいたユーザー情報を当社から協賛会社に対して提供いたします。