Bitfrost/lang-de: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
Line 7: Line 7:


== Einführung und Zusammenfassung==
== 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.
Im Jahre 1971 veröffentlichten die Programmierer Ken Thompson und Dennis Ritchie von der Firma AT&T die erste Version von Unix. Diesem Betriebssystem, welches im Jahre 1969 als unbezahltes Projekt namens UNICS begann, wurde ein anderer Name gegeben, und es wurde öffentlich von den Bell Labs finanziert, als die Programmierer anboten, Unterstützung zur Textverarbeitung hinzuzufügen. Viele der großen Designideen hinter UNIX bestehen noch heute: Populäre Server-Betriebssysteme wie Linux, FreeBSD und viele andere weisen alle das grundsätzliche UNIX-Design auf.


Die Unix-Version aus dem Jahr 1971 unterstützte nach dem folgenden Modell Zugang zu sicherheitsrelevanten Benutzerdateien:
Die Unix-Version aus dem Jahr 1971 unterstützte nach dem folgenden Modell Zugang zu sicherheitsrelevanten Benutzerdateien:
Line 17: Line 17:
* Datei erhält den Status "set-uid"
* Datei erhält den Status "set-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.
Diese Zugangsrechte sollten für jeden bekannt sein, denn sie sind ähneln den heutigen Zugangsmodi, die ein Benutzer für seine Dateien beim Betriebssystem seiner Wahl heute einstellen kann. Beunruhigend ist, dass diese Konzept von Rechten bis heute fast der einzige wahre Kontrollmechanismus für einen User über seine Dateien geblieben ist: Ein Benutzer kann 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?
Im Jahre 1971 war dies vielleicht noch akzeptabel: Dies war 20 Jahre vor Entstehung des Webs, und das Bedrohungs-Szenario für die meisten Computer war vollkommen anders als das, dem heutige Anwendungen ausgesetzt sind. Ist es unter diesen Voraussetzungen 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, das 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.
Die Krux liegt in der Annahme, dass alle durch den Benutzer gestarteten Programme auf einem System die gleichen Fähigkeiten und Rechte haben sollen. 1971 war sieben Jahre bevor das erste internationale paket-orientierte Netzwerk entstand. Das erste Großnetz, das TCP/IP (das heute im Internet verwendeten Protokoll) verwendet, wurde nicht vor 1983 entwickelt. Das war zwölf 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 er gab den Code von Hand ein. Aufgrund dieses "Alles-oder-nichts"-Sicherheitskonzeptes hatten ausführbare Programme, welche die volle Kontrolle über das Benutzerkonto haben, Sinn: Jeder Code, den der Benutzer ausführte, war aus praktischen Gründen von Grund auf 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.
Im Vergleich mit heute könnte die Situation 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. Genauso wenig dürfen wir die Email-Nutzung 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, dass 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 gar hundertmillionen 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.
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 gar hundert Millionen Benutzer konzipiert wurde. Möglicherweise ist es auch das erste Mal, dass ein Laptop als Massenprodukt, bereitwillig seine Kompatibilität zu 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 diese Fragen weitestgehend überflüssig macht.


Wir haben damit begonnen ein System zu entwickeln, das 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.
Wir haben damit begonnen ein System zu entwickeln, das 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: 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 nicht versucht haben und auch nicht an die Möglichkeit glauben, ein "perfekt sicheres" System zu schaffen. Jede Äußerung hinsichtlich "perfekter Sicherheit" wäre dumm, und wir distanzieren uns von jeglichen Behauptungen dieser Art.


== Die Bitfrost-Methode ==
== Die Bitfrost-Methode ==

Revision as of 09:47, 18 November 2008

  Diese Seite wird überwacht durch das OLPC-Team.
  Übersetzung von Bitfrost Original  
  english | deutschespañol日本語   +/- Änderungen  

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. Diesem Betriebssystem, welches im Jahre 1969 als unbezahltes Projekt namens UNICS begann, wurde ein anderer Name gegeben, und es wurde öffentlich von den Bell Labs finanziert, als die Programmierer anboten, Unterstützung zur Textverarbeitung hinzuzufügen. Viele der großen Designideen hinter UNIX bestehen noch heute: Populäre Server-Betriebssysteme wie Linux, FreeBSD und viele andere weisen alle das grundsätzliche UNIX-Design auf.

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 "set-uid"

Diese Zugangsrechte sollten für jeden bekannt sein, denn sie sind ähneln den heutigen Zugangsmodi, die ein Benutzer für seine Dateien beim Betriebssystem seiner Wahl heute einstellen kann. Beunruhigend ist, dass diese Konzept von Rechten bis heute fast der einzige wahre Kontrollmechanismus für einen User über seine Dateien geblieben ist: Ein Benutzer kann 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 akzeptabel: Dies war 20 Jahre vor Entstehung des Webs, und das Bedrohungs-Szenario für die meisten Computer war vollkommen anders als das, dem heutige Anwendungen ausgesetzt sind. Ist es unter diesen Voraussetzungen 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 alle durch den Benutzer gestarteten Programme auf einem System die gleichen Fähigkeiten und Rechte haben sollen. 1971 war sieben Jahre bevor das erste internationale paket-orientierte Netzwerk entstand. Das erste Großnetz, das TCP/IP (das heute im Internet verwendeten Protokoll) verwendet, wurde nicht vor 1983 entwickelt. Das war zwölf 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 er gab den Code von Hand ein. Aufgrund dieses "Alles-oder-nichts"-Sicherheitskonzeptes hatten ausführbare Programme, welche die volle Kontrolle über das Benutzerkonto haben, Sinn: Jeder Code, den der Benutzer ausführte, war aus praktischen Gründen von Grund auf vertrauenswürdig.

Im Vergleich mit heute könnte die Situation 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. Genauso wenig dürfen wir die Email-Nutzung 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, dass 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 gar hundert Millionen Benutzer konzipiert wurde. Möglicherweise ist es auch das erste Mal, dass ein Laptop als Massenprodukt, bereitwillig seine Kompatibilität zu 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 diese Fragen weitestgehend überflüssig macht.

Wir haben damit begonnen ein System zu entwickeln, das 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: 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 nicht versucht haben und auch nicht an die Möglichkeit glauben, ein "perfekt sicheres" System zu schaffen. Jede Äußerung hinsichtlich "perfekter Sicherheit" wäre dumm, und wir distanzieren uns von jeglichen Behauptungen dieser Art.

Die Bitfrost-Methode

Prinzipien

  • Offenes Design
 Laptop-Sicherheit muss nicht auf einem geheimen Design beruhen, sei es Hardware oder Software.
  • Keine Zugangssperren
 In seinen Standardeinstellung kann das Sicherheitssystem des Laptops verschiedene Beschränkungen 
 für Benutzereingaben auferlegen. Dennoch muss es einen Weg geben gegebenenfalls das Sicherheitssystem 
 abzuschalten. Dann hat der Nutzer die volle Kontrolle über seine Maschine.
  • Keine Lesefähigkeiten erforderlich
 Sicherheit kann nicht auf der Fähigkeit eines Nutzers beruhen, einen Hinweis vom Computer zu lesen 
 und dann informiert und vernünftig zu handeln. Eine Maschine muss bereits ab der Fabrik sicher sein, 
 selbst wenn ein Nutzer nicht lesen kann. Wenn jedoch das Sicherheitssystems ausgeschaltet wird, 
 kann Lesefähigkeit erforderlich sein.
  • Keine aufdringliche Sicherheit
 Wann immer möglich, muss die Sicherheit auf den Maschinen hinter den Kulissen stattfinden.
 Das Sicherheitssystem soll sich nur durch subtile visuelle oder hörbare Hinweise bemerkbar machen,
 aber niemals, indem es den Benutzer behindert. Immer wenn ein Konflikt mit dem Prinip "nur leichte 
 Komforteinschränkung" besteht, sind nichtaufdringliche Maßnahmen vorzuziehen. Dann ist äußerste 
 Sorgfalt darauf zu verwenden, nur diejenigen Einschränkungen zu erlauben, die nicht ernsthaft 
 oder deutlich die Nutzung der Maschine einschränken. Wenn beispielsweise ein Programm versucht, 
 die Sicherheitseinstellungen des Systems zu umgehen, soll der Benutzer nicht dazu aufgefordert 
 werden, die Aktion zuzulassen; die Aktion wird einfach durch das System selbst abgelehnt. Wenn 
 der Nutzer die Erlaubnis dazu ausdrücklich erteilen will, kann er dies durch die grafische 
 Schnittstelle des Sicherheitssystems einstellen.

Ziele

  • Keine Nutzer-Passwörter
 Bei fünfjährigen Benutzern kann sich ein Sicherheitssystem nicht darauf verlassen, 
 dass diese die Nutzer in der Lage sind sich an ihr Passwort zu erinnern. Es kann nicht 
 von Nutzern erwartet werden, ihr Passwort schon bei Entgegennahme des Computers zu wählen.
  • Keine unverschlüsselte Authentifizierung
 Der Authentifizierungs-Mechanismus der Laptops wird sich nicht darauf verlassen, dass das 
 Identifizierungsmerkmal unverschlüsselt über das Netzwerk übertragen wird. Daher werden 
 niemals wie auch immer benutzte Passwörter im Klartext im OLPC-Protokoll und bei den 
 Ethernet-MAC-Adressen zur Authentifizierung verwendet.
  • Sicherheit bereits bei Systemstart
 Der Laptop muss benutzbar und bereits beim erstmaligen Systemstart sicher sein. Dies muss, 
 selbst wenn dies möglich ist, ohne zusätzlichen Download von Sicherheits-Updates gegeben sein.
  • Eingeschränkte Softwareschlüssel für die Institutionen
 Die Laptops werden mit öffentlichen Schlüsseln von OLPC, den Ländern oder den regionalen 
 Behörden ausgerüstet (z.B. durch das Bildungsministerium oder Behörde für Ausbildung), 
 aber diese Schlüssel werden nur dazu geeignet sein, die Integrität der Softwarepakete 
 und deren Inhalt zu bestätigen. Die Benutzer werden sich durch ein organisch-gewachsenes 
 PKI identifizieren, ohne dass dazu eine Kette des Vertrauens erforderlich ist - oder anders 
 ausgedrückt: Unser Konzept für PKI ist KCM, das "key continuity management".
  • Keine ständigen Datenverluste
 Die Information auf dem Laptop werden durch einige zentralisierte Speicherstellen 
 wiederhergestellt, so dass der Schüler seine Daten im Falle eines Verlustes, Diebstahls 
 oder bei Zerstörung wiederherstellen kann.

Wenn sie dieses Thema interessiert, dann lesen Sie bitte die vollständige Bitfrost-Spezifikation, melden Sie sich auf der Mailing-Liste "Sicherheit" von OLPC an, teilen Sie uns ihre Überlegungen mit und nehmen Sie an der Diskussion teil.