VM Partition/Verschlüsselung/Automatisch/Ohne Anmeldung/Ohne Zugriffe durch Rettungscd's

10/02/2014 - 20:36 von SomeTime | Report spam
Hallo zusammen,
ich versuche mal mein Problem darzustellen:

Ich habe eine Webanwendung Programmiert, die sicher der Rechen kraft des Anwender Rechners bedienen soll. Nun ist das Problem wenn ich den Usern die Scripte so gebe kann man ziemlich einfach die Scripte kopieren. Diese jetzt zu verschlüsseln z.B. per ZEND ist möglich, aber dafür gibt es schon decoder die die Verschlüsslung und die Kosten des Programms zu nichte machen in nicht mal 60 Sekunden. Also bin ich auf die Idee gekommen dem User eine Virtuelle festplatte zu geben auf der ein Debian Server làuft. Wenn ich jetzt den Webserver und die Scripte auf eine Eigene Partition Packe und diese Verschlüssel habe ich das Problem wenn ich ein Script in den "Autostart" lege, ist dieses auslesbar. und wenn ich nur eine Verknüpfung zum (Verschlüsselten) Persönlichen Ordner des Hauptnutzers erstelle der Ordner ist Verschlüsselt ist bis sich dieser Hauptuser anmeldet geht auch nicht.

Jetzt, kann man das Bewerkstelligen das die Virtuelle Maschinen Startet keinen Zugriff oder Login von außen Benötigt so wie das Script zum einbinden der Verschlüsselten festplatte so ablegen das man auch wenn man das system mit einer "Rettungs CD" startet oder die Virtuelle festplatte in ein Zweitsystem einbinden möchte das das Script trotzdem unerreichbar bleibt? Auf die Virtuelle festplatte braucht nicht mehr zugegriffen zu werden das Heist ich als Besitzer muss nicht mehr rein.

Ich hoffe ihr könnt mir Helfen
Gruß
SomeTime
 

Lesen sie die antworten

#1 Marcel Müller
10/02/2014 - 21:42 | Warnen spam
On 10.02.14 20.36, SomeTime wrote:
Ich habe eine Webanwendung Programmiert, die sicher der Rechen kraft des Anwender Rechners bedienen soll.
Nun ist das Problem wenn ich den Usern die Scripte so gebe kann man ziemlich einfach die Scripte kopieren.
Diese jetzt zu verschlüsseln z.B. per ZEND ist möglich, aber dafür gibt es schon decoder die die Verschlüsslung
und die Kosten des Programms zu nichte machen in nicht mal 60 Sekunden. Also bin ich auf die Idee gekommen dem
User eine Virtuelle festplatte zu geben auf der ein Debian Server làuft. Wenn ich jetzt den Webserver und die
Scripte auf eine Eigene Partition Packe und diese Verschlüssel habe ich das Problem wenn ich ein Script in den
"Autostart" lege, ist dieses auslesbar. und wenn ich nur eine Verknüpfung zum (Verschlüsselten) Persönlichen
Ordner des Hauptnutzers erstelle der Ordner ist Verschlüsselt ist bis sich dieser Hauptuser anmeldet geht auch nicht.



Du kannst ein Programm, was beim User laufen soll nicht verschlüsseln.
Das liegt schlicht daran, dass handelsübliche CPUs keinen
verschlüsselten Code ausführen können und folglich der Userrechner immer
den Schlüssel braucht. Der Versuch ist genauso abstrus wie der Versuch
Videodaten zum Fernseher zu verschlüsseln (HDCP), da unser Auge nun mal
auch keine Verschlüsselten Bilder verarbeiten kann, hat auch jeder den
Schlüssel dazu daheim. Man muss schon wirklich krass die Finger auf der
Hardware haben, wenn das funktionieren soll. In Memoriam SACD. Da hat es
geklappt. Der Overhead hat aber einen Durchbruch bei der Verbreitung
verhindert.

Was Du machen kannst ist Obfuscation. Also den Code so entstellen, dass
er nur schwer entzifferbar ist. Die einfachste Form davon ist
Compilieren. Aber das funktioniert nur bei Sprachen ohne Reflections
einigermaßen. Alle anderen lassen sich leidlich gut Decompilieren.
Interpretersprachen wie php eignen sich eigentlich überhaupt nicht.
Andere Methoden entfernen Kommentare und Formatierung, benennen
Identifier um, nutzen dabei nicht gescheit erkennbare Unicode-Zeichen
und so weiter. Virenprogrammierer nutzen zudem gerne
selbstmodifizierenden Code - letztlich auch nur eine Variante von
temporàrer Verschlüsselung.

Ein anderer Ansatz sind Dongles. Also irgendetwas essentielles ist nicht
Bestandteil der Auslieferung. Neben klassischen USB-Dongles fallen
darunter auch Online-Services, die einen Teil der erforderlichen
Funktionalitàt nur über einen von Dir kontrollierten Webserver bereit
stellen. Dieser liefert dann nur an authentifizierte Clients. Teil der
Authentifizierung könnte die Laufzeitumgebung sein. Damit verhindert
man, dass der ganze Kram gerade im SoftICE Debugger o.à. làuft. Mit
einer Auslieferung als VM erschwerst Du Dir eine solche Arbeit aber
eher, denn nichts ist leichter kontrollierbar als eine VM - nàmlich über
den Hypervisor.


Jetzt, kann man das Bewerkstelligen das die Virtuelle Maschinen Startet keinen Zugriff oder Login von außen Benötigt,
so wie das Script zum einbinden der Verschlüsselten festplatte so ablegen das man auch wenn man das system mit einer
"Rettungs CD" startet oder die Virtuelle festplatte in ein Zweitsystem einbinden möchte das das Script trotzdem
unerreichbar bleibt?



Gar nicht.

Auf die Virtuelle festplatte braucht nicht mehr zugegriffen zu werden das Heist ich als
Besitzer muss nicht mehr rein.



Du nicht, aber die Programme, die laufen sollen, müssen rein. Und wenn
die es können, kann es jeder andere auch. Du kannst es mit den Maßnahmen
nur etwas erschweren.
Ob Du aber am Ende nicht mehr Schaden als Nutzen anrichtest, steht auf
einem anderen Blatt. Solche Konstruktionen sind fehleranfàllig und
support-intensiv, weil sie Probleme der Urhebers zum Anwender tragen. In
Memoriam DRM bei Audio. Ein Flop auf ganzer Linie, weil es auf den
Kundengeràten einfach nicht lief (Autoradios, portable Player etc.).
Lediglich ein kleines Grüppchen rund um Apple ist noch am leben geblieben.

Auch die Obfuscation und Zentralserver-Ansàtze sind Zusatzaufwand und
Risiko. Man muss entscheiden, wie weit man gehen möchte.


Marcel

Ähnliche fragen