SaaS Security Testing: Guidelines and Evaluation Framework



Similar documents
Interoperate in Cloud with Federation

Securing SaaS Applications: A Cloud Security Perspective for Application Providers

A SURVEY OF CLOUD COMPUTING: NETWORK BASED ISSUES PERFORMANCE AND ANALYSIS

SERENA SOFTWARE Serena Service Manager Security

Passing PCI Compliance How to Address the Application Security Mandates

Cloud-Testing vs. Testing a Cloud

Keyword: Cloud computing, service model, deployment model, network layer security.

ensuring security the way how we do it

Security Information & Policies

Complete Web Application Security. Phase1-Building Web Application Security into Your Development Process

Guidelines for Website Security and Security Counter Measures for e-e Governance Project

05.0 Application Development

Security Issues in Cloud Computing

Information Technology Engineers Examination. Information Security Specialist Examination. (Level 4) Syllabus

Web App Security Audit Services

How To Protect Your Cloud Computing Resources From Attack

IJOART. 1. Introduction. 2. Evolution of Cloud Services

FINAL DoIT v.4 PAYMENT CARD INDUSTRY DATA SECURITY STANDARDS APPLICATION DEVELOPMENT AND MAINTENANCE PROCEDURES

FINAL DoIT v.8 APPLICATION SECURITY PROCEDURE

Effective Software Security Management

GoodData Corporation Security White Paper

Data Protection: From PKI to Virtualization & Cloud

FACING SECURITY CHALLENGES

Penetration Testing Service. By Comsec Information Security Consulting

A Survey on Cloud Security Issues and Techniques

Where every interaction matters.

Application Security Testing

Security Controls for the Autodesk 360 Managed Services

FIREWALL CHECKLIST. Pre Audit Checklist. 2. Obtain the Internet Policy, Standards, and Procedures relevant to the firewall review.

Guidelines for Web applications protection with dedicated Web Application Firewall

Application Code Development Standards

Cloud Security & Risk Management PRESENTATION AT THE OPEN GROUP CONFERENCE

HIPAA CRITICAL AREAS TECHNICAL SECURITY FOCUS FOR CLOUD DEPLOYMENT

Cloud Security Implications for Financial Institutions By Scott Galyk Director of Software Development FIMAC Solutions, LLC

8070.S000 Application Security

GFI White Paper PCI-DSS compliance and GFI Software products

Reducing Application Vulnerabilities by Security Engineering

Enterprise Computing Solutions

Using Automated, Detailed Configuration and Change Reporting to Achieve and Maintain PCI Compliance Part 4

Top 10 Cloud Risks That Will Keep You Awake at Night

Microsoft SharePoint Architectural Models

Lecture 02b Cloud Computing II

Cloud Security Overview

Vendor Questionnaire

Information Security Services

Kenna Platform Security. A technical overview of the comprehensive security measures Kenna uses to protect your data

How To Protect A Web Application From Attack From A Trusted Environment

Cloud Computing: Risks and Auditing

Strategic Information Security. Attacking and Defending Web Services

Table of Contents. Page 2/13

Mean Time to Fix (MTTF) IT Risk s Dirty Little Secret Joe Krull, CPP, CISSP, IAM, CISA, A.Inst.ISP, CRISC, CIPP

Basic & Advanced Administration for Citrix NetScaler 9.2

Public Cloud Security: Surviving in a Hostile Multitenant Environment

TEMPLE UNIVERSITY POLICIES AND PROCEDURES MANUAL

Software as a Service (SaaS) Testing Challenges- An Indepth

Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet

MIGRATIONWIZ SECURITY OVERVIEW

Information Supplement: Requirement 6.6 Code Reviews and Application Firewalls Clarified

Cloud Security Framework (CSF): Gap Analysis & Roadmap

Security Issues In Cloud Computing And Their Solutions

Barracuda Web Site Firewall Ensures PCI DSS Compliance

10/25/2012 BY VORAPOJ LOOKMAIPUN CISSP, CISA, CISM, CRISC, CEH Agenda. Security Cases What is Cloud? Road Map Security Concerns

Information Security. Training

FISMA / NIST REVISION 3 COMPLIANCE

Infor CloudSuite. Defense-in-depth. Table of Contents. Technical Paper Plain talk about Infor CloudSuite security

CAST CENTER FOR ADVANCED SECURITY TRAINING. CAST618 Designing and Implementing Cloud Security CAST

Overview of Network Security The need for network security Desirable security properties Common vulnerabilities Security policy designs

Introduction to Web Application Security. Microsoft CSO Roundtable Houston, TX. September 13 th, 2006

Advanced Administration for Citrix NetScaler 9.0 Platinum Edition

2. From a control perspective, the PRIMARY objective of classifying information assets is to:

Threat Modeling. Frank Piessens ) KATHOLIEKE UNIVERSITEIT LEUVEN

Cloud-Security: Show-Stopper or Enabling Technology?

How To Secure Cloud Computing

Cloud Security:Threats & Mitgations

IBM Rational AppScan: Application security and risk management

External Supplier Control Requirements

WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats

The Top Web Application Attacks: Are you vulnerable?

PCI Compliance - A Realistic Approach. Harshul Joshi, CISM, CISA, CISSP Director, Information Technology CBIZ MHM hjoshi@cbiz.com

全 球 資 安 剖 析, 您 做 確 實 了 嗎? Albert Yung Barracuda Networks

Cloud Security Through Threat Modeling. Robert M. Zigweid Director of Services for IOActive

Jort Kollerie SonicWALL

ensure prompt restart of critical applications and business activities in a timely manner following an emergency or disaster

Protecting Your Organisation from Targeted Cyber Intrusion

Tableau Online Security in the Cloud

Rational AppScan & Ounce Products

A Decision Maker s Guide to Securing an IT Infrastructure

NETWORK ACCESS CONTROL AND CLOUD SECURITY. Tran Song Dat Phuc SeoulTech 2015

Secure Web Applications. The front line defense

elearning for Secure Application Development

How to achieve PCI DSS Compliance with Checkmarx Source Code Analysis

Attack Vector Detail Report Atlassian

3. Broken Account and Session Management. 4. Cross-Site Scripting (XSS) Flaws. Web browsers execute code sent from websites. Account Management

Transcription:

SaaS Security Testing: Guidelines and Evaluation Framework - 11th Annual International Software Testing Conference 2011 Jayanti Vemulapati, Neha Mehrotra and Nitin Dangwal Abstract: The paper introduces Software as a Service which is the latest business and economic model for software delivery. In this model, software is accessible on Internet and available on demand. This is a radical model that has come a long way from traditional ownership model in terms of licensing and sustenance for the end consumer. One of the major challenge that is preventing enterprises and consumers to adopt this model is the threat of Security associated. The paper describes how the principles of software testing can be applied to build confidence around the SaaS model with a proposed framework. Aug 2011

Introduction We have seen the existence of Software as a Service (SaaS) for many years now. In fact, software applications / products have been marketed as on demand business model. Examples for SaaS are Gmail or the more recent one: MS Office 365. SaaS in simple terms can be defined as a business and delivery model where software applications are accessible over Internet and offered as subscription on demand. SaaS has also evolved from the ASP (Application Service Provider) hosting model where ASPs purchased licensed software from their vendor and provided the software on subscription to the end clients. The model further evolved, marking downfall for ASPs, wherein software vendors deployed and provided the software offerings on subscription basis to end clients. In turn, the end clients (IT enterprises) further provided the software offerings to their own end users. SaaS is further evolving in terms of hosting. Vendors are moving their on-premise hosting to Cloud hosting. Vendors are also coming up with refined licensing models. SaaS business model is different from traditional models. In the traditional software delivery model, a customer buys a license for software and assumes ownership for its maintenance as well as upgrades. With the SaaS model there is no need for the customer to pay for the license and maintenance for the software bought which is advantageous to the customer. This Pay per Use model offers flexible subscription timelines to end customer. With so many benefits from the SaaS delivery model, it is expected that enterprises would rapidly move towards SaaS and expect a boost in the ROIs; yet we have seen reluctance in adoption. Many surveys have been conducted for enterprise IT CIOs (Chief Information Officer) and independent users on SaaS adoption where the major concern for reluctance is the challenge of security. IDC Cloud Services survey published the following IT cloud computing concerns: 1. Security 87.5% 2. Availability 83.3% 3. Performance 82.9% 4. High Cost 81.0% 5. Vendor Lock-In 80.2% Software as a service (Deployed on Private, Public or Hybrid Cloud) Figure 1: Sofware as a Service SaaS (Application available as Pay per Use ) SaaS is deployed as a Service SaaS Offering: Software (CRM / Mails / PPM) Popular Billing & licensing models: Per user Per month Major SaaS Players: Google Salesforce End Client Popular SaaS Offerings Free: Google-Docs, Gmail, Wave Accounting Paid: Clarity, Salesforce CRM, Office 365 As the software is accessible over the web, there are major security challenges which is discussed in the next section. SaaS Security Challenges Although, Security challenges for SaaS are similar to the ones for traditional deployments, yet the magnitude and criticality of addressing them is twofold. This is mainly due to access control and compliance within the organization s boundary in on-premise deployments. In a SaaS Model, the control over enterprise data is delegated to SaaS vendor and the interactions happen on the web. In some cases, the SaaS vendor is utilizing a public IaaS for deployment of SaaS. In this case, the enterprise data access and control would be further delegated to the IaaS vendor. Loss of direct control and opaque transactions with SaaS vendor causes hesitation in adopting this model. SaaS offering layers are depicted in the below diagram: 2 Infosys View Point

Tenant 1 accesses over VPN Software (as a service) Physical Security, Disaster Recovery Multi- Tenant Infra Physical Services Storage (Storage, Backup, Load Balancer...) Multi- Tenant App Services (Auditing, Metering, Logging...) Palisade Corporation (Creator leading risk analysis software) published major attacks on SaaS: 1. Variable Manipulation 2. Hidden Field Manipulation 3. Cross Site Scripting 4. Insecure Caching 5. SQL Injection Tenant N accesses over Internet Network Security, IAM Data Integrity, IAM Availability, FailOver, Data Integrity Figure 2: SaaS offering layers 1. Identity Thefts and Access Management Issues: Identity thefts are one of the biggest threats to SaaS Security (for any software deployment). The security challenge depends on the stringency of IAM model used by the SaaS vendor. Enterprises which use external hosting services are concerned about unauthorized access to the data by SaaS vendor employees or other clients. The secure IAM for each SaaS tenant is ensured by: Storing a part of user credentials and access information within the enterprise and storing only part of it with the SaaS vendor Sharing user credentials and access information securely with SaaS vendor using Federation standards In both cases, securing the identity of enterprise tenant as we all as its end users is a critical factor in SaaS offering. 2. Data Security and Integrity: Enterprise data needs protection and the accountability lies with the SaaS vendor. The aspect of Data Integrity should be ensured by the SaaS vendor which signifies the fact that data of each enterprise tenant should not be available for other clients throughout the lifecycle of the data. An encryption algorithm and multifactor authentication is used to ensure A level data security. 3. Network Security: All SaaS offering interactions happen over the Internet. SaaS vendor as well as the enterprise should ensure that the sensitive data as well as IAM information is not leaked. Most SaaS vendors nowadays use SSL, TLS, and follow strong network security protocols. Enterprise may connect to SaaS VPN to ensure further security from network interactions point of view. 4. SaaS Compliance to Regulatory Standards: SaaS offering should conform to vendor policies, government policies and industry standards. Some of these policies can be: EU Data Privacy Law (applicable in many European countries) SOX Act Health Insurance Portability and Accountability Act Payment Card Industry Data Security Standard Gramm-Leach-Bliley Act 5. Physical Security: This is one of the challenges for physical security of enterprise data and critical information. Any SaaS offering instills greater confidence for adoption if there is a strong disaster recovery in place and thorough failover testing has been done to ensure that there is less risk to client s data. Challenges from End User Perspective: Let us assume that we are using MS Office 365 for writing this paper. The data as well as the hosting is done on Microsoft servers. Let us now list the security issues which an end user can face: The paper could be deleted The contents of the paper could be copied or modified The password or account settings could be changed The audit trails could be changed and the earlier versions could be deleted IP infringement could happen from the enterprise side which can result in the transfer of sensitive information to the MS server MS Server could be hosted in a region that experiences an earthquake and all the data could be lost if proper recovery testing could not be performed Now that we have highlighted the challenges, let us look at the Security Testing aspect and the issues Infosys View Point 3

