SECURING VIRTUAL IMAGES USING BLIND AUTHENTICATION PROTOCOL

Download (0)

Full text

(1)

SECURING VIRTUAL IMAGES USING

BLIND AUTHENTICATION PROTOCOL

RAVIKIRAN PEELUKHANA*

Department of computer science, Pondicherry University, Puducherry, 605014, India

SHANTHI BALA P

Department of computer science, Pondicherry University, Puducherry, 605014, India

AGHILA G

Department of computer science, Pondicherry University, Puducherry, 605014, India

Abstract:

The cloud virtualization technology improves the economy of scale for data centers through server consolidation, application consolidation and resources consolidation. Virtualization allows the provider to move Virtual Images from more congested host to less-congested hosts, as required. Enterprises also get improved server reliability, which in turn increases application performance. Despite these benefits, it includes major security challenges with the portability of Virtual Images between different cloud providers.The security and integrity of Virtual images is the foundation for the overall security of the cloud. Many of the Virtual images are intended to be shared by diverse and unrelated users. Unfortunately, existing approaches to cloud security built by cloud practitioners fall short when dealing with Virtual images. Secure transmission of virtual Images can be possible by providing authentication using Blind Authentication protocol (BAP). The proposed approach authenticates the allocation of virtual images using Blind authentication protocol. It provides provable protection against replay and client side attacks even if the keys of the user are compromised. The encryption also provides template protection, revocability and alleviates the concerns on privacy in widespread use of biometrics. Carrying out the authentication in the encrypted domain is a secure process, while the encryption key acts as an additional layer of security.

Keywords: Cloud computing, virtual images, security, Biometric authentication.

1. Introduction

(2)

primarily because of two reasons. First, as the lack of security or integrity is not known until its first run. Second, as the time it takes to start a running instance of an image, scan and patch the instance, and then captures it back to a new image, is on the order of hours. This makes the maintenance operations time consuming. For typical size, cloud repository it would easily take months to perform just one round of maintenance. Virtual image sharing provides an easier way of developing and propagating Trojan horses. Conventionally, a Trojan horse program can only be developed and tested on the hacker's machine, and will only run on a victim's machine if the victim's software stack satisfies its dependencies. Hence, to target a wide range of victims, the hacker must develop and test variances of his Trojan horse on different software stacks and make sure that the right version is delivered to the right victim. Using a virtual image as a transporter for the Trojan horse makes the hacker's job easier. This paper is organized as follows: Section 2 provides a survey of virtual image security concerns. Proposed architecture and its algorithm for securing the virtual images and process flow diagram are described in Section 3, Section 4 gives the implementation details and section 5 concludes the work.

2. Related Work

2.1. Vulnerabilities rampant in the state of the art cloud offerings

Bernd Grobauer et al in [3] described session riding and session hijacking. There are many techniques to implement session handling. Session riding/hijacking vulnerabilities are intrinsic to web application technologies and are certainly relevant for cloud computing. Thisidentifiedinjection vulnerabilities as a major threat. Injection vulnerabilities are exploited by manipulating input to a service/application such that parts of the input are interpreted and executed as code against the intentions of the programmer.

Examples of injection vulnerabilities are:

SQL injection: The input contains SQL code that is erroneously executed in the database backend.

Command injection: The input contains OS commands that are erroneously executed via the operating system.

Cross-site scripting: The input contains JavaScript code that is erroneously executed by a victim's browser.

Soap: Envelope

Soap: Header

getFile Soap: Body

wsse: Security

ds:signature

ds:Reference ds:SignedInfo

Id= “body”

Name= “kiran.jpg”

URI: “#body”

(3)

Meiko Jensen et al [4] provided XML Signature Element Wrapping or wrapping attack where SOAP message sent by a genuine client. The attacker moves the original body to a newly inserted wrapping element inside the SOAP header, and a new body is created. This body contains the operation the attacker wants to perform with the original sender’s authorization. Fig. 1 represents a SOAP message sent by a genuine client. The SOAP body contains a request for the file “kiran.jpg” and was signed by the sender. If an attacker listens such a message, he can perform the following attack. Fig. 2 depicts the attack where the original body is moved to a newly inserted wrapping element inside the SOAP header, and a new body is created. Here the request for the file “kiran.jpg” is modified and “config.doc” is asked for. The resulting message still contains a valid signature of a legitimate user, thus the service executes the modified request [4].

