1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3...

62
1 Security (Datensicherh eit) Chapter 9 1 The security environment 2 Basics of cryptography 3 User authentication 4 Attacks from inside the system 5 Attacks from outside the system 6 Protection mechanisms 7 Trusted systems

Transcript of 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3...

Page 1: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

1

Security(Datensicherheit)

Chapter 9

9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system 9.5 Attacks from outside the system 9.6 Protection mechanisms 9.7 Trusted systems

Page 2: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

2

Ziele und Bedrohungen

ZieleVertraulichkeitIntegritätVerfügbarkeitVerbindlichkeitAnonymitätAuthentizitätZugriffsbeschränkung

Bedrohungen–Höhere Gewalt

• Feuer, Wasser, Blitz,Naturkatastrophen, Krankheit

–Organisatorische Mängel• Fehlende Regelungen und

Betriebsmittel–Fehlhandlungen

• Unbewußte Passwortpreisgabe,• Unbeabsichtigte Beschädigungen

–Technisches Versagen• Ausfälle• Fehlverbindungen• Softwarefehler, Schwachstellen• Verdeckte Kanäle

–Vorsätzliche Handlungen

Dienste,Mechanismen undManagement

Page 3: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

3

Bedrohungen• Vorsätzliche Handlungen

– Klassische Delikte• Diebstahl, Einbruch, Vandalismus,

Sabotage(neu: gestohlene Laptops)

– Klassische Spionage• Abhören, Ausspähen

(neu: IT-Industriespionage)

– IT - und Netz - Intrusions• Manipulation, Sabotage• Auftragsüberflutung• Abhören, Ressourcen-Zugriffe• Flußanalyse• Zugriffe auf verdeckte Kanäle• Paßwortausspähen• Kryptoanalyse• Maskerade• Viren, Bomben,

Trojanische Pferde, Würmer, Hintertüren

Page 4: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

4

BedrohungenAnsatzpunkte• An Nutzer-Stelle treten• Schwachstellen ausnutzen

– Planung und Administration• Kontroll-Lücken• schwache Kontrolle

– Software und Protokolle• Entwurfsfehler• Programmierfehler• Bombe• Hintertür

– benutzte Dienste• DNS• Authentifikation

• Zugang / Zugriff erzwingen– Einbruch / Diebstahl– Anzapfen

• Fortpflanzung im Netz

Angriffsmuster• Host-Angriff

– Aushorchen und Ausspähen– Maskerade– Einschleusen von Angriffs-SW– Abhören / Auslesen /

Manipulation von BM und BS– Zerstörung

• Netz-Angriff– Erkundung– Abhören / Abfangen /

Einspielen– Maskerade / Spoofing– Wiedereinspielen / Replay– Ersetzen von Komponenten

und Diensten– Stören von Komponenten– Last-Erzeugung

Host

Anwendung

System

Router

System

Dienst

Nutzer

Page 5: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

5

AngriffssoftwareQuellen

Dokumente / Programme per

• Datenträger

• Download

• E-Mail-Anhang

• Aktive WWW-Inhalte

• Fern-Administration

Wirkungen

• Bombe

• Hintertür

• Trojanisches Pferd

• Stützpunkt

Fortpflanzung

• im Host: Virus

• im Netz: Wurm

Page 6: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

6

Angriffswerkzeuge

Tools• im WWW abrufbar• Hacker-Knowhow für alle• Automatisierung

• Scanner– Ports und Systeme– Verzeichnisse

• Sniffer– IP-Pakete, TCP-Verbindungen– Sitzungen

• Attack– Raten und Probieren– Schwachstellen-Angriffe (z.B.

Sendmail Puffer-Überlauf)– Produkt-Angriffe (z.B. Hacking

Novell Netware)– Verteilte DoS-Angriffe

• Support– Passwort-Cracker– Passwort-Listen– Hacker-Informationssysteme

PotentiellerAngreifer

Ziel

Anwendung

System

Page 7: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

7

Maßnahmen

• Infrastruktur

– Gebäudetechnik, Lagerung und Versorgung

• Organisation

– Verfahren und Regelungen

– Zuständigkeiten und Aufgaben

– Beratung, Betreuung, Kontrolle

– Dokumentation

Personal

– Qualifikation

– geregelte Übergaben und Zuständigkeiten

– Vertrauenswürdigkeit Notfallvorsorge

– Regelungen, Übungen

– Ersatz, Ersatzvereinbarungen

– Aufbewahrung Maßnahmen in Hard-,

Software und Kommunikationseinrichtungen

Bequemlichkeit und Nachlässigkeit Automatisierung und Zwang

Datenschutz und Betriebsverfassung

Page 8: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

8

Sicherheitsdienste• Authentifikationsdienste

• Autorisierungsdienste

• Vertraulichkeitsschutzdienste

• Integritätsdienste

• Verfügbarkeitsschutzdienste

