Zufällig beschäftige ich mich grad mit
DLL-Injection und Function-Intercepting (meist tagsüber, selten nachts
). Dabei bin ich zu folgendem Schluss gekommen: Wenn es einem "schlechten" Programm gelingt, die Rechte zu erlangen, eines anderen Prozesses Memory zu lesen (ReadProcessMemory, ...), ist Schluss mit lustig. Diese Rechte hat ein Administrator auf NT-Systemen automatisch.
Mit diesen Rechten kann man alle Variablen lesen, die eine Prozess benutzt. Idealerweise kann man auch allen anderen Speicher inklusive der Instructions (also den eigentlichen Code) lesen (und wenn man will auch schreiben). Das führt dazu, das man nachverfolgen kann, wie du zu deinem Passwort kommst.
Was sollte man daraus folgern? Eine gewisse Sicherheit gegen Attacken von Boon's geben folgende 2 Hinweise:
1. Man sollte die Rechtestruktur von Windows(NT) nutzen. (Wenn es um Prozesse geht, die nicht unter der eigenen UID laufen). Sie hat ihren Sinn.
2. Man sollte in regelmäßigen Absänden die Liste dergeladenen Module durchsehen und prüfen ob alle diese Module ihre Daseinsberechtigung haben (wenngleich man diese Informationen auch fälschen kann; aber das ist was für richtige Insider).
Man sollte aber darüber nachdenken, wie hoch die Wahrscheinlichkeit eines Angriffes ist. Ein Programm, das 100 Menschen nutzen verdient
imho keinen Extra-Aufwand für Sicherheitsmechanismen von 100 Stunden.