Archiv der Kategorie: Tests

Smart doch angreifbar: Schwachstellen bei IoT-Geräten

Die Vielfalt der Funktionen von smarten Geräten bietet grossen Nutzen für Umgebungen zu Hause, in Unternehmen und im öffentlichen Bereich, doch gleichzeitig sind auch die Sicherheitsrisiken hoch, die sich durch Schwachstellen und Lücken darin ergeben. Angreifbare smarte Geräte setzen die Netzwerke Angriffen aus. IoT-Geräte sind vor allem deshalb gefährdet, weil ihnen die notwendige eingebaute Sicherheit fehlt, um Bedrohungen abzuwehren. Abgesehen von technischen Aspekten tragen aber auch die Nutzer zur Anfälligkeit der Geräte für Bedrohungen bei.

Einige der Gründe, warum diese smarten Geräte angreifbar sind:

  • Begrenzte rechnerische Fähigkeiten und Hardware-Beschränkungen: Die Geräte verfügen über spezifische Funktionen, die nur begrenzte Rechenfähigkeiten erfordern, so dass wenig Raum für robuste Sicherheitsmechanismen und Schutz der Daten bleibt.
  • Heterogene Übertragungstechnologie: Geräte verwenden häufig viele unterschiedliche Übertragungstechniken. Dadurch ist es schwierig, Standard-Schutzmethoden und -Protokolle festzulegen.
  • Angreifbare Komponenten der Geräte: Anfällige Basiskomponenten haben Auswirkungen auf Millionen eingesetzter smarter Geräte.
  • Nutzer mit mangelndem Sicherheitsbewusstsein: Infolge eines mangelhaften Sicherheitsdenken bei den Nutzern können vernetzte Geräte Schwachstellen und Lücken für Angreifer ausgesetzt werden.

Schwachstellen in Geräten ermöglichen es Cyberkriminellen, sie als Ausgangsbasis für ihre Angriffe zu nutzen. Dies hebt nochmals hervor, wie wichtig es ist, Sicherheit bereits in der Entwurfsphase mit einzubinden.

Auswirkungen der Sicherheitslücken auf Nutzer

Die Untersuchung von grösseren Angriffen auf IoT-Geräte zeigt, wie diese sich auf Nutzer auswirken können. Bedrohungsakteure können angreifbare Geräte für laterale Bewegungen nutzen, um so ihre Wunschziele zu erreichen. Auch lassen sich Sicherheitslücken dazu nutzen, um Geräte selbst ins Visier zu nehmen und sie für grössere Kampagnen zu missbrauchen oder um Malware ins Netzwerk zu bringen.

IoT Botnets zeigen die Auswirkungen von Geräte-Schwachstellen und wie Cyberkriminelle diese ausnutzen. 2016 geriet Mirai, eine der bekanntesten Arten von IoT-Botnet-Malware, in die Schlagzeilen, als das Botnet, bestehend aus Tausenden von kompromittierten IoT-Haushaltsgeräten, in einer Distributed Denial of Service (DDoS)-Kampagne namhafte Websites lahmlegte. Aus geschäftlicher Sicht lassen IoT-Geräte die Unterscheidung zwischen der notwendigen Sicherheit in Unternehmen und Privathaushalten weiter schwinden, insbesondere in Home Office-Szenarien. Die Einbindung von IoT-Geräten im Haushalt kann auch neue Einstiegspunkte in Umgebungen mit möglicherweise schwacher Sicherheit eröffnen und Mitarbeiter Malware und Angriffen aussetzen, über die Angreifer ins Unternehmensnetzwerk gelangen können. Dies ist ein wichtiger Aspekt bei der Entscheidung für die Implementierung von Bring Your Own Device (BYOD)– und Home Office-Szenarien.

Angreifer können IoT-Geräte mit bekannten Schwächen ebenso für das Eindringen in interne Netzwerke nutzen. Die Bedrohungen reichen von DNS Rebinding-Attacken, um aus internen Netzwerken Informationen zu sammeln und zu exfiltrieren, bis zu neuen Angriffen über Seitenkanäle wie Infrarotlaser für Attacken auf vernetzte Geräte.

Beispiele für Sicherheitslücken in IoT-Geräten

