30
Verhindern von Malware-Ausbreitung in Datennetzen Jakob Döring Lucas Schröder Nils Trampel Chemnitzer StudentenNetz 14. März 2021

Verhindern von Malware-Ausbreitung in Datennetzen

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Verhindern von Malware-Ausbreitung in Datennetzen

Verhindern von Malware-Ausbreitung inDatennetzen

Jakob DöringLucas SchröderNils Trampel

Chemnitzer StudentenNetz

14. März 2021

Page 2: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Inhalt

1 Chemnitzer StudentenNetz (CSN)

2 Ausgangssituation

3 Prozess

4 UmsetzungMailverarbeitungWebsiteQuarantänenetz-Router - Existierende LösungQuarantänenetz-Router - Eigenimplementation

5 Ergebnis

Page 3: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Überblick

Internetprovider für Studenten in Wohnheimen10 Wohnheime am Campus Reichenhainer Straßeetwa 1800 aktive NutzerUplink: URZ, Deutsches Forschungsnetz

Page 4: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

DFN Warnmails

Information über MalwarebefallManuelle Bearbeitung

Abbildung: Ausschnitt aus einer DFN Warnmail

Page 5: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Netzwerk

Identifizierung der Nutzer im NetzNutzernetzwerke:

Geteilte /23Gateway am Router

Quarantänenetzwerke:Gleiche Adressierung wie normale NetzeGateway an Proxy VM

Verschieben von Nutzerports in Quarantänenetze

Page 6: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Proxy

squidSelbstsignierte Zertifikate für HTTPSNur Whitelist erlaubt

TU Chemnitz Debian MirrorAntivirusWindows Updates

Page 7: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Prozess

Mailparser Webseite/ NutzerverwaltungDFN Warnmails Sperrung

QuarantänegatewaySperrung

Sperrung

Bereinigung QuarantänegatewayInternetzugriff

Webseite/ Nutzerverwaltung

Internetzugriffzur Bereinigung

Freischalten

Abbildung: Prozessablauf

Page 8: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Mailverarbeitung

ImplementierungMailverarbeitung

Informationen aus der DFN Warnmail extrahierenSperrung des Nutzers auslösen

Page 9: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Mailverarbeitung

ImplementierungInformationen in der Warnmail

IP-Adresse des NutzersZeitpunktGrund der WarnungAngriffszieleInformationen über Malware

Page 10: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Mailverarbeitung

ImplementierungVerarbeitung

Python SkriptDOM-ParserREST-API

Page 11: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Website

ImplementierungWebseite - Überblick

Django ProjektVerwaltung von

NutzernNutzerhostPortzuordnungenInfrastrukturInterne Hosts

Statusseite

Page 12: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Website

ImplementierungWebseite - APIs

POST /api/v2/ quarantine /lock

NutzerstatusRuft RPC von Gateway auf (Blockierung des Angriffsziels)Plausibilitätsprüfung

GET /api/v2/ quarantine / grants

Liste aller vollständig gesperrter IPs

Page 13: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Website

ImplementierungWebseite - Nutzerseite

GET / quarantine /< encrypted_mac >

Abbildung: Quarantäneansicht für Nutzer

Page 14: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Website

ImplementierungWebseite - Administrationsseite

GET / secure /user/<user_id >/ quarantine

Netzzugriffe überwachen, hinzufügenQuarantäne beenden

Abbildung: Verwaltung der Nutzerquarantäne

Page 15: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Quarantänenetz-Router - Existierende Lösung

ImplementierungAnforderungen Quarantänegateway

Ziele:Personalisierte InformationenEingebunden in CSN-WebsiteZeitlich beschränkte SelbstfreischaltungKein Zugriff auf restliches Netzwerk oder AngriffszieleExistierende Lösung verwenden:

Frei und Open SourceAktuellGut dokumentiertEinfach automatisiert konfigurierbar

Page 16: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Quarantänenetz-Router - Existierende Lösung

ImplementierungBetrachtete Anwendungen

WiFiDogPacketFenceCoovaChillipfSenseOPNsense

Page 17: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Quarantänenetz-Router - Existierende Lösung

ImplementierungProblem 1 - Personalisierte Website

Persönliche Informationen nur in NutzerdatenbankOPNsense hat keinen direkten Zugriff

Page 18: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Quarantänenetz-Router - Existierende Lösung

ImplementierungProblem 2 - Freischaltung

Voucher können nur vom CSN-Webserver aus generiert werdenOPNsense geht von ”physischen” Vouchern ausFreischaltung nur über HTML-Template möglich

Page 19: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Quarantänenetz-Router - Existierende Lösung

ImplementierungProblem 3 - Ende der temporären Freischaltung

Aktive Sitzungen werden nicht unterbrochenHartes Timeout muss und fest für alle Nutzer gleich konfiguriertwerdenKeine individuellen/veränderbaren Freischaltezeiten möglich

