Release Source Code of Platform Security Processor (PSP) to Libreboot / Coreboot

BBigTree

Grand Admiral Special
Mitglied seit
12.10.2001
Beiträge
2.155
Renomée
20
Servus zusammen,
in einem der Top Posts of AMDs Reddit geht es um den Release des Source Codes vom Platform Security Processor (PSP), naja, um den Wunsch dessen.

Warum geht es?
Alle neueren x86-CPUs (und leider nicht nur die) haben Trusted Computing (wikipedia: DE | EN) mittels Trusted Execution Environment (wikipedia: DE | EN) onboard.

Die Umsetzung dessen ist bei jedem Hersteller etwas unterschiedlich.
Bei Intel nennt sich das Intel Management Engine (ME) (FAQ @ libreboot.org)
Bei AMD nennt sich das AMD Platform Security Processor (PSP) (FAQ @ libreboot.org

Schön und gut, aber worum geht es denn nun?
Ich weiß nicht, wie vielen bekannt ist, dass in eurem PC-System sich ein eigenes "Unter"-System verbirgt, das ihr weder sehen noch wirklich Einfluss nehmen könnt, ja, noch nicht mal nachvollziehen könnt, was es macht!

"MoneyQuote" von wikipedia:
Trusted Computing bedeutet, dass der Betreiber eines PC-Systems die Kontrolle über die verwendete Hard- und Software an Dritte abgeben kann.
Streicht das "kann" und wem wird wohl "getrusted"? :]

Aus den FAQ von libreboot.org:
The Intel Management Engine (Anm.: Auch AMDs PSP) with its proprietary firmware has complete access to and control over the PC: it can power on or shut down the PC, read all open files, examine all running applications, track all keys pressed and mouse movements, and even capture or display images on the screen. And it has a network interface that is demonstrably insecure, which can allow an attacker on the network to inject rootkits that completely compromise the PC and can report to the attacker all activities performed on the PC. It is a threat to freedom, security, and privacy that can't be ignored.

Übersetzung:
Die Intel Management Engine (Anm.: Auch AMDs PSP) mit ihrer proprietären Firmware hat vollständigen Zugriff auf den PC und kann ihn sogar steueren: Sie kann den PC einschalten oder herunterfahren, alle offenen Dateien lesen, alle laufenden Anwendungen untersuchen, alle Tasten und Mausbewegungen verfolgen und sogar Bilder speichern oder auf dem Bildschirm anzeigen. Sie hat eine Netzwerk-Schnittstelle, die nachweislich unsicher ist, was einem Angreifer im Netzwerk erlauben kann, Rootkits zu injizieren, die den PC vollständig kompromittieren und dem Angreifer alle auf dem PC ausgeführten Aktivitäten melden können. Es ist eine Bedrohung für Freiheit, Sicherheit und Privatsphäre, die nicht ignoriert werden kann.

Es ist ein völlig eigenständiges, unkontrolliertes System unter eurem System, auf den ihr keinen Einfluss habt, aber alles aufzeichnen kann, was ihr tut und es sogar weiterleiten (LAN) kann.
Manche würden nun sagen, bitte nicht übertreiben, aber was hat das Bundesamt für Sicherheit in der Informationstechnik (BSI) gesagt:
„Durch den Verlust der vollen Oberhoheit über Informationstechnik“ seien „die Sicherheitsziele ‘Vertraulichkeit’ und ‘Integrität’ nicht mehr gewährleistet.“
Und warnte damit vor Windows 8 in Kombination mit TPM 2.0! (@Zeit.de oder Suche @ heise.de)

=== === ===

Auf Reddit ist nun ein Post aufgetaucht, der auch noch "kiloweise" "up gevoted" wurde! Das finde ich schon mal toll, *great*
In diesem wird AMD gebeten, den Source Code der Platform Security Processor (PSP) zu öffnen und an Libreboot zu geben.

Auszug @ AMDs Reddit
Dear AMD, could you please release the Platform Security Processor (PSP) source code to the Coreboot / Libreboot project? (or publicly) The current perception of AMD (and Intel) among FOSS groups like this is not exactly, stellar.
==> https://www.reddit.com/r/Amd/comments/5x4hxu/we_are_amd_creators_of_athlon_radeon_and_other/def5h1b/


Vielen ist es leider nicht bewusst, was sie alles an "extra" kaufen, was im positiven Zweifelsfall keinen negativen Einfluss auf eure Computer-Aktivität hat, aber auf der anderen Seite "Tür und Tor" öffnen könnte. Ja, vielleicht sogar schon tut, denn nachvollziehen kann man es nicht. Und da es leider Intel und AMD onboard haben und Microsoft es auch forciert, kommt man heute zur Zeit nicht drum herum.

AMD hat in der Vergangenheit viel als OpenSource entwickelt oder freigegeben. Z.B. haben Gamer sicherlich schon von FreeSync gehört, AMDs Mantle trug "dicke" zu Vulkan bei, die proprietären Treiber für Linux sind nun OpenSource oder auch AMDs GPUOpen.

Es ist nur ein Reddit-Post, aber vielleicht habt ihr einen Account und möchtet auch was schreiben oder auch einfach nur einmal den Pfeil nach oben klicken.

Ich (ja, ich bin ein Linuxer) fände es super, wenn der Code von AMDs PSP bei Libreboot landen würde, dann und nur dann wäre die komplette Kontrolle unserer Systeme wieder garantiert.

Gruß Bbig
 
Ich (ja, ich bin ein Linuxer) fände es super, wenn der Code von AMDs PSP bei Libreboot landen würde, dann und nur dann wäre die komplette Kontrolle unserer Systeme wieder garantiert.

Gruß Bbig
Klar, die Kontrolle läge dann bei libreboot und jedem Hacker der den Fehler im Code findet. Da fühl ich mich wohler, wenns nicht OpenSource wird.
 
Ja ja, Open Source ist schon die beste Spielwiese für Industriespionage :)

Um es vorweg zu nehmen, AMD gibt in der Regel auch nur alte Sachen oder System irrelevante als Open Source frei. Initiativen wie Mantle sehe ich da grob als Ausnahme. Der Rest ist und bleibt verschlossen bis etwas neues auf den Markt kommt.
 
Klar, die Kontrolle läge dann bei libreboot und jedem Hacker der den Fehler im Code findet. Da fühl ich mich wohler, wenns nicht OpenSource wird.

Ich mich nicht. Ich würde das auch sehr begrüßen, wenn AMD das OpenSource macht. Das Problem wird aber sein, dass sie dann keine Zulassungen mehr für irgend welche Sicherheitskritischen Dinge bekommen werden - die Amerikaner vertreten die "Security by Obscurity" ja besonders hart.
 
Ich mich nicht. Ich würde das auch sehr begrüßen, wenn AMD das OpenSource macht. Das Problem wird aber sein, dass sie dann keine Zulassungen mehr für irgend welche Sicherheitskritischen Dinge bekommen werden - die Amerikaner vertreten die "Security by Obscurity" ja besonders hart.

Die Amis wollen eher "open4NSA" per default.
 
Ich mich nicht. Ich würde das auch sehr begrüßen, wenn AMD das OpenSource macht. Das Problem wird aber sein, dass sie dann keine Zulassungen mehr für irgend welche Sicherheitskritischen Dinge bekommen werden - die Amerikaner vertreten die "Security by Obscurity" ja besonders hart.
Das Hauptproblem wird wohl das "nach Hause Telefonieren" sein, sollte sich aber relativ einfach mit Secure Memory Encryption (SME) lösen lassen.
http://amd-dev.wpengine.netdna-cdn....MD_Memory_Encryption_Whitepaper_v7-Public.pdf
Damit ist die Backdoor zwar nicht zu, aber ohne Administrator Passwort kann niemand was mit den Daten aus dem RAM anfangen, weil sie verschlüsselt bearbeitet werden.
 
