Reverse engineering

Reverse engineering (auch bekannt als Rückwärtsentwicklung oder Back Engineering) ist ein Prozess oder eine Methode, durch die man versucht, durch zu verstehen deduktive Argumentation wie ein zuvor hergestelltes Gerät, Prozess, System oder ein Stück Software Erfüllt eine Aufgabe mit sehr wenig (wenn überhaupt) Einblicke in genau das. Es ist im Wesentlichen der Prozess, ein System zu öffnen oder zu sezieren, wie es funktioniert, um es zu duplizieren oder zu verbessern. Abhängig vom betrachteten System und der angewandten Technologien kann das während des Reverse Engineering gewonnene Wissen bei der Umwälzung veralteter Objekte, der Durchführung von Sicherheitsanalysen oder dem Lernen, wie etwas funktioniert, dazu beitragen.[1][2]

Obwohl der Prozess spezifisch für das Objekt ist, auf dem er durchgeführt wird, bestehen alle Reverse -Engineering -Prozesse aus drei grundlegenden Schritten, nämlich Informationsextraktion, Modellierung und Überprüfung. Die Informationsextraktion bezieht sich auf die Praxis, alle relevanten Informationen für die Durchführung des Vorgangs zu sammeln. Die Modellierung bezieht sich auf die Praxis, die gesammelten Informationen in ein abstraktes Modell zu kombinieren, das als Leitfaden zum Entwerfen des neuen Objekts oder des neuen Systems verwendet werden kann. Überprüfung bezieht sich auf die Prüfung des Modells, um die Gültigkeit des ausgewählten Zusammenfassung zu gewährleisten.[1] Reverse Engineering gilt in den Bereichen von Technische Informatik, Maschinenbau, Entwurf, elektronisches Ingenieurwesen, Softwareentwicklung, Chemieingenieurwesen,[3] und Systembiologie.[4]

Überblick

Es gibt viele Gründe für die Durchführung von Reverse Engineering in verschiedenen Bereichen. Reverse Engineering hat seinen Ursprung in der Analyse von Hardware für kommerziellen oder militärischen Vorteile.[5]: 13 Der Reverse Engineering -Prozess ist jedoch als solcher nicht mit der Erstellung einer Kopie oder dem Ändern des Artefakts in irgendeiner Weise befasst. Es ist nur ein Analyse zu ableiten Designmerkmale von Produkten mit wenig oder gar keinem zusätzlichen Wissen über die Verfahren, die an ihrer ursprünglichen Produktion verbunden sind.[5]: fünfzehn

In einigen Fällen kann das Ziel des Reverse Engineering -Prozesses einfach a sein Redokumentation von Legacy -Systeme.[5]: fünfzehn[6] Selbst wenn das umgekehrte Produkt das eines Konkurrenten ist, ist das Ziel möglicherweise nicht, es zu kopieren, sondern durchzuführen Wettbewerbsanalyse.[7] Reverse Engineering kann auch zum Erstellen verwendet werden Interoperable Produkte Und trotz einiger enger geschnittener Gesetzgebung der Vereinigten Staaten und der Europäischen Union ist die Rechtmäßigkeit der Verwendung spezifischer Rückwärts-Engineering-Techniken für diesen Zweck seit mehr als zwei Jahrzehnten vor Gericht weltweit heiß umstritten.[8]

Software Reverse Engineering kann dazu beitragen, das Verständnis des zugrunde liegenden Quellcode für die Wartung und Verbesserung der Software zu verbessern. Relevante Informationen können extrahiert werden, um eine Entscheidung für die Softwareentwicklung zu treffen, und grafische Darstellungen des Codes können alternative Ansichten zum Quellcode bieten, welcher Quellcode, welches welche Kann helfen, einen Softwarefehler oder eine Sicherheitsanfälligkeit zu erkennen und zu beheben. Während sich einige Software entwickelt, gehen ihre Entwurfsinformationen und -verbesserungen häufig im Laufe der Zeit verloren, aber diese verlorenen Informationen können normalerweise mit Reverse Engineering wiederhergestellt werden. Der Prozess kann auch dazu beitragen, die Zeit zu verkürzen, die erforderlich ist, um den Quellcode zu verstehen, wodurch die Gesamtkosten der Softwareentwicklung gesenkt werden.[9] Reverse Engineering kann auch dazu beitragen, einen böswilligen Code mit besseren Codedetektoren zu erkennen und zu beseitigen. Das Umkehren eines Quellcodes kann verwendet werden, um alternative Verwendungen des Quellcode zu finden, z. B. das Erkennen der nicht autorisierten Replikation des Quellcode, in dem nicht verwendet werden sollte, oder aufzeigen, wie das Produkt eines Konkurrenten erstellt wurde.[10] Dieser Prozess wird üblicherweise für verwendet "Cracking" -Software und Medien ihre entfernen Kopierschutz,[10]: 7 oder um eine möglicherweise verbesserte Erstellung zu erstellen Kopieren oder sogar a Knockoff, was normalerweise das Ziel eines Konkurrenten oder eines Hackers ist.[10]: 8

Malware Entwickler verwenden häufig Reverse Engineering -Techniken, um Schwachstellen in einem zu finden Betriebssystem zu bauen a Computer Virus Das kann die Systemanfälligkeiten ausnutzen.[10]: 5 Reverse Engineering wird auch in verwendet Kryptanalyse Schwachstellen finden in Substitution Chiffre, Symmetrischer Tastenalgorithmus oder Kryptographie der Öffentlichkeit.[10]: 6

