Home | About Us | Courses | Units | Student resources | Research |
IT Support | Staff directory | A-Z index |
M O N A T A R |
InfoTech Unit Avatar |
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
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.
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.
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.
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.
Students will understand some of the main security concepts and issues involved in the development of software, including:
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.
In developing secure and trusted software, students will be able to:
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.
On-campus
Weekly workload is 12 hours:
2-hour lecture in a hi-tech lecture room
1-hour tute (followed by the prac) in a computer lab
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).
1 EAS
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:
100% SCSSE
none
none
3rd level: Students at this level should have sufficient programming, database and networking background to build on.
Semester 1, 2005
Once a year, 1st semester
60 students
CA
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:
Copyright © 2022 Monash University ABN 12 377 614 012 – Caution – CRICOS Provider Number: 00008C Last updated: 20 January 2020 – Maintained by eSolutions Service desk – Privacy – Accessibility information |