Die Initiative-S ist gestartet. Jeder Webseitenbetreiber ist dazu eingeladen, seine Webseite bei der Initiative einzutragen um diese regelmäßig auf Schadsoftware überprüfen zu lassen.
Viele Webseitenbetreiber denken sich bei dem Thema “Angriffe auf Internetseiten“, dass Ihre Seite nicht betroffen sein kann. Warum sollte auch jemand die Webseite einer kleinen Dorfschmiede oder einer nur lokal bekannten KFZ-Werkstatt angreifen?

Weit gefehlt

Die meisten Kompromittierungen von Webseiten werden nicht gezielt durchgeführt. Es geht einem Angreifer nicht darum, den Laden in der Hauptstraße im Dorf zu schädigen. Wir wollen damit nicht sagen, dass es diese gezielten Angriffe nicht gibt, allerdings sind Massenhacks erheblich weiter verbreitet.

metasploit

metasploit

Welche Webseiten dabei genau kompromittiert werden ist den Angreifern egal, sie versuchen einfach auf möglichst vielen Webseiten Ihren Schadcode zu verbreiten. Der Angriff auf kleine Webseiten hat dabei sogar einen entscheidenden Vorteil: Die Besucher der Webseite kennen diese meistens bereits und sind daher weniger vorsichtig.

Wie geraten die Webseiten ins Visier?

Massenhacks werden über weit verbreitete Sicherheitslücken oder massenweise ausgespähte Zugangsdaten durchgeführt. Dabei unterscheiden wir zwischen dem Einsatz von bekannten CMS, selbst programmierten Webseiten und dem Ausspähen von Zugangsdaten durch einen Trojaner.

Google Suche

Google Suche

1. Content-Management-Systeme oder Frameworks.

Auch die Programmierer von weit verbreiteter Software sind nur Menschen und machen Fehler. So gibt es auch im häufig genutzten CMS WordPress immer wieder Sicherheitslücken.
Potentielle Angreifer können ganz einfach gezielt nach diesen suchen.Die Login-Seitenfür viele WordPress Installationen zum Beispiel findet man über eine Suche im Google-Suchfeld nach ‘inurl:wp-login.php filetype:php’. Dadurch kann man sich sehr schnell eine Liste an potentiellen Opfern für eine gerade bekannt gewordene Sicherheitslücke zusammenstellen. Diese gehen die Angreifer durch und versuchen die Sicherheitslücke auszunutzen. Die Webseiten, die dabei gehackt werden sind prinzipiell egal, denn es geht darum möglichst viele Webseiten zu kompromittieren.
Das genannte Beispiel ist natürlich für die Angreifer sehr aufwändig. Viele Sicherheitslücken kann man aber auch gezielter suchen, wenn zum Beispiel bestimmte Variablen in der URL betroffen sind. Oben genanntes Beispiel soll nur zur Veranschaulichung, wie eine Webseite ins Visier geraten kann, nur weil man ein bestimmtes CMS einsetzt, dienen.

2. Sicherheitslücken in gängigen Programmiersprachen.

Es gibt viele Tutorials im Internet um zum Beispiel die Programmiersprache PHP zu erlernen. In diesen Tutorials werden immer wieder Beispiele für die Umsetzug von Aufgebenstellungen genannt, die man prinzipiell einfach unverändert in seinen späteren Programmcode übernehmen kann. Allerdings verbergen sich hier auch Tücken. Ein relativ bekanntes Beispiel ist eine dynamische Seitennavigation in PHP. Eine einfache Implementierung wird in vielen Tutorials folgendermaßen umgesetzt:

https://domain-der-webseite.de/index.php?page=aktuelleSeite

Dazu wird dann folgender PHP-Code gezeigt:
[code lang=”php”]include($_GET[‘page’].’php’);[/code] Schön und gut. So kann man beim Aufruf von

https://example.com/index.php?page=impressum

über PHP das Impressum laden. Allerdings können Angreifer genau diese Art Code auch dazu nutzen, einfach anderen Inhalt nachzuladen. Nicht nur Dateien, die auf dem Server liegen, sondern auch externen Inhalt. Mit der einfachen Manipulation der URL zu

https://example.com/index.php?page=https://botfrei.de/

wird dann auf Ihrer eigenen Webseite “example.com”, der Inhalt der fremden Webseite “botfrei.de” angezeigt.
Diese gängige Programmierweisen erkennt man oft sehr leicht anhand der Url und kann davon betroffene Webseiten sehr einfach über die Google-Suche finden, indem man folgenden Suchbegriff verwendet:

