![]() |
Verhindern, dass ein String im Pagefile landet.
Ich habe einen String, welcher ein Passwort enthält. Ich möchte vermeiden, dass der String ausgelagert wird und im Page File landet. Hat jemand eine Idee dazu?
|
AW: Verhindern, dass ein String im Pagefile landet.
Evtl. mit
![]() |
AW: Verhindern, dass ein String im Pagefile landet.
Hallo,
ob Du Einfluss auf den Umgang von Windows mit der Pagefile nehmen kannst, weiss ich nicht. Du könntest aber prüfen, ob das Passwort die ganze Zeit in dem String stehen muss oder ob das Passwort nur zum Überprüfen auf Korrektheit benötigt wird und Du danach den String wegwerfen/leeren kannst. Das würde zumindest die Chance vermindern, dass der String in die Pagefile geschrieben wird. Gruß Frank |
AW: Verhindern, dass ein String im Pagefile landet.
VirtualLock sieht ganz gut aus. Muss ich das nachher wieder unlocken?
Das reicht schon?
Delphi-Quellcode:
...
var Passwd: string; begin VirtualLock(@Passwd, Sizeof(Passwd)); end; |
AW: Verhindern, dass ein String im Pagefile landet.
Was ist der Unterschied? Jemand der die Pagefile(s) ausliest kann genauso gut auch den Anwendungsspeicher auslesen.
Ich weiß nicht ob das so viel Sinn macht. |
AW: Verhindern, dass ein String im Pagefile landet.
Zitat:
|
AW: Verhindern, dass ein String im Pagefile landet.
Selbst benutzt habe ich es auch noch nicht, würde aber eher auf
Delphi-Quellcode:
tippen. Zum Unlock sagt das MSDN:
VirtualLock(@Passwd, Sizeof(Char) * Length(Passwd));
Zitat:
|
AW: Verhindern, dass ein String im Pagefile landet.
Zitat:
Zitat:
Gibt es sowas wie VirtualLock auch für Linux und MacOS X? |
AW: Verhindern, dass ein String im Pagefile landet.
Warum liegt der überhaupt ungeschützt im RAM?
Als Hash oder verschlüsselt könnte man ihn ja auch abspeichern. Und wie kommt das Passwort in deine Variable? Das, wo der String her kommt, hat ihn bestimmt auch schon im RAM und das kannst du vermutlich nicht daran hinter, daß er ausgelagert wird. |
AW: Verhindern, dass ein String im Pagefile landet.
Zitat:
|
AW: Verhindern, dass ein String im Pagefile landet.
Zitat:
Und durch UTF-8 in FreePascal bin ich mir nicht einmal sicher, ob diese Größe in Byte überhaupt stimmt. Da gab es schon viele "lustige" Effekte... |
AW: Verhindern, dass ein String im Pagefile landet.
Du hast ja recht es tut ja nicht weh das mit zu schreiben. :P
@Union: Jo, hatte ich auch gerade gefunden. :) |
AW: Verhindern, dass ein String im Pagefile landet.
Ich frage mich gerade, ob hier nicht an der falschen Schraube bezüglich der Sicherheit gedreht wird.
|
AW: Verhindern, dass ein String im Pagefile landet.
Zitat:
|
AW: Verhindern, dass ein String im Pagefile landet.
Na, du betreibst ja einen riesen Aufwand um das Passwort. Und ich frage mich, ob dieser Aufwand gerechtfertigt ist. Passwort eingeben lassen, Hash Bilden, vergleichen, wegwerfen. Wobei es Kryptobibliotheken gibt, die Passworteingaben wieder sicher aus dem dem Speicher löschen können.
|
AW: Verhindern, dass ein String im Pagefile landet.
Ich will mir 100% sicher sein, dass da nix im Page File landet. Das sind zwei Zeilen Code. Den Aufwand halte ich für vertretbar.
Klar wird das Passwort im Speicher so schnell wie möglich geburnt, aber man weiß ja nie, was da einer mit seinem Rechner veranstaltet während er meine Software nuzt. |
AW: Verhindern, dass ein String im Pagefile landet.
Zitat:
PS: Beim Ruhezustand und diesem hybriden Standbymodus, wird dennoch alles auf die Festplatte geschrieben. |
AW: Verhindern, dass ein String im Pagefile landet.
Ja, stimmt schon. Aber Konkurenz hat das auch, darum brauch ich das auch. Ob es jetzt viel bringt oder nicht.
PS: Das ist dann aber nicht mehr mein Bier. :) |
AW: Verhindern, dass ein String im Pagefile landet.
Zitat:
MfG Dalai |
AW: Verhindern, dass ein String im Pagefile landet.
Gar nicht im Speicher geht gar nicht, es sei denn du benutzt ein eigenes Control für die Eingabe. Denn ein Standardeingabefeld wie TEdit hat das eingegebene Passwort ja trotz der maskierten Zeichen im Hintergrund zusammenhängend im Speicher.
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:03 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