WEBVTT

1
00:00:00.120 --> 00:00:04.440
<v Speaker 1>Welcome to your deep dive. Today, we're tackling something that, well,

2
00:00:04.480 --> 00:00:07.160
<v Speaker 1>it might sound a bit intimidating at first, threat modeling,

3
00:00:07.519 --> 00:00:10.720
<v Speaker 1>but trust me, it's way more interesting and way more

4
00:00:10.759 --> 00:00:13.240
<v Speaker 1>practical than you might think, even if you're not a

5
00:00:13.240 --> 00:00:15.720
<v Speaker 1>cybersecurity you know, guru or anything.

6
00:00:16.039 --> 00:00:18.239
<v Speaker 2>Yeah, No, you're absolutely right. Threat model is really just

7
00:00:18.280 --> 00:00:21.399
<v Speaker 2>a structured way to kind of brainstorm what could possibly

8
00:00:21.440 --> 00:00:23.199
<v Speaker 2>go wrong. And you know, we're not just talking about

9
00:00:23.199 --> 00:00:27.320
<v Speaker 2>software here. It applies to systems processes, even a new

10
00:00:27.359 --> 00:00:28.920
<v Speaker 2>product launch exactly.

11
00:00:29.359 --> 00:00:32.000
<v Speaker 1>And the cool thing is we're using Adam Shostak's book

12
00:00:32.039 --> 00:00:35.799
<v Speaker 1>Threatmodeling dot pdf as our guide today. And you know,

13
00:00:35.799 --> 00:00:37.679
<v Speaker 1>I've got to admit when I first saw that title,

14
00:00:37.719 --> 00:00:39.479
<v Speaker 1>I thought, uh, oh, this is going to be dense.

15
00:00:39.679 --> 00:00:43.840
<v Speaker 1>But Shostak he actually makes it pretty engaging, even funny

16
00:00:43.840 --> 00:00:44.240
<v Speaker 1>at times.

17
00:00:44.439 --> 00:00:46.000
<v Speaker 2>Yeah, he does have a good sense of humor. One

18
00:00:46.000 --> 00:00:48.799
<v Speaker 2>of my favorite parts is where he compares learning threat

19
00:00:48.799 --> 00:00:52.960
<v Speaker 2>modeling to learning a musical instrument. You know, it takes practice,

20
00:00:53.000 --> 00:00:55.840
<v Speaker 2>for sure, but anyone can grasp the basics and start

21
00:00:56.039 --> 00:00:57.520
<v Speaker 2>kind of start playing, so to speak.

22
00:00:57.759 --> 00:00:59.799
<v Speaker 1>Oh, I love that analogy. So let's say you're working

23
00:00:59.799 --> 00:01:03.479
<v Speaker 1>on project, where do you even begin with this whole

24
00:01:03.520 --> 00:01:06.000
<v Speaker 1>threat modeling thing, Like what's step one?

25
00:01:06.319 --> 00:01:08.560
<v Speaker 2>Well, you start by building a model kind of like

26
00:01:08.640 --> 00:01:12.200
<v Speaker 2>a simple diagram of whatever it is you're building, break

27
00:01:12.239 --> 00:01:15.280
<v Speaker 2>it down into its core components, the data flows, and

28
00:01:15.319 --> 00:01:18.239
<v Speaker 2>then you start looking for these things called trust boundaries

29
00:01:18.319 --> 00:01:19.079
<v Speaker 2>trust boundaries.

30
00:01:19.120 --> 00:01:21.120
<v Speaker 1>Okay, now you're making me feel like I need security

31
00:01:21.159 --> 00:01:22.439
<v Speaker 1>clearance just to listen to this.

32
00:01:22.680 --> 00:01:25.159
<v Speaker 2>Not at all. Think of it this way. A trust

33
00:01:25.159 --> 00:01:27.799
<v Speaker 2>boundary is just like a line that you draw between

34
00:01:27.879 --> 00:01:31.799
<v Speaker 2>areas with different levels of well trust, like data moving

35
00:01:31.840 --> 00:01:34.640
<v Speaker 2>within your own secure network, you know, that's one level

36
00:01:34.680 --> 00:01:37.439
<v Speaker 2>of trust. But anything coming in from the internet, you know,

37
00:01:37.560 --> 00:01:40.200
<v Speaker 2>users that you don't know, that's that's crossing a boundary,

38
00:01:40.280 --> 00:01:41.920
<v Speaker 2>and that's where you need to be extra careful.

39
00:01:42.000 --> 00:01:45.159
<v Speaker 1>Okay, ah, that makes sense. So once you've got your

40
00:01:45.439 --> 00:01:47.760
<v Speaker 1>you know, your diagram and your boundaries all figured out,

41
00:01:48.000 --> 00:01:49.760
<v Speaker 1>how do you actually spot those threats?

42
00:01:50.000 --> 00:01:54.000
<v Speaker 2>Well, Shastek introduces this really handy framework. It's called STRIDE

43
00:01:54.480 --> 00:01:59.200
<v Speaker 2>and it's a mnemonic. It stands for spoofing, tampering, repudiation,

44
00:02:00.079 --> 00:02:04.400
<v Speaker 2>information disclosure, denial of service, and elevation of privilege.

45
00:02:04.480 --> 00:02:06.280
<v Speaker 1>Oh you know what, it's funny you mentioned that I

46
00:02:06.280 --> 00:02:10.080
<v Speaker 1>actually played the Elevation of Privileged card game once at

47
00:02:10.080 --> 00:02:14.000
<v Speaker 1>a security conference and it was a blast. It really

48
00:02:14.120 --> 00:02:17.599
<v Speaker 1>drove home how even seemingly small details can open the

49
00:02:17.599 --> 00:02:19.439
<v Speaker 1>door to these big security problems.

50
00:02:19.479 --> 00:02:21.560
<v Speaker 2>Oh it's fantastic. It's a fantastic way to learn, and

51
00:02:21.599 --> 00:02:24.479
<v Speaker 2>it highlights how threat modeling can be, you know, collaborative,

52
00:02:24.560 --> 00:02:26.199
<v Speaker 2>it can even be fun. Doesn't have to be all

53
00:02:26.240 --> 00:02:27.199
<v Speaker 2>doom and gloom.

54
00:02:27.039 --> 00:02:29.639
<v Speaker 1>Right right, Okay, So let's get practical here. Let's say

55
00:02:29.639 --> 00:02:32.560
<v Speaker 1>we're building a simple web application like the ACME Corporation

56
00:02:32.639 --> 00:02:35.120
<v Speaker 1>example from the book. How would we how would we

57
00:02:35.159 --> 00:02:38.639
<v Speaker 1>apply stry to find those potential threats?

58
00:02:38.800 --> 00:02:41.599
<v Speaker 2>Well, let's take information disclosure as an example. If ACME

59
00:02:41.719 --> 00:02:44.960
<v Speaker 2>isn't super careful about validating user input on their web forms,

60
00:02:45.199 --> 00:02:48.240
<v Speaker 2>an attacker could use something called seql injection to you know,

61
00:02:48.599 --> 00:02:51.680
<v Speaker 2>sneak into their database and access all sorts of sensitive information.

62
00:02:51.919 --> 00:02:55.520
<v Speaker 1>Ouch. Yeah, that's that's not good. And I bet there

63
00:02:55.520 --> 00:02:57.879
<v Speaker 1>are a ton of other threats lurking out there, just

64
00:02:57.960 --> 00:02:58.919
<v Speaker 1>depending on the system.

65
00:02:59.319 --> 00:03:02.400
<v Speaker 2>Absolutely, and showstak makes it clear there are different ways

66
00:03:02.439 --> 00:03:05.319
<v Speaker 2>to go about this whole threat modeling process. You can

67
00:03:05.400 --> 00:03:09.039
<v Speaker 2>focus on your most valuable assets or you can think

68
00:03:09.120 --> 00:03:11.560
<v Speaker 2>like an attacker, you know, get in their head or

69
00:03:12.000 --> 00:03:14.639
<v Speaker 2>and this is often the best starting point. You can

70
00:03:14.680 --> 00:03:18.680
<v Speaker 2>really dig into the software itself. It's architecture and how

71
00:03:18.680 --> 00:03:19.599
<v Speaker 2>it all works together.

72
00:03:19.759 --> 00:03:21.680
<v Speaker 1>So it's like it's like choosing the right tool for

73
00:03:21.719 --> 00:03:24.120
<v Speaker 1>the job, you know, Yeah, depending on what you're building

74
00:03:24.199 --> 00:03:26.560
<v Speaker 1>and what you're most worried about exactly.

75
00:03:26.719 --> 00:03:30.080
<v Speaker 2>The key is to have a structured approach, and Stride

76
00:03:30.120 --> 00:03:33.199
<v Speaker 2>is a great framework to start with. But it's not

77
00:03:33.280 --> 00:03:35.800
<v Speaker 2>just about finding these threats. It's also about figuring out

78
00:03:35.879 --> 00:03:37.680
<v Speaker 2>how to deal with them right.

79
00:03:37.599 --> 00:03:40.199
<v Speaker 1>Right, Because let's be honest, you can't eliminate every single threat,

80
00:03:40.240 --> 00:03:43.159
<v Speaker 1>can you. I mean that would probably be like impossible.

81
00:03:43.240 --> 00:03:45.520
<v Speaker 2>You're absolutely right, and that's where risk management comes in.

82
00:03:45.560 --> 00:03:48.639
<v Speaker 2>You got to prioritize Some risks might be so minor

83
00:03:48.680 --> 00:03:51.199
<v Speaker 2>that you can just accept them. Others you might transfer

84
00:03:51.280 --> 00:03:54.199
<v Speaker 2>to a to a vendor or a specialist. But for

85
00:03:54.280 --> 00:03:56.560
<v Speaker 2>the big ones, the critical ones, you need to actively

86
00:03:56.680 --> 00:03:57.280
<v Speaker 2>mitigate them.

87
00:03:57.520 --> 00:03:59.960
<v Speaker 1>So you're saying, it's all about choosing your battles wisely,

88
00:04:00.479 --> 00:04:03.240
<v Speaker 1>don't sweat the small stuff, but be prepared to go

89
00:04:03.360 --> 00:04:05.560
<v Speaker 1>all in on the threats that could really hurt you.

90
00:04:05.919 --> 00:04:09.719
<v Speaker 2>Precisely. And one thing Shostak emphasizes is that you can't

91
00:04:09.759 --> 00:04:11.960
<v Speaker 2>just assume and tacker will stop at the first hurdle.

