Gefahren / Problemfälle
Neben dem eher romantischen Bild des Hackers als rebellischem Teenager, der ins Schulsystem einbricht, um seine Noten aufzubessern, bedeuten solche Aktivitäten heute eine ernstzunehmende Gefahr für Bildungsstätten aller Stufen. Attacken oder Missbrauch von Informatik-Sachmitteln können sich auf verschiedene Arten darstellen. Einen Trend bilden wohl Internet Würmer, dazu die unten stehende Übersicht vom dritten und vierten Quartal 2007.
| Reg. Rank | World Rank | Sample | Type | Propagation Vectors | Impact | Top Reporting Country | |||||||||||||||||||||
1 | 3 | W32.Stration | Worm | SMTP | Downloads and installs other threads | Czech Republic | |||||||||||||||||||||
2 | 1 | W32.Netsky.P | Worm | SMTP.P2P | Keystroke logger targets www.e-gold.com | France | |||||||||||||||||||||
3 | 9 | W.32.Stration.CX | Worm | SMTP | Downloads and installs other threads | Czech Republic | |||||||||||||||||||||
4 | 11 | W.32.Sality.U | Virus | File sharing | Downloads and installs other threads | India | |||||||||||||||||||||
5 | 5 | W.32.Stration.DL | Worm | SMTP | Downloads and installs other threads | Czech Republic | |||||||||||||||||||||
6 | 4 | W.32.Blackmal.E | Worm | SMTP File sharing | Overwrites files | Egypt | |||||||||||||||||||||
7 | 12 | W.32.Mydoom.L | Worm, backdoor | SMTP P2P | Keystroke logger and backdoor | Italy | |||||||||||||||||||||
8 | 8 | W.32.Mydoom.M | Worm, backdoor | SMTP | Downloads backdoor | United Kingdom | |||||||||||||||||||||
9 | 20 | W.32.Pinfi | Virus | File sharing | Polymorphic virus | Russia | |||||||||||||||||||||
10 | 15 | W.32.Mytob.EA | Worm, backdoor | SMTP | Allows remote access | Switzerland | |||||||||||||||||||||
Hackermethoden
Hackermethoden gibt es viele. Je nach Kenntnisstand, steht dem Angreifer eine Vielzahl von Möglichkeiten und Tools zur Verfügung. Diese Darstellung erhebt keinesfalls den Anspruch auf Vollständigkeit und soll nur einen kleinen Einblick erlauben.
Informationen über die Funktionsweisen des Internet und verwandter Dienste sind öffentlich und somit für jedermann frei zugänglich. Neben der "zivilen" Nutzung dieser Informationen stehen diese natürlich auch für Hacker offen. Mit dem grundsätzlichen Verständnis um die Funktionsweise des Internet wurden auch bald einmal dessen Schwächen offensichtlich - nämlich das Fehlen von jeglichen Sicherheitsfunktionen. Viele der damals eingeführten Protokolle, welche auf der Internet-Grundlage Transport Control Protocol / Internet Prococol (TCP/IP) basieren, kränkeln ebenso an einem Mangel von Sicherheit.
Doch man lernt mit der Zeit aus vergangenen Fehlern und ist somit in der Lage, bessere Software, beziehungsweise Dienste oder Protokolle zu entwickeln. So zum Beispiel besitzt das neue "next generation" Internet Protocol v6 (IPv6) Sicherheitsmechanismen als Standart. Das neue Internet Protocol besitzt IPsec, womit eine höhere Sicherheit gewährleistet werden kann.
Nehmen wir als Beispiel die folgenden Protokolle, die alle eines gemeinsam haben: Sie übertragen Benutzernamen und Passworte im Klartext über das Internet.
Hackermethoden gibt es viele. Je nach Kenntnisstand, steht dem Angreifer eine Vielzahl von Möglichkeiten und Tools zur Verfügung. Diese Darstellung erhebt keinesfalls den Anspruch auf Vollständigkeit und soll nur einen kleinen Einblick erlauben.
Informationen über die Funktionsweisen des Internet und verwandter Dienste sind öffentlich und somit für jedermann frei zugänglich. Neben der "zivilen" Nutzung dieser Informationen stehen diese natürlich auch für Hacker offen. Mit dem grundsätzlichen Verständnis um die Funktionsweise des Internet wurden auch bald einmal dessen Schwächen offensichtlich - nämlich das Fehlen von jeglichen Sicherheitsfunktionen. Viele der damals eingeführten Protokolle, welche auf der Internet-Grundlage Transport Control Protocol / Internet Prococol (TCP/IP) basieren, kränkeln ebenso an einem Mangel von Sicherheit.
Doch man lernt mit der Zeit aus vergangenen Fehlern und ist somit in der Lage, bessere Software, beziehungsweise Dienste oder Protokolle zu entwickeln. So zum Beispiel besitzt das neue "next generation" Internet Protocol v6 (IPv6) Sicherheitsmechanismen als Standart. Das neue Internet Protocol besitzt IPsec, womit eine höhere Sicherheit gewährleistet werden kann.
Nehmen wir als Beispiel die folgenden Protokolle, die alle eines gemeinsam haben: Sie übertragen Benutzernamen und Passworte im Klartext über das Internet.
| FTP (Transfer von Dateien) | |
| HTTP (Transfer von Webseiten beim Surfen) | |
| SMTP (Senden von Email Nachrichten von A nach B) | |
| POP (Abholen von Email Nachrichten vom Postfach) | |
| IMAP (Lesen von Email Nachrichten aus dem Postfach) |
Sniffing
Wie oben beschrieben, übertragen die am häufigsten gebrauchten Internet-Protokolle Anmeldeinformationen im Klartext über das Internet - was uns zur wohl einfachsten Möglichkeit eines "Hacking" bringt. Ein geneigter Hacker muss lediglich mit einem "Sniffer" (Netzwerk-Abhörsoftware) an geeigneter Stelle mithören und kann so fast komplett ohne Aufwand Benutzernamen und Passworte problemlos abhören. Neben standardmässigen Sniffern, welche hauptsächlich für die legitime Fehlersuche im Netzwerk gedacht sind, gibt es auch spezialisierte Hackertools - die speziell auf Benutzernamen und Passworte im Datenstrom hören und diese gezielt herausfiltern. Natürlich kann man solche Tools auch nutzen, um im eigenen Netzwerk zu testen, inwiefern Passworte unverschlüsselt übertragen werden.
Wie oben beschrieben, übertragen die am häufigsten gebrauchten Internet-Protokolle Anmeldeinformationen im Klartext über das Internet - was uns zur wohl einfachsten Möglichkeit eines "Hacking" bringt. Ein geneigter Hacker muss lediglich mit einem "Sniffer" (Netzwerk-Abhörsoftware) an geeigneter Stelle mithören und kann so fast komplett ohne Aufwand Benutzernamen und Passworte problemlos abhören. Neben standardmässigen Sniffern, welche hauptsächlich für die legitime Fehlersuche im Netzwerk gedacht sind, gibt es auch spezialisierte Hackertools - die speziell auf Benutzernamen und Passworte im Datenstrom hören und diese gezielt herausfiltern. Natürlich kann man solche Tools auch nutzen, um im eigenen Netzwerk zu testen, inwiefern Passworte unverschlüsselt übertragen werden.
Malcode
Unter "Malcode" (Malicious Code) werden im Allgemeinen "bösartige" Programme verstanden, welche in Form eines Virus, eines Wurms oder eines Trojaners vorkommen können. Natürlich sind auch Kombinationen möglich. Viren und Würmer sind meist nur ärgerlich, können aber auch handfesten Schaden verursachen. Nicht nur durch die blosse Verbreitung und eine eventuell damit ausgelöste "Denial of Service" Attacke, sondern auch durch die Möglichkeit, dass Viren einen Trojaner als blinden Passagier mitführen. Ist ein Trojaner einmal im System, kann er dem Angreifer den kompletten Systemzugriff ermöglichen. Bekannte Vertreter dieser Trojanerkategorie wären "Biofrost", "Shark" und einige andere.
Diese Schad-Programme werden sehr oft eingesetzt - aus vielen verschiedenen Gründen. Ein Motiv kann sein, einen Streich zu spielen, aber genau so realistisch sind bösartige, durchgeplante und zielgerichtete Angriffe.
Laut einer Studie von Sophos sind 0,12% aller E-Mails mit einem infizierten Attachment versehen - das entspricht jedem 833. E-Mail.
Etwas kritischer steht es um den stabilen, sicheren Zustand von Websites, hier eine Statistik, die die am häufigsten infizierten Websites auflistet:
Unter "Malcode" (Malicious Code) werden im Allgemeinen "bösartige" Programme verstanden, welche in Form eines Virus, eines Wurms oder eines Trojaners vorkommen können. Natürlich sind auch Kombinationen möglich. Viren und Würmer sind meist nur ärgerlich, können aber auch handfesten Schaden verursachen. Nicht nur durch die blosse Verbreitung und eine eventuell damit ausgelöste "Denial of Service" Attacke, sondern auch durch die Möglichkeit, dass Viren einen Trojaner als blinden Passagier mitführen. Ist ein Trojaner einmal im System, kann er dem Angreifer den kompletten Systemzugriff ermöglichen. Bekannte Vertreter dieser Trojanerkategorie wären "Biofrost", "Shark" und einige andere.
Diese Schad-Programme werden sehr oft eingesetzt - aus vielen verschiedenen Gründen. Ein Motiv kann sein, einen Streich zu spielen, aber genau so realistisch sind bösartige, durchgeplante und zielgerichtete Angriffe.
Laut einer Studie von Sophos sind 0,12% aller E-Mails mit einem infizierten Attachment versehen - das entspricht jedem 833. E-Mail.
Etwas kritischer steht es um den stabilen, sicheren Zustand von Websites, hier eine Statistik, die die am häufigsten infizierten Websites auflistet:
| Position | Letzter Monat | Land | Reports in Prozent | ||||||||||||
1 | 1 | China (incl. HK) | 54,9% | ||||||||||||
2 | 2 | United States | 17,1% | ||||||||||||
3 | 3 | Russia | 14,4% | ||||||||||||
4 | 4 | Ukraine | 3,7% | ||||||||||||
5 | 6 | Germany | 1,0% | ||||||||||||
6= | 9= | United Kingdom | 0,7% | ||||||||||||
6= | 5 | Poland | 0,7% | ||||||||||||
6= | 7 | Netherlands | 0,7% | ||||||||||||
7= | Re-entry | Czech Republic | 0,6% | ||||||||||||
7= | 9= | Canada | 0,6% | ||||||||||||
sonstige | 5,6% | ||||||||||||||
Ausnutzen von Software- und Konfigurationsfehlern
Ein sehr grosses Problem beim Einsatz von Computern ist deren Komplexität geworden. Mit jeder neuen Version wird Software mit neuen Funktionen ausgestattet, was auch bedeutet, dass neue mögliche Angriffspunkte entstanden sind. Schon jetzt muss ein relativ grosser Aufwand betrieben werden, um Systeme sicher zu machen und auch sicher zu halten.
Ein Grossteil der unautorisierten Zugriffe auf ein System kommt zustande, weil ein Angreifer gezielt eine Schwäche (Vulnerability) eines Betriebssystems oder einer Applikation nutzt. Obwohl viele Hersteller meist umgehend Korrekturen von bekannten Schwächen zur Verfügung stellen, bleibt immer noch ein mehr oder weniger grosses Zeitfenster für einen Angriff offen. Von der Meldung einer Schwäche an den Hersteller, bis zur Installation einer Abhilfe auf einem Kundensystem, vergehen Wochen bis Monate. Ganz zu schweigen von den Schwachstellen, die nicht bekannt sind. Man kann sich zum Beispiel fragen, wann (wenn überhaupt) ein Hacker dem Hersteller eine gefundene Schwachstelle bekannt gibt. Vermutlich dann, wenn er sie selbst ausgiebig genutzt hat.
Die am häufigsten angetroffene Ursache für unerlaubten Zugriff ist jedoch eine mangelhafte Konfiguration von Systemen und die Nichtbeachtung von Sicherheitsratschlägen in den Software-Handbüchern. Software wird oft mit Standardeinstellungen (oft auch Standard-Passwörtern) installiert, welche danach gar nicht oder nur ungenügend überprüft und angepasst werden. Fast zu jeder verfügbaren Applikation kann man im Internet entsprechende Informationen nachlesen. Diese Online-Datenbanken enthalten die Standard-Benutzernamen und Passworte für alle möglichen Software-Pakete welche auf dem Markt sind.
Ein sehr grosses Problem beim Einsatz von Computern ist deren Komplexität geworden. Mit jeder neuen Version wird Software mit neuen Funktionen ausgestattet, was auch bedeutet, dass neue mögliche Angriffspunkte entstanden sind. Schon jetzt muss ein relativ grosser Aufwand betrieben werden, um Systeme sicher zu machen und auch sicher zu halten.
Ein Grossteil der unautorisierten Zugriffe auf ein System kommt zustande, weil ein Angreifer gezielt eine Schwäche (Vulnerability) eines Betriebssystems oder einer Applikation nutzt. Obwohl viele Hersteller meist umgehend Korrekturen von bekannten Schwächen zur Verfügung stellen, bleibt immer noch ein mehr oder weniger grosses Zeitfenster für einen Angriff offen. Von der Meldung einer Schwäche an den Hersteller, bis zur Installation einer Abhilfe auf einem Kundensystem, vergehen Wochen bis Monate. Ganz zu schweigen von den Schwachstellen, die nicht bekannt sind. Man kann sich zum Beispiel fragen, wann (wenn überhaupt) ein Hacker dem Hersteller eine gefundene Schwachstelle bekannt gibt. Vermutlich dann, wenn er sie selbst ausgiebig genutzt hat.
Die am häufigsten angetroffene Ursache für unerlaubten Zugriff ist jedoch eine mangelhafte Konfiguration von Systemen und die Nichtbeachtung von Sicherheitsratschlägen in den Software-Handbüchern. Software wird oft mit Standardeinstellungen (oft auch Standard-Passwörtern) installiert, welche danach gar nicht oder nur ungenügend überprüft und angepasst werden. Fast zu jeder verfügbaren Applikation kann man im Internet entsprechende Informationen nachlesen. Diese Online-Datenbanken enthalten die Standard-Benutzernamen und Passworte für alle möglichen Software-Pakete welche auf dem Markt sind.
Web-Applikationen und -Auftritte
Viele schulische Institutionen bieten inzwischen einen Webauftritt mit Informationen für Schüler, Eltern und Lehrpersonal. Auch die Webserver haben eine schnelle Wandlung durchgemacht. Von der Darstellung einfacher statischer Seiten ausgehend, haben sich die Technologien rasant weiter entwickelt. Es sind nun dynamische Webseiten möglich, wo der Inhalt nach Bedarf zusammengestellt wird. Diese Erweiterung der Webserver-Funktionalität bringt jedoch auch wieder eine Reihe von Sicherheitsproblemen mit sich.
Die Zusammenstellung einer dynamischen Website bedingt, dass ein Benutzer angibt, was er will und dies dann vom Server verarbeitet und dem Benutzer als Ergebnis präsentiert wird. Was passiert jedoch, wenn man etwas eingibt, was der Webserver nicht erwartet? Ein kleines Beispiel wäre folgende URL, welche in die Adresszeile des Browsers eingegeben werden kann:
http://www.meineseite.ch/cgi-bin/php?/etc/passwd
Wenn nun der Zielserver auf Unix/Linux läuft und PHP (im CGI Mode) verfügbar ist, würde obiges Kommando die Unix Passwortdatei auf dem Bildschirm ausgeben, falls das Serversystem nicht ordnungsgemäss konfiguriert ist.
Neben diesem Beispiel, wo eine konzeptionelle Schwäche von CGI (Common Gateway Interface) basierten Applikationen ausgenutzt wird, ist auch der programmierte Code selbst ein potentielles Sicherheitsproblem. Es gibt unzählige Möglichkeiten, Fehler im Programmcode für einen Systemeinbruch auszunutzen.
Das oben genannte Beispiel ist ein direkter Angriff an den Web Dienst. Nun kann aber noch die Website, die der Web Dienst zur Verfügung stellt, selbst angegriffen werden. Dazu gibt es viele Techniken, kurz erwähnt die bekanntesten: SQL Injecti-on, XSS, Session Hijacking unsw. Die meisten dieser Techniken können erfolgreich abgewehrt werden, wenn eine starke Input Validation gemacht wird. Das heisst, die Attacken werden ausgeführt indem zum Beispiel in ein Suchfeld auf einer Website bösartiger Code eingeführt wird. Wird nun der Input (Eingabe im Such-feld) gut gefiltert wird (Input Validation), dann kann bösartiger Code entdeckt und verworfen werden. Diese Input Validation Mechanismen verlangen aber ei-nen gewissen Grad an Webapplication Security Kenntnissen. Deshalb kann man sich da auch mit third Party Programmen aushelfen:
Viele schulische Institutionen bieten inzwischen einen Webauftritt mit Informationen für Schüler, Eltern und Lehrpersonal. Auch die Webserver haben eine schnelle Wandlung durchgemacht. Von der Darstellung einfacher statischer Seiten ausgehend, haben sich die Technologien rasant weiter entwickelt. Es sind nun dynamische Webseiten möglich, wo der Inhalt nach Bedarf zusammengestellt wird. Diese Erweiterung der Webserver-Funktionalität bringt jedoch auch wieder eine Reihe von Sicherheitsproblemen mit sich.
Die Zusammenstellung einer dynamischen Website bedingt, dass ein Benutzer angibt, was er will und dies dann vom Server verarbeitet und dem Benutzer als Ergebnis präsentiert wird. Was passiert jedoch, wenn man etwas eingibt, was der Webserver nicht erwartet? Ein kleines Beispiel wäre folgende URL, welche in die Adresszeile des Browsers eingegeben werden kann:
http://www.meineseite.ch/cgi-bin/php?/etc/passwd
Wenn nun der Zielserver auf Unix/Linux läuft und PHP (im CGI Mode) verfügbar ist, würde obiges Kommando die Unix Passwortdatei auf dem Bildschirm ausgeben, falls das Serversystem nicht ordnungsgemäss konfiguriert ist.
Neben diesem Beispiel, wo eine konzeptionelle Schwäche von CGI (Common Gateway Interface) basierten Applikationen ausgenutzt wird, ist auch der programmierte Code selbst ein potentielles Sicherheitsproblem. Es gibt unzählige Möglichkeiten, Fehler im Programmcode für einen Systemeinbruch auszunutzen.
Das oben genannte Beispiel ist ein direkter Angriff an den Web Dienst. Nun kann aber noch die Website, die der Web Dienst zur Verfügung stellt, selbst angegriffen werden. Dazu gibt es viele Techniken, kurz erwähnt die bekanntesten: SQL Injecti-on, XSS, Session Hijacking unsw. Die meisten dieser Techniken können erfolgreich abgewehrt werden, wenn eine starke Input Validation gemacht wird. Das heisst, die Attacken werden ausgeführt indem zum Beispiel in ein Suchfeld auf einer Website bösartiger Code eingeführt wird. Wird nun der Input (Eingabe im Such-feld) gut gefiltert wird (Input Validation), dann kann bösartiger Code entdeckt und verworfen werden. Diese Input Validation Mechanismen verlangen aber ei-nen gewissen Grad an Webapplication Security Kenntnissen. Deshalb kann man sich da auch mit third Party Programmen aushelfen:
| Php-ids.org, übernimmt die Input Validierung für Websiten komplett und lässt sich komfortabel in eine existierende Website einfügen. |
DDOS Attacken
Eine DDOS Attacke ist wohl eine alt bekannte Angriffs-Methode, jedoch ist diese immer noch stark verbreitet und findet hier nun zu recht einen Platz um kurz erwähnt zu werden.
Um DDOS zu erklären, muss kurz ausgeschweift und eine DOS (Denial of Service) Attacke erklärt werden. Diese hat ein sehr einfaches Konzept. Es wird bei einem DOS Angriff auf einen Service nichts anderes gemacht, als kontinuierlich Service-Anfragen gestellt. Der betroffene Service kommt nach einer gewissen Zeit mit dem Verarbeiten dieser Anfragen nicht mehr nach, bis er letztendlich abstürzt oder abgestellt werden muss. Anders ausgedrückt ist es ein Stresstest für einen Dienst, den ihn in die Knie zwingen kann.
Die DDOS (Distributed Denial of Service) Methode unterscheidet sich von der DOS Attacke "nur" darin, dass die Dienstanfragen nicht nur von einem Angriffsort, sondern von mehreren Angriffsorten aus, also distributed, ausgeführt wird.
Nun lässt es sich fragen, woher ein Angreifer die Ressourcen hat, um von mehreren Rechnern aus einen Angriff zu starten? Darauf gibt es eine simple Antwort: Botnets.
Botnet einfach erklärt ist ein Netzwerk aus Rechnern, welche (fast immer) von Würmern infiziert wurden und auf ein bestimmtes Ereignis hin, wie zum Beispiel die Zeit, DOS Attacken fahren. Auf diese Weise wurden sogar einmal die Update Server von Microsoft für mehrere Stunden in die Knie gezwungen.
Ein beliebter Internet Wurm, der eine solche Funktion hat, ist MyDoom.
Eine DDOS Attacke ist wohl eine alt bekannte Angriffs-Methode, jedoch ist diese immer noch stark verbreitet und findet hier nun zu recht einen Platz um kurz erwähnt zu werden.
Um DDOS zu erklären, muss kurz ausgeschweift und eine DOS (Denial of Service) Attacke erklärt werden. Diese hat ein sehr einfaches Konzept. Es wird bei einem DOS Angriff auf einen Service nichts anderes gemacht, als kontinuierlich Service-Anfragen gestellt. Der betroffene Service kommt nach einer gewissen Zeit mit dem Verarbeiten dieser Anfragen nicht mehr nach, bis er letztendlich abstürzt oder abgestellt werden muss. Anders ausgedrückt ist es ein Stresstest für einen Dienst, den ihn in die Knie zwingen kann.
Die DDOS (Distributed Denial of Service) Methode unterscheidet sich von der DOS Attacke "nur" darin, dass die Dienstanfragen nicht nur von einem Angriffsort, sondern von mehreren Angriffsorten aus, also distributed, ausgeführt wird.
Nun lässt es sich fragen, woher ein Angreifer die Ressourcen hat, um von mehreren Rechnern aus einen Angriff zu starten? Darauf gibt es eine simple Antwort: Botnets.
Botnet einfach erklärt ist ein Netzwerk aus Rechnern, welche (fast immer) von Würmern infiziert wurden und auf ein bestimmtes Ereignis hin, wie zum Beispiel die Zeit, DOS Attacken fahren. Auf diese Weise wurden sogar einmal die Update Server von Microsoft für mehrere Stunden in die Knie gezwungen.
Ein beliebter Internet Wurm, der eine solche Funktion hat, ist MyDoom.
