Software Engineering › Past questions › Secure Software Architecture (Year 12)
Past questions: Secure Software Architecture (Year 12)
23 questions.
2025 1 mark Short answer Secure Software Architecture (Year 12) API vulnerabilities
NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines
[Exact question wording is not published as a paper (online exam). Task as shown by the NESA marking guidelines/mapping grid: API vulnerabilities]
Marking criteria
1: Identifies the correct answer.
Sample answer
Exposure of more data than intended
2025 1 mark Short answer Secure Software Architecture (Year 12) User action controls
NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines
[Exact question wording is not published as a paper (online exam). Task as shown by the NESA marking guidelines/mapping grid: user action controls]
Marking criteria
1: Identifies the correct answer.
Sample answer
Race conditions
2025 1 mark Short answer Secure Software Architecture (Year 12) Regulatory compliance
NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines
Identify ALL the items that are the goals of regulatory compliance in relation to software development. Options: Limiting the need for software updates; Protecting sensitive data from unauthorised access; Allowing developers to bypass security features when needed; Reducing the testing time required during software development; Ensuring software applications meet legal and industry standards.
Marking criteria
1: Identifies ALL the items that are the goals of regulatory compliance.
Sample answer
Protecting sensitive data from unauthorised access; Ensuring software applications meet legal and industry standards.
2025 2 marks Short answer Secure Software Architecture (Year 12) SAST and DAST
NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines
[Exact question wording is not published as a paper (online exam). Task as shown by the NESA marking guidelines/mapping grid: identify the timing and source-code access for each of SAST and DAST]
Marking criteria
2: Correctly identifies the timing and source code access for each strategy. 1: Correct for ONE strategy, OR correct timing for each strategy.
2025 3 marks Short answer Secure Software Architecture (Year 12) Privacy by design
NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines
(c) Describe ONE way that the 'privacy by design' approach could be implemented in this weather app. (3 marks)
Marking criteria
3: Describes ONE way privacy by design could be implemented in the weather app. 2: Outlines ONE feature of privacy by design. 1: Identifies a feature of privacy by design.
Sample answer
Embedded within the design of the weather app would be a process for regularly deleting identifiable data. For example, the app would likely record a person's live location to deliver relevant weather details. The privacy by design approach would incorporate a regular process to delete these locations from cache.
2025 3 marks Python / code Secure Software Architecture (Year 12) Developing secure code (Python)
NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines
In an organisation, temporary passwords are automatically generated for new user accounts. Each password is created from the first three letters of the username followed by '123'. For example, the username 'NESA' will have the password 'NES123'. When a user logs in for the first time, they are asked for their username and password. They receive a welcome message or an error message, depending on whether the password entered follows the rules of new user accounts. Write a Python program that asks a new user for their username and password, and then checks whether the password rule has been followed. (3 marks)
Marking criteria
3: Correct code for the problem. 2: Partially correct code that includes a correct selection structure OR password creation. 1: Some understanding of the scenario and Python.
Sample answer
uName = input('What is your username?') password = input('What is your password?') passwordP1 = uName[:3] passwordP1= passwordP1 + '123' if passwordP1 == password: print ('Welcome!') else: print ('Incorrect password entered')
2025 3 marks Short answer Secure Software Architecture (Year 12) Session management
NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines
Describe how session management can affect the efficiency of code execution for the user. (3 marks)
Marking criteria
3: Describes how session management can affect code execution efficiency. 2: Identifies some features of session management. 1: Some relevant information.
Sample answer
Efficient session management limits memory consumption by restricting session data size and lifetime. Excessive reading, writing or storing large objects increases input/output operations and slows code execution for the user. Removing sessions when they are no longer required is essential to prevent unnecessary resource consumption.
2025 3 marks Short answer Secure Software Architecture (Year 12) Social and ethical issues
NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines
A food delivery service offers prepackaged meals tailored to different dietary preferences, for example, vegetarian and gluten-free. It has developed a website for customers to place orders. The website is ready for testing and feedback. The website includes: a menu that dynamically updates based on meal availability; user accounts where customers can track deliveries and manage subscriptions; a backend that processes orders and payments, updates stock and communicates with the delivery team. (a) Outline potential social and ethical issues associated with the use of this website. (3 marks)
Marking criteria
3: Outlines relevant social and ethical issues. 2: Outlines ONE social or ethical issue OR identifies relevant issues. 1: Identifies ONE relevant issue.
Sample answer
The website will need to ensure payment and address data is appropriately secured and accessible only to authorised personnel. It also needs to ensure that pages can be viewed in a wide variety of languages and that the information about dishes displayed is accurate and representative of the product.
2025 3 marks Short answer Secure Software Architecture (Year 12) Fundamental software design security concepts
NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines
[Exact question wording is not published as a paper (online exam). Task as shown by the NESA marking guidelines/mapping grid: fundamental software design security concepts; correct response for each of several items]
Marking criteria
3: ALL items correct. 2: THREE items correct. 1: ONE item correct.
2025 1 mark Short answer Secure Software Architecture (Year 12) Encryption
NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)
A company conducts all of its consultations with its clients via its website. Which of the following is the best way for the company to maintain the security of its clients' data? Implement data encryption / Ensure that the software is user-friendly / Focus on software that incorporates metadata / Use software that allows for easy data integration with other platforms
Marking criteria
1: Identifies the correct answer.
Sample answer
Implement data encryption
2025 2 marks Short answer Secure Software Architecture (Year 12) SAST and DAST
NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)
The strategies below can be used to test the security of a web application that contains a database. Classify each as EITHER SAST OR DAST: (1) Simulate attacks on the web application; (2) Check the way SQL queries are constructed; (3) Test the database's web interface for vulnerabilities; (4) Test the web application used to interact with the database when it is running; (5) Analyse the code for connecting to the database to identify security vulnerabilities.
Marking criteria
2: Correctly classifies all the strategies. 1: Correctly classifies THREE strategies, which must include ONE SAST and ONE DAST.
Sample answer
SAST: (2) and (5). DAST: (1), (3) and (4).
2025 3 marks Short answer Secure Software Architecture (Year 12) Defensive data input handling
NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)
An online site requires users to create accounts using a 'Create Profile' web form (username, password, first name, last name, mobile number, date of birth). Each username must: 1. be at least 8 characters long; 2. start with an uppercase letter; 3. have a lowercase letter as the second last character; 4. have a numeric last character. Valid example: NESA24a3. (a) Explain how defensive data input handling practices can be implemented for this website. (3 marks, max 75 words)
Marking criteria
3: Explains how defensive data input handling practices can be implemented for the website. 2: Outlines some features of data input handling practices. 1: Some relevant information.
Sample answer
Data sanitisation using client-side scripting can clean the data and remove dangerous input. Input validation on the client-side can check that entered data meets all of the requirements before getting processed by the server. Errors generated by data not meeting rules can be shown to the user.
2025 3 marks Python / code Secure Software Architecture (Year 12) Developing secure code (Python input validation)
NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)
(b) Write a function in Python that will check whether a username satisfies the rules (the four username rules in 18a). (3 marks)
Marking criteria
3: Correct function in Python to check whether a username satisfies the rules. 2: Partially correct function. 1: Some understanding of the problem and Python.
Sample answer
def validate_username(username): valid = True
# length check
if len(username) < 8:
valid = False
elif (not username[0].isupper()):
valid = False
elif (not username[-2].islower()):
valid = False
elif (not username[-1].isdigit()):
valid = False
return valid
2025 4 marks Short answer Secure Software Architecture (Year 12) Authentication and authorisation
NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)
An app is being developed for use in a school. It will allow teachers to upload and assign work, and track student homework. Students can download work and upload their completed responses for marking. Explain how authentication and authorisation could be applied to this app. (4 marks, max 75 words)
Marking criteria
4: Explains how authentication AND authorisation could be applied. 3: Explains how authentication OR authorisation could be applied, OR outlines how both could be applied. 2: Outlines some features of authentication and/or authorisation. 1: Some relevant information.
Sample answer
Authentication ensures that only staff and students with valid usernames and passwords, which should be encrypted in storage (eg using hashing), can access the app. Authorisation controls access to specific features of the app based on user roles or groups. Teachers may have permissions to upload, assign and track homework, while students can only download tasks and upload completed work. By organising users into specific roles or groups, the app restricts access to appropriate functionality, ensuring that each user can only perform actions relevant to their role or group.
2025 3 marks Short answer Secure Software Architecture (Year 12) Race conditions
NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)
Race conditions have been identified as a potential issue for this database. Provide an example of when a race condition may occur in this scenario and outline how secure code could be implemented to prevent it. (3 marks, max 75 words)
Marking criteria
3: Provides an example of when a race condition may occur AND outlines how secure code could prevent it. 2: Outlines some features of race conditions. 1: Some relevant information.
Sample answer
With multiple teachers potentially accessing the database at the same time, race conditions can allow malicious users to gain unauthorised access. Authentication could be used to restrict access to the database, and code can be written to use atomic transactions and database locks to time the reading and writing of data.
2025 1 mark Short answer Secure Software Architecture (Year 12) Development steps
NESA 2025 HSC Software Engineering Familiarisation Questions - Marking Guidelines (official, 12 June 2025)
[Question stem not available as text (it is on the interactive NESA familiarisation site). Task per the NESA mapping grid: development steps]
Marking criteria
1: Correctly orders the steps.
2025 3 marks Short answer Secure Software Architecture (Year 12) Sandboxing
NESA 2025 HSC Software Engineering Familiarisation Questions - Marking Guidelines (official, 12 June 2025)
[Question stem not available as text (it is on the interactive NESA familiarisation site). Task per the NESA mapping grid: a discussion of the use of sandboxing in the operating system]
Marking criteria
3: Thorough discussion of the use of sandboxing in the operating system. 2: Some understanding of the advantages and/or disadvantages. 1: Identifies a feature of sandboxing.
Sample answer
Sandboxing allows each application to be isolated so that it cannot pose a security risk by accessing system resources or other applications. However, it requires more resources as each application requires its own container. It may also be less convenient for users to access resources such as the device's camera or files as the sandbox will either prevent access or make it more difficult.
2025 3 marks Python / code Secure Software Architecture (Year 12) Developing secure code (Python input validation)
NESA 2025 HSC Software Engineering Familiarisation Questions - Marking Guidelines (official, 12 June 2025)
[Question stem not available as text (it is on the interactive NESA familiarisation site). Task per the NESA mapping grid: a Python function that checks whether a username satisfies given rules (stem not available)]
Marking criteria
3: Correct function in Python that checks whether a username satisfies the rules. 2: Partially correct function. 1: Some understanding of the problem and Python.
Sample answer
def validateUsername(username):
# Length check
if len(username) > 8:
return False
# Alpha character only check
elif username.isalpha() == False:
return False
# < character check
elif "<" in username:
return False
# If we reach here then the username meets the requirements
return True
2025 1 mark Short answer Secure Software Architecture (Year 12) Cross-site scripting
NESA 2025 HSC Software Engineering Familiarisation Questions - Marking Guidelines (official, 12 June 2025)
[Question stem not available as text (it is on the interactive NESA familiarisation site). Task per the NESA mapping grid: identify a vulnerability from a scenario (stem not available)]
Marking criteria
1: Identifies the correct answer.
Sample answer
Cross site scripting
2025 2 marks Short answer Secure Software Architecture (Year 12) Cross-site scripting
NESA 2025 HSC Software Engineering Familiarisation Questions - Marking Guidelines (official, 12 June 2025)
[Question stem not available as text (it is on the interactive NESA familiarisation site). Task per the NESA mapping grid: explain ONE way to minimise the XSS vulnerability]
Marking criteria
2: Explains ONE way to minimise the vulnerability. 1: Some relevant information.
Sample answer
The website could check and change user input so that markup and script become plain text. This will still allow the page to display the information but will prevent it from executing script code.
2021 11 marks Extended response Secure Software Architecture (Year 12) Social and ethical issues; The Software Engineering Project / Implementation and development approach
NESA 2021 HSC Software Design and Development (OLD syllabus) - Section II Question 25, with NESA Marking Guidelines
A mobile phone app is to be developed to allow two people speaking different languages to have a conversation. The app translates the speaker’s language into the language of the listener. (a) | Describe ONE social or ethical issue associated with this app. | 2 (b) | Outline an appropriate method of installation for this app. | 2 (c) | Justify an appropriate software development approach for this app. | 3 (d) | Describe ONE compatibility issue and ONE performance issue relevant to this | 4 app.
Marking criteria
[Question 25 (a)] Criteria | Marks • Describes ONE relevant social or ethical issue | 2 • Demonstrates a basic understanding of a social or ethical issue | 1 Criteria | Marks • Outlines an appropriate installation method relevant to this app | 2 • Identifies an installation method | 1 Criteria | Marks • Justifies an appropriate software development approach for this app | 3 • Describes a software development approach | 2 • Demonstrates a basic understanding of software development | 1 Criteria | Marks • Describes ONE performance issue and ONE compatibility issue relevant to this app • Outlines ONE performance issue and ONE compatibility issue relevant to this app • Outlines a performance or compatibility issue OR | 2 • Identifies performance and/or compatibility issues • Provides some relevant information | 1
Sample answer
Sample answer: Privacy As the conversations are transmitted and possibly stored for processing, concerns may arise regarding the security of private conversations.
[Question 25 (b)] Sample answer: Direct cutover: each individual gets the complete system as soon as they purchase the application.
[Question 25 (c)] Sample answer: Agile This approach enables the development of this application relatively quickly in a possibly competitive environment. The agile approach means the system can be offered initially with two or three languages and limited functionality, but with updates offered after a short period of time to progressively include more languages and more features in response to feedback.
[Question 25 (d)] Sample answer: Compatibility: The application must execute consistently between different mobile phones, operating systems and networks. This means that the system must be tested using a wide range of environments. Performance: Processing times must allow normal conversations to proceed without delays. Some language translations do not lend themselves to word for word conversions, meaning longer processing times are required. The application must load quickly to minimise frustration.
2022 3 marks Extended response Secure Software Architecture (Year 12) Social, ethical and legal responsibilities
NESA 2022 HSC Software Design and Development (OLD syllabus) - Section II Question 21, with NESA Marking Guidelines
Describe TWO responsibilities of software developers when developing new systems. | 3
Marking criteria
[Question 21] Criteria | Marks • Describes TWO responsibilities of software developers | 3 • Describes ONE responsibility of software developers OR | 2 • Outlines TWO responsibilities • Demonstrates some understanding of software developers’ responsibilities
Sample answer
Sample answer: Intellectual property – appropriate acknowledgement of intellectual property means that a developer cannot use copied code fragments without first contacting the author, asking their permission and acknowledging the authorship visibly in their product. Response to user issues – a developer should respond appropriately and promptly, possibly by amending code.
2023 5 marks Extended response Secure Software Architecture (Year 12) Security and authentication
NESA 2023 HSC Software Design and Development (OLD syllabus) - Section II Question 23, with NESA Marking Guidelines
An online medical database stores the medical history of patients. It is updated each time a person seeks medical treatment. (a) | Give TWO reasons why security is important for this database. | 2 (b) | To provide increased security for the database, two-step authentication is | 3 implemented which requires a user to: • provide a valid username and password • enter an automatically generated six-digit verification code which is sent to their mobile phone. Complete the system flowchart for this two-step authentication process. UserID and password
Marking criteria
[Question 23 (a)] Criteria | Marks • Provides TWO reasons for the importance of security of this database | 2 • Demonstrates some understanding of the importance of data security | 1 Criteria | Marks • Provides a substantially correct system flowchart for the authentication process, using appropriate symbols • Provides a partially correct system flowchart | 2 • Provides a diagram that shows some understanding of the process | 1
Sample answer
Sample answer: Unintentional/malicious changes to the data may cause harm to the patients. Privacy of the patient may be compromised if the data is made public.
[Question 23 (b)] Sample answer: