AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Windows für mehr Sicherheit patchen? Ideen/Realisierung?
Thema durchsuchen
Ansicht
Themen-Optionen

Windows für mehr Sicherheit patchen? Ideen/Realisierung?

Ein Thema von blackdrake · begonnen am 6. Apr 2009 · letzter Beitrag vom 6. Apr 2009
Antwort Antwort
Seite 1 von 2  1 2      
blackdrake

Registriert seit: 21. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#1

Windows für mehr Sicherheit patchen? Ideen/Realisierung?

  Alt 6. Apr 2009, 10:42
Hallo.

Ich habe mir mal ein paar Gedanken zu zwei Sicherheitsthemen gedanken gemacht und überlegt, ob es denn nicht machbar wäre, dass man dem Betriebssystem einige Sicherheitsaspekte nachträglich durch Patches der API beibringen kann.

Folgende 2 Themen sind für Entwickler problematisch und würden gut zum Aufgabengebiet eines Betriebssystems passen:

1. Daten werden nicht sicher gelöscht

Es gibt zwar viele Tools, teils kostenpflichtig, teils kostenlos, die Daten sicher vernichten sowie den freien Speicherplatz der Festplatte reinigen. Das Problem ist nun, dass diese Vorgehen alle Rückwirkend geschehen. Besonders wenn man seinen PC "Persilrein" halten will, müsste man ja jeden Tag den freien Speicherplatz überschreiben und das am besten noch mehrfach (wegen Randmagnetisierung etc). Umständlich, uneffektiv und stresst die Festplatte.

Es wäre doch eine tolle Sache, wenn das Betriebssystem auf Wunsch alle Lösch- und Überschreibaktionen sicher machen würde. Dies kostet zwar Laufzeit, ist aber sehr sicher, wenn man Daten stets endgültig löschen möchte. Und Sicherheit ist in manchen Fällen tatsächlich viel wichtiger als Laufzeit.

Eine Idee von mir wäre jetzt:
Die Windows-API-Funktionen "DeleteFileA" und "DeleteFileW" überschreiben (Code an die DLL anhängen und Sprungpunkt umlenken?).
Ggf. ein Daemon erstellen, der die System-DLLs automatisch neu patched, wenn sie z.B. aufgrund eines Updates ersetzt werden.
Ob da Windows wegen dem Dateischutz mitmacht? Wenn nicht, dann in der WinInit-Phase die Dateien ersetzen.

Man sollte beachten, die Daten mehrfach zu überschreiben, damit man von Randmagnetisierungen möglichst wenig Informationen entnehmen kann. Das ist aber bereits etwas vorgegriffen.

Weitere Problematiken:
- Nicht nur beim Löschen, sondern auch beim Überschreiben von Dateien müssen vorher die Daten vernichtet werden.
- Zusätzlich muss das komplette Cluster zuerst vernichtet werden, bevor eine Datei verändert wird! Wenn wir eine Datei mit 200 Byte in einem 1024 Byte Cluster haben, dann sind im Cluster 824 Byte der Vorgängerdatei oder der Vorgängerversion der Datei. (Clusterüberhang)
- Werden alle Dateimodifikationen/Schreibzugriffe immer über die API abgewickelt? Wenn nein, dann muss ein extra Servicedienst hinzukommen, der für uns Dateiveränderungen überwacht (Daemon)


Wenn das ganze mit der API gar nicht machbar wäre, könnte man auch einen permanenten Daemon erstellen, der alle Aktivitäten auf der Festplatte überwacht und den Speicherplatz bei gelöschten Dateien nachträglich sicher freigibt. Die Variante wäre aber widerum nicht so schön wie die oben genannte. Ebenfalls muss auf das Überschreiben von Dateien reagiert werden. Hier müsste der Daemon sich die Datei komplett merken (RAM), dann alle Daten vernichten und wieder zurückschreiben. Mh... naja, das wäre dann aber die Super-Sicher-Einstellung, denn eigentlich ist die Randmagnetisierungsentschlüsselung super kompliziert und kostenspielig. Bei der normalen Variante müsste der Watch-Daemon aber auf jeden Fall den Clusterüberhang leeren, wenn eine Datei in irgendeiner Form verändert wurde.

2. Passwörter können mit Keyloggern ausspioniert werden.

