Explain the basics of being safe online, including what cybersecurity is and its potential impact.
Explain the most common cyber threats, attacks and vulnerabilities.
Explain how organizations can protect their operations against these attacks.
Access various information and resources to explore the different career options in cybersecurity.
Module 2 - Attacks, Concepts and Techniques
Welcome to this module, which will explore the different methods that cybercriminals use to launch an
attack
Understanding what these are and how they work is the best way to protect ourselves. So, let’s make sure
you know what you’re up against.
Chapter 2.3 - Security Vulnerability and Exploits
Before we get into the details, let’s start by outlining some key terms that you need to know.
Security vulnerabilities are any kind of software or hardware defect. A program written to take
advantage of a known vulnerability is referred to as an exploit. A cybercriminal can use an exploit
against a vulnerability to carry out an attack, the goal of which is to gain access to a system, the
data it hosts or a specific resource.
2.3.1 Hardware Vulnerabilities
Hardware vulnerabilities are most often the result of hardware design flaws. For example, the type
of memory called RAM basically consists of lots of capacitors (a component which can hold an
electrical charge) installed very close to one another. However, it was soon discovered that, due to
their close proximity, changes applied to one of these capacitors could influence neighbor
capacitors. Based on this design flaw, an exploit called Rowhammer was created. By repeatedly
accessing (hammering) a row of memory, the Rowhammer exploit triggers electrical interferences that
eventually corrupt the data stored inside the RAM.
Meltdown and Spectre
Google security researchers discovered Meltdown and Spectre, two hardware vulnerabilities that
affect almost all central processing units (CPUs) released since 1995 within desktops, laptops,
servers, smartphones, smart devices and cloud services.
Attackers exploiting these vulnerabilities can read all memory from a given system (Meltdown), as
well as data handled by other applications (Spectre). The Meltdown and Spectre vulnerability
exploitations are referred to as side-channel attacks (information is gained from the implementation
of a computer system). They have the ability to compromise large amounts of memory data because the
attacks can be run multiple times on a system with very little possibility of a crash or other
error.
Hardware vulnerabilities are specific to device models and are not generally exploited through
random compromising attempts. While hardware exploits are more common in highly targeted attacks,
traditional malware protection and good physical security are sufficient protection for the everyday
user.
2.3.2 Software Vulnerabilities
Software vulnerabilities are usually introduced by errors in the operating system or application
code.
The SYNful Knock vulnerability allowed attackers to gain control of enterprise-grade
routers, such
as the legacy Cisco ISR routers, from which they could monitor all network communication and
infect
other network devices.
This vulnerability was introduced into the system when an altered IOS version was installed
on the
routers. To avoid this, you should always verify the integrity of the downloaded IOS image
and limit
the physical access of such equipment to authorized personnel only.
2.3.3 Categorizing Software Vulnerabilities
Most software security vulnerabilities fall into several main categories.
Buffer owerflow
Buffers are memory areas allocated to an application. A vulnerability occurs when data is
written beyond the limits of a buffer. By changing data beyond the boundaries of a buffer,
the application can access memory allocated to other processes. This can lead to a system
crash or data compromise, or provide escalation of privileges.
Non-validated input
Programs often require data input, but this incoming data could have malicious content,
designed to force the program to behave in an unintended way.
For example, consider a program that receives an image for processing. A malicious user
could craft an image file with invalid image dimensions. The maliciously crafted dimensions
could force the program to allocate buffers of incorrect and unexpected sizes.
Race conditions
This vulnerability describes a situation where the output of an event depends on ordered or
timed outputs. A race condition becomes a source of vulnerability when the required ordered
or timed events do not occur in the correct order or at the proper time.
Weakness in security practices
Systems and sensitive data can be protected through techniques such as authentication,
authorization and encryption. Developers should stick to using security techniques and
libraries that have already been created, tested and verified and should not attempt to
create their own security algorithms. These will only likely introduce new vulnerabilities.
Access control problems
Access control is the process of controlling who does what and ranges from managing physical
access to equipment to dictating who has access to a resource, such as a file, and what they
can do with it, such as read or change the file. Many security vulnerabilities are created
by the improper use of access controls.
Nearly all access controls and security practices can be overcome if an attacker has
physical access to target equipment. For example, no matter the permission settings on a
file, a hacker can bypass the operating system and read the data directly off the disk.
Therefore, to protect the machine and the data it contains, physical access must be
restricted, and encryption techniques must be used to protect data from being stolen or
corrupted.
2.3.4 Software updates
The goal of software updates is to stay current and avoid exploitation of vulnerabilities.
Microsoft, Apple and other operating system producers release patches and updates almost every day
and applications such as web browsers, mobile apps and web servers are often updated by the
companies or organizations responsible for them.
Despite the fact that organizations put a lot of effort into finding and patching software
vulnerabilities, new vulnerabilities are discovered regularly. That’s why some organizations use
third party security researchers who specialize in finding vulnerabilities in software, or actually
invest in their own penetration testing teams dedicated to search, find and patch software
vulnerabilities before they can get exploited.
Google’s Project Zero is a great example of this practice. After discovering a number of
vulnerabilities in various software used by end users, Google formed a permanent team dedicated to
finding software vulnerabilities. You can find out more about Google’s security research
here.
2.3.5 What Do You Think?
This has made you think about some of the vulnerabilities that may exist at @Apollo. After some
investigation you’ve noted some potential issues.
Can you identify what category each of these vulnerabilities falls into? You have a chance to earn
some defender points here and further safeguard @Apollo, so take your time.
On starting at @Apollo, your network password was emailed to you in plain text and you were
not prompted to change it
Past employees still have access to @Apollo’s customer database
New users can log into their @Apollo account, even if they have signed up with an
incorrectly formatted email address
You have taken a step closer to safeguarding @Apollo from attack. Remember:
Emailing sensitive information such as passwords in plain text is extremely risky and is a
weakness in security practice. This information should at the very least be encrypted.
Past employees should not have access to customer information when leaving a company. This is a
serious access control problem.
New users need to be validated before anything else can be done with their data. Using an
incorrectly formatted email address to log on is a non-validated input error.