Vertrauen in Custom-ROMs

Hallo,

Das ist eine Frage, die mich immer wieder beschäftigt: Wie kann ich einem Custom ROM vertrauen?

Nehmen wir das Beispiel von GrapheneOS (gleich geht für Calyx oder Lineage): Ich glaube nicht, dass es ein offizielles Audit gibt, und ich frage mich, wie viele Leute mit Sicherheitshintergrund den Code wirklich überprüfen/gecheckt?
Außerdem werden Updates erzwungen, es braucht nur ein einziges bösartiges Update, um alle Nutzer zu gefährden.

Vielleicht mache ich mir zu viele Gedanken, aber wie kann man solchen Projekten generell vertrauen?

Ich freue mich auf Ihre Meinung.

GrapheneOS würde ich da ein wenig separat von den anderen Projekten sehen. Bei GrapheneOS ist das ziemlich einfach, da sich die Devs, insbesondere Daniel Micay, seit vielen Jahren einen ausgezeichneten Ruf im Bereich Cybersecurity aufgebaut haben. So einen Ruf unter Experten zu erarbeiten benötigt unheimlich viel Zeit, Wissen und Arbeit. Code der es in die Releases schafft wurde von mindestens zwei Entwicklern gecheckt. Zudem wird es von vielen High-Value-Targets und Sicherheitsexperten verwendet und hat inzwischen vermutlich mehr als 250.000 Nutzer. Wenn da etwas auf die schiefe Bahn geriet, würde das sicher auffallen. Auch, dass es inzwischen bei Cellebrite extra als OS aufgeführt wird, zeigt, dass die zusätzlichen Sicherheitsmaßnahmen ihre Wirkung zeigen und auch offensive Sicherheitsfirmen ihre liebe Not haben Lösungen für staatliche Akteure anzubieten.

5 „Gefällt mir“

Dem möchte ich hinzufügen, dass GrapheneOS z.B. den Updatemechanismus explizit so gebaut hat, dass ein bösartiges Update nicht einer spezifischen Person untergeschoben werden kann, sondern nur allen.
Auch steht in der Dokumentation klar, wie du automatische Updates deaktivieren kannst. Das ist aber für so gut wie niemanden empfehlenswert, aus naheliegenden Gründen.
Außerdem unterstützt GrapheneOS wie auch AOSP Reproducible Builds. Das heißt vereinfacht gesagt, dass nachgeprüft werden kann, dass wirklich genau der veröffentlichte Quelltext in einem Release steckt, womit sich das Problem eines bösartigen Updates auf Quelltextänderungen beschränkt.

Auch behauptet GrapheneOS, dass renommierte Sicherheitsforscher GrapheneOS auditiert haben.

Ich bin mir sicher, dass für dein Bedrohungsmodell das Vertrauen von Mike und vielen anderen Menschen in die Verlässlichkeit der GrapheneOS Entwickler ausreicht.

2 „Gefällt mir“

Indem du nur Custom ROMs nutzt, die den Quellcode öffentlich verfügbar machen und ihre Builds auf etablierten Seiten wie z.B. XDA anbieten. Mehr kannst du nicht tun.

Diese Frage ist schwierig einfach zu beantworten. Bei einem Restaurantbesuch muss man den Köchen vertrauen, beim Supermarkt den Herstellern der Produkte. Ohne ein gewisses Maß an Vertrauen kommen wir nicht weit. Aber dazu gehört auch ein gesundes Maß an Misstrauen.

Suche nach Erfahrungen anderer Nutzer des ROMs. Was ist die Quelle? Wer steckt hinter dem ROM? Wem du vertraust und wem nicht kannst nur du selbst für dich entscheiden.

2 „Gefällt mir“

Mit Builds in Foren wäre ich extrem vorsichtig, insbesondere wenn sie nur wenig Nutzer und Entwickler haben, selbst wenn es auf XDA ist.

1 „Gefällt mir“

Ich kann diese Denkweise sehr gut nachvollziehen. Bedenke aber: Du wirst niemals 100% Vertrauen haben, das ist immer eine Abwägung, ein Kompromiss.

Daher Tipp: Halte dich an die Tipps, die schon gegeben wurden und installiere das für dich vertrauenswürdigste System. Mehr kannst du nicht tun, außer du programmierst alles von Grund auf selbst… geht natürlich nicht!

Jetzt der wichtigste Punkt: die Nutzung dieses Systems. Hierüber hast du nämlich wirklich viele Möglichkeiten! Was bringt dir das vertrauenswürdigste System, wenn du darauf dann z.B. Tiktok und ähnlichen Schrott nutzt? Richtig, gar nichts. Überlege also, was du wirklich brauchst und installiere nur das. Gewähre den Apps nur Rechte, die für deine Nutzung nötig sind. Erlaube nur Verbindungen, die für deine Nutzung der App nötig sind.

Halte also alles so minimal wie möglich.

1 „Gefällt mir“

warum sollte man vorsichtig sein?

Ich würde doch eher dazu raten, NUR Builds aus vertrauenswürdigen Foren zu nehmen. Was sollte an einem Download ohne Forum und ohne Austausch und ohne Community sicherer sein? Verstehe ich nicht.

Die Aussage „extrem vorsichtig“ halte ich dabei für völlig überzogen und schürt nur Misstrauen. Man sollte wachsam sein. Aber nicht extrem vorsichtig.