Es gibt andere Verwendungszwecke zum Rückwärtsentwicklungsgenieurwesen:

  • Schnittstelle. Reverse Engineering kann verwendet werden, wenn ein System zur Schnittstelle zu einem anderen System erforderlich ist und wie beide Systeme verhandeln würden. Solche Anforderungen existieren typischerweise für Interoperabilität.
  • Militär oder kommerziell Spionage. Das Erlernen der neuesten Forschungsergebnisse eines Feindes oder des Wettbewerbers, indem Sie einen Prototyp stehlen oder erfassen und abbauen, kann dies zur Entwicklung eines ähnlichen Produkts oder einer besseren Gegenmaßnahme gegen ihn führen.
  • Veralten. Integrierte Schaltkreise werden häufig auf proprietären Systemen entwickelt und auf Produktionslinien aufgebaut, die in nur wenigen Jahren veraltet sind. Wenn Systeme, die diese Teile verwenden, nicht mehr aufrechterhalten werden können, da die Teile nicht mehr hergestellt werden, besteht die einzige Möglichkeit, die Funktionalität in neue Technologien einzubeziehen Neugestaltung Es verwendet neuere Tools, indem das als Leitfaden gewonnene Verständnis verwendet wird. Ein weiteres Problem der Veralterung, das durch Reverse Engineering gelöst werden kann Originalausrüstung Hersteller. Das Problem ist besonders wichtig in militärischen Operationen.
  • Produktsicherheitsanalyse. Dadurch wird untersucht Patentverletzung. Ebenfalls Teil der Produktsicherheitsanalyse besteht darin, sensible Daten durch das Zerlegen und Analysieren des Designs einer Systemkomponente zu erfassen.[11] Eine weitere Absicht kann sein, zu entfernen Kopierschutz oder um Zugriffsbeschränkungen zu umgehen.
  • Wettbewerbsfähige technische Intelligenz. Das ist zu verstehen, was der Konkurrent tatsächlich tut, und nicht, was es sagt, dass es tut.
  • Geld sparen. Wenn Sie herausfinden, was ein Stück Elektronik tun kann, kann ein Benutzer einen separaten Produkt kaufen.
  • Wiederverkündung. Obsolete Objekte werden dann anders wiederverwendet.
  • Entwurf. Produktions- und Designunternehmen wendeten Reverse Engineering auf praktische Handwerksferienprozess an. Die Unternehmen können durch 3D-Scan, 3D-Ummodeling und Neugestaltung an „historischen“ Herstellungssammlungen arbeiten. Im Jahr 2013 stellt Italiener Baldi und Savio Firmino zusammen mit her Universität von Florenz optimierte ihre Innovation, Design und Produktionsprozesse.[12]

Gemeinsame Situationen

Maschinen

Wie computergestütztes Design (CAD) ist populärer geworden, Reverse Engineering ist zu einer praktikablen Methode geworden, um ein 3D -virtuelles Modell eines vorhandenen physischen Teils für die Verwendung in 3D CAD zu erstellen. NOCKEN, CAEoder eine andere Software.[13] Der umgekehrte Engineering-Prozess beinhaltet die Messung eines Objekts und die Rekonstruktion als 3D-Modell. Das physikalische Objekt kann mithilfe von gemessen werden 3D -Scanning Technologien wie Cmm, Laserscanner, Strukturierte Lichtendigitalisierer, oder Industrielles CT -Scannen (Computertomographie). Die gemessenen Daten allein, normalerweise als als Punktwolke, fehlt topologische Informationen und Designabsichten. Ersteres kann wiederhergestellt werden, indem die Punktwolke in ein dreieckiges Netz umgewandelt wird. Reverse Engineering zielt darauf ab, über die Herstellung eines solchen Netzes hinauszugehen und die Entwurfsabsicht in Bezug auf einfache analytische Oberflächen gegebenenfalls (Flugzeuge, Zylinder usw.) sowie möglicherweise sowohl in Bezug Nurbs Oberflächen zur Erzeugung eines CAD-Modells der Grenzrepräsentation. Die Wiederherstellung eines solchen Modells ermöglicht es, ein Design zu modifizieren, um neue Anforderungen zu erfüllen, ein zu erzeugter Herstellungsplan usw.

Hybridmodellierung ist ein häufig verwendeter Begriff, wenn NURBS und Parametrische Modellierung zusammen implementiert. Die Verwendung einer Kombination aus geometrischen und freien Oberflächen kann eine leistungsstarke Methode der 3D -Modellierung liefern. Bereiche der Freiformdaten können mit genauen geometrischen Oberflächen kombiniert werden, um ein Hybridmodell zu erstellen. Ein typisches Beispiel hierfür wäre die Reverse Engineering eines Zylinderkopfes, der Freeform-Gussfunktionen wie Wasserjacken und hochtoleranzbearbeitete Bereiche umfasst.[14]

Reverse Engineering wird auch von Unternehmen verwendet, um bestehende physische Geometrie in Umgebungen für digitale Produktentwicklungen zu bringen, eine digitale 3D -Aufzeichnung ihrer eigenen Produkte aufzunehmen oder die Produkte der Wettbewerber zu bewerten. Es wird verwendet, um zu analysieren, wie ein Produkt funktioniert, was es tut, welche Komponenten es hat; Vorrausichtliche Kosten; Potenzial identifizieren Patent Verletzung; usw.

Wert EngineeringEine verwandte Aktivität, die auch von Unternehmen verwendet wird, umfasst die Dekonstruktion und Analyse von Produkten. Ziel ist jedoch, Möglichkeiten zur Kostensenkung zu finden.

PCB Reverse Engineering

Reverse Engineering von Leiterplatten Beinhaltet die Erstellung von Herstellungsdaten für eine bestimmte Leiterplatte. Dies geschieht, um Benchmarking und Unterstützung für Legacy -Systeme zu ermöglichen.

Software

Im Jahr 1990 die Institut für Elektro- und Elektronikingenieure (IEEE) definierte (Software) Reverse Engineering (SRE) als "der Prozess der Analyse eines Subjektsystems, um die Komponenten des Systems und deren Wechselbeziehungen zu identifizieren und Darstellungen des Systems in einer anderen Form oder auf einer höheren Abstraktionsebene zu erstellen", in dem die "Subjektsystem" ist das Endprodukt der Softwareentwicklung. Reverse Engineering ist nur ein Prüfungsverfahren, und das betrachtete Softwaresystem wird nicht geändert, was sonst wäre Wiedergängerung oder Umstrukturierung. Reverse Engineering kann aus jeder Phase des Produktzyklus durchgeführt werden, nicht unbedingt vom funktionalen Endprodukt.[9]

In Reverse Engineering gibt es zwei Komponenten: Redokumentation und Entwurfswiederherstellung. Die Redokumentation ist die Schaffung einer neuen Darstellung des Computercode, so dass es einfacher zu verstehen ist. In der Zwischenzeit ist die Entwurfswiederherstellung die Verwendung von Abzug oder Argumentation aus allgemeinem Wissen oder persönlicher Erfahrung des Produkts, um die Funktionalität des Produkts vollständig zu verstehen.[9] Es kann auch als "durch den Entwicklungszyklus rückwärts gehen" angesehen werden.[15] In diesem Modell wird die Ausgabe der Implementierungsphase (in Quellcodeform) in einer Inversion der traditionellen Umkehrung umgekehrt in die Analysephase zurückgeführt Wasserfall-Modell. Ein weiterer Begriff für diese Technik ist Programmverständnis.[6] Die Arbeitskonferenz für Reverse Engineering (WCRE) wurde jährlich abgehalten, um die Techniken der Reverse Engineering zu erkunden und zu erweitern.[10][16] Computergestützte Softwareentwicklung (Fall) und automatisierte Codegenerierung haben erheblich auf dem Gebiet der Reverse Engineering beigetragen.[10]

