Application Security // Database Security
9/9/2013
10:22 AM
Adrian Lane
Adrian Lane
Commentary
Connect Directly
RSS
E-Mail
50%
50%

PII And Entitlement Management

Data discovery and entitlement tools offer a better alternative to role-based access reports for compliance

I'd not been asked questions about Gramm-Leach-Bliley (GLBA) compliance in two or three years, but I received two inquiries last month. Both raised difficult problems with entitlements. I figured there are other firms out there with the same questions, so I'd address them here.

The basic issue is you need to ensure that only authorized people access sensitive personal information (a.k.a. personally identifiable information, or PII). This issue gets difficult if your auditor wants to know which applications use sensitive data, and which users have access to it. If you're running 80 to 100 applications, some of them like SharePoint or SAP applications, it is not an easy question to answer. What data sits behind those applications? Are they in files or databases? Is access logged? Are generic accounts used? Which users map to which roles? These issues make compliance an incredibly complex task, both placing the right controls on the data, and perhaps most important, how you prove the controls are in place to your auditor?

The general recommendations I made are the use of discovery and entitlement management reports. Data discovery tools can locate PII in both databases and unstructured storage locations. Entitlement reports offer a listing of which roles have access to the sensitive data you have discovered and the users who map to each role. I make these recommendations because entitlement reports are typically the way GLBA auditors want to verify data access controls. This can be a pain in the ass to set up, but once you've written the reports, maintenance and verification is not so bad. And most database monitoring platforms offer some of these discovery and entitlement reports out of the box.

That's the answer to the specific questions I received. That said, those were probably not the right questions. One of the reasons I don't get specific GLBA questions is that large enterprises lump GLBA compliance under a more general PII program revolving around state privacy laws.

If you've ever read GLBA, you'll know there are some incredibly vague sections on data privacy. What privacy constraints are doing within legislation that repealed the Glass-Steagall act in order to allow banks to engage in very different types of business (e.g., collateralized debt obligations) is beyond me. Inappropriate though they may be, they are there and are incredibly vague. Many states have legislation that govern storage and access to PII, and these laws dictate some minimum standards in a far less ambiguous way; the companies lump their compliance controls together under one PII set.

I've always been surprised that the handful of GLBA auditors I've spoken with over the past 10 years feel the appropriate controls for PII compliance is entitlement reports. Role-based access controls are fine, but that's not great security, and even less "assurance" given widespread use of generic group or "service-level" accounts. In fact, many large enterprises don't consider access control and role membership sufficient security. Their focus on general data protection is to leverage other technologies to remove data, add further fail-safe protections, or use access reports.

As such, here are a couple of other tricks you should consider.

Protection: Label-based protection for database columns, dynamic content redaction, or tokenization. When you are building a compliance strategy, any time you can remove a copy of sensitive data, it is one less place you need to do compliance reporting.

Masking and tokenization get rid of data from nonessential places. Dynamic masking, redaction, and database labeling technologies provide an enforcement mechanism to automatically conceal sensitive data when a users group or role should not have access. These tools offer a finer-grained control over data access than role-based access and database groups.

Monitoring: Who accessed the data? Funny thing about database logs -- they were not designed to record data access. Relational databases were designed to provide data access and tend to only record changes to data, so they can't show you who viewed what. That is where database activity monitoring (DAM) systems, which record access, come in. What is more, they can, based on access policy, show which users accessed data they should not have. Same for administrators or other users who should not have read access but do; you can be alerted on policy violations. This is a lot better way to show that only the users who should have access are reading PII.

These latter two recommendations require that you negotiate with your auditor. Yes, I know some of you would rather pull out your fingernails, but if you feel your security controls are a sensible approach that accounts for all access to sensitive data, have your auditor explain why he would want something different. Throw the porcupine back in his lap. DAM, masking, tokenization, and labeling are simply better, more flexible tools than role-based access controls.

Adrian Lane is an analyst/CTO with Securosis LLC, an independent security analyst firm. 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
Dark Reading Must Reads - September 25, 2014
Dark Reading's new Must Reads is a compendium of our best recent coverage of identity and access management. Learn about access control in the age of HTML5, how to improve authentication, why Active Directory is dead, and more.
Flash Poll
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2012-5485
Published: 2014-09-30
registerConfiglet.py in Plone before 4.2.3 and 4.3 before beta 1 allows remote attackers to execute Python code via unspecified vectors, related to the admin interface.

CVE-2012-5486
Published: 2014-09-30
ZPublisher.HTTPRequest._scrubHeader in Zope 2 before 2.13.19, as used in Plone before 4.3 beta 1, allows remote attackers to inject arbitrary HTTP headers via a linefeed (LF) character.

CVE-2012-5487
Published: 2014-09-30
The sandbox whitelisting function (allowmodule.py) in Plone before 4.2.3 and 4.3 before beta 1 allows remote authenticated users with certain privileges to bypass the Python sandbox restriction and execute arbitrary Python code via vectors related to importing.

CVE-2012-5488
Published: 2014-09-30
python_scripts.py in Plone before 4.2.3 and 4.3 before beta 1 allows remote attackers to execute Python code via a crafted URL, related to createObject.

CVE-2012-5489
Published: 2014-09-30
The App.Undo.UndoSupport.get_request_var_or_attr function in Zope before 2.12.21 and 3.13.x before 2.13.11, as used in Plone before 4.2.3 and 4.3 before beta 1, allows remote authenticated users to gain access to restricted attributes via unspecified vectors.

Best of the Web
Dark Reading Radio
Archived Dark Reading Radio
In our next Dark Reading Radio broadcast, we’ll take a close look at some of the latest research and practices in application security.