# Offtopic - Clone Android System

## ChrisJumper

Hallo,

ich dachte ich frag einfach mal vielleicht hat von euch jemand das schon mal gemacht.

Wenn ich ein Smartphone komplett clonen möchten. Kann man da einfach ein Backup erstellen und später auch das Smartphone damit rooten?

Gefühlt darf man ja nicht einfach Daten auf das Smartphone schreiben, so das man zumindest einen Exploit braucht um auf ein ADB-System oder Boot-Loader zugreifen zu können. Aber kann man ab dem Zeitpunkt irgendwann das komplette Device durch eine Art dd Image überschreiben? Wenn es sich um die selbe Hardware handelt?

Viele Grüße!

P.s.: Wenn nicht freue ich mich über eure Erlebnisse  in der Mobilfunkwelt. Ruhig her damit! Schließlich gibt es ja noch kein Android-Gentoo. Ein Zustand den ich wirklich sehr oft vermisse. Zumal die Android-Systeme nicht nach Hartdare-Sepzifikationen ausgelegt sind und Treibern für die Geräte sondern sich eher an den Modellbezeichnungen der Geräte orientieren. Ein Universal-Android oder Universal-Linux wäre wirklich mal eine Innovation.

P.p.s: Das selbe habe ich übrigens auch in der Router-Welt erfahren. Es ist erschreckend, das dort Pakete/Systeme und git-Respositoris geführt werden nach Router-Namen und nicht nach System/Hardare. wo dann automatisch die letzten OpenSSL-Pakete eingepflegt werden etc.. oder halt der neueste Treiber zu X oder Y. Das meiste funktioniert scheinbar so das man sich ein Respository lokal zusammen stellt, die einzelnen Quellen aktualisiert und dann den Compiler manuell drauf los lässt. Irgendwie ist das was Gentoo groß gemacht hat, doch nicht bei allen angekommen. Vielleicht sollte Gentoo in die Bereiche mal expandieren....

----------

## schmidicom

Ist wohl eher eine Frage für ein Android-Forum aber trotzdem...

Wenn der Bootloader entsperrt ist kann man darüber von jeder Partition ein Abbild ziehen aber dank der Vollverschlüsselung, welche auf jedem Gerät mit einem anderen Passwort erstellt wird, dürfte zumindest die Partition mit den Userdaten sich nicht auf ein anderes identisches Gerät übertragen lassen. Ohne entsperrten Bootloader ist ein vollständiges Backup, wie man es von dd her kennt, leider nicht möglich. Selbst die integrierte Backuplösung von Google greift nur bei Apps welche das unterstützen und ignoriert die zusätzliche Datenpartition.

Zum Thema "Gentoo auf einem Smartphone":

Sowas wäre für mich nur dann interessant wenn es unter Gentoo erstens auch eine Smartphone taugliche Oberfläche gäbe und zweitens die Gerätetreiber bereits als Open Source im Standard-Kernel vorliegen würden.

----------

## forrestfunk81

Wie schmidicom schon schrieb, muss man für vollständige Backups den Bootloader entsperren. Dann kann man in den Recovery Modus booten. Die vorinstallierten Recovery Modes, die ich so kennen gelernt habe, reichen aber nicht aus für Backups. Deutlich besser sind da die Recoveries von TeamWin (TWRP) oder ClockworkMod (CWM). Das Wiki von CyanogenMod ist für solche Fragen eine gute Anlaufstelle.

CyanogenMod kann man z.B. auch selbst compilieren. Das ist für den typischen Gentoo User sicherlich keine Herausforderung - daran etwas zu ändern und z.B. Packete auszutauschen allerdings schon. Allein den Build Prozess zu verstehen ist bei der enormen Anzahl an Build Skripten keine leichte Aufgabe. Beim Auschecken reicht auch nicht einfach ein git clone, das Skript zum auschecken klappert ein Konglomerat an diversen Repositories ab und legt die Sourcen in die korrekten Ordner. Ich hab mich damit dann auch nicht weiter befasst und mich darauf beschränkt die (Java) Sourcen in Eclipse zu importieren und mich dort ein bißchen umzusehen.

