Announcement

Collapse
No announcement yet.

Prozessspeicher schützen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Prozessspeicher schützen

    Hallo zusammen

    Eigentlich nur eine theoretische Frage, die mir die Tage mal durch den Kopf ging.

    Kann man das RAM, in dem die eigene Applikation läuft, vor Zugriff von Fremdprogrammen schützen,
    die den Speicher verändern, oder zumindest auslesen wollen?

    Also sowas wie ein Schutz vor ReadProcessMemory/WriteProcessMemory.

    Danke schon mal für eure Antworten


    (D5E + Win2000)
    Zuletzt editiert von Coronel; 24.05.2008, 23:48.

  • #2
    Der ist im Normalfall schon geschützt. Daher rühren die meisten AccessViolenz Exceptions her, dass versucht wir auf Bereich zuzugreifen die für die Anwendung nicht freigegeben ist. Nur wenn Privilegien/Rechte gesetzt werden kann das umgangen werden
    Christian

    Comment


    • #3
      100% wird es nie geben. Den höchsten Schutz bekommst du nur geben indem du bei Erkennen von irgendwelchen ICE oder Debuggern einfach den Rechner anhälst wie es z.B. diverse dafür Entwickelte Komponenten machen. Diese bemühen jedoch auch Teilweise Windows Dienste um sowas zu realisieren, da ja eine solche Erkennung in einer Exe relativ einfach "herausgepatcht" werden kann. Auch mußt du versuchen irgendwelche injezierten DLL's die sowas u.U. durchfühen verhintern. Ach ja: Und das laufen lassen in Virtuellen Maschienen solltest du auch erkennen und verbieten.

      Comment


      • #4
        Danke euch beiden für die Tips.

        Meine Frage war im Hinblick auf (kleinere) Spiele gedacht, die ich ab und an schreibe, wenn ich Zeit habe.

        Es gibt ja diverse Programme, z.B. Win32 Game Wizzard, die aus dem RAM beispielsweise Punktestände,
        Geld, Anzahl von Gegenständen, etc., auslesen und dem Spieler die Möglichkeit geben, diese direkt im RAM zu patchen.

        Ich hab mir das Programm mal geholt und festgestellt, daß so gut wie kein Spiel davor geschützt ist.
        Wie meintest du das mit "im Normalfall schon geschützt", Christian?

        Gut, ich könnte solche Variablen auch encrypten oder sie anderweitig für Prozesszugriffe unleserlich machen,
        aber ich sehe da eher einen größeren Programmieraufwand, als einen Nutzen.

        Ein anderer Gesichtspunkt wäre z.B. auch der Sicherheitsaspekt in selbstgemachten Geschäftsapplikationen,
        die mit Mengen von sensiblen Daten arbeiten und bei denen man nicht unbedingt möchte, daß jemand mit OpenProcess
        und ReadProcessMemory darauf zugreift. Diese Daten im RAM zu encrypten wäre ein irrsinniges Unterfangen.

        Gibt es keine einfachere Möglichkeit, solche Zugriffe von Außen zu entdecken und sie abzublocken?

        Comment


        • #5
          Originally posted by Coronel View Post
          Ein anderer Gesichtspunkt wäre z.B. auch der Sicherheitsaspekt in selbstgemachten Geschäftsapplikationen,
          die mit Mengen von sensiblen Daten arbeiten und bei denen man nicht unbedingt möchte, daß jemand mit OpenProcess
          und ReadProcessMemory darauf zugreift. Diese Daten im RAM zu encrypten wäre ein irrsinniges Unterfangen.
          Was ist an Geschäftsdaten sensibel das die eigene Firma nicht wissen dürfte wie die Daten im Speicher liegen? Oder meinst du Webbasierte Anwendungen? Da dürfen gefälligst keine Sensiblen Daten auf den Clientrechner übertragen werden die nicht eh schon Angezeigt werden. Anmeldetechniken müssen entsprechend (HTTPs, ...) abgesichert werden.

          Originally posted by Coronel View Post
          Gibt es keine einfachere Möglichkeit, solche Zugriffe von Außen zu entdecken und sie abzublocken?
          Nö. Denn wenn sie einfach zu erkennen sind kann man das erkennen mit Sicherheit auch wieder einfach verhindern.

          Du musst für deine Anwendung wissen welchen Schutzlevel du benötigst und ob du dafür entsprechend Aufwand treiben willst. 100% Schutz gibt es nicht wie gecracktes Verschlüsselungen von DVD, Blue-Ray (?) PS2, XBox, ... zeigen.

          Comment

          Working...
          X