I took the courses CSC 566 (Computer Security) taught by Sazzadur Rahaman and ECE 571 (Fundamentals of Information and Network Security) taught by Ming Li during Spring 2022 (graduate @ UArizona).
For ECE 571 course, I built a simple TLS/SSL VPN, called miniVPN
using OpenSSL library in C and SEEDUbuntu 16.04 virtual machine. However, I can't share the project report since the same assignment is given every year. Therefore, in the subfolders above, I have shared the source codes based on the SEEDLab I used for this project.
Topics covered in these courses:
- Security Mindset (rational paranoia, OSI security architechture)
- Cryptography (classical cryptosystems, perfect secrecy, one-time pad, Feistel cipher (DES, 3DES), AES, block cipher operation modes, PRNG (LSFR, LCG), hash functions, RSA, Diffie-Hellman (perfect forward secrecy), homomorphic encryption, authenticated encryption (HMAC))
- System Security (access control, MMU, IO-MMU, Bell-LaPadula, Biba, SELinux, Virus detection (halting problem), Intrusion Detection System)
- Software Security (buffer overflow, return orinted programming)
- Network Security (KDC, PKI, Kerberos v4&5, IPsec, ARP cache poisoning, IP spoofing, DNS cache poisoning, BGP hijacking, SSL/TLS, Firewall)
- Web Security (SQL injection, CSRF (cookies and tokens), XSS (code injection), Tor)
The reference texts I used (click on the images to visit their websites):
Equivalent Courses: CS4642 @ VirginiaTech | CS461 @ UIUC | CMSC33250 @ UChicago | EECS398 @ UMichigan | CS3710 @ UVirginia | CIS331 @ UPenn | COMP427 @ Rice | CSE571S @ WUStL | COMPSCI597N @ UMass | CS556 @ ColoradoState | COMPSCI354 @ Northwestern | CS134 @ UCIrvine | CS588 @ Boston | CS161 @ UCBerkeley