Penetrationstests

Ziel und Inhalt

Bei Penetrationstests werden Ihre Server und Netzwerkinfrastruktur einem umfangreichem Sicherheitstest unterzogen. Man unterscheidet dabei zwischen einem externen und einem internen Penetrationstest. Externe Penetratiosntest werden von außen und ohne direkten Zugang zum Netzwerk oder einzelnen Diensten durchgeführt. Diese Sichtweise entspricht der eines Angreifers. Interne Penetrationstest gehen tiefer auf die vorhandenen Netzwerkstrukturen ein und können zum Beispiel Schwächen in der Userverwaltung und Rechtevergabe aufzeigen. Diese Sichtweise entspricht der eines Angreifers welcher bereits im Netzwerk ist bzw. eines Mitarbeiters der Ihrer Firma wissentlich oder unwissentlich Schaden könnte.

* Externer Penetrationtest Interner Penetrationtest
Ziel
  • Informationen über Software und Netzwerkarchitektur sammeln
  • Schwachstellen und Sicherheitslücken erfassen
  • Fehlverhalten von Software aufdecken
Methoden
  • Analysen der Systeme aus dem Internet
  • Portscans, um Dienste und Betriebssysteme zu ermitteln
  • Angriffe der Dienste mittels Exploits und Tools
  • Denial of Service-Attacken
  • Authentifizierungs-Versuche
  • direkte Angriffe gegen interne Dienste
  • Abfangen sensibler Daten (Sniffing)
  • Kompromittierung sensibler Daten
  • Angriffe auf Datenbanken
  • Angriffe auf interne Netzwerkinfrastrukturen


Ablauf

Das Bundesamt für Sicherheit in der Informationstechnik (BSI) hat ein Klassifikationsschema entwickelt, anhand dessen
sich ein Test beschreiben lässt. Im Wesentlichen werden sechs verschiedene Kriterien betrachtet.

Die Kriterien sind:

  • Informationsbasis
  • Aggressivität
  • Umfang
  • Vorgehensweise
  • Technik
  • Ausgangspunkt

Anhand dieser Kriterien erarbeiten wir dann mit Ihnen einen individuellen Test.
Der Penetrationstest läuft, wie auch vom BSI empfohlen, in fünf Phasen ab:

  • Vorbereitung - Zur gemeinsamen Zielsetzung
  • Informationsbeschaffung - Sammeln von möglichst vielen Informationen über die eingesetzten Server und Systeme
  • Bewertung der gesammelten Informationen
  • Aktive Angriffe und Eindringungs-Versuche
  • Zusammenfassung der Ergebnisse

Abschluss

Abschließend erhalten Sie von uns einen detaillierten Bericht über die durchgeführten Tests und deren Ergebnisse. Darin enthalten ist auch ein Risiko/Maßnahmen Katalog nach Ampel-Schema mit entsprechenden Empfehlungen für die Verbesserung Ihrer Datensicherheit.

Auf Wunsch führen wir eine Prüsentation der Ergebnisse durch und schulen Ihre Mitarbeiter gezielt zu den entsprechenden Themenbereichen.



Webapplikations-Pentests

Definition

Unter Web-Applikationen versteht man Programme auf Web-Servern, bei denen die Interaktion mit dem Benutzer ausschließlich über einen Webbrowser erfolgt. Typische Anwendungen sind OnlineShops, Kunden-Portale, Foren oder auch interne Anwendungen für Mitarbeiter.

Web-Applikationen können eine breite Palette an Angriffsmöglichkeiten direkt auf Ihre Server oder indirekt auf die Daten Ihrer Nutzer darstellen. Aufgrund ihrer relativ einfachen Programmierung wird der Sicherheitsaspekt bei der Entwicklung oft nicht hinreichend bedacht. Ein Angreifer kann so durch - vermeindlich banale - Sicherheitslücken schnell an sensible Daten und Informationen gelangen.

Ziel und Inhalt

Ihre Web-Applikation werden einem umfangreichen Sicherheitstest unterzogen. Sie können dabei ohne Kenntnis eines Zuganges oder in der Rolle eines Benutzers (Kunde, Mitarbeiter etc.) getestet werden.

Ziel ist es,

  • Informationen zur eingesetzten Software zu sammeln,
  • Schwachstellen und Sicherheitslücken zu erfassen, sowie
  • potentielles Fehlverhalten der Software durch falsche Bedienung aufzudecken.

Bei der Durchführung kommen sowohl allgemein bekannte als auch von uns individuell angepasste Angriffstechniken zum Einsatz. Diese bestehen unter anderem aus

  • Code Execurtion
  • SQL Injection
  • Cross Site Scripting
  • Session Hijacking
  • Session Fixation
  • Cross Site Request Forgery
  • Directory Traversal
  • SMTP Injection
  • Man-in-the-Middle Attacken
  • Denial of Service (DoS)
  • Phishing

Wir bieten ebenfalls Schulungen an welche Ihren Entwicklern hilft solche Gefahren zu vermeiden. Für Details zu unserer speziellen Schulung informieren Sie sich bitte unter "Akademie -> Web-Application-Security".

Quellcode Analysen

Ziel und Inhalt

Ein Source Code Audit ist eine umfangreiche, sicherheitskritische Analyse des Quellcodes eines Softwareproduktes oder eine Anwendung. Typische Beispiele sind etwa Onlineshops, Kundenmanagement-Systeme, Online-Zugänge für Außendienstmitarbeiter, Online-Kundenportale aber auch vernetzte Systeme zur Buchhaltung oder Artikelverwaltung.

Programmierer in Unternehmen haben die Hauptaufgabe, möglichst zeit- und kostensparend eine Lösung für ein bestimmtes Problem zu entwickeln. Ihr Fokus liegt also auf der Funktionalität der Software bezogen auf die (wirtschaftlich gedachte) Aufgabenstellung. Die mit der Datensicherheit verbunden Risiken hängen aber nicht direkt mit dieser Funktionalität zusammen und werden daher oft außer Acht gelassen - mit verheerenden Folgen!

Ziel des Audits ist es also, Sicherheitslücken und Schwachstellen aufzudecken und zu beseitigen, bevor die Software vermarktet oder eingesetzt wird. Dies kann nur durch einen unabhängigen, externen Blick von außen erfolgen. Als ein solches Unternehmen bieten wir Ihnen die Sicherheit, unvorhergesehene Ausfälle, Datenverluste, Kosten durch Überarbeitung und letztendlich Verluste der Wettbewerbsfähigkeit von vornherein auszuschließen.

Vorgehensweise

Wir analysieren die sicherheitsrelevanten Teile Ihrer Software zunächst einzeln, dann im Ganzen mittels gängiger Tools, Eigenentwicklungen von Mercenary Security und schließlich akribisch "von Hand".

Die Komponenten werden u.a. nach folgenden Schwachstellen untersucht:

High-Risk:

  • Buffer Overflows
  • Format Strings
  • File Inclusions
  • SQL Injection
  • Persistentes Cross Site Scripting

Middle-Risk:

  • Reflected Cross Site Scripting
  • Cross Site Request Forgery
  • HTTP Header Injection

Low-Risk:

  • Information Leaks
  • User and Password Enumeration

Unsere Security-Consultants beherrschen hierzu u.a. die folgenden Programmiersprachen:

  • C
  • C++
  • Java
  • PHP
  • Python
  • Perl
  • Ruby
  • JavaScript