|
Message-ID: <545CBA3B.3000604@opensource.dyc.edu> Date: Fri, 07 Nov 2014 07:25:31 -0500 From: "Anthony G. Basile" <basile@...nsource.dyc.edu> To: musl@...ts.openwall.com Subject: Re: fixing -fPIE + -fstack-protector-all On 11/06/14 07:36, John Spencer wrote: > Anthony G. Basile wrote: >> On 11/05/14 10:43, Rich Felker wrote: >>> However, this proposed solution breaks one odd corner case: static >>> linking when all the source files were compiled with -fPIC or -fPIE. >>> In that case, there would be no references to __stack_chk_fail, only >>> to __stack_chk_fail_local, and thereby __init_ssp would not get >>> linked, and a zero canary would be used. >> >> I would rather not see this solution. >> > > why ? I want to save that corner case. In gentoo we compile everything pic/pie, even our executables: # readelf -h /bin/bash | grep Type: Type: DYN (Shared object file) This randomizes even the address of main. The following #include <stdio.h> int main() { printf("%p\n", main); } yields 0x61f64b845 0x33fa0b7845 0x189ab51845 0x58531cd845 on successive runs when compiled with our default gcc specs. Along with PaX's enhenced aslr this helps against brute forcing addresses. Compare to when I turn off pie: 0x400605 0x400605 0x400605 Having said that, currently we do not support *static* pic/pie in Gentoo, but I would really like to, especially with musl. Also, I'm not as worried about the GOT for reasons I stated elsewhere. -- Anthony G. Basile, Ph. D. Chair of Information Technology D'Youville College Buffalo, NY 14201 (716) 829-8197
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.