Top Banner
1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security
80

1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

Dec 28, 2015

Download

Documents

Lenard Stanley
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

1

Computer NetworksAn Open Source Approach

Chapter 8: Network Security

Ying-Dar Lin, Ren-Hung Hwang, Fred Baker

Chapter 8: Network Security

Page 2: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

2

Content

8.1 General Issues 8.2 Data Security 8.3 Access Security 8.4 System Security 8.5 Summary

Chapter 8: Network Security

Page 3: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

8.1 General Issues Data security: protecting private data on the

public Internet Encryption & authentication Virtual Private

Network (VPN) Access security: deciding who can access

what TCP/IP firewall or application firewall

System security: protecting system resources from hackers Intrusion detection and prevention

Chapter 8: Network Security 3

Page 4: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

4

8.2 Data Security

Cryptography Digital Signature and Message

Authentication Link Layer Tunneling IP Security (IPSec) Transport Layer Security Comparison of VPNs

Chapter 8: Network Security

Page 5: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

5

Cryptography

Symmetric Key Algorithm Asymmetric Key Algorithm

Chapter 8: Network Security

Encryption key

Plaintext

Encrypted data

Plaintext

Decryption keyE D

if (Encryption key = = Decryption key) "It is a symmetric key system."else "It is an asymmetric key system."

Alice Bob

Page 6: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

6

Symmetric Key Algorithm

Symmetric key Encryption (public) key = Decryption (private) key

Basic elements P-BOX: Transition cipher S-BOX: Substitution cipher

Product cipher

Encoder,8 to 3

Decoder,3 to 8

P-BOX S-BOX

P1 P2 P3 P4

S4

S3

S2

S1

S8

S7

S6

S5

S12

S11

S10

S9

Product Cipher

Chapter 8: Network Security

Page 7: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

7

Data Encryption Standard (DES) Originally developed by IBM Adopted by the US government in Jan. 1977 Encrypted in blocks of 64 bits with 56-bits key A monoalphabetic substitution cipher using a 64-bit

character. Same input produces same output

Algorithm Transposition 16 iterations (with 56-bit key) 32-bit swap Inverse transposition

Chapter 8: Network Security

Page 8: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

8

Encryption Procedure of DES

Li=Ri-1

Ri=Li-1 f(Ri-1,Ki)

64 bits

InputT=t1 t2 ... t64

Initial Permutation

T0

KeySelection

16 keys:K1,...,K16

Key

Inverse Permutation

Output

16 Iterations48

64 bits

64 bits64 bits

64 bits

64 bits

Chapter 8: Network Security

Page 9: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

Computation Process of f(Ri-

1,Ki)

Chapter 8: Network Security 9

Ri-1 Key

KiE(Ri-1)

E KS

+

S1 S2 S3 S4 S5 S6 S7 S8

32 bits

48 bits

64 bits

48 nits

p

f(Ri-1,Ki)

32 bits

B1 B2 B3 B4 B5 B6 B7 B8

S1(B1) S2(B2) S3(B3) S4(B4) S5(B5) S6(B6) S7(B7) S8(B8)

Page 10: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

10

Breaking DES 56-bit key for international use but 128-bit key within

USA 56-bit key can be broken

Within 4 hours by super computers (1994) About 22 hours by a network of volunteers and a special

purpose computer that was built for less that $250,000 (1999) Solution

Run DES couple times, using different keys? Triple DES algorithm

EK3(DK2(EK1(P))) = C

DK1(EK2(DK3(C))) = P

Chapter 8: Network Security

Page 11: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

Open Source Implementation 8.1: Hardware 3DES

Chapter 8: Network Security 11

des_cipher_block1des_cipher_block2des_cipher_block3

key1key2key3

data_indata_out1data_out2data_out

Signal Direction Description

KEY1_IN[0:63] IN the first 64-bit key

KEY2_IN[0:63] IN the second 64-bit key

KEY3_IN[0:63] IN the third 64-bit key

FUNCTION_SELECT IN encryption or decryption

LDKEY IN indicates the keys are ready

LDDATA IN indicates the data are ready

RESET IN reset to the initial state

CLOCK IN synchronous clock input

DATA_OUT[0:63] OUT 64-bit encrypted/decrypted data

OUT_READY OUT output data is ready

Page 12: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