• Verbindlichkeitsdienste

– Signaturzertifizierungs- undAuskunftsdienste

• Zahlungsdienste

• Produktzertifizierungsdienste

• Mehrseitige Sicherheit– Nutzer– Arbeitgeber– Geschäftspartner– Kunden

– TK-Provider– Produktlieferant

– Staat– Gesellschaft

– ……

Page 9: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

9

Sicherheitsmechanismen• Systembeobachtung und Prüfung

• Schwachstellenermittlung

• Zugangs-, Zugriffs- und Verkehrskontrolle

• Ausweisfunktionen

• Proaktive Systemänderungen

– z.B. Passwortwechsel

• Vertrauenswürdige 3. Parteien

• Kryptosysteme

• Zahlungssysteme

• Leistungsbeschränkungen

• Redundanz

– Server, Kommunikation

– Speicher, Daten, Backup

• Vernebeln und Ablenken• Sichere Kommunikationsprotokolle• Authentifikations- und

Schlüsselverteilprotokolle• Sicherheitsklassifikation und

Produktzertifizierung• Spezialhardware

– Logplatten, Chipkarten, Kryptoboxen

Page 10: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

10

SchutzPlanung und Administration• Enger Spielraum

– Zugangskontrolle– Zugriffskontrolle– Authentifikation– Verkehrskontrolle

• Überwachung– Monitoring– Logs und Audits

• Schwachstellen-Analyse• Systempflege

Schutz-Systeme

• Schwachstellen-Analysatoren

• Kontrolldienste

– Autorisierung und Authentifikation

• Inhaltsfilterung und Prüfung

– Virenscanner

• Verkehrsfilter

– Firewalls

• Abschottung

– Kryptokanäle, Tunnels

– VPNs

• Überwachung

– Intrusion Detection Systeme

– Fallstrick- undTeergruben-Systeme

Page 11: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

11

Basics of Cryptography

Relationship between the plaintext and the ciphertext

Page 12: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

12

• Monoalphabetic substitution– each letter replaced by different letter

• Given the encryption key, – easy to find decryption key

• Secret-key crypto called symmetric-key crypto

Secret-Key Cryptography

Page 13: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

13

Public-Key Cryptography

• All users pick a public key/private key pair– publish the public key– private key not published

• Public key is the encryption key– private key is the decryption key

Page 14: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

14

One-Way Functions

• Function such that given formula for f(x)

– easy to evaluate y = f(x)

• But given y

– computationally infeasible to find x

Page 15: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

15

Digital Signatures

• Computing a signature block

• What the receiver gets

(b)

Page 16: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

16

User Authentication

Basic Principles. Authentication must identify:

1. Something the user knows

2. Something the user has

3. Something the user is

This is done before user can use the system

Page 17: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

17

Authentication Using Passwords

(a) A successful login(b) Login rejected after name entered(c) Login rejected after name and password typed

Page 18: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

18

Authentication Using Passwords

• How a cracker broke into LBL– a U.S. Dept. of Energy research lab

Page 19: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

19

Authentication Using Passwords

The use of salt to defeat precomputation of encrypted passwords

Salt Password

,

,

,

,

Page 20: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

20

Authentication Using a Physical Object

• Magnetic cards– magnetic stripe cards– chip cards: stored value cards, smart cards

Page 21: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

21

Authentication Using Biometrics

A device for measuring finger length.

Page 22: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

22

Countermeasures

• Limiting times when someone can log in

• Automatic callback at number prespecified

• Limited number of login tries

• A database of all logins

• Simple login name/password as a trap– security personnel notified when attacker bites

Page 23: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

23

Operating System SecurityTrojan Horses

• Free program made available to unsuspecting user– Actually contains code to do harm

• Place altered version of utility program on victim's computer– trick user into running that program

Page 24: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

24

Login Spoofing

(a) Correct login screen(b) Phony login screen

Page 25: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

25

Logic Bombs

• Company programmer writes program– potential to do harm– OK as long as he/she enters password daily– ff programmer fired, no password and bomb explodes

Page 26: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

26

Trap Doors

(a) Normal code. (b) Code with a trapdoor inserted

Page 27: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

27

Buffer Overflow

• (a) Situation when main program is running• (b) After program A called• (c) Buffer overflow shown in gray

Page 28: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

28

Generic Security Attacks

Typical attacks• Request memory, disk space, tapes and just read• Try illegal system calls• Start a login and hit DEL, RUBOUT, or BREAK• Try modifying complex OS structures• Try to do specified DO NOTs• Convince a system programmer to add a trap door• Beg admin's sec’y to help a poor user who forgot password

Page 29: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

29

Famous Security Flaws

The TENEX – password problem

(a) (b) (c)

Page 30: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

30

Design Principles for Security

1. System design should be public

2. Default should be n access

3. Check for current authority

4. Give each process least privilege possible

5. Protection mechanism should be- simple

- uniform

