COMS 3995 (Networks, Operating Systems and Security) Spring 2010 - PowerPoint PPT Presentation

Loading...

PPT – COMS 3995 (Networks, Operating Systems and Security) Spring 2010 PowerPoint presentation | free to download - id: 7888bf-YTc1N



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

COMS 3995 (Networks, Operating Systems and Security) Spring 2010

Description:

COMS 3995 (Networks, Operating Systems and Security) Spring 2010 Henning Schulzrinne Dept. of Computer Science Columbia University http://www.cs.columbia.edu/~hgs – PowerPoint PPT presentation

Number of Views:28
Avg rating:3.0/5.0
Slides: 25
Provided by: colu131
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: COMS 3995 (Networks, Operating Systems and Security) Spring 2010


1
COMS 3995 (Networks, Operating Systems and
Security)Spring 2010
  • Henning Schulzrinne
  • Dept. of Computer Science
  • Columbia University
  • http//www.cs.columbia.edu/hgs

2
Course mechanics
  • Instructor hgs_at_cs.columbia.edu
  • My office hours Wednesdays, 4-5 pm, 723 CEPSR or
    by email appointment
  • TATBA
  • office hoursTBA
  • Web page ? assignments, syllabus,
  • http//www.cs.columbia.edu/hgs/teaching/nos
  • Wiki ? hints, assorted documents
  • Assignment upload, slides and mailing list via
    Courseworks
  • Will set up Google Group for discussions

3
Books
  • Unfortunately, there is no single book that
    works
  • OS
  • Operating System Concepts with Java (8th edition)
    by Silberschatz, Galvin, Gagne
  • Networks
  • Computer Networking A top-down approach by
    Kurose, Ross
  • Security
  • Network Security (2nd edition) by Kaufman,
    Perlman, Speciner

4
Structure of course
  • Lectures - book material background
    discussion
  • Homework assignments
  • Java or C programming (no kernel programming)
  • Midterm, final

5
Prerequisites
  • CSEE W3827 (Fundamentals of Computer Systems)
  • understanding of computer system architecture
  • registers, cache, virtual memory, I/O, DMA,
    disks, etc.
  • interrupts
  • useful, but can probably survive without it
  • COMS W3157 or W3101
  • understand how to use make, C compiler, gdb,
  • C/C and/or Java

6
The big questions
  • Why do I see an hour glass or spinning beach
    ball?
  • How can I share the CPU so that I can still play
    a game while compiling a new Linux kernel?
  • What's a file system and how does it work?
  • How does the Internet work?
  • How does data get from sender to destination, and
    why doesn't it sometimes?
  • How can the Internet work without anybody in
    charge?

7
The big questions, contd
  • What happens when there's an Internet traffic
    jam?
  • What are the fundamental limits of networks?
  • Can cloud computing replace traditional
    computing?
  • What's a protocol and how does it relate to an
    API?
  • How is a web browser and an operating system
    similar?
  • What is cross-site scripting?
  • How can I send you a secure letter without
    knowing your secret?
  • How can I sign a contract without a pen?
  • How can I prove to a computer that it's really
    me?

8
Why are systems important?
  • Understand abstractions
  • limitations, hidden costs, trade-offs
  • Understand sharing isolation
  • what exactly is shared?
  • whats predictable?
  • what can I rely on?
  • Scaling
  • everything works at small scale
  • even O(2n) -- see data structures class

9
Course outline topics
  • Introduction
  • browsers, OS and networks sharing
  • security isolation
  • OS concepts
  • core components
  • threads processes
  • scheduling
  • process synchronization
  • main memory
  • file systems
  • I/O (audio, video, USB)
  • interrupts and event-driven programming
  • Networks
  • Internet overview
  • circuits packets
  • core access
  • API vs. protocols
  • protocol layering
  • applications (HTTP, ssh, email)
  • mapping (DNS, DHCP)
  • transport protocols
  • routing overview
  • networks as an OS service
  • day-in-the-life of a web request

10
Course outline, contd
  • Security
  • Causes of security failures (stack attacks,
    information leakage, privilege escalation,
    denial-of-service, social engineering, ...)
  • Isolation and defense-in-depth
  • Authentication, authorization and non-repudiation
  • Core concepts of encryption and hashing
  • Introduction to public key cryptography TLS
  • ACL
  • Web-based attacks (cross-site scripting, SQL
    insertion)

