SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
Secure your application with
Pattern Oriented Design
Chia Yuen Kwan
#ISSLearningFest
Problem-Solution-Reuse
#ISSLearningFest
Christopher Alexander (4 October 1936 – 17 March 2022)
(an architect)
• Designed and built over 100 buildings
• Regarded as the father of the pattern
language movement
• Many urban development projects continue to
incorporate Alexander's ideas.
Agenda
• Design Pattern
• Secure Design Pattern
• Secure Strategy Pattern
• Q&A
#ISSLearningFest
Case Study –
A Shopping Cart Application
#ISSLearningFest
Initial Design
#ISSLearningFest
sum of (price
* qty)
Special Requirement
• eCommerce Operators run special events
• During Christmas Day, the price will be marked up by 10%!
#ISSLearningFest
Initial Design - Problem
#ISSLearningFest
sum of (price
* qty)
Initial Design – Class Diagram
• Does not leverage on the principle of Polymorphism!
#ISSLearningFest
if-else
statement to
compute total
based on
different
occasions
Solving the problem with
Design Pattern
#ISSLearningFest
Look for an
appropriate
Pattern
Adopt the solution
Design Patterns by Gang of Four
• GOF-
• Erich Gamma, Richard Helm, Ralph Johnson,
John Vlissides
• Collection of 23 design patterns
• Capture solutions that have evolved over time
#ISSLearningFest
Solution – Strategy Pattern
#ISSLearningFest
Context
+contextInterface()
-strategy
1
*
Strategy
+algorithmInterface()
ConcreteStrategyA
+ConcreteStrategyA()
+algorithmInterface()
ConcreteStrategyB
+ConcreteStrategyB()
+algorithmInterface()
Client -context
implements
a compliant
algorithm
superclass
subclasses
inherits
Adopting the Strategy Pattern
#ISSLearningFest
contains
Initial Design –
Class Diagram
After applying Strategy Pattern –
Class Diagram
inherits
Strategy Pattern –
Sequence Diagram
#ISSLearningFest
Initial Design –
Sequence Diagram
After applying Strategy Pattern –
Sequence Diagram
Benefits- Strategy Pattern
#ISSLearningFest
contains
• Cohesiveness of the programs
• Robust Design
• Increate in productivity!
After applying Strategy Pattern –
Class Diagram
inherits
Secure Software Design
• Secure Strategy Pattern
• The need to deploy different security mechanisms into different environments
#ISSLearningFest
Cryptography – Various Algorithm
#ISSLearningFest
Cryptography
Encryption
Symmetric
(Secret Key)
Asymmetric
(Public Key)
Hashing
Attacks on Cryptography
• Brute Force Attack
• Dictionary Attack
• Rainbow Attack
• Involves a rainbow table containing hashed common passwords
#ISSLearningFest
Secure Strategy Pattern
#ISSLearningFest
Different Cryptographic algo to be
executed base don configuration settings
Secure Factory and Secure Strategy Pattern
#ISSLearningFest
Conclusion
• Borrow “ready made” design solution
• Proven working solutions
#ISSLearningFest
Q&A
#ISSLearningFest
Survey 1 – Topics
Q&A
#ISSLearningFest
Survey 1 – Topics Survey 2 -Day 1 Programme
Give Us Your Feedback
#ISSLearningFest
Day 1 Programme
Thank You!
isscyk@nus.edu.sg
#ISSLearningFest

Mais conteúdo relacionado

Mais de NUS-ISS

Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...NUS-ISS
 
Supply Chain Security for Containerised Workloads - Lee Chuk Munn
Supply Chain Security for Containerised Workloads - Lee Chuk MunnSupply Chain Security for Containerised Workloads - Lee Chuk Munn
Supply Chain Security for Containerised Workloads - Lee Chuk MunnNUS-ISS
 
Future of Learning - Yap Aye Wee.pdf
Future of Learning - Yap Aye Wee.pdfFuture of Learning - Yap Aye Wee.pdf
Future of Learning - Yap Aye Wee.pdfNUS-ISS
 
Future of Learning - Khoong Chan Meng
Future of Learning - Khoong Chan MengFuture of Learning - Khoong Chan Meng
Future of Learning - Khoong Chan MengNUS-ISS
 
Site Reliability Engineer (SRE), We Keep The Lights On 24/7
Site Reliability Engineer (SRE), We Keep The Lights On 24/7Site Reliability Engineer (SRE), We Keep The Lights On 24/7
Site Reliability Engineer (SRE), We Keep The Lights On 24/7NUS-ISS
 
Product Management in The Trenches for a Cloud Service
Product Management in The Trenches for a Cloud ServiceProduct Management in The Trenches for a Cloud Service
Product Management in The Trenches for a Cloud ServiceNUS-ISS
 
Overview of Data and Analytics Essentials and Foundations
Overview of Data and Analytics Essentials and FoundationsOverview of Data and Analytics Essentials and Foundations
Overview of Data and Analytics Essentials and FoundationsNUS-ISS
 
Predictive Analytics
Predictive AnalyticsPredictive Analytics
Predictive AnalyticsNUS-ISS
 
Feature Engineering for IoT
Feature Engineering for IoTFeature Engineering for IoT
Feature Engineering for IoTNUS-ISS
 
Master of Technology in Software Engineering
Master of Technology in Software EngineeringMaster of Technology in Software Engineering
Master of Technology in Software EngineeringNUS-ISS
 
Master of Technology in Enterprise Business Analytics
Master of Technology in Enterprise Business AnalyticsMaster of Technology in Enterprise Business Analytics
Master of Technology in Enterprise Business AnalyticsNUS-ISS
 