12

Asymmetric Key Algorithm

First proposed by W.Diffie and M.E. Hellman Asymmetric keys

Encryption (public) key ≠ Decryption (private) key

The encryption algorithm E and the decryption algorithm D should meet the following requirements D(E(P)) = PD(E(P)) = P Difficult to deduce D from EDifficult to deduce D from E E cannot be broken by a chosen plaintext attackE cannot be broken by a chosen plaintext attack

Chapter 8: Network Security

Page 13: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

13

RSA Algorithm

Proposed by Rivest, Shamir, and Adleman at MIT in 1978

RSA Choose two very large primes, p and q (> 1010100100)) Compute n=p*q and z=(p-1)*(q-1) Choose a number relatively prime to z and call it d Find e such that e*d=1 mod z

Plaintext Plaintext PP, 0 , 0 P P n (664-bit block is n ~ 10n (664-bit block is n ~ 10200200)) encryption key = (encryption key = (nn,,ee)) decryption key = (decryption key = (nn,,dd))

Based on the difficulty of factoring large numbers.Based on the difficulty of factoring large numbers.

) (mod P C e n ) (modC P d n

Chapter 8: Network Security

Page 14: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

14

An example of RSA

Chapter 8: Network Security

Plaintext m me c = me mod n

‘c’ 3 94143178827 181

‘l’ 12 6.6247E+24 177

‘a’ 1 1 1

‘p’ 16 4.9517E+27 169

Encrypted text, c cd m = cd mod n Plaintext

181 6.3642E+15 3 ‘c’

177 5.4426E+15 12 ‘l’

1 1 1 ‘a’

169 3.9373E+15 16 ‘p’

Procedure of Alice encrypting plaintext “clap” by using public key (n=187, e=23).

Procedure of Bob decrypting by using secret key (n=187, d=7).

Page 15: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

15

Authentication

Message Authentication Digital Signature Message Digest

Chapter 8: Network Security

Page 16: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

16

Digital Signature

3 Requirements Authentication

The receiver can verify the claimed identity of the sender.

Non repudiation The sender cannot later repudiate the contents of the

message. Integrity

The receiver cannot possibly have concocted the message itself.

Chapter 8: Network Security

Page 17: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

An Example of Digital Signature

Chapter 8: Network Security 17

PlaintextHash

function12340782

unique hash value

??!!??!!

Alice's private key

??!!??!!

Plaintext

Encrypted text

Plaintext with "Digital Signature"

Plaintext

+

a) Alice can NOT deny sending this document because she encrypts the hash value via her private key

Hash function

12340782

unique hash value

??!!??!!

Alice's public key

??!!??!!

Plaintext

Plaintext

c) The document has not been modified because of the same hash value of "12340782".

12340782

b) Bob can NOT modify the received document; otherwise these two output values will not be distinct.

The document is sent by Alice, if these two output values are the same. Otherwise, Bob can NOT identify it is sent by Alice.

Alice sends the document with “Digital Signature”.

Bob identifies whether the received document with “Digital Signature” is from Alice or not.

Page 18: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

18

Authentication without Encryption Authentication only, but without message

encryption e.g., Message broadcast from authorized source

Solution Message Digest (MD)

Use a secure (one-way) hash function H(one-way) hash function H to compute a fixed-size tag H(M||Sfixed-size tag H(M||SABAB)), called a message digestmessage digest for a given message M concatenated with a shared secret value SAB

For secret-key digital signature

Chapter 8: Network Security

Page 19: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

Open Source Implementation 8.2: MD5

Chapter 8: Network Security 19

md5_init

md5_update

md5_final

last batch of data?

const u32 avail = sizeof(mctx->block) - (mctx->byte_count & 0x3f); mctx->byte_count += len; if (avail > len) { memcpy((char *)mctx->block + (sizeof(mctx->block) - avail), data, len); return 0; } memcpy((char *)mctx->block + (sizeof(mctx->block) - avail),data, avail); md5_transform_helper(mctx); data += avail; len -= avail;  while (len >= sizeof(mctx->block)) { memcpy(mctx->block, data, sizeof(mctx->block)); md5_transform_helper(mctx); data += sizeof(mctx->block); len -= sizeof(mctx->block); } memcpy(mctx->block, data, len); return 0;