Ein anderes Problem ist, dass Passwörter ausspioniert werden können. Das Betriebssystem bietet Möglichkeiten zum Keyboard-Hook, bietet aber auch Edit-Felder mit Masken an, die für Passwörter geeignet (gedacht) sind. Wieso unterbindet das Betriebssystem dann Hooks bei Passwortfeldern nicht?

Es gibt zwar Methoden zur Keylogger-Prävention, jedoch sind diese zum Einen nicht wirklich das gelbe vom Ei, zum anderen müssen sie von jedem Entwickler separat implementiert werden und nicht im Betriebssystem dabei, was ja eigentlich wünschenswert in der heutigen Zeit der IT-Sicherheit wäre.

Übliche Methoden zur Keylogger-Abwehr wären
1. Datenmüll senden und den selbst produzierten Datenmüll verwerfen. Scheint auf den ersten Blick zu funktionieren, jedoch macht es den PC langsam und 2 Prozesse könne nicht gleichzeitig Eingaben schützen (wobei man ja eh nicht 2 Mal einen Focus haben kann). Bei der Implementierung kam aber hinzu, dass es oft zu Grenzwertproblemen der Zeit kam, sodass der Datenmüll genau dann gesendet wurde, in dem eine Tastatureingabe statt fand. In diesen Fällen wurde der Datenmüll aufgenommen und der Tastendruck verworfen. Und solche Fälle treten um so öfter auf, um so mehr Datenmüll man versendet, was die Sicherheit erhöht.
2. Per Windows API einem Tastendruck eine Information mitgeben. Wehrt native Keylogger ab und ist effektiv, keine Grenzfälle. Problem: Keylogger können diesen Schutz einfach umgehehn, in dem sie die Information beachten. Ebenfalls ein Problem: Ein echter Tastendruck hat immer die Extrainformation 0, weswegen es nun wirklich nicht schwer ist, das zu überprüfen, wenn man einen alternativen Keylogger schreibt.
(3. Anstelle eines masked Editfeldes eine virtuelle Tastatur darstellen, die man mit der Maus bedient. Ist zwar umständlicher aber sicherer. Das ist jedoch nur eine verschiebung des Problems und keine wirkliche Lösung. Außerdem bietet Windows kein Framework für eine eingebettete (MFC, .net, ActiveX, ...) virtuelle Tastatur an)
(4. Die Funktionalität einstellen, sobald ein Keylogger mitschreibt... Das ist nun wirklich die Aufgabe eines Antivirenprogramms und wird daher nicht weiter beleuchtet)

Wie könne man aber nun Windows modifizieren, sodass es Keylogger unterbindet, wenn ein maskiertes Feld markiert ist? Ich weiß leider nicht genau, wie das bei Tastendrücken mit den Messages/Hooks genau funktioniert. Da ich aber selbst mal etwas geschrieben habe (bzw. zukünftig noch weiterarbeiten werde), das Maustastendrücke ignoriert, könnte ich mir vorstellen, dass das bei Tastatureingaben analog funktioniert. Die eigene Anwendung empfängt den Tastendruck, danach wird die Message verworfen und keine andere Anwendung wie z.B. ein Keylogger empfängt die Daten. Funktionstasten sowie andere Steuerbefehle sollte man aber durchlassen.

Bitte um weitere Ideen/Vorschläge/Realisierungsideen.

Gruß
blackdrake

// Edit: Titel abgeändert
Daniel Marschall
  Mit Zitat antworten Zitat
mr_emre_d
(Gast)

n/a Beiträge
 
#2

Re: Windows kryptografisch sicher modifizieren - Ideen/Reali

  Alt 6. Apr 2009, 10:55
Zu #2
Zitat von blackdrake:
Die eigene Anwendung empfängt den Tastendruck, danach wird die Message verworfen und keine andere Anwendung wie z.B. ein Keylogger empfängt die Daten. Funktionstasten sowie andere Steuerbefehle sollte man aber durchlassen.
Die Message direkt nach dem Auswerten von der Message-Chain(oder wie sie genannt wird) zu löschen wäre ne gute Idee, nur was machst du, wenn der Keylogger zwischen Programm - Auswertung funkt ?
(~Programm - Keylogger - Auswertung)

Edit:
Zu #1
Evt. etwas zum nachlesen:
http://de.wikipedia.org/wiki/Gutmann-Methode

