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:
Version control β records WHO/WHAT/WHEN; rollback β prevents bad/unauthorised changes
IAM β controls WHO accesses WHAT β prevents unauthorised/excessive access
Encryption β protects data at rest + in transit β prevents data being read/stolen
Code review β checks code before release β catches security bugs
Patches/updates β fixes known weaknesses β prevents exploits
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 β
Define security requirements
Identify + mitigate threats
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