The networking lab help students understand the foundations of networking and assists researchers with building complex networks. Emphasis is placed on the practical aspects of various network architectures. Packet captures are extensively used to understand the network protocols. Some of the network technologies that are covered as part of the curriculum include Ethernet, ARP, IP, ICMP, TCP, UDP, RIP, OSPF, BGP, routing redistribution, MPLS, MPLS-VPN and so on, using CISCO and Juniper hardware. Students are also exposed to protocol troubleshooting using router debug logs. Labs are also setup to study and model complex routing issues.
The network security lab provide students with thorough understanding thus enabling them to exploit vulnerabilities of various network protocols and how to secure them. The lab also exposes students to ethical hacking commitment and process, process information gathering, enumerating systems and automating attack. Students have hands on sessions on cryptographic systems, defeating malwares, configuring firewalls and VPNs. Students also take part in application level 'Capture the Flag' contest as a part of this lab. They also get to work on system hardening, vulnerability assessment and intrusion detection.
The operating systems lab focuses on implementing key OS kernel features in the Nachos kernel / Android. Students get to develop programs for multi-threading, manipulating kernel objects, thread synchronisation, interprocess communication and virtual memory. All implementations are based on the Linux operating system. Students gain practical experience in systems programming, both above and below the system call interface of the operating systems. They also get to know how to harden an operating system.
The goal of the cryptographic lab is to help students understand cryptographic primitives. The cryptographic primitives covered include pseudorandom functions, symmetric encryption (block ciphers), hash functions and random oracles, message authentication code, asymmetric encryption and digital signatures. Sage and PARI/GP are used to implement many of the cryptographic primitives. Students also learn to break ciphers and solve crypto challenges thereby understanding the limitations of ciphers.