- Mitglied seit
- 10 Mai 2006
- Beiträge
- 15,278
- Punkte für Reaktionen
- 1,753
- Punkte
- 113
Nachdem AVM ja nun seit längerer Zeit schon die Möglichkeit des Dekodierens von Kennwörtern mit "allcfgconv -c" aus der Firmware entfernt, geht es jetzt auch dem "mißbrauchten" 'webdavcfginfo' an den Kragen. In der aktuellen Labor-Version für die 7490 funktioniert das Decodieren des WebDAV-Kennworts damit nicht mehr, das wurde jetzt auf ein anderes Interface (Shared Memory) umgestellt, mit dem das entschlüsselte Kennwort nur noch im Hauptspeicher abgelegt wird, wo es sich andere Komponenten dann abholen können.
Das SharedMemory-Interface zwischen AVM-Komponenten und davfs2 gibt es schon länger, zu finden ist es in den GPL-Paketen von AVM in GPL-davfs2.tar.gz - die Version für den aktuellen Labor-Zweig steht natürlich noch nicht zur Verfügung. Somit muß man noch etwas warten, bis auch diese Quellen verfügbar sind ... es betrifft im Moment ja "nur" den aktuellen 7490-Laborzweig.
Am Ende stellt sich mir die Frage, ob es tatsächlich lohnt, sich erneut auf dieses Interface zu stürzen ... das sind ja alles nur Hilfsmittel.
Auf der anderen Seite sehe ich schon eine Notwendigkeit, die in der AVM-Firmware vorgenommenen Einstellungen auch mal im Klartext zu kontrollieren und/oder zusätzlich für andere Pakete benutzen zu können. Es ist einfach nur vollkommen unnütz, wenn es am Ende zwei verschiedene Benutzerverwaltungen geben muß, nur weil man von der AVM-Seite weder die Sitzungsverwaltung (mangels Doku, das könnte man aber sicherlich forensisch lösen) benutzen kann noch auf die Benutzer samt Kennwort für eine eigene Verwaltung zurückgreifen kann. Und die Benutzerverwaltung ist ja nur ein einzelnes Beispiel, das geht mit Mail weiter und hört bei VPN nicht auf.
Ich habe prinzipiell auch nichts gegen eine "second line of defense", wo man die Angriffsfläche in einem Standard-Image so weit wie möglich reduziert, das begrüße ich sogar. Aber gleichzeitig muß es dann eben auch für solche Projekte wie Freetz die Möglichkeit geben, auf definierte Schnittstellen zuzugreifen und die "abgeschafften Funktionen" wieder mit Leben zu erfüllen. Das erfolgt dann ja durch den Benutzer/Besitzer selbst und auf seinen ausdrücklichen Wunsch hin - nur so bleibt er am Ende tatsächlich "Besitzer" der Box (das ist ähnlich wie mit den Traktoren in den USA).
Übrig bleibt für mich die Frage, ob man nicht auch hier lieber ein Ende mit Schrecken herbeiführt und die AVM-Verschlüsselung tatsächlich komplett nachbaut, anstatt immer nur auf Fehler seitens AVM zu setzen oder irgendwelche Schwachstellen auszunutzen. Wenn AVM nicht mehr möchte, daß jemand die von ihnen verschlüsselten Daten auch wieder entschlüsseln kann, mit Ausnahme ihrer eigenen Komponenten, dann wird sich immer wieder ein Weg finden, fremde Zugriffe zu behindern und auszusperren.
Da auf der anderen Seite wohl eher nicht mit einer dokumentierten Schnittstelle zu rechnen ist, wo dann - nach Entscheidung des Besitzers der Box für ein anderes "Krypto-Plugin" - mit einem einheitlichen Zugriff für alle Komponenten gearbeitet werden kann, treibt mich die Überlegung um, ob es den (anzunehmenden) Ärger mit AVM nun wert ist oder nicht bzw. ob es "moralisch" vertretbar ist oder nicht, die AVM-Verschlüsselung praktisch offenzulegen.
Da wird es viele Meinungen pro und contra geben ... mein Standpunkt ist klar und ich halte die "bad guys" grundsätzlich nicht für dümmer als andere, nur für gewissenloser.
Somit vergibt man sich m.E. nur die eigene Chance auf Übersichtlichkeit durch gemeinsame Nutzung von Daten (und ggf. auch Transparenz bei einigen Einstellungen) zugunsten einer Verschleierung, die die wirklichen Angreifer trotzdem nicht davon abhalten wird, den AVM-Mechanismus zu benutzen (und sei es durch die lizenzwidrige Nutzung einer früheren Version von allcfgconv oder sogar einer alten Box nur für das Decodieren solcher Daten).
Was AVM am Ende damit erreichen will, ist mir ohnehin nicht klar ... ich kann es mir nur so erklären, daß nach der Benutzung von "allcfgconv -c" bei den Angriffen Anfang 2014 die pure Panik ausgebrochen ist, ohne daß man mal tatsächlich eine Gefahrenanalyse gemacht hat und aus dieser Panik heraus die Entscheidung getroffen wurde: "Das allcfgconv darf kein -c mehr machen.". Der Witz daran ist aber leider, daß es einen Angreifer nicht wirklich behindert. Warum ist das so?
Wenn ein Angreifer die Daten nicht direkt auf der Box entschlüsseln kann, nimmt er sie eben als Dump des TFFS (es reicht eine Partition), da stehen einerseits die Konfigurationsdaten drin und andererseits auch gleich noch die notwendigen Angaben aus dem Urlader-Environment, um die Daten auch auf einer anderen Box zu entschlüsseln.
Mit einem einzigen solchen Dump hat er also - zugegebenermaßen erst nach Nachbearbeitung, die aber definitiv nicht manuell erfolgen muß - genau dieselben Daten wieder in der Hand, die er nach einem "allcfgconv -c" hatte, ja sogar noch mehr, da ein einzelner Aufruf von allcfgconv ja nur eine Datei verarbeiten kann.
Das ist also einfach nur Stuss als Lösung ... da hat AVM nicht bis zum Ende mitgedacht und ist in einen für mein Empfinden blinden Aktionismus verfallen, der zwar die offensichtlichen und altbekannten Möglichkeiten verbaut, aber keinen ernsthaften Angreifer abhalten kann.
Ganz im Gegenteil ... bei meiner 7490 erzeugt ein regulärer Export aller Daten im TFFS (soweit sie in einem Export-File auftauchen) eine Datei mit einer Größe von 566500 Byte im Textformat. Das TFFS speichert hingegen die Daten von Beginn an komprimiert und benötigt damit für die Speicherung derselben Daten (sogar mehr, denn das Urlader-Environment ist da auch noch drin, außerdem jede Menge unbenutzter Platz im Regelfall) nur max. 384 KB (384 * 1024 = 393216), denn größer ist eine der beiden - alternativ beschriebenen - Partitionen nun einmal nicht bei einer 7490.
Am Ende hat ein Angreifer mit einem einfachen "cat /dev/mtd7" (oder mtd8) also sogar mehr Informationen mit einem geringeren Platzbedarf, als wenn er sich tatsächlich mühsam mit "allcfgconv" die Daten zusammensucht. Letzten Endes zeigt die von den Angreifern Anfang 2014 verwendete Methode eigentlich auch nur, daß eben viele Wege nach Rom führen. Sogar mit einem Aufruf von "tr069fwupdate configexport meinpasswort" hätten sie sich jederzeit einen kompletten Dump der Einstellungen machen lassen können (hier wieder in Textform, das ist das Kommando, mit dem auch ein Export der Einstellungen für den Provider über TR-069 erzeugt wird, das ist genau dasselbe Format, das auch beim GUI-Export erzeugt wird), obendrein noch mit einem definierten Kennwort verschlüsselt und somit problemlos dazu geeignet, mit "cfgtakeover" auch in einer vollkommen anderen Box entschlüsselt zu werden.
Bleibt also die Frage, ob AVM diese Möglichkeiten auch noch "entsorgen" will oder ob es nicht vielleicht doch besser ist, die "first line of defense" besser im Auge zu behalten und den Zugriff auf die FRITZ!Box durch unautorisierte Fremde wirksam(er) zu verhindern.
Man kann natürlich auch annehmen (würde man AVM damit Unrecht tun?), daß am Ende nur die Kunden behindert werden sollen, wenn sie sich bei per TR-069 konfigurierten Boxen ("Zwangsrouter" lassen grüßen) auf die Suche nach den korrekten Credentials machen wollen. Ob das nicht im Widerspruch zur Forderung nach "freier Routerwahl" (und der damit zwangsläufigen Offenlegung solcher Daten schon durch den Provider) steht - die von AVM meines Wissens ja vehement mitgetragen wird -, mag ich wieder nicht alleine beurteilen.
Das SharedMemory-Interface zwischen AVM-Komponenten und davfs2 gibt es schon länger, zu finden ist es in den GPL-Paketen von AVM in GPL-davfs2.tar.gz - die Version für den aktuellen Labor-Zweig steht natürlich noch nicht zur Verfügung. Somit muß man noch etwas warten, bis auch diese Quellen verfügbar sind ... es betrifft im Moment ja "nur" den aktuellen 7490-Laborzweig.
Am Ende stellt sich mir die Frage, ob es tatsächlich lohnt, sich erneut auf dieses Interface zu stürzen ... das sind ja alles nur Hilfsmittel.
Auf der anderen Seite sehe ich schon eine Notwendigkeit, die in der AVM-Firmware vorgenommenen Einstellungen auch mal im Klartext zu kontrollieren und/oder zusätzlich für andere Pakete benutzen zu können. Es ist einfach nur vollkommen unnütz, wenn es am Ende zwei verschiedene Benutzerverwaltungen geben muß, nur weil man von der AVM-Seite weder die Sitzungsverwaltung (mangels Doku, das könnte man aber sicherlich forensisch lösen) benutzen kann noch auf die Benutzer samt Kennwort für eine eigene Verwaltung zurückgreifen kann. Und die Benutzerverwaltung ist ja nur ein einzelnes Beispiel, das geht mit Mail weiter und hört bei VPN nicht auf.
Ich habe prinzipiell auch nichts gegen eine "second line of defense", wo man die Angriffsfläche in einem Standard-Image so weit wie möglich reduziert, das begrüße ich sogar. Aber gleichzeitig muß es dann eben auch für solche Projekte wie Freetz die Möglichkeit geben, auf definierte Schnittstellen zuzugreifen und die "abgeschafften Funktionen" wieder mit Leben zu erfüllen. Das erfolgt dann ja durch den Benutzer/Besitzer selbst und auf seinen ausdrücklichen Wunsch hin - nur so bleibt er am Ende tatsächlich "Besitzer" der Box (das ist ähnlich wie mit den Traktoren in den USA).
Übrig bleibt für mich die Frage, ob man nicht auch hier lieber ein Ende mit Schrecken herbeiführt und die AVM-Verschlüsselung tatsächlich komplett nachbaut, anstatt immer nur auf Fehler seitens AVM zu setzen oder irgendwelche Schwachstellen auszunutzen. Wenn AVM nicht mehr möchte, daß jemand die von ihnen verschlüsselten Daten auch wieder entschlüsseln kann, mit Ausnahme ihrer eigenen Komponenten, dann wird sich immer wieder ein Weg finden, fremde Zugriffe zu behindern und auszusperren.
Da auf der anderen Seite wohl eher nicht mit einer dokumentierten Schnittstelle zu rechnen ist, wo dann - nach Entscheidung des Besitzers der Box für ein anderes "Krypto-Plugin" - mit einem einheitlichen Zugriff für alle Komponenten gearbeitet werden kann, treibt mich die Überlegung um, ob es den (anzunehmenden) Ärger mit AVM nun wert ist oder nicht bzw. ob es "moralisch" vertretbar ist oder nicht, die AVM-Verschlüsselung praktisch offenzulegen.
Da wird es viele Meinungen pro und contra geben ... mein Standpunkt ist klar und ich halte die "bad guys" grundsätzlich nicht für dümmer als andere, nur für gewissenloser.
Somit vergibt man sich m.E. nur die eigene Chance auf Übersichtlichkeit durch gemeinsame Nutzung von Daten (und ggf. auch Transparenz bei einigen Einstellungen) zugunsten einer Verschleierung, die die wirklichen Angreifer trotzdem nicht davon abhalten wird, den AVM-Mechanismus zu benutzen (und sei es durch die lizenzwidrige Nutzung einer früheren Version von allcfgconv oder sogar einer alten Box nur für das Decodieren solcher Daten).
Was AVM am Ende damit erreichen will, ist mir ohnehin nicht klar ... ich kann es mir nur so erklären, daß nach der Benutzung von "allcfgconv -c" bei den Angriffen Anfang 2014 die pure Panik ausgebrochen ist, ohne daß man mal tatsächlich eine Gefahrenanalyse gemacht hat und aus dieser Panik heraus die Entscheidung getroffen wurde: "Das allcfgconv darf kein -c mehr machen.". Der Witz daran ist aber leider, daß es einen Angreifer nicht wirklich behindert. Warum ist das so?
Wenn ein Angreifer die Daten nicht direkt auf der Box entschlüsseln kann, nimmt er sie eben als Dump des TFFS (es reicht eine Partition), da stehen einerseits die Konfigurationsdaten drin und andererseits auch gleich noch die notwendigen Angaben aus dem Urlader-Environment, um die Daten auch auf einer anderen Box zu entschlüsseln.
Mit einem einzigen solchen Dump hat er also - zugegebenermaßen erst nach Nachbearbeitung, die aber definitiv nicht manuell erfolgen muß - genau dieselben Daten wieder in der Hand, die er nach einem "allcfgconv -c" hatte, ja sogar noch mehr, da ein einzelner Aufruf von allcfgconv ja nur eine Datei verarbeiten kann.
Das ist also einfach nur Stuss als Lösung ... da hat AVM nicht bis zum Ende mitgedacht und ist in einen für mein Empfinden blinden Aktionismus verfallen, der zwar die offensichtlichen und altbekannten Möglichkeiten verbaut, aber keinen ernsthaften Angreifer abhalten kann.
Ganz im Gegenteil ... bei meiner 7490 erzeugt ein regulärer Export aller Daten im TFFS (soweit sie in einem Export-File auftauchen) eine Datei mit einer Größe von 566500 Byte im Textformat. Das TFFS speichert hingegen die Daten von Beginn an komprimiert und benötigt damit für die Speicherung derselben Daten (sogar mehr, denn das Urlader-Environment ist da auch noch drin, außerdem jede Menge unbenutzter Platz im Regelfall) nur max. 384 KB (384 * 1024 = 393216), denn größer ist eine der beiden - alternativ beschriebenen - Partitionen nun einmal nicht bei einer 7490.
Am Ende hat ein Angreifer mit einem einfachen "cat /dev/mtd7" (oder mtd8) also sogar mehr Informationen mit einem geringeren Platzbedarf, als wenn er sich tatsächlich mühsam mit "allcfgconv" die Daten zusammensucht. Letzten Endes zeigt die von den Angreifern Anfang 2014 verwendete Methode eigentlich auch nur, daß eben viele Wege nach Rom führen. Sogar mit einem Aufruf von "tr069fwupdate configexport meinpasswort" hätten sie sich jederzeit einen kompletten Dump der Einstellungen machen lassen können (hier wieder in Textform, das ist das Kommando, mit dem auch ein Export der Einstellungen für den Provider über TR-069 erzeugt wird, das ist genau dasselbe Format, das auch beim GUI-Export erzeugt wird), obendrein noch mit einem definierten Kennwort verschlüsselt und somit problemlos dazu geeignet, mit "cfgtakeover" auch in einer vollkommen anderen Box entschlüsselt zu werden.
Bleibt also die Frage, ob AVM diese Möglichkeiten auch noch "entsorgen" will oder ob es nicht vielleicht doch besser ist, die "first line of defense" besser im Auge zu behalten und den Zugriff auf die FRITZ!Box durch unautorisierte Fremde wirksam(er) zu verhindern.
Man kann natürlich auch annehmen (würde man AVM damit Unrecht tun?), daß am Ende nur die Kunden behindert werden sollen, wenn sie sich bei per TR-069 konfigurierten Boxen ("Zwangsrouter" lassen grüßen) auf die Suche nach den korrekten Credentials machen wollen. Ob das nicht im Widerspruch zur Forderung nach "freier Routerwahl" (und der damit zwangsläufigen Offenlegung solcher Daten schon durch den Provider) steht - die von AVM meines Wissens ja vehement mitgetragen wird -, mag ich wieder nicht alleine beurteilen.
Zuletzt bearbeitet: