20
Most read
22
Most read
23
Most read
Architectural Design Patterns
        for SSO (Single Sign On) Design
        and Use Cases for Financial
        Web Applications

            Wei Zhang & Marco Morana
            OWASP Cincinnati, U.S.A.



OWASP
            Copyright © The OWASP Foundation
            Permission is granted to copy, distribute and/or modify this document
            under the terms of the OWASP License.




            The OWASP Foundation
            http://www.owasp.org
Presentation outline

   Description of the challenges for securing SSO architectures in
    financial web applications
       Multiple systems require integration.
       Each system supports stand alone sign on and multiple business units
   SSO and federation use cases
   Security and functional requirements for SSO
   Secure architecture principles
   Architectural diagrams
   Data flow diagrams
   Sequence diagrams
   Threat models of SSO architectures
   Attack trees and misuse cases
   Security risk framework for secure design of SSO architectures


                                                                OWASP          2
SSO need for financial web system
 Different systems serving different functions
     ATM cash withdraw
     Branch deposit
     Monthly statements
     Make a payment with a check
     Wire transfer
 Different systems have different user information
     Personal information
     Transaction journal
     Statements

 Different systems have different products
     Saving/checking accounts
     Credit card accounts
     Mortgage applications or loans
     Cash rewards
     Mileage rewards

                                                      OWASP   3
Business value

User friendly is the key
Single view is the goal
Eliminate additional sign on is the approach
Security is the fundation




                                          OWASP   4
Business use case

User can sign on site A to do function B about
 product C
User can sign on site X to do function Y about
 product Z.
User should be able to sign on from Site A to
 access function B and function Y without
 additional authentication.
Site X will not be sunset



                                         OWASP    5
Design options

 Duplicate function Y on site A and access information on site X
     Pros:
         Make it possible to sunset site X
     Cons:
         Introduce duplicated function on two sites
         Needs to maintain the function and processing rules on two sites.
 Build SSO for user to access function Y on site X
     Pros:
         No need to maintain two sets of function and processing rules on two sites
         Enable the possibility to fully leverage functions on site X
     Cons:
         Make site A depends on site X
         Introduce security complexity:
              –   Authentication
              –   Authorization
              –   Session coordination
              –   UI

                                                                        OWASP          6
SSO – Secure token: use symmetric and public key cryptography
to encrypt the application data, or payload for SSO.



Pros:                                         Cons:
    Easy to set up and                                Not a unified solution
     implement                                         Each federated site
    Supports PKI and                                   has to manage
     SAML                                               cryptographic key
    No dependency on
     other system.




                                                                    OWASP        7
SSO – Secure token: use symmetric and public key cryptography
to encrypt the application data, or payload for SSO.


                                                      SSO with
                                                      encrypted token          Decrypt token
         `
                          Internet                                             and authenticate
     Citi
   Customer




                                       Secure token
                           Sign on
                                                                   Site X



                                       for SSO
                 Site A
                                                                            Application
                       Application                                            Server
                         Server



                   credential                                                           User
                     store                                                          information
                                                                        Key store
                                     Key store




                                                                                        OWASP     8
SSO STS:          Central Security Token Service to respond with SAML token to
federated sites upon request.


Pros:                                   Cons:
    Drives to unified                       Introduces dependences
     solution for both                        on STS for federated
     internal and external                    sites
     communication.                          Introduces additional
    Centralized                              internet hop for
     cryptographic key                        communication
     management
     approach.
    Supports SAML and
     SOAP

                                                                   OWASP         9
SSO STS:          Central Security Token Service to respond with SAML token to
federated sites upon request.


                                                                    SSO with
                                                                    SAML token
         `
                                Internet
     Citi
   Customer




                                           SAML token
                                 Sign on
                                                                                 Site X



                                           for SSO
     Site A
                                                                     Varify SAML
                                                                                      Application
                                                                     token/authenticate
              Application                                                                 Server
                                                         STS
                Server
                                 SAML token



       credential                                                                                 User
         store                                                                                information
                                                        Key store                 Key store
                    Key store




                                                                                                   OWASP    10
Design and security consideration

Authentication and authorization
   Secure token
   STS
Session management: one dies, both die
 Session initiation
 Session termination
 Session recovery
 Keep alive
Branding: look and feel of the site
 iFrame
 Wrapped

                                          OWASP   11
Potential Security Issues with SSO Design
In-Secure Session Management:
  Sessions are not sync: one dies, one left open
  Session Replay
  Session Riding (CSRF)
  Session hijacking
  Sessions un-protected iand n clear, cached, logged
