Skip to content

Sicherheit

Das Thema Sicherheit ist wahrscheinlich der Bereich der Computer- und Internet-Technik, der am meisten Aufwand verursacht. Die eigentlich beabsichtigten Funktionen - z.B. das Versenden einer E-Mail - sind geradezu simpel im Vergleich zu den Funktionen und Maßnahmen, die erforderlich sind, um diesen Prozess abzusichern gegen allerlei Missbrauch und Gefahren. Und diese Anforderungen nehmen kontinuierlich zu. Warum ist das so, welche Gefahren gibt es überhaupt und wie können wir uns davor schützen, nicht nur als Programmierer, sondern auch als Anwender?

Die folgenden Kapitel geben einen Überblick über diese Thematik. In den weiteren Seiten dieses Menübereichs findet ihr konkrete Anleitungen und Maßnahmen zur Absicherung Eurer Arbeit am PC und im Internet.

Welche Gefahren gibt es

Sicherheit ist ein dehnbarer Begriff. Die "Bedrohungen" aus dem Internet sind vielfältig und haben ganz unterschiedlichen Charakter. Wir unterscheiden daher zunächst mehrere Bereiche der Sicherheit:

  • Datenkonsistenz: Hier geht es darum, dass unsere Daten nicht verloren gehen und immer verfügbar bleiben, ggf. auch frühere Zustände.

  • Schutz vor Eindringlingen: Hacker und Viren aller Arten versuchen ungebeten in unsere Systeme einzudringen und sie zu manipulieren

  • Schutz vor Betrug und Spam: Wir werden mit unterschiedlichen Mitteln gedrängt, uns mit Inhalten zu beschäftigen, die uns gar nicht interessieren, und durch Täuschungen Dinge zu tun, mit denen wir uns selbst schaden.

  • Datenschutz: Unsere persönlichen Daten werden gegen unseren Willen gelesen, missbraucht oder veröffentlicht.

Oft fallen Bedrohungen in eine Kombination aus diesen Bereichen, z.B. wenn ein Hacker in unsere Systeme eindringt, um unsere persönlichen Daten zu missbrauchen.

Datenkonsistenz

Die historisch älteste "Bedrohung" ist der Verlust von Daten. Dabei geht es gar nicht primär um illegale oder zwielichtige Machenschaften, sondern um technische Probleme. In den Anfängen der Computertechnik wurden Daten zumeist auf magnetischen Datenträgern gespeichert, die realtiv anfällig für Störungen waren. Durch machanische Einwirkungen und Magnetfelder konnten Daten zerstört werden. Aber auch die Arbeit an den Daten selbst stellt eine Gefahrenquelle dar: Menschen können sich irren und fälschlich eine Datei löschen oder eine Änderungen durchführen, die sie später gerne rückgängig machen würden. Und schließlich können Daten auch durch gezielte Angriffe von Hackern oder Viren (s.u.) zerstört werden. Ein weiteres Problem kann ein (vorübergehender) Ausfall der Datensysteme sein, der z.B. in großen Unternehmen oder bei kritischen Systemen großen Schaden anrichten kann.

