Pete Finnigan's Oracle Security Weblog
This is the weblog for Pete Finnigan. Pete works in the area of Oracle security and he specialises in auditing Oracle databases for security issues. This weblog is aimed squarely at those interested in the security of their Oracle databases.
I am speaking at the Northern Server Technology day tomorrow 24th April
Come along and say hello if you are in the area!
NGS have released an analysis for the April CPU 2007
Analysis of April 2007 CPU
Alex has also released five advisories:
"Bypass Logon Trigger [DB05] (fixed in CPUApr2007)" - which talks about an issue whereby it is possible to bypass database logon triggers and if these are used to enfore security then that security is broken.
"SQL Injection in DBMS_UPGRADE_INTERNAL [DB07] (fixed in CPUApr2007)" - This package contains SQL injection bugs
"SQL Injection in DBMS_AQADM_SYS [DB04] (fixed in CPUApr2007)" - This package contains SQL injection bugs
"XSS in Oracle Secure Enterprise Search [SES01] (fixed in CPUApr2007)" - A cross site scripting bug in Oracle secure search. An exploit is included
"Shutdown unprotected TNS Listener via Oracle Discoverer Servlet [AS01] (fixed in CPUApr2007)" - It is possible to send TNS stop commands via the discoverer servlet
Analysis: Automated Code Scanners: False Sense of Security?
"Remember when attackers were just out for fame and glory, and application security was someone else's problem? Big targets like Microsoft and Oracle drew the fire. All enterprise IT had to do was apply patches regularly and keep a properly configured firewall.
Those days are gone. Cracking corporate networks is no longer a kid's game, it's a lucrative criminal growth industry. The attackers who stole 45.6 million credit- and debit-card numbers from TJX Companies were professional enough to remain undetected for at least 10 months. Meanwhile, major software vendors, including Microsoft, have improved their security practices, which puts niche and in-house-developed software and Web applications squarely in the bad guys' sights."
Quite a nice paper
Oracle Updates Leave Critical Windows Flaw
"Some Oracle customers using the Windows operating system will have to wait another two weeks to receive a critical software update to their database software, thanks to a glitch that came up in testing the company's latest patches.
On Tuesday, Oracle unveiled its quarterly release of software patches, fixing not only database flaws, but also bugs in a host of other applications. In total, the patches fix 36 vulnerabilities, 13 of which relate directly to the database."
This story is interesting for two reasons, it first points out that one of the most severe bugs has no fix available for Windows customers and secondly that Oracle have announced a scale back in the number of CPU patches for some server and middleware products from the July CPU.
Oracle Critical Patch Update April 2007 is out
This is a mixed bag, again the patch is critical and needs to be applied quickly because of the remotely exploitable bugs and also because of the recent tendancies for exploits to become quickly available on the net. The numbers are smaller than the last patches but are still excessive in terms of raw security fixes. Have Oracle turned the corner in terms of reducing the numbrs of security bugs? - not sure, it would seem that the numbers are reducing but the recent number of papers on Oracle security and forensics, re;eases of exploits would suggest a renewed effort on the part of researchers to push Oracle further by being more creative in terms of finding security bugs in its products. Let's wait and see if the trend keeps falling in terms of fixes in July.
103 free security apps for Mac, Windows and Linux
"How many times have you downloaded an app that could supposedly solve all of your computer problems absolutely free of cost? Now ask yourself how many times that app actually did what it was supposed to, or better yet how many times that app was actually free? More often than not your answer is going to be zero.
Unfortunately for all of us, most software providers use gimmicks to sucker consumers in to purchasing their enterprise security apps: Sure, they'll keep your computer virus free for 30 days, but after that you'll need a subscription. Otherwise they'll just scan your registry for bugs but won't fix them for you. Frankly, we're tired of that."
Milw0rm - Oracle exploits
A new Oracle Security Apprentice?
Oracle Assessment Toolkit
The kit includes a tool to get oracle versions (this can be seen in the OHH as well for explanations), a tool to enumerate users in a database without authenticating. A password brute force tool, a tool to retrieve the SID's from the listener, a tool to guess SID's and an example of the Jan 2006 CPU DB18 AUTH_ALTER_SESSION hack.
Worth downloading and also keeping an eye on for fixes and updates.
3 new papers on Oracle forensics
Oracle Forensics Part 1: Dissecting the redo logs
This paper includes quite a detailed analysis of the redo log binary file structures and a C program to calculate the block checksums, a C program to decode redo block timestamps, a C program to dump an insert entry plus detailed analysis of the dumps
Oracle Forensics Part 2:Locating Dropped Objects
This paper discusses how fragments of evidence can remain in place after a database object has been dropped.
Oracle Forensics Part 3: Isolating Evidence of Attacks Against the authentication mechanism
Quite an interesting paper that discusses how to spot attempts to brute force database sids, user enumeration attacks, password guessing attacks, spotting brute force attempts against SYS, spotting attempts to abuse the imperva bug (DB18 - Jan 2006 CPU) and attempts to log into the XML DB.
David spotted a gotcha in using database audit to audit connections, he saw that the logoff overwrote the LOGON action in SYS.AUD$ in 8i and 9i. This is not an issue as you can get the logon time from the timestamp column of dba_audit_session and the logoff time is recorded in the logoff_time column. the data is not lost. See "Introduction to Simple Oracle Auditing" a paper i wrote for Security Focus in 2003. An example is here:
SQL> select count(*) from sys.aud$;
COUNT(*)
----------
1
SQL> audit create session by access;
Audit succeeded.
SQL> connect scott/tiger
Connected.
SQL> connect system/manager
Connected.
SQL> select count(*) from sys.aud$
2 ;
COUNT(*)
----------
3
SQL> select username,terminal,action_name,to_char(timestamp,'DDMMYYY:HHMISS') ti
mestamp,to_char(logoff_time,'DDMMYYYY:HHMISS') logoff,returncode
2 from dba_audit_session;
USERNAME
------------------------------
TERMINAL
--------------------------------------------------------------------------------
ACTION_NAME TIMESTAMP LOGOFF RETURNCODE
--------------------------- -------------- --------------- ----------
SCOTT
PETERFIN
LOGOFF 0404007:090339 04042007:090348 0
SYSTEM
PETERFIN
LOGON 0404007:090349 0
USERNAME
------------------------------
TERMINAL
--------------------------------------------------------------------------------
ACTION_NAME TIMESTAMP LOGOFF RETURNCODE
--------------------------- -------------- --------------- ----------
SQL>