As Meiko Jensen et al [4] put metadata spoofing attack aims at spitefully reengineering a Web Service’s metadata descriptions. For example, an adversary may modify a service’s WSDL so that a call to a deleteUser operation syntactically looks like a call to another operation, e.g. setAdminRights. An adversary could manage to create a bunch of user logins that are thought to be deleted by the application’s semantics, but in reality are still valid, and additionally are provided with administrator level access rights. In a virtual environment, servers are files that can be copied from the host. Replicating a server image is equivalent to stealing a server. Further machine memory can be accessed from the hypervisor, compromising transit information like passwords and encryption keys. So any access to the virtualization host—even remote access—is critical. Virtualization makes the problem worse. The administrator not only has control over the physical host, but over all of the virtual sessions running on it. They can also have access to sensitive data and have an impact on business continuity. Without an independent access control solution, multiple privileged users in various roles have the ability to interact with numerous components of a virtualization deployment. This inadequately regulated access to the hypervisor presents the potential for significant damage to the enterprise through the compromise of valuable information and disruption of critical services. Unsecured Virtual machines (VM) can serve as back doors to the virtual data center or an entry point to inject viruses to the protected LAN. For example, on some virtualization technologies, a VM compromised by a keystroke monitor could allow the monitoring of server hardware resources on all other VMs hosted on the same machine. In such a case, by tracking keystrokes for all VM images, an intruder can compromise user passwords and other confidential data. Shared internal network traffic could also be sniffed from the hosting operating system, exposing other critical data. Current virtualization security and management tools are very simple, very immature, and security staffs are often not familiar with them. Indeed, most of the tools that security staffs are familiar with do not work in the VM environment. If one VM is compromised, without user knowledge all other VMs that are part of the virtual network can be compromised.

ds:SignedInfo

Soap:Envelope

Soap:body Soap:Header

Wsse:Security

ds:Signature

sellstocks Soap:Body wrapper

getFile

Id= “body”

Name= config.doc”

ds:Reference URI: “#body”

(4)

Poor key-management procedures Bernd Grobauer et al in states that virtual machines do not have a fixed hardware infrastructure and cloud based content tends to be geographically distributed, it is more difficult to apply standard controls, such as hardware security module (HSM).cloud computing infrastructures require the management and storage of many different kinds of keys. Poor key-management procedures leads to insecure authentication while allocating virtual machines [3].

Weak random number generation Cryptographic vulnerabilities due to weak random number generation may exist, because the layer of abstraction between hardware and OS kernel introduced by virtualization may be problematic for the generation of random numbers within a virtual machine environment: generation of random numbers requires a source of entropy which must somehow be provided from the hardware level. Virtualization may have flawed mechanisms for tapping that source of entropy or the presence of several virtual machine environments on the same host may exhaust the available entropy, leading to the generation of weak random numbers [3].

Weak credential reset mechanisms Bernd Grobauer et al states thatin situations where the cloud provider manages user credentials himself rather than using federated authentication, he must provide a mechanism for resetting credentials in the case of forgotten/lost credentials. Especially password-recovery mechanisms have shown to be weak [3].

Powerful control of privileged users Like root users from the UNIX/Linux world, privileged users with hypervisor access need to be tightly controlled. A hypervisor admin has the potential to be able to do anything to a virtual environment. While these hypervisor accounts have passwords, these passwords can be shared or easily exposed to unauthorized people. These accounts may also be shared among many different operators, which make it impossible to hold them accountable for privileged activity. This activity leads to mistakes such as moving and starting a virtual machine on a production server where it should not have been, or worse, malicious acts such as removing virtual machines and destroying data [9].

Unexpected input handling capability A cloud vendor should be able to systematically identify how many interfaces each service has that might receive untrusted input and how those interfaces specifically handle such input securely (for example, discarding or upgrading an input’s integrity immediately). Maneesh Upmanyu et al

[1] define Blind Authenticationas a biometric authentication protocol that does not reveal any information about the biometric samples to the authenticating server. Such a protocol can satisfy the conditions presented in our initial scenario, where Alice wanted to create an account with Bob mail that required biometric authentication, which she did not trust. We now present the authentication framework that achieves this goal using any biometric, and prove that the information exchanged between the client and the server does not reveal anything other than the identity of the client.

Blind authentication happens over two rounds of communication between the client and the server. Round1:

1. To perform authentication, the client locks the biometric test sample using her public key and sends the locked IDto the server.

2. The server computes the products of the locked ID with the locked classifier parameters and randomizes the results.

