Beruflich Dokumente
Kultur Dokumente
Introduction
1.1
Introduction
Cloud computing is defined as the practice of using a network of remote servers hosted on the
Internet to store, manage, and process data, rather than a local server or a personal computer.
Cloud computing is a model for enabling ubiquitous network access to a shared pool of
configurable computing resources.
Cloud computing and storage solutions provide users and enterprises with various capabilities to
store and process their data in third-party data centers.
It focuses on maximizing the effectiveness of the shared resources. Cloud resources are usually
not only shared by multiple users but are also dynamically reallocated per demand.
Cloud computing enables companies to consume compute resources as a utility- just like
electricity- rather than having to build and maintain computing infrastructures in-house.
Cloud computing promises several attractive benefits for businesses and end users. Three of the
main benefits of cloud computing include:
Self-service provisioning: End users can spin up computing resources for almost any type of
workload on-demand.
Elasticity: Companies can scale up as computing needs increase and then scale down again as
demands decrease.
Pay per use: Computing resources are measured at a granular level, allowing users to pay only
for the resources and workloads they use.
Cloud service models
The consumer does not manage or control the underlying cloud infrastructure but
has control over operating systems, storage, deployed applications, and possibly
limited control of select networking components .
Examples:
Amazon EC2
OpenNebula
The capability provided to the consumer is to deploy onto the cloud infrastructure
consumer-created or acquired applications created using programming languages
and tools supported by the provider.
The consumer does not manage or control the underlying cloud infrastructure
including network, servers, operating systems, or storage, but has control over the
deployed
applications
and
possibly
configurations.
Examples:
application
hosting
environment
The consumer does not manage or control the underlying cloud infrastructure
including network, servers, operating systems, storage, or even individual
application capabilities, with the possible exception of limited user-specific
application configuration settings.
Examples:
Public Cloud
The cloud infrastructure is made available to the general public or a large industry
group and is owned by an organization selling cloud services.
Basic characteristics :
Homogeneous infrastructure
Common policies
Economies of scale
Private Cloud
Basic characteristics :
Heterogeneous infrastructure
Dedicated resources
In-house infrastructure
End-to-end control
Hybrid Cloud
Software as a Service:
Software as a Service (SaaS) is a software distribution model in which applications are
hosted by a vendor or service provider and made available to customers over a network, typically
the Internet.
Cloud Management:
Software and technologies designed for operating and monitoring the applications, data
and services residing in the cloud. Cloud management tools help ensure a company's cloud
computing-based resources are working optimally and properly interacting with users and other
services.
Cloud Computing:
A type of computing, comparable to grid computing that relies on sharing computing resources
rather than having local servers or personal devices to handle applications. The goal of cloud
computing is to apply traditional supercomputing, or high-performance computing power,
normally used by military and research facilities, to perform tens of trillions of computations per
second, in consumer-oriented applications such as financial portfolios or even to deliver
personalized information, or power immersive computer games.
6
Cloud Storage:
Cloud storage means "the storage of data online in the cloud," wherein a company's data is stored
in and accessible from multiple distributed and connected resources that comprise a cloud.
The application component of SaaS are the applications offered by service providers.
Service providers deliver SaaS applications to customers over a network. The customer can
access applications via a web browser, thin client, terminal, etc.
SaaS security level depends upon which type of deployment model is used by the
vendors. Vendor can use public cloud for deployment or they can host the service by themselves
only. SaaS security mainly depends on the security of the public cloud, which can either be
dedicated or shared. To make the SaaS more secured, public cloud or self-hosted cloud should be
secured. While evaluating SaaS, its deployment type should be considered more secured.
Donghoon Kim and Mladen A. Vouk, in their paper titled A survey of common security
vulnerabilities and corresponding countermeasures for SaaS, the common security
vulnerabilities and corresponding countermeasures for SaaS have been surveyed. The paper
focuses primarily on the work published in the last five years. It is observed that the current SaaS
security trends and a lack of sufficiently broad and robust countermeasures in some of the SaaS
security area such as Identity and Access management due to the growth of SaaS applications.
Two major trends in the context of SaaS security have also been observed in this paper.
First, the Internet is in transition from HTTP to HTTPS as use of sensitive data increases.
7
However, it should be noted that HTTPS protocol must be applied from the very first connection
establishment until the termination to guarantee secure communication.
Second, BYOI is the current trend after BYOD. An increasing BYOD trend has incurred identity
fatigue (i.e., users have too many online ID to manage), which has created BYOI that gives users
the ability to use one of their existing social media IDs to access enterprise services
The paper provided an overview of security landscape of SaaS delivery model.
Acklyn Murray, Geremew Begna, Ebelechukwu Nwafor, Jeremy Blackstone, Wayne Patterson,
in their paper titled Cloud Service Security & Application Vulnerability, have called the cloud
as one of todays most appealing technology areas due to its cost-efficiency and flexibility. The
paper says that for Successful implementation of cloud computing in an enterprise requires
proper planning and understanding of emerging risks, threats, vulnerabilities, and possible
countermeasures. This paper discusses security concerns of the cloud computing model namely
Software as a Service. It also discusses Cloud-based Security Tools currently available today.
The paper also discusses Cloud Data Encryption, Homomorphic Encryption and Access
Control (Identity Access Management). Finally, this paper talks about cloud applications
focusing on select cloud applications. It also looked at some of the known vulnerability issues
associated with the applications and also the future of cloud applications.
This paper defines cloud computing as a collection of IT resources (servers, databases,
and applications) which are available on an on-demand basis, provided by a service company,
available through the internet, and provide resource pooling among multiple users. The papers
briefly states the 5 essential characteristics of cloud models: on demand service, broad network
access, resource pooling, rapid elasticity and measured service.
The paper then discusses the various security concerns of cloud computing. In SaaS, the
client has to depend on the provider for proper security measures. The provider must do the work
to keep multiple users from seeing each others data. So it becomes difficult to the user to
ensure that right security measures are in place and also difficult to get assurance that the
application will be available when needed.
The following key security elements should be carefully considered as an integral part of the
SaaS application development and deployment process:
8
Data security-in the SaaS model, the enterprise data is stored outside the enterprise
boundary.
Network security-in a SaaS deployment model, sensitive data is obtained from the
enterprises processed by the SaaS application and stored at the SaaS vendor end.
Data locality-in a SaaS model of a cloud environment, the consumer does not know
where the data is getting stored.
Data integrity-Data integrity is one of the most critical elements in any system
Data access -Data access issue is mainly related to security policies provided to the users
while accessing the data.
The paper also gave a few case studies of the attacks that have happened in the past on various
cloud systems.
Ankit Banka, Anshul Saravgi, Mangal Sain, Hoon Jae Lee, in their paper titled
Exploration of Security Parameters to Evaluate SaaS they have considered that the SaaS is
becoming the most common software delivery model for many business application, DBMS
Software, management software and virtualization. Users deploy SaaS for different purposes,
they are not aware about which one is suitable for them in terms of security, performance and
storage capacity. The data privacy and service availability in cloud computing are major security
problems. The paper proposed a system that addressed security challenges in context to SaaS.
The development of such system will help users to judge different cloud computing services
(SaaS) with respect to security issues, concerns and challenges of security in the cloud. On the
other hand, vendors will able to identify the level of their service based on security parameters
9
and basic requirements of SaaS. This paper proposes that the software as service evaluation
parameters can be categorized into 6 parts i.e. SaaS Deployment model, Data security and
Integrity, Regulatory compliance, Availability, Backup, Identity management and Sign-on
process. SaaS vendor offers different and various important services to the customers but,
vendors should also address the issues and parameters related to security, performance and cost.
This paper discussed several parameters and fundamental requirements for a secure SaaS vendor.
Ms. Shaheen Ayyub, Mr. Praveen Kaushik, in their paper titled, An analysis of Security Attacks
on Cloud wrt SaaS, identify different security attacks on cloud. More specifically the paper
presents an elaborated study of SaaS components security and determines vulnerabilities and
countermeasures. They have defined the cloud system as a large group of interconnected
computers. These computers can be personal computers or network servers; they can be public or
private.
challenges and unchartered risks have been introduced to the clouds. There are many queries that
arise as to whether a cloud is secure enough. Considering intruders there are many kinds of
possible attacks, such as Denial of service attacks, Side Channel attacks Authentication attacks,
Man-in-the-Middle Cryptographic attacks, Wrapping attacks, Malware-Injection attacks,
Flooding attacks, Browser attacks, and also Accountability checking problems. There is a critical
need to securely store, manage, share and analyze massive amounts of complex (e.g., semistructured and unstructured) data to determine patterns and trends in order to improve the quality
of healthcare, better safeguard the nation and explore alternative to provide solutions to detect
top attack types using machine learning techniques. The paper aims at identifying and analyzing
the different types of attacks on the cloud environment.
In the SaaS model, enterprise data is stored at the SaaS provider's data center, along with
the data of other enterprises. Moreover, if the SaaS provider is leveraging a public cloud
computing service, the enterprise data might be stored along with the data of other unrelated
SaaS applications. The cloud provider might, additionally, replicate the data at multiple locations
across countries for the purposes of maintaining high availability. The paper explains SaaS
specific security challenges and how contemporary security testing can ensure that the challenges
are met. The fig below shows a simple cloud security structure.
10
The paper then discusses the attacks associated with the SaaS model. The most common
attacks associated with SaaS model in a public cloud infrastructure are divided into the following
four groups:
(i) Availability,
(ii) Data Security,
(iii) Network Security,
(iv) Identity Management
machines to cope with the additional workload. Thus, the server hardware
boundaries for maximum workload to process do no longer hold. Sometimes the
attacker can inject and execute arbitrary code while performing a DoS attack in
order to access critical information or execute commands on the server. Denial-ofservice attacks significantly degrade service quality experienced by legitimate
users. It introduces large response delays, excessive losses, and service
interruptions, resulting in direct impact on availability.
2) Account Lockout :
In an account lockout attack, an attacker attempts to lock out user accounts by
purposely failing the authentication process as many times as needed to trigger the
account lockout functionality. This in turn prevents even the valid user from
obtaining access to their account. For example, if an account lockout policy states
that users are locked out of their accounts after three failed login attempts, an
attacker can lock out accounts by deliberately sending an invalid password three
times.
web site. The goal of the CSS attack is to steal the client cookies, or any other
sensitive information, which can identify the client with the web site. With the
token of the legitimate user at hand, the attacker can proceed to act as the user in
his/her interaction with the site specifically, impersonate the user.
There are two ways for users to become infected by XSS attacks. Users are either
tricked into clicking on a specially crafted link (Non-Persistent Attack) or,
unknowingly attacked by simply visiting a Web page embedded with malicious
code (Persistent Attack). Its also important to note that a
Users Web browser or computer does not have to be susceptible to any wellknown vulnerability. This means that no amount of patching will help users, and
we become solely dependent on a websites security procedures for online safety.
Browser vendors, software developers and information security professionals
working with Web applications are the key to stopping this entirely preventable
attack.
13
3) Privilege Escalation :
A privilege escalation attack is a type of network intrusion that takes advantage of
programming errors or design flaws to grant the attacker elevated access to the
network and its associated data and applications.
Not every system hack will initially provide an unauthorized user with full access
to the targeted system. In those circumstances privilege escalation is required.
There are two kinds of privilege escalation: vertical and horizontal.
2) Session Hijacking:
Session Hijacking is when a hacker takes a control of a user session after the user
involves an attack identifying the current session IDs of a client/server
communication and taking over the clients session. Session Hijacking involves the
following three steps to an attack:
Tracking the Session: In this the hacker identifies an open session and predicts
the sequence number of the next packet.
Desynchronizing the Connection: The hacker sends the valid users system a
TCP reset or finish packet to cause them to close their session.
14
Injecting the Attackers Packet: The sends the server a TCP packet with the
predicted sequence number and the server accept it as the valid users next
packet.
2) Insecure Trust:
Identity management refers to the process of representing and recognizing entities
as digital identities in computer networks. Different identity management models
will have different trust requirements. Since there are costs associated with
establishing trust, it will be an advantage to have identity management models
with simple trust requirements.
Organizations use the Cloud in a variety of different service models (SaaS, PaaS,
and IaaS) and deployment models (Private, Public, Hybrid, and Community). There are a
number of security issues/concerns associated with cloud computing but these issues fall into
two broad categories: security issues faced by cloud providers (organizations providing software, platform-, or infrastructure-as-a-service via the cloud) and security issues faced by their
customers (companies or organizations who host applications or store data on the cloud). The
responsibility goes both ways, however: the provider must ensure that their infrastructure is
secure and that their clients data and applications are protected while the user must take
measures to fortify their application and use strong passwords and authentication measures.
When an organization elects to store data or host applications on the public cloud, it loses
its ability to have physical access to the servers hosting its information. As a result, potentially
business sensitive and confidential data is at risk from insider attacks. According to a recent
Cloud Security Alliance Report, insider attacks are the third biggest threat in cloud
computing. Therefore, Cloud Service providers must ensure that thorough background checks
are conducted for employees who have physical access to the servers in the data center.
Additionally, data centers must be frequently monitored for suspicious activity.
In order to conserve resources, cut costs, and maintain efficiency, Cloud Service
Providers often store more than one customer's data on the same server. As a result, there is a
chance that one user's private data can be viewed by other users (possibly even competitors). To
handle such sensitive situations, cloud service providers should ensure proper data isolation and
logical storage segregation.
The extensive use of virtualization in implementing cloud infrastructure brings unique
security concerns for customers or tenants of a public cloud service. Virtualization alters the
relationship between the OS and underlying hardware - be it computing, storage or even
networking. This introduces an additional layer - virtualization - that itself must be properly
configured, managed and secured. Specific concerns include the potential to compromise the
virtualization software, or "hypervisor". Thus in order to mitigate these attacks, adequate security
measures need to be applied and implemented.
16
17
1.5 Conclusion
This chapter has given a brief introduction of the cloud environment, the different types
of cloud environments and the three deployment methods namely, Software as a Service,
Infrastructure as a Service and Platform as a Service. This chapter then discusses the work that
has been done on security issues for Software as a Service along with a brief description of the
issues. Some methods to provide security to SaaS system have also been discussed in this
chapter.
18
Chapter 2
Literature Survey
2.1 Literature Survey
Software as a Service (SaaS) is the most prevalent service delivery mode for cloud systems. In
SaaS, an application is hosted by a service provider and then accessed via the World Wide Web
by a client.
The application component of SaaS are the applications offered by service providers.
Service providers deliver SaaS applications to customers over a network. The customer can
access applications via a web browser, thin client, terminal, etc.
SaaS security level depends upon which type of deployment model is used by the
vendors. Vendor can use public cloud for deployment or they can host the service by themselves
only. SaaS security mainly depends on the security of the public cloud, which can either be
dedicated or shared. To make the SaaS more secured, public cloud or self-hosted cloud should be
secured. While evaluating SaaS, its deployment type should be considered more secured.
Donghoon Kim and Mladen A. Vouk, in their paper titled A survey of common security
vulnerabilities and corresponding countermeasures for SaaS, the common security
vulnerabilities and corresponding countermeasures for SaaS have been surveyed. The paper
focuses primarily on the work published in the last five years. It is observed that the current SaaS
security trends and a lack of sufficiently broad and robust countermeasures in some of the SaaS
security area such as Identity and Access management due to the growth of SaaS applications.
Two major trends in the context of SaaS security have also been observed in this paper.
First, the Internet is in transition from HTTP to HTTPS as use of sensitive data increases.
However, it should be noted that HTTPS protocol must be applied from the very first connection
establishment until the termination to guarantee secure communication.
Second, BYOI is the current trend after BYOD. An increasing BYOD trend has incurred identity
fatigue (i.e., users have too many online ID to manage), which has created BYOI that gives users
the ability to use one of their existing social media IDs to access enterprise services
19
Acklyn Murray, Geremew Begna, Ebelechukwu Nwafor, Jeremy Blackstone, Wayne Patterson,
in their paper titled Cloud Service Security & Application Vulnerability, have called the cloud
as one of todays most appealing technology areas due to its cost-efficiency and flexibility. The
paper says that for Successful implementation of cloud computing in an enterprise requires
proper planning and understanding of emerging risks, threats, vulnerabilities, and possible
countermeasures. This paper discusses security concerns of the cloud computing model namely
Software as a Service. It also discusses Cloud-based Security Tools currently available today.
The paper also discusses Cloud Data Encryption, Homomorphic Encryption and Access
Control (Identity Access Management). Finally, this paper talks about cloud applications
focusing on select cloud applications. It also looked at some of the known vulnerability issues
associated with the applications and also the future of cloud applications.
This paper defines cloud computing as a collection of IT resources (servers, databases,
and applications) which are available on an on-demand basis, provided by a service company,
available through the internet, and provide resource pooling among multiple users. The papers
briefly states the 5 essential characteristics of cloud models: on demand service, broad network
access, resource pooling, rapid elasticity and measured service.
The paper then discusses the various security concerns of cloud computing. In SaaS, the
client has to depend on the provider for proper security measures. The provider must do the work
to keep multiple users from seeing each others data. So it becomes difficult to the user to
ensure that right security measures are in place and also difficult to get assurance that the
application will be available when needed.
The following key security elements should be carefully considered as an integral part of the
SaaS application development and deployment process:
Data security-in the SaaS model, the enterprise data is stored outside the enterprise
boundary.
Network security-in a SaaS deployment model, sensitive data is obtained from the
enterprises processed by the SaaS application and stored at the SaaS vendor end.
20
Data locality-in a SaaS model of a cloud environment, the consumer does not know
where the data is getting stored.
Data integrity-Data integrity is one of the most critical elements in any system
Data access -Data access issue is mainly related to security policies provided to the users
while accessing the data.
The paper also gave a few case studies of the attacks that have happened in the past on various
cloud systems.
Ankit Banka, Anshul Saravgi, Mangal Sain, Hoon Jae Lee, in their paper titled
Exploration of Security Parameters to Evaluate SaaS they have considered that the SaaS is
becoming the most common software delivery model for many business application, DBMS
Software, management software and virtualization. Users deploy SaaS for different purposes,
they are not aware about which one is suitable for them in terms of security, performance and
storage capacity. The data privacy and service availability in cloud computing are major security
problems. The paper proposed a system that addressed security challenges in context to SaaS.
The development of such system will help users to judge different cloud computing services
(SaaS) with respect to security issues, concerns and challenges of security in the cloud. On the
other hand, vendors will able to identify the level of their service based on security parameters
and basic requirements of SaaS. This paper proposes that the software as service evaluation
parameters can be categorized into 6 parts i.e. SaaS Deployment model, Data security and
Integrity, Regulatory compliance, Availability, Backup, Identity management and Sign-on
process. SaaS vendor offers different and various important services to the customers but,
21
vendors should also address the issues and parameters related to security, performance and cost.
This paper discussed several parameters and fundamental requirements for a secure SaaS vendor.
Ms. Shaheen Ayyub, Mr. Praveen Kaushik, in their paper titled, An analysis of Security Attacks
on Cloud wrt SaaS, identify different security attacks on cloud. More specifically the paper
presents an elaborated study of SaaS components security and determines vulnerabilities and
countermeasures. They have defined the cloud system as a large group of interconnected
computers. These computers can be personal computers or network servers; they can be public or
private.
challenges and unchartered risks have been introduced to the clouds. There are many queries that
arise as to whether a cloud is secure enough. Considering intruders there are many kinds of
possible attacks, such as Denial of service attacks, Side Channel attacks Authentication attacks,
Man-in-the-Middle Cryptographic attacks, Wrapping attacks, Malware-Injection attacks,
Flooding attacks, Browser attacks, and also Accountability checking problems. There is a critical
need to securely store, manage, share and analyze massive amounts of complex (e.g., semistructured and unstructured) data to determine patterns and trends in order to improve the quality
of healthcare, better safeguard the nation and explore alternative to provide solutions to detect
top attack types using machine learning techniques. The paper aims at identifying and analyzing
the different types of attacks on the cloud environment. Fig shows a simple cloud security
22
architecture
In the SaaS model, enterprise data is stored at the SaaS provider's data center, along with
the data of other enterprises. Moreover, if the SaaS provider is leveraging a public cloud
computing service, the enterprise data might be stored along with the data of other unrelated
SaaS applications. The cloud provider might, additionally, replicate the data at multiple locations
across countries for the purposes of maintaining high availability. The paper explains SaaS
specific security challenges and how contemporary security testing can ensure that the challenges
are met.
The paper then discusses the attacks associated with the SaaS model. The most common
attacks associated with SaaS model in a public cloud infrastructure are divided into the following
four groups:
(i) Availability,
(ii) Data Security,
(iii) Network Security,
(iv) Identity Management
2) Account Lockout :
In an account lockout attack, an attacker attempts to lock out user accounts by
purposely failing the authentication process as many times as needed to trigger the
account lockout functionality. This in turn prevents even the valid user from
obtaining access to their account. For example, if an account lockout policy states
that users are locked out of their accounts after three failed login attempts, an
attacker can lock out accounts by deliberately sending an invalid password three
times.
3) Privilege Escalation :
A privilege escalation attack is a type of network intrusion that takes advantage of
programming errors or design flaws to grant the attacker elevated access to the
network and its associated data and applications.
Not every system hack will initially provide an unauthorized user with full access
to the targeted system. In those circumstances privilege escalation is required.
There are two kinds of privilege escalation: vertical and horizontal.
25
2) Session Hijacking:
Session Hijacking is when a hacker takes a control of a user session after the user
involves an attack identifying the current session IDs of a client/server
communication and taking over the clients session. Session Hijacking involves the
following three steps to an attack:
Tracking the Session: In this the hacker identifies an open session and predicts
the sequence number of the next packet.
Desynchronizing the Connection: The hacker sends the valid users system a
TCP reset or finish packet to cause them to close their session.
Injecting the Attackers Packet: The sends the server a TCP packet with the
predicted sequence number and the server accept it as the valid users next
packet.
26
2) Insecure Trust:
Identity management refers to the process of representing and recognizing entities
as digital identities in computer networks. Different identity management models
will have different trust requirements. Since there are costs associated with
establishing trust, it will be an advantage to have identity management models
with simple trust requirements.
2.2 Conclusion
Based on the literature survey, we found the threats and issues of Software as a Service
which serve as vulnerabilities to the cloud system. In order to overcome these challenges and
vulnerabilities, the proposed work is aimed at developing solutions to overcome the challenges
that SaaS faces.
The future scope of this project is the analysis, design and implementation of the proposed
system.
27