92
00:04:12.080 --> 00:04:15.840
<v Speaker 2>You know, you need what he calls a defense in depth,

93
00:04:16.399 --> 00:04:19.720
<v Speaker 2>multiple layers of security, so that even if one fails,

94
00:04:19.879 --> 00:04:20.800
<v Speaker 2>you've got back up.

95
00:04:20.879 --> 00:04:24.800
<v Speaker 1>Oh, like a castle with multiple walls and moatsh I

96
00:04:24.959 --> 00:04:28.040
<v Speaker 1>like that. It's making me think about my own online accounts.

97
00:04:28.040 --> 00:04:30.480
<v Speaker 1>Maybe just having a strong password isn't enough.

98
00:04:30.519 --> 00:04:34.199
<v Speaker 2>You're catching on. And here's where Shostak's book gets really practical.

99
00:04:34.279 --> 00:04:40.120
<v Speaker 2>Chapter twelve, The Requirements Cookbook is packed with specific security recommendations.

100
00:04:40.319 --> 00:04:44.879
<v Speaker 2>He covers everything from authentication to logging to data integrity.

101
00:04:45.040 --> 00:04:47.480
<v Speaker 1>Okay, I have to admit when I skim that chapter,

102
00:04:47.839 --> 00:04:50.800
<v Speaker 1>my head started to spin a little. Do you really

103
00:04:50.839 --> 00:04:55.000
<v Speaker 1>think people need to implement every single thing that in

104
00:04:55.040 --> 00:04:55.720
<v Speaker 1>that cookbook?

105
00:04:55.839 --> 00:04:58.839
<v Speaker 2>Of course not. It's a starting point, a menu of options,

106
00:04:58.879 --> 00:05:02.160
<v Speaker 2>not a you know, a mandatory checklist. But here's the thing.

107
00:05:02.959 --> 00:05:05.399
<v Speaker 2>Even picking a few key items from that chapter and

108
00:05:05.439 --> 00:05:09.079
<v Speaker 2>applying them to your project can dramatically improve its security.

109
00:05:09.240 --> 00:05:12.040
<v Speaker 1>That's reassuring. So it's more about being smart and strategic,

110
00:05:12.160 --> 00:05:15.680
<v Speaker 1>not about becoming some kind of you know, security Superhero

111
00:05:15.720 --> 00:05:16.680
<v Speaker 1>Overnight exactly.

112
00:05:16.680 --> 00:05:18.879
<v Speaker 2>You start with the basics and you build from there.

113
00:05:18.920 --> 00:05:21.120
<v Speaker 2>The key is to make threat modeling a habit, a

114
00:05:21.160 --> 00:05:23.199
<v Speaker 2>part of your process, not just a you know, a

115
00:05:23.240 --> 00:05:24.079
<v Speaker 2>one time thing.

116
00:05:24.120 --> 00:05:26.959
<v Speaker 1>Right right. This is all incredibly helpful, but I have

117
00:05:27.000 --> 00:05:30.199
<v Speaker 1>to ask, how does this apply to like the world

118
00:05:30.279 --> 00:05:34.160
<v Speaker 1>of web applications and cloud platforms, because things are changing

119
00:05:34.199 --> 00:05:35.199
<v Speaker 1>so fast in that space.

120
00:05:35.439 --> 00:05:38.680
<v Speaker 2>Oh, you're right. The landscape is constantly evolving, and that's

121
00:05:38.680 --> 00:05:41.120
<v Speaker 2>why chapter thirteen is so important. It dives into the

122
00:05:41.199 --> 00:05:47.279
<v Speaker 2>specific challenges of web and cloud security, things like insider threats,

123
00:05:47.920 --> 00:05:51.920
<v Speaker 2>tenant behavior in shared cloud environments. You know, these are

124
00:05:51.920 --> 00:05:53.439
<v Speaker 2>all things you need to be thinking about.

125
00:05:53.560 --> 00:05:56.959
<v Speaker 1>Insider threats. Huh, that's a scary thought. You're basically saying

126
00:05:57.000 --> 00:05:59.920
<v Speaker 1>you can't even trust everyone within your own organization.

127
00:06:00.160 --> 00:06:02.800
<v Speaker 2>Well, it's not about you know, assuming the worst in people,

128
00:06:02.839 --> 00:06:05.959
<v Speaker 2>but it is about understanding that that not all threats

129
00:06:06.000 --> 00:06:09.720
<v Speaker 2>come from you know, these external attackers. Sometimes the vulnerabilities

130
00:06:09.759 --> 00:06:10.160
<v Speaker 2>lie within.

131
00:06:10.279 --> 00:06:12.480
<v Speaker 1>Okay, so you're telling me to trust no one, not

132
00:06:12.560 --> 00:06:13.439
<v Speaker 1>even my own team.

133
00:06:13.720 --> 00:06:16.079
<v Speaker 2>Not quite. It's more about being aware of the different

134
00:06:16.079 --> 00:06:20.480
<v Speaker 2>ways data can be accessed, misused, or even accidentally exposed,

135
00:06:20.800 --> 00:06:22.759
<v Speaker 2>and of course. A big part of this is protecting

136
00:06:22.879 --> 00:06:27.600
<v Speaker 2>user data, especially when it comes to accounts and identity.

137
00:06:27.160 --> 00:06:30.639
<v Speaker 1>Management, which is perfect segue to chapter fourteen. Yeah right,

138
00:06:30.639 --> 00:06:32.800
<v Speaker 1>that felt like a bit of a crash course. In

139
00:06:32.839 --> 00:06:35.040
<v Speaker 1>all things accounts and passwords, it's.

140
00:06:34.959 --> 00:06:37.920
<v Speaker 2>Essential reading and one of the most insightful things Shastak

141
00:06:38.000 --> 00:06:41.759
<v Speaker 2>says is you have to accept account existence as something

142
00:06:41.800 --> 00:06:45.240
<v Speaker 2>an attacker can learn, so you focus on usability from

143
00:06:45.279 --> 00:06:49.079
<v Speaker 2>that point on, and he really slams knowledge based authentication.

144
00:06:49.920 --> 00:06:52.639
<v Speaker 2>You know those security questions that are often anything but secure.

145
00:06:52.800 --> 00:06:56.160
<v Speaker 1>Oh yeah, I hate those. Yeah, what street did you

146
00:06:56.199 --> 00:06:58.439
<v Speaker 1>grow up on? Like, I'm going to remember that off

147
00:06:58.480 --> 00:06:58.879
<v Speaker 1>the top of my.

148
00:06:58.920 --> 00:07:03.519
<v Speaker 2>Head exactly, and Deck points to things like multi factor

149
00:07:03.560 --> 00:07:07.000
<v Speaker 2>authentication as a much, a much stronger alternative. It's about

150
00:07:07.040 --> 00:07:09.680
<v Speaker 2>adding layers of security, just like we talked about with

151
00:07:09.759 --> 00:07:10.600
<v Speaker 2>defense and depth.

152
00:07:10.639 --> 00:07:13.480
<v Speaker 1>Okay, so we've got our diagrams, our stride framework, our

153
00:07:13.480 --> 00:07:17.319
<v Speaker 1>requirements cookbook. But there's still one piece missing, isn't there?

154
00:07:17.439 --> 00:07:18.319
<v Speaker 1>The human element?

155
00:07:18.519 --> 00:07:21.839
<v Speaker 2>You're absolutely right, and that's where chapter fifteen gets really interesting.

156
00:07:21.920 --> 00:07:24.879
<v Speaker 2>It dives into the psychology of security, how our own

157
00:07:24.959 --> 00:07:28.360
<v Speaker 2>brains can sometimes well work against us.

158
00:07:28.399 --> 00:07:31.399
<v Speaker 1>Our brain's working against us. Yeah, Okay, now I'm really intrigued.

159
00:07:31.759 --> 00:07:35.839
<v Speaker 2>It's all about these things called cognitive biases, things like anchoring,

160
00:07:36.480 --> 00:07:38.800
<v Speaker 2>where we get fixated on the first piece of information

161
00:07:38.879 --> 00:07:41.360
<v Speaker 2>we see, even if it's even if it's wrong or

162
00:07:42.959 --> 00:07:47.360
<v Speaker 2>WYSIID what you see is all there is, which can

163
00:07:47.360 --> 00:07:51.120
<v Speaker 2>make us kind of blind to potential dangers lurking just

164
00:07:51.240 --> 00:07:53.199
<v Speaker 2>outside our immediate view.

165
00:07:53.360 --> 00:07:56.839
<v Speaker 1>Wow, that's fascinating. So it's not just about building secure systems,

166
00:07:56.839 --> 00:08:01.040
<v Speaker 1>it's about understanding how people actually use those systems right

167
00:08:01.199 --> 00:08:04.800
<v Speaker 1>and designing them in a way that minimizes, you know,

168
00:08:05.040 --> 00:08:06.839
<v Speaker 1>the risk of human error exactly.

169
00:08:06.879 --> 00:08:09.040
<v Speaker 2>And Shasta gives some great examples of how this plays

170
00:08:09.040 --> 00:08:11.879
<v Speaker 2>out in the real world, like those phishing emails that

171
00:08:11.920 --> 00:08:14.639
<v Speaker 2>create this this sense of urgency to trick you into

172
00:08:14.680 --> 00:08:16.279
<v Speaker 2>clicking on a malicious link.

173
00:08:16.360 --> 00:08:19.240
<v Speaker 1>Oh man, I've totally fallen for those before. You feel

174
00:08:19.240 --> 00:08:21.079
<v Speaker 1>like you have to act immediately and you don't start

175
00:08:21.120 --> 00:08:22.199
<v Speaker 1>to think critically about it.

176
00:08:22.240 --> 00:08:24.519
<v Speaker 2>That's exactly what the attackers are counting on. So part

177
00:08:24.519 --> 00:08:27.800
<v Speaker 2>of threat modeling is understanding these these psychological traps and

178
00:08:27.800 --> 00:08:30.879
<v Speaker 2>designing systems that help users, you know, avoid them.

179
00:08:30.920 --> 00:08:33.399
<v Speaker 1>This is blowing my mind. It's like it's like security

180
00:08:33.440 --> 00:08:34.639
<v Speaker 1>meets behavioral science.

181
00:08:34.960 --> 00:08:37.840
<v Speaker 2>It really is, and it highlights how security is not

182
00:08:38.000 --> 00:08:40.960
<v Speaker 2>just a technical problem, it's a human problem. We need

183
00:08:40.960 --> 00:08:44.120
<v Speaker 2>to understand both sides of the equation to build truly

