Top Banner
Data Security DAMA Southern Africa – Cape Town Chapter meeting
54

Dama - Protecting Sensitive Data on a Database

Jan 23, 2017

Download

Data & Analytics

johanswart1234
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Dama - Protecting Sensitive Data on a Database

Data SecurityDAMA Southern Africa – Cape Town Chapter

meeting

Page 2: Dama - Protecting Sensitive Data on a Database

Welcome

Data is a Currency.

The only difference to a real currency is that Data can be monetized over and over.

Page 3: Dama - Protecting Sensitive Data on a Database

Before we begin ..

• Not an expert• Not intimately familiar with DM-BOK• Thanks to John Magnabosco

Page 4: Dama - Protecting Sensitive Data on a Database

Data Security Real Cases

The consequences of mishandling sensitive data.• 70%+ of data breaches is internal. Malicious attacks from

inside• CASE: Consultant Developer Smash-and-grab• CASE: Locked Backup drives stolen• LAW: Protection Of Personal Information (POPI)

Page 5: Dama - Protecting Sensitive Data on a Database

Discussion Scope

• Handling Sensitive Data at Rest• Data that is stored, archived or residing on backup media• Access Control, Encryption, Obfuscation

• Handling Sensitive Data in Transit – not in scope• data that is traversing a network, or residing in memory• Firewalls, Network Access Control, User Interface Encryption

Page 6: Dama - Protecting Sensitive Data on a Database

.. down the Rabbit hole we go ..

Page 7: Dama - Protecting Sensitive Data on a Database

What data is Sensitive?

• Personal, Identifiable, Sensitive• Implications of Data Theft (Identity Theft)• Privacy• National Security• Compliance with Regulations

Page 8: Dama - Protecting Sensitive Data on a Database

Types of Sensitive Data

• Government Assigned Identification• Biometric Data• Medical Data• Education Data• Employment Data• Communication Data• Financial Data• Trade Secrets

Page 9: Dama - Protecting Sensitive Data on a Database

Protection Of Personal Information(POPI)

General• Identifying Name Of The Person• Race• National Ethnic• Gender• Identification Number

Page 10: Dama - Protecting Sensitive Data on a Database

POPI (continued)

More General• Religion• Language• Birth Date• Birth Place• Age

Page 11: Dama - Protecting Sensitive Data on a Database

POPI (continued)

Contact Detail• E-Mail Address• Physical Address• Telephone Number

Page 12: Dama - Protecting Sensitive Data on a Database

POPI (continued)

Relationship Preferences• Sexual Orientation• Marital Status

Page 13: Dama - Protecting Sensitive Data on a Database

POPI (continued)

Health Detail• Physical Health• Mental Health• Pregnancy• Blood Type• Biometric Information

Page 14: Dama - Protecting Sensitive Data on a Database

POPI (continued)

Historical Data• Medical History• Financial History• Criminal History• Employment History

Page 15: Dama - Protecting Sensitive Data on a Database

POPI (continued)

Subjective Opinions• Personal Opinions• Others' Views

Page 16: Dama - Protecting Sensitive Data on a Database

POPI (continued)

Communication History• Confidential Correspondence Sent

Page 17: Dama - Protecting Sensitive Data on a Database

What is the Goal?

• Our goal is to protect sensitive data to the fullest extent and have it only available to relevant people as per their specific needs.

Page 18: Dama - Protecting Sensitive Data on a Database

.. Little bit of theory first ..

• What tools do we have in our toolbox to assist ..

Page 19: Dama - Protecting Sensitive Data on a Database

Data Security Tools

• Encryption• Cryptographic Keys• Asymmetric Keys (Public and Private Keys) – RSA2048• Symmetric Keys (Block and Stream Ciphers) – AES256

• Certificates• Hash Algorithms – MD5 and SHA2

• Obfuscation• Honey Combing

Page 20: Dama - Protecting Sensitive Data on a Database

Layering Approach

• Database Encryption

Page 21: Dama - Protecting Sensitive Data on a Database

Layering Approach

• Architectural Strategies

Page 22: Dama - Protecting Sensitive Data on a Database

Layering Approach

• Cell-Level Encryption

Page 23: Dama - Protecting Sensitive Data on a Database

Layering Approach

• Obfuscation

Page 24: Dama - Protecting Sensitive Data on a Database

Step 1 - Define Data Sensitivity Classes

• Define classes based on data sensitivityExample:• Low – General Public access• Medium – Internal Disclosure Only (Default)• High – Restricted to specific people

Page 25: Dama - Protecting Sensitive Data on a Database

Step 1 - Define Data Sensitivity Classes

High

Medium

Low

Page 26: Dama - Protecting Sensitive Data on a Database

Step 2 – Categorize Data Elements

• Categorize every column in the database using your Data Sensitivity Classes• Consider the following during categorization• Decide on a Default Class• Laws and Regulations, Standards, Policies• What would be the Potential Damage if this data element is exposed• Contractual Obligation

• If possible store the DS Classification WITH the meta-data on the database rather than in a proprietary tool or application• Example – SQL Server uses extended properties. In other DBMS’s the comments can be used

Page 27: Dama - Protecting Sensitive Data on a Database

Step 3 – Define Database Roles

• Define Database Roles based upon the classifications• Assign Users to the Roles

Page 28: Dama - Protecting Sensitive Data on a Database

