08 December 2018

Owning Render Farms via NVIDIA mental ray [10 Dec 2013]

 

OWNING RENDER FARMS

VIA NVIDIA MENTAL RAY

Luigi Auriemma and Donato Ferrante
ReVuln
http://revuln.com
info@revuln.com
http://twitter.com/revuln
10 December 2013

Abstract This paper details a vulnerability affecting NVIDIA mental ray, which allows an attacker to take control over a mental ray based render farm.



1 INTRODUCTION

NVIDIA mental ray "is a feature rich, high performance 3D rendering software that creates images of outstanding quality and unsurpassed realism based on advanced ray tracing techniques. It enables artists to create any imaginable visual effect by combining advanced global illumination with full programmability. Used by industry professionals for over 25 years, mental ray has become a standard for photorealistic rendering across the film, visual effects, and design industries."

Figure 1: NVIDIA mental ray applications

NVIDIA mental ray is used in several contexts, including but not limited to:
  • Visual Effects
  • Feature Animation
  • Game Creation
  • Architectural Design
  • Product Prototyping and Design
  • CAD visualization
NVIDIA mental ray has been used in the moviemaker industry for several titles, including:
  • Hulk
  • The Matrix Reloaded
  • The Matrix Revolutions
  • Star Wars Episode II: Attack of the Clones
  • The Day After Tomorrow
  • Poseidon

 

 

 

 2 WHAT IS A RENDER FARM?

A render farm is a group of networked computers (slaves) devoted to rendering images, used typically in the production of computer-animated films.
Figure 2: An example of render farm

To get a better idea on how powerful render farms are, a nice description can be found on Tom’s Hardware: "render farms [..]are banks of machines with the express purpose of rendering finished frames. In addition to the systems that animators use, render farms simultaneously use many dedicated processors for rendering. For instance, Industrial Light and Magic had a render farm with 5,700 processor cores (and 2,000 cores in their artists’ machines) when Transformers 2 was produced. Even a small facility with only a dozen animators is likely to have more than a hundred processor cores at their disposal".


3 NVIDIA MENTAL RAY

From the official page: "NVIDIA mental ray is embedded into several content creation applications widely used in the media entertainment and design industries.
It is also available as a standalone product for rendering on a render farm, and as a library for integration into custom applications"
. NVIDIA mental ray supports several platforms including: Windows, Linux and MacOS. Some of the applications using mental ray, include:
  • AutoDesk 3ds Max
  • AutoDesk Maya
The NVIDIA mental ray component is a system service, which runs on Windows based systems with SYSTEM privileges:


Figure 3: NVIDIA mental ray service privileges

The service waits for incoming connections on the TCP port: 7520 (this port might be different for older versions of the software):

Figure 4: NVIDIA mental ray service port


4 VULNERABILITY

There is a vulnerability affecting NVIDIA mental ray (raysat) version 3.11.1.10, which allows a malicious user to load arbitrary DLLs on a victim system, thus an attacker can take control over a whole render farm by simply injecting a malicious remote library. To trigger the remote vulnerability an attacker needs to send a malicious packet to the affected host (slave).

Figure 5: The malicious packet

As a side note, we noticed that the service spawns a new process for each new connection, which means that an attacker has potentially infinite chances to achieve a successful exploitation.


5 POST-EXPLOITATION

An interesting aspect of this technology is that it’s used on render farms. A render farm is composed of a computer cluster using very powerful hardware, which usually includes powerful GPUs such as the ones based on the TESLA family.

One of the possible scenarios to exploit this computational power is to reuse such farms to perform password cracking. If you are not familiar with password cracking, this strategy "is the process of recovering passwords from data that have been stored in or transmitted by a computer system. A common approach (brute-force attack) is to repeatedly try guesses for the password".

Figure 6: Owning a render farm

Since password cracking can be optimized on GPUs (link)(link)(link), what about using a render farm to play with Rainbow tables or mining some Bitcoin ?


6 A POSSIBLE ATTACK SCENARIO

The following image shows one of the possible attack scenarios, in which an attacker initially gets access to one of the systems available into the victim network, and then the attacker exploits the vulnerability affecting NVIDIA mental ray to get control over the render farm.

Figure 7: Possible attack scenario


7 FAQ

Q1. Did you report the issue to the Vendor?
- No.

Q2. Are the previous versions of the software affected by the same issue?
- Yes.

Q3. Are the 32-bit and 64-bit version of the software both affected by the same issue?
- Yes.

Q4. Is there any other scenario in which an attacker can use the issue?
- Yes, for example in a privilege escalation scenario.

Q5. Is this the only issue affecting this software?
- No, there are other issues, including a stack-based buffer overflow triggered via sscanf, in detail: sscanf(input, "%05d %05d %05d %05d %05d %05d %05d %s", ...). This issue is unlikely to be exploitable as there is not only DEP and ASLR, but also a limitation on the packet size.


8 REVISION HISTORY

  • 10 December 2013: Version 1.0 released.

No comments:

Post a Comment