Image

So geht (IT-)Security

10. März 2022

Share on:

IT-Sicherheit ist ein Thema, dass im 21. Jahrhundert sowohl IT-Experten als auch Normalbürger tagtäglich begleitet. Oft fällt uns dies gar nicht mehr auf. Dabei werden nur zu gerne große Sicherheitslücken in Kauf genommen, bewusst oder unbewusst. Im 66. KnowHowCamp der Silpion Academy erklärten uns Felix, Armin, Maximilian und Mark, wie diese Lücken entstehen und wie wir sicher und bequem mit ihnen umgehen können.

Security ja – wenn’s ein anderer macht

Eine Umfrage, ob IT-Security wichtig ist oder nicht, würden die meisten wohl mit „Ja“ beantworten. In der Praxis bleibt das Thema jedoch oft auf der Strecke. Gerne wird das Thema auf den Kunden abgeschoben, wenn es nicht explizit im Auftrag enthalten ist. Auch die Abteilungen untereinander passen sich das Thema wie eine heiße Kartoffel zu. Bei den Operations nimmt man bequem an, die Entwickler würden die Sicherheit bestimmt berücksichtigen. Die wiederum setzen ihren Fokus oft auf andere Probleme. Die Folge sind mitunter gravierende Sicherheitslücken.

Die Grundlagen

Sprechen wir von Sicherheitsrisiken in der IT, so handelt es sich zumeist um den Schutz von Daten. Die Anforderungen des Datenschutzes entsprechen dabei dem CIA-Prinzip. Sie müssen vertraulich (Confidentiality), unversehrt (Integrity) und verfügbar sein (Availability)

Sicherheitsrisiken in der IT können wir anhand eines einfachen Modells bewerten. Einerseits hilft es uns dabei, einen Überblick über potenzielle Risiken zu erhalten. Zudem ergibt sich aus der Darstellung auch eine direkte Handlungsempfehlung.

So geht’s:

Risikobewertung

Grafische Darstellung einer Risikobewertung

In diesem simplen Modell stellen wir die Probability (Wahrscheinlichkeit) und Severity (Schwere des verursachten Schadens) eines Sicherheitsrisikos gegenüber. Multipliziert ergibt sich daraus der Risikowert. Bei einem hohen Wert sollten zeitnah Schritte eingeleitet werden, um die Wahrscheinlichkeit und/oder Auswirkung eines möglichen Vorfalls zu minimieren. Risiken mit einem niedrigen Wert sind hingegen weniger zeitkritisch.

Passwörter sind schlecht! Oder?

Zu den alltäglichsten Sicherheitsrisiken gehören Passwörter. Egal ob man in der IT-Branche arbeitet oder nicht, man wird tagtäglich mit ihnen konfrontiert. Wir kennen sie vor allem als Silben- und Ziffernkombination für Webseiten und Apps. Aber auch Ausweisdokumente, Schlüssel oder biometrische Abdrücke fallen unter diesen Oberbegriff.

Während letztere stets mit dabei sind, werden Passwörter in Silben- und Ziffernform selten aufgeschrieben und mitgenommen. Man möchte sie sich lieber merken, und damit dies einfach ist, werden sehr einfache Wörter oder Zahlen genutzt, etwa das Geburtsdatum. Genau hier liegt das Problem, denn so entstehen Passwörter, die einfach zu knacken sind. Schlimmer noch wird es dann, wenn für unterschiedliche Anwendungen immer dasselbe Passwort verwendet wird. Wird das Passwort dann mutwillig geknackt oder durch ein Datenleck weitergegeben, ist der Schaden groß.

Besser ist es also, sich ganz von dem Gedanken des „merkbaren“ Passworts zu verabschieden und seine, möglichst komplizierten Passwörter, an einem sicheren Ort aufzubewahren. Eine Möglichkeit wäre lokal auf dem Rechner, wohingegen wir eine Aufbewahrung im Browser nicht empfehlen, da es hier zu häufig zu Sicherheitslücken kommt. Auf den Extra-Aufwand der Speicherung und der Erstellung immer neuer Passwörter haben die meisten Menschen jedoch keine Lust. Schnell entwickelt sich eine regelrechte Abneigung gegen Passwörter.

Ein guter Kompromiss gelingt mit Passwordmanagern wie Bitwarden, Vault, Password Safe oder Keepass / KeepassXC. Die Open Source Tools vereinfachen die Verwaltung und Verwendung der Passwörter deutlich. Sie sind eine bequeme und sichere Lösung, die auch von nicht Techies problemlos verwendet werden können.

Bitwarden

So kann ein Passwordmanagement (hier am Beispiel Bitwarden) aussehen