Main code of md5_update

Page 20: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

Link Layer Tunneling and IP Security Link Layer Tunneling

Point-to-Point Tunneling Protocol (PPTP) Layer-2 Tunneling Protocol (L2TP)

IP Security (IPSec) Authentication Header (AH) Encapsulation Security Payload (ESP)

Chapter 8: Network Security 20

Page 21: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

21

IPSec

Why IPSec? Provide interoperable,high quality,

cryptographically-based security for IPv4 and IPv6 communication

Security services Access control Integrity Authentication Confidentiality

Chapter 8: Network Security

Page 22: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

22

Components for IPSec

Traffic security Authentication Header (AH)

Integrity Authentication

Encapsulation Security Payload (ESP) Confidentiality

Key management and distribution Simple Key-management for IP (SKIP) Internet Key Exchange (IKE)

Chapter 8: Network Security

Page 23: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

23

Key Concept: Security Association One-way relationship between a sender and a

receiver For two-way secure exchange, two security associations are

required.

Uniquely identified by an IP and SPI SPI: security parameter index

Parameters Authentication algorithm, mode, key(s) Encryption algorithm, mode, transform, key(s) Lifetime of the keys, security association Security level, source IP, ...

Chapter 8: Network Security

Page 24: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

24

Authentication

RFC 1828 specifies the use of MD5 for authentication.

The MD5 algorithm is performed over the IP packet plus a secret key and then inserted into the IP packet.

At the destination, the same calculation is performed on the IP packet plus the secret key and compared to the received value.

Provides both authentication and data integrity.

Chapter 8: Network Security

Page 25: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

25

Authentication (cont.)

Two ways in which IP authentication service can be used End-to-end End-to-intermediate

Router/FirewallIntranet

Internet

End-to-end authentication

End-to-intermediate

Chapter 8: Network Security

Page 26: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

26

Authentication (cont.)

Length : Length of Authentication Data field in 32-bits words.Length : Length of Authentication Data field in 32-bits words.Security Parameters index: Identifies a security association.Security Parameters index: Identifies a security association.

Security Parameter Index (SPI)

Authentication Data (variable)

Sequence Number Field

ReservedLengthNext Header

Security Parameter Index (SPI)

Authentication Data (variable)

Sequence Number Field

ReservedLengthNext Header

0 8 16 31

Chapter 8: Network Security

Page 27: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

27

Encapsulating Security Payload Provide support for privacy and data integrity for IP

packets. Two modes

Transport-mode ESP mechanism encrypts a transport-layer segment

Tunnel-mode ESP mechanism encrypts an entire IP packet ESP Header

SPI Parameters dependent on the encryption algorithm

Chapter 8: Network Security

Page 28: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

28

Transport-Mode ESP

Encrypt the data carried by IP ESP header is inserted into the IP packet immediately prior

to the transport-layer header (or Destination Option header is present)

Suspectable to traffic analysis on the transmitted packets End-to-end transport

IP Header Ext. Header ESP Header Transport layer segment

Unencrypted Encrypted

Chapter 8: Network Security

Page 29: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

29

Tunnel-Mode ESP

Encrypt an entire IP packet Counter traffic analysis problem Source sends encrypted IP packet to firewall Firewall sends to destination firewall Destination firewall forwards to destination

IP Header Ext. Header ESP Header IP header + Transport layer segment

Unencrypted Encrypted

Chapter 8: Network Security

Page 30: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

30

Authentication Plus Privacy

Encryption before authentication Transport-mode ESP

Authentication applies to the entire IP packet delivered to the ultimate destination

Tunnel-Mode ESP Authentication applies to the entire IP packet delivered

to the firewall

IP Header Auth. Header ESP Header Transport layer segment

Scope of authentication

E-T

E-T : Encapsulating Security Payload trailing fields

Chapter 8: Network Security

Page 31: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

31

Authentication Plus Privacy (cont.) Authentication before encryption

Only appropriate for tunnel mode ESP Authentication before encryption is better

AH is protected by ESP More convenient to perform authentication on

unencrypted data, then protected by encryption

IP-H IP-H Transport layer segment

Scope of authentication

E-TESP-H A-H

Chapter 8: Network Security

Page 32: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

32

Key Management

SKIP Proposed by Sun Microsystem Apply Diffie-Hellman key exchange algorithm to

share private key For security, public key is authenticated by

Certificate Authority (CA) Need Public Key Infrastructure(PKI) support

Chapter 8: Network Security

Page 33: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

33

Key Management (cont.)

ISAKMP/Oakley(IKE) Oakley defines key identification ISAKMP defines key distribution

Two phases Phase 1: ISAKMP SA establishment

The two ISAKMP peer establish a secure, authenticated channel with which to communicate

Unlike IPSec SA, ISAKMP SA is bi-directional Phase 2: use ISAKMP SA to construct AH or ESP SA

Chapter 8: Network Security

Page 34: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

Open Source Implementation 8.3: AH and ESP

Chapter 8: Network Security 34

ah_init_state

ah4_init esp4_init

esp_init_state

xfrm_input xfrm_output

ah_input esp_input ah_output esp_output

net/ipv4/ah4.c net/ipv4/esp4.c

Page 35: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

35

Transport Layer Security

Secure Socket Layer (SSL) Security Electronic Transaction (SET)

Chapter 8: Network Security

Page 36: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

36

Secure Socket Layer (SSL)

What’s SSL? Provide encryption layer between Application and TCP

layers RFC 2246 :Transport Layer Security (TLS) protocol. Original development by Netscape in 1994 Encrypt data with various algorithm

DES, Triple DES, RSA, Digital Signature SSL Contents

SSL server authentication SSL client authentication Encrypted SSL session

Chapter 8: Network Security

Application

SSL

TCP

IP

Page 37: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

37

SSL Transaction Flow

Chapter 8: Network Security

Page 38: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

38

Security Electronic Transaction (SET) Why SET?

SSL is only for securing the communication data between client and server

Problems with SSL Client SSL Server Server : illegal using the client’s credit card Client : send un-authorization credit card

SET is a security mechanism for E-transaction via networks The same procedure as traditional transaction, but with

networking

Chapter 8: Network Security

Page 39: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

39

Security Electronic Transaction (SET) (cont.) What’s SET?

Development by VISA, MasterCard, IBM, Microsoft, and HP in 1996.

Members Cardholder Merchant Issuer (Credit card bank) Acquirer (Bank) Certificate Authority , (CA)

Two types of payment E-wallet Credit card

Chapter 8: Network Security

Page 40: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

40

SET Mechanisms

ConfidentialityConfidentiality Data with DES and RSA

AuthenticationAuthentication Digital Signature with RSA Cardholder, Merchant, and Bank

IntegrityIntegrity Digital Envelope to exchange DES key Receiver’s RSA public key(DES key)

Non repudiationNon repudiation Digital Signature with RSA

Chapter 8: Network Security

Page 41: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

41

SET Operation

Merchant Server

Merchant

Payment Gateway

CA

P.S 2341Credit Card

Acquirer (Bank)

Issuer/Credit Card Bank

Internet

Internet

Cardholder

E-wallet

1

6,7

9

10

11

12

2,3

4

5

8

Chapter 8: Network Security

Page 42: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

42

Virtual Private Network (VPN) Why VPN?

Private data network for enterprises Lease line

X.25, Frame Relay , and ATM Custom-made service

Disadvantages of lease line Complexity configuration High cost of network access equipments Hard to scale

Chapter 8: Network Security

Page 43: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

43

VPN

What is VPN? Build private network communication on public

network How to implement VPN

Tunneling MPLS Encryption & decryption Key management Authentication

Chapter 8: Network Security

Page 44: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

44

Comparison of VPNs

Layer 2 tunneling Extend the PPP model by allowing the L2 and PPP

endpoints to reside on different devices Save the long-term toll charge Use Internet to transmit PPP frames

Support multi-protocol IP, IPX, NetBEUI, AppleTalk Take advantage of PPP

PPTP/L2TP Layer 3 tunneling

IPSec Application layer

SSL VPN

Chapter 8: Network Security

Page 45: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

45

8.3 Access Security

Introduction Network/Transport Layer Firewall

Netfilter and iptables Application Layer Firewall

FireWall ToolKit (FWTK)

Chapter 8: Network Security

Page 46: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

46

Introduction to Firewalls

A system or group of systems that enforces an access control policy between two networks Redirects request to actual server Hide intranet servers from internet Access logs, invasion detection and alarms