Hier ist Sicherheit auf mehreren Ebenen erforderlich.

  • Redundanz: Um (vorübergehenden) Ausfällen der genutzten Daten und Systeme vorzubeugen werden diese redundant ausgelegt, d.h. alles wird zwei oder mehrfach implementiert. Hierfür gibt es unterschiedliche Strategien:

    • Datenspeicher werden auf mehreren Datenträgern parallel gespeichert (sog. RAID-Systeme) so dass bei Ausfall eines Datenträgers trotzdem alle Daten auf den anderen Datenträgern noch vorhanden sind. Diese technische Lösung ist für den User unsichtbar, für ihn sieht es aus, wie eine einzige Festplatte. Die Daten werden hier stets konsistent gehalten, d.h. auf allen Festplatten ist zu jeder Zeit derselbe Datenstand.

      Fachsimpelei: RAID-Systeme...

      Genau genommen speichern viele solcher Systeme die Daten so, dass sie kleine Datenblöcke bilden und diese in zwei Teile trennen. Der erste Teil kommt auf die eine Festplatte, der andere Teil auf die zweite. Und auf eine dritte Festplatte wird die Differenz aus den beiden Teilen gespeichert. Da Daten letztlich binär sind, also aus nur zwei verschiedenen "Zeichen" bestehen, die wir als 0 und 1 bezeichnen, können wir mit einem logischen Operator eine Differenz bilden. Nehmen wir ein Beispiel:
      Gespeichert werden sollen folgende Daten: 1110101000101110
      Wir trennen die Daten auf in: 11101010 und 00101110. Der erste Block kommt auf die erste Platte, der zweite auf die zweite.
      Auf die dritte Platte kommt der folgende Block: 11000100.
      Was soll das nun? Ganz einfach: Die Ziffern im dritten Block sind eine sog. Prüfsumme und geben an, ob an der jeweiligen Stelle die Ziffern von Block 1 und 2 gleich oder unterschiedlich sind. Es gibt genau 4 Fälle für diese Operation:

      Wert in Block 1 Wert in der Prüfsumme Operation Resultierender Wert (Block 2)
      1 1 ändere den Wert: 1=>0 0
      0 0 lass den Wert gleich: 0=>0 0
      1 0 lass den Wert: 1=>1 1
      0 1 ändere den Wert: 0=>1 1

      Man kann es sich mit 1 und 0 auch so denken: Bilde pro Ziffer die Differenz aus den beiden Werten (Block 1 und Prüfsumme) und ignoriere das Vorzeichen. Also

      1 - 1 = 0
      0 - 0 = 0
      1 - 0 = 1
      0 - 1 = -1 => aber wir ignorieren das Minus, also = 1
      

      Wenn wir die Blöcke mit A, B und C bezeichnen, dann erbigt sich also folgende Formel:

      C = |A-B|
      
      Und so kann aus Block 1 mithilfe der Prüfsumme der Block 2 rekonstruiert werden:

      11101010 (Block 1)
      11000100 (Block 3 - die "Differenz")
      ========
      00101110 (und schon haben wir Block 2 rekonstruiert)
      

      Das Lustige ist nun, dass die Rekonstruktion nicht nur mit Block 3 möglich ist, sondern mit allen Blöcken. D.h. auch wenn Block 3 fehlt, kann dieser aus Block 1 und 2 auf die gleiche Weise rekonstruiert werden. Es geht in alle Richtungen mit allen Kombinationen.

      A = |B-C|
      B = |A-C|
      C = |A-B|
      

      Durch diese Technik werden zwei Ziele erreicht: Die resultierende Datenträger bietet doppelt so viel Platz wie eine einzelne Festplatte, da auf jeder der drei Festplatten nur jeweils die Hälfte der Daten gespeichert werden muss. Und der resultierende Datenträger ist theoretisch doppelt so schnell wie eine einzelne Festplatte, da jeweils nur die Hälfte der Daten gespeichert werden muss und dies auf den drei Platten gleichzeitig geschehen kann. Andere Systeme, wie z.B. zwei Platten, die einfach parallel beschrieben werden, sind weder schneller noch bieten sie mehr Platz als eine einzelne Platte. Das Drei-Platten-System (aka RAID-5) erzeugt also bei 150% der Kosten (weil 3 statt 2 Platten) 200% an Performance (Speicherplatz und Geschwindigkeit). Mit der Einschränkung, dass für das Berechnen des jeweiligen dritten Datenblocks doch wieder etwas zusätzliche Leistung benötigt wird.

    • Die Dateien werden laufend auf andere Datenspeicher synchronisiert, z.B. auf einen Cloud-Server, als einen Server, der über eine Internetverbindung erreichbar ist. Hier kann der User auf beide Systeme zugreifen. Durch die Synchronisierung, insbesonder über Internet, entsteht ein kleiner Zeitverzug, in dem die Daten nicht identisch sind, was in manchen Fällen zu Inkonsistenzen führen kann.

    • Backup: