Full course description
About this course
Course Snapshot
Throughout this course, we will explore the critical aspects of securing software systems and platforms from intelligent adversaries who seek to exploit vulnerabilities. You will gain theoretical knowledge and have the opportunity to apply your new knowledge in practical examples and scenarios to provide you with a comprehensive understanding of software and platform security.
Here's a brief overview of the modules you will work through in this course:
- Software security: In the field of software security, we face the challenge of protecting software systems from intelligent adversaries who aim to exploit vulnerabilities. We will delve into the fundamental elements required to address software security issues effectively, discuss the concept of security objectives and explore various security requirements, such as confidentiality, integrity, and availability. By understanding these concepts, you will be able to identify vulnerabilities and learn techniques to prevent or detect them, specifically focusing on implementation vulnerabilities such as memory management vulnerabilities, injection vulnerabilities, and side-channel vulnerabilities.
- Web and mobile security: The rise of mobile devices and applications has revolutionised how software is created and accessed. We will dive into web and mobile security, examining the security challenges posed by applied ecosystems and the integration between web and mobile platforms. You will gain insights into the risks associated with malicious apps tampering with web content and web content exploiting vulnerabilities in app APIs. By understanding these attack vectors, you will be equipped to protect both web and mobile platforms from potential threats.
- Secure software development lifecycle (SSDL): Explore the SSDL, which is a structured approach that ensures security measures are integrated throughout the software development process. We will look at industry-leading initiatives such as Microsoft SDL (Security Development Lifecycle) and SAFECode, showcasing real-world implementations of secure software practices. You will also be introduced to strategies for adapting the SSDL to different software development approaches, and ways of assessing the effectiveness of SSDLs.
As we navigate through these modules, you will develop a strong foundation in secure software development principles and best practices, which will be invaluable in your future career or further studies.
Learning about software and platform security will help you gain the skills necessary to safeguard our digital landscape and importantly contribute to building a more secure future for everyone. We are excited to have you on board!
Upon completion of this course earn a Digital Badge.
his course on Software and platform security is made up of three modules that are best completed in sequence. After you have completed all three modules, there is a course conclusion and final knowledge check. While there is no set timetable with this course, a study plan is a valuable tool to help manage your time, stay motivated and ensure that all materials are covered.
Everyone learns at a different pace, and the hours of study listed below for each module are an average. It may take you less or more time depending on what you already know and previous experiences.
Suggested study schedule
Modules | Hours of study |
---|---|
|
|
|
|
|
|
|
|
Professor Ernest Foo
Professor, School of Information and Communication Technology
Dr. Mukhtar Hussain
Research Fellow, School of Information and Communication Technology