Page 20: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Quarantänenetz-Router - Existierende Lösung

ImplementierungProblem 4 - Automatische Sperrung von Angriffszielen

Angriffsziele dürfen nicht erreichbar seinFirewallregeln müssen automatisiert hinzugefügt werdenPlugin ist schlecht dokumentiertFehlerhaft

Page 21: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Quarantänenetz-Router - Existierende Lösung

ImplementierungFazit

Sehr fragile LösungViele ungelöste ProblemeNicht benötigte Funktionalität

Page 22: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Quarantänenetz-Router - Eigenimplementation

Neu-ImplementierungCaptive Portal

NutzergruppenNicht aktiviertdefault state Aktiviert

Netzblockade* Freischaltung*Umleitung zum Web-Portal

Zeitbeschränkung← automatische Rückkehr

* mit Ausnahmen

Page 23: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Quarantänenetz-Router - Eigenimplementation

Captive-Portal-RouterArchitektur - Eigenschaften

Adressen: DHCPNutzergruppierung nach Source-MACProtokoll-/Port-/Adress-basiertes FirewallingHTTP-Weiterleitung zu PortalAPI für Nutzerfreischaltung

Page 24: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Quarantänenetz-Router - Eigenimplementation

Captive-Portal-RouterAufbau

GrundlagenLinux-Host als Router, 2 Interfaces, DHCP-Server, iptables + ipset,Python

Komponentenfw_setup ipsets und iptables-Regeln konfigurieren

http_redirector HTTP-Server für Redirect zum Web-Portalxmlrpcapi Nutzer freischalten, sperren; Firewall-Blacklisting

Page 25: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Quarantänenetz-Router - Eigenimplementation

Captive-Portal-RouterFirewall

ipsetFreigeschaltete Nutzer

ipset create activated_quarantine_macs hash:macipset add activated_quarantine_macs 01:23:45:67:89: ab

IP-Blacklistipset create blocked_targets hash:ipipset add blocked_targets 192.0.2.1

iptables

DNS-UmleitungUmleitung gesperrter NutzerBlocken nach IP-BlacklistGruppenbasierte Netzfreigabe

Page 26: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Quarantänenetz-Router - Eigenimplementation

Captive-Portal-RouterFirewall

ipset

Freigeschaltete NutzerIP-Blacklist

iptablesDNS-Umleitung

iptables -t nat -A PREROUTING -p udp--dport 53 -j DNAT --to - destination [DNS - Server ]

Umleitung gesperrter Nutzeriptables -t nat -A PREROUTING_DEACTIVATED_USERS -p tcp

--dport 80 -j DNAT --to - destination [Device -IP ]:80

Blocken nach IP-Blacklistiptables -A FORWARD -m set --match -set

blocked_targets dst -j DROP

Gruppenbasierte Netzfreigabeiptables -A FORWARD_DEACTIVATED_USERS -p tcp -m multiport

--dports 80 ,443 ,[...] -m set --match -set important dst-j ACCEPT

iptables -A FORWARD_ACTIVATED_USERS -p tcp-m multiport --dports 80 ,443 ,[...] -j ACCEPT

Page 27: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Quarantänenetz-Router - Eigenimplementation

Captive-Portal-RouterHTTP-Umleitung

Ermittlung der MAC-AdresseLinux-Bordmittel:$ ip neigh show[...]192.0.2.5 dev eth1 lladdr 01:23:45:67:89: ba REACHABLE

→ HTTP-302-Redirect nachhttps :// example .org/ portal /? mac =01:23:45:67:89: ba

Verschlüsselung möglichProblem: Manipulation fremder Freischaltungen in gemeinsamerLayer-2-Domain → Verschlüsselung der MAC mit AES Crypt

Page 28: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Quarantänenetz-Router - Eigenimplementation

Captive-Portal-RouterAPI

auf Basis von XML RPCreload Neukonfiguration der Firewall

activate Nutzerfreischaltung für n Minutenclear_activations Entfernen aller Nutzerfreischaltungen

block Neufassung der Blacklist

Page 29: Verhindern von Malware-Ausbreitung in Datennetzen

CSN Ausgangssituation Prozess Umsetzung Ergebnis

Ergebnis

voll funktionales selbstgebautes System1

Inbetriebnahme Oktober 2020Rund 30 QuarantänefälleBegrenzte Stabilität des HTTPServers aus Python

Abstürze durch HTTP-Requests von Nutzergeräten aus exotischenLändernAlternative: Flask-Framework mit uWSGI

kaum Meldungen zur Nutzererfahrung

1https://github.com/camelusferus/cpob

Page 30: Verhindern von Malware-Ausbreitung in Datennetzen

Vielen Dank fürdie Aufmerksamkeit

Fragen?

web: www.csn.tu-chemnitz.demail: [email protected]