1
1

00:00:00,270  -->  00:00:02,340
<v ->Hardening and patching.</v>
2

2

00:00:02,340  -->  00:00:05,220
In this lesson, we're going to talk about two key terms
3

3

00:00:05,220  -->  00:00:06,840
and I know I've used these words before,
4

4

00:00:06,840  -->  00:00:08,490
but we've never really defined them.
5

5

00:00:08,490  -->  00:00:10,800
These are hardening and patching.
6

6

00:00:10,800  -->  00:00:12,720
Now, when I talk about system hardening,
7

7

00:00:12,720  -->  00:00:15,570
this is the process by which a host or other device
8

8

00:00:15,570  -->  00:00:16,860
is made more secure
9

9

00:00:16,860  -->  00:00:20,220
through the reduction of a device's attack surface area.
10

10

00:00:20,220  -->  00:00:21,330
Now, what does that mean
11

11

00:00:21,330  -->  00:00:23,430
when I talk about an attack surface area?
12

12

00:00:23,430  -->  00:00:25,380
Well, when I talk about an attack surface,
13

13

00:00:25,380  -->  00:00:27,750
I'm talking about the services and the interfaces
14

14

00:00:27,750  -->  00:00:29,100
that allow a user or program
15

15

00:00:29,100  -->  00:00:31,440
to communicate with a target system.
16

16

00:00:31,440  -->  00:00:34,290
This allows all of these different services that are there
17

17

00:00:34,290  -->  00:00:36,990
to be vulnerable for somebody to attack them, right?
18

18

00:00:36,990  -->  00:00:38,150
And that's the idea of system hardening,
19

19

00:00:38,150  -->  00:00:40,980
is I want to close down as many of those as I don't need
20

20

00:00:40,980  -->  00:00:42,930
because that will end up hardening my system
21

21

00:00:42,930  -->  00:00:45,270
and reducing that attack surface.
22

22

00:00:45,270  -->  00:00:47,340
Now, any service or interface that is enabled
23

23

00:00:47,340  -->  00:00:50,220
through the default installation and left unconfigured
24

24

00:00:50,220  -->  00:00:52,290
should be considered a vulnerability.
25

25

00:00:52,290  -->  00:00:54,480
And so, you should scan that, you should identify it
26

26

00:00:54,480  -->  00:00:56,700
and then mitigate or remediate that
27

27

00:00:56,700  -->  00:00:57,900
based on what you need to do
28

28

00:00:57,900  -->  00:01:00,000
as part of your system hardening.
29

29

00:01:00,000  -->  00:01:02,190
Now, when we start talking about system hardening,
30

30

00:01:02,190  -->  00:01:05,640
I have this wonderful system hardening security checklist.
31

31

00:01:05,640  -->  00:01:08,010
These are 10 major areas that you need to check
32

32

00:01:08,010  -->  00:01:10,020
when you're trying to harden a given system.
33

33

00:01:10,020  -->  00:01:12,690
First, you need to remove or disable devices
34

34

00:01:12,690  -->  00:01:14,640
that are not needed or used.
35

35

00:01:14,640  -->  00:01:17,010
For example, are you using wifi?
36

36

00:01:17,010  -->  00:01:20,250
If not, disable it and take out the wifi card.
37

37

00:01:20,250  -->  00:01:22,530
Are you using a CD-ROM or a floppy drive?
38

38

00:01:22,530  -->  00:01:24,510
If not, take those things out.
39

39

00:01:24,510  -->  00:01:27,210
Anything you don't need, you should remove or disable
40

40

00:01:27,210  -->  00:01:28,590
because anything you don't need
41

41

00:01:28,590  -->  00:01:30,180
is another thing that's open
42

42

00:01:30,180  -->  00:01:31,590
and could be used by an attacker
43

43

00:01:31,590  -->  00:01:33,990
and that makes it part of our larger attack surface.
44

44

00:01:33,990  -->  00:01:36,300
So by removing it, we are going to harden our system
45

45

00:01:36,300  -->  00:01:38,250
and reduce the attack surface.
46

46

00:01:38,250  -->  00:01:40,830
The second thing is we want to install operating system,
47

47

00:01:40,830  -->  00:01:44,250
application firmware and driver patches regularly.
48

48

00:01:44,250  -->  00:01:46,470
If Microsoft knows there's a vulnerability in Windows
49

49

00:01:46,470  -->  00:01:48,570
and they put out a patch on Patch Tuesday,
50

50

00:01:48,570  -->  00:01:50,070
you should be downloading that patch,
51

51

00:01:50,070  -->  00:01:50,970
testing that patch
52

52

00:01:50,970  -->  00:01:53,520
and then deploying that patch across your network
53

53

00:01:53,520  -->  00:01:56,310
because you want to make sure you are patched regularly
54

54

00:01:56,310  -->  00:01:59,040
and up to date with the latest security precautions.
55

55

00:01:59,040  -->  00:02:01,200
Because if somebody has a patch out there,
56

56

00:02:01,200  -->  00:02:03,210
bad guys will usually reverse engineer that patch
57

57

00:02:03,210  -->  00:02:04,410
and create an exploit.
58

58

00:02:04,410  -->  00:02:06,540
So you need to make sure that you are patched
59

59

00:02:06,540  -->  00:02:07,650
to prevent those exploits
60

60

00:02:07,650  -->  00:02:09,720
from being effective against your systems.
61

61

00:02:09,720  -->  00:02:11,280
The third thing I want you to think about
62

62

00:02:11,280  -->  00:02:14,400
is uninstalling all unnecessary network protocols.
63

63

00:02:14,400  -->  00:02:17,400
Now what I mean here is not necessarily your wifi,
64

64

00:02:17,400  -->  00:02:19,410
but instead all of those network protocols
65

65

00:02:19,410  -->  00:02:21,180
that might be used on your system.
66

66

00:02:21,180  -->  00:02:22,380
Are you running a web server?
67

67

00:02:22,380  -->  00:02:24,330
If you're not, close port 80.
68

68

00:02:24,330  -->  00:02:25,470
Are you running a mail server?
69

69

00:02:25,470  -->  00:02:27,630
If not, close port 25.
70

70

00:02:27,630  -->  00:02:28,980
Are you running an SSH server?
71

71

00:02:28,980  -->  00:02:31,140
If not, close port 22.
72

72

00:02:31,140  -->  00:02:32,490
As a standard workstation,
73

73

00:02:32,490  -->  00:02:34,620
you really should have no ports that are open
74

74

00:02:34,620  -->  00:02:35,580
unless you have something open
75

75

00:02:35,580  -->  00:02:38,160
for something like a host-based intrusion detection system
76

76

00:02:38,160  -->  00:02:40,770
to be able to receive reports and send reports back.
77

77

00:02:40,770  -->  00:02:41,910
Other than that, everything should be
78

78

00:02:41,910  -->  00:02:43,980
pretty much locked down on a system.
79

79

00:02:43,980  -->  00:02:46,080
On a server, you should only have the ports open
80

80

00:02:46,080  -->  00:02:47,460
for the services you need.
81

81

00:02:47,460  -->  00:02:48,690
So if you're running a file server
82

82

00:02:48,690  -->  00:02:50,760
or a web server or an email server,
83

83

00:02:50,760  -->  00:02:51,900
those ports should be open,
84

84

00:02:51,900  -->  00:02:53,970
but everything else should be closed.
85

85

00:02:53,970  -->  00:02:55,200
The fourth thing we want to look at
86

86

00:02:55,200  -->  00:02:58,230
is uninstalling or disabling all unnecessary services
87

87

00:02:58,230  -->  00:02:59,880
and shared folders.
88

88

00:02:59,880  -->  00:03:01,830
Anytime you have something that is open
89

89

00:03:01,830  -->  00:03:03,390
or shared or a service,
90

90

00:03:03,390  -->  00:03:05,160
that is, again, something that is increasing
91

91

00:03:05,160  -->  00:03:06,330
your attack surface.
92

92

00:03:06,330  -->  00:03:08,700
So again, you're seeing the common theme here.
93

93

00:03:08,700  -->  00:03:09,870
Anything you're not using,
94

94

00:03:09,870  -->  00:03:12,060
go ahead and uninstall it or disable it.
95

95

00:03:12,060  -->  00:03:13,170
I prefer to uninstall it
96

96

00:03:13,170  -->  00:03:14,940
because that way nobody else can enable it,
97

97

00:03:14,940  -->  00:03:16,350
but if you can't uninstall it,
98

