[Gpg4win-devel] Lack of ASLR/DEP in gpg4win

Bernhard Reiter bernhard at intevation.de
Tue Sep 7 14:54:07 CEST 2010


Hi anomie,

Am Montag, 6. September 2010 22:19:17 schrieb anomie eimona:
> Thank you for the great work in maintaining GPG for Windows. 

you are welcome! Thanks for your feedback! :)

> I had one 
> concern, none of the binaries in gpg4win are compiled with support for ASLR
> or DEP-- is there a reason for this? 

No particular reason as far as I know.

Our target platforms have been Window XP and "Data Execution Prevention"
needs the "address space layout randomization" to be effective I've heard.
According to what I've read this was introduced by Microsoft with 
Windows Vista. So this might just be historic. Note also that we
usually crosscompile the windows binaries, so we would need to have
support in our compiler tool chain for this, I guess.

> It seems like it would be a good idea 
> to have these technologies enabled for gpg4win since this is a
> security application and the loss of a private key is a critical security
> failure. I know that ASLR|DEP technologies are not a panacea for memory
> corruption bugs, but they do hinder exploitation and  a single application
> crash from an unreliable exploit can lead to the discovery of the
> attack/vulnerability. These technologies make me feel a little (not a lot)
> safer and I would love to see the next version compiled with ASLR|DEP.

It sounds like a good idea. I do not know how much work it would be, though,
and if it would be worth the effort.

Consider that the security architecture of Gnupg makes it quite difficult to 
exploit defects from the remote. The general separation of processes and tasks
can be found here: http://gnupg.org/aegypten/tech.en.html 
As you can see from the diagramm, only the right hand boxed components do have 
access to the secret key. The OpenPGP and S/MIME frontends communicate over
a thin protocol called Assuan between each other and are in seperate 
processes. As Gpg-agent is small and does not get much input from outside,
overflow attacks will be quite hard. I would worry a lot more for the rest
of the system that might attack the stored key on disk once the system
has been broken via other components. So using a smartcard seems to be the 
best approach, if you really care for your secret keys. ;)

Best,
Bernhard


-- 
Managing Director - Owner: www.intevation.net       (Free Software Company)
Deputy Coordinator Germany: fsfe.org. Board member: www.kolabsys.com.
Intevation GmbH, Osnabrück, DE; Amtsgericht Osnabrück, HRB 18998
Geschäftsführer Frank Koormann, Bernhard Reiter, Dr. Jan-Oliver Wagner
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
Url : http://lists.wald.intevation.org/pipermail/gpg4win-devel/attachments/20100907/fb182f0e/attachment.pgp


More information about the Gpg4win-devel mailing list