Earlier quoted context omitted.
In userland, the DISCARDABLE and MOVABLE flags date back at least to Windows 3. Not sure about the kernel.
That would have been a different file format though, right?
W^X policy violation affects Windows drivers compiled in VS 2013 and previous
21–30 of 30 posts
Re: W^X policy violation affects Windows drivers compiled in VS 2013 and previous
#22W^X policy??
Writable exclusive OR eXecutable policy, applied to memory pages it makes memory safety bugs a lot harder to exploit, as an attacker can't simply load an executable payload (typically, shellcode) in the address space of the exploited program and jump to it...
Re: W^X policy violation affects Windows drivers compiled in VS 2013 and previous
#23Earlier quoted context omitted.
That would have been a different file format though, right?
Yes, but the point is that movable/discardable flags are an old-school hack that probably shouldn't have made it into modern binary file formats to begin with.
Re: W^X policy violation affects Windows drivers compiled in VS 2013 and previous
#24W^X policy??
Writable exclusive OR eXecutable policy, applied to memory pages it makes memory safety bugs a lot harder to exploit, as an attacker can't simply load an executable payload (typically, shellcode) in the address space of the exploited program and jump to it...
Very interesting read on how this works in practice: https://www.corelan.be/index.php/2010/06/16/exploit-writing-...
Re: W^X policy violation affects Windows drivers compiled in VS 2013 and previous
#25Earlier quoted context omitted.
Writable exclusive OR eXecutable policy, applied to memory pages it makes memory safety bugs a lot harder to exploit, as an attacker can't simply load an executable payload (typically, shellcode) in the address space of the exploited program and jump to it...
Just to emphasize (be picky): Logically it is exclusive or (XOR), not inclusive (OR). That is either write or execute, but not both.
Re: W^X policy violation affects Windows drivers compiled in VS 2013 and previous
#26Earlier quoted context omitted.
The whole DISCARDABLE thing was a relic of pre-NT versions of Windows, back when people were just beginning to realize that 640K was not, in fact, enough for everybody. I'm surprised the kernel pays any attention to it at all anymore. There's not much upside to paging memory associated with drivers in and out. Certainly not worth the additional attack surface that you get by making things more complicated than necess…
Pre-NT? Are you sure? My understanding of history is that the PE file format was part of NT 3. I would have thought that earlier systems kept as much paged as possible, but maybe that's wrong. Maybe it's not worth it any more. My phone has 8GB of memory. I do remember a time when you could boot Windows XP on a system with 64MB of RAM when you needed special configuration / custom kernels to boot Linux on such a syste…
No, you're misremembering. A Linux kernel has never needed anywhere near that much RAM to boot. The first machine I used Linux on had 8MB RAM and that was considered plenty at the time. I do remember KDE being pretty slow on a machine with 64MB...maybe you're thinking of desktop environments.
Re: W^X policy violation affects Windows drivers compiled in VS 2013 and previous
#27Earlier quoted context omitted.
Pre-NT? Are you sure? My understanding of history is that the PE file format was part of NT 3. I would have thought that earlier systems kept as much paged as possible, but maybe that's wrong. Maybe it's not worth it any more. My phone has 8GB of memory. I do remember a time when you could boot Windows XP on a system with 64MB of RAM when you needed special configuration / custom kernels to boot Linux on such a syste…
> I do remember a time when you could boot Windows XP on a system with 64MB of RAM when you needed special configuration / custom kernels to boot Linux on such a system. No, you're misremembering. A Linux kernel has never needed anywhere near that much RAM to boot. The first machine I used Linux on had 8MB RAM and that was considered plenty at the time. I do remember KDE being pretty slow on a machine with 64MB...may…
Re: W^X policy violation affects Windows drivers compiled in VS 2013 and previous
#28Earlier quoted context omitted.
Pre-NT? Are you sure? My understanding of history is that the PE file format was part of NT 3. I would have thought that earlier systems kept as much paged as possible, but maybe that's wrong. Maybe it's not worth it any more. My phone has 8GB of memory. I do remember a time when you could boot Windows XP on a system with 64MB of RAM when you needed special configuration / custom kernels to boot Linux on such a syste…
> I do remember a time when you could boot Windows XP on a system with 64MB of RAM when you needed special configuration / custom kernels to boot Linux on such a system. No, you're misremembering. A Linux kernel has never needed anywhere near that much RAM to boot. The first machine I used Linux on had 8MB RAM and that was considered plenty at the time. I do remember KDE being pretty slow on a machine with 64MB...may…
Re: W^X policy violation affects Windows drivers compiled in VS 2013 and previous
#29Re: W^X policy violation affects Windows drivers compiled in VS 2013 and previous
#30Earlier quoted context omitted.
> I do remember a time when you could boot Windows XP on a system with 64MB of RAM when you needed special configuration / custom kernels to boot Linux on such a system. No, you're misremembering. A Linux kernel has never needed anywhere near that much RAM to boot. The first machine I used Linux on had 8MB RAM and that was considered plenty at the time. I do remember KDE being pretty slow on a machine with 64MB...may…
Yep. The smallest I've seen IIRC was a 386 with 4MB running X11 back around 1998. Took a good time to boot and start X11, but it did work.
I remember a custom kernel compile on this machine took a little over 24 hours. :-/