狠狠撸
Submit Search
搁贬贰尝の贰翱尝が颁别苍迟翱厂に及ぼす影响
?
2 likes
?
1,452 views
K
Kazuki Omo
Material for Security Nighter 04 https://connpass.com/event/48977/
Read less
Read more
1 of 35
Download now
Download to read offline
More Related Content
搁贬贰尝の贰翱尝が颁别苍迟翱厂に及ぼす影响
1.
RHEL の EOL
が CentOS に及ぼす影響 Kazuki Omo( 面 和毅 ): ka-omo@sios.com OSS/Security Evangelist SIOS Technology, Inc.
2.
2 Who am I
? - Security Researcher/Engineer (17 years) - SELinux/MAC Evangelist (12 years) - Antivirus Engineer (3 years) - SIEM Engineer (3 years) - Linux Engineer (17 years)
3.
3 アジェンダ 1. RHEL の
EOL が CentOS に及ぼす影響 2. 実例で見てみる 2.1 CentOS 4 系の時 2.2 CentOS 5 系と最新の脆弱性情报 3. まとめ
4.
1. RHEL の
EOL が CentOS に及ぼす影響
5.
5 RHEL の EOL
ですよね。 RHEL の EOL か。。。うちは CentOS だし大丈夫だろう 工工エエ?? (?Д`) ??エエ工工
6.
6 思い出してみましょう じゃあ EOL になったらパッケージ更新はどうなるの?
7.
7 CentOS のパッケージ更新情報 脆弱性情報開示 RHEL CentOS
8.
8 CentOS のパッケージ更新情報
9.
9 結局 CentOS は ● CentOS
は良くも悪くも RHEL の「クローン」 ● パッケージ更新も RHEL に従う ● RHEL のパッケージ更新がなくなれば CentOS も パッケージ更新が無くなる 脆弱性が出たり、バグがあっても更新されない!!
10.
10 2. 過去の事例から学ぶ
11.
11 2.1 CentOS4 の事例
12.
12 覚えていますか? 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 等 )
13.
13 この ShellShock は影響大きくて。。。 デモを見ましょう ls
-l total 8 -rwxr-xr-x 1 root root 94 Jan 22 06:36 test.cgi cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin リモートから!!
14.
14 その頃、 RHEL 4
系は ShellShock は 2014 年
15.
15 RHEL4 (ELS 期間中
) の場合には ELS 中で緊急だから パッチ出しました
16.
16 一方 CentOS4 は [sios@localhost
~]$ cat /etc/redhat-release CentOS release 4.9 (Final) [sios@localhost ~]$ env 'x=() { :;}; echo vulnerable' 'BASH_FUNC_x()=() { :;}; echo vulnerable' bash -c "echo test" vulnerable え?でも誰が更新パッケージ出してくれるの???
17.
17 一方 CentOS4 は(続き) 誰が更新パッケージ出してくれるの??? 簡単に言うと 「
CentOS Project ではパッチを出さないから 早急に OS バージョン上げて」
18.
18 と言うことで世の中の CentOS 4
系の人は 自前でソース見て作る OracleLinux から持ってくる まだ「互換品」があったから 少しは楽 (でも大変。。。。)
19.
19 でも CentOS 3.x
以前の人は。。。 自前でソース見て作る ?「互換品」も無い ? ELS 無いので情報もほぼ出ない のでとっても大変。。。。
20.
20 2.2 CentOS 5
系と最新の脆弱性情报
21.
21 最近の RHEL/CentOS 系で大きい脆弱性 デモしてみましょう
22.
22 影響するバージョンを考える 問題:これは RHEL5/CentOS5 に影響するでしょうか? ヒント:
RHEL5/CentOS5 系は kernel-2.6.18
23.
23 答え: RHEL 5/CentOS
5 系も該当
24.
24 なんでこんなことが起こるの? RHEL のカーネルと素の (Vanilla)
カーネルは異なる RHEL のカーネルは Vanilla カーネルに色々手を 加えたもの ( 上位バージョンからのバックポートを含む ) [root@localhost SOURCES]# ls -lh *patch -rw-r--r-- 1 root root 96M Sep 6 2013 kernel-2.6.18-redhat.patch -rw-r--r-- 1 root root 0 Sep 6 2013 linux-kernel-test.patch -rw-r--r-- 1 root root 1.4M Sep 6 2013 xen-2.6.18-redhat.patch -rw-r--r-- 1 root root 507 Sep 6 2013 xen-config-2.6.18-redhat.patch [root@localhost SOURCES]# wc -l kernel-2.6.18-redhat.patch 2912382 kernel-2.6.18-redhat.patch
25.
25 DirtyCow 対応 (RHEL5/CentOS5
系 ) struct page *follow_page(struct vm_area_struct *vma, unsigned long address, unsigned int flags) { --snip-- if ((flags & FOLL_WRITE) && !pte_write(pte)) goto unlock; page = vm_normal_page(vma, address, pte); if (unlikely(!page)) goto unlock; struct page *follow_page(struct vm_area_struct *vma, unsigned long address, unsigned int flags) { --snip-- page = vm_normal_page(vma, address, pte); if ((flags & FOLL_WRITE) && !can_follow_write_pte(pte, page, flags)) { pte_unmap_unlock(ptep, ptl); return NULL; } 元の Kernel ソース 新規に can_follow_write_pte() を定義してチェック Kernel ソースコードを読める人じゃないと パッチは書けないよね。。。。
26.
26 最近の RHEL5/CentOS5 系で大きい脆弱性
(II)
27.
27 最近の RHEL5/CentOS5 系の脆弱性 (
問い合わせがあったもの ) RHEL5 の bind-9.3.6 は?
28.
28 最近の RHEL5/CentOS5 系の脆弱性 (
答 ) 影響します コレだけが該当 (CVE-2016-9147) (CVE-2016-9131/9444/9778) は影響なし
29.
29 最近の RHEL5/CentOS5 系の脆弱性 (
答 ) 影響します RHEL: bind-9.3.6-XX ( メジャーバージョン固定のため) 本家 (ISC): bind-9.9.9/9.10.0 パッチ(本家)は当然 9.9.9 以降しか出さない
30.
30 RHEL 系と本家ではメジャーバージョンが違うぞ ではどうしたか ? +++
bind-9.9.9-P5/lib/dns/message.c return (ISC_FALSE); } +/* + * Check to confirm that all DNSSEC records + * (DS, NSEC, NSEC3) have covering RRSIGs. + */ +static isc_boolean_t +auth_signed(dns_namelist_t *section) { + dns_name_t *name; --snip-- + !auth_signed(section)) + DO_FORMERR; + 本家 (ISC) messages.c に auth_signed() を追加 +++ bind-9.3.6-P1/lib/dns/resolver.c. CVE-2016-9147 --snip-- + * LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF + * CONTRACT, NEGLIGENCE + * PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: resolver.c,v 1.218.2.18.4.85 + 2008/10/17 22:03:37 jinmei Exp $ */ + +#include <config.h> + +#include <isc/print.h> +#include <isc/string.h> RHEL は 下位互換性を保ちながらなので 修正多すぎ。 分かりやすいように 個別ファイルにまとめた模様
31.
31 結局 RHEL5/CentOS5 系の製品に自前で パッチ当てるには ?自前でパッケージのソースを解析して ?脆弱性とかバグ情報が出た時に修正を自分で確認して ?ソースを(
RHEL の今までのソースと本家のソースを参考に) 書き直し/書き足しして ?パッケージを自分で作ってバージョン管理 これらを「自前のエンジニア」で出来る体制が必要 (場合によっては外部のサービスを使用)
32.
32 じゃあどのバージョンに上げるの? システムリプレースを考えると CentOS6 に したらオリンピック対応中に変更が来る →
CentOS 7 にしましょう。今からなら (変更点多いけど)間に合います。
33.
33 3. まとめ
34.
34 まとめ 1. RHEL の
ELS 終了は CentOS にとっても無関係ではない(命取り) 2. RHEL4/5 互換の CentOS を使い続けると ?自前で脆弱性情報とか出るたびに調べて ?自前でソース見て比較してパッチ書いて ?それを当てる QA をやって管理して ?しかもそれを下手すると週2?3回個別に進める そんなことって可能ですか? バージョン上げましょうよ (RHEL/CentOS 7 系に ) → (工数ベースで上司に出して提案しましょう)!!
35.
35 Thank You!!!
Download