Skip to content | Change text size

M O N A T A R

InfoTech Unit Avatar

CSE3207 Secure and trusted software systems

Chief Examiner

This field records the Chief Examiner for unit approval purposes. It does not publish, and can only be edited by Faculty Office staff

To update the published Chief Examiner, you will need to update the Faculty Information/Contact Person field below.

NB: This view restricted to entries modified on or after 19990401000000

Unit Code, Name, Abbreviation

CSE3207 Secure and trusted software systems (25 May 2004, 11:11am) [STSS (25 May 2004, 09:34am)]

Reasons for Introduction

Reasons for Introduction (31 May 2004, 11:27pm)

With the inevitable move towards an interconnected electronic society, the security of electronic interactions and data, and the software that handles them, is emerging as an important enabling criterion. The ability to write secure and trustworthy code - and not just code that complies with the system specifications - has become a very important skill that modern software developers must have.

We currently teach our students systems analysis and design skills, programming principles, database design, communications and network concepts. Unfortunately, this set of skills is no longer sufficient in an Internet-centric world. The ability to develop secure code, designed to withstand malicious attacks, has become an essential skill, which needs to be taught along with all the other software development skills. Our "Bachelor of Computing" degree does not currently have a strong focus on software security issues. The security-related units that we currently offer focus on general security concepts or on network security issues. There are no specific units dealing with the principles and practices of developing secure and trusted code (even though some lecturers do cover aspects of security pertinent to their unit).

In order to address this gap in our degrees we need to introduce a new unit that will highlight the most common software vulnerabilities, threats and countermeasures, as well as the best practices for developing secure and trusted software. This would be a 3-rd year unit, as it has to be based on prior programming experience, database design skills and understanding of networks.

Role of Unit (27 May 2004, 5:39pm)

CSE3207 would be offered in the Bachelor of Computing degree. One of the main objectives of the Bachelor of Computing is to produce software developers, who satisfy the computing needs of industry, government and commerce. The emergent electronic society and the widespread use of inter-networked resources demand that electronic transactions and communications are kept secure. That, in turn, requires that software developers know how to design secure and trusted application code that can withstand malicious or inadvertent attacks, and what best development practices to apply. The role of this unit is to bridge the current gap in the skills of our graduates on how to build secure and trusted software systems and applications. This unit will provide students with the necessary appreciation of security issues and teach them skills in writing secure code.

Relationship of Unit (31 May 2004, 11:36pm)

CSE3207 relates to

CSE3207 is an extension of the programming principles and concepts that are taught in CSE1202 and CSE1203, then reinforced in CSE2201 and CSE2203 with specific emphasis on developing secure and trusted software.

Relevance of Unit (25 May 2004, 09:39am)

While producing software developers who can build secure software and systems is not an explicit objective of FIT or SCSSE, it should implicitly be a part of what it means to be a software developer.

Objectives

Knowledge and Understanding (Cognitive Domain Objectives) (31 May 2004, 11:41pm)

Students will understand some of the main security concepts and issues involved in the development of software, including:

Attitudes, Values and Beliefs (Affective Domain Objectives) (25 May 2004, 10:36am)

Students will acquire an understanding and appreciation of the importance of developing secure software in today's electronic world. They will also learn that security features are not equal to secure features.

Practical Skills (Psychomotor Domain Objectives) (31 May 2004, 11:18pm)

In developing secure and trusted software, students will be able to:

Unit Content

Summary (25 May 2004, 10:39am)

With the inevitable move towards an interconnected electronic society, the security of electronic interactions and data, and the software that handles them, is emerging as an important enabling criterion. The ability to develop secure and trusted code, designed to withstand malicious and inadvertent attacks, has become an essential skill for a software developer/engineer. This unit promotes understanding and appreciation of the importance of developing secure and trusted software in today's electronic world by demonstrating possible attacks and their consequences. Here students are introduced to some of the most common security issues involved in the development of software, including secure coding practices, secure database access, secure data communications, security of web applications, use of encryption techniques and security testing. Students are provided with a range of practical exercises to reinforce their skills, including authenticating and authorizing users programmatically, user input validation, developing secure web applications, developing secure mobile/wireless applications, developing secure database applications, encrypting and hashing data programmatically, generating digital signatures programmatically, security testing, designing logging and auditing mechanisms.

Recommended Reading (25 May 2004, 10:41am)

Teaching Methods

Mode (25 May 2004, 10:41am)

On-campus

Strategies of Teaching (31 May 2004, 11:32pm)

Teaching Methods Relationship to Objectives (25 May 2004, 10:43am)

Assessment

Strategies of Assessment (31 May 2004, 11:11pm)

Assessment Relationship to Objectives (31 May 2004, 11:12pm)

Workloads

Workload Requirement (27 May 2004, 5:48pm)

Weekly workload is 12 hours:

Resource Requirements

Lecture Requirements (25 May 2004, 10:45am)

2-hour lecture in a hi-tech lecture room

Tutorial Requirements (25 May 2004, 10:46am)

1-hour tute (followed by the prac) in a computer lab

Laboratory Requirements (25 May 2004, 10:46am)

2-hour prac (where 2nd hour is unsupervised) in a computer lab with computers powerful enough to run MS .NET Framework, SQL Server and IIS (see software requirements).

Staff Requirements (25 May 2004, 10:46am)

1 EAS

Software Requirements (21 Oct 2005, 1:04pm)

Note that many underlying concepts and principles of developing secure code are common to all platforms and programming languages. However, in order to demonstrate security concepts and examples it must use some computer platform. Therefore, Microsoft .NET Framework and C# language is selected, both by choice and to capitalise on existing Java and .NET CSE units.

Required software:

The SCSSE has licences for all the software listed above.

Library Requirements (25 May 2004, 11:12am)

In due course, other books might be identified as beneficial to have available in the library.

Teaching Responsibility (Callista Entry) (25 May 2004, 11:13am)

100% SCSSE

Interfaculty Involvement (25 May 2004, 11:13am)

none

Interschool Involvement (25 May 2004, 11:14am)

none

Prerequisites

Prerequisite Units (01 Jun 2004, 11:45am)

The following unit is recommended, but not required:

Level (25 May 2004, 3:44pm)

3rd level: Students at this level should have sufficient programming, database and networking background to build on.

Proposed year of Introduction (for new units) (25 May 2004, 3:44pm)

Semester 1, 2005

Frequency of Offering (31 May 2004, 11:20pm)

Once a year, 1st semester

Enrolment (31 May 2004, 11:21pm)

60 students

Location of Offering (25 May 2004, 3:45pm)

CA

Faculty Information

Proposer

Arkady Zaslavsky

Approvals

School: 15 Jun 2004 (Ronald Pose)
Faculty Education Committee: 28 Jun 2004 (Ralph Gillon)
Faculty Board: 20 Jul 2004 (Annabelle McDougall)
ADT:
Faculty Manager:
Dean's Advisory Council:
Other:

Version History

25 May 2004 Arkady Zaslavsky modified Prerequisites/PreReqUnits; modified Prerequisites/PreReqUnits; modified Prerequisites/PreReqKnowledge; modified Prerequisites/PreReqKnowledge; modified Level; modified Level; modified DateOfIntroduction; modified DateOfIntroduction; modified Frequency; modified Frequency; modified LocationOfOffering; modified LocationOfOffering; modified FacultyInformation/FIContact; modified FacultyInformation/FIContact; modified FacultyInformation/FICoordinator
27 May 2004 Arkady Zaslavsky modified ReasonsForIntroduction/RRole; modified Workload/WorkHours; modified Workload/WorkHours
27 May 2004 John Hurst modified ResourceReqs/OtherReqs to add comment about Microsoft grant
31 May 2004 Arkady Zaslavsky modified Assessment/Strategies; modified Assessment/Objectives; modified Prerequisites/PreReqUnits; modified UnitObjectives/ObjPsychomotor; modified Frequency; modified Enrolment; modified ReasonsForIntroduction/RIntro; modified ReasonsForIntroduction/RRelation; modified ReasonsForIntroduction/RRelation; modified Teaching/Strategies; modified ReasonsForIntroduction/RRelation; modified ReasonsForIntroduction/RRelation; modified ReasonsForIntroduction/RRelation; modified UnitObjectives/ObjCognitive; modified ResourceReqs/OtherReqs; modified ResourceReqs/OtherReqs; modified ResourceReqs/OtherReqs
31 May 2004 Arkady Zaslavsky modified ResourceReqs/OtherReqs
01 Jun 2004 Arkady Zaslavsky modified Prerequisites/PreReqUnits; modified ResourceReqs/OtherReqs
15 Jun 2004 Ronald Pose CSE School Approval, CSSE Education Committee meeting 4/2004
28 Jun 2004 Ralph Gillon FEC Approval
20 Jul 2004 Annabelle McDougall FacultyBoard Approval
17 Oct 2005 David Sole Added Software requrirements template
21 Oct 2005 David Sole Updated requirements template to new format

This version: