The University of Sheffield
Department of Computer Science

COM6501 - Computer Security and Forensics

Summary

This module provides an introduction into computer security and forensics focussing on approaches and techniques for building secure systems and for the secure operation of systems. It aims to develop knowledge and understanding of fundamental principles of information security, develop familiarity with compromise of computer systems and what countermeasures can be adopted and provide practical experience of implementing secure systems. The module requires a solid understanding of mathematical concepts (e.g., modulo-arithmetic, complex numbers, group theory) and logic (set theory, predicate logic, natural deduction) a solid understanding of a programming language (e.g., Java, Ruby, or C), basic software engineering knowledge and an understanding of database and Web systems. Students should be aware that there are limited places available on this course. 

Session Spring 2023/24
Credits 15
Assessment
  • Formal Examination, Blackboard Quizzes, Written Report
Lecturer(s) Dr Behzad Abdolmaleki & Dr Benjamin Dowling
Resources
Aims
  • To develop knowledge and understanding of fundamental principles of information security. 
  • To develop familiarity with compromise of computer systems and what countermeasures can be adopted. 
  • To develop practical experience of implementing secure systems.
Learning Outcomes 

By the end of the module, a student will be able to:

  • Demonstrate understanding of core security concepts and principles, vulnerabilities and risks to computer systems.
  • Demonstrate understanding of digital forensics concepts, both of processes and techniques 
  • Demonstrate understanding of secure software development practices.
  • Analyse security properties of systems using specific advanced techniques and identify suitable countermeasures 
Content Lectures will cover:
  • Security Fundamentals
  • Access Control
  • Cryptographic Foundations
  • Signatures and PKIs
  • Crypto Attacks
  • Security Protocols
  • Application/Software Security
  • Threat Modelling
  • Secure Programming
  • Security Testing
  • Static Code Analysis
  • Secure Operations & Forensics
Restrictions The module assumes a solid knowledge of mathematical concepts and core computer science concepts (see summary for detail). Students from departments other than Computer Science will need to demonstrate that they have the necessary knowledge (in particular, a knowledge of predicate logic, natural deduction, algebra as well as at least a solid understanding of one programming language, common algorithms and data structures and technologies for building web applications).
Teaching Method Lectures and some practical work.
Feedback Students will receive feedback in the tutorial sessions in which solutions for the problem sheets are discussed.