Malicious Data Injections:
  XSS, SQL Injection
Elevation of Privileges, Bypass of Authentication
  Bypass authorizations
  Forceful browsing
                                              OWASP     12
Secure Architecture Design
 General Security Design Principles
  1. Implement Authentication With Adequate Strength
  2. Enforce Least Privilege
  3. Protect Data In Storage, Transit And Display
  4. Enforce Minimal Trust
  5. Trace and Log User Actions And Security Events
  6. Fail Securely And Gracefully
  7. Apply Defense in Depth
  8. Apply Security By Default
  9. Design For Simplicity, KISS Principle
  10. Secure By Design, Development and Deployment
  11. Secure As The Weakest Link
  12. Avoid Security By Obscurity
                                             OWASP     13
Security Controls Design Guidelines: Authentication
and Authorization
Authentication, What, Where and How
  Mandatory to restrict access to validated users
  Strength depends on application risk/data classification
  Compliant with regulations/standards
  Provide for secure password and account management
  Mitigates brute forcing and credentials harvesting
  Mitigates Man In The Middle Attacks (MiTM)
  Provides for user and host to host authentication
Authorization Most Common Flaws
  Flaws in Role Base Access Controls (RBAC)
  Flaws allow for horizontal and vertical privilege escalation
   and forceful browsing                          OWASP      14
Security Controls Design Guidelines: Session
Management
 Avoid common session management flaws:
   Session cookies and authentication tokens
    unprotected (e.g. clear text) between client and server
   Missing session invalidation at idle-time out and user
    logout
   Missing re-issuance of new session token to prevent re-
    use for authentication
   Un-secure storage in a session store in clear text
   Lack of strong random generation of session
    cookies/identifiers (e.g. >128 bit)
   Lack of coordinated session between application tiers


                                               OWASP     15
Security Controls Design Guidelines: Input
Validation
What and where to validate
  Type, format, range and length of input data
  Wherever data crosses system or trust boundaries
  Input and output
  Wherever data crosses system or trust boundarie
  Client validation vs. server validation
How to validate
  Constraint, Reject, Sanitize
  Canonical Validation
  Encoding
  Integrity Checks

                                             OWASP    16
Architectural Diagram Of Web Applications




                                    OWASP   17
Data flow diagram-Online Banking Application
                                                                                                                                                 MFA RBA/
                                                                   Application                                                                    Fraud
               HTTPs                                               Calls (.do)                                                                   Detection
  User/       Request                                                                                                    XML/HTTPS
 Browser                                            Web Server                                                                                                                 Financial
                                                                                      Application                                   XML/HTTPS
             HTTPs                                                                    Responses                                                                        Transactions (ACH, wires
                                                                                                                                                                           external transfer
                                                                                                                                                                                           )




                                                                                                                                                                 (App & DB Server/Financial Server Boundary)
           Responses                                                                                                                                 Messaging




                                                                 Internal (Web Server/ App & DB Server Boundary)
                                                                                                                                        Message        Bus
                                                                                                                                        XML/JMS
                                                                                                                      Application
                   DMZ (User/Web Server Boundary)




                                                                                                                        Server
                                                                                                                                          Service
                                                                                                                                         Message
                                                                                                                                         Response




                                                                                                                                                                             Restricted Network
                                                                                                                               SQL Query Call/
                                                                                                                   Auth Data       JDBC                                                                          Financial
                                                                                                                                                                                                                Transaction
                                                                                                                                                                                                                Processing
                                                                                                                                                                                                                MainFrame


                                                                                                                       Authentication
                                                                                                                        Credential
                                                                                                                           Store




                                                                                                                                                                                                               OWASP          18
Sequence diagram of SAML SSO




                               OWASP   19
Threat Modeling Web Applications




From Improving Web Application Security: Threats and Countermeasures http://msdn.microsoft.com/en-us/library/ms994921.aspx
                                                                                                                             OWASP   20
Attack Trees-Online Banking Applications




Analyzing the Security of Internet Banking Authentication Mechanisms :                                         OWASP   21
http://www.itgi.org/Template.cfm?Section=Home&CONTENTID=35743&TEMPLATE=/ContentManagement/ContentDisplay.cfm
Use and Misuse Case of Authentication

                                         Enter Username and
                                              password


                                                Includes


                              User

                                            User Authentication           Threatens
                                                                                                 Brure Force
                                                                                                Authentication

                                                   Includes
                                                                                                          Includes



                                               Show Generic Error              Mitigates
                                                   Message                                             Harverst (e.g. guess)
                                                                                                       Valid User Accounts

                                                           Includes
                                                                                Mitigates
                                                                                                                  Includes


                                                    Validate Password
                                                   Minimum Length and                  Mitigates
                  Application/Server                                                                                                  Hacker/Malicious User
                                                        Complexity
                                                                                                                  Dictionary Attack
                                                               Includes
                                                                                           Mitigates



                                                       Lock Account After N.
                                                       Failed Login Attempts