Klar, die Kontrolle läge dann bei libreboot und jedem Hacker der den Fehler im Code findet. Da fühl ich mich wohler, wenns nicht OpenSource wird.

Ich bin immer wieder überrascht: Du vertraust also lieber irgend welchen Corporations aka Firmen, dessen einziges Ziel es ist, Geld zu machen als das es OpenSource wird und somit von jedem kontrolliert und verbessert werden kann?


===


Mittlerweile hat Libreboot eine AMD-Aufrufseite:

Libreboot calls on AMD to release source code and specs on new Ryzen platforms

Prinzipiell finde ich das gut, aber ob man da nun wirklich die Email des CEO (Lisa Su) veröffentlichen sollte; ich finde das mehr als unangebracht.
 
Ja, das Ziel der Firmen kenn ich. Was aber geschieht wenn ein übler Hacker den Bug im Code findet und für sich ausnutzt, dass mag ich mir nicht vorstellen.
 
Hacker suche keine Lücken im Code, das ist viel zu mühsam.
Da wird nach der guten alten brute force Methode einfach ausprobiert um Speicherüberläufe, Code injections und sonstiges zu Stande zu bringen.
Was viel eher zum Ziel führt.
Es gibt Tools die das alles ganz einfach automatisch erledigen, dass einem die Haare zu berge stehen.
Ich hatte das Vergnügen einer Hackingsession eines Profihackers bei zu wohnen und war beeindruckt was da alles an Tools vorhanden ist und was da alles automatisch geht.

Der einzig sichere Code ist der, der OpenSource ist. Alles andere ist und bleibt nicht vertrauenswürdig.
 
Ja, das Ziel der Firmen kenn ich. Was aber geschieht wenn ein übler Hacker den Bug im Code findet und für sich ausnutzt, dass mag ich mir nicht vorstellen.

Das passiert dann so oder so. Die Geschichte zeigt uns auch, dass wir von Firmen das übelste annehmen müssen. Und da AMD eine Amerikanische Firma ist, ist diese auch an den Patriot Act gebunden. Und da AMD bei weitem nicht das finanzielle Standbein wie Apple hat, kann AMD auch nicht einfach sagen "Nö, ihr kriegt die Daten nicht."

Und wenn ich mir Windows 10 angucke (und wenn es gerade Läuft und ich mir da den Netzwerktraffic angucke) wird mir schlecht. Bei Linux sehe ich ganz genau was passiert - das sind ein paar Pings hier und da durchs Netzwerk für SMB und Co, der übliche "Overhead" von TCP und ansonsten auch nur genau das, was Linux tun soll. Alle paar Stunden sucht Pacman nach neuen Updates und ansonsten gibt's da schlicht nichts.

Windows 10 hat so viele Verbindungen nach Redmont und anderen MS-Diensten offen, dass ich jedem Windows PC am liebsten die Netzwerkbuchse vom Board reissen würde. Einer der Gründe, wieso ich als Gamer dann auch lieber auf DX12 verzichte und bei Win 8.1 bleibe (mit einigen Tweaks - und nein, das geht bei Windows 10 inzwischen auch in der Professional Version nicht mehr. Es hilft nicht mal mehr was die Dienste einfach ab zu schalten, Microsoft hat Redundanz eingebaut und DAS macht mir richtig Sorgen).

Der PSP muss offen gelegt werden, damit ist AMD dann auch aus dem Schneider was den Patriot Act angeht.

Davon abgesehen finden Hacker auch so den Bug im Code - nur mit Open Source ist der innerhalb von ein paar Stunden gefixt. Microsoft lässt sich teilweise Jahre Zeit, bekannte Hinterrüchen zu fixen. Einer der Gründe, warum meine Android Smartphones alle mit Lineage OS oder ähnlichem laufen - den gelegentlichen Absturz ist's mir für meine Privatsphäre alle mal Wert. Leider denken da die wenigsten drüber nach - ganz besonders die, die Ahnung von der Materie haben und schlicht nichts tun.
 
