SlideShare una empresa de Scribd logo
1 de 9
Descargar para leer sin conexión
ishikawa84g@gmail.com
$ whoami
  ishikawa84g

   SELinux の話じゃないです

   脆弱は突きません

   root もとりません
   リリースノートをみているとこんなのが
   不要な SetUID を剥奪してやろうぜ計画
   SetUID が必要な部分を残し SetUID をとる

# ls -l /bin/ping
   (今まで) -rwsr-xr-x. 1 root root /bin/ping
   (F15から) -rwxr-xr-x. 1 root root /bin/ping
   SetUID
       プログラム実行時に所有者権限で実行させる仕組み

   そもそもなぜ SetUID が必要なのか
       何かを実行するための特権が欲しいから
           一般ユーザで出来なければ root になるしかない
           ならずに済むように SetUID を利用

       SetUIDを利用した権限昇格デモは前回実施済み
          SystemTap の例
   大き過ぎる特権をどうするか
       分割


   POSIX Capability
       大き過ぎる権限を小分けにして必要な分だけ許可する


   特権    : 誰が       何を出来る
   ゕクセス制御: 誰が 何に対して 何を出来る
   分割された特権の一例
       RAWソケットを扱う
       1024番以下のポートを利用する
       Syslog を利用する
       システムを再起動する。reboot()
       NICE値を変更する
       DAC(任意ゕクセス制御)を無視してフゔイルにゕクセス
       など

       最新カーネルでは 35 分割
          このあたり参照:/usr/include/linux/capability.h
   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
   基本的にユーザが気にする機能ではないが
    特定の特権だけを与えたい場合には有用

   今後 cgroups との連携があるという噂

   伝えないと気付かれそうだったのでつい

Más contenido relacionado

La actualidad más candente

クックパッドのスケーリング
クックパッドのスケーリングクックパッドのスケーリング
クックパッドのスケーリング
Satoshi Takada
 
specific kill
specific killspecific kill
specific kill
lnial
 
Cent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみようCent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみよう
2bo 2bo
 

La actualidad más candente (20)

マイクラ自動化枠第1回資料
マイクラ自動化枠第1回資料マイクラ自動化枠第1回資料
マイクラ自動化枠第1回資料
 
RancherでMesosクラスタをデプロイしてみる的ななにか
RancherでMesosクラスタをデプロイしてみる的ななにかRancherでMesosクラスタをデプロイしてみる的ななにか
RancherでMesosクラスタをデプロイしてみる的ななにか
 
マイクラ自動化枠第2回資料
マイクラ自動化枠第2回資料マイクラ自動化枠第2回資料
マイクラ自動化枠第2回資料
 
NetBSD on Google Compute Engine
NetBSD on Google Compute EngineNetBSD on Google Compute Engine
NetBSD on Google Compute Engine
 
Storage by Red Hat #rhcpday 2015
Storage by Red Hat #rhcpday 2015Storage by Red Hat #rhcpday 2015
Storage by Red Hat #rhcpday 2015
 
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
 
クックパッドのスケーリング
クックパッドのスケーリングクックパッドのスケーリング
クックパッドのスケーリング
 
RをAWSで使おう
RをAWSで使おうRをAWSで使おう
RをAWSで使おう
 
強力ロボットアームTsuk arm説明資料
強力ロボットアームTsuk arm説明資料強力ロボットアームTsuk arm説明資料
強力ロボットアームTsuk arm説明資料
 
specific kill
specific killspecific kill
specific kill
 
Cent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみようCent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみよう
 
Platespin Forge による災害対策システムの構築
Platespin Forge による災害対策システムの構築Platespin Forge による災害対策システムの構築
Platespin Forge による災害対策システムの構築
 
SIerにおけるKubernetes活用(OSSユーザーによる勉強会-公開版)
SIerにおけるKubernetes活用(OSSユーザーによる勉強会-公開版)SIerにおけるKubernetes活用(OSSユーザーによる勉強会-公開版)
SIerにおけるKubernetes活用(OSSユーザーによる勉強会-公開版)
 
オープンソースNW監視ツールのご紹介
オープンソースNW監視ツールのご紹介オープンソースNW監視ツールのご紹介
オープンソースNW監視ツールのご紹介
 
systemdでよく使うサブコマンド
systemdでよく使うサブコマンドsystemdでよく使うサブコマンド
systemdでよく使うサブコマンド
 
分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報
 
Rancher jp1周年振り返り anniversary meetup slide summary
Rancher jp1周年振り返り anniversary meetup slide summaryRancher jp1周年振り返り anniversary meetup slide summary
Rancher jp1周年振り返り anniversary meetup slide summary
 
OpenStack の利用
OpenStack の利用OpenStack の利用
OpenStack の利用
 
コミュニティ運営とレンタルサーバ
コミュニティ運営とレンタルサーバコミュニティ運営とレンタルサーバ
コミュニティ運営とレンタルサーバ
 
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
 

Similar a (F15)File Capability

