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