Ich entwickle kommerziell eingebettete Hardware mit Microchip dsPIC oder ähnlichen Prozessoren.
Die Firmware, die ich habe, ist manchmal sehr komplex und kostspielig und muss hacker- und manipulationssicher in der Hardware sein. Alle grundlegenden Softwareschutzfunktionen sind vorhanden, aber für 500 bis 1.000 US-Dollar kann der Hex-Code über mehrere ausländische Website-Dienste abgerufen werden, selbst wenn Sicherheitssicherungen vorhanden sind (um nur nicht festgestellte Manipulationen zu verhindern). Danach sind es nur noch wenige Monate, und der Code kann mithilfe eines Disassemblers wie IDA Pro rückentwickelt werden.
Wie kann ich das Hardware-Design etwas besser schützen (kein militärischer Schutz erforderlich)?
Können Sie andere nicht lesbare Prozessoren oder eine Ergänzung zu meinem vorhandenen Design empfehlen?
Ich brauche nur wenige Funktionen zu verbergen, ich brauche nicht das ganze Produkt. Es reicht auch nicht aus, nur Daten in einem sicheren externen Speicher zu verstecken, ich muss ein Stück Programm verstecken.
Update (basierend auf vielen Kommentaren): Ich habe dsPIC und 4 Jahre Entwicklungszeit auf Firmware (würde einen ziemlichen Aufwand erfordern, um es auf eine andere Weise von Grund auf neu zu machen):
1) Dieses Produkt verkauft sich bereits und Hacker haben Zugriff, wenn sie wollen
2) Die NEUE FIRMWARE ist noch nicht veröffentlicht. Enthält 5kB Code, den noch niemand von allen Mitbewerbern hat. Ich muss verhindern, dass jemand es für ungefähr 12 Monate nach der Veröffentlichung leicht bekommt
3) Es gibt kein Budget, um sehr exotisch oder kompliziert zu werden, vielleicht zusätzliche 10 USD pro Produkt, plus oder minus
4) Eine Lösung wie eine hinzugefügte SIM-Karte könnte den Trick machen?
5) Die Funktion zum Ausblenden führt eine sehr schwierige, nicht standardmäßige Berechnung zum Entschlüsseln / Verschlüsseln von 16 Bytes durch. Bekannte Prozesse können es nicht in 1 Jahr hacken, die Funktion wird benötigt, weshalb ich es ausblenden möchte.
6) Es macht mir nichts aus, wenn es öffentlich sichtbar ist, wenn die Anfrage an "versteckte" Hardware gesendet wird oder wenn die Antwort öffentlich sichtbar ist. Sie müssen den Prozess zur Berechnung nur ausblenden und dürfen sich nicht im dsPIC-Prozessor befinden.
quelle
Antworten:
Darauf sind Unternehmen spezialisiert. Atmel war einer von ihnen, auch drinnen sicher. Sie haben spezielle Hardware, die Ihren Anforderungen entspricht. Wenn Sie jedoch möchten, dass es wirklich funktioniert, sollten Sie darauf vorbereitet sein, die gesamte Kette von ihrem Lager bis zu Ihrer Produktionsstätte mit Tresoren und Schutzvorrichtungen für die Sicherheitscodes zu sichern. Andernfalls verdienen Sie nur $ 1k für den Versuch $ 10k, während Sie tatsächlich mindestens $ 1M benötigen.
quelle
Forscher am MIT haben eine Methode entwickelt, um den Code mathematisch zu verschlüsseln, aber die Ausgabe gleich zu halten. Die Funktion wird nur ausgeführt, wenn Sie ihr den richtigen Schlüssel geben, der von Zeit zu Zeit heruntergeladen werden kann.
Dies kann für Sie hilfreich sein: http://spectrum.ieee.org/computing/software/scrambled-code-keeps-software-safe
quelle