Database audit

From Wikipedia, the free encyclopedia

Contents

[edit] What is a database?

A database is an integrated aggregation of data usually organized to reflect logical or functional relationships among data elements (Gallegos 759). In simple terms, a database is a computerized record keeping system. A database includes a system involving data, hardware that physically stores the data, software that utilizes the hardware’s file system in order to store the data and provide a standardized method for retrieving or changing the data, and the users who access the data and turn it into information. Data consists of raw facts and figures that are meaningless by themselves, and can be expressed in characters, digits, and symbols, which can represent people, things, and events (Gallegos 759).

[edit] What are some examples of databases?

The first example of a customer database is quite simple, and shows the organization of data into a table containing columns. The table also reflects logical relationships among the data elements. The second example from the Amazon.com website is more complex and shows the use of a database to aid the design and services offered by a website.

Figure 1: Sample Customer Database

CLIENTS Table
C_NUM C_NAME C_ADDR C_CITY C_STATE C_ZIP C_PHONE
001 Jason Lim 100 W 10th St LA CA 90027 456-7890
002 Rick Tan 21 Jack St LA CA 90031 649-2038
003 Stephen Petersen 1029#A Kent Ave LA CA 90102 167-3333

Image:Amazon screenshot.JPG

Figure 2: Amazon.com

[edit] What are the classes of Database users?

There are four primary classes of database users, including database administrators, applications and systems programmers, Web designers and developers, and end users. Each of these user groups has a unique view of the data contained within the database.

The first user group consists of the database administrator. This individual is responsible for ensuring that the database retains its integrity. If the database becomes compromised, the database administrator will be held accountable. This is a very important position, as this individual has immediate and unrestricted access to nearly every piece of the organization’s valuable information. It is imperative that an organization has controls in place to ensure that a qualified administrator is chosen.

The second user group consists of applications and systems programmers. These individuals design and develop computer programs and must access the database to do so.

The third user group consists of Web designers and developers. These individuals are involved in the design and development of applications to support the communication and marketing of the company’s products. The Internet has become widely used for electronic commerce and electronic data interchange (EDI). Intranets and extranets are also enhancing corporate communication.

Finally, the fourth user group to access the database consists of the end users. End users are all organizational members not included in the previously mentioned categories. These users need to interact with the database and data contained in the database typically originates from this user group.

Specific controls relating to each user group to help ensure the security of the database and the integrity of the information contained within the database will be discussed later.

[edit] What are the commonly used databases?

Some examples of databases that are currently used by businesses include Oracle, Microsoft SQL Server, Microsoft Access, Sybase ASE, Sybase ASA, IBM Informix, IBM DB2, PostgreSQL and MySQL.

[edit] Is security important in databases and what does it comprise?

Database system security is a serious issue affecting an organization’s information security, damage, and loss (Mookhey 1). It is common for an organization to make every effort to lock down their network, but leave the database vulnerable. It is critical to protect the database from unauthorized access because 90% of the organization’s sensitive information is contained within their database. Unauthorized access into the database could be catastrophic to a company.

Companies often do not realize how much risk is associated with the sensitive information within their database until an internal audit is conducted, which gives the details regarding who can access the sensitive data. Tremendous financial losses could result if an employee with access to the sensitive data distributed the confidential information of the business or its customers. Depending on the severity of the security breach, the company’s reputation could be adversely affected, thus resulting in a decline in sales, consumer, and investor confidence.

Each company will need to decide the level of security that suits their organization. This will require an evaluation of the sensitivity of the data within their database. While considering options to protect the sensitive database information, the business should ensure that that their privacy protection measures do not interfere with authorized persons obtaining the right data at appropriate times (Nevins 2). A database security solution should also be application transparent, meaning that no changes need to be made to the underlying applications. This will provide a faster implementation and lower support costs.

Scott Nevins, the president and CEO of Protegrity, and the author of “Database Security: Protecting Sensitive and Critical Information,” considers making sure that you have a secure-audit trail for tracking and reporting activity around confidential data the key issue when purchasing a database security solution. The author also lists additional topics to consider when selecting a database security technology, such as fast performance, the ability to work across applications, and ease to implement. IT security experts also recommend selectively encrypting and securing sensitive database information. This process of wrapping each individual data item in a protective security is much more effective than simply building a firewall around the database. With only a firewall protecting the database, if the firewall is penetrated, the data is vulnerable to intruders. Encrypting the data provides an extra layer of protection. Nevins also notes that one of the best ways to develop an effective database security solution is to recognize that securing the data is essential to the company’s reputation, profitability, and critical business objectives.

Poor database security is a lead contributor to the incidence of identity theft; the less security measures an organization has in place to protect the database, the higher the incidence of identity theft will be. Much of the personal information that is used to commit identity theft, such as Social Security numbers and credit card or bank account numbers is stored in databases. Law enforcement experts estimate that more than half of all identity theft cases are committed by employees with access to large financial databases (Nevins 2). That means that more than 50% of identity theft cases are committed by employees within the organization who have access to the database. As more and more security breaches relating to databases occur, audit committees are becoming increasingly stringent about protecting customer information.

There are currently data-privacy regulations in place that many companies must comply with. These regulations include best practice requirements and industry guidelines regarding the usage and access to customer data. Data security is no longer an option, government legislation and industry regulations mandate it. Some of the privacy requirements in place for protecting personal information include proper access control, selective encryption of stored data, separation of duties, and centralized independent audit functions (Nevins 2). Financial institutions are currently regulated by the Gramm-Leach-Bliley Act (GLBA), which requires the protection of non-public personal data while in storage and implements a variety of access and security controls. These access and security controls are crucial. A 2002 Computer Crime and Security Survey revealed that over half of the databases in use have some kind of a security breach on a yearly basis. This security breach can cost the organization approximately $4 million dollars in losses. Many organizations will do their best to cover up security breaches within their company so as not to alarm customers and harm the business’ profitability. Many professionals in the field believe that there is much more unauthorized access to databases than corporations are willing to admit. In an effort to keep companies from covering up security breaches that occur within their organizations, the state of California recently enacted a law that mandates public disclosure of computer security breaches in which confidential information may have been compromised.

With the recent database hacks at companies such as Lexis Nexis and the loss of Bank of America data tapes containing the personal and financial information of over 1.2 million customers, as well as the increase in identity theft, we are likely to see more legislation in the coming months and years regarding data security. The good news is that unauthorized access to the database and the misuse of data can be prevented with database security products and new audit procedures. Management must realize that information security is no longer just an IT function; it is a business necessity that must be grasped by the organization as a whole.

[edit] What practical security measures can be put in place?

Database security can be broken down into the following key categories:

  • Server Security
  • Database Connections
  • Table Access Control
  • Restricting Database Access

Server Security: Server security is the process of limiting the access to the database server. This is one of the most basic and most important components of database security. It is imperative that an organization does not let their database server be visible to the world. If an organization’s database server is supplying information to a web server, then it should be configured to allow connections only from that web server. Also, every server should be configured to allow only trusted IP addresses.

Database Connections: With regard to database connections, system administrators should not allow immediate unauthenticated updates to a database. If users are allowed to make updates to a database via a web page, the system administrator should validate all updates to makes sure that they are warranted and safe. Also, the system administrator should not allow users to use their designation of “sa” when accessing the database. This gives employees complete access to all of the data stored on the database regardless of whether or not they are authenticated to have such access.

Table Access Control: Table access control is related to an access control list, which is a table that tells a computer operating system which access rights each user has to a particular system object. Table access control has been referred to as one of the most overlooked forms of database security. This is primarily due to the fact that it is so difficult to apply. In order to properly use Table access control, the system administrator and the database developer will need to collaborate.

Restricting Database Access: Internet based databases have been the most recent targets of attacks, due to their open access or open ports. It is very easy for criminals to conduct a “port scan” to look for ports that are open that popular database systems are using by default (Weidman 4). The ports that are used by default can be changed, thus throwing off a criminal looking for open ports set by default. There are additional security measures that can be implemented to prevent open access from the Internet, such as

  • Trusted IP addresses – Servers can be configured to answer pings from a list of trusted hosts only.
  • Server account disabling – The server ID can be suspended after three password attempts.
  • Special tools – Products can be used to send an alert when an external server is attempting to breach the system’s security. One such example is RealSecure by ISS.

