IY5610 - Security Testing Theory and Practice
Second term, optional module.
Module leaders
Carlos Cid and Allan Tomlinson
Aims
This course will provide the foundations and theoretical underpinnings for an understanding of the way in which IT systems can be attacked and penetrated by circumventing security or exploiting vulnerabilities in the system. This will form the basis of a methodical approach to surveying and auditing systems, and prepare candidates to design secure systems, identify vulnerabilities, and defend systems against intrusion.
Objectives
On successful completion of the course students will be able to:
- Gained an understanding of the legal aspects of carrying out a penetration test and an approach to preparing and managing such an audit.
- Gained an in-depth understanding of network protocols, computer system architectures and application systems.
- Gained an understanding of the vulnerabilities in existing protocols, systems, and applications; and an understanding of the security technologies designed to mitigate these vulnerabilities.
- Gained practical experience of how these vulnerabilities may be exploited in practice to penetrate a system.
Outline of syllabus
The course will cover the following topics:
- Introduction to security auditing, legal aspects of penetration testing, standards and certification.
- Pen testing approaches, and how to prepare and manage an audit.
- Technical aspects of network security covering standards, protocols, routing, firewalls showing the theoretical basis of vulnerabilities and how these may be exploited in practice.
- Technical aspects of computer security covering operating systems, access control in windows and linux/unix, host based intrusion detection, escalation of privileges and how to exploit these vulnerabilities in practice and how to harden systems.
- Technical aspects of Internet based applications, web services, protocols, languages (e.g. SQL) and how these may be exploited using for example SQL injection and cross-site scripting; how to exploit these vulnerabilities in practice, and how to harden the applications.
- A survey of non-standard and emerging technologies and review of potential threats these may lead to.
Method of examination
Two-hour written examination.
Recommended texts
- T. Wilhelm, Professional Penetration Testing, Syngress, 2010.
- S. McClure et al., Hacking Exposed 6: Network Security Secrets and Solutions. McGraw-Hill, 2009.
- S. Harris et al., Gray Hat Hacking, 2nd ed. McGraw Hill, 2007.
- R. Stevens, TCP/IP Illustrated, Volume 1: The Protocols, Addison-Wesley, 1994.
- D. Stuttard, M. Pinto. The Web Application Hacker's Handbook: Discovering and Exploiting Security Flaws. John Wiley & Sons, 2007.
- M. Dowd et al., The Art of Software Security Assessment: Identifying and Preventing Software Vulnerabilities. Addison Wesley, 2006.
- D. P. Bovet, M. Cesati: Understanding the Linux Kernel, 3rd ed. O’Reilly, 2006.
- M. Russinovich, D.A. Solomon, A. Ionescu: Windows Internals, 5th ed. Microsoft Press, 2008.