lecture 1: introduction cs 336/536: computer network security fall 2013 nitesh saxena

53
Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Upload: ferdinand-hicks

Post on 19-Dec-2015

231 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Lecture 1: Introduction

CS 336/536: Computer Network SecurityFall 2013

Nitesh Saxena

Page 2: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Today’s informative/fun bit -- Botnet

04/18/23 Lecture 1 - Introduction 2

Page 3: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Outline

• Administrative Stuff• Introductory Technical Stuff

04/18/23 Lecture 1 - Introduction 3

Page 4: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Some Important Pointers• Instructor: Nitesh Saxena

– Office: CH 133– Email: [email protected] (best way to reach me!)– Phone No: 205-975-3432– Office Hours: Thursdays 2-3pm (or by appointment)

• Course Web Page (also accessible through my web-page)http://www.cis.uab.edu/saxena/teaching/csx36-netsec-f13/

• TAs– Cooper Filby - [email protected] (responsible for labs)– Abhishek Anand - [email protected] (responsible for grading)– Office hrs to be announced

• Blackboard: https://cms.blazernet.uab.edu/cgi-bin/bb9login

04/18/23 Lecture 1 - Introduction 4

Page 5: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Labs

• Sessions– 8-9:50am Fridays, or – 10:10am-12noon – Just added a third session 2:30-4:20pm

• All in CH 137A • Please make sure to attend only the lab you

registered for• We will not start the labs until the next 2-3 weeks.• More instructions on labs will follow

04/18/23 Lecture 1 - Introduction 5

Page 6: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

About the Instructor

• Associate Professor, CIS• PhD graduate from UC Irvine• Previously an Assistant Professor at the

Polytechnic Institute of New York University• Research in computer and network security,

and applied cryptography• Web page: http://cis.uab.edu/saxena

04/18/23 Lecture 1 - Introduction 6

Page 7: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Prerequisites• The official prerequisites for the course is:

– Discrete Structures (CS 250 or equivalent) – A minimum grade of C is required in the prerequisite

course• Recommended prerequisites:

– Programming – Networking

• At a higher level, the course requires the students to have good mathematical background, programming knowledge, and familiarity with algorithms and data structures

04/18/23 Lecture 1 - Introduction 7

Page 8: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

What to expect• The course would be quite involved

– Good amount of math– Some programming (Labs and hands-on exercises)– Tight workload

• The grading will be curved– I would love to give A’s but I won’t mind giving F’s when deserved

• I might/will make mistakes– Please point them out– Talk to me if you have any complaints (or send me an anonymous email )

• I guarantee that – I will encourage you to do your best– You’ll have fun– I’ll help you learn as much as I can – don’t hesitate to ask for help whenever needed– Although you won’t become experts, you will learn enough to move on!– You’ll hopefully get motivated to pursue research in this area, ultimately

• This class is not – Going to be an easy substitute for something (believe me it will not be!)– About “hacking”– For light-hearted

04/18/23 Lecture 1 - Introduction 8

Page 9: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

04/18/23 Lecture 1 - Introduction 9

What I expect of you

• Please do attend lectures and labs• Review lecture slides after each lecture• Solve text book exercises as you read through the chapters• Ask questions in the class• Ask questions over email• Attend office hours• Try to start early on labs and homework assignments

– Don’t wait until the very last minute!

• Follow the instructions and submit assignments on time

Page 10: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Course References• No mandatory textbook

• Lecture slides are your primary reference

• Recommended text:• Network Security Essentials, 5th edition, by Willam Stallings.

Available for purchase, for example, on Amazon http://www.amazon.com/Network-Security-Essentials-Applications-Standards/dp/0133370437

• Handbook of Applied Cryptography – Alfred Menezes, Paul van Oorschot, Scott Vanstone. Free online copy http://www.cacr.math.uwaterloo.ca/hac/

• Wikipedia can be a good reference at times (but use carefully)

• Other references to be provided as we proceed

04/18/23 Lecture 1 - Introduction 10

Page 11: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Grading

• 50% - Homework Assignments – Combination of conceptual problems and lab

exercises

• 25% - 1 Midterm Exam• 25% - 1 Final Exam

04/18/23 Lecture 1 - Introduction 11

Page 12: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

04/18/23Lecture 1 - Introduction

12

Policies Against Cheating or Misconduct

• You are not allowed to collaborate with any other student, in any form, while doing your homeworks, unless stated otherwise; perpetrators will at least fail the course or disciplinary action may be taken

• No collaboration of any form is allowed on exams• You can definitely refer to online materials and other

textbooks; but whenever you do, you should cite so in your homeworks. This is a rule of thumb.

• Also check: https://www.uab.edu/students/academics/honor-code

Page 13: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Late Homework Policy

• None – no late homeworks are allowed• Either you submit on time and your

homework will be graded OR you submit late and the homework is NOT graded

• You should stick to deadlines• Exception will be made ONLY under genuine

circumstances

04/18/23 Lecture 1 - Introduction 13

Page 14: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Tentative Course Schedule

