1
1

00:00:00,240  -->  00:00:01,800
<v Instructor>As a cybersecurity analyst,</v>
2

2

00:00:01,800  -->  00:00:04,530
it's your responsibility to understand the risks
3

3

00:00:04,530  -->  00:00:07,890
to an enterprise and its information technology systems.
4

4

00:00:07,890  -->  00:00:10,050
Now, you must always analyze the systems
5

5

00:00:10,050  -->  00:00:13,260
to understand how they support the business's workflow
6

6

00:00:13,260  -->  00:00:16,650
and how the confidentiality, integrity, and availability
7

7

00:00:16,650  -->  00:00:20,040
of these systems could be threatened by an attacker.
8

8

00:00:20,040  -->  00:00:21,930
You need to be thinking about a few things
9

9

00:00:21,930  -->  00:00:25,080
when trying to determine what level of risks exist.
10

10

00:00:25,080  -->  00:00:28,410
For instance, how can an attack be performed?
11

11

00:00:28,410  -->  00:00:30,750
For example, can this attack be performed
12

12

00:00:30,750  -->  00:00:32,070
against your current network
13

13

00:00:32,070  -->  00:00:34,890
in its current situation and security status?
14

14

00:00:34,890  -->  00:00:38,730
And are the assets even accessible to the outside world?
15

15

00:00:38,730  -->  00:00:40,440
How about what is the potential impact
16

16

00:00:40,440  -->  00:00:42,360
to the confidentiality, integrity,
17

17

00:00:42,360  -->  00:00:44,640
and availability of the data?
18

18

00:00:44,640  -->  00:00:45,840
When you're putting things in place
19

19

00:00:45,840  -->  00:00:47,940
to protect the confidentiality, integrity,
20

20

00:00:47,940  -->  00:00:49,500
and reliability of the data,
21

21

00:00:49,500  -->  00:00:52,440
you're going to do that based on the potential impact.
22

22

00:00:52,440  -->  00:00:54,690
Also, you need to consider how likely it is
23

23

00:00:54,690  -->  00:00:56,910
that the risk will actually occur.
24

24

00:00:56,910  -->  00:00:59,190
How exploitable is this flaw?
25

25

00:00:59,190  -->  00:01:01,140
How bad is this vulnerability?
26

26

00:01:01,140  -->  00:01:03,030
Is this just something theoretical
27

27

00:01:03,030  -->  00:01:05,430
or is there a working exploit out in the wild
28

28

00:01:05,430  -->  00:01:07,350
that people are using every day?
29

29

00:01:07,350  -->  00:01:10,770
This is going to determine how likely this thing is to occur.
30

30

00:01:10,770  -->  00:01:12,840
Finally, you need to think about what mitigations
31

31

00:01:12,840  -->  00:01:14,700
you already have in place.
32

32

00:01:14,700  -->  00:01:17,160
For example, if you have some mitigations in place
33

33

00:01:17,160  -->  00:01:18,780
that will prevent a certain vulnerability
34

34

00:01:18,780  -->  00:01:20,160
from being exploited,
35

35

00:01:20,160  -->  00:01:22,770
then that vulnerability is effectively mitigated
36

36

00:01:22,770  -->  00:01:26,040
and controlled and you don't have to worry as much about it.
37

37

00:01:26,040  -->  00:01:27,270
When you're doing these type of things,
38

38

00:01:27,270  -->  00:01:29,100
you also need to think about how long it takes
39

39

00:01:29,100  -->  00:01:30,990
to put additional controls in place,
40

40

00:01:30,990  -->  00:01:33,300
to help bring those mitigations up if needed,
41

41

00:01:33,300  -->  00:01:35,460
and are adding additional protections
42

42

00:01:35,460  -->  00:01:37,980
even going to be cost-effective for you.
43

43

00:01:37,980  -->  00:01:39,540
To help you do all of this,
44

44

00:01:39,540  -->  00:01:42,240
we use a concept known as threat modeling.
45

45

00:01:42,240  -->  00:01:44,550
Threat modeling is the process of identifying
46

46

00:01:44,550  -->  00:01:47,820
and assessing the possible threat actors and attack vectors
47

