Instructor | Announcements | Course Info | Class Material | Schedule | Project | Grade | General Policy | Related
Links
CmpE 209 |
Network Security |
Spring 2009 |
|
Instructor
Richard Sinn
Email: richardsinn@yahoo.com
Office Hours: After class, by appointment or email only
Richard Sinn has been teaching in the Computer Engineering and Computer Science
departments at San Jose State University since 1998. He also served as Adjunct
Professor at University of Minnesota. In addition to his teaching career, Richard
is the Security Architect at the Real Time Communication group at Yahoo! Inc.
Prior to this he held various senior positions at IBM, Oracle and different
Silicon Valley startup companies. Richard is an inventor and has filed over
ten invention disclosures (patents). He is also a frequent writer for various
magazines and journals, and a frequent speaker at regional and national technology
conferences.
Announcements
Check back every now and then for updates.
Add code:
Available when someone drops.
Class time:
Every Tuesday 6:30pm <-----
Class room:
Clark 202
Initial creation.
Environment
Please consider how you set up your evaluation environments - be it homework,
on-campus quizzes and exams, to minimize chances of (temptations to) cheating.
In particular:
During tests:
- Make sure there is plenty of space between students.
- Always proctor exams and tests, and preferably by sitting at the back of
the room rather than at the front. Do not leave the testing room during the
test. If you cannot proctor the class yourself, contact me and I will endeavor
to find a proctor for you.
- If the test is closed-book, require all backpacks to be zipped shut, all
PDAs, computers and phones to be handed in, and any access to either without
explicit proctor permission should be an immediate F in the class.
For homework: We have started using on-line support systems to catch cheaters.
So I would very strongly urge you:
- For code assignments: Run them all through MOSS
- For essays etc: Run them all through turnitin.com (SJSU has a site subscription,
I have been told.)
- Make sure individual contributions are ensured in team projects. This can
be done through various means: Sign-offs, quizzes on the content of common work,
etc.
Remember: A grade reflects an evaluation of the individual student's achievements.
Your evaluation system has to reflect that objective.
Course Information
Objectives
Network security protocols and applications, cryptography algorithms, authentication
systems, intrusion detection, network attacks and defenses, system-level security
issues, and how to build secure systems. Prerequisite: CmpE 206 and EE 281.
This semester is programming oriented. Topics include:
- Security theories
- Thrust model
- Network programming with security- Java
- Network programming with security - C/C++
- Protocols info - SSL, LDAP, IPSec, etc.
- IDS
- Network Attack / Defense
- Security Level
- Building secure system
Grading
Apart from big term project(s) and presentation, there are homework assignments,
a mid-term exam and a final exam. Some exams might be take-home. The weightings
for grading are: Term Project(s) 40%, Homework 20%, Midterm 10%, Final Exam
10%, and Team Presentation 20%.
No Late Assignment Submission. Put everything in an envelop when submit any
material.
Policy Info
University, College, or Department Policy Information
a. Academic integrity statement (from Office of Judicial Affairs): “Your own
commitment to learning, as evidenced by your enrollment at San José State University,
and the University’s Academic Integrity Policy requires you to be honest in
all your academic course work. Faculty members are required to report all infractions
to the Office of Judicial Affairs.
b. Campus policy in compliance with the Americans with Disabilities Act: “If
you need course adaptations or accommodations because of a disability, or if
you need special arrangements in case the building must be evacuated, please
make an appointment with me as soon as possible, or see me during office hours.
Presidential Directive 97-03 requires that students with disabilities requesting
accommodations must register with DRC to establish a record of their disability.”
c. Policies or information required by the department, or college with which the
class is associated.
Class Material
Lecture Notes
Textbook:
Software Security Technologies, A Programmatic Approach. Course Technology, 496 pages. (Available at bookstore).
Non-Textbook: Reading material will be online on this web site before every
lecture. Reading this semester:
- HTTP: http://www.w3.org/Protocols/, ftp://ftp.isi.edu/in-notes/rfc2616.txt
- FTP: http://www.ietf.org/rfc/rfc0959.txt
- BitTorrent: http://www.bittorrent.com/protocol.html
- DNS: http://www.faqs.org/rfcs/rfc1035.html, http://www.faqs.org/rfcs/dns-rfcs.html
- IKE: http://www.ietf.org/rfc/rfc2409.txt
- IPSEC Intro: http://www.cisco.com/univercd/cc/td/doc/product/ismg/policy/ver23f/ipsec/ch01.htm
- XKMS: http://www.w3.org/TR/2005/REC-xkms2-20050628/
- ICE: http://www.w3.org/TR/1998/NOTE-ice-19981026
- LDAP: http://www.faqs.org/rfcs/rfc2251.html
- OCSP: http://www.faqs.org/rfcs/rfc2560.html
- SSL/TLS: http://wp.netscape.com/eng/ssl3/draft302.txt
- DHCP: http://rfc.net/rfc2131.html
- NFS: http://www.faqs.org/rfcs/rfc1813.html
- Kerberos: http://web.mit.edu/kerberos/www/
Reference
Pick one of the references for term paper. Please spend the time to
read and actually reseach (program) into the topics. The class expects
a high quality research paper, not some collection of combined internet
web pages ...
|
Schedule
Jan 27, 2009-Tue
February 3: Last Day to Drop Courses Without an Entry on Student's
Permanent Record
Feb 3, 2009-Tue:
February 10: Last Day to Add Courses & Register Late
Feb 10, 2009-Tue:
- Essential PKI
- Services
- Certificate and Processing
- CRL
- Components
- Reading: SST Book Chapter 3
- Homework 2 due
- Homework 3
- Group Quiz
Feb 17, 2009-Tue:
Feb 24, 2009-Tue:
- Homework 1/2 Solutions
- Web SSO related materials AND/OR
- Authentication and Authorization
- Team Presentation List updated
- Turnitin info updated
- Group Homework: Each group email me: The development tools and backend you will use for the project
- Project Homework 1 Due
- Group Quiz
Mar 3, 2009-Tue:
- Kerberos Preso (Contributed from other sources)
- Kerberos
picture
- SSL
- LDAP
- TLS
- JAAS
- Homework 4
- Project Description / Discussion
- Reading: Chapter 5, 6, 7
- Team presentation: Alpha: An analysis of RTSP security (Preso, Report)
- Team presentation: Hawks: An analysis of OpenID security (Preso, Report)
- Team presentation: Team-p2: An analysis of IMAP security (Preso, Report)
How to use turnitin.com
- Go to http://www.turnitin.com/
- Click New user
- Select Student
- Next
- Class id is: 2632886
- Password is my first name in lower case
- Enter your email
- Enter your password
- Select a question and enter an answer
- Enter your first name and last name
- I agree
- Login
- Enter the cmpe209 - spring 2009
- Try out submit for testing (if you submit the same paper, it will
mark as copy ..)
- After submit, you can checkout the originality report. (Learn to use
it. The report takes a while to generate.)
- The research paper and final team paper must be submitted under turnitin.com. If the
originality report shows that you plagiarize in the paper. You will
fail the class.
The two papers you need to submit for this class is Research paper (after the group presentation) and Term Project paper (the term project paper at the end of the semester).
Mar 10, 2009-Tue:
- Mid-term (In Class - Close book)
- Homework 4 Due
- Keys to do well:
- Attend class lectures
- Understand the materials / Not just memorize
- Attend student presos
- Read the assigned book chapters
- Answer in a precise manner (as in any security related answer)
- Network Programming with OpenSSL
- Reading: Chapter 5, 6, 7
- Master Project Info
- Honesty Pledge Due
- Team presentation: KangKong: An analysis of Socks security (Report, Preso)
- Team presentation: Network Geeks: An analysis of RFID security (Report, Preso)
- Team presentation: (Bhavesh Jadav / Mayur Mulani): An analysis of SMTP security (last chapter of the book has some) (Report, Preso)
Mar 17, 2009-Tue:
- Project Part I
- SSL / IPSec (Presentation)
- Preso is contributed from other sources.
- Diffe-Hellman
- LDAP Protocol (http://www.ietf.org/rfc/rfc2251.txt, http://www.mozilla.org/directory/standards.html)
- IPSec
- IPSec RFC
- IKE (from the Internet)
- IKE RFC
- Reading: Chapter 5, 6, 7
March 23-27: Spring Recess
Mid-term grades:
100 |
95 |
95 |
93 |
93 |
90 |
89 |
89 |
88 |
86 |
85 |
84 |
84 |
84 |
82 |
79 |
78 |
77 |
72 |
68 |
67 |
67 |
66 |
65 |
64 |
58 |
56 |
51 |
31 |
22 |
Project Part I consists of a document includes the following:
- Detail project plan. The list of features and functions should
be included in the project.
- Both part 1 and part 2 of the project must be included
- For part 1 (individual part), list out in details all the features that you will implement in the web portal
- For part 2 (group part), work with your teammate and describe the approach that you will use to enable sharing between web portals. (We will have some pointers in class)
- Schedule and division of work among team members
- Prototype results
- Include screen shoots of web UI, design diagram, etc. Materails that show your project is in progress.
- Each group only needs to hand in one set of document (that contains two individual parts and one group part containing information described above).
Mar 31, 2009-Tue: Cesar Chavez Day - Campus Closed
Apr 7, 2009-Tue:
- Network Setup / Security / Firewall Concepts (Preso
1, Preso 2) - Preso is contributed
from other sources.
- Project Part I due
- HW5 (Q2)
- IPSec (Guest speakers ... Be on time!)
- Radius
- IDS, etc.
- Tunneling (ATMP, L2F, L2TP, PPTP)
- Wireless Authentication Protocols
- Reading: Chapter 5, 6, 7
- DHCP / BOOTP
- Reading: Chapter 8
- Extra Credit Homework
- Kerberos
PPT (Outside source)
- Authentication Kerberos
- Kerberos
picture (initially from xml-dev.com)
- Extra Credit Homework
- ARP / AH / ESP / Routing
- Team Presentation: (Emily Maples / Evan Nakano): An analysis of 3G phone security (Preso, Report)
- Team Presentation: Hackers: An analysis of DNS security (DNESec) (Preso, Report)
- Team Presentation: Omega: An analysis of SIP security (Preso, Report)
Apr 14, 2009-Tue:
- Intro to IDS (Modified Internet Slides)
- Reading: Chapter 8
- HW5 (Q2) Due
- Team presentation: (Kapil Vallabh / Srinivas Mote): An analysis of IRC security
- Team presentation: Team Edge: An analysis of POP3 security (Preso, Report)
Apr 21, 2009-Tue:
- Industry Network Security Topics
- Team Presentation: (Sarabjeet Singh / Uma Nandanam) : An analysis of RSS security (Preso, Report)
- Team Presentation: Matrix: Software Security Education (What can you study after this course? Research into certifications and various courses offered by the text ads around this site) (Preso, Report)
- Team Presentation: Elite: An analysis of blue tooth security (Preso, Report)
- Team presentation: (Minh Do/Mark Locsin): Rootkit Overview (Preso)
Final and Presentation
Apr 28, 2009-Tue:
May 5, 2009 - Tue:
May 12, 2009 - Tue
- Final Exam
- I have a few slots open for 295A Fall 2009. Prefer web projects. Ping me if you are interested in doing a master project with me.
- Term Project Due (Hard and soft copy - No email please)
|
|
Term Project
Description
There are two parts into the term project. Part 1 is an individual part performed by one student and part 2 is a group part performed by two group members. The name of the project is called Internet Information Exchange Hub.
Part 1 - Information Portal (individual part)
Create an information portal in the form of a web site. This information portal allows a self-service creation of a USER. Each user can store various RESOURCES securely in the information portal. Here is a list of rerquirements:
- RESOURCE is data stored by each user. Resoure data types supported must at least include documents (ms word, txt and pdf), photos, and video files. Other types can be added for extra credit.
- A USER can create a GROUP and becomes a group creator. A group creator can add or delete other users to the group.
- Resources belong to a user can be shared within a group.
- All data stored in the portal must be secure.
- You must make the following architecture/design decision:
- What is domain name to obtain? (in one of the homework).
- What development tools (language, backend, etc) will you use for this project?
- Any extra resource data type to support.
- How would resources be shared among group? (ACL, preshared key, authentication/JAAS, MLS (chapter 2), etc).
- This is a real web site development project, so enjoy the chance to do so ...
Part 2 - Internet Information Exchange
Form a group of two and create a mechansim that allows two information portals to securely exchange information between two real web sites. In other words, USERS from different web sites can exchange RESOURCE. As a group you must decide the following:
- The exchange protocol / format of the portals.
- Do you use open mechanism such as OpenID?
- Do you do domain level access control?
- Do you create a 3rd party component (another web site) to build this mechanism?
- Do you do a handshake to obtain control information such as resources supported, etc?
- Again, all informaiton exchange must be secure.
Notes:
- You and your group must signup a real hosting solution to develop a real web site (with domain name, etc) to run this project.
- You can use
- Yahoo is the student prefer choice since you can easily get out after 3 months without any problem, and it has the most up time.
- Using a real web site setting enable real web development experience (this ensure that you cannot get away with things that just run localhost, etc.)
- You can optionally keep it running after the semester (it will be good reference for interview, etc.)
- You will need to put your homework skills to the test to make sure everything over the wire is true to the goals of CIA.
Grading
Project team has to decide on various issues such as:
- What domain name to signup?
- What is the development language to use? Php, Perl or something else.
- Do we use database such as MySQL? What is the database schema to use?
- How do we secure the interface with the backend WSH?
- What do we implement for each authentication method (AM)?
- Do we use pluggable authentication?
- Can we use web server authentication method to help out?
- How do we secure the content (for sharing) on the web server?
- Do we support nested group?
As the whole class will be working on similar projects, relative grading will
be used. In other words, all the projects will be ranked within the class and
points will be assigned accordingly. There are two parts in the project:
- Part I: Requirement Analysis and Design 33%
- Part II: Final report and/or Implementation 67%
Handin
Project Part I consists of a document includes the following:
- Detail project plan. The list of features and functions should be included
in the project.
- Schedule and division of work among team members
- Prototype results
Project Final Part will be covered later in class
Final Word of Warning
This is not an "easy" class and the project is an essential part
of the overall grade. People who did not deliver the project well enough could
really hurt their grade as the project contains more than 40% of the overall
grade.
Avoid:
- Forming group late
- Changing group in the middle of the semester
- Start late and rush any part of the project
- Form a group of less than 3 people
- Not enough extra features if the group is more than 3 people
- Did the final integration of the project late
- Do not do enough testing
- All but actually one person in the group does all the programming (No, people
do not get lucky and teammate will complain...)
Team Research Presentation (Lab)
Each team will be given one topic to research and present during the
semester. Mid-term and final will contain some questions related to the topics
presented. The team needs to prepare the following:
- PowerPoint Presentantion of the topic
- A 5 short-paper with detail reference on the topic
- Perform face-to-face presentation in class (10 min)
The following are the possible topics:
- RFID network protoco
- SMTP
- SNMPl
- SSH
- SCP
- Kerberos
- Radius
- Network Intrusion Detection
- SOAP
- UDDI
- XKMS
- NAT
- EAP
- IPX/SPX
- POP3/IMAP4
- BGP
- EGP
- IGP
- RIP
- OSPF
- Socks
- More tables from TCP/IP suite:
Data Link Layer |
ARP/RARP |
Address Resolution Protocol/Reverse Address |
DCAP |
Data Link Switching Client Access Protocol |
Network Layer |
DHCP |
Dynamic Host Configuration Protocol |
DVMRP |
Distance Vector Multicast Routing Protocol |
ICMP/ICMPv6 |
Internet Control Message Protocol |
IGMP |
Internet Group Management Protocol |
IP |
Internet Protocol version 4 |
IPv6 |
Internet Protocol version 6 |
MARS |
Multicast Address Resolution Server |
PIM |
Protocol Independent Multicast-Sparse Mode (PIM-SM) |
RIP2 |
Routing Information Protocol |
RIPng for IPv6 |
Routing Information Protocol for IPv6 |
RSVP |
Resource ReSerVation setup Protocol |
VRRP |
Virtual Router Redundancy Protocol |
Transport Layer |
ISTP |
|
Mobile IP |
Mobile IP Protocol |
RUDP |
Reliable UDP |
TALI |
Transport Adapter Layer Interface |
TCP |
Transmission Control Protocol |
UDP |
User Datagram Protocol |
Van Jacobson |
compressed TCP |
XOT |
X.25 over TCP |
Session Layer |
BGMP |
Border Gateway Multicast Protocol |
Diameter |
|
DIS |
Distributed Interactive Simulation |
DNS |
Domain Name Service |
ISAKMP/IKE |
Internet Security Association and Key Management Protocol and Internet
Key Exchange Protocol |
iSCSI |
Small Computer Systems Interface |
LDAP |
Lightweight Directory Access Protocol |
MZAP |
Multicast-Scope Zone Announcement Protocol |
NetBIOS/IP |
NetBIOS/IP for TCP/IP Environment |
Application Layer |
COPS |
Common Open Policy Service |
FANP |
Flow Attribute Notification Protocol |
Finger |
User Information Protocol |
FTP |
File Transfer Protocol |
HTTP |
Hypertext Transfer Protocol |
IMAP4 |
Internet Message Access Protocol rev 4 |
IMPPpre/IMPPmes |
Instant Messaging and Presence Protocols |
IPDC |
IP Device Control |
IRC |
·Internet Relay Chat Protocol |
ISAKMP |
Internet Message Access Protocol version 4rev1 |
ISP |
|
NTP |
Network Time Protocol |
POP3 |
Post Office Protocol version 3 |
Radius |
Remote Authentication Dial In User Service |
RLOGIN |
Remote Login |
RTSP |
Real-time Streaming Protocol |
SCTP |
Stream Control Transmision Protocol |
S-HTTP |
Secure Hypertext Transfer Protocol |
SLP |
Service Location Protocol |
SMTP |
Simple Mail Transfer Protocol |
SNMP |
Simple Network Management Protocol |
SOCKS |
Socket Secure (Server) |
TACACS+ |
Terminal Access Controller Access Control System |
TELNET |
TCP/IP Terminal Emulation Protocol |
TFTP |
Trivial File Transfer Protocol |
WCCP |
Web Cache Coordination Protocol |
X-Window |
X Window |
Routing |
BGP-4 |
Border Gateway Protocol |
EGP |
Exterior Gateway Protocol |
EIGRP |
Enhanced Interior Gateway Routing Protocol |
HSRP |
Cisco Hot Standby Router Protocol |
IGRP |
Interior Gateway Routing |
NARP |
NBMA Address Resolution Protocol |
NHRP |
Next Hop Resolution Protocol |
OSPF |
Open Shortest Path First |
TRIP |
Telephony Routing over IP |
Tunneling |
ATMP |
Ascend Tunnel Management Protocol |
L2F |
The Layer 2 Forwarding Protocol |
L2TP |
Layer 2 Tunneling Protocol |
PPTP |
Point to Point Tunneling Protocol |
Security |
AH |
Authentication Header |
ESP |
Encapsulating Security Payload |
TLS |
Transport Layer Security Protocol |
Grade
Email sinn@openloop.com to check your grade if necessary.
General Policy
The university and departmental policies and deadlines for course drop will
be applied. Makeup exams cannot be offered, except under exceptional conditions,
such as documented serious illness/accident, etc., and only at the professor's
discretion.
Each student is responsible for his/her individual assignment, and must not
copy anyone else's work. Students who borrow solutions from others will find
themselves unable to pass the course. The minimum penalty for every student
involved in the duplication of individual assignments or exams will be receiving
a zero score on the submitted work.
For group project, all the work has to be done by your OWN group. Do not try
to download "free code" from the Internet and hand in as a project. WE WILL
FIND OUT. Do not share your work with others. So DO YOUR OWN WORK and EARN your
grade.
Related Links
Instructor | Announcements | Course Info | Class Material | Schedule | Project | Grade | General Policy | Related
Links