CS 5950/6030 Network Security Class 30 (W, 11/9/05) Leszek Lilien Department of Computer Science...
-
date post
20-Dec-2015 -
Category
Documents
-
view
223 -
download
0
Transcript of CS 5950/6030 Network Security Class 30 (W, 11/9/05) Leszek Lilien Department of Computer Science...
CS 5950/6030 Network SecurityClass 30 (W, 11/9/05)
Leszek LilienDepartment of Computer Science
Western Michigan University
Based on Security in Computing. Third Edition by Pfleeger and Pfleeger.Using some slides (as indicated) courtesy of:Prof. Aaron Striegel — at U. of Notre Dame
Prof. Barbara Endicott-Popovsky and Prof. Deborah Frincke — at U. WashingtonProf. Jussipekka Leiwo — at Vrije Universiteit (Free U.), Amsterdam, The
Netherlands
Slides not created by the above authors are © by Leszek T. Lilien, 2005Requests to use original slides for non-profit purposes will be gladly granted upon a written
request.
2
7. Security in Networks...
7.2. Threats in Networksa) Introduction b) Network vulnerabilitiesc) Who attacks networks? d) Threat precursorse) Threats in transit: eavesdropping and wiretappingf) Protocol flawsg) Types of attacks
1) Impersonation 2) Spoofing3) Message confidentiality threats 4) Message integrity threats5) Web site attacks6) Denial of service7) Distributed denial of service8) Threats to/by active or mobile code—PART 18) Threats to/by active or mobile code—PART 29) Scripted and complex attacks
h) Summary of network vulnerabilities7.3. Networks Security Controls
a) Introduction b) Security threat analysisc) Impact of network architecture/design and
implementationon security—PART 1
Class 29
© by Leszek T. Lilien, 2005
3
Threats to/by active or mobile code (6)
2) Script – resides on server S; when executed on S upon command of client C, allows C to invoke services on S
Legitimate interaction of browser (run on C) w/ script (run by script interpreter on S)
On C: Browser organizes user input into script params Browser sends string with script name + script
params to S (e.g., http://eStore.com/custID=97&part=5A&qy=2&...) On S:
Named script is executed by script interpreter using provided params, invoking services called by script
Attacker can intercept interaction of browser w/ script Attacker studies interaction to learn about it Once browser & script behavior is understood, attacker can
handcraft string sent fr. browser to script interpreter Falsifies script names/parameters
Cf. incomplete mediation example with false price© by Leszek T. Lilien, 2005
4
Threats to/by active or mobile code (10)
3) Active code (Recall: code pushed by S to C for execution on C)
As demand on server S’s computing power grows, S uses client C’s computing power
S downloads code to C (for execution on C), C executes it
Two main kinds of active code:(a) Java code (Sun Microsystems)
(b) ActiveX controls (Microsoft)
(a) Java code
...
(b) ActiveX controls
© by Leszek T. Lilien, 2005
5
Threats to/by active or mobile code (15)
4) Automatic execution by type= automatic invocation of file processing program
implied by file type
Two kinds of auto exec by type:(a) File type implied by file extension
e.g., MS Word automatically invoked for file.doc (happens also in other cases, e.g., for ActiveX controls)
(b) File type implied by embedded type File type is specified within the file Example:
File named „class28” without extension has embedded info that its type is „pdf”
Double-clicking on class28 invokes Adobe Acrobat Reader
Both kinds of auto exec by type are BIG security risks!© by Leszek T. Lilien, 2005
6
7.3. Networks Security Controls Outline
a) Introduction b) Security threat analysisc) Impact of network architecture/design and
implementation on security—PART 1...
© by Leszek T. Lilien, 2005
7
c. Impact of network architecture/ design & implement. on security (1)
Security principles for good analysis, design, implementation, and maintenance (as discussed in sections on Pgm Security and OS Security) apply to networks
Architecture can improve security by:1) Segmentation2) Redundancy3) Single points of failure4) Other means
© by Leszek T. Lilien, 2005
9
7. Security in Networks...
7.2. Threats in Networks...
g) Types of attacks...g-8) Threats to active or mobile code—PART 2g-9) Scripted and complex attacks
h) Summary of network vulnerabilities
7.3. Networks Security Controlsa) Introduction b) Security threat analysisc) Impact of network architecture/design and implementation
on security—PART 1
c) Impact of network architecture/design and implementationon security—PART 2
d) Encryptioni. Link encryption vs. end-to-end (e2e) encryptionii. Virtual private network (VPN)iii. PKI and certificates—PART 1
Class 29
© by Leszek T. Lilien, 2005
Class 30
10
Impact of network architecture/ design & implement. on security (5)
3) Single points of failure (SPF) Architecture should eliminate SPFs to prevent losing
availability due to exploit/failure of a single network entity
Using redundancy is a special case of avoiding SPFs
Network designers must analyze network to eliminate all SPFs
Example of avoiding SPF (without using redundancy) Distribute 20 pieces of database on 20
different hosts (so called partitioned database) Even if one host fails, 95% of database
contents (19/20=95%) still available
Elimination of SPFs (whether using redundancy or not) adds cost
© by Leszek T. Lilien, 2005
11
Impact of network architecture/ design & implement. on security (6)
4) Other architectural means for improving security Will be mentioned below as we discuss more
network security controls
© by Leszek T. Lilien, 2005
12
d. Encryption Arguably most important/versatile tool for network
security
We have seen that it can be used for: Confidentiality/Privacy Authentication Integrity Limiting data access
Kinds of encryption in networks:i. Link encryption vs. end-to-end (e2e) encryptionii. Virtual private network (VPN)iii. PKI and certificatesiv. SSH protocolv. SSL protocol (a.k.a. TLS protocol)vi. IPsec protocol suitevii. Signed codeviii. Encrypted e-mail © by Leszek T. Lilien, 2005
13
(i) Link vs. end-to-end encryption (1)1) Link encryption = between 2 hosts
Data encrypted just before they are placed on physical communication links
At OSI Layer 1 (or, perhaps, Layer 2)
Fig. 7-21, p. 431 Properties of link encryption (cf. Fig. 7-21)
Msgs/pkts unprotected inside S’s/R’s host I.e., unprotected at OSI layers 2-7 of S’s/R’s host
(in plaintext) Packets protected in transit between all hosts Pkts unprotected inside intermediate hosts
I.e., unprotected at OSI layers 2-3 of interm. hosts=> unprotected at data link and network layers at intermediate hosts (if link encryption at Layer 1) Layers 2-3 provide addressing and routing
© by Leszek T. Lilien, 2005
14
Link vs. end-to-end encryption (2)
Link encryption is transparent (invisible) to users, their applications, and their OSs
Encryption service provided by physical (or data) layer
Can use encryption h/w (link encryption device)
Message under link encryption Fig. 7-22, p. 432
See which portions encrypted, which exposed Only part of data link header & trailer created
after encryption is exposed
Link encryption is useful when transmission line is most vulnerable in a network
I.e., when S’s host, intermediate hosts, R’s host are reasonably secure (so msgs/pkts at their Layers 2-7 can be exposed)© by Leszek T. Lilien, 2005
15
Link vs. end-to-end encryption (3)
2) End-to-end encryption = between 2 user applications Data encrypted as „close” to app as possible
At OSI Layer 7 (or, perhaps, Layer 6)
Fig. 7-23, p. 433 Properties of e2e encryption (cf. Fig. 7-21)
Msgs/pkts protected all the way once they „exit” S’s app & before they enter R’s app Msgs/pkts protected (in ciphertext) inside
S’s/R’s host Packets protected in transit between S’s &
R’s hostsIncluding protection inside intermediate hosts I.e., protected at OSI layers 1-3 of interm. hosts
Layers 1-3 provide physical connectivity, addressing and routing for packets© by Leszek T. Lilien, 2005
16
Link vs. end-to-end encryption (4)
E2e encryption is visible either to users or their apps
Encryption service provided by app or OSPossibly provided only upon explicit user’s request =>
visible to user Encryption by s/w
Message under e2e encryption Fig. 7-24, p. 433
See which portions encrypted, which exposed Only user’s msg (user’s data) encrypted All headers & trailers exposed (all created after
encryption)
E2e encryption is useful when transmission lines and intemediate hosts are insecure
© by Leszek T. Lilien, 2005
17
Link vs. end-to-end encryption (5)
Comparison of link vs. e2e encryption Encryption of msgs/packets (whether link or e2e
encryption) is no silver bullet No guarantees of msg/packet security
1) Link encryption — encrypts all traffic over physical link Typically host H has one link into network
=> link encryption encrypts all H’s traffic Every H —incl. intermediate hosts— receiving
traffic via link encryption must have decryption capabilities Either (pairs of) hosts share symmetric keyOR Hosts use asymmetric keys
All hosts along a path from S to R must provide link encryption to prevent („partial”) packet exposure=> usu. link encryption provided on all network links
© by Leszek T. Lilien, 2005
18
Link vs. end-to-end encryption (6)
2) End-to-end (e2e) encryption — encrypts traffic only between 2 apps („virtual crypto channel between 2 apps”)
Interm. hosts don’t need to decrypt-encrypt pkts=> interm. hosts don’t need encryption facilities All interm. hosts save time/processing
Encrypts only some msgs between 2 apps If no need to encrypt all msgs => even S’s and R’s
hosts save time/processing If needed, can encrypt all msgs
Using asymmetric keys requires fewer keys than using symmetric keys (n key pairs vs. n*(n-1)/2 keys)
© by Leszek T. Lilien, 2005
19
Link vs. end-to-end encryption (7)
Comparison conclusions Link encryption:
Faster Easier to use Uses fewer keys (1 K pair per host pair vs. 1 K pair per app
pair)
End-to-end (e2e) encryption: More flexible More selective (can select only some msgs for
encryption) User-level, can be integrated with app
Optimize whether link or e2e encryption better for you
If needed for higher security, use link and e2e encryption together
E.g., user not trusting network link encryption can use app with e2e encryption
© by Leszek T. Lilien, 2005
20
(ii) Virtual private network (VPN) (1) Virtual private network (VPN) = connection over public
network giving its user impression of being on private network
It could be viewed as „logical link” encryptionCould be viewed as e2e encr. between client & server
Protecting remote user’s connection with her network Greatest risk for remote connection via public network:
Between user’s workstation (client) and perimeter of „home” network (with server)
Firewall protects network against external traffic (more later)
Physically Protected Network Perimeter
Firewall Internal
Server
User’sWorkstatio
n(Client)
© by Leszek T. Lilien, 2005
21
Virtual private network (VPN) (2)
Example VPN connection scenario
VPN restricts filters access to „home” server/network Only „private” accesses allowed
=> public network access feels like private network
1 – C authenticates to firewall (firewall passes user’s authentic. data to authentic. server [not
shown], which decides whether authentication is OK) 2 – Firewall replies with encryption key (after negotiating with C a session encryption key)3 – C and S communicate via encrypted tunnel
Physically Protected Network Perimeter
Firewall
1
2
3
Internal
Server
User’sWorkstatio
n(Client)
© by Leszek T. Lilien, 2005
22
(iii) PKI and certificates (1) Public key infrastructure (PKI) = enables use of
public key cryptography (asymmetric cryptography) Usually in large & distributed environment
Elements of PKI:1) Policies (higher level than procedures)
Define rules of operation E.g., how to handle keys and sensitive info E.g., how to match control level to risk level
2) Procedures (lower level than policies) Dictate how keys should be generated,
managed, used
3) Products Implement policies and procedures
Generate, store, manage keys
© by Leszek T. Lilien, 2005
23
PKI and certificates (2) PKI services:
1) PKI creates certificates Certificate binds entity’s identity to entity’s public key
Entity = user or system or applicationor ...
2) PKI gives out certificates from its database3) PKI signs certificates
Adding its credibility to certificate’s authenticity4) PKI confirms/denies validity of a certificate
When queried about it5) PKI invalidates certificates
For entities that are no longer certified by PKIOR For entities whose private key has been
exposed
© by Leszek T. Lilien, 2005