Diagnosing Complex Problems Using System Archetypes
Diagnosing Complex Problems Using System ArchetypesDiagnosing Complex Problems Using System Archetypes
Diagnosing Complex Problems Using System ArchetypesNUS-ISS
 
Satisfying the ‘-ilities’ of an Enterprise Cloud Service
Satisfying the ‘-ilities’ of an Enterprise Cloud ServiceSatisfying the ‘-ilities’ of an Enterprise Cloud Service
Satisfying the ‘-ilities’ of an Enterprise Cloud ServiceNUS-ISS
 
Preparing and Acing your Kubernetes Certification
Preparing and Acing your Kubernetes CertificationPreparing and Acing your Kubernetes Certification
Preparing and Acing your Kubernetes CertificationNUS-ISS
 
AI in Finance: An Ensembling Architecture Incorporating Machine Learning Mode...
AI in Finance: An Ensembling Architecture Incorporating Machine Learning Mode...AI in Finance: An Ensembling Architecture Incorporating Machine Learning Mode...
AI in Finance: An Ensembling Architecture Incorporating Machine Learning Mode...NUS-ISS
 
Architecting Across Healthcare and Technology Boundaries
Architecting Across Healthcare and Technology BoundariesArchitecting Across Healthcare and Technology Boundaries
Architecting Across Healthcare and Technology BoundariesNUS-ISS
 
Driving Product Success through Experimentation
Driving Product Success through ExperimentationDriving Product Success through Experimentation
Driving Product Success through ExperimentationNUS-ISS
 
Transition from Project to Product
Transition from Project to Product Transition from Project to Product
Transition from Project to Product NUS-ISS
 
Journey towards Organisational Digital Excellence
Journey towards Organisational Digital Excellence Journey towards Organisational Digital Excellence
Journey towards Organisational Digital Excellence NUS-ISS
 
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...NUS-ISS
 

Mais de NUS-ISS (20)

Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...
 
Supply Chain Security for Containerised Workloads - Lee Chuk Munn
Supply Chain Security for Containerised Workloads - Lee Chuk MunnSupply Chain Security for Containerised Workloads - Lee Chuk Munn
Supply Chain Security for Containerised Workloads - Lee Chuk Munn
 
Future of Learning - Yap Aye Wee.pdf
Future of Learning - Yap Aye Wee.pdfFuture of Learning - Yap Aye Wee.pdf
Future of Learning - Yap Aye Wee.pdf
 
Future of Learning - Khoong Chan Meng
Future of Learning - Khoong Chan MengFuture of Learning - Khoong Chan Meng
Future of Learning - Khoong Chan Meng
 
Site Reliability Engineer (SRE), We Keep The Lights On 24/7
Site Reliability Engineer (SRE), We Keep The Lights On 24/7Site Reliability Engineer (SRE), We Keep The Lights On 24/7
Site Reliability Engineer (SRE), We Keep The Lights On 24/7
 
Product Management in The Trenches for a Cloud Service
Product Management in The Trenches for a Cloud ServiceProduct Management in The Trenches for a Cloud Service
Product Management in The Trenches for a Cloud Service
 
Overview of Data and Analytics Essentials and Foundations
Overview of Data and Analytics Essentials and FoundationsOverview of Data and Analytics Essentials and Foundations
Overview of Data and Analytics Essentials and Foundations
 
Predictive Analytics
Predictive AnalyticsPredictive Analytics
Predictive Analytics
 
Feature Engineering for IoT
Feature Engineering for IoTFeature Engineering for IoT
Feature Engineering for IoT
 
Master of Technology in Software Engineering
Master of Technology in Software EngineeringMaster of Technology in Software Engineering
Master of Technology in Software Engineering
 
Master of Technology in Enterprise Business Analytics
Master of Technology in Enterprise Business AnalyticsMaster of Technology in Enterprise Business Analytics
Master of Technology in Enterprise Business Analytics
 
Diagnosing Complex Problems Using System Archetypes
Diagnosing Complex Problems Using System ArchetypesDiagnosing Complex Problems Using System Archetypes
Diagnosing Complex Problems Using System Archetypes
 
Satisfying the ‘-ilities’ of an Enterprise Cloud Service
Satisfying the ‘-ilities’ of an Enterprise Cloud ServiceSatisfying the ‘-ilities’ of an Enterprise Cloud Service
Satisfying the ‘-ilities’ of an Enterprise Cloud Service
 
Preparing and Acing your Kubernetes Certification
Preparing and Acing your Kubernetes CertificationPreparing and Acing your Kubernetes Certification
Preparing and Acing your Kubernetes Certification
 
AI in Finance: An Ensembling Architecture Incorporating Machine Learning Mode...
AI in Finance: An Ensembling Architecture Incorporating Machine Learning Mode...AI in Finance: An Ensembling Architecture Incorporating Machine Learning Mode...
AI in Finance: An Ensembling Architecture Incorporating Machine Learning Mode...
 
Architecting Across Healthcare and Technology Boundaries
Architecting Across Healthcare and Technology BoundariesArchitecting Across Healthcare and Technology Boundaries
Architecting Across Healthcare and Technology Boundaries
 
Driving Product Success through Experimentation
Driving Product Success through ExperimentationDriving Product Success through Experimentation
Driving Product Success through Experimentation
 
Transition from Project to Product
Transition from Project to Product Transition from Project to Product
Transition from Project to Product
 
Journey towards Organisational Digital Excellence
Journey towards Organisational Digital Excellence Journey towards Organisational Digital Excellence
Journey towards Organisational Digital Excellence
 
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...
 

Último

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 

Último (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 

Secure Your Application With Pattern Oriented Design