Computer and Network Security

In a world where cyber-attacks, data thefts are increasingly becoming common, computer security plays an important role. This course will delve into the building blocks of modern cryptography and equip students with the knowledge and skills required to defend computer systems against network, web, and programming based attacks. Important concepts will be reinforced by hands-on lab exercises and quizzes. Emphasis on the “hows and whys” will prepare you better to meet the upcoming challenges in this field.

Syllabus

Chapter 1: Introduction
This chapter motivates the security problem and introduces terms associated with the security arena, specifically the CIA (Confidentiality, Intergrity and Availability) triad.
Chapter 2: Modern Cryptography
This chapter contrasts classical vs modern crytography and then delves into the modern cryptography building blocks that provide confidentiality and integrity, namely symmetric key cryptography, asymmetric key cryptography, hashes, message authentication codes and digital signatures.
Chapter 3: Cryptographic Protocols
This chapter delves into challenges that arise when using the above building blocks in real-life via cryptographic protocols. Specifically, it will cover key distribution, human authentication and protocols that provide one-way, two-way and mediated authentication. The cryptographic protocol SSL/TLS will also be covered as a case study.
Chapter 4: Network Security
The Internet has not been designed with security in mind. This chapter introduces various attacks possible at the various layers of the Internet protocol stack (ARP spoofing, Smurf attack, TCP session hijacking, DNS Pharming etc) and solutions to the same. It will also cover some of the latest secure networking protocols (SSH, IPSec, WEP, WPA, etc).
Chapter 5: Web Security
This chapter focuses exclusively on web-based attacks, both client-side (Phishing, XSS, XSRF etc) as well as server-side (RFI, LFI, SQL injection, etc) and solutions to the same.
Chapter 6: Lab Material
This chapter contains lab exercises and material that explore many of the above-covered concepts via “Openssl” commands and other frameworks (e.g. Scapy).
Level
Undergraduate
Prerequisites
C/C++/Python (for some of the labs)
Category
Self-paced
Estimated Time
50 hours

Meet the instructor

Cinque Terre
Kameswari Chebrolu
Kameswari Chebrolu is currently an associate professor with the Department of Computer Science and Engineering at the Indian Institute of Technology, Bombay, India. She received her Ph.D. degree in Electrical and Computer engineering from the University of California at San Diego in 2004. She is passionate about teaching and likes to experiment with various techniques to improve learning. She has been a recipient of the “IIT Bombay Excellence in Teaching” award in 2010.

The focus of Kameswari's research work is on developing cutting-edge technology for real-world use. In the past, she has worked on projects aimed at providing Internet access to rural villages, enabling voice communication in remote tribal areas, monitoring the health of railway bridges. Currently she is focused on developing smart educational technology, AI-human-hybrid technology that caters to the information needs of bottom of the pyramid and countering fake news on social media, specifically on Whatsapp.