  MapReduce is a programming model used extensively for parallel data
processing in distributed environments. A wide range of algorithms were
implemented using MapReduce, from simple tasks like sorting and searching up to
complex clustering and machine learning operations. Many of these
implementations are part of services externalized to cloud infrastructures.
Over the past years, however, many concerns have been raised regarding the
security guarantees offered in such environments. Some solutions relying on
cryptography were proposed for countering threats but these typically imply a
high computational overhead. Intel, the largest manufacturer of commodity CPUs,
recently introduced SGX (software guard extensions), a set of hardware
instructions that support execution of code in an isolated secure environment.
In this paper, we explore the use of Intel SGX for providing privacy guarantees
for MapReduce operations, and based on our evaluation we conclude that it
represents a viable alternative to a cryptographic mechanism. We present
results based on the widely used k-means clustering algorithm, but our
implementation can be generalized to other applications that can be expressed
using MapReduce model.
