CS 587: Computer Systems Security
A note about the course
This is a systems course, so it is advisable that students have some systems background and hence there is a prerequisite of CS 450 or CS 485. The catalog says that there will be a lot of programming, but it is not a programming intensive course like CS 485. We will also cover some undecidability issues.Last time the course was given, there were 5 assignments, a project and a final. We will probably have a test and a final this time.
Announcements
- Homework Solutions
- Homwwork due November 9:
- Chapter 6,
- What are the relative importance of sophistication, resources, and risk in determining threat level? Explain
- What happens if you can't afford to protect vs. the threat level and information value?
- Different Security Targets assured at a given EAL. Why not?
- Chapter 7, problems 3,5,7
- Chapter 8, problems 3,4,5,6
- Chapter 6,
- Exam on 11 November (review on 9 November)
- No class on 4 November
- Computer System Security (part 2)
- The state of software and what to do about it
- Pages 86-87 of the manuscript
- Homework due Oct 28: Chapter 4, problems 2,3,5; Chapter 5 problems 2,3,4 and
- How can an integer overflow result in a security whole?
- Consider UNIX which, once a process opens a file, changes in the file's access permission do not have any effect on the process's ability to read the file. Describe how a TOCTTOU error can result from this semantics.
- How can an environment variable effect your program if the code you write does not ever use environment variables?
- It used to be that Personal Computers (PCs) had a single core. How does multicore PCs impact security holes?
- What are the techniques by which malware can be preventing from doing harm?
- Lecture on Ethos, Oct 22 at 3:00 in Rm 1000 SEO.
- Homework due Oct 21: Chapter 3, problems 2, 3, 7, 8, 9, 10, 13, 16, 21, 23, 26, 28
- We'll be using my manuscript which we used last time.
It is 344 pages at this point plus front and back matter,
and covers a superset of the material covered in class.
(Published texts only covered about 30-40% of the course material).
The reason I've switched over to this is so that:
- Lecture notes can cover material at a higher level, details and extensive examples in the text.
- Students will have a source for more in-depth coverage of the material with examples than possible with existing texts.
- The course is oriented towards security properties, which is new work.
- This is the most effective way to refine the course and technical details.
errata
- Ross Anderson, Security Engineering, John Wiley. (Really nice discussions of many topics and very readable. Highly recommended.)
- Pfleeger and Pfleeger, Security in Computing, Prentice-Hall, 3rd Edition. (Used last time for this course, good coverage of OS issues.)
- Gollmann, Computer Security, John Wiley. (Broad coverage, but terse)
- KernelSec Page This is the home page to my KernelSec project with lots of links to things including a 50+ page annotated bibliography I put together.
Description:
This course explores in depth Computer Security. Computer security is a subject of growing concern as a result of increasing- number of computers on the Internet;
- number of services on the Internet;
- amount of sensitive information on the Internet;
- reliance on computers for organizations; and
- commonality of software and hardware.
This course will examine:
- Definition of computer security
- Security models (eg. Chinese Wall, Bell-LaPadula, and Clark Wilson) and properties (eg. information flow, non-interference, separation of duties)
- Computer systems structure and its impact on security
- Authentication
- Errant programs
- Access control models, their use and analysis (eg. POSIX/Unix models, Lattice, Type enforcement, Security Cards)
- Covert channels and their analysis
This is a systems course, and while it is intended to be self-contained will explore issues primarily in software including operating systems and applications software.
Required Work
The work is going to include:- homework assignments,
- programming assignments (these are not intended to be very large),
- test(s) and
- a course project. The course project can either be
- an implementation project,
- possibly a project where you install and validate some software, or
- a written project.
Undergraduates wishing to take the course should send me email with the following information:
- Number of completed credit hours
- Any required courses not yet taken.
- List of 400 level courses taken (and grades achieved).
- Background in OS (including kernel background)
- Are you requesting course count as a technical elective (this will be harder)
- Have you filed a petition?
- Reason for wanting to take the course
Previous Course Announcements (Fall 2004)
- test1 solutions (UIC only)
- do problems 23,24,25 listed here (due Sun at Noon)
- projects (UIC only)
- Test will be on 22 November.
- (3 Nov.) Multiple posts including
- Assign3: chap 6: 1, 4; chap 8: 1, 2, 5, 6, 8, 9, 15 (due 10 Nov).
- New: manuscript front matter
- New: manuscript back matter (includes now hw1 solutions)
- Assign2: chap 4: 4, 5, 6; chap 5: 4, 9, 10; and chap 7: 10, 11, 14-23 (Due Nov. 1). Note chap7 problems have been revised, again
- Revised (25 Oct) Chapter 7 problems click here.
- Assign 1: chap 3: 1, 3, 10, 17, 20, 21, 26, 28 and chap 7: 1, 3, 4, 5, 6, 8, 9 (Due Oct. 20th). NOTE: use below revised chap7 problems.
- VB 2004 is going to be at the Fairmont Hotel in Chicago and they are looking for students to help in the work. Here is some information on the conference vb2004 and some more details VB2004delegatepack4.pdf. This is the Virus Bulletin publication recent issues VBAug04_lowres.pdf and VBSept04_low.pdf
- I intend to track who reports errata (and give proportional credit to multiple reports). Do it well and win a valuable prize!
- Please fill out chapter questionnaire (at bottom of this page), to help me make the manuscript better.
- front.pdf and back.pdf for the manuscript are now on-line only from uic.edu. Scroll to bottom of this page to find a web link.
- The manuscript is on reserve at the library (along with Gollman's and Anderson's books). The purpose of putting it there is so to provide more information on course contents before the drop date. I will arrange for the manuscript to be distributed in three parts, the first of which will be available in the second week.
- The course requires a project which can be a group or an individual project. If you are interested in doing an MS/PhD project/thesis with me, you will need to do a open-ended project, by which I mean it is intended to be continued as a thesis.
- The meeting on Friday at 4:00 are only for those interested in open-ended projects with me.
Jon A. Solworth Last modified: Wed Nov 13 20:43:30 CST 2002