AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

"Persistent" Firewall

Ein Thema von DarkItachi · begonnen am 28. Jul 2010 · letzter Beitrag vom 30. Jul 2010
Antwort Antwort
DarkItachi

Registriert seit: 28. Dez 2009
Ort: Berlin
130 Beiträge
 
Delphi 2007 Enterprise
 
#1

"Persistent" Firewall

  Alt 28. Jul 2010, 19:41
Guten Abend,

wir sollen bis zum Ende der Sommerferien versuchen, unsere selbstgemachte Firewall "persistent" zu machen, so dass sie nicht über Programme wie der Windows Taskmanager oder irgendwelchen Viren oder Scripten beendet werden kann sondern nur wenn der User selbstständig auf Beenden klickt.

Folgende Stichwörter wurden uns gegeben:
persistent, remote-thread, process-protection

Uns wurde erlaubt, uns überall zu informieren, und uns wurde klar und deutlich gesagt, dass diese Aufgabe sehr schwer sein wird.

Könnt ihr mir weitere Stichwörter bzw. ein Source/Beispiel geben?

Ich komme nämlich gerade gar nicht klar ^^

MfG
DarkItachi
Developer since age 14
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

AW: "Persistent" Firewall

  Alt 29. Jul 2010, 07:39
Ich nehme an, es handelt sich um ein UNI / Schul Project? Dann könnte man z.b. Code in den Explorer injizieren (WriteProcessMemory, CreateRemoteThread) der prüft, ob die Firewall aktiv ist und wenn nicht neu startet.

Ist allerdings eine unsaubere Lösung, da sie unter 64 bit nicht funktionieren wird und außerdem leicht ausgehebelt werden kann. Das wird allerdings ohne einen Treiber immmer so sein.

Alternative und sauberere Lösung: Eine DLL programmieren, die Funktionen wie OpenProcess() hookt und diese in alle Prozesse laden (entweder per Injection oder als AppInit DLL eintragen). So könnte man verhindern, dass der Prozess über den Taskmanager terminiert wird (auch hier kein 64 bit Support außer ihr erstellt mit Lazarus eine zweite 64 bit DLL). Ein Thread der prüft, ob die Firewall noch aktiv ist könnte man ja zusätzlich in der DLL anbringen.

Dritter Vorschlag: 2 sich gegenseitig überwachende Prozesse.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: "Persistent" Firewall

  Alt 29. Jul 2010, 07:48
Im Allgemeinen, die selben dreckigen Tricks die auch Malware-Entwickler einsetzen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#4

AW: "Persistent" Firewall

  Alt 29. Jul 2010, 07:53
Es gibt die Möglichkeit, dass man Fenster vom System schützen lassen kann. So war das bei meiner Firewall. Wenn man versucht hat, sie zu schließen, kam die Meldung: "Das Fenster wird vom System geschützt". Leider gibt Google zu dieser Meldung kein einziges brauchbares Ergebnis. Was du allerdings bedenken solltest: Auch ein Dienst lässt sich ohne große Probleme beenden, egal, wie du den Prozess schützt. Start -> Ausführen -> "services.msc" -> Dienst auswählen und beenden klicken (wenn nicht zufälligerweise ausgegraut).

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: "Persistent" Firewall

  Alt 29. Jul 2010, 08:53
Na als Erstes/Einfachstes, man erstellt sich einen Service von seiner Firewall und läßt dieses in einem geschützten (Benutzer)Konto/Kontext laufen,
dann haben normale Benutzer (man soll ja nicht ständig als Admin eingeloggt sein) und auch Viren/Würmer/Trojaner/Sonstewas keinen Zugriff auf diesen Prozeß (solange man nicht so doof ist und diesen gestattet sich mit höheren Rechten zu versorgen)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#6

AW: "Persistent" Firewall

  Alt 29. Jul 2010, 08:55
So super abgeschottet ist der User SYSTEM aber nicht wirklich (oder muss man da etwas über die WinAPI nachhelfen?). Es sollte denk ich mal ohne neuen Benutzer gehen.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: "Persistent" Firewall

  Alt 29. Jul 2010, 09:01
Welche Rechte hat denn der angemeldete Benutzer?
Der Service sollte standardmäßig vermutlich im "System"-Konto laufen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von HeikoAdams
HeikoAdams

Registriert seit: 12. Jul 2004
Ort: Oberfranken
661 Beiträge
 
FreePascal / Lazarus
 
#8

AW: "Persistent" Firewall

  Alt 29. Jul 2010, 09:20
Nur so ein Einwurf am Rande: Der Vorgänger des Anti-Malware-Tools a² hatte einen dynamisch erzeugten Prozessnamen, der es Malware etc sehr schwer gemacht hat, das Tool zu beenden.
Jeder kann ein Held werden und Leben retten!
Einfach beim NKR oder der DKMS als Stammzellenspender registrieren! Also: worauf wartest Du noch?
  Mit Zitat antworten Zitat
DarkItachi

Registriert seit: 28. Dez 2009
Ort: Berlin
130 Beiträge
 
Delphi 2007 Enterprise
 
#9

AW: "Persistent" Firewall

  Alt 30. Jul 2010, 00:36
Die erste Antwort (v: Zacherl) hat mir schon gereicht.
Das ist sehr interessant, vielleicht ist das genau die Methode die wir verwenden sollen. Da es wirklich nur ein Informatik Projekt ist und wir nur mit 32Bit arbeiten, sollte diese Methode wohl die beste sein! ^^

Ich habe auch schon mal einen Artikel über Active-Process-Protection gelesen, finde allerdings keinen Lösungsweg.

Erstmal danke für alle Antworten...
@mkinzler: Ja thx, aber welche Methoden verwenden denn Malware-Programmierer?
Ich kenne mich leider nicht mit den Aufbau von Malware Programmen aus...


Offtopic:
Ich hatte mal eine standalone EXE Datei für Windows die je nach Prozessorarchitektur richtig handelt.
D.h.: Wenn man ein Betriebssystem mit 64Bit hat, dann schaltet sich die Anwenung in einen 64Bit Modus.
Wenn man ein x86 Betriebssystem hat, dann schaltet sich diese Anwendung in den 32Bit Modus.

Ich war damals doch so fasziniert von dieser Methode ^^
Mit welcher Programmiersprache muss man eigentlich arbeiten, wenn man so eine Anwendung schreiben will?
ASM ja nicht, oder?
Developer since age 14
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

AW: "Persistent" Firewall

  Alt 30. Jul 2010, 06:14
Was du allerdings bedenken solltest: Auch ein Dienst lässt sich ohne große Probleme beenden
Aber nur als Benutzer mit den nötigen Rechten, also zum Beispiel als Administrator. Und dass ein Administrator Dienste installieren, deinstallieren, starten und beenden können sollte, sollte eigentlich klar sein.

Und wenn ich den Benutzer als Administrator an das System lasse, dann brauche ich mir um Sicherheit auch keine Gedanken machen. Das hat sich dann nämlich erledigt.

@mkinzler: Ja thx, aber welche Methoden verwenden denn Malware-Programmierer?
Genau die, die dir hier schon genannt wurden.

Und ehrlich gesagt, mir kommt das Projekt doch etwas spanisch vor.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


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 16:14 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