Verschlüsselung
-
Um dein Programm auszuführen, musst du deine Daten irgendwie dekodieren. Da man einfach dein Programm analysieren kann wie es das macht, kann auch jeder andere deine Daten dekodieren. Die Verschlüsselung deines Programms verschiebt das Problem bloß eine Stufe. Denn um das Programm auszuführen, muss es erst durch ein anderes kleines Programm dekodiert werden. Und dieses kann man auch wieder analysieren. Und so weiter.
Die Techniken dafür sind vom Prinzip her sehr einfach: Man kann a) Dein Programm dekompilieren und sich angucken, eventuell an entscheidenden Stellen verändern um die Schutzmechanismen auszuhebeln oder b) unter kontrollierten Bedingungen (Debugger) dein Programm bei der Dekodierung beobachten oder c) Dein Programm einfach laufen lassen und sich die von deinem Programm dekodierten Daten direkt aus dem Speicher deines Programms holen.
Das Grundprinzip ist immer das gleiche: Wenn dein Programm ohne externe Eingabe an die Daten kommt, dann muss der Schlüssel irgendwo im Programm sein und da man ja das Programm hat, hat man auch den Schlüssel. Es ist bloß eine Frage, wie gut du den Schlüssel versteckst.
-
Achso, alles klar. Danke
-
Naja gehn tut es auf alle fälle es gibt nen Spiel aus china die haben das alles in irgendwelche Container gepackt und ich kenne gute Leute die versucht haben das auf zu bekommen und es wird jetzt schon fast nen Jahr versucht und es hat noch keiner geschafft.
-
@SeppJ:
Ja, die Grundprinzipien sind denkbar einfach.Trotzdem gibt es immer wieder Programme an denen sich die Hacker (gute Hacker) lange Zeit die Zähne ausbeissen. Bis es dann doch endlich einer schafft, was wohl immer passiert, wenn das Programm nur interessant genug ist.
Zu sagen es würde nichts bringen ist daher genau so falsch wie zu sagen es gäbe 100% sichere Schutzmechanismen.
Und für das was Otto-Anfänger-Programmierer hier so zusammenprogrammiert, werden wohl relativ einfache Schutzmechanismen ausreichen -- weil es nämlich kaum jmd. interessiert was man als Anfänger so zusammenprogrammiert.
Wenn man nur Noobs davon abhalten will die eigenen Assets zu verwenden reicht es schon die Asset-Files XOR zu verschlüsseln. Wobei natürlich nichts dagegen spricht "echte" Verschlüsselungsverfahren zu verwenden, wenn man Lust hast sich in entsprechende Libraries einzulesen oder sowas gar selbst zu programmieren.
-
Azalen schrieb:
Naja gehn tut es auf alle fälle es gibt nen Spiel aus china die haben das alles in irgendwelche Container gepackt und ich kenne gute Leute die versucht haben das auf zu bekommen und es wird jetzt schon fast nen Jahr versucht und es hat noch keiner geschafft.
Nochmal: grundsätzlich hat SeppJ schon Recht. Es gibt *keine* 100% sicherer Möglichkeit Daten zu schützen, wenn das Programm sie nutzen soll. Es *kann* nicht gehen, das sollte eigentlich klar sein.
Man kann es nur "schwer genug" machen, aber unmöglich machen kann man es nicht.p.S.: OK, es gibt natürlich Möglichkeiten, aber die erfordern zusätzliche Hardware, und dass der Teil des Programms der die Daten nutzen soll auf dieser zusätzlichen Hardware läuft. Dann geht es. Ich denke aber dass du reine Software-Lösungen meinst, und die, wie gesagt, gibt es nicht.
-
Azalen schrieb:
Termidia
heißts nicht Themida

-
Azalen schrieb:
und war ich es will ist ganz einfach ich will nicht 2 Jahre woran arbeiten und dann mir das klauen lassen
muß schon ne extrem coole software sein, dass es jemand juckt was du die letzten 2 jahre gemacht hast...

