|
Feature Article
Forensic Analysis - Easily Track Changes to your Database
By Dan Riehl - SecureMyi.com
Who added that new vendor to the vendor file? Who changed that purchase order dollar amount? And who changed that employee's hourly pay? When did it happen, and how was it accomplished? In this next article in the forensic analysis series, I examine how to audit and report on database changes. I examine the topic of DB2 for i database journaling and how you can extract meaningful data out of a database journal for your forensic analysis.
Auditing Revisited
I encourage you to review the previous articles in this series in the SecureMyi Newsletter.
And Now, Detecting Database Changes
IBM i provides two methods for collecting information on database record changes, additions, and deletions. You can write your own database trigger programs (customized for each required file), or you can use the database record-level journaling support built into the operating system. Given the complexities of database record changes when commitment control is active (i.e., with Commit and Rollback operations), trigger programs can be devilishly difficult to write correctly. In addition, the database record audit trail created by an inhouse-written trigger program may be considered "suspect" by your compliance auditors.
IBM i database journaling can provide an audit trail of each record add, change, and delete operation made for the journaled file. Database journals have long been a trusted accounting of record-level activity. However, the journaling environment must be configured in a manner consistent with your ability to extract
the important information about record additions, changes, and deletions.
Creating the Journal for Forensic Analysis
Several enhancements to the database journaling support have been made over the last several releases of the operating system.
Some of these enhancements relate to the size and content of database journal entries.
When you want to perform forensic analysis of journaled database record changes, you do NOT want to use "skinny headers" as described in the IBM Redbook Journaling – Journal Receiver Diet tip 2: Consider using skinny headers. You implement skinny headers by shrinking the size of the journal entry headers, which can eliminate information such as the job name, user name, and program name that made the change. You can implement skinny headers by specifying on the CRTJRN or CHGJRN command a receiver size option of RCVSIZOPT(*MINFIXLEN) or by using the Fixed Length Data (FIXLENDTA) parameter to specify a value, such as FIXLENDTA(*USR). When a record is added to, changed, or deleted from a database file, you want to be able to report on ALL pertinent information, including the job, user and program used to make the change. Therefore, you do NOT want to use skinny headers.
Another enhancement in journaling support lets you specify that the journal-entry–specific data be minimized. To shrink the size of the entry-specific data, you use the CRTJRN/CHGJRN parameter MINENTDTA. To reiterate: When you need to be able to perform forensic analysis of the journal entry data, you need all the available journal-entry–specific data to be intact. Therefore, the MINENTDTA parameter needs to be specified as *NONE, meaning that complete entry-specific data will be present in each journal entry.
Read More . .
|
Live Security Related Webcasts and Training for IBM i
September Events
Coffee with Carol: What's New in V7R2 Security! with Carol Woodbury
Live Webcast - Presented by Skyview Partners
Wednesday, Sep 24 10:00am CDT
More Information and Register to Attend
Live Hands-On - QAUDJRN Auditing and Forensic Analysis Workshop with Dan Riehl
Training Workshop - Sep 25-26 - Presented by The 400 School, Inc.
Dan Riehl presents this 2-Day Live Online Hands-on Workshop.
More Information and Register to Attend
Live Hands-On - Expanded Control Language Programming Workshop with Dan Riehl
Training Workshop - Sep 29-Oct 3 - Presented by The 400 School, Inc.
Dan Riehl presents this 5-Day Live Online Hands-on Workshop.
More Information and Register to Attend
October Events
COMMON 2014 Fall Conference & Expo
October 27 - 29
Hyatt Regency Indianapolis • Indianapolis, Indiana
More Information and Register to Attend
November Events
Live Hands-On - IBM i, iSeries System Administration and Control Workshop with Dan Riehl
Training Workshop - Nov 3-7 - Presented by The 400 School, Inc.
Dan Riehl presents this 5-Day Live Online Hands-on Workshop.
More Information and Register to Attend
Live Hands-On - Security Audit and Vulnerability Assessment Workshop for IBM i, iSeries AS/400 with Dan Riehl
Training Workshop - Nov 11-14 - Presented by The 400 School, Inc.
Dan Riehl presents this 4-Day Live Online Hands-on Workshop.
More Information and Register to Attend
|
|
Security Shorts
Danger - Any Libraries Higher than QSYS
By Dan Riehl - SecureMyi.com
If you, or your software provider, places a library higher than QSYS on the system library list, like ALTQSYS, make sure that the library authority is set to no higher than *PUBLIC AUT(*USE). This will restrict *PUBLIC users from placing new objects into the library. Also make sure that you secure the individual objects in the library with *PUBLIC AUT(*USE) for programs, commands and other static object types, and AUT(*CHANGE) or less for dynamic objects like database files and data areas.
Since we rely heavily on resolving object references using the job's library list, any object in a library ahead of QSYS can override the expected functioning of the operating system and your application software. In this respect, programs and commands can act as a Trojan Horse on your system.
Numerous 3rd party software vendors require a library ahead of QSYS, but do not secure the libraries with *PUBLIC AUT(*USE). Instead, they are mostly installed as *PUBLIC AUT(*CHANGE), or even *PUBLIC AUT(*ALL). Check with your vendor for their solution to the potential vulnerability they have introduced onto your system.
Also check that all libraries in the System Portion of the Library list are *PUBLIC AUT(*USE). An improperly created object in one of these libraries may be used in place of a production object in your application production libraries that are typically in the lower User Portion of the Library List.
|
Sponsored Links
IT Security and Compliance Group
In Depth Security Assessment of IBM i
Upgrade to QSECURITY level 40 or 50
Forensic Research and Analysis
Audit Assistance and Remediation
Security Training for IT and Audit Staff
Software Selection & Configuration
Security and Systems Programming
Customized IBM i (AS/400) Training - Presented Live at your offices
Live Online Hands-On Workshops
|