184
00:08:44.240 --> 00:08:45.240
<v Speaker 2>secure systems.

185
00:08:45.679 --> 00:08:48.639
<v Speaker 1>After all that, I'm starting to feel a little overwhelmed.

186
00:08:49.200 --> 00:08:50.679
<v Speaker 1>Is there any hope for those of us who aren't

187
00:08:50.919 --> 00:08:52.440
<v Speaker 1>you know, cryptography experts.

188
00:08:52.559 --> 00:08:55.840
<v Speaker 2>You're not alone. But here's the good news. You don't

189
00:08:55.879 --> 00:08:59.000
<v Speaker 2>have to be a cryptogenius to build secure systems. In fact,

190
00:08:59.399 --> 00:09:03.600
<v Speaker 2>Shastak has some very reassuring words for us in chapter sixteen.

191
00:09:03.679 --> 00:09:06.080
<v Speaker 1>Okay, call me more. I need some good news right

192
00:09:06.120 --> 00:09:06.559
<v Speaker 1>about now.

193
00:09:06.639 --> 00:09:09.840
<v Speaker 2>He basically says, don't reinvent the wheel when it comes

194
00:09:09.840 --> 00:09:15.120
<v Speaker 2>to cryptography. Use well vetted, you know, existing cryptosystems. Don't

195
00:09:15.120 --> 00:09:18.159
<v Speaker 2>try to create your own, your own encryption algorithms unless

196
00:09:18.159 --> 00:09:21.039
<v Speaker 2>you're you know, a world renowned expert, because the odds

197
00:09:21.039 --> 00:09:23.120
<v Speaker 2>of you messing it up are pretty high.

198
00:09:23.240 --> 00:09:25.480
<v Speaker 1>Yeah, that makes sense. Why reinvent the wheel if someone's

199
00:09:25.480 --> 00:09:26.519
<v Speaker 1>already done the hard work for you.

200
00:09:26.840 --> 00:09:32.399
<v Speaker 2>Exactly, and he calls this the cryptographic doom principle. Get

201
00:09:32.440 --> 00:09:35.399
<v Speaker 2>crypto right and you're good. Get it wrong and the

202
00:09:35.399 --> 00:09:39.120
<v Speaker 2>consequences can be catastrophic. It all comes back to understanding

203
00:09:39.159 --> 00:09:40.399
<v Speaker 2>those trust boundaries.

204
00:09:40.840 --> 00:09:44.320
<v Speaker 1>So trust the experts, know your boundaries, for the love

205
00:09:44.320 --> 00:09:46.840
<v Speaker 1>of all that is secure. Don't try to create your

206
00:09:46.840 --> 00:09:48.120
<v Speaker 1>own encryption algorithm.

207
00:09:48.240 --> 00:09:50.559
<v Speaker 2>You got it. And that's just scratching the surface of

208
00:09:50.559 --> 00:09:52.600
<v Speaker 2>what Shashtak covers in the book. We've still got so

209
00:09:52.679 --> 00:09:56.240
<v Speaker 2>much more to unpack, including how to actually make threat

210
00:09:56.279 --> 00:09:59.919
<v Speaker 2>modeling a regular part of your process, how to con

211
00:10:00.080 --> 00:10:02.440
<v Speaker 2>vince your team to you know, to get on board,

212
00:10:02.720 --> 00:10:05.279
<v Speaker 2>and even a glimpse into the future of threat modeling

213
00:10:05.679 --> 00:10:09.679
<v Speaker 2>with things like threat genomics and adversarial machine learning.

214
00:10:09.759 --> 00:10:13.639
<v Speaker 1>Wow, I am definitely feeling inspired, but also a little

215
00:10:13.639 --> 00:10:15.960
<v Speaker 1>overwhelmed by all this information. Maybe we should take a

216
00:10:16.000 --> 00:10:17.960
<v Speaker 1>quick break here and come back for part two of

217
00:10:18.000 --> 00:10:22.399
<v Speaker 1>our deep dive to explore these more these more advanced concepts.

218
00:10:22.600 --> 00:10:25.120
<v Speaker 2>Sounds like a plan. We've laid a solid foundation, and

219
00:10:25.159 --> 00:10:26.799
<v Speaker 2>now it's time to build on it and see how

220
00:10:26.799 --> 00:10:29.080
<v Speaker 2>we can apply these ideas to create a more secure

221
00:10:29.159 --> 00:10:33.120
<v Speaker 2>digital world. All right, so let's jump back into this

222
00:10:33.159 --> 00:10:36.159
<v Speaker 2>fascinating world of threat modeling. One thing that really struck

223
00:10:36.200 --> 00:10:38.080
<v Speaker 2>me as we were, you know, prepping for this deep

224
00:10:38.120 --> 00:10:41.960
<v Speaker 2>dive was how much emphasis Adam Shastak puts on clarity

225
00:10:42.240 --> 00:10:44.000
<v Speaker 2>when it comes to diagramming systems.

226
00:10:44.200 --> 00:10:46.879
<v Speaker 1>Oh. Absolutely, a messy diagram is like a recipe for

227
00:10:46.960 --> 00:10:49.960
<v Speaker 1>disaster when you're when you're trying to threat model. Yeah,

228
00:10:50.000 --> 00:10:51.720
<v Speaker 1>it's it's got to be crystal clear so you don't

229
00:10:51.759 --> 00:10:53.840
<v Speaker 1>miss any any crucial vulnerability.

230
00:10:53.919 --> 00:10:56.440
<v Speaker 2>Exactly. It's not just about having a diagram, it's about

231
00:10:56.440 --> 00:11:00.639
<v Speaker 2>having a good one. And data flow diagrams or DFDs,

232
00:11:00.679 --> 00:11:03.080
<v Speaker 2>they seem to be like the gold standard for threat

233
00:11:03.080 --> 00:11:06.919
<v Speaker 2>modeling because they visually show how that data is moving

234
00:11:06.960 --> 00:11:07.639
<v Speaker 2>through your system.

235
00:11:08.240 --> 00:11:12.840
<v Speaker 1>Yeah, DFDs there, they're fantastic for visualizing those trust boundaries

236
00:11:12.879 --> 00:11:15.159
<v Speaker 1>we talked about earlier. Yeah, it's like shining a spotlight

237
00:11:15.200 --> 00:11:18.000
<v Speaker 1>on those on those exact points where an attacker might

238
00:11:18.000 --> 00:11:19.159
<v Speaker 1>try to sneak in.

239
00:11:19.320 --> 00:11:24.320
<v Speaker 2>Yeah. And once you've got those those entry points you know, highlighted,

240
00:11:24.360 --> 00:11:28.519
<v Speaker 2>you can systematically analyze each one using the Stride framework.

241
00:11:28.559 --> 00:11:32.399
<v Speaker 2>Are they susceptible to spoofing, tampering, repudiation? You go through

242
00:11:32.440 --> 00:11:35.559
<v Speaker 2>the whole list and really dissect those potential weaknesses.

243
00:11:35.960 --> 00:11:39.840
<v Speaker 1>It's like having a mental checklist almost for security vulnerabilities.

244
00:11:40.039 --> 00:11:42.759
<v Speaker 1>And it's amazing how many things you might overlook if

245
00:11:42.759 --> 00:11:44.720
<v Speaker 1>you don't have that structured approach.

246
00:11:45.399 --> 00:11:49.000
<v Speaker 2>Absolutely, and Shastak goes beyond just you know, theory. He

247
00:11:49.039 --> 00:11:52.320
<v Speaker 2>gives tons of practical tips in the book, like the

248
00:11:52.360 --> 00:11:57.360
<v Speaker 2>importance of validating data from from untrusted sources. Never never

249
00:11:57.480 --> 00:12:01.879
<v Speaker 2>just blindly trust user input or data coming from external systems.

250
00:12:01.879 --> 00:12:03.960
<v Speaker 1>Oh, I've learned that lesson the hard way a few times. Yeah,

251
00:12:04.039 --> 00:12:06.759
<v Speaker 1>it's so easy to assume that that data is, you know,

252
00:12:06.960 --> 00:12:09.879
<v Speaker 1>clean and well intentioned, but you really, you really have

253
00:12:09.919 --> 00:12:12.559
<v Speaker 1>to treat everything with a with a healthy dose of suspicions.

254
00:12:12.679 --> 00:12:15.440
<v Speaker 2>Yeah, you got it. Input validation. It's it's like that

255
00:12:15.519 --> 00:12:18.440
<v Speaker 2>first line of defense against against a whole range of

256
00:12:18.879 --> 00:12:23.360
<v Speaker 2>injection attacks, including that that sneaky sequel injection we talked

257
00:12:23.399 --> 00:12:24.000
<v Speaker 2>about earlier.

258
00:12:24.080 --> 00:12:26.320
<v Speaker 1>Yeah, and let's not forget about logging. I used to

259
00:12:26.360 --> 00:12:29.159
<v Speaker 1>think of logs as like just boring technical stuff, you know,

260
00:12:29.559 --> 00:12:31.600
<v Speaker 1>but the book, the book really opened my eyes to

261
00:12:31.639 --> 00:12:34.919
<v Speaker 1>how crucial they are for security, especially when it comes

262
00:12:34.919 --> 00:12:37.519
<v Speaker 1>to those those tricky repudiation threats.

263
00:12:37.720 --> 00:12:40.840
<v Speaker 2>You're right, logs can be like a life saver when

264
00:12:40.840 --> 00:12:44.159
<v Speaker 2>you need to investigate a security incident. They're like a

265
00:12:44.159 --> 00:12:48.120
<v Speaker 2>detective's notebook, you know. Helping you piece together what happened,

266
00:12:48.200 --> 00:12:50.759
<v Speaker 2>who is involved, and how to prevent it from happening again.

267
00:12:50.919 --> 00:12:54.200
<v Speaker 1>But but logs are only useful if they're protected right

268
00:12:54.799 --> 00:12:57.320
<v Speaker 1>and reliable. What's the point of having a you know,

269
00:12:57.440 --> 00:13:00.960
<v Speaker 1>a security camera if someone can just just tamper.

270
00:13:00.639 --> 00:13:03.799
<v Speaker 2>With the footage exactly. Shastak really stresses the importance of

271
00:13:03.840 --> 00:13:07.559
<v Speaker 2>protecting those those log files from tampering and making sure

272
00:13:07.559 --> 00:13:10.279
<v Speaker 2>they're stored securely. You don't want to create a vulnerability

273
00:13:10.320 --> 00:13:13.000
<v Speaker 2>while you're you know, while you're trying to solve another one.

274
00:13:13.080 --> 00:13:15.200
<v Speaker 1>That's true, that's true. You know. One of the things

275
00:13:15.240 --> 00:13:18.399
<v Speaker 1>that really that really clicked for me was this concept

276
00:13:18.440 --> 00:13:23.200
<v Speaker 1>of defense in depth. So tempting to just think, Okay,

277
00:13:23.639 --> 00:13:27.240
<v Speaker 1>I've implemented this one security measure, I'm good. But but

278
00:13:27.240 --> 00:13:28.519
<v Speaker 1>that's rarely enough, is it?

279
00:13:28.879 --> 00:13:31.399
<v Speaker 2>Not? At all? Shostak really drives home the point that

280
00:13:31.440 --> 00:13:34.279
<v Speaker 2>you need you need multiple layers of security. It's it's

281
00:13:34.279 --> 00:13:39.039
<v Speaker 2>like building a castle with walls and moats and guard towers.

282
00:13:39.080 --> 00:13:40.879
<v Speaker 2>You know, each layer makes it that much harder for

283
00:13:41.320 --> 00:13:43.159
<v Speaker 2>an attacker to breach your defenses.

284
00:13:43.799 --> 00:13:46.600
<v Speaker 1>It makes you realize that security is not a you know,

285
00:13:46.639 --> 00:13:48.879
<v Speaker 1>not a destination. It's a journey. Yeah, you have to

286
00:13:48.879 --> 00:13:52.480
<v Speaker 1>constantly be evaluating your defense is, looking for looking for

287
00:13:52.519 --> 00:13:54.000
<v Speaker 1>weak points, and making improvements.

288
00:13:54.039 --> 00:13:57.399
<v Speaker 2>Absolutely, it's it's an ongoing process and it requires vigilance

289
00:13:57.480 --> 00:14:02.440
<v Speaker 2>and a willingness to adapt as the threat landscape changes.

290
00:14:02.720 --> 00:14:05.879
<v Speaker 2>You know. Shostak also talks about the importance of understanding

291
00:14:06.679 --> 00:14:09.639
<v Speaker 2>trade offs when it comes to security. Sometimes the most

292
00:14:09.679 --> 00:14:12.480
<v Speaker 2>secure solution just isn't feasible, right, Right, Like.

293
00:14:12.600 --> 00:14:14.919
<v Speaker 1>You could build an impenetrable fortress, but if it's so

294
00:14:15.000 --> 00:14:17.679
<v Speaker 1>restrictive that no one can actually use it, what's the

295
00:14:17.679 --> 00:14:18.559
<v Speaker 1>point exactly?

296
00:14:18.600 --> 00:14:23.639
<v Speaker 2>It's about finding the right balance between security and usability

297
00:14:23.919 --> 00:14:27.200
<v Speaker 2>and cost. Sometimes you might choose to accept a certain

298
00:14:27.240 --> 00:14:29.840
<v Speaker 2>level of risk if the cost of mitigating it is

299
00:14:29.879 --> 00:14:30.960
<v Speaker 2>just just too high.

300
00:14:31.039 --> 00:14:34.080
<v Speaker 1>Right. So it sounds like threat modeling forces you to

301
00:14:33.679 --> 00:14:36.039
<v Speaker 1>be to be really honest with yourself about what you're

302
00:14:36.840 --> 00:14:39.960
<v Speaker 1>willing to risk, yeah, and what you absolutely need to

303
00:14:39.960 --> 00:14:42.840
<v Speaker 1>to protect. It's a tough call, but an essential one,

304
00:14:42.879 --> 00:14:43.080
<v Speaker 1>you know.

305
00:14:43.240 --> 00:14:46.240
<v Speaker 2>Couldn't agree more. And one thing Shostak emphasizes is that

306
00:14:46.840 --> 00:14:49.879
<v Speaker 2>threat modeling shouldn't be a one time event. It needs

307
00:14:49.919 --> 00:14:53.519
<v Speaker 2>to be like beaked into your entire development life cycle.

308
00:14:53.639 --> 00:14:55.519
<v Speaker 1>So it's not like checking a box and moving on.

309
00:14:55.600 --> 00:14:58.879
<v Speaker 1>It's more about making threat modeling a part of your DNA,

310
00:14:59.159 --> 00:15:02.559
<v Speaker 1>part of how you how you approach every every project

311
00:15:02.559 --> 00:15:03.639
<v Speaker 1>from from start to finish.

312
00:15:03.720 --> 00:15:06.360
<v Speaker 2>You nailed it. Whether you're using an agile methodology or

313
00:15:06.399 --> 00:15:10.639
<v Speaker 2>a more traditional, you know, waterfall approach, threat modeling should

314
00:15:10.679 --> 00:15:17.039
<v Speaker 2>be should be woven into into every stage of development, design, implementation, testing, deployment,

315
00:15:17.159 --> 00:15:18.919
<v Speaker 2>you know, it all needs to be considered through a

316
00:15:19.120 --> 00:15:20.200
<v Speaker 2>through a security lens.

317
00:15:20.320 --> 00:15:22.919
<v Speaker 1>It's it's like you're you're constantly checking your blind spots,

318
00:15:23.799 --> 00:15:26.840
<v Speaker 1>anticipating potential problems before they even even.

319
00:15:26.639 --> 00:15:30.320
<v Speaker 2>Arise, exactly. And it's not just about that initial development

320
00:15:30.320 --> 00:15:33.240
<v Speaker 2>phase either. As you add new features, you know, make

321
00:15:33.360 --> 00:15:38.080
<v Speaker 2>changes to your your code or integrate with with external systems,

322
00:15:38.120 --> 00:15:40.559
<v Speaker 2>you need to revisit your your threat model and it

323
00:15:40.559 --> 00:15:41.639
<v Speaker 2>makes sure it's still relevant.

324
00:15:41.759 --> 00:15:44.840
<v Speaker 1>It's like that that old saying eternal vigilance is the

325
00:15:44.879 --> 00:15:49.000
<v Speaker 1>price of liberty, except in this case it's the price

326
00:15:49.000 --> 00:15:49.679
<v Speaker 1>of security.

327
00:15:49.879 --> 00:15:53.320
<v Speaker 2>Uh huh. That's a great analogy. And and Shastak gives

328
00:15:53.320 --> 00:15:56.759
<v Speaker 2>some really practical advice on how to integrate threat modeling

329
00:15:57.279 --> 00:16:02.320
<v Speaker 2>into into different different development methodologies, even fast paced ones

330
00:16:02.399 --> 00:16:04.480
<v Speaker 2>like like agile and DevOps.

331
00:16:04.279 --> 00:16:05.879
<v Speaker 1>That's that's where're sureing. I think a lot of people

332
00:16:05.960 --> 00:16:08.399
<v Speaker 1>assume that threat modeling is like too cumbersome for those

333
00:16:08.440 --> 00:16:11.039
<v Speaker 1>types of those types of environments, but it sounds like

334
00:16:11.080 --> 00:16:13.480
<v Speaker 1>it can be. It can be adapted to fit to

335
00:16:13.519 --> 00:16:14.559
<v Speaker 1>fit any workflow.

336
00:16:14.799 --> 00:16:18.440
<v Speaker 2>Absolutely. The key is to break down threat modeling activities

337
00:16:18.440 --> 00:16:22.000
<v Speaker 2>into into smaller, more manageable tasks that can be integrated

338
00:16:22.039 --> 00:16:23.759
<v Speaker 2>into your existing process.

339
00:16:23.840 --> 00:16:26.000
<v Speaker 1>So it's not about adding this this whole new layer

340
00:16:26.039 --> 00:16:30.840
<v Speaker 1>of bureaucracy. It's it's about incorporating incorporating security thinking into

341
00:16:31.120 --> 00:16:32.080
<v Speaker 1>into everything you do.

342
00:16:32.559 --> 00:16:34.799
<v Speaker 2>You got it, And that even extends to you know,

343
00:16:34.879 --> 00:16:38.799
<v Speaker 2>testing activities. Shawstak talks about how how threat modeling can

344
00:16:38.840 --> 00:16:42.639
<v Speaker 2>inform your testing strategy, helping you develop more, more targeted

345
00:16:42.720 --> 00:16:44.279
<v Speaker 2>and effective test cases.

346
00:16:44.360 --> 00:16:46.720
<v Speaker 1>It's like you're not just testing to see if the

347
00:16:46.759 --> 00:16:49.360
<v Speaker 1>software works. You're testing to see if it's if it's secure,

348
00:16:49.600 --> 00:16:51.679
<v Speaker 1>if it can withstand withstand attacks.

349
00:16:51.759 --> 00:16:56.039
<v Speaker 2>Exactly. By understanding those those potential threats, testers can really

350
00:16:56.080 --> 00:16:59.080
<v Speaker 2>put those defenses to the test and try to break them,

351
00:16:59.240 --> 00:17:03.600
<v Speaker 2>which ultimately leads to a more secure and resilient system.

352
00:17:03.879 --> 00:17:07.279
<v Speaker 1>Okay, okay, I'm loving all this practical advice. But I

353
00:17:07.319 --> 00:17:09.799
<v Speaker 1>want to circle back to something we touched on earlier,

354
00:17:10.279 --> 00:17:15.200
<v Speaker 1>the human element. We talked about cognitive biases and how

355
00:17:15.200 --> 00:17:17.799
<v Speaker 1>our own brains can can sometimes make us make us

356
00:17:17.880 --> 00:17:19.799
<v Speaker 1>vulnerable to attacks. Can you can you go a little

357
00:17:19.799 --> 00:17:22.640
<v Speaker 1>deeper into that. I'm really fascinated by this whole, this

358
00:17:22.680 --> 00:17:24.240
<v Speaker 1>whole psychology of security thing.

359
00:17:24.519 --> 00:17:26.079
<v Speaker 2>I'm glad you brought that up. It's it's such an

360
00:17:26.119 --> 00:17:30.039
<v Speaker 2>important aspect of security, and in Shostak dedicates a whole

361
00:17:30.119 --> 00:17:32.920
<v Speaker 2>chapter to it in the book. He really dives deep

362
00:17:33.000 --> 00:17:37.440
<v Speaker 2>into how our cognitive biases can make us susceptible to

363
00:17:38.359 --> 00:17:40.960
<v Speaker 2>things like like social engineering attacks.

364
00:17:41.000 --> 00:17:44.400
<v Speaker 1>Okay, so so remind me again what are cognitive biases.

365
00:17:44.680 --> 00:17:47.880
<v Speaker 1>I feel like I need a refresher course in psychology.

