Software



🟦 BOX 1 β€” LESSON 1: ORGANISATIONS

KEY DEFINITIONS

Organisation = people working together for a purpose.

Mission = why organisation exists / what it does now.

Vision = what organisation wants to become in future.

Goal = BIG, broad, long-term achievement.

Objective = SMALL, specific, measurable step toward goal; has NUMBER + DEADLINE.

Strategic plan = long-term plan setting out organisation's goals.

⭐ ORDER

MISSION β†’ VISION β†’ GOALS β†’ OBJECTIVES

Why β†’ Future β†’ Big β†’ Small/measurable

GOAL vs OBJECTIVE

GOAL: big + long-term + broad
β†’ β€œBecome most trusted bank in Australia.”

OBJECTIVE: specific + measurable + number + deadline
β†’ β€œReduce app crashes by 30% by June.”

CASE STUDY

Software exists because organisation wants something to change/improve.

Coles β†’ shorter queues
Myki β†’ no paper tickets
School β†’ attendance tracking

Question: Does software support/damage organisational goals?

β†’ Goal β†’ software practice β†’ effect β†’ supports/damages goal

SPOTTING

increase / become / maintain / keep β†’ often GOAL

NUMBER + TIME β†’ OBJECTIVE


🟩 BOX 2 β€” LESSON 2: DEVELOPMENT

DEFINITIONS

In-house = organisation's own employees build software.

External / outsourcing = another company is paid to build software.

Contractor = person/company paid to work but not employed by organisation.

NDA = contract restricting use/sharing of confidential information.

Due diligence = carefully checking risks/liabilities before trusting another company.

Least privilege = give users ONLY the access needed, nothing more.

Open source = source code freely available + can be modified.

Cloud = internet-based storage/processing.

IN-HOUSE

βœ… more control over data
βœ… organisation controls developers/access
βœ… sensitive information stays internal
❌ may lack specialist skills
❌ security expertise may be limited
❌ expensive/time-consuming

EXTERNAL

βœ… specialist skills
βœ… up-to-date security tools
βœ… potentially cheaper/faster
❌ data leaves organisation
❌ third party needs system access
❌ third party may have vulnerabilities
❌ legal responsibility must be clear

🚨 GOLDEN RULE

EXTERNAL β†’ LEAST PRIVILEGE

Give JUST ENOUGH ACCESS.

❌ NEVER real customer data
βœ… FAKE/TEST DATA

Use:
NDA + due diligence + encryption + least privilege + test data

CASE STUDY: COURT TRANSCRIPTS

Sensitive legal data sent offshore.

Vulnerability: inadequate protection/access controls
Control: NDA + encryption + least privilege + due diligence
Principle: privacy/confidentiality
FIRST: secure/restrict access + investigate exposure

SCENARIO ANSWER

Choose in-house/external β†’ reason 1 β†’ reason 2 β†’ security/data impact


πŸŸ₯ BOX 3 β€” LESSON 3: VULNERABILITIES

🚨 MOST IMPORTANT

THREAT = something that could cause harm.

VULNERABILITY = weakness a threat can exploit.

RISK = likelihood + severity of harm.

⭐ FORMULA

THREAT uses VULNERABILITY β†’ IMPACT/RISK

Example:

Hacker = threat
No MFA = vulnerability
Unauthorised access = risk/impact


API

API = allows programs to communicate/request data.

Think DOOR.

Authentication = WHO are you?

Authorisation = ARE YOU ALLOWED?

Rate limiting = HOW MANY requests?

OPTUS

Vulnerabilities:

  • ❌ no authentication

  • ❌ no authorisation

  • ❌ no rate limiting

  • ❌ exposed test environment

β†’ customer IDs could be manipulated
β†’ unauthorised access to personal data

Control: authentication + authorisation + rate limiting + secure test environment.


MALWARE

Malware = malicious software that damages/infiltrates systems.

Virus β†’ attaches to files/spreads

Worm β†’ self-replicates across network

Trojan β†’ looks legitimate / creates backdoor

Ransomware β†’ locks/encrypts data + demands payment

Exploit β†’ takes advantage of vulnerability


PATCHES

Patch = update fixing known vulnerability.

Unpatched β†’ known weakness β†’ attacker exploits β†’ compromise


IAM

IAM = Identity & Access Management

Controls WHO can access + WHAT they can access.

Weak IAM:

  • shared accounts

  • no MFA

  • old accounts active

  • excessive permissions

MFA = 2+ verification factors
e.g. password + code.




🟨 BOX 4 β€” LESSON 4: PEOPLE + ENVIRONMENTS

INSIDER THREAT

Threat involving someone with legitimate access.

Accidental β†’ mistake

Malicious β†’ intentionally causes harm

Compromised β†’ their account is stolen

🚨 CONTRACTOR ACCOUNT = INSIDER ACCESS


SOCIAL ENGINEERING

Social engineering = tricking people into giving access/info or performing unsafe action.

Phishing β†’ fake email/message

Smishing β†’ phishing via SMS

Pharming β†’ redirects to fake website

Tailgating β†’ follows authorised person through secure door

Credential stuffing β†’ reused/stolen passwords used on other accounts

CONTROLS

Phishing β†’ training + verify sender/links
Tailgating β†’ don't allow unknown people through
Credential stuffing β†’ unique passwords + MFA


MITM

Man-in-the-middle = attacker intercepts communication between parties.

Defence β†’ encryption in transit


THIRD-PARTY RISK

Your software uses someone else's code/service.

Their vulnerability β†’ YOUR software may be vulnerable.

Controls:

  • due diligence

  • security reviews

  • updates

  • access controls


DEV / TEST / PRODUCTION

DEV = build software

TEST = test software

PRODUCTION = live system/real users

🚨 KEEP SEPARATE

If combined:

  • developers may access real customer data

  • untested code can reach users

  • mistakes affect live system

  • harder access control/tracking


YES 😭 cutting it WAY down. This is what you actually put on the sheet.

πŸŸͺ LESSON 5 β€” SECURITY CONTROLS

6 CONTROLS:

  1. Version control β†’ records WHO/WHAT/WHEN; rollback β†’ prevents bad/unauthorised changes

  2. IAM β†’ controls WHO accesses WHAT β†’ prevents unauthorised/excessive access

  3. Encryption β†’ protects data at rest + in transit β†’ prevents data being read/stolen

  4. Code review β†’ checks code before release β†’ catches security bugs

  5. Patches/updates β†’ fixes known weaknesses β†’ prevents exploits

  6. Separate Dev/Test/Production β†’ prevents test code/real data affecting live system

SAST = checks code without running it
DAST = tests running app
CI = frequently merge tested code
Backdoor = hidden way around security

CASE STUDY:

Vulnerability β†’ Control β†’ Law/principle β†’ FIRST action


🟧 LESSON 6 β€” THREAT MODELLING

Threat modelling = identify weaknesses BEFORE attackers do.

3 PRINCIPLES ⭐

  1. Define security requirements

  2. Identify + mitigate threats

  3. Confirm threats are mitigated

ASK:

What could go wrong? β†’ Who? β†’ How bad? β†’ How fix?

UPDATE THREAT MODEL IF:

  • New feature

  • Security incident

  • Organisation/infrastructure changes

PEOPLE:

Developers + managers + testers + support β†’ different people see different risks.

SCENARIO:

Threat β†’ vulnerability β†’ impact β†’ mitigation

KEY:

Old threat model + new changes = OUTDATED