In der National Vulnerability Database (NVD) werden seit einigen Jahren öffentlich gemeldete Sicherheitslücken protokolliert.
2014 wurden für Windows dort "wesentlich" weniger Lücken verzeichnet als für Linux und / oder Mac OS X.
Bildquelle: http://www.gfi.com/
Zurecht ist diese Statistik kritisch zu betrachten. Zum einen taucht in der Auflistung Windows mehrfach auf und Linux nur einmal.. Dabei ist zu beachten, dass einige der gemeldeten Schwachstellen doppelt gezählt wurden, da die Kernel gleich sind (Windows7+Server2008 / Windows 8 + Server 2012 usw.) Und zusätzlich die eine Kernel-Version wie bei Linux auch auf die vorhergehende aufbaut, und somit "alte" Sicherheitslücken ebenfalls in der neueren Version vorhanden sein können.
Trotzdem sind die Zahlenunterschiede groß genug, damit Windows auch bei kommulierten Werten als Sieger hervorgehen sollte.
Weiterhin muss man bedenken, das viele Fehler nicht öffentlich gemeldet werden, sei es aufgrund finanziellen Interesses des Finders einer Lücke, oder aufgrund von Marketing-Schwierigkeiten bei Firmen, die ein Problem durch eine Sicherheitslücke haben.
Alles in allem spiegelt die Statistik aber erstmals eine meiner grundlegenden Ahnung wieder die sich in den letzer Zeit aufgrund einiger Sicherheitsvorfälle im Linux-Umfeld immer mehr herrauskristialisiert hat - das Linux, insofern sich dort nicht in naher Zukunft einiges ändert, immer mehr Probleme bekommen wird.
Microsoft hat ca. 2001 bei der Entwicklung von Windows Vista begonnen den Programm-Code von Windows komplett neu zu schreiben unter Zuhilfenahme eines neuen Entwicklungsprozesses / Konzeptes dem SDL begonnen. Wobei der "alte" Code nur daraufhegend geprüft wurde ob er den Anforderungen des neuen Prozesses genügt. Da der "neue" Code Kompatibel zu allen alten Apis sein musste ist evtl. nachzuvollziehen warum selbst alte / bekannte Fehler auch nach der Neuimplemtierung bestehen - da Funktionale und Systematische Änderungen nicht mit einbezogen wurden.
Seit der Einführung von SDL muss jedoch 100% des Codes den Anforderungen des Prozesses entsprechen - die Einhaltung der Regeln werden beim Checkin in das Code-Repository geprüft. Ein leicht verständliches Beispiel hierbei die verpflichtende Validierung aller verwendeten Parameter auf die zu erwartenden Eigenschaften - wodurch ein Fehler wie die Heartbleed-Lücke bei diesem Prozess nicht möglich gewesen wäre.
Natürlich ist so ein Prozess kein Garant zur Vermeidung von Fehlern - da nicht immer jeder Winkel betrachtet wird oder der Hacker einen neuen Angriffs-Vektor findet der so noch nicht bekannt war. Dennoch ist die Codequalität für meine Begriffe moderner aufgestellt als bei so manchen alten Linux-Libs.
Was zum Abschluss des Artikels auch das Endergebnis sein soll - das meiner Meinung nach durch die zum Teil sehr sehr alten Codefragmente in Linux noch so manche Überraschung schlummert die wie die letzten schon entdeckten Lücken weitreichende Auswirkungen haben - und die oft hoch gelobte Sicherheit von Linux vor allem darauf basiert das es einfach viel weniger die Zielgruppe von Hackern und Sicherheits-Forschern war.
Die Grund-Mechanismen von Linux und dessen Aufbau waren Langezeit Microsoft bei weitem Voraus - und es gibt noch immer viele Vorteile an der Linux-Architektur die man bei Windows vergeblich sucht, die gewachsenen Strukturen und keine strikten Code-Policys bei der Implementierung des gesamten OS-Codes inkl. aller beteiligen Libs könnte in den nächsten Jahren jedoch ein Problem werden.
P.S.: Ich nutze Linux selber recht gerne - da wie gesagt Linux in vielen Bereichen Stärken hat, die Windows nicht bieten kann... Ich bin weder ein Fan von Windows-Hatern als auch von Linux-Hatern - jedes System hat seine Vor- und Nachteile.
2014 wurden für Windows dort "wesentlich" weniger Lücken verzeichnet als für Linux und / oder Mac OS X.
Bildquelle: http://www.gfi.com/
Zurecht ist diese Statistik kritisch zu betrachten. Zum einen taucht in der Auflistung Windows mehrfach auf und Linux nur einmal.. Dabei ist zu beachten, dass einige der gemeldeten Schwachstellen doppelt gezählt wurden, da die Kernel gleich sind (Windows7+Server2008 / Windows 8 + Server 2012 usw.) Und zusätzlich die eine Kernel-Version wie bei Linux auch auf die vorhergehende aufbaut, und somit "alte" Sicherheitslücken ebenfalls in der neueren Version vorhanden sein können.
Trotzdem sind die Zahlenunterschiede groß genug, damit Windows auch bei kommulierten Werten als Sieger hervorgehen sollte.
Weiterhin muss man bedenken, das viele Fehler nicht öffentlich gemeldet werden, sei es aufgrund finanziellen Interesses des Finders einer Lücke, oder aufgrund von Marketing-Schwierigkeiten bei Firmen, die ein Problem durch eine Sicherheitslücke haben.
Alles in allem spiegelt die Statistik aber erstmals eine meiner grundlegenden Ahnung wieder die sich in den letzer Zeit aufgrund einiger Sicherheitsvorfälle im Linux-Umfeld immer mehr herrauskristialisiert hat - das Linux, insofern sich dort nicht in naher Zukunft einiges ändert, immer mehr Probleme bekommen wird.
Microsoft hat ca. 2001 bei der Entwicklung von Windows Vista begonnen den Programm-Code von Windows komplett neu zu schreiben unter Zuhilfenahme eines neuen Entwicklungsprozesses / Konzeptes dem SDL begonnen. Wobei der "alte" Code nur daraufhegend geprüft wurde ob er den Anforderungen des neuen Prozesses genügt. Da der "neue" Code Kompatibel zu allen alten Apis sein musste ist evtl. nachzuvollziehen warum selbst alte / bekannte Fehler auch nach der Neuimplemtierung bestehen - da Funktionale und Systematische Änderungen nicht mit einbezogen wurden.
Seit der Einführung von SDL muss jedoch 100% des Codes den Anforderungen des Prozesses entsprechen - die Einhaltung der Regeln werden beim Checkin in das Code-Repository geprüft. Ein leicht verständliches Beispiel hierbei die verpflichtende Validierung aller verwendeten Parameter auf die zu erwartenden Eigenschaften - wodurch ein Fehler wie die Heartbleed-Lücke bei diesem Prozess nicht möglich gewesen wäre.
Natürlich ist so ein Prozess kein Garant zur Vermeidung von Fehlern - da nicht immer jeder Winkel betrachtet wird oder der Hacker einen neuen Angriffs-Vektor findet der so noch nicht bekannt war. Dennoch ist die Codequalität für meine Begriffe moderner aufgestellt als bei so manchen alten Linux-Libs.
Was zum Abschluss des Artikels auch das Endergebnis sein soll - das meiner Meinung nach durch die zum Teil sehr sehr alten Codefragmente in Linux noch so manche Überraschung schlummert die wie die letzten schon entdeckten Lücken weitreichende Auswirkungen haben - und die oft hoch gelobte Sicherheit von Linux vor allem darauf basiert das es einfach viel weniger die Zielgruppe von Hackern und Sicherheits-Forschern war.
Die Grund-Mechanismen von Linux und dessen Aufbau waren Langezeit Microsoft bei weitem Voraus - und es gibt noch immer viele Vorteile an der Linux-Architektur die man bei Windows vergeblich sucht, die gewachsenen Strukturen und keine strikten Code-Policys bei der Implementierung des gesamten OS-Codes inkl. aller beteiligen Libs könnte in den nächsten Jahren jedoch ein Problem werden.
P.S.: Ich nutze Linux selber recht gerne - da wie gesagt Linux in vielen Bereichen Stärken hat, die Windows nicht bieten kann... Ich bin weder ein Fan von Windows-Hatern als auch von Linux-Hatern - jedes System hat seine Vor- und Nachteile.