1
1

00:00:00,420  -->  00:00:03,210
<v Instructor>ICS and SCADA Vulnerabilities.</v>
2

2

00:00:03,210  -->  00:00:04,590
So, at this point, we've talked
3

3

00:00:04,590  -->  00:00:07,740
about a couple of pieces inside embedded systems,
4

4

00:00:07,740  -->  00:00:09,990
and a lot of these things are going to be put together
5

5

00:00:09,990  -->  00:00:12,900
into an ICS or SCADA network.
6

6

00:00:12,900  -->  00:00:14,070
Now, before we dive into that,
7

7

00:00:14,070  -->  00:00:15,660
let me first take a step back
8

8

00:00:15,660  -->  00:00:17,280
and talk about the type of technology
9

9

00:00:17,280  -->  00:00:18,660
we're talking about here.
10

10

00:00:18,660  -->  00:00:20,850
Now, in general, we work in IT,
11

11

00:00:20,850  -->  00:00:22,620
which is information technology.
12

12

00:00:22,620  -->  00:00:24,450
That's our standard Windows, computers,
13

13

00:00:24,450  -->  00:00:26,250
and networks, and things like that.
14

14

00:00:26,250  -->  00:00:28,440
But when we start talking about ICS and SCADA,
15

15

00:00:28,440  -->  00:00:32,190
we are talking about OT, which is operational technology.
16

16

00:00:32,190  -->  00:00:33,750
This is a communications network
17

17

00:00:33,750  -->  00:00:36,480
that's designed to implement an industrial control system,
18

18

00:00:36,480  -->  00:00:38,280
rather than data networking.
19

19

00:00:38,280  -->  00:00:40,920
So, here, we're really not talking about end user machines.
20

20

00:00:40,920  -->  00:00:42,810
We're not talking about having a Windows 10 host
21

21

00:00:42,810  -->  00:00:43,950
sitting on this network.
22

22

00:00:43,950  -->  00:00:45,450
Instead, with OT, we're talking
23

23

00:00:45,450  -->  00:00:48,000
about things that, using technology and computers,
24

24

00:00:48,000  -->  00:00:50,370
to be able to do things in the physical world
25

25

00:00:50,370  -->  00:00:53,700
like open or shut a valve, like do manufacturing,
26

26

00:00:53,700  -->  00:00:56,190
like create power generation in a power plant;
27

27

00:00:56,190  -->  00:00:57,720
things like that.
28

28

00:00:57,720  -->  00:00:59,010
So, if I look here, for instance,
29

29

00:00:59,010  -->  00:01:00,540
this is what OT looks like.
30

30

00:01:00,540  -->  00:01:02,070
Usually, they look like big cabinets
31

31

00:01:02,070  -->  00:01:04,140
with dials and gauges and buttons.
32

32

00:01:04,140  -->  00:01:06,060
So, if I wanted to open or shut different valves
33

33

00:01:06,060  -->  00:01:07,530
or turn on or off different pumps,
34

34

00:01:07,530  -->  00:01:09,120
I would push the different buttons
35

35

00:01:09,120  -->  00:01:12,060
on that diagram on the front of that cabinet,
36

36

00:01:12,060  -->  00:01:14,340
instead of using something like a Windows machine
37

37

00:01:14,340  -->  00:01:17,520
and using the command, like start open valve, enter, right?
38

38

00:01:17,520  -->  00:01:19,320
This is a different way of thinking.
39

39

00:01:19,320  -->  00:01:21,390
Now, you can still have computers
40

40

00:01:21,390  -->  00:01:23,460
like Windows computers that can talk to these networks
41

41

00:01:23,460  -->  00:01:25,890
if you integrate the two, but you don't have to.
42

42

00:01:25,890  -->  00:01:28,890
A lot of OT can just be done in a manufacturing plant,
43

43

00:01:28,890  -->  00:01:30,540
using systems like this.
44

44

00:01:30,540  -->  00:01:32,850
Now, when we deal with industrial control systems,
45

45

00:01:32,850  -->  00:01:34,920
these are going to prioritize availability
46

46

00:01:34,920  -->  00:01:37,380
and integrity over confidentiality.
47

47

00:01:37,380  -->  00:01:40,740
So, if we talk about the CIA triad, normally, in IT,
48

48

00:01:40,740  -->  00:01:44,340
here we're really talking about the AIC triad.
49

49

00:01:44,340  -->  00:01:46,710
Availability is paramount, and this makes sense
50

50

00:01:46,710  -->  00:01:47,700
if you think about it,
51

51

00:01:47,700  -->  00:01:50,970
because OT was originally designed to do manufacturing,
52

52

00:01:50,970  -->  00:01:53,490
and anytime the plant was down, we weren't making money.
53

53

00:01:53,490  -->  00:01:55,860
So, for them, availability was everything.
54

54

00:01:55,860  -->  00:01:58,440
Also, the plant didn't talk to the internet originally;
55

55

00:01:58,440  -->  00:02:00,870
it was all within the borders of the plant,
56

56

00:02:00,870  -->  00:02:02,430
and so we had that physical boundary.
57

57

00:02:02,430  -->  00:02:04,620
So, confidentiality wasn't as big of a deal
58

58

00:02:04,620  -->  00:02:06,870
because we trusted the people working for us,
59

59

00:02:06,870  -->  00:02:09,720
so availability was much more important.
60

60

00:02:09,720  -->  00:02:11,310
So, now that we've got an introduction
61

61

00:02:11,310  -->  00:02:14,190
to operational technology, let's talk specifically
62

62

00:02:14,190  -->  00:02:15,660
about three key areas.
63

63

00:02:15,660  -->  00:02:18,600
I've already talked about the terms ICS and SCADA,
64

64

00:02:18,600  -->  00:02:20,850
and we're also going to talk about Modbus.
65

65

00:02:20,850  -->  00:02:22,200
Now, let's start with ICS.
66

66

00:02:22,200  -->  00:02:25,230
ICS is an industrial control system.
67

67

00:02:25,230  -->  00:02:28,020
When you hear ICS, this is essentially just a network
68

68

00:02:28,020  -->  00:02:30,390
that manages embedded devices.
69

69

00:02:30,390  -->  00:02:33,690
So, if I work in someplace like an electrical power station
70

70

00:02:33,690  -->  00:02:36,090
or a water supplier, or I work in a hospital
71

71

00:02:36,090  -->  00:02:37,440
doing health services,
72

72

00:02:37,440  -->  00:02:39,900
I might work in telecommunications in the backbones,
73

73

00:02:39,900  -->  00:02:43,110
I might work in manufacturing or in defense needs,
74

74

00:02:43,110  -->  00:02:45,360
all of these things use ICS;
75

75

00:02:45,360  -->  00:02:48,090
they all use this operational technology
76

76

00:02:48,090  -->  00:02:50,460
using these industrial control systems.
77

77

00:02:50,460  -->  00:02:53,490
For instance, if you're driving a US Navy warship,
78

78

00:02:53,490  -->  00:02:56,850
there are a ton of ICS and SCADA systems on those things,
79

79

00:02:56,850  -->  00:02:59,040
because you essentially have a power plant on board,
80

80

00:02:59,040  -->  00:03:00,390
you have the engines on board,
81

81

00:03:00,390  -->  00:03:02,010
and all of that stuff is essentially
82

82

00:03:02,010  -->  00:03:03,720
a big manufacturing plant,
83

83

00:03:03,720  -->  00:03:05,400
and it has similar components to that.
84

84

00:03:05,400  -->  00:03:08,730
And so, those things all run on ICS and SCADA as well.
85

85

00:03:08,730  -->  00:03:10,650
Now, one of the things that ICS uses
86

86

00:03:10,650  -->  00:03:12,360
is what's known as fieldbus.
87

87

00:03:12,360  -->  00:03:15,270
fieldbus is a digital serial data communications
88

88

00:03:15,270  -->  00:03:17,250
that are used in operational technology networks
89

89

00:03:17,250  -->  00:03:19,230
to link different PLCs together.
90

90

00:03:19,230  -->  00:03:22,110
So, we talked about those PLCs in a previous lesson, right?
91

91

00:03:22,110  -->  00:03:24,390
I might have a PLC that opens and shuts this valve
92