From OWASP Security Testing Guide                                                                                                             OWASP           22
https://www.owasp.org/index.php/Testing_Guide_Introduction#Security_Requirements_Test_Derivation
Security risk framework for secure design of
 SSO architectures
Threat       Misuses and                  Security                       Security Controls/                 Technical             Business
Agents       Attack Vectors               Weaknesses                     Countermeasures                    Impacts               Impacts
Users,       User logs out from one       Inherent weaknesses in         Single Logout Among                Loss of               Reputation loss.
Customers/   application and forget to    synchronizing sessions         Applications, Keep-Alives          sensitive/confident   Unlawful
Employees    log out to another           among applications                                                ial data              compliance fines
             application that SSOs
             into it
Malicious    Victim is targeted by        Social Engineering, Web        Consumer Education, Data           Execute JS on         Fraud, financial
Users,       phishing, download of        Application Vulnerabilities,   Filtering, escape all un-          client, install       losses,
Fraudsters   malware                      XSS                            trusted data based on HTML         malware               reputation
                                                                         content                                                  loss/defacements

Malicious    Attacker sends malicious     Input Validation               Filtering, parameterized API,      Loss of data, data    Public disclosure
Users,       data to the application      Vulnerabilities: XSS, SQL      ESAPI filtering APIs, white-list   alteration, denial    of vulnerability
Fraudsters                                Injection                      validations                        of service/access     Reputation
                                                                                                                                  damage
Malicious    Attacker target design       Weak Auth and Session          Follow Security Requirements       Unauthorized          Loss of CIA, legal
Users,       flaws in the                 Mgmt Vulnerabilities           For Secure Password Policies,      access to data,       and financial
Fraudsters   SSO/authentication or                                       Implement Account Locking,         functions             implications
             session management                                          Disable “Auto-logons”
             functions


Fraudsters   Attacker creates forged      Cross Site Request Forgery     Include the unique token in a      Can change data       Loss of CIA,
             HTTP requests and tricks     Vulnerabilities                hidden field.                      and functions on      fraud, denial of
             a victim into submitting                                                                       behalf of the user    access
             them
Automated    Attacker uses a bot/script   Insufficient Anti-             Include CAPTCHA, ESAPI             Can overflow/deny     Business
Scripts/     to attack the application    Automation protection          intrusion detection APIs           service to process    Disruptions/losse
Spam Bots    for denial of service and                                                                      spam data,            s, reputational
             harvesting                                                                                     harvest accounts./    damage
                                                                                                            data
                                                                                                                              OWASP                   23

More Related Content

PPTX
IdP, SAML, OAuth
PDF
NIST 800-63 Guidance & FIDO Authentication
PPTX
Identity Management
PDF
Introduction to SAML 2.0
PPTX
Getting Started With WebAuthn
PPTX
IBM: Hey FIDO, Meet Passkey!.pptx
PPTX
Single sign on - SSO
PDF
Securing a Web App with Passwordless Web Authentication
IdP, SAML, OAuth
NIST 800-63 Guidance & FIDO Authentication
Identity Management
Introduction to SAML 2.0
Getting Started With WebAuthn
IBM: Hey FIDO, Meet Passkey!.pptx
Single sign on - SSO
Securing a Web App with Passwordless Web Authentication

What's hot (20)

PPTX
SIEM presentation final
PDF
Single Sign On - The Basics
PPTX
Beginner's Guide to SIEM
PPTX
Single Sign On 101
PPTX
SOAR and SIEM.pptx
PDF
Enterprise Single Sign-On - SSO
PPTX
SSO introduction
PDF
Putting Firepower Into The Next Generation Firewall
PDF
Presentation cisco iron port email & web security
PPTX
Identity & access management
PDF
A Study in Borderless Over Perimeter
PDF
IBM QRadar Security Intelligence Overview
PPTX
What is SIEM
PPTX
Security Information Event Management - nullhyd
PDF
Single sign on (SSO) How does your company apply?
PDF
Secure Access – Anywhere by Prisma, PaloAlto
PDF
Single sign on using SAML
PPT
Networking and penetration testing
PPTX
Understanding Zero Trust Security for IBM i
PPTX
QRadar, ArcSight and Splunk
SIEM presentation final
Single Sign On - The Basics
Beginner's Guide to SIEM
Single Sign On 101
SOAR and SIEM.pptx
Enterprise Single Sign-On - SSO
SSO introduction
Putting Firepower Into The Next Generation Firewall
Presentation cisco iron port email & web security
Identity & access management
A Study in Borderless Over Perimeter
IBM QRadar Security Intelligence Overview
What is SIEM
Security Information Event Management - nullhyd
Single sign on (SSO) How does your company apply?
Secure Access – Anywhere by Prisma, PaloAlto
Single sign on using SAML
Networking and penetration testing
Understanding Zero Trust Security for IBM i
QRadar, ArcSight and Splunk
Ad