47

00:01:47,820  -->  00:01:50,580
that pose a risk to the security of an application,
48

48

00:01:50,580  -->  00:01:52,740
a network, or other systems.
49

49

00:01:52,740  -->  00:01:54,420
When you're evaluating the system,
50

50

00:01:54,420  -->  00:01:57,150
you need to do it both from an inside-out perspective
51

51

00:01:57,150  -->  00:01:58,680
and an outside-in.
52

52

00:01:58,680  -->  00:02:00,090
That means, you need to consider
53

53

00:02:00,090  -->  00:02:01,650
both the defender's point of view
54

54

00:02:01,650  -->  00:02:03,660
and the attacker's point of view.
55

55

00:02:03,660  -->  00:02:05,880
By doing this, you can start seeing
56

56

00:02:05,880  -->  00:02:07,680
where your systems are vulnerable
57

57

00:02:07,680  -->  00:02:10,800
and what type of mitigations you need to put in place.
58

58

00:02:10,800  -->  00:02:13,140
Threat modeling can be used against your corporate networks
59

59

00:02:13,140  -->  00:02:15,390
in general at a large scale,
60

60

00:02:15,390  -->  00:02:17,640
or you can look at specific targets
61

61

00:02:17,640  -->  00:02:19,590
like a certain website or an application
62

62

00:02:19,590  -->  00:02:20,550
that you're deploying.
63

63

00:02:20,550  -->  00:02:23,190
Both of these are very important to do.
64

64

00:02:23,190  -->  00:02:24,443
Now, when you do threat modeling,
65

65

00:02:24,443  -->  00:02:26,670
this is a cooperative area.
66

66

00:02:26,670  -->  00:02:29,310
You need to get inputs from a variety of stakeholders.
67

67

00:02:29,310  -->  00:02:31,410
You need to have your cybersecurity experts there
68

68

00:02:31,410  -->  00:02:33,660
with their knowledge on the relevant threat intelligence
69

69

00:02:33,660  -->  00:02:36,420
and research, as well as non-experts
70

70

00:02:36,420  -->  00:02:38,190
such as the users and customers,
71

71

00:02:38,190  -->  00:02:39,840
the people from the business side,
72

72

00:02:39,840  -->  00:02:43,710
human resources, legal, and other areas of your business.
73

73

00:02:43,710  -->  00:02:46,590
By working together, we can best model the threat
74

74

00:02:46,590  -->  00:02:48,990
and understand the likelihood and the impact
75

75

00:02:48,990  -->  00:02:50,580
if something bad happens.
76

76

00:02:50,580  -->  00:02:52,170
When you're conducting threat modeling,
77

77

00:02:52,170  -->  00:02:54,540
there is three main areas you need to consider.
78

78

00:02:54,540  -->  00:02:57,090
You need to think about the adversary capability,
79

79

00:02:57,090  -->  00:02:59,880
the attack surface, and the attack vector.
80

80

00:02:59,880  -->  00:03:02,100
When we talk about an adversary's capability,
81

81

00:03:02,100  -->  00:03:05,400
we're talking about a formal classification of the resources
82

82

00:03:05,400  -->  00:03:08,880
and expertise available to that particular threat actor.
83

83

00:03:08,880  -->  00:03:12,210
For example, do they use acquired and augmented tools?
84

84

00:03:12,210  -->  00:03:14,460
Which means they're basically using commodity malware
85

85

00:03:14,460  -->  00:03:16,770
and open source tools and techniques.
86

86

00:03:16,770  -->  00:03:19,230
Or do they have a developed capability?
87

87

00:03:19,230  -->  00:03:20,940
If they have a developed capability,
88

88

00:03:20,940  -->  00:03:22,290
this means they can identify
89

89

00:03:22,290  -->  00:03:24,180
and exploit zero day vulnerabilities
90

90

00:03:24,180  -->  00:03:27,330
and deploy significant human and financial resources
91

91

00:03:27,330  -->  00:03:29,910
to attack planning and execution.
92

92

00:03:29,910  -->  00:03:31,380
Maybe they're advanced.
93