-
hustbaer schrieb:
p.S.: OK, es gibt natürlich Möglichkeiten, aber die erfordern zusätzliche Hardware, und dass der Teil des Programms der die Daten nutzen soll auf dieser zusätzlichen Hardware läuft. Dann geht es. Ich denke aber dass du reine Software-Lösungen meinst, und die, wie gesagt, gibt es nicht.
Das ist nur eine weitere Obfuskationsschicht, ändert aber nichts am Grundproblem. Auch Systeme dieser Art sind lange geknackt.
Ist aber schon eine ziemlich hohe Hürde, das anzugehen lohnt sich nur für Top-Ziele.
-
SeppJ schrieb:
hustbaer schrieb:
p.S.: OK, es gibt natürlich Möglichkeiten, aber die erfordern zusätzliche Hardware, und dass der Teil des Programms der die Daten nutzen soll auf dieser zusätzlichen Hardware läuft. Dann geht es. Ich denke aber dass du reine Software-Lösungen meinst, und die, wie gesagt, gibt es nicht.
Das ist nur eine weitere Obfuskationsschicht, ändert aber nichts am Grundproblem. Auch Systeme dieser Art sind lange geknackt.
Ist aber schon eine ziemlich hohe Hürde, das anzugehen lohnt sich nur für Top-Ziele.
Das ist keine Obfuskationsschicht, da nichts "verschleiert" wird.
Du hast da nen hübschen Chip wo ein Key drin ist den man nicht auslesen kann.Ob man den Chip irgendwie abschleifen kann ohne den gespeicherten Key zu zerstören, und dann doch irgendwie auslesen... pfuh.
Was ich gehört/gelesen habe ist das mit heutiger Technik nicht möglich. Wobei ich nicht darauf wetten würde
-
hustbaer schrieb:
Ob man den Chip irgendwie abschleifen kann ohne den gespeicherten Key zu zerstören, und dann doch irgendwie auslesen... pfuh.
Was ich gehört/gelesen habe ist das mit heutiger Technik nicht möglich. Wobei ich nicht darauf wetten würde
Punkt ist: Die Hardware liegt vor und kann analysiert werden. Ist natürlich schwieriger als bei Software. Wurde auch schon gemacht.
-
Punkt ist: EC wird trotz der Möglichkeit nur selten aktualisiert. Somit scheint es ja nicht unmöglich zu sein eine ausreichend sichere Methode zu finden.
Dass man audiovisuelle Inhalte bei der Wiedergabe einfach mitschneiden kann liegt in der Natur der Sache. So etwas kann man nicht verhindern. Auch wird man einen Freak mit ausreichend Know-How nicht davon abhalten können, einen Blick in den Arbeitsspeicher zu riskieren und die Daten darin richtig zu interpretieren. Allerdings liegt dieses Know-How jenseits der Vorstellungskraft der meisten Menschen und wird meist auch nicht kommerziell angewendet. Heißt im Klartext, wenn es keinen Freak gibt der einen Sinn im Knacken sieht, dann kannst du lange darauf warten. Da der Sinn meist nur sportlicher Ehrgeiz ist, ein Computer-Spiel zu kaufen dürfte billiger sein, könnte man auch an diesen Punkt ansetzen. Es wäre nicht das erste Problem, welches nicht gelöst wird, weil es zu trivial ist.
100%igen Schutz kann es nicht geben, irgendwie muss man an die Daten wieder kommen und auch der reguläre Weg, ist ein Weg. Man kann aber bereits durch triviale Maßnahmen sehr viel erreichen. Zum Beispiel benenne die Dateien um, damit sie nicht gleich gefunden werden können. Dem Programm ist es egal, wie eine Datei heißt. Damit hast du schon mal alle ausgeschlossen die zufällig an die Daten bei einer Suche im Dateisystem gekommen sind. Für die etwas kreativeres Zeitgenossen kannst du auch mit ungültigen Dateiheadern oder einer Verschlüsselungs-Lib arbeiten. Einen großen Teil der Angreifer kannst du so schon mal Paroli bieten. Leute mit mehr krimineller Energie, bzw Know-How kannst du nur schwer mit vertretbaren Aufwand an der Leine halten.
Übrigens gibt es auch Möglichkeiten Abfilmern das Leben schwer zu machen. Es hat sie sicher jeder schonmal gesehen die hell-dunklen Streifen, die über das Bild laufen, wenn man einen Monitor abfilmt. Um nur ein einfaches Beispiel zu nennen, dass man sicher genauso einfach behoben kann. Allerdings kommt hier ein zweiter erschwerender Faktor hinzu. Man braucht nicht nur das Know-How, sonder auch das entsprechende Equipment.
-
Paul Müller schrieb:
Punkt ist: EC wird trotz der Möglichkeit nur selten aktualisiert. Somit scheint es ja nicht unmöglich zu sein eine ausreichend sichere Methode zu finden.
EC=EC-Karte? Da liegt ein völlig anderer Fall vor, da zusätzlich ein Passwort notwendig ist, um die Karte zu benutzen.
Dass man audiovisuelle Inhalte bei der Wiedergabe einfach mitschneiden kann liegt in der Natur der Sache. So etwas kann man nicht verhindern. Auch wird man einen Freak mit ausreichend Know-How nicht davon abhalten können, einen Blick in den Arbeitsspeicher zu riskieren und die Daten darin richtig zu interpretieren. Allerdings liegt dieses Know-How jenseits der Vorstellungskraft der meisten Menschen und wird meist auch nicht kommerziell angewendet. Heißt im Klartext, wenn es keinen Freak gibt der einen Sinn im Knacken sieht, dann kannst du lange darauf warten. Da der Sinn meist nur sportlicher Ehrgeiz ist, ein Computer-Spiel zu kaufen dürfte billiger sein, könnte man auch an diesen Punkt ansetzen. Es wäre nicht das erste Problem, welches nicht gelöst wird, weil es zu trivial ist.
Mit Raubkopien wird durchaus Geld gemacht.
Übrigens gibt es auch Möglichkeiten Abfilmern das Leben schwer zu machen. Es hat sie sicher jeder schonmal gesehen die hell-dunklen Streifen, die über das Bild laufen, wenn man einen Monitor abfilmt.
Das ist doch keine technische Schutzmaßnahme sondern eine Eigenschaft von Röhrenmonitoren!
-
[quote="SeppJ"]EC=EC-Karte? Da liegt ein völlig anderer Fall vor, da zusätzlich ein Passwort notwendig ist, um die Karte zu benutzen. [quote]
Es hindert dich ja niemand daran auch in die weit verbreitete Nutzung von, wie auch immer gearteten, Serien-Nummern einzusteigen. Der Key kann auch aus dem Netz bezogen werden. Da sind der Kreativität im Allgemeinen keine Grenzen gesetzt. Eine gute Schutzmaßnahme hat auch die Eigenschaft, dass sie nicht mit 0815-Erkenntnissen ausgehebelt werden kann.[quote="SeppJ"]
Mit Raubkopien wird durchaus Geld gemacht.Dazu kann ich nur sagen, selbst Schuld. Auch bei einer illegalen Quelle gibt es das beste P/L-Verhältnis und das ist meist kostenlos. Und wie schon angemerkt lohnt sich das auch nur bei wirklich teuren Artikeln.
[quote="SeppJ"]
Das ist doch keine technische Schutzmaßnahme sondern eine Eigenschaft von Röhrenmonitoren!Nein das kann auch bei TFT-Displays passieren, zumindest wenn sie analog angesteuert werden. Wenn man diesen Effekt ausnutzen wollte müsste man ihn aber eh im Signal übertragen. Die Kunst ist die Informationen in das Bild/den Ton einzubauen, die zwar von der Elektronik verarbeitet werden können, aber vom Menschen nicht wahrgenommen werden. Menschen die bei CS 300fps benötigen um ein flüssiges Bild erkennen zu können haben so zwar das nachsehen, aber der gemeine TFT der maximal 60 Bilder wieder gibt hat für den normalen Menschen genug Spielraum. Den Effekt kann man in der Elektronik noch verstärken, wenn man mit verschieden Bildraten arbeitet. Im Monitor etwas schön krummes und die Kamera zeichnet mit 30fps auf. Dem Auge ist das egal, weil es keine diskrete Abtastung hat.
-
SeppJ schrieb:
hustbaer schrieb:
Ob man den Chip irgendwie abschleifen kann ohne den gespeicherten Key zu zerstören, und dann doch irgendwie auslesen... pfuh.
Was ich gehört/gelesen habe ist das mit heutiger Technik nicht möglich. Wobei ich nicht darauf wetten würde
Punkt ist: Die Hardware liegt vor und kann analysiert werden. Ist natürlich schwieriger als bei Software. Wurde auch schon gemacht.
Die Hardware zu analysieren reicht nicht, man muss auch die Daten (=den Key) auslesen können. Wenn die verschlüsselten Daten auch Code enthalten kann man ohne Key nichtmal wissen was der Code genau tut der im ASIC läuft.
Bei einem ASIC der den Key per Antifuse oder ähnlichem reingebrannt hat kann ich mir ja noch vorstellen dass man mit nem Rastertunnel-Mikroskop oder ähnlichem was ausrichten könnte.
Nur was machst du wenn der Key in einem Register oder SRAM im ASIC liegt, das über ne Batterie oder einen Gold-Cap am Leben gehalten wird?
Ich weiss nicht ob jmd. solche "hochparanoiden" Teile baut, aber ich bin mir fast sicher, dass man mit heutiger Technik Chips bauen kann, deren Keys man mit heutiger Technik nicht auslesen kann.
-
Nein das kann auch bei TFT-Displays passieren, zumindest wenn sie analog angesteuert werden.
So lange das TFT nicht gepulst ist (was AFAIK nur bei Fernsehern verwendet wird, und da auch schon wieder aus der Mode gekommen ist - Stichwort "scanning backlight"), gibt es bei TFTs solche Effekte nicht.
Völlig unabhängig davon ob das TFT analog oder digital angesteuert wird.Mal ganz davon abgesehen dass das alles nur Nervtöter sind, aber keine echten Hindernisse für irgendwas.
-
hustbaer schrieb:
Nur was machst du wenn der Key in einem Register oder SRAM im ASIC liegt, das über ne Batterie oder einen Gold-Cap am Leben gehalten wird?
Wenn ales zu aufwändig wird, dann wähle ich Möglichkeit c): Lass die Hardware ihr Ding machen und lese einfach hinterher alles was ich will direkt aus dem Arbeitsspeicher oder auf dem Weg zum Monitor.
-
SeppJ schrieb:
hustbaer schrieb:
Nur was machst du wenn der Key in einem Register oder SRAM im ASIC liegt, das über ne Batterie oder einen Gold-Cap am Leben gehalten wird?
Wenn ales zu aufwändig wird, dann wähle ich Möglichkeit c): Lass die Hardware ihr Ding machen und lese einfach hinterher alles was ich will direkt aus dem Arbeitsspeicher oder auf dem Weg zum Monitor.
Welcher Arbeitsspeicher?
Das RAM im ASIC an das du nicht dran kommst?
-
hustbaer schrieb:
Welcher Arbeitsspeicher?
Das RAM im ASIC an das du nicht dran kommst?Ach so, du meinst es läuft ALLES in einem Gerät und nicht als Zusatzgerät für den Computer? So wie Leute die die PS3 oder das IPhone hacken wollen? Ja, das ist wirklich sehr schwer und nur über Reverse-Engineering der Hardware zu knacken. Bei der PS3* und dem IPhone war genügend Interesse da, dass dies tatsächlich gemacht wurde.
Zum batteriegepufferten Key: Dann manipuliere ich eben die Hardware. Isoliere das key-Modul und lasse meine eigene Software gezielt das Modul ansprechen. Oder möglicherweise sind auch mikroskopartige Angriffe möglich. Mit einer Induktionssonde kann man möglicherweise herausfinden, welcher Zustand in einem SRAM gespeichert ist.
*: Was ein Zufall, dass gerade heute das System wohl endgültig geknackt wurde

