Schützen Ihre software


Reverse Engineering-Schutz (integrierte und aktive)
Schützen Ihre Software

Alle Programme Sicherheitslücken vorhanden beteiligt; Es liegt
die Programmierer entweder beseitigen oder Erkennung bieten. Von
Reverse Engineering ein Programm, ein Angreifer machen es tun oder nicht tun
alles, was er will. Button-Beschriftungen und Zeichenfolgenkonstanten können sein
so geändert, dass den Benutzer in Kompromisse bei Sicherheit und einer einfachen trick
Vertauschen von Zeigern kann vertrauliche Informationen führen
geleckt. Die einfachste Gegenmaßnahme für diese Art von Angriffen ist
Gewährleistung keine Programmdateien wurden geändert. Ein vielseitiger
Taktik beinhaltet digitale Signaturen und ein Ladeprogramm.
Angreifer werden in der Regel versuchen knacken das Programm vor dem brechen der
Cryptosystem; die meisten Programme sind überraschend schwach gegen
Reverse Engineering.
Ein Programm ist eine Folge von Anweisungen, die lokal gespeichert; Wenn der Benutzer
Das Programm ausführen kann, dann er können Reverse-Engineering, und ändern sie
seinem Willen. Mit einem guten Debugger kann ein Angreifer das Programm verfolgen.
durch seine Schnittstelle Nachrichten und Prozeduraufrufe. Es ist wichtig
zu verstehen, dass alle Programme zurückentwickelt, können aber die
Aufgabe kann sehr schwer gemacht werden. Es ist üblich gewesen.
Jahre bis: sicherheitsrelevante Funktionen zu tarnen, streuen Sie Köder
Funktionsaufrufe und Anti-Debuggen von Prozeduren implementieren. Diese
Praktiken machen nicht Programme manipulationssichere in irgendeiner Weise, aber Sie
sicherlich machen sie transportable. Es gibt keine einfache Lösung für
dieses Problem, aber das wahre Ziel bleibt, um zu verhindern, dass das Programm aus
geändert wird.
Zeichenfolgen, die in einem Programm enthaltenen haben enormen Einfluss, und
ein Sicherheitsrisiko kann sein. Sie dienen zur Kommunikation mit der
Benutzer; Wenn Zeichenfolgen ersetzt werden, mit irreführenden Informationen ein
Angreifer 'Sicherheit gefährdet' Nachrichten zu entfernen, und verhindern
der Benutzer erkennt eindringen. Diese Angriffe erfordern nur eine
einfachen hex-Editor, und sind sehr leicht zu erreichen. Es gibt viele Möglichkeiten
sein Angriff schwer zu machen. Wenn die Zeichenfolgen ordnungsgemäß, verschlüsselt sind
ein Angreifer müsste: Reverse-Engineering des Programms finden die
Schlüssel, die Entschlüsselung-Funktionen zu extrahieren, lösen die Verschlüsselung
Funktionen (sie sind nicht im Programm!), die gefälschten Zeichenfolgen zu verschlüsseln
und tauschen Sie die Zeichenfolgen. Mit cleveren Einsatz von Zeigern kann der Schlüssel sein.
im gesamten Quellcode bestreut und rekombiniert ohne
Funktionsaufrufe ignoriert, die einem Angreifer Aufmerksamkeit erregen würde.
Zeichenfolgen müssen ausgeblendet werden, um sicherzustellen, dass Benutzer keine falsche übergeben werden
Nachrichten und damit Kompromisse bei der Sicherheit.
Zeiger bieten reichliche Möglichkeiten, Daten undicht Verwüstung rejek.
Stellen Sie sich eine Situation, wo ein Zeiger auf einen Datensatz des Benutzers
Programmeinstellungen wurde getauscht, mit einem Zeiger auf den Schlüssel des Benutzers, und
der Schlüssel wurde geschrieben, um die Registrierung draußen im freien für die
Angreifer zu greifen. Diese Situationen sind nicht sehr oft von gehört
Da Programme ungeschützt und einfachere Mittel zur Erlangung sind
Daten stehen in der Regel für Angreifer. Wenn Sie den Schlüssel 'Schlüssel' zu benennen

