Allgemeine Schwachstellen

Newcomer - Board
Verfügbare Informationen zu "Allgemeine Schwachstellen"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: 4dministr4t0r
  • Forum: Newcomer - Board
  • Forenbeschreibung: Forum für alle "Newcomer" (Alter, Geschlecht etc. egal), die sich im Bereich Systemsicherheit weiterbilden wollen. Chatten könnt Ihr am Ende der Seite!
  • aus dem Unterforum: Tutorials (Info-Texte)
  • Antworten: 1
  • Forum gestartet am: Samstag 23.12.2006
  • Sprache: deutsch
  • Link zum Originaltopic: Allgemeine Schwachstellen
  • Letzte Antwort: vor 17 Jahren, 3 Monaten, 30 Tagen, 20 Stunden, 22 Minuten
  • Alle Beiträge und Antworten zu "Allgemeine Schwachstellen"

    Re: Allgemeine Schwachstellen

    4dministr4t0r - 25.12.2006, 20:40

    Allgemeine Schwachstellen
    ##############################################################################################

    Alle hier geposteten Tutorials sind im www zu finden und nicht von mir. Sie werden unverändert hier dargestellt.

    Wir weisen ausdrücklich darauf hin, daß wir mit dieser Ansammlung nicht zu Straftaten aufrufen oder animieren wollen!!!
    Alle Tutorials dienen ausschließlich zu Informationszwecken.

    Solltest Du ein von Dir erstelltes Tutorial hier finden und mit der Veröffentlichung bei Hackressort nicht einverstanden sein, schick mir eine PM oder Email.

    Das Tutorial wird dann entfernt.

    Hackressort-Team

    ##############################################################################################


    Allgemeine Schwachstellen und Angriffspunkte


    Vorwort
    Informationsbeschaffung
    Adress- und Portscanner
    Protokoll – Analysator
    Bannertexte und Informationsdienste
    Fingerprinting
    Account- und Passwortangriffe
    Passwort Guessing
    Passwort Cracking
    Richtlinien zur Passwortwahl
    Test der Passwörter
    Passwort Sniffing
    Passwort – Monitoring
    Trojaner
    Einmalpasswort und Smartcards
    Sicherheitslöcher im Netzwerkbereich
    IP Adress Spoofing
    ICMP – Angriffe
    Internet – Routing – Angriffe
    Broadcast – Stürme durch ARP – Missbrauch
    Der IP – Fragment – Angriff
    IP – Bombing
    SYN – Flooding
    Der TCP – Sequenznummern – Angriff
    Abbruch und Übernahme von TCP – Verbindungen
    UDP – Spoofing
    DNS
    SMTP
    Telnet – Angriffe
    FTP – Angriffe
    NNTP
    Fehler in der Software
    Der Pufferüberlauf
    Mangelhafter Syntaxcheck
    Race Condition
    Nachwort
    Links zu interessanten Seiten im Internet





    1. Vorwort

    Hier wird auch auf die einzelnen Beispiele speziell eingegangen. Es werden nur einige Angriffsmethoden erklären, damit man sich gegen diese schützen kann. Dieser Text soll keine Anleitung dazu sein, wahllos andere Rechner anzugreifen und eventuell zu schädigen. Er soll lediglich über verschiedene Angriffsmethoden aufklären. Im Nachwort stehen die Quellen dieses Tutorials. Wenn ihr Fragen, Anregungen oder Kritik zu diesem Tutz habt, schickt mir einfach ne Mail.

    Die beste Ansicht erzielt ihr mit dem IE oder Word. Bei Benutzung von Netscape kommt es zu Darstellungsfehlern mit den Grafiken.



    2. Informationsbeschaffung

    Wenn sich ein Angreifer einem Netzwerk nähert (egal, ob von innen oder von außen), ist sein erstes Ziel, so viele Informationen wie möglich zu beschaffen. Dabei spielen nicht nur die Passwörter eine Rolle, sondern auch Infos über die dort eingesetzte Hard- und Software. Wenn der Angreifer im "inneren" des Netzwerkes befindet, ist die Beschaffung dieser Infos einfacher, als wenn er von "außen" über eine Firewall zugreifen muss.
    Aber selbst dann können mit den entsprechenden Programmen aussagekräftige Daten über die Struktur gesammelt werden. Die hierzu benötigten Tools können über das Internet beschafft werden. Im einzelnen sind dies:

    Adressscanner
    Portscanner
    Protokollanalysatoren
    Bannertexte
    Fingerprinting
    Die allgemeinen Informationsdienste



    3. Adress- und Portscanner

    Um aus einem unbekannten Netzwerk eine möglichst vollzählige Liste aller Knoten zu gewinnen, muss jede potentielle Netzwerkadresse mit einem Paket angesprochen werden. Kommt ein solches Datenpaket zurück, kann mit hoher Wahrscheinlichkeit auf die "Anwesenheit" eines Gerätes geschlossen werden. Diese Aufgabe wird von Adressscannern wahrgenommen. Im IP – Bereich senden diese z. B. einen ICMP Echo – Request (Ping – Paket) an alle möglichen Adressen eines Subnetzes und warten auf die Antwortpakete vom Typ ICMP Echo – Reply.

    Da viele Firewalls einen ICMP – Verkehr abblocken, versuchen gute Adressscanner auf mehreren Wegen an die gewünschten Informationen zu kommen. Alle denkbaren Protokolltypen werden ausprobiert um schließlich doch eine Antwort und damit die Information zu bekommen. Auch die Wahl einer falschen Absenderadresse (aus dem Adressbereich des Opfers) hilft manchmal weiter. Der Angreifer muss allerdings sicherstellen, dass die Antwortpakete bei ihm vorbeikommen.

    Wenn dann eine Liste der aktiven Netzwerkknoten erstellt ist, ist die Suche nach wartenden Serverprozessen die nächste Aufgabe. Diese wird von den Portscannern erledigt, die meist als kombinierte Adress- / Portscanner auch die Suche nach den Knoten durchführen. Beim Portscan werden Wünsche nach TCP – Verbindungsaufnahmen oder UDP – Pakete an alle oder einen Teil der Ports gesendet und aus den Antworten Rückschlüsse auf aktive Dienste geschlossen.

    Auch hier besteht bei Zugriffen vom Internet aus die Möglichkeit, dass Firewallsysteme die Pakete überwachen und es ggf. nicht weiterleiten. Bei UDP – Paketen sind die Möglichkeiten eine Firewall zu überlisten gering; aber beim TCP – Portscan gibt es eine Reihe von Varianten, die eine nähere Betrachtung wert ist. Die einfachst Variante des Scans empfindet eine gewöhnliche TCP – Verbindungsaufnahme nach. Dabei spielen die TCP – Flagge, die sog. Code – Bits SYN und ACK, die entscheidende Rolle. Diese Art der Kontaktaufnahme ist allerdings von Firewalls leicht festzustellen du zu blockieren.

    Der TCP SYN – Scan, auch half open Scan genannt, verzichtet auf den kompletten Dreiphasen – Handshake.

    Es sendet ein SYN – Paket und wartet auf die Antwort. Kommt eine SYN / ACK – Antwort, ist ein Dienst gefunden. Das folgende Reset – Paket RST beendet diese Verbindung gleich wieder. Kommt allerdings keine Antwort oder ein RST – Paket, ist an dem angesprochenen Port kein Dienst aktiv oder eine Firewall blockt den Port ab.

    Der TCP FIN – Scan nutzt eine Menge weitere TCP – Flagge, mit der das Ende einer bestehenden TCP – Verbindung angezeigt wird. Wartet am betreffenden Port kein Serverprozess, wird ein RST – Paket gesendet. Kommt hingegen keine Antwort, kann auf die Existenz eines Dienstes geschlossen werden, da in den TCP – Spezifikationen auf ein FIN – Paket bei nicht zuvor geöffneter Verbindung keine Antwort erfolgen darf. Firewalls lassen FIN – Pakete häufig passieren, so dass mit dieser Technik ein Blick hinter die Kulissen geworfen werden kann.

    Die bisher angesprochenen Scan – Verfahren können bei Bedarf mit einer zusätzlichen Fragmentierung auf IP – Ebene durchgeführt werden. Fragmente sind von Paketfiltern nur schwer zu durchschauen weil die Pakete am Zielsystem zusammengebaut werden, und dann dort zu den oben beschriebenen Antworten führen.

    Ein UDP – Scan ist bedeutend schwieriger durchzuführen als ein TCP – Scan, da ein aktiver Serverprozess nicht verpflichtet ist, ein Antwortpaket zu senden. Ebenso müssen inaktive Ports keine Fehlermeldung senden, doch in der Praxis kann aus dem Empfang eines ICMP Port unreachable – Paketes auf einen inaktiven Port geschlossen werden.

    Die Ergebnisse eines Portscans können wichtige Aufschlüsse über das eingesetzte Betriessystem und die darauf laufenden Applikationen geben. So sind die Ports 135 – 139 wichtige Indizien auf Microsoftsysteme, wohingegen Portnummern ab 512 die unter Unix verbreiteten r – Dienst bedeuten. Auch Firewalls und sogar Intrusion – Detection – Systeme verraten sich durch ihre Administrations- und Kommunikationsports, wenn der Scan aus dem Intranet ausgeführt wird. Verantwortungsvolle Administratoren ändern deshalb grundsätzlich die Nummern dieser Ports, sofern die Konfiguration der Systeme das erlaubt.





    4. Protokoll – Analysator

    Protokoll – Analysatoren sind Geräte, die es Wartungstechnikern ermöglichen, den Netzwerkverkehr zu untersuchen und Fehler bei der Übertragung zu lokalisieren. Derartige Analysatoren gibt es als dedizierte Gerte, aber auch als Zusatzprodukte für die gängigen Betriebssysteme. Sie zeichnen nicht nur die bei der Suche nach Fehlern nötigen Header und Flaggen auf, sondern die gesamten Pakete inklusive Datenteil. Protokoll – Analysatoren können auf vielfältige Weise als Angriffstool missbraucht werden. sie liefern Informationen über

    Geräte im Netz
    Eingesetzte Netzwerkprotokolle
    Dienste
    Inhalte der Kommunikation (Daten)
    Werden die Daten im Klartext übertragen, können wertvolle Informationen z. B. über Passwörter und Benutzernamen abgelesen werden. Die aufgezeichneten Inhalte von Telnet- oder Rlogin – Session geben direkt oder indirekt Auskunft über die Netzinfrastruktur des potentiellen Opfers, so dass der "Hacker" in Ruhe sein eigentliches Angriffsziel auswählen kann. Diese sogenannten Sniffer sind auf speziell konfigurierbare Netzwerkkarten angewiesen, da der gesamte Netzwerkverkehr aufgezeichnet werden muss. Die Interfaces müssen sich in den sogenannten Promiscuous Mode umschalten lassen. Werden Switches eingesetzt, so können Analyseprogramme nur einen kleinen Teil der im Segment enthaltenen Daten aufzeichnen. Die Verschlüsselung von Daten entwertet die gelesenen Informationen, doch ist diese Maßnahmen im Intranet, wo die meisten Sniffer eingesetzt werden, wegen der hohen Kosten kaum durchzusetzen.
    5. Bannertexte und Informationsdienste

    Banner sind diejenigen Texte, die ein Dienst bei der Anmeldung eines Clients diesem übersendet. Sie enthalten meist Informationen über Versionsnummern, so dass es für den Angreifer kein Problem ist, spezifische Angriffe einzusetzen. Bannertexte werden im ASCII – Format übermittelt und können mittels Telnet abgefragt werden:

    telnet saturn

    Welcome to SuSE Linux 6.2 (i386) - Kernel 2.2.10 (pts/0).

    login:

    Aber auch andere Dienste können mittels Telnet ausgehorcht werden, z. B. Mail- bzw. FTP – Server:

    telnet saturn 25

    220 saturn.mac.ac ESMTP Sendmail 8.9.3/8.9.3; Sun, 19 Mar 2000-07-16 09:48:15

    telnet saturn 21

    220 saturn Microsoft FTP Service /Version 3.0)

    telnet mars 21

    220 ProFTPD 1.2.0pre3 Server (powered by SuSE Linux) [mars.mac.ac]

    Der letzte Versuch (ProFTP – Server) offenbart eine höchst gefährdende Version. Ein im Internet verfügbarer Angriff verschafft dem entfernten Angreifer den vollen Zugriff auf die Maschine (mit Root – Rechten versteht sich). Bannertexte sind meist unveränderbar.. bietet der Dienst z. B. über die Konfigurationsdatei jedoch die Möglichkeit, diese Texte individuell anzupassen, sollte von dieser Möglichkeit auch Gebrauch gemacht werden.

    Über die Bannertexte hinaus bieten die meisten Betriebssysteme ganz freiwillig weitere Daten über ihre interne Struktur an. Diese Informationsdienste laufen als Serverprozesse auf den Rechnern und warten an genau definierten Ports auf informationshungrige Clients. Beispiele sind hier die in der Unix – Welt wohlbekannten finger- und rwho – Dienst oder unter Windows NT das Programm nbstat. Wegen der Abhängigkeit vom Betriebssystem werden die Informationsdienst in den entsprechenden Kapiteln genauer behandelt.



    6. Fingerprinting

    Eine recht neue Art der Informationsgewinnung über fremde Systeme ist das sogenannte Fingerprinting. Die zugrundeliegende Theorie geht davon aus, dass die Netzwerkstacks von verschiedenen Systemen sich in einigen Kleinigkeiten unterscheiden, vor allem in Antworten auf ungenormte Fragen. Mit einem Bündel solcher Anfragen kann dann aus den gesammelten Antworten ein recht genaues Abbild des Systems gewonnen werden, das (analog zu einer Verbrecherkartei) einen Fingerabdruck ergibt. Dieser wird mit einer vorgegebenen Datenbasis verglichen.

    Die in der Praxis verfügbaren Tools zum Fingerprinting nutzen in der Regel ungebräuchliche TCP – Flagge oder andere selten genutzte Protokollvarianten zur Generierung ihrer Abfragen:

    TCP – Flaggen SYN, ACK, RST, FIN, URG (Urgent) und PSH (Push)
    Die restlichen (reservierten) Flaggen im TCP – Header
    Verschiedene ICMP – Anfragen
    Aus den Antworten auf diese (und einigen anderen) Paketen ergibt sich ein recht genaues Bild des analysierten Systems:
    jupiter:~ # nmap –0 neptun

    Remote operating system guess: Linux 2.1.122 - 2.1.132

    jupiter:~ #nmap –0 saturn

    Remote operating system guess: Windows NT4/Win95/Win98



    7. Account- und Passwortangriffe

    Die häufigste Ursache für erfolgreiche Einbrüche in Computersysteme liegt im Versagen des Mechanismus für die Zugangsberechtigung (Authentifikation). Die Schlüsselrolle aller Authentifikationssysteme spielt dabei die Methode, mir der Identität eines Benutzers und damit verbunden die Nutzungsrechte, die ihm zugeteilt worden sind, überprüft werden (Authentifizierung + Identifikation = Authentifikation).

    Die am meisten verbreitete Methode der Benutzerindentifikation basiert auf Passwörtern, die währen des Anmeldevorgangs eingegeben werden. dem Computer – System selbst müssen die betreffenden Kennwörter natürlich ebenfalls bekannt sein. Deshalb werden die verschlüsselten Kennwörter in verschlüsseltem Zustand auf den Systemen abgelegt. Zugangssysteme, die höheren Sicherheitsstandards genügen müssen, benutzen Einmalpasswörter, Smartcards oder personenbezogene Identifikationmerkmale (Fingerabdruck, Stimme, usw. usw.) zur Authentifikation. Um in den Besitz von Passwörtern zu kommen, werden von Angreifern fünf unterschiedliche Strategien angewandt:

    Erraten des Passwortes (Passwort Guessing)
    Systematisches Passwortraten unter Nutzung der Datei mit den Verschlüsselten Passwörtern (Passwort Cracking)
    Protokollanalyse mit Passwortfiltern (Passwort Sniffer)
    Login/Passwort – Monotoring mittels TSR – Programmen (Keylogger) und Trojanischen Pferden
    Social Hacking.



    8. Passwort Guessing

    Die trivialste und in einigen Fällen auch die schnellste Methode, um Zugang zu einem Computersystem zu erreichen, ist das Erraten der Login/Passwortkombination. Dabei wird meist von bekannten oder häufigen Zugangskennungen (Logins) wie

    Administrator
    Guest
    Field
    Service
    und anderen ausgegangen und versucht, das dazu passende Passwort zu erraten. Mehrere Studien haben gezeigt, dass viele Benutzer von Computer – Systemen dazu neigen, außerordentlich leicht zu erratende Passwörter auszuwählen, da diese auch leicht in Erinnerung behalten werden können. Eine Untersuchung in großen Industrieunternehmen ergab, dass 10% aller Benutzer ihre Vornamen als Passwort verwenden.
    Typische Login/Passwortkombinationen, die immer wieder auf Systemen gefunden werden, sind field/service, guest/guest oder admin/admin. Solche Accounts werden in Benutzerhandbüchern oft als Beispiele verwendet oder sind auch nach der Installation als Standardkonfiguration vorhanden. Werden diese Sicherheitslöcher nicht erkannt, haben selbst unerfahrene "Hacker" leichtes Spiel.



    9. Passwort Cracking

    Die Methode des systematischen Passwortratens setzt voraus, dass Angreifer in der Lage ist, in Besitz einer Kopie der Passwortdatei zu kommen. Die Passworteinträge in dieser Datei sind so codiert, dass eine direkte Entschlüsselung nicht möglich ist (Hash). Mit Hilfe spezieller Programme kann aber zumindest ein Teil der Passwörter in relativ kurzer Zeit enttarnt werden. dabei werden Programme wie "Crack" oder "L0phtcrack" benutzt, die in der Lage sind Passwörter, die nach dem selben Algorithmus wie er vom Betriebssystem verwendet wird, zu entschlüsseln.

    Wortbibliotheken, die Zehntausende von Wörtern enthalten, werden damit systematisch verschlüsselt und das jeweilige Ergebnis mit den codierten Einträgen der Passwortdatei verglichen. Ist die Bibliothek durchgearbeitet, schalten einige dieser Programme in den Brute – Force – Modus um, in dem die alle Kombinationen von Buchstaben, Ziffern und Sonderzeichen testen.

    Daniel Klein ("Foiling the Cracker")zeigte schon 1990 anhand einer Untersuchung von 15000 Unix – User Accounts, dass etwa 25% der in Passwortdateien verschlüsselten Passwörtern mit einer solchen systematischen Ratestrategie enttarnt werden können. Die Entschlüsselung von 2,7% der Passwörter führte im Durchschnitt bereits nach einer Rechenzeit von 15 Minuten zum Erfolg. Das erste Passwort konnte schon nach 2 Minuten aufgedeckt werden. das Funktionieren dieser Methode basiert einzig und allein darauf, dass in überwiegenden Zahl von Netzwerken zumindest ein Teil der benutzten Passwörter aus Wörtern und/oder Namen besteht, die leicht zu erraten sind. Bereits bei einer Kombination von zwei kurzen, aus drei bis fünf Buchstaben bestehenden Zeichenkette, die durch ein Komma oder einen Punkt getrennt sind, wie z. B.:

    Pass, sys

    wird das Erraten wesentlich schwerer. Bei der zusätzlichen Anwendung einer Kombination aus Sonderzeichen sowie abwechselnder Groß- und Kleinschreibung ist eine Entschleierung mit Wortlisten sehr Zeitaufwendig bzw. fast unmöglich.

    Die große Zahl an erfolgreichen Passwortdatei – Entschlüsselungen mit Hilfe von umfangreichen Wortlisten wurde durch die heute bereits in PC’s vorhandene hohe CPU – Rechenleistung ermöglicht. Als der DES – Algorithmus Mitte der siebziger Jahre entwickelt wurde, benötigten die damals schnellsten Workstations vom Typ DEC – PDP – 11 noch an die 250 ms, um ein Unix – Passwort zu entschlüsseln. Pro Sekunde konnten also etas drei Passwörter codiert werden. heutige PC’s mit schnellen Pentium oder Athlon – CPU’s sind dagegen in der Lage, mehr als 1000 Passwörter pro Sekunde zu verschlüsseln. In fünf Stunden können also 18 Millionen Wörter und Wortkombinationen verschlüsselt und mit dem Code der Passwortdatei verglichen werden.

    Mit zunehmender Rechenleistung wurden auch die Programme immer raffinierter. So verschlüsseln Cracker wie Cracker – Jack schon längst nicht mehr nur den unveränderten Inhalt von Wortlisten. Jeder Eintrag der Wirtliste wird auf Wunsch durch die unterschiedlichen Groß- und Kleinschreibungsreihenfolge, sowie durch Permutation der Buchstabenreihenfolge mehrfach getestet. So wird der Eintrag "michael" als Michael, miCael, micAel, micaEL, MicaeL, Michael verschlüsselt. Nun wird gezeigt anhand eines Beispiels, wie Cracker-Jack durch unterschiedliche Permutationen des User – Account – Eintrages ein verschlüsseltes Passwort angreift.





    --------------------------------------------------------------------------------

    billy:EncrPassword:123:Billy The Kid:/ur/billy:/bin/csh

    There are 4 Levels of gecos manipulation

    1: Each word

    e.g. "Billy", "The", "Kid"

    2: Combination af any 2 words

    e.g. "BillyThe", "BillyKid", "TheBilly", "TheKid", …

    4: Combination of 1 word and up to 2 initials

    e.g. "BillyTK", "BillyKT", "TKBilly", "TbillyK", "Bkid", …

    8: Combination of substrings of to 3 words

    e.g. "BiThKid", "BillKi", "BilTheKi", "TheBillyK", "BTK", …

    Level 1, 2 and 4 can added together.



    --------------------------------------------------------------------------------



    Die nachfolgende Tabellen aus der Studie von Daniel Klein geben einen Überblick, welche Typen von Passwörtern mit Hilfe von Wortlisten und deren einfachen Permutation enttarnt werden konnten. 2.7% der Passwörter konnten über eine User – Account – Liste enttarnt werden, 6,2% über Namenslisten (weibliche, männliche Namen) und über 7,4% über Vokabular – Listen (Dictionary Wordlists).

    Passworttyp
    Größe der
    benutzten

    Wortlisten
    Anzahl der
    Entschlüsselungen
    Prozentsatz von
    Allen untersuchten

    Passwörtern

    User Account Name
    Buchstabenfolge

    Zahlen

    Chinesisch

    Geographie

    Gebräuchliche Namen

    Weibliche Namen

    Männliche Namen

    Ungewöhnliche Namen

    Mythen/Legenden

    Shakespeare

    Sport

    Wissenschaft

    Kino/Schauspieler

    Cartoons

    Prominente

    Familiennamen

    Biologie

    Vokabular-Listen

    Maschinen

    Abkürzungen

    Bibel

    Verschiedene Wörter

    Jüdische Wörter

    Asteroiden
    130
    886

    427

    392

    628

    2239

    4280

    2886

    4955

    1246

    473

    238

    691

    99

    92

    290

    33

    58

    19683

    9018

    14

    7525

    3212

    54

    2407
    368
    22

    9

    56

    82

    548

    161

    140

    130

    66

    11

    32

    59

    12

    9

    55

    9

    1

    1027

    132

    2

    83

    54

    0

    19
    2,7%
    0,2%

    0,1%

    0,4%

    0,6%

    4,0%

    1,2%

    1,0%

    0,9%

    0,5%

    0,1%

    0,2%

    0,4%

    0,1%

    0,1%

    0,4%
    0,1%

    0,0%

    7,4%

    1,0%

    0,0%

    0,6%

    0,4%

    0,0%

    0,1%






    Als Passwörter sind zu vermeiden:

    Namen

    der eigene Name, inklusive Spitz- Nickname
    der Name der Freundin, Verwandten, Kindern etc.
    Ortnamen, Plätze, Länder
    Romanhelden, Prominenten
    Computersysteme, Autos etc.
    Zahlen
    Telefonnummer
    Geburtstage
    Autokennzeichen
    Führerscheinnummer
    Adresse
    Bekannte Zahlenfolgen wie 0815 etc.
    Ziffernfolgen wie 12345, 11111 etc.
    Benutzernamen in jeglicher Form wie z. B.:
    Mike_user
    Mikeuser
    Mike_user! Etc.
    Jegliche Wörter aus einem Wörterbuch, egal aus welcher Sprache.
    Wörter, von denen man nicht annimmt, dass sie in Wörterbüchern vorkommen wie:

    Schimpfwörter
    Flüche
    Technische Begriffe
    Sprichwörter, Phrasen wie:
    Make my day
    Willkommen an Bord
    Don’t worry be happy etc.
    Passwörter, die aus einem Buchstaben bestehen wie:
    yyyyyyy etc.
    Tastaturfolgen wie:
    qwertz
    asdf
    ölkj etc.
    Tastenkombinationen, die man durch Beobachtung bei der Eingabe erkennen kann wie:
    163ß74 (außer man ist schnell im Schreiben)
    Begriffe und Vorliebe, für die man bekannt ist:
    Lieblingsfilm
    Musikrichtung etc.
    Jegliches Objekt, dass vom Arbeitsplatz aus ins Auge fällt.
    Passwörter, die man in der Vergangenheit bereits benutzt hat.







    10. Richtlinien zur Passwortwahl

    Werden bei der Auswahl der Passwörter bestimmte Richtlinien beachtet, so bedeutet dies bereits eine erhebliche Erhöhung der Sicherheit des Gesamtsystems. Da die Kosten für die damit verbundenen Maßnahmen vernachlässigbar sind, sollte kein Unternehmen darauf verzichten, diese – gegebenenfalls auch gegen den passiven Widerstand der Mitarbeiter – durchzusetzen.

    Gut gewählte Passwörter machen ein Erraten, selbst wenn dem Eindringling die Passwortdatei in die Hände fällt, fast unmöglich. Im allgemeinen sollten für ein Passwort die vier folgenden Eigenschaften gelten:

    schwierig, selbst mit umfangreichen Wortlisten nicht zu erraten
    leicht zu merken
    regelmäßig abgeändert
    gut geschützt (verschlüsselt / unzugänglich) am Zielsystem gespeichert
    Die regelmäßige Änderung von Passwörtern schützt gegen Brute – Force – Angriffe. Als allgemeine Faustformel kann gelten, dass sich ein Passwort signifikant häufiger ändern muss, als es durch einen Brute – Force – Angriff statistisch geknackt wird.
    In der nachfolgenden Auflistung sind konkrete Empfehlungen aufgelistet, die – werden sie befolgt – jedem Eindringling den Einbruch in das System enorm erschweren. Gegen Sniffer, die – einmal eingeschleust – in der Lage sind, jede Keyboard – Eingabe mitzulesen, bieten allerdings selbst die härtesten Passwörter und die am besten geschützten Passwortdateien keinen Schutz.





    --------------------------------------------------------------------------------

    Folgende Richtlinien sollten bei der Passwortauswahl berücksichtigt werden:

    Das Passwort sollte regelmäßig geändert werden
    Das Passwort sollte sowohl Groß- als auch Kleinbuchstaben beinhalten
    Das Passwort sollte Ziffern und Sonderzeichen enthalten
    Erfindet einfach Abkürzungen als Gedächtnishilfe wie z. B. Iow2basN:t#1 I only want to be a small number: the number 1
    Kombiniert mehrere Worte miteinander: AngstessenSeeleauf
    Das Passwort sollte eine Mindestlänge von 6 Zeichen haben – je länger desto sicherer

    --------------------------------------------------------------------------------

    Man sollte aber auch bedenken, dass die Benutzer durch den Zwang extremer oder zu langer Passwörter frustriert werden können. Die Passwörter werden dann nicht selten unter der Schreibunterlage versteckt oder kleben sogar manchmal direkt am Monitor. Hier muss ein Kompromiss zwischen Nutzbarkeit und Sicherheit getroffen werden, die User müssen sensibilisiert werden und vom Sinn und Zweck der komplizierten Passwörter überzeugt sein.





    11. Test der Passwörter

    Wie hoch die Qualität der Passwörter im eigenen Netzwerk ist, lässt sich am besten dadurch überprüfen, dass man versucht, ausgerüstet mit den Passwortcrackern und zahlreichen Wortlisten, die Passwortdateien zu entschlüsseln.

    Es gibt aber auch die, zugegeben etwas außergewöhnliche, Methode, wie sie von einigen Firmen in der Vergangenheit angewendet wurde. Diese Firmen forderten die Hacker auf, ihr System zu knacken und versprachen bei Erfolg ein "Preisgeld". Diese Angriffe wurden protokolliert und ausgewertet. Anhand dieser Angriffe konnte man feststellen, welche Schwachstellen ein System hat bzw. auch welchen Wegen hauptsächlich versucht wird, in ein Computer – System einzudringen. Das ist zwar eine recht sichere Methode um Sicherheitslücken aufzudecken, allerdings rechnet sich der finanzielle Aufwand in den seltensten Fällen.

    Im letzten Abschnitt werden einige Links zu Seiten aufgelistet, bei denen man sich die geeigneten Programme downloaden kann.





    12. Passwort – Sniffing

    Eine weitere Methode zur Ermittlung von Passwörtern und Benutzeridentifikationen ist die Überwachung der Datenpakete auf IP – Protokollebene, wie bereits im Kapitel "Informationsbeschaffung" angesprochen. Diverse Protokollanalyseprogramme, die teils mit Betriebssystemen mitgeliefert werden, teils als Freeware für diverse Plattformen verfügbar sind, ermöglichen oft die Nutzung einer gewöhnlichen Netzstation als LAN – Analysesystem.



    BSD, FreeBSD, NetBSD tcpdump

    DEC Unix tcpdump

    HP/UX nettl, netfmt, nfswatch

    Linux tcpdump

    SGI Irix nfswatch, Etherman

    Solaris snoop, rcpdump

    SunOS etherfind, nfswatch

    Windows NT Netzwerkmonitor

    Netware LANalyser







    Vielfach versuchen "Hacker", solche Programmen in das Zielsystem einzuschleusen bzw. bereits dort vorhandene Programme zu starten und für ihre Zwecke zu missbrauchen. Gelingt dies, so gelangt der Eindringling in kürzester Zeit in den Besitz einer großen Zahl von Passwörtern und Usernamen. Grundsätzlich sollten sich solche Analyse – Programme weder auf Servern oder Gateways, noch auf den Systemen von gewöhnlichen Benutzern befinden. Mit Hilfe von Filtern und Trigger – Funktionen kann in weiterer Folge nicht nur auf Internet – Adressen, sondern auch auf die Inhalte der Datenpakete gefiltert werden (z.B. Zeichenketten wie "login" oder "password").

    Selbst wenn die Passwörter mit eurem Hash verschlüsselt über die Leitung gehen, können sie gelesen und mit einem Passwortcracker entschlüsselt werden..



    13. Passwort – Monitoring

    Eine weitere äußerst gefährliche Einbruchsvariante besteht in der Installation von kleinen Programmen, die im Hintergrund laufend, jede Tastatureingabe überwachen (Keylogger). Wenn es dem Eindringling später gelingt, die Datei mit den erbeuteten Zugangserkennungen wieder abzuholen, steht ihm das System offen zur Verfügung. Es besteht bei einigen Keyloggern auch die Möglichkeit, sich die aufgezeichneten Daten per Email zuschicken zu lassen.





    14. Trojaner

    Eine weit verbreitete Methode, in den Besitz von Passwörtern zu kommen, ist der Einsatz von kleinen Programmen, die unter dem Namen "Trojaner" oder "Trojanische Pferde" bekannt sind. Diese Programme basieren darauf, als etwas anderes zu erscheinen, als sie tatsächlich sind. Im einfachsten Fall wird ein solches Programm vom ahnungslosen User gestartet und führt keine Funktion aus (es kann auch sein, dass sie mit anderen Programmen verbunden sind). Einfach programmierte Trojaner haben meistens nur eine Funktion. Sobald der User das Programm startet, wird eine Bildschirmmeldung ausgeworfen wie z.B.:

    Error: Incorrect passwort

    Wenn der Benutzer dann dieser Meldung folge leistet und sein Passwort wiederholt eingibt, wird dieses gespeichert und per Mail an den Besitzer zurückgeschickt. Es gibt aber auch Trojaner, die – einmal gestartet – dem Versender die volle Kontrolle über den infizierten Computer ermöglichen. Einige Links zu Internetseiten findet ihr im letzten Kapitel.





    15. Einmalpasswörter und Smartcards

    Wirklichen Schutz gegen die bisher beschriebenen Methoden des Passwortdiebstahls bieten lediglich Authentifizierungsmethoden auf der Grundlage von Einmal – Passwörtern, wie sie bei Banken und Versicherungen üblich sind. Jeder Benutzter bekommt dabei regelmäßig einen Ausdruck mit mehreren Passwörtern. Bei jedem Anmeldevorgang wird ein anderes Passwort benutzt und danach von der Liste gestrichen (ähnlich wie beim TAN – Nummern – Verfahren).

    Aufwendigere Schutzeinrichtungen benutzen kleine Hardware – Einheiten (Dongle) mit Displays, über die in Abhängigkeit von Datum und Uhrzeit zu jedem Zeitpunkt ein unterschiedliches Passwort ausgegeben wird. Das Server – System kann das Passwort prüfen, da es über einen synchronen Takt verfügt.

    Andere Systeme basieren auf Einsteckkarten, die sog. Smart Cards. Diese sind in der Lage, in direkter Kommunikation mit dem Zielsystem den Authentifikationsprozess zu durchlaufen. Die Passwörter müssen dabei nicht manuell eingegeben werden und können ohne Beeinträchtigung der Handhabbarkeit mit langen Zugangscodes arbeiten.

    Doch selbst Hochsicherheitssysteme, die auf Einmalpasswortsystemen in Kombination mit Zeitsynchronisation zwischen Client und Server basieren, können überwunden werden. Hacker versuchen dabei, mehrere Einmalpasswörter aufzuzeichnen und diese nach dem Zurückstellen der Systemzeit durch einen Angriff auf den Zeitserver (NTP – Angriff) nochmals zu verwenden.





    16. Sicherheitslöcher im Netzwerk

    Mit der Einführung des Internets für kommerzielle Anwendungen und der Einführung von Internet – Technologien in Unternehmensnetze (Intranets) setzte sich in den neunziger Jahren TCP/IP als das zentrale Transportprotokoll in der Datenverarbeitung durch. Proprietäre Protokolle wie SNA, IPX, DECnet oder Appletalk sind zwar nach wie vor im Einsatz, spielen allerdings eine zunehmend geringe Rolle.

    TCP und IP wurden Ende der siebziger Jahre vom amerikanischen Verteidigungsministerium (Departmenr of Defense DOD) für das damalige ARPAnet, dem Vorläufer des Internets, entwickelt. Dort wird es seit 1983 als das offizielle Transportprotokoll benutzt, und hat sich seitdem auch für lokale Netze zum Industriestandart entwickelt. Heute werden beide Protokolle von der Internet Engineering Task Force (IETF) weiterentwickelt und für neue Technologie adaptiert (TCP/IP über ATM, digitale Kabelnetze, drahtlose Übertragung etc.). Da beim Design von TCP/IP die spätere kommerzielle Nutzung nicht vorsehbar war, besitzt TCP/IP eine Reihe von systemimmanenten Mängeln, die zum größten Teil mit der neuen IP – Version 6 (Ipv6) beseitigt werden können. Dazu gehören ein zu kleiner Adressraum, fehlende Möglichkeiten der Priorvisierung von Echtzeitdaten sowie keine praktikablen Mechanismen für Verschlüsselung und Authentifizierung. Ipv6 löst diese Probleme zwar im wesentlichen, es setzt sich allerdings nur sehr zögerlich durch, weshalb in nahezu allen Datennetzen heute noch immer mit der älteren IP – Version 4 (Ipv4) gearbeitet wird.

    Obwohl sich TCP/IP während seines nunmehr über 24 jährigen Einsatzes in Datennetzen außerordentlich bewährte und letztlich in einem evolutionären Prozess alle Proprietären Transportprotokolle verdrängte, wurden immer wieder massive Sicherheitslücken in den TCP/IP – Mechanismen bekannt. Teilweise konnten sie zwar durch Hersteller von Routern- und Firewallsystemen geschlossen werden, allerdings besteht immer noch eine Vielzahl von Problemen. Neben dem systemimmatenenten Problemen liegt die Ursache eines Großteils von Einbrüchen auf der Basis der Transportprotokolle in der fehlerhaften Konfiguration von Computersystemen, Routern oder Firewalls. Lückenhafte Portfilterkonfigurationen, aktive ICMP – Optionen oder schlampig aufgesetzte Routing – Tabellen sind hier die "klassischen" Fehler, denen man immer wieder begegnet.

    Viele Angriffsmethoden benutzten TCP/IP – Sicherheitslücken nur, um dann aufsetzend auf Anwendungsprotokollen wie FTP, DNS, SMTP oder NNTP den eigentlichen Angriff zu starten. Nachfolgend werden alle wichtigen auf Transport- und Anwendungsprotokollen basierenden Angriffsmethoden im Detail beschrieben sowie entsprechende Gegenmaßnahmen aufgeführt.

    Dabei haben viele Angriffe nur das Ziel, Dienst oder gleich ganze Systeme das Opfers Lahmzulegen. Man spricht hier von Denial – of – Service – Angriffen. Ganz grob können die Angriffsszenarien im IP – Protokoll und den höheren Ebenen wie folgt eingeteilt werden:

    IP – Ebene:

    IP – Spoofing
    ICMP – Angriffe
    Routing – Angriffe
    Broadcast – Stürme durch ARP – Missbrauch
    IP – Fragmentierungsangriffe
    Bombardierung mit Paketen
    TCP – Ebene:
    SYN – Flooding
    TCP – Sequenznummern – Angriff
    Abbruch von TCP – Verbindungen
    Übernahme von TCP – Verbindungen (Hijacking)
    UDP – Ebene:
    UDP – Spoofing
    Anwendungsebene:
    Angriffe auf das DNS – System
    Angriffe auf Mailsysteme
    Telnet – Angriffe
    FTP – Angriffe
    Angriffe auf Newsserver
    Angriffe auf Webserver
    Die Angriffsmöglichkeiten auf Webserver werden wegen der zahlreichen Möglichkeiten in einem eigenen Kapitel beschrieben.




    17. IP – Adress Spoofing

    Die am häufigst verwendete Technik zur Überwindung von Firewall – Systemen und gleichzeitig die Grundlage für eine Reihe weiterer Angriffsmethoden stellt das Internet Adress Spoofing dar. Dabei werden vom Angreifer synthetische Datenpakete mit gefälschter IP – Senderadresse erzeugt, die das Pakte einer internen Station vortäuschen. Gefährlich ist diese Form des Angriffes vor allem dann, wenn als Firewall – System sogenannte Paketfilter zum Einsatz kommen, die lediglich in der Lage sind, am Ausgangsport von zu übertragenden Datenpaketen eine Filterung durchzuführen. Dabei geht die Information, ob es sich um ein externes gefälschtes handelt, verloren. Es wird, sobald die Sendeadresse als aus dem eigenen Adressbereich stammend erkannt wird, als Bestandteil von internen Kommunikationsbeziehungen behandelt und entsprechend weitervermittelt.

    Der Angreifer aus dem Internet erzeugt dabei ein "Spoofing – Paket" mit der Sendeadresse 181.12.10.201. Als Zieladresse benutzt er die Adresse des Opfers, das sich im Netzwerk 181.12.11.0 befindet. Der Firewall – Router vermittelt zunächst das synthetische Paket an den gewünschten Ausgangs – Port (181.12.11.0) und überprüft erst hier anhand der Filtertabelle die Sendeadresse. Das Paket wird dabei vermeintlich als von einem aus dem internen Netzwerksegment 181.12.10.0 stammendem System behandelt und weitervermittelt.

    Können von einem Angreifer mittels Adress – Spoofing erfolgreich IP – Pakete von außerhalb durch das Firewall – System hindurch in das interne Datennetz gesendet werden, kann dies als Ausgangspunk für eine Reihe von Angriffsvarianten über Source – Routing, RIP, ICMP, NNTP oder TCP – Sequenznummern genutzt werden.





    18. ICMP – Angriffe

    Das ICMP – Protokoll dient als integraler Bestandteil des Internet – Protokolls dazu, dem in einem Fehlerfall betroffenen Absender von IP – Datenpaketen das Auftreten von Netzwerkproblemen zu melden. Dieser hat dann die Aufgabe, entsprechende Maßnahmen zu ergreifen. Router oder Hosts werten solche Nachrichten allerdings häufig automatisch aus und führen entsprechende Rekonfigurationen durch. Durch das Versenden von manipulierten, künstlich erzeugten ICMP – Paketen sind Angreifer somit oftmals in der Lage, Computersysteme zu bestimmten Aktionen zu bewegen.

    Ziele von ICMP – Angriffen sind

    Beeinträchtigung der Funktionsfähigkeit des Netzwerkes
    Veränderung der Vermittlungspfade mit darauffolgendem Systemeinbruch
    Das Format von ICMP – Nachrichten

    Obwohl ICMP – Nachrichten enkapsuliert innerhalb con IP – Paketen versendet werden, können sie nicht mit einem höheren Protokoll wie TCP oder UDP verglichen werden. Sie sind ein Teil des eigentlichen Internet – Protokoll, der nicht deaktiviert werden kann. Als Sendeadresse von ICMP – Datenpaketen wird die Adresse jener Station, von der der Fehler entdeckt wurde, angegeben. Empfänger ist der ursprüngliche Versender des fehlerhaften bzw. des den Fehler auslösenden Paketes. Das Auftreten eines Fehlers wird somit lediglich dem Absender mitgeteilt, nicht aber den eventuell dazwischen liegenden Vermittlungssystemen

    Mit Hilfe des Typenfeldes werden die unterschiedlichen ICMP – Nachrichten spezifiziert. Die Tabelle (Abb. 7) zeigt die wichtigsten Belegungen. Die häufigsten ICMP – Angriffe werden unter Benutzung der ICMP – Nachrichten – Typen 3 (Destination Unreachable), a (source Quench) und 5 (Redirect) vorgetragen.
    0
    1

    2

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14
    Echo Reply
    Unassigned

    Unassigned

    Source Quench

    Redirect

    Alternat Host Adress

    Unassigned

    Echo

    Router Advertisement

    Router Selection

    Time Exceeded

    Parameter Problem

    Timestamp

    Timestamp Reply
    15
    16

    17

    18

    19

    20 – 29

    30

    31

    32

    33

    34

    35

    37 – 255
    Information Request
    Information Reply

    Adress Mask Request

    Adress Mask Reply

    Reserved (for Security)

    Reserved (for Robustness Experiment)

    Traceroute

    Datagram Conversion Error

    Mobile Host Redirect

    IPv6 Where – Are – You

    IPv6 I – Am – Here

    Mobile Registration Request

    Reserved





    Missbrauch der ICMP – Nachricht "Destination Unreachable"

    Wenn ein Datenpaket nicht an die gewünschte Adresse vermittelt werden kann, so sendet das letzte aktive Vermittlungssystem die ICMP – Nachricht "Destination Unreachable (ICMP – Typ3).

    Die ICMP – Nachricht Typ 3: >>Destination Unreachable<<

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12
    Network Unreachable
    Host Unreachable

    Protokoll Unreachable

    Port Unreachable

    Fragment Needed and DF set

    Source Route Failed

    Destination network unknown

    Destination Host unknown

    Source host isolated

    Communication with destination network administratively prohibited

    Communication with destination host adminastratively prohibited

    Network unreachable for type of service

    Host unreachable for type of service






    Zusätzlich werden neben dem Paket – Header noch die ersten 64 Datenbytes des betreffenden Datenpaketes mit dem ICMP – Paket übertragen. Dies dient dazu, der Sendestation die Möglichkeit zu geben, genau zu erkennen, welche Verbindung abgebrochen werden muss. Vielfach besteht nämlich zwischen zwei Internet – Adressen eine Vielzahl von Verbindungen, die jeweils unterschiedliche Adressen ansprechen. Einige ICMP – Implementationen sind allerdings nicht in der Lage, die Port – Informationen der ICMP – Pakete zu analysieren, und unterbrechen alle Kommunikationsbeziehungen zwischen den beiden betroffenen Internet – Hosts. Angreifer können so mit geringem Aufwand in kürzester Zeit eine große Zahl von Internet – Verbindungen lahm legen.

    Eine Störung des Netzbetriebes kann durch die permanente Versendung der Nachricht "Fragmentation Needed and DF set" verursacht werden. dadurch werden die betroffenen Systeme veranlasst, ihre Daten fragmentiert in kürzeren Paketen zu versenden, was einer Erhöhung der Netzlast resultiert.

    Gegenmaßnahmen zu den beschriebenen Angriffen sind nicht ohne weiteres zu treffen, da ICMP eine notwendige Teilkomponente des Internet – Protokolls darstellt. Eine wichtige Maßnahme besteht jedoch darin, Router – Systeme so zu konfigurieren, dass nur eine bestimmte maximale Anzahl von ICMP – Nachrichten pro Zeiteinheit in das interne Netzwerk vermittelt werden können.

    Im Normal – Betrieb sollte die Anzahl der ICMP – Pakete verhältnismäßig gering ausfallen. Die meisten Netzwerk – Management – Systeme sind in der Lage, die Anzahl der übertragenen ICMP – Pakete zu überwachen und bei einem außergewöhnlichem Anstieg einen entsprechenden Alarm auszulösen.



    Missbrauch der ICMP – Nachricht "Source Quench"

    Source – Quench – Nachrichten werden gewöhnlich nur von Gateway – Systemen dazu benutzt, die Übertragungsrate von Sendestationen zu reduzieren, um eine Überlastsituation zu verhindern bzw. zu beenden. Die betreffenden Empfängerstationen reduzieren daraufhin so lange ihre Übertragungsrate, bis keine "Source – Quench" – Nachrichten mehr empfangen werden. durch das missbräuchliche, exzessive Versenden von künstlich erzeugten Source – Quench – Paketen kann der Datenverkehr daher empfindlich gestört werden.

    Missbrauch der ICMP – Nachricht "Redirect"

    Diese Nachricht wird von Routern benutzt, Hosts, die mit minimaler Routing – Information neu am Netzwerk aktiv werden (und denen z. B. nur die Adresse eines einzigen Routers bekannt ist), zur Benutzung der optimalen Route zu veranlassen. Router selbst sollten allerdings im allgemeinen so konfiguriert werden, dass sie immun gegen solche ICMP – Redirect – Nachrichten sind, und in jedem Fall ausschließlich nach den Routern ihrer Routing – Tabellen vermitteln.

    Angreifer von außerhalb sind sonst in der Lage, mit Hilfe von IP – Adress – Spoofing entsprechende ICMP – "Redirect" – Nachrichten in das Netzwerk einzuschleusen und Router so zu einer Änderung der Vermittlungswege über beliebige Stationen zu bewegen. Gelingt es so, Verbindungen über den externen Knoten des Angreifers selbst umzuleiten, ist ein massiver Netzeinbruch die unmittelbare Folge.

    Ping of Death

    Dieser Angriff basiert auf einem extrem langen ICMP Echo Request – Paket, welches in fragmentierter Form (aufgeteilt auf mehrere Teilpakete) an das Zielsystem gesendet wird. Normalerweise dient die Fragmentierung dazu, Netzwerkabschnitte deren maximale Paketlänge geringer ist als die eines bestimmten IP – Paketes zu überbrücken (IP – Pakete können bis maximal 65535 Bytes lang sein). Beim Ping of Death wird nun allerdings ein unzulässig langes Paket (>65535 Bytes) in fragmentierter Form übertragen. Nach dem Zusammensetzten des Paketes versuchen die Netzwerktreiber des Opfers dieses Paket zu verarbeiten, und verursachen dabei einen Systemabsturz.





    19. Internet – Routing – Angriffe

    IP – Pakete können durch Angaben im 8 Bit langem Optionsfeld verschiedene Zusatzfunktionen erfüllen. Diese werden im allgemeinen lediglich vom Systemadministrator für Test- und Überwachungszwecke genutzt. Routing – Optionen wie "Loose Source Routing" können allerdings auch zu Angriffen auf das interne Netzwerk von außerhalb verwendet werden.



    Optionsnummer Beschreibung
    0 End of option List
    1 No operation
    2 Security and handling restrictions
    3 Loose Source Routing
    4 Internet Timestamp
    7 Record Route
    8 Stream Identifier (obsolete)
    9 Strict Source Routing



    Der Source – Routing – Angriff

    Die einfachste Routing – Attacke benutzt die Internet – Protokolloption 9 (Strict Source Routing) bzw. 3 (Loose Source Routing). In beiden Fällen kann die Route durch das Netzwerk vom Sender des IP – Routing – Paketes bestimmt werden. Im Fall von "Strict Source Routing" muss dabei jeder Vermittlungsknoten in der richtigen Reihenfolge angegeben werden. Zwei als aufeinanderfolgend eingetragene Knoten müssen tatsächlich direkt miteinander verbunden sein. Ist dies nicht der Fall, erfolgt eine Fehlermeldung.





    "Loose Source Routing" lässt hingegen auch zusätzliche Vermittlungen (Hops) zwischen zwei angegebenen IP – Adressknoten zu, ohne dass die komplette Route angegeben werden muss. Es bietet sich demnach geradezu an, als Hilfsmittel für einen Angreifer von außen missbraucht zu werden. Der Datenstrom der Zielstation kann damit problemlos an das Computersystem des Eindringlings "umgeleitet" werden. Dazu simuliert der Angreifer wiederum die IP – Adresse eines internen Systems (IP – Adress – Spoofing) und öffnet unter Aktivierung der Option "Loose Source Routing" eine Verbindung zur Zielstation, wobei als Route für die Antwortpakete ein Pfad, der über das angreifende System führt, angegeben wird. Damit stehen dem eingedrungenem System alle Möglichkeiten der simulierten, internen Station zur Verfügung.

    Wieder liegt die Ursache für erfolgreiche Attacken nach der beschriebenen Methode in der Durchlässigkeit der Gateways des betroffenen Netzwerkes für IP – Pakete mit internen Adressen überexterne Datenleitungen. Die Aktivierung entsprechender Input – Filter bzw. die Filterung von IP – Paketen mit aktivierter Source Routing – Option schließt dies Lücke.



    Der RIP – Angriff

    Mit Hilfe des RIP – Angriffes ist es möglich, unbemerkt ganze Kommunikationsbeziehungen zwischen zwei internen Stationen über einen externen Angreifer "umzuleiten". Der Angreifer (X) simuliert dabei eine interne Station (A) und sendet modifizierte RIP – Pakete (Routing Information Protocol) an die zweite zugreifende Station (B) sowie an die Gateways, die zwischen X und B liegen. Diese Pakete weisen B sowie die Gateways an, jedes Paket von B nach A – entsprechend der gefälschten Routen – Information – nicht nach A, sondern nach X zu vermitteln. Der Angreifer X wertet die für A eingehenden Pakete aus (Passwörter, Logins, etc.) und sendet sie, versehen mit der "Source – Route – Option", weiter an ihren eigentlichen Bestimmungsort A. durch die Aktivierung der "Source – Route – Option" stellt X sicher, dass auch alle Antwortpakete von A nach B überwacht werden können. Ähnlich wie im Fall des Source – Route – Angriffs werden RIP – Angriffe durch Gateways verhindert, die IP – Adress – Spoofing – Pakete blockieren. Darüber hinaus sollten alle internen Router so konfiguriert sein, dass ohne weiteres eine Änderung der bestehenden Routen nicht möglich ist.



    Das Exterior Gateway Protocol (EGP)

    Dieses Protokoll wird dazu benutzt, um zwischen zwei autonomen Systemen Routing – Informationen auszutauschen. Im Internet werden damit beispielsweise sog. "Mid – Level – Netzwerke" an das Internet – Backbone angebunden. Die in Europa zur Kommunikation zwischen den Internetprovidern übliche EGP Variante ist BGP –4 (Boarder Gateway Protocol 4). Angriffe auf Basis dieser EGP können mit einem Schlag mehrere hundert Netzwerke betreffen. Eine Angriffsvariante besteht darin, ein anderes autonomes Gateway vorzutäuschen (EGP – Spoofing) und damit beispielsweise den gesamten Verkehr zwischen zwei Internetprovidern über das eigene System umzuleiten.





    20. Broadcast – Stürme durch ARP – Missbrauch

    Eine Angriffsvariante, die der massiven Beeinträchtigung der Betriebsbereitschaft des Zielnetzwerkes dient, sind ARP – Angriffe. Sie dienen dazu, Netzkomponenten gezielt in Überlastsituationen zu bringen, in der Hoffnung, undefinierte Zustände hervorzurufen und im Anschluss daran einen Angriff starten zu können. Normalerweise dient das Adress – Resolution – Protocol in Netzwerken dazu, die einer Internet – Adresse zugeordnete Hardware – Adresse zu finden. Dazu werden ARP – Pakete in Form von Broadcasts an alle Netzwerkteilnehmer versendet. Kann eine Adresse innerhalb eines Netzsegmentes nicht gefunden werden, leiten Gateways die ARP – Anforderung per Broadcast an alle angeschlossenen Netzwerke weiter. Wenn künstlich generierte ARP – Pakete zur Suche von nicht existierenden IP – Adressen generiert werden, so führt dies daher rasch zu einem "Broadcast – Sturm" der Gateways. "Verbessert" werden kann dieser Effekt noch, dass nach dem ersten Broadcast – Sturm synthetische "ARP – Replies" der nicht existierenden Adresse versendet werden, die von den Gateways wiederum per Broadcast weiterverbreitet werden. solche Broadcast – Stürme belegen rasch über längere Zeiträume den größten Teil der verfügbaren Übertragungsbandbreite und stören die Funktionsfähigkeit der betroffenen Netzwerke empfindlich. Wichtig ist es, in diesem Zusammenhang auch zu untersuchen, wie sich die eingesetzten Netzwerkkomponenten im Fall von extremer Überlast verhalten, um Angriffen während solcher Situationen vorzubeugen.





    21. Der IP – Fragment – Angriff

    Die Fragmentierung von IP – Datenpaketen dient gewöhnlich dazu, Netzwerkabschnitte, die lediglich eine bestimmte maximale Paketlänge unterstützen, zu überwinden. So liegt die maximale Nutzlast, die ein Ethernet – Paket übertragen kann, bei 1500 Bytes, während die maximale IP – Paketgröße 65535 Bytes beträgt. Die betroffenen Datenpakete werden deshalb (falls erforderlich) vom jeweiligen Gateway in Fragmente unterteilt. Nach der Übertragung werden die einzelnen Fragmente nicht sofort wieder reassembiert, , sondern zunächst an ihr endgültiges Ziel vermittelt. Erst dort erfolgt dann die Zusammensetzung zum ursprünglichem IP – Paket.

    Jedes Paketfragment enthält im IP – Header eine Identifikationsnummer, eine Fragmentierungsflagge sowie einen Fragment – Offset, wodurch Identität und Reihenfolge der Fragmente eindeutig definiert sind. Für auf Paketfilterung basierende Firewall – Systeme, die Vermittlungsentscheidungen auf Basis von TCP – Portnummern treffen, stellen fragmentierte Pakete daher eine mögliche Gefährlichkeit dar, weil lediglich im ersten Fragment die TCP – Portnummer enthalten ist und Fragmente ohne TCP – Port nicht ausgefiltert werden können. Ist das erste IP – Paket allerdings so kurz, dass die TCP – Portnummer erst im zweiten Paket erscheint, haben Paketfilter große Probleme.

    Paketfilter kontrollieren außer den Portnummer die TCP – Flaggen. So werden häufig ankommende Verbindungen (SYN – Flagge gesetzt) nur von bestimmten IP – Adressen erlaubt. Mit zwei sich überlappenden Fragmenten eines SYN – Paketes (negativer Offset) passieren die IP – Pakete das Firewall – System. Mit IP – Fragmenten kann außerdem eine Unzahl von Denial of Service Attacken ausgelöst werden. einer dieser Angriffe ist z. B. der "Ping of Death". Viele andere Varianten von unregelmäßigen Fragmenten sind denkbar, die beim Zusammenbau zu Problemen führen können (je nach Implementierung des IP – Stacks). Anschließend werden einige Beispiele für diese große Klasse von Angriffen gezeigt, deren Vertreter so klangvolle Namen wie teardrop, newtear, bonk oder boink haben. Diese Angriffe können nur durch eine sorgfältige Programmierung des IP – Stacks bekämpft werden. die Kontrolle von Fragmenten vor dem Zusammenbau sollte eine höhere Priorität haben als die Schnelligkeit der Verarbeitung.







    22. IP – Bombing



    Eine wirkungsvolle Sabotagetechnik, die in der Regel der Angriffsvorbereitung dient, ist die Bombardierung fremder Rechner mit IP – Pakete nach dem Motto : Die größere Bandbreite gewinnt. Dazu muss das Opfer von einer möglichst großen Zahl von Angreifern attackiert werden. zu diesem Zweck wurde eine Reihe von Angriffstools programmiert(Stacheldraht, Trin00, etc.), die alle nach dem gleichen Prinzip arbeiten. Zunächst muss im Internet nach Rechnern Ausschau gehalten werden, auf denen (unter Ausnutzung von Sicherheitslöchern) kleine Programme installiert werden können, die sog. Agenten. Das sind in der Regel Rechner von Universitäten oder anderen Organisationen mit ungenügend abgesicherten Netzwerken. Diese Agenten warten an bestimmten TCP bzw. UDP – Ports auf das Signal zum Angriff. Über bestimmte Nachrichten werden sie vom Angreifer gleichzeitig aktiviert und senden Netzwerkpakete zu Opfer. Da diese Angriffe verteilt ausgeführt werden, bezeichnet man sie auch als "distributed Denial of Service" Angriffe (DDoS). Schutz bieten nur Filterprogramme, die nach wartenden Agenten suchen und diese deaktivieren.





    23. SYN – Flooding

    Diese Angriffe basieren auf einer Implementationsschwäche des TCP/IP – Protokolls. Daten einer halb geöffneten TCP – Verbindung werden dabei über einen bestimmten Zeitraum im Speicher gehalten, um eventuell verspätet eintreffende Pakete noch korrekt zuordnen zu können. Werden nun in rascher Folge eine große Anzahl von Verbindungs – Anforderungen an ein System gesendet, ohne die jeweiligen TCP – Handshakesequenz zu beenden, so kann das betreffende Computersystem rasch zum Absturz gebracht werden. moderne Implementierungen von IP – Stacks setzten die Timeout – Zeit bis zur Freigabe des Speichers herunter bzw. legen ab einem Schwellwert nur einen kurzen Hash zur Identifikation der Verbindung ab. Die komplette Datenstruktur wird dann erst nach Empfang des ersten Datenpaketes aufgebaut.





    24. Der TCP – Sequenznummern – Angriff

    Das ist einer der gefährlichst und wirksamsten Methoden, um auf Paketfiltertechnik basierende Firewallsysteme zu überwinden. Unter Ausnutzung dieser bereits 1985 erkannten Sicherheitslücke können ALLE Sicherheitssysteme überwunden werden, deren Zugangsmanagement auf der Auswertung von IP – Sendeadressen beruht, überwunden werden. Der Ansatzpunkt dieses Angriffs liegt in der aus drei Schritten bestehenden Handshake – Sequenz während eines TCP – Verbindungsaufbaus. Vorraussetzung ist, dass, wie beschrieben, mit Hilfe von IP Adress Spoofing gefälschte IP – Pakete von außen in das interne Datennetz gesendet werden können.

    Eine TCP – Handshake – Sequenz arbeitet im Detail folgendermaßen: Soll vom Client A eine Verbindung zum Remote – Shell – Server B aufgebaut werden, so wird dies mit dem Datenpaket

    A > B: SYN, A_SNa

    eingeleitet, in dem von A das Synchronisationsbit SYN gesetzt wird und B die Anfangssequenznummer (Initial Sequenz Number ISN) der aufzubauenden TCP – Verbindung A_Sny mitgeteilt wird.

    Server B antwortet darauf mit

    B > A: SYN, A_SNb

    Dabei wird die Anfangssequenznummer A_SNb an den Client A übermittelt und gleichzeitig dessen Sequenznummer A_SNa bestätigt. A beendet mit der Bestätigung

    A > B: ACK (A_SNb)

    die Handshake – Sequenz. Die ab jetzt während der Verbindung anfallenden neuen Sequenznummer bzw. Bestätigungen errechnen sich aus den beiden Anfangssequenznummern und den bisher übertragenen Daten, so dass ein Angreifer, der die Anfangssequenznummern und die Daten kennt, die restlichen Sequenznummern leicht berechnen kann. Die Wahl der Anfangssequenznummern erfolgt dabei dem äußerem Anschein nach zufällig, wird tatsächlich aufgrund eines einfachen Algorithmus ermittelt. Im RCF 693 wird festgelegt, dass ein 32 – Bit – Zähler an der niederwertigsten Stelle alle

    4 µs um den Wert 1 erhöht werden muss. In den Berkeley – TCP – Implementationen erfolgt die Erhöhung jedoch lediglich jede Sekunde, und zwar um den Wer 128 innerhalb einer Verbindung und um den Wert 64 für jede neue Verbindung. Damit ist es möglich, mit einer hohen Wahrscheinlichkeit vorauszusagen, welche Sequenznummer ein System für seinen nächsten Verbindungsaufbau benutzen wird. Dies wird beim Sequenznummern – Angriff ausgenutzt. Vom Angreifer X wird zunächst unter Benutzung einer beliebigen Sendeadresse eine zulässige Vorbereitungs – Verbindung auf ein harmloses TCP – Port (25,79, etc.) des Zielsystems aufgebaut:

    X>Z: SYN , A_SNx.

    Das Zielsystem antwortet mit

    Z > X: SYN, A_SNz , ACK(A_SNx).

    Nun täuscht der Angreifer die Identität eines internen Systems A vor (IP – Spoofing; Sendeadresse A) und sendet an ein "kritisches" TCP – Port wie dem Login – Server (Port 513):

    A > Z: SYN, A_SNx.

    Worauf Z mit

    Z > A: SYN, A_SNz+, ACK(A_SNx).

    antwortet. Obwohl diese letzte Nachricht an die interne Station A gerichtet ist und für den externen Angreifer nicht sichtbar ist, kann dieser die Anfangssequenznummer A_SNz+ des Zielsystems, ausgehend vom Wert A_SNz der Vorbereitungsverbindung, errechnen und wieder an das interne System A simulierend mit

    A > Z: ACK(A_SNz+)

    Antworten. Das Zielsystem geht nun von einer gesicherten Verbindung zu der internen Station A aus. Der Angreifer kann weiter als Station A auftreten und auf dem Zielsystem beliebige Operationen durchführen. Einzige Einschränkung ist, dass die jeweiligen Antworten des Zielsystems für den Angreifer nicht sichtbar sind, da diese ja an den internen Client A gesendet werden.

    Nun ein kurzer Auszug aus demTCP Sequence Number Guessing Angriff von Kevin Mitnick auf die Workstation von Tsutomu Shimomura.

    Selbst wenn der Angreifer die Anfangssequenznummer des Opfers nur ungefähr voraussagen kann, ist der Angriff immer noch vielversprechend. Der Angreifer sendet nach seinem TCP –SYN – Paket mit der gespooften Adresse immer eine ganze Reihe von IP – Paketen mit gleichem Inhalt, aber unterschiedlicher Sequenznummer ab, so dass alle potentiellen Nummern angedeckt werden. Alle Pakete bis auf das richtige werden vom Opfer verworfen.

    Als Maßnahme gegen diese Angriffe bieten sich die folgenden Strategien an.

    Konfiguration, des Paketfilters (Input – Filterung).
    Vermeidung der Authentifikation eines Benutzers auf der Basis von IP – Adressen. Firewallsysteme, die darauf aufbauen, sind als problematisch anzusehen.
    Benutzerauthentifikation mit Hilfe von Crypto – Systemen. Im Fall eines Verbindungsaufbaus erhält der Client (sofern er dazu autorisiert ist) in verschlüsselter Form einen Session – Key, mit dem eine einmalige Verbindung aufgebaut werden kann.
    Implementierung eines echten Zufallsgenerators zur Berechnung der Anfangssequenznummern

    Mitnick versucht zunächst mit den Befehlen finger, showmount und rpcinfo die Beschaffenheit des Systems auszukundschaften:
    14:09:32 toad.com# finger –1 @target

    14:10:21 toad.com# finger –1 @server

    14:10:50 toad.com# finger –1 root@server

    14:11:07 toad.com# finger –1 @x-terminal

    14:11:38 toad.com# showmount –e x-terminal

    14:12:05 toad.com# finger –1 root@x-terminal

    Es folgt ein SYN – Flooding – Angriff auf Port 513 (Login – Port) von 130.92.6.97 zur Vorbereitung des nachfolgenden Angriffs. Damit wird der Login – Server ausgeschaltet, damit er bis auf weiteres keine neuen Verbindungsaufbauversuche akzeptieren kann:

    14:18:22.516699 130.92.6.97.600 > server.login: S 1382726960:1382726960(0) win 4096

    14:18:22.566069 130.92.6.97.601 > server.login: S 1382726961:1382726961(0) win 4096

    14:18:22.744477 130.92.6.97.602 > server.login: S 1382726962:1382726962(0) win 4096

    14:18:22.830111 130.92.6.97.603 > server.login: S 1382726963:1382726963(0) win 4096

    …………

    …………

    14:18:25.483127 130.92.6.97.627 > server.login: S 1382726987:1382726987(0) win 4096

    14:18:25.599582 130.92.6.97.628 > server.login: S 1382726988:1382726988(0) win 4096

    14:18:25.653131 130.92.6.97.629 > server.login: S 1382726989:1382726989(0) win 4096

    Nun sendet Mitnick (apollo.it.luc.edu) eine Testreihe von Verbindungsaufbauversuchen an x-terminal.shell um das Verhalten des Sequenznummerngenerators zu untersuchen. Die Sequenznummern (fettgedruckt) erhöhen sich bei jedem Verbindungsaufbauversuch um 128000:

    14:18:34.452830 apollo.it.luc.edu.984 > x-terminal.shell: R 1382727007:1382727007(0) win 0

    14:18:34.714996 apollo.it.luc.edu.983 > x-terminal.shell: R 1382727007:1382727007(0) win 4096

    14:18:34.885071 x-terminal.shell > apollo.it.luc.edu.983: S 2024F1F1F1:2024F1F1F1(0) ack 1382727008 win 4096

    14:18:34.962030 apollo.it.luc.edu.983 > x-terminal.shell: R 1382727008:1382727008(0) win 0

    14:18:35.225869 apollo.it.luc.edu.982 > x-terminal.shell: S 1382727008:1382727008(0) win 4096

    14:18:35.395723 x-terminal.shell > apollo.it.luc.edu.982: S 2024128000:2024128000(0) ack 1382727009 win 4096

    14:18:35.427150 apollo.it.luc.edu.982 > x-terminal.shell: R 1382727009:1382727009(0) win 0

    14:18:35.735077 apollo.it.luc.edu.981 > x-terminal.shell: S 1382727009:1382727009(0) win 4096

    14:18:35.935681 x-terminal.shell > apollo.it.luc.edu.981: S 2024256000:2024256000(0) ack 1382727010 win 4096

    Nun täuscht Mitnick Pakete des zuvor ausgeschalteten Login – Servers (Port 513) vor uns sendet eine Verbindungsaufforderung an x – terminal:

    14:18:36.245045 server.login > x-terminal.shell: S 1382727010:1382727010(0) win 4096

    Aufgrund der zuvor getätigten Beobachtung des Sequenznummerngenerators kann er die Sequenznummer (fettgedruckt) des SYN – ACKs von server.login bestätigen, ohne dieses Paket empfangen zu haben. Sie ist mit 1014384001 wieder genau 128000 höher als die SYN – ACK – Sequenznummer der letzten Testverbindung:

    14:18:36.744422 server.login > x-terminal.shell: . ack 2024384001 win 4096

    Damit hat Mitnick eine unidirektionale Verbindung mit x-terminal.shell aufgebaut, die von server.login zu kommen scheint.











    25. Abbruch und Übernahme von TCP – Verbindungen

    Der vollständig TCP – Sequenznummernangriff ist schwierig durchzuführen. Ein einfacheres Angriffsszenario unter Ausnutzung der Sequenznummer ist der unfreiwillige Abbruch von TCP – Verbindungen. Hier wird (mitten in eine aktive TCP – Verbindung) zu einem der beiden Partner ein Paket mit der passenden Sequenznummer und gesetzter RST- oder FIN - Flagge gesendet. Die Verbindung wird beendet, die ankommenden Pakete des ahnungslosen zweiten Partners werden ignoriert (Denial of Service). Bei diesem Angriff müssen die Pakete am Rechner des Hackers vorbeikommen, wodurch diese Angriffe vorzugsweise aus dem Intranet oder von großen Providern aus vorgenommen werden können.

    Eine Variante des Verbindungsabbruch ist die komplette Übernahme der Verbindung durch den "Hacker" (Hijacking). Hier werden keine RST- oder FIN – Pakete, sondern gewöhnliche Datenpakete mit der richtigen Sequenznummer gesendet. Kommen die Pakete des "Hackers" früher am Zielrechner an als die des regulären Partners, werden die als gültig akzeptiert und die regulären Pakete verworden. Der Angreifer befindet sich mitten in der gerade aktiven TCP – Session. Handelt es sich dabei um eine ASCII – Übertragung wie bei Telnet oder Rlogin, können Befehle mit den Zugriffsrechten des gerade ausgebooteten Benutzers abgesetzt werden. Gute Programme zu Hijacking versuchen, nach Beendigung des Angriffs die beiden ursprünglichen Partner durch Absenden von Paketen mit passenden Sequenznummern wieder zu synchronisieren. Abgesehen von einem kurzzeitigen Stillstand bemerkt das Opfer nichts von der kurzfristigen Übernahme der Session durch den "Hacker". Hijacking verliert seinen Wert bei verschlüsselten Verbindungen, da hier keine sinnvolle Übernahme der Session möglich ist.



    26. UDP – Spoofing

    Kommunikationspartner im Rahmen von UDP – Verbindungen sind grundsätzlich immer als nicht vertrauenswürdig einzustufen, da sich dieses Protokoll außerordentlich leicht simulieren lässt. Da weder Sequenznummer noch Bestätigungspakete vorgesehen sind, sollten darauf aufsetzende Applikationen die Netzwerkadressen der jeweiligen Hosts unbedingt einem Authentifikationsprozess unterziehen. Potentielle Angreifer sind andernfalls in der Lage, mit Hilfe von synthetischen UDP – Datenpaketen mit verfälschter Internet – Adresse einen internen Benutzer vorzutäuschen und entsprechende Applikationen zu nutzen. Eine trickreiche Simulation von Handshake – Sequenzen wie im Fall des TCP – Sequenznummernangriffs ist ja bei UDP erst gar nicht notwendig.

    Genauso können bestehende UDP – Verbindungen von Angreifern übernommen werden, ohne dass die Server – Applikation die Möglichkeit hat, dies zu bemerken. Auf exponierten Systemen sollte das UDP – Protokoll daher möglichst ganz vermieden werden.



    27. Sicherheitsrisiko DNS

    In den meisten Fällen erden DNS – Angriffe als Vorbereitung für einen nachfolgenden Einbruch unter Nutzung der Remote – Dienst (rsh, rlogin, etc.) durchgeführt. Gelingt es einem Angreifer die "in-addr.arpa" – Tabelle de betreffenden DNS so zu modifizieren, dass dem Domainnamen des Trusted – Host, den er vortäuschen möchte, seine eigene, tatsächliche Internetadresse zugeordnet wird, so kann er darauffolgend erfolgreich mit rlogin oder rsh das Zielsystem angreifen. Überprüft die betreffende "r – Applikation" die Internetadresse nochmals in der Gegenrichtung, und fordert per DNS auch ausgehend von der ermittelten numerischen Adresse den zugeordneten Domainnamen an, wie dies in aktuellen Versionen häufig der Falle ist, si kann diese Täuschung allerdings entdeckt werden.

    Um diese Barriere zu umgehen, verschaffen sich gewiefte Hacker deshalb auch Zugang zum DNS – Cache. Durch einen entsprechenden Eintrag hält die Authentifikation der Internetadresse des Angreifers auch der zweimaligen Sicherheitsüberprüfung stand, und der Angriff kann fortgesetzt werden. Authentifikationsverfahren sollten deshalb grundsätzlich nicht auf Domain – Namen, sonder auf Internetadressen beruhen. Dies bietet zwar auch keine Sicherheitsgarantie, aber es erschwert immerhin potentielle Einbruchsversuche. Zweites Ziel von DNS – Attacken sind die Zonen – Daten, die Angreifer wertvolle Inform



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Newcomer - Board

    Firewalls - gepostet von 4dministr4t0r am Montag 25.12.2006



    Ähnliche Beiträge wie "Allgemeine Schwachstellen"

    allgemeine arbeitsrichtlinien - tinchen (Donnerstag 16.03.2006)
    Alben - Allgemeine Chartspositionen - vanessa (Donnerstag 05.10.2006)
    Allgemeine Hinweise - 3am3yyp (Montag 22.05.2006)
    ALLGEMEINE FOREN REGELN! - Viper (Donnerstag 01.09.2005)
    Allgemeine Regeln & Forum Regeln - Lindsay (Samstag 14.07.2007)
    Flüsterpost - hannihorse (Dienstag 01.07.2008)
    Allgemeine Storyline - AlbusDumbledore (Mittwoch 13.07.2005)
    Allgemeine Hinweise - ashanti (Donnerstag 29.03.2007)
    Allgemeine Hinweise - Lars (Dienstag 27.06.2006)
    Allgemeine Fragen zu Final Fantasy 9 - BlackBloodyRose (Samstag 03.02.2007)