Top Banner
CS5231: Systems Security Lecture 1: Overview CS5231 Lecture 1 1
53

CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Feb 28, 2021

Download

Documents

dariahiddleston
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: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

CS5231: Systems Security

Lecture 1: Overview

CS5231 Lecture 1 1

Page 2: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

About This Module

• Principle and practice of systems security Understanding security principles through

practice Learning skills of programming, system

administration, and etc. • Research frontier of systems security

CS5231 Lecture 1 2

Page 3: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Uniqueness of This Module • Think in a different angle How various systems can fail How to prevent such failures

• Learn to think like a hacker, behave like a defender Make no assumptions of hackers

• Heavily based on system programming Have fun!

CS5231 Lecture 1 3

Page 4: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

The Security Problem

What are the recent security incidents in news?

CS5231 Lecture 1 4

Page 5: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Why Does This Happen? • Functionality: the primary concern during

design and implementation. Security is the secondary goal Unawareness of security problems

• Unavoidable human mistakes Awareness Lazy programmer

• Complex modern computing systems

CS5231 Lecture 1 5

Page 6: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Impatient Programmers • Maybe enough for

learning basic functionality

• Never enough for to learn subtle implications of functionalities

• Result: programs can do more than you expect

CS5231 Lecture 1 6

Page 7: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Security: Mission impossible But in practice,

we need to make the security problem under control.

Need better understanding of whole system

CS5231 Lecture 1 7

Software Behavior

Functionality

Page 8: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Principle of Easiest Penetration Security is about every aspect of a

computing system − Hardware, software, data, and people.

Principle of easiest penetration: − Any system is most vulnerable at its

weakest point. − Attackers don't follow any rules. Don't

underestimate their creativity. CS5231 Lecture 1 8

Page 9: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Example Windows Vista speech recognition

− Users can use voice to input text − Control the Windows system

What can go wrong? − Let's see a video

CS5231 Lecture 1 9

Page 10: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Another Example

• Safari Carpet Bomb

CS5231 Lecture 1 10

Downloads Search Path

Page 11: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Methodology

CS5231 Lecture 1 11

Page 12: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Importance of Details

CS5231 Lecture 1 12

Principle

?

Practice

Most of security problems we see are practical problems.

Page 13: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

View of Network

CS5231 Lecture 1 13

Page 14: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Is This a Security Device?

CS5231 Lecture 1 14

Page 15: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Methodology

How Systems Work?

Attack: Break

System

How Attacks Work?

Solution: New

Defense

CS5231 Lecture 1 15

Page 16: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Learning to Attack

• If you know the enemy and know yourself, you need not fear the result of a hundred battles.

知己知彼,百战不殆。 Sun Tzu, Art of War

• To prevent attack, we need to learn how attack happens

CS5231 Lecture 1 16

Page 17: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Ethical Issue

CS5231 Lecture 1 17

Page 18: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Ethical Use of Security Information

We discuss vulnerabilities and attacks − Most vulnerabilities have been fixed − Some attacks may still cause harm − Do not try these at home

Purpose of this class − Learn to prevent malicious attacks − Use knowledge for good purposes

CS5231 Lecture 1 18

Page 19: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Don’t Cross the Line

CS5231 Lecture 1 19

Page 20: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Overall Goal

CS5231 Lecture 1 20

Page 21: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Your Objective in This Module • Grades in transcript vs. Expertise in CV How do you distinguish yourself with other? How will others evaluate your CV?

• Managing rapid changes in security Tools vs. spirits

CS5231 Lecture 1 21

Page 22: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Technical Skills • UNIX/Linux administration • Open source compiler and project

management gcc, make, autoconf, gdb, nasm

• Programming languages C/C++, assembly language

• System and kernel programming • Source code version control

CS5231 Lecture 1 22

Page 23: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Administrative Issue

CS5231 Lecture 1 23

Page 24: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Administrative Issues • In class tests: 30% • Three individual projects: 30% • Final group project: 40% • Module resources on IVLE • Supplementary resources at http://www.comp.nus.edu.sg/~liangzk/cs5231/

• TA mailing list: [email protected]

CS5231 Lecture 1 24

Page 25: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Text Book

• Main book: (Not required) Security Engineering (available online)

• Supplementary book: Counter Hack Reloaded: A Step-by-Step

Guide to Computer Attacks and Effective Defenses, by Ed Skoudis

CS5231 Lecture 1 25

Page 26: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Projects

CS5231 Lecture 1 26

Page 27: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Individual Homework Projects

• Programming assignments Memory attacks

• Assembly, C, gdb Web attacks

• PHP, HTML, JavaScript Linux kernel hacking

• C

CS5231 Lecture 1 27

Page 28: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Group-based Final Project • Project Goal: Apply our methodology: Modifying a system to

extract its operation details, understanding attacks, and design solutions.

• Each group is expected to have three to four students Joining forces for more interesting results Limited slots in final presentation Please announce your group information to the

TA mailing list CS5231 Lecture 1 28

Page 29: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Project Proposal • Due date: February 13th, 2012 • What to submit: Problem description Your solution and its novelty The platform and tools used in project Project schedule

• You need to make sure your group is capable to handle the technical challenge independently

CS5231 Lecture 1 29

Page 30: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Progress Report

• Due date: March 12th, 2012 • How is your progress compared to

your proposal? • If you have difficult or question, raise

them early

CS5231 Lecture 1 30

Page 31: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Final Report and Presentation • Final report due before reading week Following the typical format of technical report

or research papers used in our class

• Final presentation: last two weeks in class 10 to 15 minutes for each group

CS5231 Lecture 1 31

Page 32: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Plagiarism Prevention • Plagiarism is a serious offense in academia • Information for plagiarism definition and

prevention http://www.cit.nus.edu.sg/plagiarism-prevention/

• We use the Turn It In tool to check all submissions Submissions are compared with document on

the Internet and against one another

CS5231 Lecture 1 32

Page 33: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Overview of Computer Security

CS5231 Lecture 1 33

Page 34: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Overview of Topics • Software security • Operating system security • Web security

CS5231 Lecture 1 34

Page 35: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Example of Topics • Malicious Code Virus, rootkit, spyware

• Internet Attacks Worm, buffer overflow, botnet

• Web Security Cross-site scripting

CS5231 Lecture 1 35

Page 36: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Attacks: Basic Concepts Valuable components of computer system

− Hardware, software, data Vulnerability: weakness in a system Threat: potential harmful situations Attack: threat + vulnerability Control: something reduce or removes

vulnerability

CS5231 Lecture 1 36

Page 37: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Security Goals: CIA Triad Confidentiality

− Protection from unauthorized disclosure Integrity

− Protection from inappropriate modification

Availability

CS5231 Lecture 1 37

Page 38: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Confidentiality Confidentiality ensures that computer-

related assets are accessed only by authorized parties. − Example, access others emails

Sometimes called secrecy or privacy

CS5231 Lecture 1 38

Page 39: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Integrity Integrity means that assets can be

modified only by authorized parties or only in authorized ways. − Example, change bank account balance

by attack Modification: writing, changing,

changing status, deleting, creating.

CS5231 Lecture 1 39

Page 40: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Availability Availability means that assets are

accessible to authorized parties at appropriate times.

Its opposite is better known: Denial of Service (DoS)

CS5231 Lecture 1 40

Page 41: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Balance of three goals The goals are often

conflict − Zero availability

means perfect secrecy.

They can overlap or mutually exclusive.

CS5231 Lecture 1 41

I

C

A

Page 42: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

History of Computer Security

CS5231 Lecture 1 42

Page 43: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Code Breaking in World War II

• Significant mathematical and technical advancement in coding

• Laying foundations of modern computer

CS5231 Lecture 1 43

Page 44: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Computer Viruses • 1982, Elk Cloner

First virus in the wild. Targeting Apple II

• 1986, (c)Brain First virus for IBM PC. A boot sector virus

• 1995, Concept virus First Macro virus

• 1998, CIH One of the most harmful widely circulated viruses Overwrites both hard disks and Flash BIOS

CS5231 Lecture 1 44

Page 45: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Computer Worms • 1978 Worm at Xerox PARC • 1988 Morris Worm • 1999 Melissa Worm (Email worm) • 2001 CodeRed • 2003 SQL Slammer (fastest in propagation) • 2003 Blaster • 2004 Sasser

CS5231 Lecture 1 45

Page 46: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Recent Threats

• Rootkit Stealthy backdoor programs

• Spyware Information theft, usually don’t propagate

• Botnet A collection of compromised computers

• Mobile malware CS5231 Lecture 1 46

Page 47: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Threats on the Web

• Malicious code install through browsers

• Cross-site Scripting Malicious JavaScript injected into

browser sessions • SQL Injection Malicious SQL statements

CS5231 Lecture 1 47

Page 48: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Low-tech Threats • Spam Recapcha

• Phishing

CS5231 Lecture 1 48

Page 49: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Computer Criminals Amateurs

− Normal users who discover system vulnerabilities during their job

Crackers or malicious hackers − Students or computer professionals − For fun or to demonstrate their

knowledge

CS5231 Lecture 1 49

Page 50: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Computer Criminals Career Criminals

− Skilled computer professionals − Security forms a black market business

over recent years Terrorist

CS5231 Lecture 1 50

Page 51: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Business Model of Career Computer Criminals

Encrypt user data and “sell” passwords

Lease bots Blackmail big company

Steal money from bank accounts or credit card accounts

CS5231 Lecture 1 51

Page 52: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Summary

• Learning principles through practice Seeing is believing

• Practical skills Experience with Linux and open source

tools Solutions for your new concerns

• Learn and solve cutting-edge research problems

CS5231 Lecture 1 52

Page 53: CS5231: Systems Security - comp.nus.edu.sgliangzk/cs5231/lec01-overview.pdf · Understanding security principles through practice ... • UNIX/Linux administration • Open source

Practice

• Setup a Linux Virtual Machine 32-bit Ubuntu Linux 10.04

• Virtual Machine VMWare Workstation VirtualBox

CS5231 Lecture 1 53