- in lowest layers of system

6. Scheme should be psychologically acceptable

And … keep it simple

Page 31: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

31

Network Security

• External threat– code transmitted to target machine– code executed there, doing damage

• Goals of virus writer– quickly spreading virus– difficult to detect– hard to get rid of

• Virus = program can reproduce itself– attach its code to another program– additionally, do harm

Page 32: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

32

Virus Damage Scenarios

• Blackmail

• Denial of service as long as virus runs

• Permanently damage hardware

• Target a competitor's computer– do harm– espionage

• Intra-corporate dirty tricks– sabotage another corporate officer's files

Page 33: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

33

How Viruses Work (1)

• Virus written in assembly language

• Inserted into another program– use tool called a “dropper”

• Virus dormant until program executed– then infects other programs

– eventually executes its “payload”

Page 34: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

34

How Viruses Work (2)

Recursive procedure that finds executable files on a UNIX system

Virus couldinfect them all

Page 35: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

35

How Viruses Work (3)

• An executable program• With a virus at the front• With the virus at the end• With a virus spread over free space within program

Page 36: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

36

How Viruses Work (4)

• After virus has captured interrupt, trap vectors• After OS has retaken printer interrupt vector• After virus has noticed loss of printer interrupt vector and recaptured it

Page 37: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

37

How Viruses Spread

• Virus placed where likely to be copied

• When copied– infects programs on hard drive, floppy– may try to spread over LAN

• Attach to innocent looking email– when it runs, use mailing list to replicate

Page 38: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

38

Antivirus and Anti-Antivirus Techniques

(a) A program(b) Infected program(c) Compressed infected program(d) Encrypted virus(e) Compressed virus with encrypted compression code

Page 39: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

39

Antivirus and Anti-Antivirus Techniques

Examples of a polymorphic virus

All of these examples do the same thing

Page 40: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

40

Antivirus and Anti-Antivirus Techniques

• Integrity checkers• Behavioral checkers• Virus avoidance

– good OS– install only shrink-wrapped software– use antivirus software– do not click on attachments to email– frequent backups

• Recovery from virus attack– halt computer, reboot from safe disk, run antivirus

Page 41: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

41

The Internet Worm

• Consisted of two programs– bootstrap to upload worm– the worm itself

• Worm first hid its existence

• Next replicated itself on new machines

Page 42: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

42

Mobile Code (1) Sandboxing

(a) Memory divided into 1-MB sandboxes

(b) One way of checking an instruction for validity

Page 43: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

43

Mobile Code (2)

Applets can be interpreted by a Web browser

Page 44: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

44

Mobile Code (3)

How code signing works

Page 45: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

45

Java Security (1)

• A type safe language– compiler rejects attempts to misuse variable

• Checks include …1. Attempts to forge pointers2. Violation of access restrictions on private class members3. Misuse of variables by type4. Generation of stack over/underflows5. Illegal conversion of variables to another type

Page 46: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

46

Java Security (2)

Examples of specified protection with JDK 1.2

Page 47: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

47

Protection Mechanisms Protection Domains (1)

Examples of three protection domains

Page 48: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

48

Protection Domains (2)

A protection matrix

Page 49: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

49

Protection Domains (3)

A protection matrix with domains as objects

Page 50: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

50

Access Control Lists (1)

Use of access control lists of manage file access

Page 51: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

51

Access Control Lists (2)

Two access control lists

Page 52: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

52

Capabilities (1)

Each process has a capability list

Page 53: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

53

• Cryptographically-protected capability

• Generic Rights1. Copy capability

2. Copy object

3. Remove capability

4. Destroy object

Capabilities (2)

Server Object Rights f(Objects, Rights, Check)

Page 54: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

54

Trusted SystemsTrusted Computing Base

A reference monitor

Page 55: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

55

Formal Models of Secure Systems

(a) An authorized state

(b) An unauthorized state

Page 56: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

56

Multilevel Security (1)

The Bell-La Padula multilevel security model

Page 57: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

57

Multilevel Security (2)

The Biba Model

• Principles to guarantee integrity of data

1. Simple integrity principle• process can write only objects at its security level or lower

2. The integrity * property• process can read only objects at its security level or higher

Page 58: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

58

Orange Book Security (1)

• Symbol X means new requirements• Symbol -> requirements from next lower category apply here also

Page 59: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

59

Orange Book Security (2)

Page 60: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

60

Covert Channels (1)

Client, server and collaborator processes

Encapsulated server can still leak to collaborator via covert

channels

Page 61: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

61

Covert Channels (2)

A covert channel using file locking

Page 62: 1 Security (Datensicherheit) Chapter 9 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system.

62

Covert Channels (3)• Pictures appear the same

• Picture on right has text of 5 Shakespeare plays– encrypted, inserted into low order bits of color values

ZebrasHamlet, Macbeth, Julius CaesarMerchant of Venice, King Lear