Skip to content

Request for Comment: Add Security Courses #639

@waciumawanjohi

Description

@waciumawanjohi

Problem:
OSSU:CS does not give students the proper broad introduction to information security.

Duration:
Feb 29, 2020

Background:
OSSU promises the equivalent of an undergraduate degree in Computer Science. In order to evaluate our recommended courses, we use the Curriculum Guidelines for Undergraduate Programs in Computer Science (CS2013). More information can be found here.

CS2013 specifies a number of knowledge areas a curriculum must cover, one of which is Information Assurance and Security (IAS). This is described as "...the set of controls and processes both technical and policy intended to protect and defend information and information systems by ensuring their confidentiality, integrity, and availability, and by providing for authentication and non-repudiation." There are 6 topics within this knowledge area.

  • Foundational Concepts in Security
  • Principles of Secure Design
  • Defensive Programming
  • Threats and Attacks
  • Network Security
  • Cryptography

It is important to note that the expectation is generally just an introduction of these areas. There need only be 1-2 hours of lecture material on each topic (this time does not count course readings, assignments, etc, which will be extra time). The learning outcomes on most topics expect only that students are familiar with the topics, not necessarily that they have used them. For example, students must be able to "Explain why input validation and data sanitization is necessary in the face of adversarial control of the input channel." Asking students to undertake data sanitization goes above and beyond the curricular requirements. (It should be noted that students may certainly choose electives that far exceed the general requirements.)

The four learning outcomes that expect students to demonstrate 'usage' are:

  • Analyze the tradeoffs of balancing key security properties (Confidentiality, Integrity, and Availability).
  • Classify common input validation errors, and write correct input validation code.
  • Demonstrate using a high-level programming language how to prevent a race condition from occurring and
    how to handle an exception.
  • Demonstrate the identification and graceful handling of error conditions.
    Only 2 of these expect students to write code.

Proposal:
Add three courses to the curriculum:

And give students the option between one of these two courses:

Alternatives:
a) Use only one course to cover all of the IAS topics:

b) Choose one of the following specializations (which go more in depth).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions