cloud computing  infrastructure provides on - demand , easy , and scalable access to a shared pool of configurable resources , without worrying about managing those resources .details about cloud computing can be found in  .clouds provide three types of services , as follows : ( _ i _ ) _ infrastructure - as - a - service _ , iaas , provides infrastructure in terms of virtual machines , storage , and networks , ( _ ii _ ) _ platform - as - a - service _ , paas , provides a scalable software platform allowing the development of custom applications , and ( _ iii _ ) _ software - as - a - service _ , saas , provides software running in clouds as a service , for example , emails and databases .clouds can be classified into three types , as follows : ( _ i _ ) _ public cloud _ : a cloud that provides services to many users and is not under the control of a single exclusive user , ( _ ii _ ) _ private cloud _ : a cloud that has its proprietary resources and is under the control of a single exclusive user , and ( _ iii _ ) _ hybrid cloud _ : a combination of public and private clouds .one of the most common _ platform - as - a - service _ computational paradigms is mapreduce  , introduced by google in 2004 .mapreduce provides an efficient and fault tolerant parallel processing of large - scale data without any costly and dedicated computing node like a supercomputer . at the beginning, mapreduce was designed to be deployed on - premises under mistaken assumption that local environment can be completely trusted .thus , security and privacy aspects were overlooked in the initial design . as mapreduce gained popularitythe lack of security and privacy in on - premises deployment become severe shortcoming . in addition, mapreduce is being deployed on both hybrid and public clouds , which are prone to many attacks and security threats . in the current days , several public clouds , _e_._g_. , amazon elastic mapreduce , google app engine , ibm s blue cloud , and microsoft azure , enable users to perform mapreduce cloud computations without considering physical infrastructures and software installations .thus , the deployment of mapreduce in public clouds enables users to process large - scale data in a cost - effective manner and establishes a relationship between two independent entities , _i_._e_. , clouds and mapreduce . as a downside, the deployment of mapreduce in hybrid and public cloud needs to deal with many attacks on the communication networks and ( the three service layers of ) the cloud .data processing in the cloud highlights a tradeoff between the ease of processing and security - privacy of data and computations .specifically , on one hand , the deployment of mapreduce in a well - managed public cloud provides economical and carefree resource management . on the other hand, public clouds do not guarantee the rigorous security and privacy of computations as well as stored data .private clouds provide security and privacy of data as well as computations , due to users ability to physically and electronically constrain data access and execution of computations .however , the user of the private cloud manages the nodes , updates software , and replaces the failed nodes .such management is time consuming and incurs huge monetary cost .our focus is on the security and privacy issues of mapreduce environment in public or hybrid clouds .private cloud environments are more secure due to a physical security of the cloud .many of the reviewed below results are applicable to both public and hybrid clouds , unless stated otherwise ( for instance , see hybrid cloud specific research in  and section [ subsubsec : data privacy in hybrid clouds ] ) .even though there is a plethora of additional projects and frameworks that add functionality on top of mapreduce ( see apache hive  , cloudera impala , hbase  , apache zookeeper , thrift , and apache solr ) , this paper only reviews security related projects in section [ sec : challenges in mapreduce environment and adversary models ] ( readers interested in security and privacy issues of other projects may refer to  ) .security aspects in the context of mapreduce are crucial in order to authenticate and authorize users , auditing - confidentiality - integrity of data and computation , availability of mappers and reducers , and verification of outputs .security of mapreduce ensures a _ legitimate _ functionality of the framework . a secure mapreduce framework deals with the following attacks : attacks on authentication ( impersonation and replay attacks ) , attacks on confidentiality ( eavesdropping and man - in - the - middle attacks ) , data tampering ( modification of input data , intermediate outputs , and the final outputs ) , hardware tampering , software tampering ( modification of mappers and reducers ) , denial - of - service , interception - release of data as well as computations , and communication analysis .  on the contrary ,privacy aspects assume _ legitimate _ functionality of the framework and thus , are built on top of security .on top of the correctly functioning framework , privacy in the context of mapreduce is an ability of each participating party ( data providers , cloud providers , and users ) to prevent other , possibly adversarial parties from observing data , codes , computations , and outputs . in order to ensure privacy ,a mapreduce algorithm in public clouds hides data storage as well as the computation to public clouds and adversarial users .additional distinction between security and privacy is that security is much more of a binary issue , _i_._e_. , either the attack succeeds or not , whereas in a privacy setting there is a tradeoff between privacy of the data and utilization of the framework .* scope and outline of the paper . * in this paper , we discuss the challenges , requirements , adversarial models , attack scenarios and proposed solutions to the security and privacy concerns in the context of mapreduce ( see figure [ fig : outline of the paper ] ) .overview of mapreduce environment and its open - source software framework , apache hadoop , are given in section [ subsec : mapreduce ] and section [ subsec : hadoop ] , respectively . in section[ sec : challenges in mapreduce environment and adversary models ] , we discuss security challenges involved in a mapreduce computation .security aspects of mapreduce are presented in section [ sec : security aspects in mapreduce ] , where we present security threats in section [ subsec : security threats in mapreduce ] , requirements of security in mapreduce computations in section [ subsec : security requirements in mapreduce ] , adversarial models in section [ sbsec : adversary models for mapreduce security ] , and some proposed solutions for security in mapreduce in section [ subsec : proposed solutions for security in mapreduce ] .privacy aspects in mapreduce are presented in section [ section : privacy aspects in mapreduce ] .we first outline privacy aspects in clouds ( section [ subsection : privacy threats in mapreduce computing ] ) and privacy requirements in mapreduce in section [ sebsec : privacy requirements in mapreduce ] .then , we present the common adversarial models in the context of privacy in mapreduce in section [ subsection : adversary models for mapreduce privacy ] , and some proposed solutions to privacy in mapreduce in section [ subsec : proposed solutions for privacy in mapreduce ] .we conclude and outline important research issues in section [ sec : conclusion ] .we would like to emphasize here that we focus on the security and privacy issues of mapreduce framework .despite advantages of mapreduce deployments in public clouds , they also bring new hurdles in the form of security , data privacy , and computation privacy . even though the new challenges are mainly due to the public nature of the cloud , ownership separation of platform and data , location of the service , and etc ., those challenges are different from security and privacy challenges of a general cloud computing .general security issues in the cloud such as : security of virtual machines and hypervisors , security of services and service - level agreement ( sla ) , regulations and organization policies , and general availability in the cloud are not discussed in detail , and the interested reader may refer to  for security and privacy in the cloud . also note that we do not consider security and privacy of mapreduce scheduling algorithms , rather than we encourage readers to have an understanding of security and privacy of mappers , reducers , and data flow .parallel processing of large - scale data provides outputs in a timely manner .however , it constrains the computation due to node failure , ordering of outputs , system scalability , transparency , load balancing , fault tolerance , and synchronization among the nodes .mapreduce  solves these issues and executes parallel processing using a cluster of computing nodes over large - scale data , but without considering security and privacy of data and computations . here, we provide an overview of mapreduce framework , details may be found in chapter 2 of  .  a user - defined program forks a _ master process _ and _ worker processes _ at different nodes; see figure [ fig : mapreduce ] .the master process creates and assigns _ map tasks _ and _ reduce tasks _ to idle worker processes .a worker process deals with either a map task or a reduce task .the worker processes that handle the map tasks and the reduce tasks are called _ map workers _ and _ reduce workers _ , respectively .a mapreduce computation consists of the _ map phase _ and the _ reduce phase _ , where two user - defined functions , namely the _ map function _ and the _ reduce function _ , are executed over ( large - scale ) data , which is represented in the form of pairs .  _the map phase . _ the given input data is processed in the map phase , where the map function is applied to data and produces intermediate outputs ( of the form ) , where the number of bits needed to describe the in each pair is not necessarily identical  .the application of the map function to a single input ( for example , a tuple of a relational database or a node in a graph ) is called a _ mapper_.    _ the reduce phase . _the reduce phase provides the final output of mapreduce computations .the reduce phase executes the reduce function on intermediate outputs .the application of the reduce function to a single _ key _ and its associated list of is called a _reducer_.  _ word count example . _word count is a traditional example to illustrate a mapreduce computation , where the task is to count the number of occurrences of each word in a collection of documents .the original input data is a collection of documents .each mapper takes a document and implements a map function that results in a set of pairs ( ) , where each key , , represents a word in the document , and each value is 1 .the reduce task is executed subsequently , where the reduce function adds up all the values corresponding to a key .specifically , a reducer for a key takes all the pairs corresponding to the key ( or word ) and outputs a pair , where is the total number of occurrences of the word in all the given documents .  _ applications and models of mapreduce_.many applications in different areas exist already for mapreduce . among them : matrix multiplication  , similarity join  , detection of near - duplicates  , interval join  , spatial join  , graph processing  , pattern matching  , data cube processing  , skyline queries  , -nearest - neighbors finding  , star - join  , theta - join  , and image - audio - video - graph processing  , are a few applications of mapreduce in the real world . some research models for efficient mapreduce computation are presented by karloff et al . , goodrich  , lattanzi et al . , pietracaprina et al . , goel and munagala  , ullman  , afrati et al . , and fish et al . .apache hadoop is the most known and widely used open - source software implementation of mapreduce for distributed storage and distributed processing of large - scale data on clusters of nodes .hadoop includes three major components , as follows : ( _ i _ ) hadoop distributed file system ( hdfs )  : a scalable and fault - tolerant distributed storage system , ( _ ii _ ) hadoop mapreduce , and ( _ iii _ ) hadoop common , the common utilities , which support the other hadoop modules .hadoop 2.x , released in 2013 , has changed the low - level architecture by separating resource management from job management ( see yarn ) .however , the architectural modification does not change the high - level of the described mapreduce job , and thus , is not considered here .hadoop cluster consists of a master node ( that runs a jobtracker and a namenode ) and several slave nodes ( where each slave node runs a tasktracker and a datanode ) ; see figure [ fig_hadoop ] .jobtracker and tasktrackers provide an environment for a mapreduce job execution .specifically , jobtracker accepts a mapreduce job from a user , executes the job on ( free ) tasktrackers , receives outputs from tasktrackers , and provides outputs to the user .tasktrackers execute assigned jobs , provide outputs to jobtracker , and periodically send heartbeat messages to jobtracker to show its presence and workload .namenode and datanodes provide a distributed file system , called hadoop distributed file system , which supports read , write and delete operations on files , and create and delete operations on directories .namenode manages the cluster metadata and datanodes , which store the data .namenode keeps information of files and directories using _inodes_. inodes store several attributes of files and directories , _ e_._g_. , permissions , modification and access times , and disk space quotas . in hdfs, data is divided into small splits , called _ blocks _ , ( 64 mb and 128 mb are most commonly used sizes ) .each block is independently replicated at multiple datanodes , and block replicas are processed by mappers and reducers .each datanode stores the corresponding block replicas , and two files in the local host s native file system are used to represent each block replica .the first file holds the data itself , and the second file holds the block s metadata .more details about hadoop and hdfs may be found in chapter 2 of  .as the review focuses on security of mapreduce , it is fitting to provide a short overview of hadoop and hdfs security features as well .mapreduce security is discussed later on in corresponding sections . by default, hadoop provides no authentication making it easy to perform destructive changes and possible attacks on other users or computing cluster .while it is possible to configure hadoop cluster with kerberos authentication mechanism  , extra work is required to do that  . in a similar way ,default configuration of hdfs provides a basic protection for the saved data by following unix access control .however , within hdfs cluster , by default , there is no mechanism for identifying a user or group , though the user is trusted to present himself correctly .clearly , this makes it very easy for an adversarial client to read and modify data belonging to other users . just like hadoop framework, hdfs can be configured to determine user identity by its kerberos credentials .however , just like in hadoop s case , the configuration requires additional work and as such , most likely is not performed in all installations .as mentioned , the job is done to provide security facilities for hadoop ( securemode  ) .the facilities include : user and service authentication ( based on kerberos mechanism ) , authentication for web consoles and data confidentiality .the data confidentiality consists from features that encrypt data in - transit during hadoop calls , including data encryption on rpc , block data transfer and http access .just like the authentication and access control mechanisms , data confidentiality requires configuration and is not configured by default .the massive parallel processing style of mapreduce is substantially different from the classical computation in the cloud leading to distinct design challenges for security and privacy requirements . in this section ,we present specific security and privacy design challenges for mapreduce computations in the cloud .* size of input data and its storage . *input to a mapreduce job , big - data , which is described by the 4vs : volume , velocity , variety , and veracity , implies a major challenge in securing mapreduce computations .security and privacy techniques for processing big - data have to deal with huge amount of data , possibly arriving at high speed from different sources .moreover , in mapreduce computations , data is partitioned into small - sized splits that are replicated and distributed to several nodes .each split has to be transferred in a secure and private manner .this replicated and distributed nature constitutes unique challenges in terms of data storage security , as compared to a system that holds the whole data in a single place .  * highly distributed nature of mapreduce computations . *the cloud computing itself does not necessarily imply distributed computations .however , mapreduce does require large clusters of nodes that can distributively process replicated data in parallel .the deployment of mapreduce in the cloud requires mechanisms for protecting a large - number of nodes and data , which may be in - transit and may be at the rest at the nodes . in particular , distributed processing over replicated data has a higher probability for attacks as compared to a centralized system , since attackers have a much wider range of targets to choose from .a single adversarial mapper or reducer , out of several mappers and reducers , may provide wrong outputs , copy data for future usage , modify input data , leak confidential data to a third party , or send the whole data to another user .identifying a ( single ) adversarial mapper or reducer is not an easy task in the scope of mapreduce .* data flow .* mapreduce computations require a complex data flow among different storage nodes , different computing nodes , and different clouds , as follows :  * _ between data storage and computing nodes _ : mapreduce computations are executed near the location of data to minimize data flow ; however , ensuring an identical location of data and mappers - reducers can not always be guaranteed .thus , computations are typically executed at the nodes that are not storage nodes .this leads to data flow from storage to computing nodes .moreover , some providers separate the computational cloud from the storage cloud ; for example amazon elastic mapreduce uses two different clouds : one is for executing a mapreduce computation and the other is for storing data .this dual cloud structure requires constant data flow between the clouds .data flow becomes more complex when organizations perform mapreduce computations in the hybrid clouds , where it is necessary for sensitive data ( _ e_._g_. , some attributes of a relation , financial data , or health records ) to remain in private clouds and do not reach public clouds ; while all the other data , called non - sensitive data ( _ e_._g_. , all the attributes of a relation except some attributes holding critical information ) , may be processed in public clouds .* _ between public clouds _: a mapreduce computation may be executed in more than one public cloud  . in that case, data flow may occur between two master processes at two different clouds , between two mappers at two different clouds , between two reducers at two different clouds , and a mapper and a reducer at two different clouds .such scenarios involve data flow over a public network , which is vulnerable to attacks .  * the black - box nature of public clouds supporting mapreduce .* public clouds supporting mapreduce do not provide any information regarding the deployment , configuration and execution of mappers and reducers .paas infrastructure deploys and configures mappers and reducers dynamically for each computation .this opaque view of mapreduce in public clouds prohibits an efficient execution of a mapreduce computation in terms of the _ communication cost _ ( the total amount of bits that are transferred between the map phase and the reduce phase ) and the replication rate  ( the average number of key - value pairs created for each input ) . on the upside , the automatic resource management of public cloudsoffloads the user s burden .hence , secure mapreduce computations should allow dynamic deployment and configurations of mappers and reducers in public clouds without increasing the communication cost .* hybrid cloud .* the hybrid cloud provides an efficient processing of sensitive and non - sensitive data .the hybrid clouds enjoy efficient and economical resource management ( provided by public clouds ) with security and privacy of sensitive data ( provided by the private cloud ) .unfortunately , mapreduce is designed to work in a single cloud , and this characteristic poses additional challenges in supporting a hybrid cloud deployment  .in addition , data sanitation , _i_._e_. , separation of sensitive and non - sensitive data , and arrangement of outputs from different clouds are additional challenges to a mapreduce computation in the hybrid clouds .* scalability , fault tolerance , and transparency . *mapreduce provides an efficient , scalable , distributed , and fault - free processing of replicated data in parallel .an integration of security and privacy mechanisms should not reduce efficiency , scalability , and fault tolerance of mapreduce algorithms . also , the involvement of security and privacy protocols in mapreduce must be transparent to users , without any modification of the map and reduce functions .  * economical issues . *an execution of mapreduce computations in public clouds is tariffed mainly for three economical factors data storage , the communication cost , and computation time .mapreduce algorithms also regard these three economical factors .therefore , security and privacy mechanisms must be economically incorporated into mapreduce computations .* untrusted data access .* mapreduce allows great flexibility in enabling user defined computations ; but at the same time , implies a great trust in users for providing mapper and reducer codes that do not impact mapreduce cluster , in terms of slowing / corrupting the entire job , modifying modifying / deleting data , and other unwanted read / write operations .security and privacy algorithms for mapreduce should be developed to cope with corrupted or even adversarial codes , protecting data , and limiting data access of corrupted mappers and reducers .all the above challenges to mapreduce framework in clouds indicate new security and privacy requirements . in the next sections , we discuss the requirements of security in mapreduce .the security of data and computations plays a significant role in mapreduce computations on both hybrid and public clouds . without security ,mapreduce computations as well as mapreduce infrastructures can be affected by several types of attacks . in this section, we present security threats and security requirements for mapreduce computations .notice that even though some security threats and security requirements are common for mapreduce and for generic cloud computing , we will focus on security threats and security requirements in the context of mapreduce .following that , we provide a brief summary of some existing security algorithms for mapreduce .   in this section ,we present security threats that can harm a mapreduce computation and the framework in the absence of secure mapreduce environment . distributed and replicated data processing in mapreduceopen an opportunity for a wide range of attacks . while those attacks follow the same ideas as attacks in different cloud computation models , the exact application is different for mapreduce paradigm .notice that most of these attacks are specific to mapreduce deployments in public clouds , as physical security and separation of private cloud deployments significantly reduce the risk of attacks and allow a physical separation of resources from attackers .* impersonation attack .* _ definition _ : an impersonation attack occurs when an adversary successfully pretends to be a legitimate user of a system by a brute - force attack on weak passwords , weak encryption schemes , or other means .  _ mapreduce context _ : after a successful impersonation attack an adversary can act on behalf of a legal user and can execute mapreduce jobs that may result in data leakage , data and computations tampering , or wrong computations on data  .moreover , on public clouds under impersonation attack , an attacker may perform mapreduce computations while the impersonated user is tariffed for data storage , the communication cost and computation time .* denial - of - service ( dos ) attack . * _ definition _ : a dos attack occurs when an adversary causes a system and the network to become non - functional and non - accessible by legitimate users ._ mapreduce context _ : a dos attack occurs when an adversary makes a node , mapper , or reducer to be non - functional and non - accessible by executing undesirable and useless tasks  .moreover , a compromised node , mapper , or reducer may result in non - functionality of other non - compromised nodes , mappers , or reducers by repeatedly sending task requests for them to execute  .in addition , if an attacker compromises enough nodes in a hadoop cluster , it may result in the failure of the whole mapreduce framework and the network overload  .* replay attack . * _ definition _ : a replay attack occurs when an adversary resends ( or replays ) a captured valid message to the nodes ._ mapreduce context _ :a replay attack occurs when an adversary assigns some old tasks to the nodes , making them continuously busy  .in addition , an adversary can replay users credentials to access the framework , and it may lead to impersonation  and dos attacks by spinning excessive amount of nodes .  *eavesdropping . * _ definition _ : an eavesdropping attack occurs when an adversary ( passively ) monitors the network and the nodes without consent ._ mapreduce context _ :an eavesdropping attack occurs when an adversary observes input data , intermediate outputs , the final outputs , and mapreduce computations without any consent from the data and computation s owner  .* man - in - the - middle ( mim ) attacks . * _ definition _ : in mim , an adversary ( actively ) modifies , corrupts , or inserts data passing between two legitimate users of a system ._ mapreduce context _ :a mim attack occurs when an adversary modifies or corrupts the computing codes , input data , intermediate outputs , or the final outputs passing between any two legitimate nodes of the framework  .moreover , tampering with mappers or reducers may lead to dos , impersonation , and replay attacks  .  *repudiation . * _ definition _ : a repudiation attack occurs when a node falsely denies processing a sent message or a task execution .  _ mapreduce context _ : a repudiation attack occurs when a mapper or reducer falsely denies an execution request that it already performed  . despite the severity of all the above mentioned attacks , by default , mapreduce does not provide any way to encounter them .( details of the above mentioned attacks on the computer networks are given in  . ) in the next section , we present security requirements in mapreduce .dynamic deployment and configuration of mappers and reducers for each mapreduce computation specify distinct security requirements in mapreduce as compared to the classical parallel processing and cloud computing .specifically , the allocation of different heterogeneous resources for different mapreduce computations , variability in the locations of resources , and different trust levels for different jobs are a few parameters that complicate the security of mapreduce . in order to overcome security challenges in mapreduce computations ,a secure mapreduce must provide authenticated and authorized access , confidentiality ( a secure storage and computation ) , integrity ( a fair execution and storage ) , and accounting - auditing of data and computations .next , we present the security requirements needed in a mapreduce computation . most of the security requirements and corresponding cloud layers are depicted in figure [ fig : pic_mr+cloud ] .as can be seen from figure [ fig : pic_mr+cloud ] , we do not deal with issues of security above the mapreduce layer such as those of pig , hive , or big - data applications .    *authentication , authorization , and access control of mappers and reducers .* authentication provides a way to identify an adversarial mapper , reducer , or user . in other words, authentication is a process by which only those mappers and reducers that have rights to process data perform assigned tasks , and all the other mappers and reducers who are not allowed to access data and the framework are denied .once mappers and reducers are authenticated , authorization of mappers and reducers allows them to access and process data by investigating their access privileges to that data .access control provides pre - configured policies that restrict an unauthorized user to access data and to access the framework .an adversarial mapper , reducer , or user _ mimics _ a legal mapper , reducer , or user , while breaching authentication and authorization .attacks on authentication and authorization mechanisms are impersonation and replay attacks .the framework and data can not be processed by any adversarial mapper , reducer , and user , when authentication , authorization , and access control of mappers and reducers are functioning properly .  *availability of data , mappers , and reducers .* data , mappers , and reducers should be available to authenticated and authorized users without delay .an adversarial code may make mappers - reducers and the network too busy so that they can not process data and available to transfer data , respectively .an attack on availability of data , mappers , and reducers can _ interrupt _ mapreduce computations .specifically , an attack such as denial - of - service , is an attack on availability of data , mappers , and reducers . as an example , a single adversarial user in multi - users cloud - based mapreduce environment can considerably impact job completion times of the entire cluster even when using less than 10 of cluster resources  .* confidentiality of computations and data . *confidentiality of computations and data refers to the protection of computations and data , which may be in - transit from the user s location to the location of computations or may be stored at public clouds , from unauthorized users and the public cloud itself .an attack on confidentiality of computations and data is _ interception _( _ i_._e_. , eavesdropping and man - in - the - middle attacks ) . by ensuring confidentiality, one can not intercept computations and data during the transmission and following transmission on public clouds themselves .* integrity of computations and data .* integrity of a computation refers to a _fair _ transmission ( of a mapreduce computation from the user s location to the locations of the computation ) and execution of mappers and reducers .similarly , integrity of data refers to a _fair _ transmission and storage of data .an attack on integrity of computations and data modifies computations or the data .to overcome such attacks , integrity should be preserved such that any modification and loss of computations and data by public clouds or an adversarial user is detected  . however , the amount of data hurdles to check the integrity of computations and the integrity of the whole data at a single computing node  .* verification of outputs .* verification of outputs is a difficult task in mapreduce due to a massive parallel processing and a huge amount of input / output data .verification ensures completeness ( _ i_._e_. , all the possible outputs are produced by mappers and reducers by processing of assigned input data without any tampering ) , correctness ( _ i_._e_. , all the outputs are legitimate and generated from assigned input data without any tampering ) , and freshness ( _ i_._e_. , all the outputs are new , not containing any old output , and generated from input data without any tampering ) of outputs  .  *accounting and auditing of computations and data .* accounting of computations and data assists in locating mappers or reducers who are taking adversary actions over data with verifiable evidences  .auditing of computations and data produces details of actions taken by mappers and reducers over data .specifically , auditing investigates accounted data and provides verifiable evidences of what , when , initiated by whom , and how actions happened over which part of the data .an auditing process involves three parties , the first is data providers , the second is public clouds , and the third is the auditor who performs auditing .hence , it is required to restrict data with fine - grained access controls , because an attacker who impersonates a legitimate auditor may understand the computation ( better than the auditor ) and reveal sensitive data .there are numerous possible adversarial models in security , and thus , we will concentrate only on a limited set of adversarial models involved in mapreduce security.  * honest - but - curious adversary . *an honest - but - curious adversary executes a mapreduce job correctly and does not interfere with the job as well as data ; however , it performs some extra computations for understanding the whole data and the job . for example, a public cloud does not interfere a mapreduce job and data , but it can observe the job and data .this type of adversary is also relevant to privacy in mapreduce , see section [ subsection : adversary models for mapreduce privacy ].  * malicious adversary .* a malicious adversary can execute any computation for stealing , corrupting , and modifying data as well as the original mapreduce computation  .for example , a malicious mapper or reducer may not perform a computation or may provide wrong outputs ( to users ) .malicious adversaries in distributed settings , like mapreduce , are divided into two types , as follows : ( _ i _ ) _ non - collusive malicious adversary _ :a non - collusive malicious adversary works independently , and hence , provides wrong outputs without consulting other malicious adversaries . in this case , if an identical task is assigned to two nodes and at least one of them is non - collusive , then the malicious behavior of the node can be easily detected by comparing their outputs ; ( _ ii _ ) _ collusive malicious adversary _ :a collusive malicious adversary communicates with all the other malicious adversaries before providing outputs  . in this case , when a collusive ( malicious ) adversary is assigned a task , it consults other collusive adversaries to find if they are assigned an identical task .if yes , then all the collusive adversaries provide an identical wrong output , which make it harder to detect them .note that honest - but - curious and malicious adversaries are assumed to be polynomial - computationally - bounded adversaries , _i_._e_. , the adversaries can not perform brute - force attack.  * knowledgeable adversary . *a knowledgeable adversary is assumed to be knowledgeable with respect to the cloud structure , mapreduce algorithms , and implementation of mappers - reducers . in other words , a knowledgeable adversary , which may be the cloud provider or any user ,is considered to be capable of leveraging any security ( and privacy ) threats in the framework .* network and nodes access adversary . *a network and nodes access adversary is assumed to have an access to network and nodes , though it does not have privileged accounts on the nodes .privileged account on the nodes can be compared to the adversary owning the cloud , which is a situation where cloud user can not be protected .   in this section ,we provide a brief description of some existing security solutions for mapreduce . reviewed security algorithms , protocols and frameworksare summarized in table [ table : summary of security algorithms1 ] .   an authentication mechanism for hadoop using kerberos and three special types of tokens , namely _ delegation token _ , _ block access token _ , and _ job token _ , is presented  .the communication between a user and hdfs is divided into two parts : ( _ i _ ) a user accesses namenode using hadoop s remote procedure call ( rpc ) libraries , and all rpcs connect using _ simple authentication and security layer _ that uses kerberos , digest - md5 , or a delegation token and ( _ ii _ ) a user accesses datanodes using a streaming socket connection that is secured using a block access token .the working of the three types of tokens is as follows :   [ fig : delegation token ]   [ fig : block access token ]  _ delegation token . _a delegation token is a secret key between a user and namenode .after authenticating a user , a delegation token is generated by namenode using kerberos , and the token is used for subsequent authentication of the user by namenode without involving kerberos ; see figure [ fig : delegation token ] .  _ block access token ._ a block access token provides authentication policies to datanodes by passing authorization information from namenode to datanodes and is generated by namenode using a symmetric - key scheme where namenode and all of the datanodes share a secret key ; see figure [ fig : block access token ] .when a user wants to access a file in hdfs ,it requests namenode for block ids and locations of the file . in response, namenode sends block ids and the locations with a block access token for each block , if namenode verifies authenticity and authority of the user .the user sends the block i d with the block access token to the corresponding datanode , and the datanode verifies the block access token before allowing access to that block ._ job token . _a job token is generated by jobtracker in the form of a secret key , when a mapreduce job is submitted .jobtraker stores the job token for each job as a part of the job and distributes it to tasktrackers .the job token is used to authenticate tasks at tasktrakers .mapreduce paradigm itself is security agnostic , and this lead to an initial version of hadoop implementation to have no built - in security mechanism .however , as mapreduce in general and , specifically , hadoop gained wide - spread usage , the need for security has become more and more acute .this led to a number of recent projects , which we will review next , trying to add different types of security aspects to hadoop .  *apache knox .* apache knox  is a stateless reverse proxy framework that provides gateway - level security and a single access point to a single hadoop cluster or multiple hadoop clusters .apache knox provides a monitoring of the system , authentication , federation of authenticated users , authorization , and auditing .it has several advantages , such as : integration with enterprise identity management solutions , it hides details of hadoop cluster deployment , simplifies the number of services that clients need to interact with , limits numbers of access point to hadoop clusters , scales linearly by adding more knox nodes as the load increases .* apache sentry .* apache sentry  is a system for fine - grained , multi - tenant administration , and role - based authorization of an access to data and metadata in a hadoop cluster .apache sentry can be integrated in relational data model for apache hive , cloudera impala , and hierarchical data model used by apache solr .sentry allows access control at the server , database , table , and view scopes .it also allows different privileges for ` select ` , ` insert ` , ` create ` , and ` modify ` .sentry defines policies for accessing resources . on receiving a request from a user , hive/ impala / solr asks sentry for validating the request .sentry builds a map of privileges allowed for the requesting user and then determines whether the given request should be allowed , and then allows or prohibits the user access based on decisions by sentry .* apache ranger .* apache ranger  provides a centralized and comprehensive platform for securing hadoop .specially , apache ranger provides : ( _ i _ ) authentication : by kerberos and secured by apache knox , ( _ ii _ ) authorization , ( _ iii _ ) fine - grained access control : by role - based access control , attribute - based access control , etc ., ( _ iv _ ) auditing of hdfs , hive , and hbase , and ( _ v _ ) data protection : by wire encryption , volume encryption , and file / column encryption.  * project rhino .* project rhino  , an initiative by cloudera and intel , is an open source for enhancing existing data protection in the hadoop _stack_. specifically , project rhino provides framework support for encryption , key management , and a common authentication - authorization module with single sign on .recently , project rhino added cell level encryption and fine - grained access control to hbase 0.98 , and encryption to data at - rest ( data stored on persistent storage ) in apache hadoop .note that data encryption in hadoop requires encryption of data at - rest and in - transit ; however , except project rhino , most hadoop components provide encryption for data in - transit only .* apache accumulo .* apache accumulo  is not a security framework like apache knox , apache sentry , apache ranger , and project rhino .however , apache accumulo improves google bigtable  design by introducing _ cell - based access control _ , which emphasizes us to mention apache accumulo in this paper .apache accumulo stores a logical combination of security labels that must be satisfied at query time in order for keys and values to be returned as part of a user request .this allows users to see only those keys and values for which they are authorized .apache accumulo is built on top of apache hadoop , zookeeper , and thrift .+  & & & & & & & & & + &  &  & & & & & & & & & & & & & & +   ,  & & & & & & & & & & s & & & & & & +  apache knox  & & & & & & & & & & m & & & & & & +  apache sentry  & & & & & & & & & & s & & & & & & +  apache ranger  & & & & & & & & & & m & & & & & & +  project rhino  & & & & & & & & & & s & & & & & & +  apache accumulo  & & & & & & & & & & s & & & & & & +  airavat  & & & & & & & & & & s & & & & & & +  khaled et al . & & & & & & & & & & & & & & & & +  vigiles  & & & & & & & & & & & & & & & & +  guardmr  & & & & & & & & & & & & & & & & +  g - hadoop  & & & & & & & & & & & & & & & & +  secdm  & & & & & & & & & & m & & & & & & +  ibigtable  & & & & & & & & & & & & & & & & +  lin et al . & & & & & & & & & & s & & & & & & +  sapsc  & & & & & & & & & & m & & & & & & +  clusterbft  & & & & & & & & & & s , h & & & & & & +  moca et al . & & & & & & & & & & & & & & & & +  securemr  & & & & & & & & & & s & & & & & & +  accountablemr  & & & & & & & & & & s & & & & & & +  viaf  & & & & & & & & & & s & & & & & & +  ccmr  & & & & & & & & & & m & & & & & & +  integritymr  & & & & & & & & & & m & & & & & & +  vaws  & & & & & & & & & & s & & & & & & +  hatman  & & & & & & & & & & s & & & & & & +  trustmr  & & & & & & & & & & s & & & & & & +  ts - trv  & & & & & & & & & & s & & & & & & +  log - based  & & & & & & & & & & s & & & & & & +  watermarking based  & & & & & & & & & & s & & & & & & +  accountable mapreduce ( rbac )  & & & & & & & & & & s & & & & & & +  * airavat . *airavat  is a system that provides mandatory access control together with differential privacy for data protection .airavat is the first system that provides a complete solution for data privacy and secure computations in mapreduce environments . to ensure that untrusted mappers do not leak data outside the cluster , airavat uses mandatory control system to disallow direct access of mappers to the data and to the network .the system is based on security - enhanced linux ( selinux ) and requires a unified deployment of the secure linux system on all the nodes of the cluster .* vigiles . *vigiles  provides a fine - grained access control mechanism for read operations in mapreduce without modifying computations .vigiles works as a middleware architecture that stays between untrusted users and mapreduce environment ; see figure [ fig : vigiles ] .since vigiles supports only read operation , it is required to remove sensitive data from outputs ( of the read operation ) .a system administrator manages hdfs and creates access control filters , which provide only authorized data to users , based on the given configurations .access control filters are used to remove sensitive data by following a 3-phase procedure : decompose , fetch , and action .when users provide mapreduce computations , vigiles executes them by following access control policies and remove sensitive data from the outputs . on the negative side ,ad - hoc data types , append and delete operations are not allowed in vigiles .nevertheless , it does not require any modification of a mapreduce computation .* guardmr . *guardmr  allows ad - hoc data types and provides access to the record dynamically .guardmr is composed of two main components : ( _ i _ ) access control module performs the administrative functions that allow to add new data types and preprocessing functions after a proper security analysis ; and ( _ ii _ ) reference monitor enforces specified security policies to the underlying mapreduce system after consulting the access control module , resulting in an authorized view of data .  in  , an access control and enforcement policy based architecture for resource description framework ( rdf )  is proposed , where the system administrator generates an access token for securely accessing data based on the request of users . the token prevents access to the entire data . six types of secure data accesses are suggested : predicate data access , subject and object data access with or without predicates , and subject model level access . since the format of rdf is not suitable for a mapreduce computation , a two - layered system is also proposed , where the first layer ( data processing layer ) converts rdf to -triple format  , and the second layer ( query processing layer ) is responsible for executing a mapreduce computation .the query processing layer provides outputs regarding an access token .the query processing layer first rewrites a query that satisfies an access token , then performs a mapreduce job according to the rewritten query , and finally performs one or more additional mapreduce jobs to remove sensitive data from outputs according to the access token .authentication of malicious users based on storing communication between user and namenode , and between user and datanodes is suggested in  .the approach stores ip addresses , port numbers , and socket connection related system calls . in  , a security model for geographically distributed hadoop , called g - hadoop  , is presented .the model uses two types of tokens , namely proxy token and slave token for the purpose of authentication . a proxy token ( contains its expiration time , identity of certificate authority ( ca ) server , the public key of the master process , and a random message generated by the ca server ) is used by slave nodes for authenticating the master process . a slave token ( contains identity of the ca server and the public key of the corresponding slave node )is used by the master process for authenticating a slave node . in , the authors suggested a honey - pot - based mechanism for detecting an unauthorized data access .honey data is deliberately produced and mixed in the original data .however , an authorized user never accesses the honey - pot data during a mapreduce job .since attackers access all the parts of data , it leads to an alarm with a high probability .   a secure data transmission and security storage of the data ( reviewed in section [ section : privacy aspects in mapreduce ] )are critical issues when mappers and reducers that reside on two different clouds share data .* secdm . *secure data migration ( secdm )  provides a secure way for data transmission among mappers - reducers at two different clouds .the two master processes , which are located at two different clouds , create a secure socket layer ( ssl ) connection between them , then send message authentication code with a timestamp and negotiate a random key .after authentication of two master processes is completed , mappers or reducers receive the locations of data in the other cloud .data transmission ( among mappers - reducers at two clouds ) is carried out using the negotiated key , where encrypted data is transmitted with a hash value of data and a message authentication code , which prevents tampering .* ibigtable . *an enhancement of bigtable , called ibigtable  , ensures the integrity of data using decentralized authenticated data structures .two approaches , see figures [ fig : ibigtable1 ] and [ fig : ibigtable2 ] , are suggested for storing authenticated data that is used to verify the integrity of data .both the approaches build a merkle hash tree ( mht )  based authenticated data structure for the root tablet , the metadata tablets , and the user tables .mht allows efficient and secure verification of contents of large - scale data , where non - leaf nodes are labelled with the hash of the labels of their child nodes .[ fig : ibigtable1 ]   [ fig : ibigtable2 ]  in the first ( centralized ) approach , each user table and the metadata tablet stores its root hash of the authenticated data structure at the metadata tablets and the root tablet , respectively ; see figure [ fig : ibigtable1 ] .the root hash of the root tablet is stored at the user - end . whenever any data is updated at a user table ,the corresponding authenticated data structure is also updated .an update of the authenticated data structure at a user table requires updates of the corresponding authenticated data structures at the metadata tablet , the root tablet , and the user - end .such updates of authenticated data structures decrease the performance of bigtable and require the involvement of the user , the metadata tablets , and the root tablet . in the second (distributed ) approach , a user stores the root hash of each tablet and each user table , see figure [ fig : ibigtable2 ] ; and storing the root hash at the user - end increases the performance of ibigtable .in addition , it is not required to store the root hash of the authenticated data structures at the higher level .  in order to verify the integrity of data , three rounds of communication between a client and the serversare required .the first round requires communication between the user and the root tablet ; the second round requires communication between the user and the metadata tablet ; and the third round requires communication between the user and the user table . in each round ,a tablet server generates and sends a _ verification object _ , vo , which contains a set of hashes , for the data sent to the user . on receiving data and the corresponding vo ,the user verifies the integrity of the received data .vos from the root tablet and the metadata tablet allow accessing the metadata tablet and the user table , respectively .* hdfs - rsa and hdfs - pairing . * in order to store data in a confidential manner in hdfs , two approaches based on hybrid encryption are suggested in  .the hybrid encryption approaches , see figure [ fig : hadoop - hdfs - pic ] , use a block cipher and a stream cipher ( see chapter 3 of  for block ciphers and stream ciphers ) .data is divided into fixed - sized blocks , , according to a block cipher , and the remaining part of data becomes block .the blocks are encrypted using a random key and a block cipher , and the block is encrypted using the key and a stream cipher .the key , , is , then , encrypted using a public key scheme .the first approach , called _ hdfs - rsa _ , uses the rsa encryption scheme and aes , and the second approach , called _ hdfs - pairing _ , uses a pairing - based encryption scheme and aes .however , both the approaches are suitable for applications with a few write and many read operations .* sapsc . * security architecture of private storage cloud based on hdfs ( sapsc )  provides an architecture for ensuring security of data stored in hdfs by _ data isolation service _ , _ secure intra - cloud data migration service _ , and _ secure inter - cloud migration service _ ; see figure [ fig : sapsc ] .these three services are dependent on five major services of a distributed files system , as follows : ( _ i _ ) fault - tolerant service , ( _ ii _ ) storage service , ( _ iii _ ) configuration of the system and management of the nodes , called node services , ( _ iv _ ) data transmission service , and ( _ v _ ) load balance service .data isolation services are invoked when a user reads / writes a file and are responsible for secure storage of data in hdfs and secure operations on data .data isolation service is based on access policy management , access decision - authorization , access protocol security , and private data encryption .secure intra - cloud data migration services do a secure data replication for the fault - tolerant service and transfer of data involved in a job , due to the load balance service or the node service .secure inter - cloud data migration services do a secure data migration among clouds through the transmission service .in addition , three security policies are defined , as follows : ( _ i _ ) a flexible access control policy based on role - based access control , ( _ ii _ ) a label - based intra - cloud data replicating and restructuring policy , and ( _ ii _ ) a temporary - ticket based parallel inter - cloud data transmission policy .several approaches for result verification are proposed based on redundancy of data and computations , trust management , and log analysis , which will be presented in this section . * redundancy based approach *   a redundancy based approach replicates all or some of the tasks to multiple nodes and checks their outputs to find inconsistencies .several approaches based on redundancy of tasks are reviewed below .* clusterbft . *clusterbft  uses the byzantine failure tolerant ( bft )  replication technique to cope with a situation where the cloud is trusted but there are potentially malicious nodes or users in a cluster .bft replication is used for computational results verification and for overcoming untrusted , possibly malicious nodes .bft replication techniques perform calculations in parallel on multiple replicas , then compare all the produced outputs to identify erratic behavioral nodes and decide a correct output based on a majority vote .however , current bft replication techniques were developed for stand - alone servers and do not suit cloud - based computations , where data flow among different nodes and a computation consists of a number of stages to be performed on different nodes , as it is done in mapreduce . in order to overcome this gap, clusterbft algorithm adopts bft replication for highly - scalable , distributed and high - granularity cloud computations .the algorithm identifies an optimal , according to heuristic function , subgraph of the computational flow that is verified by multiple replicas .the rest of the nodes participating in data flow are not replicated to avoid multiplication of verification messages and performance overhead .to reduce the volume of replicated data in verification phase , the algorithm uses digital digest of the data .in addition , the algorithm allows fault isolation and identification , _ i_._e_. , identification of components that continuously return incorrect outputs and removing them from the job scheduling .* securemr . *a decentralized replication - based integrity verification framework , called securemr  , ensures the integrity of data as well as computations , and prevents repudiation , dos , and replay attacks .securemr replicates some map and reduce tasks , and assigns them to different mappers and reducers , _i_._e_. , a map ( or reduce ) task is executed by more than one worker .the proposed framework consists of five security components , as follows : secure manager , secure scheduler , secure task executor , secure committer , and secure verifier ; see figure [ fig : secure - mr - pic1 ] .the secure manager and the secure scheduler are deployed at the master process and perform task duplication , secure task assignment , and commitment - based consistency checking .the communication between the master process and mappers is carried out using the _ commitment protocol_. the communication between the master process and reducers , and between mappers and reducers is done using the _ verification protocol_.   [ fig : secure - mr - pic1 ]   [ fig : secure - mr - pic2 ]   [ fig : secure - mr - pic3 ]  _ commitment protocol_. the commitment protocol , see figure [ fig : secure - mr - pic2 ] , avoids inspection of intermediate outputs by the master process and allows mappers to send a _ commit message _ with a signed hash value for each of its intermediate outputs ( ) to the master process .note that in the commitment protocol , the master process assigns a map task to a mapper in a secure manner using an encrypted message ( signed , , by the master process and encrypted using the public key of the mapper , ) that holds the location of data , , and identity of the map task , .  _ verification protocol_. in the _ verification protocol_ , see figure [ fig : secure - mr - pic3 ] , reducers verify intermediate outputs and check the signed hash value that was submitted to the master process .the master process assigns a reduce task to a reducer in a secure manner using an encrypted message ( encrypted using the public key of the reducer , ) that holds the location of intermediate outputs , , and identity of the reduce task , .after that the master process sends a _notify message _ to the verifier of each reducer , which includes the mapper s address ( ) , , , , and a ticket ( which includes , , , and ) .the reducers ask intermediate outputs from the mapper , and the mapper sends data once it verifies the request .the verifier at the reducer verifies the response from the mapper , and in case of inconstancy , the verifier sends two signatures as evidences of an inconsistency to the master process .  in order to check the integrity of a mapreduce computation on a desktop grid , a replication based approach is suggested in  , where reducers check results produced by mappers and the master process checks results produced by reducers .in addition , a md5-based scheme is given to check outputs of mappers against a predefined digest code and map function .the master process computes digest - codes for each split , and the digest - codes are sent to reducers . mappers process input data splits , compute the code , and attach it with intermediate outputs .reducers check the codes attached with intermediate outputs and the code received from the master process . if both the codes are different , then intermediate outputs are rejected .* overhead issues . *all the redundancy - based approaches replicate all or some of the tasks , and such a replication increases the communication cost and computation time of a mapreduce job .this becomes more important in non - free public clouds , where users are tariffed for the communication cost and computation time .an additional drawback of redundancy - based approaches is a difficulty to find a collusive malicious , as collusive attackers might provide an identical incorrect answer ; thus bypassing the comparison - based verification . * redundancy with trust based approaches *   redundancy with trust based approaches use replication techniques for identification of inconsistencies , and then , use trusted workers for verification of results . trusted workers might be located in a private cloud , in a different pool on the same cloud , or in any other trusted location . also , it is assumed that the number of trusted workers is limited and does not allow execution of all tasks .* accountable mapreduce . * in order to ensure the integrity of mapreduce computations , accountable mapreduce  verifies each map and reduce tasks by reexecuting them at a group of trusted workers . however , the reexecution of each task is not computationally efficient in detecting malicious mappers or reducers .hence , the accountable mapreduce also supports reexecution of some of the map and reduce tasks by a group of trusted workers .* viaf . * verification - based integrity assurance framework ( viaf )  builds trust between the master process and each of the mappers , based on replication of tasks and a quiz - based system .the viaf framework introduces a new task called _ verification task _ that verifies outputs of the map tasks .the verification task , the reduce task , and the master process execute on a set of trusted workers ; and the map task executes on untrusted workers . in the viaf framework ,each map task executes on two workers , and each worker accumulates a sufficient amount of credits by passing verification ( quiz - based ) process .    in the viaf framework ,the master process assigns each map task to two different workers ; see step 1 in figure [ fig : viaf - pic ] .after completion of the map task , both the workers return hash values of the results to the master process ; see step 2 in figure [ fig : viaf - pic ] .if the hash values are different , then the master process concludes that one of them is a malicious ( non - collusive ) worker , and hence , assigns the same task to two different workers . on the other hand ,if both the hash values are identical , the master process stores the results of the two workers and the task information in their _ history caches _ ; see step 3 in figure [ fig : viaf - pic ] .after that , the master process may execute the verification task at the verifier in a non - deterministic manner ( with a certain probability , called _ verification probability _ ) to verify these consistent results of both the workers ; see step 4 in figure [ fig : viaf - pic ] .the master process concludes that the two workers are collusive workers when the verification task provides different results . on receiving an identical result from the verification task , boththe workers pass one quiz and accumulate one credit ; see step 5 in figure [ fig : viaf - pic ] .when both the workers have an adequate and an identical amount of credits , they become trusted workers , and their results are passed to reducers through a _ result buffer _ ; see steps 6 and 7 in figure [ fig : viaf - pic ] .* ccmr . * the framework , cross cloud mapreduce ( ccmr )  , extends the viaf  framework by executing a mapreduce computation over a private cloud and a public cloud .the master process and the verification task are executed at the private cloud . in the map phase , each original map task is replicated with a replication probability , and each identical result is verified using the quiz - based approach with a verification probability . in the reduce phase , each reduce task is divided into multiple sub - tasks ; and each sub - task is also replicated with a _ replication probability _ , and each identical result of sub - tasks is verified using the quiz - based approach with a verification probability .* integritymr . *integritymr  extends the ccmr framework  by executing a mapreduce job on a private cloud and multiple public clouds , where the map and reduce tasks are executed on different public clouds .in addition , an invariant construction and checking method for applications written in pig latin  is also suggested , where an original script is transformed into another equivalent script . in the transformed script ,a map task is substituted by two map tasks that work on some _ overlapped _ inputs and provide an identical result as an invariant of the map task after processing overlapped inputs . in order to achieve high accuracy ,the reduce task executes on the private cloud , detects invariant violation , and restores results from the two map tasks , if they provide identical results .verification - based anti - collusive worker scheduling ( vaws ) system  improves the scalability of the viaf framework by removing the bottleneck from the verifier and by enhancing the ability of the verification frameworks to deal with collusive attacks .majority vote based systems have an inherent flaw when malicious attackers comprise a majority of computational nodes for specific work items .this situation might occur even if the amount of collusive malicious attackers in the cluster is small in comparison to the entire cluster size .the vaws system deals with both challenges by separating reducers and the master process into trusted domain under the assumption that the majority of mapreduce jobs are mappers .mapper jobs are executed on two nodes and the results are compared .nodes that agree on results are considered to be temporary consistent .the algorithm then builds and maintains a sub - graph of consistent nodes .nodes that disagree in outputs in any execution are then paired with other nodes , both consistent and not consistent , in order to identify malicious nodes .while the system has a low overhead of verification and experiments successfully identify malicious nodes , it has a big disadvantage of allowing rounds of computations with incorrect results .this happens when both nodes that execute an identical job are malicious and continue to happen until the malicious nodes are correctly identified .* hatman . *another framework based on replication of tasks , hatman ( hadoop trust manager )  , builds a trust level among different clouds , and namenode keeps trust levels of datanodes . a mapreduce jobis distributed over workers , where is a replication factor and is the size of a group that process an assigned job independently . in other words , - identical groups of workers in each group process a job independently .if the system does not contain any malicious worker , then all the groups provide an identical result . on the other hand ,when the master process receives different results , the master process chooses the results of trusted workers .initially , all the nodes are assumed to be trusted and their relative confidence is also assumed to be uniform ( _ i_._e_. , ) .however , workers decrease their trust and relative confidence in case of compromises .the trust of a worker towards a worker is proportional to the percentage of jobs shared by and on which s group agreed with s group , and a worker relative confidence is the percentage of assessments of that have been voiced by .* trustmr . * in order to detect attacks with a high probability while minimizing the overhead , trustmr  decomposes mapreduce tasks into smaller computations by means of aspect - oriented programming and replicates a subset of these task to verify the integrity of computations .trustmr initiates multiple replicated map tasks on the replicated input splits .some outputs of the map phase are randomly selected at runtime , and replicated map tasks only generate these key - value pairs .the results of replicated and original map tasks are verified at a map verifier by using a voting system .the results of replicated and original reduce tasks are also verified in the same manner at a reduce verifier .* ts - trv .* trusted sampling - based third - party result verification ( ts - trv )  performs random sampling and constructs a merkle tree at a trusted third - party , called _verifier_. the use of a merkle tree reduces the amount of data that has to be sent to the verifier .a local merkle tree is constructed by taking outputs of mappers as leaf nodes , when mappers finish the task .after that a global merkle tree is constructed by the master process , where all root values submitted by mappers become leaf nodes , and the root value of the tree is sent to the verifier .the verifier randomly takes some number of ( challenging ) inputs from the global tree and sends them to corresponding mappers . on receiving ( challenging ) inputs ,mappers construct responses in the form of a path to the root node of the local merkle tree .the verifier also constructs the global merkle tree using the responses sent by mappers and compares the values of the new root node against the old root node s value ( to find a malicious mapper ) .* overhead issues . *most of the approaches check the trust of the workers before the execution of a mapreduce computation , which causes an overhead in addition to replication overhead .for instance , a malicious worker can behave well for a long period of time to gain the trust of the master process and may attack only after that .most of the above approaches do not deal well with such sophisticated attackers .in addition , even replication of some tasks together with usage of trusted workers still can not guarantee the detection of all the malicious mappers and reducers .  * log analysis and watermarking - based approaches *   in order to find malicious workers and a malicious update in hdfs , an approach based on log analysis is suggested in  .the approach verifies the integrity and the correctness of a mapreduce job without modifying the original mapreduce job .four types of logs are recorded , as follows : ( _ i _ ) logs of interaction between a user and namenode and logs of interaction between a user and datanode , ( _ ii _ ) logs of hdfs access , ( _ iii _ ) logs of interaction between hdfs and mappers - reducers , and ( _ iv _ ) logs of the map and the reduce phases .these logs are compared with some pre - defined systems and job invariants to find malicious workers .  watermarking uses the concept of a watermark that is a kind of indistinguishable marker embedded in data .an approach based on watermark ( or probe ) injection is given in  , which is able to detect malicious and lazy ( a worker process that can either drop a task at any time or start a task not from beginning ) workers .the approach consists of four steps : _ watermark generation _ , which generates some watermarks and inserts them into original data ( before the start of a mapreduce job ) , _ execution of a mapreduce job _, _ verification _ , which is done by the user by comparing outputs of all the processed watermarks by a mapreduce job and preprocessed outputs of all the watermarks , and _ recovery _ , which removes injected watermarks from outputs , once the output passes the consistency check at the verification step .the approach works well mostly for text - intensive tasks , _ e_._g_. , inverted index , word count , distributed grep , and log data processing , while being hard to apply to other types of input data . a method for verifying outputs of pagerank algorithm based on random sampling , called _ in - degree weighted sampling _ ,is also suggested in  , which proposes a way for verifying outputs of tasks where watermark injection is not possible .another watermark based approach is suggested in  , which is also able to detect malicious workers .accountable mapreduce  also supports watermarking - based detection of malicious workers . in accountable mapreduce, some predefined watermarks are inserted into the original input data , and the outputs of the map phase , the inputs to the reduce phase , and the outputs of the reduce phase are verified .a different approach was proposed and implemented in  .the paper suggested _ purpose - based access control ( pbac ) _ ( see for more details ) and implemented it over hadoop mapreduce .the set of purposes is organized in hierarchical tree , where an edge between two purposes represents relations ( specialization and generalization ) between them .the system modifies mapreduce jobs and records to include purposes .an access to specific data record is granted if the purposes specified by the security policy include or imply the purpose for the accessing of the data .it is assumed that when hadoop system is deployed , the hierarchy of purposes is set in place and security policies are defined .a user submitting a job to hadoop cluster then declares access policy , which is then checked by the accountablemr system .the system clearly enhances the native security of hadoop and allows much more fine - grained and sophisticated access control to the data .however , accountablemr system also requires a considerable effort both in the initial setup of hadoop cluster and from ongoing work of users .  * restrictive issues . *watermarking - based approaches are better than redundancy based approaches in terms of the workload on the framework , because these approaches do not re - execute all / some map and reduce tasks . however, watermarking approaches can not be applied to all input data types or even to specific usages of the data .this considerably limits practical applications of such methods .in addition , the watermarking - based approaches do not guarantee finding all the malicious mappers and reducers , due to the fact that not all the data splits contain watermarks .  to summarize this section ,there exist solutions to some of the security problems of mapreduce , however , more research is needed in order to provide effective solutions , which will be discussed briefly in conclusions section ( section [ sec : conclusion ] ) .privacy ensures that sensitive data is not exposed to untrusted users and trespassers ( _ i_._e_. , cloud providers , other data providers , users of mapreduce , or adversaries ) .notice that the data providers are interested in allowing some sorts of computations on the data , however , there is also a requirement to preserve breach of sensitive data .sensitive data in this case is case specific and might be personal records with identifier information ( personally identifiable information pii ) , organization specific information and etc . in this section , we present a brief summary of privacy aspects in general cloud computing , privacy requirements in mapreduce , and then , review some existing solutions for privacy in mapreduce .cloud computing and the deployment of mapreduce on public clouds present a new set of challenges in privacy of data . here , we describe privacy challenges of cloud computing in the context of mapreduce and divide them into a few cases according to adversarial behaviors of public clouds and users .  * data privacy protection from adversarial cloud providers .* a user may keep private data in public clouds due to its volume or ease of computations on public clouds , while aiming to preserve the privacy of data . in this setting , we consider an adversarial cloud provider that can observe users data and mapreduce code ; but should not change users queries or results . ensuring privacy in the presence of an adversarial cloud provider who can modify or delete data and computations is an insurmountable challenge .the goal of privacy in the presence of adversarial clouds is to minimize data leakage to the cloud provider while allowing users to perform operations on data .the majority of the work in this area is based on encryption of users data and finding a way to allow operations on encrypted data in the cloud .* protection of data from adversarial users .* data providers allow users to perform mapreduce jobs on their data via cloud providers , but also wish to control and preserve privacy of data .for example , while the average annual income can be calculated , the income of that specific individual should remain secret .solutions to this use - case are based on anonymization of data ( _ i_._e_. , by dropping sensitive values that can identify individuals ) , by adding random noise to data , or computational results to hide the real values , ( _ e_._g_. , using differential privacy ) .* multiusers on a single public cloud .* a public cloud provider and a data provider should allow several users to perform their computations without data leakage .for example , an organization may keep all its data in public clouds , and several users process and access some parts of the data for which they are authorized . a hospital may store data of all the patients on clouds .there are several groups of users , _e_._g_. , doctors , insurance companies , patients , and pharmaceutical research companies , which should access some parts of data . in this case, privacy framework has to ensure that each user is able to access all the required data but also that the users can not access parts of data for which they are not authorized for .this is usually solved by authentication and authorization mechanisms as was explained in section [ subsec : proposed solutions for security in mapreduce ] .the situation becomes more complex as data is provided by a number of data providers , each one with different privacy requirements .in such public clouds , an adversarial user may also access another user s data by injecting a malicious mapper or reducer that exploits existing security issues .various solutions are suggested for privacy of cloud computing .however , not all existing solutions for privacy of the cloud computing can be used for privacy in mapreduce , due to a number of additional constraints and challenges in mapreduce ( presented in section [ sec : challenges in mapreduce environment and adversary models ] ) , thus requiring adaptation or change in those solutions .mapreduce inherently decouples data providers , cloud providers , and users that execute queries over data .referring to the cloud structure depicted in figure [ fig : pic_mr+cloud ] , data providers upload data to the cloud provider , and cloud users perform queries on data .however , despite separation between different entities , ensuring privacy in those settings is still a challenging task . here ,we provide requirements of privacy in mapreduce framework , deployed on the hybrid cloud or the public cloud .* protection of data providers . * in a setting where data is uploaded to the cloud by various data providers , each data provider might have a different privacy requirements .the cloud provider has to ensure that those privacy requirements are met even in the presence of adversarial users .moreover , different data providers might require a different privacy level for various data sets .the privacy framework should allow adaptation of privacy levels for those requirements .* untrusted cloud providers .* as an adversarial cloud provider can perform any computation on data for revealing data , modifying data , and producing wrong outputs , data has to be protected from cloud providers .in addition to protecting the data from cloud providers , privacy framework has to be able to protect the performed computations as well .as an example , consider a user querying for specific information . even if the data results are not released to the cloud provider , it is possible to learn the intent of the user from observing performed computations . in terms of mapreduce , it may require mappers and reducers to work on encrypted data ( see section [ subsec : proposed solutions for privacy in mapreduce ] ) .* utilization and privacy tradeoff .* a data provider can encrypt data in a way that no information can be learnt from it . however , this will also prevent the user from performing some computations on the data , and thus , decreases utilization of mapreduce . as such, mapreduce privacy framework has to provide maximum possible utilization while still preserving data privacy according to data providers requirements .* efficiency . * in most of the public clouds, users are tariffed for usage and storage . hence , the privacy framework has to be efficient in terms of cpu and memory consumption , and in the amount of storage required .if the privacy framework provides high overhead , it could be more cost - effective to perform computations on the private cloud , where physical security solves privacy issues .all the adversarial models mentioned in section [ sbsec : adversary models for mapreduce security ] are applicable to mapreduce privacy with small changes .below , we explain the adaptation required in the definitions of adversaries and how they can be applied in privacy settings .* honest - but - curious adversary .* this type of adversary mostly applies to cloud providers .curious cloud providers can breach the privacy of data and mapreduce computations very easily , since the whole cluster is under the control of cloud providers , which have all types of privileged access to data and computing nodes .it is important to note that in reality curious cloud providers are not necessary adversaries by choice , but rather might be compliant by court law , regulations , and governmental requests .* malicious adversary .* this type of adversary applies to a user that tries to learn , modify , or delete information from the data by issuing various queries . in general , cloud providersare not assumed to be malicious , as assuring privacy with malicious cloud providers requires a high level of privacy measures that considerably reduce the utilization of the framework.  * knowledgeable adversary . *a knowledgeable adversary applies to both a cloud provider and a user , who are trying to learn , modify , or delete information .knowledgeable adversary is assumed to have a complete knowledge of mapreduce framework , the cloud structure , and is able to use any algorithm or cryptography drawback . in other words , there is no `` security by obscurity . ''  * network and node adversary . * as opposite to the network and nodes access adversary in security adversarial models , a cloud provider working as a network and node adversary has all the privileged access to computing nodes and the entire cloud infrastructure .a real - world example of such adversary is a cloud provider employee that breaches sensitive information most clearly shown by edward snowden case .it is impossible to hide any mapreduce computation or data from this type of adversary  .this section summarizes some existing solutions for privacy in mapreduce .we categorize privacy algorithms in mapreduce into three types , as follows : ( _ i _ ) algorithms for ensuring privacy in hybrid clouds , ( _ ii _ ) algorithms ensuring data privacy in the presence of adversarial users , and ( _ iii _ ) algorithms for ensuring privacy in the presence of adversarial cloud providers .a comparison of privacy algorithms , protocols , and frameworks for mapreduce is given in table [ table : summary of privacy ] .an increasing growth of data within organizations and lower maintenance costs are two factors that force data processing on public clouds instead of private clouds . despite the change in the location of data processing ,the need for privacy preservation of sensitive data remains identical .thus , it is beneficial to process data based on sensitivity on the organization s private cloud and public clouds .since mapreduce is designed for a single cloud , hybrid cloud based mapreduce computations require modification of mapreduce framework in order to deal with privacy ( and security ) issues on public clouds .in this section , we review some mapreduce privacy frameworks for the hybrid cloud computing model .   [fig : map hybrid ]   [ fig : horizontal partitioning ]   [ fig : vertical partitioning ]   [ fig : hybrid ]  * hybrex . * hybrid execution ( hybrex )  is the first mapreduce framework designed for the hybrid cloud . in hybrex, data is divided into sensitive and non - sensitive data , non - sensitive data is sent to public clouds while sensitive data is kept in a private cloud .hybrex allows four types of execution models of mapreduce computations , as follows : ( _ i _ ) map hybrid : the map phase is executed at both public and private clouds , however , the reduce phase is executed at a private cloud only ( figure [ fig : map hybrid ] ) ; ( _ ii _ ) horizontal partitioning : the map phase is executed ( on encrypted data ) at public clouds only , while the reduce phase is executed at a private cloud ( figure [ fig : horizontal partitioning ] ) ; ( _ iii _ ) vertical partitioning : the map phase and the reduce phase are executed on both public and private clouds while data transmission between private and public clouds is not allowed ( figure [ fig : vertical partitioning ] ) ; and ( _ iv _ ) hybrid : the map phase and the reduce phase are executed on both public and private clouds and data transmission among clouds is also possible ( figure [ fig : hybrid ] ) .two integrity check models , namely full integrity checking and quick integrity checking , are also suggested .however , hybridex does not deal with a key that is generated at public and private clouds in the map phase ..summary of privacy algorithms , protocols , and frameworks for mapreduce . [ cols= " < , < , < , < , < , < " , ]   * sedic . * in order to solve key problem of hybridex  , sedic  provides strategic data movement from the map phase that executes on public clouds to the reduce phase that executes on a private cloud , by using an automatic analysis and transformation of the reduce code . in order to decrease the communication between a public cloud and a private cloud , outputs of the map phase ( at the public cloud ) are aggregated before their transmission to the private cloudin addition , sedic framework automatically partitions a job by following security levels of data and distributes a job between private and public clouds .[ fig : pic_taggedmr1 ]   [ fig : pic_taggedmr2 ]   [ fig : pic_taggedmr3 ]   [ fig : pic_taggedmr4 ]   [ fig : pic_taggedmr5 ]  * tagged - mapreduce .* hybrex  and sedic  consider data sensitivity before a job s execution .tagged - mapreduce  identifies data - sensitivity during execution of a job , where the map phase and the reduce phase are executed on public and private clouds .the framework handles sensitivity of intermediate outputs that may contain sensitive data , and hence , can not be processed by the reduce phase at public clouds .two policies , non - upgrading policy and downgrading policy , help in identifying on - the - fly data sensitivity , and four scheduling modes ( single - phase , two - phase crossing , two - phase non - crossing , and hand - off modes ) , see figure [ fig : tagged - mr ] , assign outputs of the map phase to reducers regarding data sensitivity .in addition , tagged - mapreduce supports iterative mapreduce jobs . however , hybrex  , sedic  , and tagged - mapreduce  are unable to handle the situation efficiently when a key is generated at public and private clouds . in order to solve this , oktay et al . suggested secure and efficient mapreduce over hybrid clouds ( semrod ) that prevents the leakage of sensitive data and efficiently exploits public resources for executing a given single ( or multi - level ) mapreduce job .* semrod . *semrod  first finds sensitive and non - sensitive data and sends non - sensitive data to public clouds .private and public clouds execute the map phase .however , instead of sending only outputs of the map phase containing sensitive keys to the private cloud , the private cloud pulls all the outputs , but executes the reduce phase operation only on record associated with sensitive keys and ignores non - sensitive keys .public clouds execute the reduce phase on all the outputs .hence , they are unable to know the sensitive keys . at the end ,a filtering step removes duplicate entries , creating by sensitive key .  *prometheus . * in order to outsource non - sensitive data , which is stored in relations , to public clouds , prometheus  removes quasi - identifiers ( a quasi - identifier refers to a subset of attributes that can uniquely identify most tuples in a relation  ) using a hypergraph . after the discovery of quasi - identifiers , attributes are distributed over public clouds , and an _ attribute location table _ is used to store name of relations and the location of relations - attributes .this allows the system to ensure that no sensitive data is stored in untrusted public clouds .it also avoids heavy workload on reducers at the user - end by sending merged outputs of public clouds and a _ mapping table _ of tuples from the private cloud to the user .reducers ( at the user - end ) construct the final output . on the downside, prometheus allows only search operations on a hybrid cloud .a new framework for multiple clouds is proposed in  .the framework is divided into three layers : ( _ i _ ) _ the physical layer _ holds computational resources ; ( _ ii _ ) _ the virtualization layer _ allows users to share the computational resources in a secure and isolated manner ; and ( _ iii _ ) _ the infrastructure - as - a - service ( iaas ) layer _ manages and creates virtual resources , provides user management , and an access control method for accessing virtual resources .the iaas layer has two sub - layers , namely _ automatic deployment layer _ that ( _ i _ ) creates virtual machines on the user - defined cloud , ( _ ii _ ) installs and configures hadoop s master process based on an assigned job , ( _ iii _ ) executes a mapreduce job on the user - defined cloud , and _ monitoring layer _ that monitors all the virtual machines and resources .the framework allows processing of sensitive data at a private cloud and processing of non - sensitive data at a public cloud .the framework uses existing encryption , authentication , and access control methods .a secure data exchange is carried out using secure transport protocols .after a job completes , data is deleted immediately from the virtual resources , virtual machines are cleaned , and results are sent back to the user .hence , the cloud does not hold data for a long time , which incurs users to send data every time to the cloud before computations .* overhead issues . * in most of the cases ,apart from sedic  , the separation of sensitive and non - sensitive data is performed manually at a private cloud .such a process drastically reduces the performance if datasets are huge .moreover , a private cloud becomes a bottleneck if almost all the tuples contain sensitive data , which is processed on a private cloud .in many applications , data providers and data users are different parties and might be completely separated .examples of such applications are health service providers , pharmaceutical companies , and genomic data providers . in those cases, there is a clear need for providing data access to external parties for the purpose of research , monitoring , or knowledge sharing while providing sufficient data protection for data providers .however , for those purposes , the management of access controls or data encryption is not enough ._ data anonymization _ is a promising solution for ensuring data privacy on public clouds .it works by hiding data identifiers , _i_._e_. , attributes that allow identification of specific individuals , by changing information to some values , inserting records , and suppressing information  .another notion of providing privacy , called _ differential privacy _  . the idea of differential privacy is to ensure that an addition or removal of a single dataset item does not substantially affects the outcome of computations . in other words, adversary can not distinguish between the results with and without a specific dataset item .the most common ways to achieve differential privacy is by addition of ( specific ) random noise to the sensitive data or computations , to hide an existence of any individual record .differential privacy is currently considered _ de facto _ standard of private data publishing as it provides rather strong privacy guarantee as it does not depend on auxiliary information known to adversary or computational power .additional privacy preserving methods for mapreduce are encryption - decryption - based solutions  and an accountability - based solution  .in  , the authors presented a new framework for mapreduce computations based on data anonymization .the framework introduces a new layer , called _ privacy - preserving layer _( ppl , see figure [ fig : ppl ] ) , that exists between the original data and mapreduce framework for executing an assigned job .the ppl layer takes privacy requirements and original data as inputs .the layer then can apply different anonymization approaches according to the privacy requirements of data providers .this allows flexibility in choosing different privacy mechanisms within a single framework .specifically , the ppl layer consists of four main modules , as follows : ( _ i _ ) privacy specification interface ( psi ) : takes several parameters as privacy specifications , ( _ ii _ ) data anonymizing ( da ) : does anonymization of data using mapreduce based anonymization algorithms  and privacy specifications , ( _ iii _ ) data update ( du ) : does anonymization of new data without anonymization of data from scratch , and ( _ iv _ ) anonymized data sets management ( adm ) : provides methods for storing anonymized data in public clouds without breaching privacy of data .airavat  ( see also section [ subsec : access control based approaches ] ) is the first system that combines mandatory access control ( mac ) and differential privacy for ensuring data privacy according to differential privacy definition from untrusted users .airavat allows users to submit mapreduce jobs with custom mappers and reducers chosen from a pre - defined set of trusted reducers .mandatory access control ensures that untrusted mappers do not leak data outside the system via network or file system .differential privacy requirements are ensured on intermediate outputs by adding a random noise to them . in order to maximize the utilization of the system and minimize the amount of added noise, the user has to provide a range of output values for every provided mapper .if the output exceeds the range , it is re - mapped to a random value in the range .naturally , the system requires full trust in the cloud provider that implements the protocol and ensures the integrity of its components .* utility issues . *all data anonymization methods have an inherent tradeoff between utilization and privacy .since data anonymization methods provide a high level of data privacy , the system utilization may decrease .also , it may be hard to ensure anonymized data after performing operations on it .for example , joining of a relations having anonymized data with other relation having non - anonymized data may reveal data of the first relation .the most obvious solution for ensuring privacy of data in public clouds is encryption of data ; however , it creates hurdles for an efficient utilization of mapreduce . in this section, we present some existing techniques that enable cloud users to perform mapreduce computations on encrypted data , while preserving privacy of data .  * prism . * privacy - preserving search in mapreduce ( prism ) alleviates the problem of storing data in curious cloud providers by allowing searching for any user specified word in privacy preserving manner , _i_._e_. , the cloud provider should not be able to learn the user query and data .the proposed protocol consists of three phases , as follows : ( _ i _ ) upload of the data to the cloud , ( _ ii _ ) search operation , and ( _ iii _ ) result analysis phase . during the upload phase , the user encrypts data using state - full encryption algorithms , which add a frequency counters ( as one of the possible options ) to each word to prevent the cloud provider from computing statistics about frequency of encrypted text , and uploads the data to the cloud . in order to search the data, the user sends mappers and reducers based on trapdoor private information retrieval  for acquiring search results .note that the cloud provider is considered honest - but - curious , and it will not change received mappers and reducers .* pirmap . *another system leveraging private information retrieval ( pir ) , first defined in  , is private information retrieval for mapreduce ( pirmap )  .pirmap is the first potentially practical cpir algorithm ( a cpir algorithm is an algorithm that assumes that the cloud ( or data ) provider is polynomial - computational - bounded , as opposite to a generic case where the data provider is not bounded ) , which can be used in a real - world scenario .pirmap follows a `` classical '' pir scheme ( as defined  and improved in  ) where the user sends an encrypted vector to the cloud provider .the cloud provider splits the data into blocks and multiplies each block by the received vector .then , the cloud column - wise adds the results of the multiplication to create one - result vector .the vector is then returned to the user who decrypts it .these two stages of the algorithm , _i_._e_. , multiplication and column - wise sum , are quite easily mapped into two stages of mapreduce , _i_._e_. , map and reduce .calculation of pir scheme by mapreduce algorithm is done concurrently , according to the paradigm , and thus , allows great performance of otherwise computationally extensive scheme .the output of the mapper is a key - value pair , where the key is the index of the block and the value is a result of multiplication .reducers then receive values of the column and perform the sum operation .consequently , pirmap allows users to privately retrieve information from the cloud , using mapreduce .* efficient privacy - preserving counting ( epic )  protocol allows privacy - preserving counting using mapreduce and allows users to store their data in public clouds privately , _i_._e_. protected from curious cloud providers . at the first phase , the user encrypts the data and uploads it to the cloud .the data is encrypted in such way that an identical data value does not generate an identical ciphertext , and hence , the cloud provider , which stores the ( encrypted ) data , can not learn anything from the data apart from trivial characteristics , such as data size . at the query stage, the user specifies a searching pattern as a boolean formula and generates mapper / reducer code for working on the encrypted data .the computation is performed by using partially homomorphic encryption for protecting outputs of the computation from the cloud provider .the cloud provider performs an assigned mapreduce computation and counts the total number of occurrences of an assigned pattern without learning neither the data , the pattern , nor how often it occurs .epic is based on an idea of transforming the pattern search into a summation and polynomial evaluations , which can be done by partially homomorphic encryption scheme in an efficient manner .the protocol uses weaker encryption scheme for allowing more efficient execution of assigned queries. however , epic supports only counting operations , which is a limitation of the protocol .a similar protocol was presented , in  , for allowing privacy preserving implementation of the power iteration algorithm ( a method for finding dominant eigenvectors for large matrices ) on mapreduce .the protocol uses partially homomorphic paillier encryption  scheme for algorithm computations . at the first stage of the protocol, the user encrypts the data using this encryption scheme and uploads the data to the public cloud . at processing stage ,the user uses random vectors for protecting intermediate outputs and performs mapreduce computations by utilizing homomorphic properties of paillier encryption scheme .the protocol is limited to computations of the specific algorithm only .* field programmable gate arrays ( fpgas ) and proxy re - encryption based privacy preserving solution for mapreduce computation is presented , in  , where data is kept in an encrypted form in public clouds .an encryption algorithm is selected in a manner that data is easily partitioned into a number of splits , to be processed by mappers .however , mappers and reducers are not allowed to process encrypted splits and intermediate outputs , respectively .mappers decrypt assigned splits before processing them and again encrypt intermediate outputs .the reducer also first decrypt intermediate outputs before processing and decrypt final outputs .* cryptdb . *cryptdb  executes sql queries over encrypted data providing practical confidentiality for the users .the idea of cryptdb is that most of the queries use well - defined set of operations , each of which is possible to support efficiently over encrypted data .cryptdb protects data from curious dba that snoops on the database server and from a curious cloud provider that holds the servers and the data .the adversary does not change user queries .the tradeoff is between strong encryption , which will not allow many operations on the data , and between weaker encryption with more operations .another tradeoff is minimizing the amount of leaked data when application servers are compromised .the authors do not see arbitrary computations on encrypted data as practical ; thus , the application server has to be able to process decrypted data .( their analysis over 128,840 queries from mit applications showed that cryptdb can support 99.5% of all queries .it reduces throughput by 14.5% for full web forums and by 26% for tpc - c queries comparing to unmodified mysql . )* mrcrypt . * following the work of cryptdb  , mrcrypt  suggests a way for executing mapreduce computations on encrypted data stored on curious cloud providers .mrcrypt s privacy preserving mechanism is based on two observations , as : ( _ i _ ) many mapreduce jobs perform only a limited set of basic operations on input data and ( _ ii _ ) homomorphic encryption schemas that enable specific operations are much more efficient than fully homomorphic encryption ( ) .mrcrypt , see figure [ fig : mrcrypt ] , performs static analysis of java code for mapper and reducers at a private cloud . following the analysis , a minimal homomorphic encryption scheme is chosen for supporting all the required operations in a legal and correct manner .the java programs are then transformed using this encryption scheme , and data is also encrypted using the scheme .next , the user uploads data and the transformed programs to a public cloud provider , which executes mapreduce job .the final outputs of the job are sent back to the user and are decrypted using the chosen homomorphic scheme . however , the downside of the approach is that it limits the range of possible queries on the system .* crypsis . * the ideas of cryptdb  and mrcrypt  were taken to higher data languages by crypsis  .the system enables execution of pig latin jobs on a curious cloud provider without exposing data .crypsis executes a mapreduce job on encrypted data without decrypting it . in order to do that, the system transforms a pig latin script so that it can be executed on encrypted data .crypsis uses existing practical partially homomorphic encryption schemes for data encryption .the system works in the following phases : ( _ i _ ) script transformation , pig latin script is analyzed and required encryption schemes are identified , the script is then changed to use encrypted data ; ( _ ii _ ) update cloud with missing encryption schemes : it is possible that data stored in the cloud is missing some encryption schemes that are required for the given script , in that case those schemes are identified and the cloud is updated with newly encrypted data ; ( _ iii _ ) execute encrypted script on the cloud infrastructure using pre - defined code provided by user stored with the data ; ( _ iv _ ) re - encryption , it is possible that intermediate outputs are generated during the execution of the script , in such cases the data should be re - encrypted and ( _ v _ ) results , the results are sent to the user where they can be decrypted .  * overhead issues .* the main obstacle of providing privacy - preserving framework for mapreduce cloud computations with a cloud provider acting as an adversary is computational and storage efficiency .the currently known fully homomorphic encryption schemes computational overhead is still prohibitively expensive  ; thus , there is a need to find new schemes or methods of ensuring data privacy .the research papers reviewed in this section show that a considerable advance was made towards this goal . nevertheless , all the above mentioned algorithms have common drawbacks such as : limited range of allowed queries ( as a tradeoff between preserving data privacy and utilization ) , increased computation time , and in many cases an increased storage space for storing encrypted data . despite those difficulties ,the future of privacy preserving computations in public clouds looks promising and interesting .all the approaches suggested in section [ subsubsec : data privacy in adversarial clouds ] are based on encryption - decryption , which comes at a price of computation and limited operations  . in  ,a shamir s secret - sharing  based solution for five types of mapreduce computations such as count , search , fetch , equijoin , and range selection is provided .the creation of secret - shares is computationally less expensive as compared to encryption - decryption techniques , and it provides information - theoretically secure computation .the suggested approach makes secret - shares of data and sends them to non - communicating clouds .a user can execute mapreduce computations of the form of secret - shares in those clouds and receives an answer of the form of secret - shares . by performing an interpolation technique ,the user get the desired result . by using secret - sharing of data and computation, the cloud can not learn the database and computation .also , the user can not learn the whole database .however , the use of more than one cloud increases costs .processing a huge amount of data is not simple using the classical parallel computing , due to the failure of computing nodes and scalability of the system .mapreduce , developed by google in 2004 , provides an efficient , fault tolerant , scalable , and transparent processing of large - scale data .however , mapreduce was not designed to be deployed on public and hybrid clouds , where security and privacy of data and computations are two prime concerns . since public cloudsprovide an easy way for computations and storage , a number of algorithms and frameworks regarding security and privacy of data - computations were developed for executing a mapreduce job on public and hybrid clouds .  in this survey , we discussed security and privacy challenges and requirements in mapreduce .security attacks in mapreduce impersonation , denial - of - services , replay , eavesdropping , man - in - the - middle , and repudiation attacks are presented .we consider four types of adversarial models , namely honest - but - curious , malicious , knowledgeable , and network and nodes access adversaries , and show how they can impact a mapreduce computation .we reviewed many of the existing algorithms and frameworks for ensuring security and privacy in the scope of mapreduce .existing algorithms and frameworks succeed in solving the specific security and privacy problems in mapreduce .for example , data transmission and data storage are protected by encryption mechanisms ; authentication and authorization solutions are based on existing secret key and integrated systems ( such as selinux ) ; the result verification is done by replication of tasks ; and privacy is ensured using data anonymization , differential privacy , and private information retrieval .privacy preserving research is still struggling with providing a high utilization of mapreduce framework .while the reviewed papers show potentially practical solutions for specific problems , there is still considerable overhead ( in terms of the workload on the framework ) and limitations in utilization of the framework .based on this survey , we identified several important issues and challenges that require further research , as follows :  * extending the authorization framework ( security of mapreduce ) , _i_._e_. , how to incorporate advanced authorization policies ( _ e_._g_. , role - based or attribute - based access control policy ) in mapreduce framework ?this is particularly important if the mappers need to access different sources of data within the cluster . * integrating with a trust infrastructure ( security of mapreduce ) .there are several domains of trust that must be made explicit and verified for mapreduce framework .these include : trust in the hardware , virtual machine , and file system that mappers and reducers use , trust that mapreduce code is not malicious or does not try to leak confidential data , and trust in the cloud provider for providing the necessary resources to run mapreduce algorithms . * processing on encrypted data ( security and privacy of mapreduce ) .although , as we have seen , some work has been done in this area , especially using homomorphic encryption , more research is needed in order to enable various mapreduce algorithms on encrypted data . * supporting multiple geographically distributed clusters for executing a single job ( security and privacy of mapreduce ) .often data and computing resources for a single job may exist in different independent clusters .for example , a bio - informatic application that tries to analyze genomes existing in different countries and labs in order to track the sources of a potential epidemic . how mapreduce can be extended to multiple clusters , with support for privacy of the sensitive information across the clustersis an open research problem . * extending mapreduce algorithms with privacy preserving support ( privacy of mapreduce ) .these include support for secure computations between reducers and across clusters . also , privacy policies , which define exactly what kind of aggregated or anonymized data can be output , need to be defined .  another lacking field of the research is holistic frameworks ( with a salient exception of airavat  ) , _i_._e_. , frameworks that solve more than a single problem , especially solving both the security and privacy aspects , and integrating some of the mentioned algorithms and frameworks , which provide computational security and privacy of data for mapreduce computations .we believe that in the future we will have mapreduce frameworks that provide multiple types of computations in information secure manner .part of this research was supported by a grant from emc corp .we thank the project coordinator dr .patricia florissi for this support and very helpful comments .f. n. afrati , s. dolev , s. sharma , and j. d. ullman .bounds for overlapping interval join on mapreduce . in _ proceedings of the workshops of the edbt / icdt 2015 joint conference ( edbt / icdt ) , brussels , belgium , march 27th , 2015 ._ , pages 36 , 2015.   f. n. afrati , d. fotakis , and j. d. ullman .enumerating subgraph instances using map - reduce . in _29th ieee international conference on data engineering , icde , brisbane , australia , april 8 - 12 , 2013 _ , pages 6273 , 2013 .f. n. afrati , p. koutris , d. suciu , and j. d. ullman .parallel skyline queries . in _ 15th international conference on database theory , icdt 12 , berlin , germany , march 26 - 29 , 2012 _ , pages 274284 , 2012 .f. n. afrati , a. d. sarma , d. menestrina , a. g. parameswaran , and j. d. ullman .fuzzy joins using mapreduce . in _ieee 28th international conference on data engineering ( icde 2012 ) , washington , dc , usa ( arlington , virginia ) , 1 - 5 april , 2012 _ , pages 498509 , 2012 .f. n. afrati and j. d. ullman . matching bounds for the all - pairs mapreduce problem . in _ 17th international database engineering & applications symposium , ideas 13 , barcelona , spain - october 09 - 11 , 2013 _ , pages 34 , 2013 .r. j. bayardo , y. ma , and r. srikant .scaling up all pairs similarity search . in _ proceedings of the 16th international conference on world wide web , www 2007 , banff , alberta , canada , may 8 - 12 , 2007 _ , pages 131140 , 2007 .e. blass , r. d. pietro , r. molva , and m. nen .- privacy - preserving search in mapreduce . in _ privacyenhancing technologies - 12th international symposium , pets 2012 , vigo , spain , july 11 - 13 , 2012 .proceedings _ , pages 180200 , 2012.   j .- w .byun , e. bertino , and n. li .purpose based access control of complex data for privacy protection . in _ proceedings of the tenth acm symposium on access control models and technologies _ , sacmat 05 , pages 102110 , new york , ny , usa , 2005 .acm .b. chawda , h. gupta , s. negi , t. a. faruquie , l. v. subramaniam , and m. k. mohania .processing interval joins on map - reduce . in _ proceedings of the 17th international conference on extending database technology , edbt 2014 , athens , greece ,march 24 - 28 , 2014 ._ , pages 463474 , 2014 .j. dean and s. ghemawat . : simplified data processing on large clusters . in _6th symposium on operating system design and implementation ( osdi 2004 ) , san francisco , california , usa , december 6 - 8 , 2004 _ , pages 137150 , 2004 .y. ding , h. wang , s. chen , x. tang , h. fu , and p. shi .method of identifying malicious workers in the mapreduce system with an open environment . in _8th ieee international symposium on service oriented system engineering , sose 2014 , oxford , united kingdom , april 7 - 11 , 2014 _ , pages 326331 , 2014 .y. ding , h. wang , p. shi , h. fu , c. guo , and m. zhang . trusted sampling - based result verification on mass data processing . in _seventh ieee international symposium on service - oriented system engineering , sose 2013 , san francisco , ca , usa , march 25 - 28 , 2013 _ , pages 391396 , 2013 .s. dolev , y. li , and s. sharma .private and secure secret shared mapreduce - ( extended abstract ) . in _ data and applicationssecurity and privacy xxx - 30th annual ifip wg 11.3 working conference , dbsec 2016 , trento , italy , july 18 - 21 , 2016 . proceedings _, 2016 .w. du , j. jia , m. mangal , and m. murugesan .uncheatable grid computing . in _24th international conference on distributed computing systems ( icdcs 2004 ) , 24 - 26 march 2004 , hachioji , tokyo , japan _ , pages 411 , 2004 .g. fedak , c. germain , v. nri , and f. cappello .xtremweb : a generic global computing system . in _ first ieee international symposium on cluster computing and the grid ( ccgrid 2001 ) , may 15 - 18 , 2001 , brisbane , australia _ , pages 582587 , 2001.  b. fish , j. kun , .d. lelkes , l. reyzin , and g. turn . on the computational complexity of mapreduce . in _distributed computing - 29th international symposium , disc 2015 , tokyo , japan , october 7 - 9 , 2015 , proceedings _ , pages 115 , 2015 .   c. gentryfully homomorphic encryption using ideal lattices . in _ proceedings of the 41st annual acm symposium on theory of computing , stoc 2009 , bethesda , md , usa , may 31 - june 2 , 2009 _ , pages 169178 , 2009 .  c. gentry and s. halevi .implementing gentry s fully - homomorphic encryption scheme . in _ advances in cryptology - eurocrypt 2011 - 30th annual international conference on the theory and applications of cryptographic techniques , tallinn , estonia , may 15 - 19 , 2011 .proceedings _ , pages 129148 .2011 .h. gupta and b. chawda .-controlled - replicate : an improvedcontrolled - replicate algorithm for multi - way spatial join processing on map - reduce . in _web information systems engineering - wise 2014 - 15th international conference , thessaloniki , greece , october 12 - 14 , 2014 , proceedings , part ii _ , pages 278293 , 2014 .h. gupta , b. chawda , s. negi , t. a. faruquie , l. v. subramaniam , and m. k. mohania .processing multi - way spatial joins on map - reduce . in _joint 2013 edbt / icdt conferences , edbt 13 proceedings , genoa , italy , march 18 - 22 , 2013 _ , pages 113124 , 2013 .c. huang , s. zhu , and d. wu . towards trusted services : result verification schemes for mapreduce . in _12th ieee / acm international symposium on cluster , cloud and grid computing , ccgrid 2012 , ottawa , canada , may 13 - 16 , 2012 _ , pages 4148 , 2012 .j. huang , d. m. nicol , and r. h. campbell .denial - of - service threat to hadoop / yarn clusters with multi - tenancy . in _2014 ieee international congress on big data , anchorage , ak , usa , june 27 - july 2 , 2014 _ , pages 4855 , 2014 .h. j. karloff , s. suri , and s. vassilvitskii .a model of computation for mapreduce . in _ proceedings of the twenty - first annual acm - siam symposium on discrete algorithms , soda 2010 , austin , texas, usa , january 17 - 19 , 2010 _ , pages 938948 , 2010 .a. khaled , m. f. husain , l. khan , k. w. hamlen , and b. m. thuraisingham . a token - based access control system for rdf data in the clouds . in _ cloud computing , second international conference , cloudcom 2010 , november 30 - december 3 , 2010 , indianapolis , indiana , usa , proceedings _ , pages 104111 , 2010 .s. m. khan and k. w. hamlen .hatman : intra - cloud trust management for hadoop . in _ 2012 ieee fifth international conference on cloud computing , honolulu , hi , usa , june 24 - 29 , 2012 _ , pages 494501 , 2012 .  s. y. ko , k. jeon , and r. morales . the hybrex model for confidentiality and privacy in cloud computing . in _3rd usenix workshop on hot topics in cloud computing , hotcloud11 , portland , or , usa , june 14 - 15 , 2011 _ , 2011 .s. lattanzi , b. moseley , s. suri , and s. vassilvitskii .filtering : a method for solving graph problems in mapreduce . in _spaa 2011 : proceedings of the 23rd annual acm symposium on parallelism in algorithms and architectures , san jose , ca , usa , june 4 - 6 , 2011 ( co - located with fcrc 2011 ) _ , pages 8594 , 2011 .h. lin , s. shen , w. tzeng , and b. p. lin . toward data confidentiality via integrating hybrid encryption schemes and hadoop distributed file system . in _ieee 26th international conference on advanced information networking and applications , aina , 2012 , fukuoka , japan , march 26 - 29 , 2012 _ , pages 740747 , 2012 .h. lipmaa .an oblivious transfer protocol with log - squared communication . in _information security , 8th international conference , isc 2005 , singapore , september 20 - 23 , 2005 , proceedings _ , pages 314328 , 2005 .y. liu , x. jiang , h. chen , j. ma , and x. zhang . -based pattern finding algorithm applied in motif detection for prescription compatibility network . in _ advanced parallel processing technologies , 8th international symposium , appt 2009 , rapperswil , switzerland , august 24 - 25 , 2009 , proceedings _ , pages 341355 , 2009 .p. malhotra , p. agarwal , and g. shroff .graph - parallel entity resolution using lsh & imm . in _ proceedings of the workshops of the edbt / icdt 2014 joint conference ( edbt / icdt 2014 ) , athens , greece , march 28 , 2014 ._ , pages 4149 , 2014 .f. m. malvestuto , m. moscarini , and m. rafanelli .suppressing marginal cells to protect sensitive information in a two - dimensional statistical table . in _ proceedings of the tenth acm sigact - sigmod - sigart symposium on principles of database systems , may 29 - 31 , 1991 , denver , colorado , usa _ , pages 252258 , 1991 .g. s. manku , a. jain , and a. d. sarma . detecting near - duplicates for web crawling . in _ proceedings of the 16th international conference on world wide web , www 2007 , banff , alberta , canada ,may 8 - 12 , 2007 _ , pages 141150 , 2007 .t. mayberry , e. blass , and a. h. chan .efficient private information retrieval for mapreduce . in _financial cryptography and data security - 17th international conference , fc 2013 , okinawa , japan , april 1 - 5 , 2013 , revised selected papers _, pages 371385 , 2013 .r. c. merkle . a digital signature based on a conventional encryption function . in _ advances in cryptology - crypto 87 ,a conference on the theory and applications of cryptographic techniques , santa barbara , california , usa , august 16 - 20 , 1987 , proceedings _ , pages 369378 , 1987 .m. moca , g. c. silaghi , and g. fedak . distributed results checking for mapreduce in volunteer computing . in _25th ieee international symposium on parallel and distributed processing , ipdps 2011 , anchorage , alaska , usa , 16 - 20 may 2011 - workshop proceedings _ , pages 18471854 , 2011 .a. okcan and m. riedewald . processing theta - joins using mapreduce . in _ proceedings of the acm sigmod international conference on management of data , sigmod 2011 , athens , greece , june 12 - 16 , 2011 _ , pages 949960 , 2011 .k. y. oktay , s. mehrotra , v. khadilkar , and m. kantarcioglu .secure and efficient mapreduce over hybrid clouds . in _ proceedings of the 2015 acmsigmod international conference on management of data , melbourne , victoria , australia , may 31 - june 4 , 2015 _ , pages 153166 , 2015 .  c. olston , b. reed , u. srivastava , r. kumar , and a. tomkins .pig latin : a not - so - foreign language for data processing . in _ proceedings of the acm sigmod international conference on management of data , sigmod 2008 , vancouver , bc , canada , june 10 - 12 , 2008 _ , pages 10991110 , 2008 .p. paillier .public - key cryptosystems based on composite degree residuosity classes . in_ advances in cryptology - eurocrypt 99 , international conference on the theory and application of cryptographic techniques , prague , czech republic , may 2 - 6 , 1999 , proceeding _ , pages 223238 , 1999 .j. pei , y. tao , j. li , and x. xiao .privacy preserving publishing on multiple quasi - identifiers .in _ proceedings of the 25th international conference on data engineering , icde 2009 , march 29 2009 - april 2 2009 , shanghai , china _ , pages 11321135 , 2009 .a. pietracaprina , g. pucci , m. riondato , f. silvestri , and e. upfal .space - round tradeoffs for mapreduce computations . in _international conference on supercomputing , ics12 , venice , italy , june 25 - 29 , 2012 _ , pages 235244 , 2012 .i. roy , s. t. v. setty , a. kilzer , v. shmatikov , and e. witchel .airavat : security and privacy for mapreduce . in _ proceedings of the 7th usenix symposium on networked systems design and implementation , nsdi 2010 ,april 28 - 30 , 2010 , san jose , ca , usa _ , pages 297312 , 2010 .q. shen , y. yang , z. wu , x. yang , l. zhang , x. yu , z. lao , d. wang , and m. long . security architecture of private storage cloud based on hdfs . in _ 26th international conference on advanced information networking and applications workshops , waina 2012 , fukuoka , japan , march 26 - 29 , 2012 _ , pages 12921297 , 2012 .  q. shen , l. zhang , x. yang , y. yang , z. wu , and y. zhang .: securing data migration between cloud storage systems . in _ ieee ninth international conference on dependable , autonomic and secure computing , dasc 2011 , 12 - 14 december 2011 , sydney , australia _ , pages 636641 , 2011 .   j. j. stephen and p. eugster . assured cloud - based data analysis with clusterbft . in _middleware 2013 - acm / ifip / usenix 14th international middleware conference , beijing , china , december 9 - 13 , 2013 , proceedings _ ,pages 82102 , 2013 .j. j. stephen , s. savvides , r. seidel , and p. eugster .practical confidentiality preserving big data analysis . in_ 6th usenix workshop on hot topics in cloud computing , hotcloud 14 , philadelphia , pa , usa , june 17 - 18 , 2014 ._ , 2014 .f. tauheed , t. heinis , and a. ailamaki .scalable spatial join for dynamic workloads . in _ proceedings of the 2015 acmsigmod international conference on management of data , melbourne , victoria , australia , may 31 - june 4 , 2015 _ , pages 939950 , 2015 .s. d. tetali , m. lesani , r. majumdar , and t. d. millstein . : static analysis for secure cloud computations . in _ proceedings of the 2013 acmsigplan international conference on object oriented programming systems languages & applications , oopsla 2013 , part of splash 2013 , indianapolis , in , usa , october 26 - 31 , 2013 _ , pages 271286 , 2013 .j. t. trostle and a. parrish .efficient computationally private information retrieval from anonymity or trapdoor groups . in _information security - 13th international conference , isc 2010 , boca raton , fl , usa , october 25 - 28 , 2010 , revised selected papers _ , pages 114128 . 2010 .h. ulusoy , p. colombo , e. ferrari , m. kantarcioglu , and e. pattuk . : fine - grained security policy enforcement for mapreduce systems . in _ proceedings of the 10th acm symposium on information , computer and communications security , asia ccs 15 , singapore , april 14 - 17 , 2015 _ , pages 285296 , 2015 .h. ulusoy , m. kantarcioglu , and e. pattuk . : computation integrity assurance system for mapreduce . in _ 2015 ieee international conference on big data , big data 2015 , santa clara , ca , usa , october29 - november 1 , 2015 _ , pages 441450 , 2015 .h. ulusoy , m. kantarcioglu , e. pattuk , and k. w. hamlen .vigiles : fine - grained access control for mapreduce systems . in _ 2014 ieee international congress on big data , anchorage , ak , usa , june 27 - july 2 , 2014 _ , pages 4047 , 2014 .h. ulusoy , m. kantarcioglu , e. pattuk , and l. kagal . : toward accountable mapreduce systems . in _2015 ieee international conference on big data , big data 2015 , santa clara , ca , usa , october29 - november 1 , 2015 _ , pages 451460 , 2015 .h. ulusoy , m. kantarcioglu , b. m. thuraisingham , and l. khan .honeypot based unauthorized data access detection in mapreduce systems . in _2015 ieee international conference on intelligence and security informatics , isi 2015 , baltimore , md , usa , may 27 - 29 , 2015 _ , pages 126131 , 2015 .r. vernica , m. j. carey , and c. li .efficient parallel set - similarity joins using mapreduce . in _ proceedings of the acm sigmod international conference on management of data , sigmod 2010 , indianapolis , indiana ,usa , june 6 - 10 , 2010 _ , pages 495506 , 2010 .b. wang , h. gui , m. roantree , and m. f. oconnor .data cube computational model with hadoop mapreduce . in _webist 2014 - proceedings of the 10th international conference on web information systems and technologies , volume 1 , barcelona , spain , 3 - 5 april , 2014 _ , pages 193199 , 2014 .y. wang and j. wei .verification - based integrity assurance framework for mapreduce . in _ieee international conference on cloud computing , cloud 2011 , washington , dc , usa , 4 - 9 july , 2011 _ , pages 300307 , 2011 .y. wang , j. wei , m. srivatsa , y. duan , and w. du . : integrity assurance framework for big data analytics and management applications . in _ proceedings of the 2013 ieee international conference on big data , 6 - 9 october 2013 , santa clara , ca , usa _ , pages 3340 , 2013 .  w. wei , j. du , t. yu , and x. gu . : a service integrity assurance framework for mapreduce . in_ twenty - fifth annual computer security applications conference , acsac 2009 , honolulu , hawaii , 7 - 11 december 2009 _ , pages 7382 , 2009 .w. wei , t. yu , and r. xue . ibigtable : practical data integrity for bigtable in public cloud . in _third acm conference on data and application security and privacy , codaspy13 , san antonio , tx , usa , february 18 - 20 , 2013 _ , pages 341352 , 2013 .   c. xiao ,w. wang , x. lin , and j. x. yu .efficient similarity joins for near duplicate detection . in _ proceedings of the 17th international conference on world wide web , www 2008 , beijing , china , april 21 - 25 , 2008 _ , pages 131140 , 2008 .l. xu , w. shi , and t. suh .privacy preserving fpga cloud - a case study of mapreduce . in _2014 ieee 7th international conference on cloud computing , anchorage , ak , usa , june 27 - july 2 , 2014 _ , pages 280287 , 2014 .e. yoon and a. c. squicciarini . toward detectingcompromised mapreduce workers through log analysis . in _14th ieee / acm international symposium on cluster , cloud and grid computing , ccgrid 2014 , chicago , il , usa , may 26 - 29 , 2014 _ , pages 4150 , 2014 .   c. zhang , e. chang , and r. h. c. yap . : a general framework for secure computing with mixed - sensitivity data on hybrid clouds . in _ 14th ieee / acm international symposium on cluster ,cloud and grid computing , ccgrid 2014 , chicago , il , usa , may 26 - 29 , 2014 _ , pages 3140 , 2014 .  c. zhang , f. li , and j. jestes .efficient parallel knn joins for large data in mapreduce . in _15th international conference on extending database technology , edbt 12 , berlin , germany , march 27 - 30 , 2012 , proceedings _ , pages 3849 , 2012 .k. zhang , x. zhou , y. chen , x. wang , and y. ruan .sedic : privacy - aware data intensive computing on hybrid clouds . in _ proceedings of the 18th acm conference on computer and communications security , ccs 2011 , chicago , illinois , usa , october 17 - 21 , 2011_ , pages 515526 , 2011 .x. zhang , c. liu , s. nepal , w. dou , and j. chen .privacy - preserving layer over mapreduce on cloud . in _2012 second international conference on cloud and green computing , cgc 2012 , xiangtan , hunan , china , november 1 - 3 , 2012 _ , pages 304310 , 2012 .x. zhang , c. yang , s. nepal , c. liu , w. dou , and j. chen . a mapreduce based approach of scalable multidimensional anonymization for big data privacy preservation on cloud . in _2013 international conference on cloud and green computing , karlsruhe , germany , september 30 - october 2 , 2013 _ , pages 105112 , 2013 .j. zhao , l. wang , j. tao , j. chen , w. sun , r. ranjan , j. kolodziej , a. streit , and d. georgakopoulos . a security framework in g - hadoop for big data computing across distributed cloud data centres ., 80(5):9941007 , 2014 .g. zhou , y. zhu , and g. wang .cache conscious star - join in mapreduce environments . in _2nd international workshop on cloud intelligence ( colocated with vldb 2013 ) , cloud - i 13 , riva del garda , trento , italy , august 26 , 2013 _ , pages 1:11:7 , 2013 .

Abstract: mapreduce is a programming system for distributed processing large - scale data in an efficient and fault tolerant manner on a private , public , or hybrid cloud . mapreduce is extensively used daily around the world as an efficient distributed computation tool for a large class of problems , _ e_._g_. , search , clustering , log analysis , different types of join operations , matrix multiplication , pattern matching , and analysis of social networks . security and privacy of data and mapreduce computations are essential concerns when a mapreduce computation is executed in public or hybrid clouds . in order to execute a mapreduce job in public and hybrid clouds , authentication of mappers - reducers , confidentiality of data - computations , integrity of data - computations , and correctness - freshness of the outputs are required . satisfying these requirements shield the operation from several types of attacks on data and mapreduce computations . in this paper , we investigate and discuss security and privacy challenges and requirements , considering a variety of adversarial capabilities , and characteristics in the scope of mapreduce . we also provide a review of existing security and privacy protocols for mapreduce and discuss their overhead issues .   cloud computing , distributed computing , hadoop , hdfs , hybrid cloud , private cloud , public cloud , mapreduce algorithms , privacy , security