Chapter 1: Introduction

Pfleeger, C. P., Pfleeger, S. L., Margulies, J., Security In Computing, 5th Edition. Pearson, 2015

In this chapter:

  • Threats, vulnerabilities, and controls
  • Confidentiality, integrity, and availability
  • Attackers and attack types; method, opportunity, and motive
  • Valuing assets

This book teaches us about how computers fail (either intentionally or not) and how to safeguard against the impact these failures can have. Basic questions to consider are the what, who, where, and why. Here we explore what tools are used and what can be affected, who is responsible, where it can occur, and why it happens.

1.1 What Is Computer Security?

Computer security is the protection of assets. Assets are the items of value which can involve:

  • hardware
  • software
  • data
  • people
  • processes
  • access to data
  • quality of service
  • network connectivity
  • reputation

We need to determine what needs protecting by exploring the assets and what value they have, and to whom.

Hardware and software can be relatively easy and inexpensive to replace, the data that it contains not so much.

If you have a computer with a book you are writing, a product you are designing, or thousands of important people’s confidential contact details, you will want to protect these from malicious eyes. The hardware this data is stored on and the software used to access it also needs to be protected.

Generally, the assets that make up a computer are referred to as a ‘computer system’, and this also includes embedded software that lives in medical devices, heating controls, and cars.

Value of Assets

We know the assets we want to protect, but how do we ascertain the value of them? We need to make a calue-based decision. This could be monetary or sentimental and depends on the perspective of the person who owns them. A mugger for example will want your phone and wallet, but not a photo of your loved one. Company secrets are extremely high value, and hackers can be paid a lot of money to obtain this information.

This book teaches us about how computers fail (either intentionally or not) and how to safeguard against the impact these failures can have. Basic questions to consider are the what, who, where, and why. Here we explore what tools are used and what can be affected, who is responsible, where it can occur, and why it happens. p33-34

The Vulnerability-Threat-Control Paradigm

The objective of computer security is to protect valuable assets.

A framework, called the Vulnerability-Threat-Control paradigm, is used to assess what harm could occur and what can be done to control it.

  • A vulnerability is a weakness in a system.
  • A threat can be something that has the potential to cause harm.
  • A control prevents threats from exploiting vulnerabilities.

Computer system threats are numerous, and can be a result of human error or naturally caused. Floods and fires and damage hardware and people; software can fail.

A human or exploiting a vulnerability on a system is called an attack. Systems can also attack systems such as DDoS attacks, and buffer overflows.

The analogy used to explain the VTC paradigm is a man standing by a crack in a dam. If the water level rises to meet the crack, the water will reach the man resulting in him potentially drowning. The crack in the wall is a vulnerability that, if exploited by the water, could result in harming the man.

What controls could we put in place? We could remove the man, or remove the water. We could place the man in a boat. We could prevent the water from reaching the crack. We could patch the crack.

A control is an action, device, procedure or technique that prevents harm as a result of the vulnerability being exploited:

Controls prevent threats from exercising vulnerabilities, a threat is blocked by control of a vulnerability p34-35

1.2 Threats

Harm to assets are consider threats, and we examine the effect on those assets and what caused it. This helps us implement safeguards to prevent threats from occurring.

As users, we rely on the computer’s integrity (we expect it to save our work), availability (have our data ready when we need it, and confidentiality (an email is only shared between you and the recipient, users have to login to their accounts, etc).

These three aspects form the CIA triad which form the value you impose on your computer.

These properties are basic security properties and the objects of security threats, and are used as our security taxonomy:

  • Confidentiality – the ability of a system to ensure that an asset is viewed only by authorized parties
  • Integrity – the ability of a system to ensure that an asset is viewed only by authorized parties
  • Availability – the ability of a system to ensure that an asset is viewed only by authorized parties

Three additional desirable properties are:

  • authentication: the ability of a system to confirm the identity of a sender
  • nonrepudiation or accountability – the ability of a system to confirm that a sender cannot convincingly deny having sent something
  • auditability – the ability of a system to trace all actions related to a given asset. (US Department of Defense)

The nature of harm caused to assets covers four acts: interception, interruption, modification, and fabrication:

If someone intercepts your data, your confidentiality is compromised. If someone interrupts, availability is lost, and if someone modifies or fabricates false data integrity is lost.

Let’s examine the three elements of the CIA triad more closely:

Confidentiality

A general rule is that only authorised people or systems can access protected data – and protected data can be anything. Even something as innocuous as a library record may hold data about what books a person is taking out, if they have an illness they wish to keep confidential, or are pregnant, these books might give a clue as to what they wish to hide. Bank statements may hold confidential purchases, and emails may contain private information.

However: who has access to this information? The librarian? The council body? Shareholders? Internet service providers? And how much access do they have? If they own the data but cannot view it, can they share it with another body who could view it?

A fundamental policy of computer security is SOAP: subject, object, access mode, policy.

  • The person, process or program is the subject (who is carrying out the data access)
  • The data item being accessed is the object (a database, file, email)
  • How the subject accessed the data is called the access mode (read, write, execute)
  • Whether or not the subject is authorised to access is the policy.

Confidentiality is considered as a ‘view’: the data can be viewed but not modified.

Integrity

Integrity can mean different things in different contexts, but is usually considered to be unwanted changes to data. Pentium once replaced a chip because it was incorrectly computing floating-point arithmetic; this is an example of either user error or hardware failure.

Preserving the integrity of data can mean that it is completely unmodified, or modified by authorised sources.

Welke and Mayfield state there are three aspects of integrity:

  • authorised actions
  • separation and protection of resources
  • error detection and correction

Data integrity can be protected by controlling who can access that data and how. A spreadsheet for example can be opened in ‘Protected View’ meaning it cannot be edited and so remains unchanged.

Availability

Availability applies to data and services: if your computer breaks, you cannot access your data. If a server goes down, you cannot login to a website. Like with integrity, the definition of availability depends on the context.

This can be anything from data being ready to use, like a file that you can open, to a system employing ‘fault tolerance’, where the user is warned the system may go down and they can transfer to another means of operation.

The diagram below shows a Venn diagram that shows the different elements that affect availability:

Computer security seeks to prevent unauthorised viewing (confidentiality), or modification of data (integrity) while preserving access (availability). p40

Access control is a paradigm of computer security, and an access control policy controls how users access and use data. However, should this policy ever be maliciously modified, it affects availability for those users.

Types of Threats

Willis Ware was a computer scientist concerned with preserving the confidentiality of classified data. His diagram below (despite being drawn in 1970 for the Ware Report) demonstrates the different types of threats that can affect a computer system:

A potential cause of harm is called a threat, and can be caused by humans, natural disasters, power failures, etc.

Humans are usually responsible for malicious attacks, however they can also attack in other ways: spilling a drink on a laptop, sending an email to the wrong person, even making a typo. In these cases the only mitigation is ensuring no further harm can occur.

There are three types of malicious human-caused harm:

  • random attacks – the attacker wants to harm any user or computer, for example malicious code on a website
  • directed attacks – the attacker has a specific target in mind, such as an organisation’s computer system or an individual’s bank account, a software product such as Firefox browser users.
  • advanced persistent threat (APTs)

Types of Attackers

1.3 Harm

1.4 Vulnerabilities

1.5 Controls

1.6 Conclusion

1.7 What’s Next?

1.8 Exercises