CS 336

From CS Wiki
Jump to: navigation, search

Introduction to Information Assurance

Catalog Description: Introduces the confidentiality, availability and integrity goals of information systems; resistance, recognition and response categories of assurance. Focus on computer security and survivability, including cryptography, network security, general purpose operating system security and dependability, and special purpose systems for high assurance security and dependability.

Type: Technical elective for all Computer Science majors, Required for Computer Science with Information Assurance majors.

Total Credits: 3

Contact Hours: 1 hour of lecture and 4 hours of laboratory per week.

Course Coordinator: Daniel Conte de Leon

URL: Course site on Blackboard (http://bblearn.uidaho.edu/).

Prerequisites: All CS-100 and CS-200 level courses with a C or better.

Textbook: Authors: William Stallings and Lawrie Brown. Title: Computer Security Principles and Practice. Edition: Third Edition. Publisher: Pearson Education, ISBN-13: 978-0-13-377392-7.

Prerequisites by Topic:

  • Knowledge of fundamental material covered in the core content areas sufficient to allow achievement of project objectives
  • Knowledge of basic problem analysis and solution design processes and techniques (CS 120, 121)
  • Writing skills (Engl 102)
  • Formal presentations skills (Comm 101)
  • Proficient programming skills in a high level language such as C++ or Java ( CS 120, 121, 127)
  • Knowledge of basic operating system features and functionality (CS 240, CS 270)
  • Ability to understand code written by others (CS 120, 121, 383 or 480)

Major Topics Covered

  1. Concepts of confidentiality, integrity, and availability, and authentication, authorization, and accountability (CIA-AAA); Saltzer and Schroeder secure design principles, and Defense in depth. (3 hours)
  2. Legal and ethical issues in Information Assurance, specifically with focus on security. (3 hours)
  3. Types of threats, malicious activities, and cyber-attacks; Adversary model; Threat prioritization and adequate defenses and countermeasures. (3 hours)
  4. Authentication and access control. (3 hours)
  5. Symmetric encryption (3 hours)
  6. Asymmetric encryption (3 hours)
  7. Buffer Overflow: Types and details of buffer overflow vulnerabilities and attacks and techniques for prevention and mitigation. (3 hours)
  8. Program Security and assurance: software engineering concepts of security and dependability including: secure design principles, secure coding and defensive programming, testing, maintenance, and system design for security. (3 hours)
  9. Operating system security: issues related to general purpose operating systems for security and dependability; Vulnerability scanning and 0-day; Basics of systems hardening. (3 hours)
  10. Web and database security including: secure database design, cross-site scripting, and SQL injections. (3 hours)
  11. Network security and dependability: overview of common concerns and solutions; Firewalls and IDS. (3 hours)
  12. Secure systems administration: configuration management, system management, maintenance, patching, and upgrading, and organizational policies.
  13. Security policies and compliance issues related to the implementation of security within organizations. (3 hours)

Course Outcomes

  1. Define most of the common and standard terms in the domain of Information Assurance (IA).
  2. Describe the focus areas in Information Assurance (sub-domains) and their rationale within the domain.
  3. Describe the types of attacks and the potential actors and their motivations.
  4. Describe the most common techniques and approaches in Information Assurance and their applicability to different threats and systems.
  5. Demonstrate the ability to investigate and report in detail a given topic, independently and in small groups.
  6. Critically evaluate host and networked sample computing systems for security vulnerabilities, identify failed security design principles, and propose adequate countermeasures.
  7. Analyze source code in search of vulnerabilities and implement vulnerability mitigations.
  8. Determine and implement vulnerability mitigations in sample systems, including the use and application of information technology, software development, and human resource and organizational policy techniques and approaches.
  9. Describe the laws concerning information assurance, security and privacy; Indicate the U.S. laws that may apply to particular scenarios.
  10. Critically apply ethic principles to known and scenario-based situations.