366
00:17:48.400 --> 00:17:51.559
<v Speaker 2>Think of them as as mental shortcuts almost that our

367
00:17:51.559 --> 00:17:55.880
<v Speaker 2>brains take to process information quickly. They're often helpful in

368
00:17:55.920 --> 00:17:58.960
<v Speaker 2>everyday life, but when it comes to security, they can

369
00:17:59.160 --> 00:18:00.680
<v Speaker 2>they can kind of lead us astray.

370
00:18:00.839 --> 00:18:02.839
<v Speaker 1>So it's it's like our brains are trying to help us,

371
00:18:02.839 --> 00:18:06.440
<v Speaker 1>but they're actually making us, making us more more vulnerable.

372
00:18:06.000 --> 00:18:10.200
<v Speaker 2>To attack sometimes. Yes, Shostak talks about biases like anchoring,

373
00:18:10.279 --> 00:18:12.480
<v Speaker 2>where we where we get fixated on the first piece

374
00:18:12.480 --> 00:18:14.839
<v Speaker 2>of information we see, even if it's even if it's wrong,

375
00:18:15.200 --> 00:18:18.079
<v Speaker 2>and uh, and confirmation bias, where we tend to seek

376
00:18:18.119 --> 00:18:21.920
<v Speaker 2>out information that confirms our our existing beliefs, even if

377
00:18:21.920 --> 00:18:23.720
<v Speaker 2>those those beliefs are flawed.

378
00:18:23.960 --> 00:18:26.079
<v Speaker 1>Oh, I'm totally guilty of that. If if I've already

379
00:18:26.079 --> 00:18:27.920
<v Speaker 1>made up my mind about something, it's it's hard to

380
00:18:27.960 --> 00:18:30.480
<v Speaker 1>convince me otherwise, even if there's even if there's evidence

381
00:18:30.480 --> 00:18:31.200
<v Speaker 1>to the contrary.

382
00:18:31.319 --> 00:18:33.640
<v Speaker 2>We all do it. It's it's just how our brains

383
00:18:33.680 --> 00:18:38.039
<v Speaker 2>are wired. But in the context of security, that can

384
00:18:38.039 --> 00:18:41.039
<v Speaker 2>be that can be dangerous. For example, if you're if

385
00:18:41.079 --> 00:18:44.079
<v Speaker 2>you're convinced that that a certain type of attack can't

386
00:18:44.119 --> 00:18:47.039
<v Speaker 2>happen to you, you might be less likely to take

387
00:18:47.039 --> 00:18:50.599
<v Speaker 2>precautions or to recognize the warning signs, you know, right.

388
00:18:50.559 --> 00:18:52.839
<v Speaker 1>Right, So it's not just about building, you know, building

389
00:18:52.920 --> 00:18:57.240
<v Speaker 1>secure systems. It's about understanding how people actually use those

390
00:18:57.279 --> 00:19:00.680
<v Speaker 1>systems and designing them in a way that that minimizes

391
00:19:00.720 --> 00:19:03.079
<v Speaker 1>the risk of human error exactly.

392
00:19:03.200 --> 00:19:05.960
<v Speaker 2>And that's where the idea of usable security comes in.

393
00:19:06.039 --> 00:19:08.559
<v Speaker 2>You want to build systems that are not only technically

394
00:19:09.240 --> 00:19:14.039
<v Speaker 2>you know, robust, but also but also user friendly, intuitive, right.

395
00:19:14.079 --> 00:19:17.640
<v Speaker 1>So, so it's about guiding users towards safe choices without

396
00:19:17.680 --> 00:19:20.920
<v Speaker 1>making them feel like they're they're constantly walking through through

397
00:19:21.640 --> 00:19:24.200
<v Speaker 1>a minefield of security warnings and restrictions.

398
00:19:24.640 --> 00:19:26.160
<v Speaker 2>That's a great way to put it. You want you

399
00:19:26.200 --> 00:19:30.039
<v Speaker 2>want security to be almost invisible, seamlessly integrated into the

400
00:19:30.200 --> 00:19:33.119
<v Speaker 2>into the user experience, so people so people don't even

401
00:19:33.160 --> 00:19:34.960
<v Speaker 2>realize they're being protected.

402
00:19:35.519 --> 00:19:37.880
<v Speaker 1>That's really interesting. It reminds me of that analogy that

403
00:19:37.880 --> 00:19:40.839
<v Speaker 1>Shastak uses in the book about security being like a

404
00:19:41.400 --> 00:19:46.119
<v Speaker 1>like a shepherd, you know, gently guiding users toward towards

405
00:19:46.119 --> 00:19:48.720
<v Speaker 1>safe pastors rather than than locking them up in a

406
00:19:48.839 --> 00:19:49.559
<v Speaker 1>in a fortress.

407
00:19:49.640 --> 00:19:52.759
<v Speaker 2>I love that analogy. It perfectly captures the essence of

408
00:19:53.319 --> 00:19:57.200
<v Speaker 2>usable security. It's about it's about enabling people to use

409
00:19:57.240 --> 00:20:01.319
<v Speaker 2>technology safely and effectively without feeling like they're they're constantly

410
00:20:01.319 --> 00:20:03.000
<v Speaker 2>fighting against the system.

411
00:20:03.279 --> 00:20:06.440
<v Speaker 1>Okay, so, so we've talked about diagrams and frameworks the

412
00:20:06.440 --> 00:20:10.079
<v Speaker 1>psychology of security, but we haven't delved into the the

413
00:20:10.200 --> 00:20:12.960
<v Speaker 1>nitty gritty of cryptography yet. Is that is that where

414
00:20:12.960 --> 00:20:15.000
<v Speaker 1>we're hitded next? Because I have to admit that's the

415
00:20:15.039 --> 00:20:16.960
<v Speaker 1>part that that intimidates me the most.

416
00:20:17.039 --> 00:20:20.880
<v Speaker 2>Uh huh, you're not alone. Cryptography can seem can seem daunting,

417
00:20:21.279 --> 00:20:23.400
<v Speaker 2>but uh but Shostak does it does a great job

418
00:20:23.440 --> 00:20:25.440
<v Speaker 2>of breaking it down in a in a way that's

419
00:20:25.480 --> 00:20:27.920
<v Speaker 2>that's accessible even for those of us who aren't you know,

420
00:20:28.200 --> 00:20:28.960
<v Speaker 2>math whizzes.

421
00:20:29.200 --> 00:20:31.160
<v Speaker 1>Okay, I'm all ears, give me the give me the

422
00:20:31.160 --> 00:20:32.680
<v Speaker 1>Cryptography for Dummies version.

423
00:20:32.799 --> 00:20:35.359
<v Speaker 2>Okay. Well, the the key takeaway is that you you

424
00:20:35.400 --> 00:20:38.200
<v Speaker 2>don't have to be a cryptographer to build secure systems.

425
00:20:38.240 --> 00:20:40.880
<v Speaker 2>In fact, it's it's usually best to rely on on

426
00:20:41.079 --> 00:20:46.039
<v Speaker 2>well vetted, existing cryptosystems that have been thoroughly tested and

427
00:20:46.400 --> 00:20:47.119
<v Speaker 2>proven secure.

428
00:20:47.279 --> 00:20:50.599
<v Speaker 1>Okay. So, so don't try to be a cryptographic superhero

429
00:20:50.680 --> 00:20:54.079
<v Speaker 1>and and invent my own my own algorithms exactly.

430
00:20:54.079 --> 00:20:57.559
<v Speaker 2>Reinventing the wheel in cryptography is is almost always a

431
00:20:58.039 --> 00:21:01.200
<v Speaker 2>recipe for disaster. There's a reason why those algorithms are

432
00:21:01.279 --> 00:21:04.920
<v Speaker 2>so so complex. It's because a lot of a lot

433
00:21:04.920 --> 00:21:08.160
<v Speaker 2>of brilliant minds have have worked on them to make

434
00:21:08.160 --> 00:21:09.880
<v Speaker 2>sure there's a secure as possible.

435
00:21:09.920 --> 00:21:12.279
<v Speaker 1>Okay. So it's it's more about choosing the right the

436
00:21:12.359 --> 00:21:15.720
<v Speaker 1>right tools for the job and using them correctly, rather

437
00:21:15.799 --> 00:21:19.359
<v Speaker 1>than trying to create something entirely entirely new from.

438
00:21:19.240 --> 00:21:21.759
<v Speaker 2>Scratch, you got it and and Shostak calls this the

439
00:21:22.240 --> 00:21:25.559
<v Speaker 2>cryptographic doom principle. Get it right and you're golden. Get

440
00:21:25.559 --> 00:21:27.440
<v Speaker 2>it wrong and you could be setting yourself up for

441
00:21:27.519 --> 00:21:29.240
<v Speaker 2>a major security breach.

442
00:21:29.519 --> 00:21:32.599
<v Speaker 1>Okay, I'm definitely getting the message don't mess with crypto

443
00:21:32.720 --> 00:21:34.880
<v Speaker 1>unless you unless you really know what you're doing. But

444
00:21:34.920 --> 00:21:37.599
<v Speaker 1>I'm still curious. What what are some of the key

445
00:21:37.640 --> 00:21:40.440
<v Speaker 1>things to keep in mind when it comes to, you know,

446
00:21:40.559 --> 00:21:42.200
<v Speaker 1>choosing and using cryptosystems.

447
00:21:43.000 --> 00:21:44.759
<v Speaker 2>Well, one of the one of the most important things

448
00:21:44.880 --> 00:21:48.960
<v Speaker 2>is is key management. Your your encryption keys are like

449
00:21:48.960 --> 00:21:51.279
<v Speaker 2>like the keys to your castle. If if someone gets

450
00:21:51.279 --> 00:21:52.839
<v Speaker 2>a hold of them, they can they can unlock all

451
00:21:52.880 --> 00:21:53.519
<v Speaker 2>your secrets.

452
00:21:53.599 --> 00:21:55.680
<v Speaker 1>Oh, that's a that's a great analogy. So so key

453
00:21:55.680 --> 00:21:59.640
<v Speaker 1>management is all about all about keeping those keys, those

454
00:21:59.720 --> 00:22:02.680
<v Speaker 1>keys safe and secure, making sure they don't they don't

455
00:22:02.720 --> 00:22:04.559
<v Speaker 1>fall into the wrong hands exactly.

456
00:22:04.599 --> 00:22:08.759
<v Speaker 2>And that involves things like like storing keys securely, controlling

457
00:22:08.799 --> 00:22:12.960
<v Speaker 2>and controlling access to them, and having procedures in place

