Perimeter
12/12/2012
02:50 PM
Adrian Lane
Adrian Lane
Commentary
Connect Directly
RSS
E-Mail
50%
50%

Don't Get 'Ha-Duped' By Big Data Security Products

Some Big Data security recommendations

A couple of posts back I posed the question, "How do you secure big data environments?" I covered several avenues of attack against NoSQL environments that I considered low-hanging fruit from a security standpoint. To address those attacks, I offer the following recommendations to provide basic cluster security.

But before I make any recommendations to securing NoSQL, I have a couple of requirements for security solutions in big data environments. Many security vendors offer security products for big data, but these are the same products they offer for normal IT environments. Because these solutions were not architected for big data, they often impose limits on how they are deployed, how they scale, or limit big data cluster functionality in some way.

We don't want to be "Ha-Duped" into buying traditional security products that don't work with big data, so all of my recommendations must scale and must not limit the core capabilities of big data. Here is what I recommend:

Kerberos
The goal here is to validate nodes to ensure unwanted copies of data or unwanted queries are run to copy data. In traditional IT, this may seem far-fetched, but in cloud and virtual environments with thousands of nodes in a cluster, this is both easy and difficult to detect. Kerberos provides a means of authenticating nodes before they are allowed to participate on the cluster.

TLS
The goal is to keep communications private. Built-in Hadoop capabilities provide for secure client-to-Web application-layer communication, but not internode communication, nor M-R output before it is passed to the application. TLS provides a mechanism for secure communication between all nodes and services, and scales as nodes are added to the cluster.

File Layer Encryption
The idea is to protect the contents of the cluster from those who administer it. In the event an admin wants to inspect data files, either through a basic text editor or by taking a snapshot and examining the archive, encryption keeps data safe. File-layer encryption is transparent to the database, and scales up as new nodes are added to the cluster. Granted, the encryption keys must be kept secure for this feature to be effective.

Key Management
As an extension of file-layer encryption, key management is critical to successful encryption deployment. All too often when we review cloud and virtual security systems, we find that administrators keep encryption keys stored unprotected on the disk. Encryption keys must be readily available when a cluster restarts; otherwise, data is inaccessible, and leaving keys in the open was the only way they knew how to ensure safe system restarts. Most central key management systems provide for key negotiation on restart, and still keep keys safe.

Deployment Validation
The goal here it to ensure that all nodes in the cluster are properly patched, properly configured, and run the correct (i.e., not hacked) copies of software. It's easy to miss things when you have thousands of nodes running, so automated node validation makes basic node security much easier. Scripts to install patches and set and test configuration settings are an easy way to verify no nodes enter the cluster without proper setup and security. This can also be linked into Kerberos authentication and external application validation (security as a service) offerings.

Logging
Big data is excellent at managing and mining large amounts of data. And most big data environments have logging capabilities baked-in. There is not need to reinvent the wheel: Use these features and the cluster storage model to log events. You can even create security-related M-R scripts to mine the data. There are several commercial and open-source add-ons with additional logging features to help. Note that during this series of posts that I have omitted discussing application security -- specifically, security of the applications that use big data and code vulnerabilities with JSON, Java, and Ruby. I could discuss these as well, given that the security of the big data APIs is of concern. The problems are independent of big data, relevant to any application, and need to be dealt with by application developers with or without a NoSQL database. The subject is beyond the scope of the database, but I raise the issue so that you keep in mind that there are entire classes of attacks that I've not discussed.

Also, note that these are the recommendations I feel comfortable making at this time. There are many different research papers being published on big data security, and I hope to see some innovation in this area within the coming years. And I am starting to see security products architected specifically for NoSQL environments.

Adrian Lane is an analyst/CTO with Securosis LLC, an independent security consulting practice. Special to Dark Reading. Adrian Lane is a Security Strategist and brings over 25 years of industry experience to the Securosis team, much of it at the executive level. Adrian specializes in database security, data security, and secure software development. With experience at Ingres, Oracle, and ... View Full Bio

Comment  | 
Print  | 
More Insights
Register for Dark Reading Newsletters
White Papers
Cartoon
Current Issue
Flash Poll
Title Partner’s Role in Perimeter Security
Title Partner’s Role in Perimeter Security
Considering how prevalent third-party attacks are, we need to ask hard questions about how partners and suppliers are safeguarding systems and data.
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2014-0993
Published: 2014-09-15
Buffer overflow in the Vcl.Graphics.TPicture.Bitmap implementation in the Visual Component Library (VCL) in Embarcadero Delphi XE6 20.0.15596.9843 and C++ Builder XE6 20.0.15596.9843 allows remote attackers to execute arbitrary code via a crafted BMP file.

CVE-2014-2375
Published: 2014-09-15
Ecava IntegraXor SCADA Server Stable 4.1.4360 and earlier and Beta 4.1.4392 and earlier allows remote attackers to read or write to arbitrary files, and obtain sensitive information or cause a denial of service (disk consumption), via the CSV export feature.

CVE-2014-2376
Published: 2014-09-15
SQL injection vulnerability in Ecava IntegraXor SCADA Server Stable 4.1.4360 and earlier and Beta 4.1.4392 and earlier allows remote attackers to execute arbitrary SQL commands via unspecified vectors.

CVE-2014-2377
Published: 2014-09-15
Ecava IntegraXor SCADA Server Stable 4.1.4360 and earlier and Beta 4.1.4392 and earlier allows remote attackers to discover full pathnames via an application tag.

CVE-2014-3077
Published: 2014-09-15
IBM SONAS and System Storage Storwize V7000 Unified (aka V7000U) 1.3.x and 1.4.x before 1.4.3.4 store the chkauth password in the audit log, which allows local users to obtain sensitive information by reading this log file.

Best of the Web
Dark Reading Radio
Archived Dark Reading Radio
CISO Insider: An Interview with James Christiansen, Vice President, Information Risk Management, Office of the CISO, Accuvant