Categories of firewalls Network layer firewall Application layer firewall

Chapter 8: Network Security

Page 47: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

47

What can a firewall protect against? Protect against unauthenticated interactive

logins from the “outside” world Record and monitor status of the protected

network suspicious data access

Monitor abnormal instruction of the protected network Intrusion detection Against network-borne attack

Chapter 8: Network Security

Page 48: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

48

Network Layer Firewall

Works on the network layer of OSI model Packet filter

Based on the header of the IP packet and rules defined by administrator

Fields checked Protocol ID Source IP address Destination IP address Source TCP/UDP port Destination TCP/UDP port

Chapter 8: Network Security

Page 49: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

49

Screened Host Firewall

Internet

Baston Host

IP filtering router

Private Network

allow

disallow

Chapter 8: Network Security

Page 50: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

50

Screened Host Firewall (cont.) Bastion host

A exposed gateway machine highly-defended and secured strong point that

can resist attack Router operation

Traffic from Internet to bastion host is permitted All traffic from inside to Internet are rejected unless it comes

from bastion host Advantage

Simple router filtering rules Disadvantage

Packet can go inside directly

Chapter 8: Network Security

Page 51: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

51

Screened Subnet Firewall

Chapter 8: Network Security

InternetIP filtering router IP filtering router

PrivateNetwork

Baston Host

DMZ

Bastion Host

Page 52: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

52

Screened Subnet Firewall (cont.) DMZ (demilitarized zone)

An area between inside firewall and outside firewall Inside firewall refers to router located in private

network Outside firewall refers to Internet access router

Hosts in private network are protected by two or more firewalls Create private network and DMZ by two routers Advantage

No site in private network is exposed to Internet Router closed to private network has better routing

performance than bastion host

Chapter 8: Network Security

Page 53: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

53

Open Source Implementation 8.4: Netfilter and iptables What is netfilter?

A set of checkpoints in the packet’s traversal of the protocol stack The checkpoints are called hooks

Actions taken on hooks NF_ACCEPT NF_DROP NF_STOLEN NF_QUEUE NF_REPEAT

Packet selection is done by IP Tables

Chapter 8: Network Security

Page 54: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

54

Open Source Implementation- Netfilter Hooks in packet traversal

NF_IP_PRE_ROUTING NF_IP_LOCAL_IN NF_IP_FORWARD NF_IP_POST_ROUTING NF_IP_LOCAL_OUT

ROUTEA C D

Local Process

B E

ROUTE

Chapter 8: Network Security

Page 55: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

55

Open Source Implementation - iptables Rule structure

Struct ipt_entry struct ipt_ip nf-cache target_offset next_offset comefrom struct ipt_counters

Strcut ipt_entry_match Struct ipt_entry_target

Chapter 8: Network Security

Page 56: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

56

Application Layer Firewall

Works on the application layer of OSI model Filtering rules based on application

content May support HTTP, SMTP, POP3, FTP,

etc. Proxy server

Chapter 8: Network Security

Page 57: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

57

Open Source Implementation 8.5: FireWall ToolKit (FWTK) Set of programs to facilitate the network

firewall Netperm-table (An example from squid-gw)

loaded for the settings and rules of application filtering

Chapter 8: Network Security

squid-gw: deny-destinations http *://*.*.*.*

squid-gw: destinations http://www.*.edu

squid-gw: deny-destinations http *://*.*.*.*

squid-gw: destinations http://www.*.edu

Page 58: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

Block Diagram squid-gw in FWTK

Chapter 8: Network Security 58

main

config_global

http_read_request

http_process_request

http_send_request

http_response