92

00:03:24,390  -->  00:03:26,670
to let more gas into the engine
93

93

00:03:26,670  -->  00:03:29,010
so that we can go faster on a ship, for instance.
94

94

00:03:29,010  -->  00:03:31,380
Well, that is just one PLC,
95

95

00:03:31,380  -->  00:03:34,500
but I might have another PLC that opens and shuts a breaker
96

96

00:03:34,500  -->  00:03:35,550
that allows electricity to go
97

97

00:03:35,550  -->  00:03:36,660
to a different part of the ship.
98

98

00:03:36,660  -->  00:03:38,520
And if I want to connect all those things together,
99

99

00:03:38,520  -->  00:03:39,750
I need a way to do it.
100

100

00:03:39,750  -->  00:03:41,040
And that's what we use fieldbus for
101

101

00:03:41,040  -->  00:03:43,230
is this digital serial data communications
102

102

00:03:43,230  -->  00:03:45,780
that we use to link all these things together.
103

103

00:03:45,780  -->  00:03:47,160
Now, another thing we have to be able to do
104

104

00:03:47,160  -->  00:03:48,780
is we need to be able to talk to these machines
105

105

00:03:48,780  -->  00:03:50,130
and tell them what to do,
106

106

00:03:50,130  -->  00:03:54,030
and that's where we use an HMI, a human machine interface.
107

107

00:03:54,030  -->  00:03:56,940
This is the input and output controls on a PLC
108

108

00:03:56,940  -->  00:04:00,240
that allows a user to configure and monitor the system.
109

109

00:04:00,240  -->  00:04:02,880
So, when I'm trying to tell the system to do something
110

110

00:04:02,880  -->  00:04:06,090
like open a valve, I need a way to give it that input.
111

111

00:04:06,090  -->  00:04:07,590
I can do that by pushing a button;
112

112

00:04:07,590  -->  00:04:09,600
that could be a human machine interface.
113

113

00:04:09,600  -->  00:04:11,340
Or I can open that valve on a touchscreen
114

114

00:04:11,340  -->  00:04:13,110
by tapping it and saying, "Open."
115

115

00:04:13,110  -->  00:04:15,630
These are all different ways I can interface with it.
116

116

00:04:15,630  -->  00:04:19,230
Now, ICS is all about managing process automation
117

117

00:04:19,230  -->  00:04:21,210
by linking together these PLCs
118

118

00:04:21,210  -->  00:04:24,690
using the fieldbus to make changes in the physical world;
119

119

00:04:24,690  -->  00:04:27,030
I want to open a valve, I want to start a motor,
120

120

00:04:27,030  -->  00:04:28,560
those kind of things.
121

121

00:04:28,560  -->  00:04:30,900
Now, I as a human need to be able to see
122

122

00:04:30,900  -->  00:04:33,150
what the machine is doing by reading gauges
123

123

00:04:33,150  -->  00:04:35,340
or other screens, and be able to give input
124

124

00:04:35,340  -->  00:04:36,570
into the machine of what I want to do
125

125

00:04:36,570  -->  00:04:39,450
by pushing buttons, turning knobs, entering keystrokes,
126

126

00:04:39,450  -->  00:04:41,250
or even using a touchscreen.
127

127

00:04:41,250  -->  00:04:43,590
So, for example, here, if I worked in a hospital,
128

128

00:04:43,590  -->  00:04:45,660
I might have a human machine interface
129

129

00:04:45,660  -->  00:04:46,740
that's a flat panel screen,
130

130

00:04:46,740  -->  00:04:49,140
and I can touch it and tell it what I want to be done.
131

131

00:04:49,140  -->  00:04:51,660
This way, this panel can then send the information
132

132

00:04:51,660  -->  00:04:53,640
to that machine to do what it needs to do.
133

133

00:04:53,640  -->  00:04:55,440
In this case, it's a radiography machine
134

134

00:04:55,440  -->  00:04:56,970
that's going to take an X-ray.
135

135

00:04:56,970  -->  00:05:00,120
This also has PLCs connected to it within a control loop,
136

136

00:05:00,120  -->  00:05:02,520
and that whole process automation system is governed
137