Für alle diejenigen, die sich auch weiterhin unbedingt ihre Passwörter merken möchten, hat einer unserer Silpionauten einen kleinen Trick parat. Man baut sich eine Eselsbrücke, die zu einem komplizierten Passwort wird. Hier ein lustiges Beispiel:

Meine Mudder hat bei Facebook 1 mega schlechtes Passwort! -> MMhbFcbk1msP

Übrigens: Das wichtigste Qualitätskriterium für ein Passwort ist immer noch die Länge. Sonderzeichen oder Groß- und Kleinschreibung sind deutlich weniger entscheidend, als häufig suggeriert wird. Achtet bei euren Passwörtern also vor allem auf die Anzahl der Zeichen.

Dependencies „sauber“ halten – so geht es am schnellsten!

Dependencies sind bei Entwicklern überaus beliebt und ein wichtiger Bestandteil unserer Software Architektur. Kein Wunder, denn durch den großen Katalog an Dependencies stehen unterschiedlichste Programmier-Werkzeuge zur Verfügung, ohne dass diese selbst gebaut beziehungsweise entwickelt werden müssen. Dadurch beschleunigen sie den Bau von Software ungemein – eine Win-Win-Situation für alle beteiligten. Für die Sicherheit bringen Dependencies jedoch Herausforderungen mit sich. Sie können Bugs und Security Issues enthalten. Zudem passiert es häufig, dass in einer Dependency weitere Dependencies verwendet werden. Dadurch kommen mitunter lange Verkettungen zustande, welche Sicherheitsrisiken noch undurchsichtiger und wahrscheinlicher machen. Um diese Sicherheitsrisiken bestmöglich einzudämmen, empfehlen wir

  1.     Die Dependencies aktuell zu halten, da Updates oft Sicherheitslücken schließen.
  2.     Die Schwachpunkte der Software zu kennen.

Dies manuell zu lösen ist ein enormer Aufwand, da IT-Projekte eine Vielzahl solcher Dependencies nutzen. Häufig erreichen sie dabei eine Anzahl im vierstelligen Bereich. Glücklicherweise gibt es auch hier Hilfsmittel, um die Sicherheit auf komfortable weise zu gewährleisten. Eine geniale Möglichkeit bietet uns der Depandabot! Er listet sämtliche neue Versionen zu den verwendeten Dependencies auf und vereinfacht das Updaten damit enorm. Darüber hinaus kann er per Security Audit sämtliche Dependencies nach Sicherheitsupdates durchsuchen und diese automatisch ausführen. Ähnliche Audits bieten Build Management Tools wie Yarn, Gradle oder Cargo an.

Dependabot

Das Dependabot-Logo

Stößt man doch einmal auf ein bislang ungelöstes Security-Problem, kann man in den meisten Fällen direkt in Kontakt mit den Maintainern treten. Viele Dependencies sind nämlich als OpenSource auf Github zu finden.

Wie man Security, Entwickler & Operation in Einklang bringt

Um das „heiße Kartoffel“-Problem anzugehen, ist es wichtig, alle ins selbe Boot zu holen. Dies können wir mit dem DevOps-Ansatz lösen, indem wir einen Schritt weitergehen, und es zu DevSecOps entwickeln. Das bedeutet konkret:

  1.     Automatisierung für die IT-Security implementieren, z. B. mit dem oben genannten Security Audit des Depandabot
  2.     Segmentierung, also Projekte in Entwicklungsströme aufteilen (z. B. Test-Staging oder Produktion für die Leitumgebung)
  3.     Security Aspekte im Lifecycle Management berücksichtigen: Was passiert beispielsweise mit den Daten, wenn uns ein Mitarbeiter verlässt oder ein Kunde kündigt?
  4.     Mitarbeiter schulen, Bewusstsein für IT-Security schärfen (zum Beispiel durch einen Blog 😉)
  5.     Komplexe Systeme vermeiden, stattdessen Anwendungen so gut es geht einfach halten.

Das sicherste System ist das, was man kennt und versteht. Mit dem man umgehen kann. Know the System – Beat the System

 

Fazit

Das Thema IT-Security wird zwar als wichtig anerkannt, aber in der Praxis gerne an andere abgegeben oder vernachlässigt. Dabei ist es heutzutage dank Tools wie Bitwarden und Depandabot viel bequemer, einen guten Sicherheitsstandard aufrecht zu erhalten. Zusammen mit der Implementierung des DevSecOps-Ansatzes können wir die Sicherheit in IT-Unternehmen nachhaltig verbessern.

 

Titelbild Foto-Credit: Photo by fabio on Unsplash