Hallo zusammen, ich habe seit langem mal wieder ein binary file vom ARM mit dem Hexeditor geöffnet und musste feststellen, dass da z.B. unser Firmenname im Klartext am Ende drinsteht. Lässt sich das verhindern? Compiliert wurde mit Atmelstudio 7 Viele Grüße!
Ahh ein Spaßvogel am morgen... Wenn du jetzt noch sagen kannst wie, hast du dir ein Danke verdient.
Du nimmst den String mit dem Firmennamen im Klartext aus Deinem Code?
Wenn du const char * sFirma = "Meine tolle Firma"; im Quelltext stehen hast, dann wird zu einer sehr großen Wahrscheinlichkeit dieser Text genaus im bin File als Klartext drin stehen. Du musst den halt irgendwie kodieren, wenn du das nicht möchtest.
Es kommt noch schlimmer: Mit einem "Disassembler" kann man sogar die streng geheime Funktionsweise eurer Software nachvollziehen 😨 Jetzt die ernste Frage: Steht euer Firmenname irgendwo im Quelltext, z.B. als Display Ausgabe? Dann wirst du kaum verhindern können dass der Name auch irgendwo im Controller steckt. Was ist daran schlimm? Hätte jetzt eher erwartet dass du fragst wie man den Namen da rein bekommt, anstatt raus.
Wenn’s nicht im Quelltext steht, dann schau halt deine toolchain an, ob da irgend ein Script oder Tool den Firmenamen ins Binary schreibt. Das Studio macht das nicht freiwillig... Oliver
Mit der Suchfunktion über alle Projektdateien dürfte es nicht sonderlich schwierig sein, den Firmennamen zu finden.
Ich vermute, der Wind weht aus 'ner ganz anderen Richtung. Warum sollte einen stören, daß der Firmenname im Klartext im Binärimage steht? Außer man befürchtet, daß das jemand abändert. Wenn der String "Meine tolle Firma" im Klartext im Binärfile steht, könnte ja ein böser Mensch das patchen und durch "andere Firma" ersetzen. Um sowas zu verhindern, könnte man entweder den String verstecken, indem man ihn irgendwie codiert, oder eine Checksum darüber prüfen. Das bietet aber alles nur mäßige Sicherheit und verhindert schon gar nicht, daß jemand alles disassembliert und die Funktionalität nachvollzieht - das ist zwar extrem mühsam, aber machbar. Wenn man mehr Sicherheit wünscht, muß man primär verhindern, daß das unverschlüsselte Binärimage überhaupt in fremde Hände gelangt. Als erstes natürlich die Read Protection im Controller nutzen, dann kann das schonmal nixht einfach ausgelesen werden. Und Firmware-Updates über einen Bootloader durchführen, der verschlüsselte Images verarbeitet. Das bietet natürlich auch keine 100%ige Sicherheit, setzt aber, je nach Qualität der Verschlüsselung, die Hürden schonmal sehr viel höher.
Klartext schrieb: > Compiliert wurde mit Atmelstudio 7 Der Compiler ist schnurz. Jeder Compiler muß alle vorbelegten Textvariablen natürlich auch in der ausführbaren Datei ablegen.
Thorsten S. schrieb: > Und Firmware-Updates über einen Bootloader durchführen, der > verschlüsselte Images verarbeitet. Und am besten auch noch digital signiert. https://www.segger.com/products/security-iot/emsecure/
Til S. schrieb: > Und am besten auch noch digital signiert. Shameless plug ... sagen die Amerikaner zu solchen Beiträgen.
Marktbeobachter schrieb: > ... sagen die Amerikaner zu solchen Beiträgen. Werbung ...sagen die Deutschen zu solchen Beiträgen ;-). Du hast aber Recht, ich hätte den Link weglassen sollen.
Til S. schrieb: > Du hast aber Recht, ich hätte den Link weglassen sollen. Nö, is schon gut. Ich finde nur den amerikanischen Ausdruck so beeindruckend treffend, daher musste ich ihn hier erwähnen.
Marktbeobachter schrieb: > Ich finde nur den amerikanischen Ausdruck > so beeindruckend treffend Ja, es gibt Leute, die finden alles amerikanische sehr beeindruckend. Und es gibt normale Menschen, die selbst denken können.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.