MfG
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.136 Beiträge
 
Delphi 12 Athens
 
#3

Re: Windows kryptografisch sicher modifizieren - Ideen/Reali

  Alt 6. Apr 2009, 11:41
Zitat von mr_emre_d:
Zu #1
Evt. etwas zum nachlesen:
http://de.wikipedia.org/wiki/Gutmann-Methode
und bei der jetzigen Technik völlig übertrieben, das Wiederherstellen von z.B. einmal mit Zufallswerten überschrieben ist nahezu unmöglich und wenn dann nur für kleine Einheiten (einzelne Bits möglich) und selbst ann ist das Wiederherstellen einer Datei von einem "unbedeutenden" Menschen dermaßen teuer, daß es kein noch so reicher Geheimdienst oder sonstwer je machen würde.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Windows kryptografisch sicher modifizieren - Ideen/Reali

  Alt 6. Apr 2009, 12:44
Zitat von himitsu:
und bei der jetzigen Technik völlig übertrieben, das Wiederherstellen von z.B. einmal mit Zufallswerten überschrieben ist nahezu unmöglich und wenn dann nur für kleine Einheiten (einzelne Bits möglich) und selbst ann ist das Wiederherstellen einer Datei von einem "unbedeutenden" Menschen dermaßen teuer, daß es kein noch so reicher Geheimdienst oder sonstwer je machen würde.
Ergänzend dazu: http://www.h-online.com/news/Secure-...do-it--/112432
Thomas
Besucht doch mal http://www.hitziger.net
  Mit Zitat antworten Zitat
blackdrake

Registriert seit: 21. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Windows kryptografisch sicher modifizieren - Ideen/Reali

  Alt 6. Apr 2009, 12:57
Zitat von mr_emre_d:
Zu #1
Evt. etwas zum nachlesen:
http://de.wikipedia.org/wiki/Gutmann-Methode

MfG
Ja, kenne ich. Ich hatte mal eine Festplatte mit Firmendaten, die rechtlich materiell rausgegeben werden musste die Daten zur Sicherheit 5 Mal überschrieben. Die Gutman-Methode mit 35 Mal kostet aber mächtig Zeit und Festplattenabnutzung, weswegen ich das nicht gemacht habe...

Zitat von hitzi:
Danke für die Information. Das ist mir neu. Das Ablesen einer Randmagnetisierung wäre ja, wenn machbar auch extrem kostenspielig und mit teilweisem Datenverlust behaftet. Gut, dann eben nur 1 Mal, spart Zeit.

Mich würde wie gesagt interessieren, Windows zu umzubiegen, dass es beim Schreiben den Cluster leert und beim Löschen 1 Mal den allokierten Platz überschreibt, denn mit jedem einfachen Wiederherstellungsprogramm können die Daten wiederkommen. Und selbst wenn man Dateien explizit vernichtet, dann können trotzdem noch Kopien der Datei durch unsichere Vorgänge in der Vergangenheit vorliegen.
Daniel Marschall
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.136 Beiträge
 
Delphi 12 Athens
 
#6

Re: Windows kryptografisch sicher modifizieren - Ideen/Reali

  Alt 6. Apr 2009, 12:59
ich glaub Meutze1 oder Assertor hatte vor 'ner Weile hier auch mal was dazu geschrieben.

Zitat:
rechtlich materiell rausgegeben werden musste


nja, notfalls macht man es so wie die Banken ... kleinhächseln und verbrennen/einschmelzen
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Cyf

Registriert seit: 30. Mai 2008
407 Beiträge
 
Lazarus
 
#7

Re: Windows kryptografisch sicher modifizieren - Ideen/Reali

  Alt 6. Apr 2009, 12:59
Benutz besser einen inline Hook auf die Löschfunktionen, statt dlls zu patchen.
Bereiche mehr als einmal zu überschreiben ist nicht notwendig.
Man kann einen Barbier definieren als einen, der alle diejenigen rasiert, und nur diejenigen, die sich nicht selbst rasieren.
Rasiert sich der Barbier?
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#8

Re: Windows kryptografisch sicher modifizieren - Ideen/Reali

  Alt 6. Apr 2009, 13:00
Hi,

sicherlich ein immer wieder spannendes Thema.