Zum Thema "Gentoo auf einem Smartphone": 

Das Userland Linux - also den C und C++ Teil von Android, welcher unter dem Java Anteil liegt - unabhängig von Google aktualisieren zu können, wäre schon ganz interessant. Das ist aber mit Sicherheit ein Fulltime Job - an die Kompatibilitätsprobleme will ich gar nicht erst denken. Kernel Updates sind wegen der Treibersituation nicht möglich. Aber die Closed Source Treiber und gerätespezifischen Erweiterungen sind sowieso ein Thema für sich und Grund für die katastrophale Update Situation bei Android.

----------

## ChrisJumper

Ja genau das war auch mein Eindruck. Aktuell habe ich leider nicht den Festplattenplatz über um mir die vielen Build-Suits jeweils als separates Verzeichnis/git-clone anzulegen.

Etwas das mich vor Tagen auch bei der Router-Sache ein wenig schockierte. Es ist einfach toll ein Repository zu habe wie unter den meisten Linux-Distributionen. Bei der Betrachtung fragt man sich halt schon warum das nicht auch übergreifend gibt. Schaut man genau in das Packet-Managemet, die Ebuilds, die Abhängigkeiten versteht man es allerdings sehr schnell.

Leider reicht mit steigender Kompelxität ein Diff nicht mehr aus. Zum Beispiel wenn man sich fragt ob X oder Y auch mit einer veralteten Version auskommt.

Da die Update-Hölle bei Cyanogenmod schon so weit voran geschritten ist, das es für bestimmte Hardware einfach keinen Support/update mehr gibt such ich da halt nach alternativen um die Geräte nicht doch abschaffen zu müssen. Denn im Grunde betrachte ich die Dinge auf Routern genau wie die Smartphones. Das sind doch simple Computer die, wenn der Treiber Verfügbar ist, sich im Baukastenprinzip zusammen stecken lassen. Als aquivalent: Den Linux Kernel entsprechend konfigurieren und somit sollte, wenn der Treiber noch geht auch auf einem Router der schon 5 Jahre auf dem Buckel hat doch ein aktuelles Linux laufen.

Beziehungsweise wegen der Closed Source Treiber: Sind dir schon welche begegnet die unter einem Aktuellen Android 7 nicht mehr laufen, weil Android nicht abwärtskompatibel ist?

Was mich ärgert sind da diese libStageFright, Lücken. Da wünsche ich mir im Grunde den Gentoo-Ansatz. Also sich ein möglichst minimales schnelles und bequemes Android-Smartphone bauen, quasi den ganzen Kram den man nicht verwenden möchte einfach weg lassen kann.

----------

## schmidicom

 *ChrisJumper wrote:*   

> Beziehungsweise wegen der Closed Source Treiber: Sind dir schon welche begegnet die unter einem Aktuellen Android 7 nicht mehr laufen, weil Android nicht abwärtskompatibel ist?

 

Laufen würde es schon, die Frage ist nur wie.

CyanogenMod benutzt bei veralteten Treiber immer mal wieder gerne irgendwelche Workaround's (mit meist unschönen Nebeneffekten) um darauf dann doch noch neuere Versionen von Android zum laufen zu bekommen. Dazu kommt das gerade bei Android 7 Google, aus für mich verständlichen Gründen (z.B. sollen App-Entwickler sich darauf verlassen können das sie ab Android 7 auch Vulkan nutzen können), nicht möchte das dies auf Geräten landet deren Treiber kein Vulkan können.

----------

## ChrisJumper

 *schmidicom wrote:*   

> 
> 
> Laufen würde es schon, die Frage ist nur wie.
> 
> CyanogenMod benutzt bei veralteten Treiber immer mal wieder gerne irgendwelche Workaround's..

 

*Hust* Ja.