93

00:03:31,380  -->  00:03:33,780
This means they can exploit things like supply chains
94

94

00:03:33,780  -->  00:03:36,900
and introduce vulnerabilities way back early in the cycle
95

95

00:03:36,900  -->  00:03:39,660
where you won't even know they're there inside your systems.
96

96

00:03:39,660  -->  00:03:40,650
This is especially true
97

97

00:03:40,650  -->  00:03:41,940
when you're dealing with a nation state
98

98

00:03:41,940  -->  00:03:44,040
because they use an integrated approach
99

99

00:03:44,040  -->  00:03:46,380
where they're using cyber and non-cyber methods
100

100

00:03:46,380  -->  00:03:48,150
to achieve their goals.
101

101

00:03:48,150  -->  00:03:51,090
The second area we have to consider is our attack surface.
102

102

00:03:51,090  -->  00:03:53,190
Now, the attack surface is the point at which
103

103

00:03:53,190  -->  00:03:56,100
a networker application receives external connections
104

104

00:03:56,100  -->  00:03:58,680
or inputs and outputs that are potential vectors
105

105

00:03:58,680  -->  00:04:00,930
to be exploited by a threat actor.
106

106

00:04:00,930  -->  00:04:04,230
Every network has some form of attack surface out there,
107

107

00:04:04,230  -->  00:04:06,780
and you have to determine what it is for your network.
108

108

00:04:06,780  -->  00:04:08,970
For example, when you go to my website
109

109

00:04:08,970  -->  00:04:10,500
to access your course,
110

110

00:04:10,500  -->  00:04:12,090
there is an attack surface there
111

111

00:04:12,090  -->  00:04:13,860
because you're accessing our servers
112

112

00:04:13,860  -->  00:04:16,050
and our network through your web browser.
113

113

00:04:16,050  -->  00:04:17,430
And that means we could be attacked
114

114

00:04:17,430  -->  00:04:19,500
using that as part of your attack vector
115

115

00:04:19,500  -->  00:04:21,780
going in through that attack surface.
116

116

00:04:21,780  -->  00:04:23,550
Now, to determine your attack surface,
117

117

00:04:23,550  -->  00:04:25,500
you have to inventory your assets
118

118

00:04:25,500  -->  00:04:27,300
and figure out what's on your network,
119

119

00:04:27,300  -->  00:04:28,590
because if you know what's there,
120

120

00:04:28,590  -->  00:04:30,300
you can then defend what's there.
121

121

00:04:30,300  -->  00:04:32,370
Now, there are three areas that you should consider
122

122

00:04:32,370  -->  00:04:33,870
when you're doing your threat modeling
123

123

00:04:33,870  -->  00:04:35,700
in terms of attack surface.
124

124

00:04:35,700  -->  00:04:38,070
You need to think about the network holistically.
125

125

00:04:38,070  -->  00:04:40,140
This would be things like the switches,
126

126

00:04:40,140  -->  00:04:41,700
the routers, the computers,
127

127

00:04:41,700  -->  00:04:44,760
all those things that make up your corporate data network.
128

128

00:04:44,760  -->  00:04:47,790
The second area is any websites or cloud services you have,
129

129

00:04:47,790  -->  00:04:49,920
because these are all things that could be attacked
130

130

00:04:49,920  -->  00:04:52,350
from an end user either through the web front end
131

131

00:04:52,350  -->  00:04:55,201
or programmatically through an API.
132

132

00:04:55,201  -->  00:04:56,070
And the third area
133

133

00:04:56,070  -->  00:04:59,310
is any kind of custom software applications you may have.
134

134

00:04:59,310  -->  00:05:00,690
If you have some sort of form
135

135

00:05:00,690  -->  00:05:02,760
or control on the user interface
136

136

00:05:02,760  -->  00:05:03,900
or you have some kind of software
137

137

00:05:03,900  -->  00:05:05,880
that's been deployed that uses an API
138

138

00:05:05,880  -->  00:05:07,800
or file or data imports,
139

139

00:05:07,800  -->  00:05:09,990
that all introduces vulnerabilities
140

140

