.titleBar { margin-bottom: 5px!important; }

[Problem] Freetz mit FRITZ!Box 6590 Cable kompatiblität ?

Dieses Thema im Forum "Freetz" wurde erstellt von FreeFritzBox, 27 Apr. 2017.

  1. PeterPawn

    PeterPawn IPPF-Urgestein

    Registriert seit:
    10 Mai 2006
    Beiträge:
    10,305
    Zustimmungen:
    380
    Punkte für Erfolge:
    83
    Beruf:
    IT-Freelancer
    Ort:
    Berlin
    Da ich ja auch bei mir auf dem Server die OpenSource-Pakete für die 6490 als Kopie bereitstelle, will ich noch mal meinen Senf dazugeben.

    AVM-Firmware-Images sind bekanntlich signiert. Deshalb lehnt auch die Firmware irgendwelche nicht-signierten Firmware-Images bei einem Update-Versuch ab - genauso wie Images mit einer falschen Signatur.

    Das "falsch" heißt hier auch nicht nur "von einem unbekannten Publisher", das gilt genauso für Manipulationen am Inhalt der Image-Datei. Der ist hier zwar "nur" mit einem MD5-Hash gesichert (was theoretisch lange überaltert ist), aber der "normale Mensch" muß sich auch dabei schon sehr anstrengen, wenn er tatsächlich eine Hash-Kollision finden will, die dann im Endeffekt den Hash-Wert einer manipulierten Firmware (diese Manipulation müßte ja zuerst erfolgen) durch geschickte Änderungen/Ergänzungen am Inhalt der Datei wieder so abändert, daß er mit dem in der Signatur-Datei übereinstimmt.

    Da dieser Hash-Wert anschließend asymmetrisch verschlüsselt wird mit dem geheimen, privaten Key des Herstellers (egal ob das jetzt AVM bei originaler Firmware ist oder man selbst beim eigenen (auch Freetz-)Image) und da hier RSA-Keys mit 1024 Bit verwendet werden, ist man da ebenfalls wieder vor "privaten Angreifern" sicher (bei Geheimdiensten oder Kriminellen mit zuvielen Ressourcen würde ich das nicht mehr lange als sicher ansehen).

    Wenn man also bei einer originalen AVM-Firmware ein Update-Image auf die Box lädt und das wird von der Firmware akzeptiert, dann darf man schon mal davon ausgehen, daß da kein Dritter "dran gedreht" hat.

    Wie das mit dem Signieren genau funktioniert und wie man das (auch außerhalb der Box) selbst prüfen kann oder wie man gar eigene signierte Images erstellt (dazu muß aber noch der eigene öffentliche Schlüssel irgendwie in die Firmware kommen, mit der man das Image dann installieren will), habe ich irgendwo hier im IPPF (vermutlich in "AVM / Modifikationen") mal lang und breit erklärt und gezeigt - die dabei verwendeten Skript-Dateien findet man in meinen GitHub-Repository. Nur falls sich jemand bei einem Image aus "unbekannter Quelle" davon überzeugen will, ob da tatsächlich eine gültige AVM-Signatur (für das jeweilige Modell, denn das ist auch noch so eine Art zweiter Absicherung gegen falsche Firmware, daß jedes Modell andere Schlüssel verwendet) in der Image-Datei vorhanden ist.

    Bei den OpenSource-Paketen (das sind ja alles Quelltexte) liegt es nun mal in der Natur der Sache, daß die eher nicht signiert sind. Bisher stellte AVM die halt auf dem eigenen FTP-Server auch öffentlich bereit und jeder konnte sie dort herunterladen.

    Bei den DOCSIS-Modellen geht AVM nun (zumindest seit der 06.83) einen anderen Weg und stellt die Dateien nur noch auf einem FTP-Server zur Verfügung, der mit Benutzernamen und Kennwort geschützt ist ... dabei "sieht" auch jeder Benutzername nur die Datei, für die er herausgegeben wurde (die 6490-Credentials funktionieren also nicht für die 6590-Quellen).

    Das führt dann dazu, daß jeder einzeln bei AVM anfragen müßte nach dem Quellen für das benötigte Modell und am Ende (nach einer durchaus über "angemessen" weit hinausgehenden Wartezeit - ich kenne mind. einen Fall, wo es über sechs Wochen brauchte und da ist dann das aktuelle Interesse in aller Regel schon deutlich abgekühlt) erhält er (vermutlich, das kann man aber nur vergleichen, wenn man mindestens zwei Antworten von AVM nebeneinander legt) dann die Zugangsdaten zum FTP-Server, die ihm genau diesen einen Download ermöglichen. Ich weiß wirklich nicht, was sich AVM davon verspricht ... außer eben solche "cool down"-Phasen, verknüpft mit der Hoffnung, daß der bis dahin die Lust komplett verloren hat (und trotzdem nicht zum Gerät eines anderen Herstellers gegriffen hat). Auch wird so halt nicht direkt den Kunden mit Provider-Boxen der Weg zur eigenen Firmware (bzw. dem eigenen Kernel) eröffnet ...

    Jedenfalls gibt es damit - ohne unabhängige Quellen für so einen Download - auch keine sinnvolle Möglichkeit, solche Projekte wie Freetz auf die 6490/6590 loszulassen ... kein potentieller Freetz-User auf einem Puma6-Gerät von AVM will erst lange Brieffreundschaften mit AVM pflegen müssen, bevor er dann - früher oder später und mit viel Glück - mal die Dateien in der Hand hält, die ihm den Bau der passenden Toolchain (mit den richtigen Include-Files für den Kernel, usw.) erst ermöglichen.

    Auf die Diskussion über die "Rechtmäßigkeit" des Bereitstellens von AVM-Firmware-Images auf eigenen Servern lasse ich mich auch nicht mehr ein, da habe ich die Theorie eines Firmware-Images als "as a whole" nach GPLv2 inzwischen oft genug wiederholt und damit greift dann der Passus
    aus den Lizenzbestimmungen (am einfachsten ist das zu verstehen, wenn man hier für "Program" den Linux-Kernel an sich einsetzt oder - damit dann die Diskussion "filesystem.image" vs. "kernel.image" auch nicht aufkommt, wobei ja schon die äußere "image"-Datei (TAR format) "ein Ganzes" ist - auch einfach die "BusyBox").

    Mir wäre keine Stelle bei AVM bekannt, an der seitens des Herstellers beschrieben wird, wie man "aus einem Ganzen" (Firmware-Image) jetzt die Einzelteile extrahieren könnte, für die man das unabdingbare Recht auf eigene Verbreitung über die GPLv2 hat. Die ganzen Strukturen und Wege zum Auseinandernehmen der AVM-Firmware wurden alle außerhalb erkundet und umgesetzt - da kann sich AVM wohl auch kaum darauf berufen, man müsse das zuvor von den AVM-Anteilen befreien, wenn AVM selbst die Werkzeuge dazu gar nicht zur Verfügung stellt.

    Daß die AVM-Ansicht, es handele sich generell um ein "Sammelwerk" (nachdem man bei der Argumentation im Prozess von "einem Ganzen" auf "einzelne Teile" gewechselt war und daraus immer noch kein Verbot von Änderungen abzuleiten war) und daraus ergebe sich jetzt der Anspruch ggü. Cybits auf Unterlassung bzw. das fiele nun gar nicht mehr unter die GPL-Bestimmungen, so nicht haltbar war, ist seit dem Cybits-Urteil (Nov. 2011) auch klar. Da es in den GPL-Bestimmungen aber keine generelle Trennung zwischen dem Recht zur Modifikation der Software und dem Recht zu deren Verbreitung gibt (modification and distribution), darf man wohl getrost davon ausgehen, daß die (dem Urteil zu entnehmenden) Einschränkungen der AVM-Rechte bzgl. der Modifikation auch für die Verbreitung gelten ... mithin auch für das Bereithalten eines Firmware-Images auf einem "nicht-AVM"-Server. Man muß sich bei Modifikationen der Software nur nach der GPL an zusätzliche Bestimmungen halten - irgendwelche Einschränkungen des Rechts auf "distribution" sind dort nicht aufgeführt. Die GPLv2 klärt das - im Gegenteil - sogar noch einmal ganz deutlich:
    Es geht also nicht darum, irgendeinen Software-Autoren (hier halt AVM) um seine Urheberrechte zu bringen, sondern es geht darum, die Rechte derjenigen durchzusetzen (und die habe die freie Weitergabe ausdrücklich als Bedingung vorgesehen), deren Arbeit hier (von AVM) eingesetzt und nachgenutzt wird.

    Die Lizenzbestimmungen dürften da also das deutlich kleinere Hindernis sein - ich glaube auch nicht wirklich, daß AVM da jemanden "anzählen" würde, dafür ist die Situation wohl zu eindeutig. Wenn man solche "Mirrors" hingegen darum bittet, auf die (automatische) Verbreitung älterer Firmware-Images genauso zu verzichten, wie AVM es selbst inzwischen macht, halte ich das wieder für einen nachvollziehbaren Wunsch (aber eben auch nicht mehr als eine Bitte oder ein Wunsch). Da sollte man sich also auch selbst überlegen, warum das ggf. sinnvoll ist und ob man unbedingt dazu beitragen will, daß sich (eher blauäugige) Freetz-Benutzer dann mit alten Sicherheitslücken selbst ins Knie schießen.

    ==========================================

    Ich bin auch gerne selbst bereit, entsprechende AVM-Firmware auf meinem eigenen Server bereitzuhalten ... nicht daß man den Eindruck gewinnt, ich würde da ein Risiko auf andere abwälzen wollen. Ich mache einfach mal Nägel mit Köpfen und halte hier meinerseits fest, daß in demselben Verzeichnis, in dem auch die OpenSource-Dateien für die 6490/06.83 auf meinem Server liegen (diese URL steht hier irgendwo in einem Thread, als es um weitere Download-Quellen für diese OSS-Dateien ging), daneben noch das aktuelle Image der Firmware für die 6490 liegt (den Dateinamen für die 06.84 kriegt jeder selbst raus) und auch der zur Verifikation notwendige öffentliche Schlüssel liegt als Datei "signed_firmware.6490.key" direkt daneben. Der Modulus dieses Keys sieht dann so aus, falls jemand den lieber direkt angeben will (beim Aufruf von "check_signed_image"):
    Code:
    0098ef668b9156913907e7e2d6c5ff74c23fd3a065cb1f382b19691655aa3cb5f5a010cf00f90c89a5f6bf2f9c029bb90c80ee53064b88067af1c2879a6464430688dad838a7b6d693ee00f37d3d0844bd49ca418213678660d5f918037d0a72225195fd02d40b90035932684311c8bdc7ffa4eb8d75701f8bf5a26d5914147e7f
    
    (drunter natürlich noch der Exponent, aber das habe ich in dem Thread zum Signieren alles ausführlich erläutert).
    Warum schreibe ich hier nicht einfach den kompletten Link für die AVM-Firmware hin? Das hat mit AVM gar nichts zu tun, die Board-Regeln hier im IPPF verbieten solche Links ... und ehe ich hier jetzt einen Link zu GitHub setze, wo dann wieder ein Link zum yourfritz.de-Server steht, vertraue ich lieber auf die Intelligenz des Lesers. Ansonsten ist der Server auch nicht für HTML-Inhalte o.ä. geeignet ... ich kann also auch da keine Seite mit einem "klickbaren" Link anbieten.

    ==========================================

    Es ist jedenfalls auch problemlos möglich, die Integrität eines Firmware-Images als "Vorlage" für Freetz selbst dann zu prüfen, wenn die Quelle kein AVM-Server ist. Man braucht nur den richtigen öffentlichen Schlüssel für die Signatur der Firmware aus einer früheren OS-Version für das Gerät zu extrahieren - denn solange es da keine "Update-Reihenfolge" gibt, sind die halt immer mit demselben Key signiert, sonst wäre ein direktes Update von 06.60 auf 06.84 ja nicht möglich.

    Bei den OpenSource-Paketen sieht es halt anders aus, aber da wüßte ich jetzt auch keine perfekte Lösung (nicht einmal eine halbperfekte) ... solange AVM die Credentials für den Download geheimhält, kann man die halt nicht (bei unmittelbarem Bedarf) direkt von AVM laden. Auf der anderen Seite ist es aber auch für einen Angreifer verdammt schwer, sich tatsächlich so in eines der OpenSource-Pakete einzuklinken (bei Freetz käme da ja eigentlich nur der Kernel in Betracht, der Rest interessiert Freetz ja gar nicht), daß der arglose Benutzer sich damit seinen eigenen Kernel erstellt und installiert, der dann einen Angriff erst ermöglicht. Mal ganz abgesehen davon, daß man die Quellen ja auch mit dem "vanilla"-Kernel vergleichen und ein "review" dann auf die dabei festgestellten Unterschiede beschränken kann, ist es schon recht schwierig, da wirklich unauffällig zu agieren und dann kommen da noch so viele andere Unwägbarkeiten dazu, daß man schon extrem optimistisch sein müßte, um an dieser Stelle von einer irgendwann mal erfolgreichen Infektion auszugehen.

    Das geht schon damit los, ob der "Angegriffene" überhaupt einen eigenen Kernel verwenden will und nicht nur die Header-Files für das passende System braucht, denn dann bleibt weiterhin der AVM-Kernel aktiv und auf nachladbare Module (LKM) hat das OpenSource-Paket per se gar keinen Einfluss, denn das Zusammenstellen des "rootfs" ist da gar nicht enthalten bei AVM, das darf man gefälligst selbst machen. Zusätzlich darf man noch davon ausgehen, daß wohl nicht einmal 1 Promille der 6490/6590 in freier Wildbahn (also eines von eintausend Geräten) jemals mit so einer selbsterstellten Firmware in Kontakt kommen werden - da ist dann die Suche nach anderen Sicherheitslücken, mit denen sich auch Geräte mit AVM-Firmware übernehmen lassen, für einen Angreifer aber wesentlich lukrativer.

    Ich bin ja auch für Sicherheit zu haben und für Fragen rund um die Authentizität von (binären) Programmen ... der Inhalt der OSS-Dateien sind ja aber gerade Quelltexte und die kann dann jeder lesen, den es interessiert. Wenn dann noch die Hash-Werte einer solchen OSS-Datei mit denen aus anderen (unabhängigen) Downloads direkt vom AVM-Server übereinstimmen, dann darf man auch mal etwas "großzügiger" sein bei der Beurteilung der Integrität ... am Ende garantiert einem auch nur die eigene Lektüre der Quellen, daß da nicht gar der Hersteller sich irgendwo eine Backdoor eingebaut hat (und das ist jetzt weniger "Verschwörungstheorie", das gab es bei Cisco und Juniper ja auch schon, ohne daß ich jetzt AVM auf eine Stufe mit NSA-verseuchten Firmen stellen will - der BND ist da vermutlich eher harmlos und "cybert" wohl lieber national mit bei der "Vorwärtsverteidigung", außer die stellen sich nur dumm und das ist dann besonders raffiniert).

    Wobei das bei AVM sogar noch viel leichter wäre als irgendwelche Manipulationen am Kernel-Code, denn was sich wirklich im "kdsld"-LKM (oder jedem anderen proprietären Programm in der Firmware) versteckt, kann man nur schwer kontrollieren und wenn solche Software sich wirklich um Verschleierung bemüht (und da steht dann eben nicht irgendwo "backdoor_password=superuser" im Klartext herum), dann ist die rein durch Ansicht auch nicht zu entdecken, höchstens durch Überwachung des gesamten Netzwerkverkehrs (also auch nicht nur des Teils, den einem das FRITZ!OS freiwillig zeigt) und das dürfte bei einer DOCSIS-Box im Privathaushalt eher seltener sein, daß da jemand noch sein eigenes CMTS betreibt (und das dann auch noch von AVM erreichbar wäre, wenn man eine "backdoor" nutzen will).
     
    Coolzero82 und FreeFritzBox gefällt das.
  2. koyaanisqatsi

    koyaanisqatsi IPPF-Urgestein

    Registriert seit:
    24 Jan. 2013
    Beiträge:
    10,282
    Zustimmungen:
    93
    Punkte für Erfolge:
    48
    Vertrauen
    Dafür ist doch der Zustimmungszähler da ;)
     
    FreeFritzBox gefällt das.