Reputation: 127
I'm trying to reproduce the skipTLS attack against cyassl < 3.3.0 (wolfSSL) that allows to skip steps in the handshake and thus impersonate a server and force the client to communicate in clear. The specific attack is described here : http://www.ieee-security.org/TC/SP2015/papers-archived/6949a535.pdf (p. 9-10).
This exploit relies on the fact that unitialised memory in the cyassl client (coded in C) is set to 0 (a 12-long byte array).
The attack inexplicably fails, and I wanted to check if it was because the unitialised memory wasn't set to 0.
Now, the papers claims :
Consequently, the byte array that stores the transcript MAC remains uninitialized, and in most runtime environments this array contains zeroes.
I'm running the client on Ubuntu 16.04.
Would you know of a way to check if the memory contains 0s (debugging would be quite painful as I'm working in blackbox) ?
Or, alternatively, would there be an environment in which the probability that this area of uninitialised memory contains 0s would be higher ?
I know that I can't ever be sure that it always contains 0, but if it works from time to time, it's fine by me.
Upvotes: 0
Views: 60