Security architectures for distributed systems Flashcards

1
Q

Introduction on Security architectures for distributed systems

A
  • We’ve talked about single-machine security – but that’s not enough any more
    • Multiple machines within a single workflow
    • Multiple services being consumed * So we need to consider the effects on security of having several machines co-operating
    • Providing services
    • Acting as user agents
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How does Distribution make things more “insecure”?

A

Note: Accessing remote machines almost intrinsically introduces security problems.

  1. Fundamentally less information about users
  2. More points of attack
  3. Often more value in a given attack: attack the bank rather than just one customer
  4. Greater anonymity, harder to track
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is meant by a DDOS attack?

A

Meaning: A type of cyber attack involves the system being forced into a state where normal services are unavailable or where service provision is significantly degraded.

Note: Prevent anyone accessing the server, website, service, etc.

Note: Attack a router nearby or just flood it with fake traffic to prevent any genuine traffic getting through.

Note: Often this is enough, as businesses lose money as a result and disrupt customer’s access to services.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is meant by a Back-Door?

A

Meaning: A way to log-into or control a system other than through the normal secured channels.

Note: Why is it used? Because sometimes a vendor or provider needs to get in when there’s a problem for the usual route.

Note: Programmers leave themselves a way to get in even if the regular security has been compromised or disabled.
- Perhaps require console (i.e., physical) access
- Perhaps an alternative network route in
- Perhaps different credentials

Problems:
1. The system’s owners may not known the back door exists, so this could introduce a zero-day exploit.
2. Even well-regulated back doors can be vulnerable.

Key-Note:
- What one person can devise, another can break.
- No-one has a monopoly on technical skills.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Notes on identifying users on remote machines

A

Note: Local machine has potentially more information about a user than a remote one.
- For example, can definitely determine that there’s a USB dongle in the USB slot (from local machine)
- It’s possible to undermine this, for example by re-soldering the hardware
- Difficult to do, may be obvious to a user

Note: A remote machine can’t have this level of confidence
- Relies on messages about the user, for example, “This USB dongle contains this information”, but has no direct evidence for it.

Note: Since the message comes from a remote machine.
- Machine might be compromised
- Machine’s hardware might have been changed (which isn’t visible)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Notes on Identity

A

Identity is more subtle in a large-scale setting.
- A username for each machine or service
- But not necessarily common across services
- How do we know someone here is the same there?
Many systems use email addresses as usernames
- Guaranteed to be unique
- Provide a route to confirmation: person needs to have access to the address to confirm its use
- Tricky to make robust to changes in address
* Badly-written sites use email addresses as primary database keys, and then can’t allow them to be changed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Dangers of Passwords in a distributed environment

A

Extra dangers of passwords in a distributed environment.
- Replay: steal a password and re-present it
- Reuse: steal a password from one place, use it in many places – weakest link (again)
Password Managers are increasingly popular.
- Replay: don’t store actual passwords, or store them encrypted
- Reuse: generate long random password for each site
- Of course this makes them an attractive target

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

SSH Certificates to Identify users

A
  • The Secure Shell ssh can use certificates instead of passwords. Involves the following:
    • A keypair
    • Public key is installed (somehow) onto all remote machines we want to log-in to
    • Performs a key exchange algorithm to create a secure channel between the machines
  • Possession of the private key is sufficient
    • Often create multiple keypairs for different uses/roles
    • If a key is compromised, the damage is limited
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

How can we identify users on a distributed environment?

A
  1. Passwords
  2. SSH Certificate
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Out-sourcing security

A

Note: Because we have a system with lots of services, we have more flexibility in designing our security.
- In other words, rather than managing our usernames, passwords and 2FA by ourselves, we can offload it to a third party (A trusted party, such as Facebook, Twitter, Google, etc).

Note: We can re-use the credentials from another service.
- Since many (most?) people have some form of social media, make use of these services’ credentials
- They have significant reputations to protect, so will tend to be careful with their security
- Let the experts deal with it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Open Authorisation

A

Meaning: A standard that allows users to grant access to their data without sharing their login credentials.

Note: OAuth allows users to grant access to their data without sharing their login credentials. Instead, OAuth provides access tokens to third-party services.

Note: A structured bearer token protocol to re-use credentials.
- Access tokens delegate some permissions to client (possibly none).

Steps:
1. The client requests access token from authorisation server.
- This may generate an interaction with the user to confirm what permissions to delegate.
2. The client receives access token
- The access token can encode permissions that the user allows the client to exercise on their behalf.
3. The client presents token to resource server to manipulate its data.

Note: OAuth tokens also expire, and there’s a related protocol for re-acquiring a new one.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the advantages and disadvantages of delegating your authentication.

A

Pros:
1. Convenient (A single username/password to control)
2. You want need multiple passwords for multiple sites, instead you have on password linked to multiple sites
3. Providers don’t have to build their own security infrastructure for authenticating users.
4. Shared Identity at many different services.