98

00:03:16,350  -->  00:03:18,300
then you should at least disable it.
99

99

00:03:18,300  -->  00:03:21,000
Fifth, you need to enforce access control lists
100

100

00:03:21,000  -->  00:03:22,620
on all system resources.
101

101

00:03:22,620  -->  00:03:24,660
This means if you have local system files
102

102

00:03:24,660  -->  00:03:27,420
or folders or shared files in folders or printers,
103

103

00:03:27,420  -->  00:03:29,160
all of those things have to be controlled
104

104

00:03:29,160  -->  00:03:31,410
using the appropriate access control list
105

105

00:03:31,410  -->  00:03:33,870
and we'll talk more about access control later on
106

106

00:03:33,870  -->  00:03:35,250
as we define the four different types.
107

107

00:03:35,250  -->  00:03:36,780
But for now, just remember,
108

108

00:03:36,780  -->  00:03:39,090
you want to make sure you're enforcing access control
109

109

00:03:39,090  -->  00:03:41,250
using the appropriate ACLs.
110

110

00:03:41,250  -->  00:03:43,470
Number six, we want to restrict user accounts
111

111

00:03:43,470  -->  00:03:44,880
to the least privilege needed.
112

112

00:03:44,880  -->  00:03:47,010
You'll hear this concept a lot in security,
113

113

00:03:47,010  -->  00:03:48,720
always use least privilege.
114

114

00:03:48,720  -->  00:03:50,430
If you can do this with a user account
115

115

00:03:50,430  -->  00:03:51,990
and not use an admin account,
116

116

00:03:51,990  -->  00:03:53,610
go ahead and use a user account.
117

117

00:03:53,610  -->  00:03:56,250
If you're a user, do you need to have admin rights?
118

118

00:03:56,250  -->  00:03:58,350
No, you just need to be able to access the computer
119

119

00:03:58,350  -->  00:03:59,610
and run your systems.
120

120

00:03:59,610  -->  00:04:00,960
And so, you'll have these different things
121

121

00:04:00,960  -->  00:04:04,500
like guests and users and super users and then admins
122

122

00:04:04,500  -->  00:04:07,050
and you only want to use admin accounts when you have to
123

123

00:04:07,050  -->  00:04:08,430
because there's a high level of privilege
124

124

00:04:08,430  -->  00:04:09,263
associated with them
125

125

00:04:09,263  -->  00:04:12,000
and that would also increase your attack surface.
126

126

00:04:12,000  -->  00:04:13,440
Next, we want to look at number seven
127

127

00:04:13,440  -->  00:04:16,200
which is to secure the local admin or root account.
128

128

00:04:16,200  -->  00:04:17,490
And one of the ways to do this
129

129

00:04:17,490  -->  00:04:20,100
is by renaming it and changing the password.
130

130

00:04:20,100  -->  00:04:21,960
Everybody knows on a Linux system,
131

131

00:04:21,960  -->  00:04:23,760
the root account is called root.
132

132

00:04:23,760  -->  00:04:25,680
Everybody knows on a Windows system
133

133

00:04:25,680  -->  00:04:28,110
the administrator account is called administrator.
134

134

00:04:28,110  -->  00:04:30,240
So you should disable those two accounts
135

135

00:04:30,240  -->  00:04:32,490
and instead create another super user
136

136

00:04:32,490  -->  00:04:34,170
that is called something else.
137

137

00:04:34,170  -->  00:04:36,090
So instead of calling it administrator,
138

138

00:04:36,090  -->  00:04:38,250
I might call it Jason ADM.
139

139

00:04:38,250  -->  00:04:39,570
Or if instead of calling it root,
140

140

00:04:39,570  -->  00:04:41,340
I might call it root 123.
141

141

00:04:41,340  -->  00:04:42,390
Whatever you want to do
142

142

00:04:42,390  -->  00:04:44,040
to try to make it at least a little bit harder
143

143

00:04:44,040  -->  00:04:45,600
for the attacker is a good thing.
144

144

00:04:45,600  -->  00:04:48,480
And then, always make sure you change that default password.
145

145

00:04:48,480  -->  00:04:49,770
If you have the default password
146

146

00:04:49,770  -->  00:04:53,310
of T-O-O-R for root, which is root spelled backwards,
147

