Discuss whether desktop virtualization is a panacea.
No, virtualization (desktop or server) is not a panacea. While complex, attackers can exploit hypervisor technology by virtualizing an operating system and running the malware at a level below the virtualized workloads, at the hypervisor layer. This approach makes the malware very hard to detect and operating system agnostic. (Ford, 2018) This type of malware has become know as a virtual-machine based rootkit (VMBR). A VMBR installs a virtual-machine monitor (VMM) underneath an existing operating system (guest os or virtual machine) and hoists the original operating system into a virtual machine. (King & Chen, 2006)
Virtualization can be very helpful for malware analysis. Virtualization can provide isolation, it can create a trusted monitor so the hypervisor can watch how the system works preventing the hypervisor from being tampered with, and it can allow for rollback or disposable computing which can be very useful for malware testing. (Ford, 2018) While countless benefits are derived from virtualization, the hypervisor is just software, and like any other software, it can have vulnerabilities. If the hypervisor were to be exploited, it could provide an attacker with low-level system access which could have serious, widespread implications. Successful exploitation of the hypervisor would give the attacker full control over everything in the hypervisor environment, all virtual machines, data, etc. (Obasuyi & Sari, 2015)
The “cloud” makes extensive use of virtualization technologies. (Ford, 2018) For example, Amazon Web Services (AWS), is built on the Xen hypervisor. Given the security concerns mentioned above and associated with the hypervisor, you can see the concern given the scale and multi-tenancy of cloud providers. (Vaughan-Nichols, 2015) Let’s face it the cloud is one giant honeypot; it’s hard to say “if” and more likey “when” will a low-level exploit happen in the cloud. Only time will tell.
To bring it back to desktop virtualization I might argue that the security concerns with desktop virtualization exceed the security concerns with server virtualization, for one reason, linked clones. The use of linked clones is quite common in desktop virtualization, but with all virtual desktops sharing common executables and libraries, malware can metastasize with each virtual desktop instantiation, and this would not require a compromised hypervisor, but rather a compromised master image. The other thing which we need to consider is transparent page sharing and the potential manipulation of EXEs and DLLs in memory at the hypervisor level and the impact it could have.
Ford, R. (2018, June 11). Virtualization. Retrieved June 11, 2018, from http://learningmodules.bisk.com/play.aspx?xml=L0Zsb3JpZGFUZWNoTUJBL01HVDUxNTYvQ1lCNTI4ME0xMFYxL0RhdGEvbW9kdWxlLnhtbA
King, S. T., & Chen, P. M. (2006). SubVirt: Implementing malware with virtual machines. Paper presented at the , 2006 14 pp.-327. doi:10.1109/SP.2006.38
Obasuyi, G. C., & Sari, A. (2015). Security Challenges of Virtualization Hypervisors in Virtualized Hardware Environment. International Journal of Communications, Network and System Sciences, 08(07), 260-273. doi:10.4236/ijcns.2015.87026
Vaughan-Nichols, S. J. (2015, December 04). Hypervisors: The cloud’s potential security Achilles heel. Retrieved June 13, 2018, from https://www.zdnet.com/article/hypervisors-the-clouds-potential-security-achilles-heel/
Discussion Response 1
I enjoyed your post, would like to offer up some food for thought.
There are lot’s of good reasons for Desktop Virtualization, the catalysts that I see typically revolve around centralized command and control, with the desire for centralized command and control often being aided by regulatory and/or compliance requirements. Five or so years ago we were seeing a huge push towards desktop and application virtualization on platforms like Citrix Xen Desktop, Citrix Xen AppA, and VMware View but this trend seems to have slowed, it’s not hard to understand why.
Let’s look at a few of the challenges with desktop virtualization. From a security perspective, you now have the east-west traffic to be concerned, this is the traffic taking place on the same physical hardware, not ingressing or egressing the physical hardware (north-south traffic) so network security protocols don’t really work. This was a general hypervisor problem which has been addressed, but a concern nonetheless. Next, we have the unpredictable performance profile of end-user usage, one user performing an I/O intensive process has the ability to impact all other users on that physical system. Then there is the con of centralization, the risk, a shared component outage has a much larger blast radius. All of these contributing factors make desktop virtualization fairly costly.
New technologies like SasS and browser-based apps, the rich user experience of HTML5, the ease of cross-platform development, the BYOD push, etc… seem to have slowed the desktop virtualization craze. Desktop virtualization is still happening, but it seems to have slowed. I use virtual desktops all the time for remote access or to run thick apps, but the virtual desktop is used more like an application rather than as a day-to-day shell from which I work. IMO as long as there is Java and the umpteen versions of Java, compatibility issues between apps and Java version, etc… we will have a need to use the virtual desktop to solve these issues. VDI also allows us to take think client applications and quickly centralize them, although I know many people who have done this who wish they just did an app rewrite rather than spending the time build VDI.
I agree with the VirtualizedGeek, that DaaS is a better solution than VDI for those of us need a cloud-based Windows desktop. (VirtualizedGeek, 2014) The article is a bit dated and today many of us use AWS Workspaces or another DaaS solution for this very reason. I also agree with Ben Kepes that “Desktop as a Service is last year’s solution to last decade’s problem.” (Kepes, 2014) The bottom line is the move toward mobile and web apps will continue so while VDI may not be dying I don’t expect it to flourish.
Kepes, B. (2013, November 06). Death To VDI. Or DaaS. Or Whatever It’s Called This Week. Retrieved June 17, 2018, from https://www.forbes.com/sites/benkepes/2013/11/06/death-to-vdi-or-daas-or-whatever-its-called-this-week/#3e4c3295096a
Rouse, M. (2018, June 17). What is east-west traffic? – Definition from WhatIs.com. Retrieved June 17, 2018, from https://searchsdn.techtarget.com/definition/east-west-traffic
VirtualizedGeek. (2014, February 18). VDI is dying so what now? Retrieved June 17, 2018, from http://www.virtualizedgeek.com/2014/02/vdi-token-ring/
Discussion Response 2
Enjoyed the post, great read as usual, always like the emotion in your writing.
I have one rule about technology, it is to never make a technology decision based on “saving money”. When the primary value proposition is “you’ll save money” it almost always tells the story that there is no other value proposition that is meaningful enough to be a motivator. I have yet to meet someone who made the decision to implement VDI for cost savings that are happy they made the decision. I have met those who had to do it for regulatory and compliance purposes who likely spent and continue to spend more on their virtual desktop infrastructure than they would have spent deploying desktops, these folks still may not be happy but they are committed to the technology to solve a business problem that they have yet to find another solution to.
Desktop virtualization has been around for a long time, Citrix the undisputed leader in the space started in 1989 with the development of their protocol called ICA (Independent Computing Architecture). In the late 1990s Citrix release MetaFrame 1.0 to match the release of Microsoft Terminal Server. Citrix capitalized on the weakness of Microsoft RDP protocol and MetaFrame and the ICA protocol became the defacto standard for multi-tenancy at scale. The mainframe and mini-computer world was used to multi-tenancy but Citrix had brought multi-tenancy to the micro-computer and Wintel platform. This market pivot actually has close parallels to the cloud pivot we are seeing in enterprise computing today. In the 90s and early 2000s consumers listened to vendors, today consumers listen to the community, the biggest voices are those consuming the platform at scale, fortunately for Citrix this wasn’t the case as they rose to market prominence. There is no doubt that today Netflix holds as much weight on a new user using AWS as AWS itself, Netflix is the 900-pound consumer gorilla and their lessons learned are consumer lessons, not the lessons of AWS who want you on the platform. The Netflix lessons are extremely relevant to the cloud, but they are also relevant to a move to multi-tenancy in any way, VDI being one example. I think we are quickly moving past the days where “a guy with a huge handlebar mustachio with a cape on the back of a wagon” can espouse a cure-all. And for those willing to buy, well, in today’s day and age it feels more like natural selection than someone being bamboozled.
Here are some of the publically available Netflix lessons with some personal commentary. I love these lessons learned and I use them in different contexts all the time. (Netflix Technology Blog, 2010) (Townsend, 2016)
- Dorothy, you’re not in Kansas anymore. It’s going to be different, new challenges, new methods and a need to unlearn much of what you are used to doing.
- It’s not about cost savings. Focus on agility and elasticity.
- Co-tenancy is hard. Architecture and process matter more than ever.
- The best way to avoid failure is to fail constantly. This is one that many enterprises are unwilling to accept. Trading the expectation of uptime for the expectation of failure and architecting to tolerate failure.
- Learn with real scale, not toy models. Buying a marketecture is not advisable, you need to test with your workloads, at scale.
- Commit yourself. The cost motivator is not enough, the motivator has to me more.
- Talent. The complexity and blast radius of what you are embarking on is significant, you need the right talent to execute.
The consumption and effective use of ever-changing and complex services require us to think differently. Netflix consumes services on AWS and because they don’t have to build hardware, install operating systems, build object storage platforms, write APIs to abstract and orchestrate the infrastructure, etc… they can focus on making their application more resilient by building platforms like the Simian Army (Netflix Technology Blog, 2011) and other tools like Hystrix (Netflix Technology Blog, 2012) and Visceral (Netflix Technology Blog, 2016). The biggest problem with technologies that seemingly make things simpler is that the mass-market consumer looks for cost saving, they look for things to become easier, to lessen the hard dollar spend, to lessen the spend on talent, etc… and they don’t redirect time or dollars to the new challenges created by new technologies, this is a recipe for disaster.
InfoQ. (2017, February 22). Mastering Chaos – A Netflix Guide to Microservices. Retrieved June 17, 2018, from https://youtu.be/CZ3wIuvmHeM
Netflix Technology Blog. (2010, December 16). 5 Lessons We’ve Learned Using AWS – Netflix TechBlog – Medium. Retrieved June 17, 2018, from https://medium.com/netflix-techblog/5-lessons-weve-learned-using-aws-1f2a28588e4c
Netflix Technology Blog. (2011, July 19). The Netflix Simian Army – Netflix TechBlog – Medium. Retrieved June 17, 2018, from https://medium.com/netflix-techblog/the-netflix-simian-army-16e57fbab116
Netflix Technology Blog. (2012, November 26). Introducing Hystrix for Resilience Engineering – Netflix TechBlog – Medium. Retrieved June 17, 2018, from https://medium.com/netflix-techblog/introducing-hystrix-for-resilience-engineering-13531c1ab362
Netflix Technology Blog. (2016, August 03). Vizceral Open Source – Netflix TechBlog – Medium. Retrieved June 17, 2018, from https://medium.com/netflix-techblog/vizceral-open-source-acc0c32113fe
Townsend, K. (2016, February 17). 5 lessons IT learned from the Netflix cloud journey. Retrieved June 17, 2018, from https://www.techrepublic.com/article/5-lessons-it-learned-from-the-netflix-cloud-journey/
In an essay form, develop an example of an XSS vulnerability and an exploit which displays it. You will be expected to include a snippet of code which illustrates an XSS vulnerability and also provides some general discussion of XSS vulnerabilities.
Web Vulnerabilities Module Assignment