Software - Kopierschutz

  • Hallo zusammen!

    Ich stelle mir die Frage, inwiefern ein Kopier - und Leseschutz auf dem Raspberry realisierbar ist. Konkret handelt es sich um eine Software, die zusammen mit dem Raspberry als Produkt verkauft wird. Diese Software besteht hauptsächlich aus Webserverdateien. Die GUI ist im Prinzip das, was in Verbindung mit der Hardware, verkauft werden soll. Mechanisch gesehen ist der Schutz kein Problem, die SD Karte wird vor einem Entnehmen / Kopieren durch Vergießen und einem sicheren Gehäuse geschützt.


    Doch im Prinzip kann bis jetzt jeder den Kioskmodus von Chromium verlassen und gemütlich die Dateien öffnen oder diese sogar auf einen USB Stick kopieren. Wie kann man das verhindern? Generell stellt sich mir die Frage, wie man Dateien vor ungewolltem Öffnen schützen kann, während man diese für den Webserver freigibt.



    Gibt es Lösungsvorschläge wie man an die Sache rangehen kann? Hinzu kommt, dass auf eine Art und Weise eine Updatemöglichkeit geschaffen werden muss. Sprich der User muss die Möglichkeit haben, (bspw. durch ein einfaches Skript, welches die Dateien von einem Server herunterlädt und die alten Dateien überschreibt) seine GUI auf dem aktuellen Stand zu halten.



    Vielen Dank

    Gruß Jan

  • verkauf' das Zeugs als Open Source und verdiene Dein Geld mit Support ...

    Geht doch einfacher: Die SD Karte hat nur eine gewisse Lifetime. Da sie vergossen ist muss sich der Käufer regelmäßig eine neue besorgen :lol:

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert =O Bei mir tut das raspiBackup automatisch ;)

  • Hallo,


    Racer j: wenn einer an den Code kommen will, dann geht das immer irgendwie. HTML und JavaScript kannst du so wie so nicht wirklich schützen, weil das nun mal als Text an den Browser übertragen werden muss.


    Was du machen kannst: stelle deine Code unter eine extrem restriktive Lizenz, prüfen deren rechtliche Gültigkeit in allen Ländern, wo du die Software anbietest und sei bereit, Lizenzverletzungen mit allen dir zur Verfügung stehenden Rechtsmitteln durchzusetzen. Was logischer Weise erst mal (sehr) teuer sein kann, zumindest, bis du den Rechtsstreit gewinnst. Bist du dazu bereit (und hast die finanziellen Mittel)?


    Wenn nein, dann ist dreamshaders Vorschlag deutlich besser.


    Was ist das denn für ein Programm / Projekt? Und was sind genau "Webserverdateien" nach deiner Definition?


    Gruß, noisefloor

  • HTML und JavaScript kannst du so wie so nicht wirklich schützen

    Höchstens obfuscation, zumindest beim JS und Selektoren im CSS. Beim HTML eher nicht, das ist ja schon ein Minimum an Informationen und eben nicht beliebig benennbar.


    Allgemein kann alles, was der ARM-Prozessor des Raspi versteht auch ein Mensch verstehen und zunutze machen. Solange allerdings keine Raketentechnik dabei ist, wird das wohl keiner tun. Also kommt man mit der Auslieferung von ausschließlich Binärcode schon recht weit. Ist aber ja, wie schon erwähnt , bei Web-Technologien schwer bis unmöglich.

    • Official Post

    Es klingt insgesamt auch nicht wirklich vertrauen erweckend ;). Eher als "Wir haben hier hier mal was zusammenkopiert" und nun soll keiner Wissen das das so ist :mean:

    Bei Webkram mach es wie alle anderen auch: Verlange ne Registrierung und nen gültige Lizenz. Die meisten wirst du damit "abschrecken" können. Denn, wider erwarten, ist der Kundenkreis solcher Produkte nicht technikaffin.

  • Vielen Dank für die Vorschläge. Wenn jemand unbedingt an die Dateien will, wird er vermutlich einen Weg finden. Ich möchte allerdings versuchen, dass so schwierig wie möglich zu gestalten.


    Es geht mir hauptsächlich um die PHP Dateien. Dort befinden sich u.a. Funktionen, die das Produkt ausmachen.

    Das Gerät handelt mit Aktien, eventuell vergleichbar mit sog. "Trading Bots"


    Gibt es keine Möglichkeit, das System bspw auf Raspbian Lite aufzubauen und dafür zu Sorgen, dass es keinen zugänglichen Dateimanager Gibt? Die größte Befürchtung ist die, dass Leute über diesen die Dateien finden und kopieren.

    Kann ich verhindern, dass man Chromium verlässt und somit auf den Desktop gelangt?

  • Höchstens obfuscation, zumindest beim JS und Selektoren im CSS. Beim HTML eher nicht, das ist ja schon ein Minimum an Informationen und eben nicht beliebig benennbar.

    Das klingt gut, werde ich mir mal ansehen. Vor allem was bei PHP da möglich ist

    Danke!

  • Google mal nach: PHP Obfuscator and Encoder

    ..darüber findet sich zum Beispiel http://www.selfphp.de/forum/showthread.php?t=15978


    Allerdings benötigst du in den meisten Fällen dann Webserver-seitig ein Module...

    Früher hatte ich mal "TrueBug PHP Obfuscator & Encoder" im Einsatz da benötigte man sofern ich mich richtig entsinne kein Serverseitiges Module.


    Wer es ernsthaft darauf anlegt den Code auszulesen schafft es aber i.d.R. trotzdem. Das einzige was vor sowas schützen kann mit Frameworks zu arbeiten wo der Code dann compiled und per Key geschützt wird... Aber selbst das schaffen reverse engineer zu knacken :fies:

  • Wenn es ohnehin eine webbasierte Lösung ist, dann biete sie doch einfach als Cloudservice an.

    Oder vielleicht kannst du auch nur die kritischen Funktionen auf einem Server bei dir remote ausführen lassen.

    So müsstest du den Code gar nicht rausrücken. Geht natürlich nur, wenn diese Pis online sind.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Geht natürlich nur, wenn diese Pis online sind

    Muss ja eigentlich , sonst kann der Pi kein Online-Trading machen ;)


    Racer j: Wenn du die Schöpfungshöhe deines PHP-Codes für so hoch hälst, dann muss du dir trotzdem, egal welche Maßnahmen du sonst noch ergreifst, Gedanken über ein Lizenz machen. Am besten mit jemanden, der sich damit auskennt = ein Fachanwalt.

    Und wenn wirklich einer an den Code will, dann wird er wohl die SD-Karte aus dem Pi entnehmen (da geht immer - auch bei eingegossenen Karten) und auf einem anderen Rechner analysieren.


    Gruß, noisefloor

  • Naja der Benutzer unter dem der Kiosk Modus läuft, sollte eben nur Zugriff auf sein Home Verzeichnis haben. Über den Browser kann er ja auf den Webserver zugreifen. Damit kann schonmal niemand an die PHP Scripte wenn du die Passwörter für den Sudo user und den user unter dem PHP läuft nicht herausrückst.

  • Das mit dem Obfuscator war eine gute Idee, danke. Werde ich benutzen, auch wenn es bedingt was bringt. Vielleicht schreckt es ja doch den ein oder anderen ab.

    Bezüglich dem Thema Lizenz und Patentanmeldung, das habe ich bereits einem Anwalt gegeben. Abgesehen von den Kosten und der Anmeldung wollte ich eben einen (geringen) softwarebasierten Schutz.

    Naja der Benutzer unter dem der Kiosk Modus läuft, sollte eben nur Zugriff auf sein Home Verzeichnis haben.

    Sprich einen neuen Benutzer anlegen und entsprechende Rechte vergeben. Kann ich einstellen, unter welchem User der Raspberry automatisch hochfährt?

  • der beste Kopierschutz ist immer noch ein mangelhaftes Produkt

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Hi,

    WaldiBVB: ich glaube das ist zu kurz gesprungen:

    wenn du die Passwörter für den Sudo user und den user unter dem PHP läuft nicht herausrückst.

    dann kann auch niemande einen Update machen.

    Und ob da jemand Geld für das Produkt ausgibt, wenn er dann auch noch diesen "Zwangs-Support update durch Verkäufer" an der Backe hat, sei mal dahingestellt.


    cu,

    -ds-

    • Official Post

    Und ob da jemand Geld für das Produkt ausgibt, wenn er dann auch noch diesen "Zwangs-Support update durch Verkäufer" an der Backe hat, sei mal dahingestellt.

    Warum nicht? Das passiert doch in freien Wirtschaft jeden Tag. Allein bei uns gibt es mindestens 5 Software(n) die nur durch den Verkäufer gewartet werden können. Für sowas gibt es dann Wartungsverträge und SLAs

  • Bei jedem regulären Programm gibt es durch aus effektive Möglichkeiten einen Kopierschutz einzubauen.


    Bei HTML, JS und PHP Dateien eher weniger... Ein reines Obfuscator bringt keinen tatsächlichen Kopierschutz, denn kopieren und weiterverwenden kann man die Dateien dann trotzdem. Selbst Obfuscator and Encoder wäre kein Kopierschutz.


    Übrigens hat das nicht speziell etwas mit dem Raspberry zu tun.

    Desweiteren: Webserverdateien hat nichts mit einer GUI zu tun, da spricht man von WebUI.


    Wenn man deinen Kiosk-Modus verlassen und auf die GUI gelangen kann, handelt es sich nicht um einen echten/richtigen Kiosk-Modus. Setzt man das so um wie es eigentlich vorgesehen ist stellt sich eigentlich nicht das hier gestellte Problem:

    Bei einem echten Kiosk-Modus wird ein Window-Manager geladen der nur mit einem Fenster umgehen kann und wird der Browser geschlossen (oder crasht) wird dieser automatisch neu gestartet. Im Hintergrund ist also keine vollwertige GUI über die ein User aufs System zugreifen könnte.

    Zusätzlich noch SSH nur über SSH-Keys zugänglich schalten, die Keys natürlich nicht herausgeben und fertig ist der "Schutz", da die SD ja fest vergossen wird.



    PS: Werde ich jetzt für diese "Idee" an deinem Projekt finanziell beteiligt? :angel:

  • Hi dbv,

    Allein bei uns gibt es mindestens 5 Software(n) die nur durch den Verkäufer gewartet werden können. Für sowas gibt es dann Wartungsverträge und SLAs

    ich meinte da eher z.B. Sicherheits-Updates des OS ...

    Siemens hatte mal für ein Software-Paket eigene Freigaben für Windows-Updates. Da konnte der Endkunde auch nichts selbst machen.

    Allerdings waren das Wartungsverträge im mittleren bis hohen fünfstelligen Bereich pro Monat.


    cu,

    -ds-