10
  • Introduction
  • 10.1
  • 10.2
  • 10.3
  • 10.4
  • 10.5
  • 10.6
  • Security

    Security a fundamental issue in the cloud and in web services.

    Two related lectures:-
    Cloud Security Alliance, OAuth, OpenID
    Security Technology, TLS, HTTPS

    Overview
    Cloud Security Alliance (CSA)
    CSA 2016 Top Threats
    CAIQ, CCM, and STAR
    OAuth 2.0 for RESTful Web Services
    Identity with OpenID Connect
    OAuth and OpenID in the cloud
    Security in SOAP using the WS-I security profiles
  • Cloud Security Alliance (CSA)

    A non-profit organization that promotes research into and use of best practices for providing security assurance within cloud computing.

    AWS and Microsoft etc. members

    Periodically identifies, collates and ranks the cloud computing industry’s top security concerns and threats.
    discussed over next few slides
    latest assessment was in 2016

    Also provides certification, identification of best practices to address these security concerns and threats etc.

    We will use their concepts to cover basic ideas of cloud security.

  • “The Treacherous 12” – Top Threats

    CSA’s ranked top cloud computing threats/security concerns in 2016 (latest).

    🔗 https://cloudsecurityalliance.org/media/news/cloud-security-alliance-releases-the-treacherous-twelve-cloud-computing-top-threats-in-2016/

    Threat #1: 📷 Data Breaches
    Threat #2: 📷 Weak Identity, Credential and Access Management
    Threat #3: 📷 Insecure APIs
    Threat #4: 📷 System and Application Vulnerabilities
    Threat #5: 📷 Account Hijacking
    Threat #6: 📷 Malicious Insiders
    Threat #7: 📷 Advanced Persistent Threats (APTs)
    Threat #8: 📷 Data Loss
    Threat #9: 📷 Insufficient Due Diligence
    Threat #10: 📷 Abuse and Nefarious Use of Cloud Services
    Threat #11: 📷 Denial of Service
    Threat #12: 📷 Shared Technology Issues

    X
    Data Breaches Screenshot
    X
    Weak Identity, Credential and Access Management Screenshot
    X
    Insecure APIs Screenshot
    X
    System and Application Vulnerabilities Screenshot
    X
    Account Hijacking Screenshot
    X
    Malicious Insiders Screenshot
    X
    Advanced Persistent Threats (APTs) Screenshot
    X
    Data Loss Screenshot
    X
    Insufficient Due Diligence Screenshot
    X
    Abuse and Nefarious Use of Cloud Services Screenshot
    X
    Denial of Service Screenshot
    X
    Shared Technology Issues Screenshot
  • CSA – What’s important?

    Security Guidance for Critical Areas of Focus in Cloud Computing
    overview document of best security practice
    as referenced in the previous threat slides
    🔗 https://cloudsecurityalliance.org/download/security-guidance-for-critical-areas-of-focus-in-cloud-computing-v3

    Consensus Assessments Initiative Questionnaire (CAIQ)
    pronounced “cake”
    set of 140 questions auditors or potential customers should ask a cloud service provider in order to assess their security compliance before agreeing to use them
    🔗 https://cloudsecurityalliance.org/group/consensus-assessments

    Cloud Controls Matrix (CCM)
    a detailed list of requirements and controls across 16 domains
    references many other security standards
    what has (not) been implemented by a provider helps customers assess overall security risks
    also lists fundamental best-practice security principles to guide cloud provider
    🔗 https://cloudsecurityalliance.org/group/cloud-controls-matrix/

    CSA Security, Trust & Assurance Registry (STAR)

    CSA & BSI initiative ongoing since 2013.

    🔗 https://cloudsecurityalliance.org/star/#_overview

    Public web-based register of compliance self-assessments and audits.

    🔗 https://cloudsecurityalliance.org/star/#_registry

    Different levels of process available with increasing rigour from self-assessment through 3rd-party certification in different application areas to continuous certification.

    self-assessment most likely

    Uses the CAIQ and CCM

    CSA STAR Self-Assessment

    Providers either submit a completed CAIQ themselves or submit a report documenting compliance with the CCM.

    CSA only undertake a basic check of factual accuracy

    Most industry cloud providers have entries spanning IaaS, PaaS and SaaS offerings.

    Entries deleted unless maintained after 18 months.

    A good example is MS Office 365 (SaaS) compliance documentation.
    this goes through in detail how Office 365 addresses the relevant control entries in the CCM to convince potential customers ...
    last updated April 2016
  • OAuth 2.0

    Open source – rfc6749

    A federated, delegated mechanism to integrate secure RESTful services.
    intended to be lightweight
    Facebook, Twitter, Google, GitHub, DropBox, SoundCloud, MS...

    Popular also for use with cloud platforms.
    e.g. MS Azure, AWS
    because they increasingly provide RESTful APIs to access cloud resources

    OAuth is an authorization protocol that allows third-party web service creators to get access to users' data stored in a different web service.
    however it is generalised enough to be used also with browser-based apps and mobile apps in several defined scenarios (flows)
    these notes consider web services only (“web server flow”)

    OAuth is about granting and gaining permission to access resources i.e. authorization.

    not in itself about authentication

    With OAuth, users don’t manage access to their resources themselves nor divulge their login information to intermediaries:-
    authorization is granted from an authorization server, where access rights to owner’s resources are stored
    authorization granted as an one-time opaque authorization token/code
    an intermediary subsequently obtains a time limited access token that is used to access data from a resource server

    Reliant on HTTPS to secure some functionality.

    uses custom token authentication (Bearer) and Schannel

    OAuth 2.0 for RESTful Web Services

    Four entities:

    User Agent

    typically a browser (but of course could be anything...)

    Client App (Web Service)

    web service the user is calling which acts as a client to the resource server

    Resource Server
    3rd party secure web service
    what we need to obtain permission to use

    Authorization Server
    deals with access requests from users
    may be combined with resource server in some implementations
    OAuth 2.0 for RESTful Web Services Diagram
    OAuth 2.0 for RESTful Web Services Diagram 2

    Uses redirect URLs (response code 302),

    Redirect URLs are protected by HTTPS which prevents tokens being intercepted in transit.

    The granting of a specific access token allows a fine grained decision about access to data to be made.
    e.g. it may only permit read-only access for this user and/or client
    client submits authorization token to obtain access token

    Users, clients and resource servers require to be registered with the authorization server.
    remember resource and authorization services may be combined
    client redirect URL registered to avoid malicious redirects
    users must be authenticated against the authorization server but OAuth does not specify how
  • OpenID Connect

    For authentication OAuth can add the use of:-
    Microsoft IDs
    SAML assertions (enterprise tokens confirming you are who you are)
    your own scheme...
    or use OpenID to extend OAuth for use as an authentication protocol

    OpenID Connect is a distributed, federated third party identity service.
    a single-sign-on (SSO) protocol
    OpenID providers
    Google, Facebook, Google, PayPal, Yahoo!
    Cloud: MS Azure Active Directory (Azure AD) and AWS Identity and Access Management
    web apps no longer manage authentication themselves
    service does not see client secret (password, biometric data...) – sees token instead
    Microsoft IDs are not unified (yet) with OpenID...
    currently you create a separate user space in Azure AD
    but MS have started to unify the API & tool support

    OpenID Connect is current version.

    The key to understanding OpenID is to realise OpenID itself uses OAuth flows to obtain authentication tokens from an OpenID provider.
    human users are redirected to OpenID provider to log in
    tokens are subsequently presented to 3rd parties to prove authentication has taken place
    see: 🔗 http://cakebaker.42dh.com/2008/04/01/openid-versus-oauth-from-the-users-perspective/
    ID tokens - again uses Bearer tokens in HTTP(S) custom authentication
    as it uses OAuth...
    See also: 🔗 http://connect2id.com/learn/openid-connect

    OAuth and OpenID in the Cloud

    A big reliance now on RESTful web services hosted in the cloud which must be secure.

    Access to cloud storage through URLs must be secure.

    Both OAuth and OpenID have a big presence in the cloud.
    Azure AD and AWS Identity and Access Management both heavily use them and both are offered as services and kept up to date by them
    AWS have internal policy that every service must be available as a RESTful service and even internal access to services uses OAuth/OpenID

    AWS and Azure AD both support creation and hosting of OpenID Connect identity providers in the cloud.

  • Protecting SOAP Messages

    Security threats to a SOAP message:-
    a message could be read by an attacker
    a message could be modified by an attacker
    a message could be sent by an attacker

    A set of profiles but WS-Security is the core one.

    WS-Security provides an example of message security.
    SOAP implementations use other protocols than just HTTP so we need to apply security to the message itself and not only at the transport layer.
    HTTPS/TLS can only be used for securing point-to-point services
    consider the use of message queues – now lots more point-to-point communication

    See overview:- 🔗 https://msdn.microsoft.com/en-us/library/ms977327.aspx

    To address the previous slide’s threats, WS-Security applies a combination of:-

    Encryption
    (Ensure the confidentiality of the message)

    Signatures
    (Verify the origin and the integrity of a message)

    Security tokens
    (Authenticate the sender on the credentials associated with the message)

    Messages with invalid signatures and incorrect or missing tokens are rejected.

    WS-Security is the core security profile defining secure SOAP envelopes - others profiles use this

School of Computing, Engineering and Built Environment