Es hat bereits viele Fälle gegeben, die die Auswirkungen von IoT-Schwachstellen vor Augen führen, einige davon in der Praxis andere im Rahmen eines Forschungsprojekts. Die Nonprofit-Organisation Open Web Application Security Project (OWASP) veröffentlicht jedes Jahr eine Liste der Top IoT-Schwachstellen. Zu den am weitesten verbreiteten Lücken gehören die folgenden:

  • Schwache, leicht zu erratende oder fest codierte Passwörter: Typischerweise nutzen dies neue Malware-Varianten aus. Beispielsweise fanden die Sicherheitsforscher von Trend Micro eine Mirai-Variante namens Mukashi, die CVE-2020-9054 missbrauchte und Brute Force-Angriffe mit Standard-Anmeldedaten, um sich in Zyxel NAS-Produkte einzuwählen.
  • Unsichere Ökosystem-Schnittstellen: Die Erforschung von komplexen IoT-Umgebungen zeigte exponierte Automatisierungsplattformen, die die Funktionen mehrerer Geräte verketten. Der exponierte Automatisierungsserver enthielt wichtige Informationen wie Geostandort des Haushalts und fest codierte Passwörter.
  • Unsichere Netzwerkdienste: Ein Forschungsprojekt von Trend Micro aus dem Jahr 2017 widmete sich der Sicherheit von Sonos smarten Lautsprechern. Die Studie zeigte, wie einfach offene Ports das Gerät für jedermann im Internet zugänglich machen.

Nutzer sollten diese allgemein vorhandenen Schwachstellen ernst nehmen und die nötigen Vorsichtsmassnahmen gegen Exploits treffen. Weitere Einzelheiten zu IoT-bezogenen Angriffen sowie Sicherheitsempfehlungen umfasst die IoT-Ressource-Seite von Trend Micro.

Verantwortlichkeiten bei Sicherheit von IoT-Geräten

Das Potential unvorhersehbarer kaskadenartiger Auswirkungen von Schwachstellen und mangelnder Sicherheit im IoT beeinflusst in hohem Masse die allgemeine Sicherheit des Internets. Die Gewährleistung der Sicherheit dieser Geräte liegt in der gemeinsamen Verantwortung aller Beteiligten.

Die Hersteller müssen bekannte Schwachstellen in Nachfolgeprodukten beheben, Patches für bestehende Produkte bereitstellen und das Ende des Supports für ältere Produkte melden. Hersteller von IoT-Geräten müssen zudem die Sicherheit bereits in der Entwurfsphase berücksichtigen und dann Penetrationstests durchführen, um sicherzustellen, dass es keine unvorhergesehenen Lücken in einem System und Gerät in der Produktion gibt. Und Unternehmen sollten auch über ein System verfügen, über das sie Schwachstellen-Reports von Dritten zu ihren eingesetzten Produkten empfangen können.

Die Benutzer müssen mehr Wissen über die Sicherheitsrisiken beim Anschluss dieser Geräte und über ihre Aufgabe bei der Sicherung dieser Geräte erlangen. Die Risiken lassen sich unter anderem durch die Änderung der Standardpasswörter, die Aktualisierung der Firmware und die Wahl sicherer Einstellungen mindern.

Eine vollständige und mehrschichtige Verteidigung erhalten Anwender mit Hilfe von Lösungen wie Trend Micro™ Security und Trend Micro™ Internet Security, die effiziente Sicherheitsfunktionen gegen Bedrohungen IoT-Geräte bieten, denn sie können Malware auf den Endpunkten erkennen. Vernetzte Geräte lassen sich über Lösungen schützen wie Trend Micro™ Home Network Security und Trend Micro Smart Home Network™ (SHN), die den Internet-Verkehr zwischen Router und allen vernetzten Geräten überprüfen können. Die Netzwerk-Appliance Trend Micro™ Deep Discovery™ Inspector bietet Monitoring aller Ports und Netzwerkprotokolle auf fortgeschrittene Bedrohungen und kann somit Unternehmen vor gezielten Angriffen schützen.

Sicherheit für die 4 Cs von Cloud-nativen Systemen: Cloud, Cluster, Container und Code, Teil 2

Originalbeitrag von Magno Logan, Threat Researcher

Cloud-native Softwareentwicklung baut auf quelloffene und proprietäre Software, um Anwendungen wie Microservices bereitzustellen, die in einzelnen Containern in isoliert ausführbare Prozesse verpackt sind. Da Unternehmen mehrere Container auf mehreren Hosts laufen lassen, setzen sie Orchestrierungssysteme wie etwa Kurbernetes ein, die über CI/CD-Tools mit DevOps-Methodologien bereitgestellt und verwaltet werden. Wie bei jeder Technologie, die unterschiedliche, miteinander verbundene Tools und Plattformen nutzt, spielt auch beim Cloud-nativen Computing Sicherheit eine entscheidende Rolle. Cloud-native Sicherheit unterteilt die Strategie in vier unterschiedliche Schichten. Nach der Darstellung der Sicherheitsproblematik für die Cloud an sich und für die Cluster (Teil 1) stellt dieser 2. Teil die Sicherheit für Container und Code in den Vordergrund.

