1
00:00:00,000 --> 00:00:01,800
In this lesson, we're going to discuss

2
00:00:01,800 --> 00:00:03,719
identifying vulnerabilities.

3
00:00:03,719 --> 00:00:06,330
Identifying vulnerabilities is a systematic practice

4
00:00:06,330 --> 00:00:09,300
of spotting and categorizing weaknesses in a system,

5
00:00:09,300 --> 00:00:12,660
network, or application that could potentially be exploited.

6
00:00:12,660 --> 00:00:15,150
Identifying the vulnerabilities in your systems is critical

7
00:00:15,150 --> 00:00:17,490
so that we can increase the security of our systems,

8
00:00:17,490 --> 00:00:18,840
prevent unauthorized access,

9
00:00:18,840 --> 00:00:19,920
and maintain the integrity

10
00:00:19,920 --> 00:00:22,350
of our organization's systems and data.

11
00:00:22,350 --> 00:00:23,580
There are many methods used

12
00:00:23,580 --> 00:00:25,980
to identify vulnerabilities including vulnerability

13
00:00:25,980 --> 00:00:28,290
scanning, application security techniques,

14
00:00:28,290 --> 00:00:31,500
penetration testing, and security and processing auditing.

15
00:00:31,500 --> 00:00:33,810
Now first we have vulnerability scanning.

16
00:00:33,810 --> 00:00:36,060
Vulnerability scanning is an automated method

17
00:00:36,060 --> 00:00:37,710
of probing networks, systems

18
00:00:37,710 --> 00:00:40,860
and applications to discover potential vulnerabilities.

19
00:00:40,860 --> 00:00:42,750
Vulnerability scans play a vital role

20
00:00:42,750 --> 00:00:44,520
in strengthening the security of your network

21
00:00:44,520 --> 00:00:46,920
by discovering any known vulnerabilities in your devices

22
00:00:46,920 --> 00:00:48,240
or applications.

23
00:00:48,240 --> 00:00:49,590
There are many different tools available

24
00:00:49,590 --> 00:00:51,510
to help you conduct a vulnerability scan,

25
00:00:51,510 --> 00:00:54,180
including things like Nessus and OpenVAS.

26
00:00:54,180 --> 00:00:56,550
Now, these tools can analyze your system's current state

27
00:00:56,550 --> 00:00:58,560
against a database of known vulnerabilities,

28
00:00:58,560 --> 00:01:00,990
and then generate a detailed report listing out all

29
00:01:00,990 --> 00:01:03,540
of your vulnerabilities and their criticality level.

30
00:01:03,540 --> 00:01:06,240
Then your responsibility as a cybersecurity professional

31
00:01:06,240 --> 00:01:08,700
becomes one of prioritizing those vulnerabilities,

32
00:01:08,700 --> 00:01:11,190
patching your systems, and mitigating those vulnerabilities

33
00:01:11,190 --> 00:01:13,590
so that an attacker cannot exploit them.

34
00:01:13,590 --> 00:01:16,110
Now, second, we have application security.

35
00:01:16,110 --> 00:01:17,760
Application security is used

36
00:01:17,760 --> 00:01:19,230
to safeguard our software from being

37
00:01:19,230 --> 00:01:21,150
manipulated during its lifecycle.

38
00:01:21,150 --> 00:01:23,910
At its core application security techniques are going to be

39
00:01:23,910 --> 00:01:25,710
used to ensure that any custom software

40
00:01:25,710 --> 00:01:27,600
that our organization develops is going to be

41
00:01:27,600 --> 00:01:29,760
free of vulnerabilities within its code base.

42
00:01:29,760 --> 00:01:32,970
To do this, we perform static analysis, dynamic analysis,

43
00:01:32,970 --> 00:01:35,940
and package monitoring of our custom applications.

44
00:01:35,940 --> 00:01:37,860
Now, a static analysis is going to be used

45
00:01:37,860 --> 00:01:40,620
to analyze an application source code without actually

46
00:01:40,620 --> 00:01:42,840
running or executing that source code.

47
00:01:42,840 --> 00:01:44,640
Static analysis techniques are used

48
00:01:44,640 --> 00:01:47,250
to spot potential vulnerabilities inside of your code base,

49
00:01:47,250 --> 00:01:49,380
and this can be performed using a manual review

50
00:01:49,380 --> 00:01:51,330
where you read each and every line of the source code,

51
00:01:51,330 --> 00:01:53,070
and then look for potential vulnerabilities.

52
00:01:53,070 --> 00:01:55,560
Or you can do this by using automated tools

53
00:01:55,560 --> 00:01:57,330
to automatically analyze the source code

54
00:01:57,330 --> 00:02:00,240
or a compiled binary to identify any insecure coding

55
00:02:00,240 --> 00:02:03,210
practices that may have been used by your developers.

56
00:02:03,210 --> 00:02:05,130
Now, a dynamic analysis on the other hand,

57
00:02:05,130 --> 00:02:07,920
is going to evaluate an application as it's being run

58
00:02:07,920 --> 00:02:09,900
to determine if there are any vulnerabilities inside

59
00:02:09,900 --> 00:02:11,070
of that application.

60
00:02:11,070 --> 00:02:14,130
Dynamic analysis tools like the OWASP ZAP, Burp Suite,

61
00:02:14,130 --> 00:02:15,990
or the Peach Fuzzing tools can be used

62
00:02:15,990 --> 00:02:18,120
to interact with the application in real time

63
00:02:18,120 --> 00:02:20,310
by emulating a potential attack vector against

64
00:02:20,310 --> 00:02:22,320
the application and then determining if it would be

65
00:02:22,320 --> 00:02:24,720
vulnerable to that specific type of attack.

66
00:02:24,720 --> 00:02:26,610
Now, the final technique we need to talk about

67
00:02:26,610 --> 00:02:28,080
that's used in application security

68
00:02:28,080 --> 00:02:29,940
is known as package monitoring.

69
00:02:29,940 --> 00:02:31,950
Package monitoring ensures that the libraries

70
00:02:31,950 --> 00:02:34,110
and components that your application depends on

71
00:02:34,110 --> 00:02:35,760
are secure and up to date.

72
00:02:35,760 --> 00:02:37,020
Now there are many tools available

73
00:02:37,020 --> 00:02:39,507
to conduct package monitoring, including things like Snyk

74
00:02:39,507 --> 00:02:42,180
and Dependabot, which are used to continuously scan

75
00:02:42,180 --> 00:02:44,340
your application's dependencies and then alert

76
00:02:44,340 --> 00:02:46,290
your developers to any known vulnerabilities

77
00:02:46,290 --> 00:02:48,420
that may exist inside of those dependencies

78
00:02:48,420 --> 00:02:49,650
so they'll be able to mitigate those

79
00:02:49,650 --> 00:02:52,650
before an attacker discovers them and exploits them.

80
00:02:52,650 --> 00:02:54,990
Third, we have penetration testing.

81
00:02:54,990 --> 00:02:57,660
Now, penetration testing, also known as pen testing,

82
00:02:57,660 --> 00:03:00,270
is used to simulate a real world attack on a system

83
00:03:00,270 --> 00:03:02,310
to evaluate its security posture.

84
00:03:02,310 --> 00:03:04,140
When you examine your pen test results,

85
00:03:04,140 --> 00:03:05,940
you're going to be looking through the report to understand

86
00:03:05,940 --> 00:03:08,310
how the penetration testers were able to infiltrate

87
00:03:08,310 --> 00:03:11,370
or exploit your systems because an attacker is likely to use

88
00:03:11,370 --> 00:03:14,310
similar attack vectors and exploitation techniques too.

89
00:03:14,310 --> 00:03:17,250
Then as a cybersecurity professional, your role is going to be

90
00:03:17,250 --> 00:03:19,200
to mitigate these issues that were identified

91
00:03:19,200 --> 00:03:21,570
during the penetration test as part of that report,

92
00:03:21,570 --> 00:03:23,190
so that way penetration testers

93
00:03:23,190 --> 00:03:25,950
and future potential attackers will be unable to exploit

94
00:03:25,950 --> 00:03:29,040
your systems using those same methods again in the future.

95
00:03:29,040 --> 00:03:31,500
Fourth, we have system and process audits.

96
00:03:31,500 --> 00:03:33,600
Now, system and process audits are a process

97
00:03:33,600 --> 00:03:35,580
that involves conducting a comprehensive review

98
00:03:35,580 --> 00:03:37,110
of your information systems,

99
00:03:37,110 --> 00:03:39,270
security policies and procedures.

100
00:03:39,270 --> 00:03:41,880
These audits help to ensure that your organization adheres

101
00:03:41,880 --> 00:03:43,410
to the security best practices

102
00:03:43,410 --> 00:03:45,330
and relevant industry standards.

103
00:03:45,330 --> 00:03:47,280
When it comes to identifying vulnerabilities,

104
00:03:47,280 --> 00:03:50,430
you should usually use a four step process of planning,

105
00:03:50,430 --> 00:03:52,830
testing, implementing, and auditing.

106
00:03:52,830 --> 00:03:55,530
During your first step, we need to conduct planning.

107
00:03:55,530 --> 00:03:58,320
Now, planning entails laying down your policies, procedures,

108
00:03:58,320 --> 00:04:00,390
and mechanisms to systematically track

109
00:04:00,390 --> 00:04:03,120
and evaluate vulnerabilities inside of your systems.

110
00:04:03,120 --> 00:04:05,040
Effective planning will include determining

111
00:04:05,040 --> 00:04:08,100
how you're going to test and deploy fixes on your systems too.

112
00:04:08,100 --> 00:04:10,920
During your second step, we need to conduct testing.

113
00:04:10,920 --> 00:04:12,840
Now, testing involves evaluating patches

114
00:04:12,840 --> 00:04:14,550
and updates in a controlled environment

115
00:04:14,550 --> 00:04:16,290
before you conduct a broad deployment

116
00:04:16,290 --> 00:04:18,480
across the entire enterprise network.

117
00:04:18,480 --> 00:04:20,970
By conducting testing, we can ensure that the solutions

118
00:04:20,970 --> 00:04:22,590
we're using to mitigate vulnerabilities

119
00:04:22,590 --> 00:04:24,750
are not creating any new vulnerabilities, issues,

120
00:04:24,750 --> 00:04:26,820
or problems for our systems.

121
00:04:26,820 --> 00:04:29,970
During our third step, we need to conduct implementation.

122
00:04:29,970 --> 00:04:32,220
Now, implementation involves deploying these patches

123
00:04:32,220 --> 00:04:34,950
across the necessary devices and applications.

124
00:04:34,950 --> 00:04:37,200
Whether it's a small network with a few devices

125
00:04:37,200 --> 00:04:39,900
or a large enterprise network of thousands of endpoints,

126
00:04:39,900 --> 00:04:42,060
implementing the updates is going to be a crucial step

127
00:04:42,060 --> 00:04:43,860
for you that you have to perform in order

128
00:04:43,860 --> 00:04:46,170
to mitigate the vulnerabilities that you identified

129
00:04:46,170 --> 00:04:48,720
during your scans and your auditing process.

130
00:04:48,720 --> 00:04:50,310
And then we go into our fourth step,

131
00:04:50,310 --> 00:04:52,320
and this is where we need to conduct auditing.

132
00:04:52,320 --> 00:04:54,360
Now, auditing ensures that the security patches

133
00:04:54,360 --> 00:04:56,460
and configuration changes needed to mitigate

134
00:04:56,460 --> 00:04:58,500
those identified vulnerabilities have actually

135
00:04:58,500 --> 00:04:59,910
been implemented effectively,

136
00:04:59,910 --> 00:05:01,800
and you can verify that there are no issues

137
00:05:01,800 --> 00:05:03,750
that have been identified after you completed

138
00:05:03,750 --> 00:05:05,340
your implementation step.

139
00:05:05,340 --> 00:05:08,430
So remember, identifying vulnerabilities is the systematic

140
00:05:08,430 --> 00:05:10,680
practice of spotting and categorizing weaknesses

141
00:05:10,680 --> 00:05:12,900
in a system, network, or application

142
00:05:12,900 --> 00:05:14,700
that could potentially be exploited.

143
00:05:14,700 --> 00:05:17,310
Identifying the vulnerabilities in your systems is critical

144
00:05:17,310 --> 00:05:19,350
so that we can increase the security of our systems

145
00:05:19,350 --> 00:05:20,940
to prevent unauthorized access

146
00:05:20,940 --> 00:05:21,930
and maintain the integrity

147
00:05:21,930 --> 00:05:24,330
of our organization's systems and data.

148
00:05:24,330 --> 00:05:26,850
There are many methods used to identify vulnerabilities,

149
00:05:26,850 --> 00:05:28,380
including vulnerability scanning,

150
00:05:28,380 --> 00:05:31,020
application security techniques, penetration testing

151
00:05:31,020 --> 00:05:33,180
and security and process auditing.

152
00:05:33,180 --> 00:05:34,470
By identifying vulnerabilities

153
00:05:34,470 --> 00:05:36,450
and mitigating them, we can increase the level

154
00:05:36,450 --> 00:05:38,940
of security in our organization, maintain higher levels

155
00:05:38,940 --> 00:05:40,080
of uptime, and ensure

156
00:05:40,080 --> 00:05:42,210
that the organization stays resilient in the face

157
00:05:42,210 --> 00:05:43,623
of potential cyber threats.

