Pete Finnigan's Oracle Security Forum (http://www.petefinnigan.com/forum/yabb/YaBB.cgi)
Oracle Security >> Oracle Auditing >> Audit logging which (sensitive) rows Selected
(Message started by: Pete Finnigan on Aug 30th, 2006, 5:01pm)

Title: Audit logging which (sensitive) rows Selected
Post by Pete Finnigan on Aug 30th, 2006, 5:01pm
Does anyone know of a mechanism that can record (audit log) which (sensitive) records a user has SELECTed on an Oracle (9i, 10g) database? [Clearly this needs to restrict to sensitive records else data volumes too large.]  
I'm aware of Oracle's Fine Grained Auditing (FGA), but believe this only returns the SQL statement, not a record of what data was actually accessed.

Title: Re: Audit logging which (sensitive) rows Selected
Post by Pete Finnigan on Aug 30th, 2006, 6:44pm
Hi IBJAtTVP,

I think the clue of your question is :  sensitive records
How do you define the term sensitive records?

Why don't you create a view which return the sensitive records and audit on this view?
something like this:

connect a/a
create view sensitive as select * from top_secret where
this_is_sensitive='Y';
grant select on sensitive to user_x;


connect system/pw
audit select on a.sensitive;


From now on every select on view SENSITIVE will be audit.

regards,

Ivan

Title: Re: Audit logging which (sensitive) rows Selected
Post by Pete Finnigan on Aug 30th, 2006, 7:00pm
I think the solution should involve FGA if the data is sensitive. FGA can be used to store the SQL and the binds so the poster is right the actuial data is hard to get at. FGA can be controlled to pin point the access made though and if its done at a row level can be very useful. FGA works at a statement level though.

Ivans solution will also not show the data though. If you want the data and have big pockets some of the network based audit appliances are worth looking at.

cheers

Pete

Title: Re: Audit logging which (sensitive) rows Selected
Post by Pete Finnigan on Sep 13th, 2006, 1:18pm
Many thanks Pete, Ivan.

This appears to be a sticky problem, possibly beyond current technology.
I did wonder about using FGA to log and retrieve the SQL, then resubmitting the SQL (modified) to record which sensitive records actually hit by it and logging that. However, might end up in an endless recurrsion there! And it still does n't identify what the user actually saw - only what the database query hit.

Regards, IBJ



Powered by YaBB 1 Gold - SP 1.4!
Forum software copyright © 2000-2004 Yet another Bulletin Board