-
SeppJ schrieb:
hustbaer schrieb:
Welcher Arbeitsspeicher?
Das RAM im ASIC an das du nicht dran kommst?Ach so, du meinst es läuft ALLES in einem Gerät und nicht als Zusatzgerät für den Computer? So wie Leute die die PS3 oder das IPhone hacken wollen? Ja, das ist wirklich sehr schwer und nur über Reverse-Engineering der Hardware zu knacken. Bei der PS3* und dem IPhone war genügend Interesse da, dass dies tatsächlich gemacht wurde.
Alles oder Teile, ganz egal. Dass du an die Teile drankommst die - unverschlüsselt - ins RAM des "normalen" PCs wandern ist klar. Man muss sich halt sehr genau überlegen welche Daten man wo wie rumschicken kann wenn man so ein System entwirft.
Zum batteriegepufferten Key: Dann manipuliere ich eben die Hardware. Isoliere das key-Modul und lasse meine eigene Software gezielt das Modul ansprechen. Oder möglicherweise sind auch mikroskopartige Angriffe möglich. Mit einer Induktionssonde kann man möglicherweise herausfinden, welcher Zustand in einem SRAM gespeichert ist.
Dann lasse ich den ASIC permanent laufen, und verschiebe den Key wild durch alle Register, und rotiere ihn und...

