Computer Security Dan Boneh and David Mazieres CS 155 Spring 2007

Slides:



Advertisements
Similar presentations
Computer Security Dan Boneh and John Mitchell CS 155Spring 2008
Advertisements

Chapter 1  Introduction 1 Chapter 1: Introduction.
Chapter 1  Introduction 1 Chapter 1: Introduction “Begin at the beginning,” the King said, very gravely, “and go on till you come to the end: then stop.”
Dan Boneh CS155 Computer Security Looking for undergrad research? Come see me!
Mod H-1 Examples of Computer Crimes. Mod H-2 Stuxnet.
Introduction to CS170. CS170 has multiple sections Each section has its own class websites URLs for different sections: Section 000:
Security Systems Theory UG2 Module Introduction Themes 1. Top down design of security systems – security technologies as 'black boxes'. 2. Internal design.
CS426Fall 2010/Lecture11 Computer Security CS 426 Lecture 1 Overview of the Course.
Security: Attacks. 2 Trojan Horse Malicious program disguised as an innocent one –Could modify/delete user’s file, send important info to cracker, etc.
Computer Security Dan Boneh and John Mitchell CS 155 Spring 2006.
BACKDOORS in Software Seminar on Software University of Turku January 2008 Eino Malinen.
Chapter 1  Introduction 1 Chapter 1: Introduction “Begin at the beginning,” the King said, very gravely, “and go on till you come to the end: then stop.”
Computer and Network Security
Computer Security Dan Boneh and John Mitchell CS 155Spring 2009
Desktop Security: Worms and Viruses Brian Arkills, C&C NDC-Sysmgt.
Welcome to Network Security Welcome to Network Security Lecturer By Sukchatri Prasomsuk Slides Dan Boneh and John Mitchell Modified by Sukchatri.
Lecture 7 Page 1 CS 236 Online Password Management Limit login attempts Encrypt your passwords Protecting the password file Forgotten passwords Generating.
Viruses.
Electronic Voting & Security Avi Rubin Information Security Institute Johns Hopkins University.
Malicious Code Brian E. Brzezicki. Malicious Code (from Chapter 13 and 11)
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
Welcome to s ecurity in Information System Welcome to s ecurity in Information System Lecturer By Dr.Sukchatri Prasomsuk Slides Dan Boneh.
I.T Security Advice for Dummies By Kirsty Pollard Kirsty Pollard Campsmount Academy.
Course Overview Ted Baker  Andy Wang COP 5641 / CIS 4930.
 A viruses is a program that can harm or track your computer. E.g. browser hijacker.  When a viruses accesses the computer it can accesses the HDD and.
CSCD 434 Network Security Spring 2014 Lecture 1 Course Overview.
This Is A PowerPoint Presentation On Computer Viruses. This Presentation Will Show You What Can Be Done To Deal With The Viruses. Mr Owen 10C.
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
Security - Why Bother? Your projects in this class are not likely to be used for some critical infrastructure or real-world sensitive data. Why should.
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
Course Information Andy Wang Operating Systems COP 4610 / CGS 5765.
Week 10-11c Attacks and Malware III. Remote Control Facility distinguishes a bot from a worm distinguishes a bot from a worm worm propagates itself and.
Course Overview Ted Baker  Andy Wang COP 5641 / CIS 4930.
Understanding Computer Viruses: What They Can Do, Why People Write Them and How to Defend Against Them Computer Hardware and Software Maintenance.
Computer, Web and Network Security. What is security? System correctness If user supplies expected input, system generates desired output Security If.
David Evans Nate Paul Anh Nguyen-Tuong CS851: Malware University of Virginia Computer Science Malware Seminar Fall 2004.
SAFE Information & Communication Technology For the Third Grade.  Julianna Madden  ITC 525  Summer 1 Session.
Security CS Introduction to Operating Systems.
Introduction Fall 2001 Foundations of Computer Systems Prerequisite:91.166* or * Section A Instructor: Dr. David Hutchinson Office:
Security & Trusting Trust Swarun Kumar Based on slides courtesy: Jorge Simosa MIT Spring 2013.
Lecture 19 Page 1 CS 236 Online Securing Your System CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
SEC835 Security in Databases and Web applications Presentation.
1 Day 2 Logging in, Passwords, Man, talk, write. 2 Logging in Unix is a multi user system –Many people can be using it at the same time. –Connections.
Computer Security By Duncan Hall.
Types of Computer Malware. The first macro virus was written for Microsoft Word and was discovered in August Today, there are thousands of macro.
Lecture 1 Page 1 CS 236 Online Introduction CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Today in CS161 Week #1 The Science of Computing What does it mean to write a program How is game programming different? Consider using Computer Graphics.
Lecture 4 Page 1 CS 111 Online Modularity and Memory Clearly, programs must have access to memory We need abstractions that give them the required access.
1 Computer Science 1021 Programming in Java Geoff Draper University of Utah.
Dan Boneh COM-260 Computer & Network Security Course overview.
CMSC 345 Defensive Programming Practices from Software Engineering 6th Edition by Ian Sommerville.
Purpose of Class To prepare students for research and advanced work in security topics To familiarize students working in other networking areas with important.
CSE-C3400 Information security
E 96 Introduction to Engineering Design Peter Reiher UCLA
Secure Software Development: Theory and Practice
Countering Trusting Trust through Diverse Double-Compiling
Computer Applications Unit B
The KGB the Computer and Me
Risk of the Internet At Home
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Operating Systems COP 4610 / CGS 5765
Networking CS 3470, Section 1 Sarah Diesburg
Andy Wang Operating Systems COP 4610 / CGS 5765
CS-3013 Operating Systems Hugh C. Lauer
T Information Security Technology
Andy Wang Operating Systems COP 4610 / CGS 5765
CS201 – Course Expectations
CS2013 LECTURE 1 John Hurley Cal State LA.
Presentation transcript:

