Große, professionelle Firmen haben Sicherheitslücken, wie ist das möglich?
Veröffentlicht am: in der Kategorie: PC
Die IT-Systeme, die von großen und professionellen Firmen verwendet werden sind unglaublich komplex geworden. Die Sicherheit zu gewährleisten ist zu einer schwierigen Aufgabe geworden. Alles finden den Ursprung darin, dass die neue Software auf alten Programmen basiert.
Wie kann man erklären, dass große und professionelle Firmen oder Services gehackt werden und durch scheinbar simple Angriffe außer Gefecht gesetzt werden? Firmen wie Skype, Facebook oder Whatsapp müssen doch große Sicherheitsabteilungen mit mehreren Mitarbeitern haben oder etwa nicht?
Sicherheitslücken bei großen und professionellen Firmen sind leider möglich und zwar aus dem Grund, dass die IT-Systeme sehr Komplex sind. Ehrlich gesagt es verwundert mich, dass es nicht noch mehr Lücken gibt, denn der Komplexitätsgrad der IT, die heutzutage verwendet wird, steigt mit jeder Applikation.
Wie ist das möglich? Doch das ist möglich, weil die Sicherheit kein Zuckerschlecken ist, sondern eine hochkomplizierte Angelegenheit. Sicherheit in IT-Systemen zu gewährleisten ist ein unglaublich schwieriger Job. Jedes Programm, jedes Betriebssystem und jedes Netzwerk sind sehr kompliziert. Mit weiteren Applikationen die auf diesen Systemen betrieben werden, steigt der Grand der Komplexität und gleichzeitig der Schwachstellen, die im System auftauchen können. Ich versuche jetzt keine ausreden für Skype, Facebook, Microsoft oder Whatsapp zu finden.
Schauen wir uns einige Szenarien, die in heutigen Systemen auf der Tagesordnung auftreten.
1. Jedes Software Programm hat Schwachstellen.
Ich glaube schon mit diesem Punkt haben die meisten nicht-Programmierer ein Riesenproblem. Wenn die Betriebssysteme wie Windows, Linux oder sogar OS X von Anfang an hundertprozentig Fehlerfrei programmiert worden wären, hätten wir heute keinerlei Antivirus Programme benötigt. Unsere Computer würden niemals unangemeldet abstürzen und niemand hätte jemals Daten verloren. Aber leider ist das nur ein Traum.
Eigentlich hat jeder Programm, jedes Stück Software, jedes Betriebssystem, irgendwelche verborgene Schwachstellen, Lücken oder Fehler. Auch Programme, die sehr verbreitet sind, sehr beliebt sind, und die sehr schnell und scheinbar zuverlässig funktionieren. In der Information werden diese Schwachstellen: Bugs genannt. Eine fehlerfreie Software existiert meiner Meinung nach nicht. Sogar die Softwarehersteller bestätigen, dass deren Systeme fehlerhaft sind, und dass sie weiterhin intensiv an der Behebung der Bugs arbeiten. Aber davon sind nur die wichtigsten Bugs und die am häufigsten auftretenden Fehler gemeint. Diese werden tatsächlich beseitigt. Alle Fehler werden leider niemals beseitigt werden können. Diese Erkenntnis hängt ummittelbar mit dem zweiten Prinzip zusammen:
2. Die heutigen IT-Systeme und Infrastrukturen sind unvorstellbar Kompliziert.
In einem Software-Unternehmen gibt es keinen Menschen, der einen kompletten und vollständigen Überblick über alle Aspekte der Produkte hat, die das Unternehmen anbietet. Das liegt daran, dass die Software-Lösungen von vielen Mitarbeitern gleichzeitig entwickelt, getestet und evaluiert werden. Eine einzelne Person kann zwar das große Schema verstehen, aber das System von Anfang bis Ende zu bauen halte ich für kaum durchführbar. Die Größte Anzahl der Fehler, die auftreten, entstehen nicht absichtlich beim Programmieren. Sie entstehen als quasi Nebenwirkungen von einzelnen Funktionen in IT-Systemen. Natürlich sind Programmierfehler auch möglich. Diese sind aber recht selten, denn man kann sie recht schnell ermitteln und beseitigen. Es gibt sogar recht intelligente Programme, die Programmierer-Codes überprüfen und korrigieren - und das völlig automatisch.
Die IT-Systeme und Software werden heutzutage von vielen Einzelnen Menschen geschaffen. Das bedeutet, sie entstehen in Teilen. Sie sind quasi fragmentiert. Kleine Teile können gut überblickt und verstanden werden. Aber diese gut verstandene, funktionierende und fehlerfreie Teile werden dann zu größeren Gebilden zusammengesetzt. Die Fehler die dabei entstehen, sind damit verbunden, dass die Teile nicht immer zueinander passen, nicht miteinander korrespondieren oder sich einfach gegenseitig ausschließen, sich widersprechen.
Unsere Erwartungen sind bei weitem überzogen. Wir erwarten, dass die technischen Systeme niemals abstürzen, niemals Daten verlieren oder löschen, niemals den Zugang verweigern für die Menschen die autorisiert sind sie zu benutzen und immer den Zugang verweigern und zwar den Menschen, die nicht autorisiert sind, sie zu verwenden. Hinzukommt, dass sie super schnell funktionieren sollen und einfach zu bedienen sollen, sogar für Anfänger.
Das Ergebnis, das am Ende aus den ganzen Anforderungen entsteht ist: eine unvorstellbar große Komplexität.
3. Sicherheit kann nicht erst im Nachhinein implementiert werden.
Viele Software-Produkte sind so konstruiert, dass alle Funktionen und Features stimmen, und erst dann werden die Sicherheitsaspekte berücksichtigt und nachträglich eingebaut. Daraus resultieren schwerwiegende Probleme. Die Sicherheit muss zwingend schon am ersten Tag der Entstehung einer Applikation mit berücksichtigt werden. Das war auch der Hauptgrund dafür, dass Software die auf Windows 9x basiert, durch die Variante Windows NT ersetzt wurde. Heutzutage basiert das Betriebssystem von Microsoft auf den alten Windows NT Grundlagen. Die alten Systeme auf Basis von Windows x9 hatten keinerlei Sicherheit. Sie wurden in MS-DOS entwickelt und Sicherheitsaspekte wurden bei der Entwicklung kaum betrachtet. Funktionen wie Benutzerkonten und Berechtigungen gab es bei Windows 9x basierten Systemen nicht. Heute könnte eine solche Software nicht mal eine Woche bestehen.
Windows NT war stammt zwar aus dem Windows x9, aber es handelt sich dabei um eine vollständig Überarbeitete Version des Betriebsystems mit Benutzerkonten, Berechtigungen, und Sicherheitseinstellungen. Was heute Windows XP, Windows Vista, 7 und 8 leisten, konnte niemals mit der ursprünglichen Architektur im MS-DOS gebaut werden.
4. Komplexität und Weiterentwicklung stehen im Widerspruch mit der Sicherheit.
IT-Systeme werden weiterentwickelt, ob man das möchte oder nicht spielt keine Rolle. Es handelt sich um eine kontinuierliche Weiterentwicklung, die nicht mehr aufzuhalten ist. Das liegt daran, dass sich die Systeme an die Bedürfnisse deren Benutzer permanent anpassen (müssen). Und die Benutzer sind wir, der Markt, die Öffentlichkeit und die ganze Welt. Wir wollen einen breiteren Funktionsumfang, mehr Möglichkeiten, aber auch Simplizität und Benutzerfreundlichkeit. Das Ergebnis dessen ist eine permanente Wandlung der IT-Landschaft. Diese Evolution ruft eine steigende Verkomplizierung der IT-Landschaft hervor. Des Weiteren bedeutet das auch, dass die Sicherheitsvorkehrungen, die früher geschaffen wurden, heute eingesetzt werden. Dieser Einsatz bewirkt, dass die Systeme mit der heutigen Anforderungen nicht klar kommen. Die alten Sicherheitssysteme wurden nicht dafür geschafft, Probleme von heute zu bekämpfen. Die bisherigen Sicherheitssysteme wurden verbessert und an die neuen Begebenheiten angepasst. Diese Aufgabe wurde bewältigt mit der Hoffnung, dass das irgendwie weiterhin funktionieren wird.
Nicht nur verlangen wir die neuen Entwicklungen und Erfindungen, wir verlangen auch, dass die alte Sicherheit mit den neuen Applikationen fehlerfrei funktioniert. Das geht natürlich nicht. Und die Löcher, Fehler und Bugs die wir heute begegnen resultieren genau daraus, dass wir zu große Erwartungen an veraltete Systeme haben.