00:05:09,990  -->  00:05:11,850
to the host and the platform,
141

141

00:05:11,850  -->  00:05:13,980
and so you have to consider these custom applications
142

142

00:05:13,980  -->  00:05:15,930
as you're thinking about the different places
143

143

00:05:15,930  -->  00:05:18,720
'cause they are part of your total attack surface.
144

144

00:05:18,720  -->  00:05:20,670
Now, the third main area you have to consider
145

145

00:05:20,670  -->  00:05:22,320
is your attack vector.
146

146

00:05:22,320  -->  00:05:24,390
Now, an attack vector is a specific path
147

147

00:05:24,390  -->  00:05:27,030
by which a threat actor gains unauthorized access
148

148

00:05:27,030  -->  00:05:28,170
to a system.
149

149

00:05:28,170  -->  00:05:30,630
Now, an attack vector can be one of three things.
150

150

00:05:30,630  -->  00:05:32,820
It can be cyber, which means you're using hardware
151

151

00:05:32,820  -->  00:05:35,190
or software against an IT system.
152

152

00:05:35,190  -->  00:05:36,030
It could be human,
153

153

00:05:36,030  -->  00:05:37,860
which means you're using social engineering
154

154

00:05:37,860  -->  00:05:39,960
to conduct your attack through coercion,
155

155

00:05:39,960  -->  00:05:42,090
impersonation, or even force.
156

156

00:05:42,090  -->  00:05:43,500
Or it can be physical,
157

157

00:05:43,500  -->  00:05:45,750
which means you're trying to take over local access
158

158

00:05:45,750  -->  00:05:48,240
by being on-premise and touching the thing
159

159

00:05:48,240  -->  00:05:49,860
to do your attack.
160

160

00:05:49,860  -->  00:05:51,030
These are the three ways
161

161

00:05:51,030  -->  00:05:52,590
that you can think about attack vectors,
162

162

00:05:52,590  -->  00:05:55,560
either cyber, human, or physical.
163

163

00:05:55,560  -->  00:05:57,300
So now that we've talked about the three main areas
164

164

00:05:57,300  -->  00:05:58,320
of threat modeling,
165

165

00:05:58,320  -->  00:06:00,360
which consist of the adversary capability,
166

166

00:06:00,360  -->  00:06:02,850
the attack surface, and the attack vector,
167

167

00:06:02,850  -->  00:06:04,650
we need to think about the likelihood
168

168

00:06:04,650  -->  00:06:06,180
and the impact that are involved
169

169

00:06:06,180  -->  00:06:08,070
with some kind of an attack.
170

170

00:06:08,070  -->  00:06:10,560
Remember, there are thousands or even millions
171

171

00:06:10,560  -->  00:06:12,870
of threat actors in adversary groups out there.
172

172

00:06:12,870  -->  00:06:14,490
Some of them are script kiddies
173

173

00:06:14,490  -->  00:06:16,140
and they have very low capability,
174

174

00:06:16,140  -->  00:06:18,875
and some are nation states and APTs,
175

175

00:06:18,875  -->  00:06:20,760
and they have a very high capability.
176

176

00:06:20,760  -->  00:06:22,350
Depending on who you're dealing with,
177

177

00:06:22,350  -->  00:06:24,960
you're going to have a larger impact or a less impact
178

178

00:06:24,960  -->  00:06:27,120
and you're going to be more likely or less likely
179

179

00:06:27,120  -->  00:06:28,500
to have an attack.
180

180

00:06:28,500  -->  00:06:30,240
All of this comes down to risk,
181

181

00:06:30,240  -->  00:06:32,450
and risk is assessed by factoring your likelihood
182

182

00:06:32,450  -->  00:06:35,130
of an event and the impact of that event.
183

183

00:06:35,130  -->  00:06:36,600
When I talk about likelihood,
184

184

00:06:36,600  -->  00:06:38,850
this is the chance of a threat being realized,
185

185

00:06:38,850  -->  00:06:41,490
which is usually going to be expressed as a percentage.
186

186

00:06:41,490  -->  00:06:43,590
For instance, if I have a nation state
187

187