Software Anti-Verfasser Technologie wie Verschleierung wird verwendet, um sowohl Reverse Engineering als auch Neubindung von proprietären Software- und Software-betriebenen Systemen zu verhindern. In der Praxis tauchen zwei Haupttypen von Reverse Engineering auf. Im ersten Fall ist Quellcode bereits für die Software verfügbar, aber es werden Aspekte des Programms, die möglicherweise schlecht dokumentiert oder dokumentiert, aber nicht mehr gültig sind, entdeckt. Im zweiten Fall ist für die Software kein Quellcode verfügbar, und alle Anstrengungen zum Erkennen eines möglichen Quellcodes für die Software werden als Reverse Engineering angesehen. Die zweite Verwendung des Begriffs ist den meisten Menschen besser bekannt. Reverse Engineering der Software kann die nutzen sauberes Zimmerdesign Technik zur Vermeidung von Urheberrechtsverletzungen.

In einem verwandten Hinweis, Black Box -Tests in Softwareentwicklung hat viel mit Reverse Engineering gemeinsam. Der Tester hat normalerweise das API hat jedoch die Ziele, Fehler und undokumentierte Funktionen zu finden, indem das Produkt von außen verprügelt wird.[17]

Weitere Zwecke des Reverse Engineering sind Sicherheitsprüfungen, Entfernen des Kopierschutzes ("knacken"), Umgehung von Zugangsbeschränkungen, die häufig in vorhanden sind Unterhaltungselektronik, Anpassung von eingebettete Systeme (wie Engine-Management-Systeme), interne Reparaturen oder Nachrüstungen, zusätzliche Funktionen für kostengünstige "verkrüppelte" Hardware (wie einige Grafikkartenchips) oder sogar bloße Zufriedenheit von Neugier.

Binäre Software

Binary Reverse Engineering wird durchgeführt, wenn der Quellcode für eine Software nicht verfügbar ist.[10] Dieser Prozess wird manchmal bezeichnet Reverse Code Engineeringoder rce.[18] Zum Beispiel die Dekompilierung von Binärdateien für die Java -Plattform Kann durch Verwendung von JAD erreicht werden. Ein berühmter Fall von Reverse Engineering war der erste Nicht-NichtsIBM Implementierung der PC BIOS, was die historischen ins Leben gerufen hat IBM PC kompatibel Branche, die überwiegend dominant war Computerhardware Plattform seit vielen Jahren. Reverse Engineering der Software wird in den USA durch die geschützt faire Nutzung Ausnahme in Urheberrechtsgesetz.[19] Das Samba -Software, was es ermöglicht, Systeme zu laufen, die nicht laufen Microsoft Windows Systeme zum Teilen von Dateien mit Systemen, die es ausführen, ist ein klassisches Beispiel für Software Reverse Engineering[20] Da das SAMBA-Projekt unveröffentlichte Informationen darüber, wie Windows-Dateifreigabe funktioniert, umgekehrt musste, damit nicht-Windows Computer es emulieren können. Das Wein Das Projekt tut dasselbe für die Windows -API, und OpenOffice.org Tut eine Partei das für die Microsoft Office Dateiformate. Das Reactos Das Projekt ist in seinen Zielen noch ehrgeiziger, indem es sich bemüht, die aktuellen Windows-Betriebssysteme der NT-Zweigstelle mit Binär- (ABI- und API) -Kompatibilität bereitzustellen, mit der Software und Treiber für Windows geschrieben werden können, um auf einem umgekehrten Reinraum zu laufen gratis Software (Gpl) Gegenstück. WindowsScope Ermöglicht die Umkehrung des gesamten Inhalts des Live-Speichers eines Windows-Systems, einschließlich einer grafischen Umkehrtechnik auf binärer Ebene aller laufenden Prozesse.

Ein weiterer klassischer, wenn nicht bekanntes Beispiel ist das 1987 Glockenlabors Umgekehrt das Mac OS System 4.1, ursprünglich auf dem Apfel ausgeführt Macintosh SE, damit es es weiterführen konnte RISC -Maschinen von ihrem eigenen.[21]

Binär -Softwaretechniken

Reverse Engineering von Software kann mit verschiedenen Methoden erreicht werden. Die drei Hauptgruppen von Software Reverse Engineering sind

  1. Analyse durch Beobachtung des Informationsaustauschs, am häufigsten in Protokoll Reverse Engineering, das die Verwendung beinhaltet Busanalysatoren und Paketschnüffler, wie zum Beispiel für den Zugriff auf a Computerbus oder Computernetzwerk Verbindung und Aufschluss über die Datenverkehrsdaten. Das Bus- oder Netzwerkverhalten kann dann analysiert werden, um eine eigenständige Implementierung zu erzeugen, die dieses Verhalten nachahmt. Das ist besonders nützlich für Reverse Engineering Gerätetreiber. Manchmal umgekehrte Engineering auf eingebettete Systeme wird stark von Werkzeugen unterstützt, die vom Hersteller absichtlich eingeführt wurden, wie z. Jtag Ports oder andere Debugging -Mittel. Im Microsoft Windows, niedrigrangige Debugger wie Soft Ice sind beliebt.
  2. Demontage Verwendung einer Disassembler, was bedeutet die Rohe Maschinensprache des Programms wird in seinen eigenen Begriffen gelesen und verstanden, nur mit Hilfe von maschineller Sprache Mnemonik. Es funktioniert an jedem Computerprogramm, kann jedoch einige Zeit in Anspruch nehmen, insbesondere für diejenigen, die nicht zum Maschinencode verwendet werden. Das Interaktiver Disassembler ist ein besonders beliebtes Werkzeug.
  3. Dekompilierung mit a Dekompiler, ein Prozess, der mit unterschiedlichen Ergebnissen versucht, den Quellcode in einer hochrangigen Sprache für ein Programm, das nur in Maschinencode verfügbar ist Bytecode.

Softwareklassifizierung

Die Softwareklassifizierung ist der Prozess der Identifizierung von Ähnlichkeiten zwischen verschiedenen Software -Binärdateien (z. B. zwei verschiedenen Versionen derselben Binärdarstellung), die zum Erkennen von Codebeziehungen zwischen Softwareproben verwendet werden. Die Aufgabe wurde traditionell aus mehreren Gründen manuell erledigt (z. B. die Patch -Analyse zur Sicherheitserkennung und Copyright-Verletzung), aber es kann jetzt für eine große Anzahl von Proben automatisch etwas automatisch durchgeführt werden.