Viewers also liked (20)

PDF
Alfresco: Implementing secure single sign on (SSO) with OpenSAML
 
PPT
Architecture design in software engineering
PDF
Design Pattern for Federated Single Sign-On Access
PPTX
The security mindset securing social media integrations and social learning...
PDF
CIS 2015- Mobile SSO: Are We There Yet? - Brian Campbell
PDF
Claroline and Authentication Systems
DOCX
Mobile binary code - Attack Tree and Mitigation
PPTX
NTXISSACSC2 - Software Assurance (SwA) by John Whited
PDF
Software data privacy threat analysis metric using no trust privacy risk metric
PPT
Security Compliance Web Application Risk Management
PPTX
SSO IN/With Drupal and Identitiy Management
ODP
ApacheCon 2013 SSO and Fine Grained Authorization in the Cloud
PDF
CIS14: Building Blocks for Mobile Authentication and Security
ODP
Apache CXF - New Features
PPTX
From use case to software architecture
PPTX
Single sign on
PPT
Sadcw 6e chapter4
PPTX
Risk Analysis Of Banking Malware Attacks
PDF
Peeples authentication authorization_services_with_saml_xacml_with_jboss_eap6
PDF
2 08 client-server architecture
Alfresco: Implementing secure single sign on (SSO) with OpenSAML
 
Architecture design in software engineering
Design Pattern for Federated Single Sign-On Access
The security mindset securing social media integrations and social learning...
CIS 2015- Mobile SSO: Are We There Yet? - Brian Campbell
Claroline and Authentication Systems
Mobile binary code - Attack Tree and Mitigation
NTXISSACSC2 - Software Assurance (SwA) by John Whited
Software data privacy threat analysis metric using no trust privacy risk metric
Security Compliance Web Application Risk Management
SSO IN/With Drupal and Identitiy Management
ApacheCon 2013 SSO and Fine Grained Authorization in the Cloud
CIS14: Building Blocks for Mobile Authentication and Security
Apache CXF - New Features
From use case to software architecture
Single sign on
Sadcw 6e chapter4
Risk Analysis Of Banking Malware Attacks
Peeples authentication authorization_services_with_saml_xacml_with_jboss_eap6
2 08 client-server architecture
Ad

Similar to Presentation sso design_security (20)

PDF
Open sso fisl9.0
DOCX
Srs sso-version-1.2-stable version
PDF
Open Source Identity Integration with OpenSSO
PPTX
Thomas vochten claims-spsbe26
PPTX
Leveraging the azure cloud for your mobile apps
PDF
Iiw2007b Madsen 01
PPTX
Claims Based Authentication A Beginners Guide
PPTX
Making Sense of API Access Control
PPTX
4. tmg 2010 e uag 2010
PPT
P hallam baker_keynote
PDF
Single Sign-On for Mobile
PDF
Layer 7: 2010 RSA Presentation on REST and Oauth Security
PPT
SSL & TLS Architecture short
PDF
Layer 7: The Importance of Standards for Enterprise SOA and Cloud Security
PPTX
Enterprise Access Control Patterns for REST and Web APIs Gluecon 2011, Franco...
PDF
SharePoint Saturday Houston: SharePoint 2010 Extranets & Claims Authentication
PPTX
Protecting Online Identities - MIX09
PPTX
Seasonal Burst Handling Using Hybrid Cloud Infrastructure from Cloud Security...
PPTX
Week3 lecture
PDF
My private cloud overview
Open sso fisl9.0
Srs sso-version-1.2-stable version
Open Source Identity Integration with OpenSSO
Thomas vochten claims-spsbe26
Leveraging the azure cloud for your mobile apps
Iiw2007b Madsen 01
Claims Based Authentication A Beginners Guide
Making Sense of API Access Control
4. tmg 2010 e uag 2010
P hallam baker_keynote
Single Sign-On for Mobile
Layer 7: 2010 RSA Presentation on REST and Oauth Security
SSL & TLS Architecture short
Layer 7: The Importance of Standards for Enterprise SOA and Cloud Security
Enterprise Access Control Patterns for REST and Web APIs Gluecon 2011, Franco...
SharePoint Saturday Houston: SharePoint 2010 Extranets & Claims Authentication
Protecting Online Identities - MIX09
Seasonal Burst Handling Using Hybrid Cloud Infrastructure from Cloud Security...
Week3 lecture
My private cloud overview

