1
00:00:00,090 --> 00:00:03,030
In this lesson, we're going to cover Integrity.

2
00:00:03,030 --> 00:00:04,650
Now, Integrity is the cornerstone

3
00:00:04,650 --> 00:00:06,450
in the realm of information security,

4
00:00:06,450 --> 00:00:08,070
because it helps to ensure that information

5
00:00:08,070 --> 00:00:10,440
and data remains accurate and unchanged

6
00:00:10,440 --> 00:00:11,550
from its original state,

7
00:00:11,550 --> 00:00:15,000
unless intentionally modified by an authorized individual.

8
00:00:15,000 --> 00:00:17,520
In essence, Integrity verifies the accuracy

9
00:00:17,520 --> 00:00:21,480
and trustworthiness of the data over its entire lifecycle.

10
00:00:21,480 --> 00:00:23,010
Now, let's imagine that you just finished

11
00:00:23,010 --> 00:00:24,690
an important final exam in school,

12
00:00:24,690 --> 00:00:27,060
and you handed it over to your instructor to be graded.

13
00:00:27,060 --> 00:00:28,440
You'll probably have the expectation

14
00:00:28,440 --> 00:00:29,820
that nobody else is going to tamper

15
00:00:29,820 --> 00:00:31,920
with your answers or make unauthorized changes,

16
00:00:31,920 --> 00:00:34,110
between the time you handed it into your instructor,

17
00:00:34,110 --> 00:00:37,110
and the time that you got your grade back for that exam.

18
00:00:37,110 --> 00:00:38,940
Now, if nothing was modified or changed,

19
00:00:38,940 --> 00:00:42,000
we would say that your exam integrity was maintained.

20
00:00:42,000 --> 00:00:44,160
Similarly, in the world of cybersecurity,

21
00:00:44,160 --> 00:00:46,320
we expect that our data is going to be reliable

22
00:00:46,320 --> 00:00:48,870
and unaltered as it's processed, transferred,

23
00:00:48,870 --> 00:00:51,270
and stored by our systems and networks.

24
00:00:51,270 --> 00:00:53,490
So why is integrity so critical?

25
00:00:53,490 --> 00:00:56,280
Well, integrity is important for three main reasons.

26
00:00:56,280 --> 00:00:58,080
We want to ensure data accuracy,

27
00:00:58,080 --> 00:00:59,550
we want to maintain trust,

28
00:00:59,550 --> 00:01:01,950
and we want to ensure system operability.

29
00:01:01,950 --> 00:01:04,141
First, we want to ensure data accuracy is occurring.

30
00:01:04,141 --> 00:01:06,510
Ensuring data accuracy is probably one

31
00:01:06,510 --> 00:01:08,100
of the most important reasons for worrying

32
00:01:08,100 --> 00:01:10,710
about the integrity of your organization's data.

33
00:01:10,710 --> 00:01:11,850
Just as you wouldn't want somebody

34
00:01:11,850 --> 00:01:13,980
to alter your written words without your consent,

35
00:01:13,980 --> 00:01:16,320
similarly, inside of our digital landscape,

36
00:01:16,320 --> 00:01:19,050
whether it's a financial transaction or a medical record,

37
00:01:19,050 --> 00:01:22,290
the accuracy of that data will be critically important.

38
00:01:22,290 --> 00:01:24,090
Now, if our data integrity is maintained,

39
00:01:24,090 --> 00:01:26,310
this helps to ensure the decisions that are being made

40
00:01:26,310 --> 00:01:28,590
is being made based on correct information

41
00:01:28,590 --> 00:01:31,200
and the outcomes are what we expect them to be.

42
00:01:31,200 --> 00:01:33,240
Second, we want to maintain trust,

43
00:01:33,240 --> 00:01:36,090
both with our users and with our systems and networks.

44
00:01:36,090 --> 00:01:37,620
If users can't trust the data

45
00:01:37,620 --> 00:01:38,940
or information they're receiving,

46
00:01:38,940 --> 00:01:41,400
they simply won't trust your systems or networks.

47
00:01:41,400 --> 00:01:43,890
For example, if you logged into your bank account today,

48
00:01:43,890 --> 00:01:45,300
and saw that it's been compromised,

49
00:01:45,300 --> 00:01:49,650
and now your bank account says $1052.43,

50
00:01:49,650 --> 00:01:54,030
instead of the $10,524.30 you thought you had,

51
00:01:54,030 --> 00:01:56,130
because the attacker altered your transaction history

52
00:01:56,130 --> 00:01:57,630
and removed a zero,

53
00:01:57,630 --> 00:02:00,210
you would no longer trust your bank with your money.

54
00:02:00,210 --> 00:02:02,130
After all, all they did was simply remove

