Take the 2-minute tour ×
Information Security Stack Exchange is a question and answer site for Information security professionals. It's 100% free, no registration required.

I am testing a webserver[proprietary] which offers SSL support and they say it supports TLS 1.1 and 1.2 which i have verified by firing requests from IE with only the target protocol enabled .

However , how can i check if the TLS protocols implemented in the server are free from known security issues ?

what are the key features to check for ?

Is there a tool which can be used for this purpose ?

share|improve this question

migrated from stackoverflow.com Jul 16 '13 at 7:11

This question came from our site for professional and enthusiast programmers.

    
If they implemented SSL on their own instead of using a well-tested library expect it to have security flaws and don't use it. –  ThiefMaster Jul 16 '13 at 7:11
    
Unfortunately , i am not in a position to ask them not to use it . :( –  Arun Jul 16 '13 at 12:40

2 Answers 2

up vote 2 down vote accepted

You cannot check for implementation flaws. What you can see from a client are:

  • Usage of inherently weak protocols. By checking that the server supports TLS 1.1 and 1.2, you are already ruling that out.

  • Flagrant inappropriateness. For instance, if the server's public key (seen in the server certificate) is way too small for security (e.g. a 512-bit RSA key). Or if you notice that the server's "random" is always the same.

This reverses the burden of proof. Normally, a given implementation should proactively strive to demonstrate that it does things correctly, by (for instance) explaining, in its documentation, that proper development rules have been followed when implementing. This can be as simple as stating "we use LibfoobarSSL version 42.17", but there must be some sort of documentation. It is not your job to "validate" the implementation against flaws; it is well-known that such a posteriori blind validation does not work. You might notice the most glaring holes, but not finding anything does not mean that there is nothing to found.

As an example, circa 1996, the SSL implementation in Netscape (the then-leading Web browser) was hopefully weak because of a very bad PRNG -- statistical tests could not show the problem, though, because the issue was bad seeding: most of the internal state of the PRNG was predictable, so it was a matter of a few seconds to crack any SSL tunnel, but statistical tests would not have shown anything amiss. Detection of that flaw required reverse engineering. This cannot be automated with a tool.

share|improve this answer

This SSL test from SSL Labs covers quite a few properties of TLS.

share|improve this answer
    
I checked it out a while ago , but besides a list of supported protocols and ciphers . I have no idea what they are checking in TLS or will they only display extra details if they find some faults with a server under test –  Arun Jul 12 '13 at 12:31
    
If you scroll down to the "Protocol Details" section, you can see details of some TLS vulnerability tests. –  ntoskrnl Jul 12 '13 at 12:36

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.