More from Marco Morana (20)

PDF
Is talent shortage ws marco morana
PPTX
Isaca conference threat_modeling_marco_morana_short.pdf
PPTX
Owasp atlanta-ciso-guidevs1
PPTX
Owasp e crime-london-2012-final
PDF
Security And Privacy Cagliari 2012
PPTX
Owasp security summit_2012_milanovs_final
PPTX
Security Summit Rome 2011
PDF
Web 2.0 threats, vulnerability analysis,secure web 2.0 application developmen...
PPT
Security Exploit of Business Logic Flaws, Business Logic Attacks
PPT
Software Security Initiatives
PPT
Business cases for software security
PPT
Web Application Security Testing
PPT
Owasp Forum Web Services Security
PPT
Owasp Top 10 And Security Flaw Root Causes
PPT
Software Security Frameworks
PPT
OWASP Top 10 And Insecure Software Root Causes
PPT
Software Open Source, Proprierio, Interoperabilita'
PPT
Progetti Open Source Per La Sicurezza Delle Web Applications
PPT
Introduction To OWASP
PPT
Cross Site Request Forgery Vulnerabilities
Is talent shortage ws marco morana
Isaca conference threat_modeling_marco_morana_short.pdf
Owasp atlanta-ciso-guidevs1
Owasp e crime-london-2012-final
Security And Privacy Cagliari 2012
Owasp security summit_2012_milanovs_final
Security Summit Rome 2011
Web 2.0 threats, vulnerability analysis,secure web 2.0 application developmen...
Security Exploit of Business Logic Flaws, Business Logic Attacks
Software Security Initiatives
Business cases for software security
Web Application Security Testing
Owasp Forum Web Services Security
Owasp Top 10 And Security Flaw Root Causes
Software Security Frameworks
OWASP Top 10 And Insecure Software Root Causes
Software Open Source, Proprierio, Interoperabilita'
Progetti Open Source Per La Sicurezza Delle Web Applications
Introduction To OWASP
Cross Site Request Forgery Vulnerabilities

Recently uploaded (20)

PDF
Introduction to MCP and A2A Protocols: Enabling Agent Communication
PDF
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
PPTX
Build automations faster and more reliably with UiPath ScreenPlay
PDF
Advancing precision in air quality forecasting through machine learning integ...
PDF
Co-training pseudo-labeling for text classification with support vector machi...
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
PDF
A hybrid framework for wild animal classification using fine-tuned DenseNet12...
PDF
The AI Revolution in Customer Service - 2025
PDF
Early detection and classification of bone marrow changes in lumbar vertebrae...
PDF
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
PDF
“The Future of Visual AI: Efficient Multimodal Intelligence,” a Keynote Prese...
PDF
A symptom-driven medical diagnosis support model based on machine learning te...
PDF
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
PDF
Accessing-Finance-in-Jordan-MENA 2024 2025.pdf
PPTX
Microsoft User Copilot Training Slide Deck
PDF
zbrain.ai-Scope Key Metrics Configuration and Best Practices.pdf
PDF
Rapid Prototyping: A lecture on prototyping techniques for interface design
PDF
Connector Corner: Transform Unstructured Documents with Agentic Automation
PDF
Ensemble model-based arrhythmia classification with local interpretable model...
PPTX
Module 1 Introduction to Web Programming .pptx
Introduction to MCP and A2A Protocols: Enabling Agent Communication
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
Build automations faster and more reliably with UiPath ScreenPlay
Advancing precision in air quality forecasting through machine learning integ...
Co-training pseudo-labeling for text classification with support vector machi...
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
A hybrid framework for wild animal classification using fine-tuned DenseNet12...
The AI Revolution in Customer Service - 2025
Early detection and classification of bone marrow changes in lumbar vertebrae...
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
“The Future of Visual AI: Efficient Multimodal Intelligence,” a Keynote Prese...
A symptom-driven medical diagnosis support model based on machine learning te...
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
Accessing-Finance-in-Jordan-MENA 2024 2025.pdf
Microsoft User Copilot Training Slide Deck
zbrain.ai-Scope Key Metrics Configuration and Best Practices.pdf
Rapid Prototyping: A lecture on prototyping techniques for interface design
Connector Corner: Transform Unstructured Documents with Agentic Automation
Ensemble model-based arrhythmia classification with local interpretable model...
Module 1 Introduction to Web Programming .pptx

