Deutschland - Kennzeichen Deutschland

Incoterms:DDP
Alle Preise sind inklusive Zoll und Gebühren bei der Auswahl der Versandart.

Bitte bestätigen Sie Ihre Währungsauswahl:

Euro
Versand ist kostenfrei bei den meisten Bestellungen über 50 € (EUR)

US Dollar
Versand ist kostenfrei bei den meisten Bestellungen über $60 (USD)

Bench Talk for Design Engineers

Mouser German Blog

rss

Mouser Electronics, Inc german language blogs


Pentests und das Netzwerk-Edge M. Tim Jones

Ein Penetrationstest (Pentest) ist ein simulierter Cyberangriff durch Sicherheitsfachkräfte, mit dem bestimmt werden soll, ob der Tester sich durch Schwachstellen Zugang zu einem Gerät verschaffen kann. Im Blog-Beitrag „Sicheres Edge-Computing in einer Welt voller Risiken“ wurde bereits deutlich, dass die Netzwerkschnittstelle für ein mit dem Internet verknüpftes Gerät einen großen Teil seiner Angriffsoberfläche ausmacht. Die Netzwerkschnittstelle gibt den Zugriff auf verschiedene Netzwerkports frei, die spezifische Protokolle an das Internet übermitteln. Jeder dieser Ports ist ein potenzieller Eintrittspunkt für Hacker – so zum Beispiel sind für das HTTP-Protokoll die Ports 80 oder 8080 freigegeben. Zu wissen, welches Protokoll (und welche Version) an einem konkreten Port freigegeben wird, bietet dem Hacker eine Fülle an Informationen.

 

 

 

 

 

 

 

Der Pentest-Prozess

 

 

 

 

Der Pentest ist die Simulation eines Hacker-Angriffs und folgt einem Prozess, der dem Vorgehen eines vermeintlichen Hackers ähnelt. Unten sehen Sie einen einfachen Prozess für den Versuch des Eindringens in ein System in einem Netzwerk. Der Testprozess besteht aus folgenden Schritten:

 

 

 

 


  1. Auswahl des Angriffsziels

  2. Ermittlung von Schwachstellen

  3. Exploit-Zuordnung

  4. Exploit-Versuch






  5.  
  6.  
  7.  
  8.  
  9.  

 

 

 

 

Das ausgewählte Angriffsziel ist hierbei einfach der autorisierte Prüfling. Das Angriffsziel wird dann durch einen Schwachstellendetektor wie etwa eine Port-Scanner eingehend geprüft, um die Eintrittspunkte am Gerät zu finden und weitere Informationen zu diesen Eintrittsstellen zu sammeln (Protokoll, Version usw.). Darauf folgt dann die Identifizierung potenzieller Exploits (d. h. ausnutzbarer Schwachstellen) für diese Eintrittsstellen. Der Exploit-Versuch ist der letzte Schritt (Abbildung 1). Bei diesem Prozess wird die maßgeschneiderte Entwicklung von Exploits vernachlässigt, die ein deutlich komplexeres Vorgehen erfordert.

 

 

 

 

 

 

 

 

Abbildung 1: Schaubild des Penetrationstestprozesses (Quelle: Autor)

 

 

 

 

Port-Scans

 

 

 

 

Eine der einfachsten Methoden zur Ermittlung potenzieller Schwachstellen auf einem Gerät ist der Einsatz eines Port-Scanners. Ein Port-Scanner ist eine Anwendung, die ein Gerät nach offenen Ports durchsucht und dann durch die Portnummern dieser Ports die zugänglichen Netzwerkdienste ermittelt. Der Port-Scan kann zeitaufwändig sein, da die Portnummer eine Zahl zwischen 1 und 65535 sein kann.

 

 

 

 

Port-Scans werden auf unterschiedliche Weise durchgeführt, aber im einfachsten Fall versucht der Port-Scanner sich mit Ports auf dem Gerät zu verbinden. Wenn das Gerät die Verbindungsanfrage bestätigt – was üblicherweise als Drei-Wege-Handshake für TCP bezeichnet wird – ist der Port offen. Anderenfalls ist der Port geschlossen oder blockiert.

 

 

 

 

Mit dem Pentest lässt sich normalerweise der Netzwerkdienst über die Portnummer identifizieren. Wenn der Port-Scanner zum Beispiel auf Port 80 oder 8080 einen offenen Port findet, ist das HTTP-Protokoll verfügbar.

 

 

 

 

Die Details der zugrundeliegenden Pakete, die zwischen dem Gerät und dem Port-Scanner ausgetauscht werden, liefern ebenfalls umfangreiche Informationen. Der Tester kann Informationen darüber nutzen, wie ein bestimmtes Gerät Parameter des Protokolls definiert, um das Betriebssystem oder den Protokollstapel in einem Prozess namens Geräte-Fingerprinting zu identifizieren.

 

 

 

 

Abbildung 2 zeigt ein Beispielergebnis des Port-Scanner-Werkzeugs Network Mapper (NMAP) Diese spezielle Anfrage nutzt die Stealth-SYN-Paketmethode und fragt Dienstinformationen für offene Port am Netzwerkgerät 192.168.1.4 an. Wie im Ergebnis gezeigt, identifiziert NMAP eine große Zahl offener Ports und sogar das Gerät durch Informationen, die von den Ports ausgetauscht werden.

 

 

 

 

 

 

 

 