In previous years, businesses focused on preventing access to their databases via perimeter security. Perimeter security includes items such as firewalls and intrusion detection equipment. The problem with this method, however, is that it protects information from those outside the organization that might attempt to retrieve information from the database. As was stated earlier, the majority of security breaches that occur are by those individuals that are within the organization. As we conclude our discussion of database security, it is important to remember that database security should occur in conjunction with other security technologies, but data protection should be the core element of a complete enterprise security infrastructure (Nevins 1).

[edit] What are the main issues surrounding a database Audit?

The primary security concerns of the auditor when conducting a database audit includes authentication and authorization issues. The following general principles for developing an audit strategy, auditing suspicious database activity, and auditing normal database activity can guide the auditor throughout the audit.

General Principles for Developing an Audit Strategy:

  • Evaluate you purpose for auditing – In order to have an appropriate auditing strategy and to avoid unnecessary auditing, you must have a clear understanding of the reasons for auditing.
  • Audit knowledgeably – In order to prevent unnecessary audit information from cluttering the meaningful information, it is important to audit the minimum number of statements, users, or objects required to get the targeted information.

General Principles for Auditing Suspicious Database Activity:

  • Audit generally, then specifically – Enable general audit options at first, then use more specific audit options. This will help the auditor gather the evidence required to make concrete conclusions regarding the origins of suspicious database activity.
  • Protect the Audit Trail – Protect the audit trail so that audit information cannot be added, changed, or deleted without being audited.

General Principles for Auditing Normal Database Activity: Auditing normal database activity refers to the process of gathering historical information about particular database activities.

  • Audit only pertinent actions – In order to avoid cluttering the meaningful information with useless audit information, audit only the targeted database activities.
  • Archive audit records and purge the audit trail – After you have collected the required information, archive audit records that are of interest and purge the audit trail of this information.

[edit] What are the options auditors have for database audits?

Using an automated database audit solution:

In order to ensure that unauthorized users are not accessing the database, the auditor will need to audit user activity. Auditing user activity provides the auditor with assurance that the policies, procedures, and safeguards that management has enacted are working as intended (Mazer 1). This also helps the auditor to identify any violations that may have occurred.

Auditing user activity can be accomplished via continuous data auditing. Continuous data auditing is the process of monitoring, recording, analyzing, and reporting database activity on a periodic basis. This is a critical concept because unauthorized access to the database and the information contained within can occur at any time. If the auditor is using a testing schedule, violators can easily sidestep that schedule. This is not the case, however, with continuous data auditing. The auditor and management must be able to identify which behavior is suspicious versus which behavior is routine. Any behavior that is not identified as routine and valid access to the database must be examined and analyzed further.

Before beginning the audit, the auditor should assess the database environment. This includes identifying and prioritizing the users, data, activities, and applications to be monitored (Mazer 2). The Internal Audit Association lists the following as key components of a database audit:

  • Identify all database systems and use classifications. This should include production and test data.
  • Classify data risk within the database systems. Monitoring should be prioritized for high, medium, and low risk data.
  • Analyze access authority. Users with higher degrees of access permission should be under higher scrutiny, and any account for which access has been suspended should be monitored to ensure access is denied and attempts are identified.
  • Assess application coverage. Determine what applications have built-in controls, and prioritize database auditing accordingly. All privileged user access must have audit priority. Legacy and custom applications are the next highest priority to consider, followed by the packaged applications.
  • Ensure technical safeguards. Make sure access controls are set properly.
  • Audit activity. Monitor data changes and modifications to the database structure, permission and user changes, and data viewing activities.
  • Archive, analyze, review, and report audit information. Reports to auditors and IT managers must communicate relevant audit information, which can be analyzed and reviewed to determine if corrective action is required. Organizations that must retain audit data for long-term use should archive this information with the ability to retrieve relevant data when needed.

The first five steps listed are to be performed by the auditor manually, while the last two steps are best achieved by using an automated solution.

The ideal approach to effectively capture and analyze database activity, is through non-trigger audit agents associated with each database server. Non-trigger audit agents capture all relevant activity, regardless of the application used (Mazer 3). In comparison, database triggers-an automatic procedure that occurs when data has been altered in a table-are not recommended, as database administrators can easily disable them. The non-trigger database audit agents gather information through two means:

  1. Database transaction log – Each database maintains a database transaction log through the normal course of its operation, which gathers data modifications and other activity.
  2. Database's built-in event notification mechanism – Obtains additional information, such as permission changes and data viewing activities.

