![]() |
Feststellen ob jemand in meinem Speicherbereich liest
Hallo,
ist es möglich festzustellen, ob irgendjemand in meinem Speicherbereich (Applikationsspeicher) liest. Wenn ja, bekomme ich heraus welche Anwendung es ist und ist es verhinderbar, dass eine andere Anwendung auf meinem Speicherbereich zugreift? Vielen Dank schon mal im Voraus. |
Re: Feststellen ob jemand in meinem Speicherbereich liest
Hi,
Also die einzige Möglichkeit die eventuell funktionieren könnte ist, wenn du die Funktion ReadProcessMemory hookst. |
Re: Feststellen ob jemand in meinem Speicherbereich liest
Ich sag mal zu 90% gibt es keine Möglichkeit.
Und falls es eine gibt, ist die auch nicht 100% abgedeckt bzw umgehbar. (Das war zumindest mein Erbegnis meiner damaligen Recherche) |
Re: Feststellen ob jemand in meinem Speicherbereich liest
Danke. Wie kann ich denn ReadProcessMemory hooken? ;)
|
Re: Feststellen ob jemand in meinem Speicherbereich liest
Wenn jemand den Systemcall selbst ausführt, bist du schutzlos. Am Ende hilft nur ein Treiber.
Es geht aber ziemlich einfach, wenn du deinem Prozess einen vernünftigen Security Descriptor verpasst. Die DACL kann dann das Lesen verhindern und mit der SACL kannst du automatisch Logs erstellen lassen. Zumindest den Teil mit der DACL habe ich ![]() |
Re: Feststellen ob jemand in meinem Speicherbereich liest
Zitat:
Denn ein anderer Prozess würde ja seine eigene Funktion nutzen und nicht die aus dem eigenem Programm (wo das überwacht werden soll) PS: wenn man z.B. eine DLL reinschuggeln kann, ohne ReadProcessMemory zu nutzen, dann könnte diese direkt lesen. |
Re: Feststellen ob jemand in meinem Speicherbereich liest
Eigentlich würde mir schon ausreichen, wenn ich wüsste, welches Programm gerade meinen Speicherbereich ausliest.
|
Re: Feststellen ob jemand in meinem Speicherbereich liest
Was hast du denn zu verbergen?
|
Re: Feststellen ob jemand in meinem Speicherbereich liest
Such mal nach Inline Hooking bei Google, ich weiß nicht wies ausschaut und wie nahe darauf hier eingegangen werden soll, weil sowas in den meisten Fällen nur von Rootkits und ähnlichem Spaß benutzt wird.
Ein Angreifer könnte diesen Schutz auf die selbe Art wieder umgehen. Du solltest, wenn du es probierst, GENAU wissen was du machst, da das ganze sich im Ring 0 abspielt und sich sowas logischerweise auf alle Programme auswirkt und mit unter die Systemstabilität und -integrität gefährdet. Auch solltest du bedenken, dass sich (ungetestet) eventuell Antivirenscanner auf sowas zu Wort melden werden. Allerdings könnte dein Code ohnehin nur von Administratoren ausgelesen werden und falls es um reverse engineering geht, lässt sich das ziemlich sicher umgehen. Ansonsten bleibt dir nicht viel übrig außer ein eigenes Betriebssystem für eine trusted platform zu schreiben. :wink: Wobei selbst dann bestimmt immernoch mit teuren equipment, das keiner hat, der Speicher hardwaremäßig ausgelesen werden könnte. :mrgreen: |
Re: Feststellen ob jemand in meinem Speicherbereich liest
Ich möchte verhindern, dass sicherheitsrelevante Daten von anderen Programmen (wie z.B.: WinHex) gelesen werden können.
|
Re: Feststellen ob jemand in meinem Speicherbereich liest
Kann man dem Prozess irgendwie sagen, dass nur ich darauf zugreifen darf?
|
Re: Feststellen ob jemand in meinem Speicherbereich liest
Wenn du deinen Prozess mit höheren Rechten laufen hast, als das Programm, welches darauf zugreifen könnte, dann schön.
|
Re: Feststellen ob jemand in meinem Speicherbereich liest
Zitat:
Zitat:
|
Re: Feststellen ob jemand in meinem Speicherbereich liest
Man könnte ihm doch prinzipiell Adminrechte geben oder ihn als Systemdienst laufen lassen?
(ob das sinnvoll ist, ist eine andere Sache) |
Re: Feststellen ob jemand in meinem Speicherbereich liest
Zitat:
|
Re: Feststellen ob jemand in meinem Speicherbereich liest
100% Schutz gibt es nicht. Wie Meflin schon angemerkt hat: Sobald Daten im RAM liegen sind sie angreifbar. Du kannst die Schwierigkeit nur erhöhen. Z.B. bei erkennen von aktiven Debugger Rechner einfrieren lassen oder ähnliche "unschönheiten". Oder fertige SW wie Cryptkey kaufen die eine vielzahl der Möglichkeiten schon verhindern. Jedoch ist ein PC mit Cryptkey schon fast selbst als Virus/Schadsoftware anzusehen da er sehr tief und umfangreich das System verändert damit er seine Schutzaufgabe erfollen kann.
|
Re: Feststellen ob jemand in meinem Speicherbereich liest
Zitat:
nicht das da z.B. eine der injizierten Maus-DLLs falsch erkannt wird und massig PC versehendlich zum Absturz gebracht werden. |
Re: Feststellen ob jemand in meinem Speicherbereich liest
Hm das ist doch wie im Tresorraum : Hier kann ich alles von einem
Regal in ein anderes schieben, ohne große Probleme. Aber die große Tür nach aussen kann man recht effektiv verschliessen... Grüße in die Runde // Martin PS: Wenn der Bankräuber schon die Kontrolle bis zur Bank (Rechner) übernommen hat kann er auch gleich die ganze Bank klauen. |
Re: Feststellen ob jemand in meinem Speicherbereich liest
Zitat:
|
Re: Feststellen ob jemand in meinem Speicherbereich liest
99% würde schon ausreichen. Ein 100%tiger Schutz ist nicht notwendig. Es soll ja nur erschwert werden, so dass ein Anwender nicht einfach, beispielsweise mit WinHex, Daten auslesen kann.
Wie kann ich Programme wie WinHex erkennen, ohne auf den EXE-Namen zu gehen, denn diesen kann man leicht umbenennen? Gibt es dafür Events, wenn ein neues Programm gestartet wird, denn ich möchte nicht laufend mit einem Timer scannen, ob neue Anwendungen gestartet wurden? |
Re: Feststellen ob jemand in meinem Speicherbereich liest
Du kannst ja deinen RAM mit vielen Pseudodaten zumüllen, deine Daten zusätzlich noch verschlüsseln (ein kleines XOR könnte da schon ausreichen) und diese nicht an einer Stelle, sondern schön zufällig verteilt ablegen.
Vielleicht noch die Daten über mehrere "verschlüsselte" Pointer referenzieren und der Position und die der Pseudodaten ständig ändern. Dazu dann noch die CPU schön stark auslasen, daß sonst fast nix mehr läuft (damit die anderen Programme kaum Zeit für was haben). Wobei Letzeres wohl nicht unbedingt "schön" ist. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz