0% found this document useful (0 votes)
8 views18 pages

IE4042 - SSE: Secure Software Architecture Concepts

Uploaded by

aado5488
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views18 pages

IE4042 - SSE: Secure Software Architecture Concepts

Uploaded by

aado5488
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

IE4042 - SSE

Lecture 02

Secure Software Architecture Concepts

Ayesha Wijesooriya
Secure Software Architecture Design
•Planning
Define security goals early (confidentiality, integrity, availability).
Identify potential threats and risks (threat modeling).
Choose technologies, frameworks, and tools that support secure development.

•Forecasting
Predicting future security threats or vulnerabilities (e.g., new types of malware or attack vectors).
Building forward-compatible designs that can adapt to new technologies (e.g., AI, IoT integration).
Planning for scalability, expecting changes in the number of users, data volume, or integration needs.

•Flexible
Easy integration of new security controls
Support for change requests from stakeholders without breaking the whole system
Allowing multiple deployment environments

•Practical
Aligns with budget, timeline, and resource availability.
Ensures the design can be implemented and maintained by the development team.
Secure Software Architectre Concepts

•Defense in Depth

•Resiliency

•Leverage Existing components


Risk
System will be attacked,

01. Intentionally

Hackers trying to exploit vulnerabilities

02. Accidentally Solution - Build resilient system

Human errors How to build Resilient System?


Hardware failures
Software bugs
Operatinal Risk
•Understand Operational Risk

- real world
- Capacity
user experience level
volume of users & transactions
cancelled transactions Requirments for : memory/storage
unrealiable enviorments CPU
network bandwith
- future funtionality power
Integration
•Legacy Systems and data •Upstream and Downstream Connections

Wrapping them with secure APIs Secured with encryption (e.g., HTTPS,
Encrypting data during transmission TLS)
Validating and sanitizing inputs and outputs Validated to prevent injection or tampering
Audited to ensure proper data flow and
•Network Resilience logging

•Speed

•encryption
Design Security Concepts

•Least Privilege
•Speration of Duties
•Defense in Depth
•Fail Secure
•Economy of Mechanisums
•Complete mediation
•Open Design
•Least Common mechanisms
•Psychological acceptability
•Weakest link
Leveraging Existing Components
1. Least Privilege
Each user, process, or system component should have only the minimum access
necessary to perform its function.

2. Separation of Duties
Responsibilities should be divided among multiple roles or people so that no one
individual has full control over a critical process.

3. Defense in Depth
Use multiple layers of security (e.g., firewalls, encryption, authentication).
If one layer fails, others still provide protection.

4. Fail Secure
When the system fails, it should default to a secure state, not an open or vulnerable one.
5. Economy of Mechanisms
Design systems with simplicity. Fewer, well-understood mechanisms are easier to test, support , secure, and
maintain.

6. Complete Mediation
Every access to every resource must be checked for proper authorization. •All acccess request from a subject
to an oblect should be MEDIATED.
•Coookies
•Cache
•Session Mgt

7. Open Design
The system’s security should not depend on secrecy of its design or implementation.
Only the keys or passwords should be secret. • Cryptographic Algorithm /Open Softwares
8. Least Common Mechanism
Minimise the use of shared components among users or processes to prevent information
leakage or unintended interactions.
•Support defense in depth and resilience
•Isolation
•Compartmentalization

9. Psychological Acceptability
Security mechanisms should be easy for users to understand and use correctly.

10. Weakest Link


Your system is only as secure as its most vulnerable component.

11. Leveraging Existing Components


Use trusted, tested, and secure components (libraries, frameworks, tools) instead of
creating new ones from scratch.
Input Validation Transaction Controls

•Allowable Characters •Limit Checks


•Range Greater control when higher risk
•Buffer Overflow •Reasonableness checks
•Incomplete Fields anti-fraud
•Databases – referential Integrity
Software Protection

•Protect:
Software
API
Drivers
Utilities
compiler
Operating Systems
Third Party services

•Security of Third party

Contracts
Service level Agreements (SLAs)
Third Party audit
Liasion
How to build a resilient Software
Fail secure

•Fail hard - The system completely shuts down or denies all access when it encounters a failure.
Ensures maximum security.

•Fail soft - The system continues to operate in a limited or degraded mode, prioritizing
availability over full security.

•Fail safe - The system defaults to a safe condition — meaning no harm to users, system, or
environment, even if functionality is lost.
Leverage Existing Components
•Allocation of all security requirments
•Cration of security Plan
used for testing, audit and system authorisation.

Examples – access control


SSO
Pasworld Vaults

- Network
- Physical Security
- Employees
- Cloud
Thank You
Q&A

You might also like