1 |
On Sun, 2006-08-06 at 13:17 +0200, Peter S. Mazinger wrote: |
2 |
> On Mon, 31 Jul 2006, Ned Ludd wrote: |
3 |
> |
4 |
> > On Mon, 2006-07-31 at 20:33 +0200, pageexec@××××××××.hu wrote: |
5 |
> > > On 31 Jul 2006 at 11:28, Ned Ludd wrote: |
6 |
> > > > gcc-4.x and hardened are not in the works.. |
7 |
> > > > We are undecided at this time how much we wish to pursue that avenue. |
8 |
> > > |
9 |
> > > which part of hardened gcc is in question? i'd think that at least |
10 |
> > > PIE/RELRO/BIND_NOW are as easy to support as in 3.x. |
11 |
> > |
12 |
> > Yes these would be pretty trivial to do. |
13 |
> > |
14 |
> > > ssp may or may |
15 |
> > > not be a good idea given how new the 4.x series is, but as Mike said, |
16 |
> > > at least there's an eager upstream to fix any issues. |
17 |
> |
18 |
> toolchain.eclass misses the needed support for gcc-4.1 like ssp |
19 |
> |
20 |
> > I think the major problem we are facing here is how to cleanly upgrade |
21 |
> > from 3.x to 4.x. symbol names have changed. And using the stub/aliases |
22 |
> > method Peter used in uClibc svn allows the __guard to be overwritten. |
23 |
> |
24 |
> How can __guard be overwritten, it is even marked with attribute_relro? |
25 |
|
26 |
We tested and talked about this before peter.. |
27 |
None the less here is a simple testcase for you. |
28 |
|
29 |
extern unsigned long __guard; |
30 |
|
31 |
void fail() { |
32 |
__guard = 0; |
33 |
} |
34 |
|
35 |
int main() { |
36 |
puts("This should fail"); |
37 |
fail(); |
38 |
puts("This should not be reached"); |
39 |
return 0; |
40 |
} |
41 |
|
42 |
|
43 |
./guardtest |
44 |
This should fail |
45 |
main: stack smashing attack in function fail() |
46 |
Aborted |
47 |
|
48 |
You results should be similar. |
49 |
|
50 |
|
51 |
-- |
52 |
Ned Ludd <solar@g.o> |
53 |
Gentoo Linux |
54 |
|
55 |
-- |
56 |
gentoo-hardened@g.o mailing list |