Más contenido relacionado
La actualidad más candente (20)
Similar a (F15)File Capability (20)
Más de Hiroki Ishikawa (13)
(F15)File Capability
- 2. $ whoami
ishikawa84g
SELinux の話じゃないです
脆弱は突きません
root もとりません
- 4. 不要な SetUID を剥奪してやろうぜ計画
SetUID が必要な部分を残し SetUID をとる
# ls -l /bin/ping
(今まで) -rwsr-xr-x. 1 root root /bin/ping
(F15から) -rwxr-xr-x. 1 root root /bin/ping
- 5. SetUID
プログラム実行時に所有者権限で実行させる仕組み
そもそもなぜ SetUID が必要なのか
何かを実行するための特権が欲しいから
一般ユーザで出来なければ root になるしかない
ならずに済むように SetUID を利用
SetUIDを利用した権限昇格デモは前回実施済み
SystemTap の例
- 6. 大き過ぎる特権をどうするか
分割
POSIX Capability
大き過ぎる権限を小分けにして必要な分だけ許可する
特権 : 誰が 何を出来る
ゕクセス制御: 誰が 何に対して 何を出来る
- 7. 分割された特権の一例
RAWソケットを扱う
1024番以下のポートを利用する
Syslog を利用する
システムを再起動する。reboot()
NICE値を変更する
DAC(任意ゕクセス制御)を無視してフゔイルにゕクセス
など
最新カーネルでは 35 分割
このあたり参照:/usr/include/linux/capability.h
- 8. File Capability
フゔイルの XATTR に Capability を含めたもの
プログラム実行時に与えた特権を与える仕組み
XATTR(拡張属性領域)
SELinux , POSIX ACL などをぶち込む領域
-rwxr-xr-x. -rwxr-xr-x+ -rwxr-xr-x@
↑SELinux ↑POSIX ACL ↑Mac OS用
# getcap /bin/ping
/bin/ping = cap_net_raw+ep
- 9. 基本的にユーザが気にする機能ではないが
特定の特権だけを与えたい場合には有用
今後 cgroups との連携があるという噂
伝えないと気付かれそうだったのでつい