Perimeter
12/12/2012
02:50 PM
Adrian Lane
Adrian Lane
Commentary
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-1750
Published: 2015-07-01
Open redirect vulnerability in nokia-mapsplaces.php in the Nokia Maps & Places plugin 1.6.6 for WordPress allows remote attackers to redirect users to arbitrary web sites and conduct phishing attacks via a URL in the href parameter to page/place.html. NOTE: this was originally reported as cross-sit...

CVE-2014-1836
Published: 2015-07-01
Absolute path traversal vulnerability in htdocs/libraries/image-editor/image-edit.php in ImpressCMS before 1.3.6 allows remote attackers to delete arbitrary files via a full pathname in the image_path parameter in a cancel action.

CVE-2015-0848
Published: 2015-07-01
Heap-based buffer overflow in libwmf 0.2.8.4 allows remote attackers to cause a denial of service (crash) or possibly execute arbitrary code via a crafted BMP image.

CVE-2015-1330
Published: 2015-07-01
unattended-upgrades before 0.86.1 does not properly authenticate packages when the (1) force-confold or (2) force-confnew dpkg options are enabled in the DPkg::Options::* apt configuration, which allows remote man-in-the-middle attackers to upload and execute arbitrary packages via unspecified vecto...

CVE-2015-1950
Published: 2015-07-01
IBM PowerVC Standard Edition 1.2.2.1 through 1.2.2.2 does not require authentication for access to the Python interpreter with nova credentials, which allows KVM guest OS users to discover certain PowerVC credentials and bypass intended access restrictions via unspecified Python code.

Dark Reading Radio
Archived Dark Reading Radio
Marc Spitler, co-author of the Verizon DBIR will share some of the lesser-known but most intriguing tidbits from the massive report