Aber was hat Datenlöschung und die Abwehr von Keyloggern mit Kryptographie zu tun? Was Du wohl eher meinst ist ein generelles Security-Hardening. Dazu gehört aber mehr als nur oben genanntes in Verbindung mit etwas Verschlüsselung.

Es gibt übrigens auch genügend Hardware-Keylogger

Also für einfache Sachen im Bereich Systemverschlüsselung würde ich die Systemencryption von TrueCrypt empfehlen. Dann erübrigt sich auch die Dikussion wegen der sicheren Löschung nahezu.

Ansosten hier mal ein paar Leitfäden für verschiedene Betriebssysteme:
http://www.nsa.gov/ia/guidance/secur..._systems.shtml

Und das BSI Grundschutzhandbuch gibt es ja auch noch.

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
blackdrake

Registriert seit: 21. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#9

Re: Windows kryptografisch sicher modifizieren - Ideen/Reali

  Alt 6. Apr 2009, 13:13
Zitat von mr_emre_d:
Die Message direkt nach dem Auswerten von der Message-Chain(oder wie sie genannt wird) zu löschen wäre ne gute Idee, nur was machst du, wenn der Keylogger zwischen Programm - Auswertung funkt ?
(~Programm - Keylogger - Auswertung)
Keine Ahnung, wie diese Kette funktioniert. Ich dachte, die Focusanwendung bekommt die Info zuerst und kann sie als erstes abarbeiten (evtl. analog zu der VCL mit dem Key := #0 im OnKeyDown)

Zitat von himitsu:
nja, notfalls macht man es so wie die Banken ... kleinhächseln und verbrennen/einschmelzen
Ui, das ist aber böse, wenn man eine Festplatte wiederhaben will und einen klumpen eingeschmolzenes Metall bekommt.

Zitat von Assertor:
Aber was hat Datenlöschung und die Abwehr von Keyloggern mit Kryptographie zu tun?
Ich wusste nicht genau, wie ich das mit "sicher" ausdrücken sollte. "Sicher" ist ein so umfassender Begriff eben und ich will ja nur auf die Datenreste und Keyloggerrisiken eingehen. Außerdem bieten viele Verschlüsselungssoftwares auch gleichzeitig eine Erase-Funktion und manchmal sogar einen Anti-Keylogger (für das eigene Programm) an, aber da ist man nicht geschützt, wenn es nicht von Betriebssystemseite kommt.

Zitat von Assertor:
Es gibt übrigens auch genügend Hardware-Keylogger
Ja, das bleibt ein Problem. Meistens manipulieren eingeschleuste Putzfrauen die Bürotastaturen

Zitat von Assertor:
Also für einfache Sachen im Bereich Systemverschlüsselung würde ich die Systemencryption von TrueCrypt empfehlen. Dann erübrigt sich auch die Dikussion wegen der sicheren Löschung nahezu.
TrueCrypt kenne ich und nutze da auch die Systempartitionsverschlüsselung. Das Tool ist echt super. Aber für die DAUs würde ja eine einfache Veränderung im OS die Sicherheit erhöhen (man Denke an die vielen Festplatten, USB-Sticks und SD-Karten mit Restdaten drauf). Aber eigentlich sollten die OS-Hersteller sowas implementieren und eine solche Funktionalität dementsprechend konfigurierbar machen.

Zitat von Assertor:
Benutz besser einen inline Hook auf die Löschfunktionen, statt dlls zu patchen.
Hört sich interessant an. Werde ich später mal googeln. Aber die System-DLL patchen und dabei kaputt machen macht doch auch spaß
Daniel Marschall
  Mit Zitat antworten Zitat
blackdrake

Registriert seit: 21. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#10

Re: Windows kryptografisch sicher modifizieren - Ideen/Reali

  Alt 6. Apr 2009, 21:31
Also zu inline Hooks finde ich kaum was...

http://www.google.de/search?client=f...G=Google-Suche

http://www.google.de/search?hl=de&cl...a=lr%3Dlang_de

http://www.google.de/search?hl=de&cl...nG=Suche&meta=

http://www.google.de/search?q=in+lin...restrict&cad=7

Sowie in der DP 2 Threads, die mir aber im Moment wenig bringen, zumal ich ja alle Prozesse z.B. bei DeleteFile* umleiten will und nicht einen gezielten.
Daniel Marschall
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz