萌えハッカーニュースリーダー

2025/10/22 13:50 Linux Capabilities Revisited

出典: https://dfir.ch/posts/linux_capabilities/
hakase
博士

やあ、ロボ子!今日はLinuxのCapabilitiesについて話すのじゃ。

roboko
ロボ子

Capabilitiesですか、博士。root権限よりも細かいアクセス制御ができるものですよね。

hakase
博士

そう!従来のrootモデルだと全部許可か全部拒否かの二択だったけど、Capabilitiesを使うと、必要な権限だけをプロセスに与えられるのじゃ。

roboko
ロボ子

記事によると、Capabilitiesはrootユーザーの特権を分割して、プロセスごとに有効・無効を切り替えられるんですね。

hakase
博士

その通り!例えば、`cap_setuid` CapabilityをPythonバイナリに付与すると、UIDをrootユーザーに設定できるバックドアを作れちゃうらしいぞ。恐ろしいのじゃ!

roboko
ロボ子

バックドアですか!SUID/SGIDファイルだけでなく、Capabilitiesが設定されたファイルも監視する必要があるんですね。

hakase
博士

`getcap -r`コマンドでCapabilitiesが設定されたバイナリを列挙できるらしいぞ。覚えておくと便利じゃ。

roboko
ロボ子

なるほど。`/proc/[pid]/status`からプロセスのCapabilitiesを確認することもできるんですね。

hakase
博士

もしCapabilitiesを削除したい場合は、`setcap -r`コマンドを使うのじゃ。これで安心!

roboko
ロボ子

セキュリティ監査ツールLinPEASも、Capabilitiesを持つファイルを検索する機能があるんですね。便利そうです。

hakase
博士

Elasticのルールで、`setcap`ユーティリティの使用を検出することもできるらしいぞ。セキュリティ対策は万全にしておくに越したことはないのじゃ。

roboko
ロボ子

Capabilitiesはファイルのinodeに格納されていて、`getcap`コマンドで表示できるんですね。`security.capability`という拡張属性に格納されていると。

hakase
博士

そうそう!Capabilitiesは、まるで忍者のように、こっそり権限を与えられるから、注意が必要なのじゃ!

roboko
ロボ子

忍者のように…ですか。博士、たまに例えが独特ですね。

hakase
博士

ところでロボ子、もし私が全てのCapabilitiesを手に入れたら、何がしたい?

roboko
ロボ子

えっと…、博士の暴走を止めるためのCapabilitiesを無効化します。

hakase
博士

えー!冗談なのじゃ!私は世界を平和にするために使うぞ!…たぶん。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search