Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Perimeter

10/8/2009
10:10 AM
Adrian Lane
Adrian Lane
Commentary
50%
50%

Avoiding Database Audit Pitfalls

Many seasoned database administrators howl in protest at the mere suggestion of running native auditing functions due to the poor performance and log management headaches that often come with auditing.

Many seasoned database administrators howl in protest at the mere suggestion of running native auditing functions due to the poor performance and log management headaches that often come with auditing.What's with the stigma? And what kind of performance degradation given that database auditing is supposed to provide an accurate and complete source of information for a broad range of security and compliance requirements? In several series of performance tests I have conducted during the past four years, just turning on the audit decreased transactional throughput by 44 percent for an Oracle audit, 31 percent for IBM DB2, and 37 percent for SQL Server trace. This is not acceptable. And this decrease came just from creating the audit trail and doesn't include moving the data to an external analysis or reporting tool.

But once I tuned the process, the performance decrease was 6 percent for Oracle, 9 percent for DB2, and 4 percent for SQL Server.

How did I do this? By carefully selecting the right options at my disposal. Specifically, consider the following:

  • Different Audit Variants: Database vendors offer more than one way to collect audit data, and each variant has different performance characteristics. For example, DB2 event monitors performed worse than DBAudit, with increasing degradation as transaction rates increased.

  • Filtering: The more event types you want to collect, the more data the database must collect, assemble into an audit record, and then write. But you can direct SQL Server, for example, to only collect certain event types you need, often reducing total events to a fraction. By only collecting the events specific to your business need, you reduce processing overhead and disk I/O.

  • Audit Destinations: You can choose to keep audit data within the database, stored in a table, or write it externally. For example, with Oracle you can write to an internal audit table, write to disk files, and even stream the audit data as XML. Writing to external files is much faster.

  • Data Management and Clean-Up: If you process 1 million transactions, your audit log will contain 1 million or more rows. As the size of the data stored within the audit log grows, overhead increases. Try to purge audit records as fast as you can or move data to external platforms for analysis and reporting. You can write your own scripts to do this or leverage log management, system event management, or database activity monitoring products to assist.

In general, the relational database vendors know their customers rely on auditing to support compliance and security requirements, and they have greatly improved performance during the past four years. If you are smart with your setup, then auditing is no longer the performance nightmare it once was. Don't let a previous bad experience keep you from exploring database auditing as an option.

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
Comments
Newest First  |  Oldest First  |  Threaded View
Mobile Banking Malware Up 50% in First Half of 2019
Kelly Sheridan, Staff Editor, Dark Reading,  1/17/2020
Active Directory Needs an Update: Here's Why
Raz Rafaeli, CEO and Co-Founder at Secret Double Octopus,  1/16/2020
New Attack Campaigns Suggest Emotet Threat Is Far From Over
Jai Vijayan, Contributing Writer,  1/16/2020
Register for Dark Reading Newsletters
White Papers
Video
Cartoon Contest
Current Issue
The Year in Security: 2019
This Tech Digest provides a wrap up and overview of the year's top cybersecurity news stories. It was a year of new twists on old threats, with fears of another WannaCry-type worm and of a possible botnet army of Wi-Fi routers. But 2019 also underscored the risk of firmware and trusted security tools harboring dangerous holes that cybercriminals and nation-state hackers could readily abuse. Read more.
Flash Poll
How Enterprises are Attacking the Cybersecurity Problem
How Enterprises are Attacking the Cybersecurity Problem
Organizations have invested in a sweeping array of security technologies to address challenges associated with the growing number of cybersecurity attacks. However, the complexity involved in managing these technologies is emerging as a major problem. Read this report to find out what your peers biggest security challenges are and the technologies they are using to address them.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2020-5216
PUBLISHED: 2020-01-23
In Secure Headers (RubyGem secure_headers), a directive injection vulnerability is present in versions before 3.9.0, 5.2.0, and 6.3.0. If user-supplied input was passed into append/override_content_security_policy_directives, a newline could be injected leading to limited header injection. Upon seei...
CVE-2020-5217
PUBLISHED: 2020-01-23
In Secure Headers (RubyGem secure_headers), a directive injection vulnerability is present in versions before 3.8.0, 5.1.0, and 6.2.0. If user-supplied input was passed into append/override_content_security_policy_directives, a semicolon could be injected leading to directive injection. This could b...
CVE-2020-5223
PUBLISHED: 2020-01-23
In PrivateBin versions 1.2.0 before 1.2.2, and 1.3.0 before 1.3.2, a persistent XSS attack is possible. Under certain conditions, a user provided attachment file name can inject HTML leading to a persistent Cross-site scripting (XSS) vulnerability. The vulnerability has been fixed in PrivateBin v1.3...
CVE-2019-20399
PUBLISHED: 2020-01-23
A timing vulnerability in the Scalar::check_overflow function in Parity libsecp256k1-rs before 0.3.1 potentially allows an attacker to leak information via a side-channel attack.
CVE-2020-7915
PUBLISHED: 2020-01-22
An issue was discovered on Eaton 5P 850 devices. The Ubicacion SAI field allows XSS attacks by an administrator.