while (i < cf->argc && cf->argv[i][0] != '-') { if (strcmp (cf->argv[i], "*") == 0) cmp = 0; else { if (url_parse (&pattern, (octet*) cf->argv[i], strlen (cf->argv[i]), UPF_WILDCARD | UPF_NODEFPORT) != 0) url_error ("destinations", cf->ln); cmp = url_compare ((octet*) cf->argv[i], &pattern, (octet*) s, u, UCF_IGNORE_CASE | UCF_WILDCARD); } if (cmp == 0) // A URL match is found. Details skipped here. }

Page 59: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

59

8.4 System Security

Information Gathering Vulnerability Exploiting Malicious Code Intrusion Protection Open Source Implementation- Snort

Chapter 8: Network Security

Page 60: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

Information Gathering

Remote scanning Local scanning Sniffing Snooping Social engineering

Chapter 8: Network Security 60

Page 61: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

61

Scanning What’s scanning?

Dawn of attacking Scanning services and security holes of the target only, but

not real attacking Scanning types

Local scanning COPS TIGER

Remote scanning SATAN (Security Administrator’s Tool for Analyzing Networks) SAINT (Security Administrator’s Integrated Network Tool) Fluxay

Chapter 8: Network Security

Page 62: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

Vulnerability Exploiting Buffer overflow attack

Put more data to the specified buffer to cause buffer overflow

Return address pointing to the cracked file to execute

Chapter 8: Network Security 62

stack pointer

return address

buffer (200 bytes)

stack pointer

cracked file address

buffer (200 bytes)

. . . . . .

. . .

. . .

. . .

. . .

Put more data to buffer then cause buffer overflowand point to the cracked file address

void called(){ . . . char buffer[200]; . . .

}

Page 63: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

Vulnerability Exploiting (cont.) Remote/Local vulnerabilities

Chapter 8: Network Security 63

Vulnerabilities Application Version Reason

phf Remote Command Execution

Vulnerability

Apache Group Apache 1.0.3 Input Validation Error

Multiple Vendor BIND (NXT

Oveflow) Vulnerabilities

ISC BIND 8.2.1 Buffer Overflow

MS IIS FrontPage 98 Extensions

Buffer Overflow Vulnerability

Microsoft IIS 4.0 Buffer Overflow

Univ. Of imapd Buffer Overflow

Vulnerability

imapd 12.264 Buffer Overflow

ProFTPD Remote Buffer Overflow Professional FTP proftpd 1.2pre5 Buffer Overflow

Sendmail Daemon Mode Vulnerability Eric Allman Sendmail 8.8.2 Input Validation

Error

RedHat Piranha Virtual Server

Package Default Account and

Password Vulnerability

RedHat Linux 6.2 Configuration Error

Wu-Ftpd Remote Format String Stack

Overwrite Vulnerability

wu-ftpd 2.6 Input Validation

Error

Page 64: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

64

Password Cracking

How to crack passwords Guess Brute force with a dictionary file

Unix, /etc/passwd and /etc/shadow files Windows 2000, SAM file

Plain text transmission without encryption

Chapter 8: Network Security

Page 65: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

65

Denial of Service

What’s DoS? Not a intrusion attack, but deny services of target system Exhaust target resources Stop providing services

How does DoS do? TCP SYN flood with IP spoofing attack ICMP reply flood attack Ping of Death Teardrop attack UDP flood attack DDoS – Distributed DoS

Chapter 8: Network Security

Page 66: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

66

Distributed DoS (DDoS) Launch coordinated UDP flood DoS attacks

from many sources Hierarchy of attacker, master, client, and target

Attacker, the Intruder A small number of servers, or masters A large number of clients, or daemons Target, the victim

Two of the tools have seen are known as Trinoo (or trin00) Tribe Flood Network (or TFN), and TFN2K

Chapter 8: Network Security

Page 67: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

67

DDoS (cont.)

command command

attack attack

commandport 27665/TCP

request: port 27444/UDPreply: port 31335/UDP

1. UDP flood attack2. TCP SYN flood attack3. ICMP echo request flood attack4. M attack5. Targa3 attack

Attacker

MasterMaster

AgentAgentAgent

Target Target Target Target

Chapter 8: Network Security

Page 68: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

68

Malicious Code

What’s Malicious Code? Computer programs are written specifically to

cause mischief or, worse, cause damage to infected computers

Types of Malicious Code VirusVirus WormWorm TrojanTrojan BackdoorBackdoor BotBot

Chapter 8: Network Security

Page 69: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

Open Source Implementation 8.6: ClamAV Introduction

open-source package for virus scanning have detected over 570,000 malicious codes (viruses, worms

and trojans, etc.) with the release of 0.95.2 version Types of signatures

MD5 for a certain PE section (part of an executable file) basic signatures of fixed strings (to be scanned in the entire file) extended signatures (in a simplified form of regular expressions

containing multiple parts logical signatures (multiple signatures combined with logical

operators) logical signatures (multiple signatures combined with logical

operators)

Chapter 8: Network Security 69

Page 70: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

Block Diagrams of ClamAV

Chapter 8: Network Security 70

cl_load cli_load cli_cvdload

cli_loadmd5

cli_loadndb

cli_loadldb

cli_loadwdb

cli_loadpdb

cli_loaddb

cli_parseadd

cli_scanfile

cli_magic_scandesc

cli_scandesc

cli_scanrar

cli_unzip

cli_unzip

……

cli_ac_scanbuff

cli_bm_scanbuff

for signature matching

for signature loading

Page 71: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

Types of Defense

Auditing record security-related events in log files

Monitoring monitor the system for any abnormal activities

Intrusion Detection and Prevention detect intrusions based on known signatures or

anomalous traffic actively block the traffic if an intrusion is found

Chapter 8: Network Security 71

Page 72: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

Packages for Protection

Chapter 8: Network Security 72

Types of Defense

Software URL

Data Encryption

PGP http://web.mit.edu/network/pgp.html

SSH http://www.ssh.org

Access Control

Firewall-1 http://www.checkpoint.com

Ipchains http://netfilter.filewatcher.org/ipchains

TCP Wrappers ftp://ftp.porcupine.org/pub/security/index.html

Portmap ftp://ftp.porcupine.org/pub/security/index.html

Xinetd http://synack.net/xinetd

Monitoring

Tripwire http://www.tripwiresecurity.com

RealSecure http://www.iss.net

Scanning Pc-cillin http://www.trend.com.tw

Page 73: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

Open Source Implementation 8.7: Snort

Chapter 8: Network Security 73

Three modes Sniffer

Read and decode network packets Packet logger

Log packets to disk Intrusion detection system

Analyze traffic based on pre-defined rules Perform actions based upon what it sees

Page 74: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

74

Snort Rules

A powerful description language Snort takes action based upon rule type Divide into two sections :

Rule header action, protocol source and destination IP address, port information

Rule option Alert message Which part of packet should be inspected

Chapter 8: Network Security

Page 75: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

75

Writing Snort Rules

Rule headeralert tcp any any - > 10.1.1.0/24 80

Rule option (content: “/cgi-bin/phf”; msg: “PHF probe!”;)

action protocol Source address and port number

destination address and port number

alert messageinspective part

Chapter 8: Network Security

Page 76: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

Block Diagram of Snort

Chapter 8: Network Security 76

SnortMain

ParseCmdLine

pcap_dispatch

PcapProcessPacket

ProcessPacket

Preprocess

Detect

fpEvalPacket

fpEvalHeaderTcp

fpEvalHeaderUdp

fpEvalHeaderIcmp

fpEvalHeaderIp

Page 77: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

Open Source Implementation 8.8: SpamAssassin open source package that can identify and

filter spam, i.e., unsolicited e-mails. filtering mechanisms

analysis on mail header and text Bayesian filtering DNS blocklists implemented as plug-ins for flexibility

Chapter 8: Network Security 77

Page 78: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

Implementation of SpamAssassin

Chapter 8: Network Security 78

Mail::SpamAssassin

check_message_text

parse(get message text)

check(check a mail if it is

a spam)

Block diagram

header FROM_BLANK_NAME From =~ /(?:\s|^)”” <\S+>/i describe FROM_BLANK_NAME From: contains empty name

Sample rules

Page 79: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

Performance Matters: Comparing Intrusion Detection, Antivirus,

Anti-Spam, Content Filtering, and P2P Classification

Chapter 8: Network Security 79

  Snort DansGuardian ClamAV SpamAssassin L7-filter

Percentage

of string

matching

62% 86% 57% 31% 70%

Inspection

depth

Byte

jump

Http request /

response

All

attachment

content

Mail header/

body

First 10

packets

Page 80: 1 Computer Networks An Open Source Approach Chapter 8: Network Security Ying-Dar Lin, Ren-Hung Hwang, Fred Baker Chapter 8: Network Security.

8.5 Summary

General issues Data Security Access Security System Security

Data Security Cryptography, Digital Signature, Message Authentication

Access Security Firewalls at Network/Transport/Application layers

System Security Intrusion, Defense

Struggles between attackers and defenders

Chapter 8: Network Security 80