OSSセキュリティ技術の会 第一回勉強会

selinux, apparmor

technlogy radar https://www.thoughtworks.com/radar

OSSセキュリティ技術の会

SELinuxの創生

軍用Trusted OS 軍用 10年後に進化して商用化→課題が山積

SecureOS→SELinux創生

TrustedOS

国防総省の調達書で作られた。Divisionを制御。 (TCSECのDivision/Classの要件)

Bより上がTrustedOS

任意アクセス制御の問題

読んだ人が権限を変更できてしまう

強制アクセス制御による保護

下位レベルに書き込めないため無権限者が書き込めない INFORMATION FLOW CONTROL(下から上へファイルが流れる)

WRITE-UP → 監査ログの格納に仕様

(例えるなら) 任意)封筒にマル秘と書く 強制)文書にマル秘を書く

Import and Expoer

ClearanceとSensitivity Level

TrustedOSの進化

CMW(Comparted Mode Workstation)

TCSECとCMW

OSIS EVOLUTIONARY DEVELOPMENT (OED)

MULTILEVEL ACCESS CONTROL

Truted OSの活用 監査証跡機構を噛ますことで動きをログに残せる

電子政府におけるセキュリティ(ry

SecureOS → SELinux

RSA Conference USA 2017報告

SELinuxの問題と課題はたくさんあるから論文書きましょう!!!

コミュニティレベルのセキュリティ

Linux Foundationの取り組み

OSSセキュリティは商用ソフトでも以下でもない。 タダ乗りしないでバグレポートやパッチ貢献してほしい。

CII Best Practices Badge Program -> 所定のベストプラクティスを

CVEの新たな動き

USの非営利団体が主導。見る人が増えたから脆弱性報告が増えたからマイナスに考えないで。

DWFの設立。脆弱性好きなら報告して。

コンテナのセキュリティ

デフォルトでコンテナ管理システムを動かすのは危ない。

  • seccomp
  • OpenSCAP コンテナ検査ツール

コンテナ時代にSELinuxが注目されている

大事)脆弱性が突かれてしまった場合の対策

最近のSELinuxの状況

古いソースコードが修正されているから最近のCVEが増えた。

OSS Summit

最近のSELinuxのトピック

★CIL ポリシをより簡単に記載。まとめて書けば簡単。

★SELinux + Container Docker=SELinux OFF なんで? Docker公式はONにして。日本と海外の乖離が大きい。

★FileSystem Distributed FSのサポート Linux 4.5

★NFS ★SELinux + SCAP 海外だとセキュリティのチェックでSELinuxが普通。 SELinux使っているのが普通(海外)(オラクル) Windows Defendarみたいなもの

★SELinux + Android android 4.3-普通に入っている。SEAndroid

4.4 Enforcing 5.0 全てEnforcing

Oracle製品もSELinuxで守ってる。

幾つかPoCとSELinux

★ShellShock

Metasploit (Kali Linux) でexploit リモートから任意のコマンドを実行可能。 SELinuxを無効化した場合は実行可能。 SELinuxを有効化した場合は実行できず。 /var/log/messagesを読むとdeniedになっている。 →シェルショック対象マシンでもSELinuxが有効化すれば緩和できる。

★BINDの脆弱性 CVE-2016-2776

パケット1つでダウンする。 →SELinuxでは守れない。 あくまでもアクセス権を守るのがSELinuxだからDoSは守れない(原理的に無理)。

★Linux Kernel特権昇格の脆弱性 CVE2017-6074

ローカルユーザはRootを乗っ取れるというもの。 無効時)pwnを実行されると権限昇格されてしまう。 有効時)SELinuxをOnにすることで権限昇格を防げる。 /var/log/messagesを読んでみるとauditでログが生成される。

★Struts2 CVE-2017-5638

(被害)日本郵便、都税クレジット、沖縄電力、住宅金融支援機構、メガネ販売店JINS

無効時)防げずに脆弱性を突かれている 有効時)防げていない。守れない。   SELinuxのドメインはtomcatで動いている。

コマンドseinfo -ttomcat _t -xを実行してみる。 unconfind -> なんでも権限を持っている。 tomcatがunconfindを持っているのはまずい。 https://bugzilla.redhat.com/show_bug.cgi?id=1432083

SELinuxが問題ではなくポリシーがクソ。だから守れてない。

★ntfs-3g

ポリシに問題あり。UbuntuはSELinuxを非推奨。 AppArmar使ってねだから。

まとめ

  • 海外では使うのが当たり前
  • 守れる範囲を把握
  • 守れるものと守れないものがある
  • 開発が進んでいる

SELinuxの招待を暴く! sesearch入門

設定を把握して確認する。ポリシーを適用させればよいのではない。

オブジェクトクラスとパーミッションは大量にあるから、カーネルソースを読むとよく分かる。 allowとfile_contexts (気に食わなかったらNSAに怒られた)

バイナリ形式で書かれているから専用ツールが必要になる。 このツールはデフォルトで入っていない!!!

rootへの権限昇格をブロック

頭文字Eをチェックしよう httpdを例にすると、ダウンロードは出来ても実行ができない。

日経Linuxを見てもらえれば。。。

一時ファイルと特殊ファイル以外は書き込めない→破壊活動ができず

yum install policycoreutils-gui

まとめ

  • 複数の技術を組み合わせた多層防御が大事。
  • セキュリティに100%