458
00:22:13.000 --> 00:22:16.519
<v Speaker 2>for revoking and replacing keys if they're ever if they're

459
00:22:16.519 --> 00:22:17.440
<v Speaker 2>ever compromised.

460
00:22:17.480 --> 00:22:20.440
<v Speaker 1>So it's not just about the technology itself, it's about

461
00:22:20.640 --> 00:22:24.119
<v Speaker 1>the processes and procedures that you have in place to

462
00:22:24.559 --> 00:22:26.160
<v Speaker 1>manage that technology securely.

463
00:22:26.480 --> 00:22:29.200
<v Speaker 2>You're catching on and this all ties back to the

464
00:22:29.200 --> 00:22:33.160
<v Speaker 2>idea that security is a holistic challenge. It's it's not

465
00:22:33.240 --> 00:22:37.039
<v Speaker 2>just about technology, it's about it's about people and processes

466
00:22:37.119 --> 00:22:40.480
<v Speaker 2>and a deep understanding of the threats you're you're facing.

467
00:22:40.559 --> 00:22:44.240
<v Speaker 1>Okay, so we've covered so much ground already, from diagrams

468
00:22:44.279 --> 00:22:47.720
<v Speaker 1>and frameworks to the psychology of security and the importance

469
00:22:47.759 --> 00:22:51.559
<v Speaker 1>of not reinventing the cryptographic wheel. What else does? What

470
00:22:51.599 --> 00:22:53.319
<v Speaker 1>else is shuss Deck cover in the book? Is there

471
00:22:53.319 --> 00:22:54.559
<v Speaker 1>anything we've we've missed?

472
00:22:54.960 --> 00:22:57.240
<v Speaker 2>There's still a lot to explore. We haven't even touched

473
00:22:57.279 --> 00:23:01.599
<v Speaker 2>on the more experimental approaches to threat modeling, like like

474
00:23:01.640 --> 00:23:05.319
<v Speaker 2>threat genomics and adversarial machine learning, and of course there's

475
00:23:05.359 --> 00:23:08.920
<v Speaker 2>there's the big question of how to actually implement threat

476
00:23:08.960 --> 00:23:10.759
<v Speaker 2>modeling in your organization.

477
00:23:11.079 --> 00:23:13.960
<v Speaker 1>Wow, I'm starting to feel like we need a whole

478
00:23:14.000 --> 00:23:16.880
<v Speaker 1>series of deep dives just just to cover all of this.

479
00:23:16.960 --> 00:23:19.799
<v Speaker 1>But before we before we get too overwhelmed, why don't

480
00:23:19.839 --> 00:23:22.519
<v Speaker 1>we take a pause here and come back for part

481
00:23:22.559 --> 00:23:25.240
<v Speaker 1>three to delve into those those more advanced topics.

482
00:23:25.480 --> 00:23:27.920
<v Speaker 2>That sounds like a great plan, we've we've laid a

483
00:23:27.920 --> 00:23:30.640
<v Speaker 2>solid foundation and now it's now it's time to build

484
00:23:30.640 --> 00:23:34.359
<v Speaker 2>on it and explore the cutting edge of threat modeling.

485
00:23:35.160 --> 00:23:36.799
<v Speaker 1>All right, So we're back for the final part of

486
00:23:36.799 --> 00:23:40.000
<v Speaker 1>our deep dive into threat modeling. And you know, one

487
00:23:40.000 --> 00:23:42.759
<v Speaker 1>thing I've been thinking about is, as we've been prepping

488
00:23:42.799 --> 00:23:44.880
<v Speaker 1>for this, I was I was kind of struck by

489
00:23:44.920 --> 00:23:49.279
<v Speaker 1>just how many different approaches there are to tow threat

490
00:23:49.279 --> 00:23:51.119
<v Speaker 1>modeling out there. It's it's kind of overwhelming.

491
00:23:51.240 --> 00:23:53.839
<v Speaker 2>Yeah, yeah, it's true. There's there's no there's no one

492
00:23:53.839 --> 00:23:57.480
<v Speaker 2>size fits all, you know, some are some are very structured,

493
00:23:57.519 --> 00:24:01.519
<v Speaker 2>while others are are more adaptable, you know. But but

494
00:24:01.559 --> 00:24:04.000
<v Speaker 2>don't worry. They all they all share the same core principles.

495
00:24:04.039 --> 00:24:06.559
<v Speaker 2>You know, understand your system, find the threats, and figure

496
00:24:06.599 --> 00:24:08.000
<v Speaker 2>out how to how to deal with them.

497
00:24:08.119 --> 00:24:11.920
<v Speaker 1>Right In shastak he he highlights three main strategies in

498
00:24:11.960 --> 00:24:16.000
<v Speaker 1>the book asset centric, attacker centric, and UH software centric.

499
00:24:16.079 --> 00:24:18.599
<v Speaker 1>And we touched on these briefly before, but I think

500
00:24:18.599 --> 00:24:20.759
<v Speaker 1>it's it's worth worth digging a little deeper.

501
00:24:21.079 --> 00:24:25.519
<v Speaker 2>Oh absolutely, so, UH an asset centric approach it's all about,

502
00:24:25.599 --> 00:24:29.200
<v Speaker 2>you know, identifying those those crown jewels in your system.

503
00:24:29.599 --> 00:24:32.279
<v Speaker 2>The things that you absolutely need to protect, and then

504
00:24:32.319 --> 00:24:36.759
<v Speaker 2>you analyze the threats that could target those specific those

505
00:24:36.799 --> 00:24:37.839
<v Speaker 2>specific assets.

506
00:24:38.000 --> 00:24:40.920
<v Speaker 1>So it's it's kind of like building a security perimeter

507
00:24:40.960 --> 00:24:44.079
<v Speaker 1>almost around your around your most prized possessions. Like you're saying,

508
00:24:44.240 --> 00:24:47.039
<v Speaker 1>these are the things that that absolutely cannot be compromised,

509
00:24:47.039 --> 00:24:49.319
<v Speaker 1>so let's let's focus all our all our efforts on

510
00:24:49.920 --> 00:24:51.119
<v Speaker 1>protecting them precisely.

511
00:24:51.160 --> 00:24:53.720
<v Speaker 2>It's it's a great approach for for systems where the

512
00:24:53.759 --> 00:24:57.279
<v Speaker 2>assets are are clearly defined and and the consequences of

513
00:24:57.559 --> 00:24:59.559
<v Speaker 2>losing them are are very high. You know, think, I

514
00:24:59.599 --> 00:25:03.200
<v Speaker 2>think findinancial data, medical records, anything anything super sensitive.

515
00:25:03.319 --> 00:25:05.880
<v Speaker 1>Right, But what about those situations where you know you're

516
00:25:05.880 --> 00:25:08.000
<v Speaker 1>you're not even sure what the what the biggest threats are.

517
00:25:08.119 --> 00:25:10.880
<v Speaker 1>That's where that that attacker centric approach comes in, right, right,

518
00:25:10.920 --> 00:25:11.400
<v Speaker 1>you got it?

519
00:25:11.440 --> 00:25:13.640
<v Speaker 2>With With this approach, you try to think like like

520
00:25:13.680 --> 00:25:16.680
<v Speaker 2>a hacker. You know, what are there, what are their motivations,

521
00:25:16.720 --> 00:25:19.200
<v Speaker 2>what are their pactics, what tools might they use? You

522
00:25:19.240 --> 00:25:22.599
<v Speaker 2>put yourself in the in the attacker's shoes, and and

523
00:25:22.720 --> 00:25:26.200
<v Speaker 2>try to try to find those vulnerabilities that they could exploit.

524
00:25:26.319 --> 00:25:29.440
<v Speaker 1>It's it's like playing a constant game of cat and mouse,

525
00:25:29.920 --> 00:25:33.799
<v Speaker 1>always trying to anticipate the attacker's next move and stay

526
00:25:33.839 --> 00:25:37.720
<v Speaker 1>one step ahead. Sounds sounds exhausting, It can be.

527
00:25:37.839 --> 00:25:40.400
<v Speaker 2>It can be, but it's but it's essential for for

528
00:25:40.480 --> 00:25:44.200
<v Speaker 2>systems where where the threat landscape is constantly, constantly changing

529
00:25:44.240 --> 00:25:47.440
<v Speaker 2>and you need to be super you know, proactive. So

530
00:25:47.559 --> 00:25:51.839
<v Speaker 2>think think like online gaming platforms, e commerce sites, anywhere

531
00:25:51.880 --> 00:25:55.240
<v Speaker 2>there's this like this constant stream of of new attacks

532
00:25:55.279 --> 00:25:56.319
<v Speaker 2>and vulnerabilities.

533
00:25:56.400 --> 00:26:00.440
<v Speaker 1>Right, and and then there's that software centric approach, which

534
00:26:00.440 --> 00:26:03.599
<v Speaker 1>seems to be kind of the most popular, uh starting point,

535
00:26:03.680 --> 00:26:05.480
<v Speaker 1>especially for for new projects.

536
00:26:05.799 --> 00:26:08.960
<v Speaker 2>Yeah, it's a it's a great foundation with with this approach,

537
00:26:09.000 --> 00:26:11.759
<v Speaker 2>you you really dig into the software itself, you know,

538
00:26:11.799 --> 00:26:15.000
<v Speaker 2>it's architecture, the the components, how it how it all

539
00:26:15.000 --> 00:26:18.839
<v Speaker 2>works together, and you're looking for any any weaknesses in

540
00:26:18.960 --> 00:26:21.839
<v Speaker 2>the design that could that could compromise security.

541
00:26:22.160 --> 00:26:26.440
<v Speaker 1>It's almost like you're you're an architect. You're examining like blueprints,

542
00:26:26.759 --> 00:26:29.720
<v Speaker 1>looking for for structural flaws that could they could make

543
00:26:29.720 --> 00:26:31.200
<v Speaker 1>the building you know, collapse.

544
00:26:31.359 --> 00:26:34.119
<v Speaker 2>Uh huh. That's a that's a great analogy. And and

545
00:26:34.200 --> 00:26:38.000
<v Speaker 2>the beauty of the the software centric approach is that

546
00:26:38.039 --> 00:26:41.039
<v Speaker 2>you can you can bake security into the design from

547
00:26:41.200 --> 00:26:43.240
<v Speaker 2>from day one. You know, you're not you're not trying

548
00:26:43.279 --> 00:26:45.279
<v Speaker 2>to bolt it on as an as an afterthought.

549
00:26:45.519 --> 00:26:48.119
<v Speaker 1>Right, So it sounds like choosing the right approach it

