OpenVPN/IPsec - Sweet32: Birthday attacks

Michael Tremer michael.tremer at ipfire.org
Thu Sep 15 13:06:53 CEST 2016


On Wed, 2016-09-14 at 19:04 +0000, IT Superhack wrote:
> Hello Michael,
> 
> Michael Tremer:
> > 
> > Hey,
> > 
> > apologies for jumping in on this so late, but time is rare for me at the
> > moment.
> > 
> > I agree that we need to do something here, but with crypto we always end up
> > with
> > the same problem. That is: How do we offer a good migration path?
> > 
> > Some ciphers we support are clearly broken. If we would disable those
> > probably
> > the majority of IPsec tunnels and OpenVPN connections would not work any
> > more
> > since lots of hardware that you buy today still only does RC4, (3)DES, SHA1
> > or
> > MD5. That's terrible.
> Indeed, it is. :-(
> > 
> > 
> > If we would kick out all of those, we would have people ask to get these
> > back
> > in. They have some reasons to use those. AFAIK does lots of Cisco stuff
> > implement 3DES in hardware which is therefore much faster than AES.
> Yes, some earlier versions of the Cisco ASA series don't even support AES, and
> in some cases, there is a bug preventing a successful VPN connection (that
> applies
> to the AVM Fritz!Boxes, too).

I do not feel sorry at all for people who are using these. Especially if you set
up a VPN connection like this, you will probably figure out that you have to
change some settings to get it working. And you have been warned.

> > 
> > 
> > That's not convincing to me, but in those businesses out there, they need
> > throughput and prioritize that over security.
> > 
> > Then there is the big lack of a migration path for OpenVPN. If you change
> > the
> > cipher on the server side, no client would be able to connect any more
> > unless
> > you update the configuration. Completely unfeasible to do with probably more
> > than 5 connections. If OpenVPN would negotiate the ciphers like IPsec does
> > there
> > would be a good chance. Unfortunately it does not and is not even very user-
> > friendly when you have a configuration mismatch.
> > 
> > Hence I am with Rod. People will only touch that if they have to and that is
> > very often when the hardware dies.
> > 
> > So I think there is no chance that we just remove all the "broken" ciphers
> > here.
> > That will break too many systems. People would probably avoid updating then
> > and
> > get new security issues in other components.
> I agree with this and it's a very common behavior. (In fact, more than a third
> of
> the security incidents the customers of my company encounter can be tracked
> down
> to this behavior.)
> > 
> > 
> > So could someone work on a patch to mark these as "weak". We had this
> > discussion
> > earlier on this list but a final solution was never implemented.
> > 
> > We could just modify the dropdown on the OpenVPN page like this:
> > 
> > CAMELLIA-CBC (256 bit)
> > CAMELLIA-CBC (192 bit)
> > ...
> > Weak Ciphers
> >   BF-CBC
> >   ...
> > 
> > The <optgroup> tag can be used for that:
> >   http://www.w3schools.com/tags/tag_optgroup.asp
> > 
> > Additionally we can show a flag next to it if a weak cipher is in use.
> That's a good idea. Maybe we can also display a notification on the main page
> (similar to the "there is a new update available" notice) since usually you
> don't touch the VPN configuration sites if everything works.

I am not sure if that is necessary on the main page. There is no way to silence
any warnings, so I am not sure if that is too distracting and in the way.

We don't want to throw too many warnings at the users because that makes them
not reading any of those.

> > 
> > 
> > The IPsec dropdown can be modified in just the same way.
> Yep.
> > 
> > 
> > So we will keep supporting those ciphers, but we make it crystal clear that
> > it
> > is not recommended to use them.
> > 
> > Would that be okay with you? Did I get everything discussed here baked into
> > the
> > proposed solution?
> I'm happy with this.

Cool.

> > 
> > 
> > Are we proposing any insecure defaults? We should adjust these then.
> Yes:
> OpenVPN (advanced server options): SHA1 is set as default
> IPSec (advanced connection options): SHA1 is enabled by default

Good point.

> I am not sure about the "Grouptype" options in IPSec, since I would disable
> anything weaker than 2048 Bits (RSA/MODP) or 256 Bits (ECDSA/ECP).

From a security point of view I would support this. But see below :)

> Neither am I sure about the "Diffie-Hellman parameters". 1024 Bits - which
> is set as default currently, is awfully short; 2048 is the minimum recommended
> length. Needless to say, this may take ages on slow hardware, so I'm not
> sure how to deal with this.

