Autor Thema: Bis wann ist ein OS ein OS?  (Gelesen 21974 mal)

SörenK

  • Beiträge: 25
    • Profil anzeigen
    • Die Website von Vivian - noch im Aufbau
Gespeichert
« am: 22. February 2013, 22:54 »
Ich denke in letzter Zeit über Sicherheit von Betriebssystemen nach und bin zum Schluss gekommen, dass man möglichst weit unten anfangen sollte. Mit unten meine keinen Bootloader oder ähnliches - sondern direkt ein eigenes BIOS zu schreiben oder wenn möglich eine eigene Firmware zu nutzen. Ob das klappt, weiß ich nicht, aber könnte man dieses "OS" noch OS nennen? Schließlich bauen Betriebssysteme auf dem BIOS auf.
Viele Grüße, Sören
Entwickler von Vivian - einem zu 100% sicherem Betriebssystem (Bugs ausgeschlossen :D )

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 23. February 2013, 02:09 »
Schau dir embedded devices, z.B. ARM an. Die Trennung BIOS/Firmware und Bootloader existiert dort nicht. Die Firmware initialisiert die zum Booten benötigte Hardware (CPU, RAM, Bootdevice) und startet das OS. Danach läuft sie nicht weiter und hat keinen Einfluss auf die Sicherheit mehr.

Dieses Gewürge mit halben Betriebssystemen, die später noch weiterlaufen können, wie UEFI (oder auch GRUB) ist PC-spezifisch.

Ein eigenes BIOS für den PC? Vergiss es. Eine eigene Firmware für einen nicht-PC SoC? Machbar. Das schließt x86 nicht aus, IIRC fürs Bifferboard könnte das gut möglich sein. Da ich dich von dem Trip aber nicht runter kriege, verweise ich erneut auf Coreboot und die Vorträge von 25c3 und 26c3.
« Letzte Änderung: 23. February 2013, 02:12 von Svenska »

SörenK

  • Beiträge: 25
    • Profil anzeigen
    • Die Website von Vivian - noch im Aufbau
Gespeichert
« Antwort #2 am: 23. February 2013, 14:19 »
Ja, aber noch sind es nur überlegungen  :wink: und die theoretischen Sicherheitsprobleme würde ich ebend gerne entfernen. Und wenn ich das Geschaft habe kann ich immernoch ein OS schreiben :-D
Entwickler von Vivian - einem zu 100% sicherem Betriebssystem (Bugs ausgeschlossen :D )

Dimension

  • Beiträge: 155
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 23. February 2013, 17:02 »
Die Sicherheit eines Betriebssystems ist definiert in der Zuverlässigkeit genau das zu tun, für das es eingerichtet wurde. Das Bedeutet es muss möglich sein die passenden Berechtigungen eines Programms festzulegen und dann müssen diese Berechtigungen durchgesetzt werden. Letzteres wird mit steigender Komplexität des Betriebssystems umso schwieriger.

Ein unsicheres Programm wird man dafür zwar noch immer schreiben können, allerdings kommt der Code aus sicht des Betriebssystems von außen, weshalb Bewertungen zur Sicherheit eines Programms nicht trivial sind.

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 23. February 2013, 18:28 »
Was für theoretische Sicherheitsprobleme? Erwartest du, dass der BIOS-Herstellen dein OS hacken will?
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

SörenK

  • Beiträge: 25
    • Profil anzeigen
    • Die Website von Vivian - noch im Aufbau
Gespeichert
« Antwort #5 am: 23. February 2013, 20:02 »
Ich meine damit nicht, dass jeder Intelarbeiter oder jeder andere, der Microchips herstellt, entwickelt oder ein BIOS für den Chip entwickelt, zwangsläufig schlechte absichten haben wird. Aber aufgrund der Tatsache, dass der Code nicht Public ist, können dort Hintertürchen eingebaut werden. Und da mein Betriebssystem verdammt sicher sein soll, versuch ich diesen uneinsichtigen Code zu hinterfragen, bzw. versuche gleichguten Code zu entwickeln. Vielleicht mag dies sehr weit hergeholt klingen, aber wenn ich es nicht versuche - wie kann ich dann mein Betriebssystem sicher nennen?
FG, Sören  :wink:
Entwickler von Vivian - einem zu 100% sicherem Betriebssystem (Bugs ausgeschlossen :D )

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #6 am: 23. February 2013, 20:44 »
Stimmt. Das heißt, du solltest vor allem erst einmal den Prozessor selbst bauen. Denn wer sagt dir denn, dass der wirklich das ausführt, was in der Dokumentation steht?
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

SörenK

  • Beiträge: 25
    • Profil anzeigen
    • Die Website von Vivian - noch im Aufbau
Gespeichert
« Antwort #7 am: 23. February 2013, 21:19 »
Ich denke, dass der Prozessor zwangsläufig das machen muss, was in der Dokumentation steht (falls es überhaupt eine gibt). Aber muss sich ein Prozessor an seine öffentlichen Grenzen halten? Ein weiteres, unbekanntes Register könnte vorhanden sein, über dem das BIOS mit dem Chip kommunizieren könnte, ohne das Betriebssystem einzuschalten. Aber ohne BIOS gäbe es dieses Risiko nicht, und da sind wir wieder bei meinem Thema. Ich selbst finde es ebend Interessant, ein OS von Grund auf zu programmieren. Und die Sicherheit würde ich dadurch gleich mit an Bord nehmen.
LG, Sören
Entwickler von Vivian - einem zu 100% sicherem Betriebssystem (Bugs ausgeschlossen :D )

XanClic

  • Beiträge: 261
    • Profil anzeigen
    • github
Gespeichert
« Antwort #8 am: 23. February 2013, 21:37 »
Das impliziert, dass nur das BIOS dazu in der Lage ist und lässt die Möglichkeit außer acht, dass außerdem noch dir vollkommen unbekannte Software auf einem versteckten Kern im Prozessor laufen könnte. Oder so.

SörenK

  • Beiträge: 25
    • Profil anzeigen
    • Die Website von Vivian - noch im Aufbau
Gespeichert
« Antwort #9 am: 23. February 2013, 21:38 »
Ja, auch dies ist möglich. Übrigens: Ich habe einen Chip gefunden, bei dem genau dies passiert ist: http://www.activemind.de/hintertur-in-computerchips-entdeckt/
Entwickler von Vivian - einem zu 100% sicherem Betriebssystem (Bugs ausgeschlossen :D )

SörenK

  • Beiträge: 25
    • Profil anzeigen
    • Die Website von Vivian - noch im Aufbau
Gespeichert
« Antwort #10 am: 23. February 2013, 21:47 »
Ich habe noch eine Seite mit einem anderen Chip gefunden, der Manipuliert wurde und dadurch ein Sicherheitsleck bekam: http://www.pcwelt.de/news/Chip-Hacker-Manipulierter-Prozessor-oeffnet-Hintertuer-261811.html
Entwickler von Vivian - einem zu 100% sicherem Betriebssystem (Bugs ausgeschlossen :D )

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #11 am: 24. February 2013, 00:52 »
Ich denke, dass der Prozessor zwangsläufig das machen muss, was in der Dokumentation steht (falls es überhaupt eine gibt).
Muss er nicht. Stichwort "Fehler", "errata" oder auch "silicon bugs". Durchsuche den (Linux-)treiber deiner Wahl und du findest die im Dutzend. Wäre Hardwareherstellung nicht so teuer, würde man die sicher beheben, statt auf Software zu setzen...

Die out-of-band-Kommunikation bei x86 heißt SMM, existiert seit dem 80386SL und ist - wie üblich - eine Spezialität von x86 (und PCs). Andere Architekturen haben das nicht.

Manello

  • Beiträge: 69
    • Profil anzeigen
Gespeichert
« Antwort #12 am: 26. February 2013, 11:59 »
Ich meine man kann sowas nie komplett ausschließen.
Wenn du wirklich sicher gehen willst, müsstest du eine alte Platine haben,
die noch kein Internet kannten ;) Da hätte sowas auch keinen sinn ergeben.
Und selbst wenn du dein OS auch auf einem eigenen BIOS aufbaust, dann könnte
ein CHIP evt. sogar selbständig kommunizieren, wenn also ein CPU Hersteller z.B.
Daten von dir sammeln will kann er sowas nutzen->>> http://de.wikipedia.org/wiki/System-on-a-Chip

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #13 am: 28. February 2013, 14:53 »
Ich zitiere hier einfach mal aus dem Wiki:

Zitat
Da ich die OS-Modes (Real-/Protectet) nicht ganz ausgereift finde, werde ich einen Vivian-Mode schreiben, in welchem das Betriebssystem den höchsten Rang hat und die Programme, je nach Funktionen, einen geringeren besitzen.
Das sind die Betriebsmodi des Prozessors. Die Firmware hat damit nichts zu tun. Wenn du andere willst, kannst du keinen x86 nehmen. Abgesehen davon bietet der Protected Mode genau diese Trennung von Kernel und Userspace.

Zitat
Da mein Betriebssystem eine Sicherheit von 100% haben soll, habe ich einiges zum Thema Bootloader, BIOS/UEFI und Firmware gelesen. Heraus kam aber nichts gutes: Wenn ich mein Ziel verwirklichen will, muss ich mindestenst den BIOS/UEFI-Code ändern oder noch besser - die Gesamte Firmware aller Chips ändern.
Was genau sind die Schwachstellen an den existierenden Implementierungen, die du verbessern willst?