• Cryptography (Ch 2, 3 4; Stallings)– Application to Email Security

• Network Attacks • Transport Layer Security – SSL/TLS (Ch 6)• Network Layer Security – IPSec (Ch 9)• Wireless Security (Ch 7)• Anonymity• Miscellaneous Topics 04/18/23 Lecture 1 - Introduction 14

Page 15: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

04/18/23 Lecture 1 - Introduction 15

Travel

• Usually conference and invited talks travel• Usually no class the week of travel• However, this will not affect our overall course schedule and

topic coverage (perhaps a guest lecturer will cover on my behalf)

• Information about any travel will be provided as it becomes available

Page 16: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

04/18/23 Lecture 1 Introduction 16

Instructions• HW submissions

– Name your files “Lastname_Firstname_HW#” – Submit it on Blackboard

• Please make sure that you have correctly submitted/uploaded the files (simply “saving” them may not be sufficient)

– PDF format only• Check the course web-site regularly

– I am posting lecture slides and homeworks there• Check your UAB email regularly

– I am sending out announcements there• e.g., when I post homeworks

• Only use your UAB email to communicate with me and the TA/grader

• NO EXCUSES for not following instructions

Page 17: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

17

Computer Security

Bird’s eye view

NetworkSecurity

CRYPTO

This CourseTHISCOURSE

Page 18: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Computer and Network Security: Why is it important?

• The numbers speak for themselves.– CERT Statistics

• Our computer systems are quite vulnerable – Poor design or after the fact design– Lack of awareness and education– Weak threat model and under-estimation of

attacker capabilities– Buggy software

04/18/23 Lecture 1 - Introduction 18

Primary motivation for the course!

Page 19: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Threats, Vulnerabilities and Attacks

• A threat to a system is any potential occurrence, malicious or otherwise, that can have an adverse effect on the assets and resources associated with the system

• A vulnerability of a system is some characteristic that makes it possible for a threat to occur

• An attack on a system is some action that involves exploitation of some vulnerability in order to cause an existing threat to occur

04/18/23 Lecture 1 - Introduction 19

Page 20: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Types of Threats• Can be classified into four broad categories

– Disclosure - unauthorized access to information– Deception - acceptance of false data– Disruption - interruption or prevention of correct

operation– Usurpation - unauthorized control of some part

of a system• Examples include – snooping, sniffing,

spoofing, delaying, denial of service, malware, theft of computational resources…

04/18/23 Lecture 1 - Introduction 20

Page 21: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

21

Network Stack

people

application

session

transport

network

data link

physical

IP

TCP

email, Web, telnet

RPC

Ethernet, 802.11

Spoofing email addresses, eavesdropping application layer data

SYN flooding, sequence number prediction

IP smurfing and otheraddress spoofing attacks

RPC worms, portmapper exploits

WEP attacks

RFJamming

Phishing attacks, password issues

Page 22: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Primary Issues

• Confidentiality: prevention of unauthorized disclosure of information

• Integrity: prevention of unauthorized modification of information

• Availability: ability to withstand unauthorized withholding of information or resources

04/18/23 Lecture 1 - Introduction 22

Page 23: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

23

Network Attacks

passive attacks:

Reveals what Bob is saying to Alice

An MIT Technology Report in 1979 used “Alice” and “Bob.” It became a tradition.

Page 24: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

24

Reveals the fact that Bob is talking to Alice

Passive attacks very difficult to detect – focus on prevention

Page 25: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

25

Active attacks:

Page 26: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

26

Page 27: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

27

Page 28: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

28

Active attacks are more powerful

Page 29: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

29

How does Darth do some of these active attacks?

Page 30: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

30IP source address spoofing –easy to do

Page 31: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

31Simple replay will not work with TCP

Page 32: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

32Relatively hard to do in TCP

Page 33: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

33

TCP connection hijacking

Page 34: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

34

“SYN FLOODING” – easy to do in TCP

SYN Flooding – easy to do in TCP

Page 35: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Computer Security – Evolving Definitions

• Security – freedom from risk and danger• In early days of computers security meant

physical security and confidentiality• Integrity and access control then became

important with multi-tasking computers• In recent years availability is a big issue• Now security is hard to define!!

04/18/23 Lecture 1 - Introduction 35

Page 36: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Computer Security Definitions

• Security is the ability of a system to protect information and system resources with respect to confidentiality, integrity, and availability

• Computer Security deals with the prevention and detection of unauthorized actions by users of a computer system

• Computer security is preventing attackers from achieving objectives through unauthorized access or unauthorized use of computers and networks

04/18/23 Lecture 1 - Introduction 36

Page 37: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Computer Security – Informal Definitions

• Cheswik and Bellovin – “keeping anyone from doing things you do not want them to do, with, on, or from your computers or any peripheral devices”

• Garfinkel and Spafford - “A computer is secure if you can depend on it and its software to behave as you expect … This concept is often called trust; you trust the system to preserve and protect your data”

04/18/23 Lecture 1 - Introduction 37

Page 38: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Computer Security – other issues