Diese Methode wird hauptsächlich für lange und gründliche Reverse Engineering -Aufgaben verwendet (vollständige Analyse eines komplexen Algorithmus oder einem großen Software). Im Algemeinen, Statistische Klassifizierung gilt als ein schwieriges Problem, was auch für die Softwareklassifizierung zutrifft, und so wenige Lösungen/Tools, die diese Aufgabe gut erledigen.

Quellcode

Eine Anzahl von Uml Tools beziehen sich auf den Prozess des Importierens und Analyse von Quellcode, um UML -Diagramme als "Reverse Engineering" zu generieren. Sehen Liste der UML -Tools.

Obwohl UML ein Ansatz bei der Bereitstellung von "Reverse Engineering" ist, haben die neueren Fortschritte bei internationalen Standardaktivitäten zur Entwicklung der Knowledge Discovery Metamodell (KDM). Der Standard liefert eine Ontologie für die intermediäre (oder abstrahierte) Darstellung von Programmiersprachenkonstrukten und deren Wechselbeziehungen. Ein Objektverwaltungsgruppe Standard (auch auf dem Weg zum ISO -Standard) hat KDM begonnen, in der Industrie mit der Entwicklung von Tools und Analyseumgebungen begonnen, die die Extraktion und Analyse von Quelle, Binär- und Byte -Code liefern können. Für die Quellcodeanalyse ermöglicht die Architektur der Granularstandards von KDM die Extraktion von Softwaresystemflüssen (Daten, Steuerung und Aufrufkarten), Architekturen und Geschäftsschichtwissen (Regeln, Begriffe und Prozess). Der Standard ermöglicht die Verwendung eines gemeinsamen Datenformates (XMI), das die Korrelation der verschiedenen Systemwissenkenntnisse für eine detaillierte Analyse (z. B. Grundursache, Auswirkung) oder abgeleitete Analyse (z. B. Geschäftsprozess -Extraktion) ermöglicht. Obwohl die Anstrengungen zur Darstellung von Sprachkonstrukten aufgrund der Anzahl der Sprachen, der kontinuierlichen Entwicklung von Softwaresprachen und der Entwicklung neuer Sprachen nie endend sein können Evolution. KDM ist mit UML, BPMN, RDF und anderen Standards kompatibel, die die Migration in andere Umgebungen ermöglichen und somit Systemwissen für Bemühungen wie Software -Systemtransformation und Unternehmensschichtanalyse nutzen.

Protokolle

Protokolle sind Regelnsätze, die Nachrichtenformate beschreiben und wie Nachrichten ausgetauscht werden: das Protokoll Zustandsmaschine. Dementsprechend kann das Problem des Reverse-Engineering des Protokolls in zwei Unterprobleme unterteilt werden: Nachrichtenformat und staatlich-machine-reverse-Engineering.

Die Nachrichtenformate wurden traditionell durch einen mühsamen manuellen Prozess umgekehrt, der die Analyse der Verarbeitung von Protokollimplementierungen beinhaltete, aber neuere Forschungen haben eine Reihe automatischer Lösungen vorgeschlagen.[22][23][24] Normalerweise beobachten die automatischen Ansätze, die Gruppenbotschaften in Cluster beobachten, indem sie verschiedene verwenden Clustering -Analysenoder sie emulieren die Protokollimplementierung, die die Nachrichtenverarbeitung verfolgt.

Es gab weniger Arbeiten an der umgekehrten Engineering von staatlichen Maschinen von Protokollen. Im Allgemeinen können die Protokollzustandsmaschinen entweder durch einen Prozess von gelernt werden Offline -Lernen, was passiv Kommunikation beobachtet und versucht, die allgemeinste staatliche Maschinen aufzubauen, die alle beobachteten Sequenzen von Nachrichten akzeptiert, und Online lernen, was die interaktive Erzeugung von Prüfungssequenzen von Nachrichten ermöglicht und Antworten auf diese Prüfungssequenzen anhört. Im Allgemeinen ist das Offline-Erlernen kleiner Staatsmaschine bekannt NP-Complete,[25] Online -Lernen kann jedoch in Polynomzeit erfolgen.[26] Ein automatischer Offline -Ansatz wurde von Vergleiche et al.[24] und ein Online -Ansatz von Cho et al.[27]

Andere Komponenten typischer Protokolle wie Verschlüsselungs- und Hash-Funktionen können auch automatisch umgekehrt gestaltet werden. In der Regel verfolgen die automatischen Ansätze die Ausführung von Protokollimplementierungen und versuchen, Puffer im Speicher zu erkennen, das unverschlüsselte Pakete hält.[28]

Integrierte Schaltungen/Smartcards

Reverse Engineering ist eine invasive und destruktive Form der Analyse a Chipkarte. Der Angreifer verwendet Chemikalien, um die Schicht nach der Schicht der Smart Card zu entfernen, und macht Bilder mit einem Rasterelektronenmikroskop (SEM). Diese Technik kann den vollständigen Hardware- und Software -Teil der Smart Card aufzeigen. Das Hauptproblem für den Angreifer besteht darin, alles in die richtige Ordnung zu bringen, um herauszufinden, wie alles funktioniert. Die Macher der Karte versuchen, Schlüssel und Operationen zu verbergen, indem sie Speicherpositionen wie das Stricken von Bussen vermischen.[29][30]

In einigen Fällen ist es sogar möglich, eine Sonde zum Messen von Spannungen anzubringen, während die Smartcard noch in Betrieb ist. Die Macher der Karte setzen Sensoren ein, um diesen Angriff zu erkennen und zu verhindern.[31] Dieser Angriff ist nicht sehr häufig, da sowohl eine große Investition in Anstrengung als auch spezielle Geräte erforderlich sind, die im Allgemeinen nur für große Chiphersteller verfügbar sind. Darüber hinaus ist die Auszahlung dieses Angriffs niedrig, da häufig andere Sicherheitstechniken wie Schattenkonten verwendet werden. Es ist immer noch ungewiss, ob Angriffe gegen Chip-and-Pin-Karten zur Replikation von Verschlüsselungsdaten und dann einen kostengünstigen Angriff auf die Multifaktorauthentifizierung liefern würden.

Der vollständige Reverse Engineering wird in mehreren wichtigen Schritten fortgesetzt.

