CS6238: Secure Computer Systems

Summer 2021

Secure Computer Systems introduces students to the TCB (trusted computing base) and touches on topics like design principles, memory protection, virtualization, authentication, Discretionary Access Control, Mandatory Acces Control, covert channels, database security, and distributed systems security. All of these topics are reinforced using hands-on project-based learning.

Project Work Includes:

  • Project 1: Memory Protection
  • Project 2: Authentication
  • Project 3: Access Control
  • Project 4: Distributed Security

Tool, Technologies, and Takeaways:

  • Project 1:
    • VirtualBox, Linux
    • mprotect() system call and stack execution
    • Utilized C to complete project
  • Project 2:
    • VirtualBox, Linux
    • Password hardening and 2FA
    • Encryption, decrpytion, and hashing of passwords
    • Utilized Python to complete project
  • Project 4:
    • VirtualBox, Linux
    • Created Certificate Authority and generated client/server certificates
    • Generated user private/public keys from CA
    • Utilized Python to create client and server
      • Functionality included login/logout, checkin (security or integrity options), checkout, grant, and delete