TA的每日心情 | 开心 8 小时前 |
---|
签到天数: 274 天 [LV.8]以坛为家I
管理员
- 积分
- 9486
|
Java电子书:Google系统架构解密:构建安全可靠的系统 PDF 电子书 Java吧 java8.com1 m% N# \6 d8 g8 c
1 a: D7 d% t) Q. l4 D; _0 V$ I作者:希瑟·阿德金斯(Heather Adkins)[美]贝齐·拜尔(Betsy出版社:人民邮电出版社出版时间:2021年09月
1 F% t" Y9 {1 P
# g9 r$ K# E/ F+ ^3 ~! x9 Y% h9 o编号:166-Java吧资源免费-X0127【Java吧 java8.com】8 R: }* U! B8 F+ r* A& i2 q# ]: G
7 F$ @- c3 k8 v8 V$ U. c
C6 n9 |& a; n2 D0 B6 X* e E5 C w8 I
目录:7 R. X% A* b u, J ~
推荐序一 xvii
$ Z7 W! K! Z' k6 U0 I$ G* {, t
& t# a. V9 j ?. e. d4 c4 E推荐序二 xix5 C+ L9 ^. \ @3 K5 s E
2 ^4 ~7 _# s# @2 W
对本书的赞誉 xxi, l2 I$ Y- ]" D/ x
% V# x# L& Z5 q. p' o+ T序一 xxiii9 B- n+ b1 v% f; H
2 F- o% R) r0 w E7 X1 Z序二 xxv
4 \" m" [" D! e' n& z: I9 V* b
6 }9 [5 J8 m0 _1 Q6 x6 t+ a前言 xxvii' Z l1 r/ R% ~7 s
+ _3 p+ C; V8 E! @) u& ~* \' h第 一部分 入门资料
- k% ]7 B' w! h- n+ S/ E1 p8 A2 z) q$ }# M
第 1章 安全性与可靠性的交集 34 a" ?% K* _& Q" H) M
9 X ^/ s4 y% G3 ?1 F- E
1.1 从密码和电钻谈起 3 G+ J3 [% i, L4 |: _1 e- I
! T$ D- k& t: |. p7 |3 {# j1.2 可靠性与安全性:设计注意事项 4; [% P v8 y# B6 J3 d x
+ [! Z: L z; Q$ j4 o# ~
1.3 机密性、完整性、可用性 5# t% a* d# e: E3 s
d n0 w+ E8 b1 k8 P1.3.1 机密性 5
0 {; g+ S0 c4 O9 {; |7 Q, @: f) W% K% i8 v4 O, ]
1.3.2 完整性 5
0 i7 Z( \; @5 D" C$ b6 e
J; H! u5 S8 ^- @' x- g) I# Y. T1.3.3 可用性 6
# C: j8 E& T& R" g: z8 V" q1 l0 N& B1 G& p/ R
1.4 可靠性与安全性:共性 6. h5 T5 z- o/ W; [& S
4 S% K9 ^- v0 c+ |1.4.1 隐形 6
+ p7 {& N; Y$ M3 b7 W% h/ B- T1 M0 [) E6 G# r, \ E4 U
1.4.2 评估 7
0 l$ i- ]1 i) z8 r) P6 `
& g8 ], D% b) M7 C1.4.3 简洁性 7
8 u1 H" ^9 Z) W) R2 R6 Y5 D; U& y) b3 D/ D: U8 N* L( e p
1.4.4 演变 7
' M" U# P0 k: x h1 C7 a8 X$ D
! T; ~& `; V- o6 c. q0 F5 N: w( }1 U1.4.5 弹性 86 d9 |/ L" \" |9 s# b5 q! p
7 J6 ?0 a! ?7 U1.4.6 从设计到生产 9! d& Q; W1 e8 F' d
5 F) g( l+ ^1 n/ b) Q- K9 V; K1.4.7 调查系统和日志 9
, u' y# S' a7 _5 Q. T* s& k# P" y6 H) |
1.4.8 危机响应 9
1 y" e: j1 t$ B( W" _, C* v# u) ~
5 i" l5 k* A! `6 S9 E* k' Z1.4.9 恢复 10" n- \+ f, a5 z9 t! F! g
7 z; {* b( e) M; Y- Q1.5 小结 10. s& B3 J8 X6 L: t# M
2 F4 M. h/ i, e6 p' r+ h' [% }% @第 2章 了解攻击者 118 A1 J. a% p0 r: ^1 P! [% u$ X
; c+ x, N; F* ^0 G2 V8 ^+ \
2.1 攻击者动机 12
/ R/ [0 U. n/ _& O2 e0 D! i0 W2 Q0 j& S0 {% U
2.2 攻击者画像 13
5 d8 z: a( A+ ^" \! P( L2 x! @7 N
& \% J7 P" Y/ N5 \" s A2.2.1 业余爱好者 139 j2 h& Y+ E. Z" ~8 V$ z) v1 l
3 s7 z. G( E1 E0 q; R2.2.2 漏洞研究人员 13
. ~0 p- O2 ]5 N' ^
" h: |7 s0 ?/ b% F, y2.2.3 黑客活动家 14) i; e1 f, N! } ^$ ]) m5 p
& A! y4 c/ H5 ?
2.2.4 犯罪分子 14
6 S7 m" F. J+ ^; ^% L$ g: I4 J' A. s" O# u3 k, E
2.2.5 自动化和人工智能 15
5 e( K! _) j" p6 ~& l0 J* i+ f4 O2 y: j7 {! C+ x5 V( z
2.2.6 内部人员 152 U* ^* V: N( X: ~
$ `' V! l; O5 H) l
2.3 攻击者方法论 19
4 w# i; F- u" l# I" a" F8 j0 A3 |& v' ^8 D( K' e+ J
2.3.1 威胁情报 19
/ E! |3 V, H9 \: ]% \/ H: f% n( |% J% J' F1 {5 _
2.3.2 网络杀伤链 20& s& t! p% N. _' I
9 k( P- B/ p+ F8 y* V0 ?6 d% [9 o+ F
2.3.3 TTP 20
+ I' F5 X1 C; z {% X# D$ X# |8 t8 x5 o' g/ b- u0 n8 m6 R
2.4 风险评估注意事项 21) f. w: S3 Q* _
) m0 f' e w+ N# @0 O6 {
2.5 小结 21; y' x3 w: c+ k7 t* j4 Z
- f$ f: F, x3 z' ?; h2 i第二部分 设计系统
! e5 _+ s3 \9 w% l( r% a1 P" l3 D0 R, p
第3章 示例分析:安全代理 25
, [, J2 ~" g! r Y7 m2 S* y+ _9 y% W) V. Z6 p6 G: F( V
3.1 生产环境中的安全代理 25
* J7 V" d/ p* G e+ J& |5 O+ ], v# G
3.2 Google工具代理 27
: k% L" }' I$ @3 ?& b% w) F1 s7 ~7 O8 ^& b% d. w) ~
3.3 小结295 C* V R/ C4 |8 l( b# i9 v
4 k. q# q- H; w0 g3 l
第4章 设计中的权衡 303 b5 K" j1 e# \: l) s, H8 b
& W3 w5 o. u! S1 U4.1 设计目标和要求 31& R6 P1 x$ K! b: v! ]2 [9 Z
5 ^+ i$ }* f0 O
4.1.1 特性需求 31
% w0 T) g# y. K8 O& l+ L& \& v3 O" {! t
4.1.2 非功能性需求 31
: n. h1 c; H8 s. i1 W2 V. Q* g, z+ g8 l1 w& Z) s8 X
4.1.3 功能与涌现特性 32" ~6 w3 H8 G) J+ \1 H8 E3 C' e, l
+ B' U E3 ~- a. J
4.1.4 案例:Google的设计文档 33% Y9 d9 \4 b h2 w5 T l$ }4 Y$ F
# ]/ c- E' ?, V/ f4.2 需求平衡 34* K5 p( j! P0 x, z
. k- Z3 C% B4 ?9 a0 W6 H+ T
4.3 处理紧张局势和统一目标 37; w6 ~7 H) R0 { U* D T- O/ \$ D
$ w; r* v( ~9 p, R! s
4.3.1 案例:微服务和Google Web应用程序框架 376 m/ q0 H9 y, P4 J2 N
7 C2 W! |8 o& f* U0 g) Q A6 C
4.3.2 统一涌现特性的需求 392 o" N) u5 p" a7 H5 b( U6 D
9 }6 g1 c7 `. B4 T% ], j4.4 初始速度和持续速度 39+ R; n* H( H1 C* a( R: _9 Z" T
; i) _0 v- g% r( G5 l; t W/ B4.5 小结 41
. P k! L7 g' a& {6 X/ A
7 a- s1 ]; N: u0 y6 ^第5章 小特权设计 421 W8 V, q8 @0 B2 t
1 O, t. `+ Y6 G7 L& @7 T! [
5.1 概念和术语 43
8 ?8 C. }. Y6 {% I; Y! Y* \; D- _! u& t4 \, u) p4 @
5.1.1 小特权 43
/ s# l2 p, A8 t* e7 j
/ O& P- J( S+ l I/ j9 T0 s+ a# u3 {5.1.2 零信任网络 436 ]3 V2 v1 Y- F
: y$ R' x6 g( n c) T5.1.3 零接触 43+ z" @% S# b- s y7 Z; `
3 G K2 W% g) p6 \4 X
5.2 基于风险的访问分类 43
% ?9 M7 ] u; Z- e0 s; o2 t/ c* P2 h U0 w6 b- B. @; V
5.3 实践 44
9 Q4 X8 L& w% r8 [' t7 E( H) \+ s( C1 m8 W
5.3.1 API功能小化 45. s" _, z- A1 q! F; ^% D
2 Y: ]; i, q0 Z8 F
5.3.2 Breakglass机制 472 [$ l; O; Q* l B6 Z
! T- w, V0 u! d+ `# i! \
5.3.3 审计 47 B& n1 C- I) F& G7 Z
, T1 k/ J G) V: s5.3.4 测试和小特权 49% c0 e( z& h- F
& M' D- m) l3 y7 K! P5.3.5 诊断被拒绝的访问 50# H) {3 }0 r8 T3 o, l z& W, R8 ^ l
; D4 b9 e, M3 z
5.3.6 优雅失败和Breakglass机制 51# g6 ~. M9 z; a3 O# g7 [0 s: a
2 F4 r6 t0 N8 a0 b- r
5.4 工作案例:配置分发 51
5 @$ ^8 Z" F, D2 A' P" v6 Z
! E/ A0 T( n4 w+ L5.4.1 基于OpenSSH实现的POSIX API 52) O% r4 B5 @8 w" Y7 S% R# z* f
2 S' x W% }9 i% N- H% m
5.4.2 软件更新API 52
q+ j4 D; x/ Z$ N c& Q1 W1 a0 `: T: t- O6 S
5.4.3 自定义OpenSSH ForceCommand 53
( U/ L' X- v7 J
5 p9 A9 s- x1 x& z1 P" ]5.4.4 自定义HTTP接收器(边车) 53: `0 X$ z2 ]( h
9 u; D. W! ^5 I: O* {) M0 O
5.4.5 自定义HTTP接收器(内置) 534 ?9 L Z$ |! @9 |% W* y' ?# H3 Y1 H
: f* _2 K: k! a$ F' D/ \9 V, z3 G5.4.6 权衡取舍 535 N1 i, y- A3 R# I0 v, Q
! C! a- h4 P6 n- V+ I: f
5.5 一种用于认证和授权决策的策略框架 54% M! l2 t l/ x% W W5 ]8 P6 w6 z& c
/ C y8 O! U9 D; y6 S5.5.1 使用高级授权控件 55
2 J+ X# K _: w. { S/ q
& P: y8 v m+ |! a" `+ d- j5.5.2 投入广泛使用的授权框架 55; [! E/ h2 ]0 Z, q! b+ `
. f# |- b' A* Y& t8 M4 S5 p7 _5.5.3 避免潜在的陷阱 56 D9 g7 J3 \9 E2 v' q8 |5 }
- U- B1 h. Z! X: a- f( x4 H& `
5.6 高级控制 56! M U4 ]- d; F6 l: K8 Z9 ]; e
# N2 z( Z* l1 n( d/ I5.6.1 MPA 565 q" ^$ d: G$ w; N. B& V1 l$ X% a
) H! h- ~/ [2 \9 ^7 W
5.6.2 3FA 57
* T' V, s( R5 C' ~
4 }& I7 W! ~, c |8 a5.6.3 业务依据 58
2 Y3 N4 F J9 h% D+ `
7 }: d+ z' l8 G5.6.4 临时访问 591 y7 P; a/ l: g) v1 v; A; O. M
& m l0 [, i3 W& w1 r P
5.6.5 代理 599 C% D* l& i8 E, K& z
: p' o: i+ n6 T" P; b5.7 权衡和冲突 59
* q9 Q" Q/ C7 E2 {& e; U
7 P- u( e: h9 H/ f4 \. C5.7.1 增加了安全复杂性 60. j1 i, }& @" H( j- I: u& m' w( L& m
( U; i0 |& j9 Q. r$ P/ C; P5.7.2 对合作商及公司文化的影响 60
' x1 L. x% s6 g4 Z, t6 V% ?1 Z9 u8 t1 A" E! b3 H6 E, @3 n
5.7.3 影响安全性的质量数据和系统 60) P& X& F2 r) `& S \
9 f" n; o5 V6 N2 C4 `; g
5.7.4 对用户工作效率的影响 60
# j7 E) N# }/ q# f0 v; G" u- q
! @' o- j0 B' u! h5.7.5 对开发复杂性的影响 60
4 [$ o1 X7 C5 S6 n3 i c) Q" |$ L) z7 K3 ?* _8 k
5.8 小结 61
8 L" ?. v4 H* A1 z- v# Y" B; o, q
' P% W' O1 F* z) s第6章 面向易理解性的设计 629 M( h: m; Y8 P* W, C+ E) J9 n- Z
- W8 Y6 f8 B( I2 k( l6.1 为什么易理解性很重要 62
: Z. U1 O+ G7 O3 S, |' G( q8 ?3 g/ r% S4 _7 V9 y) D; o
6.1.1 系统不变量 63
B( L; N8 X- W9 K2 e9 o8 y0 x& J; }) H5 t3 K1 n1 w; D3 I1 D# y
6.1.2 分析不变量 64
" b% R$ f0 D- E" g2 G3 t# ~/ R( q8 r/ o/ A/ m( ~3 k
6.1.3 心智模型 65
: N& |: ~ {7 i: w W( V+ g2 e, ?# Y/ m( R- z
6.2 设计易理解的系统 65
A2 G& x3 K+ P* t7 i) G# f! c1 n* T9 E+ J$ \
6.2.1 复杂性与易理解性 65
/ Z7 }5 Z5 [$ o( @1 ]
. h0 T" w& Q2 \6.2.2 分解复杂性 66
! Q( e# B5 |8 |# x: n- ]4 a# u* Z0 P# h5 C
6.2.3 集中负责安全性和可靠性需求 67
. ^/ T* q6 d8 P& X
. {9 K- Q4 T2 Z9 o# O6.3 系统架构 67, l7 ^1 s2 J2 h5 r7 s1 ~- O
/ S: |+ `2 A* J9 y$ i# e" F$ |: H9 m
6.3.1 易于理解的接口规范 68$ P I S+ x4 a) g
* f) c* z9 ?5 |# u5 Q) ?6.3.2 易于理解的身份、认证和访问控制 69
! V( c% Y4 P% d( O8 a- K, J) p
% t `2 I" R: {- V6.3.3 安全边界 746 A' e( f) c- {) Z" P% A+ Q- q: L
7 p: w# s2 W6 z& _& ]2 m6.4 软件设计 78
" o# T/ Q& z+ g. o3 G( N
% L& h: I+ u; ?# P8 j2 O4 Z. M! V6.4.1 使用应用程序框架满足服务需求 78
4 q X5 U$ w/ Y8 \* j! {, a, R0 f% d( f3 K: B. G! x0 b6 ^
6.4.2 理解复杂的数据流 79
0 E* W# W4 _& S, R( x: K
! ]0 m) ?; k; x6.4.3 考虑API的可用性 81$ k) D8 [5 F! M" k, K4 _( Y: p
& u+ g) q' O) l I0 W6.5 小结 83
2 J* [+ k. d8 Q5 j* a5 D6 `% a
" w" c( [" e, r( @9 F* a8 C第7章 适应变化的设计 84; ~7 x. @7 l9 A2 o( |& d6 k
) w P) \; w! a) a: G, i6 p7 p
7.1 安全变更的类型 85, l2 T# o6 \! J
8 u. B3 X' D0 W7 z( d
7.2 变更中的设计 85
: b3 \# R" B8 s* R0 v
' {* G8 F5 ^' ?0 E7 I7.3 让发布更容易的架构决策 86
1 n1 z2 ?4 J* E) F
( T: c! K! h% ^7.3.1 让依赖项保持并频繁重建86
& w1 r" L% t& J: z; w* _
/ k' O2 d9 Z, @$ W' m7.3.2 用自动化测试让发布更频繁86
: i' q6 u5 d5 t1 W) t
+ b4 R6 z+ F( Q5 E( w- v6 L7.3.3 使用容器 87
- T3 n8 u9 y% t5 C* f: f8 U- r% G4 D4 g* C
7.3.4 使用微服务 87. ~3 `; S1 f* J" F k
9 P- j* I- t8 ]2 g f
7.4 不同的变更:不同的速度与不同的时间线 89
( f8 D" d/ |6 o) ~
" V# I+ @( g6 K) i. _9 W7.4.1 短期变更:零日漏洞 90- d6 q, ] E5 z, o
# p3 v) n1 ^# [7.4.2 中期变更:改善安全态势 92. N% X" A5 }9 ~3 i7 e6 H' q
d3 c% _" i' x& P$ \- N% L$ ]7.4.3 长期变更:外部需求 94
" Y+ A0 e! f$ H2 K$ l. y$ l8 u
$ L3 ]' B# Z9 o7.5 难点:计划调整 96 j( y# f9 o9 X, L$ j, c, b
: L3 P! o. y* i! _" I7.6 不断扩大的范围:心脏滴血漏洞 974 \- _" q( C% r: V, P2 A
$ j% P3 T6 m, _! |
7.7 小结 98
% S* A% B+ `! k% V) l: P
- [5 r2 G( |. X9 |第8章 弹性设计 993 E- b P: m+ H
! V2 l5 s8 ^& _& p
8.1 弹性设计原则 100
; E2 i2 ?+ U* y
, ?1 }+ S& |- F8.2 纵深防御 100
) b! m' s( O9 E4 s0 N) Z( x- Z2 k$ I$ X; @4 G( _
8.2.1 特洛伊木马 100# U8 o0 G3 P& ?+ b, Z9 S
' r: z* s3 D+ X8 ~! _( k
8.2.2 Google App Engine分析 1023 N- P( s4 X8 o* U3 S" c3 \2 o9 Y7 C
& H ~& [) V S, [
8.3 控制降级 104
w9 p( F4 V; x- B8 P; u
$ _1 }0 _- d: K* d9 |8.3.1 区分故障成本 105
9 e/ m- K! E# I+ V" q- B4 f1 S1 k# Y4 @5 _4 O4 P( y. B' Z
8.3.2 部署响应机制 107
& o& e4 A8 ]. T! m! W, u2 a9 ?8 o" N, c5 v7 ?0 w8 @* W' M
8.3.3 负责任的自动化 109
; Z) E( i. w5 W; Q7 f* f" Q: W c4 j8 x
8.4 控制爆炸半径 111
, v: H# V3 i2 q
* K" ?" I3 n& W/ o, V1 I8.4.1 角色分离 112
' z7 X" z4 U! O4 {" c
$ }9 W8 h. k: B% W& p7 v5 |( E8.4.2 位置分离 113% Y& }% a* r1 \( { P
* D7 }2 I0 v% c3 H) f
8.4.3 时间分离 1152 S+ Z2 E6 X+ M
8 \- z$ {" Z' S u4 t! K: k
8.5 故障域和冗余 115( _# W4 g Y0 r3 M: J3 \, _. R
/ @; R8 i& y) O* G; M/ S/ J8.5.1 故障域 116& ]' ?' x9 m" b$ i
/ i6 d# ^) ?5 g- c3 j8.5.2 组件类型 117# I3 C: }5 m+ F
8 b0 W1 q* X% _0 Z* q8.5.3 控制冗余 119
r. }, ~3 k, E) ^
: B) d7 H9 q7 q8.6 持续验证 120
/ h' ~& t$ J7 w# r! T1 H: r8 g6 Y& \4 r( b6 I- k
8.6.1 验证关键区域 121) Z. ~8 q, B* e- o' w+ A
, }8 I$ N' ]% Y$ v% ^8.6.2 验证实践 122
, N: a: z7 f, n9 |+ ]. _% U, R9 w& g: J. v- t+ \# l7 {0 ^' b
8.7 实践建议:着手点 124
2 w% L. A7 I+ x/ u5 b% L: U( U" q% F5 N7 C" s9 `4 A: J
8.8 小结 125% a! q, L- m8 v- Q+ x
/ x2 J* o! b% C, F
第9章 面向恢复性的设计 127! I( h1 u6 j' s8 ^% Q+ f
" k" x1 @5 o5 w/ w* ~% F) d
9.1 要恢复什么 128
/ K2 s1 m' ^. N: {. W3 N4 s, f E1 |! s4 e5 q: |% i
9.1.1 随机错误 128; B6 P9 k( \6 |7 ]+ P/ {2 _0 E3 h
/ b% E1 B N3 c. A; O
9.1.2 意外错误 128. A& M* t1 b; T1 @0 D
$ T3 a& K" Z' N9.1.3 软件错误 1283 d4 A$ F$ U# Q: L* l% s' e# x
3 N/ `% a% \6 L/ a7 Z9.1.4 恶意行为 129
3 b6 h" [, T+ h/ C& f8 f6 K$ K7 l
% z. l6 z, i' X5 @ X4 O' }9.2 恢复机制的设计原则 129
$ d" \+ B# b$ U2 H' _+ u) P2 x( g( t) D
9.2.1 面向快速恢复的设计(受政策监督) 129; F1 E$ ~& r, f
' H% t+ H+ N2 W' I; G- ]9.2.2 限制对外部时间观念的依赖 132
2 ~3 S2 i( X% y/ }% z/ C
3 v& B8 `2 L0 T8 K6 a% `9.2.3 回滚所代表的安全性和可靠性间的权衡 133
2 n% P1 L" K" y$ [4 L0 T0 D; S
2 [+ u( N" c9 c @3 i4 j* g2 ~9.2.4 使用显式吊销机制 139/ n0 T9 d5 q, j
5 u, g! O3 N0 a9 v X2 V- m
9.2.5 了解精确到字节的预期状态 142$ B* u5 ?0 ~2 Z# Z: e
/ U$ N! G( i. B, m9.2.6 面向测试和持续验证的设计 145$ x6 m0 |& H* e+ M z3 p
7 J9 Z8 V) m; G( t9.3 紧急访问 146/ U" k0 |. l3 Z
5 d/ }1 z8 Y, \4 i, I; t
9.3.1 访问控制 1472 }& m* X: @2 X$ B# T, G+ T9 v
5 \3 K5 X' }" N9 a. Q0 D9.3.2 通信 148" M& W& n( |4 h5 u8 b
7 x8 p* w! J* ~' T: D9.3.3 响应人员的习惯 148% A1 w6 t, l1 M, ?
8 E1 S. S" _6 Q
9.4 预期外的收益 1496 U6 `! x' A5 X A* {3 x
4 [6 Y N" A+ Z5 P4 X/ }% B! Q
9.5 小结 149
6 ~) m7 V7 u4 x3 D/ P- @
$ x7 K& t+ I5 U( ?8 |! U: v第 10章 缓解拒绝服务攻击 150
0 h% m* m) |8 z1 T% I! a
$ D9 I' ^ j, }; y" r. [* q10.1 攻守双方的策略 150# y0 y3 ?) A5 p# c
1 @' R, ^8 C6 h. T7 S2 P- a/ `
10.1.1 攻方的策略 151& C' x+ O! K6 A0 E6 ^+ L9 p2 @
1 @" @: V% }9 \( q5 H" T4 L( R10.1.2 守方的策略 152; Z7 n4 }# a N) e3 M
& i" k* ^* c, ]9 ^5 Y% T" p* P10.2 面向防御的设计 152
9 N& n ^3 n8 c7 e3 B9 P
, Z9 q# `# F" h* c) {( t10.2.1 具有防御能力的架构 152" V; w G) }1 j. s$ \
; Z% f! k6 X$ z10.2.2 使服务具备防护能力 1542 Y" O/ V6 a) [
+ V# Q9 h! R: L$ z( F$ ?
10.3 缓解攻击 154$ T, e9 r( g0 ]3 s% W( y Q
+ [, x- F2 k' t" t6 Y- @10.3.1 监控与告警 154
% w ~- p% l3 y0 V: n
% j% I# O1 @; D1 g10.3.2 优雅降级 155
: s, U+ g; T s' ^1 [
! `. v a) k0 M7 P4 v6 d- v10.3.3 DoS防护系统 155 n3 F+ w" M. H' m: L* }
. \2 E2 _6 A" Y; Q% T- w
10.3.4 有策略的响应 156# J: n! a2 c$ @0 R! O
$ Z' P! m" g' D3 Q* r- c- Y
10.4 应对源于服务本身的“攻击” 157
; x4 i2 _9 L# K$ p* z7 z# z+ u6 S4 F. J! a+ v6 ?
10.4.1 用户行为 157: w) y. C; k8 b j' P* k0 x
0 J: e7 q. {- w( \" u1 n
10.4.2 客户端重试行为 158
9 W- q! s- K. [% G
9 A7 K h) U7 Z' q10.5 小结 159, T, O" B) t5 B0 ^7 f
3 l! C2 E: [/ p3 ^( ~
第三部分 实现系统% v4 ^; H0 A. d$ d4 S" j
; B5 d8 a! G$ B第 11章 案例分析:设计、实现和维护一个受信任的公共CA 163
5 m# X* X/ }; B6 e9 Z3 V* {2 _- L, f
11.1 受信任的公共CA的背景 163
" q# T3 |, u* V2 e4 U
_+ q/ Y# e6 d. z+ I# I) x11.2 为什么需要受信任的公共CA 1648 X& I0 ~1 H. M
" B* J" F& ^3 r
11.3 自建还是购买CA 165
" }( m9 Q+ ]2 D+ j; J5 v) C. }* i& M1 W* I+ [9 ~9 u. E
11.4 设计、开发和维护过程中的考虑 1657 B1 Q# n5 E# V: }$ c. x6 [
0 W- d7 M; A) f11.4.1 选择编程语言 166
' [" w% n3 r2 y) K/ z' G5 N1 @
- D0 g, i# p p8 n6 Q: d7 Y2 x- P11.4.2 复杂与简明 1666 d% v* O" \4 f0 \, G
; {" e) o7 |0 ]& x/ \, b0 u11.4.3 保护第三方和开源组件 167
# m3 z( K: e- Y
2 X! F# R5 F4 g( s: V3 G8 C11.4.4 测试 167
* h$ L! o$ i2 D- s* U
1 i9 {$ g& `' m11.4.5 CA密钥材料的弹性 168
7 b/ X2 y4 d1 `3 z P R! ^$ y) d
11.4.6 数据验证 168" J7 { F& L& L0 \* Z. F1 m
9 O# P' K$ V3 }' v% m# B( g# S11.5 小结 169& X8 b& L: L6 T9 t9 ~9 c' F
: \6 e3 G, z+ g& H$ m) R第 12章 编写代码 170
% Z( G! L$ @0 F4 ~! t1 _
# ?% B" ^3 m; y: @" h12.1 框架级安全性和可靠性保证措施 171
& f+ ~6 p- x( L" V* s* W8 Y: N/ m* r4 ?0 T0 _" A+ ~3 `4 H
12.1.1 使用框架的好处.172
1 t. B7 ?3 ]$ k9 ~. | U+ K% D) O4 N4 |# n5 H/ M- z, W
12.1.2 案例:用于创建RPC后端的框架 172
& c }* D5 Y3 I; o! W4 d% d3 {# D+ n" b" Q2 p. [% _- c
12.2 常见安全漏洞 1765 [& }8 ^9 }: W$ j# h! ?
. K+ z6 f5 ]+ z2 @" B12.2.1 SQL注入漏洞:TrustedSqlString 177
# O! k1 v- `4 U- R0 e. a5 n' G- u
9 E& W! X9 v( _" v% k6 V. U1 S12.2.2 预防XSS漏洞:SafeHtml 178
0 Z; ^* U( N4 }+ i8 E; f5 T9 K, ?1 |& p6 x% ~! s! @
12.3 评估和构建框架的经验 179: L% B& i- U& f9 \, G; ] F* m
9 Z1 T& D" l0 H( n. R4 A12.3.1 用于常见任务的简单、安全、可靠的库 180
! o+ T2 u4 ~/ A/ ]9 Y) d; A5 ]4 P/ C# o
5 d/ o0 s" f. D7 _! ?. C/ [" n12.3.2 部署策略 181
6 a( J5 x0 O2 z! P/ |7 x0 e. a, v1 C6 d! S9 d n
12.4 简洁性有助于提升代码的安全性和可靠性 182
( Q" b+ ?1 G, X% E1 o- A8 R2 }1 l" X, m1 p8 t4 S
12.4.1 避免多层嵌套 182
5 g4 K7 \% Y7 W" C! Q+ w0 X$ b* w/ B7 A3 d
12.4.2 消除YAGNI类代码 183
# W9 `, n% I7 z- b
+ S( d/ H: }9 O5 ]* A% M* @) U1 K" `12.4.3 偿还技术债务 1844 K( I. P% H7 C Z- F7 ^; B! j* L) y
. ~0 b' }1 b0 k- n0 p12.4.4 重构 184
0 \" B! F( v, d2 b; M3 m9 z! ~# c! x1 N" L
12.5 默认安全性和可靠性 185
3 K% X J& z* ]+ U9 H4 k, h6 d7 n& e$ S( s' D& o
12.5.1 选择合适的工具 185
7 o t x+ J: O! n4 W
% `3 j+ E* ^7 d3 l, i v/ T12.5.2 使用强类型 1860 n2 F. e; O+ T" Z! v' A# w8 ^) Z [9 s
' F3 j! A7 K! _. P# m# P' |
12.5.3 检查代码.1886 a) }3 E9 [: K; Y3 U8 E
% b& f+ Q0 \: {3 K& F
12.6 小结 189
5 H# s( ?! h7 J- ?. |; F7 T* L+ _4 `1 @3 g) M
第 13章 代码测试 190
" S+ U( f7 r1 f1 W0 \2 w" y M# w: ?! E- c
13.1 单元测试 190
% C+ V; I$ _8 g
) h# v2 g9 s4 [5 ~$ P5 G, Y# z5 S13.1.1 编写有效的单元测试 191
" D8 E6 |: L1 N/ U/ t( ]+ ^
8 e+ a' O9 M$ V% k% I* F. J- o13.1.2 编写单元测试的时机 191
2 I4 \9 y7 i N0 A3 u8 T* x' ? i* O
13.1.3 单元测试对代码的影响 192) [) H% E# U( a+ G3 p) w
: f% [) w* I6 ^4 S; H
13.2 集成测试 193
5 D$ v- k2 m1 s e" b/ L! z
+ ~* E* c- V" U+ t: s- J13.3 动态程序分析 1944 t" [1 b( F6 k" v' l2 l
) j* Y# P/ }, R, Y' R13.4 模糊测试 197* Z8 L8 `7 z/ I8 B; f
+ X5 H5 s. m) I% R9 R4 Y/ n5 ]6 L+ Q13.4.1 模糊引擎的工作原理 197
) z+ a" s1 y& a! s+ H) U+ _
& l3 F" P! K& x13.4.2 编写有效的模糊测试驱动程序 200
# G4 z! K3 a; D; c1 E9 b
3 I$ u- f9 [( V: l1 W1 Z13.4.3 示例fuzzer 2014 B/ }4 M5 r* S! n6 ? h
" [# C1 _$ r7 o
13.4.4 持续模糊测试 204
! }5 v) w* O4 V% O
6 s4 N( h/ Q7 d# S7 `$ I13.5 静态程序分析 205
$ _# u& Z7 B" j' _8 X$ y! G; n5 }( H
13.5.1 自动代码检查工具 205: [9 ]" _+ l9 H% \/ H
5 k' U3 B" Z5 }. Q3 C% V' [13.5.2 如何将静态分析集成至开发工作流中 209
' b3 M9 E0 g' ]: s" O4 m4 K- [; W4 I2 s" r: y
13.5.3 抽象解释 211
5 O- g# [4 o1 P4 ~+ p# ]+ A; U# F2 q# ?
13.5.4 形式化方法 213: I, U' ]9 w) c
" b7 V! s/ y- V$ C9 E13.6 小结 213/ Y5 T; n) { d5 j& R, m
, n: n+ y! z3 w
第 14章 部署代码 214- } A; ^) r5 C
" \5 ~* L0 |8 h( h" ^, R14.1 概念和术语 214' h! ^( ]: _' }
% O5 Z! E" U ~7 b, e% s14.2 威胁建模 216- K' T) _4 Q8 |2 Z" @
- p* |- |: N9 v4 x1 b0 F
14.3 实践 217* y' _6 ^! @- V5 U& x# L
% x1 {( n( h' U* h* E- [% w/ D" _0 g14.3.1 强制做代码审查 217, C0 h% }7 W3 A9 V3 s" ] t" `
& z6 ?4 j! ^! K9 h" ]) z
14.3.2 依赖自动化 218
, c! D# R! B+ Q! D
6 U0 Q$ ~8 V5 L: p6 R. i) Y14.3.3 验证工件,而不仅仅是人 218
# U- f4 U. ^, p/ x
$ v& W) ~( g2 o, i% B! ]7 o14.3.4 将配置视为代码.2195 |) f& G) E$ i" W' v' S- V& f
5 @0 [8 H; d3 g9 P14.4 基于威胁建模做安全加固 220
9 W; Z6 l: [- J) _+ G r3 X9 d3 ?2 z/ h% d+ r; x8 I
14.5 高级缓解策略 222
5 I D% X. {; i% h9 l+ }! G% s7 {3 j! P9 p. U" u& z( ~+ Y7 `0 }) ~9 T }
14.5.1 二进制文件来源 222
. y* d6 o+ F& b. n, S6 x
* c" m5 c0 H1 e, Q8 @+ i14.5.2 基于来源的部署策略 224
) b* p1 N6 w z c
. Z$ k) K0 E: C14.5.3 可验证的构建 225
! s& O/ d+ \1 V, {6 x6 m6 F
$ a+ B& `4 E7 V; ?3 Q8 [8 G14.5.4 部署阻塞点 2302 T' D, L7 `& s4 T; w5 z2 N1 J9 a; [
0 ^6 @) E' X- S* e( }14.5.5 部署后验证 2313 z- T! L" \0 t" O- D J
( s) X. l4 t+ A& e$ X; [14.6 实用建议 232' t# _" P! N, s; X
j+ `7 v% C& u14.6.1 一步步来 232
( x5 k v5 v% ]: l: }; h# D9 O/ Z6 [& V& V3 \
14.6.2 提供可操作的错误消息 2336 F; K. w0 I x- i$ H
* x$ w/ `9 e# {) z/ D4 ?
14.6.3 确保来源信息明确 233
) s6 O1 Q) t; T- C& E* ~- o1 w* e' ?' J0 J% g- \9 O+ R3 Y
14.6.4 创建明确的策略 233
3 ?3 @, y5 z6 {3 k0 b, d, C; s4 N- j# ~
14.6.5 引入Breakglass机制 2340 J, x+ _6 b- c$ }6 e- k
3 K/ A' S1 q( v8 W
14.7 重温基于威胁建模部署安全措施 234
4 A# E+ h D* `3 k3 e' q. R& U/ N$ ]% Z5 y2 T2 F
14.8 小结 234* O* E, K! s+ c/ v2 t9 v: R5 W; C
7 e. r. ^' ]% l
第 15章 调查系统 235$ B2 w3 q% z: L2 |
. Y. Y l2 e a# w) y' q15.1 从调试到调查 236
. X- c+ X% a# ^ M0 @. n5 s& c9 N" H/ g1 O1 v
15.1.1 案例:临时文件 236
3 l2 Z; w8 r+ |
2 D( N- y7 B2 h* S15.1.2 调试技巧 237
* _" u c2 B$ b, I7 u2 p/ I# o
8 v/ q( f# t6 E1 I: o% c15.1.3 当陷入困境时该怎么办 243& }+ J( N, {" I- T8 L( f* t
9 X- h1 v, L0 N6 A$ _# k* u, J15.1.4 协同调试:一种教学方法 246$ G3 E' B' [( {$ U \3 ^3 b$ w
7 u& H5 z1 ? y/ P15.1.5 安全调查与系统调试间的差异 246+ e# ^. D4 L3 c# T) n
" c2 l1 K. _8 A4 C1 ^" m15.2 收集恰当、有用的日志 247
+ D H5 J# N9 M5 I1 I. M) D
7 I! W9 f+ e6 M15.2.1 将日志设计为不可变的 248
$ h6 ^9 z: ^. F& o- Y
+ Y" Q* e$ a9 E. @15.2.2 考虑隐私要素 249
& g8 \( y+ p% S+ b: F9 I6 h/ i2 s. w8 k4 U4 K' b$ W% _7 c
15.2.3 确定要保留哪些安全相关的日志 249
) D+ o t& k8 \
2 w2 k; [3 Z& H+ J" F$ x i15.2.4 日志记录成本 252
G! n; o2 O8 E9 v( t4 B( n2 z7 L- C8 y, K, F/ G
15.3 可靠、安全的调试访问 2537 l2 }5 y4 Y6 N+ z: _
. M' E- \0 b+ g J: q; `; p
15.3.1 可靠性 253
) c/ Z, g i) G% k# Y# V- K! n" \. P. U# @3 \. \) a
15.3.2 安全性 253# ?$ |) B# g6 \; X4 H
6 E1 N& D* L- N15.4 小结 254
( l1 j, C( I' Q; X+ b( r5 @: \8 R6 C3 l
第四部分 维护系统
/ K. L$ D: c1 ]* i5 e
5 M! q; [7 d2 I; p) u% F E$ U& s第 16章 防灾规划 257* M. t4 V" y% q1 H4 O6 i5 }- w5 b+ g
! [0 _/ @( G: S
16.1 “灾难”的定义 257
/ J. K g: ~& T+ w& x" P4 H8 T& T: C* `" u
16.2 动态灾难响应策略 258
" n; x x! j, c' [8 ~
3 N) h1 e" P! @# S16.3 灾难风险分析 259; d+ G6 K1 `9 }* g& R& M
( n3 D3 W9 Z9 J4 a& i$ { s
16.4 建立事件响应团队 259: A; z' D+ ]: c2 m2 N) Y9 \' S
4 _) \) |& ^9 D16.4.1 确定团队成员和角色 260
: g- D* d1 R( d: i
3 D5 V( T/ x) ]16.4.2 制订团队章程 261
4 ?7 ?9 O4 ?" R2 D; [9 N! \& K
) x- A, a; s+ v. v16.4.3 建立严重性和优先级模型 2623 U6 w3 n' q$ W3 ^+ \
o( x, H% A" `8 ^( m
16.4.4 确定与IR团队合作的运营参数 262
" `2 D( o" S) l1 l o: U/ A! ~4 t7 @+ g0 M1 c
16.4.5 制订响应计划 2632 w* T/ N0 R0 `% V/ ?, J
* @2 j" O; D9 t: w
16.4.6 创建详细的行动手册 264
# a4 q1 {# ~6 i! Q; }
4 y# U9 E2 ~" o9 x, b16.4.7 确保访问和更新机制就位 264) C H1 l* I, g+ @
% S1 h2 f/ L. z, v16.5 在事件发生前预先安排系统和人员 264( i3 M% l; _' c- Q- T" E, J
. F. q+ [" Z, |/ p0 q16.5.1 配置系统 265( p9 a9 L2 H6 ]' T8 H& n) ]& P
5 j x5 B8 n- O7 K+ G1 J
16.5.2 培训 2654 M, t) d1 ]) W9 n3 l$ \5 t
1 K" X$ |5 l0 Z; x2 @8 K; i
16.5.3 流程和程序 266
" @3 a2 W9 P' r* k, g/ }4 d. ?: J7 r6 g9 B! i6 b) S Q
16.6 测试系统和响应计划 266* S) }) Y5 d, z0 [9 ?$ ^. e
, W% t E! J# j3 z& J
16.6.1 审计自动化系统 2674 [+ Y) j6 j, d+ {6 r- ?
+ {' v' d/ h3 j1 g9 a2 ~' K$ w16.6.2 开展非侵入式桌面演练.267; ^% D' E) N$ Y9 v7 \# w+ l
9 [- k5 R# b* u, w
16.6.3 在生产环境中测试响应 268: V* m. F+ e& h9 k
) ?# x) d0 d% P/ s+ W0 h
16.6.4 红队测试 270
+ [& D, m& Y4 V3 e9 @
- {; \$ ~# h. B U16.6.5 评估响应 270
$ X. V# F* F z, K5 ~
6 c; S1 R- o/ O* G- H16.7 Google的案例 2716 m3 W' R6 s6 |" g9 B
; u; D. L" B9 \: S0 ]: j5 P16.7.1 具有全球影响的测试 2710 n8 ` q& ~( x+ R1 y
0 }# W, H! U+ v3 M16.7.2 DiRT演习测试紧急访问 2711 g' g) @1 W( b/ K, G( D) _
7 L* n5 Q' @% \1 I$ q
16.7.3 行业级漏洞 271
( M, I& M. A" R U6 s$ {
& z6 K' Z; T! y7 D1 T5 m! K7 ~16.8 小结 272 C- A# I/ K% l9 |1 Z
1 @4 @ ?' M' Y* B' k第 17章 危机管理 273; h2 U1 K% H- b* b
/ M& {& g! Y- u0 n, _17.1 是否存在危机 274
4 h" }9 I- g9 {& i; P) Y
+ X& s4 O# N( ]5 e+ o! b% t17.1.1 事件分诊 274 N: R# e6 J& r' y9 N# \
+ a, g2 K* ^5 G" r& D& T
17.1.2 入侵与缺陷 275+ s2 s9 w C; ?
, i" c8 @* Y$ p8 x
17.2 指挥事件 276
( M' {( S! }5 h: l/ ^& y6 O* h) R' K" ?5 [3 T7 [2 y0 `+ t" E
17.2.1 第 一步:不要惊慌 276
! k5 c! t# x4 U& a
" N/ \4 [8 R6 D# C- M6 i2 s" a8 ^17.2.2 开展响应 277: Z" a9 _" y+ Y% j ?9 s+ m) s" J3 Y
K- c, N1 Z2 j& h1 z1 B17.2.3 组建自己的事件团队 277
& Z1 r- j0 U. f5 h" U
& W5 v. c" u7 E7 ?% T17.2.4 OpSec 2788 d* F2 N" ^6 J2 @! d+ D0 ?
% O9 `1 S( E" |. |" F
17.2.5 牺牲好的OpSec实践换取更大的利益 2809 G u) S* f% S/ Q6 g
0 n2 T \8 y! [. V/ u- W0 {17.2.6 调查过程 2803 a! K: u3 m! O9 p. D2 B* G3 T
* A, @9 ?9 `3 i
17.3 控制事件 283$ G( O. I( F, J$ a1 X
. m# i& @; u$ R1 n. |' s+ M
17.3.1 并行处理事件 283
4 A+ s& }) S4 p1 n5 h9 P, k. r5 Y. i( ?, n$ {
17.3.2 移交 2846 J1 s2 U& e% f2 }4 w* g) i
. H: t: F, Y! R% r
17.3.3 士气 286 F; L, Z5 g+ H
: _- R* x! W6 L/ b* U$ Y4 X. f* r17.4 沟通 287
' h' P8 ~: f3 h5 ]% |" n2 _2 a3 i2 n0 {5 l# v& {2 ]
17.4.1 误解 287
0 Y: z% T( O9 }9 p+ W/ P9 Q, `. A0 N7 S" `2 {& T* q& L0 N. v
17.4.2 拐弯抹角 287: z4 U3 V. U X: U6 k# E z
5 K! {! u, s6 E$ o17.4.3 会议 288
3 @% U" B; [( O- p5 Y
, ]. Z. _3 a; E" W: x/ R17.4.4 让合适的人了解合适的细节 289
% h4 q" T" o" |' e
; C6 k* x0 M. R; {+ L- N& H17.5 整合回顾 290
& R7 h' t. K4 }- d6 [" q5 A, y B, x) P% ]6 b8 w Q
17.5.1 分诊 290# E1 o6 j9 A, `" @- D% i
! D5 i1 Z2 ?7 K# t7 f0 F17.5.2 宣布事件 290
: ~) D) s8 |+ ^ [9 i) F! z7 D: i
1 h9 `" y% R: A: T17.5.3 沟通和OpSec 290# T, r4 C% [+ X7 E; q
: C# F, {! Z" n4 R; Z
17.5.4 开始处理事件 2911 L8 f; L' ~1 I$ t$ S2 m
- f' g% _3 d% B" @2 \% n$ M2 W% B17.5.5 移交 291+ p& E8 v3 L0 z0 }
4 S* a" w g, J
17.5.6 交还事件调查工作 291, n5 t# f3 U, f" d& h" A
" Y: E) w( x+ k' s' b* V7 [
17.5.7 准备沟通和补救 2927 h- y- `6 c- {- V% D# J; G
$ W5 U0 e- j/ u
17.5.8 结束 292
/ D9 |0 b4 v. U; E1 {- h
2 ^& d g; w s5 g( u& H* K4 |" X17.6 小结 2931 E6 i* ?- `# v* l8 U+ W5 f# W
- x9 p3 M! x7 G. q) x I/ y0 F0 d0 t
第 18章 恢复和善后 294& h) X% x* g& \# k) _' e$ Z& V
3 ]0 W& l. K! r) G: y. c7 w18.1 恢复调度 295
8 `2 h. ]* _0 a* U' t6 `, N p+ c( I% g, c4 O7 S* M
18.2 恢复时间线 296 H7 m6 ~1 @0 e
$ y3 n4 r/ m2 N0 J: d6 ^) `
18.3 恢复计划 297: p" I) j! `9 ?2 D8 G1 r
" f6 w. X& P. v: k E0 S% \18.3.1 确定恢复范围 297
1 w7 _: O9 Q( @9 t0 y# j1 K- @* F3 c# D; H$ J! I- z8 M
18.3.2 恢复过程的考虑因素 298
" @: ?5 e- c+ J6 ~ i6 ^- d/ ]& |3 x" S- _2 d2 b
18.3.3 恢复检查清单 301$ X! o; u) \) V" j
3 X. m0 l2 n, s: v& W. m
18.4 启动恢复 302
. e7 Y; p7 L' B0 E; ]
( V. Y" K7 r6 Q$ @ ~7 L' Z18.4.1 隔离资产 3026 p: s* {, i& i( D
- J# o$ d7 k" g18.4.2 系统恢复和软件升级 303/ A2 s- ?, E# o+ h$ Q
2 w% D: H- c. a; q, A2 x18.4.3 数据过滤 304$ W: {) }0 a, a
, r9 B9 \; F) R. J, o% s1 R
18.4.4 恢复数据 304) x' B1 X- [8 m2 \" Q3 V
/ P, D& \# i6 M4 O& i9 B% K18.4.5 更换凭据和密钥 3059 M' l; W! J" q7 p! V
' |* A. r% E1 U" _
18.6 恢复之后 306
$ |- G8 R$ a+ c: S ]( j: x
, `& b# t( F$ q18.7 示例 308
# Z3 K& [6 E9 L4 e9 ?" y% ?5 O
( ?) D: A. G- n" R18.7.1 被入侵的云实例 308
: a0 n! j0 e+ K- V# ]. A
0 H, l c9 f5 r$ }18.7.2 大规模钓鱼攻击 309
( w8 Q" F q5 v6 n- i E
5 _9 E: r) k: l' T7 w5 }. Y# x18.7.3 需要复杂恢复工作的、有针对性的攻击 3108 k6 L* m: [7 W! D1 e* k4 A* h
1 |9 \7 s5 o2 Z
18.8 小结 311' t! u6 w. b1 j9 `: G
0 k6 m+ P; B: Y& d% X; h
第五部分 组织与文化
' E- }1 r6 g! w5 r4 i0 j! K& m
第 19章 案例研究:Chrome安全团队 315& d( Q/ E' G. S: Y( A1 E. {, F
7 K0 Z; I, s6 l9 B19.1 背景和团队发展史 3156 ?$ M) k. \9 K! H! B
- y, K2 `, G6 R/ O4 S- j7 I19.2 安全是团队的职责 317
/ a; F; M0 I5 J& U. ~- V& F5 V+ L+ O& b* I h
19.3 帮助用户安全地浏览Web页面 318. _" V, g3 b! l2 U" U
3 x6 e; k6 r8 B- t: r' |" R19.4 速度很重要 319
B6 `' @+ l4 Q8 S
6 w6 F: G* S' b( p/ ]5 q19.5 设计纵深防御机制 319
+ O6 E1 a+ p; ]% h( _0 Y, W' [$ s. |/ }# _
19.6 保持透明,让社区参与进来 320' G9 V( [$ A7 B+ _( }
6 P. e/ Z* l2 d+ ^5 Q! W- k: n8 y/ Y
19.7 小结 320! ? s. P. E6 s* N8 \) k
6 {1 K! l% z: H' }4 F
第 20章 理解角色和责任 321
, S' r) A {2 v
$ O+ L9 p. T- ?( q20.1 谁为安全性和可靠性负责 322 @' h& \& B" k9 K/ j! G
! ^5 C' R- c( n$ ~( }20.1.1 专家的作用 322
' Y7 N. z. E0 P" m5 |$ s$ w' g: t; H
20.1.2 了解安全专业知识 324
9 X& k. u# p8 E( m" t8 R" ~: H6 J4 p% U' o; Z3 Y
20.1.3 资格认证和学术教育 325
( T2 l* J7 Z5 ?2 y3 X
& _/ J! M( F0 s( \20.2 将安全性整合到组织中 3256 e9 Q$ N0 [6 c1 n
' O, d# Y5 q6 u2 w20.2.1 嵌入安全人员和安全团队 327- s* }5 U# ~6 { H( a+ M D( i
$ h% i2 t% v) A' ?- _6 Z20.2.2 案例:Google的嵌入式安全 327" N# k1 s) c: E+ b
7 [' q+ o, U3 B9 |9 w
20.2.3 特殊的团队:蓝队和红队 329
& C: e0 S+ ^) A! [0 `: `: b/ W& o+ F3 Z: v+ }
20.2.4 外部研究者 3301 s+ Y- Q( R% h$ t) Q4 o! O
$ F3 S# Q6 D3 e) p$ L
20.3 小结 332
@2 D2 i; V& U4 O
! u2 H2 i& ]$ I3 @2 S第 21章 建立安全可靠的文化 333
5 S0 D: O ]4 M
- t! a8 ?' d- V" V! S21.1 定义健康的安全性和可靠性文化 334& K1 s- B: Q/ c8 s" \; v
* }8 p8 [5 w2 ?- P4 Z4 p3 D9 U; w
21.1.1 默认的安全性和可靠性文化 334
0 Y* e2 H6 t% z1 r+ T0 y0 D$ |6 q) ?9 `6 {! z
21.1.2 评审文化 335
# h1 T) a% w H
/ Z" l4 r8 S8 \1 D5 G21.1.3 意识文化 336 q9 m. B- U( X$ y" h
- g( l1 N6 X M21.1.4 说“是”的文化 339* x6 ~8 y1 s$ f& E7 n
$ f* Q7 t$ G( ~* F5 B5 P7 B
21.1.5 接受必然性的文化 3407 E l E. V% c& W7 O) s
) O3 U2 ]- g) M21.1.6 可持续发展文化 340
( H- C2 N' Z/ K& B* `6 F( v j4 i9 {5 ^; G! n) r/ L" u: A
21.2 通过实践改变文化 342
: L5 D J- T5 \5 k0 C. J
2 Q8 @5 Z: k7 m0 m( j X21.2.1 对齐项目目标和激励参与者 342
5 ]" L. b- o7 X0 e* ~
3 z$ ]: s) y* b* q$ b! e! t21.2.2 通过风险规避机制减少恐惧 3435 {/ L. e: z1 y9 _4 g7 [# F9 J
0 P7 L' k& {& u21.2.3 使安全兜底措施成为常态 3446 N+ }& l: ]% U8 ?& ^
5 ` t3 M. @! i# s
21.2.4 提高生产力和可用性 344 S4 @1 v. q2 {4 j* o! _2 L
; v: C+ B* N {; H$ i" z/ q/ R( A21.2.5 多沟通,保持透明 345
6 N8 P; ?/ h2 D/ z$ E2 D* c! a- Z- n
2 a+ X4 o8 s. F0 r21.2.6 怀抱同理心 346
f5 N; C/ w+ ^3 m7 I }8 Q/ r$ ^- q$ I
21.3 说服领导层 347
& E6 c9 A. ]0 D0 I" G) ^) x! H( e$ W( ]* C5 Z7 D
21.3.1 了解决策过程 347
. t8 l0 ]" \- K3 t6 p
+ q2 z) Y+ |- @5 b21.3.2 为变革立案 348
- V) d( Z x/ o6 L! ~: t
: D& e$ b# ]8 I2 d* o21.3.3 选择自己的战场 349: f( I w# |$ a0 K' z: v- f
7 I/ E; K( c8 _: Q- q$ t
21.3.4 升级和问题解决 3493 M" G9 @% d) L) B! R
java8.com
9 o, ?0 C' K1 @: [+ X21.4 小结 350
( s5 Y' ^7 [9 b5 r% I4 q) s* s$ E( E$ y5 W
总结 351: |* I! ]5 {' Z0 d7 C6 x
2 H2 z0 j7 s6 h" ^
附录 灾难风险评估矩阵 3537 O e7 k, ], X( Z6 s
* k% H! Z: t b) ~9 c
作者介绍 355
1 g+ G$ M$ D/ Z6 `- v3 l& L" D' \* I
封面介绍 355# F6 P( s# i7 K) {6 {
百度云盘下载地址(完全免费-绝无套路):. V0 Q3 M& j0 U' [
0 q& F E ~ S& q- R9 Y
& Z7 A$ ^7 E) S( w5 _) B4 _
& X5 `% M5 n, R5 D
3 y, }5 T/ u: t7 {& p: q% [0 ~+ b% n# h: G; F9 F" D4 r
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|