550
00:26:48.440 --> 00:26:50.799
<v Speaker 1>really depends on on what you're building, Yeah, and what

551
00:26:50.880 --> 00:26:52.799
<v Speaker 1>you're what you're most most worried about.

552
00:26:53.000 --> 00:26:56.039
<v Speaker 2>Exactly. There's there's no one right way to do this.

553
00:26:56.160 --> 00:26:58.759
<v Speaker 2>The key is to is to find an approach that

554
00:26:58.759 --> 00:27:02.160
<v Speaker 2>that fits your your specific needs and helps you achieve

555
00:27:02.200 --> 00:27:03.559
<v Speaker 2>your your security goals.

556
00:27:03.839 --> 00:27:05.599
<v Speaker 1>Now, one thing that really stood out to me in

557
00:27:05.640 --> 00:27:09.640
<v Speaker 1>the in the book was the emphasis on on validating

558
00:27:09.680 --> 00:27:12.960
<v Speaker 1>your threat model. You know, it's one thing to identify threats,

559
00:27:13.000 --> 00:27:14.960
<v Speaker 1>but how do you know if you've actually you know,

560
00:27:15.079 --> 00:27:16.160
<v Speaker 1>dealt with them effectively.

561
00:27:16.279 --> 00:27:18.559
<v Speaker 2>Yeah, that's that's where the rubber meets the road, right,

562
00:27:18.839 --> 00:27:20.960
<v Speaker 2>You've got to you've got to make sure those those

563
00:27:21.000 --> 00:27:24.640
<v Speaker 2>mitigations are actually actually working and they haven't you know,

564
00:27:24.759 --> 00:27:29.640
<v Speaker 2>accidentally created new vulnerabilities and uh and Shostak he talks

565
00:27:29.680 --> 00:27:37.200
<v Speaker 2>about several several validation techniques including UH, code reviews, penetration testing,

566
00:27:37.400 --> 00:27:39.200
<v Speaker 2>even even something called.

567
00:27:39.240 --> 00:27:42.839
<v Speaker 1>Attack trees penetration testing. Huh, Yeah, that sounds that sounds intense.

568
00:27:42.920 --> 00:27:45.599
<v Speaker 1>Is that where you you hire those those ethical hackers

569
00:27:45.640 --> 00:27:47.240
<v Speaker 1>to try and break into your system.

570
00:27:47.400 --> 00:27:50.240
<v Speaker 2>Exactly. It's it's like a like a controlled experiment where

571
00:27:50.240 --> 00:27:52.359
<v Speaker 2>you let the good guys try to to hack you

572
00:27:52.400 --> 00:27:54.319
<v Speaker 2>so you can so you can find and fix those

573
00:27:54.359 --> 00:27:57.400
<v Speaker 2>those weaknesses before the before the bad guys exploit them.

574
00:27:57.680 --> 00:28:01.559
<v Speaker 1>And code reviews that sounds a bit less uh, less adrenaline.

575
00:28:01.079 --> 00:28:05.279
<v Speaker 2>Pumping, definitely. Code reviews are more about having you know,

576
00:28:05.359 --> 00:28:09.960
<v Speaker 2>experienced developers carefully examine the code, you know, line by line,

577
00:28:10.440 --> 00:28:15.079
<v Speaker 2>looking for any any security flaws or vulnerabilities. It's it's

578
00:28:15.079 --> 00:28:17.720
<v Speaker 2>like having a second set of set of eyes, you know,

579
00:28:18.240 --> 00:28:21.440
<v Speaker 2>catching those those subtle errors that can easily slip through

580
00:28:21.440 --> 00:28:21.920
<v Speaker 2>the cracks.

581
00:28:22.079 --> 00:28:24.880
<v Speaker 1>And what about those those attack trees. That sounds pretty

582
00:28:24.920 --> 00:28:26.160
<v Speaker 1>pretty hardcore there.

583
00:28:26.160 --> 00:28:29.359
<v Speaker 2>They're actually a really a really useful tool for for

584
00:28:29.519 --> 00:28:33.119
<v Speaker 2>visualizing potential potential attack paths. You break down, you know,

585
00:28:33.119 --> 00:28:36.920
<v Speaker 2>a complex attack into into smaller, more manageable steps, kind

586
00:28:36.960 --> 00:28:39.160
<v Speaker 2>of kind of like a flow chart almost for for hackers.

587
00:28:39.359 --> 00:28:41.400
<v Speaker 1>That's a that's a great way to think about it. Yeah,

588
00:28:41.680 --> 00:28:44.559
<v Speaker 1>it makes that the whole process seem less less daunting.

589
00:28:44.599 --> 00:28:48.039
<v Speaker 1>You know, you're not tackling this huge amorphous threat. You're

590
00:28:48.400 --> 00:28:51.480
<v Speaker 1>you're breaking it down into into smaller, more more manageable

591
00:28:51.519 --> 00:28:52.440
<v Speaker 1>pieces exactly.

592
00:28:52.480 --> 00:28:55.240
<v Speaker 2>And by by understanding those those attack paths, you can

593
00:28:55.319 --> 00:28:58.960
<v Speaker 2>you can identify those those most critical points to defend

594
00:28:59.079 --> 00:29:02.599
<v Speaker 2>and make sure you're your mitigations are are focused on

595
00:29:02.599 --> 00:29:03.359
<v Speaker 2>on those areas.

596
00:29:03.559 --> 00:29:07.839
<v Speaker 1>Yeah. Yeah, now all this, all this technical stuff is fascinating,

597
00:29:08.200 --> 00:29:11.039
<v Speaker 1>but I'm also curious about, you know, that that human

598
00:29:11.079 --> 00:29:14.920
<v Speaker 1>element again and showstack. He even talks about using threat

599
00:29:14.960 --> 00:29:20.240
<v Speaker 1>modeling too to inform user documentation, which seems, you know,

600
00:29:20.279 --> 00:29:21.359
<v Speaker 1>a bit unexpected at.

601
00:29:21.279 --> 00:29:24.000
<v Speaker 2>First, it makes sense when you when you think about it.

602
00:29:24.039 --> 00:29:28.079
<v Speaker 2>By by documenting those those security assumptions that you've made

603
00:29:28.559 --> 00:29:30.759
<v Speaker 2>and the and the mitigations that you've that you've put

604
00:29:30.759 --> 00:29:33.480
<v Speaker 2>in place, you can you can help users understand those

605
00:29:33.880 --> 00:29:36.559
<v Speaker 2>those security implications of using your software.

606
00:29:36.640 --> 00:29:40.319
<v Speaker 1>Yeah, so it's not just about protecting the system. It's

607
00:29:40.359 --> 00:29:43.920
<v Speaker 1>about it's about empowering those those users to make, you know,

608
00:29:44.039 --> 00:29:46.720
<v Speaker 1>informed decisions about about their own security.

609
00:29:46.799 --> 00:29:50.880
<v Speaker 2>Absolutely, it's about transparency and building trust. You're you're saying,

610
00:29:50.920 --> 00:29:53.240
<v Speaker 2>here's what we've done to protect you, and here's what

611
00:29:53.279 --> 00:29:54.400
<v Speaker 2>you can do to protect yourself.

612
00:29:54.440 --> 00:29:56.640
<v Speaker 1>Well, I love that. Yeah, it's a. It's a collaborative

613
00:29:56.640 --> 00:30:00.279
<v Speaker 1>approach to to security, recognizing that we all, we all

614
00:30:00.319 --> 00:30:03.559
<v Speaker 1>had a role to play in keeping our systems and

615
00:30:03.759 --> 00:30:05.359
<v Speaker 1>data safe exactly.

616
00:30:05.480 --> 00:30:07.920
<v Speaker 2>And it's not just about you know, the technical stuff.

617
00:30:07.920 --> 00:30:13.839
<v Speaker 2>It's it's about communication and education and working together to

618
00:30:13.839 --> 00:30:17.440
<v Speaker 2>to create a more a more secure, secure digital world.

619
00:30:17.559 --> 00:30:20.359
<v Speaker 1>Okay, So so let's say I'm totally sold on this

620
00:30:20.400 --> 00:30:22.599
<v Speaker 1>whole on this whole threat modeling thing. I I want

621
00:30:22.640 --> 00:30:24.759
<v Speaker 1>to bring it to my to my team, yeah, to

622
00:30:24.839 --> 00:30:27.480
<v Speaker 1>my to my organization. But how how do I convince

623
00:30:27.480 --> 00:30:30.480
<v Speaker 1>everyone else? Because people are people are busy, They've they've

624
00:30:30.519 --> 00:30:33.559
<v Speaker 1>got their own priorities, and security isn't always at the

625
00:30:33.839 --> 00:30:35.119
<v Speaker 1>at the top of the list.

626
00:30:35.240 --> 00:30:38.079
<v Speaker 2>Yeah, it's a it's a real challenge. But uh Shawstak

627
00:30:38.200 --> 00:30:40.480
<v Speaker 2>offers some some great advice in the book. He says

628
00:30:40.480 --> 00:30:44.039
<v Speaker 2>it starts with building awareness and getting getting buy in

629
00:30:44.640 --> 00:30:47.720
<v Speaker 2>from from those those key those key decision makers.

630
00:30:47.759 --> 00:30:49.400
<v Speaker 1>So it's not just about showing up at a meeting

631
00:30:49.480 --> 00:30:51.079
<v Speaker 1>and saying, hey, everyone, we need to we need to

632
00:30:51.119 --> 00:30:53.400
<v Speaker 1>start threat modeling. You've got to You've got to make

633
00:30:53.440 --> 00:30:55.640
<v Speaker 1>a case for sure people, why why.

634
00:30:55.480 --> 00:30:59.160
<v Speaker 2>It matters Exactly? You need to you need to articulate

635
00:30:59.160 --> 00:31:02.440
<v Speaker 2>the benefits both in terms of, you know, reducing risk

636
00:31:02.880 --> 00:31:06.160
<v Speaker 2>and improving the overall the overall quality of your of

637
00:31:06.200 --> 00:31:08.599
<v Speaker 2>your software. And and it can't just be talk. You've

638
00:31:08.880 --> 00:31:11.039
<v Speaker 2>you've got to walk the walk, you know, start small

639
00:31:11.559 --> 00:31:16.680
<v Speaker 2>threat model a a manageable project, and showcase the value

640
00:31:16.720 --> 00:31:17.119
<v Speaker 2>it brings.

641
00:31:17.200 --> 00:31:20.119
<v Speaker 1>Oh so lead by example, show people how it, how

642
00:31:20.119 --> 00:31:22.440
<v Speaker 1>it works, how it can it can make a real difference. Yeah,