Das Problem ist wahrscheinlich das es einfach keine passende Hardware gibt. Andererseits ärgert es mich massive, das es eben keine Open-Source Treiber für Geräte gibt. Es ist wahrscheinlich das selbe Problem wie bei den Treibern für Router und Wifi-Geräte, die ja teilweise auch im Open-Source Bereich einem eigenen kleinen Betriebsystem gleich kommen.

Verständnis habe ich schon das es so ist, so sein muss. Aber mich stört diese Junk-Mentalität. So viele meiner Mitmenschen nutzen noch Android Geräte mit einem veralteten 4.X Android nur weil es keine Updates mehr gibt. Gerade in Anbetracht der ekligen DDOS wellen, finde ich müssten wir (die IT-Community) da mehr Verantwortung tragen. Also ganz unabhängig von der IoT-Seuche. Die aber auch viel zu oft mit einem Linux daher kommen.

Ich hatte ja schon mal den Gedanken das man einfach versucht die Android Security Patches auf die alten Versionen anwendet. Aber das sind ja wirklich so viele das es eben nicht so leicht geht und hier merkt man auch warum das niemand macht. Vielleicht könnte man aber auch die Hersteller der Chips drängen Treiber für modernere Linux-Versionen anzubieten? Es ist richtig übel das es anscheinend im Mobil-Bereich nicht so funktioniert wie beim Desktop, das nur weil im Mobil-Bereich explizit die Nutzer nicht an dem Gerät schrauben sollen. Lieber weg werfen und das neue aktuelle Gerät kaufen.

Vielleicht gibt es auch schon ein Android-Linux das sich um veraltete Geräte kümmert? Mir würde es ja schon reichen wenn man zum Beispiel ein Firefox-OS installiert oder ein anderes sehr minimales Android, das zwar immer den aktuellste Android unterstützt, dafür aber Abwärtskompatibel ist. Doch Firefox-OS wurde mittlerweile auch eingestellt und war natürlich auch nicht so verbreitet wie beispielsweise Cyanogen-Mod.

----------

## Lixos

Passt vielleicht ganz gut zum Thema...

Ich suche auch schon seit einer kleinen Weile nach einem minimalen und freien BS für Smartphones.

Schwierig gestaltet sich allein die Suche nach einer geeigneten Hardware, wofür freie Treiber zur Verfügung stehen.

Wenn man sich die noch zur Verfügung stehenden BS wie IOS, Android, Windows Mobile und CyanogenMod anschaut,

sind das leider keine wirklichen Alternativen. Seitdem Microsoft bei CyanogenMod mitmischt, nimmt die Entwicklung einen

"seltsamen" Verlauf.

Mit jeder neuen Android-Version kommen hunderte neue APIs hinzu... wer soll das noch überblicken?

Der Wunsch nach einem minimalen und offenen mobilen System wird unter den IT - Spezialisten immer größer.

Wenn man sich allerdings den Erfolg von StartUps bzw. alternativen mobilen Betriebssystemen in dieser Richtung anschaut, 

fällt das Ergebnis eher ernüchternd aus.

Falls jemand Anregungen zu möglichen Alternativen hat, wäre ich über Feedback dankbar.

----------

## firefly

 *Lixos wrote:*   

> eitdem Microsoft bei CyanogenMod mitmischt, nimmt die Entwicklung einen
> 
> "seltsamen" Verlauf.

 

Das ist falsch. Microsoft hat sich bei CyanogenOS beteiligt um z.b. Ihr cortona da einzubringen und nicht an CyanogenMod.

----------

## Lixos

...man muss nur fest daran glauben  :Wink:  ...

Ich vertraue Microsoft in dieser Hinsicht nicht!

Wobei es aufgrund der Google-APIs eh keine Rolle spielt, wer von Beiden Daten abgreift...

----------

## ChrisJumper

Habt ihr auch schon gelesen das die Android-Geräte anfällig für Rawhammer und Dirty Cow sind?

Irgendwie möchte man da auf Mac OS umsteigen. So gerne ich ja die Android-Geräte habe oder Linux. Aber das ist dann doch eine Nummer zu groß. Also als Exploit meine ich. Klar, IT-Techniker oder Aluhut Träger sind sich der Problematik ja schon im Grunde bewusst, und schon bei den normalen Mobiltelefonen war es so das ein Update vom Provider jederzeit das Telefon kompromittieren konnte.