nur mit Open Source ist der innerhalb von ein paar Stunden gefixt. Einer der Gründe, warum meine Android Smartphones alle mit Lineage OS oder ähnlichem laufen - den gelegentlichen Absturz ist's mir für meine Privatsphäre alle mal Wert.
Ist doch open Source? sollte doch kein Problem sein sowas zu fixen.
 
Ist doch open Source? sollte doch kein Problem sein sowas zu fixen.

Sag das mal Samsung, Sony, LG und alle anderen, die ihre Android Version so verbastelt haben, dass die grundlegenden Systemeigenheiten mit angepasst werden müssen. Lineage OS? Code ändern, neu kompilieren, fertig. Bei allen anderen müssen zig abhängigkeiten geprüft werden und weiß der Teufel was noch - die Dinge sind eben nicht Open Source, wo halt jeder rein gucken kann und sagen kann "Da hängts". Auch noch ein Vorteil von Open Source: Bug Reports. Weil eben alles offen ist, können die extrem Detailiert sein.
 
Der einzig sichere Code ist der, der OpenSource ist. Alles andere ist und bleibt nicht vertrauenswürdig.

Der einzige Code der vertrauenswürdig ist, ist der, welcher von dir selber geschrieben wurde und nicht zugänglich gemacht wird. Und das Wort "sicher" verwenden wir mal lieber nicht.
 
Ja, das Ziel der Firmen kenn ich. Was aber geschieht wenn ein übler Hacker den Bug im Code findet und für sich ausnutzt, dass mag ich mir nicht vorstellen.

Und wie schafft es closed Source das dieses Szenario nicht eintritt?

--- Update ---

Hacker suche keine Lücken im Code, das ist viel zu mühsam.
Da wird nach der guten alten brute force Methode einfach ausprobiert um Speicherüberläufe, Code injections und sonstiges zu Stande zu bringen.
Was viel eher zum Ziel führt.
Es gibt Tools die das alles ganz einfach automatisch erledigen, dass einem die Haare zu berge stehen.

Z. B. sowas: https://en.wikipedia.org/wiki/American_fuzzy_lop_(fuzzer)

Man muss dazu sagen, dass das nicht einfach nur ein Dumb Fuzzer war, sondern AFL, das ist ein adaptiver Fuzzer mit einer Art genetischem Programmieren. Der instrumentiert den Code und baut dann Testcases, um die Coverage zu maximieren, um jede Kombination aus Codepfaden mal genommen zu haben. Das Ding ist State of the Art. Wenn Code das überlebt, haben die Programmierer was richtig gemacht.
(https://blog.fefe.de/?ts=a9f560e2)

Bei Kommerzcode senken solche Tools nur das Shareholder Value.

--- Update ---

der Gründe, warum meine Android Smartphones alle mit Lineage OS oder ähnlichem laufen - den gelegentlichen Absturz ist's mir für meine Privatsphäre alle mal Wert. Leider denken da die wenigsten drüber nach - ganz besonders die, die Ahnung von der Materie haben und schlicht nichts tun.

Als NSA und Co fände ich den Basebandprozessor mit DMA aufs RAM viel interessanter.

--- Update ---

Windows 10 hat so viele Verbindungen nach Redmont und anderen MS-Diensten offen, dass ich jedem Windows PC am liebsten die Netzwerkbuchse vom Board reissen würde. Einer der Gründe, wieso ich als Gamer dann auch lieber auf DX12 verzichte und bei Win 8.1 bleibe (mit einigen Tweaks - und nein, das geht bei Windows 10 inzwischen auch in der Professional Version nicht mehr. Es hilft nicht mal mehr was die Dienste einfach ab zu schalten, Microsoft hat Redundanz eingebaut und DAS macht mir richtig Sorgen).

Trusted Boot wäre für mich wenn ich das booten von Windows unterbinden könnte.
 
Und wie schafft es closed Source das dieses Szenario nicht eintritt?
Da der Code nur wenigen bekannt ist, ist die Warscheinlichkeit halt wesentlich geringer.
Zudem ist es nicht möglich einen üblen "Bugfix" einzuschleusen. Wenn bei open Source jemand einen Bugfix oder Optimierung einspielt, wird der doch meist nur auf Funktion geprüft und die wenigsten schauen sich den Code an, es sei denn, es knallt mal.
 
Wenn bei open Source jemand einen Bugfix oder Optimierung einspielt, wird der doch meist nur auf Funktion geprüft und die wenigsten schauen sich den Code an, es sei denn, es knallt mal.

Und das weißt Du oder behauptest Du?

Ebenso weißt Du oder behauptest Du ob ein Closed-Source-Produkt immer sicherheitsüberprüft wird und nicht schlicht durch den Kompiler gejagt und eingesetzt wird.

Ach ja wieviele Patches hat Microsoft in letzter Zeit nach Ausgabe wieder zurückgezogen?
Waren wohl alle gut closed source überprüft *buck*
 
Da der Code nur wenigen bekannt ist, ist die Warscheinlichkeit halt wesentlich geringer.
Zudem ist es nicht möglich einen üblen "Bugfix" einzuschleusen. Wenn bei open Source jemand einen Bugfix oder Optimierung einspielt, wird der doch meist nur auf Funktion geprüft und die wenigsten schauen sich den Code an, es sei denn, es knallt mal.

Linus Torvalds würde bei so einer Aussage wahrscheinlich einer Atombombe gleichen ;D Der Code wird IMMER angeschaut, zumindest was die Kern-Funktionalitäten von Linux angeht. Da gehört der Kernel dazu, Gnome und so weiter. Einen "üblen" Bugfix ein zu schleusen ist auch bei Linux nicht möglich. Alles was du auf das Kernsystem oben drauf installierst, liegt in der Verantwortung des Users. D.h. wer sich dubiosen Code auf Linux selbst aufs System packt ist selbst Schuld. Gleiches gilt für Windows.

Weiterer vorteil ist aber, dass der User unter Linux weitaus weniger rechte hat, als unter Windows. Schadcode ausführen is da alles andere als einfach.

Ansonsten arbeiten Hacker gleich: Wie hier im Thread schon erwähnt, wird das sowohl bei Linux, als auch bei Windows über Brute-Force gemacht. Kein Hacker guckt sich den Code an und versucht die Sicherheitslücken dann so zu finden. Die Wahrscheinlichkeit ist bei Linux trotzdem geringer, weil der Code von sehr viel mehr Leuten angeschaut wird, als Microsoft MItarbeiter hat.
 
Klar ist das möglich - man muss es nur gut genug verstecken.

Wir reden vom "Grundgerüst". Kernel, Systemd, Xorg und ein DM bzw. 'ne Shell. Sowohl im Kernel, als auch mit Systemd werden alle commits gründlich unter die Lupe genommen. Bei Xorg genau so. Wichtig ist, dass die Hashes der Paketquellen stimmen. Canonical bzw. Ubuntu ist leider ein schlechtes Beispiel - das ist aber auch eine Distribution und steht nicht für "Linux". Weiterhin sollte man mal davon weg kommen, jede Distribution als "Linux" zu bezeichnen. DIe nutzen zwar den gleichen Kernel, aber darauf aufbauend ist vieles anders. Schadcode bewusst in den Kernel ein zu pflegen ist nicht möglich. Vor kurzem hat Linus Torvalds erst 'nem neuen Entwickler seinen Code wieder raus geworfen.
 
Ist doch vollkommen Wurst, aber wenn ich die NSA wäre, und unbedingt eine Hintertür im Linux Kernel haben möchte, dann bekomme ich da auch rein. Man teilt die Hintertür ganz einfach auf mehrere Patches auf, am besten über ein paar Monate und Module verteilt, an einer Stelle die eben einfach nicht offensichtlich ist, und die nur mit mehreren Faktoren funktioniert.
 
Die Betonung liegt auf "ganz einfach"...

Aber das hat ja nun auch wieder nichts mit open vs closed source zu tun, denn die NSA kriegt ihre hintertueren wenn sie will ja auch bei closed source rein (vermutlich sogar noch einfacher!!).

Aber der "Wald und Wiesen" hacker kriegt keine Hintertüre auf mehrere patches verteilt in den Linux Kernel und auch nicht in den Windows Kernel.
Müssen sie aber nicht, denn auch ohne Code finden sie ja offenbar fleißig Sicherheitslöcher bei Microsoft, Apple, Adobe und aller möglichen anderen closed source software.
Laut Wikipedia wussten Sicherheitsforscher schon 1850 das Security through Obscurity nichts taugt und daran hat sich bald 200 Jahre später nichts geändert!
Schlechte software is schlecht ob sie nun open oder closed source ist, und open source ist nicht automatisch besser als closed source, aber bei open source kann man code qualität und das einhalten von sicherheitsrelevanten standards und methoden kontollieren und überprüfen, bei closed source nicht... Und bei Linux kernel und bei Liber-Coreboot gibt es genügend interessierte und versierte die das auch tatsächlich überprüfen, bei MS kannst du nur hoffen das die das tun.
 
Und das weißt Du oder behauptest Du?
weist du es?
Ebenso weißt Du oder behauptest Du ob ein Closed-Source-Produkt immer sicherheitsüberprüft wird und nicht schlicht durch den Kompiler gejagt und eingesetzt wird.
Nicht ablenken, von closed source war keine Rede.
Sehe aber seit Jahren, wie in verschiedenen Firmen mit Open Source und Closed Source umgegangen wird :)
Ach ja wieviele Patches hat Microsoft in letzter Zeit nach Ausgabe wieder zurückgezogen?
Waren wohl alle gut closed source überprüft *buck*
Arbeiten auch nur Menschen und ich schätze mal nicht viel anders als ich es bisher kennengelernt habe.
Wann schafft es Linux eigentlich mal EINE gute GUI und sich auf EIN Ökosystem zu einigen?
Ist doch ätzend das fast jede Distro einen eigenen Paket Manager hat und die tolle Open Source der einen Distro nicht auf der anderen compiliert.
Grad vor ein paar Wochen war ich wieder stark gefrustet weil Clonezilla mit zig Abhängigkeiten auf CentOs nicht zum laufen kam. Liegt auch an den Skripten, da jede Distro System Dateien und Libs unterschiedlich ablegt.