Presentation sso design_security

  • 1. Architectural Design Patterns for SSO (Single Sign On) Design and Use Cases for Financial Web Applications Wei Zhang & Marco Morana OWASP Cincinnati, U.S.A. OWASP Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation http://www.owasp.org
  • 2. Presentation outline  Description of the challenges for securing SSO architectures in financial web applications  Multiple systems require integration.  Each system supports stand alone sign on and multiple business units  SSO and federation use cases  Security and functional requirements for SSO  Secure architecture principles  Architectural diagrams  Data flow diagrams  Sequence diagrams  Threat models of SSO architectures  Attack trees and misuse cases  Security risk framework for secure design of SSO architectures OWASP 2
  • 3. SSO need for financial web system  Different systems serving different functions  ATM cash withdraw  Branch deposit  Monthly statements  Make a payment with a check  Wire transfer  Different systems have different user information  Personal information  Transaction journal  Statements  Different systems have different products  Saving/checking accounts  Credit card accounts  Mortgage applications or loans  Cash rewards  Mileage rewards OWASP 3
  • 4. Business value User friendly is the key Single view is the goal Eliminate additional sign on is the approach Security is the fundation OWASP 4
  • 5. Business use case User can sign on site A to do function B about product C User can sign on site X to do function Y about product Z. User should be able to sign on from Site A to access function B and function Y without additional authentication. Site X will not be sunset OWASP 5
  • 6. Design options  Duplicate function Y on site A and access information on site X  Pros:  Make it possible to sunset site X  Cons:  Introduce duplicated function on two sites  Needs to maintain the function and processing rules on two sites.  Build SSO for user to access function Y on site X  Pros:  No need to maintain two sets of function and processing rules on two sites  Enable the possibility to fully leverage functions on site X  Cons:  Make site A depends on site X  Introduce security complexity: – Authentication – Authorization – Session coordination – UI OWASP 6
  • 7. SSO – Secure token: use symmetric and public key cryptography to encrypt the application data, or payload for SSO. Pros: Cons: Easy to set up and Not a unified solution implement Each federated site Supports PKI and has to manage SAML cryptographic key No dependency on other system. OWASP 7
  • 8. SSO – Secure token: use symmetric and public key cryptography to encrypt the application data, or payload for SSO. SSO with encrypted token Decrypt token ` Internet and authenticate Citi Customer Secure token Sign on Site X for SSO Site A Application Application Server Server credential User store information Key store Key store OWASP 8
  • 9. SSO STS: Central Security Token Service to respond with SAML token to federated sites upon request. Pros: Cons: Drives to unified Introduces dependences solution for both on STS for federated internal and external sites communication. Introduces additional Centralized internet hop for cryptographic key communication management approach. Supports SAML and SOAP OWASP 9
  • 10. SSO STS: Central Security Token Service to respond with SAML token to federated sites upon request. SSO with SAML token ` Internet Citi Customer SAML token Sign on Site X for SSO Site A Varify SAML Application token/authenticate Application Server STS Server SAML token credential User store information Key store Key store Key store OWASP 10
  • 11. Design and security consideration Authentication and authorization Secure token STS Session management: one dies, both die Session initiation Session termination Session recovery Keep alive Branding: look and feel of the site iFrame Wrapped OWASP 11
  • 12. Potential Security Issues with SSO Design In-Secure Session Management: Sessions are not sync: one dies, one left open Session Replay Session Riding (CSRF) Session hijacking Sessions un-protected iand n clear, cached, logged Malicious Data Injections: XSS, SQL Injection Elevation of Privileges, Bypass of Authentication Bypass authorizations Forceful browsing OWASP 12
  • 13. Secure Architecture Design  General Security Design Principles 1. Implement Authentication With Adequate Strength 2. Enforce Least Privilege 3. Protect Data In Storage, Transit And Display 4. Enforce Minimal Trust 5. Trace and Log User Actions And Security Events 6. Fail Securely And Gracefully 7. Apply Defense in Depth 8. Apply Security By Default 9. Design For Simplicity, KISS Principle 10. Secure By Design, Development and Deployment 11. Secure As The Weakest Link 12. Avoid Security By Obscurity OWASP 13
  • 14. Security Controls Design Guidelines: Authentication and Authorization Authentication, What, Where and How Mandatory to restrict access to validated users Strength depends on application risk/data classification Compliant with regulations/standards Provide for secure password and account management Mitigates brute forcing and credentials harvesting Mitigates Man In The Middle Attacks (MiTM) Provides for user and host to host authentication Authorization Most Common Flaws Flaws in Role Base Access Controls (RBAC) Flaws allow for horizontal and vertical privilege escalation and forceful browsing OWASP 14
  • 15. Security Controls Design Guidelines: Session Management  Avoid common session management flaws:  Session cookies and authentication tokens unprotected (e.g. clear text) between client and server  Missing session invalidation at idle-time out and user logout  Missing re-issuance of new session token to prevent re- use for authentication  Un-secure storage in a session store in clear text  Lack of strong random generation of session cookies/identifiers (e.g. >128 bit)  Lack of coordinated session between application tiers OWASP 15
  • 16. Security Controls Design Guidelines: Input Validation What and where to validate Type, format, range and length of input data Wherever data crosses system or trust boundaries Input and output Wherever data crosses system or trust boundarie Client validation vs. server validation How to validate Constraint, Reject, Sanitize Canonical Validation Encoding Integrity Checks OWASP 16
  • 17. Architectural Diagram Of Web Applications OWASP 17
  • 18. Data flow diagram-Online Banking Application MFA RBA/ Application Fraud HTTPs Calls (.do) Detection User/ Request XML/HTTPS Browser Web Server Financial Application XML/HTTPS HTTPs Responses Transactions (ACH, wires external transfer ) (App & DB Server/Financial Server Boundary) Responses Messaging Internal (Web Server/ App & DB Server Boundary) Message Bus XML/JMS Application DMZ (User/Web Server Boundary) Server Service Message Response Restricted Network SQL Query Call/ Auth Data JDBC Financial Transaction Processing MainFrame Authentication Credential Store OWASP 18
  • 19. Sequence diagram of SAML SSO OWASP 19
  • 20. Threat Modeling Web Applications From Improving Web Application Security: Threats and Countermeasures http://msdn.microsoft.com/en-us/library/ms994921.aspx OWASP 20
  • 21. Attack Trees-Online Banking Applications Analyzing the Security of Internet Banking Authentication Mechanisms : OWASP 21 http://www.itgi.org/Template.cfm?Section=Home&CONTENTID=35743&TEMPLATE=/ContentManagement/ContentDisplay.cfm
  • 22. Use and Misuse Case of Authentication Enter Username and password Includes User User Authentication Threatens Brure Force Authentication Includes Includes Show Generic Error Mitigates Message Harverst (e.g. guess) Valid User Accounts Includes Mitigates Includes Validate Password Minimum Length and Mitigates Application/Server Hacker/Malicious User Complexity Dictionary Attack Includes Mitigates Lock Account After N. Failed Login Attempts From OWASP Security Testing Guide OWASP 22 https://www.owasp.org/index.php/Testing_Guide_Introduction#Security_Requirements_Test_Derivation
  • 23. Security risk framework for secure design of SSO architectures Threat Misuses and Security Security Controls/ Technical Business Agents Attack Vectors Weaknesses Countermeasures Impacts Impacts Users, User logs out from one Inherent weaknesses in Single Logout Among Loss of Reputation loss. Customers/ application and forget to synchronizing sessions Applications, Keep-Alives sensitive/confident Unlawful Employees log out to another among applications ial data compliance fines application that SSOs into it Malicious Victim is targeted by Social Engineering, Web Consumer Education, Data Execute JS on Fraud, financial Users, phishing, download of Application Vulnerabilities, Filtering, escape all un- client, install losses, Fraudsters malware XSS trusted data based on HTML malware reputation content loss/defacements Malicious Attacker sends malicious Input Validation Filtering, parameterized API, Loss of data, data Public disclosure Users, data to the application Vulnerabilities: XSS, SQL ESAPI filtering APIs, white-list alteration, denial of vulnerability Fraudsters Injection validations of service/access Reputation damage Malicious Attacker target design Weak Auth and Session Follow Security Requirements Unauthorized Loss of CIA, legal Users, flaws in the Mgmt Vulnerabilities For Secure Password Policies, access to data, and financial Fraudsters SSO/authentication or Implement Account Locking, functions implications session management Disable “Auto-logons” functions Fraudsters Attacker creates forged Cross Site Request Forgery Include the unique token in a Can change data Loss of CIA, HTTP requests and tricks Vulnerabilities hidden field. and functions on fraud, denial of a victim into submitting behalf of the user access them Automated Attacker uses a bot/script Insufficient Anti- Include CAPTCHA, ESAPI Can overflow/deny Business Scripts/ to attack the application Automation protection intrusion detection APIs service to process Disruptions/losse Spam Bots for denial of service and spam data, s, reputational harvesting harvest accounts./ damage data OWASP 23

