Bitfrost/lang-de
Bitfrost ist die Sicherheitsplattform von OLPC. In diesem Artikel versuchen wir eine nicht-technische Einführung zu Sicherheitsproblemen zu geben. Ansätze und Prinzipien zur deren Behebung folgen danach. Diese Lösungsansätze wurden der vollständigen Bitfrost-Spezifikation (oder seinem Wiki) entnommen. Wir laden dazu ein, diese Artikel genauch durchzusehen und auf der öffentlichen, von OLPC bereitgestellten Mailing-Liste für Sicherheitsfragen zu diskutieren.
Einführung und Zusammenfassung
Im Jahre 1971 veröffentlichten die Programmierer Ken Thompson und Dennis Ritchie von der Firma AT&T die erste Version von Unix. Dieses Betriebssystem, welches im Jahre 1969 als unbezahltes Projekt namens UNICS begann, wurde ein anderer Name gegeben und erhielt öffentlich von den Bell Labs finanziert, als die Programmierer anboten, Unterstützung zur Textverarbeitung hinzuzufügen. Viele dieser großen Designideen hinter UNIX bestehen noch heute: Populäre Server-Betriebssysteme wie Linux, FreeBSD und viele andere teilen all dieses grundsätzliche UNIX-Design.
Die Unix-Version aus dem Jahr 1971 unterstützte nach dem folgenden Modell Zugang zu sicherheitsrelevanten Benutzerdateien:
- Nicht-Besitzer kann Datei verändern (schreiben)
- Nicht-Besitzer kann Datei lesen
- Besitzer kann Datei verändern (schreiben)
- Besitzer kann Datei lesen
- Datei kann ausgeführt werden
- Datei erhält den Status "uid"
Diese Zugangsrechte sollten für jeden bekannt sein, denn sie sind sehr ähnlich zu den heutigen Zugangsmodellen, den ein Benutzer für seine Dateien, bei seinenm Betriebssystem seiner Wahl, heute einstellen kann. Was sehr beunruhigend - fast geglaubt werden kann - diese Rechte ist das fast das Einzige, was bis heute ein User als wahrer Kontrollmechanismus über seine Dateien hat: Ein Benutzer hat sich zwar dafür entscheiden, seine Dateien vor anderen Personen zu schützen, aber er hat keine wie auch immer geartete Kontrolle, was sein eigenes Programm mit seinen Dateien anstellen kann.
Im Jahre 1971 war dies vielleicht noch akzeptierbar: Dies war 20 Jahre vor Entstehung des Webs und das Bedrohungs-Szenario für die meisten Computer war vollkommen anders, als das, was heutige Anwendungen ausgesetzt sind. Wenn dies so ist, ist es dann eine Überraschung, dass wir Viren und Malware heute nicht stoppen können, wenn unsere Art der Verteidigung seit über 35 Jahren unverändert ist?
Die Krux liegt in der Annahme, dass jedes, durch den Benutzer gestartete Programm auf einem System, die gleichen Fähigkeiten und Rechte haben soll wie jedes andere Programm auch, dass durch den Benutzer gestartet wird. 1971 war sieben Jahre bevor das erste internationale paket-orientierte Netzwerk entstand. Das erste Großnetz, das TCP/IP, dem heute im Internet verwendeten Protokoll, verwendet, wurde nicht vor 1983 entwickelt. Dies war damals 12 Jahre, nachdem Thompson und Ritchie das erste Design für Datei-Zugangsrechte diskutierten. Im Ausgangsjahr 1971 gab es keine andere vorstellbare Möglichkeit, ein Programm in den Computer "einzuspeisen", außer, der Zugangsberechtigte - der Benutzer - transportierte es physisch in die Maschine (z.B. indem er Lochkarten einlas) oder indem er den Code von Hand eingab. Aufgrund dieses "alles oder nichts" Sicherheitskonzeptes machten ausführbare Programme, welche die volle Kontrolle über das Benutzerkonto haben, einen Sinn: Jeder Code, den der Benutzer ausführte, war daher von Grund auf aus praktischen Gründen vertrauenswürdig.
Nun ein Vergleich mit heute und die Situation könnte nicht unterschiedlicher sein: Der größte Unterschied zu damals ist vielleicht das Internet. Im Internet führt der Internetbrowser eines Benutzers auf fast jeder besuchten Seite ein nicht als vertrauenswürdig eingestuftes Skript aus! Browser sind zunehmend komplexe Sandbox-Systeme, die versuchen, die Fähigkeiten dieser Web-Skripte einzuschränken, aber selbst die neueste Browser-Version muss dauernd "Bugs" (also Programmierfehler) in seinem Skript-Ausführungscode beheben. Ebenso dürfen wir auch die Email-Nutzung nicht vergessen. Jeder kann einem anderen Nutzer ausführbare Programme zusenden und viele Jahre war die einzige Reaktion des Nutzers, den Anhang zu öffnen und das Programm zu starten. Nicht vertrauenswürdiger Code ist überall und das einzige Verteidigungsmittel ist die aufwendige Schulung der Nutzer und der Einsatz von Antivirus-Software - natürlich unter der Voraussetzung, das der Virenscanner auf dem neuesten Stand ist und dass die Anbieter von Virenscannern genug Zeit hatten, den neuesten Virus zu analysieren und ein Gegenmittel zu entwickeln.
Die meisten auf der Bitfrost-Plattform angewandten Technologien und Ansätze stellen keine vollkommen neue Forschung dar: Sie sind in der Sicherheitsliteratur schon seit Jahren bekannt. Einige wurden bereits in der Praxis eingesetzt, andere wurden bislang nur im Labor getestet. Was aber dennoch den XO-Laptop von OLPC zu etwas Besonderem macht, ist die Tatsache, dass erstmals all diese Sicherheitsmaßnahmen sorgfältig in ein System zusammengeführt wurden, das für zehn- oder hunderttausende Millionen von Benutzer konzipiert wurde. Möglicherweise ist es auch das erste Mal, dass ein Laptop als Massenprodukt, bereitwillig seine Kompatibilität zu seinen Altlasten aufgibt, um große Sicherheit zu erreichen. Zum Beispiel wird der Leser feststellen, dass Diskussionen über Antiviren- und Antispionage-Technology bei der Bitfrost-Spezifikation nicht geführt werden. Der Grund ist, dass die Sicherheitsplattform auf den XO-Laptops weitestgehend diese Fragen überflüssig macht.
Wir haben damit begonnen ein System zu entwickeln, dass sowohl erheblich sicherer und auch erheblich benutzbarer ist, als jedes derzeit auf dem Markt verfügbare Standard-Sicherheitssystem. Ein Ergebnis unserer Ausrichtung auf Benutzbarkeit ist der Umstand, dass es nur einen Schutzmechanismus bei der Bitfrost-Plattform gibt, welche die Eingabe durch den Benutzer erfordert. Selbst das ist nur eine einfache "Ja- oder Nein-"Frage, die selbst von jungen Kindern verstanden werden kann. Alle sonstigen Maßnahmen finden hinter der Kulisse statt. Es ist eine große Herausforderung sowohl Sicherheit als auch Benutzbarkeit zu ermöglichen und daher ist es wichtig darauf hinzuweisen, dass wir es nicht versucht haben und auch wir nicht daran glauben, dass wir ein "perfekt sicheres" System geschaffen haben. Jede Äußerung, dies ist perfekte Sicherheit, wäre dumm, und wir distanzieren uns von jeglichen Behauptungen dieser Art.
The Bitfrost approach
Principles
- Open design
The laptop's security must not depend upon a secret design implemented in hardware or software.
- No lockdown
Though in their default settings, the laptop's security systems may impose various prohibitions on the user's actions, there must exist a way for these security systems to be disabled. When that is the case, the machine will grant the user complete control.
- No reading required
Security cannot depend upon the user's ability to read a message from the computer and act in an informed and sensible manner. While disabling a particular security mechanism may require reading, a machine must be secure out of the factory if given to a user who cannot yet read.
- Unobtrusive security
Whenever possible, the security on the machines must be behind the scenes, making its presence known only through subtle visual or audio cues, and never getting in the user's way. Whenever in conflict with slight user convenience, strong unobtrusive security is to take precedence, though utmost care must be taken to ensure such allowances do not seriously or conspicuously reduce the usability of the machines. As an example, if a program is found attempting to violate a security setting, the user will not be prompted to permit the action; the action will simply be denied. If the user wishes to grant permission for such an action, she can do so through the graphical security center interface.
Goals
- No user passwords
With users as young as 5 years old, the security of the laptop cannot depend on the user's ability to remember a password. Users cannot be expected to choose passwords when they first receive computers.
- No unencrypted authentication
Authentication of laptops or users will not depend upon identifiers that are sent unencrypted over the network. This means no cleartext passwords of any kind will be used in any OLPC protocol and Ethernet MAC addresses will never be used for authentication.
- Out-of-the-box security
The laptop should be both usable and secure out-of-the-box, without the need to download security updates when at all possible.
- Limited institutional PKI
The laptop will be supplied with public keys from OLPC and the country or regional authority (e.g. the ministry or department of education), but these keys will not be used to validate the identity of laptop users. The sole purpose of these keys will be to verify the integrity of bundled software and content. Users will be identified through an organically-grown PKI without a certified chain of trust — in other words, our approach to PKI is KCM, or key continuity management.
- No permanent data loss
Information on the laptop will be replicated to some centralized storage place so that the student can recover it in the event that the laptop is lost, stolen or destroyed.
If this subject matter interests you, please read the complete Bitfrost specification, join the OLPC security mailing list, share your thoughts, and join the discussion.