55
00:02:02,130 --> 00:02:04,260
that one trailing zero from the account balance

56
00:02:04,260 --> 00:02:09,090
and now you've lost $9,471.87, right?

57
00:02:09,090 --> 00:02:10,800
I know if this happened to my bank account,

58
00:02:10,800 --> 00:02:13,350
my trust in that bank would be immediately shattered

59
00:02:13,350 --> 00:02:14,880
and I would be looking for a new bank

60
00:02:14,880 --> 00:02:16,530
to take my business to.

61
00:02:16,530 --> 00:02:18,720
Third, we have system operability.

62
00:02:18,720 --> 00:02:20,730
After all, if the data is corrupted,

63
00:02:20,730 --> 00:02:22,410
then our systems are going to malfunction,

64
00:02:22,410 --> 00:02:24,120
and this can lead to unexpected behaviors

65
00:02:24,120 --> 00:02:26,220
or system down-times that are going to affect

66
00:02:26,220 --> 00:02:27,930
our business's operations.

67
00:02:27,930 --> 00:02:31,050
So a breach of integrity could cause our systems to crash

68
00:02:31,050 --> 00:02:33,990
or become unresponsive if the data format is altered

69
00:02:33,990 --> 00:02:36,270
without authorization or consent.

70
00:02:36,270 --> 00:02:38,700
Now, in order to help us maintain the integrity of our data,

71
00:02:38,700 --> 00:02:40,140
our systems, and our networks,

72
00:02:40,140 --> 00:02:42,330
we're going to utilize five methods.

73
00:02:42,330 --> 00:02:45,540
These are Hashing, Digital Signatures, Checksums,

74
00:02:45,540 --> 00:02:48,000
Access Controls, and Regular Audits.

75
00:02:48,000 --> 00:02:49,680
First, we have Hashing.

76
00:02:49,680 --> 00:02:51,570
Hashing is the process of converting data

77
00:02:51,570 --> 00:02:53,580
into a fixed-size value.

78
00:02:53,580 --> 00:02:56,490
This way, even if a small part of the original data changes,

79
00:02:56,490 --> 00:02:58,860
the hash value will change dramatically,

80
00:02:58,860 --> 00:03:00,360
and this will indicate that there was some kind

81
00:03:00,360 --> 00:03:02,340
of tampering that occurred to the data.

82
00:03:02,340 --> 00:03:05,130
This unpredictability and sensitivity to data changes

83
00:03:05,130 --> 00:03:06,870
makes Hashing an invaluable tool

84
00:03:06,870 --> 00:03:08,640
in verifying data integrity.

85
00:03:08,640 --> 00:03:10,740
Because any minor alteration will result

86
00:03:10,740 --> 00:03:12,750
in a vastly different Hash.

87
00:03:12,750 --> 00:03:15,000
Essentially, the results of this Hashing function

88
00:03:15,000 --> 00:03:16,650
is called a Hash Digest,

89
00:03:16,650 --> 00:03:18,420
and this Hash Digest will almost serve

90
00:03:18,420 --> 00:03:19,680
like a Digital Fingerprint

91
00:03:19,680 --> 00:03:22,920
for any given piece of data to prove its integrity.

92
00:03:22,920 --> 00:03:25,350
Second, we have Digital Signatures.

93
00:03:25,350 --> 00:03:27,450
Now, Digital Signatures use encryption to ensure

94
00:03:27,450 --> 00:03:29,760
both integrity and authenticity.

95
00:03:29,760 --> 00:03:31,200
To digitally sign a file,

96
00:03:31,200 --> 00:03:32,970
that file is first going to be Hashed

97
00:03:32,970 --> 00:03:35,880
and then that resulting Hash Digest will be encrypted,

98
00:03:35,880 --> 00:03:37,860
using the user's Private Key.

99
00:03:37,860 --> 00:03:41,220
Now, this data is now digitally signed and any alterations

100
00:03:41,220 --> 00:03:43,890
to the file will drastically change the file's Hash,

101
00:03:43,890 --> 00:03:46,800
which in turn, would invalidate that Digital Signature.

102
00:03:46,800 --> 00:03:48,990
This immediately lets us know that the data or file

103
00:03:48,990 --> 00:03:51,450
has been changed from its original format and therefore,

104
00:03:51,450 --> 00:03:53,790
integrity has been compromised.

105
00:03:53,790 --> 00:03:55,740
Third, we have Checksums.

106
00:03:55,740 --> 00:03:57,390
Now, Checksums are a method to verify

107
00:03:57,390 --> 00:04:00,420
the integrity of data being sent through a transmission.

108
00:04:00,420 --> 00:04:03,270
By comparing the sender's Checksum of that transmitted data

109
00:04:03,270 --> 00:04:05,100
with the receiver's calculated Checksum

110
00:04:05,100 --> 00:04:06,390
for the received data,

111
00:04:06,390 --> 00:04:08,520
we can determine if any unintended changes

112
00:04:08,520 --> 00:04:10,500
in the data have been created.

113
00:04:10,500 --> 00:04:13,410
Basically, when data is sent from one location to another,

114
00:04:13,410 --> 00:04:15,960
the Checksum is also going to be sent along with it.

115
00:04:15,960 --> 00:04:18,959
Upon receipt, the recipient can compute a new Checksum

116
00:04:18,959 --> 00:04:20,700
for the received data and compare it

117
00:04:20,700 --> 00:04:23,130
to the provided Checksum that was sent over the network.

118
00:04:23,130 --> 00:04:24,630
If those two values match,

119
00:04:24,630 --> 00:04:26,850
this indicates the data has not been tampered with

120
00:04:26,850 --> 00:04:28,500
during the transmission and therefore,

121
00:04:28,500 --> 00:04:30,330
integrity has been maintained.

122
00:04:30,330 --> 00:04:32,580
However, if those values are different,

123
00:04:32,580 --> 00:04:34,830
this suggests some kind of alteration or corruption

124
00:04:34,830 --> 00:04:38,160
has happened to that data and integrity has been breached.

125
00:04:38,160 --> 00:04:40,380
Fourth, we have Access Controls.

126
00:04:40,380 --> 00:04:41,670
Now, Access Controls ensure

127
00:04:41,670 --> 00:04:44,070
that only authorized individuals can modify data,

128
00:04:44,070 --> 00:04:45,150
and this reduces the risk

129
00:04:45,150 --> 00:04:47,550
of unintentional or malicious alterations.

130
00:04:47,550 --> 00:04:49,290
By setting up stringent permissions,

131
00:04:49,290 --> 00:04:51,720
organizations can ensure that only authorized individuals

132
00:04:51,720 --> 00:04:54,270
have the capability to modify their data.

133
00:04:54,270 --> 00:04:55,620
This not only prevents outsiders

134
00:04:55,620 --> 00:04:57,150
from tampering with the information,

135
00:04:57,150 --> 00:05:00,060
but also restricts internal users to their respective roles

136
00:05:00,060 --> 00:05:02,190
and therefore, significantly reduces the risk

137
00:05:02,190 --> 00:05:05,700
of both unintentional mistakes and malicious alterations.

138
00:05:05,700 --> 00:05:08,520
Now, fifth and finally, we have Regular Audits.

139
00:05:08,520 --> 00:05:10,800
Regular Audits involve systematically reviewing

140
00:05:10,800 --> 00:05:12,570
your logs and operations to ensure

141
00:05:12,570 --> 00:05:14,820
that only authorized changes are being made,

142
00:05:14,820 --> 00:05:17,640
and any discrepancies are immediately addressed.

143
00:05:17,640 --> 00:05:20,340
By performing regular audits, we can detect if any changes

144
00:05:20,340 --> 00:05:22,980
to the system or its configurations have been occurring

145
00:05:22,980 --> 00:05:25,770
that might affect our data or system's integrity.

146
00:05:25,770 --> 00:05:29,220
So remember, Integrity ensures our data remains consistent,

147
00:05:29,220 --> 00:05:32,070
accurate and trustworthy throughout its lifecycle.

148
00:05:32,070 --> 00:05:34,230
Methods like Hashing, Digital Signatures,

149
00:05:34,230 --> 00:05:36,930
Checksums, Access Control and Regular Audits,

150
00:05:36,930 --> 00:05:38,940
are really your go-to tools for ensuring

151
00:05:38,940 --> 00:05:41,010
that the information maintains its integrity,

152
00:05:41,010 --> 00:05:43,710
by remaining unaltered from its original format.

153
00:05:43,710 --> 00:05:45,120
It's also important to associate

154
00:05:45,120 --> 00:05:47,220
the terms Integrity and Hashing together,

155
00:05:47,220 --> 00:05:49,560
because Hashing is probably the number one way

156
00:05:49,560 --> 00:05:51,480
that you're going to see the maintenance of Integrity

157
00:05:51,480 --> 00:05:53,820
for all of our data, our software, our systems,

158
00:05:53,820 --> 00:05:56,010
and our networks out in the real world.

159
00:05:56,010 --> 00:05:57,300
In an era where data drives

160
00:05:57,300 --> 00:05:59,070
so many of our business decisions,

161
00:05:59,070 --> 00:06:01,890
maintaining data integrity is not just a good practice,

162
00:06:01,890 --> 00:06:03,660
it's necessary for maintaining trust

163
00:06:03,660 --> 00:06:06,183
and smooth operations within your organization.

