Abstract
Among the service models provided by the cloud, the software as a service (SaaS) model has had the greatest growth. This service model is an attractive option for organizations, as they can transfer part or all of their IT functions to a cloud service provider. However, there is still some uncertainty about deciding to carry out a migration of all data to the cloud, mainly due to security concerns. The SaaS model not only inherits the security problems of a traditional application, but there are unique attacks and vulnerabilities for a SaaS architecture. Additionally, some of the attacks in this environment are more devastating due to nature of shared resources in the SaaS model. Some of these attacks and vulnerabilities are not yet well known to software designers and developers. This lack of knowledge has negative consequences as it can expose sensitive data of users and organizations. This paper presents a rigorous systematic review using the SALSA framework to know the threats, attacks and countermeasures to mitigate the security problems that occur in a SaaS environment. As part of the results of this review, a classification of threats, attacks and countermeasures in the SaaS environment is presented.
Introduction
Cloud computing (CC) allows clients connected through the Internet to share resources on demand in order to offer availability, scalability and low cost [16,28]. Some benefits that CC provides is elasticity, easy access, monitoring and some free services [15,45]. Therefore, CC reduces expenses and facilitates system administration [20].
There are four possible cloud deployment models and each of them has some particular security issues. The first are public clouds, which provide services through the internet. These types of clouds are considered less secure because it is more difficult to protect the data against malicious attacks. The second are private clouds, which are managed by the owner or by a third party. In this way it is possible to adjust the security levels according to the needs of the company. The third type is the community cloud, which is one implemented by several organizations sharing the responsibility for configuration. This can cause the lack of application of appropriate security protocols, management and mitigation. The fourth is the hybrid cloud, which is a combination of different models. Unfortunately, this type of cloud inherits all the security issues of the other models [3,16].
On the other hand, the cloud service delivery models are, firstly, infrastructure as a service (IaaS), in which the Internet media infrastructure is delivered to the client. The user has a provision of processing and storage resources [6,28,39]. Secondly, platform as a service (PaaS), in which the necessary means are offered so that software developers can deploy their applications [6,28,31]. Thirdly, software as a service (SaaS), which provides access to applications through the use of the Internet [6,28,30]. Unlike an onsite application, SaaS runs under the PaaS model [43].
Unlike a traditional application in which the software belongs to the client, in the SaaS model the application is managed by the cloud provider. However, the number of applications that are being implemented in SaaS is increasing [25]. In addition, the IT industry can change the application sales model with the use of cloud equipment with the provision of SaaS services, reducing marketing costs [46]. Unfortunately CC inherits security issues from on-site systems, networks, and in addition, vulnerabilities in web services, particularly for the SaaS model, in which the software is accessed through the cloud. The main obstacle that an organization faces in migrating its software to an SaaS architecture is the uncertainty of the security of its data due to the fear of information leakage [8]. Cloud customers do not have the management of the cloud infrastructure. Thus the user should know the security measures that the cloud provider has implemented [3].
The remainder of this paper is organized as follows. Section 2 describes the SALSA framework and its phases and the method used to carry out this review using the SALSA framework. In Section 3, the results are presented, answering the research questions. Finally, the conclusions of this research are presented in Section 4.
Methodology
This research has used the reference framework called SALSA, described in [12]. This is a method for carrying out a systematic review of a specific topic. The phases of SALSA will now be presented. This section presents the steps taken to carry out the systematic review from the proposal of questions to define the research approach to the analysis of the information collected.
Protocol
In this phase the scope of the research is explained. To fulfill this objective, the PICOC framework (Population, Intervention, Comparison, Outcome and Context) [12] has been used. The research objective is defined in the form of questions, which are the following:
What are the threats that affect SaaS? What are the most common attacks in SaaS? Do the same threats apply to cloud applications and on-site applications? Will it be possible to classify the threats? What security countermeasures can be applied in SaaS?
Search
In this step, the databases are selected, and a chain is created to carry out a search in these databases in order to obtain documents relevant to the investigation. Databases related to the research area were used. Table 1 shows the search strings and databases, as well as the number of papers that each result yielded.
Search results classified by database
Search results classified by database
In this step, an evaluation is carried out to select the documents that will be useful for the investigation. For this purpose, a study selection and quality evaluation were made [12]. Table 2 shows the criteria that were used to include and exclude papers. Table 3 shows the filters applied to a total of 6723 articles. At the end of the process, there were 47 articles for the systematic review.
Inclusion and exclusion criteria
Inclusion and exclusion criteria
Results of the selection of studies
In this phase, relevant information was subsequently obtained. A classification of the papers was carried out in order to create an information base for its analysis. This method is divided into two phases: data extraction and categorization. The data extraction phase involves obtaining important data in the papers selected in the previous step of the SALSA framework. Categorization involves the data classification and processing for the analysis [12]. To carry out this step with the selected papers, three main themes were identified to cover the objective of the investigation: threats, attacks, and security countermeasures. An example of the data extracted from the first three papers is shown in Table 4.
Example of data extracted from different papers
Example of data extracted from different papers
In the analysis, the data obtained from the synthesis is used to provide sufficient elements to answer the research questions. The objective is to map the relations between the themes of each document. In this step, each of the previously selected papers was analyzed, based on what was captured during the synthesis phase. The objective to be fulfilled is that this analysis manages to answer the research questions raised in Section 2.1. First, papers related to the issue of threats that occur in SaaS will be analyzed in Section 2.5.1. Subsequently, papers related to attacks and their countermeasures that may occur in SaaS in will be analyzed in Section 2.5.2. Lastly, Section 2.5.3 treats papers related to security measures that can be applied to avoid threats and attacks.
Threats
In the papers presented in [3] and [8] it is mentioned that the cloud inherits the security problems of on-site applications, particularly the SaaS service model. Even exploiting a vulnerability in SaaS can be more devastating than a traditional Web application.
A total of six papers deal with the threats that exist in SaaS. Threats can adversely affect the system in the cloud. Confidentiality, integrity, and the availability of resources in the cloud are important pillars of the cloud security software guarantee [38]. Threats are known for potential damage to the system [1]. The most important threats are those of malicious employees and password stealing. The types of threats that may occur in SaaS are the following [38]:
The threat agents can carry out an attack. This kind of threat can originate from a user or software.
An application or an attacker that makes attacks on the network from the Internet.
An application of malicious logic.
An attacker being a cloud client who has shared resources of an infrastructure.
Malicious experts are human threats that act on behalf of cloud providers.
Based on the information collected from the six documents corresponding to the topic of threats, it was possible to create a list of threats that affect SaaS. In Section 3.4.1, the authors present an elaborate classification based on the types of threats presented above and the security objectives that are affected. Below is the list of threats found in the different papers:
Loss of control over resources. In the cloud, customers give their data to a provider. This may cause the provider to not report how the information has been managed. Therefore, customers must sensitively manage migration to the cloud and pay special attention to the contracts with the provider [1]. Misuse of cloud computing resources. Having a simple access interface could allow malicious users or employees to attack the cloud infrastructure. To reduce the risk of attack, encryption must be implemented, and background checks for employees must be performed. In addition, it is necessary to use authentication controls [1]. Different service delivery/receiving models. The cloud can change how it provides its services. User data can change location through different servers, so they can be governed by different security laws due to their location. As a solution, the use of point to point encryption is proposed as well as standardized security laws [38]. Insecure interface and API. The cloud grants APIs for the communication with its services. Therefore, cloud security depends largely on the APIs. If an API is attacked, this can affect the availability of the service in the cloud. As a security countermeasure, robust security mechanisms and a secure interface must be implemented [38]. Malicious insiders. In general, the employees of the cloud provider have a high level of access, so they are likely to be able to access sensitive customer information [1]. They are well trained and well-versed in the infrastructure, tools, and equipment to carry out their tasks. However, they can suddenly become adversaries when they are dissatisfied with the organization’s decision-making, their claims are not met, they are not rewarded, and the organization does not treat them well [49]. The provider should have tools that can track their employees in order to detect malicious activity [1]. As a prevention countermeasure the use of agreement reports and non-compliance notifications is recommended. In addition, the security and management process must be transparent [38]. Data Scavenging. User data can be hosted in the same storage segment. On the other hand, several backup copies of the information hosted in different locations can be made. Unfortunately, this hinders requests for complete data deletion, so an attacker could steal the data from an organization. As a security measure it is recommended that the user point out the confidentiality of their data [1]. Attackers can recover deleted data, because the information can still exist in the storage medium unless it is destroyed [22,22]. Data Loss or Leakage. Data loss occurs when information is transferred or stored incorrectly [22]. Data loss is caused by different factors, such as weak encryption, simple passwords, and the lack of backups [38]. Data leakage is a major concern, so strict controls are required [42]. As security measures, it is proposed to use secure passwords and encryption methods, periodic backups, and the use of secure APIs [38]. Service/account hijacking. This occurs when an attacker manages to steal a user’s access credentials. When this is achieved, an attacker can use the user’s password to make new attacks [1,7,38]. This type of attack was classified as the third highest risk in the cloud, according to a report made by the cloud security alliance [2]. As security measures, robust authentication, the use of security policies, and the use of encryption in communication channels are proposed [38]. Risk profiling. Usually the cloud grants hardware and software maintenance to a third party. This can be beneficial; however, the cloud can ignore the procedures, leading to greater risks and threats. As a security measure, there should be a knowledge of the records, as well as of the aspects of the data and infrastructure, to ensure that data usage and alterations of the system are monitored. To reduce this threat, the cloud must take into consideration the details of the infrastructure, data, and records. In addition, the cloud must have a monitoring system [38]. Identity theft. This occurs when an attacker pretends to be another user, using that user’s privileges, credits, and other resources, causing the victim to lose confidence. This can happen due to different factors, such as keyloggers, phishing, and weak authentication methods. As a security measure, the use of robust authentication and secure password recovery methods are proposed [38].
Attacks and countermeasures
An attack is a method of exploiting a vulnerability [1]. Regarding this issue, a total of 30 attacks that affect SaaS were found. It should be clarified that not all attacks can occur in this service model. A total of 25 papers describe the 30 attacks. On the other hand, 21 papers describe the countermeasures that can be applied to avoid the attacks mentioned above.
A summary of the list of attacks and their possible countermeasures
A summary of the list of attacks and their possible countermeasures
Table 5 shows a summary of the list of attacks and their possible countermeasures. In the Section 3.4.2, the authors develop a classification of attacks based on the STRIDE model and the security objectives involved in each attack. Below is the list of attacks and their possible countermeasures according to the information collected from the different papers that were analyzed.
This section presents some additional security measures. This will be useful to improve the security of applications hosted in an SaaS environment. The authors classified security countermeasures into five groups: which are security measures in charge of the cloud provider, security in tenant environments, cloud-based secure authentication (CSA), antivirus and IDS and Methods for mitigating Authentication and Access Control threats. This classification describes the recommended methods to make the multi-tenant environment secure, the use of an antivirus program, and the use of an IDS. In addition, control measures are presented for the authentication and authorization of users. A summary of these security measures is shown in the section.
Report
The final step of the SALSA framework is to make a report in the form of a paper in which the results obtained from the systematic review are presented [12]. The results of this work are shown in the following section.
Results
This section will answer the questions raised in Section 2.1, which have been possible to answer by completing the systematic review.
What are the threats that affect SaaS?
Section 2.5.1 presented in detail the threats that may occur in SaaS. In summary, threats may originate from software, an attacker, or a malicious employee. We consider that the threats that represent the greatest risk are identity theft, account theft, and malicious employees, because they may affect the confidentiality, integrity, and availability of the information.
What are the most common attacks in SaaS?
In Section 2.5.2, a total of 30 attacks were presented: they can be considered the most common ones that can occur in an SaaS. Figure 1 shows the most mentioned attacks in the papers that have been investigated.