137

00:05:02,520  -->  00:05:04,560
by some kind of a control server.
138

138

00:05:04,560  -->  00:05:07,170
This is how all this stuff ties together.
139

139

00:05:07,170  -->  00:05:09,150
Now, one of the other things we have to think about
140

140

00:05:09,150  -->  00:05:10,680
is having some way to know
141

141

00:05:10,680  -->  00:05:13,050
what all these systems have done in the past,
142

142

00:05:13,050  -->  00:05:14,580
because if we're doing an incident response,
143

143

00:05:14,580  -->  00:05:16,230
we want to be able to figure all that out.
144

144

00:05:16,230  -->  00:05:17,460
And so, as a cybersecurity analyst,
145

145

00:05:17,460  -->  00:05:20,310
one of the things you want to look for is the data historian.
146

146

00:05:20,310  -->  00:05:23,100
Now, the data historian is a software that aggregates
147

147

00:05:23,100  -->  00:05:25,200
and catalogs data from multiple sources
148

148

00:05:25,200  -->  00:05:27,450
within an industrial control system.
149

149

00:05:27,450  -->  00:05:29,760
Now, again, as an analyst, this is important for you to know
150

150

00:05:29,760  -->  00:05:31,530
because if you're working in a place
151

151

00:05:31,530  -->  00:05:33,630
that has an industrial control system,
152

152

00:05:33,630  -->  00:05:35,820
you want to find out where the data historian is
153

153

00:05:35,820  -->  00:05:37,230
and how you can use it
154

154

00:05:37,230  -->  00:05:39,690
because that's going to have valuable information for you.
155

155

00:05:39,690  -->  00:05:41,970
All right, so now that we're done talking about ICS,
156

156

00:05:41,970  -->  00:05:44,340
let's focus on the second part of this lesson,
157

157

00:05:44,340  -->  00:05:46,080
which is all about SCADA.
158

158

00:05:46,080  -->  00:05:49,680
SCADA is the supervisory control and data acquisition.
159

159

00:05:49,680  -->  00:05:51,780
This is a type of industrial control system,
160

160

00:05:51,780  -->  00:05:54,960
so it's a type of ICS, that manages large scale
161

161

00:05:54,960  -->  00:05:56,760
multi-site devices and equipment
162

162

00:05:56,760  -->  00:05:59,100
spread over a geographic region.
163

163

00:05:59,100  -->  00:06:02,250
So, when I'm talking about ICS, I'm looking at one plant.
164

164

00:06:02,250  -->  00:06:05,580
When I talk about SCADA, I'm talking about multiple plants.
165

165

00:06:05,580  -->  00:06:07,680
That's really the way I like to distinguish these two.
166

166

00:06:07,680  -->  00:06:09,840
So, when you deal with SCADA, this typically runs
167

167

00:06:09,840  -->  00:06:13,080
as software on ordinary computers, and it gathers data
168

168

00:06:13,080  -->  00:06:15,900
and manages it across the different plant devices
169

169

00:06:15,900  -->  00:06:19,110
and the different equipment that has embedded PLCs.
170

170

00:06:19,110  -->  00:06:20,190
So, when you're dealing with SCADA,
171

171

00:06:20,190  -->  00:06:21,600
it typically is going to use some kind
172

172

00:06:21,600  -->  00:06:23,460
of a wide area network connection.
173

173

00:06:23,460  -->  00:06:25,620
That could be cellular, that could be microwave,
174

174

00:06:25,620  -->  00:06:28,140
that could be satellite; whatever you want to use.
175

175

00:06:28,140  -->  00:06:30,870
And then, they're all going to link back to those field devices
176

176

00:06:30,870  -->  00:06:32,640
back to the central SCADA server.
177

177

00:06:32,640  -->  00:06:36,270
So, I mentioned earlier: I have a smart meter on my house.
178

178

00:06:36,270  -->  00:06:37,410
They don't have to come out once a month
179

179

00:06:37,410  -->  00:06:39,900
and read my electrical meter to know how much to bill me.
180

180

00:06:39,900  -->  00:06:40,950
Why don't they have to do that?
181

181

00:06:40,950  -->  00:06:42,630
Because it's part of a SCADA network,
182

182

00:06:42,630  -->  00:06:44,490
and all the houses in my area are part
183

183

00:06:44,490  -->  00:06:45,660
of that SCADA network.
184

184

00:06:45,660  -->  00:06:47,250
They have a cellular chip in there,
185

185

00:06:47,250  -->  00:06:49,110
and it takes that reading once a month,
186

186

00:06:49,110  -->  00:06:50,460
sends it back over a cellular
187

187

00:06:50,460  -->  00:06:52,680
as a text message or data format,
188

188

00:06:52,680  -->  00:06:55,170
whatever they use, to their SCADA server,
189

189

00:06:55,170  -->  00:06:57,870
collates that information, passes it to the billing system,
190

190

00:06:57,870  -->  00:06:59,250
and then I get a bill.
191

191

00:06:59,250  -->  00:07:01,590
That's how SCADA can be used in the real world.
192

192

00:07:01,590  -->  00:07:03,420
Now, the third part of this we need to talk about
193

193

00:07:03,420  -->  00:07:04,590
was Modbus.
194

194

00:07:04,590  -->  00:07:07,110
Now, because ICS and SCADA are really focused
195

195

00:07:07,110  -->  00:07:08,670
on operational technology,
196

196

00:07:08,670  -->  00:07:11,040
they don't have to use things that we only use
197

197

00:07:11,040  -->  00:07:13,260
in the IT world, but they have to have a way
198

198

00:07:13,260  -->  00:07:16,380
to communicate with each other, and Modbus is that way.
199

199

00:07:16,380  -->  00:07:18,390
Modbus is a communications protocol
200

200

00:07:18,390  -->  00:07:20,880
that's used in operational technology networks.
201

201

00:07:20,880  -->  00:07:23,340
So, in our IT networks, what do we usually use?
202

202

00:07:23,340  -->  00:07:24,840
TCPIP, right?
203

203

00:07:24,840  -->  00:07:26,130
Well, we don't have to use that
204

204

00:07:26,130  -->  00:07:28,470
inside these OT networks, and often, we don't.
205

205

00:07:28,470  -->  00:07:30,240
Modbus is instead what we use.
206

206

00:07:30,240  -->  00:07:32,580
So, Modbus is going to give the control servers
207

207

00:07:32,580  -->  00:07:34,440
and the SCADA host the ability to query
208

208

00:07:34,440  -->  00:07:37,200
and change configurations of each PLC.
209

209

00:07:37,200  -->  00:07:38,700
Now, this is important to know:
210

210

00:07:38,700  -->  00:07:40,860
because this is more of a proprietary protocol,
211

211

00:07:40,860  -->  00:07:43,290
it looks different than TCPIP.
212

212

00:07:43,290  -->  00:07:45,510
So, if you're trying to do an instant response
213

213

00:07:45,510  -->  00:07:48,150
and you think somebody's in your ICS SCADA network
214

214

00:07:48,150  -->  00:07:51,840
and you've been studying how to do TCPIP your entire life,
215

215

00:07:51,840  -->  00:07:53,670
are you going to know what you're looking at?
216

216

00:07:53,670  -->  00:07:54,750
Most likely not.
217

217

00:07:54,750  -->  00:07:57,990
And that's why there are experts in ICS and SCADA systems,
218

218

00:07:57,990  -->  00:07:59,820
because it is a different way of thinking.
219

219

00:07:59,820  -->  00:08:01,170
It is a different way of communicating,
220

220

00:08:01,170  -->  00:08:02,940
and they use a different protocol.
221

221

00:08:02,940  -->  00:08:04,170
So, keep that in mind.
222

222

00:08:04,170  -->  00:08:06,090
If you're dealing with an ICS or SCADA network,
223

223

00:08:06,090  -->  00:08:08,460
it is different, and you have to follow different ways
224

224

00:08:08,460  -->  00:08:10,830
of doing things, because a lot of your normal tools
225

225

00:08:10,830  -->  00:08:14,550
that you would use for ethernet and TCPIP either won't work
226

226

00:08:14,550  -->  00:08:16,143
or they could cause damage.
