CMT105: Security Techniques
School | Cardiff School of Computer Science and Informatics |
Department Code | COMSC |
Module Code | CMT105 |
External Subject Code | 100376 |
Number of Credits | 20 |
Level | L7 |
Language of Delivery | English |
Module Leader | Dr Georgios Theodorakopoulos |
Semester | Autumn Semester |
Academic Year | 2023/4 |
Outline Description of Module
Engineering secure systems requires a well-balanced synthesis of policy and security requirements definition and implementation of security technology. While technical security never completely satisfies security requirements, it is essential for a security professional to understand the technology available to them and harmonize an approach to technical system and network security with requirements and policy, when required.
This module focuses on the fundamental technical security techniques available to security professionals, in the context of modern pervasive communications technology and distributed networks and systems. Security technology is examined in detail with technical explanation of the fundamental computer science that underpins it. Security is perpetually evolving as attacks on the latest techniques are breached and new approaches are developed to remain one step ahead of the attackers. The module introduces security technology from the mindset of an attacker looking to “break-in”, and also from the perspective of the security experts endeavouring to keep attackers out of their systems and retain the fine balance between security and usability.
The latest system “casing” and attack methods are discussed in technical detail and countermeasures are introduced to mitigate some of the ever-evolving risks. Network penetration and software hacking is also studied.
As modern computational security is underpinned by cryptographic techniques, there is a strong technical focus on cryptography, its mathematical foundations, history and current modes of operation. Familiarity with discrete mathematics and probability theory is, therefore, strongly recommended.
On completion of the module a student should be able to
- Explain how a system can be footprinted and enumerated to identify known vulnerabilities or weaknesses.
- Understand how an attacker may exploit some of the key technical flaws in the Windows and UNIX-based operating systems.
- Describe how an attacker may exploit some of the weaknesses of existing Internet communication protocols.
- Explain how an attacker may locate and exploit vulnerabilities in network security technologies (e.g. Firewalls).
- Describe how a Denial of Service attack is launched.
- Describe how poor design in computer software code can lead to security flaws.
- Explain how Web browsers are used to exploit vulnerabilities and inject malicious code into Web services (e.g. cross-site scripting).
- Explain how an attacker may launch socio-technical attacks.
- Explain how symmetric and asymmetric cryptography can be used to ensure confidentiality, integrity, authentication, non-repudiation
- Appreciate the need for hybrid cryptography, including how it is used in TLS.
- Describe the strengths and weaknesses of particular cryptographic algorithms and modes of operation.
- Understand the mathematical foundations of cryptography and reason about cryptosystems.
How the module will be delivered
This module will be delivered through a combination of lectures, supervised lab sessions, example classes and tutorials, as appropriate.
Skills that will be practised and developed
Students will be able to converse with other security professionals on the subject of security techniques and technology. They will demonstrate an understanding of the issues and vulnerabilities associated with modern connected and communicative computer systems, and will be able to define a technical strategy to mitigating some of the risks. They will have a technical awareness of the latest cutting edge attacks on computer systems and be aware of the fallout of these attacks. They will understand how to deploy techniques that implement some of the fundamental security content delivered as part of the module. Students will develop a theoretical understanding of cryptographic methods that underpin modern computational security.
How the module will be assessed
Coursework: The coursework will allow the student to demonstrate their knowledge and practical skills and to apply the principles taught in lectures.
Exam: A written exam (2 h) will test the student's knowledge and understanding as elaborated under the learning outcomes.
The potential for reassessment in this module is a 100% resit examination during the summer.
Assessment Breakdown
Type | % | Title | Duration(hrs) |
---|---|---|---|
Written Assessment | 70 | Security Techniques | N/A |
Written Assessment | 30 | Technical Report | N/A |
Syllabus content
System “casing”
Footprinting
Internet Footprinting
Scanning
System Hacking
Hacking Windows
Hacking UNIX
Hacking Remote Connectivity
Network Hacking
Network Devices
Wireless Hacking
Firewall Scanning
Denial of Service
Software Hacking
Hacking Code
Web Hacking
Web Client Vulnerabilities
Socio-technical Attacks
Fundamentals of Cryptography
History, ancient ciphers.
Fundamental concepts (e.g. Kerckhoffs’s principle, perfect secrecy, one-time pad)
Symmetric ciphers
Stream ciphers
Block ciphers (e.g. AES, DES, Triple DES), confusion, diffusion
Modes of operation
Asymmetric ciphers (e.g. RSA)
Key exchange protocols. (e.g. Diffie-Hellman)
Cryptographic data integrity
Cryptographic hash functions, (e.g. MDx family, SHAx family)
Message authentication codes (MAC), MACs based on hash functions, MACs based on block ciphers
Digital signatures
Cryptographic protocols (e.g. SSL/TLS)