Sandboxing unter Linux Desktops mit FireJail

Wer unter Linux ein Desktopprogramm nutzen möchte, ohne sein bestehendes System zu verändern, benötigt eine spezielle Umgebung, die in Fachkreisen Sandbox genannt wird. Natürlich kann man auch eine virtuelle Maschine mit VMWare oder dem freien VirtualBox von Oracle erstellen, die einen ganzen Computer samt Betriebssystem simuliert, und darin testweise Programme installieren, um zu sehen, wie diese sich verhalten. Diese Option verbraucht allerdings einiges an Ressourcen und ist auch ein wenig schwergewichtig.

Es gibt aber auch eine leichtgewichtigere Virtualisierungstechnologie unter Linux, die verschiedene Sicherheitsfunktionen anwendet, die unter Windows nicht verfügbar sind. Dazu gehört unter anderem das Berechtigungskonzept auf Datei- und Verzeichnisebene. Aber keine Sorge, wir steigen nicht zu tief in die vielen Details der einzelnen Lösungen ein, sondern kümmern uns vornehmlich um das Wie und Warum.

Auf der Serverseite gibt es bereits bewährte Virtualisierungsprogramme für abgegrenzte und sichere Umgebungen, wie beispielsweise LXC (Linux Container) und das vielbewährte Docker. Auf dem Desktop nutzt man eher Programme wie FireJail oder Bubblewarp um Programme mit grafischer Benutzeroberfläche in einem abgegrenzten Raum ausführen zu können. Bevor wir aber weiter in die Details des Wie vorstoßen, betrachten wir noch ein paar Szenarien, wieso der ganze Aufwand überhaupt sinnvoll sein kann.

Einer der ältesten Gründe für Sandboxing ist, eine Umgebung zu schaffen, dass man verschiedene Versionen einer Software zu Test- oder Entwicklungszwecken gleichzeitig installiert haben muss und die Installationsroutine das nicht zulässt. Typisches Verhalten ist dann, dass zuerst die alte Version einer Software deinstalliert wird, um die neue Version zu installieren, oder es wird einfach die vorhandene Version aktualisiert. Hier hilft das Einrichten einer Sandbox, also einer Spielwiese zum Ausprobieren.

Ein weiterer Grund, wieso man Sandboxen verwendet, ist, Programme aus Sicherheitsgründen zu isolieren. Hier ist das eigentliche Thema das Schützen der Privatsphäre. Man möchte verhindern, dass ein Programm auf andere Daten auf dem Computer Zugriff hat. Deshalb sprechen wir in diesem Kontext auch mehr von dem Errichten eines Gefängnisses (engl. jail). Der Klassiker, um den es hier geht, ist der Webbrowser. Meiner Meinung nach sehe ich für dieses Szenario eher das Smartphone als weitaus problematischer, wo dieser Datenabgriff durchaus für jeden User leicht zu beobachten ist. Ohne sarkastisch zu sein, beobachte ich aber regelmäßig Leute, die ihren Computer wie eine Festung ausbauen und alle Daten auf dem Smartphone sorglos in der Welt verteilen.

Das vor allem Webseiten der großen Techkonzerne alle möglichen Tricks einsetzen, um ihre Nutzer besser zu kennen, als diese sich selbst, ist in Fachkreisen ein offenes Geheimnis. Für Außenstehende wirken die Fachäußerungen oft unverständlich, was sich nicht selten in Resignation oder Gleichgültigkeit äußert. Um hier nicht zu tief in die Materie einzutauchen, möchte ich mit einem einfachen Beispiel aufzeigen, wie raffiniert die Möglichkeiten sind. Wer glaubt, dass eine VPN‑Verbindung der maximale Schutz der Privatsphäre darstellt, der unterliegt einem fatalen Irrtum. Nur weil man die eigene IP Adresse verschleiert, kann man dennoch Rückschlüsse auf auf den tatsächlichen Standort des Nutzers ziehen. Dazu muss man sich nicht einmal besonders anstrengen. Wer sich also angeblich aus Deutschland ins Internet einloggt, dessen Webbrowser aber als Spracheinstellung Russisch und als Zeitzone noch Moskau eingestellt hat, befindet sich vermutlich nicht in Deutschland. Natürlich greifen die Techkonzerne wie LinkedIn oder Facebook weitaus mehr Informationen zu ihren Nutzern ab. Jede einzelne Maßnahme mag isoliert eher trivial erscheinen, aber kombiniert man die verschiedenen Möglichkeiten, ändert sich die Situation grundlegend. Deswegen ist es absolut unerlässlich, Sicherheit als gesamtes Konzept zu denken.

Wir sehen, dass, um ein effizientes Gefängnis bauen zu können, durchaus viel mehr Spezialwissen und auch Erfahrung notwendig ist, als nur fix eine Software zu installieren. Ein Stichwort hierzu sei die Software AppAmor unter Linux. Zudem muss man sich auch im Klaren sein, dass, wenn man seinen Browser in eine Sandbox packt, dies auch Probleme mit sich bringt. Hier handelt es sich zum Beispiel um Zugriff auf Hardware wie Mikrofon und Kamera bei Videokonferenzen, oder das Herunterladen oder Hochladen von Dateien. Denn man hat ja den Browser vom Restsystem abgekoppelt und kann nun mal nicht eben schnell die Fotos auf Facebook posten. Wer also mit solchen Gedanken spielt, sollte sich die Zeit nehmen und diese Überlegungen auch zu Ende denken.

Nachdem ich sehr ausführlich das Warum erörtert habe, kommen wir nun zum Wie. Ich hatte bereits die beiden verbreitetsten Tools FireJail und BubbleWarp erwähnt. Da sich dieser Artikel an Power-User richtet, aber nicht an IT-Professionals mit Spezialwissen, steht für mich eine einfach benutzbare Lösung im Vordergrund. Deswegen fällt meine Wahl auf FireJail [1], das man zwar herunterladen und manuell installieren muss, dafür aber eine aktive Community besitzt und im Gegensatz zu BubbleWarp eine Dokumentation vorweisen kann.

Nach dem Download [2] von FireJail und FireTools für die entsprechende Distro können beide Programme auch leicht installiert werden. In meinem Fall handelt es sich um ein aktuelles Debian Linux, weswegen ich mir die deb Dateien von der Homepage geladen und diese mit einem einfachen Doppelklick problemlos über den Paketmanager installiert habe. Natürlich klappt das auch mit dem Standard-Paketmanager APT für Debian. Um allerdings aktuell zu bleiben, bevorzuge ich die erste Variante der Installation.

sudo apt-get install firejail firetool
ed:~$ firejail --help
firejail version 0.9.80

Firejail is a SUID sandbox program that reduces the risk of security breaches by restricting the running environment of untrusted applications using Linux namespaces.

Usage: firejail [options] [program and arguments]

Über das Anwendungsmenü habe ich den Firejail-Configuration-Wizard gestartet.

Dadurch öffnet sich ein Wizard, mit dem Anwendungen als Sandbox konfiguriert werden. Dies unterscheidet sich von dem Konsolenbefehl insofern, das über die Kommandozeile alle durch FireJail unterstützten Programme in eine Sandbox gepackt werden. Das könnte allerdings die Funktionsweise so sehr einschränken, dass man damit die täglichen Aufgaben nicht mehr bearbeiten kann.

sudo firecfg

Damit kann man die Anwendungen in der Sandbox über die Icons des Windowmanagers-Menüs oder Dateiverlinkungen im Dateimanager starten. Diese automatisierte Variante unterstützt bisher die Desktop-Manager Mate, KDE, LXDE, Cinnamon und LXDE. Für Gnome3 und Unity gibt es nur rudimentäre Unterstützung. Es genügt ein Doppelklick auf das Desktopsymbol in Firetools oder auf der Bash der Befehl: firetools firefox. Alternativ kann auch FireTools gestartet werden. FirerTools ist ein grafischer Launcher für Anwendungen, die über FireJail in der Sandbox laufen.

In meinem Beispiel habe ich den Webbrowser Firefox über die von FireJail empfohlene deault Konfiguration eingerichtet. Es ist möglich, für jede installierte Anwendung entsprechende eigene Konfigurationen zu verwenden. Die zugehörigen Konfigurationsdateien befinden sich im Nutzerverzeichnis des angemedeten Users ~/.config/firejail/<app>.profile und /etc/firejail/<app>.profile.

# Firejail profile for firefox
# Description: Safe and easy web browser from Mozilla
# This file is overwritten after every install/update
# Persistent local customizations
include firefox.local
# Persistent global definitions
include globals.local

# Note: Sandboxing web browsers is as important as it is complex. Users might
# be interested in creating custom profiles depending on the use case (e.g. one
# for general browsing, another for banking, ...). Consult our FAQ/issue
# tracker for more information. Here are a few links to get you going:
# https://github.com/netblue30/firejail/wiki/Frequently-Asked-Questions#firefox-doesnt-open-in-a-new-sandbox-instead-it-opens-a-new-tab-in-an-existing-firefox-instance
# https://github.com/netblue30/firejail/wiki/Frequently-Asked-Questions#how-do-i-run-two-instances-of-firefox
# https://github.com/netblue30/firejail/issues/4206#issuecomment-824806968

# (Ignore entry from disable-common.inc)
ignore read-only ${HOME}/.config/mozilla/firefox/profiles.ini
ignore read-only ${HOME}/.mozilla/firefox/profiles.ini

noblacklist ${HOME}/.cache/mozilla
noblacklist ${HOME}/.config/mozilla
noblacklist ${HOME}/.mozilla
noblacklist ${RUNUSER}/*firefox*
noblacklist ${RUNUSER}/psd/*firefox*

# uses libgdk-pixbuf and/or glycin - see #6906
#blacklist /usr/libexec

mkdir ${HOME}/.cache/mozilla/firefox
mkdir ${HOME}/.config/mozilla
mkdir ${HOME}/.mozilla
whitelist ${HOME}/.cache/mozilla/firefox
whitelist ${HOME}/.config/mozilla
whitelist ${HOME}/.mozilla

whitelist /usr/share/firefox
whitelist /usr/share/gnome-shell/search-providers/firefox-search-provider.ini
whitelist ${RUNUSER}/*firefox*
whitelist ${RUNUSER}/psd/*firefox*

# Note: Firefox requires a shell to launch on Arch and Fedora.
# Add the next lines to firefox.local to enable private-bin.
#private-bin bash,dbus-launch,dbus-send,env,firefox,sh,which
#private-bin basename,bash,cat,dirname,expr,false,firefox,firefox-wayland,getenforce,ln,mkdir,pidof,restorecon,rm,rmdir,sed,sh,tclsh,true,uname
private-etc firefox

dbus-user filter
dbus-user.own org.mozilla.*
dbus-user.own org.mpris.MediaPlayer2.firefox.*
ignore dbus-user none

# Redirect
include firefox-common.profile

Da die Konfiguration jeder einzelnen Anwendung schnell sehr komplex werden kann und man auch immer abwägen muss, was man mit einem Sandboxing erreichen möchte, verweise ich an dieser Stelle für weitere Informationen auf die Homepage [1].

Auf der Kommandozeile kann man sich sämtliche Anwendungen auflisten lassen, die aktuell über firejail gestartet wurden. Somit kann überprüft werden, ob die Sandbox für die entsprechende Anwendung funktioniert. Dazu stehen zwei Kommandos zur Verfügung: firejail –list und firejail –top. Der Parameter Top zeigt die Prozessauslastung in der Bash.

Eine Einschränkung habe ich bei meinem Test allerdings bemerkt: Besonders Browser in virtuellen Maschinen wollen unter Firejail nicht starten. Was natürlich auch etwas sinnfrei ist. Denn virtuelle Maschinen erzeugen bereits eine hervorragende Abschirmung der Anwendung zum Betriebssystem.

Fazit

Meiner Ansicht nach ist die Idee des Sandboxing durchaus reizvoll. Meine Kritik liegt eher an der Umsetzung. Ich würde das Thema Virtualisierung klassisch sehen, wie es beispielweise mit Docker oder PlayOnLinux umgesetzt wird. Eine Sandbox würde mir sozusagen im Desktop eine virtuelle Umgebung einrichten, in die ich isoliert Programme installieren kann, ohne dass dadurch das Betriebssystem verändert wird. Löscht man die Sandbox, so werden auch alle Dateien des installierten Programmes inklusive der Konfiguration rückstandslos entfernt. Die Funktionsweise von FireJail ist allerdings anders. FireJail erkennt unter den installierten Programmen, alle diejenigen, zu denen eine Jail-Konfiguration möglich ist, um diese in einem sogenannten Käfig auszuführen. Auch das Starten von AppImages in FireJail funktioniert in aller Regel nicht. Basierend auf meinen Erfahrungen im Thema Security und Penetration Testing bewerte ich den Kosten Nutzen Effekt speziell für FireJail als unzureichend und vertrete zudem die Meinung, dass die Art und Weise, wie FireJail arbeitet, den Anwendern ein falsches Gefühl von Sicherheit suggeriert. Denn ein Problem sind auch Updates, die oft vorgenommene sicherheitsrelevante Einstellungen wieder auf unerwünschte Standardeinstellungen unbemerkt zurücksetzen.

Resources


Das Netz vergisst nichts.

Das Internet hat ein ganz eigenes Gedächtnis, das beinahe nichts vergisst. Ein Teil dieses Gedächtnisses ist das 1996 durch Brewster Kahle initiierte Projekt archive.org welches sich zur Aufgabe gemacht hat, das Internet zu archivieren. Zentraler Bestandteil von archive.org ist die Wayback Machine.

Laut eigenen Angaben hat die WaybackMachine Zugriff auf einen Bestand von ca. 1 Trillion Webseiten. Ähnlich wie Google wird die Wayback Machine über ein einfaches Suchfeld bedient. In diesem Suchfeld kann man entweder nach einer konkreten Internetdomain oder nach einem konkreten Schlüsselwort suchen. Wenn zu dem gesuchten Begriff etwas im Bestand von archive.org gespeichert ist, zeigt die Kalenderansicht an, welchem Tag ein sogenannter Snapshot erstellt wurde. Alle Inhalte einer Domain, die an diesem Tag frei zugänglich sind, wurden in den Snapshot aufgenommen. So kann man leicht bereits gelöschte Inhalte durchaus wieder erreichen.

Wenn man mit der Wayback Machine arbeitet, muss man sich allerdings einiger Rahmenbedingungen im Klaren sein. Bei archive.org handelt es sich zwar um eine sogenannte Non-Profit-Organisation, die sich durch Spenden finanziert. Zudem hat archive.org seinen Hauptsitz in den Vereinigten Staaten von Amerika. In Anbetracht der enormen Kosten, die allein für die Erhebung und Speicherung der Daten entstehen, ist es schon mehr als nur eine Vermutung, dass bei diesem Projekt durchaus eine Nähe zu Behörden vorhanden ist. Auch offizielle Stellen haben nicht wenig Gründe, so einen Dienst zur Verfügung zu haben, ohne dabei auf die engen Rahmenbedingungen von offiziellen Regierungsorganisationen achten zu müssen.

Ein Problem, das sich aus der Arbeit mit der Wayback Machine ergibt, ist die Änderungsfrequenz der archivierten Homepages. Besonders bei kleinen Webseiten sind zwischen den Snapshots mehrere Änderungen vorgenommen worden. Aber auch vermeintlich große Webseiten, wie spiegelonline.de haben keinen täglichen Snapshot, wie man eigentlich erwarten könnte. Die Gründe dafür sind durchaus vielfältig. Zudem gibt es verschiedene Mechanismen, die Crawler vom Indizieren der Webseite abhalten. Sinn solcher Bemühungen kann es unter anderem sein, den Traffic auf dem eigenen Server zu begrenzen, damit die Ressourcen den Lesern zur Verfügung stehen und nicht durch Bots blockiert werden.

Ein anderes Thema der gewaltigen Datenmenge ist natürlich auch der Zugriff von künstlicher Intelligenz zum Trainieren großer LLMs. Große Plattformen fürchten um den Verlust ihrer Nutzer, ein Aspekt, den ich bereits 2023 thematisiert habe. Im Februar 2026 gab es hier auch eine öffentliche Diskussion zwischen dem Vorstand der Wayback Machine Mark Graham und Nieman Lab, die auch als Blog unter archive.org zu finden ist. Diesem Problem stehen die meisten Webseitenbetreiber gegenüber. Denn das Erstellen und Veröffentlichen von Inhalten kostet Zeit und auch Geld. Am Beispiel von elmar-dott.com sind das explizit Beträge, die für den Server, die Domain, Bücher und diverse Abonnements zu Buche schlagen. Da wir uns explizit gegen automatische Erstellungen von Inhalten aussprechen, basieren alle Artikel auf elmar-dott.com auf konkreten Erfahrungen und einer tiefen Recherche zu den einzelnen Themenbereichen. Das bedeutet auch, dass viele der beschriebenen Lösungen von den entsprechenden Autoren auch tatsächlich so genutzt werden. Damit KI die Inhalte nicht abgreift und wir somit außer von Webcrawlern keine wirklichen Besucher haben, sind hochwertige Informationen nur über ein Abo einsehbar. Das betrifft vor allem Referenzen, Quelltexte und ausgewählte Artikel.

Ein anderer Aspekt ist natürlich die Vertrauenswürdigkeit der gespeicherten Inhalte. Auch wenn das Motto von archive.org gemeinnützig ist und durch die Bemühungen, ein frei zugängliches Internet zu gewährleisten, heißt das noch lange nicht, dass archive.org nicht möglicherweise andere nicht offizielle Interessen vertritt. Elektronisch gespeicherte Inhalte lassen sich bekanntlich auch leicht manipulieren. So sind die über Archivierungsdienste erhobenen Inhalte vielmehr als Indiz zu werten. Natürlich würde es Möglichkeiten geben, die erhobenen Inhalte gegen Veränderung zu schützen. Die Blockchain wäre eine solche Möglichkeit, Manipulationen zu erkennen.

Im Premiumartikel Erntezeit beschreibe ich, wie man über verschiedene freie und kostenpflichtige APIs Informationen erheben kann. Auch die Wayback Machine kann für brisante Rechercheaufgaben herangezogen werden. Denn wie so immer gilt auch in Unternehmen: Wo gehobelt wird, fallen Späne. Kleine Missgeschicke sind nun mal menschlich und bisweilen kann es vorkommen, dass Unternehmen ‚aus Versehen‘ brisante Interna veröffentlichen. Das können Fehlermeldungen auf der Webseite sein, die verraten, welches DBMS oder welcher Server im Einsatz ist. Sobald man davon Kenntnis erlangt, dass Informationen, die missbraucht werden können, in irgendeinem Datenbestand auftauchen, ist die erste Handlung, den Inhaber des Datenbestandes zu kontaktieren und um Löschung zu bitten. Oft hilft hier eine Erklärung und ein freundliches Wort.

Natürlich ist archive.org nicht einzig auf Webseiten spezialisiert. Das Ziel ist, eine umfassende Bibliothek zu erstellen, was natürlich auch das Digitalisieren von copyrightfreien Büchern umfasst. Ähnlich dem Projekt Gutenberg. Aber auch Filme, Audio und Software sind im Archiv zu finden. Interessanterweise findet man archive.org auch im Onion Tor Netzwerk unter einer eigenen Onion-Domain.

Natürlich ist archive.org nicht die einzige Organisation, die versucht, das Internet zu speichern. Auch die Webseite archive.today hat dieses Ziel. Allerdings ist der Datenbestand von archive.today nicht so umfassend. Dafür kann man die eigene URL über ein Eingabefeld rasch übermitteln und schon ist die Webseite auch im Bestand aufgenommen.

Wie wir sehen können, gibt es durchaus einige Perlen im Internet. Um sich intensiv mit Recherchetechniken auseinanderzusetzen, muss man kein Journalist sein. Auch der Bereich Reconnaissance (dt. Aufklärung) in der Cyber Security erfordert einiges an Gespür. Nicht ohne Grund heißt es: Wissen ist Macht.


Es muss nicht immer gleich Kali Linux sein!

Kali Linux [1] und Parrot Linux [2] gelten unter den Linux Distributionen, als die erste Wahl, wenn es um Security und Penetration Testing geht. Viele einschlägige Programme sind auf diesen Distributionen bereits vorinstalliert und können sozusagen out of the Box benutzt werden.

Allerdings muss man auch sagen, dass Kali und auch Parrot, wegen ihrer Spezialisierung nicht unbedingt die alltagstauglichsten Linux Distributionen sind. Für die tägliche Nutzung sind eher Ubuntu für Einsteiger und Debian für fortgeschrittene Anwender verbreitet. Aus diesem Grund werden Kali und Parrot meist als virtuelle Maschinen mit VirtualBox oder dem VMWare Player aufgesetzt und genutzt. Ein durchaus praktikabler Ansatz, vor allem wenn es darum geht, sich erst einmal die Distribution anzuschauen, bevor man sie auf den Rechner nativ installiert.

Aus meiner Sicht ist das sogenannte Distributions-Hopping, das manche Leute unter Linux betreiben, eher hinderlich, sich an ein System zu gewöhnen, um damit effizient arbeiten zu können. Auf welches Linux die Wahl fällt, hängt vor allem vom eigenen Geschmack ab und von den Anforderungen, was man damit machen möchte. Entwickler und Systemadministratoren, werden wahrscheinlich eine Neigung zu Debian haben, einer Version, von der viele andere Distributionen abgeleitet wurden. Windowsumsteiger erfreuen sich oft an Linux Mint, und so lässt sich die Liste weiter fortsetzen.

Wer sich als Hacker fühlen möchte, entscheidet sich gern für eine Kali-Installation. Oft sind dabei Dinge wie Privatsphäre und anonymes Surfen im Internet die eigentlichen Bewegründe. Hierzu hatte ich bereits Kodachi Linux, das auf anonymes Surfen im Internet spezialisiert ist, vorgestellt. Natürlich muss man ganz klar sagen, dass es im Internet keine wirkliche anonyme Kommunikation gibt. Man kann aber die Anzahl möglicher Lauscher mit einigen leicht umzusetzenden Maßnahmen massiv reduzieren. Das Thema Privatsphäre habe ich auf diesem Blog in mehreren Artikeln zur Ansprache gebracht. Auch wenn es für viele eine unpopuläre Meinung ist. Aber eine Linux VM die über ein Apple- oder Windows-Betriebssystem zum anonymen Surfen hergenommen wird, verfehlt ihren Nutzen vollständig.

Der erste Punkt in der Rubrik „Privatsphäre“ ist der Internetbrowser. Ganz gleich, welchen man verwendet und wie sehr die verschiedenen Hersteller den Schutz der Privatsphäre hervorheben, in der Realität ist es wie in dem Märchen „Des Kaisers neue Kleider“. Den meisten Nutzern ist das Tor / Onion Netzwerk namentlich bekannt. Dahinter steckt der Torbrowser, den man einfach über die Webseite des Tor Projektes [3] herunterladen kann. Nach dem Download und dem Entpacken des Verzeichnisses lässt sich der Tor Browser über das Startscript auf der Konsole öffnen.

./Browser/start-tor-browser

Wer im Tor-Netzwerk unterwegs ist, kann URLs mit der Endung .onion besuchen. Ein großer Teil dieser Seiten ist als das sogenannte Darknet bekannt und sollte mit großer Vorsicht angesurft werden. Zu einem kann man hier auf sehr verstörende und auch illegale Inhalte stoßen, aber auch Opfer von Phishing Attacken und Ähnlichem werden. Ohne zu sehr auf die Details einzugehen, wie das Tor-Netzwerk genau funktioniert, sollte man sich durchaus im Klaren sein, dass man auch hier nicht völlig anonym unterwegs ist. Auch wenn man sich den großen Big-Tech-Firmen weitgehend entzieht, haben Behörden, vor allem wenn es um illegale Aktionen geht, durchaus Mittel und Möglichkeiten. Dazu gibt es in der einschlägigen Presse genügend Beispiele.

Wenn man nun darüber nachdenkt, wie das Internet in groben Zügen funktioniert, findet man auch schon den nächsten wichtigen Punkt: Proxy Server. Proxy Server sind sogenannte Stellvertreter, die ähnlich wie im Tor-Netzwerk die Anfragen ins Internet nicht an die Homepage direkt senden, sondern über einen fremden Server, der diese Anfrage weiterleitet und dann die Antwort zurückliefert. Ruft man zum Beispiel über einen Proxy die Internetseite von Google auf, so erscheint bei Google lediglich die IP-Adresse des Proxy Servers. Auch der eigene Provider sieht nur, dass man eine Anfrage zu einem bestimmten Server geschickt hat. Dass dieser Server dann eine Anfrage an Google stellt, sieht der Provider in den eigenen Logfiles nicht. Auf beiden Seiten, beim Provider und auf der Ziel Internetseite erscheint nur der Proxy Server. In der Regel versichern die Betreibe von Proxy Servern, dass sie selbst keine Logs mit der Original-IP ihrer Klienten speichern. Leider gibt es für diese Aussagen keine Garantie. Um hier die Wahrscheinlichkeit, erkannt zu werden, weiter zu reduzieren, kann man mehrere Proxy-Verbindungen hintereinanderschalten. Mit dem Konsolenprogramm proxychain, lässt sich dieses Vorhaben leicht umsetzen. ProxyChain ist unter Debian Distributionen schnell mit dem Paketmanager APT installiert.

sudo apt-get install proxychains4

Die Verwendung ist ebenso einfach. Über die Konfigurationsdatei /etc/proxychain.conf wird das Verhalten für proxychain festgelegt. Wenn man den Arbeitsmodus von stricht_chain auf random_chain ändert, wird bei jeder Verbindung eine andere Variation der einzelnen Proxy-Server zufällig zusammengestellt. Am Ende der Konfigurationsdatei kann man die einzelnen Proxy-Server eintragen. Dazu sind einige Beispiele in der Datei enthalten. Um proxychain zu verwenden, ruft man es einfach über die Konsole auf, gefolgt von der Anwendung (dem Browser), welche über die Proxys die Verbindung ins Internet aufbaut.

Proxychanin firefox
## RFC6890 Loopback address range
## if you enable this, you have to make sure remote_dns_subnet is not 127
## you'll need to enable it if you want to use an application that 
## connects to localhost.
# localnet 127.0.0.0/255.0.0.0
# localnet ::1/128

Die wirkliche Herausforderung ist das Finden geeigneter Proxy-Server. Für den Anfang findet man unter [4] eine große Auswahl weltweit freier Proxys.

Das alleinige Verwenden von Proxys für Verbindungen ins Internet biete nur bedingte Anonymität. Damit sich zwei Computer unterhalten, wird zwar eine IP Adresse benötigt, die über den Provider des Internetzugangs zur richtigen geografischen Adresse, wo der Computer steht, verknüpft werden kann. Über die Netzwerkkarte wird allerdings noch eine weitere Information ins Netz gesendet. Die sogenannte MAC Adresse, mit der man einen Computer direkt identifizieren kann. Da man nicht bei jedem Neustart des Computers eine neue Netzwerkkarte einbauen muss, um eine andere MAC-Adresse zu bekommen, kann man ein kleines, einfaches Tool namens macchanger nutzen. Dies ist wie proxychain ebenfalls problemlos über APT zu installieren. Nach der Installation kann man den Autostart festlegen und man muss sich entscheiden, ob immer dieselbe MAC Adresse oder jedes Mal eine zufällig neu generierte MAC Adresse verwendet werden soll.

Die bisher vorgestellten Maßnahmen nützen natürlich nur dann etwas, wenn die Verbindung ins Internet auch verschlüsselt ist. Das geschieht über die sogenannten Secure Socket Layer (SSL). Wenn man sich nicht über einen VPN mit dem Internet verbindet und die aufgerufenen Webseiten anstatt von https nur http verwenden, kann man mit einem beliebigen Paketsniffer (z. B. dem Programm Wireshark) die Kommunikation mitschneiden und den Inhalt der Kommunikation im Klartext lesen. Auf diese Weise werden in öffentlichen Netzwerken (WiFi) Passwörter oder vertrauliche Nachrichten ausgespäht. Wir können sehr sicher davon ausgehen, dass Internetprovider sämtliche Kommunikation ihrer Kunden über sogenannte Paketfilter laufen lassen, um verdächtige Aktionen zu erkennen. Bei https Verbindungen können diese Filter nicht in die Pakete hineinschauen.

Nun könnte man auf die Idee kommen, mit all den bisher beschriebenen Maßnahmen sich illegal in ein fremdes Netzwerk zu verbinden. Schließlich weiß dann keiner, dass man da ist, und alle Aktivitäten im Internet werden dem Anschlussinhaber zugeordnet. Aus diesem Grund möchte ich ausdrücklich darauf hinweisen, dass in so ziemlich allen Ländern solche Aktionen strafbar sind und man, wenn man dabei erwischt wird, schnell im Gefängnis landen kann. Wer mehr über das Thema WiFi Sicherheit erfahren möchte, um das eigene Netzwerk vor illegalem Zugriff zu schützen, findet im Mitgliederbereich (Subscription) einen ausführlichen Workshop zu Aircrack-ng.

Der nächste Punkt auf der Liste zum Thema Privatsphäre ist E-Mail. Für die meisten Menschen ist es einfach nicht möglich, dass sie ihren eigenen E-Mail Server betreiben. Der Aufwand ist enorm und auch nicht ganz kostengünstig. Deswegen werden Angebote von Google, Microsoft und Co. einen E-Mail-Dienst bereitzustellen, gern angenommen. Wer diesen Dienst nicht über einen lokalen Client nutzt und die verschickten E-Mails nicht kryptografisch verschlüsselt, kann sich sicher sein, dass die Mail Anbieter die Mails scannen und mitlesen. Außnahmslos! Da die Konfiguration eines Mail Clients mit funktionierender Verschlüsselung eher ein Geek Thema ist, genauso wie das Betreiben eines eigenen Mailservers, sind hier die Optionen sehr eingeschränkt. Einzige Lösung ist der Schweizer Anbieter Proton [5], der auch kostenfreie Mail-Accounts bereitstellt. Proton wirbt mit dem Schutz der Privatsphäre ihrer Kunden und setzt diesen durch strikte Verschlüsselung um. Ob man dennoch vertrauliche Nachrichten per E-Mail verschicken sollte, muss jeder für sich selbst klären. Das gilt natürlich auch für die verfügbaren Messenger, die mittlerweile sehr viel für Telefonie genutzt werden.

Viele Menschen haben sich einmal selbst gegoogelt, um zu erfahren, welche digitalen Spuren sie im Internet bisher hinterlassen haben. Dies kratzt natürlich nur an der Oberfläche, denn die Leute im Personalwesen von größeren Firmen und Konzernen nutzen effektivere Wege. Ein sehr professionelles Werkzeug ist Matego, aber auch im Open Source Bereich findet sich ein mächtiges Tool, das so einige Sachen zutage fördern kann. Auch hierzu gibt es für Subscriber einen entsprechenden Workshop. Denn wenn man seine Spuren findet, kann man sich auch daran machen, sie zu verwischen.

Wie man sehen kann, ist das Thema Privatsphäre und Anonymität sehr umfangreich und mit diesem kleinen Artikel auch nur oberflächlich behandelt. Dennoch ist die Informationstiefe ausreichend, um einen ersten Eindruck des Sachverhalts zu bekommen. Es reicht bei weitem nicht aus, sich ein System wie Kali aufzusetzen, wenn man die Grundlagen nicht kennt, um die Werkzeuge auch korrekt einzusetzen. Denn wenn man die verschiedenen Puzzelteile nicht akkurat zusammensetzt, bleibt die erhoffte Wirkung, sich durch Anonymität mehr Privatsphäre im Internet zu verschaffen. Dieser Artikel erklärt auch auf technischer Ebene meinen persönlichen Standpunkt, wieso es keine sichere, anonyme elektronische Kommunikation gibt. Wer sich in das Thema einarbeiten möchte, erzielt mit einer sinnvollen Strategie und dem stückweise erweiterten eigenen System schneller Erfolge, als mit einem bereits vorgefertigten Allround Werkzeug wie Kali Linux.

Ressourcen

Abonnement / Subscription

[English] This content is only available to subscribers.

[Deutsch] Diese Inhalte sind nur für Abonnenten verfügbar.

Altersverifikation durch systemd in Linux-Distributionen

Seit 2025 haben einige Länder bereits eine Altersverifikation für die Nutzung von Social Media und generell auch für das Internet eingeführt. Vorreiter dieser Welle sind Australien und das Vereinigte Königreich. Aber auch einige Bundesstaaten in den USA sind bereits auf den Zug aufgesprungen. In der EU soll die Altersverifikation bis 2027 ausgerollt werden. Italien und Frankreich haben bereits entsprechende Gesetze verabschiedet. Die neue Regierung, die in Deutschland seit Beginn 2025 die Geschicke der Bürger leitet, ist ebenfalls für die Bevormundung der Bürger. Das demonstrierten die Machthaber durch einen Passus im Koalitionsvertrag, der die flächendeckende Einführung der eID in Deutschland vorsieht. In diesem Artikel zeige ich gesellschaftliche und technische Aspekte auf, die über kurz oder lang auf uns Bürger zukommen werden.

Unter dem Deckmantel des Jugendschutzes soll Kindern und Jugendlichen unter 16 Jahren der Zugriff auf gefährdende Inhalte wie Pornografie verwehrt werden. Aber auch soziale Medien wie Facebook, X und andere Plattformen werden von den Maßnahmen betroffen sein. Bereits jetzt werden verschiedene Inhalte auf YouTube nur angemeldeten Nutzern zugänglich gemacht.

Würde man sich wirklich um das Wohl der Kinder kümmern, würde man sich darauf konzentrieren, sie bei der Ausbildung einer stabilen und gesunden Persönlichkeit zu fördern. Das beginnt bereits bei einem ausgewogenen, gesunden Schulessen, welches für jeden Schüler zu einem leistbaren Betrag zur Verfügung stehen sollte. Aber auch bereits im Schulunterricht Medienkompetenz zu vermitteln, wäre ein Schritt in die richtige Richtung. Das sind nur kurze Beispiele, die aufzeigen, dass die Begründung zur Einführung einer Altersverifikation Augenwischerei ist und grundsätzlich andere Ziele verfolgt werden.

Es geht um die Bevormundung und Kontrolle eines jeden einzelnen Bürgers. Es ist ein Verstoß gegen das Selbstbestimmungsrecht. Denn eins muss allen klar sein: Damit man weiß, dass eine Person das entsprechende Alter für restriktive Inhalte auch tatsächlich hat, müssen sich alle Menschen, die den eingeschränkten Inhalt betrachten möchten, ausweisen. Diesen Nachweis wird man ausschließlich mit der eID erbringen können. Sobald eine kritische Masse erreicht ist, die ihre eID nutzt, wird dies zum Standard für Bezahlung und alle möglichen anderen Dinge. Es klingt ein wenig prophetisch, wenn man die Offenbarung des Johannes aus dem Neuen Testament kennt.

Das zweite Tier brachte alle dazu – ob groß oder klein, reich oder arm, ob Herr oder Sklave –, auf der rechten Hand oder der Stirn ein Zeichen zu tragen. Ohne dieses Zeichen konnte niemand etwas kaufen oder verkaufen.  Offenbarung 13:16

Es ist also abzusehen, dass die Verweigerung des Einzelnen, die eID anzunehmen, ihn vollständig aus der digitalen Welt verbannen wird. Parallel dazu werden Möglichkeiten verschwinden, die im richtigen Leben, dem sogenannten analogen Raum, Alternativen bilden. Ich möchte aber an dieser Stelle nicht zu prophetisch werden. Es kann sich jeder für sich selbst ausmalen, welche Konsequenzen die Einführung der digitalen ID für das eigene Leben haben wird. Ich werde nun ein wenig auf technische Details eingehen und Denkanstöße zur bürgerlichen Notwehr anregen. Denn ich bin mir sehr sicher, dass eine breite Akzeptanz der eID vorhanden ist. Auch wenn die konkreten Gründe variieren, lassen sie sich auf den persönlichen Komfort und die Bequemlichkeit reduzieren. Wer ab hier weiterliest, ist in der absoluten Selbstverantwortung, Dinge eigenständig umzusetzen und sich das notwendige Wissen anzueignen. Es wird keine schnelle, einfache Lösung von der Stange geben. Mann muss aber auch kein Nerd sein. Der Wille zum eigenständigen Denken genügt völlig, um die technischen Zusammenhänge schnell zu verstehen. Es ist wie man so sagt: keine Raketentechnologie.

Leute, die auf Apple- oder Microsoft Produkte setzen, haben keine andere Möglichkeit, als zu freien Betriebssystemen zu wechseln. Smartphones haben überhaupt keine alltagstaugliche Alternative zu den Banking-Apps und Messengern. Es hat schon einen Grund, wieso man sich für Telegram und Signal Messenger mit einer funktionierenden Telefonnummer anmelden muss. Denn die Chats werden vom Telefon auf die Desktop Anwendung synchronisiert. Also bleibt der Computer, der im Idealfall nicht neuer als von 2020 sein sollte. Hierzu habe ich bereits einen Artikel veröffentlicht.

Sämtliche Linux-Distributionen funktionieren problemlos auf alter und auch auf leistungsschwacher Hardware. Ein Wechsel zu Linux ist mittlerweile auch leicht zu bewältigen und in wenigen Wochen ist man auch an das neue System gewöhnt. Soweit bisher die Theorie.

Seit Kalenderwoche 13 im Jahr 2026 geht allerdings ein Aufschrei von der Linux Community durch alle sozialen Medien. Das Programm systemd hatte einen Commit in das öffentliche Quellcode Repository, das ein Feld Geburtstag zur Altersverifikation hinzugefügt worden. Wer nun denkt, na gut, bloß ein Programm, dann lasse ich das weg, muss wissen, dass systemd für System Deamon steht. Es ist neben dem Kernel eines der wichtigsten Programme in einer Linux-Distribution. Es ist unter anderem dafür verantwortlich, dass beim Einschalten des Rechners notwendige Dienste und Programme gestartet werden.

Dieser Datensatz enthält bereits grundlegende Benutzermetadaten wie Name, E-Mail-Adresse und Standort. Das Feld speichert ein vollständiges Datum im Format JJJJ-MM-TT und kann nur von Administratoren, nicht von Benutzern selbst, festgelegt werden.

Lennart Poettering, der Entwickler von systemd, hat klargestellt, dass diese Änderung Folgendes betrifft:

» Es handelt sich um ein optionales Feld im JSON-Objekt userdb. Es ist weder eine Richtlinien-Engine noch eine API für Anwendungen. Wir definieren das Feld lediglich, um es zu standardisieren, falls Benutzer das Datum dort speichern möchten. Die Verwendung ist jedoch völlig optional. «

Quelle: It’s FOSS

Diese ganzen Ereignisse werfen auch ein neues Licht auf das Treffen von Linus Torvalds und Bill Gates am 22 Juni 2025, die sich nach 30 Jahren erstmalig persönlich begegnet sind. Es ist ein absolutes No Go in der Linux Community, den Nutzer des Rechners zu bevormunden und in dessen Privatsphäre einzugreifen. Und es gibt starke Stimmen, die sich gegen das Vorhaben von systemd stemmen. Man kann aber nicht absehen, wie stark die Gegenwehr aufrechterhalten bleibt, wenn staatlicher Druck auf die standhaften Revoluzzer ausgeübt wird.

Der erste Ansatz als Lösung dieses Problems ist die Verwendung einer Linux-Distribution, die kein systemd verwendet. Bekanntere Distributionen, die ohne systemd auskommen, sind Gentoo, Slackware und Alpine Linux. Wer wie ich und viele andere ein reines Debian verwenden, kann einmal einen Blick auf Devuan (Version für 3/2026 ist 6.1 Excalibur) werfen, welches von aktuellen Debian Versionen einen Fork erstellt hat, der ohne systemd auskommt.

Man muss auch erwähnen, dass systemd bei Hardcore Linuxern durchaus schon immer kritisch gesehen wird. Es gilt einfach als zu aufgebläht. Wer bereits seine Distribution schon länger laufen hat, hadert oft damit, diese einfach zu wechseln. Linux ist wie ein guter Wein. Es reift mit der Zeit und Neuinstallationen werden unter Powerusern als unnötig angesehen, da sich einfach alles wieder reparieren lässt. Auch Migrationen auf neuere Majorversionen verlaufen in aller Regel problemlos. Daher ist es auch kein Problem, systemd gegen das leichtgewichtigere SysVinit auszutauschen. Die einzige Voraussetzung dafür ist, dass man keine Angst vor der Linux Bash hat. Allerdings sind auch hier Grenzen gesetzt. Wer den Gnome3 Desktop verwendet, sollte zuerst den Desktop zu einer Variante wechseln, die nicht auf systemd aufbaut. Devuan Linux zeigt uns hier die Alternativen: KDE Plasma, Mate (Gnome2 Fork), Cinnamon (für Windowsumsteiger) oder das rudimentäre Xfce. Bevor man loslegt, sollte man aus Sicherheitsgründen mindestens seine Daten sichern und nach Möglichkeit auch die Festplatte clonen, um bei Problemen den Urzustand wiederherzustellen.

Da ich aufgrund der Aktualität des Themas noch keine Zeit gefunden habe, das Tutorial selbst auszuprobieren, verweise ich auf die englischsprachige Homepage linuxconfig.org mit der Anleitung in Debian systemd mit sysVinit zu ersetzen.

Ein riesengroßer Vorteil von Linux ist, dass man als Nutzer die volle Kontrolle über die Aktualisierungen hat. Es ist nicht so wie bei Microsoft Windows, dass man zum Update gezwungen wird, und wenn man es nicht durchführt, indem man etwa das Internet ausschaltet, verweigert der Rechner nach einer Weile den Start, bis das Update durchgeführt wurde. Auch wenn man unter Linux in aller Regel bestimmen kann, welche Updates man haben möchte, gibt es keinen Grarant, dass zumindest bei einem künftigen MajorUpdate nicht doch die Altersverifikation über die Hintertür untergeschoben wird. Es ist durchaus möglich, dass diese Technologie bereits als Schläfer im System enthalten ist und nur aktiviert werden muss. Seit einigen Jahren habe ich die Angewohnheit, alle Installationsdateien von Programmen, die ich benutze, zu archivieren, sodass ich problemlos noch ein Ubuntu Mate von 2017 aus dem Hut zaubern kann. Anwendungen nutze ich gern als AppImage. Aber auch die reinen Installationspakete, unter Debian sind das die deb Dateien, bevorzuge ich gegenüber den Varianten aus dem Paketmanager. Denn manchmal brauche ich eine alte Variante oder eine sehr neue Version, die nicht in den Distributionspaketen enthalten ist. Auf diese Weise lässt sich auch ein in die Tage gekommenes System noch aktuell und sicher halten.

Vermutlich ist es wie so oft. Keine Suppe wird so heiß gegessen, wie sie serviert wird. Ich denke weniger, dass der Zwang zur digitalen ID über Nacht kommen wird. Vermutlich wird es ein schleichender Prozess, der den Menschen, die sich der totalen Kontrolle durch autoritäre Instanzen entziehen, das Leben schwer macht. Es wird sich durchaus für entschlossene Menschen immer ein Weg finden. Dazu muss man allerdings selbst aktiv werden und nicht passiv auf den großen Erlöser warten. Der war schon da, vor sehr langer Zeit.

Clean Desk – mehr als nur Sicherheit

Als Kind antwortete ich gern meiner Mutter, dass nur ein Genie das Chaos beherrscht, wenn sie mich anhielt, mein Zimmer aufzuräumen. Eine sehr willkommene Ausrede, mich vor meinen Pflichten zu drücken. Als ich nach dem Schulabschluss eine Lehre im Handwerk begonnen habe, war das Erste, worauf mein Lehrmeister achtete: Ordnung halten. Das Werkzeug hatte nach Benutzung zurück in die Werkzeugtasche gelegt zu werden, angefangene Kartons mit gleichen Arbeitsmaterialien wurden wieder aufgefüllt und natürlich galt es auch, mehrmals am Tag den Dreck aufzukehren. Ich kann gleich vorwegnehmen, dass ich diese Dinge nie als Schikane empfunden habe, auch wenn sie uns lästig erschienen sind. Denn rasch haben wir den Nutzen der Devise „Sauberkeit halten“ erfahren.

Werkzeuge, die immer zurück an ihren Platz gebracht werden, verschaffen uns zügig einen Überblick, ob etwas fehlt. Also kann man sich dann auf die Suche machen und die Wahrscheinlichkeit, dass Dinge gestohlen werden, reduziert sich drastisch. Auch bei den Arbeitsmaterialien behält man einen guten Überblick über Dinge, die verbraucht wurden und neu beschafft werden müssen. Fünf leere Kartons mit nur ein oder zwei Teilen darin verbrauchen nicht bloß Platz, sondern führen auch zu falschen Einschätzungen der verfügbaren Ressourcen. Zu guter Letzt gilt natürlich auch, dass man sich im Dreck weniger wohlfühlt und mit Sauberkeit dem Auftraggeber demonstriert, dass man fokussiert und planvoll vorgeht.

Durch diese Prägung in jungen Jahren, habe ich, als vor einigen Jahren das Thema Clean Desk als Sicherheitskonzept in Unternehmen eingeführt wurde, nicht gleich verstanden, was man von mir wollte. Schließlich ist mir das Prinzip Clean Desk bereits in Fleisch und Blut übergegangen, lange bevor ich mein Studium der Informatik abgeschlossen hatte. Aber der Reihe nach. Schauen wir uns erst einmal an, was Clean Desk eigentlich ist und wie man es umsetzt.

Wer sich tiefgehend mit dem Thema Security beschäftigt, lernt als Erstes, dass die meisten erfolgreichen Angriffe nicht über komplizierte technische Manöver durchgeführt werden. Sie verlaufen viel profaner und kommen üblicherweise nicht von außen, sondern von innen. Treu nach dem Motto: Gelegenheit macht Diebe. Kombiniert man diese Tatsache noch mit den Erkenntnissen des Social Engineerings, das vor allem durch den Hacker Kevin Mitnick geprägt wurde, ergibt sich ein neues Bild. Es müssen nicht immer gleich die eigenen Mitarbeiter unter Generalverdacht gestellt werden. In einem Gebäude gibt es externe Putzkräfte, Sicherheitspersonal oder Handwerker, die meist problemlos Zugang zu sensiblen Räumlichkeiten bekommen. Daher gilt stets die Devise: Vertrauen ist gut, Kontrolle ist besser, weswegen man eine Clean Desk Policy einführt.

Die erste Regel lautet: Wer über einen längeren Zeitraum den Arbeitsplatz verlässt, schaltet seine Geräte aus. Das gilt besonders für den Feierabend. Ansonsten ist zumindest der Desktop zu sperren. Das Konzept dahinter ist recht einfach. Von ausgeschalteten Geräten können keine Sicherheitslücken ausgenutzt werden, um sich von außen in das Firmennetzwerk zu hacken. Zudem verringert es den Stromverbrauch und verhindert Brände durch Kurzschlüsse. Damit die Geräte nicht physisch entwendet werden können, sind diese mit speziellen Schlössern am Schreibtisch fixiert. Ich habe es schon selbst erlebt, dass während der Mittagspause Geräte gestohlen wurden.

Da ich selbst sehr viel in Hotels übernachtet habe, ist die Festplatte meines Computers prinzipiell verschlüsselt. Das gilt auch für alle externen Datenträger wie USB Sticks oder externe SSDs. Wird das Gerät gestohlen, kann zumindest niemand auf die darauf befindlichen Daten zugreifen.

Es ist natürlich selbstverständlich, dass eine sichere Verschlüsselung nur mit einem starken Passwort möglich ist. Viele Unternehmen, haben spezielle Regeln, die die Passwörter der Mitarbeiter erfüllen müssen. Zudem ist es üblich, dass alle 30 bis 90 Tage ein neues Passwort vergeben werden muss, das von den letzten drei verwendeten Passwörtern abweichen muss.

Oft wird auch darauf hingewiesen, dass die Passwörter nicht auf einem Post-it stehen, der auf dem Monitor klebt. Das habe ich selbst so nie erlebt. Viel typischer ist, dass Passwörter unter der Tastatur oder dem Mauspad notiert werden.

Ein anderer Aspekt sind Aufzeichnungen, die auf Schreibtischen, Wandkalendern und Whiteboards hinterlassen werden. Auch wenn die Information noch so unbedeutend scheint, kann sie durchaus sehr wertvoll sein. Da es recht schwer ist, zu entscheiden, was wirklich schützenswert ist und was nicht, gilt die allgemeine Regel: Alle Aufzeichnungen sind zum Feierabend für Außenstehende unzugänglich zu verstauen. Das klappt natürlich nur dann, wenn auch verschließbarer Stauraum vorhanden ist. In sensiblen Bereichen wie Banken und Versicherungen geht man sogar so weit, dass auf Wandkalendern keine Urlaube der Kollegen eingetragen werden dürfen.

Natürlich ist bei diesen Überlegungen auch der eigene Papierkorb einzubeziehen. Hier ist sicherzustellen, dass die vertraulichen Dokumente in speziell gesicherten Containern entsorgt werden. Denn sonst führt es ja den ganzen Aufwand der Geheimhaltung wieder ad absurdum, wenn man diese nach Feierabend einfach aus dem Papierkorb ziehen kann.

Aber auch der virtuelle Schreibtisch ist Teil der Clean Desk Policy. Ganz besonders in Zeiten der virtuellen Videokonferenzen und Remote Arbeit können Fremde einen Blick auf den eigenen Schreibtisch erhaschen. Das erinnert mich auch an die Zeit der Vorlesungen, als ein Dozent mehrere Verknüpfungen des Papierkorbes auf seinem Desktop hatte. Wir haben immer gescherzt, dass er recycelt. Eigene Papierkörbe für Word, Excel etc. Dateien.

Die Clean Desk Policy hat allerdings auch andere Auswirkungen. Es ist durchaus mehr als nur ein Sicherheitskonzept. Denn Mitarbeiter, die diese Policy konsequent umsetzen, bringen dadurch auch mehr Ordnung in die eigenen Gedanken und können so Thema für Thema konzentriert abarbeiten, was zu einer besseren Performance führt. Meist erfolgt die persönliche Tagesplanung so, das zum Feierabend auch die begonnenen Aufgaben abgeschlossen werden können. Auch hier finden sich Analogien zum Handwerk. Denn der Handwerker versucht ebenfalls, den Auftrag möglichst bis zum Feierabend zu erledigen, um am nächsten Tag nicht noch einmal für kurze Zeit anrücken zu müssen. Denn auch hier wird einiges an Zeit für Vorbereitungen aufgewendet.

Die Umsetzung einer Clean Desk Policy erfolgt nach den drei P (Plan, Protect & Pick). Zu Beginn des Tages wird sich überlegt, welche Aufgaben erledigt werden sollen (Plan), und die entsprechenden Dokumente und benötigten Materialien werden ausgewählt, um darauf Zugriff zu haben. Am Ende des Tages werden die Dinge wieder sicher verstaut. Während der Arbeitszeit ist ebenfalls sicherzustellen, dass zum Beispiel in den Pausen keine unbefugten Personen Zugriff auf die Informationen haben. Diese tägliche, einfach umzusetzende Routine von Vorbereitung und Nachbereitung wird rasch zur Gewohnheit und die dafür aufzuwendened Zeit lässt sich auf wenige Minuten reduzieren, so dass kaum Arbeitszeit vergeudet wird.

Mit einer Clean Desk Policy verschwinden die erdrückenden Papierberge vom Schreibtisch, und durch die Überlegung, welche Aufgaben am Tag erledigt werden sollen, ist man besser auf diese fokussiert, was die Produktivität erheblich verbessert. Am Ende des Tages kann man nun mental auch einige Punkte von der eigenen Aufgabenliste streichen, was zu einer besseren Zufriedenheit führt.


Blockchain – eine Einführung

Das Konzept Blockchain ist grundlegender Bestandteil der verschiedenen Kryptobezahlmethoden wie Bitcoin und Ethereum. Was hat es aber mit der Technologie Blockchain auf sich und wozu kann man dieses Konzept noch anwenden? Grundlegend kann man sagen, dass Blockchain wie die Datenstruktur der rückwärtsverketteten Liste aufgebaut ist. Jedes Element der Liste zeigt auf den Vorgänger. Was macht die Blockchain aber nun so besonders?

Blockchain erweitert das Konzept der Liste um verschiedene Rahmenbedingungen. Eine dieser Rahmenbedingungen ist, sicherzustellen, dass kein Element der Liste verändert oder entfernt werden kann. Das lässt sich recht einfach bewerkstelligen. Hierzu verwendet man eine Hashfunktion. Wir codieren über einen Hashalgorithmus den Inhalt eines jeden Elements in der Liste zu einem Hash. Es gibt mittlerweile ein breites Angebot an Hashfunktionen, von denen ein aktueller Standard SHA-512 ist. In nahezu jeder Programmiersprache ist dieser Hashalgorithmus in der Standardbibliothek bereits implementiert und man kann ihn einfach verwenden. Im Konkreten bedeutet es, dass über die gesamten Daten eines Blockes der Hash SHA‑512 gebildet wird. Dieser Hash ist stets eineindeutig und kommt nicht noch einmal vor. Somit dient der Hash als Identifier (ID), um einen Block zu finden. Ein Eintrag in dem Block ist der Verweis auf seine Vorgänger. Dieser Verweis ist der Hashwert des Vorgängers, also seine ID. Bei der Implementierung einer Blockchain ist es essenziell, dass der Hashwert des Vorgängers Bestandteil der Berechnung des Hashwertes des aktuellen Blockes ist. Dieses Detail sorgt dafür, dass die in der Blockchain geänderten Elemente nur sehr aufwendig geändert werden können. Man muss sozusagen für das Element, das man manipulieren möchte, alle nachfolgenden Elemente ebenfalls ändern. Bei der umfangreichen Blockchain mit sehr vielen Blöcken bedeutet so ein Vorhaben einen enormen Rechenaufwand, der nur sehr schwer bis überhaupt nicht zu leisten ist.

Durch diese Verkettung erhalten wir eine lückenlose Transaktionshistorie. Dieser Umstand erklärt auch, weswegen Kryptobezahlmethoden nicht anonym sind. Auch wenn der Aufwand, einen Transaktionsteilnehmer eindeutig zu identifizieren, enorm werden kann. Nutzt dieser Transaktionsteilnehmer zudem noch verschiedene Verschleierungsmöglichkeiten mit unterschiedlichen und nicht durch weitere Transaktionen verknüpften Wallets, steigt der Aufwand exponentiell an.

Natürlich hat der gerade beschriebene Mechanismus noch erhebliche Schwachstellen. Denn Transaktionen, also das Hinzufügen neuer Blöcke, können erst als verifiziert und sicher eingestuft werden, wenn genügend Nachfolger in der Blockchain hinzugekommen sind, die sicherstellen, dass Änderungen wieder schwerer zu bewerkstelligen sind. Für Bitcoin und Co. gilt eine Transaktion als sicher, wenn fünf Nachfolgetransaktionen sind.

Damit es nun nicht nur eine Instanz gibt, die die Transaktionshistorie, also alle Blöcke der Blockchain, aufbewahrt, kommt ein dezentraler Ansatz ins Spiel. Es gibt also keinen zentralen Server, der als Vermittler agiert. Ein solcher zentraler Server könnte durch den Betreiber manipuliert werden. Man hätte so die Möglichkeit, mit genügend Rechenleistung auch sehr umfangreiche Blockchains neu aufzubauen. Im Kontext von Kryptowährungen spricht man hier von einer Reorganisation der Chain. Dies ist auch die Kritik an vielen Kryptowährungen. Außer Bitcoin existiert keine andere dezentrale und unabhängige Kryptowährung. Wenn die Blockchain mit allen ihren enthaltenen Elementen öffentlich gemacht wird und jeder Nutzer eine eigene Instanz dieser Blockchain lokal auf seinem Rechner besitzt und dort Elemente hinzufügen kann, die dann mit allen anderen Instanzen der Blockchain synchronisiert werden, haben wir einen dezentralen Ansatz.

Die Technologie zur dezentralen Kommunikation ohne einen Vermittler nennt sich Peer to Peer (P2P). P2P Netzwerke sind besonders in ihren Entstehungsphasen, also wenn nur wenige Teilnehmer im Netzwerk sind, schwach und angreifbar. Man könnte einfach mit sehr viel Rechenleistung eine große Anzahl von sogenannten Zomi Peers erstellen, die das Verhalten des Netzes beeinflussen. Gerade in Zeiten, in denen das Cloud-Computing mit AWS und der Google Cloud Platform als Anbieter, für vergleichsweise wenig Geld schier endlose Ressourcen bereitstellen kann, ist dies ein nicht zu unterschätzendes Problem. Besonders wenn es einen sehr hohen finanziellen Anreiz für Betrüger gibt, darf man diesen Punkt auf keinen Fall vernachlässigen.

Auch bei P2P gibt es verschiedene Konzepte, die miteinander konkurrieren. Um eine stabile und sichere Blockchain zu implementieren, ist es notwendig, nur auf Lösungen zurückzugreifen, die ohne unterstützende Backbone Server auskommen. Es soll vermieden werden, dass sich eine Master Chain etablieren kann. Daher müssen Fragen geklärt werden, wie sich die einzelnen Peers finden können und mit welchem Protokoll sie ihre Daten synchronisieren. Als Protokoll verstehen wir ein Regelwerk, also ein festes Schema, wie die Interaktion zwischen den Peers geregelt wird. Da bereits dieser Punkt sehr umfangreich ist, verweise ich zum Einstieg in das Thema auf meinen Vortrag 2022.

Eine weitere Eigenschaft von Blockchain‑Blöcken ist, dass sich diese problemlos und mit wenig Mühe auf Gültigkeit hin verifizieren lassen. Hierzu muss lediglich über die gesamten Inhalte eines Blocks der SHA-512 Hash erzeugt werden. Stimmt dieser mit der ID überein, ist der Block gültig. Aber auch zeitrelevante beziehungsweise zeitkritische Transaktionen, wie sie bei Bezahlsystemen relevant sind, lassen sich mit wenig Aufwand erstellen. Dazu werden auch keine komplexen Zeitserver als Vermittler benötigt. Jeder Block wird um einen Zeitstempel erweitert. Dieser Zeitstempel muss allerdings den Ort, an dem er erstellt wird, berücksichtigen, also die Zeitzone mit angeben. Um den Standort der Transaktionsteilnehmer zu verschleiern, können auch alle Uhrzeiten der verschiedenen Zeitzonen auf die aktuelle UTC 0 umgerechnet werden.

Um sicherzustellen, dass die Uhrzeit auch korrekt auf dem System eingestellt ist, kann man einen Zeitserver für die aktuelle Uhrzeit beim Start der Software abfragen und bei Abweichungen einen Hinweis zur Korrektur ausgeben.

Natürlich sind zeitkritische Transaktionen mit einer Reihe von Problemen behaftet. Es muss sichergestellt werden, dass eine Transaktion in einem festgelegten Zeitfenster durchgeführt wurde. Ein Problem, mit dem sich sogenannte Echtzeitsysteme auseinandersetzen müssen. Aber auch das Double Spending Problem muss verhindert werden. Also, dass derselbe Betrag zweimal an unterschiedliche Empfänger gesendet werden kann. Was in einem dezentralisierten Netzwerk die Bestätigung der Transaktion von mehreren Teilnehmern erfordert. Aber auch klassische Race Conditions können ein Problem darstellen. Race Conditions lassen sich durch die Anwendung des Immutable-Entwurfsmusters auf die Block-Elemente beherrschen.

Damit die Blockchain nun nicht durch Spam-Attacken gestört wird, benötigen wir eine Lösung, die das Erstellen eines einzelnen Blocks in der Masse teuer macht. Das erreichen wir, indem wir die Rechenleistung einbeziehen. Hierzu muss der Teilnehmer, der einen Block erstellt, ein Puzzle lösen, das eine ‚gewisse‘ Rechenzeit beansprucht. Wenn ein Spammer das Netzwerk mit vielen Blöcken fluten möchte, steigt seine Rechenleistung exorbitant an und es ist ihm unmöglich, in kurzer Zeit beliebig viele Blöcke zu erzeugen. Dieses kryptografische Puzzle nennt man Nonce, was für „number used only once“ steht. Der Mechanismus Nonce in der Blockchain wird auch oft als Proof of Work (POW) bezeichnet und dient bei Bitcoin zur Verifizierung der Blöcke durch die Miner.

Die Nonce ist eine (pseudo) zufällige Zahl, zu der ein Hash generiert werden muss. Dieser Hash muss dann ‚bestimmte‘ Kriterien erfüllen. Das können zum Beispiel zwei oder drei führende Nullen im Hash sein. Damit man nun keinen beliebigen Hash in den Block einfügt, wird die Zufallszahl, die das Rätsel löst, direkt abgespeichert. Eine bereits genutzte Nounce darf kein weiteres Mal verwendet werden, da sonst das Rätsel umgangen werden kann. Erzeugt man nun aus der Nonce den Hash, muss dieser die Vorgaben z. B. führende Nullen erfüllen, um akzeptiert zu werden.

Da je mehr Blöcke in einer Blockchain enthalten sind, es immer schwieriger wird, eine gültige Nonce zu finden, ist es notwendig, die Regeln für so eine Nonce zyklisch, beispielsweise alle 2048 Blöcke, zu verändern. Das bedeute aber auch, dass die Regeln für eine gültige Nonce ebenfalls den entsprechenden Blöcken zugeordnet werden müssen. Ein solches Regelwerk für die Nonce lässt sich problemlos über eine RegEx formulieren.

Mittlerweile haben wir auch eine beachtliche Menge an Regelwerk für eine Blockchain kennengelernt. Sodass es nun an der Zeit ist, sich ein wenig Gedanken über die Performance zu machen. Würden wir alle einzelnen Blöcke der Blockchain einfach in einer Liste abspeichern, würde uns recht bald der Arbeitsspeicher ausgehen. Jetzt könnte man die Blöcke auch in einer lokalen Datenbank speichern, was auch bei einer Embedded-Lösung wie SQLlite durchaus negative Auswirkungen auf die Geschwindigkeit der Blockchain haben würde. Eine einfache Lösung wäre hier, die Blockchain in gleichlange Teile zu zerlegen, sogenannte Chunks. Ein Chunk hätte sozusagen eine feste Länge von 2048 validen Blöcken und der erste Block eines neuen Chunk zeigt auf den letzten Block des vorhergehenden Chunk. In jedem Chunk kann man auch eine zentrale Regel für die Nonce hinterlegen und mögliche Metadaten wie beispielsweise Min- und Max-Zeitstempel abspeichern.

Wenn wir unseren aktuellen Stand des Blockchain-Regelwerks kurz rekapitulieren, kommen wir aktuell auf drei verschiedene Ebenen. Die größte Ebene ist die Blockchain selbst, welche grundlegende Metainformationen und Konfigurationen enthält. Solche Konfigurationen sind etwa der verwendete Hash Algorithmus. Die zweite Ebene stellen die sogenannten Chunks dar, die eine festgelegte Menge an Block-Elementen enthalten. Wie bereits erwähnt enthalten die Chunks auch Metadaten und Konfigurationen. Das kleinste Element der Blockchain ist der Block selbst, der aus einer ID, den beschriebenen Zusatzinformationen wie Zeitstempel und Nonce und dem Payload besteht. Der Payload ist eine allgemeine Bezeichnung für jedes beliebige Datenobjekt, das durch die Blockchain überprüfbar gemacht werden soll. Für Bitcoin und andere Kryptowährungen ist der Payload die Information, welcher Betrag von Wallet A (Quelle) an Wallet B (Ziel) transferiert wird.

Die Blockchain-Technologie eignet sich aber auch für viele andere Anwendungszenarien. So könnten beispielsweise die Hashwerte von Open-Source-Software Artefakten in einer Blockchain gespeichert werden. Damit könnte man auch Binärdateien aus unsicheren Quellen herunterladen und gegen die entsprechende Blockchain verifizieren. Das gleiche Prinzip wäre auf für die Signaturen von Antivirenprogrammen denkbar. Aber auch im behördlichen Umfeld könnten Anträge und andere Dokumente rechtssicher übermittelt werden. Die Blockchain würde hier als ‚Posteingangsstempel‘ funktionieren. Aber auch Buchhaltung inklusive aller Belege der Warenwirtschaft aus dem Einkauf und der verkauften Artikel und Dienstleistungen sind denkbare Szenarien.

Eine Erweiterung der Blockchain wäre je nach Anwendungsfall die eindeutige Signierung eines Blocks durch den Ersteller. Hierzu käme das klassische PKI Verfahren mit dem öffentlichen und privaten Schlüssel zum Einsatz. Der Unterzeichner speichert in Block seinen öffentlichen Schlüssel, erstellt mittels seines geheimen Schlüssels über den Payload eine Signatur, die als Signatur ebenfalls im Block mitgespeichert wird.

Bisher gibt es zwei frei verfügbare Implementierungen der Blockchain, BitcoinJ und für Ethereum Web3j. Natürlich ist es möglich, mit den gerade beschriebenen Prinzipien auch eine eigene allgemeingültige Blockchain-Implementierung zu erstellen. Hier liegen die Stolperfallen natürlich in den Details, von denen ich in diesem Artikel bereits einige angesprochen habe. Grundsätzlich ist Blockchain aber auch keine Raketentechnologie und für erfahrene Entwickler gut beherrschbar. Wer mit dem Gedanken spielt, sich an einer eigenen Implementierung zu versuchen, hat nun genügend Grundwissen, um sich mit dem notwendigen Detailwissen in den verschiedenen zum Einsatz kommenden Technologien tiefer vertraut zu machen.


Privatsphäre

Immer wieder begegne ich Aussagen wie, „Ich nutze Apple wegen des Datenschutzes.“ oder „Unter Linux gibt es keine Viren.“ und so weiter und so fort. Im richtigen Leben schmunzle ich dann in mich hinein und verkneife mir eine Antwort. Diese Menschen sind meist Jünger einer bestimmten Marke, die sie abgöttisch anbeten und sogar mit ihrem Leben verteidigen würden. Daher spare ich meine Energie für sinnvolleres auf, wie zum Beispiel diesen Artikel hier zu verfassen.

Mein Bestreben, ist, möglichst wenig technische Details beziehungsweise auch wenig Fachsprache zu verwenden, damit auch die Menschen ohne entsprechenden Hintergrund Zugang zu diesem Thema finden. Sicher mag der ein oder andere Skeptiker nach Beweisen meiner Aussagen rufen, die meine Behauptungen zu belegen. Diesen Personen sei gesagt, dass es für die einzelnen Aussagen genügend Stichworte gibt, mit denen man sich selbst auf die Suche machen kann, und entsprechend genügend Primärquellen findet, die abseits von KI und Wikipedia existieren.

Wenn man darüber sinniert, was Freiheit eigentlich bedeutet, stößt man oft auf Aussagen wie: „Freiheit ist, das zu tun, worauf man Lust hat, ohne dabei die Freiheit anderer Menschen zu beeinträchtigen.“ Diese Definition beinhaltet auch, die Tatsache, dass vertrauliche Aussagen auch vertraulich bleiben. Hier gibt es allerdings schon Bestrebungen, lange vor der Verfügbarkeit von elektronischen Geräten zur Kommunikation. Nicht umsonst gibt es eine jahrtausendealte Kunst namens Kryptografie, mit der Nachrichten, die auf unsicheren Wegen übermittelt werden, für Uneingeweihte unverständlich bleiben. Dass die Begehrlichkeiten, die Gedanken anderer Menschen zu erfahren, sehr alt sind, besagt auch der Spruch, dass die beiden ältesten Gewerbe der Menschheit die käufliche Liebe und die Spionage sind. Daher kann man sich die Frage stellen: Wieso sollte dies nun im Zeitalter der Kommunikation anders sein?

Besonders unbedachte Zeitgenossen begegnen dem Thema mit der Einstellung, sie hätten ohnehin nichts zu verbergen, wozu sollten sie dann auf die eigene Privatsphäre bedacht sein? Ich persönlich gehöre zu der Gruppe Menschen, die diese Einstellung für sehr gefährlich halten, da sie machthungrigen Gruppierungen Tür und Tor für den Missbrauch öffnet. Jeder Mensch hat Bereiche in seinem Leben, die er nicht in die Öffentlichkeit gezerrt bekommen möchte. Hier kann es sich um spezielle sexuelle Vorlieben handeln, Untreue dem Partner gegenüber oder eine Vorliebe für das Glücksspiel, also Dinge, die eine perfekte Fassade von moralischer Integrität schnell bröckeln lässt.

In der DDR glaubten viele Menschen, das sie selbst zu unbedeutend waren, als dass der berüchtigte Inlandsgeheimdienst STASI an ihnen Interesse haben könnte. Wie sehr sie mit ihrer Einschätzung danebenlagen, zeigte die Öffnung der STASI‑Unterlagen nach der deutschen Wiedervereinigung. In diesem Zusammenhang möchte ich nur auf die gültige Gesetzeslage in der EU hinweisen, die Errungenschaften wie Hatespeech, Chatkontrolle und Vorratsdatenspeicherung vorweisen kann. Auch die Privatwirtschaft hat genügend Gründe, mehr über jeden einzelnen Menschen zu erfahren. Denn so lässt sich dieser optimal manipulieren und zum Kauf von Dienstleistungen und Produkten animieren. Eine Zielstellung von Unternehmen ist, den optimalen Preis ihrer Angebote ermitteln zu können, also den größtmöglichen Gewinn zu erzielen. Das erreicht man durch Methoden der Psychologie. Oder glauben Sie wirklich, dass Produkte wie ein Telefon, mit dem man fotografieren kann, wirklich den Preis wert sind, der dafür verlangt wird? Wir sehen also: Es gibt genügend Gründe, wieso personenbezogene Daten durchaus einen hohen Wert haben können. Betrachten wir uns daher einmal die vielen technologischen Halbwahrheiten an, die in der breiten Öffentlichkeit so kursieren. Viele dieser Halbwahrheiten habe ich auch bei Technologieprofis vernommen, die selbst viele Dinge nicht hinterfragt haben.

Bevor ich aber in die Details einsteige, möchte ich noch eine essenzielle Aussage voranstellen. Es gibt keine sichere und private Kommunikation, wenn elektronische Geräte involviert sind. Wer ein absolut vertrauliches Gespräch führen möchte, geht bei starkem Wind auf ein freies Feld, mit einem Sichtradius von mindestens 100 Metern und verdeckt beim Sprechen seinen Mund. Natürlich ist mir klar, dass auch dort Mikrofone versteckt sein könnten. Diese Aussage ist eher demonstrativ und zeigt, wie schwer es ist, eine vertrauliche Umgebung zu schaffen.

Beginnen wir mit der beliebten Marke Apple. Viele der Apple-Nutzer glauben, ihre Geräte wären besonders sicher. Das stimmt nur so weit, dass durchaus Fremde, die versuchen, sich unautorisierten Zugriff auf die Geräte zu verschaffen, große Hürden überwinden müssen. Dafür sind viele Mechanismen in den Betriebssystemen enthalten, die es erlauben, zum Beispiel auf den Telefonen Anwendungen und Inhalte zu blockieren.

Das Unternehmen Microsoft, steht dem in nichts nach und geht noch einige Schritte weiter. Seitdem das Internet für die breite Masse verfügbar ist, rätselt man darüber, welche Telemetriedaten der Nutzer Windows an den Mutterkonzern sendet. Windows 11 treibt alles noch viel mehr auf die Spitze und speichert jeden Tastenanschlag und macht alle paar Sekunden einen Screenshot vom Bildschirm. Angeblich werden diese Daten nur lokal auf dem Computer gespeichert. Das kann man natürlich gern glauben, und selbst wenn es so wäre, handelt es sich hier um eine enorme Sicherheitslücke. Denn jeder Hacker, der einen Windows 11 Rechner kompromittiert, kann dann diese Daten auch auslesen und hat Zugriff auf Onlinebanking und alle möglichen Accounts.

Zudem verweigert Windows 11 seinen Dienst bei angeblich veralteten Prozessoren. Dass Windows schon immer sehr ressourcenhungrig war, ist keine Neuheit. Der Grund der Restriktion auf alte CPUs hat aber einen anderen Grund. CPUs der neuen Generation haben ein sogenanntes Sicherheitsfeature, mit dem sich der Computer eindeutig identifizieren und über das Internet deaktivieren lässt. Das Stichwort, um das es hier geht, lautet Pluton Security Processor mit dem Trusted Platform Module (TPM 2.0).

Wie sehr die Begehrlichkeiten von Microsoft sind, alle möglichen Informationen über die eigenen User abzugreifen, zeigen auch die Änderungen der AGB um das Jahr 2022. Diese bekamen einen neuen Abschnitt, der Microsoft die Erlaubnis erteilt, alle durch ihre Produkte erlangten Daten zum Trainieren von künstlicher Intelligenz verwenden zu dürfen. Zudem behält man sich das Recht vor, bei erkannter Hatespeech den Nutzer von allen Microsoft Produkten auszuschließen.

Aber keine Sorge, nicht nur Microsoft hat solche Disclaimers in den eigenen AGB. Auch Social Media Platformen wie Meta, besser bekannt unter den Produkten Facebook und WhatsApp, oder die Kommunikationsplattform Zoom agieren so. Die Liste solcher Anwendungen ist natürlich weitaus länger. Es ist jeder Einzelne dazu eingeladen, sich vorzustellen, welche Möglichkeiten die bereits beschriebenen Dinge eröffnen.

Ich habe ja bereits Apple als problematisch im Bereich Sicherheit und Privatsphäre erwähnt. Aber auch Android, das Betriebssystem von Google für SMART‑Fernseher und Telefone, gibt enormen Raum für Kritik. Nicht ganz ohne Grund kann man aus den Telefonen die Akkus nicht mehr entfernen. Denn Android verhält sich genauso wie Windows und sendet alle möglichen Telemetriedaten an den Mutterkonzern. Hierzu kommt noch der 2025 bekannt gewordene Skandal des Herstellers Samsung. Dieser hat ein israelisches, verstecktes Programm namens AppCloud auf seinen Geräten, von dem sich nur erahnen lässt, welchen Zweck es erfüllt. Vielleicht hilft auch die Erinnerung, als im Jahr 2023 bei vielen Palästinensern und anderen von Israel erklärten Feinden die Pager explodiert sind. In der Securityszene ist es kein Geheimnis, dass Israel im Bereich Cybersecurity und Cyberattacken an einsamer Spitze steht.

Ein anderes Thema bei Telefonen ist die Verwendung sogenannter Messenger. Neben den bekannten wie WhatsApp und Telegram gibt es auch ein paar Nischenlösungen wie Signal und Session. Alle diese Anwendungen sprechen von einer Ende zu Ende Verschlüsselung für sichere Kommunikation. Es ist schon richtig, dass Hacker hier so ihre Schwierigkeiten haben, um an die Informationen zu kommen, wenn sie nur den Netzwerkverkehr mitschneiden. Was aber nach erfolgreicher Übertragung und der Entschlüsselung auf dem Zielgerät dann mit der Nachricht passiert, steht auf einem anderen Blatt. Wie sonst sollten sich die Meta AGB mit den bereits enthaltenen Passagen erklären lassen?

Wenn man alle die bereits erwähnten Tatsachen zusammen nimmt, muss man sich nicht wundern, wieso viele Geräte wie Apple, Windows und Android erzwungene Updates etabliert haben. Natürlich dient nicht alles der totalen Kontrolle. Auch das Thema Resilienz, welches Geräte vorzeitig altern lässt, um diese durch Neue zu ersetzen, ist ein Grund.

Nun gibt es natürlich auch genügend Angebote, die ihren Nutzern enorme Sicherheit versprechen. An erster Stelle sei das freie Open Source Betriebsystem Linux erwähnt. Es gibt viele verschiedene Linux-Derivate und nicht alle behandeln das Thema Security und Privatsphäre mit der gleichen Priorität. Die von der Firma Canonical veröffentlichte Distribution Ubuntu, erhält regelmäßig Kritik. So war um das Jahr 2013 das Unity Desktop voll mit Werbung, was viel Ablehnung erfahren hat. Auch dass es unter Linux keine Viren gäbe, ist ein Mythos. Sie gibt es durchaus und der Virenscanner unter Linux heißt ClamAV, nur ist deren Verbreitung aufgrund der geringen Privatinstallationen im Vergleich zu Windows weniger verbreitet. Außerdem gelten bisher Linuxnutzer als ein wenig nerdig und klicken nicht so schnell auf verdächtige Links. Wer aber dann unter Linux all die tollen Anwendungen wie Skype, Dropbox, KI Agenten und so weiter installiert hat, hat gegenüber der Big Tech Industrie keine verbesserte Sicherheit.

Ähnlich verhält es sich auch mit sogenannten „degoggeled“ Smart­phones. Auch hier ist ein Problem, die verfügbare Hardware, die sehr reguliert ist. Aber auch die Alltagstauglichkeit zeigt oft Grenzen auf. Diese Grenzen finden sich bereits im familiären Umfeld und bei Freunden, die sich kaum von WhatsApp und Co. abbringen lassen. Aber auch Onlinebanking kann hier einem erhebliche Schwierigkeiten bereiten, denn Banken bieten ihre Apps aus Sicherheitsgründen nur über den verifizierten Google Play Store an.

Wir sehen, das Thema ist sehr umfangreich und ich habe nicht einmal alle Punkte aufgezählt, noch bin ich sehr in die Tiefe gegangen. Ich hoffe, ich konnte dennoch ein wenig Sensibilisierung erreichen, dass zumindest das Smartphone nicht überall mitgenommen und auch mehr Zeit ohne die ganzen technischen Geräte wieder in der Wirklichkeit mit anderen Menschen verbracht wird.

Kryptografie – mehr als nur Zufall

Im täglichen Sprachgebrauch benutzen wir das Wort Zufall recht unreflektiert. Sätze wie, „Ich bin zufällig hier vorbeigekommen.“ oder „Was für ein Zufall, dich hier zu treffen.“ kennt jeder von uns. Aber was möchten wir damit zum Ausdruck bringen? Eigentlich möchten wir damit sagen, dass wir die aktuelle Situation nicht erwartet haben.

Zufall ist eigentlich ein mathematischer Ausdruck, den wir in den täglichen Sprachgebrauch übernommen haben. Zufall meint etwas nicht Vorhersagbares. Also Dinge wie, an welcher Stelle sich zu einem exakten Moment ein beliebiges Elektron eines Atoms befindet. Welchen Weg ich zu einem bestimmten Ziel nehme, kann zwar beliebig sein, dennoch lassen sich über Wahrscheinlichkeiten Präferenzen ableiten, welche die Wahl dann durchaus vorhersagbar machen.

Umstände für ein solches Szenario können Entfernung, persönliche Befinden (Zeitdruck, Unwohlsein oder Langeweile) oder äußere Umstände (Wetter: Sonnenschein, Regen) sein. Habe ich Langeweile UND es scheint die Sonne, wähle ich für etwas Zerstreuung und Neugier eine unbekannte Strecke. Habe ich wenig Zeit UND es regnet, entscheide ich mich für den mir kürzesten bekannten Weg, oder eine Strecke, die möglichst überdacht ist. Daraus folgt: Je besser man die Gewohnheiten einer Person kennt, umso vorhersagbarer sind ihre Entscheidungen. Vorhersagbarkeit aber widerspricht dem Konzept Zufall.

Dass mathematische Begriffe, die sehr streng definiert sind, zeitweilig als Modeerscheinung in unseren täglichen Sprachgebrauch übernommen werden, ist keine neue Sache. Ein sehr populäres Beispiel, das bereits Joseph Weizenbaum angeführt hat, möchte ich hier kurz aufgreifen. Der Begriff Chaos. Eigentlich beschreibt Chaos im mathematischen, den Umstand, dass eine sehr kleine Änderung bei sehr langen Strecken das Ergebnis erheblich verfälscht, sodass es nicht einmal als Schätzung oder Näherung verwendet werden kann. Eine typische Anwendung ist die Astronomie. Richte ich einen Laserstrahl von der Erde auf den Mond, so verursacht bereits eine Abweichung im Winkel von wenigen Millimetern, dass der Laserstrahl kilometerweit am Mond vorbeigeht. Um solche Gegebenheiten populärwissenschaftlich einer breiten Masse zu erklären, verwendete man eine Assoziation, dass, wenn ein Schmetterling in Tokio mit den Flügeln schlägt, dies zu einem Sturm in Berlin führen kann. Leider gibt es nicht wenige Pseudowissenschaftler, die dieses Bild aufgreifen und ihrer Umwelt als Tatsache verkaufen. Das ist natürlich Unfug. Das Flügelschlagen eines Schmetterlings kann auf der anderen Seite des Globus keinen Sturm erzeugen. Denken wir nur daran, welche Auswirkungen das auf unsere Welt hätte, alleine die ganzen Vögel, die sich jeden Tag in die Luft schwingen.

„Warum ist die Ehe des Mathematikers gescheitert? Seine Frau war nicht berechenbar.“

Warum ist Zufall in der Mathematik aber eine so wichtige Sache? Im Konkreten geht es um das breite Thema Kryptografie. Wenn wir für die Verschlüsselung Kombinationen wählen, die man leicht erraten kann, ist der Schutz schnell dahin. Dazu ein kleines Beispiel.

Die Seiten des Internets sind statuslos. Das bedeutet, dass, nachdem eine Webseite aufgerufen wird und man auf einen Link klickt, um zur nächsten Seite zu gelangen, alle Informationen aus der vorangegangenen Seite verloren gegangen sind. Um dennoch Dinge wie in einem Onlineshop, einen Warenkorb und all die sonst noch notwendigen Funktionen zum Einkaufen bereitstellen zu können, gibt es die Möglichkeit, Daten auf dem Server in sogenannten Sessions zu speichern. Zu diesen Daten gehört oft auch das Login des Nutzers. Um die Sessions zu unterscheiden, haben diese eine Identifikation (ID). Der Programmierer legt nun fest, wie diese ID generiert wird. Eine Eigenschaft dieser IDs ist, dass sie eindeutig sein müssen, es darf also keine ID zweimal vorkommen.

Nun könnte man auf die Idee kommen, den Zeitstempel inklusive der Millisekunden zu nutzen, um daraus einen Hash zu generieren. Der Hash verhindert, dass man auf den ersten Blick erkennt, dass die ID aus einem Zeitstempel erstellt wird. Ein geduldiger Hacker hat dieses Geheimnis mit ein wenig Fleiß vergleichsweise schnell gelüftet. Hinzukommt noch die Wahrscheinlichkeit, dass zwei Nutzer zur gleichen Zeit eine Session erzeugen können, was zu einem Fehler führen würde.

Nun könnte man auf die Idee kommen, die SessionID aus verschiedenen Segmenten wie Zeitstempel + Benutzernamen und anderen Details zusammenzubauen. Obwohl steigende Komplexität einen gewissen Schutz bietet, ist dies keine wirkliche Sicherheit. Denn Profis haben Methoden mit überschaubarem Aufwand, diese ‚vermeidlichen‘ Geheimnisse zu erraten. Der einzig wirkliche Schutz ist die Verwendung von kryptografisch sicherem Zufall. Als ein Segment, das sich mit noch so viel Aufwand nicht erraten lässt.

Bevor ich aber verrate, wie wir dem Problem begegnen können, möchte ich den typischen Angriffsvektor und den damit erzeugten Schaden auf SessionIDs kurz besprechen. Wenn die SessionID durch einen Angreifer erraten wurde und diese Session noch aktiv ist, dann kann der Hacker diese Session in seinem Browser übernehmen. Das Ganze nennt sich Session Hijacking oder auch Session Riding. Der Angreifer, der eine aktive Session übernehmen konnte, ist als fremder Nutzer mit einem Profil, das ihm nicht gehört, bei einem Onlinedienst angemeldet. Damit kann er alle Aktionen durchführen, die ein legitimer Nutzer auch tun kann. Es wäre also möglich, in einem Onlineshop eine Bestellung auszulösen und die Ware an eine andere Adresse zu schicken. Ein Umstand, den es mit allen Mitteln zu verhindern gilt.

Nun gibt es verschiedene Strategien, die eingesetzt werden, um das Stehlen einer aktiven Session zu unterbinden. Jede einzelne dieser Strategien bietet schon einen ‚gewissen‘ Schutz, aber die volle Stärke wird erst durch die Kombination der verschiedenen Optionen erreicht, denn die Hacker rüsten ja auch stetig nach und suchen nach Möglichkeiten. Im Rahmen dieses kleinen Artikels betrachten wir ausschließlich den Aspekt, wie man eine kryptografisch sichere Session ID erzeugen kann.

So ziemlich alle gängigen Programmiersprachen haben eine Funktion random(), die eine zufällige Zahl erzeugt. Die Implementierung dieser Zufallszahl variiert. Leider sind diese generierten Zahlen für Angreifer gar nicht so zufällig, wie sie sein sollten. Deswegen gilt für Entwickler immer der Grundsatz, diese einfache Zufallsfunktion zu meiden. Stattdessen gibt es für Backendsprachen wie PHP und JAVA kryptografisch sichere Implementierungen für Zufallszahlen.

Für Java Programme kann man auf die Klasse java.security.SecureRandom zurückgreifen. Eine wichtige Funktion dieser Klasse ist die Möglichkeit, aus verschiedenen Kryptografie-Algorithmen [1] zu wählen. Zusätzlich lässt sich der Startwert über den sogenannten Seed. Um die Verwendung ein wenig zu demonstrieren, hier ein kleiner Codeausschnitt:

Abonnement / Subscription

[English] This content is only available to subscribers.

[Deutsch] Diese Inhalte sind nur für Abonnenten verfügbar.

Wir sehen, die Verwendung ist recht einfach und kann leicht angepasst werden. Für PHP ist es sogar noch einfacher, Zufall zu erzeugen. Dazu ruft man lediglich die Funktion random_int ( $min, $max ); [2] auf. Das Intervall kann optional angegeben werden.

Wir sehen also, dass die Annahme vieler Menschen, unsere Welt wäre in großen Teilen berechenbar, nicht ganz. Es gibt in vielen Bereichen der Naturwissenschaften Prozesse, die wir nicht berechnen können, Diese bilden dann wiederum die Grundlage, um ‚echten‘ Zufall zu erzeugen. Für Anwendungen, die einen sehr starken Schutz benötigen, greift man oft auf Hardware zurück. Das können etwa Geräte sein, die den radioaktiven Zerfall eines gering strahlenden Isotops messen.

Das Feld der Kryptografie und auch der Web-Application-Security sind natürlich noch viel umfangreicher. Dieser Artikel sollte mit einem recht einfachen Beispiel auf die Notwendigkeit dieser Thematik lenken. Dabei habe ich es vermieden, mit komplizierter Mathematik mögliche Interessenten zu verwirren und sie schlussendlich auch zu vergraulen.

Ressourcen

Abonnement / Subscription

[English] This content is only available to subscribers.

[Deutsch] Diese Inhalte sind nur für Abonnenten verfügbar.