that Security testers face specifically for SaaS Applications. As we know that SaaS interface is customizable for every tenant and hence one time Security Testing does not really help in establishing the confidence. The flexibility provided by the SaaS offering involves complex internal logic with layered interfaces. Hence, the security testing needs to be performed at frequent intervals and preferably with each tenant on-board. SaaS Security Testing Software Security testing is a non-functional testing to ensure that the software under test is securing the sensitive data and related user information while maintaining the data integrity and providing the intended functionality. Security testing should ensure that application is providing: Authentication and Authorization Availability Data Integrity Data Security What is it that makes Security Testing more difficult as well as critical for any SaaS deployment versus traditional deployment? Multi-tenancy. SaaS offering should ensure interface level, application level, logical as well as physical level data integrity among its tenants. Multi-tenancy and Network based access are two challenges that make SaaS offerings more lucrative for Hackers. Following are some of the major security testing performed for SaaS offering. Subsequently, security testing techniques are also discussed for reference. Denial of Service: This happens when the deployment servers or networks are brought down by simulating huge traffic. Hackers use DoS Violation (Denial of Service can be caused through congesting, delaying network packets, or by hacking resources), Man in the Middle Attack (fire brigade attack), IP Spoofing for Denial of Service (DoS) attacks on SaaS. In a multitenant environment, the DoS testing have become even more critical as a DoS attack on one tenant (which may utilize 100% CPU or other resources) may cause other tenants to cease working. SQL Injection: Hackers inject SQL queries in input data for getting the sensitive information, change data and may be for crashing the deployment. Functional and Security testing should check that the input data that is being provided to application is filtered for special characters and should verify the easiness to inject queries into the data. Hidden Form Parameters: None of the SaaS application developers should include hidden form fields. Hidden fields introduce security vulnerability for tenants as well as end users and are a big threat to Data integrity as well. White box security testing is the best technique to test hidden form fields. Cookie Values: Security Testing should ensure that data in the cookies is encrypted with strong encryption algorithm and limited sensitive IAM information is being sent out as cookies. Vulnerability scanning is the best technique to perform this testing. XSS: Cross site scripting attacks wherein phishing Web sites are published to the tenants. SaaS are susceptible because they share application access and data among various tenants. Vulnerability scanning and risk based testing can be used to verify whether SaaS offering is susceptible to XSS. 7 October 2011: Chairman of a Homeland Security sub-committee expresses concerns over Obama administration s cloud first policy. Cloud is rich target for hackers, says US lawmaker SaaS Security Guidelines Following are some guidelines from DMTF (Distributed Management Task Force) and CSA (Cloud Security Alliance) that should be taken into consideration while planning for Security testing of SaaS deployments: When a tenant uses SaaS, the SaaS provider will have to provide a lot of analytical information. This information gathering has to be a regular and a continuous process. Information gathering should be made part of contractual obligation of the SaaS provider SaaS providers generally claim security, performance, availability, and other parameters. Claimed security metrics information and acceptability criteria (including legal and compliance requirements) should be included 4 Infosys View Point

Generic Security Testing Techniques Security Testing Technique Fault injection-based testing Fuzzy Testing Vulnerability scanning testing Description Fault injection focuses on the application s interfaces or boundaries and on the environment in which the application is running. The testing includes verification for all input fields, network interface, file system and environment variables etc. Mechanism of injecting random data into application to determine whether it can run normally under the jumbled input. It includes: Testing space scanning: Running the application to determine leakage that the application might have created. For e.g. network port scanning may identify open ports which should have been closed or not opened at all. Known defects scanning: Running the application to determine problems against a known set of vulnerabilities. Application It determines how the application handles different types of protocol packets. In order to identify security vulnerabilities, fault data should be injected. SDLC stages: Build, unit testing and integration testing. Helps in discovering security vulnerabilities. It is a very effective mode of testing and may even find flaws of tested software, which are difficult for the other logical testing method. SDLC stages: Unit Testing, Integration Testing and System Testing SDLC stages: Unit Testing, Integration Testing and System Testing White box testing Risk based testing Static code review and walkthrough are common tools used here. Some research has been done for combining Risk analysis + security testing with software development lifecycle. An early adoption is recommended to find high-risk security vulnerabilities. Good at finding security bug, such as buffer overflow. SDLC stages: Build: Coding, code review stage. SDLC stages: This approach emphasized SDL (Security Development Lifecycle). For e.g.: Creating security abuse use cases (requirements), risk analysis (predesign and design stage), static analysis tools (code), and penetration testing (testing). Table 1: Security Testing Techniques in any SLAs and pact where applicable. The committed / achieved standards and metrics should be recorded and verified Multi-tenancy and on demand provisioning aspects of Cloud computing add complexity to traditional forms of implementing audit and assessment. So conventional audit and evaluation may be customized in SaaS environment Various security issues, such as suspected data breaches, must be addressed explicitly in specific clauses of the contract that clarifies the respective obligation of the Cloud service provider and the client Cloud service provider must protect the data from data breach, for e.g., Data that is subject to state and international data protection laws (EU Data Privacy, HIPAA etc) should be protected. The Cloud data provider and data owner must undergo a contract to include penalties to be enforced in case of a data breach For the hosted applications, Cloud providers must support various security tools for the web applications to provide dynamic analysis on security 17 August 2011: MS Office 365 (SaaS offering) suffered first outage in August. Service promises 99.9% availability. Infosys View Point 5

Forrester (Dec 2010):Organizations where SaaS is already in place; the security concern are lower (65%) in comparison to companies that are yet to jump to SaaS or are using hybrid SaaS On-premise deployments (77%). SaaS Security Evaluation Model Based on the security recommendations from CSA, DMTF and NSIT and Security testing results, the following framework can be conceptualized for SaaS Security Evaluation. Based on security testing results, a holistic benchmarking for the SaaS offering can be done. A consolidated report should be published to the SaaS vendor and security recommendations should be provided where the scoring is low. Sample workflow for the framework for a new SaaS offering is given below: SaaS Vendor chooses the SaaS offering (specifically the URLs) for testing SaaS Vendor provides details for test tenants of the SaaS offering SaaS Vendor chooses the type of Security testing to be performed SaaS vendor can choose the format of test results SaaS vendor can view the test results and recommendations Figure 3: Evaluation Process In a multi-tenant environment it is recommended to monitor all the test-tenants for changes in behavior and performance. Ideally, an applied security attack on one tenant should not affect other tenants. The Security testing framework should evaluate and confirm whether the test security attacks on one tenant result into security vulnerability for another tenant. Evaluation Methodology IS = C *Wt n TS= S*ISi i=1 n MS = ISi i=1 Final Score = (TS / MS) *100 C: criticality of a test case Wt: predefined weightage IS: Each Test case score TS: Total Score MS: Maximum Score S: Each Test case status (0 or 1) Criticality Mapping Table Criticality Weightage Description P1 0.5 P2 0.3 P3 0.2 Score Mapping Table Score Ranking Description >90% 5 Very secure! Secure at all the evaluated parameters. 75%-90% 4 Mostly Secure at most of the modules. Some improvements are possible. 50%-74% 3 Moderately secure. Needs improvement. 35-49% 2 Less Secure. Redesigning is proposed. <34% 1 Unsecure. 6 Infosys View Point