643
00:31:22.480 --> 00:31:25.200
<v Speaker 1>and hopefully they'll they'll start to start to come around exactly.

644
00:31:25.279 --> 00:31:27.759
<v Speaker 2>And and don't be afraid to start small. You don't

645
00:31:27.759 --> 00:31:30.480
<v Speaker 2>have to, you know, boil the ocean right away. Focus

646
00:31:30.519 --> 00:31:34.119
<v Speaker 2>on the most critical systems, the ones that would cause

647
00:31:34.200 --> 00:31:36.759
<v Speaker 2>the biggest headache if they were if they were compromised.

648
00:31:36.839 --> 00:31:39.359
<v Speaker 1>Right, So, start with the low hanging fruit, prove the concept,

649
00:31:39.480 --> 00:31:41.680
<v Speaker 1>and then and then gradually expand from there.

650
00:31:41.839 --> 00:31:44.920
<v Speaker 2>You got it. And and Shostak also talks about the

651
00:31:44.920 --> 00:31:49.920
<v Speaker 2>the importance of integrating thread modeling into your your existing processes.

652
00:31:50.519 --> 00:31:53.720
<v Speaker 1>So it's it's not about creating this this whole new,

653
00:31:53.920 --> 00:31:56.160
<v Speaker 1>you know, separate thing. It's about weaving it into the

654
00:31:56.319 --> 00:31:59.039
<v Speaker 1>into the fabric of how you how you already work,

655
00:31:59.160 --> 00:32:02.200
<v Speaker 1>whether that's that's agile or or waterfall or or something

656
00:32:02.200 --> 00:32:02.799
<v Speaker 1>else entirely.

657
00:32:03.000 --> 00:32:06.039
<v Speaker 2>Yeah, that's the that's the key to sustainability. Make make

658
00:32:06.119 --> 00:32:09.400
<v Speaker 2>threat modeling a natural part of of how you build software,

659
00:32:09.480 --> 00:32:11.799
<v Speaker 2>not just an extra, you know, an extra chore that

660
00:32:11.799 --> 00:32:12.799
<v Speaker 2>that everyone dreads.

661
00:32:12.880 --> 00:32:14.920
<v Speaker 1>Okay, yeah, this is this is starting to click for

662
00:32:15.039 --> 00:32:18.039
<v Speaker 1>me now. It's it's about it's about shifting the mindset,

663
00:32:18.880 --> 00:32:23.319
<v Speaker 1>making making security a core part of of everything you do,

664
00:32:23.440 --> 00:32:25.000
<v Speaker 1>not just not just an afterthought.

665
00:32:25.079 --> 00:32:28.200
<v Speaker 2>Precisely, and that's how you create a culture of security

666
00:32:28.400 --> 00:32:30.799
<v Speaker 2>where where everyone on the on the team understands the

667
00:32:30.839 --> 00:32:35.880
<v Speaker 2>importance of of thinking about about potential threats and proactively

668
00:32:35.920 --> 00:32:39.680
<v Speaker 2>addressing them. It's it's no longer the security team's problem.

669
00:32:39.799 --> 00:32:42.279
<v Speaker 2>It's it's everyone's everyone's responsibility.

670
00:32:42.480 --> 00:32:44.039
<v Speaker 1>Right, No, I love that. Yeah, it's a it's a

671
00:32:44.119 --> 00:32:49.039
<v Speaker 1>much more, much more holistic and proactive approach to to security.

672
00:32:49.279 --> 00:32:52.640
<v Speaker 1>And speaking of proactive, one thing that that Shostak emphasizes

673
00:32:52.720 --> 00:32:56.319
<v Speaker 1>throughout the book is that the importance of iteration. Yeah,

674
00:32:56.359 --> 00:32:57.759
<v Speaker 1>and and continues improvement.

675
00:32:57.880 --> 00:33:01.839
<v Speaker 2>Yes, that's that's so crucial. Threat modeling isn't a one

676
00:33:01.880 --> 00:33:06.000
<v Speaker 2>and done activity. It's an it's an ongoing process of

677
00:33:06.240 --> 00:33:11.000
<v Speaker 2>learning and adapting and refining your your security posture as

678
00:33:11.039 --> 00:33:11.279
<v Speaker 2>you go.

679
00:33:11.440 --> 00:33:14.559
<v Speaker 1>Yeah, so you're you're constantly revisiting your your threat model,

680
00:33:15.000 --> 00:33:18.480
<v Speaker 1>tweaking it, updating it, making sure it's it's still relevant. Yeah,

681
00:33:18.519 --> 00:33:21.519
<v Speaker 1>you know, as yours your system evolves and the threat landscape,

682
00:33:21.759 --> 00:33:23.440
<v Speaker 1>the threat landscape changes exactly.

683
00:33:23.480 --> 00:33:26.960
<v Speaker 2>You're always you're always learning, you're always improving, always always

684
00:33:27.000 --> 00:33:29.200
<v Speaker 2>staying one step ahead of the bad guys.

685
00:33:29.279 --> 00:33:32.079
<v Speaker 1>Right, It's it's a never ending game of cat and mouse. Yeah,

686
00:33:32.160 --> 00:33:34.240
<v Speaker 1>but but at least now we've got some we've got

687
00:33:34.240 --> 00:33:37.720
<v Speaker 1>some really powerful tools and strategies to help us, to

688
00:33:37.759 --> 00:33:39.200
<v Speaker 1>help us play the game actively.

689
00:33:39.440 --> 00:33:42.720
<v Speaker 2>Absolutely, And that's what's so what's so exciting about this

690
00:33:43.000 --> 00:33:47.839
<v Speaker 2>about this field, you know, it's it's constantly it's constantly evolving,

691
00:33:47.920 --> 00:33:51.200
<v Speaker 2>and there's always always something new to to learn.

692
00:33:51.559 --> 00:33:53.839
<v Speaker 1>Well, I think we've covered a lot of ground in

693
00:33:53.839 --> 00:33:56.400
<v Speaker 1>this in this deep dive, from from the fundamentals of

694
00:33:56.759 --> 00:33:59.640
<v Speaker 1>threat modeling to some of the more the more advanced

695
00:33:59.640 --> 00:34:03.359
<v Speaker 1>concepts and techniques, and I've I'm feeling it inspired, but

696
00:34:03.440 --> 00:34:06.599
<v Speaker 1>also a little a little overwhelmed by by all this

697
00:34:06.880 --> 00:34:07.720
<v Speaker 1>all this information.

698
00:34:07.880 --> 00:34:09.639
<v Speaker 2>It's it's a lot to take in. But uh, but

699
00:34:09.679 --> 00:34:12.000
<v Speaker 2>remember the journey of a thousand miles begins with a

700
00:34:12.039 --> 00:34:15.280
<v Speaker 2>single step. You know, start start small, pick pick a system,

701
00:34:15.400 --> 00:34:19.039
<v Speaker 2>and start applying the principles we've we've discussed.

702
00:34:19.119 --> 00:34:21.559
<v Speaker 1>And remember there are tons of resources out there to

703
00:34:21.559 --> 00:34:24.760
<v Speaker 1>help you, including including Shaskacs book, which is is an

704
00:34:24.800 --> 00:34:28.159
<v Speaker 1>absolute treasure trove of information and practical advice.

705
00:34:28.239 --> 00:34:30.639
<v Speaker 2>Absolutely, and and don't be afraid to reach out to

706
00:34:30.639 --> 00:34:33.679
<v Speaker 2>to other security professionals for for guidance that the security

707
00:34:33.679 --> 00:34:37.599
<v Speaker 2>community is incredibly welcoming and supportive and there are there

708
00:34:37.599 --> 00:34:40.719
<v Speaker 2>are so many people willing to to share their their

709
00:34:40.760 --> 00:34:42.079
<v Speaker 2>knowledge and expertise.

710
00:34:42.239 --> 00:34:44.599
<v Speaker 1>Yeah, that's that's a good point. Well, as we as

711
00:34:44.599 --> 00:34:47.159
<v Speaker 1>we wrap up this this deep dive, what's the what's

712
00:34:47.199 --> 00:34:51.039
<v Speaker 1>the one key takeaway you want our listeners to to remember.

713
00:34:51.840 --> 00:34:54.679
<v Speaker 2>I think the the biggest thing is that threat modeling.

714
00:34:54.719 --> 00:34:57.960
<v Speaker 2>It's it's not just for security experts, it's it's for

715
00:34:58.079 --> 00:35:02.840
<v Speaker 2>everyone who's involved in build and managing technology. It's about

716
00:35:02.920 --> 00:35:07.880
<v Speaker 2>taking a proactive approach to to security, thinking about those

717
00:35:07.880 --> 00:35:11.360
<v Speaker 2>potential those potential threats before they become before they become

718
00:35:11.519 --> 00:35:12.480
<v Speaker 2>real problems.

719
00:35:12.599 --> 00:35:15.639
<v Speaker 1>Right, don't wait for a for a security breach to happen.

720
00:35:16.239 --> 00:35:19.280
<v Speaker 1>Start start thinking like a like an attacker, identify those

721
00:35:19.360 --> 00:35:23.000
<v Speaker 1>vulnerabilities and put those those mitigations in place exactly.

722
00:35:23.079 --> 00:35:25.880
<v Speaker 2>And remember it's it's a journey, not a not a destination.

723
00:35:26.000 --> 00:35:28.000
<v Speaker 2>There's always there's always more to learn, and the more

724
00:35:28.039 --> 00:35:30.000
<v Speaker 2>we the more we learn, the better we can we

725
00:35:30.039 --> 00:35:32.320
<v Speaker 2>can protect ourselves and the and the technology that we

726
00:35:32.599 --> 00:35:33.360
<v Speaker 2>that we rely on.

727
00:35:33.679 --> 00:35:35.920
<v Speaker 1>Well said, well thanks for thanks for joining us on

728
00:35:35.960 --> 00:35:38.960
<v Speaker 1>this deep dive into the world of threat modeling. We

729
00:35:38.960 --> 00:35:41.880
<v Speaker 1>we hope you found it uh informative and inspiring.

730
00:35:42.159 --> 00:35:44.440
<v Speaker 2>It's been a it's been a pleasure exploring this this

731
00:35:44.559 --> 00:35:45.800
<v Speaker 2>fascinating topic with you.

732
00:35:46.239 --> 00:35:50.000
<v Speaker 1>Yeah. Likewise, and as always, stay curious, keep learning, and

733
00:35:50.039 --> 00:35:51.159
<v Speaker 1>stay secure out there.
