Gurumanie Singh Dhiman | CPRE431 Coursework

CPRE431: Basics of Information System Security

CPRE431 introduces mechanisms for protecting information systems from accidental and intentional threats. Topics include basic cryptography, authentication, access control, malicious code, network security mechanisms (firewalls, intrusion detection, SSL/TLS), ethics, and legal issues. Labs and programming assignments focus on practical security tools, cryptanalysis, and system configuration.

Representative labs (selected examples)

Lab: Encrypted attachment analysis

Scenario: Acting as the security administrator for a company, students analyze an encrypted attachment suspected of leaking confidential data. The file name hints that the password is the MD5 hash of the file name with extension. Students use OpenSSL to compute hashes, decrypt the archive, and identify hidden or encrypted items inside.

  1. Compute MD5 hashes using OpenSSL and verify the correct hash (note hash is space sensitive).
  2. Use file-decompression tools (WinRAR, unzip, etc.) to open the archive with the derived password.
  3. Analyze decrypted files, identify OpenSSL-encrypted contents beginning with "Salted__", and use OpenSSL symmetric decryption with candidate keys to recover plaintext.

Lab: Password cracking from /etc/shadow

Scenario: A VM is provided with an administrator and several users. Students are given an administrator's hash from /etc/shadow and must determine hash type, salt, and crack other user passwords using appropriate tools and methods. This lab reinforces understanding of password hashing, salts, and practical cracking techniques.

Lab: Slowloris DoS experiment (CloudLab)

Students reproduce a Slowloris-style denial-of-service experiment on an isolated CloudLab slice. The lab provides hands-on experience with resource exhaustion attacks in a controlled environment; students must be careful not to affect external infrastructure and must follow CloudLab policies.

Lab: iptables rule creation

Students practice creating iptables rules to filter and control traffic, implement basic firewall rules, and observe how changes affect connectivity and service accessibility.

Learning outcomes

View Full Code on GitHub