EECS 354 Network Security Introduction. Why Learn To Hack Understanding how to break into computer systems allows you to better defend them Learn how.

Slides:



Advertisements
Similar presentations
Course Introduction Bryce Boe 2013/06/25 CS24, Summer 2013 C.
Advertisements

Lecture 16 Buffer Overflow modified from slides of Lawrie Brown.
CMSC 414 Computer and Network Security Lecture 22 Jonathan Katz.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
CSE 451: Operating Systems Section 1. Why are you here? 9/30/102.
CS 494/594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010.
Introduction to Computer Systems Topics: Staff, text, and policies Lecture topics and assignments Lab rationale and infrastructure F ’08 class01b.ppt.
Welcome to EECS 354 Network Penetration and Security.
Welcome to CS 450 Internet Security: A Measurement-based Approach.
Welcome to EECS 450 Internet Security. 2 Why Internet Security The past decade has seen an explosion in the concern for the security of information –Malicious.
CSCD 434 Spring 2011 Lecture 1 Course Overview. Contact Information Instructor Carol Taylor 315 CEB Phone: Office.
INTRODUCTION TO NETWORK SECURITY l.Tahani Aljehani.
COMP 321: Introduction to Computer Systems Scott Rixner Alan L. Cox
Introduction COMP104: Fundamentals and Methodology.
Security Exploiting Overflows. Introduction r See the following link for more info: operating-systems-and-applications-in-
Web Application Access to Databases. Logistics Test 2: May 1 st (24 hours) Extra office hours: Friday 2:30 – 4:00 pm Tuesday May 5 th – you can review.
 Prototype for Course on Web Security ETEC 550.  Huge topic covering both system/network architecture and programming techniques.  Identified lack.
CAP6135: Malware and Software Vulnerability Analysis Cliff Zou Spring 2015.
@Yuan Xue CS 285 Network Security Fall 2008.
CSCD 434 Network Security Spring 2014 Lecture 1 Course Overview.
Spring 2011 ICS321 Data Storage & Retrieval Mon & Wed 12-1:15 PM Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii.
Introduction: Exploiting Linux. Basic Concepts Vulnerability A flaw in a system that allows an attacker to do something the designer did not intend,
Working Connection Computer and Network Security - Introduction - Dr. Hwajung Lee Radford University.
CS355 Advanced Computer Architecture Fatima Khan Prince Sultan University, College for Women.
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
CAP6135: Malware and Software Vulnerability Analysis Cliff Zou Spring 2010.
CT 1503 Network Operating Systems Instructor: Dr. Najla Al-Nabhan 2014.
CAP6135: Malware and Software Vulnerability Analysis Cliff Zou Spring 2013.
LINUX System : Lecture 1 Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang University.
CSNB334 Advanced Operating Systems Course Introduction Lecturer: Abdul Rahim Ahmad.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
Welcome to EECS 395/495 Networking Problems in Cloud Computing.
Jongwook Woo CIS 528 Introduction to Big Data Science (Syllabus) Jongwook Woo, PhD California State University, LA Computer and Information.
Fall 2010 ICS321 Data Storage & Retrieval Mon & Wed 12-1:15 PM Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at.
CSCI 330 UNIX and Network Programming Unit I Introduction.
Copyright ©: Nahrstedt, Angrave, Abdelzaher1 University of Illinois at Urbana-Champaign Welcome to CS 241 Systems Programming University of Illinois at.
Course Overview 1 FCM 710 Architecture of Secure Operating Systems Prof. Shamik Sengupta Office 4210 N
Mohammad Alauthman 1/22/20162 This 3-credit first course for computer science & IT majors, which provides students the basic understanding.
C Programming Lecture 1 : Introduction Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang University.
Cheating The School of Network Computing, the Faculty of Information Technology and Monash as a whole regard cheating as a serious offence. Where assignments.
Lecture 1 Page 1 CS 236 Online Introduction CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
VM: Chapter 7 Buffer Overflows. csci5233 computer security & integrity (VM: Ch. 7) 2 Outline Impact of buffer overflows What is a buffer overflow? Types.
@Yuan Xue CS 285 Network Security Fall 2013 Yuan Xue.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
@Yuan Xue CS 285 Network Security Fall 2012 Yuan Xue.
CS140 – Computer Programming 1 Course Overview First Semester – Fall /1438 – 2016/2017 CS140 - Computer Programming 11.
Introduction to Operating Systems
CS 450/550 Operating Systems Loc & Time: MW 1:40pm-4:20pm, 101 ENG
IT244 - Introduction to Linux / Unix Instructor: Bo Sheng
Purpose of Class To prepare students for research and advanced work in security topics To familiarize students working in other networking areas with important.
Protecting Memory What is there to protect in memory?
Secure Software Development: Theory and Practice
Process Realization In OS
Programming COMP104: Fundamentals and Methodology Introduction.
CS/ECE 478 Introduction to Network Security Dr. Attila Altay Yavuz
Computer Systems Programming
Syllabus.
Introduction to Computer Security II
Course Information Teacher: Cliff Zou Office: HEC
C Programming Lecture 1 : Introduction
C Programming Lecture 1 : Introduction
EECE.4810/EECE.5730 Operating Systems
Understanding and Preventing Buffer Overflow Attacks in Unix
CS201 – Course Expectations
CSC 241: Introduction to Computer Science I
Presentation transcript:

