Viele Stellen:
Moderne Hardware verfügt über eine Vielzahl persistenter Datenspeicher, die normalerweise für Firmware verwendet werden. Es ist viel zu teuer, ein komplexes Gerät wie eine GPU oder eine Netzwerkkarte zu versenden und die Firmware auf einem Masken-ROM abzulegen, wo sie nicht aktualisiert werden kann, und dann einen Fehler zu verursachen, der Massenrückrufe verursacht. Als solches benötigen Sie zwei Dinge: einen beschreibbaren Speicherort für diese Firmware und eine Möglichkeit, die neue Firmware zu installieren. Dies bedeutet, dass die Betriebssystemsoftware in der Lage sein muss, an die Stelle zu schreiben, an der die Firmware in der Hardware gespeichert ist (normalerweise EEPROMs).
Ein gutes Beispiel hierfür ist der Status moderner BIOS / UEFI-Aktualisierungsdienstprogramme. Sie können ein UEFI-Image und eine ausführbare Datei erstellen, die auf Ihrem Betriebssystem (z. B. Windows) ausgeführt wird, auf eine Schaltfläche klicken und Ihre UEFI-Updates durchführen. Einfach! Wenn Sie rückentwickeln, wie diese funktionieren (was ich einige Male getan habe), wird meistens ein Kernel-Modus-Treiber geladen, der Seitendaten aus dem angegebenen UEFI-Image entnimmt und mit dem out , Senden der richtigen Befehle zum Entsperren des Flashs und Starten des Aktualisierungsvorgangs.
Es gibt natürlich einige Schutzmaßnahmen. Die meisten BIOS / UEFI-Images werden nur geladen, wenn sie vom Hersteller signiert wurden. Natürlich könnte ein Angreifer, der weit genug fortgeschritten ist, dem Anbieter nur den Signaturschlüssel stehlen, aber das geht in Verschwörungstheorien und gottähnliche Bedrohungsakteure ein, die in fast jedem Szenario nicht realistisch zu bekämpfen sind. Management-Engines wie IME sollen bestimmte Schutzfunktionen haben, die verhindern, dass auf ihre Speicherabschnitte auch mit ring0-Code zugegriffen werden kann. Untersuchungen haben jedoch gezeigt, dass es viele Fehler und viele Schwächen gibt.
Also alles ist geschraubt, oder? Ja und nein. Es ist möglich , Rootkits in Hardware zu integrieren, aber es ist auch unglaublich schwierig. Jeder einzelne Computer weist eine derart unterschiedliche Hardware- und Firmware-Version auf, dass es für die meisten Dinge unmöglich ist, ein generisches Rootkit zu erstellen. Sie können nicht einfach ein generisches Asus-BIOS herunterladen und es auf ein beliebiges Board flashen. du wirst es töten. Sie müssten ein Rootkit für jeden einzelnen Board-Typ erstellen, manchmal bis zum richtigen Revisionsbereich. Es ist auch ein Sicherheitsbereich, der neben starker Sicherheit und kryptografischem Wissen eine große Menge an domänenübergreifendem Wissen umfasst, das bis in die Hardware und betriebliche Aspekte moderner Computerplattformen reicht, sodass nicht viele Menschen dazu in der Lage sind.
Werden Sie wahrscheinlich ins Visier genommen? Nein.
Werden Sie wahrscheinlich mit einem BIOS / UEFI / SMM / GPU / NIC-residenten Rootkit infiziert? Nein.
Die Komplexität und die damit verbundenen Abweichungen sind einfach zu groß, als dass sich ein durchschnittlicher Benutzer jemals realistisch darum kümmern müsste. Selbst aus wirtschaftlicher Sicht erfordern diese Dinge übermäßig viel Geschick, Mühe und Geld, um sie aufzubauen. Daher ist es idiotisch, sie auf Malware für Verbraucher zu brennen. Diese Arten von Bedrohungen sind so gezielt, dass sie immer nur wirklich zum nationalstaatlichen Bedrohungsmodell gehören.