Data Access Auditing:

Data access auditing is a surveillance mechanism that watches over access to all sensitive information contained within the database. This mechanism brings only the suspicious activity to the auditor’s attention. As was previously discussed, databases generally organize data into tables containing columns. Access to the data generally occurs through a language called Structured Query Language or SQL (Richardson 2). The perfect data access auditing solution would address the following six questions:

  1. Who accessed the data?
  2. When?
  3. Using what computer program or client software?
  4. From what location on the network?
  5. What was the SQL query that accessed the data?
  6. Was it successful; and if so, how many rows of data were retrieved?

The auditor can choose to either audit within the client, audit within the database, or audit between the client and the database. The following graphic depicts these options:


Auditing within the client involves using the client’s database access tools to obtain a list of the end-user activity that has been performed through the database. In order for the auditor to obtain an adequate audit trail, all data access that occurred would have to have occurred through these client tools. It would be possible for data access to occur outside of this tool; therefore this option is the absolute worst available to the auditor.

The second choice involves auditing within the database. There are drawbacks to this approach, primarily due to the limited audit functionality of database management systems (DBMS), the inconsistency across DBMS types, and the performance penalty that occurs when the audit mechanism is enabled. Auditing within the database is certainly better than auditing within the client, however, the best approach is auditing between the client and the database.

Auditing between the client and the database involves auditing the conversations between the clients and the databases. In order to audit the conversations, it is necessary to capture and interpret the conversations that occur between the client and the database. This process can be accomplished using vendor software and is by far the best approach to data access auditing.

[edit] What types of database audit software is available?

Auditors may also use audit software to achieve their audit objectives. Two popular database auditing solutions include: DB Audit created by SoftTree Technologies and Audit DB by Lumigent Technologies Inc.

The DB Audit solution helps ease the problems associated with enabling the built-in audit utilities of most databases. DB Audit is easy to customize and does not require installation of any additional software or services on the database server and network. It works with Oracle, Microsoft SQL Server, Sybase ASE, Sybase ASA and IBM DB2. This solution is implemented on the database back-end and eliminates any possibility of back door access that would otherwise be unrecorded.

Lumigent Audit DB provides the comprehensive monitoring and auditing of data access and modifications. Audit DB’s trusted auditing approach provides an unimpeachable audit trail of who has accessed or modified what data, and supports best auditing practices including segregation of duties. Audit DB supports IBM DB2, Microsoft SQL Server, Oracle and Sybase databases.

[edit] External links

Works Cited:

Electronic Sources:

Ambeo. 2004. Ken Richardson. Keeping Data Private (and knowing it). 9 May 2005. http://www.ambeo.com/white_papers.shtml

Government Security. Scott C. Nevins. Database Security: Protecting Sensitive and Critical Information. 9 May 2005. http://forums.governmentsecurity.org/articles/Databasesecurityprotectingsensitiveandcriticalinformation.php

Government Security. Blake Wiedman. Database Security (Common-sense Principles). 9 May 2005. http://forums.governmentsecurity.org/articles/DatabaseSecurityCommon-sensePrinciples.php

Government Security. Paul Zikopoulos. The Database Security Blanket. 9 May 2005.

IT Audit. Vol. 8. May 2005. Murray Mazer. Database Auditing-Essential Business Practice for Today’s Risk Management. 19 May 2005. http://www.theiia.org/itaudit/index.cfm?fuseaction=forum&fid=5617

IT Audit. Vol. 8. May 2005. KK Mookhey. Auditing MS SQL Server Security. 9 May 2005. http://www.theiia.org/itaudit/index.cfm?fuseaction=forum&fid=5611

Oracle. 1999. Version 8.0. Auditing Database Use. 9 May 2005.

Soft Tree Technologies. DB Audit. May 2005. Soft Tree Technologies. 17 May 2005. http://www.softtreetech.com/dbaudit/db_audit_wp.pdf

Text Source:

Gallegos, F. C. Gonzales, D. Manson, and S. Senft. Information Technology Control and Audit. Second Edition. Boca Raton, FL: CRC Press LLC, 2000.