Pythonscript "verschlüsseln"

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Montag 30. Juni 2008, 09:21

n4p hat geschrieben:Aber so richtig Lösungsvorschläge waren das ja jetzt auch nicht. Wie verschlüsselt man denn Beispielsweise ein Kennwort sinnvoll?

Ja, eben. Das geht nicht sinnvoll, weil man zum verschlüsseltn immer den Schlüssel irgendwie beilegen muss, sonst ist der verschlüsselte Content nicht verschlüsselter Content sondern Datenmüll.

Das ist ja auch exakt das Problem mit CSS und den Bluray-Kopierschutz. Wenn der Schlüssel bekannt wird, sind die Daten ungeschützt.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Montag 30. Juni 2008, 11:35

Das einzig Sinnvolle ist eine art Passwort-Safe der mit einem Masterpasswort arbeitet, so wie es z.B. Firefox, Thunderbird machen.
Wenn man aber eh nur ein Passwort speichern möchte, ist das natürlich Sinnlos ;) Das ganze krankt aber nicht an Python, sondern ist IMHO eine konzeptionelle Schwäche der PC Architektur an sich.

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
skypa
User
Beiträge: 97
Registriert: Freitag 5. Januar 2007, 03:13

Beitragvon skypa » Montag 30. Juni 2008, 12:02

Und welche Architektur soll davon nicht betroffen sein?

Bezüglich der Verschlüsselung:

Man kann zwar Passwörter beispielsweise mit RSA, AES oder RC4 kodieren.
Nur bringt das nix ^^

Zumindest in einem python script. Musst dir was überlegen... möglich wäre vlt die Verifizierung in einem C-Programm zu packen, und darin versuchen es durch Algorithmen noch zu verschleiern.

Ist nur ne spontane Idee, vlt aber auch nur totaler Humbug :D
Karl
User
Beiträge: 252
Registriert: Freitag 29. Juni 2007, 17:49

Beitragvon Karl » Montag 30. Juni 2008, 12:25

Du kannst natürlich auch den Source des Programms auf einem Server speichern, ihn nach einer Passwortabfrage (die dann über einen Server nicht mehr allzu leicht zu manipulieren ist) an den Client schicken und dann das eigentliche Programm starten :o
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Montag 30. Juni 2008, 12:55

skypa hat geschrieben:Und welche Architektur soll davon nicht betroffen sein?

Keine. Aber PCs sind da relativ weit offen, in anderen Archtekturen kann man etwa die Kommunikation über die Busse noch zusätzlich verschlüsseln, wie das Konsolen teilweise machen.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
shakebox
User
Beiträge: 175
Registriert: Montag 31. März 2008, 17:01

Beitragvon shakebox » Montag 30. Juni 2008, 13:03

mal ne ganz dumme Frage: warum kann man nicht das Passwort verschluesselt im Script speichern? Klar muss es eine Verschluesselung sein die momentan nicht in brauchbarer Zeit per Bruteforce entschluesselbar ist. Aber wenn man den verschluesselt speichert und die Eingabe des Users dann auch gleich verschluesselt und beides vergleicht, muesste das doch passen!?

Oder versteh ich grad die Frage/Aufgabenstellung voellig falsch?
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Montag 30. Juni 2008, 13:08

shakebox hat geschrieben:mal ne ganz dumme Frage: warum kann man nicht das Passwort verschluesselt im Script speichern? Klar muss es eine Verschluesselung sein die momentan nicht in brauchbarer Zeit per Bruteforce entschluesselbar ist. Aber wenn man den verschluesselt speichert und die Eingabe des Users dann auch gleich verschluesselt und beides vergleicht, muesste das doch passen!?

Wenn man es verschlüsselt braucht man einen Key. Woher soll der Key kommen? Aus dem Skript? Dann kann der Angreifer auch den Key lesen, damit ist die ganze Verschlüsselung unwirksam.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Karl
User
Beiträge: 252
Registriert: Freitag 29. Juni 2007, 17:49

Beitragvon Karl » Montag 30. Juni 2008, 13:16

Man kann auch den md5-Wert oder so speichern (wie das häufig in Webanwendungen gemacht wird, wenn man Passwörter in Datenbanken speichert) und dann den md5-Wert der Eingabe mit dem gespeichertem Wert vergleichen.
Aber dann kann man das Script auch gleich so manipulieren, dass das ganze unwirksam wird, wenn man eh schon den Plaintext hat, aus dem man das gespeicherte Passwort rauslesen kann.
Imo geht das ganze ohne irgendwelche umständlichen Wege über das Inet (wie ich vorhin in einem Post beschrieben habe) nicht wirklich.
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Beitragvon Rebecca » Montag 30. Juni 2008, 13:27