Der erste Schritt, nachdem Bilder mit einem SEM aufgenommen wurden, näht die Bilder zusammen, was notwendig ist, da jede Schicht nicht durch einen einzelnen Schuss erfasst werden kann. Ein REM muss über den Bereich der Schaltung fegen und mehrere hundert Bilder aufnehmen, um die gesamte Ebene abzudecken. Die Bildstiche dauert als Eingabe mehrere hundert Bilder und gibt ein einzelnes richtig überlagertes Bild der gesamten Ebene aus.

Als nächstes müssen die genähten Schichten ausgerichtet werden, da die Probe nach dem Ätzen nicht jedes Mal in genau der gleichen Position in Bezug auf das SEM gesteckt werden kann. Daher überlappen sich die genähten Versionen nicht wie auf der realen Schaltung nicht richtig. Normalerweise werden drei entsprechende Punkte ausgewählt und eine Transformation auf der Grundlage davon angewendet.

Um die Schaltungsstruktur zu extrahieren, müssen die ausgerichteten, genähten Bilder segmentiert werden, was die wichtigen Schaltkreise hervorhebt und sie vom uninteressanten Hintergrund und den Isoliermaterialien trennt.

Schließlich können die Drähte von einer Schicht zur nächsten verfolgt werden, und die Netzliste der Schaltung, die alle Informationen des Schaltungskreises enthält, kann rekonstruiert werden.

Militäranträge

Reverse Engineering wird häufig von Personen verwendet, um die Technologien, Geräte oder Informationen anderer Nationen zu kopieren, die von regulären Truppen in den Feldern oder durch erhalten wurden Intelligenz Operationen. Es wurde oft während der verwendet Zweiter Weltkrieg und die Kalter Krieg. Hier sind bekannte Beispiele aus dem Zweiten Weltkrieg und später:

  • Kanister: Britische und amerikanische Streitkräfte in WW2 stellte fest, dass die Deutschen Benzindosen mit einem hervorragenden Design hatten. Sie haben Kopien dieser Dosen umgekehrt, die im Volksmund als "Jerry Dosen" bekannt waren.
  • Panzerschreck: Die Deutschen haben einen Amerikaner gefangen genommen Bazooka Während des Zweiten Weltkriegs und Reverse konstruierte es, um den größeren Panzerschreck zu schaffen.
  • Tupolev TU-4: 1944 drei Amerikaner B-29 Bomber auf Missionen über Japan waren gezwungen, in der zu landen Sovietunion. Die Sowjets, die keinen ähnlichen strategischen Bomber hatten, beschlossen, den B-29 zu kopieren. Innerhalb von drei Jahren hatten sie die TU-4 entwickelt, eine fast perfekte Kopie.[32]
  • SCR-584 Radar: Nach dem Zweiten Weltkrieg kopiert von der Sowjetunion und ist für einige Modifikationen bekannt-цц °-584, бинокль-ai.
  • V-2 Rakete: Technische Dokumente für V-2 und verwandte Technologien wurden von den westlichen Verbündeten am Ende des Krieges erfasst. Die Amerikaner konzentrierten sich auf ihre Reverse Engineering -Bemühungen über Operation Paperclip, was zur Entwicklung der führte PGM-11 Redstone Rakete.[33] Die Sowjets verwendeten erbeutete deutsche Ingenieure, um technische Dokumente und Pläne zu reproduzieren, und arbeiteten von gefangenen Hardware, um ihren Klon aus der Rakete zu machen, die R-1. So begann das sowjetische Raketenprogramm der Nachkriegszeit, das zu dem führte R-7 und der Beginn der Weltraumrennen.
  • K-13/R-3s Rakete (NATO -Berichtsname AA-2-Atoll), eine sowjetische umgekehrte Kopie der Kopie der AIM-9 Sidewinder, wurde ermöglicht, nachdem ein taiwanesischer (ROCAF) AIM-9B eine chinesische PLA getroffen hatte MiG-17 ohne im September 1958 zu explodieren.[34] Die Rakete wurde in der Flugzeugzelle eingereicht, und der Pilot kehrte mit dem zurück, was sowjetische Wissenschaftler als Universitätskurs in der Raketenentwicklung beschreiben würden.
  • BGM-71 TOW Rakete: Im Mai 1975 wurden Verhandlungen zwischen dem Iran und Hughes-Raketensystemen über die Koproduktion des Schlepptau- und Maverick-Raketen über Meinungsverschiedenheiten in der Preisstruktur hinweg gestaltet, die nachfolgende 1979 Revolution Beenden Sie alle Pläne für eine solche Koproduktion. Der Iran war später erfolgreich, um die Rakete umgekehrt zu machen und nun seine eigene Kopie herzustellen, die Toophan.
  • China hat Umgekehrt viele Beispiele umgekehrt von westlicher und russischer Hardware, von Kampfflugzeugen bis Raketen und Hmmwv Autos wie die MIG-15,17,19,21 (die zum J-2,5,6,7 wurden) und der SU-33 (der zum J-15 wurde).[35] Neuere Analysen des militärischen Wachstums Chinas haben auf die inhärenten Einschränkungen der gewohnheitsmäßigen Reverse Engineering für fortschrittliche Waffensysteme hingewiesen.[36]
  • Während des Zweiten Weltkriegs haben polnische und britische Kryptographer untersucht Deutsch gefangen "Rätsel"Nachrichtenverschlüsselungsmaschinen für Schwächen. Ihr Betrieb wurde dann auf elektromechanischen Geräten simuliert,"Bomben", die alle möglichen Scrambler -Einstellungen der" Enigma "-Maschinen ausprobiert haben, die zum Brechen codierter Nachrichten halfen, die von den Deutschen gesendet worden waren.
  • Auch während des Zweiten Weltkriegs analysierten und besiegten britische Wissenschaftler a Reihe immer höherer Funknavigationssysteme verwendet von der Luftwaffe Führende Bombenangriffe nachts durchführen. Die britischen Gegenmaßnahmen gegen das System waren so effektiv, dass in einigen Fällen deutsche Flugzeuge von Signalen geleitet wurden, um zu landen RAF Stützpunkte, seit sie glaubten, sie hätten ins deutsche Gebiet zurückgekehrt.

Gennetzwerke