Sample Security Test Results: XSS Test Cases Date Executed Criticality S (1 Passed / 0 Failed) IS S *IS Echo data 10/19/11 20:00:12 P1 1 0.5 0.5 Client side script 10/19/11 20:00:12 P1 0 0.5 0 injection Server side script 10/19/11 20:00:12 P2 1 0.3 0.3 injection.. P3 0 0.2 0 Final Score = 53(TS / MS*100), It falls under ranking 3. MS=1.5 TS=0.8 Table 2: Testing Result for a Security Testing Cycle Consolidated Report A Consolidated Evaluation Report for each type of testing as well as recommendations based on the ranking is proposed to the SaaS Vendor. Security Standard Date Network Security VLAN Security 10/19/11 20:00:12 4 Network-based Intrusion Prevention System 10/19/11 20:00:12 2 Anti-virus and Firewall strength 10/19/11 20:00:12 3 Application Security Testing against SQL injection 10/20/11 20:00:12 1 Testing against XSS 10/20/11 20:00:12 1 Testing against Denial of Service 10/19/11 20:00:12 0.. 10/19/11 20:00:12 1 Ranking (Scale 5) View Details User Access Management Role based Access Testing 10/21/11 20:00:12 4 SSO Testing 10/19/11 20:00:12 3 Legal Compliance HIPAA Compliance 10/19/11 20:00:12 3 Summary 51% Infosys View Point 7

Conclusion This paper elucidates SaaS Specific Security Challenges and how contemporary Security testing can ensure that the challenges are met. The paper also discusses the major Security standards as laid down by CSA and DMTF that should be followed by SaaS vendors. Based on the Security challenges and Standards, SaaS Security model is proposed for evaluation of security standard for any SaaS offering. References No part of this paper has been directly referred from any copyright material. Some reference sites for basic understanding: http://www.networkworld.com/news/2010/092710-software-as-service-security.html?page=2 http://www.persistentsys.com/linkclick.aspx?fileticket=eeasuqd0ps0%3d&tabid=626 http://community.forrester.com/thread/3897 http://www.cigital.com/papers/download/bsi4-testing.pdf http://venturebeat.com/2011/08/17/microsoft-office-365-experiencing-its-first-major-outage/ https://cloudsecurityalliance.org/csaguide.pdf About the Authors Jayanti Vemulapati is a Principal Technology Architect at Infosys Engineering, heading cloud and distributed computing practices. She has 16+ years of experience in Leading, Designing, Architecting and Executing software projects and products in Java and C across various Domains. She is abreast with the latest technologies and frameworks in Java / J2EE, Web 2.0, Cloud, Distributed File system, SOA, Internationalization and Multi-core. She can be contacted at Jayanti_Vemulapati@infosys.com Neha Mehrotra is a Technology Architect at Infosys Engineering. She has more than 8 years of experience in Java and Java EE technologies. She has been involved in development and sustenance of identity and access management products. She is currently involved in research involving Testing framework for Cloud based offerings. She can be contacted at neha_mehrotra@infosys.com Nitin Dangwal is a Technology Architect at Infosys Engineering, Infosys. He has more than 8 years of industry experience and almost 6 years of experience in Federation and Web Security domain. Over past 6 years, he has been involved in development and sustenance of Federation products. He can be contacted at nitin_dangwal@infosys.com