SELinux_Updates_PoC_20170516
-
Upload
kazuki-omo -
Category
Technology
-
view
124 -
download
0
Transcript of SELinux_Updates_PoC_20170516
2
Who am I ?
- Security Researcher/Engineer (19 years)
- SELinux/MAC Evangelist (14 years)
- Antivirus Engineer (3 years)
- SIEM Engineer (3 years)
- Linux Engineer (17 years)
3
アジェンダ
1. 最近の SELinux のトピック
2. 幾つか PoC と SELinux
3. まとめ
1. 最近の SELinux のトピック
5
1. 最近の SELinux のトピック
1. CIL
2. SELinux + Container
3. FileSystem
4. Labeled Network
5. SELinux+SCAP
6. SELinux+Android
6
1. CIL
(type sendconfig_t)(roletype system_r sendconfig_t)(typeattributeset entry_type sendconfig_exec_t)(allow init_t sendconfig_exec_t (file (read execute execute_no_trans open)))
よりポリシを簡単に記載する。この CIL を使うことにより、ポリシの開発が 50-70% 早くなると言われている。
7
2. SELinux + Container
8
2. SELinux + Container
● SELinux での rkt/runC のサポート
● OverlayFS のサポート
● Capability チェックの分離
9
3. FileSystem
● Distributed File System のサポート
● Linux 4.5 からの GFS のサポート
● 完全な SELinux/ovarlayfs のサポート● Linux v4.9 からテスト開始
10
4. Network File System
● CALIPSO / RFC 5570 のサポート
● Linux v4.8 からサポート
● IPv6 でのネットワークラベリングサポート
● Solaris TX との相互運用
11
5. SELinux+SCAP
12
5. SELinux+SCAP
13
6. SELinux+Android
CVE-2016-2060 はSEAndroid なら大丈夫でした。
14
6. SELinux+Android
Android(KitKat: v4.4) で SELinux Enforcing が有効に・ 1 年で 60% の Android デバイスが KitKat+ で動作・現在 80% の Android デバイスが KitKat+ で動作中
Android(Lolipop: v5.0) では全て SELinux のポリシが Enforcing・ 1 年で 18% の Android デバイスが Lolipop+ で動作・現在 50% の Android デバイスが Lolipop+ で動作中
15
その他
2. 最近の脆弱性情報の PoC と SELinux
17
とりあえず、これだけ試してみます
1. ShellShock(CVE-2014-6271)2. bind9 DoS(CVE-2016-2776)3. kernel 特権昇格脆弱性 ( CVE-2017-6074 )4. Struts(CVE-2017-5638)5. ntfs-3g の脆弱性 (CVE-2017-0358)
18
覚えていますか?
SHELL SHOCK!!!2014 年 9 月 24 日 GNU bash の脆弱性情報が公開
幅広い bash のバージョンが対象
環境変数を利用してプログラムを実行できる。リモートからも。
● JVNVU#97219505 GNU Bash に OS コマンドインジェクションの脆弱性● JPCERT/CC GNU bash の脆弱性に関する注意喚起● JPCERT/CC TCP 10000 番ポートへのスキャンの増加に関する注意喚起● IPA bash の脆弱性対策について (CVE-2014-6271 等 )
19
2-1. ShellShock の脆弱性
デモを見ましょう
ls -ltotal 8-rwxr-xr-x 1 root root 94 Jan 22 06:36 test.cgicat /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologin
リモートから何でも
20
現在の結果
脆弱性 SELinuxで緩和?
理由
ShellShock ◯
bind9 DoS
kernel特権昇格
Struts
ntfs-3g
21
2-2. bind9 の脆弱性 (CVE-2016-2776)
22
2-2. bind9 の脆弱性 (CVE-2016-2776)
デモを見ましょうmsf auxiliary(namedown) > exploit
[*] Sending bombita (Specially crafted udp packet) to: 172.16.148.130[+] Exploit Success (Maybe, nameserver did not replied)[*] Scanned 1 of 1 hosts (100% complete)[*] Auxiliary module execution completedmsf auxiliary(namedown) > exploit
リモートから落とせます!!
23
現在の結果
脆弱性 SELinuxで緩和?
理由
ShellShock ◯
DoS ✖ 原理的に無理
kernel特権昇格
Struts
ntfs-3g
24
2-3. linux kernel 特権昇格脆弱性 ( CVE-2017-6074 )
● 報告日: 02/22/201● 広範囲なバージョン (11 年前の 2.6.18(Sep 2006) 以降 )
25
2-3. linux kernel 特権昇格脆弱性 ( CVE-2017-6074 )
デモを見ましょう
Ubuntu の Kernel 用の PoC が公開されているため
・ Ubuntu で PoC を試す・ Ubuntu + SELinux で緩和できるか見てみる
26
現在の結果
脆弱性 SELinuxで緩和?
理由
ShellShock ◯
DoS ✖ 原理的に無理
kernel特権昇格 ◯
Struts
ntfs-3g
27
2-4. Struts2 の脆弱性 ( CVE-2017-5638 )
● 日本郵便株式会社● 都税クレジットカード支払サイト● 沖縄電力● 住宅金融支援機構● メガネ販売店 JINS
03/06/2017 公開
あちこちがヤラれました
28
2-4. Struts2 の脆弱性 ( CVE-2017-5638 )
デモを見ましょう
CentOS + Tomcat + Struts2( 脆弱性あるバージョン ) で
・ SELinux が Permissive の時の動作・ SELinux が Enforcing の時の動作
を見る。
29
2-4. Struts2 の脆弱性 ( CVE-2017-5638 )
SELinux が Enforcing の時に・自分の ID を確認・ /etc/shadow などにアクセス「出来る」事を確認・理由を考察
seinfo -ttomcat_t -x の出力結果を見る
30
2-4. Struts2 の脆弱性 ( CVE-2017-5638 )
Bugzilla に報告しました (Bug 登録 -> 修正 )・ SecureOSS Sig の Blog に載せてなかった理由
31
現在の結果
脆弱性 SELinuxで緩和?
理由
ShellShock ◯
DoS ✖ 原理的に無理
kernel特権昇格 ◯
Struts ▲ ポリシに問題有り(報告済み)
32
2-5. ntfs-3g の脆弱性 (CVE-2017-0358)
● 報告日: 02/01/201● Debian/Ubuntu のみ
33
2-5. ntfs-3g の脆弱性 (CVE-2017-0358)
デモを見ましょう
Ubuntu 用の PoC が公開されているため
・ Ubuntu で PoC を試す・ Ubuntu + SELinux で緩和できるか見てみる
34
これまでの結果
脆弱性 SELinuxで緩和?
理由
ShellShock ◯
DoS ✖ 原理的に無理
kernel特権昇格 ◯
Struts ▲ ポリシに問題有り(報告済み)
ntfs-3g ✖ ポリシに問題有り(ubuntuはSELinux非推奨)
35
3. まとめ
36
まとめ
1. SELinux は未だどんどん開発が進んでいる
2. SELinux は海外では使うのが当たり前
3. SELinux で守れる範囲を把握しよう
4. SELinux で守れるはずなのに守れないこともある
→ 守れる範囲を把握(次のセッションに続きます)
37
Thank You!!!