nichts ist dem des Angreifers Phantasie überlassen. Es ist sehr leicht zu
hinzufügen:
'#define wichtige BtnOkClicked'
am Anfang des Quellcodes auf alle Verweise auf Umbenennen
'Schlüssel' und dabei den Quellcode klar und konsistent.
'BtnOkClicked' ist sehr irreführend und von Angreifern ignoriert werden
für eine sehr lange Zeit, wenn Sie die Prozedur aus aufrufen wird aufgerufen
'GetKey'. Es ist wichtig, dass das Benennungsschema nicht verrät
die Zeiger, Variablen und Prozeduren sicherheitsrelevant sind. Es
ist einfach genug, um gefälschte Version der Source code zu machen
wird also mit mehrdeutigen Namen für die endgültige Version kompiliert werden
das Reverse Engineering zeigt keine wichtige Informationen aus der
Namensschema. Namen geben Angreifern deutliche Hinweise über eine
Verwendung des Zeigers; Verwenden Sie diese als Vorteil zu verwirren und Technik
Angreifer.
Entwickler ausführen oft Prüfsummen oder Hash-Funktionen auf die ausführbare Datei
und vergleichen Sie es mit einen hartcodierten Wert ins Programm. Es gibt eine
einige Probleme, die von dieser Gegenmaßnahme entstehen. Ein Angreifer nur
ändern eine bedingte Anweisung aus 'Wenn dann =', 'wenn <>
dann'nach demselben Verfahren unabhängig davon, ob die
Prüfsummen übereinstimmen oder nicht. Natürlich können Sie dies tarnen
bedingte Anweisung aber ausweichen dieser Gegenmaßnahmen ist keine
Problem für einen erfahrenen Cracker. Einfach überprüfen, wenn eine Datei
Es reicht nicht aus, verändert; ändern im Idealfall die ausführbare Datei rendern würde
Es ist nicht praktikabel.
Digitale Signaturen bieten eine sehr solide und beruhigend. Von
die ausführbare Datei signieren Sie 2 Dinge sicherstellen: jeder ausführen kann die
Programm, und nur Sie können erstellen oder ändern es. Für einen Angreifer
Änderung des Programms, er müsste, um die digitale Signatur zu brechen
-Algorithmus oder den privaten Schlüssel. Sie können entweder einen nicht signierten Teil verwenden.
des Programms, um den Rest des Programms zu entziffern, oder verwenden Sie ein
externes Programm; Dies ist ein Ladeprogramm genannt. Entweder
Fall der Angreifer wird nur den öffentlichen Schlüssel kennen. Wenn ein Angreifer
ändert die ausführbare Datei, die er nicht richtig unterzeichnen können,
ermöglicht eine einfache Erkennung. Eine andere Sorte dieses Schutzes umfasst
den öffentlichen Schlüssel immer von einem Server zu verhindern, dass den Angreifer
ändern den öffentlichen Schlüssel in das Programm hartcodiert.
Es wird empfohlen, um Gegenmaßnahmen zu kombinieren. Z. B. digital
Signaturen können in Verbindung mit einer Prüfsumme verwendet werden. Diese Methode
befindet sich hinter der Microsoft Authenticode-Signaturen; Teil der CryptoAPI
Werkzeuge. Zertifizierte Programme sind garantiert, um aus dem angegebenen kommen
Quelle und unverändert zu sein. Das Problem mit Authenticode ist die
Programm ist nur geschützt, als online-Inhalte und einmal auf Ihrem
Festplatte, gibt es keine Garantie. Aufgrund der Komplexität in
Programme entwerfen, die digitale Signaturen zu, nativ, sehr beschäftigen
Einige Implementierungen werden verwendet, aber es ist wahrscheinlich etwas Abwechslung von Ihnen
wird in den meisten Anwendungen im nächsten Jahrzehnt als Sicherheit eingebaut werden
Bedenken der Verbraucher Prioritäten zu erhöhen.
(C) Copyright DrMungkee 2000









Schützen Ihre software


Schützen Ihre software : Mehreren tausend Tipps, um Ihr Leben einfacher machen.


Reverse Engineering-Schutz (integrierte und aktive)
Schützen Ihre Software

Alle Programme Sicherheitslücken vorhanden beteiligt; Es liegt
die Programmierer entweder beseitigen oder Erkennung bieten. Von
Reverse Engineering ein Programm, ein Angreifer machen es tun oder nicht tun
alles, was er will. Button-Beschriftungen und Zeichenfolgenkonstanten können sein
so geändert, dass den Benutzer in Kompromisse bei Sicherheit und einer einfachen trick
Vertauschen von Zeigern kann vertrauliche Informationen führen
geleckt. Die einfachste Gegenmaßnahme für diese Art von Angriffen ist
Gewährleistung keine Programmdateien wurden geändert. Ein vielseitiger
Taktik beinhaltet digitale Signaturen und ein Ladeprogramm.
Angreifer werden in der Regel versuchen knacken das Programm vor dem brechen der
Cryptosystem; die meisten Programme sind überraschend schwach gegen
Reverse Engineering.
Ein Programm ist eine Folge von Anweisungen, die lokal gespeichert; Wenn der Benutzer
Das Programm ausführen kann, dann er können Reverse-Engineering, und ändern sie
seinem Willen. Mit einem guten Debugger kann ein Angreifer das Programm verfolgen.
durch seine Schnittstelle Nachrichten und Prozeduraufrufe. Es ist wichtig
zu verstehen, dass alle Programme zurückentwickelt, können aber die
Aufgabe kann sehr schwer gemacht werden. Es ist üblich gewesen.
Jahre bis: sicherheitsrelevante Funktionen zu tarnen, streuen Sie Köder
Funktionsaufrufe und Anti-Debuggen von Prozeduren implementieren. Diese
Praktiken machen nicht Programme manipulationssichere in irgendeiner Weise, aber Sie
sicherlich machen sie transportable. Es gibt keine einfache Lösung für
dieses Problem, aber das wahre Ziel bleibt, um zu verhindern, dass das Programm aus
geändert wird.
Zeichenfolgen, die in einem Programm enthaltenen haben enormen Einfluss, und
ein Sicherheitsrisiko kann sein. Sie dienen zur Kommunikation mit der
Benutzer; Wenn Zeichenfolgen ersetzt werden, mit irreführenden Informationen ein
Angreifer 'Sicherheit gefährdet' Nachrichten zu entfernen, und verhindern
der Benutzer erkennt eindringen. Diese Angriffe erfordern nur eine
einfachen hex-Editor, und sind sehr leicht zu erreichen. Es gibt viele Möglichkeiten
sein Angriff schwer zu machen. Wenn die Zeichenfolgen ordnungsgemäß, verschlüsselt sind
ein Angreifer müsste: Reverse-Engineering des Programms finden die
Schlüssel, die Entschlüsselung-Funktionen zu extrahieren, lösen die Verschlüsselung
Funktionen (sie sind nicht im Programm!), die gefälschten Zeichenfolgen zu verschlüsseln
und tauschen Sie die Zeichenfolgen. Mit cleveren Einsatz von Zeigern kann der Schlüssel sein.
im gesamten Quellcode bestreut und rekombiniert ohne
Funktionsaufrufe ignoriert, die einem Angreifer Aufmerksamkeit erregen würde.
Zeichenfolgen müssen ausgeblendet werden, um sicherzustellen, dass Benutzer keine falsche übergeben werden
Nachrichten und damit Kompromisse bei der Sicherheit.
Zeiger bieten reichliche Möglichkeiten, Daten undicht Verwüstung rejek.
Stellen Sie sich eine Situation, wo ein Zeiger auf einen Datensatz des Benutzers
Programmeinstellungen wurde getauscht, mit einem Zeiger auf den Schlüssel des Benutzers, und
der Schlüssel wurde geschrieben, um die Registrierung draußen im freien für die
Angreifer zu greifen. Diese Situationen sind nicht sehr oft von gehört
Da Programme ungeschützt und einfachere Mittel zur Erlangung sind
Daten stehen in der Regel für Angreifer. Wenn Sie den Schlüssel 'Schlüssel' zu benennen

nichts ist dem des Angreifers Phantasie überlassen. Es ist sehr leicht zu
hinzufügen:
'#define wichtige BtnOkClicked'
am Anfang des Quellcodes auf alle Verweise auf Umbenennen
'Schlüssel' und dabei den Quellcode klar und konsistent.
'BtnOkClicked' ist sehr irreführend und von Angreifern ignoriert werden
für eine sehr lange Zeit, wenn Sie die Prozedur aus aufrufen wird aufgerufen
'GetKey'. Es ist wichtig, dass das Benennungsschema nicht verrät
die Zeiger, Variablen und Prozeduren sicherheitsrelevant sind. Es
ist einfach genug, um gefälschte Version der Source code zu machen
wird also mit mehrdeutigen Namen für die endgültige Version kompiliert werden
das Reverse Engineering zeigt keine wichtige Informationen aus der
Namensschema. Namen geben Angreifern deutliche Hinweise über eine
Verwendung des Zeigers; Verwenden Sie diese als Vorteil zu verwirren und Technik
Angreifer.
Entwickler ausführen oft Prüfsummen oder Hash-Funktionen auf die ausführbare Datei
und vergleichen Sie es mit einen hartcodierten Wert ins Programm. Es gibt eine
einige Probleme, die von dieser Gegenmaßnahme entstehen. Ein Angreifer nur
ändern eine bedingte Anweisung aus 'Wenn dann =', 'wenn <>
dann'nach demselben Verfahren unabhängig davon, ob die
Prüfsummen übereinstimmen oder nicht. Natürlich können Sie dies tarnen
bedingte Anweisung aber ausweichen dieser Gegenmaßnahmen ist keine
Problem für einen erfahrenen Cracker. Einfach überprüfen, wenn eine Datei
Es reicht nicht aus, verändert; ändern im Idealfall die ausführbare Datei rendern würde
Es ist nicht praktikabel.
Digitale Signaturen bieten eine sehr solide und beruhigend. Von
die ausführbare Datei signieren Sie 2 Dinge sicherstellen: jeder ausführen kann die
Programm, und nur Sie können erstellen oder ändern es. Für einen Angreifer
Änderung des Programms, er müsste, um die digitale Signatur zu brechen
-Algorithmus oder den privaten Schlüssel. Sie können entweder einen nicht signierten Teil verwenden.
des Programms, um den Rest des Programms zu entziffern, oder verwenden Sie ein
externes Programm; Dies ist ein Ladeprogramm genannt. Entweder
Fall der Angreifer wird nur den öffentlichen Schlüssel kennen. Wenn ein Angreifer
ändert die ausführbare Datei, die er nicht richtig unterzeichnen können,
ermöglicht eine einfache Erkennung. Eine andere Sorte dieses Schutzes umfasst
den öffentlichen Schlüssel immer von einem Server zu verhindern, dass den Angreifer
ändern den öffentlichen Schlüssel in das Programm hartcodiert.
Es wird empfohlen, um Gegenmaßnahmen zu kombinieren. Z. B. digital
Signaturen können in Verbindung mit einer Prüfsumme verwendet werden. Diese Methode
befindet sich hinter der Microsoft Authenticode-Signaturen; Teil der CryptoAPI
Werkzeuge. Zertifizierte Programme sind garantiert, um aus dem angegebenen kommen
Quelle und unverändert zu sein. Das Problem mit Authenticode ist die
Programm ist nur geschützt, als online-Inhalte und einmal auf Ihrem
Festplatte, gibt es keine Garantie. Aufgrund der Komplexität in
Programme entwerfen, die digitale Signaturen zu, nativ, sehr beschäftigen
Einige Implementierungen werden verwendet, aber es ist wahrscheinlich etwas Abwechslung von Ihnen
wird in den meisten Anwendungen im nächsten Jahrzehnt als Sicherheit eingebaut werden
Bedenken der Verbraucher Prioritäten zu erhöhen.
(C) Copyright DrMungkee 2000


Schützen Ihre software

Schützen Ihre software : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Schützen Ihre software
Wiezutun
Freunden empfehlen
  • gplus
  • pinterest

Kommentar

Einen Kommentar hinterlassen

Wertung