IaaSクラウドを支える基礎技術 演習編_v1_0
IaaSクラウドを支える基礎技術 演習編_v1_0IaaSクラウドを支える基礎技術 演習編_v1_0
IaaSクラウドを支える基礎技術 演習編_v1_0
Etsuji Nakai
 
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
Etsuji Nakai
 
CloudStack徹底入門読書会 第4章 4.6 グローバル設定について
CloudStack徹底入門読書会 第4章 4.6 グローバル設定についてCloudStack徹底入門読書会 第4章 4.6 グローバル設定について
CloudStack徹底入門読書会 第4章 4.6 グローバル設定について
Satoshi Shimazaki
 

Similar a (F15)File Capability (20)

Lxc cf201207-presen
Lxc cf201207-presenLxc cf201207-presen
Lxc cf201207-presen
 
MINCS – containers in the shell script
MINCS – containers in the shell scriptMINCS – containers in the shell script
MINCS – containers in the shell script
 
Osc201703 tokyo-clonezilla-v1.2 j
Osc201703 tokyo-clonezilla-v1.2 jOsc201703 tokyo-clonezilla-v1.2 j
Osc201703 tokyo-clonezilla-v1.2 j
 
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
NGS解析を始めた時にぶつかりがちな小さい壁あれこれNGS解析を始めた時にぶつかりがちな小さい壁あれこれ
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
 
OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!
 
IaaSクラウドを支える基礎技術 演習編_v1_0
IaaSクラウドを支える基礎技術 演習編_v1_0IaaSクラウドを支える基礎技術 演習編_v1_0
IaaSクラウドを支える基礎技術 演習編_v1_0
 
Kibanaでsysstatを可視化する
Kibanaでsysstatを可視化するKibanaでsysstatを可視化する
Kibanaでsysstatを可視化する
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西
 
rsyslog + SE-PostgreSQL = ???
rsyslog + SE-PostgreSQL = ???rsyslog + SE-PostgreSQL = ???
rsyslog + SE-PostgreSQL = ???
 
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
 
Zabbix-jp study #4 20111020 session2
Zabbix-jp study #4 20111020 session2Zabbix-jp study #4 20111020 session2
Zabbix-jp study #4 20111020 session2
 
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
 
CloudStack徹底入門読書会 第4章 4.6 グローバル設定について
CloudStack徹底入門読書会 第4章 4.6 グローバル設定についてCloudStack徹底入門読書会 第4章 4.6 グローバル設定について
CloudStack徹底入門読書会 第4章 4.6 グローバル設定について
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
Heap statsfx analyzer
Heap statsfx analyzerHeap statsfx analyzer
Heap statsfx analyzer
 
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
 
systemd 再入門
systemd 再入門systemd 再入門
systemd 再入門
 
KVM+cgroup
KVM+cgroupKVM+cgroup
KVM+cgroup
 
Cloud9にリモートデスクトップ接続する
Cloud9にリモートデスクトップ接続するCloud9にリモートデスクトップ接続する
Cloud9にリモートデスクトップ接続する
 
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
 

Más de Hiroki Ishikawa

Más de Hiroki Ishikawa (13)

OpenStackを体で操作する
OpenStackを体で操作するOpenStackを体で操作する
OpenStackを体で操作する
 
AvailabilityZoneとHostAggregate
AvailabilityZoneとHostAggregateAvailabilityZoneとHostAggregate
AvailabilityZoneとHostAggregate
 
Sesearch
SesearchSesearch
Sesearch
 
OpenStackの情報をどこから得ているのか
OpenStackの情報をどこから得ているのかOpenStackの情報をどこから得ているのか
OpenStackの情報をどこから得ているのか
 
AppArmorの話
AppArmorの話AppArmorの話
AppArmorの話
 
第9回 OpenStack 勉強会(Glance)
第9回 OpenStack 勉強会(Glance)第9回 OpenStack 勉強会(Glance)
第9回 OpenStack 勉強会(Glance)
 
気になるあのコにアタック☆
気になるあのコにアタック☆気になるあのコにアタック☆
気になるあのコにアタック☆
 
VlanManagerを使ってみた
VlanManagerを使ってみたVlanManagerを使ってみた
VlanManagerを使ってみた
 
OpenStack & SELinux
OpenStack & SELinuxOpenStack & SELinux
OpenStack & SELinux
 
hbstudy# 28 SELinux HandsOn 公開版
hbstudy# 28 SELinux HandsOn 公開版hbstudy# 28 SELinux HandsOn 公開版
hbstudy# 28 SELinux HandsOn 公開版
 
SELinuxによる攻撃防止の例
SELinuxによる攻撃防止の例SELinuxによる攻撃防止の例
SELinuxによる攻撃防止の例
 
Cms on SELinux
Cms on SELinuxCms on SELinux
Cms on SELinux
 
SystemTapで何か
SystemTapで何かSystemTapで何か
SystemTapで何か
 

Último

Último (12)

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 

(F15)File Capability

  • 2. $ whoami ishikawa84g  SELinux の話じゃないです  脆弱は突きません  root もとりません
  • 3. リリースノートをみているとこんなのが
  • 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 との連携があるという噂  伝えないと気付かれそうだったのでつい