[RFC] Windows XP Service Pack 2

Hi,

unter http://www.microsoft.com/technet/prodtechnol/winxppr… ist ja nun die Technical Preview des SP2 zu finden (CAVE: Das ist von M$ noch nicht für Produktionsumgebungen freigegeben.)

Ein paar Sätze aus der Beschreibung unter http://www.microsoft.com/technet/prodtechnol/winxppr… möchte ich gerne zur Dikussion stellen:

_" Overview of Service Pack 2 for Windows XP Security Technologies

Many customers do not or cannot roll out security updates as soon as they become available, but still need to be protected against the risks that these security updates are designed to mitigate. (…) However, Microsoft is delivering other security technologies that provide additional mitigation when a security update cannot be deployed immediately. These security technologies cover the following areas:"_

Find ich ja schonmal geil, daß Microsoft das so hinnimmt und auch noch als „normal“ hinstellt, daß Patches und Updates nicht zeitnah eingespielt werden. Merkwürdige Sicherheitsstrategie, die die da unterstützen. Na mal schauen, was sie da für Leckerlies haben…

_ Network protection.
These security technologies help to provide better protection against network-based attacks, like MSBlaster, through a number of innovations, including enhancements to Windows Firewall. The enhancements include turning on Windows Firewall in default installations of Service Pack 2, closing ports except when they are in use,(…)_

Kann mir mal bitte jemand erklären, was es zu bedeuten hat, daß Ports geschlossen werden, ausgenommen, sie werden benutzt?

_ Memory protection.
Some attacks by malicious software leverage software security vulnerabilities that allow too much data to be copied into areas of the computer’s memory. These vulnerabilities are typically referred to as buffer overruns. Although no single technique can completely eliminate this type of vulnerability, Microsoft is employing a number of security technologies to mitigate these attacks from different angles.

First, core Windows components have been recompiled with the most recent version of our compiler technology._

Oh wow. Was genau bedeutet das? Ich bin kein Programmierer, kann mir vielleicht jemand der codenden Zunft erklären, ob dadurch signifikante Verbesserungen im Hinblick auf Buffer Overflow Protection zu erwarten sind? Kommen Buffer Overflows üblicherweise nicht durch schlechte Programmierung zustande denn durch Compilerschwächen?

Additionally, Microsoft is working with microprocessor companies to help Windows support hardware-enforced execution protection (also known as NX, or no execute) on microprocessors that contain the feature. Execution protection uses the CPU to mark all memory locations in an application as non-executable unless the location explicitly contains executable code. This way, when an attacking worm or virus inserts program code into a portion of memory marked for data only, an application or Windows component will not run it.

Das muss ja auch irgendwo stehen, daß bestimmte Bereiche „non executable“ sind, richtig? Ich vermute mal, irgendwo im Ram, richtig? Oder sind dafür extra Register vorgesehen? Welche Prozessoren unterstützen das denn? Ist das überhaupt etwas, was mit den Maschinen, die heute so im Einsatz sind, ein Thema ist? Wenn das irgendwo im RAM steht, könnte man genau diese Bereiche ja auch böserweise überschreiben und *schwups* isser hin, der Schutz, oder?

_ Safer e-mail handling.
Security technologies help to stop viruses (such as SoBig.F) that spread through e-mail and instant messaging. These technologies include default settings that are more secure,_

Was genau heisst das? Ich bin nicht gewillt, dafür extra ne Maschine fertig zu machen, um das zu checken, kann das jemand verifizieren, der diese Produkte eh einsetzt?

improved attachment control for Outlook Express and Windows Messenger, and increased Outlook Express security and reliability. As a result, potentially unsafe attachments that are sent through e-mail and instant messages are isolated so that they cannot affect other parts of the system.

Nach welchen kriterien passiert denn das, und in welcher Form kann (und wird :frowning:) der User diese isolierten Inhalte befreien? Inwiefern stellt das einen zusätzlichen Schutz dar? Wer vorher auf ne .pif geklickt hat, wird’s jetzt auch tun, oder nicht?

_ Improved computer maintenance.
A very important part of any security plan is keeping computers updated with the latest software and security updates. You must also ensure that you have current knowledge of security attacks and trends._

Ach, jetzt auf einmal doch?

For example, some software updates that mitigated known viruses and worms were available before any significant attacks began.

„Some“ halte ich für sehr optimistisch ausgedrückt… Die Reaktionszeiten sind ja bekanntlich eher mies bis nicht vorhanden.

_ Windows Firewall
Windows Firewall is turned on by default for all network interfaces. This provides more network protection by default for Windows XP on new installations and upgrades.

(…)

Prior to Service Pack 2 for Windows XP, Windows XP shipped with Windows Firewall disabled by default. The user either needed to run a wizard or navigate through the Network Connections folder to manually enable Windows Firewall. This experience proved too difficult for many users, and resulted in many computers not having any firewall protection.

After installing Service Pack 2 for Windows XP, Windows Firewall is enabled by default. This might break application compatibility if the application does not work with stateful filtering by default. It may also conflict with other active software and hardware firewalls._

Na super. Die Konfiguration wird dem Nutzer nicht zugetraut, aber das Ding wird erstmal einfach aktiviert, Anwendungs- und Netzwerkprobleme werden damit sehenden Auges in Kauf genommen. Da können wir uns ja auf traumhafte Artikelschwemmen in nächster Zeit hier einstellen. Vielleicht sollte man jetzt schon eine dicke Überschrift hier installieren: „Bei Problemen: Immer erst die Windows Firewall ausschalten, sonst bitte nicht fragen.“.

_ Boot time security
In earlier versions of Windows, there is a window of time between when the network stack was running and when Windows Firewall provides protection. This results in the ability for a packet to be received and delivered to a service without Windows Firewall filtering and potentially exposes the computer to vulnerabilities.

In Service Pack 2 for Windows XP, the firewall driver has a static rule to perform stateful filtering. This static rule is called a boot-time policy. This allows the computer to perform basic networking tasks such as DNS and DHCP and communicate with a domain controller to obtain policy. Once the firewall service is running, it loads and applies the run-time policy and removes the boot-time filters. The boot-time policy cannot be configured._

Klint nach nem dirty hack, um Schwächen im Bootkonzept zu fixen, aber gut, grundsätzlich ja keine verkehrte Sache. Nur… Was mach ich, wenn ich das nicht haben will???

_ Global configuration
In earlier versions of Windows, Windows Firewall was configured on a per-interface basis. This meant that each network connection had its own firewall policy (for example, policy1 for wireless, policy2 for Ethernet)._

Das gehört sich doch auch eigentlich so, oder?

With global configuration, whenever a configuration change occurs, it applies to all network connections. This includes new connections, when they are created. Configuration can still be performed on a per-interface basis as well. Non-standard network connections will only have global configuration. Configuration changes also apply to both IPv4 and IPv6.

Na super. Ich kann also noch nicht mal jedes Interface so konfigurieren, wie ich das für richtig halte? IPv4 und IPv6 (okay, wer setzt das schon ein, aber trotzdem…) darf ich auch nicht differenzieren?

_ Windows Firewall Exceptions List
Some applications act as both network clients and servers. When they act as servers, they need to allow unsolicited inbound traffic to come in, because they do not know who the peer will be ahead of time.

(…)

In Service Pack 2 for Windows XP, an application that needs to listen to the network can be added to the Windows Firewall exceptions list. If an application is on the Windows Firewall exceptions list, Windows opens the necessary port automatically, regardless of the application’s security context.

An application can be placed on the Windows Firewall exceptions list in three ways.

First, it can be added programmatically by the application. It is recommended that ISVs place their application on the Windows Firewall exceptions list during installation._

Ich glaub das jetzt nicht, oder? Eine Anwendung kann also selbsttätig aus sich selbst heraus Löcher in die Firewall stanzen, ja? Kann mir mal jemand erklären, wofür ich dann überhaupt noch ne Firewall brauchen soll? Was macht die denn noch großartig?

Alles in allem irgendwie nicht so überzeugend. Na, immerhin kann der IE jetzt auch Popups blocke - Jahre, nachdem die besseren Browser das eingeführt haben.

Eure Meinungen interessieren mich - besonders die von jenen, die das alles ganz anders sehen als ich.

Grüße,

Malte.

Kann mir mal bitte jemand erklären, was es zu bedeuten hat,
daß Ports geschlossen werden, ausgenommen, sie werden benutzt?

Möglicherweise kann man unter Windows auch nicht genutzte Ports
angreifen :wink: Microsoft hat schon vieles programtechnisch möglich
gemacht, was man vorher nie zu träumen gewagt hätte…

Na super. Die Konfiguration wird dem Nutzer nicht zugetraut,
aber das Ding wird erstmal einfach aktiviert, Anwendungs- und
Netzwerkprobleme werden damit sehenden Auges in Kauf genommen.

Ich halte diese Vorgehensweise für die einzige praktikable. Wäre die
Firewall by default aktiviert gewesen, hätte es beispielsweise keinen
Blaster gegeben. Und ich bin sicher, dass das für die meisten
Anwender (non-Tekkies) die richtige Einstellung ist.

Da können wir uns ja auf traumhafte Artikelschwemmen in
nächster Zeit hier einstellen.

Nun ja, das glaube ich auch. Trotzdem ist die richtige default-
Einstellung für den durchschnittlichen Anwender, jeden SYN aus dem
Internet zurückzuweisen - wer sich besser auskennt, kann das ja
abschalten.

Na super. Ich kann also noch nicht mal jedes Interface so
konfigurieren, wie ich das für richtig halte?

So wie ich es verstanden habe, kannst du das nachträglich machen.

Ich glaub das jetzt nicht, oder? Eine Anwendung kann also
selbsttätig aus sich selbst heraus Löcher in die Firewall
stanzen, ja?

Tja, das steht da tatsächlich. Programme dürfen die Firewall
automatisch deaktivieren. Immerhin werden aber noch die geschlossenen
Ports bewacht :wink:

Kann mir mal jemand erklären, wofür ich dann
überhaupt noch ne Firewall brauchen soll?

Weil es heutzutage modern ist, eine zu haben?

Was macht die denn noch großartig?

Ärger.

Stefan

hi Malte von dem Hagen,

(CAVE: Das ist von M$ noch nicht für Produktionsumgebungen
freigegeben.)

was heißt das??
und noch etwas, du bist bestimmt ein experte in ganz vielen dingen (zumindest in englisch ;o}). leider sind meine englischkenntnisse nicht mal annähernd so gut und ich denke, dass auch vielleicht einige andere user nicht gerade perfekt englisch können.
na ja,nix für ungut, gibts das ganze irgendwo auf deutsch?
gruß
frank

ps: bitte nicht böse über meine frage sein!!

Hallo Frank,

(CAVE: Das ist von M$ noch nicht für Produktionsumgebungen
freigegeben.)

was heißt das??

Das heisst:

„Achtung! Dies ist eine Vorabversion, es wird nicht empfohlen, sie außer zu Testzwecken zu benutzen!“

und noch etwas, du bist bestimmt ein experte in ganz vielen
dingen (zumindest in englisch ;o}). leider sind meine
englischkenntnisse nicht mal annähernd so gut und ich denke,
dass auch vielleicht einige andere user nicht gerade perfekt
englisch können.
na ja,nix für ungut, gibts das ganze irgendwo auf deutsch?

Ich glaube nicht. Ich hab jedenfalls auf die Schnelle leider nichts gefunden, osrry.

ps: bitte nicht böse über meine frage sein!!

Böse? Warum sollte ich…

Grüße,

Malte.

Hallo Malte,

_ Network protection.
These security technologies help to provide better protection
against network-based attacks, like MSBlaster, through a
number of innovations, including enhancements to Windows
Firewall. The enhancements include turning on Windows Firewall
in default installations of Service Pack 2, closing ports
except when they are in use,(…)_

Kann mir mal bitte jemand erklären, was es zu bedeuten hat,
daß Ports geschlossen werden, ausgenommen, sie werden benutzt?