site:de inurl:”index.php?page=”

Dann heißt es für den Angreifer erneut: Sicherheitslücke ausnutzen und damit dann möglichst viele Webseiten kompromittieren. Auch hierbei spielt es keine Rolle, ob die betroffene Webseite eine bekannte oder unbekannte Webseite mit nur einem kleinen Benutzerkreis ist. Es kommt rein auf die Masse an.

3. Durch Trojaner ausgespähte Zugangsdaten.

In diesem Fall hat es ein Angreifer noch einfacher. Die Trojaner werden einfach über Webseiten oder z.B. bereits bestehende Botnetze verteilt. Der auf den kompromittierten Rechnern installierte Trojaner wartet dann darauf, dass der befallene Computer sich per FTP oder SSH mit einem Webspace verbindet und genau diese Zugangsdaten werden dann mitgeschnitten. Daraus entstehen dann Listen, welche Serveradresse, Benutzername und Passwort beinhalten. Diese werden verkauft und vom Käufer wieder für Massenhacks gebraucht.

Virus

All diese Angriffe können automatisiert und damit schnell durchgeführt werden und haben das Ziel, eine Möglichst große Menge an Webseiten zu kompromittieren. Sie dienen nicht dazu, ganz bestimmte Ziele anzugreifen. Es kann also wirklich jede Webseite zum Ziel eines Angriffs aus dem Internet werden.

Was kann man dagegen tun?

Für alle Varianten bietet sich ein – am besten automatisierter – Backup-Prozess an. Machen Sie in möglichst kurzen Intervallen Sicherungen von Ihrer Webseite, so dass Sie im Falle einer Kompromittierung die Sicherung einfach wieder zurück spielen können.
Darüber hinaus gilt es immer auf dem Laufenden zu bleiben und folgende Tipps beachten.

1. Bei der Nutzung eines CMS:

  •  Schon bei der Installation können Sie auf die Sicherheit achten. Zu vielen CMS gibt es spezielle Tipps zur Absicherung. Ein einfaches Beispiel für WordPress ist es das wp-admin Verzeichniss mit einem Passwort zu schützen. Damit wirken Sie Brute-Force-Angriffen auf WordPress-Ebene entgegen.
  • Bleiben Sie auf dem Laufenden: Lesen Sie die Sicherheitsfeeds Ihres CMS-Anbieters und führen Sie Aktualisierungen zeitnah aus.
  • Nutzen Sie Sicherheitsplugins, wenn diese angeboten werden.
  • Eine nicht vollständige Auflistung von Feeds, Plugins und Sicherheitshinweisen finden Sie ganz unten im Artikel.

2. Bei einer selbst programmierten Webseite:

  • Informieren Sie sich regelmäßig über neue Angriffstechniken. LFI/RFI/SQLI sollten Ihnen als PHP-Entwicker ein Begriff sein, denn nur so können diese Sicherheitslücken schon bei der Programmierung vermieden werden.
  • Betrachten Sie Ihren Quellcode im Nachhinein noch einmal. Oftmals fallen einem mit etwas Abstand zu einem Projekt Dinge auf, die man besser machen kann. Wenn möglich, lassen Sie noch eine weitere vertraute Person darüber schauen.
  • Nutzen Sie Programme zum finden von Sicherheitslücken. Ein einfacher Durchlauf mit zum Beispiel Skipfish (https://code.google.com/p/skipfish/) deckt eventuell schon Anfälligkeiten im Code auf.

3. Zugangsdaten zur Webseite:

  • Computer auf denen Zugangsdaten zu der Webseite genutzt werden, sollten besonderes “gepflegt” werden.
  • Halten Sie Ihren Computer aktuell. Installieren Sie zeitnah Updates für Ihr Betriebssystem um für die von Ihnen verwendete Software.
  • Nutzen Sie sichere Passwörter.
  • Überprüfen Sie Ihren Computer regelmäßig vollständig auf Schadsoftware.
  • Genauere und weitere Tipps finden Sie auch auf dem Botfrei-Blog.

Hier finden Sie Links für die Sicherheit von 2 gängigen Content-Management-Systemen (Wir freuen uns, wenn Sie uns weitere Tipps geben, die wir hier gerne mit in der Liste aufnehmen).

Allgemein

  • Nutzen Sie das Angebot der Initiative-S um bei einem Befall schnellstmöglich informiert zu werden und Ihre Webseite mit der Hilfe von Experten zu bereinigen.

WordPress

Gängige Sicherheitsplugins:

Joomla!