TK Study

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

Question page · Practise and get marked

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

Question page · Practise and get marked

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.

Question page · Practise and get marked

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.

Question page · Practise and get marked

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.

Question page · Practise and get marked

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')

Question page · Practise and get marked

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.

Question page · Practise and get marked

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.

Question page · Practise and get marked

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.

Question page · Practise and get marked

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

Question page · Practise and get marked

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).

Question page · Practise and get marked

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.

Question page · Practise and get marked

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

Question page · Practise and get marked

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.

Question page · Practise and get marked

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.

Question page · Practise and get marked

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.

Question page · Practise and get marked

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.

Question page · Practise and get marked

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

Question page · Practise and get marked

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

Question page · Practise and get marked

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.

Question page · Practise and get marked

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.

Question page · Practise and get marked

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.

Question page · Practise and get marked

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:

Question page · Practise and get marked