狠狠撸

狠狠撸Share a Scribd company logo
Copyright	
 ??	
 ?2014	
 ?Oracle	
 ?and/or	
 ?its	
 ?affiliates.	
 ?All	
 ?rights	
 ?reserved.	
 ?	
 ?|
【特別編】【第七回 ゼロから始める Solaris 11.X】03 セキュリティ関連アップデート ~改ざんからシステムを守る!~
【特別編】【第七回 ゼロから始める Solaris 11.X】03 セキュリティ関連アップデート ~改ざんからシステムを守る!~
Copyright ?? ?2015 Oracle ?and/or ?its ?affiliates. ?All ?rights ?reserved. ? ?| 4
n?
n?
ELF ?: ?Executable ?and ?Linkable ?Format
署名の付与 elfsign による検証
ELF
ファイル
デジタル
署名
秘密鍵
ELF
ファイル
ハッシュ
ELF
ファイル
デジタル
署名
公開鍵
/etc/certs
ハッシュ
?一致すれば問題なし
n?
ü?
?
ü?
?
n?
ELF
ファイル
デジタル署名
?一致せず
改ざんを検知
ハッシュ
ELF
ファイル
n?
n?
n?
elfsign digest
ELF
オブジェ
クト
デジタル
署名
秘密鍵
外部署名
機関
署名
elfsign sign -‐??蝉
Copyright ?? ?2015 Oracle ?and/or ?its ?affiliates. ?All ?rights ?reserved. ? ?| 8
n?
n?
ü?
ü?
ü?
n?
改竄された
カーネル
モジュール
改竄された
カーネル
モジュールStop
乗っ取り
など
Verifed Boot で検知、
ロードの阻?止
n?
ü?
?
?
unix/genunix
n?
ü?
ü?
ü?
ILOM
bootblockOpen Boot
OBP
その他 の
カーネルモジュール
チェック チェック チェック
n?
ü?
ü?
ü?
n?
Copyright ?? ?2015 Oracle ?and/or ?its ?affiliates. ?All ?rights ?reserved. ? ?| 14
n?
ü?
?
ü?
n?
ü?
ü?
ü?
n?
n?
n?
ü?
ü?
n?
ü?
n?
n?
n?
n?
例例 ) Benchmark = ?Solaris
Profile = Baseline
Tailoring = xxxx
Benchmark = ?Solaris
Profile = Baseline
ルール
ルール
ルール
ルール
ルール
ルール
n?
n?
n?
Copyright ?? ?2015 Oracle ?and/or ?its ?affiliates. ?All ?rights ?reserved. ? ?| 21
n?
n?
n?
n?
n?
n?
n?
ü?
n?
ü?
Oracle ?Database ? 12c ?は 12.1.0.2 ?+ ?
Database ? Bundle ?Patch ?でサポート
予定
HB_?REQ
5
hello
HB_?RES
5
hello
HB_?REQ
10
hello
HB_?RES
10
hello
他のデータ
情報漏漏洩
HB_?REQ
5
hello
HB_?RES
5
hello
HB_?REQ
10
hello
HB_?RES
10
hello
他のデータ
【特別編】【第七回 ゼロから始める Solaris 11.X】03 セキュリティ関連アップデート ~改ざんからシステムを守る!~
A
B
C
D
1
2
3
4
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
A
B
C
D
1
2
3
4
X
X
X
X
X
X
X
X
X
X
X
?~ ?一部抜粋 ?~
if ?(memcntl(area1, ?8192, ?MC_?ENABLE_?ADI, ?NULL, ?0, ?0) ?< ?0) ?{
perror(“MC_?ENABLE_?ADI ? failed”);
exit(1);
}
area1 ?= ?adi_?set_?version(area1, ?8192, ?1);
if ?(memcntl(area2, ?8192, MC_?ENABLE_?ADI, ?NULL, ?0, ?0) ?< ?0) ?{
perror("MC_?ENABLE_?ADI ? failed");
exit(1);
}
area2 ?= ?adi_?set_?version(area2, ?8192, 2);
printf(" ?Original ?: ?pass ?= ?%s ??n", ? area2);
printf(" ??n");
fill_?with_?x(area1, ?8200);
printf(" ??n");
printf(" ?Current ? ?: ?pass ?= ?%s ??n", ? area2);
printf(" ??n");
A
B
C
D
1
2
3
4
A
B
C
D
1
2
3
4
X
X
X
X
X
X
X
X
X
X
X
1.
2.
n?
【特別編】【第七回 ゼロから始める Solaris 11.X】03 セキュリティ関連アップデート ~改ざんからシステムを守る!~

More Related Content

【特別編】【第七回 ゼロから始める Solaris 11.X】03 セキュリティ関連アップデート ~改ざんからシステムを守る!~