-
hustbaer schrieb:
Dann lasse ich den ASIC permanent laufen, und verschiebe den Key wild durch alle Register, und rotiere ihn und...

Und ich baue mir ein Supermikroskop, dass dies alles mit hoher zeitlicher und räumlicher Auflösung filmen kann...
Es ist schon klar, dass der Aufwand zum Knacken irgendwann unmöglich hoch wird. Aber gleichzeitig hast du deinen Verschlüsselungsaufwand auch unpraktisch hoch gemacht. Es bleibt aber, dass man etwas was man komplett in der Hand hat prinzipiell analysieren kann, egal ob Software oder Hardware. Solange der Schlüssel nicht physisch vor mit geschützt ist, kann ich ihn irgendwie herausbekommen.
Man könnte natürlich prinzipiell auch eine Gedankenlesemaschine mit Fernwirkung entwickeln um geheime Passwörter direkt aus dem Kopf von Personen zu lesen. Dies fällt wohl unter "praktisch unumgänglich hohe Hürde". Insofern kann man natürlich auch ein Gerät wie von dir vorgeschlagen als unumgängliche Hürde ansehen. Aber die Hürde ist jedenfalls viel niedriger wenn ich das Gerät in der Hand habe.
Und eine reine Softwarehürde ist sogar sehr niedrig, weswegen so etwas routinemäßig geknackt wird.