Fixing the BEAST
6.2.1. Fragmentation </p>
The record layer fragments information blocks into TLSPlaintext records carrying data in chunks of 2^14 bytes or less. Client message boundaries are not preserved in the record layer (i.e., multiple client messages of the same ContentType may be coalesced into a single TLSPlaintext record, or a single message may be fragmented across several records).
struct {
Dierks & Allen Standards Track [Page 16]
</p>
RFC 2246 The TLS Protocol Version 1.0 January 1999
enum {
struct {
</font></td> </tr> </tbody> </table>
Now, I need not explain what the BEAST vulnerability is all about. You can refer my blog for this.
MS12-006 FIX for BEAST
This is where the problem arises, most of the applications haven’t implemented the RFC correctly. They assume that the application data will be packed into a single packet. Whenever the data is split into records, they don’t understand the response and leads to incompatibility between them.
KB2643584 was introduced to address the compatibility issues caused by the MS12-006 security patch.
</strong></font></li>
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL
</p>
NOTE: The above registry key disables the patch applied on the server and the server is exposed to the vulnerability again. In this case you will have to disable all CBC based ciphers and prioritize RC4 based ciphers.
Splitting of records is the only real solution available for the following OS’s as they don’t support TLS 1.1 & TLS 1.2:
On Vista and Windows Server 2008, one can prioritize the RC4 based ciphers over CBC based ciphers. This cannot be done in XP or 2003 though.
Till then Ciao!
</font>
|