Killbit
# Killbit

Das Killbit (auch bekannt als Kill-Bit oder Kill Bit) ist ein Eintrag in der Windows-Registrierungsdatenbank, der die Aktivierung von Software-Teilen (COM-Komponenten, insbesondere ActiveX-Elemente) mit Sicherheitslücken verhindern soll. Das Killbit unterstützt eine Methode der Softwaretechnik, die in Microsoft-Betriebssystemen (insbesondere MSHTML) eingeführt wurde.

## Abgrenzung

Das Killbit ist kein Bit, sondern wird durch einen 4-Oktett großen Wert mit dem Namen "Compatibility Flags" und dem Datentyp REG_DWORD in der Windows-Registrierungsdatenbank repräsentiert.

## Anwendung und Wirkungsweise

Eine Software kann die dahinterstehende Methode unterstützen, in dem die Instanzierung bzw. Ausführung von COM-Komponenten trotz anderweitiger Anforderung verhindert wird, wenn folgende Bedingungen erfüllt sind:

* Es existiert ein Eintrag in der Windows-Registrierungsdatenbank mit einem Pfad, der folgenden Aufbau hat

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\CLSID
    Im Falle von 64-Bit-Betriebssystem auch
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\ActiveX Compatibility\CLSID
    Wobei CLSID für die Identifikationsnummer der Komponente steht.
* Unter diesem Pfad ist der Wert "Compatibility Flags" auf 0x00000400 gesetzt.

## Software die das Killbit unterstützt

* MSHTML (HTAs ausgenommen)
* Microsoft Office
* Internet Explorer

## Beispiel

Das ActiveX-Control mit der CLSID {73BCFD0F-0DAA-4B21-B709-2A8D9D9C692A} hat einen Eintrag "Compatibility Flags" in der Windows-Registrierungsdatenbank mit dem Wert 0x00000400. Siehe Bild rechts. Da der Internet Explorer diese Methode unterstützt, wird dieses ActiveX-Control nicht ausgeführt, auch dann nicht, wenn das ActiveX-Control in einer adressierten HTML-Datei (nicht zu verwechseln mit HTAs) eingebettet ist.

## Lösung für gesperrte Komponenten

Liefert ein Entwickler eine neue, korrigierte Fassung seiner durch ein Killbit gesperrten Active-X-Komponente aus, muss er dieser eine neue CLSID geben. Damit Webseiten und Anwendungen nun diese neue Version verwenden, obwohl sie nur die alte CLSID kennen, kommt das sogenannte Phoenix-Bit zum Einsatz. Dabei handelt es sich um einen weiteren Registry-Eintrag an gleicher Stelle, der eine alternative CLSID für die gesperrte Komponente festlegt – die CLSID der neuen Version. In diesem Registry-Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Active-X Compatibility\<CLSID> sind die Einträge für das Killbit ("Compatibility Flags = 0x00000400 (1024)") und das Phoenix-Bit ("AlternateCLSID = <neue CLSID>") enthalten.

