CPU that will not execute data?

CPU that will not execute data?

Secure Home | Search | About
 General Computer Security    Post an article   get this group's latest topics as an RSS feed add this group's latest topics to your My MSN content add this group's latest topics to your My Yahoo content add this group's latest topics to your Google content
Subject Author Date
CPU that will not execute data? peter 09-21-2005
Posted by peter on September 21, 2005, 12:10 pm
If you were  Registered and logged in, you could reply and use other advanced thread options
I remember once reading about new processor design to prevent the CPU from
executing data, thereby eliminating arbitrary code execution in
buffer-overrun attacks.

I haven't heard this idea mentioned for a while. What happens to it? Can
this idea be retrofitted to existing CPUs?




Posted by Casper H.S. Dik on September 21, 2005, 12:33 pm
If you were  Registered and logged in, you could reply and use other advanced thread options

>I remember once reading about new processor design to prevent the CPU from
>executing data, thereby eliminating arbitrary code execution in
>buffer-overrun attacks.

That's not a "new" processor design, it's pretty much "old hat".

Each piece of memory in a system carries with it certain access
bits. For your main stream "two-level" OS, these access rights are:
read, write, execute, user; but not all combinations are possible
in all hardware. The "user" access denotes the ability for ordinary
programs (i.e., not the operating system proper) to access a certain
piece of memory. The smallest useful set of memory controls is a
"write" (read/execute is always allowed) and "user" bit.

A "piece of memory" can be a page or larger (in the 32 bit Intel
architecture, segments also carry protection information)

All main stream CPUs support this in one form or another, but
the IA32 family only supported this on a per-segment basis which makes
it difficult to make use of in practice.

But that changed recently is that AMD and later Intel added per page
execute permission to their memory management so that it is now
easier for OSes on IA32/AMD64 CPUs to run with less memory executable.

Note that this offers only fairly limited protection as often writable
executable areas remain and that exploits can often take advantage
of the executable code already present.

>I haven't heard this idea mentioned for a while. What happens to it? Can
>this idea be retrofitted to existing CPUs?

It cannot be retrofitted to existing CPUs; it can be retrofitted to
existing CPU architectures, as show by AMD's addition of the "NX"
protection.

Casper
--
Expressed in this posting are my opinions. They are in no way related
to opinions held by my employer, Sun Microsystems.
Statements on Sun products included here are not gospel and may
be fiction rather than truth.


Posted by Volker Birk on September 21, 2005, 2:34 pm
If you were  Registered and logged in, you could reply and use other advanced thread options
> I remember once reading about new processor design to prevent the CPU from
> executing data, thereby eliminating arbitrary code execution in
> buffer-overrun attacks.
> I haven't heard this idea mentioned for a while. What happens to it? Can
> this idea be retrofitted to existing CPUs?

Only CPUs in von Neumann architecture have those problems, i.e. computers
with Hardvard architecture don't have such problems at all.

I think, what you're meaning is the idea to prevent the execution of
code in stack segments on CPUs, which have a von Neuman architecture,
like the x86, SPARC, Itanium and so on. I.e. Intel is calling this "NX",
"no execution".

Many CPUs already are supporting this, and some operating systems
support it as well, like some releases of Solaris, OpenBSD, Linux and
Windows.

http://en.wikipedia.org/wiki/NX_bit

Yours,
VB.
--
"Es kann nicht sein, dass die Frustrierten in Rom bestimmen, was in
deutschen Schlafzimmern passiert".
Harald Schmidt zum "Weltjugendtag"


Posted by IndITConsulting.com on October 10, 2005, 8:55 am
If you were  Registered and logged in, you could reply and use other advanced thread options
I got this option turned on in my BIOS on my 32bit Intel M-350 1.3GHz 1Mb L2
Celeron CPU...

Just one more thing that keeps your computer safe... It also helps to have
a robust OS that is well configured.

-tibor


> I remember once reading about new processor design to prevent the CPU from
> executing data, thereby eliminating arbitrary code execution in
> buffer-overrun attacks.
>
> I haven't heard this idea mentioned for a while. What happens to it? Can
> this idea be retrofitted to existing CPUs?
>
>




Similar ThreadsPosted
looking for a way to execute something in higher level acounts. March 24, 2005, 9:14 pm
SSRT5940 rev.0 - HP-UX Mozilla remote, unauthorized user may execute privileged code April 22, 2005, 11:41 am
SSRT5940 rev.1 - HP-UX Mozilla remote, unauthorized user may execute privileged code August 9, 2005, 6:26 pm
SSRT5940 rev.2 - HP-UX Mozilla remote, unauthorized user may execute privileged code October 4, 2005, 9:55 pm
HPSBMA02362 SSRT080044, SSRT080045, SSRT080042 rev.2 - HP OpenView Network Node Manager (OV NNM), Remote Denial of Service (DoS), Execute Arbitrary Code October 9, 2008, 8:27 am
HPSBMA02328 SSRT071293 rev.2 - HP OpenView Network Node Manager (OV NNM) Running Apache, Remote Cross Site Scripting (XSS), Denial of Service (DoS), Execute Arbitrary Code April 17, 2008, 10:46 am
Data Recovery November 28, 2004, 12:06 pm
data security July 19, 2005, 2:39 pm
Securing tcp data November 10, 2005, 2:51 pm
Serious level HDD data protection May 11, 2004, 2:40 am

The site map in XML format XML site map

Contact Us | Privacy Policy