„Multipass!“ - Die Sicherheit von Multifunktionsdruckern

René 'Lynx' Pfeiffer

DeepSec GmbH

DeepSec Logo

#pw21 „Datenmeer“ (29. November 2021) – Updates

Drucker

  • 19. Jahrhundert - Charles Babbage, Differenzmaschine mit mechanischem Drucker
  • 1962 - Patent auf Tintelstrahldruck, Teletype Corporation
  • 1966 - Teletype Inktronic Printer
  • 1968 - Epson EP-101
  • 1981 - Xerox Star Arbeitscomputer mit Laserdrucker
  • 1982 - PostScript Druckersprache
  • 1984 - HP LaserJet, Apple LaserWriter
  • sehr viel weitere Modelle & Drucktechnologien

Druckereigenschaften

Quelle: C64 Wiki - Commodore MPS-801 Nadeldrucker

Peripheriegeräte

Peripheriegeräte

Peripheriegeräte

Drucker sind Rechner

Quelle: AliExpress

Betriebssystemarchitektur

  • MIPS oder ARM Prozessor
  • meist System-on-a-Chip (SoC)
  • vereinfachtes Memory Management
  • einfache oder keine Privilegien (System)
  • Remote Firmware Updates (RFU)
  • Was „rechnen“ Drucker?

    • Vorlage - ✒✉🖼📋📜📸📝
    • Umwandlung in „Druckersprache“
    • Übertragung an Drucker
    • Erzeugung der Druckdaten
      • eine Seite, mehrere Zeilen, …
      • Vektoren, Bitmaps, Text, Fonts, …
      • Farben
      • Auflösung - Skalierung
      • Puffern
    • Verarbeiten der Druckdaten
    • Verwalten der Druckmaterialien, Ansteuern der Mechanik
    • gegebenenfalls Wiederholen des Druckauftrags

    Vektoren und Raster

    Printer & Cutter

    „Druckersprache“?

    • „Seitenbeschreibungssprache“ - Page Description Language (PDL)
    • beschreibt Seite statt Bitmaps / Rastergrafik zu verwenden
    • Sprachen können zeichnen und Grafikoperationen ausführen
    • bekannte Beispiele (Auswahl):
      • Device Independent File Format (DVI)
      • ESC/P, ESC/P2, ESC/Page, …
      • Printer Command Language (PCL)
      • PostScript®
      • Portable Document Format (PDF)
    • manche Druckersprachen sind vollwertige Programmiersprachen oder enthalten diese
    • Verarbeitung am Computer oder am Drucker

    Multifunktions…?

    • Drucken ist so was von 1960s…
    • Scannen von Dokumenten
    • Faxempfang und -versand
    • E-Mail-Versand und -empfang
    • weitere Netzwerkanbindungen (WLAN, Ethernet, Bluetooth®, IR, …)
    • Verwendung von USB Sticks
    • „Cloud“ Printing
    • ¡Apps! 😻

    Moderne Drucker sind vollwertige Computer.

    ☠ Bedrohungslage ☠

    📈 Statistiken 📊

    • „4,149 data breaches, which exposed over 4.2 billion records“ (2016)
    • „30 million printers and multifunction devices in the U.S. and Western Europe“ (networked)
    • „Less than 2% of business printers are secure.“
    • Vergleich zwischen 2016 und 2018
      • „a printer is 68% more likely to be the source of an external threat“
      • „a printer is 118% more likely to be the source of an internal threat“
    • „Weichziel“ Drucker und Drucksysteme

    Quelle: The State of Printer Security (HP, 2018)

    ☠ Bedrohungslage ☠

    • Lahmlegen durch Netzwerkflut (Script Kiddy Level)
    • Überwinden von Zugriffssperren
      • privilegierter Zugriff
      • Verändern von Einstellungen
    • Zugriff auf Druckjobs & Manipulation
    • Informationslecks
      • Auslesen von sensitiven Daten (wie beispielsweise Passworte)
      • Auslesen von Druckdaten oder Buchhaltung (wer was wie oft druckt)
    • Ausführen von fremden/schadhaften Code
      • Drucker erlaubt(en) Flashen der Firmware per Druckjob

    🔭 Aufklärung 🔭

    • Bedrohungen müssen interagieren und Daten austauschen
    • Senden von Druckjobs an den Drucker
      • aus der unmittelbaren Umgebung
      • über Druckservices wie „Cloud“ Printing
    • direktes Ansprechen im Netzwerk
    • Ausnutzen von Druckersprachen und Druckerkommandos

    🕸 Zugangsmöglichkeiten 🕸

    Netzwerkansicht

    gregory@house ~ $ nmap -sT -p 1-65535 10.0.0.1
    Starting Nmap 7.92 ( https://nmap.org ) at 2021-10-26 01:30 CEST
    Nmap scan report for 10.0.0.1
    Host is up (0.0031s latency).
    Not shown: 65527 closed tcp ports (conn-refused)
    PORT     STATE SERVICE
    80/tcp   open  http
    443/tcp  open  https
    515/tcp  open  printer
    631/tcp  open  ipp
    3911/tcp open  prnstatus
    5355/tcp open  llmnr
    8080/tcp open  http-proxy
    9100/tcp open  jetdirect
    
    Nmap done: 1 IP address (1 host up) scanned in 7.87 seconds
    gregory@house ~ $
                    

    Drucker sind üblicherweise in Netzwerken sicht- und erkennbar.

    Netzwerkinteraktionen

    • Netzwerkports sind für verschiedene Protokolle vorgesehen
    • Drucker antworten meist immer, filtern nichts
    • Zugang oft frei möglich
      • Druckjobs absenden ohne Login
      • kein / Default Passwort für Administratorinnen und Administratoren
      • Lesezugriff auf Managementinformationen (Materialien/Konfiguration)
    • Angreifende können mit direkter Interaktion arbeiten

    Exkurs: HP Jetdirect Geschichte

    Quelle: HP Jetdirect Security Guidelines, 2007

    Exkurs: HP Jetdirect Features per Firmware

    Quelle: HP Jetdirect Security Guidelines, 2007

    Beispiel und Werkzeuge

    • @PJL RDYMSG DISPLAY="Game Over..." ändert Statusmeldung auf Display
    • Testwerkzeug PRinter Exploitation Toolkit (PRET)
      • spricht PostScript, PJL und PCL
      • deckt die meisten AngriffeTests ab
    • Tool Metasploit hat ebenfalls AngriffsTestmodule

    Remote Firmware Updates (RFU)

    PJL Kommando mit 7 MB ohne Verschlüsselung; Quelle: Print Me If You Dare Präsentation, 28C3, 2011

    Drucker (?) im Internet

    Managementinformationen

    iso.3.6.1.2.1.1.1.0 = STRING: "HP ETHERNET MULTI-ENVIRONMENT"
    iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.11.2.3.9.1
    iso.3.6.1.2.1.1.3.0 = Timeticks: (476693112) 55 days, 4:08:51.12
    iso.3.6.1.2.1.1.5.0 = STRING: "TheThing"
    iso.3.6.1.2.1.25.3.2.1.3.1 = STRING: "HP OfficeJet Pro 9010 series"
    iso.3.6.1.2.1.43.5.1.1.17.1 = STRING: "TH73E231X9"
    iso.3.6.1.2.1.43.11.1.1.6.1.1 = STRING: "cyan ink HP 3JA27A"
    iso.3.6.1.2.1.43.11.1.1.6.1.2 = STRING: "magenta ink HP 3JA28A"
    iso.3.6.1.2.1.43.11.1.1.6.1.3 = STRING: "yellow ink HP 3JA29A"
    iso.3.6.1.2.1.43.11.1.1.6.1.4 = STRING: "black ink HP 3JA30A"
    …
                    

    Zugänglich aus lokalem Netzwerk via snmpwalk.

    Übersicht Schwachstellen

    Quelle: SoK: Exploiting Network Printers

    🕸 Gespeicherte Druckjobs 🕸

    🌧 Cloud Printing 🌨

    • Idee: Drucken von überall ohne Treiber
    • für Heim- und Profibereich verfügbar
    • nicht standardisiert
    • manche Hersteller haben Portale
      • Drucker ist registriert und hat E-Mail Adresse
      • Nachrichten an E-Mail Adresse werden gedruckt
      • einziger Schutz: Adresse „geheim“ halten
    • Google Cloud Print vernetzt Systeme

    Google Cloud Printing

    Quelle: SoK: Exploiting Network Printers

    Google Cloud Printing ist seit 31. Dezember 2020 End-Of-Life.

    Gegenmassnahmen

    Abhilfe (1)

    • nur benötigte Features einschalten
    • „sparsam“ Netzwerke verwenden
    • Netzwerke absichern (lokal ≠ sicher)
    • Durcken nur über „hardened print server“
    • Schutzfunktionen der Drucker verwenden
    • Defaults ändern (speziell Logins und Passworte!)
    • nur „vertrauenswürdige“ Druckjobs drucken
    • Firmware aktualisieren
    • End-Of-Life Drucker (im Netzwerk) isolieren

    Abhilfe (2)

    Abhilfe (3)

    ❓ - Fragen? - ❓

    Quelle: BBC - Canon printer hacked to run Doom video game

    Weiterführende Quellen

    About the Author

    René „Lynx“ Pfeiffer was born in the year of Atari's founding and the release of the game Pong. Since his early youth he started taking things apart to see how they work. He couldn't even pass construction sites without looking for electrical wires that might seem interesting. The interest in computing began when his grandfather bought him a 4-bit microcontroller with 256 byte RAM and a 4096 byte operating system, forcing him to learn Texas Instruments TMS 1600 assembler before any other programming language.

    After finishing school he went to university in order to study physics. He then collected experiences with a C64, a C128, two Commodore Amigas, DEC's Ultrix, OpenVMS and finally GNU/Linux on a PC in 1997. He is using Linux since this day and still likes to take things apart und put them together again. Freedom of tinkering brought him close to the Free Software movement, where he puts some effort into the right to understand how things work – which he still does.

    René is a senior systems administrator, a lecturer at the University of Applied Sciences Technikum Wien and FH Burgenland, and a senior security consultant. He uses all the skills in order to develop security architectures, maintain/improve IT infrastructure, test applications, and to analyse security-related attributes of applications, networks (wired/wireless, components), (cryptographic algorithms), protocols, servers, cloud platforms, and more indicators of modern life. SEC4YOU Advanced IT Services GmbH benefits from his experience. If you are interested in putting your security to the test, please let us know.

    Über die DeepSec Konferenz

    Die DeepSec GmbH veranstaltet seit 2007 jährlich im November die DeepSec In-Depth Security Conference in Wien. Die DeepSec bringt als neutrale Plattform die Sicherheitsexperten aus allen Bereichen zum Gedanken- und Erfahrungsaustausch zusammen. Dort erhalten IT- und Security- Unternehmen, Anwender, Behördenvertreter, Forscher und die Hacker- Community in über 42 Vorträgen und zweitägigen Trainings die Chance, sich über die aktuellen und zukünftigen Sicherheitsthemen auszutauschen. Die Konferenz möchte insbesondere dem weit verbreiteten Vorurteil entgegen wirken, dass Hacker, Studierende sowie Sicherheitsexpertinnen zwangsläufig Kriminelle sind.