Step 3 – Define Database RolesRole_High

Role_Medium

Role_Low

High

Medium

Low

Page 29: Dama - Protecting Sensitive Data on a Database

Step 4 – Database Encryption

• Secures data by encryption the physical files, backup files, log files, etc of the database• For added security a separate Database Instance can be used

for the highly sensitive data (Linked Server)

Page 30: Dama - Protecting Sensitive Data on a Database

Step 4 – Database EncryptionRole_High

Role_Medium

Role_Low

High

Medium

Low

Backup Files

Log Files

Memory

Transparent Database

EncryptionLinked Server

Page 31: Dama - Protecting Sensitive Data on a Database

Step 5 - Architectural Strategies

• Protection using Normalization (Third Normal Form)• Using Views• Revoke direct Access to all tables• Using Linked Servers

Page 32: Dama - Protecting Sensitive Data on a Database

Step 5 – Architectural Strategies

TableLooku

pLookup

vwLow

vwMed

vwHigh

Role_HighRole_MediumRole_Low

Page 33: Dama - Protecting Sensitive Data on a Database

Step 6 – Cell-Level Encryption

• Symmetric Key Encryption• Pros• Granular• Secure• User Specific

• Cons• Expensive Table Scans• Process Overhead• Might require data type change

Page 34: Dama - Protecting Sensitive Data on a Database

Step 6 – Cell-Level Encryption

• Symmetric Key Encryption• Change Data Type• Populating the Encrypted Column• Views and Stored Procedures• Failed Decryption Handling

Page 35: Dama - Protecting Sensitive Data on a Database

Step 6 – Cell-Level Encryption

• Using One-way Encryption• Pros• No Key Maintenance• Minimal Performance Impact

• Cons• Weaker Algorithm• May require Data Type change• Security Vulnerabilities during transit (Hush Mail)

Page 36: Dama - Protecting Sensitive Data on a Database

Step 6 – Cell-Level Encryption

• Known Vulnerabilities• Dictionary Attacks• Rainbow Attacks

• Salting• Create Primary Hash Key Column• Create Secondary Hash Key Column for Searching• Views and Stored Procedures

Page 37: Dama - Protecting Sensitive Data on a Database

Step 7 - Obfuscation

"To make so confused or opaque as to be difficult to perceive orunderstand … to render indistinct or dim; darken.”

American Heritage Dictionary

Page 38: Dama - Protecting Sensitive Data on a Database

Step 7 - Obfuscation

• Environment Obfuscation• Software

Page 39: Dama - Protecting Sensitive Data on a Database

Step 7 - Obfuscation

• Tools in our Toolbox• Randomize Function• Standard String Functions

Page 40: Dama - Protecting Sensitive Data on a Database

Step 7 - Obfuscation

• Character Scrambling• Character Masking• Numeric Variance• Nulling• Truncation• Encoding

• Hashing• Aggregation• Value Scrambling

Page 41: Dama - Protecting Sensitive Data on a Database

Step 7 – Obfuscation

Character Scrambling

James Bond bamndsje

Page 42: Dama - Protecting Sensitive Data on a Database

Step 7 – Obfuscation

Character Masking

670304 5021 088 670304 xxxx xxx

Page 43: Dama - Protecting Sensitive Data on a Database

Step 7 - Obfuscation

Numeric Variance

R 10 000 R 9450R 4000 R 4400

Variance 10%

Page 44: Dama - Protecting Sensitive Data on a Database

Step 7 - Obfuscation

Nulling

James Bond {null}

Page 45: Dama - Protecting Sensitive Data on a Database

Step 7 - Obfuscation

Truncation

670304 5021 088 670304

Page 46: Dama - Protecting Sensitive Data on a Database

Step 7 - Obfuscation

Encoding

male 1male 1

Value EncodingMale 1Male 4Female 2Female 7Female 8

female 7female 2

Page 47: Dama - Protecting Sensitive Data on a Database

Step 7 - Obfuscation

Hashing

Gold Finger 0xC36F02D9AC32B2E3813EFF9B

Page 48: Dama - Protecting Sensitive Data on a Database

Step 7 - Obfuscation

Aggregation

Order Item Amt Order Total AmtR123 R900R234R543

Page 49: Dama - Protecting Sensitive Data on a Database

Step 7 - Obfuscation

Value Scrambling

James Bond,male, blond Alfred Penny,female,blondMoney Penny,female, brunette James M,male,grey

Alfred Q,male,grey Money Q,male,brunetteMaggie M,female grey Maggie Bond,female,grey

Page 50: Dama - Protecting Sensitive Data on a Database

Step 7 - Obfuscation

• Handling Combination data

• 670304 5081 088, 4 March 1967, Male

Page 51: Dama - Protecting Sensitive Data on a Database

Step 8 – Honey Combing

Honey pots

A server that is placed in an environment for the sole purpose of attracting those who are snooping around

Page 52: Dama - Protecting Sensitive Data on a Database

Step 8 – Honey Combing

• Create public accessible table Honey Table (EmployeeSalary)• Populate with bogus data• Create Audit feature on CRUD on the table• Setup notification process• Buy a shotgun and spade

Page 53: Dama - Protecting Sensitive Data on a Database

Finally

• Have eyes in the back of your head• Create and reward Good Habits• Educate, Educate, Educate

Page 54: Dama - Protecting Sensitive Data on a Database

Thank you