Fertigungs-PC

Ich habe mir einmal Gedanken über den Betrieb von PCs in der Produktion oder Fertigung gemacht, an denen immer schnell wechselnde Mitarbeiter arbeiten.

Worum geht es?

Seit Windows NT 3.51 ist es normal, dass man sich am Computer anmelden muss, um Programme zu nutzen. Die Zeit von DOS, Windows 3.1 und Windows 95, welche keine Anmeldung vorausgesetzt haben, sind schon lange vorbei. Für einen klassischen Büroarbeitsplatz, an dem eine Person den Tag über arbeitet, ist das kein Problem. Auch Notebooks, die persönlich genutzt wird, sind einfache Aufgaben. Selbst Schulungs-PCs, an welchen sich dann Benutzer wie Schulung01-Schulung12 anmelden, sind einfacher zu sehen als der PC in der Produktion, auf dem vielleicht 2-4 Programme laufen und der Mitarbeiter z.B. neue Aufträge anzeigt und Produktionszahlen eingibt.

Sicher werden die Anzahl solcher PCs weniger und immer mehr als Apps auf Smartphones oder Tablets ganz ohne Systemanmeldung. Aber Windows-PCs sind weiterhin dominant, insbesondere wen Tastatur und Maus benötigt wird, die Software noch nicht als Tablet-App oder Browser-App zur Verfügung stehen. Auch physikalische Verbindungen zu Produktionsmaschinen zwecks Daten-Import/Export funktioniert eher schlecht mit neuartigen Endgeräten.

Anmeldeuser

Damit stellt sich die Frage nach der Anmeldung an diesem Windows Geräte. In einem klassischen Netzwerk hat jeder Benutzer ein individuelles und persönliches Anmeldekonto, welches auch den Zugriff auf die vom Anwender genutzten Daten und Dienste erlaubt. Das ist auch der ideale Weg um Dienste in der Cloud anzubinden. Entsprechend gibt es zwei Nutzungsweisen:

  • An/Abmeldung
    Der Anwender geht an den PC und meldet sich klassische an, startet das gewünschte Programm, liest neue Information und gibt seine Daten ein und meldet sich dann wieder ab. Sie können aber schon selbst sehen, dass diese Anmeldung zu lange dauert und das Risiko ist hoch, dass sich die Anwender morgens anmelden aber dann nicht mehr abmeldet und den PC hoffentlich in der Zwischenzeit sperrt. Die Realität sieht leider oft anders aus.
  • Fast User Switching
    Windows kennt aber auch die Funktion, dass mehrere Personen gleichzeitig an einem Client angemeldet sind. Natürlich ist immer nur ein Benutzer dann aktiv aber ein Wechsel ist sehr schnell möglich. Knifflig wird es, wenn die genutzte Software dies nicht unterstützt, weil sie nur einmal gestartet werden kann.

Die Anmeldung des Anwenders mit seinem eigenen Konto hat natürlich auch den Vorteil, dass die Zugriffe mit den Berechtigungen des Benutzers erfolgen, Single SignOn möglich ist und auch der Zugriff auf Microsoft 365 ist einfach möglich. Gerade für Produktionsmitarbeiter gibt es ja auch entsprechende Microsoft 365 F1/F3-Lizenzen, die mit einem eingeschränkten Funktionsumfang zu deutlich günstigeren Preisen zugeschnitten sind. Sollte die individuelle Anmeldung nicht funktionieren, dann bleibt die (automatische) Anmeldung mit einem generischen Konto. Auch hier haben wir zwei Optionen:

  • Anmeldung mit Domain-Account
    Dazu muss der Computer natürlich Mitglied einer Domain sein aber nach der Anmeldung kann jeder Nutzer mit den Rechten dieses Funktionskonto Programme starten und auch auf Netzwerkressourcen zugreifen. Hier gilt es darauf zu achten, wo z.B. "Domain Benutzer" überall berechtigt ist, so dass solche Konten nicht an andere Informationen kommen
  • Anmeldung mit lokalem Account
    Ein Computer muss nicht in einer Domain sein, wenn er nur wenige Programme nutzt, die entweder nur lokal arbeiten oder die Daten über explizite Credentials auf andere Systeme übertragen. Selbst wenn er in einer Domain ist, können sie den Computer als Firma einfach verwalten aber dennoch lokale Benutzer zur Anmeldung verwenden, die dann keine Rechte in der Domain haben.

Die Herausforderung bei einem generischen Benutzer ist natürlich, dass Sie ausgelöste Aktionen nicht mehr anhand das Windows Benutzerkontos auf eine natürliche Person zuordnen können. Die Nutzer sollten daher möglichst wenig mit en nativen Funktionen von Windows zu tun haben und sich idealerweise nur in einer Applikation bewegen, z.B. im Kiosk Mode.

Anmeldung und Schutz

Wenn Sie nun eine Festlegung hinsichtlich des Kontos getroffen haben, stellt sich die Frage, wie die Anmeldung durchgeführt wird. Wir wissen alle, dass Username/Kennwort geht aber nur bedingt sicher ist. In der Produktion ist es aber nicht nur eine Frage der Sicherheit sondern auch der Anwendbarkeit. Wer mit Schutzhandschuhen oder ölverschmierten Fingern sich anmelden soll, wird davon nicht begeistert sein. Auch das Abmelden oder zumindest Sperren des Geräts sollte z.B.: beim "Entfernen" vom Gerät sehr zügig erfolgen. Windows Hello erlaubt mittlerweile sehr viele Alternativen aber nicht alle sind für Produktions-PCs geeignet.

Verfahren Eignung

Username/Kennwort - Autologin - Kiosk

Die klassische Anmeldung mit dem User und dem Kennwort sollte immer funktionieren aber hat die bekannten Einschränkungen. Insbesondere ein generisches Konto, dessen Kennwort dann mehrere Personen kennen, ist heute nicht mehr für produktiven Betrieb geeignet.

Ein legitimer Einsatz ist der Kiosk Mode, bei dem eine entsprechende App gestartet wird oder generelle Nutzung von "AutoAdminLogon", so dass niemand das Kennwort eingeben muss. Über Autostart kann der PC gleich wieder gesperrt werden, so dass das Missbrauchsfenster minimiert wird.

 

Windows Hello: Pin

Ein einmal angemeldetes Konto könnte nun eine PIN einrichten, die dann mehrere Personen kennen. Sie können damit nur diesen einen PC entsperren aber ohne Wissen um das Kennwort dieses nicht auf einem anderen System zur Anmeldung verwenden. Das ist schon mal etwas sicherer.

 

Windows Hello: Fingerabdruck

Fingerabdrücke sind möglich aber kaum praktikabel. Man müsste jeden Anwender anlernen und zudem gibt es ein Limit von 10 Einträgen. Störender ist aber in Produktionsumgebungen die Verschmutzung und eher schlechte Erkennung.

 

Windows Hello: Kamera

Auch das Anlernen von Bildern ist möglich aber funktioniert nur mit separaten Konten. Es ist sicher ein guter Weg mit einem Wechsel über "Fast User Switching" aber nicht für ein generisches Konto. Gesichtserkennung kann aber auch nicht überall genutzt werden. Ich denke z.B. an medizinische Umgebungen mit Masken.

 

Windows Hello: Bluetooth/Smartphone Lock

Sie können ein Smartphone oder andere Bluetooth-Gerät mit Windows nutzen, um das Gerät beim Entfernen zu sperren und beim Annähern zu entsperren. Meine Erfahrungen sind hier dass die Reichweiten oft sehr weit sind, die Sperre bis zu 60 Sekunden dauert und das eher ein Schutzfunktion ist, wenn Sie als Büroarbeiten am PC sitzen und weit weg gehen. Das änder sich dann wohl erst mit Ultrabreitband-Funk (UWB) zur genaueren Entfernungsmessung

 

Windows Hello: Fido-Key

Eine weitere Funktion ist die Entsperrung mit einem Fido-Key. Diese Option erscheint sehr nützlich, wenn jeder Mitarbeiter einen eigenen Fido-Key bekommt und ein passend platzierter USB-Port einfach erreichbar ist. Allerdings ist auch das nicht überall möglich.

 

Windows: Custom Credential Provider

Windows kann durch eine passende DLL erweitert werden. Früher war dies eine MSGINA.DLL und heute ist es ein Credential Provider. Es gibt entsprechende Module um z.B. NFC-Karten oder auf 1-Wire basierte iButtons zu nutzen. Wobei Geräte, die nur eine Seriennummer liefern und leicht kopierbar sind, natürlich nur bedingt sicher sind, wenn Sie nicht noch mi einer PIN abgesichert werden.

 

Erfahrungen habe ich damit noch nicht gemacht. Interessant wäre auch ein Empfänger für Bluetooth-Tokens mit Ultrabreitband-Funk (UWB) zur genaueren Entfernungsmessung. Es giblt wohl einen iButton mit SHA1-Logic, den ich aber noch nie gesehen habe und auch keinen Custom Credential Provider.

 

Hardware: "Password Sender"

Eine "besondere" Lösung sind quasi automatische Tastaturen. Mit Minicomputern (ESP8266/ESP32/Arduino/Raspi Pico) kann man per Software eine Tastatur simulieren und verschiedene Eingänge lesen. Erkennt das Gerät einen legitimen Benutzer, dann sendet es erst ein "Windows-L" zum Sperren und dann ein CTRL-ALT-DEL zum Start der Anmeldung und gibt quasi das Kennwort ein. Einfach, flexibel aber nicht sicher, denn ein Angreifer kann das Gerät einfach an seinen eigenen "Linux"-PC anschließen und die gesendeten Tasten mitlesen. Dennoch kann es für einige Umgebungen eine Lösung sein. Insbesondere, wenn die Windows Version so alt ist, dass Windows Hello nicht zur Verfügung steht.

 

Wenn Sie weitere Methoden und Wege kennen, dann freue ich mich über Feedback. Bei all den Versionen müssen Sie natürlich daran denken, dass nicht nur das Entsperren sondern auch das Sperren beim Verlassen wichtig ist. Wenn z.B. eine NFC-Karte wieder entfernt wird, sollte das Endgerät sich nach kurzer Zeit auch wieder alleine Sperren. Nicht jeder Anwender kennt "Windows+L" oder "CTRL-ALT-DEL + Enter" als Hotkey

Windows Hello

Sie haben in den verschiedenen Varianten nun mehrfach "Windows Hello" gelesen. Seit Windows 10 können Sie sich an einem Windows PC nicht nur mittels "Benutzername + Kennwort" anmelden, sondern auch alternative Anmeldeverfahren nutzen, z.B. PIN, Kamera, Fingerabdruck, Fido-Key etc. Das hängt natürlich auch etwas von der Produktversion (Home, Professional, Enterprise) ab. Hier sind dann die Verfahren interessant, die nicht an eine Person gebunden sind und daher individuelle Zugänge für mehrere Personen erlauben. Aber auch wenn mehrere Personen z.B. alle die gleiche PIN eingeben, ist das Verfahren immer noch sicherer als wenn mehrere Personen das gleiche Kennwort eingeben.

Die Pin funktioniert nämlich nur auf diesem einen Gerät und nicht auf anderen Computern. Die Mitarbeiter müssen daher das Kennwort Selbst gar nicht kennen und können es so auch nicht an anderen Systemen oder im Homeoffice als Zugang missbrauchen.

Ob ein Fingerabdruck in einer Produktionsumgebung (Handschuhe, Öle, Staub etc.) sinnvoll ist, hängt wohl vom Einzelfall ab. Auch eine Gesichtserkennung wird in der Regel nur mit genau einer Person funktionieren. FIDO-Keys per USB sind hier schon flexibler aber viele Steckvorgänge per USB sollten besser mit einer austauschbaren USB-Buchse, z.B. über einen USB-Hub, erfolgen. Mein Favorit ist hier eher eine Funktechnik im Nahbereich, sei es per NFC oder Bluetooth mit geringer Reichweite. In vielen Umgebungen wird die Obergrenze von 10 Geräten ausreichen.

The maximum number of supported enrollments on a single device is 10. This lets 10 users each enroll their face and up to 10 fingerprints. For devices with more than 10 users, or for users that sign-in to many devices (for example, a support technician), it's recommended the use of FIDO2 security keys.
Quelle:
https://learn.microsoft.com/en-us/windows/security/identity-protection/hello-for-business/faq#how-many-users-can-enroll-for-windows-hello-for-business-on-a-single-windows-device

Custom Credential Provider

Früher gab es eine GINA.DLL, über die 3rd Party Produkte eigene Anmeldefunktionen ergänzen konnten. Bekannt war diese Verfahren sicher allen Novell Netware-Administratoren, die mit der NWGINA.DLL z.B. Windows Desktops an der Netware NDS authentifiziert haben. Die NWGINA hat damals dann "on the Fly" einen lokalen Windows User basierend auf den NDS-Informationen angelegt. Eine "Domäne" oder gar ein Active Directory konnte man so umgehen.