EECS 354 Network Security Introduction

Why Learn To Hack Understanding how to break into computer systems allows you to better defend them Learn how to think like an attacker Defense then becomes second-nature Security is an increasingly important field There are many jobs for security specialists Developers are expected to be aware of security concerns

3 Why Internet Security >The past decade has seen an explosion in concern about information security G-20 countries recently urged to treat cyber-attacks as threat to global economy. G20 have lost 2.5 million jobs to counterfeiting and piracy, and lost $125 billion annually to cyber-attacks. > Security specialist markets are expanding! “Salary Premiums for Security Certifications Increasing” (Computerworld 2007) Up to 15% more salary Demand is being driven not only by compliance and government regulation, but also by customers who are "demanding more security" from companies >US Struggles to recruit compute security experts (Washington Post Dec )

Overview Exploit demo Course information VM logistics x86 stack structure What are exploits? Why we use Linux

Course Overview Atypical structure This course is based on group learning and experience Originally developed in 2007 by two undergrad students Have experienced undergrads as co-instructors with oversight by the professor Material tweaked and improved with each iteration Big overhaul by Andrew Kahn in 2014 The class will follow a theory and practice model We will introduce the basic theory for fundamental hacking techniques, then carry out these techniques in controlled environments

Course Objectives No mandatory CTF this year Motivated students are encouraged to field a team in the iCTF Practical knowledge of computer security Theory Attack Defense

Prerequisites and Materials Required EECS 213 or ECE 205 and 231 Networking (EECS 340) Highly Recommended Operating Systems (EECS 343) Familiarity with the UNIX environment Textbooks Network Security - Private Communication in a Public World, by Charlie Kaufman, Radia Perlman and Mike Speciner, 2nd Edition, Prentice Hall, Cryptography and Network Security, by William Stallings, 6th Edition, Prentice Hall, 2013.

Communication Slides will be made online prior to each class Web page: Newsgroup: IRC: #NorthwesternNetsec on irc.ubuntu.com

Grading There will be a short written final for this class at the scheduled exam time. Participation and Labs 25% Homework and projects 40% Final 35%

Overview Exploit demo Course information VM logistics x86 stack structure What are exploits? Why we use Linux

Class Virtual Machines Everyone has an account on hamsa.cs.northwestern.edu For testing buffer overflows, etc, use netsec- playground because it does not have modern stack protections You do not have a login for the other VMs: netsec-projects and netsec-demos

Overview Exploit demo Course information VM logistics x86 stack structure What are exploits? Why we use Linux

Linux Memory Layout Stack Runtime stack Heap Dynamically allocated storage When call malloc, calloc, new DLLs Dynamically Linked Libraries Library routines (e.g., printf, malloc) Linked into object code when first executed Data Statically allocated data E.g., arrays & strings declared in code Text Executable machine instructions Read-only Stack Heap DLLs Heap Data Text FF00

Linux Memory Allocation Stack Data Text Initially Stack DLLs Data Text Linked Stack Heap DLLs Data Text Some Heap Stack Heap DLLs Heap Data Text More Heap

Overview Exploit demo Course information VM logistics x86 stack structure What are exploits? Why we use Linux

Exploits vs. Vulnerabilities Vulnerability: design flaws enable the bad inputs lead the program to a bad state An exploit is any computer input that takes advantage of a vulnerability to cause unintended behavior, usually to gain control of a computer system (Wikipedia) We will craft custom exploits to remotely gain control of computer systems Creators of exploits vs. creators of vulnerabilities # of exploits vs. # of vulnerabilities

Overview Exploit demo Course information VM logistics x86 stack structure What are exploits? Why we use Linux

Linux Learning to hack on MS Windows is like trying to learn how to dance in a body cast anonymous Linux offers low-level access to OS services as well as a powerful command-line By the end of this class everyone will be very comfortable working and hacking in a Linux environment

Linux Must know Basic Linux commands (see Lab 1) Command line text editor(s) Valuable Linux filesystem (/etc, /usr, etc.) Downloading source code, compiling, and installing Come to office hours or ask on IRC for Linux help