COSC 4345 - Cybersecurity Networks

COSC 4345 - Cybersecurity: Networks is the one of the twin courses that students typically take in the fall (CPSC 4363) and spring (this one) semesters of their senior year.  It is a required course for students majoring in Cybersecurity

This course provides a hands-on study of various network attacks and defending techniques, including main vulnerabilities of TCP/IP protocols, attacks and countermeasures on MAC, IP, and Transport layers, attacks on DNS servers, DoS attacks, Firewalls, and cryptographic defending applications such as digital signature, DNSSEC, VPNs, PKI, TLS, and Blockchain. Basics of TCP/IP protocols and cryptography (AES, RSA, MD5, SHA) will also be covered. 


The course adopts the "learning by doing" principle. Students are supposed to learn the attacks by performing them in a restricted environment or a simulated environment. They will also play with a number of security tools to understand how they work and what security guarantee they provide. The experiments will be conducted in the virtual machine environments and/or in Minix environments.


 Student Learning Outcomes

Upon completion of this course students should be able to:

  • Explain how the Internet works.
  • Describe and generalize various network vulnerabilities.
  • Simulate common attacks on TCP/IP and cryptographic applications, such as IP spoofing, TCP session hijacking, DoS, DNS cache poisoning, and MD5 collision attacks.
  • Simulate and compare various network security mechanisms, such as DNSSEC, firewalls, VPNs, PKI, TLS, and blockchain.

Course Prerequisites: We assume that the student in COSC 4345 is familiar with an object-oriented programming language such as C++, Java, or Python. The course does not assume but suggest that the students have had individual courses in databases, operating systems, networking, web programming, or data mining. COSC 2336 with a grade of C is the prerequisite.