ieee standard - cloud computing security issues-libre

Upload: duc-trung

Post on 12-Oct-2015

25 views

Category:

Documents


0 download

TRANSCRIPT

  • Cloud Computing Security Issues

    Guma Ali Islamic University of Technology (IUT)

    Board Bazaar, Gazipur-1704, Bangladesh E-mail: [email protected]

    Abstract Cloud computing is one of today's most exciting technologies due to its ability to reduce costs associated with computing while increasing flexibility and scalability for computer processes. Despite the potential gains achieved from the cloud computing, the organizations are slow in accepting it due to security issues associated with it. The purpose of the paper was to provide an overall security issues of Cloud computing with the aim to highlight the security concerns that should be properly addressed and managed to realize the full potential of Cloud computing. This paper met these twin research aims through an extensive study of relevant literature. In this paper, the author discuss security issues for cloud computing particularly trust, legal issues, confidentiality, authenticity, encryption, virtual machine attack, shared resources, etc. The main conclusions drawn from this paper was that, the Security of the cloud infrastructure relies on trusted computing and cryptography. Organizational data must be protected in a manner consistent with policies, whether in the organizations computing center or the cloud. Having a list of common outsourcing provisions, such as privacy and security standards, regulatory and compliance issues, service level requirements and penalties, change management processes, continuity of service provisions, and termination rights, provides a useful starting point

    Keywords Cloud Computing, Models, Security Issues, SaaS, IaaS, PaaS.

    I. INTRODUCTION Cloud computing has been defined by National Institute of

    Standards and Technology (NIST) as a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction[1]. Cloud computing can be considered a new computing paradigm with implications for greater flexibility and availability at lower cost. Because of this, cloud computing has been receiving a good deal of attention lately.

    Cloud describes the use of a collection of services, applications, information, and infrastructure comprised of pools of compute, network, information and storage resources. These components can be rapidly orchestrated, provisioned, implemented and decommissioned, and scaled up or down providing for an on demand utility-like model of allocations and consumption. Cloud systems are very economical and useful for businesses of all sizes. Cloud computing is a technology that everyone would love to take full advantage of, it offers so much: limitless flexibility, better reliability and security, enhanced collaboration, portability, simpler devices, unlimited storage, access to lightning quick processing power,

    virtual, affordable and open (or closed) [2]. There is a critical need to securely store, manage, share and analyze massive amounts of complex (e.g., semi-structured and unstructured) data to determine patterns and trends in order to improve the quality of healthcare, better safeguard the nation and explore alternative energy. Because of the critical nature of the applications, it is important that clouds be secure.

    Numerous quantifiable business benefits of adopting the cloud are compelling enterprises to consider a prominent role for cloud technologies in their overall IT strategies. However, when contemplating cloud adoption, the questions of data privacy and cloud computing security concerns are typically raised. Corporate policies or the regulations of the governing jurisdictions impact the way sensitive data is managed where it is located, what type of data it is, who has access to it and often determine the degree to which organizations can realize the value of cloud computing. When enterprises are considering migrating software applications from on-premise versions to cloud-based versions, they frequently need to address cloud security concerns such as data residency (data sovereignty), industry compliance mandates and third party obligations surrounding the use and processing of sensitive data.

    Cloud computing services benefit from economies of scale achieved through versatile use of resources, specialization and other efficiencies. However, it is an emerging form of distributed computing still in its infancy. The term itself is often used today with a range of meanings and interpretations [3].

    II. CLOUD COMPUTING MODELS Service Models

    Three widely referenced service models have evolved [4, 5, 6]: Software-as-a-Service (SaaS) also sometimes

    referred to as Service or Application Clouds are offering implementations of specific business functions and business processes that are provided with specific cloud capabilities, i.e. They provide applications / services using a cloud infrastructure or platform, rather than providing cloud features themselves. Often, kind of standard application software functionality is offered within a cloud. Software-as-a-Service (SaaS) enables a software deployment model in which one or more applications and the computing resources to run them are provided for use on demand as a turnkey service. It can reduce the total cost of hardware and software development, maintenance, and operations. E.g.

  • Google Docs, Salesforce CRM, SAP Business by Design. Platform-as-a-Service (PaaS) enables a software deployment model in which the computing platform is provided as an on-demand service that applications can be developed upon and deployed. It can reduce the cost and complexity of buying, housing, and managing hardware and software components of the platform. Platform as a Service (PaaS), provide computational resources via a platform upon which applications and services can be developed and hosted. PaaS typically makes use of dedicated APIs to control the behaviour of a server hosting engine which executes and replicates the execution according to user requests (e.g. access rate). As each provider exposes his / her own API according to the respective key capabilities, applications developed for one specific cloud provider cannot be moved to another cloud host there are however attempts to extend generic programming models with cloud capabilities (such as MS Azure). E.g. Force.com, Google App Engine, Windows Azure (Platform).

    Infrastructure as a Service (IaaS) also referred to as Resource Clouds, provide (managed and scalable) resources as services to the user in other words, they basically provide enhanced virtualisation capabilities. Accordingly, different resources may be provided via a service interface: Data & Storage Clouds deal with reliable access to data of potentially dynamic size, weighing resource usage with access requirements and / or quality definition. E.g. Amazon S3, SQL Azure. Infrastructure-as-a-Service (IaaS) enables a software deployment model in which the basic computing infrastructure of servers, software, and network equipment is provided as an on-demand service upon which a platform to develop and execute applications can be founded. It can be used to avoid buying, housing, and managing the basic hardware and software infrastructure components. The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, and deployed applications; and possibly limited control of select networking components (e.g., host firewalls).

    Cloud computing service models

    Deployment Models: o Private cloud: The cloud infrastructure is

    provisioned for exclusive use by a single organization comprising multiple consumers (e.g., business units). It may be owned, managed, and operated by the organization, a third party, or some combination of them, and it may exist on or off premises.

    o Community cloud: The cloud infrastructure is provisioned for exclusive use by a specific community of consumers from organizations that have shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be owned, managed, and operated by one or more of the organizations in the community, a third party, or some combination of them, and it may exist on or off premises.

    o Public cloud: The cloud infrastructure is provisioned for open use by the general public. It may be owned, managed, and operated by a business, academic, or government organization, or some combination of them. It exists on the premises of the cloud provider.

    o Hybrid cloud: The cloud infrastructure is a composition of two or more distinct cloud infrastructures (private, community, or public) that remain unique entities, but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load balancing between clouds).

  • Cloud computing can be implemented entirely within an organizational computing environment as a private cloud. However, it should be clear from the service models described that a main thrust of cloud computing is to provide a means to outsource parts of that environment to an outside party. As with any outsourcing of information technology services, concerns exist about the implications for computer security and privacy, particularly with moving vital applications or data from the organizations computing center to the computing center of another organization.

    While reducing cost is a primary motivation for moving towards a cloud provider, reducing responsibility for security or privacy should not be. Ultimately, the organization is accountable for the overall state of the outsourced service. Monitoring and addressing security and privacy issues remain in the purview of the organization, just as other important issues, such as performance, availability, and recovery.

    This paper looks at the main security issues pertinent to cloud computing, as they relate to outsourcing portions of the organizational computing environment. It points out areas of concern with public clouds that require special attention.

    III. KEY SECURITY ISSUES Security is considered one of the most critical aspects in

    everyday computing, and it is no different for cloud computing due to the sensitivity and importance of data stored in the cloud [7]. Cloud computing infrastructures use new technologies and services, most which havent been fully evaluated with respect to security. Cloud Computing has several major issues and concerns, such as data security, trust, expectations, regulations, and performance issues. The aim of this research is to examine the major security issues affecting Cloud computing. Cloud services are very exciting and useful, but have many open security issues [9]. One issue with cloud computing is that the management of the data might not be fully trustworthy; the risk of malicious insiders in the cloud and the failing of cloud services have received a strong attention by companies [7].

    Security is a troubling concern for cloud computing as shown in a Survey conducted by the IDC enterprise panel which confirms that Security is the top concern of cloud users [8]. Cloud systems has lots of potential; however, several concerns such as those discussed in this article slows the adoption, and in turn, the growth and usage of cloud systems; therefore, cloud Security is one of the issues that need to be addressed in order to allow faster growth of cloud computing. These major security issues in cloud computing include:

    A. Trust Trust between the Service provider and the customer is one

    of the main issues cloud computing faces today. There is no way for the customer to be sure whether the management of the Service is trustworthy, and whether there is any risk of insider attacks. This is a major issue and has received strong attention by companies. The only legal document between the customer and service provider is the Service Level Agreement (SLA). This document contains all the agreements between

    the customer and the service provider; it contains what the service provider is doing and is willing to do [9]. However, there is currently no clear format for the SLA, and as such, there may be services not documented in the SLA that the customer may be unaware that it will need these services at some later time.

    B. Legal Issues There are several regulatory requirements, privacy laws and

    data security laws that cloud systems need to adhere to. One of the major problems with adhering to the laws is that laws vary from country to country, and users have no control over where their data is physically located.

    C. Confidentiality Confidentiality is preventing the improper disclosure of

    information. Preserving confidentiality is one of the major issues faced by cloud systems since the information is stored at a remote location that the Service Provider has full access to. Therefore, there has been some method of preserving the confidentiality of data stored in the cloud. The main method used to preserve data confidentiality is data encryption; however encryption brings about its own issues, some of which are discussed later.

    D. Authenticity (Integrity and Completeness) Integrity is preventing the improper modification of

    information. Preserving Integrity, like confidentiality is another major issue faced by cloud systems that needs to be handled, and is also mainly done by the use of data encryption. In a common database setup, there would be many users with varying amount of rights. A user with a limited set of rights might need to access a subset of data, and might also want to verify that the delivered results are valid and complete (that is, not poisoned, altered or missing anything) [9].

    A common approach to such a problem is to use digital signatures; however, the problem with digital signatures is that not all users have access to the data superset, therefore they cannot verify any subset of the data even if theyre provided with the digital signature of the superset; and too many possible subsets of data exist to create digital signatures for each.

    Recently, researchers have tried to find solutions to this problem. The primary proposal is to provide customers with the supersets signature and some metadata along with the query results. This metadata (called verification objects) lets customers fill in the blanks of the data which they dont have access to and be able to validate the signature. There are two primary variations of this idea, one based on Merkle trees and the other based on signature aggregation [9].

    E. Encryption The main method used for ensuring data security in the

    cloud is by encryption. Encryption seems like the perfect solution for ensuring data security; however, it is not without its drawbacks. Encryption takes considerably more computational power, and this is multiplied by several factors

  • in the case of databases [9]. Cryptography greatly affects database performance because each time a query is run, a large amount of data must be decrypted; and since the main operation on a database is running queries, the amount of decryption operations quickly become excessive.

    F. Key Management Since encryption is the main method used to ensure data

    security, naturally we would be faced with the problem of key management. The encryption keys cannot be stored on the cloud, therefore the customer must manage and control a key management system for any cryptographic method used [9]. For simple encryption schemas such as the Early Approaches described above, there might not be a problem since a single encryption and decryption key can be used for the entire system. However, almost any real database requires a more complex system [9]. This simple system to manage keys might even have to take the form of a small database which would have to be a secure local database; which again, may defeat the purpose of moving the original database to the cloud. Clearly Key Management is a real problem for cloud systems using encryption, and recent research has been done on using two-level encryption which allows the Key Management system to be stored in the cloud. This scheme is efficient, and may be the solution to the Key Management problems cloud systems faces; however, it hasnt yet been applied specifically to database encryption.

    G. Multi-Tenancy Cloud systems share computational resources, storage,

    services between multiple customer applications (tenants) in order to achieve efficient utilization of resources while decreasing cost, this is referred to as multi-tenancy. However, this sharing of resources violates the confidentiality of tenants IT Assets. This implies that unless theres a degree of isolation between these tenants, it is very difficult to keep an eye on the data flowing between different realms which make the multi-tenancy model insecure for adoption [8]. Some multi-tenancy issues are:

    H. Virtual Machine Attacks Typically, in a cloud, business data and applications are

    stored and ran within virtual machines. These virtual machines are usually running on a server with other virtual machines, some of which can be malicious. Research has shown that attacks against, with and between virtual machines are possible.

    If one of the virtual machines on a server hosts a malicious application that breaches legal or operational barriers; this may lead legal authorities, the service provider or other authorities to shutting down and blocking access the entire server. This would greatly affect the users of the other Virtual Machines on the server.

    I. Shared Resources Assuming the cloud system isnt running on a virtual

    machine, the hardware is now an issue. Research has shown

    that it is possible for information to flow between processor cores, meaning that an application running on one core of a processor can get access to information of another application running on another core. Applications can also pass data between cores.

    Multicore processors often have complex and large caches. With these hardware resources, if data is decrypted in the cloud, if even for a moment for comparison, it would then exist unencrypted in the memory of some one of the cloud machines. The problem is that we dont know what other application is running on these machines. Other malicious cloud users or the service provider can me monitoring the machine memory and be able to read our data. However, the likelihood of these hardware attacks is very small [9].

    If one of the applications on a server hosts is malicious, this may lead to the service provider or some other authority shutting down and blocking access the entire server in order to investigate and determine the malicious application. This would greatly affect the users of the other applications on the server.

    J. Development Life Cycle From the perspective of the application development,

    developers face the complexity of building secure applications that may be hosted in the cloud. The speed at which applications will change in the cloud will affect both the System Development Life Cycle (SDLC) and security [10,11]. Developers have to keep in mind that PaaS applications should be upgraded frequently, so they have to ensure that their application development processes are flexible enough to keep up with changes [12]. However, developers also have to understand that any changes in PaaS components can compromise the security of their applications. Besides secure development techniques, developers need to be educated about data legal issues as well, so that data is not stored in inappropriate locations. Data may be stored on different places with different legal regimes that can compromise its privacy and security.

    K. Bugs in Large-Scale Distributed Systems One of the difficult challenges in Cloud Computing is

    removing errors in these very large scale distributed systems. A common occurrence is that these bugs cannot be reproduced in smaller configurations, so the debugging must occur at scale in the production datacenters.

    One opportunity may be the reliance on virtual machines in Cloud Computing. Many traditional SaaS providers developed their infrastructure without using VMs, either because they preceded the recent popularity of VMs or because they felt they could not afford the performance hit of VMs. Since VMs are de rigueur in Utility Computing, that level of virtualization may make it possible to capture valuable information in ways that are implausible without VMs.

    L. Data locality In a SaaS model of a cloud environment, the consumers use

    the applications provided by the SaaS and process their

  • business data. But in this scenario, the customer does not know where the data is getting stored. In many a cases, this can be an issue. Due to compliance and data privacy laws in various countries, locality of data is of utmost importance in many enterprise architecture [13]. For example, in many EU and South America countries, certain types of data cannot leave the country because of potentially sensitive information. In addition to the issue of local laws, there's also the question of whose jurisdiction the data falls under, when an investigation occurs. A secure SaaS model must be capable of providing reliability to the customer on the location of the data of the consumer. M. Data integrity

    Data integrity is one of the most critical elements in any system. Data integrity is easily achieved in a standalone system with a single database. Data integrity in such a system is maintained via database constraints and transactions. Transactions should follow ACID (Atomicity, Consistency, Isolation and Durability) properties to ensure data integrity. Most databases support ACID transactions and can preserve data integrity.

    Next in the complexity chain are distributed systems. In a distributed system, there are multiple databases and multiple applications. In order to maintain data integrity in a distributed system, transactions across multiple data sources need to be handled correctly in a fail safe manner. This can be done using a central global transaction manger. Each application in the distributed system should be able to participate in the global transaction via a resource manager. This can be achieved using a 2-phase commit protocol as per XA standard.

    Enter the world of SOA and Cloud computing, and the problem of the data integrity gets magnified even more, as there is a mix of on-premise and SaaS applications exposed as service. SaaS applications are multi-tenant applications hosted by a third party. SaaS applications usually expose their functionality via XML based APIs (Application Program Interfaces). Also, in SOA based environments, many on-premise applications expose their functionality via SOAP and REST web services as well. One of the biggest challenges with web services is transaction management. At the protocol level, HTTP (Hyper Text Transfer Protocol) does not support transactions or guaranteed delivery, so the only option is to implement these at the API level. Although there are standards available for managing data integrity with web services such as WS-Transaction and WS-Reliability, these standards are not yet mature and not many vendors have implemented these. Most SaaS vendors expose their web services APIs without any support for transactions. Also, each SaaS application may have different levels of availability and SLA (service-level agreement), which further complicates management of transactions and data integrity across multiple SaaS applications.

    The lack of integrity controls at the data level (or, in the case of existing integrity controls, bypassing the application logic to access the database directly) could result in profound problems. Architects and developers need to approach this

    danger cautiously, making sure they do not compromise databases integrity in their zeal to move to cloud computing.

    N. Web application security SaaS is software deployed over the internet and/or is

    deployed to run behind a firewall in local area network or personal computer. The key characteristics include Network-based access to, and management of, commercially available software and managing activities from central locations rather than at each customers site, enabling customers to access application remotely via the Web. SaaS application development may use various types of software components and frameworks. These tools can reduce time-to-market and the cost of converting a traditional on-premise software product or building and deploying a new SaaS solution. Examples include components for subscription management, grid computing software, web application frameworks and complete SaaS platform products. One of the must-have requirements for a SaaS application is that it has to be used and managed over the web (in a browser)[14]. The software which is provided as a service resides in the cloud without tying up with the actual users. This allows improvising the software without inconveniencing the user. Security holes in the web applications thus create a vulnerability to the SaaS application. In this scenario, the vulnerability can potentially have detrimental impact on all of the customers using the cloud. The challenge with SaaS security is not any different than with any other web application technology, however one of the problems is that traditional network security solutions such as network firewalls, network intrusion detection and prevention systems (IDS & IPS), do not adequately address the problem. Web applications introduce new security risks that cannot effectively be defended against at the network level, and do require application level defenses.

    IV. CONCLUSION In conclusion, the Security of the cloud infrastructure relies

    on trusted computing and cryptography. Organizational data must be protected in a manner consistent with policies, whether in the organizations computing center or the cloud. No standard service contract exists that covers the ranges of cloud services available and the needs of different organizations. Having a list of common outsourcing provisions, such as privacy and security standards, regulatory and compliance issues, service level requirements and penalties, change management processes, continuity of service provisions, and termination rights, provides a useful starting point [15]. The migration to a cloud computing environment is in many ways an exercise in risk management. Both qualitative and quantitative factors apply in an analysis. The risks must be carefully balanced against the available safeguards and expected benefits, with the understanding that accountability for security remains with the organization.

  • REFERENCES [1] P. Mell, T. Grance, The NIST Definition of Cloud Computing,

    Version 15, National Institute of Standards and Technology, October 7, 2009, http://csrc.nist.gov/groups/SNS/cloud-computing

    [2] http://www.rackspace.com/cloud/what_is_cloud_computing/ [3] G. Fowler, B. Worthen, The Internet Industry is on a Cloud

    Whatever That May Mean, The Wall Street Journal, March 26, 2009 [4] N. Leavitt. Is Cloud Computing Really Ready for Prime Time?,

    IEEE Computer, January 2009 [5] L. M. Vaquero1, L. Rodero-Merino1, J. Caceres, M. Lindner, A Break

    in the Clouds: Towards a Cloud Definition, Computer Communication Review, January 2009, http://ccr.sigcomm.org/online/files/p50-v39n1l-vaqueroA.pdf

    [6] L. Youseff, M. Butrico, D. D. Silva, Toward a Unified Ontology of Cloud Computing, Grid Computing Environments Workshop, held with SC08, November 2008. http://www.cs.ucsb.edu/~lyouseff/CCOntology/CloudOntology.pdf

    [7] AlZain, M., Soh, B., & Pardede, E. (2012). A New Approach Using Redundancy Technique to Improve Security in Cloud Computing. IEEE.

    [8] Behl, A., & Behl, K. (2012). An Analysis of Cloud Computing Security Issues. IEEE, 109-114.

    [9] Weis, J., & Alves-Foss, J. (2011). Securing Database as a Service. IEEE Security and Privacy, 49-55.

    [10] Rittinghouse JW, Ransome JF (2009) Security in the Cloud. In: Cloud Computing. Implementation, Management, and Security, CRC Press

    [11] Morsy MA, Grundy J, Mller I (2010) An analysis of the Cloud Computing Security problem. In: Proceedings of APSEC 2010 Cloud Workshop. APSEC, Sydney, Australia

    [12] Ertaul L, Singhal S, Gkay S (2010) Security challenges in Cloud Computing. In: Proceedings of the 2010 International conference on Security and Management SAM10. CSREA Press, Las Vegas, US, pp 3642

    [13] Softlayer. Service Level Agreement and Master Service Agreement, 2009 http://www.softlayer.com/sla.html, accessed on: 11 December 2009

    [14] Zalewski M. Browser security handbook, 2009 http://code.google.com/p/browsersec/, accessed on: 19 February 2010.

    [15] S. Overby, How to Negotiate a Better Cloud Computing Contract, CIO, April 21, 2010, http://www.cio.com/article/591629/How_to_Negotiate_a_Better_Cloud_Computing_Contract