3. These randomized productsare sent back to the client. Round 2:

1. The client unlocks the randomized results and computes the sum of the products. 2. The resulting randomized sum is sent to the server.

3. The server de-randomizes the sum to obtain the final result, which is compared with a threshold for authentication.

3. Proposed work

(5)

verification. It provides provable protection against replay and client side attacks even if the keys of the user are compromised. As the enrolled templates are encrypted using a key, one can replace any compromised template, providing revocability. The encryption also provides template protection, revocability of enrolled templates, and alleviates the concerns on privacy in widespread use of biometrics. Carrying out the authentication in the encrypted domain does not affect the accuracy, while the encryption key acts as an additional layer of security. Suppose, Alice wants to create an account in Bob mail that requires biometrics based authentication. However, she can’t not trust Bob to handle her biometric data securely; neither she can trust the network to send her plain biometric.While the authentication process is going on, the primary problem here is that, for Alice, Bob could either be incompetent to secure her biometric or even curious to try and gain access to her biometric data. So Alice does not want to give her biometric data in plain to Bob. On the other hand, Bob does not trust the client as she could be an impostor. She could also repudiate her access to the service at a later time. For both parties, the network is insecure.

3.1.Existing Authentication Method

Fig.3 Architecture of existing authentication procedure

The existing authentication procedure consists of user requesting a virtual image by sending his credentials to the server, the server checks the validity of the credentials and after successful validation, it checks for the availability of the virtual image in the repository. Virtual machine image repository provides image store and retrieval functions. If any unallocated virtual image is available then it checks if Service Level Agreement (SLA) is met. If conditions are satisfied then image is sent to user as shown in Fig. 3

3.2. Proposed architecture

Fig 4: Proposed architecture for Authentication

(6)

for enrollment server. It verifies its registration. User is a registered person; it will send the details to authenticating server for authentication after two rounds of process of Blind Authentication. The authenticating server will send its decision whether to accept or to reject based on a threshold value. If accepted, the user as accepted as an authentic user and the request is redirected to cloud server. The cloud server will check for the availability of a virtual image from the image repository. If any Virtual image is free and SLA is met, it will allocate the virtual image based on the user requirements without degrading the performance of the cloud. Using this architecture, even if Eavesdropper snoops the channel, credentials are sent in encrypted form along with public key he could not decipher anything.

Algorithm for proposed architecture:-

1. Client sends biometric sample and public key along with request for virtual image

2. Moderator sends the biometric detail of user for authentication to the authentication server

3. If new user

4. Send biometric samples to the enrollment server If authentic then Moderator checks the availability of the virtual image

If virtual image is available then

If SLA is met

Allocate the virtual image Else

Virtual Image is not allocated Else

Virtual Image is unavailable

Else User is prompted for fresh registration ie goto step3

This architecture resolves the following server side concerns. 1. Poor key-management

2. Weak random number generation 3. Weak credential reset mechanisms 4. Powerful control of privileged users 5. Unexpected input handling capability

Poor key-management can be handled by binding the public key and biometric sample of the user, where the

biometric sample of the user is encrypted before binding with public key. The biometric sample is never stored as plain thereby reducing the amount of information leakage. Biometric Authentication Protocol (BAP) eliminates the setback of weak random number generation as the server has access to a strong random number generator source there by evading man in the middle attack, as for each session a random number is generated which can’t be guessed.

Weak credential reset mechanisms can be can be resolved by using Blind Authentication Protocol with the

property of revocability of issued templates. The enrolled templates are encrypted using a key; one can replace any compromised template, while allaying concerns of being tracked. Privileged users can be given powerful

control over the resources they are authenticated and can be monitored for any inadvertent usage as their

authentication mechanism is bound with their biometric trait.

Unexpected input handling capability can be thwarted: Even if the impostor replaces the partial sums with

(7)

Federated identity: Federation is the process of managing trust relationships established beyond the internal network boundaries or administrative domain boundaries among distinct organizations.

Single sign on: It is an authentication process that lets a user to enter a username and password only once

when they log on to a server, yet have access to many applications. If a user has rights to use many different applications on a server, they need to log-in once and they are never prompted again for any username and password while they are switching between different programs or applications on that same server.

Service Provisioning Markup Language (SPML) is a promising standard that helps organizations automate provisioning of user identities for cloud services. Service providers in cloud can use SPML to automatically provision user accounts and profiles with the utilization of service and enabling “just-in-time provisioning” to create accounts for new users by collecting biometric sample.

3.3. Process flow diagram

Fig 5: Process flow diagram

Fig 5 shows the flow of process in securing the virtual images where the client sends the client requests the virtual image by sending biometric sample and public key to moderator. The sends it to the authenticating server to check if user is valid if he is a new user then biometric samples are sent for enrollment to the enrollment server, if the user is authentic then the request is sent to VM manager to check for availability of VM. If VM is available then it checks if SLA is met allocate VM otherwise send a message regretting the allocation as SLA is not met with.

client Moderator

Biometric test sample+public key

Request VM

Enrollment server

Check if valid

Authenticating server

If new user, send biometric samples for enrollment

Enrolled, authentic

Check for vm

SLA Check if SLA is met

SLA is met Allocate VM

VM can’t be allocated as SLA is not met with

Enrolled, authentic

VM manager

(8)

4. Implementation

We have installed Ubuntu 10.04 server on two machines with Intel i3 processors. Ubuntu 10.04 comes with preinstalled Eucalyptus components. One of the systems will act as Node controller and other serves as Cluster controller, storage controller and cloud controller. One more machine with Intel i3 processor is installed with Ubuntu 10.04 desktop version to serve as client to request VM. We observed the authentication of virtual image in Ubuntu cloud and found flaws in the existing process and applied the blind authentication process over the authentication procedure in the Ubuntu cloud.

5. Conclusion

As cloud computing offers great elasticity and flexibility misuse of resources poses a great threat in future. Normal authentication procedures lacks secure authentication where an eaves dropper can snoop upon the credentials and authenticated user will be charged for the usage of the hacker. If successfully snooped upon, the unauthorized user depending upon the access level can even launch attacks on the cloud. Using the proposed architecture reduces the risk of unauthorized usage and eliminates the risks of man in the middle attacks. References

[1]. Maneesh Upmanyu, Anoop M. Namboodiri, Kannan Srinathan, and C. V. Jawahar “ Blind Authentication: A Secure Crypto- Biometric

Verification Protocol” IEEE transactions on information forensics and security, vol. 5, no. 2, June 2010.

[2]. K. Jain, K. Nandakumar, and A. Nagar, “Biometric template security,” EURASIP Journal on Advances in Signal Processing, Volume 2008, Article ID 579416, 17 pages.

[3]. Grobauer, Walloschek and E.Stöcker “understanding cloud computing vulnerabilities” Special Issue on Cloud Computing IEEE Security&Privacy.

[4]. Meiko Jensen, Jorg Schwenk and Nils Gruschka, Luigi Lo Iacono “On Technical Security Issues in Cloud Computing” 2009 IEEE International Conference on Cloud Computing pp 2.

[5]. Tim mather, subra kuppuswamy and shahed latif,cloud security and privacy O’REILLY,march 2010 pp 73-107.

[6]. K.Mukherjee and G.Sahoo “A Secure Cloud Computing” 2010 International Conference on Recent trends in Information,Telecommunication and Computing.

[7]. Borja Sotomayor, Rubén S. Montero and Ignacio M. Llorente,IanFoster“VirtualInfrastructure Management in Private and Hybrid Clouds” 1089-7801/09 IEEE Computer Society IEEE Internet Computing.

[8]. White paper on Cloud Computing by KenOwens “Securing Virtual Compute Infrastructure in the Cloud”.

[9]. PatrickMcDaniel and SeanW.Smith,“Outlook: Cloudy with a Chance of Security Challenges and Improvements” IEEE SECURITY & PRIVACY, JANUARY/FEBRUARY 2010,1540-7993.

[10].White paper on cloud NimrodVax“Securing Virtualized Environments and Accelerating Cloud Computing”May 2010.

[11].Jerryarcher, AlanBoehme, Dave cullinane , Paul Kurtz, Nils pulhmann and Jim Reavis “Top threats to cloud computing v1.0”, cloud security alliance March 2010.

Figure

Fig. 1 SOAP message sent by a legitimate client
Fig. 1 SOAP message sent by a legitimate client p.2
Fig. 2 Body is moved to a newly inserted wrapping element
Fig. 2 Body is moved to a newly inserted wrapping element p.3
Fig.3 Architecture of existing authentication procedure
Fig.3 Architecture of existing authentication procedure p.5
Fig 4: Proposed architecture for Authentication

Fig 4:

Proposed architecture for Authentication p.5
Fig 5: Process flow diagram

Fig 5:

Process flow diagram p.7

References