Die GINA ist aber Geschichte und heute kann ein 3rd Party Produkt sich als "Custom Credential Provider" in Windows integrieren, um alternative Anmeldungen oder Zusatzfunktionen bereitzustellen. Über diesen Weg könnte eine 3rd Party-Lösung also ebenfalls eine Anmeldung über eine eigene Hardware-Lösung, z.B. RFID, iButton oder vielleicht auch Bluetooth LE-Tags (Airtags etc.) deren Nähe anhand der Signalstärke beim Tastendruck erkannt werden könnte.

Ich habe aber noch keinen Credential-Provider für eine selbst entwickelte Hardware geschrieben und überlasse dies gerne den richtigen Programmieren und 3rd-Party Herstellern. Schließlich geht es hier auch um Sicherheit und Zuverlässigkeit. Ein PowerShell-Skript ist kein legitimer Credential Provider.

Daher belasse ich es hier bei einigen weiterführenden Links

Bastellösung

Losgelöst von Windows Hello und andere integrierten Lösungen können Sie Anwender weiterhin über die Tastatur anmelden. Wir wollen aber nicht, dass mehrere Personen das gleiche Kennwort kennen und eingeben. Heute verfügbare Mikroprozessoren (Arduino, ESP8266/ESP32/Raspberry Pico) können aber eine Tastatur emulieren und quasi Tastendrücke an ein Gerät senden. Was hindert uns nun daran, so ein Gerät zu bauen, welches nach einer Authentifizierung des Nutzers über eine geeignete Technik folgendes an den Windows PC sendet?

WINDOWS-L           Damit wird das Fenster gesperrt, wenn es noch nicht gesperrt war
1 Sek Pause         Damit die Sperre aktiv werden kann
CTRL-ALT-DEL        Start die Anmeldung an der Tastatur
1 Sek Pause         Damit der Eingabedialog fertig ist
KENNWORT + <ENTER>  Nun sollte das Konto entsperrt oder angemeldet sein


Auch eine Sperre nach Zeit oder nach Entfernung des Zugangstokens ist möglich.

Das Kennwort ist dabei ebenso im Mikroprozessor hinterlegt wir die Authentifizierungsoptionen der Mitarbeiter. Ob das nun einfache RFID-Karten mit Seriennummer oder höherwertige Verfahren sind oder auch einfach Funksender, die einen internen Kontakt schließen, ist ihnen freigestellt und unterliegt ihrer Sicherheitsbewertung. Dennoch gibt es drei Dinge, die bei dieser Lösung problematisch sind:

  • Verzögerung
    Der Mikroprozessor bekommt keine Rückmeldung, ob der Windows PC denn "Ready" ist, sondern sendet plump seine Daten. Man muss sehen, wie passend die Wartezeiten ausgelegt sind
  • Falscher User
    Das Keyboard sendet einfach die PIN oder das Kennwort und geht natürlich davon aus, dass der "Default User", bzw. letzte Benutzer auch der aktuelle Benutzer ist. Wenn jemand anderes sich temporär angemeldet hat, dann funktioniert die Anmeldung nicht.
  • Kennwort-Phishing
    Der kritischste Punkt ist aber, dass der Mikroprozessor einfach das Kennwort eingibt und nur das "WINDOWS-L" am Anfang den Anschluss an einem anderen Windows PC erschwert. Wenn ich die Hardware an einem System anschließe, welches auf "Windows-L" nicht reagiert und einen Editor gestartet habe, dann sehe ich das gesendete Kennwort. Die kleine Box sollte also auch mechanisch etwas geschützt sein oder müsste so gebaut werden, nach einem Stromausfall die Zugangsdaten neu heruntergeladen werden müssen.

Entsprechende Beispiele, wie eine Tastatur durch diese Geräte simuliert werden kann, gibt es im Internet. Damit bleibt nur noch die Frage, wie sie die Anwender vor dem Gerät identifizieren.

Anmeldebeschränkung

Egal, wie der Anwender sich letztlich an dem Computer anmeldet, so ist dies doch ein halbwegs "öffentlicher" Computer, dem Sie nie wirklich vertrauen sollten. Daher wäre es leichtsinnig, sich für Wartungsarbeiten z.B. als Domain Admin an so einem Computer anzumelden. Sie können ja nie sicher sein, dass kein Keylogger per USB-Kabel eingeschleift wurde oder eine andere Software auf dem PC alles mitschneidet, was passiert.

Sie können und sollten die Angriffsfläche eines solchen Clients natürlich reduzieren, z.B. indem Sie:

  • Festplatten mit Bitlocker verschlüsseln und BIOS schützen
    So sollte eine "offline"-Attacke, d.h. das Booten eines anderen Betriebssystems von einem USB-Stick verhindern, die dann auf der Festplatte etwas "ändern", z.B. ein Script in den Autostart-Ordner des Administrators ablegen und warten.
  • Kiosk-Mode oder AppLocker verwenden
    Auch das laufende System hat einen klar umrissenen Einsatzbereich und muss nicht "offen" sein. Wenn Sie sich auf eine Applikation beschränken können, dann wäre der Kiosk-Mode oder eine alternative Shell eine Option. Wenn mehrere Programme genutzt werden, dann könnten sie mit Applocker eine "AllowList" erzwingen und damit den Start anderer Programme unterbinden.
  • Internet-Zugriff limitieren
    Vielleicht muss das System gar nicht mit dem Internet kommunizieren. Dann sollten sie diese Geräte mit einer statischen IP-Adressen oder mit einem eigenen Subnetz/VLAN konfigurieren und auf Netzwerk-Level die Verbindung blockieren und ggfls. Versuche melden oder nur ausgewählte Ziele erreichbar machen.
  • Anmeldebeschränkungen auf dem Computer
    Schon allein um den Administrator und andere Benutzer zu schützen und die Funktion des Fertigungs-PCs sicher zu stellen, sollten Sie den Benutzerkreis stark einschränken, die sich auf so einem Gerät anmelden dürfen. Ideal wäre eine Beschränkung auf die Benutzergruppe (LogonLocally) oder sogar das Funktionskonto. Andere Anmeldungen könnten aus der Ferne bei Bedarf erst zugelassen werden.
  • Anmeldebeschränkungen für das generische Konto
    Auch umgekehrt sollten sie prüfen, ob sie die Benutzer oder das generische Konto auf die Fertigungs-Computer beschränken. Nur für den Fall, dass jemand an die Zugangsdaten gelangt, sollte er sich damit nicht an anderen Computern anmelden können. Das kann über die Liste der erlaubten Windows Clients am AD-Objekt oder über lokale Richtlinien/Gruppenrichtlinien erfolgen.

Je schwächer die Anmeldung am Fertigungs-PC ist, desto restriktiver muss die Sicherheit an anderer Stelle gehalten werden. Für eine abschließende Risikobetrachtung und Folgeabschätzung sind Sie selbst verantwortlich.

Zwischenstand

Die Ideen und Überlegungen auf dieser Seite sind nur ein Start für eigene Überlegungen, denn jede Fertigungs- oder Produktionsumgebung ist individuell. Allzu oft sehe ich aber noch Computer, an denen ein generisches DomainUser-Konto sich automatisch anmeldet und per Autostart die verschiedenen Programme aufgerufen werden. Bildschirmschoner gibt es manchmal und sicher kennen Sie auch solche Bilder:


Quelle: Frank Carius, 2022

Das Bild stammt zwar nicht aus einer industriellen Produktionsumgebung, sondern ein Behandlungsraum in einem Krankenhaus aber das Setup ist vergleichbar: Offener PC mit Windows Taskleiste, offenen USB-Ports und AutoAdminLogon, Kennwort als PostIt-Zettel und Anbindung an das EKG. Ein Basisschutz der Web-Applikation war wohl das Arztkürzel. Die URL war ein kurzer Hostname ohne "https" und was im Browser-Cache liegt, habe ich nicht untersucht. Ich habe damals die IT-Security informiert und angeblich wurde sich darum gekümmert.

Wie löst ihr das Problem mit Produktions- und Fertigungsgeräten, die mehr oder minder in der Halle zugänglich sind, damit die Mitarbeiter ihre Aufträge abrufen und die Produktion erfassen kann? Hier ist insbesondere die Integration von Microsoft 365 F1/F3 Lizenzen mit persönlichen Konten eine Veränderung zur bisherigen Technik.

Weitere Links