15 - Introduction to computer security

Class: CSCE-313


Notes:

Intro to Computer Security

Is computer security necessary?

Notes:

Examples of security problems

Notes:

Rewritten notes:

Buffer Overflow in a Nutshell

image-113.png407

Notes:

Rewritten notes:

Denial of Service

image-114.png400

Notes:

Rewritten notes:

What is computer security?

Computer security is the protection given to an information system to preserve its "CIA"!

Notes:

Why is security hard?

Notes:

1. Confidentiality

Confidentiality: Encryption

Encryption is the transformation of information using a secret (encryption key), so that the transformed information can only be read using another secret, (decryption key).

The decryption key in many cases is the same as the encryption key.

image-115.png520

Notes:

Encryption ~ Speaking

image-116.png516

Notes:

Confidentiality: access control

Access control is a set of rules and policies that limit access to confidential information to those people or systems with a "need to know."

This need to know can be determined:

Notes:

Confidentiality: Authentication

Authentication is the determination of the identity or role that someone has. This determination can be done based on a combination of items.

Notes

Confidentiality: Authorization

Authorization is the determination of whether a person or system is allowed access to resources, based on an access control policy or not.

Such authorizations should prevent an attacker from tricking the system into letting him have access to protected resources.

Notes:

Confidentiality: Physical Security

Physical security is the establishment of physical barriers to limit access to protected computational resources.

E.g.: Locks on cabinets, computers, windowless rooms, sound dampening materials, walls with copper meshes (called Faraday cages) so that electromagnetic signals cannot enter or exit the enclosure.

The only truly secure system is one that is powered off, cast in a block of concrete and sealed in a lead-lined room with armed guards - and even then I have my doubts.

Notes:

2. Integrity

Integrity-the property that information has not been altered in an unauthorized way. Integrity is a separate property than Confidentiality.

Notes:

Integrity: checksum

A checksum is a function that maps data to a numerical value.

A checksum function depends on the entire data and is designed in a way that even a small change to the input (such as flipping a single bit) is highly likely to result in a different output value.

image-117.png

Notes:

For example:

$ cat foo
ATTACK AT DAWN
$ sha1sum foo
0806b996cbad73b0f5e0f68898d3c80eaea27bcf  foo

But when we do

$ cat foo
ATTACK AT MOON
$ sha1sum foo
ee6f10e08c5a841ccd2a5261d0326623855fd3a3  foo

Integrity: error correcting codes

Error correcting codes are methods for storing data in such a way that small changes can be easily detected and automatically corrected.

A MAC is like a private hash function that only you can compute because you know the key.

image-118.png251

Notes:

3. Availability

Availability is the property that information is accessible in a timely fashion by those authorized to do so.

Computational redundancy consists of computers and storage devices that serve as a fallback in the case of failures.

Notes:

Design Principles for Secure Systems

Notes:

Questions

A Unix file system checks permissions on every file access - not just when a file is first opened/ Even if a process has already read from a file, each subsequent read is re-checked against the current ACL.

Answer: Complete mediation


A new employee at a hospital is given read/write access to all patient records, billing, HR files, and the pharmacy system - 'just in case they need it later.'

Answer: Least privilege


A bank's wire-transfer system requires both a manager's password and a hardware token before a large transfer would be approved

Answer: Separation of privileges


An operating system's kernel is kept as small as possible, with only the most essential functions inside it. Everything else runs in user space.

Answer: Economy of [protection] mechanism


An operating system's kernel security system requires users to enter a 47-step authentication ritual before they can access their own calendar. Most users end up writing their password on a sticky note.

Answer: Acceptability