Editor's Notes

  • #15: Authentication A system that restricts access to resources can only be regarded secure if its users are authenticated when accessing personal and business sensitive information. Hence, some kind of authentication is mandatory. The methods used for implementing authentication should be properly selected depending on the sensitivity of the information that needs to be accessed. For instance, a simple username / password combination might be sufficient for a free mail application, but definitely not for an on-line banking service. In some cases, compliance with standards and regulations drives the adoption of security controls such as in the case of MFA (Multi Factor Authentication). Some types of web authentications are insecure (e.g. HTTP Basic Authentication) and should be implemented with care depending on the inherent risk of the application and the presence of other compensating controls (e.g. SSL). Moreover, authentication needs to have controls in place to prevent brute forcing of passwords (e.g. password strength and account lockouts) as well as harvesting of credentials (e.g. generic credential validation error messages at logout). When an authentication solution for the application relies on another application such as in the case of SSO potential weakness due to the integration of the authentication system needs to be properly addressed. Authorization . Similar to authentication, authorization is required for systems that restrict access to resources. Not every user in the system whether authenticated or not is equal. Authorization aims to provide a mechanism by which system designers can both define the access control mechanisms and enforce them. For this reason, is critical to follow best practices while designing authorization controls for the application. Issues in this category deal with weak access control for protected resources. For instance, a flawed access control design might allow elevation of privileges through parameter modification and forceful browsing to access functionality and/or data they are not authorized for. Authorization data stored in hidden FORM fields is exposed to modification on the client side to bypass segregation of duties (e.g. vertical and horizontal escalation). Another common problem is that users of the application have excessive rights being granted or that roles are not granular enough as well as the application does not enforce least privilege in the default architecture. Some authorization flaws are also due to vulnerabilities in the web server (e.g. IBM servlet authorization flaws) and need to be properly patched during configuration management before production release.
  • #16: User and Session Management . Most applications use the concept of sessions to provide stateful interactions to the user despite the fact that protocols like HTTP are inherently stateless. This concept can cause problems if session data is not appropriately protected, either when stored or while in transit. It has to be ensured that session data cannot be altered, or otherwise compromised when the session is active. For instance, using unprotected session cookies could enable an attacker to hijack the session. Other problems refer to the independence of multiple sessions belonging to different users. For example, if two users are logged in at the same time, one as super user and the other as a normal low privileged user and if the sessions are not independent there is a chance that the application might provide administrative functionality to the low privileged user. Provide a security mechanism to maintain session independence between multiple logged on users. Session identification should also be protected with proper design by requiring proper cookie strength (e.g. 128 bit random). Session ID should be re-issued before authentication invalidated at logout and sessions should time-out after some duration of inactivity. Furthermore, it is important that user management is considered as well. This includes avoid to use sensitive information to log-in into the application, password management (Change password resets and password retrieval functions), user enrollment (e.g. the manner new users are added to the system), accounts (e.g. lockout after certain invalid logins), passwords (e.g. password resets) and other user specific issues.
  • #17: Data Management concerns with the implemented security control to manage data securely during transmission, storage and transit. The requirements for the application data management should be captured in the security requirements of the application depending on the analysis of the sensitivity of the data handled by the application (i.e. data classification) and risk considerations (e.g. dollar amounts in financial transactions to be considered high financial risk).. Data Validation is concerned with problems stemming from assumptions about type, format, range and length of input data. Since there is in general no guarantee that the received data is of the expected form, validation has to be carried out, before further processing that data. If no validation is done, an attacker can inject malicious data into the system, thus causing serious problems. Ineffective data validation is still one of the most common sources for vulnerabilities of applications. For instance, if an input string is expected to be of a certain length but the string received is longer than that, the excess data could overwrite critical information and cause a buffer overflow. Thus an attacker could take over a machine just by crafting a malicious string. It is not only important that thorough data validation takes place, but also where the validation is carried out. A classic candidate for performing data validation is wherever data crosses system or trust boundaries. Client side validation, for instance, is good to avoid unnecessary network traffic and delays, however, the received data must still be validated at the server side, since the data could have been changed in transit e.g. using an HTTP proxy.