Abbildung 2: Das Bild zeigt einen beispielhaften Port-Scan für einen lokalen Drucker (Quelle: Autor)

 

 

 

 

NMAP ist ein wichtiges Tool für die Netzwerkuntersuchung und -erkennung. Wenn Sie wissen, welche Angriffsoberfläche ein Netzwerkgerät hat, sind Sie bereit für den Test der potenziellen Exploits.

 

 

 

 

Testen potenzieller Exploits auf dem Gerät

 

 

 

 

Die nächste Phase eines Penetrationstests besteht darin zu klären, ob die Netzwerk-Angriffsvektoren eines Geräts potenzielle Exploits aufweisen. Exploit-Tests sind ein kompliziertes Unterfangen, aber das Metasploit-Projekt vereinfacht diesen Prozess.

 

 

 

 

Metasploit-Projekt

 

 

 

 

Metasploit ist ein Projekt, das durch die Unterstützung der Exploit-Zuordnung, -Ausführung und -Entwicklung einen Rahmen für Pentests schafft. Metasploit beinhaltet eine umfangreiche Exploit-Datenbank. Ein kleiner Teil davon ist in Abbildung 3 zu sehen. Diese Exploits können während des Tests einem Netzwerkgerät zugeordnet und dann aufgerufen werden.

 

 

 

 

 

 

 

 

Abbildung 3: Bild einer Metasploit-Konsole und einer Liste von Exploits für Windows XP (Quelle: Autor)

 

 

 

 

Metasploit beinhaltet Shellcode-Exploits, um durch Ausführen von Code über eine Payload auf dem Zielsystem die Kontrolle über dieses zu übernehmen. Metasploit ermöglicht es dem Penetrationstester, Exploits auf Basis des Fingerprintings eines Geräts und in Kenntnis seiner verfügbaren Angriffsvektoren mit jeder beliebigen Payload zu kombinieren.

 

 

 

 

Das Metasploit-Framework ist das am weitesten verbreitete Framework für Penetrationstests, das über eine komplette Umgebung für die Erkennung, Exploit-Zuordnung und -Ausführung sowie die Exploit-Entwicklung verfügt.

 

 

 

 

Kali Linux

 

 

 

 

Schließlich gibt es auch noch eine Linux-Distribution, die auf Penetrationstests ausgelegt und von Offensive Security Ltd. entwickelt wurde. Kali Linux, das auf Debian Linux basiert, kann auf einem Computer mit relativ geringen Ressourcen installiert oder von einer CD/DVD oder einem USB-Stick gebootet werden. Es bringt mehr als 600 Sicherheitstest-Tools mit, darunter NMAP, das Metasploit-Framework, Anwendungs-Sicherheits-Scanner, Wireshark (für die Paketanalyse), Software-Suiten für WLAN-Pentests und viele weitere. Kali Linux läuft auch auf ARM-basierten Geräten (wie Raspberry Pi2) und Android-PDA-Geräten (etwa der Gemini PDA).

 

 

 

 

Schützen Sie Ihre Geräte

 

 

 

 

Beim Gerätedesign wird der Sicherheit meistens erst nachträglich Aufmerksamkeit gewidmet. Allerdings können Sie einige grundlegende Maßnahmen ergreifen, um Ihre Edge-Geräte zu schützen. Beginnen Sie damit, die folgenden Fragen zu beantworten.

 

 

 

 


  1. Wurde die Angriffsfläche des Geräts geprüft und minimiert?

  2. Sind alle offenen Ports erforderlich, oder können sie nach Abschluss der Entwicklung geschlossen werden?

  3. Wenn Sie auf Ihrem Gerät Linux ausführen, sind Kernel und Pakete auf dem neuesten Stand und Schwachstellen bekannt (wie in der Exploit-Datenbank festgehalten)?

  4. Wurde Ihr Code überprüft (entweder manuell oder mit einem Source-Code-Analysetool)?






  5.  
  6.  
  7.  
  8.  
  9.  

 

 

 

 

Dies sind die grundlegenden Maßnahmen, die ein Entwickler zur Sicherung des Gerätes ergreifen kann, aber alles fängt mit Kenntnissen über die Angriffsfläche und Penetrationstests an.

 

 

 

 

Fazit

 

 

 

 

Penetrationstests fußen auf der Idee, dass Sie die Sicherheit eines Netzwerkgeräts, das Sie in der Praxis schützen wollen, zunächst offensiv betrachten und überprüfen müssen. Im Rahmen von Penetrationstests übernehmen Sie die Rolle einer Person, die die Schwachstellen Ihres Geräts ausnutzen will, sodass Sie nach Freigabe des Geräts sicher sein können, dass Sie bekannte Exploits für Ihr Betriebssystem oder Ihren Netzwerkstapel erfasst haben.

 

 



« Zurück


M. Tim Jones hat über 30 Jahre Erfahrung im Bereich IT-Architekturen und Entwicklung, insbesondere für Embedded Systems.  Er hat mehrere Bücher und zahlreiche Artikel zu einer Fülle an Themen wie Software- und Firmware-Entwicklung verfasst.  Seine Fachkenntnisse reichen von der Entwicklung von Kernels für geostationäre Raumfahrzeuge bis hin zu Architekturen für Embedded Systems und die Protokoll-Entwicklung. 


Alle Autoren

Alle anzeigen Alle anzeigen
Blog nach Datum anzeigen