147

00:04:53,310  -->  00:04:55,620
you are going to get hacked really, really quickly.
148

148

00:04:55,620  -->  00:04:57,630
And so, you want to make sure you keep those things in mind
149

149

00:04:57,630  -->  00:04:59,550
and always change those passwords.
150

150

00:04:59,550  -->  00:05:02,550
Number eight, you want to disable unnecessary default user
151

151

00:05:02,550  -->  00:05:03,570
and group accounts.
152

152

00:05:03,570  -->  00:05:05,550
Again, if you're not using it and you don't need it,
153

153

00:05:05,550  -->  00:05:06,990
you should go ahead and disable it.
154

154

00:05:06,990  -->  00:05:08,670
This also helps harden your system
155

155

00:05:08,670  -->  00:05:10,500
and reduce your attack surface.
156

156

00:05:10,500  -->  00:05:12,540
Number nine, we want to verify permissions
157

157

00:05:12,540  -->  00:05:14,520
on system accounts and groups.
158

158

00:05:14,520  -->  00:05:16,170
This is because we can see things that happen
159

159

00:05:16,170  -->  00:05:17,160
like permission creep
160

160

00:05:17,160  -->  00:05:19,200
where people gain permissions over time
161

161

00:05:19,200  -->  00:05:21,480
and they never get those permissions taken away.
162

162

00:05:21,480  -->  00:05:24,810
For example, I worked at one company for almost a decade
163

163

00:05:24,810  -->  00:05:26,370
and every time I moved positions,
164

164

00:05:26,370  -->  00:05:28,110
they added different security controls.
165

165

00:05:28,110  -->  00:05:28,943
They said, "Oh,
166

166

00:05:28,943  -->  00:05:30,487
well now you work in accounting," for instance.
167

167

00:05:30,487  -->  00:05:32,850
"So you need access to the accounting share drives,"
168

168

00:05:32,850  -->  00:05:34,140
but you might still have your access
169

169

00:05:34,140  -->  00:05:35,490
to the human resource files
170

170

00:05:35,490  -->  00:05:36,990
because you were in human resources last.
171

171

00:05:36,990  -->  00:05:38,550
And then you move over to the tech side
172

172

00:05:38,550  -->  00:05:40,380
and now you've got all three accesses.
173

173

00:05:40,380  -->  00:05:42,030
And so, what should happen is every time
174

174

00:05:42,030  -->  00:05:43,620
you move to a new department,
175

175

00:05:43,620  -->  00:05:45,390
your permissions should get taken away
176

176

00:05:45,390  -->  00:05:48,000
and only the permissions you need should be added.
177

177

00:05:48,000  -->  00:05:49,500
This is the idea of verifying permissions
178

178

00:05:49,500  -->  00:05:51,390
on the accounts and on the groups.
179

179

00:05:51,390  -->  00:05:52,800
This should also be done routinely,
180

180

00:05:52,800  -->  00:05:54,360
whether that's monthly or quarterly,
181

181

00:05:54,360  -->  00:05:55,620
against your entire system
182

182

00:05:55,620  -->  00:05:57,540
to make sure everyone has the right permissions
183

183

00:05:57,540  -->  00:05:58,950
for what they need.
184

184

00:05:58,950  -->  00:06:00,780
And number 10, you always want to make sure
185

185

00:06:00,780  -->  00:06:02,460
you're installing anti-malware software
186

186

00:06:02,460  -->  00:06:04,380
and you need to update its definitions
187

187

00:06:04,380  -->  00:06:06,360
automatically and regularly.
188

188

00:06:06,360  -->  00:06:08,070
So just having antivirus software in your computer
189

189

00:06:08,070  -->  00:06:09,060
is not good enough.
190

190

00:06:09,060  -->  00:06:11,730
It needs to check every single day for the latest updates
191

191

00:06:11,730  -->  00:06:14,280
and scheduled to automatically do its scans.
192

192

00:06:14,280  -->  00:06:16,320
This will help keep your system protected.
193

193

00:06:16,320  -->  00:06:17,520
If you do these 10 things,
194

194

00:06:17,520  -->  00:06:19,410
your system is going to be pretty strong
195

195

00:06:19,410  -->  00:06:21,030
and pretty well hardened.
196

196

00:06:21,030  -->  00:06:22,200
Now the other thing you need to consider
197

197

00:06:22,200  -->  00:06:23,760
is how are you going to harden your systems
198

198

00:06:23,760  -->  00:06:25,950
against availability attacks?
199

199

00:06:25,950  -->  00:06:28,230
Remember, we have three sides of the triangle,
200

200

00:06:28,230  -->  00:06:31,260
confidentiality, integrity and availability.
201

201

00:06:31,260  -->  00:06:32,700
Everything we just talked about
202

202

00:06:32,700  -->  00:06:35,910
was a lot to do with confidentiality and integrity.
203

203

00:06:35,910  -->  00:06:37,680
It's making sure our data is the way we want it to be
204

204

00:06:37,680  -->  00:06:39,510
and that only the right people can read it.
205

205

00:06:39,510  -->  00:06:41,730
But if we want to start focusing on availability,
206

206

00:06:41,730  -->  00:06:42,930
what can we do?
207

207

00:06:42,930  -->  00:06:43,890
If I have a server,
208

208

00:06:43,890  -->  00:06:46,170
it should be powered by an UPS or a battery backup.
209

209

00:06:46,170  -->  00:06:47,880
This will make sure that it can stay online
210

210

00:06:47,880  -->  00:06:49,980
even if the power goes down in the facility
211

211

00:06:49,980  -->  00:06:51,000
and that'll give it enough time
212

212

00:06:51,000  -->  00:06:52,530
for your secondary power to come online,
213

213

00:06:52,530  -->  00:06:54,360
which might be a generator for instance.
214

214

00:06:54,360  -->  00:06:55,980
This is the idea of how you can make sure
215

215

00:06:55,980  -->  00:06:58,260
you're protected against availability attacks
216

216

00:06:58,260  -->  00:06:59,970
that have to do with power outages.
217

217

00:06:59,970  -->  00:07:01,230
But power outages aren't the only thing
218

218

00:07:01,230  -->  00:07:02,063
we have to worry about.
219

219

00:07:02,063  -->  00:07:03,390
For instance, in my area,
220

220

00:07:03,390  -->  00:07:06,090
we have an issue with our primary internet connection.
221

221

00:07:06,090  -->  00:07:08,220
If power is out in town for more than an hour,
222

222

00:07:08,220  -->  00:07:10,020
we lose our primary internet connection.
223

223

00:07:10,020  -->  00:07:12,360
So we have a backup internet connection,
224

224

00:07:12,360  -->  00:07:13,860
we have a backup cellular modem.
225

225

00:07:13,860  -->  00:07:16,200
In addition to that, we have a backup microwave connection
226

226

00:07:16,200  -->  00:07:17,640
or a satellite connection.
227

227

00:07:17,640  -->  00:07:19,770
And so, that way, we have multiple different paths
228

228

00:07:19,770  -->  00:07:21,420
so we won't be offline.
229

229

00:07:21,420  -->  00:07:22,590
That's the idea of making sure
230

230

00:07:22,590  -->  00:07:24,840
you're protecting yourself against availability.
231

231

00:07:24,840  -->  00:07:26,850
Now, I only talked about power and internet here,
232

232

00:07:26,850  -->  00:07:28,410
but there are lots of other things
233

233

00:07:28,410  -->  00:07:29,820
that are threats to your availability
234

234

00:07:29,820  -->  00:07:30,930
and you need to think through these
235

235

00:07:30,930  -->  00:07:33,480
as you're building out your server farms and your systems
236

236

00:07:33,480  -->  00:07:34,800
because that is one of the ways
237

237

00:07:34,800  -->  00:07:36,270
you can harden those systems,
238

238

00:07:36,270  -->  00:07:37,440
is making sure they're resilient
239

239

00:07:37,440  -->  00:07:39,540
against these availability attacks.
240

240

00:07:39,540  -->  00:07:41,100
Now, the last thing I want to talk about here
241

241

00:07:41,100  -->  00:07:42,630
is the second part of this topic.
242

242

00:07:42,630  -->  00:07:43,830
We talked about hardening,
243

243

00:07:43,830  -->  00:07:45,570
now we're going to talk about patching
244

244

00:07:45,570  -->  00:07:47,850
and this comes down to patch management.
245

245

00:07:47,850  -->  00:07:49,800
Patch management involves identifying,
246

246

00:07:49,800  -->  00:07:51,690
testing and deploying operating system
247

247

00:07:51,690  -->  00:07:53,370
and application updates.
248

248

00:07:53,370  -->  00:07:55,620
As I mentioned, patches are going to be there
249

249

00:07:55,620  -->  00:07:57,600
to help you fix security bugs.
250

250

00:07:57,600  -->  00:07:59,850
When Microsoft knows there's a bug in their software,
251

251

00:07:59,850  -->  00:08:01,230
they're going to release a patch.
252

252

00:08:01,230  -->  00:08:03,570
You need to identify that you have the appropriate software
253

253

00:08:03,570  -->  00:08:04,680
that needs to be patched,
254

254

00:08:04,680  -->  00:08:06,330
you need to make sure that you test that patch
255

255

00:08:06,330  -->  00:08:07,470
before installing it,
256

256

00:08:07,470  -->  00:08:10,110
and then you need to deploy that across your network
257

257

00:08:10,110  -->  00:08:11,850
so everything gets updated.
258

258

00:08:11,850  -->  00:08:14,670
These patches are often classified as critical,
259

259

00:08:14,670  -->  00:08:17,550
security-critical, recommended and optional.
260

260

00:08:17,550  -->  00:08:19,770
If it's a critical or a security critical,
261

261

00:08:19,770  -->  00:08:22,080
you probably should make sure you get those out quicker.
262

262

00:08:22,080  -->  00:08:23,400
If it's something that's optional,
263

263

00:08:23,400  -->  00:08:25,200
you could probably wait a little while on that.
264

264

00:08:25,200  -->  00:08:27,480
And again, this all goes back to your risk appetite
265

265

00:08:27,480  -->  00:08:28,680
and risk management.
266

266

00:08:28,680  -->  00:08:30,600
Now, when you're trying to conduct patch management
267

267

00:08:30,600  -->  00:08:31,770
at the enterprise level,
268

268

00:08:31,770  -->  00:08:34,500
you're going to need some sort of patch management tool suite.
269

269

00:08:34,500  -->  00:08:36,480
There are lots of different tool suites out there,
270

270

00:08:36,480  -->  00:08:39,420
but two of the most common are made by Microsoft.
271

271

00:08:39,420  -->  00:08:42,060
Microsoft has the System Center Configuration Manager
272

272

00:08:42,060  -->  00:08:44,880
or SCCM and the Endpoint Manager,
273

273

00:08:44,880  -->  00:08:46,680
as you can see here on the screen.
274

274

00:08:46,680  -->  00:08:49,620
These are designed to support both Microsoft systems
275

275

00:08:49,620  -->  00:08:51,300
as well as having some ability
276

276

00:08:51,300  -->  00:08:53,310
to detect things on other systems as well,
277

277

00:08:53,310  -->  00:08:56,850
but really they're primarily focused on Microsoft systems.
278

278

00:08:56,850  -->  00:08:58,440
Now, one of the things you have to be aware of
279

279

00:08:58,440  -->  00:08:59,700
when you're dealing with patch management
280

280

00:08:59,700  -->  00:09:01,110
is that just patching
281

281

00:09:01,110  -->  00:09:03,360
is actually an availability risk in itself
282

282

00:09:03,360  -->  00:09:05,070
because when I install a patch,
283

283

00:09:05,070  -->  00:09:07,140
I actually can put that onto a critical system
284

284

00:09:07,140  -->  00:09:09,090
and then that system needs to be rebooted.
285

285

00:09:09,090  -->  00:09:11,880
When I do that, that might take five, 10, 15 minutes
286

286

00:09:11,880  -->  00:09:12,930
to reboot that server
287

287

00:09:12,930  -->  00:09:15,540
and that means that server is down for that time.
288

288

00:09:15,540  -->  00:09:17,430
So you need to make sure you're planning
289

289

00:09:17,430  -->  00:09:19,260
when these patches are going to go out.
290

290

00:09:19,260  -->  00:09:21,270
You can't just do it in the middle of the workday.
291

291

00:09:21,270  -->  00:09:22,950
You're going to have to have a downtime window
292

292

00:09:22,950  -->  00:09:25,080
or a maintenance window for you to be able to install
293

293