• There are other issues that arise in the design of secure systems besides confidentiality, availability and integrity:– Accountability– Reliability– Access Control– Authentication– Non-repudiation– Privacy and anonymity

04/18/23 Lecture 1 - Introduction 38

Page 39: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Policy and Mechanism

• A security policy is a statement of what is, and is not, allowed– Expressed mathematically– List of allowed and disallowed actions

• A security mechanism is a procedure, tool, or method of enforcing security policy

04/18/23 Lecture 1 - Introduction 39

Page 40: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Security Policy• A security policy is a set of rules stating which actions are

permitted and and which are not• Can be informal or highly mathematical• If we consider a computer system to be a finite state

automaton with state transitions then – A security policy is a statement that partitions the states of a system

into a set of authorized or secure states and a set of unauthorized or non-secure states

– A secure system is a system that starts in an authorized state and cannot enter an unauthorized state

– A breach of security occurs when a system enters an unauthorized state

• We expect a trusted system to enforce the required security policies

04/18/23 Lecture 1 - Introduction 40

Page 41: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Elements of a Security Policy

• A security policy considers all relevant aspects of confidentiality, integrity and availability– Confidentiality policy: Identifies information

leakage and controls information flow– Integrity Policy: Identifies authorized ways in

which information may be altered. Enforces separation of duties

– Availability policy: Describes what services must be provided: example – a browser may download pages but no Java applets

04/18/23 Lecture 1 - Introduction 41

Page 42: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

UAB Data Protection and Security Policy

• http://www.uab.edu/handbook/f-policies-procedures/f-data-protection

04/18/23 Lecture 1 - Introduction 42

Page 43: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Security Mechanism

• A security mechanism is a procedure that enforces some part of a security policy

• We will learn many network security mechanisms

04/18/23 Lecture 1 - Introduction 43

Page 44: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Goals of Security Mechanism• Given a policy that specifies what is “secure” and

what is “non-secure” goal of security is to put in place mechanisms that provide:– Prevention

• Involves implementing mechanisms that users cannot override and are trusted to be implemented in correct and unalterable ways

– Detection• Goal is to determine that an attack is underway, or has

occurred and report it– Recovery

• Resuming correct operation either after an attack or even while an attack is underway

04/18/23 Lecture 1 - Introduction 44

Page 45: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Principles of Computer Security

At which layer(s) of the computer system should a security mechanism be placed?

Applications

Services

OS

OS Kernel

Hardware

Page 46: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Principles of Network Security

At which layer(s) of the network protocol stack should a security mechanism be placed?

Session

Network

Data Link

Physical

Transport

Application

Page 47: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Trust• Security policies and mechanisms are based on

assumptions and one trusts that these assumptions hold.

• Aspirin from drugstore is considered trustworthy. The basis of this trust is:– Testing and certification by FDA.– Manufacturing standard of company and regulatory

mechanisms that ensure it.– Safety seal on the bottle.

• Similarly, for a secure system to achieve trust, specific steps need to be taken.

04/18/23 Lecture 1 - Introduction 47

Page 48: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Trust

• Trusting the mechanism requires us to assume:– Each mechanism designed to implement part of

policy– Union of mechanisms implement all aspects of

policy– Implemented correctly– Installed and administered correctly

04/18/23 Lecture 1 - Introduction 48

Page 49: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Operational Issues in Security

• Risk Analysis or Assessment• Cost-Benefit Analysis• Laws and Regulations• Human Issues: usability

04/18/23 Lecture 1 - Introduction 49

Page 50: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Security Life Cycle

04/18/23 Lecture 1 - Introduction 50

Threats

Policy

Specification

Design

Implementation

Operation and Maintenance

Page 51: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Some Questions

- I access internet via your wireless access point: this is an example of ------?

- If voting is performed over the Internet, what might be violated?

- I use an open smtp server to send an email using your email address: I -----ed you?

- My photos are residing on Facebook’s server: what do I trust?

- Is skype conversation secure?

04/18/23 Lecture 1 - Introduction 51

Page 52: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Some Questions• University policy disallows cheating – copying another students homework

assignment. Student A has her homework file world readable. Student B copies it. Has B violated the policy?

• You do not make your age public on Facebook. An attacker can however infer your age from the ages of your friends. What has been violated?

• Eve jams the wireless signal in the CS: what does she achieve?• INS officials identify immigrants using their fingerprints: what is the

primary assumption in play?• US law allows sharing copyright movies using for example BitTorrent: true

or false?• Alice is dead. Could Alice’s mother get access to her late daughter’s

emails residing on yahoo’s server? See: http://www.cnn.com/2009/TECH/05/18/death.online/index.html

04/18/23 Lecture 1 - Introduction 52

Page 53: Lecture 1: Introduction CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena

Further Reading

• Must read “What is There to Worry About? An Introduction to the Computer Security Problem” by Brinkley and Schell

• Optional read “Concepts and Terminology for Computer Security” by Brinkley and Schell

04/18/23 Lecture 1 - Introduction 53