text: 9CHAPTERCloud SecuritySecurity has been a concern since the early days of computing, when a computer was isolated in aroom and a threat could be posed only by malicious insiders. The Pandoras box1 of threats openedwide once computers were able to communicate with one another. In an interconnected world, variousembodiments of malware can migrate easily from one system to another, cross national borders, andinfect systems all over the globe.The security of computing and communication systems takes on a new urgency as society becomesincreasingly dependent on the information infrastructure. Nowadays, even the critical infrastructureof a nation can be attacked by exploiting flaws in computer security. Malware, such as the Stuxnetvirus, targets industrial control systems controlled by software [81]. Recently, the term cyberwarfarehas entered the dictionary with the meaning actions by a nation-state to penetrate another nationscomputers or networks for the purposes of causing damage or disruption [85].A computer cloud is a target-rich environment for malicious individuals and criminal organizations.It is thus no surprise that security is a major concern for existing users and for potential new usersof cloud computing services. In Section 3.10 we identified some of the security threats perceived bycloud users; in Section 9.1 we elaborate on this topic. Some of these risks are shared with other systemssupporting network-centric computing and network-centric content, e.g., service-oriented architectures(SOAs), grids, and Web-based services.Cloud computing is an entirely new approach to computing based on a new technology. It is thereforereasonable to expect that new methods to deal with some of the security threats will be developed,whereas other perceived threats will prove to be exaggerated. Indeed, early on in the life cycle of atechnology, there are many concerns about how this technology will be used . . . they represent a barrierto the acceptance . . . over the time, however, the concerns fade, especially if the value proposition isstrong enough [174].The idea that moving to a cloud liberates an organization from many technical concerns related tocomputer security and eliminates internal threats is accepted by some members of the IT community.As we shall see throughout this chapter, this seems a rather nave point of view, because outsourcingcomputing to a cloud generates major new security and privacy concerns. Moreover, service-levelagreements do not provide adequate legal protection for cloud computer users, who are often left todeal with events beyond their control.1In Greek mythology, Pandora was the first woman on Earth. When Prometheus stole fire from heaven, Zeus took vengeanceby presenting Pandora to Epimetheus, the brother of Prometheus. Pandora was given a beautiful box and told not to open itunder any circumstance. Impelled by curiosity, a trait given to her by the mischievous gods, Pandora opened the box, and allevil contained therein escaped, except for one item at the bottom of the box: Elpis, the Spirit of Hope.Cloud Computing. http://dx.doi.org/10.1016/B978-0-12-404627-6.00009-9 2013 Elsevier Inc. All rights reserved. 273274 CHAPTER 9 Cloud SecurityOne of the consequences of the breathtaking pace of development of information science and technol-ogy is that standards, regulations, and laws governing the activities of organizations supporting the newcomputing services, and in particular utility computing, have yet to be devised or adopted. As a result,many issues related to privacy, security, and trust in cloud computing are far from settled. The pool ofresources of a cloud service provider can be dispersed over several countries or even several continents.Since information can freely cross national borders there is a need for international regulations to beadopted by the countries where data centers of cloud computing providers are located.9.1 Cloud security risksSome believe that it is very easy, possibly too easy, to start using cloud services without a properunderstanding of the security risks and without the commitment to follow the ethics rules for cloudcomputing. A first question is: What are the security risks faced by cloud users? There is also thepossibility that a cloud could be used to launch large-scale attacks against other components of thecyber infrastructure. The next question is: How can the nefarious use of cloud resources be prevented?There are multiple ways to look at the security risks for cloud computing. A recent paper identifiesthree broad classes of risk [83]: traditional security threats, threats related to system availability, andthreats related to third-party data control.Traditional threats are those experienced for some time by any system connected to the Internet, butwith some cloud-specific twists. The impact of traditional threats is amplified due to the vast amount ofcloud resources and the large user population that can be affected. The fuzzy bounds of responsibilitybetween the providers of cloud services and users and the difficulties in accurately identifying the causeof a problem add to cloud users concerns.The traditional threats begin at the user site. The user must protect the infrastructure used to connectto the cloud and to interact with the application running on the cloud. This task is more difficult becausesome components of this infrastructure are outside the firewall protecting the user.The next threat is related to the authentication and authorization process. The procedures in placefor one individual do not extend to an enterprise. In this case the cloud access of the members of anorganization must be nuanced; individuals should be assigned distinct levels of privilege based on theirroles in the organization. It is also nontrivial to merge or adapt the internal policies and security metricsof an organization with the ones of the cloud.Moving from the user to the cloud, we see that the traditional types of attack have already affectedcloud service providers. The favorite means of attack are distributed denial-of-service (DDoS) attacks,which prevent legitimate users accessing cloud services; phishing;2 SQL injection;3 or cross-sitescripting.42Phishing is an attack aiming to gain information from a site database by masquerading as a trustworthy entity. Suchinformation could be names and credit card numbers, Social Security Numbers (SSN), or other personal information storedby online merchants or other service providers.3SQL injection is a form of attack typically used against a Web site. An SQL command entered in a Web form causes thecontents of a database used by the Web site to be dumped to the attacker or altered. SQL injection can be used against othertransaction-processing systems and is successful when the user input is not strongly typed and/or rigorously filtered.4Cross-site scripting is the most popular form of attack against Web sites. A browser permits the attacker to insert clientscripts into the Web pages and thus bypass the access controls at the Web site.9.1 Cloud Security Risks 275Cloud servers host multiple VMs, and multiple applications may run under each VM. Multitenency inconjunction with VMM vulnerabilities could open new attack channels for malicious users. Identifyingthe path followed by an attacker is much more difficult in a cloud environment. Traditional investigationmethods based on digital forensics cannot be extended to a cloud, where the resources are shared amonga large user population and the traces of events related to a security incident are wiped out due to thehigh rate of write operations on any storage media.Availability of cloud services is another major concern. System failures, power outages, and othercatastrophic events could shut down cloud services for extended periods of time. When such an eventoccurs, data lock-in, discussed in Section 3.5, could prevent a large organization whose business modeldepends on that data from functioning properly.Clouds could also be affected by phase transition phenomena and other effects specific to complexsystems (see Chapter 10). Another critical aspect of availability is that users cannot be assured that anapplication hosted on the cloud will return correct results.Third-party control generates a spectrum of concerns caused by the lack of transparency and limiteduser control. For example, a cloud provider may subcontract some resources from a third party whoselevel of trust is questionable. There are examples when subcontractors failed to maintain the customerdata. There are also examples when the third party was not a subcontractor but a hardware supplier andthe loss of data was caused by poor-quality storage devices [83].Storing proprietary data on a cloud is risky because cloud provider espionage poses real dangers.The terms of contractual obligations usually place all responsibilities for data security with the user.The Amazon Web Services customer agreement, for example, does not help boost user confidence asit states: We . . . will not be liable to you for any direct, indirect, incidental . . . damages . . . nor . . . beresponsible for any compensation, reimbursement, arising in connection with: (A) your inability to usethe services . . . (B) the cost of procurement of substitute goods or services . . . or (D) any unauthorizedaccess to, alteration of, or deletion, destruction, damage, loss or failure to store any of your content orother data.It is very difficult for a cloud user to prove that data has been deleted by the service provider. The lackof transparency makes auditability a very difficult proposition for cloud computing. Auditing guidelineselaborated by the National Institute of Standards and Technology (NIST), such as the Federal Informa-tion Processing Standard (FIPS) and the Federal Information Security Management Act (FISMA), aremandatory for U.S. government agencies.The first release of the Cloud Security Alliance (CSA) report in 2010 identifies seven top threats tocloud computing. These threats are the abuse of the cloud, APIs that are not fully secure, maliciousinsiders, shared technology, account hijacking, data loss or leakage, and unknown risk profiles [97].According to this report, the IaaS delivery model can be affected by all threats. PaaS can be affectedby all but the shared technology, whereas SaaS is affected by all but abuse and shared technology.The term abuse of the cloud refers to the ability to conduct nefarious activities from the cloud forexample, using multiple AWS instances or applications supported by IaaS to launch DDoS attacks or todistribute spam and malware. Shared technology considers threats due to multitenant access supportedby virtualization. VMMs can have flaws allowing a guest operating system to affect the security of theplatform shared with other virtual machines.Insecure APIs may not protect users during a range of activities, starting with authentication andaccess control to monitoring and control of the application during runtime. The cloud service providers276 CHAPTER 9 Cloud Securitydo not disclose their hiring standards and policies; thus, the risks ofmalicious insiders cannot be ignored.The potential harm due to this particular form of attack is great.Data loss or leakage are two risks with devastating consequences for an individual or an organizationusing cloud services. Maintaining copies of the data outside the cloud is often unfeasible due to thesheer volume of data. If the only copy of the data is stored on the cloud, sensitive data is permanentlylost when cloud data replication fails and is followed by a storage media failure. Because some of thedata often includes proprietary or sensitive data, access to such information by third parties could havesevere consequences.Account or service hijacking is a significant threat, and cloud users must be aware of and guard againstall methods of stealing credentials. Finally, unknown risk prole refers to exposure to the ignorance orunderestimation of the risks of cloud computing.The 2011 version of the CSA report, Security Guidance for Critical Area of Focus in Cloud Com-puting V3.0, provides a comprehensive analysis of and makes recommendations to minimize the risksinherent in cloud computing [98].An attempt to identify and classify the attacks in a cloud computing environment is presented in [147].The three actors involved in the model considered are the user, the service, and the cloud infrastructure,and there are six types of attacks possible (see Figure 9.1). The user can be attacked from two directions:UserService CloudinfrastructureControl andmonitor the cloudInvoke the serviceand get resultsRequest resourcesand manage themService-UserUser-ServiceCloud-UserUser-CloudCloud-Service Service-CloudFIGURE 9.1Surfaces of attacks in a cloud computing environment.9.2 Security: The Top Concern for Cloud Users 277from the service and from the cloud. SSL certificate spoofing, attacks on browser caches, or phishingattacks are examples of attacks that originate at the service. The user can also be a victim of attacks thateither originate at the cloud or spoofs that originate from the cloud infrastructure.The service can be attacked from the user. Buffer overflow, SQL injection, and privilege escalationare the common types of attacks from the service. The service can also be subject to attack by the cloudinfrastructure; this is probably the most serious line of attack. Limiting access to resources, privilege-related attacks, data distortion, and injecting additional operations are only a few of the many possiblelines of attack originated at the cloud.The cloud infrastructure can be attacked by a user who targets the cloud control system. The types ofattack are the same ones that a user directs toward any other cloud service. The cloud infrastructure mayalso be targeted by a service requesting an excessive amount of resources and causing the exhaustionof the resources.9.2 Security: The top concern for cloud usersVirtually all surveys report that security is the top concern for cloud users, who are accustomed to havingfull control of all systems on which sensitive information is stored and processed. Users typically operateinside a secure perimeter protected by a corporate firewall. In spite of the potential threats, users have toextend their trust to the cloud service provider if they want to benefit from the economical advantagesof utility computing. This is a fairly difficult transition, yet it is a critical one for the future of cloudcomputing. To support this transition, some argue that cloud security is in the hands of experts, so usersare even better protected than when they are in charge of their own security.Major user concerns are unauthorized access to confidential information and data theft. Data is morevulnerable in storage than while it is being processed. Data is kept in storage for extended periods oftime, whereas it is exposed to threats during processing for relatively short periods of time. Hence, closeattention should be paid to the security of storage servers and to data in transit.This does not mean that threats during processing can be ignored; such threats can originate fromflaws in the VMM, rogue VMs, or a VMBR, as discussed in Section 5.12. There is also the risk ofunauthorized access and data theft posed by rogue employees of a cloud service provider (CSP). Thehiring and security screening policies of the CSP personnel are totally opaque processes to users, andthis justifies users concern about insider attacks.The next concerns regard user control over the life cycle of data. It is virtually impossible for a userto determine whether data that should have been deleted is actually deleted. Even if it was deleted, thereis no guarantee that the media was wiped and the next user is not able to recover confidential data. Thisproblem is exacerbated because the CSPs rely on seamless backups to prevent accidental data loss. Suchbackups are done without users consent or knowledge. During this exercise data records can be lost,accidentally deleted, or accessible to an attacker.Lack of standardization is next on the list of concerns. Today there are no interoperability standards,as we discussed in Section 3.5. Many questions do not have satisfactory answers at this time. Forexample: What can be done when the service provided by the CSP is interrupted? How can we accessour critically needed data in case of a blackout? What if the CSP drastically raises its prices? What isthe cost of moving to a different CSP?278 CHAPTER 9 Cloud SecurityIt is undeniable that auditing and compliance pose an entirely different set of challenges in cloudcomputing. These challenges are not yet resolved. A full audit trail on a cloud is an infeasible propositionat this time.Another, less analyzed user concern is that cloud computing is based on a new technology expectedto evolve in the future. Case in point: autonomic computing is likely to enter the scene. When thishappens, self-organization, self-optimization, self-repair, and self-healing could generate additionalsecurity threats. In an autonomic system it will be even more difficult than at present to determine whenan action occurred, what was the reason for that action, and how it created the opportunity for an attackor for data loss. It is still unclear how autonomic computing can be compliant with privacy and legalissues.There is no doubt that multitenancy is the root cause of many user concerns. Nevertheless, multi-tenancy enables a higher server utilization thus, lower costs. Because it is one of the pillars of utilitycomputing, users have to learn to live with multitenancy. The threats caused by multitenancy differfrom one cloud delivery model to another. For example, in the case of SaaS, private information suchas name, address, phone numbers, and possibly credit card numbers of many users is stored on oneserver, and when the security of that server is compromised, a large number of users are affected. Wehave already mentioned that multitenancy threats during processing time cannot be ignored.Users are also greatly concerned about the legal framework for enforcing cloud computing security.The cloud technology has moved much faster than cloud security and privacy legislation, so users havelegitimate concerns regarding the ability to defend their rights. Because the datacenters of a CSP maybe located in several countries, it is difficult to understand which laws apply the laws of the countrywhere information is stored and processed, the laws of the countries where the information crossedfrom the user to the datacenter, or the laws of the country where the user is located.To make matters even more complicated, a CSP may outsource the handling of personal and/orsensitive information. Existing laws stating that the CSP must exercise reasonable security may bedifficult to implement in a case where there is a chain of outsourcing to companies in different countries.Finally, a CSP may be required by law to share private data with law enforcement agencies.Now we examine briefly what cloud users can and should do to minimize security risks regardingdata handling by the CSP. First, users should evaluate the security policies and the mechanisms the CSPhas in place to enforce these policies. Then users should analyze the information that would be storedand processed on the cloud. Finally, the contractual obligations should be clearly spelled out.The contract between the user and the CSP should do the following [290]:1. State explicitly the CSPs obligations to securely handle sensitive information and its obligation tocomply with privacy laws.2. Spell out CSP liabilities for mishandling sensitive information.3. Spell out CSP liabilities for data loss.4. Spell out the rules governing the ownership of the data.5. Specify the geographical regions where information and backups can be stored.To minimize security risks, a user may try to avoid processing sensitive data on a cloud. The SecureData Connector from Google carries out an analysis of the data structures involved and allows users toaccess data protected by a firewall. This solution is not feasible for several classes of application, e.g.,9.3 Privacy and Privacy Impact Assessment 279processing of medical or personnel records. It may not be feasible when the cloud processing workflowrequires cloud access to the entire volume of user data.When the volume of sensitive data or the processing workflow requires sensitive data to be storedon a public or hybrid cloud, then, whenever feasible, data should be encrypted. This poses a dilemmabecause encryption prevents indexing and searching the data. For some applications it is possible toscramble the data to make it unintelligible to an intruder. Though this system is extremely inefficient,hence impractical at this time, it is possible to process encrypted data using either a fully homomorphicencryption scheme [134] or secure two-party computations [380].9.3 Privacy and privacy impact assessmentThe term privacy refers to the right of an individual, a group of individuals, or an organization to keepinformation of a personal or proprietary nature from being disclosed to others. Many nations viewprivacy as a basic human right. The Universal Declaration of Human Rights, Article 12, states: Noone shall be subjected to arbitrary interference with his privacy, family, home or correspondence, nor toattacks upon his honor and reputation. Everyone has the right to the protection of the law against suchinterference or attacks.The U.S. Constitution contains no express right to privacy; however, the Bill of Rights reflects theconcern of the framers for protecting specific aspects of privacy.5 In the United Kingdom privacy isguaranteed by the Data Protection Act. The European Court of Human Rights has developed manydocuments defining the right to privacy.At the same time, the right to privacy is limited by laws. For example, taxation laws require individualsto share information about personal income or earnings. Individual privacy may conflict with other basichuman rights, e.g., freedom of speech. Privacy laws differ from country to country; laws in one countrymay require public disclosure of information considered private in other countries and cultures.The digital age has confronted legislators with significant challenges related to privacy as new threatshave emerged. For example, personal information voluntarily shared, but stolen from sites granted accessto it or misused, can lead to identity theft.Some countries have been more aggressive than others in addressing the new privacy concerns. Forexample, the countries of the European Union (EU) have very strict laws governing handling of personaldata in the digital age. A sweeping new privacy right, the right to be forgotten, is codified as part of abroad new proposed data protection regulation in the EU. This right addresses the following problem:Today it is very hard to escape your past when every photo, status update, and tweet lives forever onsome Web site.Our discussion targets primarily public clouds where privacy has an entirely new dimension becausethe data, often in an unencrypted form, resides on servers owned by a CSP. Services based on individualpreferences, the location of individuals, membership in social networks, or other personal information5The First Amendment covers the protection of beliefs, the Third Amendment privacy of homes, the Fourth Amendment theprivacy of person and possessions against unreasonable searches, the Fifth Amendment the privilege against self-incriminationand thus, the privacy of personal information. According to some Justices, the Ninth Amendment, which reads, The enu-meration in the Constitution, of certain rights, shall not be construed to deny or disparage others retained by the people, canbe viewed as a protection of privacy in ways not explicitly specified by the first eight amendments in the Bill of Rights.280 CHAPTER 9 Cloud Securitypresent a special risk. The owner of the data cannot rely exclusively on the CSP to guarantee the privacyof the data.Privacy concerns are different for the three cloud delivery models and also depend on the actualcontext. For example, consider Gmail, a widely used SaaS delivery model. Gmail privacy policy reads(see www.google.com/policies/privacy/, accessed on October 6, 2012): We collect infor-mation in two ways: information you give us . . . like your name, email address, telephone number orcredit card; information we get from your use of our services such as: . . . device information, . . . loginformation, . . . location information, . . . unique application numbers, . . . local storage, . . . cookiesand anonymous identifiers . . . We will share personal information with companies, organizations orindividuals outside of Google if we have a good-faith belief that access, use, preservation or disclosureof the information is reasonably necessary to: meet any applicable law, regulation, legal process orenforceable governmental request . . . protect against harm to the rights, property or safety of Google,our users or the public as required or permitted by law. We may share aggregated, nonpersonally iden-tifiable information publicly and with our partners like publishers, advertisers or connected sites. Forexample, we may share information publicly to show trends about the general use of our services.The main aspects of privacy are: the lack of user control, potential unauthorized secondary use, dataproliferation, and dynamic provisioning [290]. The lack of user control refers to the fact that user-centricdata control is incompatible with cloud usage. Once data is stored on the CSPs servers, the user losescontrol of the exact location, and in some instances the user could lose access to the data. For example,in case of the Gmail service, the account owner has no control over where the data is stored or how longold emails are stored in some backups of the servers.A CSP may obtain revenues from unauthorized secondary usage of the information, e.g., for targetedadvertising. There are no technological means to prevent this use. Dynamic provisioning refers to threatsdue to outsourcing. A range of issues is very fuzzy; for example, how to identify the subcontractors ofa CSP, what rights to the data they have, and what rights to data are transferable in case of bankruptcyor merger.There is a need for legislation addressing the multiple aspects of privacy in the digital age. A documentelaborated by the Federal Trade Commission for the U.S. Congress states [122]: Consumer-orientedcommercial Web sites that collect personal identifying information from or about consumers onlinewould be required to comply with the four widely accepted fair information practices:1. Notice. Web sites would be required to provide consumers clear and conspicuous notice of theirinformation practices, including what information they collect, how they collect it (e.g., directly orthrough nonobvious means such as cookies), how they use it, how they provide Choice, Access, andSecurity to consumers, whether they disclose the information collected to other entities, and whetherother entities are collecting information through the site.2. Choice. Web sites would be required to offer consumers choices as to how their personal identifyinginformation is used beyond the use for which the information was provided (e.g., to consummate atransaction). Such choice would encompass both internal secondary uses (such as marketing backto consumers) and external secondary uses (such as disclosing data to other entities).3. Access. Web sites would be required to offer consumers reasonable access to the information a Website has collected about them, including a reasonable opportunity to review information and to correctinaccuracies or delete information.9.4 Trust 2814. Security.Web sites would be required to take reasonable steps to protect the security of the informationthey collect from consumers. The Commission recognizes that the implementation of these practicesmay vary with the nature of the information collected and the uses to which it is put, as well as withtechnological developments. For this reason, the Commission recommends that any legislation bephrased in general terms and be technologically neutral. Thus, the definitions of fair informationpractices set forth in the statute should be broad enough to provide flexibility to the implementingagency in promulgating its rules or regulations.There is a need for tools capable of identifing privacy issues in information systems, the so-calledPrivacy Impact Assesment (PIA). As of mid-2012 there were no international standards for such aprocess, though different countries and organizations require PIA reports. An example of an analysisis to assess the legal implications of the U.K.-U.S. Safe Harbor process to allow U.S. companies tocomply with the European Directive 95/46/EC6 on the protection of personal data.Such an assessment forces a proactive attitude toward privacy. An ab-initio approach to embeddingprivacy rules in new systems is preferable to painful changes that could affect the functionality ofexisting systems.A PIA tool that could be deployed as a Web-based service is proposed in [345]. The inputs to the toolincludes project information, an outline of project documents, privacy risks, and stakeholders. The toolwill produce a PIA report consisting of a summary of findings, a risk summary, security, transparency,and cross-border data flows.The centerpiece of the PIA tool is a knowledge base (KB) created and maintained by domain experts.The users of the SaaS service providing access to the PIA tool must fill in a questionnaire. The systemuses templates to generate additional questions necessary and to fill in the PIA report. An expert systeminfers which rules are satisfied by the facts in the database and provided by the users and executes therule with the highest priority.9.4 TrustTrust in the context of cloud computing is intimately related to the general problem of trust in onlineactivities. In this section we first discuss the traditional concept of trust and then the trust necessary toonline activities.According to the Merriam-Webster dictionary, trust means assured reliance on the character, ability,strength, or truth of someone or something. Trust is a complex phenomenon; it enables cooperativebehavior, promotes adaptive organizational forms, reduces harmful conflict, decreases transaction costs,facilitates formulation of ad hoc workgroups, and promotes effective responses to crisis [309].Two conditions must exist for trust to develop. The first condition is risk, the perceived probabilityof loss; indeed, trust would not be necessary if there were no risk involved, if there is a certainty thatan action can succeed. The second condition is interdependence, the idea that the interests of one entitycannot be achieved without reliance on other entities. A trust relationship goes though three phases:(1) a building phase, when trust is formed; (2) a stability phase, when trust exists; and (3) a dissolutionphase, when trust declines.6See eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:31995L0046:en:HTML.282 CHAPTER 9 Cloud SecurityThere are different reasons for and forms of trust. Utilitarian reasons could be based on the belief thatthe costly penalties for breach of trust exceed any potential benefits from opportunistic behavior. Thisis the essence of deterrence-based trust. Another reason is the belief that the action involving the otherparty is in the self-interest of that party. This is the so-called calculus-based trust. After a long sequenceof interactions, relational trust between entities can develop based on the accumulated experience ofdependability and reliance on each other.The common wisdom is that an entity must work very hard to build trust but may lose that trust veryeasily; a single violation of trust can lead to irreparable damage. Persistent trust is trust based on thelong-term behavior of an entity, whereas dynamic trust is based on a specific context, e.g., a state of thesystem or the effect of technological developments.The trust in the Internet obscures or lacks entirely the dimensions of character and personality, natureof relationship, and institutional character of traditional trust [258]. The missing identity, personalcharacteristics, and role definitions are elements we have to deal with in the context of online trust.The Internet offers individuals the ability to obscure or conceal their identities. The resultinganonymity reduces the cues normally used in judgments of trust. The identity is critical for devel-oping trust relations; it allows us to base our trust on the past history of interactions with an entity.Anonymity causes mistrust because identity is associated with accountability and, in the absence ofidentity, accountability cannot be enforced. The opacity extends immediately from identity to personalcharacteristics. It is impossible to infer whether the entity or individual we transact with is who it pre-tends to be, since the transactions occur between entities separated in time and distance. Finally, thereare no guarantees that the entities we transact with fully understand the role they have assumed.To remedy the loss of clues, we need security mechanisms for access control, transparency of identity,and surveillance. The mechanisms for access control are designed to keep intruders and mischievousagents out. Identity transparency requires that the relationship between a virtual agent and a physicalperson should be carefully checked through methods such as biometric identification. Digital signaturesand digital certificates are used for identification. Surveillance could be based on intrusion detection oron logging and auditing. The first option is based on real-time monitoring, the second on offline siftingthrough audit records.Credentials are used when an entity is not known. Credentials are issued by a trusted authority anddescribe the qualities of the entity using the credential. A Doctor of Dental Surgery diploma hangingon the wall of a dentists office is a credential that the individual has been trained by an accrediteduniversity and hence is capable of performing a set of dental procedures; similarly, a digital signatureis a credential used in many distributed applications.Policies and reputation are two ways of determining trust. Policies reveal the conditions to obtaintrust and the actions to take when some of the conditions are met. Policies require the verification ofcredentials. Reputation is a quality attributed to an entity based on a relatively long history of interactionswith or possibly observations of the entity. Recommendations are based on trust decisions made by othersand filtered through the perspective of the entity assessing the trust.In a computer science context, trust of a party A to a party B for a service X is the measurable beliefof A in that B behaves dependably for a specified period within a specified context (in relation to serviceX) [272]. An assurance about the operation of a particular hardware or software component leadsto persistent social-based trust in that component. A comprehensive discussion of trust in computerservices in the semantic Web can be found in [26]. In Section 11.10 we discuss the concept of trust in9.5 Operating System Security 283the context of cognitive radio networks where multiple transmitters compete for free communicationchannels. In Section 11.11 we present a cloud-based trust management service.9.5 Operating system securityAn operating system (OS) allows multiple applications to share the hardware resources of a physicalsystem, subject to a set of policies. A critical function of an OS is to protect applications against awide range of malicious attacks such as unauthorized access to privileged information, tempering withexecutable code, and spoofing. Such attacks can now target even single-user systems such as personalcomputers, tablets, or smartphones. Data brought into the system may contain malicious code; thiscould occur via a Java applet, or data imported by a browser from a malicious Web site.The mandatory security of an OS is considered to be any security policy where the definition ofthe policy logic and the assignment of security attributes is tightly controlled by a system securitypolicy administrator [209]. Access control, authentication usage, and cryptographic usage policies areall elements of mandatory OS security. The first policy specifies how the OS controls the access todifferent system objects, the second defines the authentication mechanisms the OS uses to authenticatea principal, and the last specifies the cryptographic mechanisms used to protect the data. A necessarybut not sufficient condition for security is that the subsystems tasked with performing security-relatedfunctions are temper-proof and cannot be bypassed. The OS should confine an application to a uniquesecurity domain.Applications with special privileges that perform security-related functions are called trusted appli-cations. Such applications should only be allowed the lowest level of privileges required to performtheir functions. For example, type enforcement is a mandatory security mechanism that can be used torestrict a trusted application to the lowest level of privileges.Enforcing mandatory security through mechanisms left to the discretion of users could lead to abreach of security due not only to malicious intent but also carelessness or lack of understanding.Discretionary mechanisms place the burden of security on individual users. Moreover, an applicationmay change a carefully defined discretionary policy without the consent of the user, whereas a mandatorypolicy can only be changed by a system administrator.Unfortunately, commercial operating systems do not support multilayered security; such systemsonly distinguish between a completely privileged security domain and a completely unprivileged one.Some operating systems, such as Windows NT, allow a program to inherit all the privileges of theprogram invoking it, regardless of the level of trust in that program.The existence of trusted paths, mechanisms supporting user interactions with trusted software, iscritical to system security. If such mechanisms do not exist, malicious software can impersonate trustedsoftware. Some systems provide trust paths for a few functions such as login authentication and passwordchanging and allow servers to authenticate their clients.The solution discussed in [209] is to decompose a complex mechanism into several components withwell-defined roles. For example, the access control mechanism for the application space could consistof enforcer and decider components. To access a protected object, the enforcer will gather the requiredinformation about the agent attempting the access and will pass this information to the decider, togetherwith the information about the object and the elements of the policy decision. Finally, it will carry outthe actions requested by the decider.284 CHAPTER 9 Cloud SecurityA trusted-path mechanism is required to prevent malicious software invoked by an authorized appli-cation to tamper with the attributes of the object and/or with the policy rules. A trusted path is alsorequired to prevent an impostor from impersonating the decider agent. A similar solution is proposedfor cryptography usage, which should be decomposed into an analysis of the invocation mechanismsand an analysis of the cryptographic mechanism.Another question is how an OS can protect itself and the applications running under it from maliciousmobile code attempting to gain access to the data and the other resources and compromise systemconfidentiality and/or integrity. Java Security Manager uses the type-safety attributes of Java to preventunauthorized actions of an application running in a sandbox. Yet, the Java Virtual Machine (JVM)accepts byte code in violation of language semantics; moreover, it cannot protect itself from tamperingby other applications.Even if all these security problems could be eliminated, good security relies on the ability of the filesystem to preserve the integrity of Java class code. The approach to require digitally signed applets andaccept them only from trusted sources could fail due to the all-or-nothing security model. A solution tosecuring mobile communication could be to confine a browser to a distinct security domain.Specialized closed-box platforms such as the ones on some cellular phones, game consoles, and auto-mated teller machines (ATMs) could have embedded cryptographic keys that allow themselves to revealtheir true identity to remote systems and authenticate the software running on them. Such facilities arenot available to open-box platforms, the traditional hardware designed for commodity operating systems.A highly secure operating system is necessary but not sufficient unto itself; application-specificsecurity is also necessary. Sometimes security implemented above the operating system is better. Thisis the case for electronic commerce that requires a digital signature on each transaction.We conclude that commodity operating systems offer low assurance. Indeed, an OS is a complexsoftware system consisting of millions of lines of code, and it is vulnerable to a wide range of maliciousattacks. An OS poorly isolates one application from another, and once an application is compromised,the entire physical platform and all applications running on it can be affected. The platform securitylevel is thus reduced to the security level of the most vulnerable application running on the platform.Operating systems provide only weak mechanisms for applications to authenticate to one another anddo not have a trusted path between users and applications. These shortcomings add to the challenges ofproviding security in a distributed computing environment. For example, a financial application cannotdetermine whether a request comes from an authorized user or from a malicious program; in turn, ahuman user cannot distinguish a response from a malicious program impersonating the service fromthe response provided by the service itself.9.6 Virtual machine securityThe hybrid and the hosted VM models in Figures 5.3(c) and (d), respectively, expose the entire systemto the vulnerability of the host operating system; thus, we will not analyze these models. Our discussionof virtual machine security is restricted to the traditional system VM model in Figure 5.3(b), where theVMM controls access to the hardware.Virtual security services are typically provided by the VMM, as shown in Figure 9.2(a). Anotheralternative is to have a dedicated security services VM, as shown in Figure 9.2(b). A secure trusted9.6 Virtual Machine Security 285Virtual Machine Monitor andSecurity ServicesGuest VM Guest VMGuest OS Guest OSApplication ApplicationVirtual Machine Monitor and Security ServicesGuest VM Guest VMGuest OS Guest OSApplication ApplicationSecurityServices VMReducedGuest OSSecurityServicesTrusted Computing Base (TCB)Front end of VMSecurity ServicesFront end of VMSecurity Services(a) (b)FIGURE 9.2(a) Virtual security services provided by the VMM. (b) A dedicated security VM.computing base (TCB) is a necessary condition for security in a virtual machine environment; if theTCB is compromised, the security of the entire system is affected.The analysis of Xen and vBlades in Sections 5.8 and 5.10 shows that VM technology provides astricter isolation of virtual machines from one another than the isolation of processes in a traditionaloperating system. Indeed, a VMM controls the execution of privileged operations and can thus enforcememory isolation as well as disk and network access. The VMMs are considerably less complex andbetter structured than traditional operating systems; thus, they are in a better position to respond tosecurity attacks. A major challenge is that a VMM sees only raw data regarding the state of a guestoperating system, whereas security services typically operate at a higher logical level, e.g., at the levelof a file rather than a disk block.A guest OS runs on simulated hardware, and the VMM has access to the state of all virtual machinesoperating on the same hardware. The state of a guest virtual machine can be saved, restored, cloned,and encrypted by the VMM. Not only can replication ensure reliability, it can also support security,whereas cloning could be used to recognize a malicious application by testing it on a cloned systemand observing whether it behaves normally. We can also clone a running system and examine the effectof potentially dangerous applications. Another interesting possibility is to have the guest VMs filesmoved to a dedicated VM and thus, protect it from attacks [389]; this is possible because inter-VMcommunication is faster than communication between two physical machines.Sophisticated attackers are able to fingerprint virtual machines and avoid VM honeypots designed tostudy the methods of attack. They can also attempt to access VM-logging files and thus recover sensitivedata; such files have to be very carefully protected to prevent unauthorized access to cryptographic keysand other sensitive data.There is no free lunch; thus, we expect to pay some price for the better security provided by virtualiza-tion. This price includes: higher hardware costs, because a virtual system requires more resources, suchas CPU cycles, memory, disk, and network bandwidth; the cost of developing VMMs and modifyingthe host operating systems in case of paravirtualization; and the overhead of virtualization because theVMM is involved in privileged operations.286 CHAPTER 9 Cloud SecurityA recent paper [389] surveys VM-based intrusion detection systems such asLivewire andSiren,which exploit the three capabilities of a virtual machine for intrusion detection: isolation, inspection, andinterposition. We have examined isolation; inspection means that the VMM has the ability to reviewthe state of the guest VMs, and interposition means that the VMM can trap and emulate the privi-leged instruction issued by the guest VMs. The paper also discusses VM-based intrusion preventionsystems such as SVFS, NetTop, and IntroVirt and surveys Terra, a VM-based trust com-puting platform. Terra uses a trusted virtual machine monitor to partition resources among virtualmachines.The security group involved with the NIST project has identified the following VMM- and VM-basedthreats: VMM-based threats:1. Starvation of resources and denial of service for some VMs. Probable causes: (a) badly configuredresource limits for some VMs; (b) a rogue VM with the capability to bypass resource limits setin the VMM.2. VM side-channel attacks. Malicious attacks on one or more VMs by a rogue VM under the sameVMM. Probable causes: (a) lack of proper isolation of inter-VM traffic due to misconfigurationof the virtual network residing in the VMM; (b) limitation of packet inspection devices tohandle high-speed traffic, e.g., video traffic; (c) presence of VM instances built from insecureVM images, e.g., a VM image having a guest OS without the latest patches.3. Buffer overflow attacks. VM-based threats:1. Deployment of rogue or insecure VM. Unauthorized users may create insecure instances fromimages or may perform unauthorized administrative actions on existing VMs. Probable cause:improper configuration of access controls on VM administrative tasks such as instance creation,launching, suspension, reactivation, and so on.2. Presence of insecure and tampered VM images in the VM image repository. Probable causes:(a) lack of access control to the VM image repository; (b) lack of mechanisms to verify theintegrity of the images, e.g., digitally signed image.Sections 9.7, 9.8, 9.9, and 9.10 discuss in depth various aspects related to virtualization and security.9.7 Security of virtualizationThe relationship between virtualization and security is a complex one and has two distinct aspects: vir-tualization for security and the security of virtualization [215]. In Section 5.1 we praised the virtues ofvirtualization. We also discussed two of the problems associated with virtual environments: (a) the neg-ative effect on performance due to the additional overhead; and (b) the need for more powerful systemsto run multiple virtual machines. In this section we take a closer look at the security of virtualization.One of the most important virtues of virtualization is that the complete state of an operating systemrunning under a virtual machine is captured by the VM. This state can be saved in a le and then thele can be copied and shared. There are several useful implications regarding this fact:9.7 Security of Virtualization 2871. Ability to support the IaaS delivery model. In this model a user selects an image matching the localenvironment used by the application and then uploads and runs the application on the cloud usingthis image.2. Increased reliability. An operating system with all the applications running under it can be replicatedand switched to a hot standby7 in case of a system failure.3. Straightforward mechanisms to implement resource management policies: To balance the load of a system, an OS and the applications running under it can be moved toanother server when the load on the current server exceeds a high-water mark. To reduce power consumption, the load of lightly loaded servers can be moved to other serversand then these servers can be turned off or set on standby mode.4. Improved intrusion prevention and detection. In a virtual environment a clone can look for knownpatterns in system activity and detect intrusion. The operator can switch to a hot standby whensuspicious events are detected.5. Secure logging and intrusion protection. Intrusion detection can be disabled and logging can bemodified by an intruder when implemented at the OS level. When these services are implementedat the VMM/hypervisor layer, the services cannot be disabled or modified. In addition, the VMMmay be able to log only events of interest for a post-attack analysis.6. More efficient and flexible software testing. Instead of a very large number of dedicated systemsrunning under different operating systems, different versions of each operating system, and differentpatches for each version, virtualization allows the multitude of OS instances to share a small numberof physical systems.Is there a price to pay for the benefits of virtualization outlined here? There is always the other sideof a coin, so we should not be surprised that the answer to this question is a resounding yes. In a2005 paper [132] Garfinkel and Rosenblum argued that the serious implications of virtualization onsystem security cannot be ignored. This theme was revisited in 2008 by Price [297], who reaches similarconclusions.A first type of undesirable effects of virtualization leads to the diminished ability of an organizationto manage its systems and track their status: The number of physical systems in the inventory of an organization is limited by cost, space, energyconsumption, and human support. Creating a VM reduces ultimately to copying a file; therefore theexplosion in the number of VMs is a fact of life. The only limitation for the number of VMs is theamount of storage space available. In addition to quantity, there is also a qualitative aspect to the explosion in the number of VMs.Traditionally, organizations install and maintain the same version of system software. In a virtualenvironment such homogeneity cannot be enforced; thus, the number of different operating systems,their versions, and the patch status of each version will be very diverse, and this heterogeneity willtax the support team. Probably one of the most critical problems posed by virtualization is related to the software life cycle.The traditional assumption is that the software life cycle is a straight line, so patch management7A hot standby is a method of achieving redundancy. The primary and the secondary or backup systems run simultaneously.The data is mirrored to the secondary in real time so that both systems contain identical information.288 CHAPTER 9 Cloud Securityis based on a monotonic forward progress. However, the virtual execution model maps to a treestructure rather than a line; indeed, at any point in time multiple instances of the VM can be createdand then each one of them can be updated, different patches installed, and so on. This problem hasserious implications for security, as we shall see shortly.Let us now concentrate our discussion on direct implications of virtualization on security. A firstquestion is: How can the support team deal with the consequences of an attack in a virtual environ-ment? Do we expect the infection from a computer virus or a worm to be less manageable in a virtualenvironment? The surprising answer to this question is that an infection may last indefinitely.Some of the infected VMs may be dormant at the time when the measures to clean up the systemsare taken and then, at a later time, they could wake up and infect other systems. This scenario can repeatitself and guarantee that infection will last indefinitely. This is in stark contrast to the manner in whichan infection is treated in nonvirtual environments; once an infection is detected, the infected systemsare quarantined and then cleaned up. The systems will then behave normally until the next episode ofinfection occurs.The more general observation is that in a traditional computing environment a steady state can bereached. In this steady state all systems are brought up to a desirable state, whereas undesirablestates states in which some of the systems are either infected by a virus or display an undesirable pat-tern of behavior are only transient. This desirable state is reached by installing the latest version of thesystem software and then applying the latest patches to all systems. Due to the lack of control, a virtualenvironment may never reach such a steady state. In a nonvirtual environment the security can be com-promised when an infected laptop is connected to the network protected by a firewall or when a virus isbrought in on removable media. But unlike a virtual environment, the system can still reach a steady state.A side effect of the ability to record in a file the complete state of a VM is the possibility to roll back aVM. This opens wide the door for a new type of vulnerability caused by events recorded in the memoryof an attacker. Two such situations are discussed in [132]. The first is that one-time passwords aretransmitted in the clear and the protection is guaranteed only if the attacker does not have the possibilityto access passwords used in previous sessions. If a system runs the S/KEY password system8 an attackercan replay rolled-back versions and access past sniffed passwords.The second situation is related to the requirement of some cryptographic protocols, and even non-cryptographic protocols, regarding the freshness of the random-number source used for session keysand nonces.9 This situation occurs when a VM is rolled back to a state in which a random number hasbeen generated but not yet used.Even noncryptographic use of random numbers may be affected by the rollback scenario. For exam-ple, the initial sequence number for a new TCP connection must be fresh; when it is not, the door toTCP hijacking is left open.8S/KEY is a password system based on Leslie Lamports scheme. It is used by several operating systems, including Linux,OpenBSD, and NetBSD. The real password of the user is combined with a short set of characters and a counter that isdecremented at each use to form a single-use password.9A nonce is a random or pseudo-random number issued in an authentication protocol to ensure that old communicationscannot be reused in replay attacks. For example, nonces are used to calculate an MD5 of the password for HTTP digest accessauthentication. Each time the authentication challenge response code is presented, the nonces are different; thus replay attacksare virtually impossible. This guarantees that an online order to Amazon or other online store cannot be replayed.9.8 Security Risks Posed by Shared Images 289Another undesirable effect of the virtual environment affects the trust. Recall from Section 9.4 thattrust is conditioned by the ability to guarantee the identity of entities involved. Each computer systemin a network has a unique physical, or MAC, address; the uniqueness of this address guarantees that aninfected or malicious system can be identified and then cleaned, shut down, or denied network access.This process breaks down for virtual systems when VMs are created dynamically. Often, to avoid namecollision, a random MAC address is assigned to a new VM. The other effect discussed at length inSection 9.8 is that popular VM images are shared by many users.The ability to guarantee confidentiality of sensitive data is yet another pillar of security affected byvirtualization. Virtualization undermines the basic principle that the time-sensitive data stored on anysystem should be reduced to a minimum. First, the owner has very limited control over where sensitivedata is stored; it could be spread across many servers and may be left on some of them indefinitely.To be able to roll it back, a VMM records the state of a VM. This process allows an attacker to accesssensitive data the owner attempted to destroy.9.8 Security risks posed by shared imagesEven when we assume that a cloud service provider is trustworthy, many users either ignore or under-estimate the danger posed by other sources of concern. One of them, especially critical to the IaaScloud delivery model, is image sharing. For example, a user of AWS has the option to choose betweenAmazon Machine Images (AMIs), accessible through the Quick Start or the Community AMI menus ofthe EC2 service. The option of using one of these AMIs is especially tempting for a first-time or lesssophisticated user.First, lets review the process to create an AMI. We can start from a running system, from anotherAMI, or from the image of a VM and copy the contents of the file system to the S3, the so-calledbundling. The first of the three steps in bundling is to create an image, the second step is to compressand encrypt the image, and the last step is to split the image into several segments and then upload thesegments to the S3.Two procedures for the creation of an image are available: ec2-bundle-image and ec2-bundle-volume. The first is used for images prepared as loopback files10 when the data is transferredto the image in blocks. To bundle a running system, the creator of the image can use the second procedurewhen bundling works at the level of the file system and files are copied recursively to the image.To use an image, a user has to specify the resources, provide the credentials for login, provide afirewall configuration, and specify the region, as discussed in Section 3.1. Once instantiated, the useris informed about the public DNS and the virtual machine is made available. A Linux system can beaccessed using ssh at port 22, whereas the Remote Desktop at port 3389 is used for Windows.A recent paper reports on the results of an analysis carried out over a period of several months, fromNovember 2010 to May 2011, of over 5,000 AMIs available through the public catalog at Amazon [38].10A loopback le system (LOFS) is a virtual file system that provides an alternate path to an existing file system. When otherfile systems are mounted onto an LOFS file system, the original file system does not change. One useful purpose of LOFS isto take a CD-ROM image file, a file of type iso, and mount it on the file system and then access it without the need to recorda CD-R. It is somewhat equivalent to the Linux mount -o loop option but adds a level of abstraction; most commandsthat apply to a device can be used to handle the mapped file.290 CHAPTER 9 Cloud SecurityMany of the analyzed images allowed a user to undelete files and recover credentials, private keys, orother types of sensitive information with little effort and using standard tools. The results of this studywere shared with Amazons Security Team, which acted promptly to reduce the threats posed to AWSusers.The details of the testing methodology can be found in [38]. Here we only discuss the results. Thestudy was able to audit some 5,303 images out of the 8,448 Linux AMIs and 1,202 Windows AMIs atAmazon sites in the United States, Europe, and Asia. The audit covered software vulnerabilities andsecurity and privacy risks.The average duration of an audit was 77 minutes for a Windows image and 21 minutes for a Linuximage; the average disk space used was about 1 GB and 2.7 GB, respectively. The entire file system of aWindows AMI was audited because most malware targets Windows systems. Only directories containingexecutables for Linux AMIs were scanned; this strategy and the considerably longer start-up time ofWindows explain the time discrepancy of the audits across the types of AMIs.The software vulnerability audit revealed that 98% of the Windows AMIs (249 out of 253) and58% of Linux AMIs (2,005 out of 3,432) audited had critical vulnerabilities. The average num-ber of vulnerabilities per AMI were 46 for Windows and 11 for Linux. Some of the images wererather old; 145, 38, and 2 Windows AMIs and 1,197, 364, and 106 Linux were older than two,three, and four years, respectively. The tool used to detect vulnerabilities, Nessus, available fromwww.tenable.com/productus/nessus, classifies the vulnerabilities based on their severityin four groups, at levels 03. The audit reported only vulnerabilities of the highest severity level, e.g.,remote code execution.Three types of security risks were analyzed: (1) backdoors and leftover credentials, (2) unsolicitedconnections, and (3) malware. An astounding finding is that about 22% of the scanned Linux AMIscontained credentials allowing an intruder to remotely log into the system. Some 100 passwords, 995ssh keys, and 90 cases in which both passwords and keys could be retrieved were identified.To rent a Linux AMI, a user must provide the public part of the ssh key, and this key is stored inthe authorized_keys in the home directory. This opens a backdoor for a malicious creator of anAMI who does not remove his own public key from the image and can remotely log into any instanceof this AMI. Another backdoor is opened when the ssh server allows password-based authenticationand the malicious creator of an AMI does not remove his own password. This backdoor is opened evenwider as one can extract the password hashes and then crack the passwords using a tool such as Johnthe Ripper (see www.openwall.com/john).Another threat is posed by the omission of the cloud-init script that should be invoked whenthe image is booted. This script, provided by Amazon, regenerates the host key an ssh server uses toidentify itself; the public part of this key is used to authenticate the server. When this key is sharedamong several systems, these systems become vulnerable to man-in-the middle11 attacks. When this11In a man-in-the-middle an attacker impersonates the agents at both ends of a communication channel and makes thembelieve that they communicate through a secure channel. For example, if B sends her public key to A, but C is able to interceptit, such an attack proceeds as follows: C sends a forged message to A claiming to be from B but instead includes Cs publickey. Then A encrypts his message with Cs key, believing that he is using Bs key, and sends the encrypted message to B. Theintruder, C, intercepts, deciphers the message using her private key, possibly alters the message, and re-encrypts the publickey B originally sent to A. When B receives the newly encrypted message, she believes it came from A.9.8 Security Risks Posed by Shared Images 291script does not run, an attacker can use the NMap tool12 to match the ssh keys discovered in the AMIimages with the keys obtained via NMap. The study reports that the authors were able to identify morethan 2,100 instances following this procedure.Unsolicited connections pose a serious threat to a system. Outgoing connections allow an outsideentity to receive privileged information, e.g., the IP address of an instance and events recorded by asyslog daemon to files in the var/log directory of a Linux system. Such information is available onlyto users with administrative privileges. The audit detected two Linux instances with modified syslogdaemons, which forwarded to an outside agent information about events such as login and incomingrequests to a Web server. Some of the unsolicited connections are legitimate for example, connectionsto a software update site. It is next to impossible to distinguish legitimate from malicious connections.Malware, including viruses, worms, spyware, and trojans, were identified using ClamAV, a softwaretool with a database of some 850,000 malware signatures, available from www.clamav.net. Twoinfected Windows AMIs were discovered, one with a Trojan-Spy (variant 50112) and a second one with aTrojan-Agent (variant 173287). The first trojan carries out keylogging and allows stealing data from thefiles system and monitoring processes; the AMI also included a tool called Trojan.Firepass to decryptand recover passwords stored by the Firefox browser.The creator of a shared AMI assumes some privacy risks; his private keys, IP addresses, browserhistory, shell history, and deleted files can be recovered from the published images. A malicious agentcan recover the AWS API keys that are not password protected. Then the malicious agent can startAMIs and run cloud applications at no cost to herself, since the computing charges are passed on tothe owner of the API key. The search can target files with names such as pk [0 9A Z ].pem orcert [0 9A Z ].pem used to store API keys.Another avenue for a malicious agent is to recover ssh keys stored in files named id_dsa and id_rsa.Though ssh keys can be protected by a passphrase,13 the audit determined that the majority of sshkeys (54 out of 56) were not password protected.Recovery of IP addresses of other systems owned by the same user requires access to the lastlogor the lastb databases. The audit found 187 AMIs with a total of more than 66,000 entries in theirlastb databases. Nine AMIs contained Firefox browser history and allowed the auditor to identify thedomains contacted by the user.In addition, 612 AMIs contained at least one shell history file. The audit analyzed 869 history filesnamed /.history, /.bash_history, and /.sh_history, containing some, 160,000 lines of commandhistory, and identified 74 identification credentials. Users should be aware that when HTTP is used totransfer information from a user to a Web site, the GET requests are stored in the logs of the Web server.Passwords and credit card numbers communicated via a GET request can be exploited by a maliciousagent with access to such logs. When remote credentials such as the DNS management password areavailable, a malicious agent can redirect traffic from its original destination to her own system.12NMap is a security tool running on most operating systems, including Linux,MicrosoftWindows, Solaris, HP-UX, SGI-IRIX,and BSD variants such as Mac OS X, to map the network. Mapping the network means discovering hosts and services in anetwork.13A passphrase is a sequence of words used to control access to a computer system; it is the analog of a password but providesadded security. For high-security nonmilitary applications, NIST recommends an 80-bit-strength passphrase. Hence a securepassphrase should consist of at least 58 characters, including uppercase and alphanumeric characters. The entropy of writtenEnglish is less than 1.1 bits per character.292 CHAPTER 9 Cloud SecurityRecovery of deleted files containing sensitive information poses another risk for the provider of animage. When the sectors on the disk containing sensitive information are actually overwritten by anotherfile, recovery of sensitive information is much harder. To be safe, the creator of the image effort shoulduse utilities such as shred,scrub,zerofree, or wipe to make recovery of sensitive informationnext to impossible. If the image is created with the block-level tool discussed at the beginning ofthis section, the image will contain blocks of the file system marked as free; such blocks may containinformation from deleted files. The audit process was able to recover files from 98% of the AMIs using theexundelete utility. The number of files recovered from an AMI was as low as 6 and as high as 40,000.We conclude that the users of published AMIs as well as the providers of images may be vulnerableto a wide range of security risks and must be fully aware of the dangers posed by image sharing.9.9 Security risks posed by a management OSWe often hear that virtualization enhances security because a virtual machine monitor or hypervisor isconsiderably smaller than an operating system. For example, the Xen VMM discussed in Section 5.8 hasapproximately 60,000 lines of code, one to two orders of magnitude fewer than a traditional operatingsystem.14A hypervisor supports stronger isolation between the VMs running under it than the isolation betweenprocesses supported by a traditional operating system. Yet the hypervisor must rely on a management OSto create VMs and to transfer data in and out from a guest VM to storage devices and network interfaces.A small VMM can be carefully analyzed; thus, one could conclude that the security risks in a virtualenvironment are diminished. We have to be cautious with such sweeping statements. Indeed, the trustedcomputer base (TCB)15 of a cloud computing environment includes not only the hypervisor but alsothe management OS. The management OS supports administrative tools, live migration, device drivers,and device emulators.For example, the TCB of an environment based on Xen includes not only the hardware and thehypervisor but also the management operating system running in the so-called Dom0 (see Figure 9.3).System vulnerabilities can be introduced by both software components, Xen, and the managementoperating system. An analysis of Xen vulnerabilities reports that 21 of the 23 attacks were againstservice components of the control VM [90]; 11 attacks were attributed to problems in the guest OScaused by buffer overflow16 and 8 were denial-of-service attacks.Dom0 manages the building of all user domains (DomU), a process consisting of several steps:1. Allocate memory in the Dom0 address space and load the kernel of the guest operating system fromsecondary storage.2. Allocate memory for the new VM and use foreign mapping17 to load the kernel to the new VM.14The number of lines of code of the Linux operating system evolved in time from 176,250 for Linux 1.0.0, released in March1995, to 1,800,847 for Linux 2.2.0, released in January 1999; 3,377,902 for Linux 2.4.0, released in January 2001; and to5,929,913 for Linux 2.6.0, released in December 2003.15The TCB is defined as the totality of protection mechanisms within a computer system, including hardware, firmware, andsoftware, the combination of which is responsible for enforcing a security policy.16Buffer overflow allows execution of arbitrary code in a privileged mode.17The foreign mapping mechanism of Xen is used by Dom0 to map arbitrary memory frames of a VM into its page tables.9.9 Security Risks Posed by a Management OS 293Domain0 controlinterfaceVirtualx86CPUVirtual memory Virtual networkVirtual blockdevicesXenApplication Application ApplicationGuest OSGuest OS Guest OSx86 HardwareManagement OSDevice emulationDevice driversLive migrationAdministrative toolsFIGURE 9.3The trusted computing base of a Xen-based environment includes the hardware, Xen, and the managementoperating system running in Dom0. The management OS supports administrative tools, live migration, devicedrivers, and device emulators. A guest operating system and applications running under it reside in a DomU.3. Set up the initial page tables for the new VM.4. Release the foreign mapping on the new VM memory, set up the virtual CPU registers, and launchthe new VM.A malicious Dom0 can play several nasty tricks at the time when it creates a DomU [215]: Refuse to carry out the steps necessary to start the new VM, an action that can be considered adenial-of-service attack. Modify the kernel of the guest operating system in ways that will allow a third party to monitor andcontrol the execution of applications running under the new VM. Undermine the integrity of the new VM by setting the wrong page tables and/or setting up incorrectvirtual CPU registers. Refuse to release the foreign mapping and access the memory while the new VM is running.Let us now turn our attention to the run-time interaction between Dom0 and a DomU. Recall thatDom0 exposes a set of abstract devices to the guest operating systems using split drivers. The front endof such a driver is in the DomU and its back end in Dom0, and the two communicate via a ring in sharedmemory (see Section 5.8).In the original implementation of Xen a service running in a DomU sends data to or receives datafrom a client located outside the cloud using a network interface in Dom0; it transfers the data to I/Odevices using a device driver in Dom0.18 Therefore, we have to ensure that run-time communication18Later implementations of Xen offer the pass-through option.294 CHAPTER 9 Cloud Securitythrough Dom0 is encrypted. Yet, Transport Layer Security (TLS) does not guarantee that Dom0 cannotextract cryptographic keys from the memory of the OS and applications running in DomU.A significant security weakness of Dom0 is that the entire state of the system is maintained byXenStore (see Section 5.8). A malicious VM can deny access to this critical element of the system toother VMs; it can also gain access to the memory of a DomU. This brings us to additional requirementsfor confidentiality and integrity imposed on Dom0.Dom0 should be prohibited from using foreign mapping for sharing memory with a DomU unlessa DomU initiates the procedure in response to a hypercall from Dom0. When this happens, Dom0should be provided with an encrypted copy of the memory pages and of the virtual CPU registers. Theentire process should be closely monitored by the hypervisor, which, after the access, should check theintegrity of the affected DomU.A virtualization architecture that guarantees confidentiality, integrity, and availability for the TCB ofa Xen-based system is presented in [215]. A secure environment when Dom0 cannot be trusted can onlybe ensured if the guest application is able to store, communicate, and process data safely. Thus, the guestsoftware should have access to secure secondary storage on a remote storage server for keeping sensitivedata and network interfaces to communicate with the user. We also need a secure run-time system.To implement a secure run-time system we have to intercept and control the hypercalls used for com-munication between a Dom0 that cannot be trusted and a DomU we want to protect. Hypercalls issued byDom0 that do notread orwrite to the memory of a DomU or to its virtual registers should be allowed.Other hypercalls should be restricted either completely or during specific time windows. For example,hypercalls used by Dom0 for debugging or for the control of the IOMMU19 should be prohibited.We cannot restrict some of the hypercalls issued by Dom0, even though they can be harmful to thesecurity of a DomU. For example, foreign mapping and access to the virtual registers are needed to saveand restore the state of a DomU. We should check the integrity of a DomU after the execution of suchsecurity-critical hypercalls.New hypercalls are necessary to protect: The privacy and integrity of the virtual CPU of a VM. When Dom0 wants to save the state of theVM, the hypercall should be intercepted and the contents of the virtual CPU registers should beencrypted. When a DomU is restored, the virtual CPU context should be decrypted and then anintegrity check should be carried out. The privacy and integrity of the VM virtual memory. The page table update hypercall should beintercepted and the page should be encrypted so that Dom0 handles only encrypted pages of theVM. To guarantee integrity, the hypervisor should calculate a hash of all the memory pages beforethey are saved by Dom0. Because a restored DomU may be allocated a different memory region, anaddress translation is necessary (see [215]). The freshness of the virtual CPU and the memory of the VM. The solution is to add to the hash aversion number.As expected, the increased level of security and privacy leads to increased overhead. Measurementsreported in [215] show increases by factors of 1.7 to 2.3 for the domain build time, 1.3 to 1.5 for thedomain save time, and 1.7 to 1.9 for the domain restore time.19An input/output memory management unit (IOMMU) connects main memory with a DMA-capable I/O bus. It mapsdevice-visible virtual addresses to physical memory addresses and provides memory protection from misbehaving devices.9.10 Xoar : Breaking the Monolithic Design of the TCB 2959.10 Xoar : Breaking the monolithic design of the TCBXoar is a modified version of Xen that is designed to boost system security [90]. The security modelof Xoar assumes that the system is professionally managed and that privileged access to the systemis granted only to system administrators. The model also assumes that the administrators have neitherfinancial incentives nor the desire to violate the trust of the user. The security threats come from a guestVM that could attempt to violate the data integrity or the confidentiality of another guest VM on thesame platform or exploit the code of the guest. Another source of threats are bugs in the initializationcode of the management virtual machine.Xoar is based on microkernel20 design principles. Xoar modularity makes exposure to risk explicitand allows guests to configure access to services based on their needs. Modularity allows the designersof Xoar to reduce the size of the systems permanent footprint and increase the level of security ofcritical components. The ability to record a secure audit log is another critical function of a hypervisorfacilitated by a modular design. The design goals of Xoar are: Maintain the functionality provided by Xen. Ensure transparency with existing management and VM interfaces. Maintain tight control of privileges; each component should only have the privileges required by itsfunction. Minimize the interfaces of all components to reduce the possibility that a component can be usedby an attacker. Eliminate sharing and make sharing explicit whenever it cannot be eliminated to allow meaningfullogging and auditing. Reduce the opportunity of an attack targeting a system component by limiting the time windowwhen the component runs.These design principles aim to break the monolithic TCB design of a Xen-based system. Inevitably,this strategy has an impact on performance, but the implementation attempted to keep the modularizationoverhead to a minimum.A close analysis shows that booting the system is a complex activity, but the fairly large modulesused during booting are no longer needed once the system is up and running. In Section 5.8 we saw thatXenStore is a critical system component because it maintains the state of the system; thus, it is a primecandidate for hardening. The ToolStack is only used for management functions and can only be loadedupon request.The Xoar system has four types of components: permanent, self-destructing, restarted upon request,and restarted on timer (see Figure 9.4):1. Permanent components. XenStore-State maintains all information regarding the state of the system.2. Components used to boot the system. These components self-destruct before any user VM is started.Two components discover the hardware configuration of the server, including the PCI drivers, andthen boot the system:20A microkernel (-kernel) supports only the basic functionality of an operating system kernel, including low-level addressspace management, thread management, and inter-process communication. Traditional operating system components suchas device drivers, protocol stacks, and file systems are removed from the microkernel and run in the user space.296 CHAPTER 9 Cloud SecurityXenStore-StatePermanentXenStore-LogicGuest VMSelf-destructing Restarted on timerRestarted oneach requestPCIBackBootstrapper NetBackBlkBackToolstackBuilderQEMUXOARFIGURE 9.4Xoar has nine classes of components of four types: permanent, self-destructing, restarted upon request, andrestarted on timer. A guest VM is started using the Toolstack by the Builder, and it is controlled by theXenStore-Logic. The devices used by the guest VM are emulated by the QEMU component. PCIBack. Virtualizes access to PCI bus configuration. Bootstrapper. Coordinates booting of the system.3. Components restarted on each request: XenStore-Logic. Toolstack. Handles VM management requests, e.g., it requests the Builder to create a new guestVM in response to a user request. Builder. Initiates user VMs.4. Components restarted on a timer. Two components export physical storage device drivers and thephysical network driver to a guest VM: Blk-Back. Exports physical storage device drivers using udev21 rules. NetBack. Exports the physical network driver.Another component, QEMU, is responsible for device emulation. Bootstrapper, PCIBack, and Builderare the most privileged components, but the first two are destroyed once Xoar is initialized, and the21udev is the device manager for the Linux kernel.9.10 Xoar : Breaking the Monolithic Design of the TCB 297Virtual Machine AQEMUBlkBack A NetBack AToolstack ABuilderVirtual Machine BBlkBack B NetBack BToolstack BXenXenStoreXenStore-Logic XenStore-StateFIGURE 9.5Component sharing between guest VMs in Xoar. Two VMs share only the XenStore components. Each onehas a private version of the BlkBack: NetBack and Toolstack.Builder is very small; it consists of only 13,000 lines of code. XenStore is broken into two components:XenStore-Logic and XenStore-State. Access control checks are done by a small monitor module inXenStore-State. Guest virtual machines share only the Builder, XenStore-Logic, and XenStore-State(see Figure 9.5).Users of Xoar are able to only share service VMs with guest VMs that they control. To do so, theyspecify a tag on all the devices of their hosted VMs. Auditing is more secure; whenever a VM is created,deleted, stopped, or restarted by Xoar, the action is recorded in an append-only database on a differentserver accessible via a secure channel.Rebooting provides the means to ensure that a virtual machine is in a known-good state. To reducethe overhead and the increased start-up time demanded by a reboot, Xoar uses snapshots instead ofrebooting. The service VM snapshots itself when it is ready to service a request; similarly, snapshots ofall components are taken immediately after their initialization and before they start interacting with otherservices or guest VMs. Snapshots are implemented using a copy-on-write mechanism22 to preserve anypage about to be modified.22Copy-on-write (COW) is used by virtual memory operating systems to minimize the overhead of copying the virtual memoryof a process when a process creates a copy of itself. Then the pages in memory that might be modified by the process or byits copy are marked as COW. When one process modifies the memory, the operating systems kernel intercepts the operationand copies the memory, so that changes in one processs memory are not visible to the other.298 CHAPTER 9 Cloud Security9.11 A trusted virtual machine monitorNow lets briefly analyze the design of a trusted virtual machine monitor (TVMM) called Terra [131].The novel ideas of this design are: The TVMM should support not only traditional operating systems, by exporting the hardware abstrac-tion for open-box platforms, but also the abstractions for closed-box platforms discussed in Section9.5. Note that the VM abstraction for a closed-box platform does not allow the contents of the systemto be either manipulated or inspected by the platform owner. An application should be allowed to build its software stack based on its needs. Applications requiringa very high level of security, e.g., financial applications and electronic voting systems, should rununder a very thin OS supporting only the functionality required by the application and the ability toboot. At the other end of the spectrum are applications demanding low information assurance23 buta rich set of OS features; such applications need a commodity operating system. Support additional capabilities to enhance system assurance: Provide trusted paths from a user to an application. We saw in Section 9.5 that such a path allowsa human user to determine with certainty the identity of the VM it is interacting with and, at thesame time, allows the VM to verify the identity of the human user. Support attestation, which is the ability of an application running in a closed box to gain trustfrom a remote party by cryptographically identifying itself. Provide airtight isolation guarantees for the TVMM by denying the platform administrator rootaccess.The management VM is selected by the owner of the platform but makes a distinction between aplatform owner and a platform user. The management VM formulates limits to the number of guestVMs running on the platform, denies access to guest VMs that are deemed unsuitable to run, and grantsaccess to I/O devices to running VMs and limits their CPU, memory, and disk usage. Guest VMs exposea raw hardware interface, including virtual network interfaces to virtual devices. The TVMM runs at thehighest privilege level and is secure even from the actions of the platform owner; it provides applicationdevelopers with the semantics of a closed-box platform.A significant challenge to the security of a TVMM comes from the device drivers used by differentVMs running on the platform. Device drivers are large or very large software components, especiallythe drivers for high-end wireless cards and video cards. There is also a large variety of such drivers,many hastily written to accommodate new hardware features. Typically, the device drivers are thelowest-quality software components found in the kernel of an operating system; thus, they pose thehighest security risks. To protect a TVMM, the device drivers should not be allowed to access sensitiveinformation and their memory access should be limited by different hardware protection mechanisms.Malicious I/O devices can use different hardware capabilities, such as DMA, to modify the kernel.23Information assurance (IA) involves managing the risks related to the use, processing, storage, and transmission of informa-tion, as well as protecting the systems and processes used for those purposes. IA implies protection of the integrity, availability,authenticity, nonrepudiation, and confidentiality of the application data.9.13 Exercises and Problems 2999.12 Further readingThe Cloud Security Alliance (CSA) is an organization with more than 100 corporate members. It aimsto address all aspects of cloud security and serve as a cloud security standards incubator. The reports,available from the organizations Web site, are periodically updated; the original report was publishedin 2009 [96] and subsequent reports followed ([97,98]).A seminal paper on the negative implications of virtualization on system security, When VirtualIs Harder Than Real: Security Challenges in Virtual Machine-Based Computing Environments, byGarfinkel and Rosenblum [132], was published in 2005, followed by another one that reaches similarconclusions [297].A 2010 paper [147] presents a taxonomy of attacks on computer clouds, and [101] covers manage-ment of the security services life cycle. Security issues vary depending on the cloud model, as discussedin [273]. The privacy impact on cloud computing is the topic of [345]. A 2011 book [373] gives a com-prehensive look at cloud security. Privacy and protection of personal data in the European Communityis discussed in a document available at ec.europa.eu/justice/policies/privacy.One paper [28] analyzes the inadequacies of current risk controls for a cloud. Intercloud securityis the theme of [48]. Secure collaborations are discussed in [51]. Another paper [216] presents anapproach to secure VM execution under untrusted management OS. The social impact of privacy incloud computing is analyzed in [118]. An anonymous access control scheme is presented in [182].An empirical study into the security exposure to hosts of hostile virtualized environments can befound at taviso.decsystem.org/virtsec.pdf. A model-based security-testing approach tocloud computing is presented in [384]. Several other relevant aspects of security are covered in [152,268, 341].9.13 Exercises and problemsProblem 1. Identify the main security threats for the SaaS cloud delivery model on a public cloud.Discuss the different aspects of these threats on a public cloud vis--vis the threats posedto similar services provided by a traditional service-oriented architecture running on aprivate infrastructure.Problem 2. Analyze how the six attack surfaces discussed in Section 9.1 and illustrated in Figure 9.1apply to the SaaS, PaaS, and IaaS cloud delivery models.Problem 3. Analyze Amazons privacy policies and design a service-level agreement you would signif you were to process confidential data using AWS.Problem 4. Analyze the implications of the lack of trusted paths in commodity operating systems andgive one or more examples showing the effects of this deficiency. Analyze the implicationsof the two-level security model of commodity operating systems.Problem 5. Compare the benefits and the potential problems due to virtualization on public, private,and hybrid clouds.300 CHAPTER 9 Cloud SecurityProblem 6. Read [38] and discuss the measures taken by Amazon to address the problems posed byshared images available from AWS. Would it be useful to have a cloud service to analyzeimages and sign them before being listed and made available to the general public?Problem 7. Analyze the risks posed by foreign mapping and the solution adopted by Xoar. What isthe security risk posed by XenStore?Problem 8. Read [90] and discuss the performance of the system. What obstacles to its adoption bythe providers of IaaS services can you foresee?Problem 9. Discuss the impact of international agreements regarding privacy laws on cloud computing.Cloud Security9.1 Cloud Security Risks9.2 Security: The Top Concern for Cloud Users9.3 Privacy and Privacy Impact Assessment9.4 Trust9.5 Operating System Security9.6 Virtual Machine Security9.7 Security of Virtualization9.8 Security Risks Posed by Shared Images9.9 Security Risks Posed by a Management OS9.10 Xoar: Breaking the Monolithic Design of the TCB9.11 A Trusted Virtual Machine Monitor9.12 Further Reading9.13 Exercises and Problems