Ich habe in den vergangenen 15 Jahren keine ROM auf XDA gesehen, die die Geräte der User mit Absicht kompromitiert. Kennst du welche?

2 „Gefällt mir“

Entschuldigung aber es gibt dort keine referenzierte Audit. Beispiel eines Audits: https://mullvad.net/de/blog/infrastructure-audit-completed-by-radically-open-security
→ Report + Findings

(Und https://www.ssi.gouv.fr/ funktioniert auch nicht.)

1 „Gefällt mir“

Blöd aber ist wohl gemeint: https://cyber.gouv.fr/en/anssis-organisation
Dazu hat der Kuketz es ganz schön erklärt, Zb : 5. Testkriterien
https://www.kuketz-blog.de/android-grapheneos-calyxos-und-co-unter-der-lupe-custom-roms-teil1/

Vielen Danke.
Meine ursprüngliche Aussage bleibt leider bestehen. Kein Audit und keine Erwähnung von GrapheneOS auf der Website.
Ich gehe nicht davon aus, dass Kuketz den Code geprüft hat, sondern hat einfach das genommen, was das Projekt über sich selbst sagt.

1 „Gefällt mir“

Die erste Frage ist doch welche sensiblen Daten ich auf meinem Smartphone habe. Ich z.B. habe nix sensibles drauf, weil ich ein normaler Bürger bin der keine krummen Geschäfte macht und Geheimagent bin ich auch nicht. Banking und Trading mache ich selbstredend natürlich auch, aber das wars schon. Wer meine Fotos, Mails oder Messenger anschauen möchte wird nix interessantes oder verbotenes finden und auch in meinem Bank- und Aktiendepot ist nix drin, was das FA sowieso nicht schon weiß.

Da reicht mir ein normales OS mit regelmäßigen Sicherheitsupdates (aktuell iOS) mit entsprechenden Sicherheitseinstellungen (Standort deaktivieren etc.), die Verwendung von VPN und meine eigenen DNS-Server bei Strato mit Pihole+Unbound.a

Wenn man konsequent sein will, dann sollte man generell nicht online gehen, alles in bar bezahlen und Überwachungskameras meiden.

Alles andere ist ihmo Spielerei oder neurotisch.

2 „Gefällt mir“

Na los, dann her damit!

3 „Gefällt mir“

Herkömmliche Audits (i.S.v. jemand Dritter wird beauftragt den Code zu prüfen) sind immer nur eine Momentaufnahme der Codebasis die zu einem bestimmten Zeitpunkt überprüft wird.
Da ständig neuer Code hinzugefügt wird, ist ein Audit schnell veraltet und somit nicht wirklich aussagekräftig.
Sinnvoller wäre es, jede neue Version überprüfen zu lassen. GrapheneOS macht sowas ähnliches:

We’ve built relationships with security researchers and organizations interested in GrapheneOS or using it which results in a lot of this kind of collaboration. This is not a one-time event but rather something that happens regularly as the code evolves, features are added and we ported to new release.

We instead focus on having people very familiar with areas of the code regularly auditing all our changes. The large number of upstream Android security vulnerabilities discovered by GrapheneOS despite us not actively seeking them out speaks to the results of our review and testing.

Im Endeffekt ist es immer eine Frage des Vertrauens.
Ich vertraue GOS weil es sinnvolle Features implementiert, die Sicherheit des AOSP nicht ad absurdum führt sondern diese verbessert (im Gegensatz zu anderen Custom ROMs), das Projekt das Thema Datenschutz und Privacy sehr ernst nimmt, es neben Tommy (Privsec) und madaidan noch Edward Snowden empfiehlt und einsetzt, …

2 „Gefällt mir“

Niemand überprüft den gesamten Code Zeile für Zeile, von mittelgroßen oder großen Softwareprojekten als Ganzes bei einem Audit. Das ist illusorisch und würde viel zu lange dauern, bis hin zu unmöglich sein. Je nach dem, was man herausfinden will, sind auch andere Methoden besser geeignet als Code zu lesen. Zudem wird nur ein Snapshot zu einem gewissen Zeitpunkt auditiert. Was davor oder danach passiert, geht unter. Jede Zeile Code wird normalerweise nur bei kleineren Subsystemen verwendet, wie der Implementation von Kryptographie, wo das besonders wichtig ist. Ich weiß nicht ob sich ein Projekt wie GrapheneOS, das nur von Spenden lebt, überhaupt ein Audit leisten könnte. Es würde auf jeden Fall viel Geld verschlingen, das dann für wichtigere Dinge fehlt. Die Methode von GrapheneOS ist da deutlich günstiger und macht auch Sinn, wenn die einzelnen Patches nach und nach von interessierten Parteien überprüft werden, z.B. weil die Einbindung für Upstream oder andere Custom-OSe überlegt wird, oder Sicherheitsforscher an der Implementation von Sicherheitsfeatures interessiert sind, die gerade in ihr Forschungsgebiet fallen und GrapehenOS da in einigen Bereichen führend ist. Eine Garantie, dass damit alles abgedeckt hat, hat man natürlich nie, aber aktive Backdoors o.ä. wären vermutlich sowieso schon durch andere Methoden, bspw. Analyse des Netzwerkverkehrs, aufgefallen.

1 „Gefällt mir“