George,
My apologies, in my haste to provide the network trace results I reviewed the wrong TCP connection.
In the real TCP connection for this Nessus test (I promise I got it right this time...), my server responds to the initial Client Hello with a Server Hello in which the server reports a fatal error (0x02) whose description is (0x28) "Handshake Failure".
On reception of the TCP ACK for the Server Hello, my server then issues a FIN to initiate connection termination.
However, Nessus then sends the server the malicious certificate. Since my server already issued a FIN, there is no further response from the server and, after attempting to retransmit the certificate 2 more times, Nessus finally issues a FIN on the connection and the connection is closed.
---> Here's the interesting part <---
According to my review of the plug-in source, Nessus will skip issuing the certificate if the server issues a fatal error (0x02) whose description is (0x28) "Handshake Failure" - which is what my server responds with - however, the plug-in is looking for the response at the wrong offset in the reply. The plug-in expects it to be at the very start of the reply (at byte offset 5) but in the response my server actually sends, the error is much further into the packet (at byte offset 981).
In the server’s response, the error is at the very end and is preceded by a Server Hello and a Certificate record layer, but the plug-in is either expecting those records to be absent or to come after the error.
My revised question is, do you have any idea why the server bothers to put the Server Hello and Certificate records into the response only to follow them with a fatal error? Is this the expected behavior? If so, the plug-in logic is faulty. If not, is there something I can do to make my server behave better in its response?
Thanks,
- Andrew
From: "Andrew Kraslavsky" <[EMAIL PROTECTED]> Reply-To: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: Re: Nessus security alert issued in error against OpenSSL v0.9.7d? Date: Wed, 01 Dec 2004 18:40:20 -0800
George,
Thanks for the help.
I took a network trace and it appears my server either issues a RST or a FIN on the connection so the first case you mentioned must apply.
I understand that the author of the Nessus plug-in decided that no response is bad, but is that decision really valid here? I.e., does a lack of response from my server indicate that the ASN.1 parsing problem exists in the version of the OpenSSL library (0.9.7d) I am using?
At the server level, I do not see any errors so, if there is indeed a buffer overflow, it must be happening within the OpenSSL library and in such a way as to be transparent to the application.
This is the specific area I am hoping to have clarified.
Thanks again,
- Andrew
From: George Theall <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: Re: Nessus security alert issued in error against OpenSSL v0.9.7d?
Date: Tue, 30 Nov 2004 20:50:40 -0500
On Tue, Nov 30, 2004, Andrew Kraslavsky wrote:
> To test the security of my proprietary HTTPS server, built with OpenSSL
> library version 0.9.7d, I ran Nessus version 2.2 against it and it reported
> the following alert (as issued by Nessus plug-in ID 11875, described at:
> http://cgi.nessus.org/plugins/dump.php3?id=11875 ):
...
> ---> My question is, why does Nessus report this alert
The why is fairly straightforward based on the plugin source -- in response to a corrupt client certificate sent by the plugin, your server sent either nothing or something other than an "unexpected_message" or "bad_record_mac" alert (by assumption) message.
Now if your web server is on a different network than your Nessus server or was busy, this may have occured simply because the plugin timed out. Have you sniffed the traffic or added some display() statements to the plugin to learn exactly what's being returned?
George -- [EMAIL PROTECTED] << attach3 >>
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]
_________________________________________________________________
Don’t just search. Find. Check out the new MSN Search! http://search.msn.click-url.com/go/onm00200636ave/direct/01/
______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]