Home > Ask the Security Experts > Platform Security Questions & Answers > Should confidential data be indexed or used as the index key?
Ask The Security Expert: Questions & Answers
EMAIL THIS

Should confidential data be indexed or used as the index key?

Michael Cobb, featured expert EXPERT RESPONSE FROM: Michael Cobb, featured expert

Pose a Question
Other Security Categories
Meet all Security Experts
Become an Expert for this site


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


>
QUESTION POSED ON: 07 September 2007
I've read that confidential database data shouldn't be indexed or used as the index key. What does that mean, and what best practices should I employ to ensure that this isn't a problem in my organization?

>
Database indexes are much like indexes in text books, as they provide quick reference points on where to find requested data. They reduce database server efforts and speed up data retrieval times. In a relational database, every table should have an indexed primary key whose sole purpose is to create a well-defined link and distinctive value between records in the database. In order to ensure that the technical implementation of the database is separate from the business logic, this primary key value should not have any real-life significance.

A table of a bank's customers, for example, may well have a column for storing each customer's unique bank account number – a possible candidate for a primary key. The primary key's value distinguishes each row of customer data.

To speed up the retrieval of customer data, the bank account number or the Social Security number of each customer, for example, can be indexed. The arrangement allows bank staff to quickly search the database using that particular piece of information. These indexes, however, are the focus of a new timing attack technique demonstrated by researchers from Core Security Technologies. The attack uses a series of insert operations to find weaknesses in the database's indexing algorithm. Attackers can then extract data from indexed fields. The insertion commands do not exploit any application logic or code flaws; the functions are typically available to all database users.

The initial defensive recommendation is to not use indexes on confidential data. Without indexes, however, data retrieval is complex. To find the particular row matching a given bank account or Social Security number, the database server would have to perform a full table scan to search every row in the customers' table. Complex queries across multiple tables also depend heavily on indexes. These delays would have a significant impact on performance and cripple most large commercial databases.

While there are no reports of this attack being used in the wild, it is a plausible threat. Database administrators should monitor log files more closely to look for abnormal repetitive insert activity. Application firewalls will also need to be tuned to detect unusual patterns of activity. For new databases, architects must make some modifications to the data model and application code. For each column in a table that must be indexed, there must now be a corresponding column to store the hash value of the confidential data. This hash value can then be used for indexing. The attacker will not be able to calculate the value of confidential data from it, effectively negating the attack. Applications can still search for the confidential data efficiently by performing the search on the indexed hash value column and passing the hashed value of the data as the search criteria.

More information:

  • James Foster demystifies database compliance.
  • Visit SearchSecurity.com's Data Protection School.


  • BROWSE BY TAG
    Platform Security,   Enterprise Data Protection,   Enterprise Data Governance,   Application and Platform Security,   Database Security Management,   VIEW ALL TAGS

    Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   



    RELATED CONTENT
    Platform Security
    Should developers create libraries of common cryptographic algorithms?
    How to secure USB ports on Windows machines
    What is the best database patch management process?
    What is an encryption collision?
    What are new and commonly used public-key cryptography algorithms?
    Should management processes change based on a patch release schedule?
    Does an EULA make it truly illegal to decompile software?
    Should businesses delay Windows Vista adoption and just buy Windows 7?
    Why should we place data files on a separate partition than the OS?
    Should Windows Mobile updates come from Microsoft?

    Enterprise Data Governance
    Creating an enterprise data protection framework
    Analyst DLP study finds maturity, ranks top DLP vendors
    Voltage, RSA spar over tokenization, data protection
    Twitter gets condemned by CISOs at Forrester forum
    PCI DSS compliance requirements: Ensuring data integrity
    Trustwave acquires data loss prevention vendor Vericept
    Data has become too distributed to secure, Forrester says
    Cloud-based security services should start private
    Compliance in the cloud
    How to write technology outsourcing contracts

    Database Security Management
    What is the best database patch management process?
    Unpatched vulnerability discovered in Microsoft SQL Server
    SQL injection continues to trouble firms, lead to breaches
    Oracle issues quarterly patches, fixes database flaws
    Database monitoring, encryption vital in tight economy, Forrester says
    Oracle to buy Sun Microsystems for $7.4 billion
    Oracle issues 43 updates, fixes serious database flaws
    Imperva assigns security risk levels to databases
    How to create configuration management plans to install DLP
    Information security book excerpts and reviews
    Database Security Management Research

    RELATED GLOSSARY TERMS
    Terms from Whatis.com − the technology online dictionary
    cut-and-paste attack  (SearchSecurity.com)
    data masking  (SearchSecurity.com)
    data splitting  (SearchSecurity.com)
    deperimeterization  (SearchSecurity.com)
    Google hacking  (SearchSecurity.com)
    masquerade  (SearchSecurity.com)
    snooping  (SearchSecurity.com)

    RELATED RESOURCES
    2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
    Search Bitpipe.com for the latest white papers and business webcasts
    Whatis.com, the online computer dictionary



    Search and Browse the Expert Answer Center
    Search and browse more than 25,000 question and answer pairs from more than 250 TechTarget industry experts.
    Browse our Expert Advice



    Find Security Solutions for Your Business
    TechTarget Security Media
    Information Security View this month\\'s issue and subscribe today.
    Information Security Decisions Apply online for free conference admission.
    SearchSecurity.com
    HomeNewsMagazineMultimediaWhite PapersLearningAdviceTopicsEventsAbout Us

    About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
    TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

    TechTarget Corporate Web Site  |  Media Kits  |  Site Map




    All Rights Reserved, Copyright 2003 - 2009, TechTarget | Read our Privacy Policy
      TechTarget - The IT Media ROI Experts