Wenn Sie mit Ihrem Computer arbeiten, werden Sie früher oder später feststellen, dass alle möglichen Programme nach Updates betteln: Windows-Update hier, der Flash Player da und Firefox wurde auch aktualisiert und benötigt einen Neustart. Warum ist das so? Wir verraten Ihnen auch, warum Sie sich die Updates besorgen sollten.
Was sollen die ganzen Updates?
Updates sind dazu da, Fehler zu beheben und manchmal neue Funktionen zu ergänzen und damit die Arbeit mit dem Computer einfacher zu machen. Allerdings empfinden viele Nutzer die vielen Updates als nervig, was vor allem daran liegt, dass es im Betriebssystem keine einheitliche Schnittstelle für Updates gibt. Am ehesten kommt da noch Linux dran mit seinem Paketsystem, allerdings hat Linux auf dem Desktop quasi keine Bedeutung. Microsoft versucht seit Windows 8 mit dem Windows Store, Updates von Drittanbietern zu zentralisieren – etwas, das Apple schon seit Mac OS X 10.6 Snow Leopard und dem Mac App Store zu etablieren versucht. Aber trotzdem kocht fast jeder Hersteller sein eigenes Süppchen: Windows-Update, Flash-Player, Java-Runtime, Firefox, die Anti-Virus-Software. Sie sollten dennoch Ihren PC aktuell halten.
Sicherheitslücken sind gefährlich
Denn Updates beheben nicht nur „normale“ Fehler wie ungewolltes Verhalten oder Abstürze, sondern auch Sicherheitslücken. Das sind per se keine Bugs im klassischen Sinne, da die Software unter normalen Umständen tut, was man von ihr erwartet. Bei geschickten Eingaben kann man aber steuern, was das Programm macht und so das Programm im harmlosesten Fall nur abstürzen lassen. Oft reißen Sicherheitslücken aber auch tiefere Löcher ins System, was sich ausnutzen lässt, um Ihnen böswillige Software unterzujubeln, die dann beispielsweise Ihren PC zu einem Zombie-Rechner in einem Botnetz werden lässt und etwa Spam-Mails verschickt. Außerdem können Angreifer dann auch Daten von Ihrer Festplatte auslesen oder Tastatureingaben mitschreiben.
Wie entstehen Sicherheitslücken?
Sicherheitslücken entstehen meistens dann, wenn ein Entwickler einkommende Daten nicht richtig filtert. Beispielsweise muss man dem Computer sagen, dass eine Eingabe, z.B. die eines Benutzernamens, höchstens 255 Zeichen lang sein darf. Dieses Limit ist wichtig, damit der Computer entsprechend Arbeitsspeicher für jene Eingabe reservieren kann. Gibt man als Anwender mehr ein als die 255 Zeichen und das Programm überprüft das nicht, sondern speichert die Eingabe in die dafür vorgesehene Stelle, kann es passieren, dass Speicher überschrieben wird und verschiedene ungewollte Dinge passieren. Diese kann ein Angreifer dann entsprechend ausnutzen – je nachdem, welches Potenzial die Lücke bietet.
Entwickler sollten Eingaben immer prüfen
Damit das nicht passiert, sollten Entwickler immer davon ausgehen, dass außen kommende Daten böse sind und das System hintergehen wollen. Deshalb sollten jene Daten unbedingt geprüft und gefiltert werden, um Probleme zu vermeiden. Man kann auch externe Unternehmen wie Blue Frost Security mit der Analyse des Quellcodes beauftragen. Wenn andere über den Code schauen, finden sie vielleicht Probleme, die der Urheber nicht gesehen hat. Außerdem kann man Software auch in sog. Penetration Tests mit sinnlosen Daten bombardieren und schauen, was passiert. Das ist, gerade, wenn der Quellcode nicht zur Verfügung steht, häufig die schnellste Variante, um Programmfehler, die Sicherheitslücken sein könnten, aufzuspüren. Da bei ungezielten Angriffen das Programm normalerweise „nur“ abstürzt, kann man dann mithilfe weiterer Tools untersuchen, wo das Problem liegt.