Unit 5 - Class - Lecture - Slides
Unit 5 - Class - Lecture - Slides
UNIT 5
( CCS 335- Cloud Computing)
WhoAmI.xml
<name> <job7>
Venkat Srinivasan travel agent scheduling trips every year
</name> </job7>
<job8>
<JOBs> clown and comedian for students
<job1> </job8>
Associate Professor <job9>
</job1> clerk to file papers
<job2> </job9>
goatherder <job 10>
</job2> Researcher
</job 10>
<job3> <job 11>
Counselor and psychologist Teacher if have time
</job3> </job11>
<job4> </JOBs>
police officer at College Varandha <Education>
</job4> B.E.(ECE)
<job5> M.E. (CSE)
banker to collect money P.hD (wireless networks)
</job5> many degrees every year from the surroundings
<job6> </Education>
politician deals with politics
</job6> 1
Please don’t hack this presentation
unit 5 (V.S) CCS335
2
unit 5 (V.S)
CCS335
3
4
A hypervisor is a software that you can use to run multiple 5
virtual machines on a single physical machine.
A hypervisor, also known as a virtual machine monitor or VMM
unit 5 (V.S)
CCS335
6
7
unit 5 (V.S)
CCS335
Virtualization System Security 8
unit 5 (V.S)
CCS335
9
VM security issues ….
10
11
Introduction : Virtual Threats
12
• Some threats to virtualized systems are general in nature, as they are inherent
threats to all computerized systems (such as denial-of-service, or DoS, attacks).
• Many VM vulnerabilities stem from the fact that a vulnerability in one VM system can
be exploited to attack other VM systems or the host systems, as multiple virtual
machines share the same physical hardware, as shown in Figure
unit 5 (V.S)
CCS335
Introduction : Virtual Threats-
Some of the vulnerabilities exposed
13
Shared clipboard — Shared clipboard technology allows data to be transferred
between VMs and the host, providing a means of moving data between malicious programs
in VMs of different security realms.
Keystroke logging — Some VM technologies enable the logging of keystrokes and screen
updates to be passed across virtual terminals in the virtual machine, writing to host files
and permitting the monitoring of encrypted terminal connections inside the VM
VM monitoring from the host — Because all network packets coming from or going to a
VM pass through the host, the host may be able to affect the VM by the following:
➢ Starting, stopping, pausing, and restart VMs
➢ Monitoring and configuring resources available to the VMs, including CPU, memory, disk,
and network usage of VMs
➢ Adjusting the number of CPUs, amount of memory, amount and number of virtual disks,
and number of virtual network interfaces available to a VM
➢ Monitoring the applications running inside the VM
➢ Viewing, copying, and modifying data stored on the VM’s virtual disks
unit 5 (V.S)
CCS335
Introduction : Virtual Threats-
ESX Server Application Vulnerability Severity Code Definitions
15
unit 5 (V.S)
CCS335
Introduction : Virtual Threats- VM THREAT LEVELS
16
When categorizing the threat posed to virtualized environments, often the
vulnerability/threat matrix is classified into three levels of compromise:
unit 5 (V.S)
CCS335
New Virtualization System-Specific Attacks
Hypervisor Risks 17
• The hypervisor is the part of a virtual machine that allows host resource sharing
and enables VM/host isolation.
• Therefore, the ability of the hypervisor to provide the necessary isolation during
intentional attack greatly determines how well the virtual machine can survive risk.
• One reason why the hypervisor is susceptible to risk is because it’s a software program;
risk increases as the volume and complexity of application code increases.
unit 5 (V.S)
CCS335
18
New Virtualization System-Specific Attacks
Rogue Hypervisors Rootkits or Hyper jacking:
❑ In a normal virtualization scenario, the guest operating system (the operating
system that is booted inside of a virtualized environment) runs like a traditional OS
managing I/O to hardware and network traffic, even though it’s controlled by the
hypervisor.
❑ VM-based rootkits can hide from normal malware detection systems by initiating a
“rogue” hypervisor and creating a cover channel to dump unauthorized code into
the system.
❑ A properly designed rootkit could then stay “undetectable” to the host OS, resisting
attempts by malware detectors to discover and remove it.
unit 5 (V.S)
CCS335
19
New Virtualization System-Specific Attacks
Rogue Hypervisors Rootkits or Hyper jacking:
20
■ Rogue Hypervisors Rootkits or Hyper jacking:
unit 5 (V.S)
CCS335
New Virtualization System-Specific Attacks
• One method for doing this is overwriting pagefiles on disk that contain
paged-out kernel code
• Force kernel to be paged out by allocating large amounts of memory
• Find unused driver in page file and replace its dispatch function with
shellcode
• Take action to cause driver to be executed
• Shellcode downloads the rest of the malware
• Host OS is migrated to run in a virtual machine
–Has been demonstrated for taking control of Host OS
–Hyperjacking of hypervisors may be possible, but not yet demonstrated
• Hypervisors will come under intense scrutiny because they are such
attractive targets Known hyperjacking tools: BluePill, SubVirt, Vitriol
– unit 5 (V.S)
CCS335
22
Virtualization System Public Exploits
• VENOM refers to a security vulnerability that results from a buffer overflow in a kernel-level
driver included in many default virtualized environments.
• The VENOM vulnerability has the potential to provide attackers with access to the host
operating system and, as a result, other guest operating systems on the same host.
• VENOM, an acronym for Virtualized Environment Neglected Operations Manipulation, arises
from QEMU’s virtual Floppy Disk Controller (FDC), which carries a vulnerability that could
enable an attacker to run code by pairing one of two flawed commands related to the
controller with a buffer overflow.
• The VENOM vulnerability affects KVM, Xen and native QEMU virtual machines.
• Virtual machines running on Microsoft Hyper-V or VMware hypervisors are not affected by
VENOM.
• The VENOM vulnerability works with the default configuration of the affected virtualization
platforms, so even when the FDC drive has not been added to the platform, systemsunit are still
5 (V.S)
vulnerable. CCS335
23
New Virtualization System-Specific Attacks
External Modification of the Hypervisor:
unit 5 (V.S)
CCS335
24
New Virtualization System-Specific Attacks
VM Escape
❑Due to the host machine’s fundamentally privileged
position in relationship to the VM, an improperly
configured VM could allow code to completely bypass
the virtual environment, and obtain full root or kernel
access to the physical host
❑This would result in a complete failure of the security
mechanisms of the system, and is called VM escape.
❑Virtual machine escape refers to the attacker’s ability to
execute arbitrary code on the VM’s physical host, by
“escaping” the hypervisor.
❑VM escapes could occur through virtual machine shared
resources called VMchat, VMftp, vCAT, and VMdrag-n- unit 5 (V.S)
CCS335
Drop
25
Case Study: Virtualization System Public Exploits
■ 36 public exploits against production virtualization systems have been
released
■ Most of these are attacks against third-party components of these
systems
■ CVE-2009-2267
–Guest OS user can gain elevated privileges on guest OS by exploiting
a bug in handling of page faults
–Affects ESX server 4 and other VMware products
–Exploit binary posted at lists.grok.org.uk
unit 5 (V.S)
CCS335
New Virtualization System-Specific Attacks
26
VM migration
–Migration attack is an attack on the network during VM migration
from one place to another. This attack is an exploit on the mobility
of virtualization.
–Since VM images are easily moved between physical machines
through the network, enterprises constantly move VMs to various
places based on their usage.
–For example, VMs from a canceled customer may be moved to a
backup data center, and VMs that need maintenance may be
moved to a testing data center for changes.
–Thus, when VMs are on the network between secured perimeters,
attackers can exploit the network vulnerability to gain unauthorized
access to VMs.
– Similarly, the attackers can plant malicious code in the VM images
to plant attacks on data centers that VMs travel between.
unit 5 (V.S)
CCS335
Migrating Virtual Machines 27
unit 5 (V.S)
CCS335
28
VM MIGRATION explained-
Video Animation-Flipped Activity
unit 5 (V.S)
CCS335
New Virtualization System-Specific Attacks
29
unit 5 (V.S)
CCS335
New Virtualization System-Specific Attacks
■ VM migration-Types and Techniques 30
a) Warm Up Phase:
During copying all memory pages from source to destination, some memory pages
changed because of source machine CPU is active. All the changed memory pages are
known as dirty pages.
All these dirty pages are required to recopy on destination machine; this phase is called
as warm up phase.
b) Stop & Copy Phase: Warm up phase is repeated until all the dirty pages recopied on
destination machine. This time CPU of source machine is deactivated till all memory
pages will transfer another machine. Ultimately at this time CPU of both source and
destination is suspended, this is known as down time phase. This is the main thing that
has to explore in migration for its optimization.
unit 5 (V.S)
CCS335
New Virtualization System-Specific Attacks
31
■ VM migration-Types and Techniques
2) Post- Copy Migration:
▪ In this technique, VM at the source is suspended to start post copy VM
migration.
▪ When VM is suspended, execution state of the VM (i.e. CPU state,
registers, non-pageable memory) is transferred to the target.
▪ In parallel the sources actively send the remaining memory pages of
the VM to the target.
▪ This process is known as pre-paging.
▪ At the target, if the VM tries to access a page that has not been
transferred yet, it generates a page fault, also known as network faults.
These faults are redirect to the source, which responds with the faulted
pages.
▪ Due to this, the performance of applications is degrading with number
of network faults.
▪ To overcome this, pre-paging scheme is used to push pages afterunit the
5 (V.S)
last fault by dynamically using page transmission order CCS335
New Virtualization System-Specific Attacks
32
■ Live VM migration steps of Google Compute Engine
unit 5 (V.S)
CCS335
33
New Virtualization System-Specific Attacks
■ VM migration
–VM migration is transfer of guest OS from one physical server
to another with little or no downtime
–Implemented by several virtualization products
–Provides high availability and dynamic load balancing
unit 5 (V.S)
CCS335
34
New Virtualization System-Specific Attacks
■ VM migration attack
–If migration protocol is unencrypted, susceptible to man-in-the-middle attack
–Allows arbitrary state in VM to be modified
–In default configuration, XenMotion is susceptible (no encryption)
–VMware’s VMotion system supports encryption
–Proof-of-concept developed by John Oberheide at the Univ. of Michigan
unit 5 (V.S)
CCS335
Analysis of Hyper jacking Attack and Mitigation Techniques
35
unit 5 (V.S)
CCS335
Identity and Access Management (IAM)
36
Two main user type when login
the Cloud Management Console
37
• Identity and access management (IAM or IdAM for short) is a way to
tell who a user is and what they are allowed to do.
• IAM is like the bouncer at the door of a nightclub with a list of who is allowed in, who
isn't allowed in, and who is able to access the VIP area.
• IAM is also called identity management (IdM).
identity
38
"Access" refers to what data a user can see and what actions they can
perform once they log in.
Once Ravi logs into his email, he can see all the emails he has sent and received. However, he
should not be able to see the emails sent and received by Tharun, his coworker.
39
Components of IAM
•Users
•Roles
Services By IAM
•Groups
•Policies
Architecture of Identity Access Management
40
IAM architecture . . . .
41
❖ User Management:- It consists of activities for the control and management over the
identity life cycles.
❖ Authentication Management:- It consists of activities for effectively controlling and
managing the processes for determining which user is trying to access the services
and whether those services are relevant to him or not.
❖ Authorization Management:- It consists of activities for effectively controlling and
managing the processes for determining which services are allowed to access
according to the policies made by the administrator of the organization.
❖ Access Management:- It is used in response to a request made by the user wanting to
access the resources with the organization.
❖ Data Management and Provisioning:- The authorization of data and identity are
carried towards the IT resource through automated or manual processes.
❖ Monitoring and Auditing:- Based on the defined policies the monitoring, auditing,
and reporting are done by the users regarding their access to resources within the
organization.
❖ Operational Activities of IAM:- In this process, we onboard the new users on the
organization’s system and application and provide them with necessary access to the
services and data. Deprovisioning works completely opposite in that we delete or
deactivate the identity of the user and de-relinquish all the privileges of the user.
IAM architecture ….
42
❖ Credential and Attribute Management:- Credentials are bound to an individual user
and are verified during the authentication process. These processes generally include
allotment of username, static or dynamic password, handling the password expiration,
encryption management, and access policies of the user.
❖ Entitlement Management:- These are also known as authorization policies in which we
address the provisioning and de-provisioning of the privileges provided to the user for
accessing the databases, applications, and systems. We provide only the required
privileges to the users according to their roles. It can also be used for security purposes.
❖ Identity Federation Management:- In this process, we manage the relationships
beyond the internal networks of the organization that is among the different
organizations. The federations are the associate of the organization that came together
for exchanging information about the user’s resources to enable collaboration and
transactions.
❖ Centralization of Authentication and Authorization:- It needs to be developed in order
to build custom authentication and authorization features into their application, it also
promotes the loose coupling architecture.
Shared Responsibility Model for Identity Access Management
43
45
46
single sign-on
Service Provisioning Markup Language (SPML)
47
Service Provisioning Markup Language (SPML) is an XML-based
framework, being developed by OASIS, for exchanging user, resource and
service provisioning information between cooperating organizations.
eXensible Access Control Markup Language (XACML)
49
XACML use case
52
<Response xmlns="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17">
<Result>
<Decision>Permit</Decision>
<Status>
<StatusCode Value="urn:oasis:names:tc:xacml:1.0:status:ok"/>
</Status>
<Obligations>
<Obligation ObligationId="email">
<AttributeAssignment AttributeId="email"
DataType="http://www.w3.org/2001/XMLSchema#string">[email protected]<
/AttributeAssignment>
</Obligation>
</Obligations>
<AssociatedAdvice>
<Advice AdviceId="email_advice" >
<AttributeAssignment AttributeId="email"
DataType="http://www.w3.org/2001/XMLSchema#string">[email protected]</At
tributeAssignment>
</Advice>
</AssociatedAdvice>
</Result>
</Response>
OAuth (Open Authorization)
53
OAuth (Open Authorization) is an open standard protocol for
authorization of an application for using user information, in general, it
allows a third party application access to user related info like name,
DOB, email or other required data from an application like Facebook,
Google etc. without giving the third party app the user password. It is
pronounced as oh-auth.
54
OAuth can be implemented via google console for “Login/Sign Up with Google” on a
web app.
Pattern to be Followed –