00:06:43,590  -->  00:06:45,240
trying to go after my company,
188

188

00:06:45,240  -->  00:06:46,410
the chances are
189

189

00:06:46,410  -->  00:06:49,620
that they have a high likelihood of being able to break in.
190

190

00:06:49,620  -->  00:06:51,690
They probably have an 80 or 90% chance
191

191

00:06:51,690  -->  00:06:53,610
because they have such sophistication
192

192

00:06:53,610  -->  00:06:55,260
and they have access to zero day exploits
193

193

00:06:55,260  -->  00:06:57,150
and other things like that.
194

194

00:06:57,150  -->  00:06:59,970
Now, on the other hand, if we consider the impact,
195

195

00:06:59,970  -->  00:07:02,070
this is going to be the cost of a security incident
196

196

00:07:02,070  -->  00:07:03,330
or disaster scenario,
197

197

00:07:03,330  -->  00:07:06,600
which is usually going to be expressed in cost or dollars.
198

198

00:07:06,600  -->  00:07:09,360
So let's say I had some sort of an event that happened
199

199

00:07:09,360  -->  00:07:11,640
and it was something like it was going to take my server down
200

200

00:07:11,640  -->  00:07:12,960
for five minutes.
201

201

00:07:12,960  -->  00:07:14,760
What is the impact of that?
202

202

00:07:14,760  -->  00:07:17,160
Well, it probably has a very small cost for me,
203

203

00:07:17,160  -->  00:07:19,230
because if my server's down for five minutes,
204

204

00:07:19,230  -->  00:07:21,690
you, as a student will probably just try to come back
205

205

00:07:21,690  -->  00:07:23,700
in five minutes and then make your purchase.
206

206

00:07:23,700  -->  00:07:26,730
So we had very little or no impact financially.
207

207

00:07:26,730  -->  00:07:27,563
Now, on the other hand,
208

208

00:07:27,563  -->  00:07:29,340
if I was a credit card processing agency
209

209

00:07:29,340  -->  00:07:31,650
processing all of the world's credit card transactions
210

210

00:07:31,650  -->  00:07:33,210
like Visa or MasterCard
211

211

00:07:33,210  -->  00:07:35,010
and you took me down for five minutes,
212

212

00:07:35,010  -->  00:07:37,080
that's going to cost me thousands
213

213

00:07:37,080  -->  00:07:39,960
or hundreds of thousands of dollars in processing fees
214

214

00:07:39,960  -->  00:07:41,100
that we're not able to take
215

215

00:07:41,100  -->  00:07:42,930
because the cards aren't going to be working.
216

216

00:07:42,930  -->  00:07:44,610
And so there'd be a much higher impact
217

217

00:07:44,610  -->  00:07:46,020
if they were down for five minutes
218

218

00:07:46,020  -->  00:07:48,180
than if I was down for five minutes.
219

219

00:07:48,180  -->  00:07:50,370
So what all this comes down to is risk
220

220

00:07:50,370  -->  00:07:52,140
and how you can calculate risk.
221

221

00:07:52,140  -->  00:07:54,060
And again, this comes down to your likelihood
222

222

00:07:54,060  -->  00:07:55,170
and your impact,
223

223

00:07:55,170  -->  00:07:57,750
and we use these percentages and these dollar amounts
224

224

00:07:57,750  -->  00:08:00,120
to come up with some final calculation.
225

225

00:08:00,120  -->  00:08:02,340
Now, when we talk about risk later on in this course,
226

226

00:08:02,340  -->  00:08:04,350
we're going to determine your actual threats
227

227

00:08:04,350  -->  00:08:06,630
annual rate of occurrence, the ARO,
228

228

00:08:06,630  -->  00:08:08,070
and how much it really does cost you
229

229

00:08:08,070  -->  00:08:09,960
if you have this incident happen.
230

230

00:08:09,960  -->  00:08:12,630
But for now, I just want to cover the basic concepts
231

231

00:08:12,630  -->  00:08:13,860
of the fact that we have to consider
232

232

00:08:13,860  -->  00:08:16,623
our likelihood and impact as we do our threat modeling.
