Moodle website: https://moodle.cs.csub.edu/moodle/course/view.php?id=113
Course meets MW 4:00-5:15pm and Tu 4:00-6:30pm in Sci III 311
Supporting articles and current events relating to the course will be posted on the Moodle site.
CS-IAS/Foundational Concepts in Security
CS-IAS/Principles of Secure Design
CS-IAS/Defensive Programming
CS-IAS/Threats and Attacks
CS-PL/Static Analysis
CS-SE/Software Construction
Week | Chapter(s) | Topics |
---|---|---|
1 to 3 | Chapters 1 to 3 | Professional ethics, Classic security goals (confidentiality, integrity, etc.), Threats and threat exposure, Vulnerability categories, Audit overview |
4 and 5 | Chapter 4 | Auditing strategies and tools for source code analysis |
5 to 7 | Chapter 5 | Memory corruption: buffer overflows, heap overflows, global and static data, shellcode, protection mechanisms |
8 to 12 | Chapters 6 and 8 | C/C++ language issues; String and character handling issues |
13 and 14 | Chapter 7 | Auditing techniques for source code and binary analysis |
15 | Chapters 9 and 10 | Vulnerabilities and analysis for Unix/Linux systems |
15 | n/a | Project presentations |
There are also computers available in the CEE/CS Major Study Lounge in Sci III 341 (formerly the CEE/CS Library). This room is only open when faculty members are on campus, e.g. approximately 8am to 5pm on weekdays. If the door is currently locked, see Steve, Erika, myself, or another faculty member to unlock it.
Labs/Homework/Quizzes | 25% |
Midterm | 25% |
Project | 25% |
Final | 25% |
Grades are posted on Moodle. Note: Moodle does not penalize your grade for any ungraded assignments, so it will show your "current" overall percentage based off the classwork graded to-date.
It is your responsibility to check Moodle for grades and any comments on assignments. If you believe you submitted your assignment on time but the comment field says "assignment not received", contact me.
You may work on labs in groups of up to 3 students. If you work in a group, make sure to put everyone's names on the assignment each week. Only the students whose names are on the assignment will get credit for the lab.
If you attend the lab session on Tuesday and finish the lab by the end of the session, come show your work to me to get "instantly" graded on Moodle. If you do not attend the lab, submit your work to Moodle. Emailed submission are not guaranteed to be accepted.
Homeworks may be discussed with others in the class, but every student must turn in their own assignments in their own words. Copying from other students, the Internet, previous solutions, the textbook, etc. are all considered violations of the Academic Integrity Policy.
You may also write your answers in the Moodle Notes section if you can adequately answer them in Moodle's text box. Note that the Moodle text box does not handle metacharacters like < or & well.
Moodle records the last time you edit the Notes field or upload a file as the submission time for the assignment.
If you have drawn something out by hand, take a picture or use a scanner. Moodle has a maximum file size of 8MB, so keep this in mind when creating your files. Split information over multiple files if needed.
If you submit multiple files, please name them in a fashion that indicates what they contain, e.g. hw1_q2_drawing.jpg, hw2_part1.pdf, hw2_part2.pdf, and so on.
If you have any difficulties submitting to Moodle, contact me or Steve Garcia for help. Emailed submissions are not guaranteed to be accepted since my email volume is so high and the spam detection software can silently drop emails.
Each project must have a proposal which lists the nature of the project (e.g. the open-source project selected and which file(s) the team will be auditing), the team members, any previous work any team member has done on the project, and a brief list of tools that will be needed for the project.
At the end of the quarter, each team will be required to prepare a presentation about their project. Project presentations will happen on the last lab day (November 29th) and a Moodle poll will be set up for teams to select a presentation time slot. The presentation will count for a portion of the Project grade.
A project writeup will also be required. Requirements for the writeup will be posted on Moodle and discussed in class. The writeup will count for the a portion of the Project grade.
All team members will also need to complete a teamwork assessment form. The blank form and an example form will be posted on Moodle. This will count for the remaining portion of the Project grade.
The presentation and project will be assessed with the standard department oral and written communication rubric. The rubric will be posted on Moodle.
The midterm will use Moodle's quiz module and will be IP-restricted to the CEE/CS laboratory subnet.
The final will also use Moodle's quiz module and will be IP-restricted to the CEE/CS laboratory subnet.
If you cannot make the scheduled final time because it conflicts with another final or you have more than two finals scheduled that day, arrange an alternate time with me at least ONE WEEK in advance of the above date.