Attacks with more publications.
Section 2.5.1 mentioned the fact that the SaaS service model inherits the security problems of traditional applications. Below is a series of security issues that occur in SaaS.
Security issues
Attacks, such as denial of services, are more devastating in cloud environments due to the nature of infrastructure sharing. Traditional firewalls and network intrusion detection and prevention (IDP) system are not effective in counteracting DDoS, XML-DoS and HTTP-DoS attacks. Applications hosted under the SaaS scheme require another defense level, at the application level, to reduce the possibility of the occurrence of these attacks [8]. SaaS has specific tasks, so to avoid risks, it is necessary to protect the repositories of information and stored data [22]. To improve security in the cloud, authentication, authorization and access control must be granted to users [35]. To guarantee security in a cloud application, it is necessary to have confidentiality, integrity and availability, which is known as CIA. Some methods to improve data security involving CIA are the following: encryption applied to data at rest and in transit, implementation of hash functions, to validate the integration it is possible to use the third-party audit service (TPA), avoidance of storing the credentials and encryption keys in the same place, application of robust authentication, for availability it is recommended to make periodic backups and duplication.
Data security
To guarantee security in a cloud application, it is necessary to have confidentiality, integrity and availability, which is known as CIA [6,18]. Some methods to improve data security involving the CIA are the following: encryption applied to data at rest and transit, implementation of hash functions, to validate the integration it is possible to use the third-party audit service (TPA), not Store in the same place the credentials and encryption keys, application of robust authentication, for availability it is recommended to make periodic backups, redundancy and duplication [24].
Software security
Software security is used to improve application security. This is in order to avoid vulnerabilities such as a buffer overflow [39]. Creating a vulnerable application can enable its exploitation by malicious users. There are currently many security threats that affect even cloud applications, some of which are not detected by security tools. Therefore, good control is required in the development process [37]. Software security is the main problem that cloud systems and application professionals may face. Data owners may be concerned that data and software are not under their control but are owned by the cloud. In addition, the data owner may not know where the data is geographically at any time [4].
Multitenant security
A feature of SaaS is multitenant [2]. The use of multitenant allows several clients to connect to the same logic of the application, ensuring that each one has their personalized application and does not have access to the data of another tenant [38]. In addition, it allows saving resources because efficiency is improved when using a shared infrastructure [18]. The use of this technology increases the fear of the service user, because their data may be in the same database as their competitor or a malicious user [5]. Because the data of the different tenants are in the same infrastructure, it can happen that if one tenant is attacked, this can affect the others [38]. In addition, forensic analysis is difficult [33].
Will it be possible to classify threats, attacks and countermeasures?
This section presents the elaborated classifications for threats, attacks and additional security measures. The threats were classified based on their type and the security objective involved. In the case of the attacks, they were classified according to the type of STRIDE threat that they represent and their respective security objectives involved. Finally, the security measures were classified according to the security group they represent.
Classification of threats and the security objectives affected
Classification of threats and the security objectives affected
In this work, a classification of the threats described in Section 2.5.1 was presented. This classification was made based on the type of the threats. Furthermore, the authors also present what kind of security objective is involved in each threat. Table 6 shows the classification carried out by the authors. The types of threats are represented by a number, according to the following list:
The threat agents can carry out an attack. This Type of threat can be originated by a user or by software. An application or an attacker that makes attacks on the network from the Internet. An application of malicious logic. An attacker being a cloud client who has shared resources of an infrastructure. Malicious experts are human threats that act on behalf of cloud providers.
Attack classification
Created by Microsoft, STRIDE is a way to classify threats. It employs the following six categories. The category of spoofing contains the threats that lead to identity theft and authentication information. Manipulation is when the data is intentionally modified. Repudiation is when another user of the system performs actions outside the control of the administration. Disclosure of information refers to unauthorized access to information. Denial of service involves attacking the availability of the system. Lastly, elevation of privileges occurs when a user manages to increase their level of privileges within the system [14,16].
Table 7 shows a new classification regarding the types of threats caused by different attacks. Furthermore, the security objectives involved in each attack are presented in the same table.
Classification of attacks in the STRIDE model and the security objectives affected
Classification of attacks in the STRIDE model and the security objectives affected
Another contribution in this work has been the classification of the countermeasures presented in Section 2.5.3. We classified such countermeasures into five groups: security measures in charge of the cloud provider, security in tenant environments, cloud-based secure authentication, antivirus and IDS and Methods for mitigating Authentication and Access Control threats. The groups of security measures are presented in Table 8.
What security measures can be applied in SaaS?
In Section 2.5.2, some forms of mitigation were also presented at the end of each attack. A summary of all attacks and their countermeasures was presented in Table 5.
Section 2.5.3 presented a series of general recommendations to be applied by both the provider and the SaaS customer.
Additional security measures by group
Additional security measures by group
In this paper, a systematic review of 47 selected papers was made in order to describe the threats, attacks and countermeasures for SaaS. The systematic review was carried out based on the SALSA Framework inspired by [12]. This was extremely useful because it was only necessary to read a few articles completely. From a total of 6723 papers, a complete reading was only necessary for 47 articles, which results in a saving of time. In addition, using this technique, only papers relevant for this research were selected. Therefore, the systematic review allowed time savings and the use of quality articles for this investigation.
In addition to the security issues that affect the cloud, applications in SaaS inherit the problems of the traditional model, such as Web Services. This study aimed to find out what are the threats facing organizations that are planning to migrate their applications to the cloud, as well as the security measures to reduce the likelihood of their occurrence. Currently there are few papers that describe safety aspects exclusively in SaaS, so this study aimed to remedy this bias in the literature.
The threats that represent the greatest risk are identity theft, account theft, and malicious employees. These could affect the confidentiality, integrity, and availability of the information. Moreover, a total of 30 attacks were presented, which can be considered as the most common that can occur in SaaS. The Zombie attack, Man-in-the-middle Attack, Code Injection, and Social Engineering are some examples. Therefore, the SaaS service model inherits the security problems of traditional applications which can here be even more devastating, such as the zombie attack, due to the architecture of the cloud.
The implementation of the security measures presented in this investigation can prevent the loss of information and money in an SaaS environment due to the prevention of computer attacks.By carrying out this work, a contribution is made to the knowledge of security problems in SaaS as well as how to mitigate them, which is useful for scholars and professionals in the areas of software, security and cloud computing. Thus, the next step in this research will be to create a security framework to assess the security of an application in SaaS.
We consider that some of the current security challenges in SaaS are directly related to the users of the service, such as: knowing their responsibilities for a safe use of the cloud, having measures to detect insecure APIs and being alerted when there is a vulnerability in their computer equipment. In addition, another aspect to consider is the employees of the cloud provider, because their activities can be difficult to trace. Therefore, future research works are invited to address the security issues surrounding SaaS users and employees of the cloud provider. Human behavior related to computer security would be a very interesting topic for research. For example, knowing the most common actions performed by a disgruntled employee would help to be more prepared in the event of any such incident. In the case of users, it would be useful to know what are the most common mistakes they make that allow an attacker to perform a malicious action. Finally, another topic to deal with may be knowing the loss of resources that these human behaviors represent.
