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%