--- Update ---

Da gehört der Kernel dazu, Gnome

Willste denn mit GNOME? wennschon dann KDE.

--- Update ---

Linux ist halt nur der Kernel. Ohne weitere Software geht nichts.
Und bei Closed Source denk ich oft, dass die Closed Source ist weil sich die Firmen schämen so etwas zu veröffentlichen ;)
 
Das sollte hier jetzt nicht in einen Windows vs Linux thread ausarten, drum kommentier ich das EINE und GUI und Ökosystem Zeugs mal nicht...
Aber von closed source war durchaus die rede, es geht ja gerade um die vor und nachteile von open vs closed source!
Weder closed noch open source software wird immer "sicherheitsüberprüft" und wie du schon sagst, bei Microsoft arbeiten auch nur Menschen...
Es sind aber nur eine handvoll "Microsoft Menschen" die das Windows system auf sicherheit überprüfen können während es bei open source keine beschränkung gibt, jeder kann und viele tun es tatsächlich! (viele hier nicht bezogen auf die algemeinheit denn fast niemand den ich kenne tut es tatsächlich, sondern im vergleich zu der zahl derer die closed source überprüfen, denn vermutlich überprüfen den Linux Kernel mehr Menschen als Microsoft dafür abstellt)
Und ich bin ziemlich sicher das Libre/Coreboot von mehr (und erfahreneren) Menschen begutachtet wird als AMDs binary blob!
 
Zurück
Oben Unten