Hallo marctrix,
Ich bin kein IT-Sicherheitsexperte, habe aber folgende Beobachtungen gemacht:
Gut, dass du das vorweg gesetzt hast…
1.) In Open Source Software werden mitunter Sicherheitslöcher gefunden, die seit Jahren bestehen, obwohl jeder in den Code reinschauen kann.
2.) Wer gezielt nach Zero-Day-Exploits sucht (z.B. Geheimdienste) nutzen solche Sicherheitslücken auch oft jahrelang unbemerkt und ungehindert aus.
Insofern scheint es mir reines Wunschdenken zu sein, wenn man behauptet, offene Software sei prinzipiell sicherer.
Das hat niemand behauptet. Die allgemein anerkannte These ist, dass Sicherheit nur mit quelloffener Software möglich ist.
Deine Beobachtung hat sich zu sehr auf OSS beschränkt, identische Beobachtungen hättest du auch bei geschlossener Software machen können. Die letzten zwei großen Trojaner-Wellen gab es genau deshalb: Geheimdienste haben Sicherheitslücken, die in geschlossener Software vorhanden sind, geheim gehalten und bei bekannt werden wurden die dann ausgenutzt.
Sie könnte es vielleicht rein theoretisch sein. Die Praxis sieht aber anders aus.
Nein, die Praxis bestätigt die These.
De facto nimmt sich aber kaum jemand die Zeit für solche Tests.
Es gibt diverse Firmen, die Sicherheitsforscher beschäftigen und Probleme und Bugs finden. Deshalb werden die Probleme ja gefunden! Googles Project Zero ist hier vorbildlich, die machen vortreffliche und fantastische Arbeit. Ansonsten muss man auch sagen, dass sich um Sicherheitslücken im allgemeinen und 0-days im speziellen ein ganz massiver Schwarzmarkt gebildet hat, der es unattraktiv macht, solche Probleme zu veröffentlichen. Verkaufen ist da einfach viel lukrativer.
Anders kann ich mir nicht erklären, warum die Punkte 1) und 2) Realität sind.
Software ist ausgesprochen komplex, und Sicherheitslücken zu finden erforderte bislang nicht nur den Code zu lesen und verstehen, sondern auch zu verstehen wo die Lücken und Probleme sind. Das it ein ausgesprochen komplexer Vorgang, der sehr viel Kreativität gepaart mit tiefem Verständnis erfordert.
Ob der Weg von Appple richtig ist, muss sich noch erweisen. Bisher stellt er aber die Entwickler von Schadsoftware und Behörden vor nicht unlösbare aber deutlich größere Probleme beim Versuch die Systeme zu kompromittieren.
Nein, da hast du etwas missverstanden. Apples Weg ist nicht security by obscurity („niemand darf den Code ansehen!“), sondern sie setzen auf Mechanismen, die trotz Kenntnis des Codes nicht zu überwinden sind. Einiges davon ist sogar OSS (Stichwort Darwin-Kernel). Und das ist genau der richtige Weg, nur so ist Sicherheit möglich.
Ein kleines Beispiel: die Secure Enclave. Das ist ein Konzept, bei dem es nur durch massiven physischen Zugriff möglich ist Daten auszulesen: man muss buchstäblich das Gehäuse des Chips aufschleifen um an die Bausteine zu kommen und von denen dann die Daten auszulesen. Da ist eine Abschottung einfach nicht nötig.
Oder die Tatsache, dass alle iOS-Apps in einer Sandbox sind und mit dem System nur über spezielle APIs kommunizieren können: ein weiteres Konzept, dass für eine deutliche Verbesserung der Sicherheit sorgt. Ein abschotten des Systems ist da einfach nicht nötig.
Das gleiche gilt für das in macOS eingeführte Feature, dass der System-Kern (Kernel, Userland, …) unveränderbar ist. Auch hier gilt: eine Abschottung ist nicht nötig, damit das Feature effektiv ist.
Die Abschottung basiert IMHO im wesentlichen auf einem Kontrollzwang (der sich aber zur Zeit zu lockern scheint).
LG,
CK