Linxuカーネル内部をフックするeBPFを用いてセキュリティの可観測性を実現する「Tetragon」がオープンソースで公開
Linuxカーネルを書き換えることなくその内部の機能をフックし、フック先でサンドボックス化されたプログラムを実行することにより、カーネルをプログラマブルに機能拡張できる「eBPF」(Extended Berkeley Packet Filter)は、クラウドネイティブ関連で最も注目されている技術の1つです。
eBPFを用いたソフトウェアとしては、CNI(Container Networking Interface)を用いてコンテナ間のセキュアな接続やロードバランシングなどさまざまな機能拡張を実現する「Cilium」がCloud Native Computing Foundationのプロジェクトとしてよく知られています。
今回、そのCiliumを開発するIsovalent社が、Ciliumの関連プロジェクトとしてオープンソース化したのが「Tetragon」です。
Tetragonは、Linuxカーネル内部のさまざまなAPIやスタックからメトリクスをリアルタイムに取得。
具体的にはファイルアクセスやネットワークアクセスなどのI/O、プロセス実行のイベント、特権レベルへのエスカレーションなど、システムコールやスタックの状態を含むアプリケーションの振る舞いをリアルタイムで観測可能にします。
取得したメトリクスはエージェントで集約、フィルタリングできるため、ポリシーに応じて重要なイベントやメトリクスだけを観測できるように設定可能です。
大きな特徴として、Linuxカーネル内部をフックすることでメトリクスを収集するため、あらゆるアプリケーションに対してコードを書き換える必要なくセキュリティの可観測性を実現。
しかもメトリクスの収集時にコンテキストスイッチの発生やプロセスの起動が回避できるため、非常に小さなオーバーヘッドで済みます。
また、名前空間やPodなどのKubernetes IDを認識して、Kubernetes上の個々のワークロードに関連したセキュリティイベントの検出を設定することが可能になっています。
関連タグ Linux / OS / クラウド / クラウドネイティブ / eBPF
あわせてお読みください
- 「Prometheus 2.0」正式版リリース。クラウドやコンテナなど動的な分散環境に対応した統合監視ツール
- マイクロソフト、Javaで開発されたWebアプリの応答速度、要求数、セッション数、クライアントの分析などさまざまなメトリクスを把握する「Application Insights SDK for Java」発表
- コンテナの軽量さと仮想マシンの堅牢さを兼ね備えた新しいコンテナ実装「Kata Containers」、OpenStack Foundationが発表
- インテルCPUの奥深くでは人知れず「MINIX 3」が動作しており、脆弱性を作り出している。Googleらはそれを排除しようとしている