Da kann ich auch nur etwas rumraten:
Blaster verwendet ein Port welches für DCOM verwendetet wird, also wenn man ActiveX-Componenten, welche auf mehreren Computern verteilt laufen, verwendet. Default war, dass diese Teile unter Windows installiert und gestartet wurden.
Aber welcher Heimanwender benutzt so etwas schon ?

First, core Windows components have been recompiled with the
most recent version of our compiler technology.

Oh wow. Was genau bedeutet das? Ich bin kein Programmierer,
kann mir vielleicht jemand der codenden Zunft erklären, ob
dadurch signifikante Verbesserungen im Hinblick auf Buffer
Overflow Protection zu erwarten sind? Kommen Buffer Overflows
üblicherweise nicht durch schlechte Programmierung zustande
denn durch Compilerschwächen?

Das ist eine Frage der Programmiersprache und der von ihr verwendeten Datenstrukturen.

BASIC verwendet normalerweise für Variablen eine Datenstruktur bei welcher der Datentyp und die Grösse des reservierten Speicherplatzes mit abgelegt wird. Dadurch erkennt der Interpreter eine Bufferoverrun und kann darauf reagieren.
In C ist das normalerweise der Job des Programmierers.
Nun kann man einen C-Compiler, oder die verwendeten Bibliotheken, dahingehend verändern, dass die die Grösse des reservierten Speicherplatzes beim Copieren überprüft wird. Solche Mechanismen werden schon lange bei der Debug-Version (als Compilereinstellung) angewandt z.B. Stackoverflow-Überwachung. Bi der Retail-Version werden dann diese Überwachungsfunktionen entfern um etwas kleineren und vor allem schnelleren Code zu erhalten.

Additionally, Microsoft is working with microprocessor
companies to help Windows support hardware-enforced execution
protection (also known as NX, or no execute) on
microprocessors that contain the feature. Execution protection
uses the CPU to mark all memory locations in an application as
non-executable unless the location explicitly contains
executable code. This way, when an attacking worm or virus
inserts program code into a portion of memory marked for data
only, an application or Windows component will not run it.

Das muss ja auch irgendwo stehen, daß bestimmte Bereiche „non
executable“ sind, richtig?

Richtig.

Ich vermute mal, irgendwo im Ram,
richtig?

Auch richtig.

Oder sind dafür extra Register vorgesehen?

JA.

Welche
Prozessoren unterstützen das denn?
Ist das überhaupt etwas,
was mit den Maschinen, die heute so im Einsatz sind, ein Thema
ist?

So etwas wird bei Intel seit dem 80286, im Protected-Mode von der Hardware (CPU) unterstüzt, MS hat diese features aber nicht verwendet !!
Bei Grossrechnern gibt es das schon etwas länger…

Wenn das irgendwo im RAM steht, könnte man genau diese
Bereiche ja auch böserweise überschreiben und *schwups* isser
hin, der Schutz, oder?

Nö, wenn man das richtig verwaltet nicht.
Also mal bezogen auf Intel CPUs ab 386, und das Flat-Mode:
Zuerst einmal gibt es 4 Rings (bezieht sich auf die Kreisdarstellung [Schalen] der verschiedenen Komponenten eines Betriebssystems. Der innerste Kreis ist der Kernel, darum kommt dann der Ring mit den Treibern usw.)

Ring0 hat Zugriff auf den ganzen Speicher und die Speicherverwaltung und auf dieser Ebene läuft normalerweise der Kernel. Auf dieser Ebene sind auch alle CPU-Befehle ausführbar.
Ring3 hat dann die meisten beschränkungen, sofern das von Ring0 aus richtig verwaltet wird. Es sind auch nicht alle CPU-Befehle ausführbar.

Die Speicherverwaltung legt einen Deskriptor-Block für jeden Task im RAM an, in welchem der dem Task zugeteilten physikalischen Speicherbereiche angegeben sind und zu welchen logischen Adressen sie gehören. Hier ist es auch möglich anzugeben ob einzelne Speicherbereiche gelesen, beschrieben und als Code ausgeführt werden dürfen.
Natürlich ist dieser Speicherblock, wenn man es richtig macht, dem entsprechenden Task nicht zugänglich, da er ja nur auf seine logischen Adressen zugreiffen kann.