Kubernetes nennt dies „The 4Cs of Cloud-native Security“.

Bild 1. Die 4 Cs der Cloud-nativen Sicherheit

Wichtig ist, Sicherheitskontrollen in jeder Schicht anzuwenden, denn jeder Layer liefert eine eigene Angriffsoberfläche und wird nicht zwangsläufig durch andere Layer geschützt. So wird etwa eine unsichere Webanwendung bei einem Angriff über SQL Injection nicht durch äussere Schichten (siehe Bild 1) dagegen geschützt, wenn keine spezielle Sicherheitssoftware vorhanden ist. Sicherheitsverantwortliche müssen jedes mögliche Szenario mit einbeziehen und Systeme auf jede Art schützen. Weitere detaillierte Empfehlungen für die sichere Container-Orchestrierung bietet der Blogeintrag zur Sicherheit von Kubernetes Container-Orchestrierung.

Container-Sicherheit

Für den Betrieb von Containern im Cluster bedarf es der Container Runtime Engines (CREs). Eine der bekanntesten ist Docker, doch Kubernetes unterstützt auch andere wie containerd oder CRI-O. In puncto Sicherheit müssen Unternehmen für diese Schicht drei wichtige Fragen klären:

  • Wie sicher sind die Images? Hier müssen Verantwortliche sicherstellen, dass die Container auf aktuellem Stand und frei von Schwachstellen, die missbraucht werden könnten, sind. Nicht nur das Basis-Image muss abgesichert sein, sondern auch die in den Containern laufenden Anwendungen müssen gescannt und verifiziert sein. Dafür gibt es einige quelloffene Tools, doch nicht alle können Schwachstellen ausserhalb der Betriebssystempakete erkennen. Dafür sollten Anwender auf Lösungen setzen, die auch Anwendungen abdecken, so etwa Deep Security™ Smart Check.
  • Sind die Container vertrauenswürdig? Wurden die Container, die im System laufen, aus den Images in der eigenen Registry erstellt? Wie lässt sich dies gewährleisten? Antworten bieten Image-Signiertools wie TUF oder Notary, mit denen die Images signiert werden können und somit ein vertrauenswürdiges System für die Inhalte der Container erstellt werden kann.
  • Laufen sie mit den geeigneten Privilegien? Hier greift das Prinzip der geringsten Privilegien. Es sollten lediglich Container laufen, wo die Nutzer nur die für ihre Aufgaben erforderlichen Betriebssystemprivilegien haben.

Ein umfassender Leitfaden zu einem höheren Schutz für Container zeigt auch die möglichen Gefahren in jeder Phase der Entwicklungs-Pipeline.

Code-Sicherheit

Hierbei geht es um Anwendungssicherheit. Es ist die Schicht, über die Unternehmen die beste Kontrolle haben. Der Code der Anwendungen stellt zusammen mit den zugehörigen Datenbanken das Kernstück der Systeme dar. Sie sind üblicherweise im Internet zugänglich und werden daher von Angreifern ins Visier genommen, wenn alle anderen Komponenten gut gesichert sind.

Deshalb müssen Unternehmen in erster Linie sicherstellen, dass jegliche Kommunikation TLS-verschlüsselt abläuft, auch wenn es sich um interne Services handelt, wie Load Balancer, Anwendungsserver und Datenbanken. Im Fall eines Orchestrierungstools wie Kubernetes lassen sich dafür Services wie Istio oder Linkerd heranziehen.

Die Angriffsfläche der Systeme kann erheblich verkleinert werden, wenn exponierte Dienste, Ports und API-Endpunkte reduziert und überwacht werden. Hier sollten auch Container Basis-Images und Systeme, auf denen die Cluster laufen, bedacht werden.