Note: Even if no permissions delegated the token is still useful as proof of identity

Cons:
1. Shared Identity makes profiling and surveillance easier.
2. Increases the damage that might be done by a breach
- Your shared account is now a prime target for potential theft.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Using Biometrics for identifying users in distribution.

A

We can store faces/fingerprints
- Makes for a very tempting target.
- Can be re-used beyond the intended purpose.

Note: It is simply to risky to have biometric data stored on a central service, this makes it a target for theft.

Makes use of distribution
- Authenticate local devices (e.g., on a phone)
- Generate a hash (using biometric data) that can be used a password.
- Use OAuth or similar to do the key exchange.
- Key-Note: Biometrics never leave the user device.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Identifying machines

A

Key-Note: Machines have identities too,
- MAC Addresses: a unique 12-digit hexadecimal number that identifies a device on a network.
- IP Addresses: a unique address that identifies a device on the internet.
- DNS Names: a memorable website name that is translated by the DNS into an IP Address.

When we build systems we typically make use of these identities.
- Remote log-in to a machine identified by its name.
- Opening a URL

Opens up to some easy attacks, like easily-mistyped domains.
- Leveraging human limitations again.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Notes on DNS

A

Key-Note: The Domain Name System maps structured network and machine names to IP addresses.

Extra-Note: Like many internet services it’s a relic of a more trusting time.
- Returns information to anyone who asks.
- Utterly essential to network operations.

Key-Note: We can create more secure layers, such as constructing a list of “suspect/dodgy” domains and check for requests from them.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is meant by a DNS poisoning attack?

A

Meaning: a type of attack that involves redirect web traffic toward fake web servers and fake websites.

Note: Change a DNS entry and all lookups can be sent to a different machine/website/web-server.

Extra-Note: When connecting to a machine in SSH, the command prompt may ask if this is the machine you want to connect to. This may be because the machine has changed (for legitimate or malicious reasons).

17
Q

What is meant by an Adversary-in-the-middle (AITM or MITM)?

A

Meaning: An attack in which a malicious attacker has intercepted a communication channel between two people.

Note: Several of these attacks rely on a machine sitting between the user and the legitimate server.
- Attacker may pass information on - but only after stealing something from it (Possibly a username and password for use later).

Key-Note: Relies on the (in)ability to identify a specific machine.
- Being able to do so (from a security POV) is a critical function.

18
Q

What is meant by a supply-chain attack?

A

Meaning: An attack that involves using third-party tools or services to attack a system or network.

Note: Don’t attack the target system, attack a service it uses or downloads software from (Third-party).

Key-Note: Almost no modern systems are built from scratch, with all their software, and no dependencies.
- Widely-used libraries and services are therefore an attractive target.

Example: Modify a library to include malicious code, infected library is then uploaded to the target, possibly automatically, now the target has a known vulnerability to attack.

19
Q

Notes on Weakest Links

A

Note: Any system is only as secure as its weakest link.

Note: Distributed systems introduce a lot more links
- Automated update procedures (Possible Supply-chain attack)
- Shared services (OAuth)

Note: Security relies on trust, which now needs to be extended to relatively unknown participants
- Gaining a reputation for security

Key-Note: In today’s world all systems are distributed, so these styles of attacks can be used against even systems that don’t seem at first glance to be distributed.

20
Q

How can we address this problems?

A

Context: Clearly insecure services introduce vulnerabilities.

Provide everything in-house:
- All services provided internally
- Minimise, limit, and control use of external services.
- Control traffic entering the network, and therefore able to interact with the machines.

21
Q

What is meant by boundary routers?

A

Meaning: connects small networks to a larger network (internet).

We can deploy some security approaches on here.
- Only allow some MAC addresses to access some services
- Filter-out all traffic except what we’re expecting
- Close-down ports we don’t need.
- utilize a firewall (monitor and filter incoming traffic).

22
Q

What is meant by a DMZ in relation to security?

A

Meaning: a sub-network that separates the internal networks from the external networks (internet). The goal is to protect the internal network, from untrusted and/or malicious traffic coming into the network.

Note: A demilitarised zone of untrusted services.
- Compromise isn’t all that critical
- Insecure connections, for example WIFI users.
- Different user credentials.

Might include features such as:
- Having multiple firewalls
- Having its own DNS server (to prevent DNS poisoning).
- Having its own upgrade server to prevent supply-chain attacks.

23
Q

Assessment

A
  • Virtual Networks can encapsulate exactly the services and policies we want.
    • Because they’re virtual, several can co-exist
    • Encrypt everything transparently on the wire
    • The entire virtual infrastructure is software, and so can be controlled, versioned, and modified easily.
  • The physical infrastructure may be a weakness.
    • Need to keep the host machines secure.
    • Upgrades can be more tricky