00:09:25,080  -->  00:09:26,640
those patches to critical systems
294

294

00:09:26,640  -->  00:09:29,550
if you don't have a fully redundant network that's built.
295

295

00:09:29,550  -->  00:09:31,440
Luckily, most of our organizations
296

296

00:09:31,440  -->  00:09:32,910
have moved to the cloud now.
297

297

00:09:32,910  -->  00:09:35,700
Most of us have a fully redundant network built out,
298

298

00:09:35,700  -->  00:09:37,650
so we can take a single server offline,
299

299

00:09:37,650  -->  00:09:39,630
patch it and then bring it back up.
300

300

00:09:39,630  -->  00:09:40,830
But if you're still working
301

301

00:09:40,830  -->  00:09:42,780
with some of these older legacy systems,
302

302

00:09:42,780  -->  00:09:44,880
you may have to reboot the system manually
303

303

00:09:44,880  -->  00:09:46,080
and you may not have a backup.
304

304

00:09:46,080  -->  00:09:47,910
And so, that would be an availability risk
305

305

00:09:47,910  -->  00:09:49,590
that you have to consider.
306

306

00:09:49,590  -->  00:09:51,390
Finally, when we talk about patches,
307

307

00:09:51,390  -->  00:09:53,970
you have to remember that patches don't always exist.
308

308

00:09:53,970  -->  00:09:55,200
You might have a piece of software
309

309

00:09:55,200  -->  00:09:56,400
that's really, really old
310

310

00:09:56,400  -->  00:09:58,020
or a system that's really, really old
311

311

00:09:58,020  -->  00:09:59,850
and manufacturer just doesn't even exist anymore,
312

312

00:09:59,850  -->  00:10:01,140
they've gone out of business,
313

313

00:10:01,140  -->  00:10:02,970
in which case there is no patch available.
314

314

00:10:02,970  -->  00:10:05,250
Instead, you'll have to use compensating controls.
315

315

00:10:05,250  -->  00:10:07,110
So if you're looking for patches that don't exist,
316

316

00:10:07,110  -->  00:10:09,930
things like legacy systems, proprietary systems,
317

317

00:10:09,930  -->  00:10:12,930
ICS/SCADA or Internet of Things systems and devices
318

318

00:10:12,930  -->  00:10:14,340
and you can't find it,
319

319

00:10:14,340  -->  00:10:16,710
you may have to either take that thing off the network
320

320

00:10:16,710  -->  00:10:18,570
if you can assume that business risk
321

321

00:10:18,570  -->  00:10:21,030
or you're going to put in compensating controls
322

322

00:10:21,030  -->  00:10:21,960
to overcome the fact
323

323

00:10:21,960  -->  00:10:23,970
that you can't patch that vulnerability.
324

324

00:10:23,970  -->  00:10:25,320
Now, what do I mean by this?
325

325

00:10:25,320  -->  00:10:27,180
Let's say you had an older network file system
326

326

00:10:27,180  -->  00:10:29,310
and it requires Port 445 to be open
327

327

00:10:29,310  -->  00:10:31,380
for it to be able to share those files.
328

328

00:10:31,380  -->  00:10:34,290
Well, we don't want to have port 445 open to the internet
329

329

00:10:34,290  -->  00:10:36,180
because that would be a vulnerability.
330

330

00:10:36,180  -->  00:10:37,860
So a compensating control
331

331

00:10:37,860  -->  00:10:40,860
if I can't patch this software against a given vulnerability
332

332

00:10:40,860  -->  00:10:42,540
is to make sure that this file server
333

333

00:10:42,540  -->  00:10:44,730
is only available internal to the network
334

334

00:10:44,730  -->  00:10:47,070
and I can block it from getting out of the firewall
335

335

00:10:47,070  -->  00:10:48,240
or anything outside the firewall
336

336

00:10:48,240  -->  00:10:50,010
from getting to this file server.
337

337

00:10:50,010  -->  00:10:52,260
By doing this, I put a compensating control in place
338

338

00:10:52,260  -->  00:10:54,660
such as blocking port 445 from the internet
339

339

00:10:54,660  -->  00:10:58,320
and that can solve the problem of an exploit over port 445
340

340

00:10:58,320  -->  00:11:01,120
that this older proprietary system may be vulnerable to.