Der Wechsel von einem Ring mit niedriger Priorität (Ring) zu einer höheren erfolt über s.g Gates. Das sind spezielle Einsprungadressen, welche dann einen entsprechenden Kontextwechsel vornehmen.

Wenn man das bis hierhin richtig macht, muss ein Virus die richtigen Kernel-Dateien modifizieren um dann bei einem Neustart aktiv werden zu können. Bei einem richtig verwaltetem System ist das aber nur möglich wenn der Infektions-Teil des Virus unter Administratoren-Rechten ausgeführt wird. Zumindest früher war das der Job von Trojanern.

improved attachment control for Outlook Express and Windows
Messenger, and increased Outlook Express security and
reliability. As a result, potentially unsafe attachments that
are sent through e-mail and instant messages are isolated so
that they cannot affect other parts of the system.

Nach welchen kriterien passiert denn das, und in welcher Form
kann (und wird :frowning:) der User diese isolierten Inhalte
befreien? Inwiefern stellt das einen zusätzlichen Schutz dar?
Wer vorher auf ne .pif geklickt hat, wird’s jetzt auch tun,
oder nicht?

Für Outlook 97 oder 98 gab es einen Patch, bei späteren Versionen war das von ANfang an dabei, dass man durch einen Registry-Eintrag Anhänge mit bestimmten Datei-Extensions sperren kann. Du bekommst dann bei ansicht der E-Mail nur einen Hinweis, dass der Dateianhang „yxz.pif“ nicht geöffnet werden kann. (Siehe FAQ:692).

_ Improved computer maintenance.
A very important part of any security plan is keeping
computers updated with the latest software and security
updates. You must also ensure that you have current knowledge
of security attacks and trends._

Ach, jetzt auf einmal doch?

Das sollte eigentlich keinen Fachmann erstaunen, oder glaubst du alles was in der Werbung erzählt wird ??

_ Windows Firewall
Windows Firewall is turned on by default for all network
interfaces. This provides more network protection by default
for Windows XP on new installations and upgrades.

(…)

Na super. Die Konfiguration wird dem Nutzer nicht zugetraut,
aber das Ding wird erstmal einfach aktiviert, Anwendungs- und
Netzwerkprobleme werden damit sehenden Auges in Kauf genommen.
Da können wir uns ja auf traumhafte Artikelschwemmen in
nächster Zeit hier einstellen. Vielleicht sollte man jetzt
schon eine dicke Überschrift hier installieren: „Bei
Problemen: Immer erst die Windows Firewall ausschalten, sonst
bitte nicht fragen.“._

Grundsätzlich gibt es zwei extreme Positionen was Default-Sicherheitseinstellungen betrifft:

  1. Alles offen lassen, der User muss dann alles was er sperren willselber konfigurieren.
    Das macht dem Hersteller am wenigsten Umtriebe und die Werbeversprechung „einfach Einschalten und loslegen“ funktioniert. Die Probleme kommen dann erst später, weil irgendeiner deine ganze Buchhaltung von deinem Computer heruntergeladen hat (dazu wurden ja schon einige Stichproben im Fernsehen gezeigt).

  2. Alles ist dicht, der User muss also alle Dienste die er, bzw. seine Software, benötigt erst freischalten.
    Dies gibt viele Rückfragen beim Hersteller, besonders weil die meisten User die Bedienungsanleitungen erst gar nicht lesen. Hinzu kommt halt auch, dass man z.B. eine Firewall nur konfigurieren kann, wenn man weiss was ein Port ist und welche Ports wozu verwendet werden.
    Hier rächen sich jetzt die ganzen Werbeslogans, ohne zu wissen was man tut muss man halt die Finger davon lassen oder sich an einen Fachmann wenden !!

_ Boot time security
In earlier versions of Windows, there is a window of time
between when the network stack was running and when Windows
Firewall provides protection. This results in the ability for
a packet to be received and delivered to a service without
Windows Firewall filtering and potentially exposes the
computer to vulnerabilities.

In Service Pack 2 for Windows XP, the firewall driver has a
static rule to perform stateful filtering. This static rule is
called a boot-time policy. This allows the computer to perform
basic networking tasks such as DNS and DHCP and communicate
with a domain controller to obtain policy. Once the firewall
service is running, it loads and applies the run-time policy
and removes the boot-time filters. The boot-time policy
cannot be configured._

Klint nach nem dirty hack, um Schwächen im Bootkonzept zu
fixen, aber gut, grundsätzlich ja keine verkehrte Sache.
Nur… Was mach ich, wenn ich das nicht haben will???

Eigentlich sollte das Bootkonzept aber so sein.
Entweder verwendest du fixe IPs oder DHCP. Bevor der IP-Stack durch den DHCP komplett konfiguriert wurde und die Firewall gestartet hat, sollte es keine Möglichkeit geben irgendwelche Ports zu öffnen (eigentlich bringt dir ja nicht einmal ein Ping etwas, wenn die IP-Adresse noch gar nicht festgelegt wurde).

_ Global configuration
In earlier versions of Windows, Windows Firewall was
configured on a per-interface basis. This meant that each
network connection had its own firewall policy (for example,
policy1 for wireless, policy2 for Ethernet)._

Das gehört sich doch auch eigentlich so, oder?

Finde ich eigentlich auch !

With global configuration, whenever a configuration change
occurs, it applies to all network connections. This includes
new connections, when they are created. Configuration can
still be performed on a per-interface basis as well.
Non-standard network connections will only have global
configuration. Configuration changes also apply to both
IPv4 and IPv6.

Na super. Ich kann also noch nicht mal jedes Interface so
konfigurieren, wie ich das für richtig halte? IPv4 und IPv6
(okay, wer setzt das schon ein, aber trotzdem…) darf ich
auch nicht differenzieren?

Wen MS bestimmt dass das ein Standard-Dienst ist, darfst du das schon für jede Verbindung einzeln konfigurieren …

Ist aber besonders Schei… wenn du einen Rechner als Gateway einsetzt und den z.B. über das Intranet, mit einer eigenen Software steuern willst, dann muss man das Port nach Aussen auch freischalten ???
Wo bleibt hier jetzt die Sicherheit ???

_ Windows Firewall Exceptions List
Some applications act as both network clients and servers.
When they act as servers, they need to allow unsolicited
inbound traffic to come in, because they do not know who the
peer will be ahead of time.

(…)

In Service Pack 2 for Windows XP, an application that needs to
listen to the network can be added to the Windows Firewall
exceptions list. If an application is on the Windows Firewall
exceptions list, Windows opens the necessary port
automatically, regardless of the application’s security
context.

An application can be placed on the Windows Firewall
exceptions list in three ways.

First, it can be added programmatically by the application.
It is recommended that ISVs place their application on the
Windows Firewall exceptions list during installation._

Ich glaub das jetzt nicht, oder? Eine Anwendung kann also
selbsttätig aus sich selbst heraus Löcher in die Firewall
stanzen, ja? Kann mir mal jemand erklären, wofür ich dann
überhaupt noch ne Firewall brauchen soll? Was macht die denn
noch großartig?

Dieses Feature schont im ersten Schritt die Hotline !
Der nächste Schritt wird wohl sein, dass dies nur noch funktioniert wenn man das entsprechende Programm bei MS testen lässt (wird wohl nicht gratis sein…), so wie das bei den Treibern schon der Fall ist.

Alles in allem irgendwie nicht so überzeugend. Na, immerhin
kann der IE jetzt auch Popups blocke - Jahre, nachdem die
besseren Browser das eingeführt haben.

Kannst du mir irgendetwas von MS nennen (mal abgesehen von Bugs und Sicherheitslöchern) was von MS als Neuerung bezeichnet wird, was andere Systeme nicht schon lange vorher, und meist besser, hatten ??

MfG Peter(TOO)

First, core Windows components have been recompiled with the
most recent version of our compiler technology.

Oh wow. Was genau bedeutet das? Ich bin kein Programmierer,
kann mir vielleicht jemand der codenden Zunft erklären, ob
dadurch signifikante Verbesserungen im Hinblick auf Buffer
Overflow Protection zu erwarten sind? Kommen Buffer Overflows
üblicherweise nicht durch schlechte Programmierung zustande
denn durch Compilerschwächen?

Hallo Malte!

Schau Dir mal den folgenden c’t Artikel an:
Innere Sicherheit
Laufzeitprüfungen von Visual C++ Version 7
c’t 10/2004, Seite 222ff

Ist nur eine Vermutung, aber möglicherweise haben diese Ergänzungen am Compiler etwas mit den neu kompilierten Systemroutinen zu tun.

Der VC++ 7 Compiler verfügt über Optionen, die es u.a. ermöglichen, in der Produktionsversion des Compilats (keine Debug-Parameter) zu prüfen, ob eine lokale Variable (z.B. eine Rücksprungadresse) überschrieben wurde. Dazu werden lokale Variablen mit einem Bitmuster umgeben. Bei Funktionsende wird geprüft, ob dieses Bitmuster noch intakt ist. Ein nicht intaktes Bitmuster weist auf eine überschriebene Variable hin.

Diese Prüfung wird für die x86 Architektur angeboten. Für IA64 erübrigt sie sich:

Aber tatsächlich nimmt die IA-64-Architektur eine Sonderrolle ein, denn bei einem Funktionsaufruf landet die Rücksprungadresse in dem Branch-Register b0 und wird bei Bedarf in ein anderes Prozessorregister gerettet, das als Teil der Register-Stack-Engine (RSE) verwaltet wird. Beide Fälle sind prozessorintern gespeichert und nicht über eine Speicheradresse ansprechbar. Die Rücksprungadresse kann also tatsächlich nicht überschrieben werden, IA-64 ist daher gegen diese spezielle Art des Buffer Overflow gefeit.

CU
Markus

na ja,nix für ungut, gibts das ganze irgendwo auf deutsch?

Nicht den von Malte zitierten Originaltext, aber einen Artikel, der das SP2 ausführlich beleuchtet und auf im wesentlichen alle von Malte genannten Punkte eingeht: http://www.heise.de/security/artikel/44462/

Gruss,
Schorsch

Additionally, Microsoft is working with microprocessor
companies to help Windows support hardware-enforced execution
protection (also known as NX, or no execute) on

[…]

Ist das überhaupt etwas,
was mit den Maschinen, die heute so im Einsatz sind, ein Thema
ist?

So etwas wird bei Intel seit dem 80286, im Protected-Mode von
der Hardware (CPU) unterstüzt, MS hat diese features aber
nicht verwendet !!
Bei Grossrechnern gibt es das schon etwas länger…

Ich schätze, dass du da den Protected Mode und Non executable Memory verwechselst. Laut http://www.heise.de/security/artikel/44462/3 wird Execution Protection lediglich von den 64 bit-Architekturen von AMD und Intel unterstützt und kann auch dort nur auf speziell für diese Prozessoren kompilierten Code seine Stärken voll ausspielen.

Wenn das irgendwo im RAM steht, könnte man genau diese
Bereiche ja auch böserweise überschreiben und *schwups* isser
hin, der Schutz, oder?

Nö, wenn man das richtig verwaltet nicht.
Also mal bezogen auf Intel CPUs ab 386, und das Flat-Mode:
Zuerst einmal gibt es 4 Rings (bezieht sich auf die
Kreisdarstellung [Schalen] der verschiedenen Komponenten eines
Betriebssystems. Der innerste Kreis ist der Kernel, darum
kommt dann der Ring mit den Treibern usw.)

Das Schalenmodell schützt den Kernel vor mangelhaft programmierten Applikationen, die sich aber von ihrem Aufbau her im wesentlichen auf die Windows-Architektur, also eben dieses Schalenmodell einlassen. Zwar rufen fast alle bekannten Windowswürmer und -viren Win-DLL-Funktionen (meistens Ring-0, also Kernelfunktionen!) auf und sind somit in diese Architektur mehr oder minder eingebettet. Gegen SQL-Slammer aber zum Beispiel, der reinen Maschinencode ausführt, und dem das Betriebssystem eigentlich egal ist, bietet diese Architektur keinerlei Schutz.

Gruss,
Schorsch