Aber letztlich erschüttert mich das doch. Muss ich mir jetzt doch ein Mac-OS Telefon holen nur weil die ihre Lücken nicht veröffentlichen?

Finde das schon ein wenig schade und es gibt einen Vorgeschmack auf die Zeit und das Gefühl, wenn die Quantencomputer jede Verschlüsselung brechen können.

----------

## schmidicom

Die Rowhammer-Sicherheitslücke entsteht in der Hardware und kann über die Software kaum bis gar nicht abgefangen werden, davor schützt auch ein OS von Apple nicht. Nur mit ECC kann man dem entgegen wirken und es würde mich doch sehr wundern wenn die Apple-Geräte mit sowas daher kommen.

Und was DirtyCow angeht: Der Fehler wurde gefunden und behoben, was man von anderen System auch nicht immer behaupten kann. Wenn die OS- und Geräte-Hersteller es wieder einmal nicht für nötig halten dies zeitnah an ihre Kunden weiterzureichen ist das wohl kaum die Schuld von Linux. Man sie ja schlecht dazu zwingen, oder willst du dem Kernel eine Art fix einprogrammiertes Ablaufdatum verpassen?

----------

## Lixos

@schmidicom & ChrisJumper:

Leider ist die Rowhammer Sicherheitslücke nicht das einzige Problem.

Nach meinem Kenntnisstand... und ich lass mich da gerne korrigieren, muss zwischen Software- und Hardwarelücken unterschieden werden.

Dabei möchte ich mich hier nur kurz auf die Hardwarelücken beziehen:

Ein Smartphone besitzt einen Application-Chip, welcher für die Software auf dem Smartphone zuständig ist...

und einen Hardware Chip, welcher für die Kommunikation zwischen der Hardware zuständig ist.

Blöderweise kann man von Außen auf genau diesen Chip zugreifen und so bestimmte Funktionen auf dem Handy übernehmen... bspw. Mikrofon oder Kamera.

Als Beispiel sei hier der Einsatz von Intel Modems im neuen IPhone 7 genannt. Vorher wurden hier Qualcomm Modems verbaut. Obwohl gemäß der Testwerte

die Intel-Modems wesentlich schlechtere Übertragungswerte liefern... kommen offensichtlich zukünftig diese Modems zum Einsatz. 

Welcher Grund könnte wohl für den Einsatz solcher Hardware bestehen???

Im PC haben wir übrigens eine ähnliche Konstellation...

Hier befindet sich auf allen Prozessoren von Intel ein zweites, kleines Betriebssystem auf einem separaten kleinen Chip. Dieser nennt sich Intel ME und steht für Intel Management Engine. (hat sicherlich jeder schon mal gehört)

Bei AMD gibt es das übrigens auch in ähnlicher Form, nennt sich nur etwas anders ...

Über diesen Chip ist es möglich die Hardware des PC anzusteuern und Informationen zu verarbeiten. Man könnte bspw. in die Firmware der Grafikkarte oder

der WLAN Karte das Passwort zum Entschlüsseln einer Festplatte ablegen und abgreifen.... (siehe Beitrag vom CCC)

Demnach ist es auch egal, welches Betriebssystem über der Hardware läuft. Weil der Zugriff gemäß OSI - Schichtenmodell ohne Einfluss des BS auf "Hardware-Ebene" erfolgt...

Wer von Euch hat eigentlich schon mal die Hardware seines PC oder Notebook mit dem Layout des Herstellers verglichen ... und kann sicher sein, dass hier keine Komponenten verändert wurden ?  :Wink: 

Für den interessierten Leser der Link zum Video des CCC:

https://media.ccc.de/v/32c3-7352-towards_reasonably_trustworthy_x86_laptops#video

Falls etwas nicht ganz stimmig ist, könnt ihr gern korrigieren...

----------

