Bestätigt ist das m.W. bisher nicht wirklich ... es gibt aber Berichte, daß die Box nach einer Änderung an der Urlader-Partition nicht mehr richtig startet.
Ob das letztlich tatsächlich an einer "echten Signatur" des Loaders liegt (solange das nicht vom 1st-Stage-Loader über die Serielle behauptet wird, was ich auch schon irgendwo gelesen habe - das kann aber auch bei den 40x0-Boxen gewesen sein) oder nur an einer unsachgemäßen und/oder unvollständigen Änderung (z.B. an einer nicht angepaßten Prüfsumme, die aber noch längst keine Signatur ist), steht (immer noch nur m.W.) noch nicht fest - ein fehlgeschlagener Änderungsversuch ist zwar ein Grund für eine These, daß da etwas signiert sein könnte, aber noch lange kein Nachweis.
Eine solche Prüfsumme über den Konfigurationsbereich existiert auch bei anderen Modellen bereits (zumindest dem Anschein nach, falls man die Zeichen
CRC
am Ende dieses Bereichs als solche ansehen wollte:
Rich (BBCode):
000bf000 43 52 43 00 42 39 16 09 e3 b1 bf a4 ff ff ff ff |CRC.B9..........|
000bf010 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
- auch wenn ich gerade nicht mehr weiß, was da von wo bis wo mit welchem Algorithmus abgesichert wird) ... nur interessiert(e) sich da niemand dafür (zumindest nicht so gründlich, daß eine Abweichung direkt die Box brickt), ob diese Prüfsumme auch stimmt - so zumindest meine Erfahrungen (und es gibt auch Berichte von anderen - aber eben bei anderen Modellen, die keinen ARM-SoC hatten).
Aber diese ARM-SoCs haben tatsächlich solche Möglichkeiten und AVM aktualisiert da nach einem Update auch mittels
tzupdate
noch irgendwelche zusätzlichen Daten ... und eine Interpretation von
tz
als "trust zone" wäre zumindest naheliegend. Auch die Zeichenketten im Inneren dieses
tzupdate
(das in den Update-Images für diese beiden Modelle enthalten ist) sprechen für diese Interpretation.
Wobei auch das noch nicht zwingend eine (kryptographische) Signatur bedeuten muß ... ja, wenn man sich ein paar Log-Files ansieht (u.a. das mittlerweile oben verlinkte), findet sich da auch die Zeichenfolge
SBL
- was angesichts einer
sblupdate
in den Update-Images schnell mal als "secure boot loader" interpretiert werden könnte (ging mir im ersten Reflex auch so) und auch die in der AVM-Datei sichtbaren Pfade (u.a.
boot_images/core/boot/secboot3/hw/ipq40xx/sbl1/sbl1_config.c
) sprechen mit ihrem
secboot...
-Teil ja irgendwie dafür.
Nur gibt es offensichtlich nicht nur einen
SBL
, sondern auch einen
PBL
- und wenn man den als "primary boot loader" interpretiert, drängt sich ein "secondary boot loader" für dieses
SBL
eigentlich genauso auf und auch das würde zu einem
secboot...
passen. Ich würde mittlerweile fast vermuten, daß zwar der PBL und der SBL gegen Modifikationen gesichert sind (auch diese (nicht fortlaufenden) Meldungen im
SBL
-Code, der ja in der
sblupdate
enthalten ist, sprechen dafür:
Code:
Image Verify, Start %s
Image Verification failed (%d)
No verified TZ in flash!!! Booting not possible!!!
No verified EVA in flash!!! Booting not possible!!!
), aber daß das KEINE kryptographischen Signaturen sind. Diese Annahme wird für mich dadurch gestützt, daß man im
SBL
(bzw. eben in
sblupdate
) zwar mehrfach Bezüge auf CRC finden kann:
Rich (BBCode):
vidar:/tmp $ strings sblupdate | grep -i crc
boot_images/core/services/utils/src/crc.c
boot_images/core/services/utils/src/crc.c
CRC page magic and version number mismatch 0x%08x.
[%s]CRCBLK found @ blk %d page 0x%x
, aber nicht einen Bezug auf
sig
oder ähnliches, was auf Signaturen hindeuten würde (und nein,
assign
hat nichts mit Signaturen zu tun).
In meiner (unbewiesenen und nur auf Schlußfolgerungen beruhenden) These sieht das bei diesen Boxen so aus, daß der
PBL
vom Hersteller stammt und der von AVM gar nicht angefaßt wird. Dieser lädt dann den
SBL
nach und der besteht (in meiner Vorstellung) aus dem originalen Code, in den AVM ein paar wenige, eigene Erweiterungen eingebaut hat. Der prüft zwar noch den Inhalt der Partition für die "TZ" (
https://developer.arm.com/ip-products/security-ip/trustzone), aber die wird bei AVM gar nicht wirklich benutzt (so in etwa wie die Virtualisierung bei GRX-Chipsets, wo man auch mehr gezwungenermaßen nur den "bootcore" verwendet) und stattdessen wird tatsächlich (u.U. sogar mit kopiertem Original-Code) der AVM-eigene Loader-Code für EVA nachgeladen (der damit aus Sicht des Broadcomm-Codes praktisch schon "OS" ist) und der dann alles weitere übernimmt - entweder die Kommunikation im Netzwerk oder das Laden des FRITZ!OS-Kernels aus anderen NAND-Partitionen (auch das Vorhandensein mehrerer Firmware-Instanzen und die Auswahl über
linux_fs_start
bzw. deren Verwaltung ist ja ein EVA-Merkmal).
Irgendwo im Hinterkopf habe ich auch noch die Info, daß bei den IPQ-Boxen die Bootloader-Konfiguration (wo die Werte für die "Geburtsdaten" der Box stehen) gar nicht als integraler Bestandteil im Bootloader stehen (zumindest nicht so, wie bei den Boxen bis zum VR9, wo die an einem festen Offset in der Loader-Partition zu finden sind, was bei GRX-Boxen auch schon nicht mehr der Fall ist, weil die auch jeweils zwei Kopien haben), sondern irgendwo am Ende der Bootloader-Partition - das habe ich (vermutlich für die 4040) mal irgendwo bei OpenWRT gelesen, glaube ich zumindest.
Aber solange niemand einen Dump seines Bootloaders "einsendet" und man den ebenso auseinandernehmen kann, wie den der anderen Boxen (ich habe Puma6, VR9, GRX5 von den neueren Modellen, wo der Konfigurationsbereich in Version 3 vorliegt), bleibt das alles auch nur Spekulation - die Frage wäre es, wie langlebig diese Modelle/SoC in der AVM-Produktstrategie wären und nur mit diesem Wissen könnte man dann (fundiert) entscheiden, ob sich die Beschäftigung mit diesen SoC tatsächlich lohnt.
EDIT: OK, da ich das alles noch einmal geprüft habe beim Schreiben und auch die zitierten Stellen in den Code-Boxen erst noch erstellen mußte, hat das etwas länger gedauert und ein paar Fakten aus der "Präambel" wurden mittlerweile auch schon erwähnt - ich lasse das trotzdem so stehen.