shakebox hat geschrieben:Oder versteh ich grad die Frage/Aufgabenstellung voellig falsch?

Es geht ja darum, dass jemand seinen Code durch Verschluesselung vor dem Blick des Users schuetzen moechte. Das heisst man will dem User den Schluessel/das Passwort nicht geben.
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
shakebox
User
Beiträge: 175
Registriert: Montag 31. März 2008, 17:01

Beitragvon shakebox » Montag 30. Juni 2008, 13:54

Rebecca hat geschrieben:Es geht ja darum, dass jemand seinen Code durch Verschluesselung vor dem Blick des Users schuetzen moechte. Das heisst man will dem User den Schluessel/das Passwort nicht geben.


Ah, das war mein Missverstaendnis. Danke fuer die Erhellung. Wusste doch dass der Fehler bei mir liegen muss ;-)
n4p
User
Beiträge: 55
Registriert: Dienstag 10. Juni 2008, 11:05

Beitragvon n4p » Montag 30. Juni 2008, 14:06

Ich muss nochmal blöd zwischenfragen :)
Was passiert denn mit dem Code, wenn man daraus eine EXE-Datei macht und die evtl nochmal packt oder sonstwie unleserlicher macht als sie sowieso schon ist. Kann dann der normale Endverbraucher sowas wie ein Kennwort mit sowas wie einem Texteditor noch auslesen oder wäre das schon ein Ansatz für ein Programm das jetzt nicht hochsensible Daten verschleiern soll? Und natürlich auch nur für ein Programm was ausschließlich unter Windows verwendet werden kann (oder durchs Nasenloch über den Magen zurück ins Auge über Wine unter Linux)
Karl
User
Beiträge: 252
Registriert: Freitag 29. Juni 2007, 17:49

Beitragvon Karl » Montag 30. Juni 2008, 14:26

n4p hat geschrieben:Ich muss nochmal blöd zwischenfragen :)
Was passiert denn mit dem Code, wenn man daraus eine EXE-Datei macht und die evtl nochmal packt oder sonstwie unleserlicher macht als sie sowieso schon ist. Kann dann der normale Endverbraucher sowas wie ein Kennwort mit sowas wie einem Texteditor noch auslesen oder wäre das schon ein Ansatz für ein Programm das jetzt nicht hochsensible Daten verschleiern soll? Und natürlich auch nur für ein Programm was ausschließlich unter Windows verwendet werden kann (oder durchs Nasenloch über den Magen zurück ins Auge über Wine unter Linux)

Du kannst damit machen, was du willst, man kann das Passwort theoretisch immer noch auslesen, wobei der Aufwand sich mit einigen Methoden sicherlich ziemlich stark erhöhen würde.
Das Passwort aus einer kompilierten .exe zu lesen ist sicherlich um einiges schwerer, als das Passwort aus einer normalen Textdatei auszulesen, aber immer noch nicht unmöglich.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Montag 30. Juni 2008, 15:59

Karl hat geschrieben:Das Passwort aus einer kompilierten .exe zu lesen ist sicherlich um einiges schwerer, als das Passwort aus einer normalen Textdatei auszulesen, aber immer noch nicht unmöglich.

Nein, nicht umbedingt, schon mal ``strings`` auf einem Executable ausgeführt?

Wenn es darum geht, dass das Passwort nicht in Plain-Text zu sehen ist, dann kann man ja Nullbytes zwischen die Buchstaben setzen oder rot13 verwenden. Ist zwar keine Sicherheit, aber das Passwort ist nicht mit dem Texteditor sichtbar.

Hint: Sachen die man mit UPX packt kann man genausoleicht auch wieder entpacken.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Dienstag 1. Juli 2008, 07:46

Zum Thema sourcecode verschlüsseln: [wiki]FAQ#IchWillAberUnbedingtEinenCompiler[/wiki]

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Beitragvon Sr4l » Dienstag 1. Juli 2008, 11:36

Reverse Engineering für Neugierige
http://www.chaostal.de/cgi-bin/parser.c ... veng-intro

Der Autor gibt einen kleinen Einblick in Reverse Engineering von einem kleinen C Programm. Man kann fast sagen nur die Komplexität bzw. Größe des Programms machen es erst schwierig es zu "cracken" ;-)

Wer ist online?

Mitglieder in diesem Forum: Google [Bot]