Same here. A background task system is required to do that. The design of the
webif makes this so complicated only.

> Similar problems occur within Apache:
> * Logjam/Weak DH params, which cannot be fixed easily at the moment
> * current configuration supports SHA1. But if we'd disable that, clients must
> use TLS 1.2 which is better, but not always possible (IE6-8 on WinXP/Vista/7).

But changing the defaults for OpenVPN has some very bad implications:

If we would set this to higher settings, this would certainly work better on
modern systems. But if you have a single XP box that you need to connect you
cannot go back to SHA1 any more without replacing all other connections, too.

TLS1.2 is therefore very far out of reach.

> Best regards,
> Timmothy Wilson
> > 
> > 
> > Best,
> > -Michael
> > 
> > On Sat, 2016-09-10 at 01:49 -0500, R. W. Rodolico wrote:
> > > 
> > > From what I understand, existing configurations will stay the same and
> > > still be able to connect. The only effect this will have is to keep
> > > people from creating new certs with the insecure ciphers. In that
> > > case, I think they could be killed with no problem.
> > > 
> > > If you decide to do this, all we need to do is document it so we don't
> > > get people asking "where is blowfish; I always use that!" Putting it
> > > in the forum is cool, but I want to put it in the documentation
> > > (wiki.ipfire.org), mainly in
> > > http://wiki.ipfire.org/en/configuration/services/openvpn. Again, I'm
> > > not coding, so I am happy to document.
> > > 
> > > I was concerned you were talking about pulling the ciphers completely
> > > out of OpenVPN, so the server would not be able to respond when an old
> > > connection was made using one of the insecure ciphers. Pulling it from
> > > the list of available ciphers for new connections should not be an
> > > issue at all.
> > > 
> > > Happy to help whatever you need with the wiki. I'm on the
> > > documentation at lists.ipfire.org list. Is that the one you're talking
> > > about? I use OpenVPN quite a bit, so just let me know what you want me
> > > to do.
> > > 
> > > Rod
> > > 
> > > On 09/05/2016 03:30 AM, ummeegge wrote:
> > > > 
> > > > 
> > > > Hi,
> > > > 
> > > > Am 01.09.2016 um 21:29 schrieb R. W. Rodolico <rodo at dailydata.net 
> > > > <mailto:rodo at dailydata.net>>:
> > > > 
> > > > > 
> > > > > 
> > > > > Signierter PGP-Teil No matter which way you decide to go, we
> > > > > need to document as soon as possible. Is there any way we could
> > > > > modify release 104 to highlight insecure ciphers and insert a
> > > > > link to an article? I volunteer to write
> > > > > 
> > > > 
> > > > the decision needs to made by the core developers, may also in 
> > > > conjunction with an update of the OpenSSL library to version 1.1 
> > > > cause as you could read in the OpenSSL announcement, if the 
> > > > 'enable-weak-cipher" option won´t be set DES (and his variations) 
> > > > won´t work anymore ? But i´am not sure about that may there are 
> > > > other ways around. I wanted only to point this specific problem
> > > > out and as far as i can see the half of the OpenVPN ciphers are 64
> > > > bit block ciphers and are affected. Exception are Camellia, AES and
> > > > the Seed ciphers. Have also made some smaller changes in the
> > > > OpenVPN wiki (it definitely needs some updates/fixes) and i will
> > > > make some more in the next days and it would be great if you go
> > > > also for some extensions (may we can meet in the wiki mailinglist
> > > > for coordination).
> > > > 
> > > > > 
> > > > > 
> > > > > the article.
> > > > > 
> > > > > What I'm thinking is, in 104 (I'm assuming dropping the insecure
> > > > >  ciphers would not happen until 105), whey they view the OpenVPN
> > > > >  screen, if they are using an insecure cipher, the text would
> > > > > show up in red or something. It seems a simple fix (but I've not 
> > > > > looked at the code, so it may not be).
> > > > > 
> > > > 
> > > > Since Core 104 is currently in testing tree, this could be a
> > > > chance and as you mentioned it is a simple text formatting patch
> > > > but as i wrote it before, the core developers needs to decide
> > > > that.
> > > > 
> > > > > 
> > > > > 
> > > > > 
> > > > > I disagree with "the sooner people throw old systems away" idea, 
> > > > > as my basic philosophy is to use equipment until it won't boot. 
> > > > > One of the advantages to FOSS. But, in this case, we're looking 
> > > > > at the possibility of having to force outdated options in 
> > > > > multiple packages which would be a fairly good sized effort.
> > > > > 
> > > > 
> > > > There are configuration possibilities between "throw old systems 
> > > > away" or "disable this ciphers", but in would in anyways needs 
> > > > knowledge and activities from the user side in that case.
> > > > 
> > > > > 
> > > > > 
> > > > > 
> > > > > Whatever happens, it needs to be documented, and I'd like to get 
> > > > > it out there as soon as possible. And very visible even to users 
> > > > > who don't read mailing lists or even visit the Planet.
> > > > > 
> > > > 
> > > > I did some announcements also in the IPFire forum, may i should
> > > > pin it to the top...
> > > > 
> > > > > 
> > > > > 
> > > > > 
> > > > > I'm still not clear on one thing. If Blowfish (for example) is 
> > > > > used in one of my connections and it was removed, I'm assuming 
> > > > > that connection would no longer work. Correct? It sounds like we 
> > > > > have the option of removing it from the list of available 
> > > > > options, but also removing support completely from OpenVPN. Am I 
> > > > > missing something.
> > > > > 
> > > > 
> > > > This connection will work further even if Blowfish has been
> > > > deleted from the WUIs cipher list it will further appear in the
> > > > server.conf and it is furthermore present in the OpenSSL library
> > > > but the problem will be to change things in the WUI or even to add
> > > > more clients cause by pressing the next time 'save' the
> > > > configuration will be changed (if no other cipher will be set to 
> > > > 'CAMELLIA-256-CBC' will be written to server.conf cause it is
> > > > first in the list) and all other client configurations needs then
> > > > to be adjusted accordingly.
> > > > 
> > > > 
> > > > > 
> > > > > 
> > > > > 
> > > > > Rod
> > > > > 
> > > > > P.S. Sorry about the misunderstanding. Blowfish is fixed at 64. 
> > > > > It is only the key length that is variable. My bad.
> > > > > 
> > > > 
> > > > No problem good that we clear things like that.
> > > > 
> > > > 
> > > > > 
> > > > > 
> > > > > 
> > > > > Rod
> > > > > 
> > > > > On 08/31/2016 06:01 AM, ummeegge wrote:
> > > > > > 
> > > > > > 
> > > > > > Hi all,
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > You say "disable in the list." Would systems currently 
> > > > > > > running these ciphers have to rebuild their certificates? Or 
> > > > > > > would their system continue to run as is, but new 
> > > > > > > configurations would only have the better options available.
> > > > > > 
> > > > > > the systems would run further with these ciphers but it won´t 
> > > > > > be possible to add new clients via WUI without changing the 
> > > > > > cipher and regarding to OpenVPN this means to change all 
> > > > > > configurations cause a OpenVPN instance have no variability 
> > > > > > with ciphers per client.
> > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > If it would break any existing systems, I would prefer to not
> > > > > > > disable it. If there was a way to change the tags in OpenVPN
> > > > > > > to add a DANGER to the label, that would be sufficent. Maybe
> > > > > > > even a link between Encyption: and the dropdown pointing to
> > > > > > > the articles describing the issu e.
> > > > > > > 
> > > > > > > I never like to disallow someone from doing something, 
> > > > > > > especially if it can cause their system to not work after an 
> > > > > > > upgrade. I prefer to warn them, and let them make informed 
> > > > > > > decisions.
> > > > > > 
> > > > > > 
> > > > > > I think this is also a good idea but as far as i can see 
> > > > > > OpenSSL for example will treat DES (triple-des) with version 
> > > > > > 1.1  like RC4 (haven´t seen a similar note with e.g. Blowfish 
> > > > > > ?) --> https://www.openssl.org/blog/blog/2016/08/24/sweet32/> > > > > > So it won´t be compiled by default but you need to activate 
> > > > > > "enable-weak-ssl-ciphers in config options in the new OpenSSL 
> > > > > > version. Whereby OpenSSLs new version might fill another 
> > > > > > discussion round i think cause it seems pretty problematic 
> > > > > > without patching a lot of other software which are linked 
> > > > > > against OpenSSL (e.g. failed builds with OpenSSL-1.1 on Debian 
> > > > > > --> 
> > > > > > https://breakpoint.cc/openssl-1.1-rebuild-2016-08-26/failed/ ),
> > > > > > there seems also to be some strange changes in the API but this
> > > > > > only as a beneath info…
> > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > In my release 104, I see 128 bit as the lowest option. This 
> > > > > > > vulnerability specifically shows that for 64 bit blocks, the
> > > > > > >  problem exists. To successfully attack a 64 bit block, you 
> > > > > > > would only need to generate 32 gig of traffic; definitely 
> > > > > > > reasonable. However, to successfully attack 128 bit blocks 
> > > > > > > requires reading 256 Exobytes, which is unreasonable to
> > > > > > > worry about at this time. I'm assuming I'm reading this
> > > > > > > correctly and BF-CBS (128 bit) actually means it is using 128
> > > > > > > bit blocks.
> > > > > > 
> > > > > > 
> > > > > > I don´t think so, this problem addresses not the key lenght, it
> > > > > > means the fixed-lenght group of bits in the 'block' for these
> > > > > > ciphers e.g. --> 
> > > > > > https://en.wikipedia.org/wiki/Blowfish_(cipher) under 'Cipher 
> > > > > > detail' .
> > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > Finally, OpenVPN 2.4 (still very much in alpha) will support
> > > > > > >  cipher negotiation, where the client and server will 
> > > > > > > dynamically negotiate which cipher to use. Within a short 
> > > > > > > time of its release, the problem will no longer exist since 
> > > > > > > both servers and clients will be able to do behind the
> > > > > > > scenes negotiation.
> > > > > > 
> > > > > > Yes, 2.4. brings some hope per default in that manner beneath 
> > > > > > some other things (ECDH support, …) but who knows when they 
> > > > > > will release it. Longer time ago i integrated the
> > > > > > '--reneg-sec' directive into the WUI for testing purposes which
> > > > > > is pretty similar to '--reneg-bytes' but i left it behind cause
> > > > > > IPFire serves also the "Additional configuration" possibility
> > > > > > so a individual way to adjust both configurations
> > > > > > (client/server) is possible.
> > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > In this case, mainly Windows XP-systems are affected since 
> > > > > > > 3DES was the only "safe" cipher suite they are able to use. 
> > > > > > > Others (RC4, DES) went down the drain a long time ago.
> > > > > > > 
> > > > > > > With Sweet32, it became impossible to use such a system for 
> > > > > > > _any_ secure connection, no matter if its HTTPS, VPN or 
> > > > > > > something else.
> > > > > > 
> > > > > > Not sure about this cause a lot of software ships their own 
> > > > > > crypto libs and do not use the system crypto, for example
> > > > > > while the OpenVPN development time for Core 79 we tested also
> > > > > > Windows XP systems positive with the Camellia cipher (AES too
> > > > > > but also SHA2-512 was ok) --> 
> > > > > > http://forum.ipfire.org/viewtopic.php?f=17&t=10008&start=90#p69221
> > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > .
> > > > > 
> > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > Back to the VPN: It seems like there is a similar problem 
> > > > > > > here, because the (at least in Germany) very popular 
> > > > > > > Fritz!Box by AVM cannot handle IPSec VPNs with AES ciphers 
> > > > > > > (source: 
> > > > > > > http://wiki.ipfire.org/en/configuration/services/ipsec/avm-fritzbo
> > > > > > > x
> > > ).
> > > > 
> > > > 
> > > > > 
> > > > > 
> > > > > 
> > > > > > 
> > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > 
> > > > > 
> > > > > 
> > > > > > 
> > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > Indeed, this is a problem and there are for sure more other 
> > > > > > problematic constellations out there…
> > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > In my humble opinion, removing the 3DES cipher is better. 
> > > > > > > First because it improves the transport security situation, 
> > > > > > > although it cannot be easily exploited. Second, the more
> > > > > > > weak techniques and broken ciphers a legacy system supports
> > > > > > > are disabled on the majority of the servers, the sooner
> > > > > > > people throw the old systems away.
> > > > > > 
> > > > > > I think this is not completely wide of the mark and it does 
> > > > > > remind me a little on the RC4, MD5, SHA1 discussions. In fact 
> > > > > > this problem is known since long time but anyways this ciphers 
> > > > > > are nowadays nevertheless widely used…
> > > > > > 
> > > > > > Another good overview causing this topic can be found also
> > > > > > here --> https://sweet32.info/SWEET32_CCS16.pdf .
> > > > > > 
> > > > > > Some thoughts from here.
> > > > > > 
> > > > > > Greetings,
> > > > > > 
> > > > > > Erik
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > 
> > > > > -- Rod Rodolico Daily Data, Inc. POB 140465 Dallas TX 75214-0465
> > > > >  214.827.2170 http://www.dailydata.net
> > > > > 
> > > > > 
> > > > 
> 
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.ipfire.org/pipermail/development/attachments/20160915/ec86538f/attachment.sig>


More information about the Development mailing list