Warum ist es möglich rootkits vor process listener Programmen zu verstecken?



  • Warum kann ein infiziertes System nicht nicht infiziert reagieren?


  • Mod

    Du definierst bloß Worte um. Du nennst also ab nun einen eingeschränkten Account mit leicht gehobenen Nutzerrechten root und sagst, dass das rootkits verhindert, weil root nun nicht mehr alle Rechte hat. Das ist ein Versuch, das Problem durch Umdefinition zu lösen. Das funktioniert aber bei keinem Problem auf der Welt. Auf jedem Rechner existiert irgendeine Nutzerebene, die alles darf, denn sonst könnte der Rechner nicht funktionieren. Wie du diese Ebene nennst, ändert nichts an der Tatsache, dass, wenn diese Ebene kompromittiert ist, der ganze Rechner kompromittiert ist.



  • SeppJ schrieb:

    Du definierst bloß Worte um. Du nennst also ab nun einen eingeschränkten Account mit leicht gehobenen Nutzerrechten root und sagst, dass das rootkits verhindert, weil root nun nicht mehr alle Rechte hat. Das ist ein Versuch, das Problem durch Umdefinition zu lösen. Das funktioniert aber bei keinem Problem auf der Welt. Auf jedem Rechner existiert irgendeine Nutzerebene, die alles darf, denn sonst könnte der Rechner nicht funktionieren. Wie du diese Ebene nennst, ändert nichts an der Tatsache, dass, wenn diese Ebene kompromittiert ist, der ganze Rechner kompromittiert ist.

    Ich habe doch ein sinnvolles Beispiel gebracht.

    Und in Ring 0 muss man nicht alles dürfen.
    Es geht darum die Funktionalität in Ring 0 deutlich einzuschränken und wenn man das so machen würde wie ich sagte, dann würde kein rootkit da reinkommen.

    Wenn du da jetzt mit Worte umdefinieren kommst, dann liegt das daran, dass du unter rootkit eine Ring 0 Anwendung meinst, aber das ist nicht einmal richtig, denn selbst die Wikipedia sieht das nicht so.
    Sie definiert z.b. auch userspace rootkits, obwohl die nicht in ring 0 arbeiten.

    Es geht also um das technische und wie man was erreicht und nicht wie man irgendwelche Begriffe betrachtet.

    Mit anderen Worten, ein hacker der nen Exploit ausnutzt und es damit auf die adminebene in ring 1 schafft, der kann seinen Trojaner trotzdem nicht verstecken, da ihm der Zugriff auf ring 0 verwehrt ist. Das ist eine Technische Lösung.



  • ps_ schrieb:

    rotzdem nicht verstecken, da ihm der Zugriff auf ring 0 verwehrt ist. Das ist eine Technische Lösung.

    Und es ist übrigen auch genau die, nach der ich in meinem Eingangsposting gefragt habe.

    Ach ja, der Wikipedia Artikel:
    https://en.wikipedia.org/wiki/Rootkit#User_mode


  • Mod

    Derzeit: Ein Hacker, der es auf Ring 0 schafft, kann sein Rootkit perfekt verstecken. Ein Hacker, der das nicht schafft, muss rumtricksen und hoffen, dass er nicht gefunden wird.

    Nach deinem Vorschlag: Ein Hacker, der es auf Ring 0 schafft, kann sein Rootkit perfekt verstecken. Ein Hacker, der das nicht schafft, muss rumtricksen und hoffen, dass er nicht gefunden wird.

    Was ist der Unterschied?



  • SeppJ schrieb:

    Derzeit: Ein Hacker, der es auf Ring 0 schafft, kann sein Rootkit perfekt verstecken. Ein Hacker, der das nicht schafft, muss rumtricksen und hoffen, dass er nicht gefunden wird.

    Nach deinem Vorschlag: Ein Hacker, der es auf Ring 0 schafft, kann sein Rootkit perfekt verstecken. Ein Hacker, der das nicht schafft, muss rumtricksen und hoffen, dass er nicht gefunden wird.

    Was ist der Unterschied?

    Er schafft es im zweiten Fall vom System heraus nicht auf Ring 0.



  • Mit einer auf das nötigste signaturgeprüften Ring 0 Ebene, inkl. Kernelupdate- und Process Listenerfunktion wäre das hier nicht passiert:

    https://www.youtube.com/watch?v=OO2bUrVtOB0



  • ps_ schrieb:

    Da ich mal davon ausgehe, dass die OS Schreiber bei Microsoft und CO nicht blöd sind, frage ich mich, warum es trotzdem vorkommt und möglich ist, dass sich rootkits vor ps Anwendungen verstecken können.

    Also erstmal kannst du das ganze ja haben wenn du willst. Du brauchst halt ein neueres Windows dazu (idealerweise Windows 10) und ein Trusted Platform Module.

    Verwendet wird es deswegen wenig bis kaum, da unter Windows so verdammt viel in Ring 0 läuft, dass es recht unpraktisch wäre wenn alles was in Ring 0 laufen darf signiert sein muss. Auf Grund der Archtektur von Windows ist das wohl auch recht schwierig zu ändern.
    Und so geworden ist es deswegen, weil das Thema Security zu dem Zeitpunkt wo Windows entworfen wurde noch ganz anders bewertet wurde. Die Idee dass man sich gegen bösen Code schützen müsse, der von Usern mit Admin-Rechten freiwillig installiert wird (weil sie nicht wissen dass der Code böse ist) war damals kein Thema. Genau so war noch kein Bewusstsein dafür da dass es Exploits geben könnte mit denen man sich in Ring 0 reinhacken kann ohne dafür Admin-Rechte zu brauchen.

    Ansonsten ist die Überlegung natürlich korrekt: Je weniger in Ring 0 läuft, desto eher ist es akzeptabel von allem was in Ring 0 läuft zu verlangen dass es offiziell signiert ist. Zusammen mit einer Boot-Lösung die ebenfalls nur signierten Code akzeptiert, hätte man damit ein System dessen Sicherheit in der Praxis wesentlich besser ist als die von z.B. Windows ohne TMP/Secure-Boot, die es einem aber gleichzeitig noch erlaubt die meisten unsignierten Treiber zu installieren.



  • ps_ schrieb:

    Ja, die Bootkits.
    Die funktionieren aber nur, weil man von einem bestehenden System aus mit rootrechten den Bootloader modifizieren kann.
    Auch hier wäre es somit sinnvoll, das mit einem Signaturverfahren im Kernel in ring 0 zu verhindern.

    Bootkits kannst du mit dem OS Kernel nicht verhindern. Also nicht das Laden von Bootkits. Höchstens das Installieren von Bootkits.
    Wenn dir jemand den PC allerdings z.B. von nem USB Stick bootet wo böser Code drauf ist der das böse Bootkit installiert, dann hast du das Bootkit trotzdem drauf. Und wenn du dann wieder normal bootest, dann ist es zu dem Zeitpunkt wo der Kernel deines OS geladen wird bereits zu spät. Weil das Bootkit da bereits einen Hypervisor installiert hat, der das Bootkit vor dem Kernel versteckt. Ähnlich wie auch eine VM nicht einfach so auf die Speicherbereiche des Hosts oder anderer VMs zugreifen kann.

    D.h. du brauchst diese Funktion im BIOS/EFI.



  • Hustbaer, wenn ein unautorisierter Zugriff auf die Hardware des Computers hat, dann hat er mehr Möglichkeiten als von einem Usb-Stick zu booten.
    Soweit sollte man es gar nicht erst kommen lassen


Anmelden zum Antworten