Es lassen sich verschiedene Code-Sicherheitsüberprüfungen zur Pipeline hinzufügen, um zu gewährleisten, dass der Code gesichert ist. Hier sind einige davon:

  • Statische Sicherheitsanalyse von Anwendungen. Man spricht auch von „Sicherheitsüberprüfung des Codes“ oder von „Code Auditing“. Die Methode gilt als einer der besten und schnellsten Wege, um Sicherheitsprobleme im Code zu entdecken. Unabhängig von der verwendeten Sprache sollte mindestens ein statisches Analysetool in die Pipeline integriert sein, das bei jedem Commit von neuem Code auf unsichere Kodierungspraktiken prüft. Die Open Web Application Security Project (OWASP) Foundation erstellt eine Liste mit quelloffenen und auch kommerziellen Tools für die Analyse von Quellcode und/oder kompiliertem Code.
  • Dynamische Sicherheitsanalyse von Anwendungen. Obwohl eine dynamische Analyse nur dann durchgeführt werden kann, wenn es eine laufende Anwendung gibt, gegen die getestet wird, ist es ratsam, automatisierte Scans und Checks durchzuführen, um bekannte Angriffe wie SQL Injection, Cross-Site Scripting (XSS) und Cross-Site Request Forgery (CSRF) aufzuspüren. Diese Tools testen auch die Widerstandsfähigkeit der Anwendung, Container und Cluster, wenn auf diese eine Reihe unerwarteter Belastungen und fehlerhafter Anfragen zukommt. OWASP hat ein dynamisches Analysetool, OWASP Zed Attack Proxy (ZAP), das Unternehmen automatisiert und in die eigene Pipeline einfügen können.
  • Analyse der Software-Komposition. 70% bis 90% aller Cloud-nativen Anwendungen umfassen Abhängigkeiten von Bibliotheken und Drittanbietern. Es geht um Codeteile, die wahrscheinlich von jemand ausserhalb des Unternehmens verfasst wurden, und die in den unternehmenseigenen Produktionssystemen laufen. Diese Codes werden im Allgemeinen während der statischen Analyse nicht überprüft. Dafür können Tools wie der OWASP Abhängigkeitscheck genutzt werden, um nach veralteten oder angreifbaren Bibliotheken im Code zu suchen. Snyk wiederum bietet kostenlos Drittanbieterüberprüfung für quelloffene Projekte.

Fazit

Die vier Schichten von Cloud-nativen Systemen sind für die Sicherheit von Anwendungen von entscheidender Bedeutung – und wenn auch nur eine von ihnen Angreifern ausgesetzt ist, kann das gesamte System kompromittiert werden.

Cloud-Sicherheitslösungen von Trend Micro

Cloud-spezifische Sicherheitslösungen wie die Trend Micro™ Hybrid Cloud Security können zum Schutz von Cloud-nativen Systemen und ihren verschiedenen Schichten beitragen. Unterstützt wird sie von Trend Micro Cloud One™ , einer Sicherheitsdienste-Plattform für Cloud-Entwickler. Sie bietet automatisierten Schutz für die CI/CD-Pipeline und Anwendungen. Sie trägt auch dazu bei, Sicherheitsprobleme früher zu erkennen und zu lösen und die Lieferzeit für die DevOps-Teams zu verkürzen. Die Plattform umfasst:

Pwn2Own: Deutsche erfolgreich beim Hacken industrieller Kontrollsysteme

Beim ersten Pwn2Own in Miami ging es um das Hacking von ausschließlich Industrial Control Systems (ICS). Der Wettbewerb, veranstaltet von der Zero Day initiative (ZDI) von Trend Micro, umfasste acht zu testende Ziele in fünf Kategorien (Control Server, OPC Unified Architecture (OPC UA) Server, DNP3 Gateway, Human Machine Interface (HMI)/Operator Workstation und Engineering Workstation Software). Mehr als 250.000 $ an Preisgeldern wurden bereitgestellt. Die deutschen Teilnehmer Tobias Scharnowski, Niklas Breitfeld und Ali Abbasi aus Bochum konnten sich den zweiten Platz in der Endwertung gegen starke Konkurrenz sichern.

Dem Team vom Horst Görtz Institut für IT-Sicherheit an der Ruhr-Universität Bochum gelang es zuerst in der HMI-Kategorie, mit einem Out-of-Bounds (OOB) Zugriffs-Exploit Code auszuführen auf Rockwell Automation FactoryTalk View SE. Auch in der Control Server-Kategorie waren sie erfolgreich Schließlich gelang ihnen auch die Ausführung von Code auf dem Triangle Microworks SCADA Data Gateway. Diese Lösungsansätze brachten dem Team 87,5 Punkte für den zweiten Platz mit insgesamt 75.000 Dollar Preisgeld.

Den ersten Platz belegte das Incite Team von Steven Seeley und Chris Anastasio. Ihnen gelang in der DNP3-Gateway-Kategorie über einen Stack-basierten Overflow ein DoS auf dem Triangle Microworks SCADA Data Gateway sowie in der Control Server-Kategorie die Code-Ausführung aus der Ferne auf Systemebene auf der Inductive Automation Ignition. Auch in der EWS-Kategorie konnten sie einen Erfolg verbuchen. Nach weiteren zwei gelungenen Hacking-Tests stand das Incite Team mit 92,5 Punkten und 80.000 $ Preisgeld als Sieger fest.

Weitere Einzelheiten zum Hacking-Wettbewerb umfasst der Blog des ZDI.