Reverse Engineering -Konzepte wurden an angewendet Biologie speziell zur Aufgabe, die Struktur und Funktion von zu verstehen Genregulierungsnetzwerke. Sie regulieren fast jeden Aspekt des biologischen Verhaltens und ermöglichen es Zellen, physiologische Prozesse und Reaktionen auf Störungen durchzuführen. Das Verständnis der Struktur und des dynamischen Verhaltens von Gennetzwerken ist daher eine der wichtigsten Herausforderungen der Systembiologie, mit sofortigen praktischen Auswirkungen in mehreren Anwendungen, die über die Grundlagenforschung hinausgehen.[37] Es gibt verschiedene Methoden für die Regulierungsnetzwerke des Reverse Engineering -Gens unter Verwendung der molekularen Biologie- und Datenwissenschaftsmethoden. Sie wurden im Allgemeinen in sechs Klassen unterteilt:[38]

Die sechs Klassen von Gent -Netzwerk -Inferenzmethoden, gemäß [38]
  • Koexpressionsmethoden basieren auf der Vorstellung, dass, wenn zwei Gene ein ähnliches Expressionsprofil aufweisen, möglicherweise miteinander verbunden sein können, obwohl keine Kausalität einfach aus der Koexpression abgeleitet werden kann.
  • Sequenzmotivmethoden analysieren Genpromotoren, um spezifisch zu finden Transkriptionsfaktor Bindungsdomänen. Wenn vorausgesagt wird, dass ein Transkriptionsfaktor einen Promotor eines bestimmten Gens binden, kann eine regulatorische Verbindung angenommen werden.
  • Chromatin -Immunopräzipitation (CHIP) Methoden untersuchen die Genom-Wide Profil von DNA Bindung von ausgewählten Transkriptionsfaktoren, um ihre nachgeschalteten Gennetzwerke zu schließen.
  • Orthologische Methoden übertragen Gen -Netzwerkwissen von einer Art auf eine andere.
  • Literaturmethoden implementieren Textabbau und manuelle Forschung zur Identifizierung mutmaßlicher oder experimentell probiertes Gen-Netzwerkverbindungen.
  • Transkriptionskomplexe Methoden nutzen Informationen zu Protein-Protein-Wechselwirkungen zwischen Transkriptionsfaktoren und erweitern so das Konzept von Gennetzwerken um Transkriptionsregulierungskomplexe.

Oft wird die Zuverlässigkeit der Gen -Netzwerk durch genetische Störungsexperimente gefolgt von dynamischer Modellierung auf der Grundlage des Prinzips getestet, dass das Entfernen eines Netzwerkknotens vorhersehbare Auswirkungen auf die Funktionsweise der verbleibenden Knoten des Netzwerks hat.[39] Anwendungen der umgekehrten Engineering von Gennetzwerken reichen von Verständnismechanismen der Pflanzenphysiologie[40] zum Hervorheben neuer Ziele für die Krebstherapie.[41]

Überlappung mit Patentrecht

Reverse Engineering gilt in erster Linie für das Verständnis eines Prozesses oder Artefakts, in dem die Art und Weise seiner Konstruktion, Verwendung oder internen Prozesse von seinem Schöpfer nicht klargestellt wurde.

Patentiert Gegenstände müssen nicht umgekehrt eingestuft werden, um zu untersuchen, denn das Wesen eines Patents besteht darin Rechtsschutz des Erfindung das ist beteiligt. Ein unter einem oder mehrer oder mehrerer Patente erzeugter Artikel könnte jedoch auch andere Technologien enthalten, die nicht patentiert und nicht offengelegt sind. In der Tat besteht eine häufige Motivation von Reverse Engineering darin, festzustellen, ob das Produkt eines Wettbewerbers enthält Patentverletzung oder Copyright-Verletzung.

Rechtmäßigkeit

Vereinigte Staaten

In den Vereinigten Staaten, auch wenn ein Artefakt oder Prozess durch geschützt ist GeschäftsgeheimnisseDas Artefakt oder den Verfahren umgekehrt ist oft rechtmäßig, wenn es legitim erhalten wurde.[42]

Reverse Engineering von Computer Software oft fällt unter beide Vertragsrecht Als ein Vertragsbruch sowie alle anderen relevanten Gesetze. Das liegt an den meisten Endbenutzer-Lizenzvereinbarungen Im Besonderen untersagt es, und die US -Gerichte haben entschieden, dass sie das Urheberrechtsgesetz überschreiben, das es ausdrücklich erlaubt (siehe es ausdrücklich zulässt (siehe Bowers gegen Baystate Technologies[43][44]). Gemäß Abschnitt 103 (f) der Digital Millennium Copyright Act (17 U.S.C. § 1201 (f)) Eine Person, die in einem legalen Besitz eines Programms ihren Schutz umgeht und umgehen kann, wenn dies erforderlich ist, um "Interoperabilität" zu erreichen, ein Begriff, der andere Geräte und Programme umfassend abdeckt Verwenden und übertragen Sie Daten auf nützliche Weise auf und von ihnen. Es gibt eine begrenzte Befreiung, die es ermöglicht, das Wissen zu gemeinsam genommen und für Interoperabilitätszwecke zu verwenden.[45]

europäische Union

EU -Richtlinie 2009/24 Über den Rechtsschutz von Computerprogrammen, die eine frühere Richtlinie (1991) ersetzten,[46] regiert Reverse Engineering in der europäische Union.[47][48]

Siehe auch

Verweise

  1. ^ a b "Was ist Reverse-Engineering? Wie funktioniert es". SearchSoftWareQuality. Abgerufen 2022-07-27.
  2. ^ "Reverse Engineering". Ethics.csc.ncsu.edu. Abgerufen 2022-07-27.
  3. ^ Thayer, Ken. "Wie funktioniert Reverse Engineering?". Globalspec. IEEE Global Spec. Abgerufen 26. Februar 2018.
  4. ^ Villaverde, Alejandro F.; Banga, Julio R. (6. Februar 2014). "Reverse Engineering und Identifikation in Systembiologie: Strategien, Perspektiven und Herausforderungen". Journal of the Royal Society Interface. 11 (91): 20130505. doi:10.1098/rsif.2013.0505. PMC 3869153. PMID 24307566.
  5. ^ a b c Chikofsky, E.J. & Cross, J. H., II (1990). "Reverse Engineering and Design Recovery: Eine Taxonomie". IEEE -Software. 7 (1): 13–17. doi:10.1109/52.43044. S2CID 16266661.
  6. ^ a b Eine Übersicht über Reverse Engineering und Programmverständnis. Michael L. Nelson, 19. April 1996, ODU CS 551 - Software Engineering Survey.Arxiv:CS/0503068V1
  7. ^ Vinesh Raja; Kiran J. Fernandes (2007). Reverse Engineering: Eine industrielle Perspektive. Springer Science & Business Media. p. 3. ISBN 978-1-84628-856-2.
  8. ^ Jonathan Band; Masanobu Katoh (2011). Schnittstellen vor Gericht 2.0. MIT Press. p. 136. ISBN 978-0-262-29446-1.
  9. ^ a b c Chikofsky, E. J.; Cross, J. H. (Januar 1990). "Reverse Engineering und Design Recovery: Eine Taxonomie" (PDF). IEEE -Software. 7: 13–17. doi:10.1109/52.43044. S2CID 16266661. Archiviert von das Original (PDF) Am 2018-04-17. Abgerufen 2012-07-02.
  10. ^ a b c d e f g h Eilam, Eldad (2005). Umkehrung: Geheimnisse der Reverse Engineering. John Wiley & Sons. ISBN 978-0-7645-7481-8.
  11. ^ Internet Engineering Task Force RFC 2828 Internet -Sicherheit Glossar
  12. ^ Karwowski, Waldemar; Trzcielinski, Stefan; Mottos, Beata; Dinicolantonio, Massimo; Rossi, Emilio (2018). Fortschritte in der Fertigung, im Produktionsmanagement und in der Prozesskontrolle. S. 287–288.
  13. ^ Varady, t; Martin, R; Cox, J (1997). "Reverse Engineering von geometrischen Modellen - eine Einführung". Computergestütztes Design. 29 (4): 255–268. doi:10.1016/s0010-4485 (96) 00054-1.
  14. ^ "Reverse Engineering".
  15. ^ Warden, R. (1992). Software -Wiederverwendung und Umkehrtechnik in der Praxis. London, England: Chapman & Hall. S. 283–305.
  16. ^ "Arbeitskonferenz über Reverse Engineering (WCRE)". Uni-Trier.de. Informatik -Bibliographie. Archiviert von das Original am 14. März 2017. Abgerufen 22. Februar 2018.
  17. ^ Shahbaz, Muzammil (2012). Reverse Engineering und Testen von Black-Box-Softwarekomponenten: durch grammatikalische Inferenztechniken. Lap Lambert Academic Publishing. ISBN 978-3659140730.
  18. ^ Chuvakin, Anton; Cyrus Peikari (Januar 2004). Sicherheitskrieger (1. Aufl.). O'Reilly. Archiviert von das Original am 2006-05-22. Abgerufen 2006-05-25.
  19. ^ Samuelson, Pamela & Scotchmer, Suzanne (2002). "Das Gesetz und die Ökonomie der Reverse Engineering". Yale Law Journal. 111 (7): 1575–1663. doi:10.2307/797533. JStor 797533. Archiviert von das Original Am 2010-07-15. Abgerufen 2011-10-31.
  20. ^ "Samba: Eine Einführung". 2001-11-27. Abgerufen 2009-05-07.
  21. ^ Lee, Newton (2013). Terrorismusbekämpfung und Cybersicherheit: Gesamtinformationsbewusstsein (2. Aufl.). Springer Science+Business Media. p. 110. ISBN 978-1461472049.
  22. ^ W. Cui, J. Kannan und H. J. Wang. Entdecker: Automatisches Protokoll -Reverse -Engineering aus Netzwerkspuren. In Proceedings of 16. Usenix Security Symposium über Usenix Security Symposium, S. 1–14.
  23. ^ W. Cui, M. Peinado, K. Chen, H. J. Wang und L. Irún-Briz. TUPNI: Automatische Reverse Engineering von Eingabebildaten. In Proceedings der 15. ACM -Konferenz über Computer- und Kommunikationssicherheit, S. 391–402. ACM, Oktober 2008.
  24. ^ a b P. M. Vergleiche, G. Wondracek, C. Krugel und E. Kirda. Prospex: Extraktion der Protokollspezifikation. In Proceedings of the 2009 30. IEEE Symposium für Sicherheit und Privatsphäre, S. 110–125, Washington, 2009. IEEE Computer Society.
  25. ^ Gold, E (1978). "Komplexität der Automatikidentifikation aus angegebenen Daten". Informationen und Kontrolle. 37 (3): 302–320. doi:10.1016/s0019-9958 (78) 90562-4.
  26. ^ D. Angluin (1987). "Lernen regelmäßiger Sets aus Abfragen und Gegenbeispielen". Informationen und Berechnung. 75 (2): 87–106. doi:10.1016/0890-5401 (87) 90052-6.
  27. ^ C.Y. Cho, D. Babic, R. Shin und D. Lied. Inferenz und Analyse formaler Modelle von Botnet -Befehls- und Steuerungsprotokollen, 2010 ACM -Konferenz über Computer- und Kommunikationssicherheit.
  28. ^ Polyglot: Automatische Extraktion des Protokollnachrichtenformats unter Verwendung einer dynamischen Binäranalyse. J. Caballero, H. Yin, Z. Liang und D. Song. Verfahren der 14. ACM -Konferenz über Computer- und Kommunikationssicherheit, S. 317–329.
  29. ^ Wolfgang Rankl, Wolfgang Effing, Smart Card Handbook (2004)
  30. ^ T. Welz: Smartcards als Zahlungsmethoden (2008), Seminar seine Sicherheit Ruhr-universität bochum
  31. ^ David C. Musker: Schutz und Ausbeutung von geistigem Eigentum in der Elektronik Archiviert 2011-07-09 bei der Wayback -Maschine, IBC -Konferenzen, 10. Juni 1998
  32. ^ Yeam Gordon und Vladimir Rigmant, Tupolev TU-4: Sowjetische Superfremdung (Hinckley, U.K.: Midland, 2002).
  33. ^ "Redstone Rocket". Centennialofflight.net. Abgerufen 2010-04-27.
  34. ^ "Die chinesische Luftwaffe: Entwicklung von Konzepten, Rollen und Fähigkeiten", Zentrum für das Studium chinesischer militärischer Angelegenheiten (USA), von National Defense University Press, p. 277
  35. ^ Chandrashekar, S., R. Nagappa, L. Sundaresan und N. Ramani. 2011. Technologie und Innovation in China: Eine Fallstudie zur Entwicklung von Einzelkristall -Superlegierung für Flugzeugturbinenklingen, R4–11. ISSSP National Institute of Advanced Studies, Bangalore. http://isssp.in/wp-content/uploads/2013/01/technology-innovation-in-china-a-case-study-of-single-crystal4.pdf; und Dillon Zhou, „China J-15 Fighter Jet: Chinesische Beamte verteidigen neue Kämpfer als chinesisches Original, aber Fragen bleiben, Mic, 16. Dezember 2012, https://mic.com/articles/20270/china-j-15-fighter-jet-chinese-officials-tefend-new-fighter- As-chinese-original-aber-Fragen-Remain
  36. ^ Andrea Gilli und Mauro Gilli, "Warum China noch nicht aufgeholt hat: Militärtechnologische Überlegenheit und die Grenzen der Nachahmung, Reverse Engineering und Cyberspionage, International Security 43: 3 (2019 141-189, https://doi.org/10.1162/isec_a_00337.
  37. ^ Giorgi, Federico M. (2020). "Gene Network Reverse Engineering: Die nächste Generation". Biochimica et Biophysica Acta (BBA) - Genregulationsmechanismen. 1863 (6): 194523. doi:10.1016/j.bbag.2020.194523. ISSN 1874-9399. PMID 32145356. S2CID 212629142.
  38. ^ a b Mercatelli, Daniele; Scalambra, Laura; Triboli, Luca; Strahl, Wald; Giorgi, Federico M. (2020). "Gene regulatorische Netzwerkinferenzressourcen: Ein praktischer Überblick". Biochimica et Biophysica Acta (BBA) - Genregulationsmechanismen. 1863 (6): 194430. doi:10.1016/j.bbag.2019.194430. ISSN 1874-9399. PMID 31678629. S2CID 207895066.
  39. ^ Tegner, J.; Yeung, M. K. S.; Hasty, J.; Collins, J. J. (2003). "Reverse Engineering -Gen -Netzwerke: Integration genetischer Störungen in die dynamische Modellierung". Verfahren der National Academy of Sciences. 100 (10): 5944–5949. Bibcode:2003pnas..100.5944t. doi:10.1073/pnas.0933416100. ISSN 0027-8424. PMC 156306. PMID 12730377.
  40. ^ Friedel, Swetlana; Usadel, Björn; Von Wirén, Nicolaus; Sreenivasulu, Nese (2012). "Reverse Engineering: Eine Schlüsselkomponente der Systembiologie zur Entwirrung des globalen Abiotika-Spannungsübergreifends". Grenzen in der Pflanzenwissenschaft. 3: 294. doi:10.3389/fpl.2012.00294. ISSN 1664-462X. PMC 3533172. PMID 23293646.
  41. ^ Lefebvre, Celine; Rieckhof, Gabrielle; Califano, Andrea (2012). "Reverse-Engineering Human Regulatory Networks". Wiley Interdisziplinäre Überprüfungen: Systembiologie und Medizin. 4 (4): 311–325. doi:10.1002/wsbm.1159. ISSN 1939-5094. PMC 4128340. PMID 22246697.
  42. ^ "Geschäftsgeheimnisse 101", Feature -Artikel, März 2011. WIE ICH. Abgerufen am 2013-10-31.
  43. ^ Baystate gegen Bowers Diskussion. Utsystem.edu. Abgerufen am 2011-05-29.
  44. ^ Brutto, Grant. (2003-06-26) Der Vertragsfall könnte Reverse Engineering beeinträchtigen | Entwicklerwelt. InfoWorld. Abgerufen am 2011-05-29.
  45. ^ In dem Abschnitt heißt es:
    (f) Reverse Engineering. - -
    (1) Ungeachtet der Bestimmungen von Unterabschnitt (a) (1) (a) kann eine Person, die rechtmäßig das Recht erhalten hat, eine Kopie eines Computerprogramms zu verwenden Für den einzigen Zweck, diese Elemente des Programms zu identifizieren und zu analysieren, die zur Interoperabilität eines unabhängig erstellten Computerprogramms mit anderen Programmen erforderlich sind und die der Person, die sich in der Umgebung engagiert Identifizierungs- und Analyseakte stellen im Rahmen dieses Titels keine Verletzung dar.
    (2) Ungeachtet der Bestimmungen der Unterabschnitte (a) (2) und (b) kann eine Person technologische Mittel entwickeln und einsetzen Analyse nach Absatz 1 oder zum Zweck der Interoperabilität eines unabhängig erstellten Computerprogramms mit anderen Programmen, wenn solche Mittel erforderlich sind, um eine solche Interoperabilität zu erreichen, sofern dies keine Verletzung unter diesem Titel darstellt.
    (3) Die Informationen, die durch die gemäß Absatz 1) und die gemäß Absatz 2) erlaubten Handlungen erhalten werden können, können anderen anderen zur Verfügung gestellt werden Kann solche Informationen oder Mittel ausschließlich zum Zwecke der Interoperabilität eines unabhängig erstellten Computerprogramms mit anderen Programmen ermöglichen und in dem Maße, in dem dies keine Verletzung nach diesem Titel darstellt, oder gegen das geltende Recht als diesen Abschnitt verstoßen.
    (4) Für die Zwecke dieses Unterabschnitts bedeutet der Begriff 「Interoperabilität」 die Fähigkeit von Computerprogrammen, Informationen auszutauschen, und solcher Programme sich gegenseitig, um die ausgetauschten Informationen zu verwenden.
  46. ^ Richtlinie der Rat 91/250/EEC vom 14. Mai 1991 zum Rechtsschutz von Computerprogrammen. Eur-lex.europa.eu. Abgerufen am 2011-05-29.
  47. ^ Richtlinie 2009/24/EC des Europäischen Parlaments und des Rates vom 23. April 2009 zum Rechtsschutz von Computerprogrammen
  48. ^ Die Richtlinie gibt an:

    Die nicht autorisierte Reproduktion, Übersetzung, Anpassung oder Transformation der Form des Code, in dem eine Kopie eines Computerprogramms zur Verfügung gestellt wurde, stellt eine Verletzung der ausschließlichen Rechte des Autors dar. Dennoch können Umstände bestehen, wenn eine solche Reproduktion des Codes und der Übersetzung seiner Form unverzichtbar ist, um die erforderlichen Informationen zu erhalten, um die Interoperabilität eines unabhängig erstellten Programms mit anderen Programmen zu erreichen. Es muss daher berücksichtigt werden, dass nur unter diesen begrenzten Umständen die Leistung der Fortpflanzung und Übersetzung durch oder im Namen einer Person, die das Recht zur Verwendung einer Kopie des Programms hat Es wurde angenommen, dass der RightHolder nicht die Genehmigung benötigt. Ein Ziel dieser Ausnahme ist es, alle Komponenten eines Computersystems, einschließlich der verschiedenen Hersteller, zu verbinden, damit sie zusammenarbeiten können. Eine solche Ausnahme von den exklusiven Rechten des Autors dürfte nicht so verwendet werden, dass die legitimen Interessen des Rightholders oder die mit einer normalen Ausbeutung des Programms in Konflikt stehen.

Quellen