Mein Vorschlag wäre ja, dass du erst einmal das OS zu einem gewissen Level schreibst. Bootloader und Firmware kannst du dann immer noch relativ unabhängig machen. Wenn du es hinkriegst, das OS so zu schreiben, dass es eine gewisse Funktionalität hat und trotzdem sicher ist und von uns auch mit Einsicht in den Quellcode nicht gehackt werden kann, dann kannst du darüber nachdenken, dich in Richtung der niedrigeren Ebenen vorzutasten - und wenn nicht, dann würdest du das Vorhandene mit deinem neuen Code nur noch verschlechtern.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

SörenK

  • Beiträge: 25
    • Profil anzeigen
    • Die Website von Vivian - noch im Aufbau
Gespeichert
« Antwort #14 am: 28. February 2013, 16:55 »
Dann arbeite ich jetzt an Vivian  :-) Man, ich habe nur die Sicherheitslücken gesehen und mich in einiges hineingesteigert, ohne eine gewisse Basis geschaffen zu haben. Sobal Version X fertig ist, werde ich es euch mitteilen!
Und sorry, wenn ich auf gute Kritik falsch reagiert habe - mir ging erst jetzt das Licht auf...
Entwickler von Vivian - einem zu 100% sicherem Betriebssystem (Bugs ausgeschlossen :D )

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #15 am: 01. March 2013, 04:10 »
Übrigens: Der Real Mode unterstützt tatsächlich keinen Speicherschutz, keine (zuverlässige) Trennung zwischen Betriebssystem und Anwendungsprogramme und jedes Programm kann den Computer zum Absturz bringen oder die CPU anhalten. Er ist also wirklich unsicher. Darum hat Intel schon 1982 (80286) den Nachfolger entwickelt. :-)

Der Protected Mode wirkt an manchen Stellen darum so furchtbar kompliziert, weil er verschiedene Dinge ermöglicht, die es woanders nicht gibt. Das Betriebssystem muss den Anwendungen nicht vertrauen, aber die Anwendung muss auch dem Betriebssystem nicht vertrauen (Call-Gates mit DWord-Count). Du kannst getrennte Adressräume (Segmentierung) haben, die dich vor jeder Form von Stack-Overflow und kaputten Zeigern schützt und bis zu vier verschiedene Berechtigungsebenen verwenden. Das Handwerkszeug ist also vorhanden.

Nur an der Umsetzung wird es scheitern: Call-Gates sind langsam, getrennte Adressräume sind hochsprachenfeindlich und zwei Berechtigungsebenen reichen eigentlich auch. Wenn es einfach wäre, wäre es schon gemacht.

Übrigens schützt dich auch das beste Betriebssystem nicht vor Angriffen auf Gerätetreiber. Und da (DMA-fähige) Geräte jederzeit (sofern keine IOMMU verwendet wird) auf den gesamten Speicher lesend und schreibend zugreifen können,...

Gruß,
Svenska

SörenK

  • Beiträge: 25
    • Profil anzeigen
    • Die Website von Vivian - noch im Aufbau
Gespeichert
« Antwort #16 am: 01. March 2013, 18:49 »
Tja, wer hat lust eine eigene Computerfirma aufzumachen?  :wink:
Auf baldige, höchst mögliche Sicherheit, Sören...
Entwickler von Vivian - einem zu 100% sicherem Betriebssystem (Bugs ausgeschlossen :D )

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #17 am: 01. March 2013, 22:28 »
Den Gedanken einer eigenen Firma habe ich für mich persönlich verworfen - einerseits bin ich nicht kreativ genug, andererseits habe ich wenig Lust, einen Großteil der Zeit mit Buchhaltung und Verwaltung und Juristerei zu verbringen. Vielleicht kommt die geniale Idee, vielleicht auch nicht.

Ansonsten: Wart's mal ab. Wenn die intelligenten Stromzähler in allen Haushalten stecken und dann ein Remote-Exploit gefunden wird, macht's doch eh viel mehr Spaß. Vielleicht fällt den Fachleuten aus der Politik dann auf, dass Infrastruktur nicht angreifbar sein sollte. Wir sind ja hier im OT, da darf ich sowas schreiben.

Dimension

  • Beiträge: 155
    • Profil anzeigen
Gespeichert
« Antwort #18 am: 01. March 2013, 23:29 »
Tja, wer hat lust eine eigene Computerfirma aufzumachen?  :wink:
Klar, wie viel Geld hast du? Ich hab 0.

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #19 am: 01. March 2013, 23:36 »
Den Fachleuten aus der Politik ist noch vieles andere nicht aufgefallen...
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

 

Einloggen