Computer Security Dan Boneh and David Mazieres CS 155 Spring

What’s this course about? Some challenging fun projects Learn about attacks Learn about preventing attacks Lectures on many topics Application security Operating system security Network security not a course on Cryptography (take CS255)

General course info (see web) Prerequisite: Operating systems (CS140) Textbook: none – reading online Coursework 3 projects, 2 homeworks, final exam grade: 0.3 H P F Teaching assistants Colin Jackson, Ian Post, Tal Garfinkel, Arpit Aggrawal Optional section Friday, 3:15 - 4:05, Gates B01 (live on E3)

How big is the security problem? CERT Vulnerabilities reported

Why does this happen? Lots of buggy software... Why do programmers write insecure code? Awareness is the main issue Some contributing factors Few courses in computer security Programming text books do not emphasize security Few security audits C is an unsafe language Programmers are lazy Legacy software (some solutions, e.g. Sandboxing) Consumers do not care about security Security is expensive and takes time

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

Law enforcement Sean Smith Melissa virus: 5 years in prison, $150K fine Ehud Tenenbaum (“The Analyzer”) Broke into US DoD computers 6 mos service, suspended prison, $18K fine Dmitry Sklyarov Broke Adobe ebooks Prosecuted under DMCA

Difficult problem: insider threat Easy to hide code in large software packages Virtually impossible to detect back doors Skill level needed to hide malicious code is much lower than needed to find it Anyone with access to development environment is capable Requires background checks strict development rules physical security slides: Avi Rubin

Example insider attack Hidden trap door in Linux, Nov 2003 Allows attacker to take over a computer Practically undetectable change Uncovered by anomaly in CVS usage Inserted line in wait4() Looks like a standard error check Anyone see the problem? if ((options == (__WCLONE|__WALL)) && (current->uid = 0)) retval = -EINVAL; See:

Example #2 Rob Harris case - slot machines an insider: worked for Gaming Control Board Malicious code in testing unit when testers checked slot machines  downloaded malicious code to slot machine was never detected special sequence of coins activated “winning mode” Caught when greed sparked investigation $100,000 jackpot

Example #3 Breeder’s cup race Upgrade of software to phone betting system Insider, Christopher Harn, rigged software Allowed him and accomplices to call in  change the bets that were placed  undetectable Caught when got greedy  won $3 million

Software dangers Software is complex top metric for measuring number of flaws is lines of code Windows Operating System tens of millions of lines of code new “critical” security bug announced every week Unintended security flaws unavoidable Intentional security flaws undetectable

Ken Thompson What code can we trust? Consider "login" or "su" in Unix Is RedHat binary reliable? Does it send your passwd to someone? Can't trust binary so check source, recompile Read source code or write your own Does this solve problem? Reflections on Trusting Trust,

Compiler backdoor This is the basis of Thompson's attack Compiler looks for source code that looks like login program If found, insert login backdoor (allow special user to log in) How do we solve this? Inspect the compiler source

C compiler is written in C Change compiler source S compiler(S) { if (match(S, "login-pattern")) { compile (login-backdoor) return } if (match(S, "compiler-pattern")) { compile (compiler-backdoor) return }.... /* compile as usual */ }

Clever trick to avoid detection Compile this compiler and delete backdoor tests from source Someone can compile standard compiler source to get new compiler, then compile login, and get login with backdoor Simplest approach will only work once Compiling the compiler twice might lose the backdoor But can making code for compiler backdoor output itself  (Can you write a program that prints itself? Recursion thm) Read Thompson's article Short, but requires thought

Social engineering Many examples We are not going to talk about social engineering a lot, but good to remember that there are many attacks that don't use computers Call system administrator Dive in the dumpster Online version  send trojan in  picture or movie with malicious code