Sicherheit
Übersicht
Die Sicherheit deiner Daten steht für uns an erster Stelle, weswegen wir hier ausführlich über sämtliche Aspekte transparent informieren wollen.
Jede Applikation bietet immer eine ganze Reihe an Angriffs-Möglichkeiten, wie eine Person ungewollten Zugang zu Daten erlangen kann. Wir gehen hier auf alle uns bekannten Möglichkeiten ein und zeigen auf, welche Schutzvorkehrungen wir getroffen haben und welche Verhalten wir empfehlen. Schliesslich ist die Sicherheit eines Systems ist nur so gut wie die des schwächsten Gliedes einer Kette.
Im Fall der b-bit App gibt es folgende Angriffsvektoren:
- Der Benutzer mit seinem Login
- Die b-bit Client Applikation / Dateianhänge
- Der Computer des Benutzers
- Die Netzwerke zwischen dem Computer und unseren Servern
- Unsere Server, deren Datenverabeitung und Speicherung
- Berechtigungen
- Drittapplikationen und Integrationen
- Mitarbeiter der bbit gmbh, die unsere Server und App warten
Benutzer
User Login
Das User-Login ist nach wie vor eines der Hauptziele von Hacker-Angriffen. Es ist daher wichtig, dass sich jeder Benutzer an folgende Grundregeln hält:
- Verwende sichere Passwörter. Je länger das Passwort, desto sicherer ist es!
- Verwende für jedes Login ein anderes Passwort!
- Aktiviere MFA (Multi-Faktor-Authenfizierierung), wo immer sie angeboten wird.
- Verwende einen Passwortmanager. Wir bei der bbit gmbh verwenden 1Password und können diesen wärmstens empfehlen.
Diese Grundregeln tragen stark dazu bei, dass du sicher im Netz unterwegs bist und helfen somit auch, die Sicherheit von b-bit hoch zu halten.
Social Hacking
Weiter beliebt ist, dich dazu zu bringen, dein Passwort unbewusst Preis zu geben. Häufig gesehene Methoden sind:
- Fake-Emails, die im Endeffekt zur Preisgabe eines Passwortes auffordern. Manchmal mittels Auffordung zum Antworten auf die E-Mail. Manchmal mittels Versprechungen das man etwas gewinnt oder erbt. Manchmal auch mittels Link in der Mail auf eine präparierte / gefälschte Website. Manchmal mittels Anhang wie beispielsweise eine Word-Datei oder ZIP-Datei, die einen Virus enthält.
- Fake-Anrufe. Eine Person gibt sich zum Beispiel Support Mitarbeiter der bbit gmbh aus und fragt nach dem Passwort.
Seltener, aber uns ebenfalls bekannt sind:
- Fake-Besuche. Ein Angreifer gibt sich zum Beispiel vor Ort als Techniker aus und fragt nach dem Passwort.
- Fake-USB-Sticks. Ein mit einem Virus präparierter USB-Stick wird bewusst vor dem Gebäude liegen gelassen. Der neugierige Mitarbeiter wagt einen Blick darauf und installiert per Doppelklick den Virus "Geile Fotos".exe
Schulung / Training
Wir empfehlen
- Sämtliche Mitarbeiter regelmässig in IT-Sicherheit zu schulen
- In unregelmässigen Abständen selbst Angriffe auf das eigene System auszuführen, um das Sicherheitsbewusstsein aufrecht zu erhalten
b-bit Client Applikation
Applikation selbst
Wir versuchen, uns an alle gängigen "stat of the art"-Konzepte der Web-Security zu halten. Dass heisst zum Beispiel, dass wir regelmässig evaluieren, ob jemand durch gefälschte Inhalte in der b-bit App etwas manipulieren kann oder dass wir Drittkomponenten regelmässig und systematisch updaten.
Dateianhänge
Bitte beachte, dass wenn du in b-bit einen Virus hochlädst, du und deine Arbeitskollengen dadurch die Möglichkeit haben, auch wieder denselben Virus herunterzuladen. Die meisten Antiviren-Programme bieten dir an, auf einer Datei eine Virusprüfung durchzuführen. Wir empfehlen, insbesondere bei E-Mail Anhängen oder Internet-Downloads diese vor dem Heraufladen ins b-bit kurz zu prüfen.
Self Update
Unsere Applikation beinhaltet eine Selbst-Update Funktion. So haben wir die Möglichkeit, ohne grossen Aufwand regelmässig Updates auszuliefern und so deine b-bit App aktuell zu halten. Wir bitten dich, sobald die Update-Meldung erscheint, das Update umgehend einzuspielen. So oder so wird es beim nächsten Neustart von b-bit dann eingespielt.
Sensitive Informationen
Wir nutzen weiter zum Speichern sensitiver Informationen den Betriebssystem eigenen Key-Vault (Windows Credentials Manager, MacOS KeyChain), die standardmässig mit deinem Windows/MacOS Benutzerpasswort verschlüsselt und geschützt sind. Beispiel einer Speicherung einer sensitiven Information: wir speichern im Key-Vault das Refresh-Token, mit dessen Hilfe wir dich nach dem erneuten Öffnen der b-bit App wieder einloggen können.
Computer des Benutzers
Gerätesicherheit
Die b-bit App ist eine Netzwerkapplikation. Ein im Netz befindliches Gerät muss regelmässig mit sämtlich verfügbaren Sicherheitsupdates gepatcht werden. Wir empfehlen, dabei die Funktion der automatischen Updates zu verwenden, auch wenn diese hin und wieder zu unpassenden Momenten erscheinen.
Weiter empfehlen wir den Einsatz eines Antivirenschutzes, beispielsweise dem Windows Defender, der bei Windows 10 standardmässig kostenlos mitgeliefert wird.
Lokales Benutzerkonto
Das Betriebsystem Benutzerkonto sollte ebenfalls passwort-geschützt sein.
Idealerweise werden Geräte fix einem Benutzer zugeteilt. Falls mehrere Benutzer dasselbe Gerät verwenden, sollte die Möglichkeit genutzt werden, pro Benutzer ein Betriebssystem-Konto einzurichten.
Wir raten davon ab, dass mehrere Benutzer dasselbe Betriebssystem-Konto auf demselben Gerät verwenden. Die Sicherheit kann hier nur gewährt werden, wenn sich jeder Benutzer konsequent nach dem Benutzen der b-bit App wieder ausloggt.
Lokale Daten
Für mobile Geräte wie Notebooks empfehlen wir zudem, die Festplatte zu verschlüsseln, um im Falle eines Verlustes, Diebstahl, etc. es zusätzlich zu erschweren, an die Daten des Geräts zu gelangen. Die b-bit App selber speichert lokal auf dem Computer nur folgende Daten:
- welche Organisationen, Umgebungen und Benutzer die App verwenden
- pro Benutzer ein Refresh-Token, mit der er sich bis zu 30 Tage nach dem Login ohne erneutes Login in die App einloggen kann. Im Falle eines Geräteverlustes kann dies Serverseitig gesperrt werden.
DNS
DNS ist der Dienst, der Internetnamen wie admin.ch möglich macht. Der Computer kann so bei jedem Aufruf nachschlagen, welche Serveradresse für admin.ch kontaktiert werden muss. Dieses Nachschlagen kann aber manipuliert werden, sei es für Sperrungen von politisch ungewollten Webseiten oder im Falle eines Hakers zur Umleitung auf einen manipulierten Server.
Wir empfehlen, auf dem Gerät standardmässig eigene DNS-Servereinträge zu konfigurieren und nicht die des Internetanbieters, Internet-Cafes, etc. zu verwenden. Wir haben dabei gute Erfahrungen mit https://1.1.1.1/ gemacht, die zudem DNS-SEC und weitere Bestrebungen unterstützen, DNS gegen Manipulationen sicherer zu machen. Auch wenn der Sicherheitsgewinn dadurch aktuell noch bescheiden ist, gibt es zumindest ein schöner Nebeneffektiv: 1.1.1.1 ist in der Regel deutlich schneller als der DNS deines Internet-Anbieters und führt daher zu schnellerem Surfen im Internet!
Die Netzwerke zwischen dem Computer und unseren Servern
Die b-bit App ist so aufgebaut, dass sie in sämtlichen Netzen verwendet werden kann, die unseren Systemanforderungen entsprechen. Zwischen dem Computer mit der bbit app und unseren Servern befinden sich immer mindestens ein Netz, dessen wir in keinster Weise vertrauen können.
Die b-bit App verschlüsselt daher sämtliche Netzwerkverbindungen mit den neusten Standards, aktuell mittels mindestens TLS 1.2. Unsere Server sind so konfiguriert, dass sie ältere Transport-Verschlüsselungsmechanismen nicht akzeptieren.
Weiter erkennen wir, wenn jemand unsere Verschlüsselung aufbricht und danach erneut verschlüsselt, sich quasi dazwischen klinkt (Stichwort Man-In-The-Middle Attacke). Siehe dazu auch den Netzwerk Teil der Systemanforderungen.
Unsere Server, deren Datenvearbeitung und Speicherung
Erklärung "unsere Server"
Die b-bit Infrastruktur ist nach den Best Practises unseres Cloud-Provider Amazon Webservices (kurz AWS) aufgebaut. Wir verwenden daher keine eigenen physischen Server, sondern benutzen den Begriff "unsere Server" zur vereinfachten Veranschaulichung. Stattdessen nutzen wir für unsere Applikation die von AWS zur Verfügung gestellten Cloud-Komponenten wie beispielsweise AWS Lambda sowie auch deren Möglichkeiten zur Sicherung der Daten.
Separate Komponenten und Rollen pro Umgebung
Sämtliche datenverarbeitenden Komponenten und Datenbanken legen wir pro Organisation separat an. Jede Komponente hat zudem ihre eigene Rolle. Durch die darauf feingradig eingestellten Berechtigungen haben die Komponenten jeweils immer nur Zugriff auf die Daten, die sie für die Erfüllung ihrer jeweilgen Aufgabe benötigen. Ein Cross-Organisation-Datenzugriff können wir so systematisch ausschliessen.
Verschlüsselung
Die kompletten Datensätze im b-bit werden grundsätzlich verschlüsselt abgespeichert und auch übertragen. Die Verschlüsselung sowie die Verwaltung der Schlüssel wird dabei durch AWS übernommen. AWS hat somit nebst der bbit gmbh und dem Kunden zumindest theoretisch die Möglichkeit, auf diese Daten zuzugreifen.
Bei Private Cloud Deployments unserer Enterprise-Paket Kunden ist es möglich, dieses kleine Restrisiko durch die Verwendung eigener Verschlüsselungsschlüssel weiter zu minimieren. Dazu wird bei einem Kunden entsprechende zertifizierte und vor Ort installierte Hardware benötigt (100k CHF aufwärts).
Es gibt ein paar Anwendungsfälle, wo zur Verarbeitung innerhalb der Rechenzentrums nur die Metadaten eines Datensatzes und nicht der ganze Inhalt benötigt wird. Metadaten sind zum Beispiel Datenbankname, zufällige ID des Datensatzes, Revisionsnummer, Datenbucketname, etc.. Sofern diese Metadaten nur temporär und über eine limitierte Zeitdauer gespeichert werden müssen, bevorzugen wir in diesem Fall die Performance gegenüber der verschlüsselten Zwischenspeicherung dieser Metadaten.
Speicherort
Pro Organisation und Umgebung kann definiert werden, in welcher AWS Region die Daten gespeichert werden sollen. Standardmässig verwenden wir die AWS Region EU-Central-1, die die drei Rechenzentren in Frankfurt (Deutschland) beinhaltet. Ab Mitte 2022 werden wir dann als Standard die AWS Region in Zürich (Schweiz) verwenden.
Protokollierung, Logs und Audit
Wir zeichnen jeden Zugriff auf unsere Komponenten auf und löschen diese auf Grund der grossen Datenmenge automatisiert nach ein paar Tagen wieder. Auf Wunsch bieten wir Kunden an, diese Logs in einen Langzeitspeicher zu übertragen.
Pflege und Updates der Komponenten
Die Pflege der von AWS zur Verfügung gestellten Komponenten übernimmt AWS selbst. Wir können somit darauf Vertrauen, dass die Hardware und Betriebsysteme entsprechend regelmässig geprüft, gewartet und gepatcht werden.
Die Konfiguration der Komponenten sowie der darin laufenden Programme werden durch die Mitarbeiter der bbit gmbh regelmässig geprüft und gepflegt.
Schutz vor Angriffen
Auf sämtlichen aus dem Internet erreichbaren Komponenten sind entsprechende Limits pro Sekunde konfiguriert.
Zudem haben wir nur ein paar wenige URLs, die öffentlich und ohne Authentifizierung zugänglich sein müssen. Hat also jemand kein gültiges Login, können wir diese Serveranfragen sehr schnell abweisen und blockieren so kaum Resourcen für valide Benutzer.
Berechtigungen
Die b-bit App enthält ein ausgeklügeltes und umfangreiches Berechtigungssystem, wo bis auf ein einzelnes Feld unter optional zusätzlich konfigurierbaren Bedingungen Berechtigungen erteilt oder verweigert werden können.
Die korrekte Erfassung und Nachführung der Berechtigungen liegen dabei im Verantwortungsbereich des Administrators des b-bit Kunden. Falsch konfigurierte Berechtigungen können dazu führen, dass eingeloggte Benutzer unter Umständen mehr sehen oder ändern können als sie dürften.
Dazu folgender Kurzüberblick zum grundlegenden Aufbau des Berechtigungssystemes:
Einzelne Berechtigung
Die einzelne Berechtigung
- erteilt oder verweigert den Zugriff
- auf eine oder mehrere Aktionen (z.B. Lesen, Schreiben, etc.)
- auf eine oder mehrere Ressourcen (z.B. Tabelle Lohn, Datensatz Geschäftsleiter, Feld Gehalt, etc.)
- wenn optional gewisse Bedingungen zutreffen (z.B. muss mit MFA-authentifiziert sein, muss mit Gerät xy eingeloggt sein, maximale Zeitdauer seit letzter Passworteingabe, muss sich in einem bestimmten Land befinden, etc. )
Gruppieren und Organisieren von Berechtigungen
- Berechtigungen können als Richtlinie (Policies) zusammengefasst werden
- Berechtigungen und Richtlinien können an Benutzer, Gruppen und/oder Rollen zugewiesen werden. Gruppen und Rollen lassen sich zudem hierarchisch verschachteln, um die Organisationsstruktur sowie Funktionsstruktur eine Firma nachzubilden.
Anwenden der Berechtigungen
- beim Authentifizieren werden die Berechtigungen entsprechend zusammengetragen und auf dem Access-Token hinterlegt. Das AccessToken hat eine Lebensdauer von wenigen Minuten und wird regelmässig mit Hilfe des Refresh-Tokens gewechselt, wobei auch die Berechtigungen neu evaluiert werden
- Die b-bit App verwendet das Access-Token bei jedem Aufruf. Im Autorisierungs-Vorgang prüft der Server, ob das Access-Token die Berechtigung hat, die gewünschte Aktion auf die gewünschte Ressource auszuführen
- Ohne Berechtigungen kann keine Aktion gemacht werden.
- Berechtigungs-Verweigerungen werden immer höher gewichtet als Berechtungs-Erteilungen.
- Wir empfehlen generell, grundsätzlich mit Berechtungs-Erteilungen zu arbeiten und die Verweigerungen nur zur Absicherungen von Falschkonfigurationen zu verwenden. Das ist zwar aufwändiger zum Erfassen, aber weniger Fehleranfällig gegenüber Erfassungsfehler als wenn pauschal auf alles Berechtigung gegeben wird und dann nur verweigert, was nicht sein darf.
- Wichtig: Berechtigungen bis auf einzelne Felder werden aus Performance-Gründen nur im Client geprüft. Serverseitig wird immer mit dem ganzen Datensatz gearbeitet und geprüft.
Drittapplikationen und Integrationen
Drittapplikation, die auf b-bit zugreifen
Drittapplikationen können Applikation anderer Hersteller oder auch ein Webportal sein, dass seine Daten in b-bit ablegt und liest.
Authentifizierung
b-bit untersützt, dass für Drittapplikationen entsprechende Langzeit-Access-Token generiert werden können, mit der sie auf die b-bit Server zugreifen können. Im Falle eines Webportals unterstützen wir zudem die Möglichkeit, dass OAuth2-kompatible Drittanbieter zur Authentifizierung benutzt werden können. Dabei wird der Benutzer im b-bit als Externer Benutzer angelegt und mit entsprechend vordefinierbaren Berechtigungen versehen.
Autorisierung
Die Zugriffs-Berechtigungen können dabei mit demselben Berechtigungssystem wie für die Benutzer feingradig gesteuert werden. Dadurch kann durch den Kunden selbst nicht nur weitere Berechtigungen erteilt werden, sondern auch temporär oder dauerhaft entzogen werden.
Risiko Drittapplikationen
Nicht von uns entwickelte Drittapplikationen sind ausserhalb unseres Zugriffsbereichs. Wir können daher weder deren Sicherheit, Integrität, Verfügbarkeit noch Kompatiblität garantieren. Grundsätzlich kann die Drittapplikation im Rahme ihrer erteilten Berechtigungen alles machen, was sie will, genau wie ein Benutzer.
Integrationen, auf die b-bit zugreifen
b-bit unterstützt eine Reihe von Integrationen, um die Software mit entsprechenden Funkionalitäten zu erweitern. Beispielsweise kann in b-bit direkt eine Datei heruntergeladen und automatisch mit der passenden Applikation auf dem Computer geöffnet werden. Wird nun aber ein Virus hochgeladen und so dann via b-bit heruntergeladen und ausgeführt, können wir dies nicht von einem regulären Fall unterscheiden. Dateien, die an b-bit Datensätze angehängt werden, sind somit entsprechend vorgehend einer Antiviren-Prüfung zu unterziehen.
Auch anderweitigen Unfug wie beispielsweise anstossende Bilder können wir dadurch nicht verhindern.
Mitarbeiter der bbit gmbh
- Jeder Mitarbeiter der bbit gmbh untersteht einer Schweigepflicht.
- Jedes Mitarbeiter der bbit gmbh ist verpflichtet, einen Passwort-Manager sowie jeden Account mit einzigartigen Passwörtern zu schützen. Wo möglich, ist zudem MFA mittels Hardware-Tokens zu verwenden.
- Bei der Standard-Installation können unsere Mitarbeiter auf die im b-bit gespeicherten Daten zugreifen, dürfen dies aber nur zur Supportzwecken tun. Der Login wird dabei wie bei allen Benutzern entsprechend aufgezeichnet.
- Für Kunden, die den Zugriff auf die Daten von b-bit durch unsere Mitarbeiter steuern wollen, bieten wir unsere Enterprise-Lösung an, bei der jeder Kunde die Kontrolle über Ihre Infrastruktur mittels AWS CloudTrail komplett überwachen kann.