Curious about studying Ethical Hacking - BSc (Hons)at Abertay University? We've gathered all the key details—entry requirements, modules, fees, and more. Hear from real students by checking out reviews, or take the next step by booking an open day to explore it for yourself.
Bachelor of Science (with Honours) - BSc (Hons)
Abertay University
Full Time
Sep 2026
4 Year
It takes a hacker to catch a hacker. This degree is for you
ifyou get excited by the challenge of outsmarting cyber criminals
and want
to make a real differenceby fighting for security and justice online. Our Ethical Hacking degree provides you with
a deep understanding of how illegal computer attacks are performed and how they can be stopped.Ethical Hacking BSc (Hons) - the benefits are clear:
* NCSC-certified degree - receive a personal certificate from GCHQ's National Cyber Security Centre when you graduate. * One of the leading cybersecurity courses in Europe. * Great industry links and internship opportunities. * High starting salaries. * A strong hands-on, practical education. * Cyber University of the Year (National Cyber Awards, 2024). * Accredited by The Chartered Institute for IT (BCS). * Gold Award - Academic Centre of Excellence in Cyber Security Education.
Internships and industry projectsOur Ethical Hacking students often get high-quality internships
(subject to selection) from 2nd–3rd year and 3rd–4th year. This is earlier than most other degrees due to the specialist four-year curriculum. Third-year students also
work in teams on a client brief developed by external industry partners. Guided by academic staff, this is where you'll learn to apply theoretical knowledge to practical situations.
Multiple accreditations and certificationsThis degree is fully certified by the National Cyber Security Centre (NCSC), a part of GCHQ and also by the BCS, The Chartered Institute for IT. Abertay University has been recognised by the NCSC and DSIT as an Academic Centre of Excellence in Cyber Security Education — Gold Award, the highest level available. Only universities that demonstrate excellent teaching, active industry engagement and outreach across their institution and wider community achieve Gold.
Starting university is a big step, and every student arrives with different strengths and challenges. This module helps you reflect on your skills, identify areas for development and plan how to succeed academically and personally. Using the Abertay Discovery Tool, you'll review key areas such as study skills, careers and employability, digital confidence and wellbeing. You'll then create a personal action plan and choose further MySuccess modules to support your growth throughout your time at Abertay. Indicative Content - What Does a Successful Student Look Like? Reflect on your motivations, values and passions. Explore what makes a successful student, learn from different examples of success, and consider how stepping outside your comfort zone can help you grow. - Abertay Discovery Tool: Complete the Abertay Discovery Tool to identify your strengths and areas for development across five themes: studying at university, academic skills, digital skills, careers and employability, and wellbeing. - Fundamentals of University: Learn how university study works - from understanding modules and assessments to interpreting assignment briefs and using feedback to improve. - Expectations of University and You: Explore what's expected of you as a student, including the code of conduct, academic integrity, and independent learning. Understand blended learning and how the Abertay Attributes link to your development. - Successful Student Behaviours: Develop habits that support success: managing time, avoiding procrastination, preparing effectively for classes, taking good notes and building a growth mindset. Discover opportunities to get involved at Abertay and beyond.
Please note: ABE111: Numbers for Everyday Life will only be assigned as a core module if you do not have a minimum of a National 5 Maths qualification at grade C or an acceptable equivalent. This module helps you strengthen core numeracy skills, including percentages, decimals, fractions, appreciation, depreciation and rounding. Through problem-solving and reasoning, you’ll learn to analyse everyday situations and make logical, well-informed decisions. You’ll also gain a foundation in statistics—covering mean, median, mode and standard deviation—and develop financial skills such as budgeting, managing income and expenses, understanding interest rates, and making choices about saving and borrowing. By applying these skills to real-life contexts, you’ll build confidence in using numbers to solve problems, manage your finances, and support decision-making in both study and work. Indicative Content - Numerical Skills: Develop your confidence with key number skills, including percentages, decimals, fractions, appreciation, depreciation and rounding. - Problem Solving and Reasoning: Practice using maths to tackle everyday situations. Learn how to spot problems, rearrange equations, make logical connections and reach effective decisions. - Fundamentals of Statistics: Get to grips with the basics of statistics. Learn how to calculate and use mean, median, mode and standard deviation to interpret and compare data. - Financial Skills: Build practical financial know-how. Explore budgeting, managing income and expenses, understanding interest rates, and making smart decisions about saving and borrowing. Apply these skills directly to real-life situations.
This module introduces the essential principles of computer architecture, giving you a clear understanding of how modern computer systems function. You’ll explore how hardware and software interact, how data is represented and processed, and how operating systems manage resources. By building a strong mental model of system behaviour, you’ll develop the foundation needed to reason about computing at a low level and prepare for more advanced study in later modules. Indicative content - Computer Architecture: You’ll study the principal low-level components of a computer system, including logic gates, logic blocks, bus interconnections, memory, and storage devices. This will help you understand how the building blocks of hardware combine to support system performance. - Data Representation: You’ll learn how information is represented and manipulated within a computer, covering bits, bitwise operations, integers, floating and fixed-point numbers, as well as the encoding of text, colours, bitmaps, and audio. - Machine Instructions: You’ll be introduced to the von Neumann architecture and the structure of a modern CPU. Topics include arithmetic operations, control flow, the use of stacks, and the basics of compilation—helping you see how instructions are executed at machine level. - Operating Systems: You’ll explore the role of operating systems in managing hardware and software, including the distinction between userspace and kernelspace. You’ll cover drivers, scheduling, memory management, and filesystems, while also using systems such as Linux to understand system management and OS-level security concepts.
This module introduces you to the core programming constructs of the C++ language, using a problem-based approach to develop your coding skills. You’ll learn how to design and implement solutions that build a strong foundation for object-oriented programming. The focus is on practical application, helping you gain transferable skills that are essential not only for C++ but for understanding and working with all modern object-oriented languages. Indicative content - Object-Oriented Program Development: You’ll learn how to use an object-oriented development environment to create source code, compile, link, execute, and debug programs. This will give you practical experience of the full development cycle. - Introduction to Object Orientation: You’ll read, understand, and modify small object-oriented programs, building confidence in recognising and applying the principles of object-oriented programming. - Programming Constructs: You’ll make use of core programming constructs—such as declarations, data types, assignment, operators, selection, iteration, and functions—to solve a range of programming problems. - Aggregate Types: You’ll explore arrays and algorithms to extend your programming power, while also learning about storage, memory access, and pointers. You’ll be introduced to classes and structs as ways of organising and structuring data. - Program Development and Testing: You’ll develop problem-solving skills through pseudocode and stepwise refinement, and learn how to use functions as program units to improve organisation and efficiency. You’ll also gain experience in testing and refining your code to ensure reliability.
This module complements the Level 7 programming modules by introducing the fundamental principles of software engineering in a practical, hands-on way. You’ll learn how to design, structure, and communicate solutions for both small and large-scale software systems, building the skills needed to approach development with a professional engineering mindset. By focusing on real-world practices rather than abstract theory, the module prepares you to apply software engineering methods effectively in future projects and advanced study. Indicative content - Problem-Solving: You’ll learn how to capture requirements and apply general problem-solving techniques to software development. This includes approaches to testing and the use of non-programming languages to describe problems and solutions. - Classes and Objects: You’ll develop software using class definitions, methods, data, constructors, and instantiation. You’ll also create simple inheritance structures, applying object-oriented principles to build solutions with multiple classes. - Security: You’ll explore how to encapsulate objects using public and private access modifiers, and understand the role of constructors in creating secure and reliable code. - Object-Oriented Analysis, Design and Implementation: You’ll identify objects within a system and structure data and information into class definitions. You’ll also learn how to map object-oriented design principles into practical programming constructs. - Abstraction: You’ll understand how abstraction helps manage complexity in software, using code blocks, control flows, and modular design to simplify problem-solving. - Class Modelling: You’ll be introduced to UML class diagrams as a way of modelling and communicating object-oriented designs. - Data Design – An Object-Oriented Approach: You’ll model data using object-oriented techniques, drawing both informal and formal diagrams (including UML) to describe information and behaviour. You’ll also be introduced to design patterns as reusable solutions to common problems. - Data Design – A Relational Approach: You’ll explore relational modelling techniques, considering both theoretical and practical design concerns. You’ll also gain hands-on experience constructing and querying databases using basic SQL.
This module introduces the core principles of computer networking, from the fundamentals of network architecture and protocols to the practical skills needed to design, analyse, and troubleshoot networks. You’ll explore how data is transmitted, how different layers of a network interact, and how applications communicate across local and global systems. By combining theory with hands'on practice, you’ll develop the knowledge and skills to understand, build, and manage modern computer networks. Indicative content - Networking Fundamentals: You’ll study the architecture of circuit'switched and packet'switched networks, and the use of copper, fibre, and wireless media. You’ll also examine how media affects bandwidth and throughput, and review the roles, advantages, and disadvantages of hubs, switches, and routers in network configurations such as Ethernet. - Network Layers: You’ll learn how data is segmented and encapsulated, and how MAC and IP addresses are used by switches and routers. You’ll explore TCP and UDP protocols, class'based networks, IP address allocation, and the need for subnets and subnet masks. - Network Models, Protocols, and Applications: You’ll compare the OSI and TCP/IP models, and study the protocols and applications associated with each layer—from the physical layer through to the application layer—understanding their roles and functionalities. - Networking Analysis: You’ll gain experience analysing network traffic using specialist tools, learning how to interpret communication on local networks, understand traffic patterns, and apply methods for analysing network conversations. - Application of Network Knowledge: You’ll apply your knowledge to design computer networks, considering hardware, logical structures, and routing. You’ll also learn troubleshooting techniques and gain practical experience building network applications, including creating software that uses sockets for communication.
This module introduces the core principles of computer security, systems deployment, and software debugging. You’ll explore the legal and ethical frameworks that shape professional practice, while also developing practical skills in areas such as authentication, cryptography, and system management. By combining theory with hands'on experience, the module equips you to understand security risks, apply protective measures, and troubleshoot software and systems in real'world contexts. Indicative Content - Relevant Laws: You’ll explore key legislation including the Computer Misuse Act, Copyright Act, and Data Protection Act, and discuss the issues and constraints they create for computing professionals. - Ethical Issues: You’ll consider ethical challenges around copyright, intellectual property rights, and data protection, as well as the processes involved in gaining ethical approval for projects. - Security Fundamentals: You’ll be introduced to the Cyber Security Body of Knowledge (CYBoK) and examine how online data sharing contributes to Open Source Intelligence (OSINT) gathering. - Authentication: You’ll study authentication methods such as passwords and biometrics, and evaluate their strengths and weaknesses. - Command Line: You’ll gain practical experience using Linux and the command line as tools for system management and security. - Development Cycle: You’ll explore application development methodologies and how they support secure and reliable software deployment. - Defence, Evasion, and Malware: You’ll review common malware defence and evasion techniques, and learn how attackers and defenders adapt to one another. - Cryptography: You’ll be introduced to common cryptographic techniques and their role in securing data and communications. - Debugging: You’ll develop skills in application debugging, learning common practices and techniques to identify and resolve software issues. - IoT and WiFi: You’ll examine the security implications of Internet of Things (IoT) devices and the risks associated with using unsecured WiFi networks.
Build on your knowledge of programming taught in earlier modules (e.g. arrays, structures, simple collections). Gain an introduction to the standard data structures and algorithms that form the core of algorithmic thought in computer science and to the idea of reasoning about the behaviour and performance of a computer program. Indicative content - Reasoning about performance: The idea of an algorithm, time and space complexity, abstract data types. - Basic data structures: Linked lists, stacks, queues, hash tables. - Sorting and searching: Exhaustive and binary search, common sorting algorithms. - Trees: Simple trees, tree search algorithms, tree representations (XML, JSON). - Graphs: Simple and directed graphs, graph algorithms.
Dynamic web applications, through client-side and server side internet development on a full-stack platform. Indicative content - Web Standards: Apply HTML5 and CSS to develop responsive and accessible web designs. - Client'Side Technologies: Implement JavaScript, libraries and frameworks to create effective user interfaces within appropriate development practices and methodologies. - Design Techniques: Use suitable techniques for building dynamic and interactive web applications. - Data Persistence: Explore methods of storing and managing data, considering appropriate and secure use. - Server'Side Scripting Technologies: Apply server'side technologies to provide functionality, evaluating the processes involved and the benefits and drawbacks of server'side processing. - Security and Legal Issues: Examine legal and security considerations including privacy, transparency, data protection, GDPR, authorisation and validation. - Practical Aspects of Security: Apply secure programming practices, network protocols and testing strategies to ensure robust and reliable web applications.
This module develops a critical understanding of the tools and techniques used by ethical hackers to assess the security of devices and networks. You will learn how to systematically investigate a computer network for potential vulnerabilities, applying professional practices to identify weaknesses while considering the ethical and legal frameworks that govern penetration testing. Through practical exercises, you will gain hands'on experience with industry'standard tools and approaches, preparing you to evaluate and strengthen network security in real'world contexts. Indicative content - Legal and Ethical Foundations: Explore UK computer security legislation covering penetration testing, data protection and cybercrime, alongside ethical principles and professional conduct in cybersecurity, with emphasis on responsible disclosure and ethical hacking practices (aligned to the CyBoK knowledge area of Law & Regulation). - The Penetration Testing Process: Gain a comprehensive overview of the penetration testing lifecycle, including reconnaissance, scanning, enumeration, exploitation and post'exploitation, aligned to CyBoK knowledge areas such as Adversarial Behaviours, Network Security, Malware & Attack Technologies, and Authentication, Authorisation & Accountability. - Reporting and Communication: Learn how to structure penetration testing reports for both technical and non'technical stakeholders, providing clear recommendations for mitigation and system hardening, aligned to CyBoK knowledge areas of Security Operations & Incident Management and Law & Regulation.
Please note: If you are a Direct Entrant (new student) to this year of study and have not previously taken module ABE101, then you MUST take ABE201 as your Term 2 microcredential module. If you have previously taken ABE101, then you are NOT permitted to take ABE201 in Term 2. Starting university brings new opportunities and challenges, and every student’s journey is different. This microcredential helps you settle into life at Abertay and build the habits that lead to success. You’ll hear from current students sharing their own tips, and reflect on the areas you most want to develop. You’ll get to know Abertay’s systems, explore what makes a successful student and practise core skills such as time management, referencing, academic writing style and using support services. By the end, you’ll have the tools and strategies you need to thrive at university. Indicative content - Navigating Abertay Systems: Get to know the key systems you’ll use at Abertay—such as MyLearningSpace, MS Teams, OASIS and MyAbertay—and learn how to use them effectively. - Expectations of University and You: Explore what’s expected of you as a student and what you can expect from the university. Topics include the code of conduct, independent and blended learning, how courses are structured, health and safety, and the Abertay attributes. - Abertay Discovery Tool: Complete the Discovery Tool to identify your strengths and areas for development across five themes: studying at university, academic skills, digital skills, careers and employability, and wellbeing. - Fundamentals of University: Learn how modules work, how assessments are set, and how to use assignment briefs and feedback to improve your work. - Understanding, Searching and Evaluating Information: Develop strategies for finding and assessing reliable information, building your confidence in research and study skills. - Successful Student Behaviours: Practise the habits that help you succeed: managing time, avoiding procrastination, effective note-taking, preparing for classes, developing a growth mindset, and making use of student support services. - Referencing: Understand academic integrity and why referencing matters. Learn how to avoid plagiarism, create in-text citations and reference lists, and use digital tools to manage your sources. - Sounding Academic: Discover what lecturers mean by “academic style” and how to use the right language in your writing. Learn the rules of academic writing, how to paraphrase effectively, and how expectations differ between school/college and university. You’ll also explore how assessments, marking and feedback work.
Build on the earlier module, Data Structures and Algorithms 1. Gain an introduction to parallel programming on shared-memory and GPU architecture, and the design techniques underpinning parallel applications. Use a range of case studies drawn from typical real-world applications. Indicative content - Parallel Programming: Explore the motivations for parallelisation, the concepts of parallelism and concurrency, Amdahl’s Law, high'level approaches to parallelisation and principles of parallel design. - Low'Level Programming with Threads: Learn how to start and join threads, share data safely, apply mutual exclusion, use synchronisation objects, and understand lock'free techniques. - High'Level Parallel Programming: Study task'based and message'passing parallelism, address data'parallel problems, and exploit locality in programming. - Instruction'Level Parallelism: Examine SIMD instructions and automatic vectorisation for performance optimisation. - GPU Programming: Understand GPU architectures, identify algorithms suited to GPUs, and apply GPU profiling techniques. - Parallel Patterns: Apply design patterns for parallel and concurrent programming, with awareness of sorting, numerical, image processing, searching and optimisation algorithms that benefit from parallelisation
This module introduces the fundamental technologies and techniques used to investigate cybercrime. You will learn a systematic approach to planning and conducting a comprehensive computer forensic investigation, with particular emphasis on evidence collection, preservation and the reconstruction of events. The module develops both theoretical understanding and practical skills, preparing you to apply forensic methods in real'world contexts where digital evidence plays a critical role. Indicative content - Computer Crime (Introduction to Digital Forensics): Explore different types of computer crime, the legislation surrounding them, and the use of Linux and associated tools as a digital forensic workstation. - Data Acquisition and Preservation of Evidence: Learn the procedures and theory for imaging a suspect’s computer, including crime scene assessment, disk imaging, evidence collection, maintaining integrity, and working with file systems such as NTFS and FAT32. - Analysis and Reconstruction: Develop digital forensic timelines using Linux and Windows tools, and apply ensemble machine learning models to detect anomalies in timeline data. - Searching for Evidence: Apply physical techniques such as file carving, brute force searching and regular expressions, recover deleted files, use forensic boot disks, and employ logical searching of file systems, including encrypted or hidden data and anti'forensic techniques. - Searching for Windows & Internet Artifacts: Investigate evidence within the Windows registry, execution artifacts, log files, browser caches, histories, cookies, and email or messaging systems. - Memory Forensics: Use tools and techniques to capture and analyse memory dumps for case'relevant evidence. - Using SQLite in a Digital Forensics Context: Gain experience with SQLite databases, particularly in mobile device investigations and browser'based evidence such as Chromium. - Presentation of Evidence: Learn techniques for producing accurate technical reports, including court reports, with appropriate design and layout. - Ethics of Digital Forensics: Discuss the ethical decisions investigators face and how these choices may influence the outcomes of cases
In this module, you will work collaboratively within a team to explore project management concepts and apply them to real'world briefs drawn from industry and research. You will learn how to create a professional project proposal and present your work in a client pitch to stakeholders. As part of your team role, you will be expected to communicate effectively with stakeholders, contribute to project planning, conceptualise artefacts or prototypes, write supporting documentation, and deliver a persuasive client pitch. Indicative Content - Research Project Characteristics: Explore the defining features of research and industry'based projects, including scope, objectives and constraints. - Project Management Concepts: Learn about project management approaches, with a focus on Agile and Scrum methodologies, and how they support effective teamwork. - Activities, Deliverables and Products: Understand how to plan and track project activities, define deliverables, and produce outputs that meet client or stakeholder needs. - Managing Time and Resources: Develop strategies for scheduling, prioritising tasks and allocating resources effectively to ensure project success. - Identifying and Managing Risks: Learn how to identify potential risks, assess their impact, and apply strategies to mitigate them. - Quality Considerations: Apply professional standards and quality assurance processes to ensure outputs are reliable, consistent and fit for purpose. - Developing Artefacts and Prototypes: Gain experience in conceptualising, designing and producing artefacts or prototypes that demonstrate project outcomes. - Interacting with Clients and Team Members: Build skills in professional communication, stakeholder engagement and effective collaboration within a project team.
In this module, you will be introduced to the fundamental ideas and concepts of how computers, mobile devices and gadgets communicate with each other through a wide range of communication technologies. You will explore both wired and wireless networking, including Ethernet, VLANs, STP, routing, subnetting and IPv6. You will also learn about essential network services such as SNMP, DHCP and DNS, as well as the role of firewalls and network management in ensuring secure and efficient communication between devices. Indicative Content - VLANs: Understand the core concept of Virtual Local Area Networks (VLANs) and trunking, and explore common attacks that can be used against them. - Spanning Tree Protocol (STP): Investigate how STP is used to create loop'free networks, and examine how attackers may attempt to exploit it. - Static Routing: Learn how routing works, and analyse how static routing can be used to pivot deeper into a network. - Subnetting and Variable Length Subnet Masks (VLSM): Explore classful and classless addressing, the benefits and impact on routing protocols, and how to design LANs using VLSM techniques. - Network Application Protocols: Investigate networking protocols used at the application layer of the OSI model, and identify common security weaknesses associated with them. - Firewalls: Examine both software and hardware firewalls, their applications and uses, and how attackers may attempt to counter them. - Intrusion Detection Systems (IDS): Understand how IDS technologies work, and explore methods attackers may use to bypass them. - Network Management: Study network management protocols such as SNMP, and review current practices in managing and monitoring networks.
In this module, you will develop a critical understanding of advanced techniques used by ethical hackers to assess the security of web applications. You will explore how attackers exploit vulnerabilities, and more importantly, how organisations can defend against these threats through effective countermeasures. By engaging with both offensive and defensive perspectives, you will gain the ability to analyse, evaluate and apply advanced web application security practices. You will also learn how to communicate the results of a security assessment in a clear and professional manner, preparing you for real'world industry scenarios. Indicative Content - Overview of Web Applications: Explore the core defence mechanisms of web applications, including user access, authentication, session management and access control. - Web Application Technologies: Understand the HTTP protocol, requests, responses and methods, along with encoding schemes. Examine server'side technologies such as Java, ASP and PHP. - Injecting Code: Investigate common injection attacks, including SQL injection, email header injection, PHP injection and others. Learn preventive measures to mitigate these vulnerabilities. - Bypassing Client'Side Controls: Analyse techniques such as cookie manipulation, parameter tampering and URL modification, and the use of web proxies to bypass client'side restrictions. - Attacking Authentication: Examine attacks on session management, flaws in authentication mechanisms, and vulnerabilities in forgotten password and password change functions. Learn countermeasures to strengthen authentication. - Cross'Site Scripting (XSS): Study reflected, stored and DOM'based XSS vulnerabilities, and apply countermeasures to prevent them. - Web Server Security: Review popular web servers such as IIS and Apache, common threats against them, and methods to increase security through correct configuration and countermeasures.
In this module, you will work as part of a team to deliver a development project or technical investigation that builds on the planning and prototyping completed in CMP308. The project will be relevant to your programme of study and will give you the opportunity to present and develop a product or technical solution by applying design, development and evaluation principles in a collaborative environment. You will also gain experience in operating professionally as a subject specialist within your team and in engaging effectively with project stakeholders. Indicative Content - Orientation: Consolidate project teams and define the target problem to ensure clarity of purpose and shared understanding. - Project Principles: Apply appropriate development methodologies during product production to guide the project effectively. - Documentation: Understand the importance of requirements specifications and related documentation, and learn how to produce them to professional standards. - Design: Explore the role of design and redesign throughout project development, adapting solutions as the project evolves. - Implementation: Address common implementation issues and approaches, applying practical strategies to deliver functional outcomes. - Quality and Standards: Apply testing and evaluation methods to ensure the product or investigation meets professional standards of quality. - Communication: Develop oral and written communication skills to present findings and demonstrate the software product or technical investigation effectively. - Project Planning and Team Working: Learn how to plan projects, organise teams, support colleagues, devise weekly plans, and maintain accurate progress records. - Self'Evaluation: Reflect on your personal contribution to team progress and identify areas for improvement in professional practice.
In this module, you will develop your understanding of the methods, knowledge and techniques associated with offensive attacks targeting computer systems. You will explore how attacks are developed, performed and analysed, while also examining the countermeasures organisations can use to minimise their impact. Alongside this, you will have the opportunity to undertake an individual project, allowing you to critically evaluate an advanced security topic and apply your skills in a practical, independent context. Indicative Question - Scripting Basics: Learn the fundamentals of scripting languages, including syntax, functions, modules, packages and libraries, to support automation and problem'solving in cybersecurity contexts. - Coding and Scripting Techniques: Develop skills in exception handling, testing and debugging to produce reliable and maintainable scripts. - Code Execution Vulnerabilities: Explore how vulnerabilities in web applications can arise from insecure code execution, and understand their implications for system security. - Automating Tasks Using Python: Use Python’s OS modules and filtering techniques (e.g. Grep and Sed) to automate common cybersecurity and forensic tasks. - Reporting: Learn how to generate clear and professional reports from automated tasks to communicate findings effectively. - Network Programming: Gain experience in developing servers and clients, and understand the principles behind command'and'control style software in a controlled, academic context. - Buffer Overflow Exploits: Study how buffer overflow vulnerabilities are detected and exploited, and examine the role of shellcode in these attacks. - Malware Evasion Techniques: Investigate anti'reversing strategies such as anti'disassembly, anti'debugging, VM detection and packing, alongside covert behaviours and deception techniques used by malware to evade detection. - Assembly Language Logic: Understand assembly language structures and code constructs, and learn how to interpret them using a disassembler. - Advanced Dynamic Malware Analysis: Explore advanced malware analysis techniques, including the use of debuggers, decompilation, automated analysis and the application of machine learning.
In this module, you will develop the analytical and practical skills needed to rigorously assess cybersecurity audits and evaluate compliance with established standards. You will learn how to examine empirical evidence, identify gaps in existing tools through hands'on compliance analysis, and integrate technical findings with policy considerations. By combining technical and strategic perspectives, you will gain the ability to provide actionable insights that support both operational improvements and long'term organisational resilience. Indicative Content - Foundations of Cybersecurity Audit & Compliance: Introduce the principles of cybersecurity audit and compliance. Explore Cyber Essentials, Windows domains, Active Directory and Group Policy configurations as the basis for secure system management. - Secure Systems Administration & Network Defence: Develop skills in managing network services and secure configurations. Learn advanced administrative techniques and enterprise'level security measures to strengthen system resilience. - Incident Management & Forensic Analysis: Examine the processes of incident response planning, forensic review and malware analysis. Apply risk assessment approaches aligned with ISO standards to support professional practice. - Audit Review & Compliance Reporting: Learn how to conduct comprehensive audit reviews, perform policy gap analysis, and synthesise findings into clear, actionable compliance reports for stakeholders.
Gain an in-depth understanding of system programming and the security challenges that exist in both kernel and user space. You’ll explore how operating systems and devices work at a low level, gaining insight into areas such as kernel operation, device drivers and hardware communication. You’ll also learn how to design and build secure systems for embedded and IoT environments, and how these interact with cloud and web technologies. Through practical and theoretical work, you’ll develop the skills to analyse, implement and secure complex systems in real-world deployment scenarios. Indicative Content - System Programming: C programming, compiler, linker and loader. Static and runtime analysis of binary files. System development kits, kernel headers and cross complier environments. - Hardware: ASIC,MCU,CPU, SOC, assembly, component security, pcb security, sniffing wire traffic, radio traffic, Types of communication (I2C, SPI, UART, RS232) and security challenges - Operating systems: I/O Manager, Memory Manager, Scheduler, .s file, init file, boot loader, boot process, ROM, RAM, execution rings - Kernels: Types of kernel, real time, unix, Windows, mac, linux, user space vs kernel space, shell, native applications, dll, registry/proc. Security landscape in user and kernel space. - Auditing and Debugging: User and kernel space debugging, Remote kernel debug setup, Analysis of precompiled binaries - Loadable modules: Linker, stack and memory layout, Interrupts, IRQ table and priorities. Introduction to device drivers, Types of driver, lifecycle, portability. Security risks associated with loadable modules. - Cloud Platforms: Setup and use of cloud platforms such as AWS. Cloud platform utilisation fundamentals and business considerations. - Web Technologies: TCP/IP protocol with understanding of application protocols such as HTTP, FTP, SSH etc. Understand web server and common gateway interface (CGI).
This module will look at the forensic investigation of a network and the challenges analysts face when investigating network traffic. It'll provide you with an understanding of the underlying network principles important to comprehending network evidence. At the end of the module, you'll be able to perform an investigation with a comprehensive, systematic approach to discover and examine evidence from networking infrastructure. Indicative Content - Digital forensics: Investigation Need, Taxonomy, Forensic Process and Methodology, Forensic Laboratory (i.e., Lab Requirements, Equipment Requirements, Person Specification - Network forensics overview: Technical Fundamentals, Foundation - Practical Investigative Strategies, Principles of Networking - e.g., protocols, ports, TCP/IP, OSI model. - Intrusion detection systems: IDS/IPS (i.e., Types, Functionality, modes, Placement), Evidence acquisition, Snort, Wireshark - Snort: Writing snort rules, Configurations, Deployment, and deployment scenarios, Snort performance, - Packet analysis: TCP/IP, intrusion analysis tools (e.g., Wireshark, TCPdump), Snort + Wireshark - Network traffic analysis: TCPdump filter, Examination of datagram fields, Packet crafting, Nmap, OS fingerprinting - Honeypots: Architecture, Types of honeypots, Pros, Cons, Level of interaction, Honeypot hunters, Honeytokens, Honeynet - Statistical flow analysis: Generation and collection, Analysis, Techniques and Tools - Switches routers firewalls: Storage media, CAM tables, Manages switches, Router evidence, Firewall evidence, Logging - Wireless forensics: Wireless network forensics, Forensics cases, Protocol series, Frame types, WAPs, Rogue wireless access points - Event logs: Logs, Windows and Unix logs, Logging architecture, Log analysis methodology, The aftermath-post attack
This module gives you the chance to design, develop and deliver a substantial individual project related to your programme. You’ll normally propose your own idea, carrying out initial research and proof-of-concept work in Term 1 to produce a detailed project proposal. In Term 2, you’ll focus on the main development phase, applying your knowledge and skills to complete the project to a professional standard. Indicative Content - Investigation, Research and Selection: Initial investigation of project topic, Background research of project topic and Selection of project topic - Evaluating: Methods of evaluating a project. - Legal, Social, Professional and Ethical Issues: Consideration of Legal, social, ethical and professional issues. - Proposal: Production of a project proposal. - Project Feasibility and Proof of Concept: Demonstrate Feasibility of Project - Self-directed problem solving, Originality and Creativity - Self Motivation, Initiative and Insight - Software Design Skills - Recording, Reporting and Communication Skills - Employability and professional development
This module gives you the opportunity to present a major individual project as a formal dissertation. You’ll normally propose your own topic, drawn from a current industry or research problem within your field. You’ll be expected to present your work in a clear, structured and academically rigorous way, demonstrating critical insight and evaluation of both your project and the artefact produced. The final dissertation will be written in an academic style appropriate to your discipline. Indicative Content - Introduction: Introduce the topic of the project and the problem area with and appropriate research question. - Investigate: Investigate previous work in the chosen project area, and show how the work of the project relates to it. - Justify: Demonstrate a sound justification for the approach and methodology adopted. - Document: Document the output of the project with some originality. - Evaluate: Critically evaluate the output, using third party evaluation where appropriate, and recognise the strengths and limitations of the work. - Communicate: Demonstrate an ability for independent learning and linkage to future work and career aspirations.
Examine social and technical approaches to better security resilience in systems through consideration of methods of attack and defence. Indicative Content - Principles of Secure Software Development: The relationship between correctness, security and performance. Defence in depth. Input, output and state validation. Minimal privilege and privilege separation. - Language and API Design for Security: Inherent security problems with widely-used languages, and why people still use them. Undefined behaviour and compiler optimisations. Enforcing security properties using better type systems and language semantics. DSLs for security. - Secure Software Engineering: Security within the SDLC. Specifying security requirements. Secure coding standards. Code review for security. - The Ingredients of Machine Learning: Overview of the different 'aspects' of machine learning. All machine algorithms are not created equal. Applications of machine learning for cyber-security. Review of the various types of algorithms and the mathematics behind the algorithms. Exploration of supervised and un-supervised classifications. Creation of a spam filter such as SPAM-Assassin and applications of Machine Learning to Network Forensics. - Support Vector Machines for Cyber Security: Exploration of classification and regression analysis. Overview of the mathematics behind Support Vector Machine and the application of the SVM algorithm in the context of networking security. Introduction to non-linear classification and high-dimensional feature spaces to improve intrusion detection systems, mitigate security vulnerabilities and identify data exfiltration. - Neural Networks for Cyber Security: Exploration of neural networks for threat analysis and malware detection. Exploration of the propagation models, weights and learning rules. The mathematics and models behind the different algorithms are explored and applied to the classification of network traffic, identify threats, computer misuse, and improve network security. - Human-Centred Security: An introduction into the human side of security, and into how humans make security and privacy-related decisions. - Authentication Design: How authentication mechanisms ought to be chosen with the human in mind. The differences between what you own, what you are, and what you know, and how to judge which one is best to be used in a particular context. If passwords are chosen, how password requirements ought to be defined, how these ought to be communicated to the users. Design of secure password replacement.
CCC Grades/points required
Not currently available, please Contact University for up to date information.