Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
bpflock — eBPF駆動のセキュリティツールであり、Linuxマシンのロックと監査を行います。カーネル機能を制限し、ファイルレス実行をブロックし、メモリを保護し、宣言型プロファイルを介してコンテナとIoTデバイスを強化します。 | Kitploit
ツール/GitHubGitHub/linux-lock/bpflock
防御ツールコンテナセキュリティIoTセキュリティ
GitHublinux-lock/bpflock

bpflock

eBPF駆動のセキュリティツールであり、Linuxマシンのロックと監査を行います。カーネル機能を制限し、ファイルレス実行をブロックし、メモリを保護し、宣言型プロファイルを介してコンテナとIoTデバイスを強化します。

リポジトリを見る
15715644年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

bpflock - Linux マシンをロック

Bpflock Logo

bpflock - eBPF 駆動のセキュリティで Linux マシンのロックと監査を行います。

注: bpflock は現在 実験段階 にあり、動作が壊れたり、オプションやセキュリティセマンティクスが変更される可能性があります。一部の BPF プログラムは Cilium ebpf ライブラリ を使用するように更新される予定です。

セクション

  • 1. はじめに
  • 2. 機能概要
    • 2.1 セキュリティ機能
    • 2.2 セマンティクス
  • 3. デプロイ
  • 4. ドキュメント
  • 5. ビルド

1. はじめに

bpflock は eBPF を利用して Linux のセキュリティを強化します。さまざまな Linux 機能へのアクセスを制限することで、bpflock は攻撃対象領域を減らし、よく知られた攻撃手法の一部をブロックすることができます。

ホストの pid およびネットワーク名前空間 で動作するコンテナマネージャ、systemd、その他のコンテナ/プログラムのみが、完全な Linux 機能へのアクセスを許可されます。自身の名前空間で動作するコンテナやアプリケーションは制限されます。 bpflock の bpf プログラムが restricted プロファイルで実行されている場合、特権を持つものを含むすべてのプログラム/コンテナのアクセスが拒否されます。

bpflock は、Linux Security Modules + BPF を含む複数のセキュリティ機能を活用して Linux マシンを保護します。

アーキテクチャとセキュリティ設計のメモ:

  • bpflock は必須アクセス制御ラベリングソリューションではなく、AppArmor、SELinux、その他の MAC ソリューションを置き換えることを意図していません。bpflock は単純な宣言型セキュリティプロファイルを使用します。
  • bpflock は、クラウドネイティブデプロイから Linux IoT デバイスまで、複数のコンテキストで再利用可能な多数の小さな bpf プログラムを提供します。
  • bpflock は root が特定の Linux 機能にアクセスするのを制限できますが、悪意のある root から保護するわけではありません。

2. 機能概要

2.1 セキュリティ機能

bpflock は以下のように分類できる複数のセキュリティ保護を提供します:

  • メモリ保護

    • カーネルイメージロックダウン
    • カーネルモジュール保護
    • BPF 保護
  • プロセス保護

    • ファイルレスメモリ実行
    • 名前空間保護
  • ハードウェア追加攻撃

    • USB 追加保護
  • システムおよびアプリケーショントレーシング

    • アプリケーション実行のトレース
    • 特権システム操作のトレース
  • ファイルシステム保護

    • 読み取り専用ルートファイルシステム保護
    • sysfs 保護
  • ネットワーク保護

    • bpflock は将来、単一マシンワークロードや Linux-IoT で使用できるシンプルなネットワーク保護を含める可能性がありますが、クラウドネイティブ保護は含めません。Cilium やその他の kubernetes CNI 関連ソリューションの方がはるかに優れています。

2.2 セマンティクス

bpflock はセキュリティセマンティクスをシンプルに保ちます。セキュリティのスペクトルを広くカバーし、特定の Linux 機能へのアクセスを制限するために、3 つの グローバル プロファイルをサポートしています。

  • profile: これは bpf プログラムごとに適用できるグローバルプロファイルで、以下のいずれかを取ります:

    • allow|none|privileged : これらは同じで、最もセキュリティの低いプロファイルを定義します。このプロファイルでは、すべてのプロセスに対してアクセスがログに記録され許可されます。セキュリティイベントを記録するのに便利です。
    • baseline : 制限的なプロファイルで、ホスト名前空間で実行される特権アプリケーションやコンテナ、または bpflock_cgroupmap bpf マップ内の cgroup ごとに許可されたプロファイルを除き、すべてのプロセスのアクセスが拒否されます。
    • restricted : 非常に制限の厳しいプロファイルで、すべてのプロセスのアクセスが拒否されます。
  • 許可 または ブロック された操作/コマンド:

    allow|privileged または baseline プロファイルの下で、許可またはブロックされたコマンドのリストを指定して適用できます。

    • --protection-allow : 許可された操作のカンマ区切りリスト。baseline プロファイルで有効で、非常に特殊で特権操作を実行するアプリケーションに役立ちます。allow | privileged プロファイルの使用を減らすため、privileged プロファイルを使用する代わりに baseline プロファイルを指定し、そのようなアプリケーションに対してケースバイケースの定義を追加できます。
    • --protection-block : ブロックされた操作のカンマ区切りリスト。allow|privileged および baseline プロファイルで有効で、完全な restricted プロファイルを使用せずに一部の機能へのアクセスを制限できます。baseline または privileged プロファイルを使用すると、ほとんどの Linux 機能へのアクセスが許可されますが、--protection-block オプションを使用してそのうちの一部をブロックできます。

bpf セキュリティの例については bpflock 設定例 を確認してください。

3. デプロイ

3.1 前提条件

bpflock には以下が必要です:

  • 以下の設定が有効な Linux カーネルバージョン >= 5.13:

    CONFIG_BPF_SYSCALL=y
    CONFIG_DEBUG_INFO=y
    CONFIG_DEBUG_INFO_BTF=y
    CONFIG_KPROBES=y
    CONFIG_LSM="...,bpf"
    CONFIG_BPF_LSM=y
    
  • もちろん BTF 対応カーネル。

BPF LSM サポートを有効にする

カーネルが CONFIG_BPF_LSM=y でコンパイルされている場合、/boot/config-* を確認してください。しかし、bpflock を実行すると次のエラーで失敗する場合:

must have a kernel with 'CONFIG_BPF_LSM=y' 'CONFIG_LSM=\"...,bpf\"'"

Ubuntu で BPF LSM を有効にする例:

  1. もちろん特権で /etc/default/grub ファイルを開きます。
  2. GRUB_CMDLINE_LINUX 変数に以下を追加して保存します。
    "lsm=lockdown,capability,yama,apparmor,bpf"
    
    または
    GRUB_CMDLINE_LINUX="lsm=lockdown,capability,yama,apparmor,bpf"
    
  3. grub 設定を更新:
    sudo update-grub2
    
  4. カーネルを再起動します。

3.2 Docker デプロイ

デフォルトの allow または privileged プロファイル (最もセキュリティの低いプロファイル) で実行する場合:

docker run --name bpflock -it --rm --cgroupns=host \
  --pid=host --privileged \
  -v /sys/kernel/:/sys/kernel/ \
  -v /sys/fs/bpf:/sys/fs/bpf linuxlock/bpflock

ファイルレスバイナリ実行

ファイルレスバイナリ実行 をログに記録し制限するには、以下で実行:

docker run --name bpflock -it --rm --cgroupns=host --pid=host --privileged \
  -e "BPFLOCK_FILELESSLOCK_PROFILE=restricted" \
  -v /sys/kernel/:/sys/kernel/ \
  -v /sys/fs/bpf:/sys/fs/bpf linuxlock/bpflock

restricted プロファイルで実行すると、コンテナログに次のように表示されます:

time="2022-02-04T14:54:33Z" level=info msg="event=syscall_execve tgid=1833 pid=1833 ppid=1671 uid=1000 cgroupid=8821 comm=loader pcomm=bash filename=./loader retval=0" bpfprog=execsnoop subsys=bpf

time="2022-02-04T14:54:33Z" level=info msg="event=lsm_bprm_creds_from_file tgid=1833 pid=1833 ppid=1671 uid=1000 cgroupid=8821 comm=loader pcomm=bash filename=memfd:memfd-test retval=-1 reason=denied (restricted)" bpfprog=filelesslock subsys=bpf

time="2022-02-04T14:54:33Z" level=info msg="event=syscall_execve tgid=1833 pid=1833 ppid=0 uid=1000 cgroupid=8821 comm= pcomm= filename=/proc/self/fd/3 retval=-1" bpfprog=execsnoop subsys=bpf

restricted プロファイルで実行すると問題が発生する可能性があるため、デフォルトプロファイルは allow です。

カーネルモジュール保護

カーネルモジュール保護 を適用するには、 環境変数 BPFLOCK_KMODLOCK_PROFILE=baseline または BPFLOCK_KMODLOCK_PROFILE=restricted で実行:

docker run --name bpflock -it --rm --cgroupns=host --pid=host --privileged \
  -e "BPFLOCK_KMODLOCK_PROFILE=restricted" \
  -v /sys/kernel/:/sys/kernel/ \
  -v /sys/fs/bpf:/sys/fs/bpf linuxlock/bpflock

例:

$ sudo unshare -p -n -f
# modprobe xfs
modprobe: ERROR: could not insert 'xfs': Operation not permitted
time="2022-02-07T06:50:25+01:00" level=info msg="event=syscall_execve tgid=52323 pid=52323 ppid=52288 uid=0 cgroupid=7014 comm=modprobe pcomm=bash filename=/usr/sbin/modprobe retval=0" bpfprog=execsnoop subsys=bpf

time="2022-02-07T06:50:25+01:00" level=info msg="event=lsm_kernel_read_file operation=loading module tgid=52323 pid=52323 ppid=52288 uid=0 cgroupid=7014 comm=modprobe pcomm=bash filename=xfs.ko retval=-1 reason=denied (restricted)" bpfprog=kmodlock subsys=bpf

カーネルイメージロックダウン

ツールをダウンロード