11
3-for-1 deal whats the catch?
  • 3-for-1 deal
  • core concepts in OS (COMS 4118), networks (4119),
    security (4180)
  • emphasis on concepts connections between the
    three
  • Compared to 4118
  • no kernel programming
  • Compared to 4119
  • fewer protocol details
  • omit network management, multimedia details
  • Compared to 4180
  • less crypto
  • fewer protocol details
  • more emphasis on higher-layer attacks and issues
  • Good preparation for all three

12
The deal
  • Your responsibility
  • youre all adults
  • responsible for your own actions and scheduling
    choices
  • if you dont understand something, ask
  • Please note academic honesty policy
    http//www.cs.columbia.edu/education/honesty
  • discussion with others is encouraged - study
    groups, discussion board, etc.
  • zero tolerance for cheating or outsourcing
    homework
  • well clearly identify group work
  • lock your files -- just looking is not
    acceptable
  • Our responsibility
  • be responsive to your questions
  • try to fix problems

13
Lectures
  • Slides for each class
  • derived from book slides, but modified and
    enhanced
  • Uploaded to Courseworks shortly after class
  • sometimes updated a bit later

14
Assignments Grading
  • Grading
  • 50 assignments
  • 20 midterm (closed book)
  • 30 final (cumulative, closed book)
  • 0 no extra credit work
  • will be curved
  • 6 written assignments (every two weeks)
  • individually solved
  • Late policy
  • five late days
  • late assignments will not be graded, but you can
    submit partial assignments
  • at noon on due date

15
CLIC lab
  • All programs and kernels must boot run on the
    CLIC machines
  • if not, zero credit
  • but you can develop at home, on your laptop,
  • Youll need a CLIC account
  • https//www.columbia.edu/crf/accounts/
  • You will be assigned a particular CLIC machine
    for virtual machine use
  • Some CLIC machines are for in-person use others
    can only be accessed remotely
  • No food or drink in CLIC
  • be considerate -- others are trying to concentrate

16
Big picture
  • What are systems?
  • computer systems vs. software systems
  • Analogies
  • plumbing?
  • civic infrastructure?
  • platform?
  • Systems abstraction, sharing isolation

17
Abstraction
  • messy world ? nice programming interface
  • reliable
  • everything looks the same
  • deal with physical diversity (capabilities,
    technology)
  • deal with hardware and environment evolution
  • cf. function object abstraction (information
    hiding)
  • abstract data type
  • provided by OS, networks, security
  • OS everything is a file descriptor
  • USB stick to web page
  • Networks everything is a pipe
  • modem to satellite
  • Security everybody is a principal
  • human, robot or program
  • will identify core abstractions throughout
    semester

18
Sharing isolation
19
Sharing isolation
20
Sharing isolation
  • Networks
  • cant run separate wires everywhere
  • but ensure quality of service
  • OS
  • cant have own CPU, disk, memory for each program
  • but ensure responsiveness, throughput guarantees
  • Security
  • sharing within user group, security maintains
    group
  • AAA Authentication, Authorization, Accounting
  • who is getting what resource?
  • administer data sharing

21
Isolation, in real life
1880s postcard
22
Sharing
23
Todays system sharing isolation at many layers
many PHP/Ruby/ scripts Java servlets maintenance
tasks
multiple tabs many JavaScripts Flash plugin
  • Use OS features (threads, processes) for CPU
  • but schedule requests itself
  • manage memory
  • manage access to OS resources for security

Linux
Windows
hypervisor
hardware
24
Networks and OS
  • I/O with dumb devices ? networks of peripherals
    with embedded CPUs
  • printers parallel port ? Ethernet
  • keyboard serial port ? BlueTooth
  • USB, Firewire small packet network
  • VGA ? HDMI ? DisplayPort
  • Convergence
  • file systems and remote storage
  • thin clients
  • NetBooks
  • Conceptual
  • similar issues (scheduling, access control,
    caching, multiplexing)
  • abstraction layering protocols vs. APIs
About PowerShow.com